:root{color-scheme:dark;--bg:#09090b;--surface:#18181b;--elevated:#27272a;--border:rgba(255,255,255,0.08);--border-focus:rgba(249,115,22,0.5);--orange:#f97316;--orange-hover:#fb923c;--orange-dim:rgba(249,115,22,0.1);--orange-border:rgba(249,115,22,0.25);--text:#fafafa;--muted:#a1a1aa;--dim:#52525b;--green:#4ade80;--green-dim:rgba(74,222,128,0.08);--green-border:rgba(74,222,128,0.2);--red:#f87171;--red-dim:rgba(248,113,113,0.08);--red-border:rgba(248,113,113,0.2);--radius:8px;--shadow:0 4px 24px rgba(0,0,0,0.4)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:none}.shell{display:grid;grid-template-columns:200px 1fr;min-height:100vh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100vh;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:20px 12px;gap:4px;overflow-y:auto}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;border-bottom:1px solid var(--border);margin-bottom:8px}.brandMark{width:32px;height:32px;border-radius:8px;background:var(--orange);color:white;font-weight:900;font-size:13px;letter-spacing:-.05em;display:grid;place-items:center;flex-shrink:0}.brandName{font-size:13px;font-weight:700;color:var(--text);line-height:1.2}.brandSub{font-size:11px;color:var(--muted)}.navSection{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:8px 8px 4px}.navItem{display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius);font-size:13px;font-weight:500;color:var(--muted);transition:color .1s,background .1s;cursor:pointer;border:none;background:none;width:100%;text-align:left}.navItem:hover{color:var(--text);background:var(--elevated)}.navItem.active{color:var(--orange);background:var(--orange-dim)}.navDot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.sidebarStats{margin:8px 0;padding:10px 8px;border-radius:var(--radius);background:var(--elevated);display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px}.statItem{display:flex;flex-direction:column;gap:2px}.statVal{font-size:16px;font-weight:800;letter-spacing:-.04em;color:var(--text)}.statLabel{font-size:10px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.sidebarFooter{margin-top:auto;padding-top:12px;border-top:1px solid var(--border);display:grid;grid-gap:6px;gap:6px}.userInfo{padding:8px;border-radius:var(--radius);background:var(--elevated)}.userEmail{font-size:12px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userRole{font-size:11px;color:var(--orange);margin-top:2px;text-transform:capitalize}.logoutBtn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:7px;border-radius:var(--radius);background:var(--elevated);color:var(--muted);font-size:12px;font-weight:600;transition:color .1s,background .1s}.logoutBtn:hover{color:var(--red);background:var(--red-dim)}.workspace{display:flex;flex-direction:column;min-height:100vh;overflow:hidden}.topbar{display:flex;align-items:center;gap:10px;padding:14px 20px;border-bottom:1px solid var(--border);background:var(--surface);position:-webkit-sticky;position:sticky;top:0;z-index:10}.topbarTitle{font-weight:700;margin-right:auto}.searchInput,.topbarTitle{font-size:13px;color:var(--text)}.searchInput{width:220px;padding:7px 12px;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);outline:none;transition:border-color .15s}.searchInput::placeholder{color:var(--dim)}.searchInput:focus{border-color:var(--border-focus)}.uploadBtn{display:flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius);background:var(--orange);color:white;font-size:13px;font-weight:600;transition:background .1s;cursor:pointer}.uploadBtn:hover{background:var(--orange-hover)}.uploadBtn.disabled,.uploadBtn:disabled{opacity:.6;cursor:not-allowed}.menuToggle{display:none;padding:7px;border-radius:var(--radius);background:var(--elevated);color:var(--muted)}.content{flex:1 1;padding:16px 20px;display:grid;grid-gap:16px;gap:16px}.filesGrid{display:grid;grid-template-columns:1fr 280px;grid-gap:12px;gap:12px;align-items:start}.panel{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden}.panelHead{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.panelTitle{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.panelCount{font-size:11px;color:var(--dim);background:var(--elevated);padding:2px 7px;border-radius:99px}.fileList{display:flex;flex-direction:column}.fileRow{display:flex;align-items:center;gap:10px;padding:9px 14px;border-bottom:1px solid var(--border);cursor:pointer;transition:background 80ms;background:none;width:100%;text-align:left}.fileRow:last-child{border-bottom:none}.fileRow:hover{background:var(--elevated)}.fileRow.selected{background:var(--orange-dim)}.fileRow.selected .fileRowName{color:var(--orange)}.fileTag{flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.05em;padding:3px 6px;border-radius:4px;font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace}.fileTag.file{background:rgba(99,102,241,.1);color:#818cf8;border:1px solid rgba(99,102,241,.2)}.fileTag.folder{background:rgba(234,179,8,.08);color:#facc15;border:1px solid rgba(234,179,8,.15)}.fileRowMain{flex:1 1;min-width:0}.fileRowName{font-size:13px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace}.fileRowMeta{color:var(--muted)}.fileRowDesc,.fileRowMeta{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}.fileRowDesc{display:block;color:var(--dim);font-style:italic}.fileRowRight{display:flex;align-items:center;gap:6px;flex-shrink:0}.fileSize{font-size:11px;color:var(--dim);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace}.badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}.badge.restricted{background:var(--red-dim);color:var(--red);border:1px solid var(--red-border)}.badge.visible{background:var(--green-dim);color:var(--green);border:1px solid var(--green-border)}.emptyState{padding:32px 16px;text-align:center;color:var(--dim);font-size:13px}.detailPanel{position:-webkit-sticky;position:sticky;top:61px}.detailBody{padding:14px;display:grid;grid-gap:14px;gap:14px}.detailDescription{font-size:12px;color:var(--muted);line-height:1.5;padding:8px 10px;background:var(--elevated);border-radius:var(--radius);border-left:2px solid var(--orange-border)}.detailName{font-size:14px;font-weight:700;color:var(--text);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;word-break:break-all}.metaList{display:grid;grid-gap:0;gap:0}.metaRow{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid var(--border);font-size:12px}.metaRow:last-child{border-bottom:none}.metaKey{color:var(--muted);flex-shrink:0}.metaVal{color:var(--text);font-weight:600;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace;font-size:11px}.actionStack{display:grid;grid-gap:6px;gap:6px}.btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;border-radius:var(--radius);font-size:13px;font-weight:600;transition:background .1s,color .1s;border:1px solid transparent}.btn.primary{background:var(--orange);color:white}.btn.primary:hover{background:var(--orange-hover)}.btn.secondary{background:var(--elevated);color:var(--text);border-color:var(--border)}.btn.secondary:hover{background:var(--surface)}.btn.danger{background:var(--red-dim);color:var(--red);border-color:var(--red-border)}.btn.danger:hover{background:rgba(248,113,113,.15)}.btn.warning{background:rgba(234,179,8,.08);color:#facc15;border-color:rgba(234,179,8,.2)}.btn.warning:hover{background:rgba(234,179,8,.15)}.btn:disabled{opacity:.5;cursor:not-allowed}.adminNote{font-size:11px;color:var(--dim);text-align:center;padding:4px 0}.uploadFormFields{display:grid;grid-gap:10px;gap:10px}.uploadSubmitBtn{align-self:end}.uploadArea{border:1.5px dashed var(--border);border-radius:var(--radius);padding:20px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s;background:none;width:100%}.uploadArea.dragover,.uploadArea:hover{border-color:var(--orange-border);background:var(--orange-dim)}.uploadAreaIcon{font-size:22px;margin-bottom:6px}.uploadAreaText{font-size:13px;font-weight:600;color:var(--muted)}.uploadAreaSub{font-size:11px;color:var(--dim);margin-top:3px}.formField{display:grid;grid-gap:5px;gap:5px}.formLabel{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}.formLabelOptional{font-weight:400;text-transform:none;letter-spacing:0;color:var(--dim)}.formRow{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.formInput{padding:8px 11px;background:var(--elevated);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:13px;outline:none;transition:border-color .15s}.formInput::placeholder{color:var(--dim)}.formInput:focus{border-color:var(--border-focus)}.selectedFile{display:flex;align-items:center;gap:8px;padding:8px 10px;background:var(--elevated);border-radius:var(--radius);border:1px solid var(--border)}.selectedFileName{flex:1 1;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-family:ui-monospace,Cascadia Code,Source Code Pro,monospace}.selectedFileSize{font-size:11px}.clearBtn,.selectedFileSize{color:var(--muted);flex-shrink:0}.clearBtn{font-size:16px;line-height:1}.clearBtn:hover{color:var(--red)}.uploadProgress{height:3px;background:var(--elevated);border-radius:99px;overflow:hidden;margin-bottom:14px}.uploadProgressBar{height:100%;background:var(--orange);border-radius:99px;transition:width .12s ease}.statusMsg{font-size:12px;padding:8px 10px;border-radius:var(--radius);border:1px solid transparent}.statusMsg.success{background:var(--green-dim);color:var(--green);border-color:var(--green-border)}.statusMsg.error{background:var(--red-dim);color:var(--red);border-color:var(--red-border)}.statusMsg.info{background:var(--orange-dim);color:var(--orange);border-color:var(--orange-border)}.sectionContent{display:grid;grid-gap:12px;gap:12px;padding:16px 20px}.sectionGrid{grid-template-columns:1fr 1fr;align-items:start}.panelBody,.sectionGrid{display:grid;grid-gap:12px;gap:12px}.panelBody{padding:14px}.panelRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--border)}.panelRow:last-child{border-bottom:none}.panelRowLabel{font-size:13px;font-weight:600;color:var(--text)}.panelRowSub{font-size:11px;color:var(--muted);margin-top:2px}.toggle{position:relative;width:40px;height:22px;flex-shrink:0;border-radius:99px;background:var(--elevated);border:1px solid var(--border);transition:background .15s;cursor:pointer}.toggle.on{background:var(--orange);border-color:var(--orange)}.toggleThumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.toggle.on .toggleThumb{transform:translateX(18px);background:white}.userTable{display:grid}.userRow{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border);font-size:13px}.userRow:last-child{border-bottom:none}.userRow.selected{background:var(--orange-dim)}.userAvatar{width:28px;height:28px;border-radius:6px;background:var(--elevated);color:var(--orange);display:grid;place-items:center;font-size:11px;font-weight:800;flex-shrink:0;text-transform:uppercase}.userRowInfo{flex:1 1;display:flex;flex-direction:column;min-width:0}.userRowName{font-size:13px;font-weight:600;color:var(--text)}.userRowEmail,.userRowName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userRowEmail{font-size:11px;color:var(--muted);font-weight:500;margin-top:1px}.editUserBtn{flex-shrink:0;width:26px;height:26px;border-radius:6px;background:var(--elevated);color:var(--muted);font-size:13px;display:grid;place-items:center;transition:color .1s,background .1s}.editUserBtn:hover{color:var(--orange);background:var(--orange-dim)}.iconBtn{width:24px;height:24px;border-radius:6px;background:var(--elevated);color:var(--muted);font-size:15px;display:grid;place-items:center;transition:color .1s,background .1s}.iconBtn:hover{color:var(--text);background:var(--border)}.roleBadge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.roleBadge.admin{background:var(--orange-dim);color:var(--orange);border:1px solid var(--orange-border)}.roleBadge.user{background:var(--elevated);color:var(--muted);border:1px solid var(--border)}.loginShell{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:24px}.loginCard{width:100%;max-width:360px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px 28px;display:grid;grid-gap:24px;gap:24px}.loginBrand{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.loginMark{width:44px;height:44px;border-radius:10px;background:var(--orange);color:white;font-weight:900;font-size:17px;letter-spacing:-.05em;display:grid;place-items:center}.loginTitle{font-size:18px;font-weight:800;letter-spacing:-.04em;color:var(--text)}.loginSub{font-size:13px;color:var(--muted);margin-top:2px}.loginForm{display:grid;grid-gap:12px;gap:12px}.loginError{font-size:12px;color:var(--red);background:var(--red-dim);border:1px solid var(--red-border);padding:8px 10px;border-radius:var(--radius)}.loginForgot{font-size:12px;color:var(--muted);text-align:center;cursor:pointer;background:none;border:none;text-decoration:underline;text-underline-offset:3px}.loginForgot:hover{color:var(--orange)}.resetCard{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:32px 28px;display:grid;grid-gap:20px;gap:20px}.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:19}@media (max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;transform:translateX(-100%);transition:transform .2s ease;width:220px}.sidebar.open{transform:translateX(0)}.overlay{display:block;pointer-events:none;opacity:0;transition:opacity .2s}.overlay.open{pointer-events:auto;opacity:1}.menuToggle{display:flex}.searchInput{width:140px}.filesGrid{grid-template-columns:1fr}.detailPanel{position:static}.sectionGrid{grid-template-columns:1fr}.badge,.fileSize{display:none}}