:root{--bg:#f6f4ef;--card:#fff;--ink:#1c2420;--mute:#66706b;--line:#e3dfd5;--accent:#0f5c4d;--accent-ink:#fff;--warn:#b4541a;--bad:#b42318;--ok:#1a7f4b;--r:14px}
@media (prefers-color-scheme:dark){:root{--bg:#121714;--card:#1b221e;--ink:#eef2ee;--mute:#9aa7a0;--line:#2b352f;--accent:#3fb59a;--accent-ink:#0b1410;--warn:#e8934f;--bad:#f0807a;--ok:#4ecb8b}}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.4 "Atkinson Hyperlegible",system-ui,-apple-system,"Segoe UI",sans-serif}
button,input,select{font:inherit;color:inherit}
#app{max-width:720px;margin:0 auto;padding:0 16px calc(84px + env(safe-area-inset-bottom))}
header.top{position:sticky;top:0;z-index:5;background:var(--bg);display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
header.top h1{font-size:18px;margin:0;flex:1}.badge{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--line);color:var(--mute)}
.badge.warn{background:var(--warn);color:#fff}.badge.ok{background:var(--ok);color:#fff}
nav.tabs{position:fixed;left:0;right:0;bottom:0;display:flex;gap:4px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--line);overflow-x:auto;z-index:6}
nav.tabs button{flex:1;min-width:76px;border:0;background:none;padding:8px 6px;border-radius:10px;font-size:13px;color:var(--mute)}
nav.tabs button[aria-current=true]{background:var(--accent);color:var(--accent-ink)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:12px}
.kpi b{display:block;font-size:22px}.kpi span{color:var(--mute);font-size:13px}
.btn{border:0;background:var(--accent);color:var(--accent-ink);padding:12px 16px;border-radius:12px;font-weight:600;min-height:44px}.btn.alt{background:var(--line);color:var(--ink)}.btn.bad{background:var(--bad);color:#fff}
.btn:disabled{opacity:.5}.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.row>.fit{flex:none}
input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);min-height:44px}
label{display:block;font-size:13px;color:var(--mute);margin:10px 0 4px}h2{font-size:17px;margin:16px 0 6px}
.item{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.item small{color:var(--mute);display:block}
.pin{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.pin button{padding:16px;font-size:22px;border-radius:14px;border:1px solid var(--line);background:var(--card)}
.dots{display:flex;gap:10px;justify-content:center;margin:14px 0}.dots i{width:14px;height:14px;border-radius:50%;border:2px solid var(--accent)}.dots i.on{background:var(--accent)}
.alert{border-left:4px solid var(--warn);padding:8px 12px;background:var(--card);margin:6px 0;border-radius:8px}.mute{color:var(--mute)}.right{text-align:right}
#toast{position:fixed;left:50%;bottom:90px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:10px 16px;border-radius:99px;opacity:0;transition:.2s;pointer-events:none;max-width:90vw;z-index:9}#toast.on{opacity:1}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media print{body *{visibility:hidden}}
.ft{overflow-x:auto}.ft table{border-collapse:collapse;width:100%;font-size:.8rem;min-width:560px}.ft td,.ft th{border:1px solid var(--line,#ccd);padding:6px 5px;text-align:center}.ft td:nth-child(2){text-align:left}.ft th{background:var(--card,#f3f6f5)}
.bad{color:var(--bad,#b42318)}.ok{color:var(--ok,#0a7a3d)}
/* lot A */
.sg{display:none;position:relative}.sg{background:var(--card);border:1px solid var(--line);border-radius:10px;margin-top:2px;max-height:260px;overflow:auto;box-shadow:0 6px 18px rgba(0,0,0,.12);z-index:6}
.sg button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 12px;min-height:44px;color:var(--ink)}.sg button small{display:block;color:var(--mute)}.sg .new{color:var(--accent);font-weight:600}
.seg{display:flex;gap:4px;background:var(--line);padding:4px;border-radius:12px;margin:10px 0}.seg button{flex:1;border:0;background:none;padding:10px;border-radius:9px;font-weight:600;color:var(--mute)}.seg button[aria-pressed=true]{background:var(--card);color:var(--ink)}
.chips{display:flex;gap:6px;overflow-x:auto;padding:6px 0}.chips button{border:1px solid var(--line);background:var(--card);border-radius:99px;padding:7px 13px;white-space:nowrap;color:var(--ink)}.chips button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.tags{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 6px}.tg{font-size:12px;padding:3px 9px;border-radius:99px;background:var(--line);color:var(--mute)}.tg.ok{background:var(--ok);color:#fff}.tg.warn{background:var(--warn);color:#fff}.tg.bad{background:var(--bad);color:#fff}
.ag{display:grid;grid-template-columns:70px 1fr auto;gap:8px;align-items:center;margin:6px 0;font-size:13px}.ag i{display:block;height:8px;border-radius:4px;background:var(--accent)}.ag i.w{background:var(--warn)}.ag i.bad{background:var(--bad)}
.rc{background:var(--bg);padding:10px;border-radius:10px;white-space:pre-wrap}a.btn{display:inline-block;text-decoration:none;text-align:center}
/* lot B : mode IA */
textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--ink);font:inherit}.chk{display:flex;gap:10px;align-items:flex-start;color:var(--ink);font-size:14px}.chk input{width:22px;min-height:22px;margin-top:2px}
body.ai{--accent:#6a4cff;--accent-ink:#fff}@media (prefers-color-scheme:dark){body.ai{--accent:#9a85ff;--accent-ink:#120c2e}}
body.ai{background:radial-gradient(900px 340px at 85% -80px,rgba(106,76,255,.16),transparent 70%),radial-gradient(700px 300px at -10% 0,rgba(0,190,220,.12),transparent 70%),var(--bg)}
body.ai header.top{border-image:linear-gradient(90deg,#6a4cff,#00bcd4) 1}
body.ai nav.tabs button[aria-current=true],body.ai .btn:not(.alt):not(.bad){background:linear-gradient(135deg,#6a4cff,#00a6d6);color:#fff}
body.ai .card,body.ai .kpi{border-color:rgba(106,76,255,.22);box-shadow:0 2px 14px rgba(106,76,255,.07)}
.aib{display:none;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px;color:#fff;background:linear-gradient(135deg,#6a4cff,#00a6d6);margin-left:8px;vertical-align:middle}body.ai .aib{display:inline-block}
.aic .tg.ok{background:linear-gradient(135deg,#6a4cff,#00a6d6)}
.tg{align-self:flex-start;white-space:nowrap}
/* lot C */
.ln{border-top:1px solid var(--line);padding:8px 0}.ln.nok input[data-pr]{border-color:var(--bad);background:rgba(180,35,24,.06)}.ln .row{margin-top:6px}.ln .row select{max-width:110px}
.dupw{padding:6px}.dupw>button{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 6px;min-height:44px;color:var(--ink)}.aiadv{background:linear-gradient(135deg,rgba(106,76,255,.1),rgba(0,166,214,.1));border-radius:10px;padding:8px 10px;margin:6px 0;font-size:14px}
/* lot E */
.al{padding:8px 0;border-top:1px solid var(--line)}.al small{display:block;color:var(--mute)}.al small i{color:var(--ink)}.act{padding:8px 10px;margin:6px 0;border-radius:10px;background:var(--bg)}.act small{display:block}
body.ai .act{background:linear-gradient(135deg,rgba(106,76,255,.08),rgba(0,166,214,.08))}
/* lot F */
.geob{display:none;font-size:12px;padding:3px 9px;border-radius:99px;background:var(--ok);color:#fff;margin-left:8px;vertical-align:middle}body[data-geo] .geob{display:inline-block}
/* lot G1 */
.cm{padding:8px 10px;margin:6px 0;border-radius:10px;background:var(--bg)}
