:root{--dahlia: #30302e;--dahlia-2: #4a4a46;--feuillage: #756a3d;--feuillage-texte: #5a5130;--sauge: #b9ae5f;--mousse: #b2b096;--magnolia: #e8dcc4;--magnolia-clair: #f4ecda;--lys: #fdfaee;--iris: #979bb0;--trait: #d9cfb6;--gris: #5d5d58;--erreur: #9b2c1f;--sans: "Instrument Sans", "Helvetica Neue", Helvetica, sans-serif;--mono: "DM Mono", ui-monospace, Menlo, monospace}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--lys);color:var(--dahlia);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}button{font-family:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default;opacity:.55}:focus-visible{outline:3px solid var(--feuillage);outline-offset:2px}@media (prefers-reduced-motion: reduce){*{transition:none!important;animation:none!important}}.shell{display:flex;min-height:100vh}.sidebar{flex:0 0 248px;background:var(--dahlia);color:var(--magnolia);padding:32px 20px;display:flex;flex-direction:column;gap:36px;position:sticky;top:0;height:100vh}.sidebar .logo{width:150px;margin-left:8px}.nav{display:flex;flex-direction:column;gap:4px}.nav button{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;background:transparent;border:none;color:var(--magnolia);font-size:16px;text-align:left}.nav button:hover{background:#3d3d3a}.nav button[aria-current=page]{background:var(--dahlia-2);color:var(--lys);font-weight:600}.nav .sep{height:1px;background:var(--dahlia-2);margin:10px 14px}.sidebar .lieu{margin-top:auto;font-family:var(--mono);font-size:12px;color:var(--mousse);padding-left:8px}main.ecran{flex:1;min-width:0;padding:40px 48px 64px;display:flex;flex-direction:column;gap:28px}.entete{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px}.entete .sur{font-family:var(--mono);font-size:14px;color:var(--feuillage);margin-bottom:6px}h1{margin:0;font-size:40px;font-weight:600;letter-spacing:-.02em}h2{margin:0;font-size:22px;font-weight:600}@media (max-width: 900px){.shell{flex-direction:column}.sidebar{position:static;height:auto;flex:none;padding:16px;gap:12px}.sidebar .logo{width:110px}.nav{flex-direction:row;flex-wrap:wrap}.sidebar .lieu{display:none}main.ecran{padding:24px 18px 48px}h1{font-size:30px}}.btn-principal{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--feuillage);color:var(--lys);border:none;font-weight:600;font-size:18px;padding:16px 26px;border-radius:999px;min-height:56px}.btn-principal:hover{background:#665c33}.btn-sauge{background:var(--sauge);color:var(--dahlia);border:none;border-radius:999px;font-weight:700;font-size:18px;min-height:60px;width:100%}.btn-sauge:hover{background:#ab9f50}.btn-contour{font-size:15px;font-weight:600;padding:10px 18px;min-height:44px;border-radius:10px;border:1.5px solid var(--feuillage);background:var(--lys);color:var(--feuillage-texte)}.btn-contour:hover{background:var(--magnolia-clair)}.btn-discret{background:none;border:none;color:var(--feuillage-texte);font-weight:600;font-size:15px;padding:8px 4px;text-decoration:underline;text-underline-offset:3px}.puce{font-size:16px;font-weight:600;min-height:48px;padding:0 20px;border-radius:999px;border:1.5px solid var(--trait);background:var(--lys);color:var(--dahlia)}.puce[aria-pressed=true]{background:var(--feuillage);border-color:var(--feuillage);color:var(--lys)}.puces{display:flex;flex-wrap:wrap;gap:10px}.tuiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.tuile{border-radius:20px;padding:22px 24px;display:flex;flex-direction:column;gap:6px;border:none;text-align:left;font-size:15px;font-weight:500}.tuile .n{font-family:var(--mono);font-size:44px;font-weight:500;line-height:1}.tuile.a{background:var(--magnolia)}.tuile.b{background:var(--mousse)}.tuile.c{background:var(--dahlia);color:var(--lys)}.tuile.c .n{color:var(--magnolia)}button.tuile:hover{filter:brightness(.97)}@media (max-width: 700px){.tuiles{grid-template-columns:1fr}}.liste{display:flex;flex-direction:column;gap:12px}.carte{background:#fff;border:1px solid var(--magnolia);border-radius:18px;padding:18px 22px;display:flex;flex-direction:column;gap:14px}.carte.terminee{opacity:.6}.carte .ligne{display:flex;flex-wrap:wrap;align-items:center;gap:18px}.carte .h{font-family:var(--mono);font-size:20px;font-weight:500;min-width:64px}.carte .qui{flex:1 1 240px;min-width:0;display:flex;flex-direction:column;gap:4px}.carte .client{font-size:18px;font-weight:600}.carte .num{font-family:var(--mono);font-size:12px;color:var(--gris);margin-left:8px}.carte .bouquet{font-size:15px;color:var(--dahlia-2)}.etiquettes{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.etiquette{font-size:13px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--magnolia)}.etiquette.livraison{background:var(--iris)}.etiquette.impaye{background:transparent;border:1.5px solid var(--dahlia)}.statut-zone{display:flex;align-items:center;gap:10px;margin-left:auto}.statut{font-size:14px;font-weight:600;padding:8px 14px;border-radius:10px;min-width:120px;text-align:center}.statut[data-s="À préparer"]{background:var(--magnolia)}.statut[data-s="En préparation"]{background:var(--sauge)}.statut[data-s=Prête]{background:var(--feuillage);color:var(--lys)}.statut[data-s="Livrée/Ramassée"]{background:#efeee6;color:var(--gris)}.details{border-top:1px dashed var(--trait);padding-top:14px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px 24px;font-size:15px}.details dt{font-size:13px;color:var(--gris);margin-bottom:2px}.details dd{margin:0;white-space:pre-line}.details .actions{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:10px;align-items:center}.details select{font:inherit;padding:10px 12px;border-radius:10px;border:1.5px solid var(--trait);background:var(--lys);min-height:44px}.groupe-jour{font-size:15px;font-weight:600;color:var(--feuillage-texte);margin:14px 0 2px}.vide{background:var(--magnolia-clair);border-radius:18px;padding:28px;font-size:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px}.erreur{background:#f7e3dc;color:var(--erreur);border-radius:14px;padding:14px 18px;font-weight:500}.chargement{color:var(--gris);font-size:15px;padding:12px 0}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%);background:var(--dahlia);color:var(--lys);padding:14px 22px;border-radius:999px;font-weight:600;z-index:50;box-shadow:0 8px 24px #30302e40}.form-grille{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}.form-col{flex:999 1 520px;min-width:0;display:flex;flex-direction:column;gap:20px}.bloc{background:#fff;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:14px;border:none;margin:0;min-width:0}.bloc legend,.bloc .titre{float:left;width:100%;padding:0;font-size:20px;font-weight:600;display:flex;gap:12px;align-items:baseline}.bloc .etape{font-family:var(--mono);font-size:14px;color:var(--feuillage)}.champs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.champs.trois{grid-template-columns:2fr 1fr}@media (max-width: 640px){.champs,.champs.trois{grid-template-columns:1fr}}label.champ{font-size:14px;font-weight:600;display:flex;flex-direction:column;gap:6px}label.champ .opt{font-weight:400;color:var(--gris)}input,textarea,select.champ-select{font:inherit;font-size:16px;color:var(--dahlia);background:#fff;border:1.5px solid var(--trait);border-radius:12px;padding:13px 14px;width:100%;min-height:50px}textarea{resize:vertical;min-height:0}input:focus,textarea:focus{outline:2px solid var(--feuillage);outline-offset:1px;border-color:var(--feuillage)}input[aria-invalid=true]{border-color:var(--erreur)}.aide{font-size:13px;color:var(--gris);font-weight:400}.aide.alerte{color:var(--erreur);font-weight:600}.choix-remise{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.choix-remise button{font-size:17px;font-weight:600;min-height:64px;border-radius:14px;border:1.5px solid var(--trait);background:var(--lys);display:flex;align-items:center;justify-content:center;gap:10px}.choix-remise button[aria-pressed=true]{background:var(--feuillage);color:var(--lys);border-color:var(--feuillage)}.sous-bloc{display:flex;flex-direction:column;gap:14px;border-top:1px dashed var(--trait);padding-top:16px}.case{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border-radius:12px;border:1.5px solid var(--trait);background:var(--lys);font-size:15px;font-weight:500;text-align:left;width:100%}.case .boite{width:22px;height:22px;border-radius:6px;border:2px solid var(--feuillage);display:inline-flex;align-items:center;justify-content:center;color:var(--lys);font-weight:700;font-size:14px;flex:none}.case[aria-pressed=true] .boite{background:var(--feuillage)}.recap{flex:1 1 300px;max-width:380px;background:var(--dahlia);color:var(--lys);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}.recap .tete{display:flex;justify-content:space-between;align-items:center}.recap .tete img{width:56px}.recap .lignes{display:flex;flex-direction:column;gap:10px;font-size:15px;color:var(--magnolia)}.recap .lignes div{display:flex;justify-content:space-between;gap:12px}.recap .lignes strong{color:var(--lys);text-align:right}.recap label.champ{color:var(--magnolia)}.recap input{background:var(--dahlia-2);border-color:#6a6a64;color:var(--lys);font-family:var(--mono);font-size:20px}.recap .montants{font-family:var(--mono);font-size:15px;border-top:1px solid var(--gris);padding-top:16px;display:flex;flex-direction:column;gap:10px}.recap .montants div{display:flex;justify-content:space-between;color:var(--magnolia)}.recap .montants .total{font-size:22px;font-weight:500;color:var(--lys)}.recap .case{background:transparent;border-color:#6a6a64;color:var(--lys)}.recap .case .boite{border-color:var(--sauge);color:var(--dahlia)}.recap .case[aria-pressed=true] .boite{background:var(--sauge)}.recap .note{font-size:13px;color:var(--mousse);text-align:center}.recap .erreur{font-size:14px}@media (max-width: 900px){.recap{position:static;max-width:none}}.cal{background:#fff;border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:12px;flex:999 1 520px;min-width:0}.cal-nav{display:flex;align-items:center;justify-content:space-between;gap:12px}.cal-nav h2{text-transform:none}.cal-nav button{width:44px;height:44px;border-radius:999px;border:1.5px solid var(--trait);background:var(--lys);font-size:18px}.cal-jours,.cal-grille{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.cal-jours{font-family:var(--mono);font-size:12px;color:var(--gris);text-align:center}.cal-case{min-height:86px;border-radius:14px;border:2px solid #efe9da;background:var(--lys);padding:8px 10px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;text-align:left;gap:4px;min-width:0}.cal-case.rempli{background:var(--magnolia-clair);border-color:var(--magnolia)}.cal-case[aria-pressed=true]{border-color:var(--feuillage)}.cal-case .d{font-size:15px;font-weight:500}.cal-case.aujourdhui .d{font-weight:700;text-decoration:underline;text-underline-offset:3px}.cal-case .v{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--feuillage-texte)}.cal-case .noms{font-size:12px;line-height:1.3;color:var(--dahlia-2);width:100%;overflow:hidden}.cal-case .noms span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cal-pied{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--magnolia);padding-top:16px;margin-top:4px;gap:12px}.cal-pied .total{font-family:var(--mono);font-size:26px;font-weight:500}.panneau{flex:1 1 300px;max-width:380px;background:var(--dahlia);color:var(--lys);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:18px;position:sticky;top:24px}.panneau .sur{font-family:var(--mono);font-size:13px;color:var(--sauge)}.panneau label.champ{color:var(--magnolia)}.panneau input{font-family:var(--mono);font-size:20px;min-height:52px}.pauses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.pauses button{font-family:var(--mono);font-size:15px;min-height:48px;border-radius:10px;border:1.5px solid #6a6a64;background:transparent;color:var(--magnolia)}.pauses button[aria-pressed=true]{background:var(--sauge);border-color:var(--sauge);color:var(--dahlia)}.panneau .total-jour{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--gris);padding-top:16px}.panneau .total-jour span:last-child{font-family:var(--mono);font-size:30px;font-weight:500}.panneau .btn-effacer{min-height:44px;border-radius:999px;border:1.5px solid #6a6a64;background:transparent;color:var(--magnolia);font-weight:600;font-size:15px}@media (max-width: 900px){.panneau{position:static;max-width:none}}.badge-nip{display:flex;align-items:center;gap:10px;background:var(--magnolia);border-radius:999px;padding:8px 8px 8px 18px;font-size:15px}.badge-nip button{font-size:14px;font-weight:600;min-height:40px;padding:0 16px;border-radius:999px;border:none;background:var(--dahlia);color:var(--lys)}.ensemble{background:var(--magnolia);border-radius:22px;padding:24px 28px;display:flex;flex-direction:column;gap:14px}.ensemble table{width:100%;border-collapse:collapse;font-size:16px;min-width:420px}.ensemble th{text-align:left;font-family:var(--mono);font-size:12px;font-weight:500;color:var(--feuillage-texte);padding:8px 0}.ensemble td{padding:12px 0;border-top:1px solid #d3c6a8}.ensemble td.n,.ensemble th.n{font-family:var(--mono);text-align:right}.voile{position:fixed;top:0;right:0;bottom:0;left:0;background:#30302e8c;display:flex;align-items:center;justify-content:center;z-index:40;padding:20px}.boite-nip{background:var(--lys);border-radius:26px;padding:30px;width:340px;max-width:100%;display:flex;flex-direction:column;gap:18px;align-items:center;text-align:center}.boite-nip h2{font-size:22px}.points{display:flex;gap:14px}.points span{width:18px;height:18px;border-radius:50%;border:2px solid var(--feuillage)}.points span.on{background:var(--feuillage)}.clavier{display:grid;grid-template-columns:repeat(3,72px);gap:12px}.clavier button{height:72px;border-radius:999px;border:1.5px solid var(--trait);background:#fff;font-family:var(--mono);font-size:26px}.clavier button:hover{background:var(--magnolia-clair)}.clavier .vide-touche{visibility:hidden}.connexion{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--dahlia);padding:24px}.connexion form{background:var(--lys);border-radius:28px;padding:40px;width:420px;max-width:100%;display:flex;flex-direction:column;gap:18px}.connexion img{width:170px;align-self:center;margin-bottom:8px}.connexion p{margin:0;color:var(--dahlia-2);line-height:1.5}
