:root{--vert: #1f3a2e;--vert-clair: #2f5a47;--sable: #f5e9d7;--fond: #faf8f5;--carte: #ffffff;--texte: #1b1a17;--texte-doux: #6f6a61;--bordure: #e7e1d8;--rouge: #c0392b;--orange: #d98324;--bleu: #2b6cb0;--rayon: 14px;--rayon-sm: 10px;--ombre: 0 1px 2px rgba(27, 26, 23, .06), 0 6px 20px rgba(27, 26, 23, .05);--nav-hauteur: 62px;--safe-bas: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;padding:0;background:var(--fond);color:var(--texte);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;line-height:1.45;overscroll-behavior-y:none}h1,h2,h3,h4{margin:0;font-weight:650;letter-spacing:-.01em}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem}p{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}.app{min-height:100dvh;display:flex;flex-direction:column;max-width:640px;margin:0 auto;background:var(--fond)}.contenu{flex:1;padding:16px 16px calc(var(--nav-hauteur) + var(--safe-bas) + 24px)}.entete{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;padding:14px 16px 12px;background:color-mix(in srgb,var(--fond) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--bordure)}.entete h1{flex:1;min-width:0}.entete .sous-titre{font-size:.82rem;color:var(--texte-doux);font-weight:400}.retour{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--carte);border:1px solid var(--bordure);font-size:1.1rem;flex-shrink:0}.nav-bas{position:fixed;bottom:0;left:0;right:0;z-index:30;display:flex;max-width:640px;margin:0 auto;padding-bottom:var(--safe-bas);background:color-mix(in srgb,var(--carte) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--bordure)}.nav-bas a{flex:1;height:var(--nav-hauteur);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.68rem;color:var(--texte-doux);font-weight:500}.nav-bas a .icone{font-size:1.25rem;line-height:1}.nav-bas a.actif{color:var(--vert)}.carte{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);padding:14px;box-shadow:var(--ombre)}.liste{display:flex;flex-direction:column;gap:10px}.section{margin-top:22px}.section:first-child{margin-top:8px}.titre-section{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.titre-section .lien{font-size:.85rem;color:var(--vert-clair);font-weight:600}.carte-cheval{display:flex;align-items:center;gap:12px;padding:10px;background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre)}.carte-cheval .infos{flex:1;min-width:0}.carte-cheval .nom{font-weight:650}.carte-cheval .detail{font-size:.82rem;color:var(--texte-doux);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.carte-cheval .fleche{color:var(--texte-doux);font-size:1.2rem}.photo-cheval{width:56px;height:56px;border-radius:12px;object-fit:cover;background:var(--sable);flex-shrink:0}.photo-cheval.vide{display:grid;place-items:center;font-size:1.5rem}.photo-cheval.grande{width:100%;height:200px;border-radius:var(--rayon)}.avatar{width:34px;height:34px;border-radius:50%;object-fit:cover;display:grid;place-items:center;font-size:.75rem;font-weight:700;color:#fff;background:var(--vert-clair);flex-shrink:0}.avatar.grand{width:76px;height:76px;font-size:1.4rem}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:.74rem;font-weight:600;background:var(--sable);color:var(--vert);white-space:nowrap}.badge.retard{background:#fbe4e1;color:var(--rouge)}.badge.urgent{background:#fdefdc;color:#9a5b12}.badge.bientot{background:#eceaf7;color:#4c4482}.badge.ok{background:#e6f0e9;color:var(--vert)}.badge.contour{background:transparent;border:1px solid var(--bordure);color:var(--texte-doux)}.pastille{width:10px;height:10px;border-radius:50%;flex-shrink:0}.pastille.carree{border-radius:2px}.bouton{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:var(--rayon-sm);font-weight:600;font-size:.95rem;background:var(--vert);color:#fff;transition:opacity .15s ease;min-height:46px}.bouton:active{opacity:.75}.bouton:disabled{opacity:.5;cursor:not-allowed}.bouton.pleine-largeur{width:100%}.bouton.secondaire{background:var(--carte);color:var(--texte);border:1px solid var(--bordure)}.bouton.fantome{background:transparent;color:var(--vert-clair);min-height:38px;padding:8px 12px}.bouton.danger{background:transparent;color:var(--rouge);border:1px solid #f0d4d0}.bouton.petit{padding:7px 12px;min-height:36px;font-size:.85rem}.bouton-flottant{position:fixed;right:max(16px,calc(50vw - 304px));bottom:calc(var(--nav-hauteur) + var(--safe-bas) + 16px);z-index:25;width:54px;height:54px;border-radius:50%;background:var(--vert);color:#fff;font-size:1.6rem;display:grid;place-items:center;box-shadow:0 6px 20px #1f3a2e59}.champ{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.champ label{font-size:.85rem;font-weight:600;color:var(--texte-doux)}.champ input,.champ select,.champ textarea{width:100%;padding:12px 13px;border:1px solid var(--bordure);border-radius:var(--rayon-sm);background:var(--carte);color:var(--texte);font:inherit;font-size:16px}.champ textarea{resize:vertical;min-height:84px}.champ input:focus,.champ select:focus,.champ textarea:focus{outline:2px solid var(--vert-clair);outline-offset:1px;border-color:transparent}.ligne-champs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.aide{font-size:.78rem;color:var(--texte-doux)}.erreur{padding:10px 12px;border-radius:var(--rayon-sm);background:#fbe4e1;color:var(--rouge);font-size:.87rem;margin-bottom:12px}.succes{padding:10px 12px;border-radius:var(--rayon-sm);background:#e6f0e9;color:var(--vert);font-size:.87rem;margin-bottom:12px}.voile{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#1b1a1773;display:flex;align-items:flex-end;justify-content:center;animation:apparition .16s ease}.feuille{width:100%;max-width:640px;max-height:92dvh;overflow-y:auto;background:var(--fond);border-radius:20px 20px 0 0;padding:8px 16px calc(20px + var(--safe-bas));animation:remontee .22s cubic-bezier(.32,.72,0,1)}.feuille .poignee{width:38px;height:4px;border-radius:999px;background:var(--bordure);margin:6px auto 14px}.feuille h2{margin-bottom:14px}@keyframes apparition{0%{opacity:0}to{opacity:1}}@keyframes remontee{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bandeau-rappel{margin:12px 16px 0;padding:12px 14px;border-radius:var(--rayon);border:1px solid var(--bordure);background:var(--carte);box-shadow:var(--ombre)}.bandeau-rappel.retard{border-color:#f0c8c2;background:#fdf3f1}.bandeau-rappel.urgent{border-color:#f0dcc0;background:#fdf7ee}.onglets{display:flex;gap:4px;padding:4px;background:var(--sable);border-radius:var(--rayon-sm);margin-bottom:16px}.onglets button{flex:1;padding:8px 4px;border-radius:8px;font-size:.85rem;font-weight:600;color:var(--vert);opacity:.65}.onglets button.actif{background:var(--carte);opacity:1;box-shadow:var(--ombre)}.calendrier-entete{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.calendrier-entete .mois{font-weight:650}.calendrier-entete .mois:first-letter{text-transform:uppercase}.calendrier-entete button{width:34px;height:34px;border-radius:50%;background:var(--carte);border:1px solid var(--bordure)}.grille-jours,.grille-mois{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.grille-jours div{text-align:center;font-size:.7rem;font-weight:600;color:var(--texte-doux);padding-bottom:4px}.jour{min-height:58px;border-radius:9px;display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 3px;font-size:.85rem;background:var(--carte);border:1px solid transparent;overflow:hidden}.jour .numero{line-height:1.1}.jour.hors-mois{opacity:.3}.jour.aujourdhui{border-color:var(--vert);font-weight:700}.jour.selectionne{background:var(--vert);color:#fff}.jour .etiquettes{display:flex;flex-direction:column;gap:2px;width:100%;min-width:0}.etiquette-jour{display:block;width:100%;padding:1px 3px;border-radius:4px;font-size:.58rem;font-weight:700;line-height:1.45;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid transparent}.etiquette-jour.surplus{background:var(--sable);color:var(--texte-doux)}.jour.selectionne .etiquette-jour{border-color:#ffffffe6}.jour.selectionne .etiquette-jour.surplus{background:#ffffff38;color:#fff}@media (max-width: 359px){.etiquette-jour{font-size:.54rem;padding:1px 2px}}.element{display:flex;align-items:center;gap:11px;padding:12px;background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon)}.element .corps{flex:1;min-width:0}.element .titre{font-weight:600;font-size:.94rem}.element .meta{font-size:.8rem;color:var(--texte-doux)}.element .bordure-couleur{width:4px;align-self:stretch;border-radius:999px;flex-shrink:0}.entete-groupe{display:flex;align-items:center;gap:10px;width:100%;padding:12px 14px;background:var(--sable)}.ligne-soin{display:flex;align-items:flex-start;gap:8px;padding:11px 14px;border-top:1px solid var(--bordure)}.voir-plus{width:100%;padding:9px;border-top:1px solid var(--bordure);font-size:.83rem;font-weight:600;color:var(--vert-clair)}.jauge{height:6px;border-radius:999px;background:var(--sable);overflow:hidden;margin-top:3px}.jauge span{display:block;height:100%;background:var(--vert-clair);border-radius:999px}.histogramme{display:flex;align-items:flex-end;gap:4px;height:110px}.histogramme .colonne{flex:1;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:100%;gap:4px}.histogramme .colonne span{width:100%;min-height:2px;background:var(--vert-clair);border-radius:3px 3px 0 0}.histogramme .colonne em{font-style:normal;font-size:.65rem;color:var(--texte-doux)}.etat-vide{text-align:center;padding:38px 20px;color:var(--texte-doux)}.etat-vide .emoji{font-size:2.4rem;display:block;margin-bottom:10px}.etat-vide p{font-size:.9rem;margin-bottom:14px}.chargement{display:grid;place-items:center;padding:48px;color:var(--texte-doux)}.rotation{width:26px;height:26px;border:3px solid var(--bordure);border-top-color:var(--vert);border-radius:50%;animation:tourne .7s linear infinite}@keyframes tourne{to{transform:rotate(360deg)}}.code-invitation{text-align:center;padding:20px;background:var(--vert);color:#fff;border-radius:var(--rayon)}.code-invitation .code{font-size:2.1rem;font-weight:700;letter-spacing:.24em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;margin:8px 0}.champ-code{text-align:center;font-size:1.7rem!important;letter-spacing:.2em;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.ecran-auth{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:24px 20px calc(24px + var(--safe-bas));max-width:440px;margin:0 auto}.ecran-auth .marque{text-align:center;margin-bottom:26px}.ecran-auth .marque img{width:74px;height:74px;border-radius:18px}.ecran-auth .marque h1{margin-top:12px}.ecran-auth .marque p{color:var(--texte-doux);font-size:.9rem;margin-top:4px}.choix-compte{display:grid;gap:12px;margin-bottom:18px}.choix-compte button{display:flex;align-items:center;gap:14px;padding:16px;border-radius:var(--rayon);border:2px solid var(--bordure);background:var(--carte);text-align:left}.choix-compte button.actif{border-color:var(--vert);background:#f2f7f4}.choix-compte button .emoji{font-size:1.7rem}.choix-compte button .titre{display:block;font-weight:650}.choix-compte button .desc{display:block;margin-top:2px;font-size:.82rem;color:var(--texte-doux)}.separateur{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--texte-doux);font-size:.82rem}.separateur:before,.separateur:after{content:"";flex:1;height:1px;background:var(--bordure)}.document{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);padding:18px}.document-entete{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding-bottom:14px;border-bottom:2px solid var(--vert);margin-bottom:16px}.document-entete h1{font-size:1.4rem}.document-entete img{width:74px;height:74px;border-radius:10px;object-fit:cover}.document section{margin-bottom:18px}.document h2{font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--vert-clair);margin-bottom:8px}.document-pied{border-top:1px solid var(--bordure);padding-top:10px;font-size:.76rem}.tableau{width:100%;border-collapse:collapse;font-size:.82rem}.tableau th{text-align:left;font-weight:600;color:var(--texte-doux);border-bottom:1px solid var(--bordure);padding:6px 8px 6px 0}.tableau td{padding:7px 8px 7px 0;border-bottom:1px solid var(--bordure);vertical-align:top}@media print{.entete,.nav-bas,.bandeau-rappel,.bouton-flottant,.masquer-impression{display:none!important}html,body{background:#fff}.app{max-width:none}.contenu{padding:0}.document{border:none;border-radius:0;padding:0;box-shadow:none}.document section{break-inside:avoid}.tableau{font-size:10pt}@page{margin:14mm}}.pile{display:flex;flex-direction:column;gap:10px}.rangee{display:flex;align-items:center;gap:10px}.rangee.espace{justify-content:space-between}.pousse{margin-left:auto}.doux{color:var(--texte-doux);font-size:.85rem}.centre{text-align:center}.gras{font-weight:650}.tableau-infos{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:.9rem}.tableau-infos dt{color:var(--texte-doux)}.tableau-infos dd{margin:0;font-weight:550}.puces{display:flex;flex-wrap:wrap;gap:6px}.texte-legal{padding-bottom:40px;line-height:1.65}.texte-legal h2{font-size:1.02rem;margin:28px 0 10px;padding-top:14px;border-top:1px solid var(--bordure)}.texte-legal h2:first-of-type{border-top:0;padding-top:0;margin-top:8px}.texte-legal h3{font-size:.92rem;margin:18px 0 6px;color:var(--vert-clair)}.texte-legal p{margin-bottom:12px;font-size:.9rem}.texte-legal ul{margin:0 0 12px 18px;font-size:.9rem}.texte-legal li{margin-bottom:6px}.texte-legal a{color:var(--bleu);text-decoration:underline}.texte-legal .tableau-infos{margin-bottom:14px}.texte-legal code{background:var(--sable);border-radius:4px;padding:1px 5px;font-size:.85em}.tableau-legal{display:block;overflow-x:auto;width:100%;border-collapse:collapse;font-size:.86rem;margin-bottom:14px}.tableau-legal th,.tableau-legal td{text-align:left;padding:8px 12px 8px 0;border-bottom:1px solid var(--bordure);vertical-align:top}.tableau-legal th{color:var(--texte-doux);font-weight:550}.liens-legaux{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:26px;padding-top:16px;border-top:1px solid var(--bordure)}.liens-legaux a{font-size:.78rem;color:var(--texte-doux)}.liens-legaux a:hover{color:var(--texte);text-decoration:underline}.case-acceptation{display:flex;align-items:flex-start;gap:10px;margin:16px 0 6px;font-size:.84rem;line-height:1.5;color:var(--texte-doux);cursor:pointer}.case-acceptation input[type=checkbox]{flex-shrink:0;width:20px;height:20px;margin-top:1px;accent-color:var(--vert);cursor:pointer}.case-acceptation a{color:var(--bleu);text-decoration:underline}.total-mois{text-align:center}.total-mois .montant{font-size:2rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:6px 0 2px}.navigation-mois{display:flex;align-items:center;justify-content:space-between;gap:10px}.navigation-mois button{width:36px;height:36px;border-radius:50%;border:1px solid var(--bordure);background:var(--carte);font-size:1.1rem;line-height:1;color:var(--texte);cursor:pointer}.navigation-mois button:disabled{opacity:.35;cursor:not-allowed}.filtre-chevaux{margin-top:12px}.filtre-chevaux select{width:100%}.graphique-mois{display:flex;align-items:flex-end;gap:2px}.graphique-mois .barre{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;padding:0;border:0;background:none;cursor:pointer;min-width:0}.graphique-mois .piste{display:flex;align-items:flex-end;width:100%}.graphique-mois .remplissage{width:100%;background:var(--vert-clair);border-radius:4px 4px 0 0;opacity:.45;transition:opacity .15s,background .15s}.graphique-mois .remplissage.vide{background:var(--bordure);opacity:1;border-radius:2px}.graphique-mois .barre.actif .remplissage{opacity:1;background:var(--vert)}.graphique-mois .barre:hover .remplissage{opacity:.75}.graphique-mois .barre.actif:hover .remplissage{opacity:1}.graphique-mois .mois{font-size:.68rem;color:var(--texte-doux)}.graphique-mois .barre.actif .mois{color:var(--texte);font-weight:650}.repartition .poste+.poste{margin-top:14px}.repartition .entete{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:.88rem;margin-bottom:5px}.repartition .piste{display:block;height:8px;border-radius:4px;background:var(--sable);overflow:hidden}.repartition .remplissage{display:block;height:100%;border-radius:4px;background:var(--vert-clair)}.repartition .aide{display:block;margin-top:3px}.actions-depense{display:flex;flex-direction:column;align-items:flex-end;gap:2px;font-variant-numeric:tabular-nums}.actions-depense .bouton{padding:4px 6px;min-height:0;font-size:.76rem}.actions-depense .bouton.danger{border:0}.code-promo{margin-top:16px;text-align:center}.lien-discret{border:0;background:none;padding:4px;font-size:.82rem;color:var(--texte-doux);text-decoration:underline;cursor:pointer}.lien-discret:hover{color:var(--texte)}.code-promo .saisie{display:flex;gap:8px}.code-promo input{flex:1;min-width:0;text-transform:uppercase;letter-spacing:.06em;font-variant-numeric:tabular-nums}.code-promo input[aria-invalid=true]{border-color:var(--rouge)}.code-promo .saisie .bouton{flex-shrink:0}.code-promo .aide{display:block;margin-top:8px;text-align:left}.code-promo .succes-code{color:var(--vert)}.code-promo .erreur-code{color:var(--rouge)}.prix-barre{display:block;font-size:.76rem;color:var(--texte-doux);text-decoration:line-through}.par-cheval{display:flex;flex-direction:column;gap:8px}.par-cheval .ligne{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left;background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);cursor:pointer}.par-cheval .ligne.actif{border-color:var(--vert);background:#f2f7f4}.par-cheval .corps{flex:1;min-width:0}.par-cheval .nom{display:block;font-weight:600;font-size:.92rem;margin-bottom:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.par-cheval .piste{display:block;height:6px;border-radius:3px;background:var(--sable);overflow:hidden}.par-cheval .remplissage{display:block;height:100%;border-radius:3px;background:var(--vert-clair)}.par-cheval .chiffres{flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.par-cheval .chiffres .aide{display:block}.reglages-rappels{display:flex;flex-direction:column;gap:10px}.reglages-rappels .reglage{background:var(--carte);border:1px solid var(--bordure);border-radius:var(--rayon);box-shadow:var(--ombre);padding:14px}.reglages-rappels .reglage.inactif{opacity:.6}.reglages-rappels .entete{display:flex;align-items:center;justify-content:space-between;gap:10px}.reglages-rappels .nom{font-weight:600;font-size:.92rem}.reglages-rappels .saisie{display:flex;align-items:center;gap:10px;margin-top:12px}.reglages-rappels .saisie input{width:92px;flex-shrink:0}.reglages-rappels .saisie .doux{font-size:.82rem}.reglages-rappels .bouton{margin-top:8px;padding-left:0}.interrupteur{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--texte-doux);cursor:pointer;flex-shrink:0}.interrupteur input[type=checkbox]{width:20px;height:20px;accent-color:var(--vert);cursor:pointer}.cloche{position:relative;flex-shrink:0;width:38px;height:38px;border:0;background:none;font-size:1.2rem;line-height:1;cursor:pointer}.cloche .pastille{position:absolute;top:2px;right:0;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--rouge);color:#fff;font-size:.66rem;font-weight:700;line-height:17px;text-align:center}.liste-rappels{display:flex;flex-direction:column;gap:8px}.liste-rappels .rappel{border:1px solid var(--bordure);border-radius:var(--rayon);background:var(--carte);overflow:hidden}.liste-rappels .rappel.lu{opacity:.55}.liste-rappels .corps{display:flex;align-items:center;gap:10px;padding:12px 14px}.liste-rappels .emoji{font-size:1.3rem;flex-shrink:0}.liste-rappels .texte{flex:1;min-width:0}.liste-rappels .titre{display:block;font-size:.88rem;font-weight:600;line-height:1.35}.liste-rappels .meta{display:block;font-size:.78rem;color:var(--texte-doux);margin-top:2px}.liste-rappels .badge{flex-shrink:0}.liste-rappels .marquer{display:block;width:100%;padding:8px 14px;border:0;border-top:1px solid var(--bordure);background:transparent;color:var(--vert-clair);font-size:.78rem;font-weight:550;text-align:left;cursor:pointer}.liste-rappels .marquer:hover{background:var(--fond)}
