
.portal-shell{min-height:100vh;background:#060606}
.portal-topbar{position:sticky;top:0;z-index:30;background:rgba(6,6,6,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.portal-topbar .container{height:76px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.portal-brand{display:flex;align-items:center;gap:14px}
.portal-brand img{width:90px}
.portal-brand span{font-size:10px;letter-spacing:.18em;color:#8e888b;text-transform:uppercase}
.portal-actions{display:flex;gap:10px;align-items:center}
.portal-main{padding:55px 0 90px}
.portal-grid{display:grid;grid-template-columns:260px 1fr;gap:30px}
.portal-sidebar{border:1px solid var(--line);background:#090909;height:max-content;position:sticky;top:105px}
.portal-sidebar a{display:block;padding:16px 18px;border-bottom:1px solid #1a171a;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:#aaa}
.portal-sidebar a.active,.portal-sidebar a:hover{color:var(--pink);background:#0e0c0e}
.portal-card{border:1px solid var(--line);background:#090909;padding:28px;margin-bottom:22px}
.portal-card h2,.portal-card h3{font-family:"Cormorant Garamond",Georgia,serif}
.portal-card h2{font-size:42px;line-height:.95;margin:0 0 12px}
.portal-card h3{font-size:30px;margin:0 0 12px}
.portal-card p{color:#999;line-height:1.7}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.stat{border:1px solid var(--line);padding:22px;background:#090909}
.stat strong{display:block;font:600 42px/1 "Cormorant Garamond";color:var(--pink)}
.stat span{display:block;margin-top:8px;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#888}
.upload-zone{border:1px dashed #3a3438;padding:26px;text-align:center;background:#0c0b0c}
.upload-zone input{margin-top:16px}
.submission-list{display:grid;gap:14px}
.submission-item{border:1px solid var(--line);background:#0a0a0a;padding:18px;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.submission-item .meta{font-size:11px;color:#777;letter-spacing:.08em;text-transform:uppercase}
.status{display:inline-flex;padding:7px 10px;border:1px solid var(--line);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.status.pending{color:#e6bd77;border-color:#55462f}
.status.approved{color:#88c79c;border-color:#32503a}
.status.rejected{color:#db8b8b;border-color:#563434}
.status.changes{color:#d5a1d7;border-color:#593b5b}
.admin-list{display:grid;gap:16px}
.admin-item{border:1px solid var(--line);background:#090909;padding:20px}
.admin-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}
.admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.admin-actions button{background:#0d0d0f;color:#fff;border:1px solid var(--line);padding:10px 14px;cursor:pointer}
.admin-actions button:hover{border-color:var(--pink);color:var(--pink)}
.preview{margin-top:18px;background:#050505;border:1px solid #1f1c1f;padding:12px}
.preview video,.preview audio,.preview img{width:100%;max-height:520px;object-fit:contain}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:30px;background:radial-gradient(circle at 75% 20%,rgba(231,162,180,.12),transparent 30%),#060606}
.login-card{width:min(520px,94vw);border:1px solid var(--line);background:#090909;padding:36px}
.login-card img{width:120px;margin-bottom:28px}
.login-card h1{font:600 54px/.9 "Cormorant Garamond";margin:0 0 14px}
.login-card p{color:#999;line-height:1.7}
.setup-banner{padding:14px 16px;border:1px solid #5b4731;background:#171007;color:#e9c48d;font-size:13px;line-height:1.6;margin-bottom:20px}
.hidden{display:none!important}
@media(max-width:900px){
 .portal-grid{grid-template-columns:1fr}
 .portal-sidebar{position:static;display:flex;overflow:auto}
 .portal-sidebar a{white-space:nowrap;border-bottom:0;border-right:1px solid #1a171a}
 .stat-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
 .stat-grid{grid-template-columns:1fr}
 .submission-item{grid-template-columns:1fr}
 .admin-head{display:block}
}
