*{box-sizing:border-box}body{margin:0;font:14px/1.5 Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:#0d1423;color:#e8eef9}button,input,select{font:inherit}button{cursor:pointer;background:#4b78f4;border:1px solid #4b78f4;color:white;border-radius:10px;padding:10px 15px;font-weight:600}button:hover{filter:brightness(1.13)}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#202c42;border-color:#344158;color:#e6edf8}.danger{background:#9b3247;border-color:#9b3247}.shell{display:flex;min-height:100vh}.sidebar{width:246px;flex-shrink:0;background:#111c30;border-right:1px solid #26334a;display:flex;flex-direction:column;padding:21px 13px;position:sticky;top:0;height:100vh;z-index:5}.brand{display:flex;align-items:center;gap:12px;padding:8px 10px 30px;font-size:16px;overflow:hidden}.brand img{width:38px;height:38px;object-fit:contain}.brand-mark{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:12px;background:linear-gradient(130deg,#4b78f4,#66c4e4);color:white;font-size:24px;font-weight:900;flex-shrink:0}nav{display:grid;gap:5px}nav button{width:100%;text-align:left;border:0;background:transparent;color:#aebdd3;padding:12px 15px}nav button.active,nav button:hover{background:#263653;color:white}.sidebar-bottom{margin-top:auto;display:grid;gap:9px;padding:15px 5px}.sidebar-bottom small{color:#a7b6ca;overflow-wrap:anywhere}.content{flex:1;min-width:0;padding:24px 34px;max-width:1700px}.top{display:flex;align-items:center;gap:18px;margin-bottom:28px}.top h1{font-size:25px;margin:0}.top p{margin:2px 0;color:#9daec8}.version{margin-left:auto;color:#a7b5cc;font-size:12px}.top #menu{display:none}.toolbar{display:flex;gap:9px;flex-wrap:wrap;align-items:center;margin:17px 0}.toolbar .search{margin-left:auto;min-width:190px;max-width:300px}.panel{background:#172338;border:1px solid #2a3850;border-radius:16px;padding:23px;margin-bottom:20px}.panel h2{margin:0 0 15px;font-size:19px}.panel p,.muted{color:#a5b4ca}.breadcrumbs{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.breadcrumbs button{background:transparent;border:0;padding:5px;color:#9ec0ff}.tablewrap{overflow-x:auto}.filetable{width:100%;border-collapse:collapse;min-width:550px}.filetable th{text-align:left;color:#a5b4ca;font-weight:500;padding:12px;border-bottom:1px solid #314058}.filetable td{padding:12px;border-bottom:1px solid #26354a}.filetable tr:hover td{background:#202e47}.filetable tr{cursor:pointer}.filename{display:flex;align-items:center;gap:11px;font-weight:600}.fileicon{font-size:23px}.actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}.actions button{padding:6px 9px;font-size:12px}.gridfiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}.filecard{background:#1d2b42;border:1px solid #32445f;border-radius:13px;padding:17px;min-height:135px;display:grid;gap:9px;cursor:pointer;overflow-wrap:anywhere}.filecard:hover{border-color:#6e96ff}.filecard .fileicon{font-size:38px}.filecard .actions{justify-content:flex-start}.empty{text-align:center;padding:65px 15px;color:#9caec6}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px}.stat{background:#1d2b43;border:1px solid #2b3d57;border-radius:13px;padding:23px}.stat strong{font-size:26px;display:block;margin-top:8px}.stat small{color:#a7b7ce}input,select{display:block;width:100%;padding:11px 13px;background:#0e192b;color:#eef4fc;border:1px solid #384a65;border-radius:9px;outline:none}input:focus,select:focus{border-color:#7196ff}label{display:block;color:#bdcbe0;font-weight:600;margin-bottom:14px}label input,label select{margin-top:6px}.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.formgrid label{min-width:0}.auth{min-height:100vh;display:grid;place-items:center;padding:20px}.auth .panel{width:min(440px,100%);padding:35px}.auth h1{margin-bottom:5px}.auth .brand-mark{margin-bottom:20px}.auth button{width:100%}.error{color:#ff9caa!important}.overlay{position:fixed;inset:0;background:#0009;z-index:10}.dialog{position:fixed;z-index:11;top:50%;left:50%;transform:translate(-50%,-50%);width:min(520px,calc(100vw - 28px));max-height:85vh;overflow:auto;background:#1b2a40;border:1px solid #455875;border-radius:17px;padding:24px;box-shadow:0 25px 90px #0008}.dialog h2{margin-top:0}.dialog footer{display:flex;gap:10px;justify-content:flex-end}.hidden{display:none!important}.toast{position:fixed;bottom:24px;right:25px;z-index:20;background:#2b4261;padding:15px 20px;border-radius:12px;box-shadow:0 12px 40px #0008;max-width:400px}.hint{font-size:12px;color:#98aac3}.uploadzone{border:2px dashed #536987;border-radius:14px;padding:25px;text-align:center;margin:15px 0;color:#a9bbd2}.uploadzone.drag{background:#273f61;border-color:#7da4ff}.dropinfo{background:#21334e;border-radius:9px;padding:12px;margin-top:10px}.preview{max-width:100%;max-height:65vh;object-fit:contain}.spaced{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}body.light{background:#f1f5fb;color:#172b45}body.light .sidebar{background:#fff;border-color:#dce3ef}body.light .panel,body.light .stat,body.light .filecard,body.light .dialog{background:#fff;border-color:#dbe4ef}body.light .secondary{background:#edf2fa;border-color:#d8e1ef;color:#1b3658}body.light nav button{color:#516781}body.light nav button.active,body.light nav button:hover{background:#e7efff;color:#2555b4}body.light input,body.light select{background:#fff;color:#172b45;border-color:#c6d3e5}body.light label{color:#344962}body.light .filetable td{border-color:#e4eaf2}body.light .filetable tr:hover td{background:#f0f5fd}body.light .filetable th{border-color:#dce5ef}body.light .filecard:hover{border-color:#5680e5}body.light .dropinfo{background:#e9f1ff}body.light .toast{background:#dae8fa;color:#162f4e}@media(max-width:900px){.sidebar{position:fixed;transform:translateX(-105%);transition:transform .2s;box-shadow:15px 0 40px #0005}.sidebar.open{transform:none}.content{padding:17px}.top #menu{display:inline-block}.top h1{font-size:21px}.toolbar .search{margin-left:0;max-width:none;flex-basis:100%;order:2}.version{display:none}}@media(max-width:560px){.panel{padding:14px}.filetable{min-width:480px}.top{margin-bottom:18px}.toolbar button{flex:1}.gridfiles{grid-template-columns:repeat(2,minmax(0,1fr))}.filecard{padding:12px}.auth .panel{padding:23px}}
