:root,[data-theme=light]{--color-bg:#fff;--color-bg-secondary:#f4f3ec;--color-text:#1a1a1a;--color-text-muted:#6b6375;--color-border:#e5e4e7;--color-accent:#2563eb;--color-menu-hover:#e5e4e7}[data-theme=dark]{--color-bg:#1e1e1e;--color-bg-secondary:#252526;--color-text:#e5e5e5;--color-text-muted:#9a9a9a;--color-border:#3c3c3c;--color-accent:#4d9dff;--color-menu-hover:#333}[data-theme=modern]{--color-bg:#fff;--color-bg-secondary:#f5f6fa;--color-text:#1f2933;--color-text-muted:#6b7684;--color-border:#d7dde5;--color-accent:#6c5ce7;--color-menu-hover:#eef0f5}body{background-color:var(--color-bg);color:var(--color-text);transition:background-color .15s,color .15s}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif}.admin-dashboard{z-index:100;background:var(--color-bg-secondary);color:var(--color-text);padding:16px;position:fixed;inset:0;overflow-y:auto}.admin-dashboard-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.admin-dashboard-header h2{margin:0}.admin-dashboard-error{color:#c0392b;font-size:13px}.admin-dashboard-stats{color:var(--color-text-muted);flex-wrap:wrap;gap:16px;margin-bottom:16px;font-size:13px;display:flex}.admin-dashboard-table{border-collapse:collapse;width:100%;font-size:13px}.admin-dashboard-table th,.admin-dashboard-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:6px 8px}.admin-dashboard-table th button{color:var(--color-text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.auth-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.auth-form{background:var(--surface-color,#fff);width:320px;color:var(--text-color,#111);border-radius:8px;flex-direction:column;gap:8px;padding:20px;display:flex;box-shadow:0 8px 24px #00000040}.auth-form h2{margin:0 0 4px}.auth-form label{font-size:.85rem}.auth-form input{font:inherit;padding:6px 8px}.auth-form-error{color:#c0392b;margin:0;font-size:.85rem}.auth-form-link{color:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-size:.85rem;text-decoration:underline}.auth-form-close{cursor:pointer;background:0 0;border:none;align-self:flex-end;font-size:.85rem}.account-settings{z-index:100;background:var(--color-bg-secondary);color:var(--color-text);padding:16px;position:fixed;inset:0;overflow-y:auto}.account-settings-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.account-settings-header h2{margin:0}.account-settings-body{flex-direction:column;gap:24px;max-width:420px;margin:0 auto;display:flex}.account-settings-section{border:1px solid var(--color-border);border-radius:4px;padding:12px 16px}.account-settings-section h3{margin-top:0}.account-settings-section.danger{border-color:#c62828}.account-settings-section label{margin-top:8px;font-size:.875rem;display:block}.account-settings-section input[type=password],.account-settings-section input[type=text]{box-sizing:border-box;width:100%;margin-top:4px;padding:6px 8px;display:block}.account-settings-section button{margin-top:12px}.account-settings-error{color:#c62828;font-size:.875rem}.account-settings-success{color:#2e7d32;font-size:.875rem}.editor{resize:none;background:var(--color-bg);width:100%;height:100%;color:var(--color-text);border:none;outline:none;padding:16px;font-family:Consolas,Monaco,Courier New,monospace;font-size:14px;line-height:1.5}.theme-switcher{background-color:var(--color-bg-secondary);color:var(--color-text);border:1px solid var(--color-border);border-radius:4px;padding:4px 8px;font-size:.875rem}.menu{background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);align-items:center;gap:2px;padding:4px 8px;display:flex}.menu-section{position:relative}.menu-trigger{color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px;font-size:.875rem}.menu-trigger:hover,.menu-trigger[aria-expanded=true]{background-color:var(--color-menu-hover)}.menu-dropdown{z-index:10;background-color:var(--color-bg);border:1px solid var(--color-border);border-radius:4px;min-width:180px;margin:2px 0 0;padding:4px 0;list-style:none;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.menu-item{color:var(--color-text);cursor:pointer;white-space:nowrap;padding:6px 14px;font-size:.875rem}.menu-item:hover{background-color:var(--color-menu-hover)}.menu-item-control{cursor:default;justify-content:space-between;align-items:center;gap:8px;display:flex}.menu-item-control:hover{background-color:#0000}.menu-item-clickable{padding:0}.menu-item-button{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;padding:6px 14px;display:block}.menu-spacer{flex:1}.save-as-overlay{z-index:100;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.save-as-form{background:var(--color-bg);width:320px;color:var(--color-text);border-radius:8px;flex-direction:column;gap:8px;padding:24px;display:flex;position:relative}.save-as-close{color:inherit;cursor:pointer;background:0 0;border:none;font-size:16px;line-height:1;position:absolute;top:8px;right:8px}.save-as-error{color:#d32f2f;margin:0;font-size:.85rem}.search-panel{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:8px;width:240px;padding:8px;display:flex;overflow-y:auto}.search-form{flex-direction:column;gap:4px;display:flex}.search-form label{color:var(--color-text-muted);font-size:12px;font-weight:600}.search-trash-toggle{flex-direction:row;align-items:center;gap:6px;display:flex}.search-error{color:#d32f2f;margin:0;font-size:.8rem}.search-results{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.search-result{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:13px;display:block}.search-result:hover{background:var(--color-bg)}.search-empty{color:var(--color-text-muted);padding:4px 6px;font-size:13px}.sidebar{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;gap:8px;width:220px;padding:8px;display:flex;overflow-y:auto}.sidebar-error{color:#d32f2f;margin:0;font-size:.8rem}.sidebar-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.sidebar-list-nested{margin-left:18px}.sidebar-note-row{align-items:center;gap:4px;display:flex}.sidebar-note{text-align:left;width:100%;color:var(--color-text);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:4px 6px;font-size:13px;display:block}.sidebar-note-row>button:last-child{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:11px}.sidebar-note-active{background:var(--color-bg);font-weight:600}.sidebar-folder-row{align-items:center;gap:4px;display:flex}.sidebar-folder-toggle{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px}.sidebar-folder-name{flex:1;font-size:13px;font-weight:600}.sidebar-folder-actions{gap:4px;display:none}.sidebar-folder-row:hover .sidebar-folder-actions{display:flex}.sidebar-folder-actions button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:11px}.sidebar-rename-input{flex:1;font-size:13px}.sidebar-new-folder-trigger{color:var(--color-text-muted);cursor:pointer;text-align:left;background:0 0;border:none;padding:4px 6px;font-size:13px}.sidebar-new-folder{gap:4px;display:flex}.tab-bar{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);align-items:center;gap:2px;padding:4px 8px 0;display:flex;overflow-x:auto}.tab{color:var(--color-text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:6px 6px 0 0;align-items:center;gap:6px;padding:6px 8px 6px 12px;display:flex}.tab-active{background:var(--color-bg);color:var(--color-text)}.tab-title{font-size:13px}.tab-close{color:inherit;cursor:pointer;background:0 0;border:none;padding:0 2px;line-height:1}.tab-new{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:4px 10px;font-size:14px}.csv-preview{border-collapse:collapse;width:100%;font-size:.875rem}.csv-preview th,.csv-preview td{border:1px solid var(--color-border);text-align:left;white-space:pre-wrap;padding:6px 10px}.csv-preview th{background-color:var(--color-bg-secondary);font-weight:600}.csv-preview-empty{color:var(--color-text);padding:16px}.markdown-preview{color:var(--color-text);padding:16px;line-height:1.6;overflow:auto}.markdown-preview pre{background-color:var(--color-bg-secondary);border-radius:4px;padding:8px 12px;overflow-x:auto}.markdown-preview code{font-family:Consolas,Monaco,Courier New,monospace}.trash-panel{background:var(--color-bg-secondary);border-right:1px solid var(--color-border);width:240px;padding:12px;overflow-y:auto}.trash-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.trash-header h2{color:var(--color-text);margin:0;font-size:14px}.trash-error{color:#c0392b;font-size:13px}.trash-list{margin:0;padding:0;list-style:none}.trash-note{color:var(--color-text);justify-content:space-between;align-items:center;gap:6px;padding:4px 6px;display:flex}.trash-empty{color:var(--color-text-muted);padding:4px 6px;font-size:13px}.usage-warning{color:#7a5b00;background-color:#fff3cd;border-bottom:1px solid #f0d68a;padding:8px 14px;font-size:.875rem}.legal-page{z-index:100;background:var(--color-bg-secondary);color:var(--color-text);padding:16px;position:fixed;inset:0;overflow-y:auto}.legal-page-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.legal-page-header h2{margin:0}.legal-page-content{white-space:pre-wrap;max-width:720px;margin:0 auto;line-height:1.5}.legal-page-error{color:#c62828}.app-shell{flex-direction:column;height:100vh;display:flex}.app-body{flex:1;display:flex;overflow:hidden}.app-main-column{flex-direction:column;flex:1;min-width:0;display:flex}.app-main{flex:1;overflow:auto}.import-banner{color:#fff;background:#2e7d32;justify-content:space-between;align-items:center;gap:12px;padding:6px 14px;font-size:.85rem;display:flex}.import-banner button{color:inherit;cursor:pointer;background:0 0;border:none}.error-banner{background:#c62828}
