:root{
  --bg:#07111f;--surface:#0d1929;--surface-2:#122238;--surface-3:#172a43;
  --border:rgba(255,255,255,.08);--text:#f4f7fb;--muted:#8fa3bb;
  --primary:#19b5fe;--primary-2:#087fdb;--success:#25d695;--danger:#ff5d6c;
  --warning:#ffbf47;--radius:18px;--shadow:0 16px 45px rgba(0,0,0,.22)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 85% -10%,rgba(25,181,254,.12),transparent 30%),var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input{font:inherit}.app{min-height:100vh;display:flex}
.sidebar{position:fixed;inset:0 auto 0 0;width:260px;padding:24px 18px;background:rgba(9,20,35,.96);border-right:1px solid var(--border);z-index:20;overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 26px}.brand img{width:42px;height:42px;object-fit:contain}.brand-name{font-weight:800;letter-spacing:.3px;font-size:17px}.brand-sub{color:var(--muted);font-size:11px;margin-top:2px}.nav-label{color:#62758c;font-size:10px;font-weight:800;letter-spacing:1.3px;margin:20px 12px 8px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;margin:4px 0;border-radius:12px;color:#aebed0;font-size:14px;font-weight:600;transition:.18s}.nav-item:hover,.nav-item.active{color:#fff;background:var(--surface-3)}.nav-item.active{box-shadow:inset 3px 0 var(--primary)}.nav-item.logout:hover{background:rgba(255,93,108,.1);color:#ff9ca6}.nav-icon{width:22px;text-align:center}
.main{width:100%;margin-left:260px;padding:30px}.topbar{max-width:1250px;margin:0 auto 28px;display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{color:var(--primary);text-transform:uppercase;letter-spacing:1.4px;font-size:11px;font-weight:800}h1{margin:5px 0 0;font-size:28px;letter-spacing:-.6px}.muted{color:var(--muted)}.content{max-width:1250px;margin:auto}.user-chip{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px}.user-chip b,.profile-avatar{display:grid;place-items:center;background:var(--surface-2);border:1px solid var(--border);font-weight:800}.user-chip b{width:42px;height:42px;border-radius:14px;color:#fff}
.hero,.page-intro{position:relative;overflow:hidden;padding:28px;border-radius:24px;border:1px solid rgba(25,181,254,.18);background:linear-gradient(120deg,rgba(25,181,254,.15),transparent 55%),var(--surface);box-shadow:var(--shadow)}.hero:after,.page-intro:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-70px;top:-90px;background:rgba(25,181,254,.09);pointer-events:none}.hero h2,.page-intro h2{margin:7px 0;font-size:25px}.hero p,.page-intro p{max-width:650px;margin:0 0 20px;color:var(--muted);line-height:1.6}.page-intro{display:flex;justify-content:space-between;gap:20px;align-items:center}.page-intro p{margin-bottom:0}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:0;border-radius:12px;cursor:pointer;font-weight:750}.btn-primary{color:white;background:linear-gradient(135deg,var(--primary),var(--primary-2));box-shadow:0 8px 25px rgba(8,127,219,.22)}.btn-secondary{background:var(--surface-3);border:1px solid var(--border);color:#fff}.btn-ghost{background:transparent;border:1px solid var(--border);color:#c6d4e4}.btn-danger{background:rgba(255,93,108,.12);border:1px solid rgba(255,93,108,.22);color:#ff9ca6}.section-title{margin:30px 0 14px;font-size:13px;font-weight:800;letter-spacing:.7px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:19px;transition:.18s ease}a.card:hover{transform:translateY(-2px);border-color:rgba(25,181,254,.3);background:var(--surface-2)}.card-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(25,181,254,.11);color:var(--primary);margin-bottom:16px;font-size:19px}.card h3{font-size:15px;margin:0 0 6px}.card p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}.danger-card:hover{border-color:rgba(255,93,108,.28)!important}.danger-icon{background:rgba(255,93,108,.1);color:#ff8390}
.account-card{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);gap:1px;overflow:hidden;padding:0}.stat{padding:20px;background:var(--surface)}.stat-label{color:var(--muted);font-size:11px;margin-bottom:6px}.stat-value{font-size:15px;font-weight:750}.status{display:inline-flex;align-items:center;gap:7px}.status:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--success);box-shadow:0 0 12px rgba(37,214,149,.6)}.mobile-nav{display:none}
.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}.info-card{min-height:150px}.info-label{display:block;color:var(--primary);font-size:10px;font-weight:800;letter-spacing:1px;margin-bottom:10px}.info-card>b{font-size:17px}.info-card p{margin:8px 0 0}.text-link{display:inline-block;margin-top:14px;color:var(--primary);font-size:13px;font-weight:700}.guide-list{display:grid;gap:12px;margin-top:18px}.guide-item b{font-size:15px}.guide-item p{margin:7px 0 0}.file-list{display:grid;gap:10px;margin-top:18px}.file-row{display:flex;align-items:center;justify-content:space-between;gap:15px;background:var(--surface);border:1px solid var(--border);border-radius:15px;padding:14px 16px}.file-main{display:flex;align-items:center;gap:13px;min-width:0}.file-main b{display:block;overflow-wrap:anywhere}.file-main small{display:block;color:var(--muted);margin-top:5px}.file-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;border-radius:12px;background:rgba(25,181,254,.1);color:var(--primary)}.empty-state{text-align:center;margin-top:18px;padding:50px 24px;border:1px dashed rgba(255,255,255,.12);border-radius:18px;background:rgba(13,25,41,.45)}.empty-icon{font-size:34px;color:var(--primary);margin-bottom:10px}.empty-state h3{margin:0 0 7px}.empty-state p{margin:0;color:var(--muted)}.profile-card{display:flex;align-items:center;gap:18px}.profile-avatar{width:64px;height:64px;border-radius:20px;font-size:22px;flex:0 0 auto}.profile-main{flex:1}.profile-main h2{margin:5px 0 4px}.profile-main p{margin:0;color:var(--muted);font-size:13px}
.login-page{min-height:100vh;background:radial-gradient(circle at 15% 15%,rgba(25,181,254,.14),transparent 30%),radial-gradient(circle at 85% 80%,rgba(8,127,219,.10),transparent 32%),#07111f}.login-shell{min-height:100vh;display:grid;place-items:center;padding:22px}.login-box{width:min(100%,420px);padding:32px;background:rgba(13,25,41,.96);border:1px solid var(--border);border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.35)}.login-brand{text-align:center;margin-bottom:28px}.login-brand img{width:74px;height:74px;object-fit:contain}.login-brand h1{margin:12px 0 0;font-size:25px}.login-brand p{margin:7px 0 0;color:var(--muted);font-size:13px}.field{margin:14px 0}.field label{display:block;color:#bdcada;font-size:12px;font-weight:650;margin-bottom:7px}.field input{width:100%;height:49px;padding:0 14px;color:white;outline:none;background:#091523;border:1px solid var(--border);border-radius:12px}.field input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(25,181,254,.08)}.password-wrap{position:relative}.password-wrap input{padding-right:84px}.password-toggle{position:absolute;right:7px;top:7px;height:35px;padding:0 10px;border:0;border-radius:9px;color:var(--primary);background:rgba(25,181,254,.08);cursor:pointer;font-size:11px;font-weight:700}.login-btn{width:100%;margin-top:8px}.alert{padding:12px 14px;border-radius:11px;background:rgba(255,93,108,.1);border:1px solid rgba(255,93,108,.2);color:#ff9ca6;font-size:13px;margin-bottom:15px}.login-footer{text-align:center;margin-top:24px;color:#53667d;font-size:11px}
@media(max-width:1050px){.grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:900px){.sidebar{display:none}.main{margin-left:0;padding:22px 16px 92px}.grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:30;padding:7px;border:1px solid var(--border);border-radius:18px;background:rgba(9,20,35,.94);backdrop-filter:blur(15px);box-shadow:var(--shadow)}.mobile-nav a{padding:8px 4px;text-align:center;color:var(--muted);font-size:10px;font-weight:650}.mobile-nav span{display:block;font-size:18px;margin-bottom:3px}.mobile-nav a.active{color:var(--primary)}.info-grid{grid-template-columns:1fr}}
@media(max-width:620px){.topbar .user-chip span{display:none}.page-intro{display:block}.page-intro .btn{margin-top:18px}.profile-card{align-items:flex-start;flex-wrap:wrap}.profile-main{min-width:180px}.profile-card .btn{width:100%}.file-row{align-items:flex-start}.file-row .btn{min-height:38px;padding:0 12px}}
@media(max-width:520px){h1{font-size:23px}.topbar{margin-bottom:20px}.hero,.page-intro{padding:22px}.hero h2,.page-intro h2{font-size:21px}.grid{gap:10px}.card{padding:15px}.account-card{grid-template-columns:1fr}.login-box{padding:27px 21px}.file-row{display:block}.file-row .btn{width:100%;margin-top:12px}.file-main{align-items:flex-start}}

/* Portal v3 */
.file-actions,.action-row,.upload-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.file-actions form{margin:0}.btn-ghost{background:transparent;border:1px solid var(--border);color:#c8d4e2}.btn-danger{background:rgba(255,93,108,.12);border:1px solid rgba(255,93,108,.25);color:#ff9ba5}.alert.success{background:rgba(37,214,149,.1);border:1px solid rgba(37,214,149,.25);color:#8af0c7}.alert.danger{background:rgba(255,93,108,.1);border:1px solid rgba(255,93,108,.25);color:#ff9ba5}.text-viewer{padding:0;overflow:hidden}.text-viewer pre{margin:0;padding:22px;white-space:pre-wrap;word-break:break-word;overflow:auto;max-height:70vh;background:#06101b;color:#d8e6f4;font:13px/1.65 ui-monospace,SFMono-Regular,Consolas,monospace}.access-list{display:grid;gap:14px}.access-card{padding:20px}.access-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:16px}.access-head h3{margin:5px 0 0;font-size:19px}.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:800;background:rgba(143,163,187,.12);color:#b6c6d8}.pill.ok{background:rgba(37,214,149,.12);color:#5be0ad}.pill.off{background:rgba(255,93,108,.12);color:#ff8f9a}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.kv-grid>div{position:relative;padding:13px 70px 13px 13px;border:1px solid var(--border);border-radius:12px;background:#091523}.kv-grid span{display:block;color:var(--muted);font-size:10px;margin-bottom:5px;text-transform:uppercase;letter-spacing:.7px}.kv-grid b{font-size:13px;word-break:break-all}.copy-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);border:0;border-radius:8px;background:var(--surface-3);color:#bcd0e3;padding:7px 9px;font-size:10px}.admin-grid{grid-template-columns:repeat(3,1fr)}.admin-form h3{margin-top:0}.admin-form input[type=text],.admin-form input[type=password],.admin-form input:not([type]){width:100%;height:46px;background:#091523;color:#fff;border:1px solid var(--border);border-radius:10px;padding:0 12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid label,.form-label{display:block;color:#b9c6d6;font-size:12px;font-weight:650}.form-grid input{display:block;margin-top:7px}.check{display:flex;gap:9px;align-items:center;margin:12px 0;color:#c7d5e4;font-size:13px}.session-picker{margin:15px 0;padding:14px;border:1px solid var(--border);border-radius:12px;max-height:260px;overflow:auto}.router-table-wrap{overflow:auto;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.router-table{width:100%;border-collapse:collapse;min-width:900px}.router-table th,.router-table td{padding:13px 14px;text-align:left;border-bottom:1px solid var(--border);font-size:12px}.router-table th{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px}.router-table td small{display:block;color:var(--muted);margin-top:4px}.notice-card{margin-top:16px}.notice-card p{color:var(--muted);line-height:1.6;margin-bottom:0}.profile-card{display:flex;align-items:center;gap:18px}.profile-avatar{width:88px;height:88px;border-radius:24px;background:var(--surface-2);display:grid;place-items:center;font-size:34px;font-weight:800;border:1px solid var(--border)}.profile-main{flex:1}.profile-main h2{margin:5px 0;font-size:28px}.profile-main p{margin:0;color:var(--muted)}
@media(max-width:900px){.admin-grid{grid-template-columns:repeat(2,1fr)}.kv-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.profile-card{align-items:flex-start;flex-wrap:wrap}.profile-card .btn{width:100%}.profile-avatar{width:76px;height:76px}.file-row{gap:12px}.file-actions{width:100%;justify-content:flex-end}}
@media(max-width:520px){.admin-grid{grid-template-columns:1fr}.file-row{align-items:flex-start;flex-wrap:wrap}.file-actions{justify-content:flex-start}.file-actions .btn{min-height:38px;padding:0 13px}.upload-row{align-items:stretch;flex-direction:column}.upload-row .btn{width:100%}}
/* SuperLab Center V4 */
.ui-icon,.nav-svg,.mobile-svg{width:21px;height:21px;display:block;flex:0 0 auto}.nav-svg{width:19px;height:19px}.mobile-svg{width:20px;height:20px;margin:0 auto 4px}.nav-item{gap:11px}.card-icon .ui-icon{width:22px;height:22px}.drawer-button{display:none;position:fixed;z-index:60;left:14px;top:14px;width:42px;height:42px;border:1px solid var(--border);border-radius:12px;background:rgba(9,20,35,.95);color:#fff;place-items:center}.drawer-button svg{width:21px;height:21px}.drawer-backdrop{display:none}.admin-shell{display:grid;grid-template-columns:220px minmax(0,1fr);gap:18px;align-items:start}.admin-side{position:sticky;top:20px;padding:12px}.admin-side a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:10px;color:var(--muted);font-size:12px;font-weight:700}.admin-side a:hover,.admin-side a.active{background:var(--surface-3);color:#fff}.admin-side svg{width:17px;height:17px}.admin-body{min-width:0}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.metric small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.7px}.metric b{display:block;font-size:24px;margin-top:8px}.form-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-form label{display:block;color:#b9c6d6;font-size:12px;font-weight:650}.admin-form input,.admin-form textarea{width:100%;margin-top:7px;background:#091523;color:#fff;border:1px solid var(--border);border-radius:10px;padding:0 12px}.admin-form input{height:46px}.admin-form textarea{min-height:88px;padding:12px}.table-actions{display:flex;gap:7px;flex-wrap:wrap}.subtle{color:var(--muted);font-size:12px}.code-chip{font:12px ui-monospace,SFMono-Regular,Consolas,monospace;background:#08131f;border:1px solid var(--border);border-radius:8px;padding:5px 8px;display:inline-block}.quick-list{display:grid;gap:10px}.quick-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:13px 14px;border:1px solid var(--border);border-radius:12px;background:#091523}.quick-row span{color:var(--muted);font-size:12px}.quick-row b{font-size:13px}.notice-warn{border-color:rgba(255,191,71,.22);background:rgba(255,191,71,.06)}
@media(max-width:1100px){.metric-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{grid-template-columns:190px minmax(0,1fr)}}
@media(max-width:900px){.drawer-button{display:grid}.sidebar{display:block;transform:translateX(-105%);transition:.22s;box-shadow:20px 0 60px rgba(0,0,0,.35)}.sidebar.open{transform:translateX(0)}.drawer-backdrop.show{display:block;position:fixed;inset:0;background:rgba(0,0,0,.48);z-index:19}.topbar{padding-left:48px}.mobile-nav{grid-template-columns:repeat(5,1fr)}.admin-shell{grid-template-columns:1fr}.admin-side{position:static;display:flex;gap:6px;overflow:auto;white-space:nowrap}.admin-side a{flex:0 0 auto}.form-grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.metric-grid,.form-grid-3{grid-template-columns:1fr}.quick-row{align-items:flex-start;flex-direction:column}.table-actions{flex-direction:column}.table-actions .btn{width:100%}}
