:root{--brand:#256782;--bg:#f4f6f8;--card:#fff;--text:#1f2937;--muted:#6b7280;--border:#e5e7eb;--ok:#1a7f4e;--ok-bg:#e7f6ee;--warn:#b45309;--warn-bg:#fef3e2;--bad:#b42318;--bad-bg:#fdecea;color-scheme:light dark}
@media(prefers-color-scheme:dark){:root{--bg:#12181d;--card:#1b242b;--text:#e6ebef;--muted:#9aa7b2;--border:#2c3943;--ok-bg:#12301f;--warn-bg:#35260f;--bad-bg:#3a1613}}
*{box-sizing:border-box}[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}
header{background:var(--brand);color:#fff;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center;gap:8px}
header h1{font-size:18px;margin:0}#qui{font-size:13px;opacity:.9}
nav{display:flex;gap:6px;padding:8px 16px 0}nav button{flex:1;border:0;background:transparent;color:var(--muted);padding:10px 4px;font-size:15px;border-bottom:3px solid transparent;cursor:pointer}nav button.on{color:var(--brand);border-color:var(--brand);font-weight:600}
main{padding:12px 16px 40px;max-width:640px;margin:0 auto}
.card{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px;margin:10px 0}
h2{font-size:15px;color:var(--muted);margin:18px 0 6px;font-weight:600}
.ligne{display:flex;justify-content:space-between;align-items:center;gap:10px}
.heure{font-weight:700;font-size:17px}.sous{color:var(--muted);font-size:14px}
button.act,a.act{border:0;background:var(--brand);color:#fff;border-radius:10px;padding:12px 16px;font-size:16px;font-weight:600;cursor:pointer;min-height:44px;text-decoration:none;display:inline-block}
button.sec{border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:10px 14px;font-size:15px;cursor:pointer;min-height:44px}
button:disabled{opacity:.5}
.pill{display:inline-block;border-radius:999px;padding:2px 9px;font-size:13px;font-weight:600}.ok{background:var(--ok-bg);color:var(--ok)}.warn{background:var(--warn-bg);color:var(--warn)}.bad{background:var(--bad-bg);color:var(--bad)}
input,textarea,select{width:100%;font-size:18px;padding:12px;border:1px solid var(--border);border-radius:10px;background:var(--card);color:var(--text);margin:6px 0 12px}
label{font-size:14px;color:var(--muted)}
#toast{position:fixed;left:16px;right:16px;bottom:max(16px,env(safe-area-inset-bottom));background:#1f2937;color:#fff;padding:12px 14px;border-radius:10px;opacity:0;pointer-events:none;transition:.2s;text-align:center}#toast.on{opacity:1}
.lock{font-size:13px;color:var(--muted)}
ul.aides{margin:6px 0 0;padding-left:20px}

/* cartouche créneau : 2 lignes, jamais plus */
.cart{flex:1;min-width:0}
.cart .heure{white-space:nowrap}
.cart .l2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ligne>button,.ligne>span.pill,.ligne>select{flex:none}
button.act{white-space:nowrap;padding:10px 12px;font-size:15px}
.cart .l2.w{white-space:normal}

.badge{display:inline-block;min-width:18px;padding:0 5px;margin-left:4px;border-radius:9px;background:#d92d20;color:#fff;font-size:12px;font-weight:700;line-height:18px;text-align:center;vertical-align:1px}
