:root{--bg:#f5f6f8;--card:#fff;--ink:#1b2430;--muted:#5d6876;--line:#e1e5ea;--accent:#0b5cad;--danger:#b3261e;--ok:#1e7a3c;--info-bg:#e8f1fb}
@media (prefers-color-scheme:dark){:root{--bg:#11161c;--card:#1a212a;--ink:#e7ebf0;--muted:#9aa5b2;--line:#2c3541;--accent:#5aa2ef;--danger:#ff6b61;--ok:#5fd38a;--info-bg:#17283b}}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;padding:16px}
main{max-width:420px;margin:8vh auto 0}
body.large main{max-width:1100px;margin-top:16px}
.carte{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:24px;margin-bottom:16px;overflow-x:auto}
h1{font-size:20px;margin:0 0 8px}h2{font-size:17px;margin:0 0 12px}
p{margin:0 0 12px}.aide{color:var(--muted);font-size:13px}
.info{background:var(--info-bg);border-radius:8px;padding:10px 12px;font-size:14px}
.ok{color:var(--ok)}.erreur{color:var(--danger);font-size:14px}
label{display:block;font-size:13px;color:var(--muted);margin:0 0 4px}
input[type=email],input[type=text],input[type=password],textarea{width:100%;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit;margin-bottom:12px}
input.code{font-size:22px;letter-spacing:6px;text-align:center}
button,.bouton{display:inline-block;width:100%;padding:9px 14px;border:0;border-radius:8px;background:var(--accent);color:#fff;font:inherit;font-weight:600;cursor:pointer;text-align:center;text-decoration:none}
button.danger{background:var(--danger)}button.discret{background:transparent;color:var(--muted);border:1px solid var(--line)}
.liens{margin:14px 0 0;text-align:center;font-size:13px}a{color:var(--accent)}
form.ligne{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
form.ligne input{flex:1 1 220px;width:auto;margin:0}form.ligne button{width:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
th,td{text-align:left;padding:6px 8px;border-bottom:1px solid var(--line);vertical-align:top}
th{color:var(--muted);font-weight:600}td form{margin:0}td button{width:auto;padding:4px 10px;font-size:12px}
td.petit{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
