:root{--bg-base: #04060C;--bg-surface: #0A0E1A;--bg-elevated: #121A2E;--bord: #1F2C49;--bord-fort: #2A3A5E;--fg-vif: #F2F7FF;--fg: #C9D6EE;--fg-doux: #8B9BBD;--fg-pale: #5A688A;--primaire: #2E8BFF;--primaire-survol: #5FACFF;--cyan: #2BE2FF;--menthe: #34E5A4;--ambre: #FFC24B;--rose: #FF5C7A;--r-md: .375rem;--r-lg: .625rem;--e-sm: .5rem;--e-md: .8125rem;--e-lg: 1.3125rem;--display: "Space Grotesk", "Avenir Next", system-ui, sans-serif;--corps: "Inter", "Helvetica Neue", system-ui, sans-serif;--mono: "JetBrains Mono", "SFMono-Regular", ui-monospace, monospace;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;background:var(--bg-base);color:var(--fg);font:16px/1.5 var(--corps);-webkit-text-size-adjust:100%}button,input,textarea{font:inherit;color:inherit}.app{max-width:40rem;margin:0 auto;padding:calc(env(safe-area-inset-top) + var(--e-md)) 16px calc(env(safe-area-inset-bottom) + var(--e-lg))}.app.centre{min-height:100dvh;display:grid;place-items:center}.marque{font:600 .786rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;color:var(--primaire);display:inline-flex;gap:var(--e-sm);align-items:center}h1,h2,h3{font-family:var(--display);color:var(--fg-vif);margin:0 0 var(--e-sm)}h1{font-size:1.618rem}h2{font-size:1.272rem}h3{font-size:1rem;margin-top:var(--e-md)}h2.section{margin-top:var(--e-lg)}.entete{display:flex;flex-direction:column;gap:var(--e-md);margin-bottom:var(--e-md)}.onglets{display:flex;gap:var(--e-sm)}.onglets button{flex:1;padding:.6rem;border-radius:var(--r-md);border:1px solid var(--bord);background:var(--bg-surface);cursor:pointer}.onglets button.actif{border-color:var(--primaire);color:var(--fg-vif);box-shadow:0 0 8px #2e8bff59}.carte{display:flex;flex-direction:column;gap:.35rem;width:100%;text-align:left;background:var(--bg-elevated);border:1px solid var(--bord);border-radius:var(--r-lg);padding:var(--e-md);margin:0 0 var(--e-sm)}button.carte{cursor:pointer}button.carte:active{border-color:var(--primaire)}.item.v-STOP{border-left:3px solid var(--rose)}.item.v-ESCALATE{border-left:3px solid var(--ambre)}.item.v-ASK{border-left:3px solid var(--primaire)}.ligne{display:flex;justify-content:space-between;align-items:center;gap:var(--e-sm)}.badge{font:600 .7rem/1 var(--mono);padding:.25rem .45rem;border-radius:var(--r-md);border:1px solid currentColor}.badge.v-STOP{color:var(--rose)}.badge.v-ESCALATE{color:var(--ambre)}.badge.v-ASK{color:var(--primaire)}.discret{color:var(--fg-doux);font-size:.875rem}.aide{color:var(--fg-doux);font-size:.875rem;margin:0 0 var(--e-sm)}.mono{font-family:var(--mono);font-size:.8rem;overflow-wrap:anywhere}.grille{display:grid;grid-template-columns:max-content 1fr;gap:.35rem var(--e-md);margin:0}.grille dt{color:var(--fg-doux);font-size:.875rem}.grille dd{margin:0;overflow-wrap:anywhere}ul{margin:0;padding-left:1.1rem}li{margin:.15rem 0}.champ{display:flex;flex-direction:column;gap:.3rem;font-size:.875rem;color:var(--fg-doux)}.champ input,.champ textarea{background:var(--bg-surface);border:1px solid var(--bord-fort);border-radius:var(--r-md);padding:.7rem;color:var(--fg-vif);width:100%;font-size:16px}.champ input:focus,.champ textarea:focus{outline:2px solid var(--primaire);outline-offset:1px}.btn{padding:.75rem 1rem;border-radius:var(--r-md);border:1px solid var(--bord-fort);background:var(--bg-surface);cursor:pointer;font-weight:600}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primaire{background:var(--primaire);border-color:var(--primaire);color:#04060c}.btn.danger{border-color:var(--rose);color:var(--rose)}.btn.lien{border:0;background:none;color:var(--primaire);padding:.4rem 0;font-weight:500}.actions{display:flex;gap:var(--e-sm);flex-wrap:wrap}.actions .btn{flex:1;min-width:8rem}.connexion{max-width:24rem;gap:var(--e-md)}.erreur{color:var(--rose);margin:0}.info{color:var(--menthe);margin:0}.bandeau{padding:.6rem var(--e-md);border-radius:var(--r-md);background:var(--bg-surface);border:1px solid var(--bord);margin-bottom:var(--e-sm);cursor:pointer}.vide{align-items:center;padding:var(--e-lg)}.pied{display:flex;justify-content:space-between;margin-top:var(--e-lg);border-top:1px solid var(--bord);padding-top:var(--e-sm)}.voile{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060cd9;display:grid;place-items:center;padding:16px;z-index:10}
