:root{--bg: #0f172a;--surface: #1e293b;--surface-2: #334155;--texte: #f1f5f9;--texte-doux: #94a3b8;--primaire: #22c55e;--primaire-fonce: #16a34a;--danger: #ef4444;--alerte: #f59e0b;--bordure: #334155;--rayon: 16px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--texte);font-size:18px;-webkit-user-select:none;user-select:none;overscroll-behavior:none}.ecran{min-height:100%;display:flex;flex-direction:column;max-width:720px;margin:0 auto;padding:20px}.entete{display:flex;align-items:center;justify-content:space-between;padding:12px 4px 20px;border-bottom:1px solid var(--bordure);margin-bottom:20px}.entete h1{font-size:20px;font-weight:700}.entete .sous{color:var(--texte-doux);font-size:14px}.contenu{flex:1;display:flex;flex-direction:column;gap:16px}.carte{background:var(--surface);border:1px solid var(--bordure);border-radius:var(--rayon);padding:20px}.btn{display:flex;align-items:center;justify-content:center;gap:10px;min-height:64px;width:100%;border:none;border-radius:var(--rayon);background:var(--surface-2);color:var(--texte);font-size:20px;font-weight:600;cursor:pointer;transition:transform .05s,background .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primaire{background:var(--primaire);color:#052e16}.btn-primaire:active{background:var(--primaire-fonce)}.btn-danger{background:var(--danger)}.btn-fantome{background:transparent;border:1px solid var(--bordure)}.pied{padding-top:20px;display:flex;flex-direction:column;gap:12px}.champ{display:flex;flex-direction:column;gap:8px}.champ label{color:var(--texte-doux);font-size:15px}.champ input,.champ select{min-height:56px;background:var(--surface-2);border:1px solid var(--bordure);border-radius:12px;color:var(--texte);font-size:20px;padding:0 16px}.ligne-denom{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--bordure)}.ligne-denom .libelle{font-size:18px;font-weight:600}.ligne-denom .soustotal{color:var(--texte-doux);font-size:14px;min-width:90px;text-align:right}.compteur{display:flex;align-items:center;gap:10px}.compteur button{width:48px;height:48px;border-radius:12px;border:none;background:var(--surface-2);color:var(--texte);font-size:26px;font-weight:700}.compteur .qte{min-width:48px;text-align:center;font-size:22px;font-weight:700}.total-bandeau{position:sticky;bottom:0;background:var(--surface);border-top:2px solid var(--primaire);padding:16px;display:flex;justify-content:space-between;align-items:center;font-size:24px;font-weight:800;border-radius:0 0 var(--rayon) var(--rayon)}.pin-affichage{text-align:center;font-size:40px;letter-spacing:16px;height:56px;margin:12px 0 24px}.pave{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pave button{min-height:72px;font-size:28px;font-weight:700;border-radius:var(--rayon);border:1px solid var(--bordure);background:var(--surface);color:var(--texte)}.pave button:active{background:var(--surface-2)}.montant{font-variant-numeric:tabular-nums}.badge{padding:4px 12px;border-radius:999px;font-size:13px;font-weight:700}.badge-ok{background:#22c55e33;color:var(--primaire)}.badge-attente{background:#f59e0b33;color:var(--alerte)}.message-erreur{background:#ef444426;border:1px solid var(--danger);color:#fecaca;padding:12px 16px;border-radius:12px;font-size:15px}.file-indicateur{font-size:13px;color:var(--alerte);text-align:center;padding:6px}.centre{text-align:center}.muet{color:var(--texte-doux)}
