:root{--bg:#07101a;--panel:#0e1826;--line:#26384f;--red:#e42124;--blue:#6bb6ff;--text:#f4f7fb;--muted:#9caac0}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,rgba(228,33,36,.13),transparent 30%),var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;min-height:100vh}.topbar{min-height:72px;padding:12px 24px;background:#050a11;border-bottom:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:24px;position:sticky;top:0;z-index:20}.brand{color:#fff;text-decoration:none;font-weight:900;line-height:.95;letter-spacing:.04em;min-width:150px}.brand span,.brand b,.brand small{display:block}.brand b{color:var(--red)}.brand small{font-size:9px;color:var(--muted);margin-top:5px}.topbar nav{display:flex;gap:6px;align-items:center;flex:1;flex-wrap:wrap}.topbar nav a,.ghost{color:#dbeafe;background:transparent;border:0;text-decoration:none;padding:9px 10px;border-radius:7px;font-weight:800;font-size:13px}.topbar nav a:hover,.ghost:hover{background:#111f32}.portalMain{max-width:1320px;margin:auto;padding:34px 28px 70px}.flash{padding:13px 16px;border-radius:10px;margin-bottom:14px;border:1px solid}.flash.success{background:rgba(34,197,94,.12);border-color:rgba(34,197,94,.4)}.flash.error{background:rgba(228,33,36,.12);border-color:rgba(228,33,36,.45)}.eyebrow{color:var(--blue);text-transform:uppercase;letter-spacing:.1em;font-size:12px;font-weight:900}.pageHead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.pageHead h1,.loginShell h1{font-size:48px;margin:4px 0 8px}.pageHead p{color:var(--muted);margin:0}.panel{background:rgba(14,24,38,.95);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:22px}.primary,.outline,.button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:9px;padding:11px 15px;font-weight:900;cursor:pointer}.primary{background:var(--red);color:#fff;border:1px solid var(--red)}.outline{background:transparent;color:#fff;border:1px solid #3c506b}.statGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.statGrid article{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px}.statGrid b{font-size:36px;display:block}.statGrid span{color:var(--muted);text-transform:capitalize}.statusCard{margin:0 0 20px;padding:16px 18px;border-radius:12px;display:flex;flex-direction:column;gap:5px}.statusCard.allowed{background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.35)}.statusCard.warning{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.35)}.statusCard.blocked{background:rgba(228,33,36,.12);border:1px solid rgba(228,33,36,.35)}.statusCard span{color:var(--muted)}.matchList,.fileList{display:flex;flex-direction:column;gap:9px}.matchList a,.fileList a{display:flex;justify-content:space-between;gap:12px;padding:13px 14px;border-radius:10px;background:#111f32;color:#fff;text-decoration:none}.matchList span,.fileList span{color:var(--muted)}.loginShell{min-height:72vh;display:grid;grid-template-columns:1fr 430px;gap:46px;align-items:center;max-width:1050px;margin:auto}.loginShell p,.loginShell li{color:var(--muted);font-size:17px;line-height:1.6}.form{display:flex;flex-direction:column;gap:14px}.form label{display:flex;flex-direction:column;gap:6px;font-weight:900}.form input,.form select,.form textarea,.searchBar input,.accessRow input,.accessRow select{width:100%;padding:12px;border-radius:8px;border:1px solid #34465f;background:#07101a;color:#fff;font:inherit}.formGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.fileGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.fileCard{padding:18px;border:1px dashed #4c617e;border-radius:12px;background:#0a1421}.fileCard b,.fileCard span{display:block}.fileCard span{color:var(--muted);font-weight:400;margin:5px 0 12px}.radio{flex-direction:row!important;align-items:center}.radio input{width:auto}.progressMessage,.infoBox{padding:14px;border-radius:10px;background:rgba(107,182,255,.1);border:1px solid rgba(107,182,255,.3);margin:12px 0}.tableWrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid rgba(255,255,255,.08)}th{color:var(--muted);font-size:12px;text-transform:uppercase}.searchBar{display:flex;gap:10px;margin-bottom:20px}.libraryGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.libraryGrid article{background:var(--panel);border:1px solid rgba(255,255,255,.08);border-radius:15px;padding:20px}.libraryGrid h2{font-size:21px}.matchDate{color:var(--blue);font-weight:900}.chips{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}.chips span{background:#111f32;border-radius:999px;padding:7px 10px;font-size:12px}.fileSections{display:grid;grid-template-columns:1fr 1fr;gap:16px}.details{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.details div{background:#111f32;border-radius:10px;padding:14px}.details span,.details b{display:block}.details span{color:var(--muted);margin-bottom:4px}.adminGrid{display:grid;grid-template-columns:420px 1fr;gap:18px;margin-bottom:18px}.accessRow{display:grid;grid-template-columns:1.2fr 130px 1.5fr auto;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08)}.accessRow span{display:block;color:var(--muted);font-size:12px}.imageEditorGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}.imageEditor img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;background:#050a11}.imageEditor h2{font-size:18px}.errorPage{max-width:700px;margin:70px auto;text-align:center}.errorPage h1{font-size:44px}
@media(max-width:1000px){.topbar{align-items:flex-start;flex-wrap:wrap}.topbar nav{order:3;width:100%}.statGrid,.libraryGrid,.imageEditorGrid{grid-template-columns:1fr 1fr}.adminGrid,.loginShell{grid-template-columns:1fr}.formGrid{grid-template-columns:1fr 1fr}.accessRow{grid-template-columns:1fr 120px}.accessRow input{grid-column:1/-1}.fileSections{grid-template-columns:1fr}}
@media(max-width:650px){.portalMain{padding:24px 16px}.topbar nav{display:grid;grid-template-columns:1fr 1fr}.pageHead{align-items:flex-start;flex-direction:column}.pageHead h1,.loginShell h1{font-size:38px}.statGrid,.libraryGrid,.imageEditorGrid,.formGrid,.fileGrid,.details{grid-template-columns:1fr}.matchList a,.fileList a{flex-direction:column}.accessRow{grid-template-columns:1fr}.topbar{position:static}}
