:root{
  --primary:#1d3970;
  --primary-700:#17305f;
  --primary-800:#10254d;
  --primary-900:#0b1a38;
  --accent:#ffd22e;
  --accent-700:#f4b900;
  --bg:#f4f7fb;
  --bg-soft:#eef3f9;
  --surface:#ffffff;
  --surface-2:#f8fafc;
  --surface-3:#f1f5f9;
  --text:#14213d;
  --muted:#637083;
  --border:#d9e2ee;
  --border-strong:#c7d4e3;
  --soft:#eef4ff;
  --danger:#d93737;
  --success:#17834a;
  --warning:#c77700;
  --info:#0f71c8;
  --shadow:0 16px 34px rgba(20,33,61,.08);
  --shadow-soft:0 8px 20px rgba(20,33,61,.06);
  --radius:18px;
  --radius-sm:12px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:linear-gradient(180deg,#f9fbfe 0%,var(--bg) 45%,#eef3f9 100%);color:var(--text);min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body:before{content:"";position:fixed;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(29,57,112,.045) 1px,transparent 1px),linear-gradient(180deg,rgba(29,57,112,.035) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(180deg,rgba(0,0,0,.65),transparent 70%);z-index:-1}
a{text-decoration:none;color:inherit}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
img,video{max-width:100%}
html[data-theme=dark]{--bg:#0b1326;--bg-soft:#0f1c35;--surface:#101a31;--surface-2:#0d172c;--surface-3:#14233e;--text:#edf4ff;--muted:#aab7c7;--border:#223652;--border-strong:#31506f;--soft:#12284f;--shadow:0 18px 38px rgba(0,0,0,.28);--shadow-soft:0 10px 24px rgba(0,0,0,.22)}
html[data-theme=dark] body{background:linear-gradient(180deg,#071022 0%,#0b1326 58%,#0d172c 100%);color:var(--text)}
html[data-theme=dark] body:before{opacity:.32}
html[data-theme=dark] input,html[data-theme=dark] select,html[data-theme=dark] textarea{background:#0b1326;color:var(--text);border-color:var(--border)}
html[data-theme=dark] .sidebar,html[data-theme=dark] .topbar,html[data-theme=dark] .card,html[data-theme=dark] .stat,html[data-theme=dark] .user-pill,html[data-theme=dark] .bottom-nav,html[data-theme=dark] .modal-panel,html[data-theme=dark] .file-card,html[data-theme=dark] .table-wrap,html[data-theme=dark] .pro-panel,html[data-theme=dark] .mpro-filter-card,html[data-theme=dark] .mpro-file-card{background:rgba(16,26,49,.96);border-color:var(--border)}
html[data-theme=dark] .brand-panel,html[data-theme=dark] .topbar:before{background:linear-gradient(135deg,#183462,#0d1c3d)}
html[data-theme=dark] .muted,html[data-theme=dark] .file-meta,html[data-theme=dark] .subtle,html[data-theme=dark] .brand small{color:var(--muted)}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:304px;padding:16px;background:rgba(255,255,255,.96);border-right:1px solid var(--border);position:fixed;top:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;gap:14px;box-shadow:12px 0 30px rgba(20,33,61,.035)}
.brand{display:flex;gap:12px;align-items:center;padding:10px;border-bottom:0}
.brand-panel{border-radius:18px;background:linear-gradient(135deg,var(--primary-800),var(--primary));color:#fff;padding:16px 14px;box-shadow:0 18px 40px rgba(16,37,77,.24);position:relative;overflow:hidden}
.brand-panel:after{content:"";position:absolute;right:-26px;bottom:-34px;width:112px;height:112px;border-radius:50%;background:rgba(255,210,46,.18)}
.brand-logo{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:#fff;color:var(--primary-800);font-weight:950;box-shadow:0 10px 24px rgba(0,0,0,.14);letter-spacing:-.05em;position:relative;z-index:1}
.brand-logo:after{content:"";position:absolute;right:6px;bottom:6px;width:10px;height:10px;border-radius:50%;background:var(--accent)}
.brand strong{display:block;font-size:16px;line-height:1.18;max-width:190px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1;color:inherit}
.brand small{display:block;color:rgba(255,255,255,.78);font-size:12px;margin-top:5px;position:relative;z-index:1}
.nav-section{display:block;color:#7a879a;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.14em;margin:16px 10px 6px}
.side-nav{display:flex;flex-direction:column;gap:3px;overflow:auto;padding:2px 2px 8px}
.side-nav a{display:flex;align-items:center;gap:11px;padding:11px 12px;border-radius:13px;color:#46566d;font-weight:820;transition:.16s ease;min-height:44px;border:1px solid transparent}
html[data-theme=dark] .side-nav a{color:#c1ccda}
.side-nav a .nav-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#eef3f9;color:var(--primary);font-size:15px;flex:0 0 auto;font-weight:900}
html[data-theme=dark] .side-nav a .nav-icon{background:#152847;color:#dbeafe}
.side-nav a.active,.side-nav a:hover{background:var(--primary-800);color:#fff;border-color:rgba(255,210,46,.22);box-shadow:0 10px 22px rgba(16,37,77,.13)}
.side-nav a.active .nav-icon,.side-nav a:hover .nav-icon{background:var(--accent);color:var(--primary-900)}
.sidebar-footer{margin-top:auto;border:1px solid var(--border);background:linear-gradient(180deg,var(--surface),var(--surface-2));border-radius:16px;padding:14px;box-shadow:var(--shadow-soft)}
.sidebar-footer small{display:block;color:var(--muted);font-weight:800;margin-bottom:4px}
.sidebar-footer strong{display:block;font-size:13px;margin-bottom:10px;color:var(--text)}
.main{margin-left:304px;width:100%;padding:20px 28px 48px;max-width:1540px}
.topbar{position:sticky;top:0;z-index:15;display:flex;justify-content:space-between;align-items:center;gap:18px;margin:-20px -28px 24px;padding:14px 28px 14px;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--border);box-shadow:0 12px 28px rgba(20,33,61,.045)}
.topbar:before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:linear-gradient(90deg,var(--primary-800),var(--primary),var(--accent));}
.topbar h1{font-size:28px;line-height:1.12;margin:3px 0 0;letter-spacing:-.035em;color:var(--text)}
.eyebrow{font-size:11px;letter-spacing:.15em;text-transform:uppercase;font-weight:920;color:var(--primary);line-height:1.2}
html[data-theme=dark] .eyebrow{color:#bcd4ff}
.top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.icon-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:42px;min-height:42px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--primary-800);font-weight:900;box-shadow:var(--shadow-soft)}
.icon-btn b{position:absolute;top:-7px;right:-7px;min-width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--danger);color:#fff;font-size:11px;border:2px solid var(--surface)}
.user-pill{display:flex;align-items:center;gap:9px;padding:7px 10px;border:1px solid var(--border);border-radius:999px;background:var(--surface);font-size:13px;font-weight:850;box-shadow:var(--shadow-soft);max-width:270px}
.user-pill span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--primary-800);color:#fff;flex:0 0 auto;font-weight:950}
.user-pill em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.grid{display:grid;gap:18px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.card,.stat{background:rgba(255,255,255,.97);border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:18px}
.stat{position:relative;overflow:hidden;min-height:128px;border-top:4px solid var(--primary)}
.stat:after{content:"";position:absolute;right:18px;top:18px;width:34px;height:34px;border-radius:10px;background:linear-gradient(135deg,var(--primary),var(--accent));opacity:.18}
.stat small,.muted,.subtle{color:var(--muted)}
.stat small{font-weight:850;text-transform:uppercase;letter-spacing:.1em;font-size:11px}
.stat strong{display:block;font-size:32px;margin-top:14px;letter-spacing:-.04em;position:relative;z-index:1;color:var(--primary-900)}
html[data-theme=dark] .stat strong{color:#f8fafc}
.card-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--border)}
.card-title h2{font-size:20px;margin:0;letter-spacing:-.025em;color:var(--text)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:12px;background:var(--primary-800);color:#fff;font-weight:900;padding:11px 16px;cursor:pointer;min-height:42px;box-shadow:0 10px 20px rgba(16,37,77,.16);transition:.15s ease;white-space:nowrap;line-height:1.15}
.btn:hover{transform:translateY(-1px);filter:saturate(1.04)}
.btn.secondary{background:var(--surface);color:var(--primary-800);border-color:var(--border-strong);box-shadow:var(--shadow-soft)}
.btn.secondary:hover{border-color:var(--primary);background:#f8fbff}
html[data-theme=dark] .btn.secondary:hover{background:#14233e}
.btn.danger{background:var(--danger);color:#fff;box-shadow:0 10px 20px rgba(217,55,55,.18)}
.btn.ghost{background:#fff7d6;color:var(--primary-900);border-color:#f4d66b;box-shadow:none}
html[data-theme=dark] .btn.ghost{background:#332b0a;color:#ffe68a;border-color:#5d4c12}
.btn.small{padding:7px 10px;border-radius:10px;font-size:13px;min-height:34px;box-shadow:none}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field{margin-bottom:14px}.field label{display:block;font-weight:850;margin-bottom:7px;color:var(--text)}.field input,.field select,.field textarea{width:100%;padding:12px 13px;border:1px solid var(--border-strong);border-radius:12px;background:var(--surface);color:var(--text);outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 4px rgba(29,57,112,.12)}
.table-wrap{overflow:auto;border-radius:14px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow-soft)}
.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{text-align:left;padding:14px;border-bottom:1px solid var(--border);vertical-align:middle}.table th{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;background:var(--surface-2);font-weight:950}.table tr:last-child td{border-bottom:0}.table input,.table select{border:1px solid var(--border);border-radius:10px;padding:9px 10px;background:var(--surface);color:var(--text)}
.file-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(224px,1fr));gap:14px}.file-card{border:1px solid var(--border);border-radius:16px;padding:16px;background:var(--surface);position:relative;box-shadow:var(--shadow-soft)}.file-icon{font-size:34px}.file-name{font-weight:900;margin:10px 0 6px;word-break:break-word}.file-meta{font-size:12px;color:var(--muted)}
.pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#eff6ff;color:var(--primary);font-size:12px;font-weight:900}.pill.red{background:#fee2e2;color:#b91c1c}.pill.green{background:#dcfce7;color:#166534}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.breadcrumbs{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:14px;color:var(--muted)}.breadcrumbs a{color:var(--primary);font-weight:850}
.toast{padding:13px 15px;border-radius:13px;margin-bottom:14px;font-weight:850;background:#e8f4ff;color:#075985;border:1px solid #bae6fd}.toast.error{background:#fee2e2;color:#991b1b;border-color:#fecaca}.toast.success{background:#dcfce7;color:#166534;border-color:#bbf7d0}
.progress{height:10px;border-radius:999px;background:#e4ebf4;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--primary),var(--accent));border-radius:999px}.bottom-nav{display:none}.empty{padding:34px;border:1px dashed var(--border-strong);border-radius:16px;text-align:center;color:var(--muted);background:var(--surface-2)}.preview-box{border:1px solid var(--border);border-radius:18px;overflow:hidden;background:var(--surface);min-height:420px}.preview-box iframe,.preview-box video,.preview-box audio,.preview-box img{width:100%;max-height:72vh;display:block}.preview-text{white-space:pre-wrap;padding:20px;overflow:auto;max-height:70vh}.badge{font-size:11px;font-weight:900;padding:4px 7px;border-radius:8px;background:#f1f5f9}.modal-panel{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:22px}.dropzone{border:2px dashed #9eb2cc;border-radius:18px;padding:34px;text-align:center;background:linear-gradient(180deg,var(--surface),var(--surface-2));transition:.16s ease}.dropzone.drag{border-color:var(--primary);background:#eef5ff;transform:scale(1.005)}.searchbar{display:flex;gap:10px;flex-wrap:wrap}.searchbar input,.searchbar select{padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--text)}.searchbar input{min-width:240px;flex:1}.kbd{font-family:ui-monospace,monospace;background:#f1f5f9;border-radius:6px;padding:3px 6px}.health-ok{color:#16a34a;font-weight:900}.health-bad{color:#dc2626;font-weight:900}
.pro-hero{display:grid;grid-template-columns:1.55fr .92fr;gap:18px;align-items:stretch;margin-bottom:18px}.pro-hero-main{border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,var(--primary-800) 0%,var(--primary) 58%,#254b88 100%);border-radius:22px;padding:28px;box-shadow:0 18px 38px rgba(16,37,77,.18);overflow:hidden;position:relative;color:#fff}.pro-hero-main:before{content:"";position:absolute;right:0;top:0;bottom:0;width:38%;background:radial-gradient(circle at 70% 22%,rgba(255,210,46,.22),transparent 34%),linear-gradient(135deg,transparent,rgba(255,255,255,.08));clip-path:ellipse(72% 72% at 100% 50%)}.pro-hero-main:after{content:"";position:absolute;left:28px;bottom:22px;width:180px;height:4px;border-radius:999px;background:var(--accent)}.pro-hero-main h2{font-size:34px;line-height:1.08;margin:7px 0 12px;letter-spacing:-.04em;position:relative;z-index:1;color:#fff;max-width:780px}.pro-hero-main p{color:rgba(255,255,255,.82);max-width:720px;margin:0 0 22px;position:relative;z-index:1}.pro-hero-main .actions{position:relative;z-index:1;margin-bottom:12px}.pro-hero-main .btn.secondary{background:#fff;color:var(--primary-800);border-color:#fff}.pro-hero-main .btn.ghost{background:rgba(255,210,46,.16);color:#fff;border-color:rgba(255,210,46,.45)}.pro-panel{border:1px solid var(--border);background:var(--surface);border-radius:22px;padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;justify-content:space-between;gap:18px}.pro-panel h3{margin:0;font-size:22px;letter-spacing:-.02em}.pro-panel p{margin:.4rem 0 0}.pro-storage-line{display:flex;justify-content:space-between;gap:12px;font-weight:850;margin-bottom:10px}.pro-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.pro-mini{border:1px solid var(--border);background:var(--surface-2);border-radius:14px;padding:13px}.pro-mini small{display:block;color:var(--muted);font-weight:850;margin-bottom:6px;font-size:12px}.pro-mini strong{font-size:21px;letter-spacing:-.03em;color:var(--primary-900)}
html[data-theme=dark] .pro-mini strong{color:#f8fafc}.quick-card{display:flex;align-items:flex-start;gap:14px;padding:13px;border:1px solid transparent;border-radius:14px;transition:.15s ease}.quick-card:hover{border-color:var(--border);background:var(--surface-2);transform:translateY(-1px)}.quick-card .quick-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:var(--primary-800);color:#fff;font-size:19px;flex:0 0 auto;font-weight:950;box-shadow:0 8px 16px rgba(16,37,77,.14)}.quick-card h3{margin:0 0 5px;font-size:16px}.quick-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}.security-strip{display:flex;align-items:center;gap:10px;padding:11px 14px;border-radius:14px;background:#fff8d9;border:1px solid #f0d76d;color:#5e4700;font-weight:800;font-size:13px}.security-strip span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--primary-900);font-weight:950}
.login-wrap{min-height:100vh;display:grid;grid-template-columns:minmax(420px,540px) 1fr;background:#f6f8fc}.login-side{display:flex;align-items:center;justify-content:center;padding:34px}.login-card{width:min(460px,100%);background:#fff;border:1px solid var(--border);border-radius:20px;padding:28px;box-shadow:0 22px 60px rgba(20,33,61,.12)}.login-card .brand{padding:0;margin-bottom:24px}.login-card .brand-logo{background:var(--primary-800);color:#fff}.login-card .brand-logo:after{background:var(--accent)}.login-card .brand strong{color:var(--text)}.login-card .brand small{color:var(--muted)}.login-card h1{margin:0 0 8px;font-size:32px;letter-spacing:-.04em;color:var(--primary-900)}.login-showcase{position:relative;display:flex;align-items:center;justify-content:center;padding:54px;background:linear-gradient(135deg,var(--primary-900),var(--primary) 72%,#274c86);color:#fff;overflow:hidden}.login-showcase:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 76% 18%,rgba(255,210,46,.28),transparent 23%),radial-gradient(circle at 18% 80%,rgba(255,255,255,.12),transparent 28%)}.login-showcase:after{content:"";position:absolute;right:-120px;bottom:-140px;width:430px;height:430px;border-radius:50%;background:rgba(255,255,255,.08)}.login-panel{position:relative;z-index:1;width:min(620px,100%)}.login-panel .coremark{font-size:38px;font-weight:950;letter-spacing:-.05em;margin-bottom:52px}.login-panel .coremark span{color:var(--accent)}.login-panel h2{font-size:48px;line-height:1.02;margin:0 0 18px;letter-spacing:-.055em;max-width:540px}.login-panel p{font-size:17px;line-height:1.65;color:rgba(255,255,255,.78);max-width:560px;margin:0 0 24px}.login-line{width:260px;height:5px;border-radius:999px;background:var(--accent);margin:22px 0}.login-badges{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}.login-badges span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.08);padding:10px 13px;border-radius:999px;font-size:13px;font-weight:850;color:rgba(255,255,255,.9)}
@media(max-width:1180px){.grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-hero{grid-template-columns:1fr}.top-actions .desktop-only{display:none}}
@media(max-width:980px){.sidebar{display:none}.main{margin-left:0;padding:22px 18px 112px}.topbar{margin:-22px -18px 22px;padding:13px 18px}.topbar h1{font-size:30px}.grid.four,.grid.three{grid-template-columns:repeat(2,minmax(0,1fr))}.bottom-nav{position:fixed;display:flex;left:50%;bottom:14px;transform:translateX(-50%);width:min(700px,calc(100% - 26px));background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:22px;padding:8px;box-shadow:0 20px 46px rgba(20,33,61,.17);z-index:50;justify-content:space-around}.bottom-nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:#5f6c80;font-weight:900;font-size:12px;min-width:58px;padding:8px 10px;border-radius:16px}.bottom-nav a.active{background:var(--primary-800);color:#fff}.bottom-upload{background:var(--accent)!important;color:var(--primary-900)!important;margin-top:-18px;box-shadow:0 14px 26px rgba(244,185,0,.32)}.bottom-upload span{font-size:22px;line-height:1}.top-actions .user-pill{font-size:0;padding:7px}.top-actions .user-pill span{font-size:14px}.form-row{grid-template-columns:1fr}.file-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-wrap{grid-template-columns:1fr}.login-showcase{display:none}.login-side{min-height:100vh}}
@media(max-width:760px){.pro-hero-main h2{font-size:28px}.pro-mini-grid{grid-template-columns:1fr 1fr}.pro-hero-main{border-radius:18px}.pro-panel{border-radius:18px}}
@media(max-width:560px){.main{padding:18px 14px 104px}.topbar{align-items:flex-start}.topbar h1{font-size:27px}.grid.two,.grid.three,.grid.four{grid-template-columns:1fr}.card,.stat{padding:18px;border-radius:16px}.file-grid{grid-template-columns:1fr}.searchbar input,.searchbar select{width:100%;min-width:0}.top-actions{gap:6px}.icon-btn{min-width:40px;padding:9px}.table{min-width:680px}.pro-mini-grid{grid-template-columns:1fr}.pro-hero-main,.pro-panel{padding:20px}.login-side{padding:18px}.login-card{padding:22px}.login-card h1{font-size:28px}}
