:root{
--sidebar-width:180px;
--blue:#2787ff;--blue2:#146de8;--text:#f5f8fc;--muted:#91a7bd;--line:rgba(180,215,245,.18);
--panel:rgba(5,21,37,.76);--panel2:rgba(7,28,47,.64);--danger:#ff5663;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:#061321;color:var(--text)}
body{min-height:100vh;overflow-x:hidden}.hidden{display:none!important}.progress-wrap.hidden{display:none!important}
button,input{font:inherit}button{user-select:none}
.bg{position:fixed;inset:0;background:url('/static/mountains.jpg') center center/cover no-repeat;z-index:0;transform:scale(1.015)}
.bg-overlay{position:fixed;inset:0;z-index:1;background:linear-gradient(90deg,rgba(2,12,23,.86) 0 180px,rgba(2,12,23,.23) 32%,rgba(2,12,23,.30)),linear-gradient(180deg,rgba(3,12,22,.10),rgba(3,12,22,.58));transition:.45s}
body.light-mode .bg-overlay{background:linear-gradient(90deg,rgba(234,242,250,.76) 0 180px,rgba(238,246,253,.13) 32%,rgba(238,246,253,.18)),linear-gradient(180deg,rgba(245,250,255,.08),rgba(226,237,247,.30))}
.glass{background:linear-gradient(135deg,rgba(7,25,43,.86),rgba(3,17,31,.79));border:1px solid var(--line);box-shadow:0 24px 80px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.035);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
body.light-mode .glass{background:linear-gradient(135deg,rgba(240,247,253,.72),rgba(224,237,247,.63));border-color:rgba(38,83,121,.18);color:#122438}
body.light-mode{--text:#122438;--muted:#516b83;--line:rgba(38,83,121,.18)}
.page-transition{position:fixed;inset:0;background:rgba(2,11,20,.72);backdrop-filter:blur(8px);z-index:100;display:grid;place-items:center;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.page-transition.show{opacity:1;visibility:visible}
.loader{display:flex;gap:7px}.loader span{width:8px;height:8px;border-radius:50%;background:#55a2ff;box-shadow:0 0 18px #2c8cff;animation:pulse 1s infinite ease-in-out}.loader span:nth-child(2){animation-delay:.14s}.loader span:nth-child(3){animation-delay:.28s}@keyframes pulse{0%,80%,100%{transform:scale(.55);opacity:.4}40%{transform:scale(1);opacity:1}}
.login-screen{position:relative;z-index:5;min-height:100vh;display:grid;place-items:center;padding:24px;animation:screenIn .65s ease}.login-screen.enter{animation:screenIn .45s ease}
@keyframes screenIn{from{opacity:0;transform:scale(.985) translateY(10px)}to{opacity:1;transform:none}}
.login-card{width:min(430px,100%);padding:42px;border-radius:24px;text-align:center}.login-logo{height:46px;position:relative;width:72px;margin:auto}.login-logo .peak{position:absolute;height:3px;background:#55a4ff;border-radius:5px;transform-origin:left;box-shadow:0 0 10px rgba(63,151,255,.45)}.login-logo .p1{width:35px;left:7px;top:32px;transform:rotate(-38deg)}.login-logo .p2{width:40px;left:27px;top:31px;transform:rotate(27deg)}.login-logo .p3{width:23px;left:28px;top:25px;transform:rotate(-18deg)}
.brand{font-size:25px;font-weight:750;letter-spacing:.06em}.brand-sub{font-size:8px;letter-spacing:.18em;color:#7895b2;margin-top:3px}.eyebrow{font-size:9px;letter-spacing:.28em;color:#7895b2;margin:9px 0 12px}.login-card h1{font-size:25px;margin:23px 0 8px}.login-card p{font-size:13px;color:var(--muted);margin:0 0 20px}.input-wrap{display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);background:rgba(0,0,0,.18);border-radius:13px}.input-wrap svg{width:17px;fill:none;stroke:#78a6d3;stroke-width:1.6}.input-wrap input{width:100%;padding:14px 0;border:0;outline:0;background:transparent;color:var(--text)}.primary{border:0;border-radius:12px;background:linear-gradient(180deg,#4d9cff,#1f75ef);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 12px 32px rgba(39,129,255,.26);transition:.2s}.primary:hover{transform:translateY(-1px);box-shadow:0 16px 38px rgba(39,129,255,.34)}.primary svg{width:16px;fill:none;stroke:currentColor;stroke-width:2;vertical-align:middle;margin-left:7px}.wide{width:100%;padding:13px;margin-top:12px}.error{min-height:18px;color:#ff8d95;font-size:11px;margin-top:9px}

.shell{position:relative;z-index:3;min-height:100vh;opacity:0;transform:translateY(8px);transition:opacity .55s,transform .55s}.shell.ready{opacity:1;transform:none}.sidebar{position:fixed;left:0;top:0;bottom:0;width:180px;padding:30px 15px;background:rgba(3,15,28,.70);border-right:1px solid rgba(148,191,229,.15);backdrop-filter:blur(18px);z-index:20}.side-brand{display:flex;align-items:center;gap:11px;padding:0 6px 25px;border-bottom:1px solid var(--line)}.side-brand strong{display:block;font-size:20px}.side-brand small{display:block;font-size:8px;letter-spacing:.17em;color:#7690aa;margin-top:3px}
.mount-logo{width:34px;height:30px;position:relative}.mount-logo span{position:absolute;display:block;background:linear-gradient(135deg,#6eb6ff,#2c74d9);height:2.5px;border-radius:4px;transform-origin:left;box-shadow:0 0 7px rgba(55,141,255,.28)}.mount-logo .m1{width:20px;left:2px;top:23px;transform:rotate(-38deg)}.mount-logo .m2{width:24px;left:13px;top:22px;transform:rotate(27deg)}.mount-logo .m3{width:14px;left:13px;top:17px;transform:rotate(-22deg)}
.nav{padding-top:21px;display:grid;gap:6px}.nav-item{width:100%;border:1px solid transparent;background:transparent;color:#c7d5e4;padding:11px 12px;border-radius:11px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:11px;transition:.2s}.nav-item svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}.nav-item:hover{background:rgba(52,129,229,.12);color:#fff;transform:translateX(2px)}.nav-item.active{background:linear-gradient(90deg,rgba(43,135,255,.28),rgba(43,135,255,.11));border-color:rgba(78,157,255,.18);color:#fff;box-shadow:inset 2px 0 #3f98ff}.nav-danger{color:#ff9aa2}.nav-danger:hover{background:rgba(255,70,84,.09);color:#ffb1b7}.side-footer{position:absolute;bottom:22px;left:21px;font-size:7px;letter-spacing:.18em;color:#58728d;line-height:1.8}.side-footer span{opacity:.7}
.main{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);padding:0 34px 55px;min-height:100vh}.topbar{height:72px;display:flex;justify-content:space-between;align-items:center}.mobile-brand{display:none}.top-actions{display:flex;gap:9px}.round{width:43px;height:43px;border-radius:50%;border:1px solid rgba(153,196,235,.16);background:rgba(5,18,32,.53);color:#fff;cursor:pointer;display:grid;place-items:center;transition:.25s}.round:hover{background:rgba(45,111,190,.32);transform:translateY(-2px)}.round svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.65}.round .moon{fill:none}
.hero,.page-title,.upload,.storage-card,.files{position:relative;left:calc(var(--sidebar-width) / -2)}
.hero{text-align:center;padding:205px 0 19px}.hero .eyebrow{margin-bottom:8px}.hero .eyebrow i{font-style:normal;color:#6687a6;margin:0 5px}.hero h1,.page-title h1{font-size:34px;font-weight:500;letter-spacing:.20em;margin:0 0 8px;text-shadow:0 2px 22px rgba(0,0,0,.25)}.hero p,.page-title p{margin:0;color:#c1cfdd;font-size:13px}.upload{width:min(700px,100%);margin:0 auto;padding:28px 35px 21px;border-radius:20px;text-align:center;transition:.25s}.upload:hover{border-color:rgba(76,158,255,.34);transform:translateY(-1px)}.upload.drag{border-color:#59a7ff;box-shadow:0 0 0 1px rgba(75,156,255,.25),0 26px 80px rgba(0,0,0,.32)}.upload-icon svg{width:49px;height:49px;fill:none;stroke:#62aaff;stroke-width:1.55;filter:drop-shadow(0 0 12px rgba(61,151,255,.75))}.upload h2{font-size:17px;margin:5px 0 3px}.upload p{font-size:12px;color:#a9bacb;margin:0 0 13px}.choose{padding:12px 34px;display:inline-flex;align-items:center;gap:8px}.choose svg{width:16px;fill:none;stroke:currentColor;stroke-width:1.8}.upload small{display:block;color:#7890a7;font-size:10px;margin-top:10px}.upload small b{color:#5b84ac}.progress-wrap{margin:13px auto 0;width:min(460px,100%)}.progress-line{height:5px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.progress-line span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2180ff,#6db8ff);transition:width .12s}.progress-wrap #uploadStatus{font-size:10px;color:#8fb9df;margin-top:6px}
.storage-card{width:min(1000px,100%);margin:13px auto 0;padding:15px 19px 13px;border-radius:17px}.storage-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.storage-free{display:flex;align-items:baseline;gap:7px}.storage-free strong{font-size:23px}.storage-free span,.storage-right span{font-size:11px;color:#8ca5bc}.storage-right{display:flex;gap:6px;align-items:baseline;color:#d6e1ec;font-size:12px}.storage-bar{height:7px;margin-top:10px;border-radius:99px;background:rgba(255,255,255,.08);overflow:hidden}.storage-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2585ff,#69b4ff);border-radius:99px;transition:width .45s}.storage-foot{display:flex;justify-content:space-between;margin-top:7px;color:#728aa2;font-size:10px}.storage-card.warning .storage-bar span{background:#e9a53f}.storage-card.critical .storage-bar span{background:#ff5360}.storage-card.critical{border-color:rgba(255,83,96,.38)}
.view{transition:opacity .32s,transform .32s}.hidden-view{display:none!important}.view-enter{animation:viewIn .42s ease}@keyframes viewIn{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.page-title{text-align:center;padding:205px 0 17px}.page-title h1{margin-bottom:6px}.page-title p{color:#aebed0}
.files{width:min(1000px,100%);margin:14px auto 0;border-radius:18px;overflow:hidden}.files.files-view-mode{margin-top:22px}.files-head{padding:15px 20px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line)}.files-title{display:flex;align-items:center;gap:9px}.files-title h2{margin:0;font-size:22px;font-weight:500}.files-title>span{font-size:11px;color:#b5c8db;background:rgba(255,255,255,.08);padding:4px 8px;border-radius:10px}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{border:1px solid var(--line);background:rgba(13,35,55,.68);color:#dbe7f3;border-radius:9px;padding:9px 12px;cursor:pointer;font-size:11px;display:inline-flex;align-items:center;gap:7px;transition:.18s}.actions button:hover{background:rgba(47,84,121,.65);border-color:rgba(103,169,239,.28);transform:translateY(-1px)}.actions svg,.row-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7}.actions .danger-btn{border-color:rgba(255,83,96,.58);color:#ff727b}.actions .danger-btn:hover{background:rgba(255,83,96,.10)}
.table-head,.file-row{display:grid;grid-template-columns:34px minmax(240px,1fr) 130px 180px 72px;gap:10px;align-items:center}.table-head{padding:11px 20px;color:#71879f;font-size:10px;border-bottom:1px solid var(--line)}.file-row{padding:13px 20px;border-bottom:1px solid rgba(150,190,235,.10);font-size:13px;animation:rowIn .35s ease both}.file-row:last-child{border-bottom:0}@keyframes rowIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.check{width:16px;height:16px;accent-color:#4c96ff}.file-name{display:flex;align-items:center;gap:10px;min-width:0}.file-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-icon{width:29px;height:29px;border-radius:8px;display:grid;place-items:center;background:rgba(66,146,255,.13);color:#6daeff;font-size:7px;font-weight:800;letter-spacing:.04em;border:1px solid rgba(91,158,238,.13)}.meta{color:#91a6bb;font-size:12px}.row-actions{display:flex;justify-content:flex-end;gap:3px}.icon-btn{border:0;background:transparent;color:#dbe7f3;cursor:pointer;padding:6px;border-radius:7px;display:grid;place-items:center;transition:.17s}.icon-btn:hover{background:rgba(255,255,255,.08);color:#fff}.icon-btn.delete:hover{color:#ff727b;background:rgba(255,83,96,.08)}.empty{text-align:center;color:#7890a8;padding:30px;font-size:13px}
.toast{position:fixed;z-index:120;right:26px;bottom:24px;max-width:340px;padding:11px 15px;border:1px solid rgba(107,168,229,.25);border-radius:11px;background:rgba(5,20,35,.88);backdrop-filter:blur(14px);color:#e8f2fb;font-size:12px;box-shadow:0 15px 45px rgba(0,0,0,.3);opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:none}.toast.error{border-color:rgba(255,83,96,.45);color:#ffb0b5}
body.light-mode .sidebar{background:rgba(235,244,251,.76);border-color:rgba(38,83,121,.16)}body.light-mode .nav-item{color:#27415a}body.light-mode .nav-item.active{color:#0f2e4b;background:rgba(47,132,241,.15)}body.light-mode .round,body.light-mode .actions button{color:#18344c;background:rgba(235,245,253,.62)}body.light-mode .hero p,body.light-mode .page-title p{color:#3f5870}body.light-mode .upload p{color:#526d85}body.light-mode .storage-right{color:#29435b}body.light-mode .file-row{border-color:rgba(38,83,121,.10)}body.light-mode .meta{color:#536e86}body.light-mode .toast{background:rgba(245,250,253,.92);color:#19334a}
@media(max-width:900px){:root{--sidebar-width:76px}.sidebar{width:76px;padding:25px 9px}.side-brand>div:last-child,.nav-item span,.side-footer{display:none}.side-brand{justify-content:center;padding:0 0 22px}.main{width:calc(100% - var(--sidebar-width));margin-left:var(--sidebar-width);padding:0 15px 35px}.hero h1,.page-title h1{font-size:27px}.files-head{align-items:flex-start;flex-direction:column}.table-head{display:none}.file-row{grid-template-columns:24px 1fr 70px}.file-row>.meta{display:none}.storage-head{align-items:flex-start}.storage-right{display:none}}
@media(max-width:600px){.hero{padding-top:78px}.page-title{padding-top:78px}.topbar{height:60px}.mobile-brand{display:block;font-weight:700}.hero{padding-top:72px}.hero h1,.page-title h1{font-size:22px;letter-spacing:.13em}.upload{padding:23px 18px}.files-title h2{font-size:19px}.actions{width:100%}.actions button{flex:1;justify-content:center}.files-head{padding:14px}.file-row{padding:11px 13px}.storage-card{padding:13px}.toast{right:13px;left:13px;bottom:13px}}

/* v5 — files workspace */
.files-head{align-items:flex-start}.files-title{align-items:flex-start}.files-title h2{line-height:1.05}.files-subtitle{margin-top:5px;color:#7e96ad;font-size:10px}.files-subtitle .dot{padding:0 5px;color:#52708f}.selection-badge{font-size:10px;color:#d9eaff;background:rgba(54,139,245,.13);border:1px solid rgba(86,161,244,.18);padding:6px 9px;border-radius:9px}.selection-badge b{color:#76b6ff}.files-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 20px;border-bottom:1px solid var(--line);background:rgba(2,16,29,.18)}.search-box{height:36px;flex:1;max-width:430px;display:flex;align-items:center;gap:9px;padding:0 11px;border:1px solid rgba(160,201,239,.15);border-radius:10px;background:rgba(0,0,0,.13);color:#7894ae}.search-box svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.7}.search-box input{width:100%;border:0;outline:0;background:transparent;color:var(--text);font-size:11px}.search-box input::placeholder{color:#627d98}.toolbar-right{display:flex;align-items:center;gap:9px}.toolbar-count{font-size:10px;color:#7690a9;white-space:nowrap}.sort-select{height:36px;border:1px solid rgba(160,201,239,.15);border-radius:10px;background:rgba(7,25,43,.72);color:#cbd9e6;padding:0 10px;font-size:10px;outline:0}.text-btn{border:0;background:transparent;color:#6faef1;font-size:10px;cursor:pointer;padding:7px 4px}.text-btn:hover{color:#9acaff}.empty{min-height:190px;display:none;flex-direction:column;align-items:center;justify-content:center;gap:7px}.empty-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:13px;background:rgba(66,146,255,.10);border:1px solid rgba(91,158,238,.13);color:#6daeff;margin-bottom:3px}.empty-icon svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5}.empty strong{font-size:13px}.empty span{font-size:10px;color:#7890a8}.empty .primary{margin-top:8px;padding:9px 16px;font-size:11px}.actions .danger-btn+.danger-btn{border-color:rgba(255,83,96,.32);color:#ff9ca3}.file-row:hover{background:rgba(55,125,198,.045)}
body.light-mode .files-toolbar{background:rgba(231,241,249,.18)}body.light-mode .search-box,body.light-mode .sort-select{background:rgba(245,250,253,.52);border-color:rgba(38,83,121,.14);color:#18344c}body.light-mode .files-subtitle,body.light-mode .toolbar-count{color:#5d7890}
@media(max-width:900px){.files-toolbar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.toolbar-right{justify-content:space-between}.selection-badge{margin-left:auto}.actions button{font-size:10px}}
@media(max-width:600px){.files-toolbar{padding:10px 13px}.toolbar-right{gap:7px;flex-wrap:wrap}.sort-select{flex:1;min-width:150px}.text-btn{margin-left:auto}.files-subtitle{font-size:9px}.actions button{padding:8px 9px}.empty{min-height:170px}}
