:root{--bg:#0f172a;--card:#111827;--text:#e5e7eb;--muted:#9ca3af;--accent:#22c55e}
*{box-sizing:border-box}body{margin:0;background:#0b1220;color:var(--text);font-family:system-ui,Segoe UI,Roboto}
a{color:var(--text);text-decoration:none;margin-right:12px}a:hover{opacity:.85}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#0c1528;border-bottom:1px solid #18223a;position:sticky;top:0}
.brand{font-weight:700}.container{padding:16px;max-width:1100px;margin:0 auto}
.card{background:var(--card);padding:16px;border:1px solid #1f2a44;border-radius:12px;margin-bottom:16px}
input,select,button{padding:8px;border-radius:8px;border:1px solid #1f2a44;background:#0e1a33;color:var(--text)}
table{width:100%;border-collapse:collapse}th,td{padding:8px;border-bottom:1px solid #1f2a44}th{text-align:left;color:var(--muted)}
.flash{background:#132a13;border:1px solid #2f6;padding:8px 12px;border-radius:8px;margin:10px 0}
.btn{background:var(--accent);border:0;padding:8px 12px;border-radius:8px;cursor:pointer}
.printable .topbar, .printable nav, .btn.print-hide{display:none}@media print{.topbar,nav,.btn{display:none}body{background:#fff;color:#000}.card{border:0}}


/* Améliorations mobiles rapides */
table{width:100%; border-collapse:collapse}
.table, table{display:block; overflow-x:auto}   /* scroll horizontal si trop large */
input,select,button{max-width:100%}             /* champs qui ne débordent pas */
.container{padding:12px}                        /* marges plus souples sur petit écran */
