*{box-sizing:border-box}
:root{--blue:#1644c4;--navy:#182637;--muted:#8190a2;--line:#e3e9f0;--panel:#fff;--bg:#f5f7fb}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--navy);background:var(--bg)}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
/* LOGIN */
.login-body{min-height:100vh;background:#fff}.login-shell{display:grid;grid-template-columns:46% 54%;min-height:100vh}.login-brand{position:relative;overflow:hidden;padding:46px 7%;background:linear-gradient(145deg,#104878,#123d68);color:#fff}.login-brand:before,.login-brand:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.08);border-radius:50%;width:560px;height:560px;right:-240px;top:-300px}.login-brand:after{width:760px;height:760px;right:-140px;top:360px}.brand-top{display:flex;align-items:center;gap:12px;position:relative;z-index:2}.brand-top strong{display:block;font-size:15px;letter-spacing:.08em}.brand-top small{display:block;font-size:8px;letter-spacing:.22em;opacity:.75;margin-top:3px}.brand-mark{width:44px;height:44px;border:3px solid #fff;border-radius:14px;display:grid;place-items:center;font-weight:900;font-size:22px}.brand-mark.small{width:38px;height:38px;font-size:19px;border-radius:12px}.brand-copy{position:relative;z-index:2;margin-top:135px;max-width:540px}.eyebrow{font-size:11px;font-weight:800;letter-spacing:.28em;color:#55c6ff;margin-bottom:20px}.eyebrow:before{content:"";display:inline-block;width:31px;height:2px;background:#55c6ff;vertical-align:middle;margin-right:12px}.eyebrow.dark{color:#164b7c}.eyebrow.dark:before{background:#36a7df}.brand-copy h1{font-size:60px;line-height:1.03;margin:0 0 24px;letter-spacing:-.05em}.brand-copy p{font-size:16px;line-height:1.8;color:#e4effa;max-width:500px}.brand-footer{position:absolute;left:7%;bottom:42px;font-size:11px;color:#c9dced}.login-panel{display:grid;place-items:center;padding:40px}.login-card{width:min(510px,100%);margin-top:-10px}.login-card h2{font-size:42px;margin:0 0 12px;letter-spacing:-.04em}.muted{color:var(--muted);font-size:13px;margin:0 0 38px}.login-card label,.panel label,dialog label{display:block;font-size:12px;font-weight:700;margin:0 0 8px;color:#243448}.input-wrap{display:flex;align-items:center;border:1px solid #c7d5e6;background:#eef4fd;height:54px;margin-bottom:20px;padding:0 15px}.input-wrap span{color:#174c7d;margin-right:12px}.input-wrap input{border:0;outline:0;background:transparent;width:100%;font-size:14px}.btn-primary,.btn-secondary{border:0;border-radius:5px;cursor:pointer;padding:13px 20px;font-weight:750;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:12px}.btn-primary{background:#154a79;color:#fff;box-shadow:0 5px 13px rgba(21,74,121,.14)}.btn-primary:hover{background:#0e3c65;transform:translateY(-1px)}.btn-secondary{background:#e9eef5;color:#304257}.full{width:100%;height:54px;margin-top:2px}.restricted{text-align:center;color:#8d9aab;font-size:10px;margin-top:18px}.alert{padding:13px 16px;border-radius:6px;margin-bottom:20px;font-size:13px}.alert.error{background:#fff0f1;color:#b72f42;border:1px solid #ffd3d8}.alert.success{background:#eefbf5;color:#14794a;border:1px solid #ccefe0}
/* APP SHELL */
.app-body{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:262px;background:linear-gradient(180deg,#1644c4 0%,#173db3 100%);color:#fff;display:flex;flex-direction:column;z-index:100;box-shadow:5px 0 24px rgba(17,48,103,.12)}.sidebar-brand{height:82px;padding:14px 16px;display:flex;align-items:center;gap:10px;background:rgba(7,36,117,.16);border-bottom:1px solid rgba(255,255,255,.07)}.sidebar-brand strong{display:block;font-size:14px}.sidebar-brand small{display:block;font-size:9px;opacity:.7;margin-top:3px}.collapse{margin-left:auto;background:rgba(255,255,255,.1);border:0;color:#fff;border-radius:10px;width:34px;height:34px;font-size:24px;cursor:pointer}.side-nav{padding:15px 10px;overflow:visible}.side-nav>a,.nav-parent-btn{width:100%;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:13px;font-size:12px;font-weight:700;color:#e8efff;margin:3px 0;background:transparent;border:0;text-align:left;cursor:pointer}.side-nav>a:hover,.side-nav>a.active,.nav-flyout.open>.nav-parent-btn,.nav-flyout.current>.nav-parent-btn{background:rgba(255,255,255,.13);color:#fff}.nav-ico{width:36px;height:36px;min-width:36px;border-radius:11px;display:grid;place-items:center;color:#fff;box-shadow:0 7px 15px rgba(0,0,0,.1)}.nav-ico i{font-style:normal;font-size:16px;line-height:1}.ico-home{background:linear-gradient(135deg,#43a5ff,#296edb)}.ico-files{background:linear-gradient(135deg,#8e62ff,#6840d7)}.ico-domains{background:linear-gradient(135deg,#2bd4dc,#11a6c8)}.ico-ssl{background:linear-gradient(135deg,#ffbc35,#f29b13)}.ico-db{background:linear-gradient(135deg,#a86cff,#7a45e4)}.ico-disk{background:linear-gradient(135deg,#ef647b,#e73e61)}.nav-parent-btn .nav-chevron{margin-left:auto;font-size:20px;font-weight:400;color:#cddaff;transition:transform .18s ease}.nav-flyout{position:relative}.nav-flyout.open>.nav-parent-btn .nav-chevron{transform:rotate(90deg)}
/* DOMAIN FLYOUT */
.flyout-panel{position:absolute;left:calc(100% + 12px);top:0;width:420px;background:#fff;color:#1b293a;border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 18px 45px rgba(21,45,82,.2);padding:18px;opacity:0;visibility:hidden;pointer-events:none;transform:translateX(-8px);transform-origin:left top;transition:opacity .16s ease,transform .16s ease,visibility .16s ease;z-index:1000}.nav-flyout.open>.flyout-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translateX(0)}.flyout-head{padding:2px 2px 15px;border-bottom:1px solid #edf1f5}.flyout-title{display:flex;align-items:center;gap:12px}.flyout-title-icon{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;color:#fff}.flyout-title-icon i{font-style:normal;font-size:16px}.flyout-title strong{display:block;font-size:14px;color:#1b293a}.flyout-title small{display:block;font-size:10px;color:#8794a4;margin-top:4px}.flyout-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:13px}.flyout-grid a{display:flex;align-items:center;gap:11px;padding:12px;border-radius:11px;color:#253447;border:1px solid transparent;transition:.15s}.flyout-grid a:hover,.flyout-grid a.selected{background:#f5f8fc;border-color:#edf1f5}.flyout-icon{width:35px;height:35px;min-width:35px;border-radius:10px;display:grid;place-items:center;color:#fff}.flyout-icon i{font-style:normal;font-size:15px}.flyout-icon.blue{background:linear-gradient(135deg,#39a9e9,#2786cf)}.flyout-icon.violet{background:linear-gradient(135deg,#8b62ee,#7046d5)}.flyout-grid strong{display:block;font-size:11px}.flyout-grid small{display:block;font-size:9px;color:#8b97a5;margin-top:3px}.sidebar-user{margin-top:auto;border-top:1px solid rgba(255,255,255,.12);padding:14px;display:flex;align-items:center;gap:10px}.sidebar-user .avatar{width:36px;height:36px}.sidebar-user strong{display:block;font-size:11px}.sidebar-user small{display:block;font-size:9px;opacity:.65;margin-top:2px}.sidebar-user>a{margin-left:auto;color:#cfe0ff}
/* MAIN */
body.collapsed .sidebar{width:78px}body.collapsed .sidebar-brand{justify-content:center;padding:14px 10px}body.collapsed .sidebar-brand>div:nth-child(2),body.collapsed .sidebar-brand .collapse{display:none}body.collapsed .side-nav>a,body.collapsed .nav-parent-btn{justify-content:center;padding-left:8px;padding-right:8px}body.collapsed .side-nav>a>span:last-child,body.collapsed .nav-parent-btn>span:not(.nav-ico),body.collapsed .nav-parent-btn .nav-chevron{display:none}body.collapsed .sidebar-user{justify-content:center}body.collapsed .sidebar-user>div:not(.avatar),body.collapsed .sidebar-user>a{display:none}body.collapsed .flyout-panel{left:calc(100% + 12px)}body.collapsed .main-content{margin-left:78px}.main-content{margin-left:262px;padding:0 32px 40px;min-height:100vh}.topbar{min-height:115px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:10px;color:#8b99a9;margin-bottom:6px}.topbar h1{margin:0;font-size:29px;letter-spacing:-.03em}.topbar p{margin:4px 0 0;color:#8290a1;font-size:12px}.top-user{display:flex;align-items:center;gap:10px}.top-user .avatar.dark{background:#182332;color:#fff}.top-user strong{display:block;font-size:12px}.top-user small{display:block;color:#7c8998;font-size:9px;margin-top:3px}.notification{background:#ff4c60;color:#fff;border-radius:14px;padding:3px 6px;font-size:9px;margin-right:8px}.avatar{width:36px;height:36px;border-radius:50%;background:#fff;color:#17437a;display:grid;place-items:center;font-weight:800}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:16px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;display:flex;align-items:center;gap:14px;min-height:116px;box-shadow:0 6px 22px rgba(34,58,93,.035)}.stat-card span{display:block;color:#7c8b9c;font-size:11px}.stat-card strong{display:block;font-size:27px;margin:4px 0}.stat-card small{display:block;color:#9aa6b5;font-size:10px}.stat-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;font-weight:800}.stat-icon.blue{background:#e7f4ff;color:#1798d2}.stat-icon.violet{background:#eee9ff;color:#8259e8}.stat-icon.green{background:#e7faf2;color:#1da16d}.stat-icon.orange{background:#fff2dc;color:#ef9d1a}.grid-2{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin-bottom:16px}.panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:20px;box-shadow:0 6px 22px rgba(34,58,93,.035)}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.panel h3{margin:0;font-size:15px}.panel-head p{margin:5px 0 0;color:#8996a6;font-size:11px}.progress-row{display:flex;justify-content:space-between;font-size:11px;color:#718095;margin:28px 0 8px}.progress-row strong{color:#1e2d40}.progress{height:8px;border-radius:99px;background:#edf1f5;overflow:hidden}.progress i{display:block;height:100%;background:#27a6dc;border-radius:99px}.mini-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:22px}.mini-grid a{border:1px solid #edf0f4;padding:13px;border-radius:8px}.mini-grid b{display:block;font-size:18px}.mini-grid span{font-size:9px;color:#8995a5}.quick-actions a{display:flex;align-items:center;gap:12px;border:1px solid #edf0f4;border-radius:8px;padding:13px;margin:8px 0;font-size:12px}.quick-actions a span{width:28px;height:28px;border-radius:8px;background:#edf5ff;color:#2365a5;display:grid;place-items:center}.quick-actions b{margin-left:auto;color:#8190a1}.toolbar{display:flex;align-items:center;justify-content:space-between;margin:0 0 14px}.toolbar-actions{display:flex;gap:8px}.pathbar{font-size:12px;color:#728197}.pathbar a:first-child{font-weight:800;color:#194c7c}.info-note{font-size:11px;color:#7d8b9b}.table-panel{padding:0;overflow:auto}table{width:100%;border-collapse:collapse;font-size:12px}th{text-align:left;color:#8996a6;font-size:10px;font-weight:700;background:#f8fafc;padding:14px 18px;border-bottom:1px solid #e9eef3}td{padding:14px 18px;border-bottom:1px solid #edf1f4;color:#536276}td strong{color:#263548}tr:last-child td{border-bottom:0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.badge{display:inline-block;padding:5px 9px;border-radius:99px;font-size:9px;font-weight:800}.badge.success{background:#e7f8f0;color:#168151}.badge.warning{background:#fff2d7;color:#aa6a00}.icon-btn{border:0;background:#fff0f2;color:#bd4053;border-radius:6px;width:30px;height:30px;cursor:pointer}.empty{text-align:center;padding:40px;color:#94a0af;font-size:12px}.file-name{display:inline-flex;align-items:center;gap:9px;color:#214e7a;font-weight:650}.file-name span{color:#43a5db}.back-row{color:#60748a;font-weight:700}.inline{display:inline}.resource-row{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid #edf1f4}.resource-row:last-child{border-bottom:0}.resource-row>div:nth-child(2){flex:1}.resource-row strong{display:block;font-size:12px}.resource-row small{display:block;color:#8995a5;font-size:10px;margin-top:4px}.form-input{display:block;width:100%;height:43px;border:1px solid #ccd7e4;border-radius:5px;padding:0 12px;margin:0 0 16px;outline:none}.form-input:focus{border-color:#3b8bc2}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}dialog{border:0;border-radius:10px;box-shadow:0 20px 70px rgba(20,42,70,.25);width:min(460px,90vw);padding:25px}dialog::backdrop{background:rgba(11,26,46,.35)}dialog h3{margin:0 0 22px}.disk-hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.disk-hero h2{font-size:36px;margin:6px 0}.disk-hero p{font-size:11px;color:#8290a1}.disk-ring{width:160px;height:160px;border-radius:50%;background:conic-gradient(#228fc7 calc(var(--p)*1%),#edf2f6 0);display:grid;place-items:center;position:relative}.disk-ring:after{content:"";position:absolute;width:118px;height:118px;background:#fff;border-radius:50%}.disk-ring>div{position:relative;z-index:1;text-align:center}.disk-ring strong{display:block;font-size:18px}.disk-ring small{font-size:9px;color:#8491a1}
.side-nav::-webkit-scrollbar{width:4px}.side-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.16);border-radius:9px}
@media(max-width:1000px){.login-shell{grid-template-columns:1fr}.login-brand{display:none}.sidebar{width:220px}.main-content{margin-left:220px;padding:0 18px}.stats-grid{grid-template-columns:repeat(2,1fr)}.flyout-panel{width:390px}}
@media(max-width:700px){.sidebar{position:relative;width:100%;min-height:auto}.side-nav{padding-bottom:10px}.sidebar-user{display:none}.main-content{margin-left:0}.topbar{align-items:flex-start;padding:20px 0;gap:15px}.top-user{display:none}.stats-grid,.grid-2{grid-template-columns:1fr}.mini-grid{grid-template-columns:1fr 1fr}.brand-copy h1{font-size:44px}.nav-flyout{width:100%}.flyout-panel{position:static;width:100%;margin:4px 0 6px;border-radius:12px;box-shadow:none;display:none;transform:none}.nav-flyout.open>.flyout-panel{display:block;opacity:1;visibility:visible;pointer-events:auto}.flyout-grid{grid-template-columns:1fr}}
.side-nav>a:focus-visible,.nav-parent-btn:focus-visible,.flyout-grid a:focus-visible,.collapse:focus-visible{outline:3px solid rgba(255,255,255,.55);outline-offset:2px}.flyout-grid a:focus-visible{outline-color:#2b8bd1}
