:root{color-scheme:dark;--bg:#0A0F1C;--card:#111827;--card2:#1A233A;--line:#2A3448;--tx:#F3F4F6;--mut:#9CA3AF;--or:#FF6B00;--bl:#3B82F6;--ok:#4ADE80;--ko:#F87171}
h1,h2,.top b{font-family:'Plus Jakarta Sans',Inter,system-ui,sans-serif}
h1{font-weight:800;background:linear-gradient(180deg,#fff 30%,#93C5FD);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
*{box-sizing:border-box}body{margin:0;background:var(--bg) url(/accueil.webp) center/cover fixed no-repeat;color:var(--tx);font:16px/1.5 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
.top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);background:var(--card);position:sticky;top:0;z-index:5;flex-wrap:wrap}
.top b{font-size:1.1rem}.top .sp{flex:1}.nav{display:flex;gap:6px;flex-wrap:wrap}
.nav button{background:transparent;border:1px solid transparent;color:var(--mut);padding:8px 12px;border-radius:8px;cursor:pointer;font:inherit}.nav button.on{color:#fff;background:var(--card2);border-color:var(--line)}
main{max-width:1000px;margin:0 auto;padding:20px 16px 60px}h1{font-size:1.5rem;margin:.2em 0 .6em}h2{font-size:1.15rem;margin:.2em 0 .5em}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px;margin:12px 0}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
label{display:grid;gap:4px;font-size:.85rem;color:var(--mut)}input,select,textarea,button{font:inherit;color:var(--tx)}
input,select,textarea{background:var(--card2);border:1px solid #4B5563;border-radius:8px;padding:9px 12px;min-width:0}
button{border:1px solid #4B5563;background:var(--card2);border-radius:8px;padding:9px 14px;cursor:pointer;font-weight:600}
button.go{background:var(--or);border:0;color:#fff;box-shadow:0 4px 14px rgba(255,107,0,.3)}button.ko{background:#B91C1C;border:0}button:disabled{opacity:.5}
.muted{color:var(--mut);font-size:.9rem}.err{color:var(--ko)}.okm{color:var(--ok)}.tag{display:inline-block;padding:1px 9px;border-radius:99px;font-size:.78rem;border:1px solid #4B5563;color:var(--mut)}
.tag.adm{color:var(--or);border-color:var(--or)}.tag.off{color:var(--ko);border-color:var(--ko)}
table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line);font-size:.92rem;vertical-align:top}th{color:var(--mut);font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.soon{opacity:.6}
.perm{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}
.perm select{padding:5px 8px}.login{max-width:380px;margin:12vh auto;padding:0 16px}.pw{font:700 1.2rem ui-monospace,monospace;background:var(--card2);padding:10px 14px;border-radius:8px;display:inline-block;user-select:all}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.65);display:grid;place-items:start center;overflow:auto;padding:20px 12px;z-index:20}.modal .card{width:min(680px,100%);margin:0}
@media(max-width:640px){th:nth-child(n+4),td:nth-child(n+4){display:none}}

.lg{height:34px;width:auto}.biglg{display:block;width:150px;height:auto;margin:0 auto 10px}.login h1,.login p{text-align:center}.login label{text-align:left}
.card{transition:border-color .2s,transform .2s}.card:hover{border-color:rgba(255,107,0,.45)}button.go:hover{filter:brightness(1.1);transform:translateY(-1px)}
.pre{white-space:pre-wrap;word-break:break-word}.dl{color:#93C5FD;text-decoration:none;word-break:break-all}.dl:hover{text-decoration:underline}
button.lnk{background:none;border:0;color:var(--mut);padding:0 8px;font-weight:400;text-decoration:underline;font-size:.85rem}
.chk{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px}.ck{display:flex;align-items:center;gap:8px;color:var(--tx);font-size:.92rem}.ck input{width:auto}
input[type=file]{padding:7px}

body::before{content:"";position:fixed;inset:0;background:rgba(10,15,28,.93);pointer-events:none;z-index:0}
#app{position:relative;z-index:1}.card{background:rgba(17,24,39,.9)}.top{background:rgba(17,24,39,.94)}
.hero{position:relative;border-radius:14px;overflow:hidden;margin:4px 0 18px;border:1px solid var(--line)}.hero img{display:block;width:100%;height:auto}
.hero .ht{position:absolute;left:0;right:0;top:0;padding:clamp(12px,3vw,34px);background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(255,255,255,.8) 75%,transparent);color:#0A1A3A}
.hero .ht h2{margin:0 0 .3em;font-size:clamp(1.05rem,3vw,1.9rem);font-weight:800;color:#0A1A3A}.hero .ht p{margin:0;font-weight:600;font-size:clamp(.8rem,1.6vw,1.05rem)}.hero .ht .sub{margin-top:.4em;color:#1D4ED8}
.nav.sub{margin:6px 0 14px}td.r,th.r{text-align:right;font-variant-numeric:tabular-nums}table input,table select{width:100%}table input[type=checkbox]{width:auto}
@media print{.top,.nav,.row.card{display:none}body::before{display:none}body{background:#fff;color:#000}.card{background:#fff;border-color:#999}}
