*{box-sizing:border-box}:root{--bg:#08050d;--panel:#15101d;--panel2:#201629;--panel3:#2b1c37;--line:rgba(211,179,231,.16);--gold:#d9aa4b;--gold2:#f2d58b;--purple:#7c43b5;--violet:#b88ae6;--text:#f5efe8;--muted:#aa9ead;--danger:#ee7b72;--success:#80d4a8;--radius:16px}
html{scroll-behavior:smooth}body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:radial-gradient(circle at 86% -8%,rgba(107,49,167,.3),transparent 34rem),linear-gradient(180deg,#0c0712,var(--bg))}body:before{content:"";position:fixed;inset:0;z-index:-1;opacity:.16;background-image:linear-gradient(#fff1 1px,transparent 1px),linear-gradient(90deg,#fff1 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(#000,transparent 80%)}a{color:inherit}:focus-visible{outline:3px solid #d8b569;outline-offset:3px}
.admin-top{position:sticky;top:0;z-index:50;min-height:74px;display:flex;justify-content:space-between;align-items:center;padding:11px 24px;border-bottom:1px solid rgba(217,170,75,.27);background:rgba(9,5,14,.9);backdrop-filter:blur(20px);box-shadow:0 12px 35px #0004}.admin-brand{display:flex;align-items:center;gap:12px}.admin-brand img{width:46px;height:46px;object-fit:contain;filter:drop-shadow(0 5px 10px #000)}.admin-brand div{display:grid;gap:2px}.admin-brand strong{color:#fff;font:700 19px Georgia,serif}.admin-brand span{color:var(--gold2);font-size:9px;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.admin-user{display:flex;align-items:center;gap:8px;font-size:12px}.admin-user>span{margin-right:7px;padding:7px 10px;border:1px solid var(--line);border-radius:99px;color:#d7cbdc;background:#17101e}.admin-user a{padding:9px 11px;border-radius:9px;color:var(--muted);text-decoration:none}.admin-user a:hover{color:#fff;background:#25172f}
.admin-layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1680px;margin:auto}.admin-layout aside{position:sticky;top:74px;height:calc(100vh - 74px);padding:26px 16px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:5px;background:rgba(12,7,17,.45)}.admin-layout aside:before{content:"PILOTAGE";padding:0 12px 12px;color:#796d7e;font-size:9px;font-weight:900;letter-spacing:.18em}.admin-layout aside a{position:relative;padding:12px 13px;border:1px solid transparent;border-radius:10px;color:#afa2b3;font-size:12px;font-weight:700;text-decoration:none;transition:.16s ease}.admin-layout aside a:hover{color:#fff;background:#211429}.admin-layout aside a.active{color:#fff;border-color:rgba(183,134,221,.25);background:linear-gradient(90deg,#442458,#25162f)}.admin-layout aside a.active:before{content:"";position:absolute;left:-1px;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--gold)}
.admin-layout main{min-width:0;padding:34px clamp(22px,4vw,54px) 90px}.admin-layout section{scroll-margin-top:100px;margin-bottom:64px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;padding-bottom:13px;border-bottom:1px solid var(--line)}.section-head span{color:var(--gold2);font-size:9px;font-weight:900;letter-spacing:.2em}.section-head small,.muted{color:var(--muted)}h1,h2,h3{font-family:Georgia,"Times New Roman",serif}h1,h2{margin:5px 0 0;font-size:clamp(27px,3vw,38px);letter-spacing:-.025em}h3{margin:0 0 14px;font-size:19px}.section-head small{font-size:11px}
.stat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.stat-card,.panel{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,rgba(34,22,46,.97),rgba(17,11,24,.98));box-shadow:0 16px 40px #0003}.stat-card{position:relative;min-height:132px;padding:20px;overflow:hidden}.stat-card:before{content:"";position:absolute;left:20px;top:0;width:34px;height:2px;background:var(--gold)}.stat-card:after{content:"";position:absolute;width:90px;height:90px;right:-38px;bottom:-38px;border:18px solid rgba(135,74,181,.08);border-radius:50%}.stat-card span{display:block;color:var(--muted);font-size:10px;font-weight:750;text-transform:uppercase;letter-spacing:.09em}.stat-card strong{display:block;margin-top:15px;color:#fff;font:700 34px Georgia,serif}.panel{padding:22px}.admin-grid.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:14px;margin-bottom:14px}
.admin-form{display:grid;gap:13px}.admin-form label{display:grid;gap:7px;color:#c2b5c5;font-size:11px;font-weight:700}.admin-form input,.admin-form textarea,.admin-form select{width:100%;min-height:42px;border:1px solid rgba(193,150,220,.22);border-radius:10px;background:#0c0811;color:#f5edf5;padding:10px 12px;font:inherit;outline:0}.admin-form textarea{resize:vertical;line-height:1.55}.admin-form input:focus,.admin-form textarea:focus,.admin-form select:focus{border-color:#a46dcd;box-shadow:0 0 0 3px rgba(132,72,183,.14)}.admin-form button,.inline-actions button,.tiny,.button-link,.totp-actions button,.totp-regenerate button,.panel>form>button{display:inline-flex;align-items:center;justify-content:center;min-height:39px;border:1px solid #efcb7b;border-radius:10px;background:linear-gradient(180deg,#efc266,#b7772d);color:#21140a!important;font-weight:900;padding:9px 14px;cursor:pointer;text-decoration:none}.admin-form>button{justify-self:start}.form-row{display:grid;grid-template-columns:.65fr 1fr 1fr;gap:10px}.checks{display:flex;flex-wrap:wrap;gap:10px}.checks label{display:flex;align-items:center;gap:8px!important;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#120c19}.checks input{width:auto;min-height:0;accent-color:#8b4fc0}.checks.big{padding:8px 0}.admin-list{padding-left:20px;color:#baadbd;line-height:2}.big-number{margin:8px 0 24px;color:var(--gold2);font:700 48px Georgia,serif}
.challenge-admin-card{overflow:hidden;border:1px solid var(--line);border-radius:12px;margin:10px 0;background:#100a16}.challenge-admin-card summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;cursor:pointer;list-style:none}.challenge-admin-card summary::-webkit-details-marker{display:none}.challenge-admin-card summary:hover{background:#1d1225}.challenge-admin-card summary div{display:grid;gap:4px}.challenge-admin-card summary small{color:var(--muted)}.challenge-admin-card .admin-form{padding:17px;border-top:1px solid var(--line);background:#130d1a}.status{font-size:9px;font-weight:850;padding:6px 9px;border-radius:99px;background:#28202e;color:#cfc4d2}.status.en-cours{background:#153a2b;color:#a7e7c7}.status.programme{background:#44351c;color:#f3d68a}.status.termine{background:#252129;color:#aaa1ac}.inline-actions{display:flex;gap:8px;padding:0 17px 17px}.inline-actions form{margin:0}.inline-actions button.secondary,.secondary,.button-link{border-color:rgba(188,142,220,.25)!important;background:#2a1935!important;color:#e6d9eb!important}.inline-actions button.danger,.danger{border-color:#84413d!important;background:#52242a!important;color:#ffc2bb!important}
.table-wrap{overflow:auto;padding:0}.table-wrap table{min-width:680px}table{width:100%;border-collapse:collapse;font-size:12px}th,td{text-align:left;padding:12px 15px;border-bottom:1px solid var(--line);white-space:nowrap}th{position:sticky;top:0;color:#97899d;background:#130d1a;font-size:9px;text-transform:uppercase;letter-spacing:.1em}tbody tr:hover td{background:rgba(112,59,146,.09)}td b{color:var(--gold2)}.tiny{min-height:30px!important;padding:5px 8px!important;font-size:9px}.narrow{max-width:640px}.flash{margin:0 0 20px;padding:13px 15px;border:1px solid #39755a;border-radius:11px;background:#16392b;color:#bcebd2}.flash.error{border-color:#79403b;background:#432127;color:#ffc4be}
.secret-box{padding:14px;margin:12px 0;border:1px solid rgba(217,170,75,.32);background:#130e18;border-radius:11px}.secret-box small{display:block;color:var(--gold2);margin-bottom:6px}.secret-box code{display:block;word-break:break-all;color:#f0d483;font-size:15px;letter-spacing:.06em}.secret-box p{font-size:11px;color:var(--muted)}.totp-setup{display:grid;grid-template-columns:220px 1fr;gap:16px;align-items:start;margin:12px 0}.totp-qr{min-height:220px;display:grid;place-items:center;padding:10px;border:1px solid var(--line);border-radius:12px;background:#fff}.totp-qr img{width:200px;height:200px}.qr-fallback{color:#252525!important;font-size:11px!important;text-align:center}.totp-actions{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.totp-regenerate{margin-top:10px}
.login-body{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{position:relative;width:min(460px,100%);overflow:hidden;padding:32px;border:1px solid rgba(217,170,75,.3);border-radius:22px;background:linear-gradient(145deg,#291934,#110b18);box-shadow:0 36px 100px #000a}.login-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),var(--purple),transparent)}.login-card .admin-brand{padding-bottom:20px;border-bottom:1px solid var(--line)}.login-card h1{font-size:30px;margin:25px 0 8px}.login-card>p{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 20px}.back-link{display:block;margin-top:18px;text-align:center;color:var(--muted);font-size:12px;text-decoration:none}.back-link:hover{color:#fff}
@media(max-width:1150px){.stat-grid{grid-template-columns:repeat(3,1fr)}.admin-grid.two{grid-template-columns:1fr}}@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-layout aside{position:sticky;top:73px;z-index:30;height:auto;padding:8px 12px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow:auto;background:rgba(9,5,14,.94);backdrop-filter:blur(16px)}.admin-layout aside:before{display:none}.admin-layout aside a{white-space:nowrap}.admin-layout main{padding:24px 18px 70px}.stat-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.admin-top{padding:10px 13px}.admin-user>span,.admin-user a:first-of-type{display:none}.admin-brand strong{font-size:16px}.admin-brand img{width:40px;height:40px}.section-head{align-items:flex-start;flex-direction:column}.form-row,.stat-grid{grid-template-columns:1fr}.stat-card{min-height:105px}.totp-setup{grid-template-columns:1fr}.totp-qr{width:220px}.panel{padding:17px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* V8 — thème clair complet de l'administration */
[data-theme="light"]{color-scheme:light;--bg:#f6f1ec;--panel:#fffdf9;--panel2:#f1e8f3;--panel3:#e6d8eb;--line:rgba(79,45,94,.16);--gold:#a66f17;--gold2:#8c5b12;--purple:#70408e;--violet:#744393;--text:#2c2031;--muted:#716474;--danger:#b84e49;--success:#4e7963}
[data-theme="light"] body{background:radial-gradient(circle at 86% -8%,rgba(113,63,144,.13),transparent 34rem),#f6f1ec}
[data-theme="light"] body:before{opacity:.045;background-image:linear-gradient(#3e254d 1px,transparent 1px),linear-gradient(90deg,#3e254d 1px,transparent 1px)}
[data-theme="light"] .admin-top{border-color:var(--line);background:rgba(255,253,249,.9);box-shadow:0 12px 35px rgba(66,40,75,.09)}
[data-theme="light"] .admin-brand strong,[data-theme="light"] .stat-card strong{color:var(--text)}
[data-theme="light"] .admin-user>span{color:var(--text);background:#f1e8f3}[data-theme="light"] .admin-user a:hover{color:var(--text);background:#eaddec}
[data-theme="light"] .admin-layout aside{background:rgba(241,232,243,.52)}[data-theme="light"] .admin-layout aside a{color:#6e6071}[data-theme="light"] .admin-layout aside a:hover{color:#3a2940;background:#eaddec}[data-theme="light"] .admin-layout aside a.active{color:#fff;background:linear-gradient(90deg,#70408e,#8d5ca8)}
[data-theme="light"] .stat-card,[data-theme="light"] .panel{background:linear-gradient(145deg,#fffdf9,#f6f0f6);box-shadow:0 15px 36px rgba(67,39,76,.09)}
[data-theme="light"] .admin-form label{color:#5f5262}[data-theme="light"] .admin-form input,[data-theme="light"] .admin-form textarea,[data-theme="light"] .admin-form select{border-color:var(--line);background:#fff;color:var(--text)}
[data-theme="light"] .checks label,[data-theme="light"] .challenge-admin-card,[data-theme="light"] .challenge-admin-card .admin-form{background:#f4edf5}[data-theme="light"] .challenge-admin-card summary:hover{background:#eaddec}
[data-theme="light"] th{color:#726477;background:#eee4f0}[data-theme="light"] tbody tr:hover td{background:rgba(112,59,146,.06)}
[data-theme="light"] .inline-actions button.secondary,[data-theme="light"] .secondary,[data-theme="light"] .button-link{background:#eaddec!important;color:#4c3158!important}[data-theme="light"] .inline-actions button.danger,[data-theme="light"] .danger{background:#f2d9d8!important;color:#812e2a!important}
[data-theme="light"] .login-card{background:linear-gradient(145deg,#fffdf9,#eee4f0);box-shadow:0 30px 80px rgba(58,32,67,.18)}[data-theme="light"] .back-link:hover{color:var(--text)}
@media(max-width:900px){[data-theme="light"] .admin-layout aside{background:rgba(255,253,249,.95)}}

/* V8.1 — administration orientée tâches */
.admin-layout{grid-template-columns:270px minmax(0,1fr)}.admin-layout aside{padding:22px 15px;gap:22px}.admin-layout aside:before{display:none}.admin-nav-group{display:grid;gap:5px}.admin-nav-group>span{padding:0 12px 7px;color:#796d7e;font-size:9px;font-weight:900;letter-spacing:.18em}.admin-layout aside .admin-nav-group a{padding:11px 13px}
.admin-theme-mount{display:flex;align-items:center}.admin-theme-mount .saharash-theme-control{position:static;width:auto;padding:3px;border-radius:9px;box-shadow:none;background:var(--panel2)}.admin-theme-mount .theme-control-label{display:none}.admin-theme-mount .theme-control-options{padding:1px;border:0;background:transparent}.admin-theme-mount .theme-control-options button{width:28px;height:27px}
.admin-status-strip{display:grid;grid-template-columns:repeat(3,1fr);margin-top:16px;border:1px solid var(--line);border-radius:14px;background:rgba(19,12,26,.72);overflow:hidden}.admin-status-strip>div{min-height:72px;padding:13px 16px;display:flex;align-items:center;gap:11px;border-right:1px solid var(--line)}.admin-status-strip>div:last-child{border:0}.admin-status-strip p{display:grid;gap:2px;margin:0}.admin-status-strip small{color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.13em}.admin-status-strip strong{font-size:12px}.status-dot{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#746b77;box-shadow:0 0 0 4px rgba(116,107,119,.12)}.status-dot.is-ok{background:var(--gold);box-shadow:0 0 0 4px rgba(217,170,75,.13)}.status-dot.is-live{background:var(--violet);box-shadow:0 0 0 4px rgba(184,138,230,.13)}.status-dot.is-alert{background:var(--danger);box-shadow:0 0 0 4px rgba(238,123,114,.13)}
.admin-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:16px}.admin-quick-actions a{min-height:126px;padding:17px;display:flex;flex-direction:column;align-items:flex-start;border:1px solid var(--line);border-radius:14px;background:linear-gradient(145deg,rgba(34,22,46,.82),rgba(17,11,24,.9));text-decoration:none;transition:.16s}.admin-quick-actions a:hover{transform:translateY(-2px);border-color:rgba(184,138,230,.36);background:var(--panel2)}.admin-quick-actions span{font-size:21px}.admin-quick-actions b{margin-top:11px;font-size:12px}.admin-quick-actions small{margin-top:2px;color:var(--muted);font-size:9px;line-height:1.45}
.advanced-form{border:1px solid var(--line);border-radius:10px;background:#110b17}.advanced-form summary{padding:11px 13px;color:var(--muted);font-size:10px;font-weight:750;cursor:pointer}.advanced-form[open] summary{border-bottom:1px solid var(--line);color:var(--violet)}.advanced-form label{padding:13px}
.settings-form{gap:0}.settings-grid{grid-template-columns:1fr 1fr!important}.setting-panel{display:flex;flex-direction:column;gap:18px}.setting-title{display:flex;align-items:flex-start;gap:12px;padding-bottom:16px;border-bottom:1px solid var(--line)}.setting-title>span{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid var(--line);border-radius:11px;background:var(--panel2);font-size:19px}.setting-title h3{margin:0}.setting-title p{margin:3px 0 0;color:var(--muted);font-size:10px}.setting-switch{display:flex!important;grid-template-columns:none!important;align-items:center;gap:10px!important;padding:12px;border:1px solid var(--line);border-radius:11px;background:#110b17;cursor:pointer}.setting-switch input{position:absolute;opacity:0;pointer-events:none}.setting-switch>span{position:relative;width:42px;height:23px;flex:0 0 auto;border:1px solid #514557;border-radius:99px;background:#211827}.setting-switch>span:after{content:"";position:absolute;left:3px;top:3px;width:15px;height:15px;border-radius:50%;background:#8d818f;transition:.16s}.setting-switch input:checked+span{border-color:#a66ccb;background:#613481}.setting-switch input:checked+span:after{left:22px;background:#fff}.setting-switch input:focus-visible+span{outline:3px solid var(--gold);outline-offset:2px}.setting-switch b{font-size:11px}.danger-switch input:checked+span{border-color:#d16c65;background:#71322f}.field-counter{float:right;color:var(--muted);font-size:9px;font-weight:500}.field-counter b{color:var(--gold2)}.admin-form label>small{color:var(--muted);font-weight:400}.message-preview{min-height:72px;padding:12px;display:flex;align-items:center;gap:11px;border:1px solid rgba(217,170,75,.32);border-radius:12px;background:linear-gradient(110deg,rgba(217,170,75,.11),rgba(126,67,181,.1))}.message-preview>span{width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;border-radius:9px;background:rgba(217,170,75,.1)}.message-preview div{display:grid}.message-preview small{color:var(--gold2);font-size:8px;font-weight:900;letter-spacing:.13em}.message-preview b{font-size:11px;overflow-wrap:anywhere}.settings-save{position:sticky;bottom:12px;z-index:20;margin-top:14px;padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(217,170,75,.32);border-radius:13px;background:rgba(18,11,25,.92);box-shadow:0 12px 35px #0006;backdrop-filter:blur(14px)}.settings-save span{color:var(--muted);font-size:10px}.settings-save button{min-width:190px}
.admin-search{display:grid;gap:4px;min-width:230px}.admin-search>span{color:var(--muted);font-size:8px;letter-spacing:.1em}.admin-search input{height:38px;padding:8px 11px;border:1px solid var(--line);border-radius:9px;background:#0c0811;color:var(--text);outline:0}.admin-search input:focus{border-color:#a46dcd;box-shadow:0 0 0 3px rgba(132,72,183,.14)}tr[hidden]{display:none}
.status.en-cours{background:rgba(156,99,203,.16);color:#d4a8ef}.flash:not(.error){border-color:rgba(217,170,75,.38);background:rgba(217,170,75,.12);color:var(--gold2)}
[data-theme="light"] .admin-status-strip,[data-theme="light"] .admin-quick-actions a{background:rgba(255,253,249,.8)}[data-theme="light"] .advanced-form,[data-theme="light"] .setting-switch{background:#f5eff6}[data-theme="light"] .admin-search input{background:#fff;color:var(--text)}[data-theme="light"] .settings-save{background:rgba(255,253,249,.94);box-shadow:0 12px 30px rgba(59,35,66,.14)}
@media(max-width:1200px){.admin-quick-actions{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.admin-layout{grid-template-columns:1fr}.admin-layout aside{gap:6px}.admin-nav-group{display:contents}.admin-nav-group>span{display:none}.settings-grid{grid-template-columns:1fr!important}.admin-theme-mount{display:none}}
@media(max-width:620px){.admin-quick-actions{grid-template-columns:1fr 1fr}.admin-quick-actions a{min-height:112px}.admin-status-strip{grid-template-columns:1fr}.admin-status-strip>div{min-height:58px;border-right:0;border-bottom:1px solid var(--line)}.section-head .admin-search{width:100%;min-width:0}.settings-save{align-items:stretch;flex-direction:column}.settings-save button{width:100%}.admin-user a[href="../atelier/"]{display:none}}
.setting-switch{position:relative}.setting-switch input{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;margin:0!important;opacity:0!important;pointer-events:none!important}
