:root{--fond: #f6f6f3;--surface: #ffffff;--texte: #1c1c1a;--discret: #66665f;--bordure: #deded8;--accent: #1d5c4d;--accent-texte: #ffffff;--alerte: #b42318;--alerte-fond: #fef3f2;--attention: #8a5a00;--attention-fond: #fff7e0;--ok: #17663a;--ok-fond: #ecf8f0;--rayon: 10px;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;color:var(--texte);background:var(--fond);-webkit-text-size-adjust:100%}@media (prefers-color-scheme: dark){:root{--fond: #141413;--surface: #1e1e1c;--texte: #ececea;--discret: #a3a39c;--bordure: #34342f;--accent: #5fb39c;--accent-texte: #0d1f1a;--alerte: #f97066;--alerte-fond: #2d1715;--attention: #f5c451;--attention-fond: #2b2310;--ok: #6fcf97;--ok-fond: #12261a}}*{box-sizing:border-box}body{margin:0;background:var(--fond)}h1{font-size:1.5rem;margin:.5rem 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}a{color:var(--accent)}.entete{display:flex;gap:.5rem;align-items:baseline;padding:.75rem 16px;background:var(--surface);border-bottom:1px solid var(--bordure)}.contenu{max-width:56rem;margin:0 auto;padding:.5rem 16px calc(5.5rem + env(safe-area-inset-bottom))}.navigation{position:fixed;inset:auto 0 0 0;display:flex;justify-content:space-around;background:var(--surface);border-top:1px solid var(--bordure);padding:.35rem 0 calc(.35rem + env(safe-area-inset-bottom))}.navigation a{display:flex;flex-direction:column;align-items:center;gap:.1rem;font-size:.72rem;color:var(--discret);text-decoration:none;padding:.25rem .4rem;min-width:3.5rem}.navigation a span{font-size:1.25rem;line-height:1}.navigation a.active{color:var(--accent);font-weight:600}@media (min-width: 800px){.navigation{position:sticky;inset:auto;justify-content:center;gap:1.5rem;border-top:0;border-bottom:1px solid var(--bordure)}.navigation a{flex-direction:row;font-size:.95rem;gap:.4rem}#root{display:flex;flex-direction:column}.entete{order:0}.navigation{order:1}.contenu{order:2;padding-bottom:2rem;width:100%}}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--rayon);padding:1rem;margin-bottom:1rem}.carte-forte{border:2px solid var(--accent)}.carte-alerte{border-color:var(--alerte);background:var(--alerte-fond)}.lien-carte{display:block;color:inherit;text-decoration:none}.lien-carte:hover{border-color:var(--accent)}.annulee{opacity:.6}.annulee strong{text-decoration:line-through}.ligne-titre{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.ligne-titre h1,.ligne-titre h2{margin:0}.grille{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr))}.liste{list-style:none;margin:0;padding:0}.lignes{list-style:none;margin:0 0 .75rem;padding:0}.lignes li{display:flex;justify-content:space-between;gap:.75rem;padding:.5rem 0;border-bottom:1px solid var(--bordure);flex-wrap:wrap}.lignes li:last-child{border-bottom:0}.chiffre-cle{font-size:2rem;font-weight:700;margin:.25rem 0 .75rem}.montant{font-variant-numeric:tabular-nums;white-space:nowrap}.details{display:grid;grid-template-columns:1fr auto;gap:.35rem 1rem;margin:0 0 .75rem}.details dt{color:var(--discret)}.details dd{margin:0;text-align:right}table{width:100%;border-collapse:collapse;font-size:.95rem}th,td{text-align:right;padding:.4rem .3rem;border-bottom:1px solid var(--bordure)}th:first-child,td:first-child{text-align:left}tr.total td{font-weight:700}.discret{color:var(--discret)}.vide{color:var(--discret);font-style:italic;padding:1rem 0}.alerte{color:var(--alerte)}.attention{color:var(--attention)}.ok{color:var(--ok)}.centre{text-align:center;margin-top:3rem}.badge{display:inline-block;font-size:.78rem;padding:.15rem .5rem;border-radius:999px;margin:.25rem .25rem 0 0;border:1px solid var(--bordure)}.badge-alerte{color:var(--alerte);background:var(--alerte-fond);border-color:transparent}.badge-attention{color:var(--attention);background:var(--attention-fond);border-color:transparent}.badge-ok{color:var(--ok);background:var(--ok-fond);border-color:transparent}.grille-champs{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));align-items:end}.pleine-largeur{grid-column:1 / -1}.champ{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}input,select,textarea,button,.bouton{font:inherit;font-size:1rem}input,select,textarea{width:100%;padding:.55rem .6rem;border:1px solid var(--bordure);border-radius:8px;background:var(--surface);color:var(--texte)}input[type=checkbox]{width:auto}button,.bouton{display:inline-block;padding:.6rem 1rem;border:0;border-radius:8px;cursor:pointer;background:var(--accent);color:var(--accent-texte);text-decoration:none;text-align:center}button.secondaire,.bouton.secondaire{background:transparent;color:var(--accent);border:1px solid var(--accent)}button.danger{background:var(--alerte);color:#fff}button:disabled{opacity:.5;cursor:not-allowed}fieldset{border:1px solid var(--bordure);border-radius:8px;margin:0 0 .75rem;padding:.75rem}.ligne-saisie{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));align-items:end}.ligne-charge{display:flex;gap:.5rem;margin-bottom:.5rem}.ligne-charge input:first-child,.ligne-charge select:first-child{flex:2}.ligne-charge input,.ligne-charge select{flex:1;min-width:0}.filtres{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem;align-items:center}.filtres select{width:auto;flex:1;min-width:10rem}.case{display:flex;gap:.4rem;align-items:center}.connexion{max-width:24rem;margin:3rem auto;padding:0 16px}.connexion form{display:flex;flex-direction:column;gap:.75rem}:root{--serie-1: #2a78d6;--serie-2: #eb6834;--grille: #e4e3dd}@media (prefers-color-scheme: dark){:root{--serie-1: #3987e5;--serie-2: #d95926;--grille: #34342f}}.grille-tuiles{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr));margin-bottom:1rem}.tuile{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--rayon);padding:.75rem;display:flex;flex-direction:column;gap:.25rem}.tuile-libelle{font-size:.85rem;color:var(--discret)}.tuile-valeur{font-size:1.2rem;font-variant-numeric:tabular-nums}.tuile .badge{align-self:flex-start}.tuile details summary,.graphique details summary{font-size:.8rem;color:var(--accent);cursor:pointer}.tuile details p{font-size:.85rem;color:var(--discret);margin:.35rem 0 0}.graphique{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--rayon);padding:1rem;margin:0 0 1rem}.graphique figcaption{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.graphique svg{width:100%;max-width:640px;height:auto;display:block}.legende{display:flex;gap:.75rem;font-size:.85rem;color:var(--discret)}.legende span{display:inline-flex;align-items:center;gap:.3rem}.pastille{display:inline-block;width:.7rem;height:.7rem;border-radius:2px}.pastille.serie-1{background:var(--serie-1)}.pastille.serie-2{background:var(--serie-2)}svg .serie-1{fill:var(--serie-1)}svg .serie-2{fill:var(--serie-2)}svg .incomplet path{fill-opacity:.45}svg .axe{stroke:var(--grille);stroke-width:1}svg .etiquette{font-size:22px;fill:var(--discret)}svg path:hover{fill-opacity:.8}.graphique table{margin-top:.5rem;font-size:.85rem}.barres-h{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}.barres-h li{display:grid;grid-template-columns:minmax(7rem,11rem) 1fr auto;gap:.5rem;align-items:center;font-size:.9rem}.barres-h-piste svg{width:100%;height:.8rem;display:block}@media (max-width: 480px){.barres-h li{grid-template-columns:1fr auto}.barres-h-piste{grid-column:1 / -1;grid-row:2}}@media (max-width: 600px){.details-empilees{grid-template-columns:1fr;gap:.1rem}.details-empilees dd{text-align:left;margin-bottom:.5rem}}.onglets{display:flex;gap:.5rem;margin-bottom:1rem}.legende-calendrier{list-style:none;padding:0;margin:0 0 .75rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.8rem;color:var(--discret)}.legende-calendrier li{display:inline-flex;align-items:center;gap:.3rem}.case-sejour,.case-blocage{display:inline-block;width:.9rem;height:.9rem;border-radius:3px}.case-sejour.serie-1{background:var(--serie-1)}.case-sejour.serie-2{background:var(--serie-2)}.case-blocage{background:repeating-linear-gradient(45deg,var(--discret) 0 2px,transparent 2px 5px);border:1px solid var(--discret)}.grille-calendrier{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin-bottom:.75rem}.entete-jour{text-align:center;font-size:.75rem;color:var(--discret);padding-bottom:.2rem}.jour{position:relative;min-height:2.9rem;padding:.2rem;border-radius:6px;border:1px solid var(--bordure);background:var(--surface);color:var(--texte);text-align:left;display:flex;align-items:flex-start;font-size:.85rem}.jour.occupe.serie-1{background:var(--serie-1);color:#fff;border-color:transparent}.jour.occupe.serie-2{background:var(--serie-2);color:#fff;border-color:transparent}.jour.bloque-vous{background:repeating-linear-gradient(45deg,var(--bordure) 0 3px,transparent 3px 7px),var(--surface)}.jour.choisi{outline:2px solid var(--texte);outline-offset:1px}.repere-airbnb{display:inline-block;width:.9rem;height:.3rem;border-radius:2px;background:var(--texte);opacity:.55}.jour .repere-airbnb{position:absolute;left:.25rem;bottom:.25rem;width:calc(100% - .5rem)}.jour.occupe .repere-airbnb{background:#fff;opacity:.8}.repere-airbnb.bloque{background:repeating-linear-gradient(90deg,currentColor 0 3px,transparent 3px 5px)}.marque-ecart{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:var(--alerte);color:#fff;font-weight:700;font-size:.7rem}.jour .marque-ecart{position:absolute;top:.15rem;right:.15rem}
