:root{
 --bg:#f6f8fb;--panel:#ffffff;--panel-soft:#f9fafc;--text:#172033;--muted:#697386;--line:#dfe5ed;
 --primary:#2563eb;--primary-hover:#1d4ed8;--danger:#c2414c;--success:#16794d;--shadow:0 8px 24px rgba(20,34,60,.06)
}
[data-theme="dark"]{
 --bg:#0e1420;--panel:#151d2b;--panel-soft:#111926;--text:#eef3fb;--muted:#9eabbf;--line:#2a3548;
 --primary:#4f83f1;--primary-hover:#6a96f3;--danger:#ef7b84;--success:#54c58b;--shadow:none
}
*{box-sizing:border-box}
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark}
body{margin:0;font-family:Manrope,Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--text);font-size:15px}
a{color:inherit;text-decoration:none}
.topbar{height:68px;padding:0 max(24px,5vw);display:flex;align-items:center;justify-content:space-between;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;letter-spacing:-.02em}.logo{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--primary);color:#fff;font-size:15px}
nav{display:flex;align-items:center;gap:22px;font-size:14px;font-weight:650}nav a:hover{color:var(--primary)}
.theme-toggle{border:1px solid var(--line);background:var(--panel);color:var(--text);width:36px;height:36px;border-radius:8px;cursor:pointer}
.container{max-width:1240px;margin:auto;padding:36px 24px 72px}
.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.page-heading h1,.panel h1,.auth-card h1{margin:2px 0 8px;font-size:28px;letter-spacing:-.035em}.eyebrow{margin:0;color:var(--primary);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em}
.muted,small{color:var(--muted)}.breadcrumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.breadcrumbs a:hover{color:var(--primary)}
.storage-summary{min-width:190px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.storage-summary span{display:block;color:var(--muted);font-size:12px;margin-bottom:3px}.storage-summary strong{font-size:15px}
.panel-lite{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px;box-shadow:var(--shadow)}
.toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}.search{display:flex;gap:9px;flex:1;max-width:560px}.toolbar-actions,.dialog-actions,.detail-head{display:flex;gap:9px;align-items:center}.detail-head{justify-content:space-between}
input,select{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);outline:none;font:inherit}input:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 14%,transparent)}
.button{display:inline-flex;justify-content:center;align-items:center;min-height:40px;padding:9px 14px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--text);cursor:pointer;font:inherit;font-weight:750}.button:hover{background:var(--panel-soft)}.button.primary{background:var(--primary);border-color:var(--primary);color:#fff}.button.primary:hover{background:var(--primary-hover)}
.files-table-wrap{overflow:auto;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}.files-table{width:100%;border-collapse:collapse;min-width:760px}.files-table th,.files-table td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.files-table th{background:var(--panel-soft);color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em}.files-table tbody tr:last-child td{border-bottom:0}.files-table tbody tr:hover{background:var(--panel-soft)}.actions-column{text-align:right!important}.name-cell{display:flex;align-items:center;gap:12px;min-width:0}.name-cell strong{max-width:420px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);font-size:17px}.folder-icon{color:var(--primary);font-size:14px}.row-actions{text-align:right!important;white-space:nowrap}.row-actions a,.link-button{margin-left:14px;color:var(--muted);font:inherit;font-size:13px;background:none;border:0;padding:0;cursor:pointer}.row-actions a:hover,.link-button:hover{color:var(--primary)}.row-actions .danger-link:hover{color:var(--danger)}
.panel,.auth-card,.empty-state{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow)}.auth-card{max-width:460px;margin:7vh auto}.stack{display:grid;gap:16px}.stack label{display:grid;gap:7px;font-weight:700;font-size:13px}
.flash{padding:12px 14px;border-radius:8px;margin-bottom:18px;border:1px solid transparent}.flash.success{background:#eaf8f1;color:var(--success);border-color:#cdeedc}.flash.error{background:#fff0f1;color:#a52f3b;border-color:#f4cfd3}
.empty-state{text-align:center;padding:64px 24px}.empty-state h2{margin:12px 0 6px}.empty-state p{margin:0;color:var(--muted)}.empty-folder{display:inline-grid;place-items:center;width:60px;height:46px;border:1px solid var(--line);border-radius:8px;background:var(--panel-soft);color:var(--primary);font-size:12px;font-weight:800}
.drop-zone{min-height:230px;border:1.5px dashed var(--line);border-radius:10px;display:flex!important;align-items:center;justify-content:center;text-align:center;padding:30px;position:relative;background:var(--panel-soft)}.drop-zone input{position:absolute;inset:0;opacity:0;cursor:pointer}.drop-icon{font-size:34px}
dialog{border:1px solid var(--line);border-radius:12px;padding:24px;background:var(--panel);color:var(--text);min-width:min(440px,92vw);box-shadow:0 24px 70px rgba(0,0,0,.24)}dialog::backdrop{background:rgba(8,13,24,.55)}dialog h2{margin:3px 0 4px;font-size:21px}.dialog-actions{justify-content:flex-end;margin-top:4px}
.preview{margin-top:24px;min-height:360px;display:grid;place-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:10px;overflow:hidden}.preview img,.preview video{max-width:100%;max-height:75vh}.preview iframe{width:100%;height:75vh;border:0}.preview pre{width:100%;margin:0;padding:22px;overflow:auto;white-space:pre-wrap}.share-box{display:flex;gap:10px;margin-top:20px}
@media(max-width:760px){nav a:not(:last-child){display:none}.toolbar,.page-heading,.detail-head{align-items:stretch;flex-direction:column}.search{max-width:none}.toolbar-actions{flex-wrap:wrap}.container{padding:24px 14px 60px}.storage-summary{min-width:0}.files-table th:nth-child(2),.files-table td:nth-child(2),.files-table th:nth-child(4),.files-table td:nth-child(4){display:none}}
