:root{
  --bg:#080604;--bg2:#0d0a08;--panel:#120e0b;--panel2:#19130f;--panel3:#221a15;
  --text:#d9d0c5;--hi:#f0e8dc;--muted:#918478;--faint:#5f534a;
  --blood:#7c1e19;--blood2:#a42a21;--blood-dark:#43100d;--danger:#c44a3c;--ok:#8da777;
  --border:rgba(185,159,134,.18);--border-hi:rgba(185,159,134,.35);--shadow:0 28px 90px rgba(0,0,0,.55)
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;color-scheme:dark}button,input,select{font:inherit}a{color:inherit}body{position:relative;isolation:isolate;background:radial-gradient(circle at 50% -10%,rgba(124,30,25,.12),transparent 30%),linear-gradient(180deg,#0d0a08,#070503 62%);background-attachment:fixed}body:before{content:"";position:fixed;inset:0;z-index:1000;pointer-events:none;background:url('/assets/noise.png') repeat;opacity:.055;mix-blend-mode:screen}body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;box-shadow:inset 0 0 170px rgba(0,0,0,.8)}
.admin-sigil{position:fixed;z-index:-1;left:50%;top:-190px;width:660px;height:660px;transform:translateX(-50%) rotate(7deg);color:#7e241e;opacity:.085;pointer-events:none}.admin-sigil img{width:100%;height:100%}.admin-app{min-height:100vh}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;color:#e3d8cb}h1{font-size:31px;letter-spacing:.015em}h2{letter-spacing:.02em}.muted{color:var(--muted)}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px;position:relative}.auth-card{position:relative;width:min(450px,100%);border:1px solid #4e2b25;background:linear-gradient(180deg,rgba(20,15,12,.97),rgba(10,7,5,.98));padding:34px 30px;box-shadow:var(--shadow);overflow:hidden}.auth-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(185,159,134,.06);pointer-events:none}.auth-card:after{content:"";position:absolute;left:0;right:42%;top:0;height:2px;background:linear-gradient(90deg,#a12b23,transparent)}.logo{position:relative;display:flex;align-items:center;gap:12px;font-family:Georgia,"Times New Roman",serif;font-size:22px;font-weight:800;letter-spacing:.08em;margin-bottom:28px;text-transform:uppercase}.logo-mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid #753128;color:#d1c0b0;background:radial-gradient(circle at 40% 35%,#2b1813,#0b0705 70%);box-shadow:inset 0 0 22px #000,0 0 24px rgba(124,30,25,.12);font-size:27px;text-shadow:2px 1px 0 #651711}.auth-card h1{font-size:34px;margin-bottom:9px}.auth-card>p{font-size:13px;line-height:1.55}.field{display:grid;gap:7px;margin:15px 0}.field label{font-size:10px;font-weight:900;color:#a99687;text-transform:uppercase;letter-spacing:.13em}.field input,.field select{width:100%;border:1px solid #3f3028;background:#090705;color:#e6dbcf;border-radius:0;padding:13px 13px;outline:0;box-shadow:inset 0 0 20px rgba(0,0,0,.3)}.field input:focus,.field select:focus{border-color:#87342b;box-shadow:0 0 0 1px rgba(135,52,43,.18),inset 0 0 20px rgba(0,0,0,.3)}.field input::placeholder{color:#5c5048}.btn{border:1px solid #7e3028;border-radius:0;background:linear-gradient(180deg,#85231d,#631813);color:#eadfd3;font-weight:900;padding:11px 15px;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.11em;transition:.15s;box-shadow:inset 0 1px rgba(255,255,255,.03)}.btn:hover{background:linear-gradient(180deg,#a12c23,#741b15);border-color:#aa4338}.btn.secondary{background:#15100d;border-color:#45352d;color:#a99a8d}.btn.secondary:hover{color:#e2d6c9;border-color:#6b4a3d;background:#1c1511}.btn.danger{background:rgba(116,26,21,.12);color:#c96a5c;border:1px solid rgba(166,58,46,.42)}.btn.danger:hover{background:rgba(137,31,24,.24);color:#eb9182}.btn:disabled{opacity:.45;cursor:not-allowed}.auth-card .btn{width:100%;margin-top:10px}.error{color:#d47262;font-size:12px;margin-top:12px;line-height:1.45}.totp-code{font-family:Georgia,serif;font-size:30px!important;letter-spacing:.28em!important;text-align:center;color:#efe3d6!important}
.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-sidebar{position:sticky;top:0;height:100vh;border-right:1px solid #3c241f;background:linear-gradient(180deg,#100c09,#070504);padding:24px 15px}.admin-sidebar:after{content:"";position:absolute;right:-1px;top:0;width:1px;height:170px;background:linear-gradient(#8e2a22,transparent)}.admin-sidebar .logo{padding:0 7px;margin-bottom:25px}.admin-nav{display:grid;gap:5px;border-top:1px solid rgba(185,159,134,.09);padding-top:13px}.admin-nav button{position:relative;border:1px solid transparent;background:transparent;color:#81746a;text-align:left;border-radius:0;padding:12px 12px;font-weight:800;cursor:pointer;text-transform:uppercase;font-size:10px;letter-spacing:.13em}.admin-nav button:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;background:transparent}.admin-nav button.active,.admin-nav button:hover{background:linear-gradient(90deg,rgba(124,30,25,.15),transparent);color:#ded2c5;border-color:rgba(124,30,25,.13)}.admin-nav button.active:before{background:#962d25}.sidebar-bottom{position:absolute;left:15px;right:15px;bottom:18px;display:grid;gap:8px}.sidebar-bottom a{text-decoration:none;text-align:center}
.admin-main{padding:30px 34px 60px;min-width:0;position:relative}.admin-main:before{content:"ADMINISTRATION // CRANUX";position:absolute;right:34px;top:18px;color:#4d4038;font-size:8px;letter-spacing:.25em}.admin-top{display:flex;justify-content:space-between;align-items:center;margin:10px 0 27px;padding-bottom:15px;border-bottom:1px solid rgba(185,159,134,.12)}.admin-top p{margin-bottom:5px;text-transform:uppercase;letter-spacing:.16em;font-size:9px;color:#845f57}.admin-top h1{margin:0;font-size:34px}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:22px}.stat{position:relative;border:1px solid var(--border);background:linear-gradient(180deg,#17110e,#0d0a08);padding:20px;overflow:hidden}.stat:after{content:"";position:absolute;left:0;bottom:0;width:38%;height:2px;background:linear-gradient(90deg,#7d251e,transparent)}.stat strong{font-family:Georgia,serif;font-size:29px;display:block;color:#d8cbc0}.stat span{color:#776a60;font-size:9px;text-transform:uppercase;letter-spacing:.13em}.panel{position:relative;border:1px solid var(--border);background:linear-gradient(180deg,rgba(19,14,11,.96),rgba(11,8,6,.98));padding:21px;margin-bottom:18px;box-shadow:0 18px 50px rgba(0,0,0,.15)}.panel:before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,255,255,.018);pointer-events:none}.panel-head{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid rgba(185,159,134,.1)}.panel-head h2{margin:0;font-size:21px}.panel-head .muted{font-size:9px;text-transform:uppercase;letter-spacing:.11em}.upload-grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:14px}.dropzone{grid-column:1/-1;border:1px dashed #6c352c;padding:30px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(124,30,25,.09),transparent 58%),rgba(79,25,20,.035);cursor:pointer;transition:.15s}.dropzone:hover{border-color:#9d4035;background-color:rgba(105,29,23,.06)}.dropzone input{display:none}.dropzone strong{font-family:Georgia,serif;color:#cfbeb0;font-size:17px}.dropzone p{margin:8px 0 0;font-size:10px;letter-spacing:.05em}.cover-preview{width:100px;height:100px;border-radius:0;background:#18120e;object-fit:cover;display:none;margin:10px auto;border:1px solid #55342c;filter:contrast(1.07) saturate(.75)}.actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:10px}.track-table{width:100%;border-collapse:collapse}.track-table th,.track-table td{padding:12px 10px;border-bottom:1px solid rgba(185,159,134,.09);text-align:left;font-size:13px}.track-table tr{transition:.14s}.track-table tbody tr:hover{background:linear-gradient(90deg,rgba(124,30,25,.09),transparent)}.track-table th{color:#786a60;font-size:9px;text-transform:uppercase;letter-spacing:.13em;font-weight:900}.thumb{width:48px;height:48px;border-radius:0;background:#1a130f;object-fit:cover;border:1px solid #493229;filter:contrast(1.07) saturate(.72) brightness(.9)}.row-title{font-family:Georgia,serif;font-weight:700;color:#d9cdc0;font-size:14px}.row-sub{font-size:11px;color:#776a60;margin-top:3px}.row-actions{display:flex;gap:7px}.row-actions .btn{padding:7px 9px;font-size:8px}
.modal{position:fixed;inset:0;background:rgba(4,2,2,.84);display:grid;place-items:center;padding:20px;z-index:50;backdrop-filter:blur(5px)}.modal-card{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:linear-gradient(180deg,#15100d,#0a0705);border:1px solid #573028;border-radius:0;padding:24px;box-shadow:var(--shadow)}.modal-card:before{content:"";position:absolute;inset:8px;border:1px solid rgba(185,159,134,.05);pointer-events:none}.modal-head{position:relative;display:flex;justify-content:space-between;align-items:center;padding-bottom:12px;border-bottom:1px solid rgba(185,159,134,.1)}.modal-head h2{margin:0}.close{border:1px solid #483027;background:#0b0806;color:#a99586;font-size:20px;cursor:pointer;width:34px;height:34px}.close:hover{border-color:#8f342b;color:#eadccf}.toast{position:fixed;right:20px;bottom:20px;background:#d7cabc;color:#160d09;border:1px solid #795348;padding:11px 14px;border-radius:0;font-weight:900;font-size:11px;letter-spacing:.05em;opacity:0;transform:translateY(10px);transition:.2s;z-index:100;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translateY(0)}.progress{height:7px;border:1px solid #3f2a24;background:#090705;overflow:hidden;display:none}.progress span{display:block;height:100%;background:linear-gradient(90deg,#5b1612,#a42a21);width:0;box-shadow:0 0 14px rgba(164,42,33,.35)}
@media(max-width:800px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{height:auto;position:static;border-right:0;border-bottom:1px solid #3e211c;padding:14px}.admin-sidebar .logo{margin-bottom:10px}.admin-nav{grid-template-columns:1fr 1fr}.sidebar-bottom{position:static;margin-top:10px;grid-template-columns:1fr 1fr}.admin-main{padding:20px 14px 50px}.admin-main:before{display:none}.stats{grid-template-columns:1fr}.upload-grid{grid-template-columns:1fr}.track-table th:nth-child(3),.track-table td:nth-child(3){display:none}.row-actions{flex-direction:column}.auth-card{padding:29px 22px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* v2 — alignement et cohérence avec l'application publique */
:root{--radius:6px}
.logo-mark{border-radius:var(--radius);overflow:hidden}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:var(--radius);line-height:1;text-align:center}
.auth-card,.panel,.stat,.modal-card{border-radius:var(--radius)}
.field input,.field select{border-radius:var(--radius)}
.admin-nav button{display:flex;align-items:center;min-height:42px;border-radius:var(--radius)}
.sidebar-bottom .btn{width:100%}
.row-actions{align-items:center;justify-content:flex-end;flex-wrap:wrap}
.row-actions .btn{min-width:76px}
.close{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;line-height:1;padding:0}
.dropzone{border-radius:var(--radius)}
.cover-preview,.thumb{border-radius:4px}
.toast{border-radius:var(--radius)}
@media(max-width:700px){.row-actions{justify-content:flex-start}.row-actions .btn{min-width:0}}
