@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";:root{--color-primary:#4f46e5;--color-primary-hover:#4338ca;--color-background:#f3f4f6;--color-surface:#fff;--color-text-main:#111827;--color-text-muted:#6b7280;--color-border:#e5e7eb;--color-danger:#ef4444;--color-hover:#f3f4f6;--color-selected:#ede9fe;--color-success:#22c55e;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--font-family-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}[data-theme=dark]{--color-primary:#818cf8;--color-primary-hover:#6366f1;--color-background:#1e1e2e;--color-surface:#2a2a3c;--color-text-main:#e4e4ef;--color-text-muted:#9ca3b0;--color-border:#3f3f5a;--color-danger:#f87171;--color-hover:#2f2f42;--color-selected:#3b2d50;--color-success:#4ade80}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:var(--font-family-sans);background:var(--color-background);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{flex-direction:column;height:100%;display:flex}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}[data-theme=dark] ::-webkit-scrollbar-thumb{background:#4a4a60}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:#6b6b85}::selection{background:var(--color-primary);color:#fff}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}a,button,input,select,textarea{font-family:inherit}button{cursor:pointer;background:0 0;border:none}input,select,textarea{background:0 0;border:none;outline:none}.topbar{background:var(--color-primary);color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:.5rem 1rem;display:flex}.topbar-left{align-items:center;gap:var(--spacing-sm);display:flex}.topbar-icon{opacity:.9}.topbar-brand{letter-spacing:-.02em;font-size:.95rem;font-weight:600}.topbar-right{align-items:center;gap:var(--spacing-sm);display:flex}.topbar-user{opacity:.9;font-size:.8rem;font-weight:500}.topbar-btn{color:#fff;opacity:.8;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;transition:opacity .15s,background .15s;display:flex}.topbar-btn:hover{opacity:1;background:#ffffff26}.lang-select{color:#fff;cursor:pointer;appearance:none;text-align:center;background:#ffffff26;border:1px solid #ffffff40;border-radius:4px;padding:.2rem .4rem;font-family:inherit;font-size:.75rem;font-weight:600}.lang-select:hover{background:#ffffff40}.lang-select option{color:var(--color-text-main);background:var(--color-surface)}.lang-select.dark{color:var(--color-text-muted);border-color:var(--color-border);background:0 0;padding:.25rem .5rem;font-size:.8rem}.lang-select.dark:hover{color:var(--color-primary);border-color:var(--color-primary)}.topbar-user-btn{color:#fff;border-radius:6px;align-items:center;gap:4px;padding:.25rem .5rem;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.topbar-user-btn:hover{background:#ffffff26}.field{gap:var(--spacing-xs);flex-direction:column;display:flex}.field label{color:var(--color-primary);font-size:.875rem;font-weight:500}.input-wrap{align-items:center;display:flex;position:relative}.input-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:.75rem}.input-wrap input{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-text-main);border-radius:6px;padding:.625rem .75rem .625rem 2.5rem;font-size:.95rem;transition:border-color .15s,background-color .15s,box-shadow .15s}.input-wrap input:focus{background:var(--color-surface);border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533}.input-wrap input::placeholder{color:var(--color-text-muted);opacity:.7}.eye-btn{width:32px;height:32px;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;transition:color .15s;display:flex;position:absolute;right:6px}.eye-btn:hover{color:var(--color-primary)}.btn-primary,.btn-ghost,.btn-danger{align-items:center;gap:var(--spacing-xs);border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .15s;display:flex}.btn-primary{background:var(--color-primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{color:var(--color-text-muted)}.btn-ghost:hover{background:var(--color-hover)}.btn-danger{background:var(--color-danger);color:#fff}.btn-danger:hover{background:#dc2626}.btn-primary-sm,.btn-danger-sm{border-radius:6px;align-items:center;gap:4px;padding:.375rem .75rem;font-size:.8rem;font-weight:500;transition:background .15s;display:flex}.btn-primary-sm{background:var(--color-primary);color:#fff}.btn-primary-sm:hover{background:var(--color-primary-hover)}.btn-danger-sm{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0}.btn-danger-sm:hover{background:#ef44441a}.submit-btn{justify-content:center;align-items:center;gap:var(--spacing-sm);background:var(--color-primary);color:#fff;border-radius:6px;width:100%;padding:.75rem;font-size:.95rem;font-weight:600;transition:background-color .15s;display:flex}.submit-btn:hover:not(:disabled){background:var(--color-primary-hover)}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.icon-btn{width:30px;height:30px;color:var(--color-text-muted);border-radius:6px;justify-content:center;align-items:center;transition:background .15s,color .15s;display:flex}.icon-btn:hover{background:var(--color-hover);color:var(--color-text-main)}.icon-btn.primary{color:var(--color-primary)}.icon-btn.primary:hover{background:#4f46e51a}.icon-btn.danger:hover{color:var(--color-danger);background:#ef44441a}.error-alert{align-items:center;gap:var(--spacing-sm);color:#991b1b;background:#fee2e2;border:1px solid #fca5a5;border-radius:6px;padding:.625rem .75rem;font-size:.875rem;display:flex}[data-theme=dark] .error-alert{color:#fca5a5;background:#ef444426;border-color:#ef44444d}.error-msg{color:var(--color-danger);font-size:.8rem}.spin{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.shake{animation:.4s cubic-bezier(.36,.07,.19,.97) shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.app-loading{background:var(--color-background);justify-content:center;align-items:center;height:100vh;display:flex}.app-loading .spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.6s linear infinite spin}.overlay{z-index:999;position:fixed;inset:0}.dialog-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog{background:var(--color-surface);border:1px solid var(--color-border);padding:var(--spacing-lg);border-radius:10px;width:90%;max-width:360px;box-shadow:0 8px 24px #0003}.dialog-message{color:var(--color-text-main);margin-bottom:var(--spacing-md);font-size:.9rem}.dialog-input-wrap{margin-bottom:var(--spacing-md)}.dialog-input{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-text-main);border-radius:6px;padding:.5rem .75rem;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.dialog-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533}.dialog-actions{justify-content:flex-end;gap:var(--spacing-sm);display:flex}.empty-state{padding:4rem var(--spacing-md);color:var(--color-text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-icon{margin-bottom:var(--spacing-md);opacity:.4}.empty-state p{margin-bottom:var(--spacing-xs);font-size:1rem;font-weight:500}.empty-hint{opacity:.7;font-size:.8rem}.legal-links{justify-content:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);font-size:.75rem;display:flex}.legal-link{color:var(--color-text-muted);text-decoration:none;transition:color .15s}.legal-link:hover{color:var(--color-primary)}.footer-sep{color:var(--color-text-muted);opacity:.5}.badge{text-transform:uppercase;letter-spacing:.03em;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:600}.active-badge{color:var(--color-primary);background:#4f46e526}.expired-badge{color:var(--color-danger);background:#ef44441a}.login-page{background:var(--color-background);min-height:100vh;padding:var(--spacing-md);justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:400px;padding:var(--spacing-xl);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.brand{text-align:center;margin-bottom:var(--spacing-xl)}.brand-logo{width:48px;height:48px;margin-bottom:var(--spacing-sm)}.brand-name{color:var(--color-primary);letter-spacing:-.025em;font-size:1.5rem;font-weight:700}.login-form{gap:var(--spacing-md);flex-direction:column;display:flex}.login-form .field:last-of-type .input-wrap input{padding-right:3rem}.login-footer{justify-content:center;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-lg);display:flex}.footer-link{color:var(--color-text-muted);border-radius:6px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;transition:color .15s;display:flex}.footer-link:hover{color:var(--color-primary)}.drive-layout{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.drive-body{flex:1;display:flex;overflow:hidden}.mobile-actions{display:none}.mobile-actions-row{gap:var(--spacing-sm);display:flex}.mobile-nav-row{background:var(--color-background);border-radius:8px;gap:2px;padding:2px;display:flex}.mobile-nav-btn{color:var(--color-text-muted);border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;min-height:40px;padding:.5rem;font-size:.75rem;font-weight:500;transition:background .15s,color .15s;display:flex}.mobile-nav-btn:hover{background:var(--color-hover);color:var(--color-text-main)}.mobile-nav-btn.active{background:var(--color-surface);color:var(--color-primary);box-shadow:0 1px 3px #0000001a}.mobile-search-row{padding-top:var(--spacing-xs)}.sidebar{gap:var(--spacing-sm);width:240px;padding:var(--spacing-md);background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex;overflow-y:auto}.upload-btn{align-items:center;gap:var(--spacing-sm);background:var(--color-primary);color:#fff;border-radius:8px;padding:.625rem .75rem;font-size:.875rem;font-weight:500;transition:background .15s;display:flex}.upload-btn:hover{background:var(--color-primary-hover)}.upload-btn.secondary{color:var(--color-text-main);border:1px solid var(--color-border);background:0 0}.upload-btn.secondary:hover{background:var(--color-hover)}.search-wrap{align-items:center;display:flex;position:relative}.search-icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:.625rem}.search-input{border:1px solid var(--color-border);background:var(--color-background);width:100%;color:var(--color-text-main);border-radius:6px;padding:.5rem 2rem .5rem 2.25rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.search-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533}.search-input::placeholder{color:var(--color-text-muted);opacity:.7}.search-clear{width:24px;height:24px;color:var(--color-text-muted);border-radius:4px;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex;position:absolute;right:4px}.search-clear:hover{color:var(--color-text-main);background:var(--color-hover)}.sidebar-nav{margin-top:var(--spacing-sm);flex-direction:column;gap:2px;display:flex}.nav-item{align-items:center;gap:var(--spacing-sm);color:var(--color-text-muted);border-radius:6px;padding:.5rem .75rem;font-size:.875rem;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--color-hover);color:var(--color-text-main)}.nav-item.active{background:var(--color-selected);color:var(--color-primary);font-weight:500}.sidebar-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);margin-top:auto}.quota-bar{margin-bottom:var(--spacing-sm)}.quota-track{background:var(--color-border);border-radius:2px;height:4px;margin-bottom:4px;overflow:hidden}.quota-fill{background:var(--color-primary);border-radius:2px;height:100%;transition:width .3s}.quota-text{color:var(--color-text-muted);font-size:.7rem}.org-name{color:var(--color-text-muted);font-size:.75rem}.content{padding:var(--spacing-lg);flex:1;position:relative;overflow-y:auto}.drop-overlay{z-index:10;justify-content:center;align-items:center;gap:var(--spacing-sm);border:2px dashed var(--color-primary);color:var(--color-primary);pointer-events:none;background:#4f46e514;border-radius:8px;flex-direction:column;font-size:1rem;font-weight:500;display:flex;position:absolute;inset:0}.breadcrumb{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-md);display:flex}.crumb{color:var(--color-primary);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.8rem;transition:background .15s;display:flex}.crumb:hover{background:var(--color-hover)}.loading-state{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xl);color:var(--color-text-muted);font-size:.875rem;display:flex}.file-table{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.file-table.compact .file-table-header,.file-table.compact .file-row{grid-template-columns:1fr 100px 80px}.file-table-header{gap:var(--spacing-sm);background:var(--color-hover);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);grid-template-columns:1fr 100px 120px 48px;padding:.625rem 1rem;font-size:.75rem;font-weight:600;display:grid}.file-row{gap:var(--spacing-sm);cursor:default;border-bottom:1px solid var(--color-border);grid-template-columns:1fr 100px 120px 48px;align-items:center;padding:.5rem 1rem;font-size:.875rem;transition:background .1s;display:grid}.file-row:last-child{border-bottom:none}.file-row:hover{background:var(--color-hover)}.col-name{align-items:center;gap:var(--spacing-sm);min-width:0;display:flex}.file-icon{color:var(--color-text-muted);flex-shrink:0}.file-row:hover .file-icon{color:var(--color-primary)}.file-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.col-size,.col-date{color:var(--color-text-muted);font-size:.8rem}.col-actions{justify-content:center;display:flex}.action-btn{width:28px;height:28px;color:var(--color-text-muted);opacity:0;border-radius:4px;justify-content:center;align-items:center;transition:opacity .1s,background .1s;display:flex}.file-row:hover .action-btn{opacity:1}.action-btn:hover{background:var(--color-border);color:var(--color-text-main)}.trash-actions{gap:4px}.trash-actions .action-btn{opacity:1}.restore-btn:hover{color:var(--color-success);background:#22c55e1a}.delete-btn:hover{color:var(--color-danger);background:#ef44441a}.context-menu{z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-width:180px;padding:4px;position:fixed;overflow:hidden;box-shadow:0 4px 12px #0000001f}.ctx-item{align-items:center;gap:var(--spacing-sm);width:100%;color:var(--color-text-main);border-radius:4px;padding:.5rem .75rem;font-size:.875rem;transition:background .1s;display:flex}.ctx-item:hover{background:var(--color-hover)}.ctx-item.danger{color:var(--color-danger)}.ctx-item.danger:hover{background:#ef44441a}.account-switcher{position:relative}.account-dropdown{z-index:1001;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-width:240px;padding:4px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 4px 12px #00000026}.account-item{cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;padding:.5rem .75rem;transition:background .1s;display:flex}.account-item:hover{background:var(--color-hover)}.account-item.active{background:var(--color-selected)}.account-info{flex-direction:column;gap:2px;min-width:0;display:flex}.account-name{color:var(--color-text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;overflow:hidden}.account-item.active .account-name{color:var(--color-primary);font-weight:500}.account-expired{color:var(--color-danger);font-size:.7rem}.account-remove{width:24px;height:24px;color:var(--color-text-muted);opacity:0;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .1s,background .1s,color .1s;display:flex}.account-item:hover .account-remove{opacity:1}.account-remove:hover{color:var(--color-danger);background:#ef44441a}.account-divider{background:var(--color-border);height:1px;margin:4px 0}.account-action{align-items:center;gap:var(--spacing-sm);width:100%;color:var(--color-text-main);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;transition:background .1s;display:flex}.account-action:hover{background:var(--color-hover)}.share-dialog{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:480px;max-height:85vh;padding:var(--spacing-lg);border-radius:12px;position:relative;overflow-y:auto;box-shadow:0 12px 40px #00000040}.share-dialog-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.share-dialog-header h3{color:var(--color-text-main);font-size:1.1rem;font-weight:600}.share-create-form{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);margin-bottom:var(--spacing-md);border-radius:8px;flex-direction:column;display:flex}.share-form-row{flex-direction:column;gap:4px;display:flex}.share-form-row label{color:var(--color-text-muted);font-size:.75rem;font-weight:500}.share-form-row-half{gap:var(--spacing-sm);grid-template-columns:1fr 1fr;display:grid}.share-input{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-main);border-radius:6px;padding:.5rem .625rem;font-size:.85rem;transition:border-color .15s,box-shadow .15s}.share-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533}.share-select{border:1px solid var(--color-border);background:var(--color-surface);width:100%;color:var(--color-text-main);cursor:pointer;border-radius:6px;padding:.5rem .625rem;font-family:inherit;font-size:.85rem}.share-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #4f46e533}.share-links-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.share-empty{text-align:center;padding:var(--spacing-md);color:var(--color-text-muted);font-size:.85rem}.share-link-card{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:8px;display:flex}.share-link-info{flex:1;min-width:0}.share-link-url{color:var(--color-primary);cursor:pointer;align-items:center;gap:6px;padding:4px 0;font-size:.8rem;transition:opacity .15s;display:flex}.share-link-url:hover{opacity:.8}.share-link-url span{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.copy-icon{opacity:.5;flex-shrink:0}.share-link-url:hover .copy-icon{opacity:1}.share-link-meta{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;margin-top:4px;display:flex}.share-badge{text-transform:uppercase;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:600}.share-badge.view{color:var(--color-primary);background:#4f46e51a}.share-badge.edit{color:#d97706;background:#d977061a}.share-expired{color:var(--color-danger);font-size:.7rem;font-weight:500}.share-meta-text{color:var(--color-text-muted);font-size:.7rem}.share-toast{bottom:var(--spacing-md);background:var(--color-text-main);color:var(--color-surface);border-radius:6px;padding:.375rem .75rem;font-size:.8rem;animation:.2s toast-in;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0003}@keyframes toast-in{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.accounts-overlay{z-index:1100;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.accounts-panel{background:var(--color-surface);border:1px solid var(--color-border);width:100%;max-width:520px;max-height:85vh;padding:var(--spacing-xl);border-radius:12px;overflow-y:auto;box-shadow:0 12px 40px #00000040}.accounts-panel-header{margin-bottom:var(--spacing-lg);justify-content:space-between;align-items:center;display:flex}.accounts-panel-header h2{color:var(--color-text-main);font-size:1.25rem;font-weight:600}.panel-close{color:var(--color-text-muted)}.panel-close:hover{color:var(--color-text-main);background:var(--color-hover)}.header-actions{gap:var(--spacing-sm);display:flex}.add-form{gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:var(--spacing-lg);border-radius:8px;flex-direction:column;display:flex}.add-form .field label{color:var(--color-text-muted);font-size:.8rem}.add-form .input-wrap input{padding:.5rem .625rem .5rem 2.25rem;font-size:.875rem}.add-form .input-icon{left:.625rem}.form-actions{justify-content:flex-end;gap:var(--spacing-sm);margin-top:var(--spacing-xs);display:flex}.account-list{gap:var(--spacing-sm);flex-direction:column;display:flex}.account-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s;display:flex}.account-card.active{border-color:var(--color-primary)}.account-card.expired{opacity:.7}.account-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1rem;font-weight:600;display:flex}.account-details{flex:1;min-width:0}.account-name-row{align-items:center;gap:var(--spacing-xs);display:flex}.account-username{color:var(--color-text-muted);font-size:.8rem}.account-password-row{align-items:center;gap:4px;margin-top:2px;display:flex}.password-value{color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.account-actions{flex-shrink:0;gap:4px;display:flex}.legal-page{min-height:100vh;padding:var(--spacing-xl);background:var(--color-background);justify-content:center;display:flex}.legal-card{width:100%;max-width:600px}.back-link{margin-bottom:var(--spacing-lg);color:var(--color-text-muted);border-radius:4px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.85rem;transition:color .15s;display:inline-flex}.back-link:hover{color:var(--color-primary)}.legal-card h1{color:var(--color-text-main);margin-bottom:var(--spacing-sm);font-size:1.5rem;font-weight:700}.legal-updated{color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:.8rem}.legal-body{color:var(--color-text-main);font-size:.9rem;line-height:1.7}.notfound-page{background:var(--color-background);min-height:100vh;padding:var(--spacing-xl);justify-content:center;align-items:center;display:flex}.notfound-card{text-align:center;max-width:400px}.notfound-code{color:var(--color-primary);margin-bottom:var(--spacing-sm);font-size:5rem;font-weight:800;line-height:1}.notfound-message{color:var(--color-text-main);margin-bottom:var(--spacing-md);font-size:1.1rem}.notfound-contact{color:var(--color-text-muted);margin-bottom:var(--spacing-lg);font-size:.85rem}.notfound-contact a{color:var(--color-primary);font-weight:500;text-decoration:none}.notfound-contact a:hover{text-decoration:underline}.notfound-btn{justify-content:center;text-decoration:none;display:inline-flex}@media (width<=768px){.sidebar{display:none}.drive-body{flex-direction:column}.mobile-actions{gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-direction:column;flex-shrink:0;display:flex}.mobile-actions .upload-btn{white-space:nowrap;padding:.5rem .75rem;font-size:.8rem}.mobile-actions-row{gap:var(--spacing-sm);display:flex;overflow-x:auto}.file-table-header,.file-row,.file-table.compact .file-table-header,.file-table.compact .file-row{grid-template-columns:1fr 48px}.col-size,.col-date{display:none}.topbar{padding:.5rem .75rem;padding-top:max(.5rem, env(safe-area-inset-top))}.topbar-brand{font-size:.85rem}.topbar-user{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.content{padding:var(--spacing-md);padding-bottom:max(var(--spacing-md), env(safe-area-inset-bottom))}.login-card{max-width:90vw}.input-wrap input,.submit-btn{font-size:16px}.submit-btn{min-height:44px}.accounts-panel{max-width:calc(100vw - 2rem);max-height:90vh;padding:var(--spacing-md)}.accounts-panel-header{gap:var(--spacing-sm);flex-direction:column;align-items:flex-start}.account-card{flex-wrap:wrap}.account-actions{width:100%;margin-top:var(--spacing-xs);justify-content:flex-end}.account-dropdown{min-width:200px;right:-8px}.context-menu{max-width:calc(100vw - 2rem)}.legal-page{padding:var(--spacing-md)}.legal-card h1{font-size:1.25rem}.dialog{max-width:calc(100vw - 2rem)}.share-dialog{max-width:calc(100vw - 2rem);max-height:90vh;padding:var(--spacing-md)}.share-form-row-half{grid-template-columns:1fr}.action-btn{min-width:44px;min-height:44px}.topbar-btn{min-width:40px;min-height:40px}.ctx-item,.nav-item{min-height:44px}}@media (width<=480px){.topbar-user{max-width:70px}.topbar-brand{display:none}.login-card{padding:var(--spacing-lg)}.brand-logo{width:40px;height:40px}.brand-name{font-size:1.25rem}.accounts-panel{border-radius:10px;max-width:100%;margin:.5rem}.account-avatar{width:34px;height:34px;font-size:.85rem}.account-name{font-size:.8rem}.account-username{font-size:.7rem}.header-actions{flex-wrap:wrap}.btn-primary-sm,.btn-danger-sm{padding:.3rem .6rem;font-size:.75rem}.file-row{min-height:48px;padding:.5rem .75rem}.file-name{font-size:.85rem}.login-footer{flex-wrap:wrap;justify-content:center}.legal-links{flex-wrap:wrap}.mobile-nav-btn{flex-direction:column;gap:2px;padding:.375rem;font-size:.65rem}}@media (height<=500px) and (orientation:landscape){.drive-layout{height:100dvh}.mobile-actions{flex-flow:wrap}.mobile-nav-row{flex:1}.content{padding:var(--spacing-sm)}}
