:root{--bg: #0f1419;--surface: #1a2332;--border: #2d3a4f;--text: #e8edf4;--muted: #8b9cb3;--accent: #3b82f6;--accent-hover: #2563eb;--danger: #ef4444;--radius: 10px;font-family:Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0;min-height:100vh}a{color:var(--accent)}.center{text-align:center;padding:3rem}.muted{color:var(--muted)}.error{color:#fca5a5}.success-msg{color:#86efac;margin:0 0 .75rem}.video-error-box{display:flex;flex-direction:column;align-items:center;gap:.75rem;text-align:center;padding:1rem}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;align-items:start}@media (max-width: 768px){.profile-grid{grid-template-columns:1fr}}.profile-card h2{margin:0 0 .75rem;font-size:1.1rem}.profile-hint{font-size:.85rem;margin:0 0 .75rem}.profile-dl{margin:0;display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;font-size:.9rem}.profile-dl dt{color:var(--muted)}.profile-dl dd{margin:0}.profile-form{display:flex;flex-direction:column;gap:.75rem}.profile-form label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.profile-form input{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.9rem}.btn:hover:not(:disabled){border-color:var(--accent)}.btn:disabled{opacity:.6;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.danger{background:var(--danger);border-color:var(--danger);color:#fff}.btn.ghost{background:transparent}.btn.sm{padding:.35rem .65rem;font-size:.8rem}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem}.auth-card{width:100%;max-width:400px;display:flex;flex-direction:column;gap:.75rem}.auth-card h1{margin:0}.auth-card label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.auth-card input{padding:.6rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.auth-footer{text-align:center;font-size:.9rem}.app-shell{max-width:960px;margin:0 auto;padding:1rem}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem}.topbar h1{margin:0;font-size:1.25rem}.topbar nav{display:flex;gap:.5rem}.upload-row{margin-bottom:1rem}.upload-btn{display:inline-block;cursor:pointer}.file-list-wrap{margin-top:.5rem}.file-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.file-list{list-style:none;margin:0;padding:0}.file-list li{border-bottom:1px solid var(--border)}.file-list li.selected{background:#3b82f614}.file-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .25rem;cursor:pointer}.file-info{flex:1;min-width:0;display:flex;flex-direction:column}.file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{font-size:.8rem}.file-actions{display:flex;gap:.35rem;flex-shrink:0}.empty-state{padding:2rem;text-align:center}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.preview-panel{background:var(--surface);border-radius:var(--radius);max-width:min(95vw,900px);max-height:90vh;width:100%;display:flex;flex-direction:column;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid var(--border)}.preview-header h2{margin:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-body{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem;min-height:200px}.preview-media{max-width:100%;max-height:65vh;object-fit:contain}.preview-pdf{width:100%;height:65vh;border:none;background:#fff}.preview-hint{padding:.5rem 1rem;font-size:.75rem;border-top:1px solid var(--border);margin:0}.gallery-overlay .preview-panel,.gallery-panel{max-width:min(98vw,1100px);max-height:95vh;display:flex;flex-direction:column}.gallery-header{flex-wrap:wrap;gap:.5rem}.gallery-title{flex:1;min-width:0}.gallery-title h2{margin:0;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-counter{font-size:.8rem}.gallery-header-actions{display:flex;flex-wrap:wrap;gap:.35rem}.gallery-stage{display:flex;align-items:center;min-height:0;flex:1}.gallery-body{flex:1;min-width:0}.gallery-nav{flex-shrink:0;width:48px;height:48px;border:1px solid var(--border);background:#0006;color:var(--text);border-radius:50%;font-size:1.75rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;margin:0 .5rem}.gallery-nav:hover:not(:disabled){border-color:var(--accent);background:#3b82f640}.gallery-nav:disabled{opacity:.25;cursor:not-allowed}@media (max-width: 600px){.gallery-nav{width:40px;height:40px;font-size:1.5rem;margin:0 .25rem}}.admin-layout{display:grid;grid-template-columns:1fr;gap:1rem}.admin-layout-wide{grid-template-columns:1fr minmax(320px,1.2fr)}@media (max-width: 900px){.admin-layout-wide{grid-template-columns:1fr}}.admin-privacy-note{font-size:.85rem;margin:0 0 1rem}.storage-table-wrap{overflow-x:auto}.storage-table{width:100%;border-collapse:collapse;font-size:.9rem}.storage-table th,.storage-table td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--border)}.storage-table tr.selected{background:#3b82f61a}.admin-files-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem}.admin-files-header h2{margin:0;font-size:1rem}.pool-banner{display:flex;flex-direction:column;gap:.25rem;margin-bottom:1rem;padding:.75rem 1rem}.disk-banner span{font-size:.9rem}.disk-banner-warn{border-color:#f59e0b;background:#f59e0b14}.disk-warn-text{color:#fcd34d;font-size:.85rem}.create-user-form{display:flex;flex-direction:column;gap:.65rem;margin-bottom:1rem}.create-user-form h3{margin:0 0 .25rem}.create-user-form label{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem}.create-user-form input,.create-user-form select{padding:.5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.actions-cell{display:flex;flex-wrap:wrap;gap:.35rem}.quota-bar-wrap{margin-bottom:1rem}.quota-bar-label{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:.35rem}.quota-bar{height:8px;background:var(--border);border-radius:4px;overflow:hidden}.quota-bar-fill{height:100%;background:var(--accent);border-radius:4px;transition:width .2s ease}.assignment-fieldset{border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin:0}.assignment-fieldset legend{padding:0 .35rem;font-size:.85rem}.radio-line{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem;font-size:.9rem;cursor:pointer}.assignment-fieldset select{width:100%;margin-top:.35rem;padding:.5rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.user-filters{margin-bottom:1rem;padding:.75rem 1rem}.filters-row{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end}.filter-field{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;min-width:140px}.filter-field input,.filter-field select{padding:.45rem .6rem;border-radius:8px;border:1px solid var(--border);background:var(--bg);color:var(--text)}.filter-sort-dir{min-width:auto}.filter-hint{margin:.5rem 0 0;font-size:.8rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.storage-table tr.usage-warn{background:#ef44441f}.usage-pct-warn{color:#fca5a5;font-weight:600}.origin-cell{font-size:.8rem;max-width:180px}.admin-users ul{list-style:none;margin:0;padding:0}.user-pick{width:100%;text-align:left;padding:.6rem;border:none;background:transparent;color:var(--text);border-radius:6px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:.5rem}.user-pick:hover,.user-pick.active{background:#3b82f626}.badge{font-size:.65rem;text-transform:uppercase;background:var(--border);padding:.15rem .4rem;border-radius:4px}.drive-explorer{display:flex;flex-direction:column;gap:.75rem}.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.9rem}.crumb-sep{margin:0 .35rem;color:var(--muted)}.crumb-btn{background:none;border:none;color:var(--accent);cursor:pointer;padding:.15rem .25rem;font-size:inherit}.crumb-btn:disabled{color:var(--text);cursor:default;opacity:.9}.toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.upload-status{margin:0;font-size:.85rem}.drive-list{list-style:none;margin:0;padding:0}.drive-list li{border-bottom:1px solid var(--border)}.drive-list li.selected{background:#3b82f614}.drive-row{display:flex;align-items:center;gap:.75rem;padding:.75rem .25rem;width:100%}.folder-row{background:transparent}.folder-open{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;background:none;border:none;color:var(--text);cursor:pointer;text-align:left;padding:0}.folder-open:hover .file-name{color:var(--accent)}.folder-icon,.file-icon{flex-shrink:0;font-size:1.25rem}.file-row{cursor:pointer}
