:root{
  --bg:#081018;
  --panel:#0f1a24;
  --panel-2:#13212d;
  --line:rgba(255,255,255,.08);
  --text:#f2f7fb;
  --muted:#91a2b3;
  --accent:#2fd0ad;
  --accent-2:#7de4ca;
  --danger:#ff6b7a;
  --shadow:0 24px 70px rgba(0,0,0,.35);
  --radius:22px;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:
radial-gradient(circle at 20% 0%,rgba(47,208,173,.14),transparent 28%),
linear-gradient(145deg,#071018 0%,#0a121b 50%,#071018 100%);color:var(--text)}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}
.app-shell{display:grid;grid-template-columns:270px 1fr;min-height:100vh}
.sidebar{position:sticky;top:0;height:100vh;padding:24px 18px;border-right:1px solid var(--line);background:rgba(7,15,23,.92);backdrop-filter:blur(16px);display:flex;flex-direction:column;z-index:20}
.brand{display:flex;gap:13px;align-items:center;padding:2px 10px 28px}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,var(--accent),#138e78);font-weight:900;color:#04130f;box-shadow:0 10px 30px rgba(47,208,173,.22)}
.brand-name{font-weight:900;letter-spacing:.16em;font-size:.97rem}.brand-sub{color:var(--muted);font-size:.68rem;letter-spacing:.28em;margin-top:3px}
.nav{display:grid;gap:8px}.nav a{padding:13px 15px;border-radius:14px;color:#aec0cf;font-weight:700}.nav a:hover,.nav a.active{background:rgba(47,208,173,.11);color:#eafff9;border:1px solid rgba(47,208,173,.12)}
.sidebar-foot{margin-top:auto;border-top:1px solid var(--line);padding-top:18px}.mini-user{display:flex;gap:11px;align-items:center;padding:8px}.avatar{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:#173341;color:var(--accent-2);font-weight:900}.mini-user small{display:block;color:var(--muted);margin-top:2px;text-transform:capitalize}.logout{display:block;margin-top:10px;padding:10px;color:#9fb2c2}
.main{min-width:0}.topbar{height:76px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(8,16,24,.64);backdrop-filter:blur(14px);position:sticky;top:0;z-index:10}.top-title{font-weight:850}.top-actions{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:.88rem}.status-dot{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 20px var(--accent)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:1.4rem}
.content{padding:34px;max-width:1500px;margin:0 auto}
.hero{padding:34px;border:1px solid var(--line);border-radius:30px;background:
linear-gradient(135deg,rgba(47,208,173,.13),rgba(255,255,255,.02));box-shadow:var(--shadow);overflow:hidden;position:relative}.hero:after{content:"";position:absolute;width:320px;height:320px;border-radius:50%;background:rgba(47,208,173,.08);right:-100px;top:-140px}.eyebrow{font-size:.76rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent-2);font-weight:900}.hero h1{font-size:clamp(2rem,4vw,4.2rem);line-height:1;margin:10px 0 14px;max-width:850px}.hero p{color:#b0c2d0;font-size:1.03rem;max-width:720px}
.grid{display:grid;gap:18px}.stats{grid-template-columns:repeat(4,1fr);margin-top:20px}.card{background:linear-gradient(160deg,rgba(19,33,45,.96),rgba(12,23,33,.96));border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:0 12px 40px rgba(0,0,0,.18)}.stat-label{color:var(--muted);font-size:.84rem}.stat-value{font-size:2rem;font-weight:900;margin-top:8px}
.section-head{display:flex;align-items:center;justify-content:space-between;margin:30px 0 12px}.section-head h2{margin:0;font-size:1.1rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:11px 15px;background:linear-gradient(135deg,var(--accent),#1da58c);color:#031713;font-weight:900;cursor:pointer}.btn.secondary{background:#152533;color:#d7e6ee;border:1px solid var(--line)}.btn.danger{background:rgba(255,107,122,.12);color:#ff9aa5;border:1px solid rgba(255,107,122,.2)}
.folder-grid{grid-template-columns:repeat(3,1fr)}.folder-card{padding:22px}.folder-icon{font-size:1.6rem;margin-bottom:14px}.folder-name{font-weight:850}.folder-meta{color:var(--muted);font-size:.8rem;margin-top:5px}
.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px}.table{width:100%;border-collapse:collapse;background:rgba(12,23,33,.74)}.table th,.table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);white-space:nowrap}.table th{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.table tr:last-child td{border-bottom:0}.muted{color:var(--muted)}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:16px}.input,.select{background:#0c1721;border:1px solid var(--line);color:#eef7fb;border-radius:13px;padding:11px 13px;outline:none}.input:focus,.select:focus{border-color:rgba(47,208,173,.45)}.grow{flex:1;min-width:220px}
.notice{padding:13px 15px;border-radius:13px;margin-bottom:16px;background:rgba(47,208,173,.1);border:1px solid rgba(47,208,173,.18);color:#cafff2}.notice.error{background:rgba(255,107,122,.1);border-color:rgba(255,107,122,.2);color:#ffc4cb}
.login-page{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.login-art{padding:64px;display:flex;flex-direction:column;justify-content:space-between;background:
radial-gradient(circle at 20% 20%,rgba(47,208,173,.22),transparent 30%),
linear-gradient(145deg,#071018,#0b1923)}.login-art h1{font-size:clamp(3rem,7vw,7.2rem);line-height:.9;margin:0;letter-spacing:-.05em}.login-art p{max-width:610px;color:#aac0ce;font-size:1.05rem}.login-panel{display:grid;place-items:center;padding:30px;background:#0a121a}.login-card{width:min(430px,100%);padding:32px;border-radius:28px;background:linear-gradient(160deg,#111e2a,#0d1822);border:1px solid var(--line);box-shadow:var(--shadow)}.login-card h2{font-size:2rem;margin:0 0 7px}.login-card .sub{color:var(--muted);margin-bottom:24px}.field{display:grid;gap:7px;margin:14px 0}.field label{font-size:.8rem;color:#afc1cf}.field input,.field select{width:100%;background:#09131c;color:#f4fbff;border:1px solid var(--line);border-radius:14px;padding:13px}.login-card .btn{width:100%;margin-top:8px;padding:13px}
.role{display:inline-block;padding:6px 9px;border-radius:99px;background:rgba(47,208,173,.1);color:#8ff0d9;font-size:.75rem;font-weight:800;text-transform:capitalize}
@media(max-width:980px){
  .app-shell{grid-template-columns:1fr}.sidebar{position:fixed;left:-290px;width:270px;transition:.25s}.nav-open .sidebar{left:0}.menu-btn{display:block}.topbar{padding:0 18px}.content{padding:20px}.stats{grid-template-columns:repeat(2,1fr)}.folder-grid{grid-template-columns:repeat(2,1fr)}.login-page{grid-template-columns:1fr}.login-art{display:none}
}
@media(max-width:620px){
  .stats,.folder-grid{grid-template-columns:1fr}.content{padding:14px}.hero{padding:24px;border-radius:22px}.top-actions{display:none}.toolbar{display:grid}.grow{min-width:0}.btn{width:100%}
}
