:root{color-scheme:light;--bg:#f6f7fb;--surface:#fff;--surface-hover:#f1f2f6;--fg:#17181c;--muted:#6b7280;--border:#e5e7eb;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-soft:rgba(37,99,235,.08);--danger:#dc2626;--danger-hover:#b91c1c;--danger-soft:rgba(220,38,38,.08);--shadow-sm:0 1px 2px rgba(16,24,40,.05);--shadow-md:0 4px 12px rgba(16,24,40,.08),0 1px 2px rgba(16,24,40,.04);--shadow-lg:0 20px 40px -12px rgba(16,24,40,.18),0 4px 12px rgba(16,24,40,.06);--radius-sm:8px;--radius-md:12px;--radius-lg:20px;--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--bg:#0b0e14;--surface:#151922;--surface-hover:#1c212c;--fg:#f1f5f9;--muted:#94a3b8;--border:#262c38;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-soft:rgba(59,130,246,.15);--danger:#f87171;--danger-hover:#fca5a5;--danger-soft:hsla(0,91%,71%,.12);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.6)}}:root[data-theme=dark]{color-scheme:dark;--bg:#0b0e14;--surface:#151922;--surface-hover:#1c212c;--fg:#f1f5f9;--muted:#94a3b8;--border:#262c38;--accent:#3b82f6;--accent-hover:#60a5fa;--accent-soft:rgba(59,130,246,.15);--danger:#f87171;--danger-hover:#fca5a5;--danger-soft:hsla(0,91%,71%,.12);--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow-md:0 4px 16px rgba(0,0,0,.4);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.6)}:root[data-theme=sunset]{color-scheme:dark;--bg:#241008;--surface:#33150c;--surface-hover:#3d1a10;--fg:#fdf1ea;--muted:#d3a08c;--border:#4a2013;--accent:#f97316;--accent-hover:#fb923c;--accent-soft:rgba(249,115,22,.18);--danger:#ef4444;--danger-hover:#f87171;--danger-soft:rgba(239,68,68,.16);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 4px 16px rgba(0,0,0,.45);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.65)}:root[data-theme=ocean]{color-scheme:dark;--bg:#07171f;--surface:#0e2530;--surface-hover:#143240;--fg:#e6f6fb;--muted:#83b4c4;--border:#1b3a48;--accent:#22d3ee;--accent-hover:#67e8f9;--accent-soft:rgba(34,211,238,.16);--danger:#fb7185;--danger-hover:#fda4af;--danger-soft:rgba(251,113,133,.16);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 4px 16px rgba(0,0,0,.45);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.65)}:root[data-theme=forest]{color-scheme:dark;--bg:#0a1710;--surface:#12271a;--surface-hover:#183322;--fg:#eafaf0;--muted:#93bfa2;--border:#1f3d2b;--accent:#34d399;--accent-hover:#6ee7b7;--accent-soft:rgba(52,211,153,.16);--danger:#f87171;--danger-hover:#fca5a5;--danger-soft:hsla(0,91%,71%,.16);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 4px 16px rgba(0,0,0,.45);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.65)}:root[data-theme=grape]{color-scheme:dark;--bg:#160b1f;--surface:#221331;--surface-hover:#2c1940;--fg:#f4ecfb;--muted:#b79bd0;--border:#38214d;--accent:#a855f7;--accent-hover:#c084fc;--accent-soft:rgba(168,85,247,.18);--danger:#fb7185;--danger-hover:#fda4af;--danger-soft:rgba(251,113,133,.16);--shadow-sm:0 1px 2px rgba(0,0,0,.35);--shadow-md:0 4px 16px rgba(0,0,0,.45);--shadow-lg:0 24px 48px -12px rgba(0,0,0,.65)}*{box-sizing:border-box}html{height:100%}body{margin:0;min-height:100%;font-family:var(--font-sans);background:var(--bg);color:var(--fg);-webkit-font-smoothing:antialiased}a{color:var(--accent)}button{font-family:inherit;font-size:.9375rem;font-weight:500;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .9rem;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,transform .05s ease,box-shadow .15s ease}button:hover:not(:disabled){background:var(--surface-hover);border-color:var(--muted)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.button-primary{background:var(--accent);border-color:var(--accent);color:#fff}button.button-primary:hover:not(:disabled){background:var(--accent-hover);border-color:var(--accent-hover)}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft);border-color:var(--danger-hover);color:var(--danger-hover)}button.link{background:none;border:none;padding:0;border-radius:0;font-weight:400;color:var(--fg)}button.link:hover:not(:disabled){background:none;color:var(--accent);text-decoration:underline}input:not([type]),input[type=search],input[type=text]{font-family:inherit;font-size:.9375rem;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.55rem .75rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}input:not([type]):focus,input[type=search]:focus,input[type=text]:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}select{font-family:inherit;font-size:.9375rem;color:var(--fg);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.5rem .75rem;outline:none;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}[role=alert]{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:.6rem .9rem;font-size:.875rem;margin:.75rem 0}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem;background:radial-gradient(circle at 15% 20%,var(--accent-soft),transparent 40%),radial-gradient(circle at 85% 80%,var(--accent-soft),transparent 45%),var(--bg)}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:2.5rem 2rem;text-align:center}.auth-language-row{display:flex;justify-content:flex-end;margin-bottom:.75rem}.auth-language-row select{font-size:.8rem;padding:.3rem .5rem}.auth-logo{width:52px;height:52px;margin:0 auto 1.25rem;border-radius:var(--radius-md);background:linear-gradient(135deg,var(--accent),#7c3aed);display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.5rem}.auth-logo-wrap{margin:0 auto 1.25rem;width:88px;height:88px}.logo-img{width:88px;height:88px;object-fit:contain;border-radius:var(--radius-md)}.logo-dark{display:none}.logo-light{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-light{display:none}:root:not([data-theme=light]) .logo-dark{display:block}}:root[data-theme=dark] .logo-light,:root[data-theme=forest] .logo-light,:root[data-theme=grape] .logo-light,:root[data-theme=ocean] .logo-light,:root[data-theme=sunset] .logo-light{display:none}:root[data-theme=dark] .logo-dark,:root[data-theme=forest] .logo-dark,:root[data-theme=grape] .logo-dark,:root[data-theme=light] .logo-light,:root[data-theme=ocean] .logo-dark,:root[data-theme=sunset] .logo-dark{display:block}:root[data-theme=light] .logo-dark{display:none}.auth-card h1{font-size:1.4rem;font-weight:700;margin:0 0 .35rem}.auth-subtitle{color:var(--muted);font-size:.9rem;margin:0 0 1.75rem}.signin-buttons{display:flex;flex-direction:column;gap:.65rem}.google-btn{display:flex;align-items:center;justify-content:center;gap:.65rem;width:100%;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:var(--radius-sm);padding:.65rem 1rem;font-size:.9375rem;font-weight:500;box-shadow:var(--shadow-sm)}.google-btn:hover:not(:disabled){background:#f8f9fa;border-color:#cfd2d6;box-shadow:var(--shadow-md)}.google-btn svg{flex-shrink:0}.onboarding-form{display:flex;flex-direction:column;gap:.9rem;text-align:left}.onboarding-form button,.onboarding-form input{width:100%}.auth-legal{margin:1.25rem 0 0;font-size:.78rem;color:var(--muted)}.auth-legal a{color:var(--muted);text-decoration:underline}.auth-legal a:hover{color:var(--accent)}.policy-card{max-width:560px;text-align:left}.policy-card h1,.policy-card>.auth-subtitle{text-align:center}.policy-section{margin-top:1.25rem}.policy-section h2{font-size:1rem;margin:0 0 .4rem}.policy-section p{margin:0;color:var(--muted);font-size:.9rem;line-height:1.5}.policy-card>a{display:inline-block;margin-top:1.5rem;font-size:.9rem}.drive{max-width:960px;margin:0 auto;padding:0 1.25rem 3rem}.drive-header{display:flex;align-items:center;justify-content:space-between;padding:1.75rem 0 1.25rem}.drive-header h1{font-size:1.5rem;font-weight:700;margin:0}.drive-header-actions{display:flex;align-items:center;gap:.6rem}.drive-header-actions a{font-size:.9rem;font-weight:500;color:var(--muted);text-decoration:none;padding:.5rem .75rem;border-radius:var(--radius-sm)}.drive-header-actions a:hover{background:var(--surface-hover);color:var(--fg)}.drive-toolbar{display:flex;align-items:center;gap:.75rem;padding:0 0 1rem;flex-wrap:wrap}.selection-toolbar{display:flex;gap:.6rem;margin-bottom:1rem}.select-column{width:2.25rem;text-align:center;padding-left:.75rem!important;padding-right:0!important}.drive-toolbar>.breadcrumbs{flex:1 1;min-width:160px}.breadcrumbs{font-size:.9rem;color:var(--muted)}.breadcrumbs .crumb{background:none;border:none;padding:.25rem .15rem;border-radius:6px;font-weight:500;color:var(--muted)}.breadcrumbs .crumb:hover:not(:disabled){background:var(--surface-hover);color:var(--fg)}.breadcrumbs .crumb:disabled{color:var(--fg);opacity:1;cursor:default;font-weight:600}.dropzone{border:1.5px dashed var(--border);border-radius:var(--radius-md);background:var(--surface);min-height:260px;transition:border-color .15s ease,background-color .15s ease;overflow:hidden}.dropzone-active{border-color:var(--accent);background:var(--accent-soft)}.dropzone-toolbar{display:flex;justify-content:flex-end;padding:.75rem;border-bottom:1px solid var(--border)}.upload-progress-list{list-style:none;margin:0 0 1rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.upload-progress-item{display:flex;align-items:center;gap:.75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.6rem .9rem;font-size:.85rem;box-shadow:var(--shadow-sm)}.upload-progress-name{flex:0 0 auto;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-track{flex:1 1;height:6px;border-radius:999px;background:var(--border);overflow:hidden}.upload-progress-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .15s ease}.upload-progress-percent{flex:0 0 auto;width:2.75rem;text-align:right;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.empty{color:var(--muted);text-align:center;padding:3.5rem 1rem;margin:0;font-size:.9rem}.file-table-scroll{overflow-x:auto}.file-table{width:100%;border-collapse:collapse;font-size:.9rem}.file-table th{padding:.6rem 1rem;color:var(--muted);font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em}.file-table td,.file-table th{text-align:left;border-bottom:1px solid var(--border)}.file-table td{padding:.7rem 1rem;vertical-align:middle}.file-table tbody tr{transition:background-color .1s ease}.file-table tbody tr:hover{background:var(--surface-hover)}.file-table tbody tr:last-child td{border-bottom:none}.file-table .link{font-size:.9rem;white-space:nowrap}.row-actions{text-align:right}.row-actions button{margin-left:.4rem;padding:.35rem .65rem;font-size:.8rem}.search-bar{position:relative}.search-bar input{width:220px}.search-results{position:absolute;top:calc(100% + .35rem);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);list-style:none;margin:0;padding:.35rem;z-index:20;max-height:320px;overflow-y:auto}.search-results li button{width:100%;text-align:left;border:none;background:none;border-radius:6px;padding:.5rem .6rem;font-weight:400}.search-results li button:hover{background:var(--surface-hover)}.preview-overlay{position:fixed;inset:0;background:rgba(15,17,21,.7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:50;padding:1.5rem}.preview-content{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:1rem;max-width:90vw;max-height:90vh;overflow:auto}.preview-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem;font-weight:600}.preview-content iframe,.preview-content img{max-width:80vw;max-height:70vh;border-radius:var(--radius-sm);border:none}.settings{max-width:640px;margin:0 auto;padding:2rem 1.25rem 3rem}.settings>a{display:inline-block;font-size:.875rem;color:var(--muted);text-decoration:none;margin-bottom:1rem}.settings>a:hover{color:var(--accent)}.settings h1{font-size:1.6rem;margin:0 0 1.5rem}.settings section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1.25rem 1.5rem;margin-bottom:1rem;box-shadow:var(--shadow-sm)}.settings section h2{font-size:1rem;margin:0 0 .85rem}.settings section form{display:flex;gap:.6rem}.settings section form input{flex:1 1}.settings .storage-bar-track{height:8px;border-radius:999px;background:var(--border);overflow:hidden;margin-top:.6rem}.settings .storage-bar-fill{height:100%;background:var(--accent);border-radius:999px;transition:width .2s ease}.settings .storage-caption{margin:0;color:var(--muted);font-size:.875rem}.settings .signout-row{display:flex;justify-content:flex-end;margin-top:1.5rem}.theme-select{font-size:.9rem}.dialog-overlay{position:fixed;inset:0;background:rgba(15,17,21,.7);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:60;padding:1.5rem}.dialog-content{background:var(--surface);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:1.5rem;width:100%;max-width:380px}.dialog-message{margin:0 0 1rem;font-size:.95rem}.dialog-content input{width:100%;margin-bottom:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:.6rem}.admin{max-width:760px;margin:0 auto;padding:2rem 1.25rem 3rem}.admin>a{display:inline-block;font-size:.875rem;color:var(--muted);text-decoration:none;margin-bottom:1rem}.admin>a:hover{color:var(--accent)}.admin h1{font-size:1.6rem;margin:0 0 1.5rem}.admin-user-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.admin-user{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.admin-user-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem 1rem}.admin-user-summary{flex:1 1;display:flex;align-items:center;gap:1rem;background:none;border:none;text-align:left;padding:.5rem 0;font-weight:400}.admin-user-summary:hover{background:none;color:var(--accent)}.admin-user-name{font-weight:600;min-width:140px}.admin-user-email{flex:1 1;color:var(--muted);font-size:.875rem}.admin-user-storage{color:var(--muted);font-size:.85rem;white-space:nowrap}.admin-user-files{border-top:1px solid var(--border);padding:.75rem 1rem;background:var(--bg)}.admin-file-tree{display:flex;flex-direction:column;gap:.15rem}.admin-file-row{display:flex;align-items:center;gap:.75rem;padding:.35rem 0;font-size:.875rem}.admin-file-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-file-size{color:var(--muted);font-size:.8rem;white-space:nowrap}.admin-file-row button{padding:.3rem .6rem;font-size:.75rem}.drive-brand{display:flex;align-items:center;gap:.65rem;min-width:0}.drive-logo-img{width:40px;height:40px;flex-shrink:0}.drive-brand h1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-header{background:none;border:none;padding:0;font:inherit;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);cursor:pointer}.sort-header:hover{background:none;color:var(--fg)}.dialog-actions-stacked{flex-direction:column;align-items:stretch}.dialog-actions-stacked button{width:100%}@media (max-width:640px){.drive{padding:0 .75rem 2.5rem}.drive-header{padding:1.25rem 0 1rem;gap:.75rem}.drive-header h1{font-size:1.15rem}.drive-logo-img{width:32px;height:32px}.drive-toolbar{gap:.5rem}.drive-toolbar>.breadcrumbs{flex-basis:100%;order:-1}.search-bar,.search-bar input{width:100%}.search-bar{flex:1 1}.updated-column{display:none}.file-table td,.file-table th{padding:.55rem .5rem}.row-actions button{margin:.15rem 0 0 .3rem;padding:.3rem .5rem;font-size:.72rem}.admin,.settings{padding-left:.9rem;padding-right:.9rem}.selection-toolbar{flex-wrap:wrap}}