.cmdk-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;z-index:1100;padding:12vh 16px 16px}.cmdk{width:100%;max-width:560px;max-height:60vh;display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 8px 40px #0009;overflow:hidden}.cmdk-input-row{display:flex;align-items:center;gap:8px;padding:12px 14px;border-bottom:1px solid var(--border);flex-shrink:0}.cmdk-input-icon{color:var(--text-muted);font-size:14px;flex-shrink:0}.cmdk-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--font-size-md);font-family:inherit;padding:2px 0}.cmdk-input::placeholder{color:var(--text-muted)}.cmdk-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1}.cmdk-group-label{padding:8px 14px 4px;font-size:var(--font-size-xs, 11px);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);-webkit-user-select:none;user-select:none}.cmdk-item{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;color:var(--text-primary);font-size:var(--font-size-sm, 13px)}.cmdk-item:hover{background:var(--bg-hover)}.cmdk-item.is-active{background:var(--bg-selected)}.cmdk-item-icon{width:16px;flex-shrink:0;text-align:center;color:var(--text-secondary)}.cmdk-item.is-active .cmdk-item-icon{color:var(--accent-orange)}.cmdk-item-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmdk-item-hint{flex-shrink:0;font-size:var(--font-size-xs, 11px);color:var(--text-muted)}.cmdk-item-kbd{flex-shrink:0;font-size:var(--font-size-xs, 11px);color:var(--text-secondary);background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:1px 6px}.cmdk-empty{padding:18px 14px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm, 13px)}.cmdk-footer{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--border);flex-shrink:0;font-size:var(--font-size-xs, 11px);color:var(--text-muted)}.cmdk-footer-key{background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:0 5px;margin-right:4px;color:var(--text-secondary)}@media (max-width: 480px){.cmdk-overlay{padding:6vh 8px 8px}.cmdk{max-height:80vh}.cmdk-footer{flex-wrap:wrap;gap:8px}}.tab-bar{display:flex;align-items:stretch;gap:2px;padding:4px 8px 0;background:var(--bg-panel);border-bottom:1px solid var(--border);overflow-x:auto}.tab-item{display:flex;align-items:center;max-width:220px;min-width:90px;border:1px solid var(--border);border-bottom:none;border-radius:6px 6px 0 0;background:var(--bg-base, #161616);font-size:var(--font-size-sm);white-space:nowrap;flex-shrink:0;overflow:hidden}.tab-item.active{background:var(--bg-elevated, var(--bg-panel));border-color:var(--accent, #ff9a3d);border-bottom:1px solid var(--bg-elevated, var(--bg-panel));margin-bottom:-1px}.tab-switch{flex:1;min-width:0;padding:6px 4px 6px 12px;border:none;background:transparent;color:var(--text-secondary);font:inherit;font-size:inherit;text-align:left;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-item:hover .tab-switch{color:var(--text-primary)}.tab-item.active .tab-switch{color:var(--text-primary);font-weight:500}.tab-switch:focus-visible{outline:2px solid var(--accent, #ff9a3d);outline-offset:-2px}.tab-close{flex-shrink:0;width:16px;height:16px;margin-right:6px;line-height:14px;text-align:center;border:none;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;font-size:14px}.tab-close:focus-visible{outline:2px solid var(--accent, #ff9a3d);outline-offset:1px}.tab-close:hover{background:var(--error-bg, rgba(255,80,80,.15));color:var(--error-text, #ff8a80)}.tab-new{flex-shrink:0;align-self:center;width:26px;height:26px;margin-left:4px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-secondary);cursor:pointer;font-size:16px;line-height:1}.tab-new:hover{color:var(--text-primary);border-color:var(--accent, #ff9a3d)}.tab-new:focus-visible{outline:2px solid var(--accent, #ff9a3d);outline-offset:1px}@media (max-width: 640px){.tab-bar{padding:6px 8px 0;gap:4px}.tab-item{min-height:40px;min-width:120px}.tab-switch{padding:8px 6px 8px 14px}.tab-close{width:28px;height:28px;line-height:26px;font-size:18px}.tab-new{width:40px;height:40px;font-size:20px}}@font-face{font-family:Noto Sans Thai;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/noto-sans-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}svg.lucide{vertical-align:-.14em;flex:none}button,input,select,textarea,optgroup{font-family:inherit}:root{--bg-app: #141414;--bg-header: #1c1c1c;--bg-panel: #1e1e1e;--bg-sidebar: #232323;--bg-surface: #252526;--bg-hover: #2a2d2e;--bg-selected: #1e3a5f;--bg-selected2: #264f78;--bg-stripe: rgba(255,255,255,.02);--bg-input: #2d2d30;--border: #333333;--border-light: #3e3e42;--border-focus: #f4831f;--text-primary: #cccccc;--text-secondary: #9d9d9d;--text-muted: #949494;--text-disabled: #444444;--accent-orange: #f4831f;--accent-yellow: #ffca28;--accent-blue: #4fc3f7;--type-string: #4ec9b0;--type-number: #569cd6;--type-boolean: #dab0d5;--type-timestamp: #dcdcaa;--type-reference: #f4831f;--type-geopoint: #9cdcfe;--type-array: #bdbdbd;--type-map: #bdbdbd;--type-null: #aaaaaa;--type-bytes: #e6ad94;--error-bg: rgba(211, 47, 47, .12);--error-text: #ef9a9a;--error-border: #c62828;--header-h: 48px;--breadcrumb-h: 34px;--sidebar-w: 240px;--inspector-w: 340px;--radius-sm: 3px;--radius-md: 5px;--font-ui: "Noto Sans Thai", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", "Fira Code", "Consolas", "Monaco", "Noto Sans Thai", "Courier New", monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 13px;--font-size-base: 14px}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-ui);font-size:var(--font-size-base);background:var(--bg-app);color:var(--text-primary);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scrollbar-width:thin;scrollbar-color:#46464c transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#3e3e42;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#555}::-webkit-scrollbar-corner{background:transparent}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.header{display:flex;align-items:center;gap:12px;height:var(--header-h);min-height:var(--header-h);padding:0 16px;background:var(--bg-header);border-bottom:1px solid var(--border);z-index:100}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.header-logo{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:700;letter-spacing:-.3px;white-space:nowrap;color:var(--text-primary);text-decoration:none;flex-shrink:0}.header-logo-icon{font-size:18px;line-height:1}.header-logo-text{background:linear-gradient(90deg,var(--accent-orange) 0%,var(--accent-yellow) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-divider{width:1px;height:24px;background:var(--border);flex-shrink:0}.header-project-select{height:30px;padding:0 28px 0 10px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-sm);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath fill='%23999' d='M0 0l5 6 5-6z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center;min-width:160px;max-width:240px;transition:border-color .15s}.header-project-select:hover{border-color:var(--accent-orange)}.header-project-select:focus{border-color:var(--accent-orange);box-shadow:0 0 0 2px #f4831f33}.header-project-select option{background:var(--bg-surface)}.header-project-loading{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.header-path-wrap{flex:1;display:flex;align-items:center;gap:8px;min-width:0}.header-path-label{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.header-path-input{flex:1;height:30px;padding:0 10px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);outline:none;transition:border-color .15s;min-width:0}.header-path-input::placeholder{color:var(--text-disabled)}.header-path-input:hover{border-color:var(--border-focus)}.header-path-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 2px #f4831f26}.header-btn{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:15px;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--accent-orange)}.header-btn:active{background:var(--bg-selected)}.header-btn.spinning{animation:spin .7s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.breadcrumb{display:flex;align-items:center;height:var(--breadcrumb-h);min-height:var(--breadcrumb-h);padding:0 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);gap:2px;overflow-x:auto;overflow-y:hidden;white-space:nowrap}.breadcrumb::-webkit-scrollbar{height:3px}.breadcrumb-home{display:flex;align-items:center;font-size:14px;color:var(--text-muted);margin-right:2px}.breadcrumb-sep{color:var(--text-muted);font-size:var(--font-size-sm);margin:0 2px;-webkit-user-select:none;user-select:none}.breadcrumb-seg{padding:2px 6px;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-family:var(--font-mono);cursor:pointer;transition:background .12s,color .12s;color:var(--text-secondary)}.breadcrumb-seg:hover{background:var(--bg-hover);color:var(--text-primary)}.breadcrumb-seg.is-doc{color:var(--accent-yellow)}.breadcrumb-seg.is-collection{color:var(--accent-orange)}.breadcrumb-seg.is-last{color:var(--text-primary);font-weight:500;cursor:default;background:#ffffff0d}.breadcrumb-empty{font-size:var(--font-size-sm);color:var(--text-muted);font-style:italic}.error-banner{display:flex;align-items:center;gap:10px;padding:8px 16px;background:var(--error-bg);border-bottom:1px solid var(--error-border);color:var(--error-text);font-size:var(--font-size-sm);z-index:200}.error-banner-icon{font-size:14px;flex-shrink:0}.error-banner-msg{flex:1;line-height:1.4}.error-banner-close{background:none;border:none;color:var(--error-text);cursor:pointer;font-size:16px;line-height:1;padding:2px 4px;opacity:.7;flex-shrink:0}.error-banner-close:hover{opacity:1}.content-area{display:flex;flex:1;overflow:hidden;border-top:3px solid var(--env-strip-color, transparent)}.row-missing .cell-id{color:#d96bc8;font-style:italic}.missing-badge{margin-left:6px;padding:1px 5px;font-size:9px;font-style:normal;border-radius:var(--radius-sm);background:color-mix(in srgb,#d96bc8 18%,transparent);color:#f5b3e8;vertical-align:middle}.missing-doc-notice{margin:10px 12px;padding:10px 12px;font-size:var(--font-size-xs);line-height:1.6;color:var(--text-secondary);border:1px solid color-mix(in srgb,#d96bc8 40%,transparent);border-radius:var(--radius-sm);background:color-mix(in srgb,#d96bc8 8%,transparent)}.missing-doc-notice-title{display:block;color:#d96bc8;font-weight:600;margin-bottom:4px}.panel-resizer{width:7px;margin:0 -3px;flex-shrink:0;cursor:col-resize;z-index:5;background:transparent;transition:background .15s}.panel-resizer:hover{background:color-mix(in srgb,var(--accent-orange) 35%,transparent)}body.resizing-x{cursor:col-resize;-webkit-user-select:none;user-select:none}body.resizing-x .panel-resizer{background:color-mix(in srgb,var(--accent-orange) 55%,transparent)}body.resizing-x iframe,body.resizing-x .doc-table-wrap{pointer-events:none}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.sidebar-header{padding:10px 12px 8px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.sidebar-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.sidebar-count{font-size:var(--font-size-xs);color:var(--text-secondary);background:#ffffff0a;padding:1px 6px;border-radius:10px}.sidebar-body{flex:1;overflow-y:auto;padding:4px 0}.sidebar-empty{padding:20px 12px;font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;line-height:1.6}.sidebar-loading{display:flex;align-items:center;justify-content:center;padding:24px;gap:8px;color:var(--text-muted);font-size:var(--font-size-sm)}.collection-item{display:flex;align-items:center;gap:7px;padding:5px 12px;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--text-secondary);border-left:2px solid transparent;transition:background .1s,color .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.collection-item:hover{background:var(--bg-hover);color:var(--text-primary)}.collection-item.selected{background:#f4831f1a;border-left-color:var(--accent-orange);color:var(--accent-orange)}.collection-item-icon{font-size:12px;flex-shrink:0;opacity:.6}.collection-item.selected .collection-item-icon{opacity:1}.main-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.query-bar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:0 14px;min-height:40px;background:var(--bg-panel);border-bottom:1px solid var(--border)}.query-bar-collection{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--accent-orange);font-weight:500;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.query-bar-collection-placeholder{color:var(--text-muted);font-style:italic}.query-bar-count{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;flex-shrink:0}.query-bar-sep{width:1px;height:16px;background:var(--border);flex-shrink:0}.table-wrap{flex:1;overflow:auto;position:relative}.doc-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:var(--font-size-sm)}.doc-table thead{position:sticky;top:0;z-index:10}.doc-table th{background:var(--bg-surface);color:var(--text-secondary);font-weight:500;font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.4px;padding:7px 12px;text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;-webkit-user-select:none;user-select:none}.doc-table th.col-id{width:180px;min-width:120px}.doc-table td{padding:5px 12px;border-bottom:1px solid rgba(255,255,255,.04);max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);vertical-align:middle}.doc-table td.cell-id{font-family:var(--font-mono);font-size:var(--font-size-xs);color:#b0b0b0;font-weight:500}.doc-table tr{cursor:pointer;transition:background .08s}.doc-table tr:hover td{background:var(--bg-hover)}.doc-table tr.selected td{background:var(--bg-selected)}.doc-table tr:nth-child(2n) td{background:var(--bg-stripe)}.doc-table tr:nth-child(2n):hover td{background:var(--bg-hover)}.doc-table tr.selected:nth-child(2n) td{background:var(--bg-selected)}.table-empty{padding:40px 24px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm)}.table-loading{display:flex;align-items:center;justify-content:center;padding:40px;gap:10px;color:var(--text-muted);font-size:var(--font-size-sm)}.table-no-project{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:12px;color:var(--text-muted)}.table-no-project-icon{font-size:40px;opacity:.3}.table-footer{display:flex;align-items:center;gap:12px;padding:0 14px;height:36px;min-height:36px;border-top:1px solid var(--border);background:var(--bg-panel)}.table-footer-count{font-size:var(--font-size-xs);color:var(--text-muted);flex:1}.btn-load-more{height:24px;padding:0 12px;background:#f4831f1a;border:1px solid rgba(244,131,31,.3);border-radius:var(--radius-sm);color:var(--accent-orange);font-size:var(--font-size-xs);font-family:var(--font-ui);cursor:pointer;transition:background .15s,border-color .15s}.btn-load-more:hover{background:#f4831f33;border-color:var(--accent-orange)}.btn-load-more:disabled{opacity:.4;cursor:not-allowed}.type-badge{display:inline-flex;align-items:center;height:16px;padding:0 5px;border-radius:var(--radius-sm);font-size:10px;font-family:var(--font-mono);font-weight:600;letter-spacing:.2px;white-space:nowrap;flex-shrink:0}.type-badge[data-type=string]{background:#4ec9b01f;color:var(--type-string)}.type-badge[data-type=number]{background:#569cd61f;color:#8cc0f5}.type-badge[data-type=boolean]{background:#c586c01f;color:var(--type-boolean)}.type-badge[data-type=timestamp]{background:#dcdcaa1f;color:var(--type-timestamp)}.type-badge[data-type=reference]{background:#f4831f1f;color:#fca858}.type-badge[data-type=geopoint]{background:#9cdcfe1f;color:var(--type-geopoint)}.type-badge[data-type=array]{background:#8080801f;color:var(--type-array)}.type-badge[data-type=map]{background:#8080801f;color:var(--type-map)}.type-badge[data-type=null]{background:#5a5a5a1f;color:var(--type-null)}.type-badge[data-type=bytes]{background:#ce91781f;color:var(--type-bytes)}.cell-value{display:inline-flex;align-items:center;gap:5px;max-width:100%}.cell-value-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);font-size:var(--font-size-xs)}.cell-value-text.type-string{color:var(--type-string)}.cell-value-text.type-number{color:#8cc0f5}.cell-value-text.type-boolean{color:var(--type-boolean)}.cell-value-text.type-timestamp{color:var(--type-timestamp)}.cell-value-text.type-reference{color:#fca858}.cell-value-text.type-geopoint{color:var(--type-geopoint)}.cell-value-text.type-array{color:var(--type-array);font-style:italic}.cell-value-text.type-map{color:var(--type-map);font-style:italic}.cell-value-text.type-null{color:var(--type-null);font-style:italic}.cell-value-text.type-bytes{color:var(--type-bytes);font-style:italic}.inspector{width:var(--inspector-w);min-width:var(--inspector-w);background:var(--bg-panel);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.inspector-header{padding:10px 12px 8px;border-bottom:1px solid var(--border);flex-shrink:0}.inspector-header-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted);margin-bottom:6px}.inspector-doc-id{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500;word-break:break-all;line-height:1.4}.inspector-meta{display:flex;flex-direction:column;gap:2px;margin-top:6px}.inspector-meta-row{display:flex;gap:8px;font-size:var(--font-size-xs);color:var(--text-muted)}.inspector-meta-label{flex-shrink:0}.inspector-meta-value{color:var(--text-secondary);font-family:var(--font-mono)}.inspector-body{flex:1;overflow-y:auto}.inspector-section{border-bottom:1px solid var(--border)}.inspector-section-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);background:var(--bg-surface);position:sticky;top:0;z-index:1}.inspector-section-count{background:#ffffff0f;color:#b0b0b0;padding:1px 6px;border-radius:10px;font-size:var(--font-size-xs)}.inspector-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:10px;color:var(--text-muted);padding:32px 20px;text-align:center}.inspector-empty-icon{font-size:32px;opacity:.2}.inspector-loading{display:flex;align-items:center;justify-content:center;padding:32px;gap:8px;color:var(--text-muted);font-size:var(--font-size-sm)}.field-tree{padding:4px 0}.field-row{display:flex;align-items:center;gap:5px;padding:3px 8px 3px 0;min-height:24px;cursor:default;transition:background .08s;border-left:2px solid transparent}.field-row:hover{background:#ffffff0a}.field-row.expandable{cursor:pointer}.field-row.expandable:hover{background:var(--bg-hover)}.field-expand-arrow{display:flex;align-items:center;justify-content:center;width:14px;height:14px;font-size:9px;color:var(--text-muted);flex-shrink:0;transition:transform .15s;transform:rotate(0)}.field-expand-arrow.is-open{transform:rotate(90deg)}.field-expand-placeholder{width:14px;height:14px;flex-shrink:0}.field-name{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--text-secondary);min-width:0;flex-shrink:0;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-colon{color:var(--text-muted);font-size:var(--font-size-xs);flex-shrink:0}.field-value-wrap{display:flex;align-items:center;gap:5px;flex:1;min-width:0;overflow:hidden}.field-value-text{font-family:var(--font-mono);font-size:var(--font-size-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.subcollection-list{padding:4px 0}.subcollection-item{display:flex;align-items:center;gap:8px;padding:6px 14px;cursor:pointer;font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--accent-orange);transition:background .1s}.subcollection-item:hover{background:var(--bg-hover)}.subcollection-item-icon{font-size:11px;opacity:.7}.spinner{display:inline-block;width:14px;height:14px;border:2px solid rgba(255,255,255,.15);border-top-color:var(--accent-orange);border-radius:50%;animation:spin .6s linear infinite}.spinner.sm{width:12px;height:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;height:30px;padding:0 14px;border-radius:var(--radius-sm);font-family:var(--font-ui);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;border:1px solid transparent;transition:background .12s,border-color .12s,color .12s;white-space:nowrap;flex-shrink:0}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:#f4831f2e;border-color:#f4831f80;color:#fca858}.btn-primary:hover:not(:disabled){background:#f4831f47;border-color:var(--accent-orange)}.btn-accent{background:#f4831f1f;border-color:#f4831f4d;color:#ff9a3d;font-size:var(--font-size-xs)}.btn-accent:hover:not(:disabled){background:#f4831f38}.btn-ghost{background:transparent;border-color:var(--border-light);color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-focus)}.btn-danger{background:#d32f2f2e;border-color:#d32f2f80;color:var(--error-text)}.btn-danger:hover:not(:disabled){background:#d32f2f47}.btn-sm{height:24px;padding:0 10px;font-size:var(--font-size-xs)}.btn-xs{height:20px;padding:0 7px;font-size:var(--font-size-xs)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);font-size:12px;padding:0;transition:background .1s,color .1s;flex-shrink:0}.btn-icon:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-icon:disabled{opacity:.3;cursor:not-allowed}.btn-danger-ghost{color:var(--text-muted)}.btn-danger-ghost:hover{color:var(--error-text);background:#d32f2f1a}.toast-container{position:fixed;bottom:20px;right:20px;display:flex;flex-direction:column;gap:8px;z-index:9999;pointer-events:none}.toast{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);min-width:220px;max-width:360px;pointer-events:all;box-shadow:0 4px 16px #00000080;animation:toast-in .2s ease}@keyframes toast-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.toast-success{background:#1a2e1a;border:1px solid #2e5e2e;color:#81c784}.toast-error{background:#2e1a1a;border:1px solid #5e2e2e;color:var(--error-text)}.toast-icon{font-size:13px;flex-shrink:0;font-weight:700}.toast-msg{flex:1;line-height:1.4}.toast-close{background:none;border:none;cursor:pointer;color:inherit;opacity:.6;font-size:16px;line-height:1;padding:0 2px;flex-shrink:0}.toast-close:hover{opacity:1}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);display:flex;flex-direction:column;max-height:calc(100vh - 64px);box-shadow:0 8px 40px #0009}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-title{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary)}.modal-close-btn{background:none;border:none;cursor:pointer;color:var(--text-muted);font-size:20px;line-height:1;padding:0 4px}.modal-close-btn:hover{color:var(--text-primary)}.modal-body{padding:16px;overflow-y:auto;flex:1}.modal-footer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.field-editor{display:flex;flex-direction:column;gap:7px;padding:8px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm)}.fe-row{display:flex;align-items:flex-start;gap:6px}.fe-input{flex:1;height:28px;padding:0 8px;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);outline:none;transition:border-color .12s;min-width:0}.fe-input:focus{border-color:var(--border-focus)}.fe-input::placeholder{color:var(--text-disabled)}.modal .fe-input,.modal .auth-form-input{height:38px;padding:0 12px;font-size:var(--font-size-md)}.create-doc-row>.fe-input,.invite-form>.fe-input,.backup-form>.fe-input,.doc-action-field>.fe-input,.bulk-edit-row>.fe-input{flex:0 0 auto}.modal .fe-textarea{height:auto;min-height:76px;padding:10px 12px}.modal .fe-select{height:38px;font-size:var(--font-size-sm)}.fe-textarea{height:auto;padding:6px 8px;resize:vertical;line-height:1.5;font-size:var(--font-size-xs)}.fe-json-textarea{min-height:90px}.fe-name{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:500}.fe-select{height:28px;padding:0 22px 0 8px;background:var(--bg-panel);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-ui);font-size:var(--font-size-xs);cursor:pointer;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='5'%3E%3Cpath fill='%23888' d='M0 0l4 5 4-5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center;flex-shrink:0}.fe-select:focus{border-color:var(--border-focus)}.fe-select option{background:var(--bg-surface)}.fe-type-select{min-width:96px}.fe-value-wrap{flex:1;min-width:0}.fe-null-label{font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--type-null);padding:4px 8px;font-style:italic}.fe-timestamp-wrap,.fe-geopoint-wrap{display:flex;gap:5px;flex:1;align-items:center}.fe-geo-input{flex:1}.fe-error{font-size:var(--font-size-xs);color:var(--error-text);background:var(--error-bg);border-radius:var(--radius-sm);padding:4px 8px}.fe-actions{display:flex;gap:6px;align-items:center}.field-tree-empty{padding:12px;font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.field-row-editable{position:relative}.field-row-actions{display:none;align-items:center;gap:2px;flex-shrink:0;margin-right:4px}.field-row-editable:hover .field-row-actions{display:flex}.field-action-edit{color:var(--text-muted)}.field-action-edit:hover{color:var(--accent-yellow)}.field-action-delete{color:var(--text-muted);font-size:11px}.field-action-delete:hover{color:var(--error-text)}.field-action-delete-confirm{color:#81c784}.field-action-cancel{color:var(--text-muted)}.field-edit-wrap{padding:4px 8px 6px;border-left:2px solid var(--accent-orange);background:#f4831f0a}.field-edit-label{padding:4px 0;font-size:var(--font-size-xs);color:var(--text-muted)}.add-field-btn-row{padding:6px 8px}.add-field-btn{background:none;border:1px dashed var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);font-family:var(--font-ui);padding:4px 10px;cursor:pointer;width:100%;text-align:left;transition:color .12s,border-color .12s}.add-field-btn:hover{color:var(--accent-orange);border-color:#f4831f66}.add-field-editor-wrap{padding:4px 8px 8px}.json-editor{display:flex;flex-direction:column;gap:8px;padding:10px}.json-editor-hint{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.6;display:flex;flex-wrap:wrap;gap:4px;align-items:baseline}.json-editor-hint-title{color:var(--text-secondary);font-weight:600}.json-editor-hint-sep{color:var(--border-light)}.json-editor-hint code{font-family:var(--font-mono);font-size:10px;background:#ffffff0f;padding:1px 4px;border-radius:2px;color:var(--type-timestamp)}.json-editor-textarea{width:100%;min-height:280px;padding:10px;background:var(--bg-app);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);line-height:1.6;resize:vertical;outline:none;transition:border-color .12s}.json-editor-textarea:focus{border-color:var(--border-focus)}.json-editor-error{font-size:var(--font-size-xs);color:var(--error-text);background:var(--error-bg);border-radius:var(--radius-sm);padding:6px 10px}.json-editor-actions{display:flex;gap:8px}.inspector-header-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.inspector-header-tools{display:flex;align-items:center;gap:4px}.btn-toggle{height:22px;padding:0 8px;background:transparent;border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--font-size-xs);font-family:var(--font-ui);cursor:pointer;transition:background .12s,color .12s}.btn-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-toggle.active{background:#f4831f26;border-color:#f4831f66;color:#ff9a3d}.doc-menu-wrap{position:relative}.doc-menu-trigger{font-size:16px;font-weight:700}.doc-menu-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-md);min-width:180px;z-index:200;box-shadow:0 4px 16px #00000080;overflow:hidden}.doc-menu-item{display:block;width:100%;padding:9px 14px;text-align:left;background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-family:var(--font-ui);cursor:pointer;transition:background .1s,color .1s}.doc-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.doc-menu-item-danger:hover{background:#d32f2f1a;color:var(--error-text)}.delete-recursive-label{display:flex;align-items:center;font-size:var(--font-size-sm);color:var(--text-secondary);cursor:pointer;padding:4px 0}.create-doc-row{display:flex;flex-direction:column;gap:5px;margin-bottom:14px}.create-doc-label{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.4px}.create-doc-path{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--accent-orange)}.create-doc-section{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.create-doc-section-header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:var(--bg-hover);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.create-doc-fields-list{border-bottom:1px solid var(--border)}.create-doc-field-row{display:flex;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid rgba(255,255,255,.04);font-size:var(--font-size-xs)}.create-doc-field-row:last-child{border-bottom:none}.create-doc-add-wrap{padding:8px}.create-doc-add-field-btn{margin:8px;width:calc(100% - 16px);justify-content:flex-start}.sidebar-add-btn{width:20px;height:20px;font-size:15px;font-weight:700;color:var(--text-muted)}.sidebar-add-btn:hover{color:var(--accent-orange);background:#f4831f1a}.query-bar-tools{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0;margin-left:auto}.qb-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;margin-left:5px;border-radius:8px;background:var(--accent-orange);color:#fff;font-size:10px;font-weight:700;line-height:1;vertical-align:middle}.qb-panel{background:var(--bg-surface);border-bottom:1px solid var(--border);padding:10px 14px 8px;display:flex;flex-direction:column;gap:0}.qb-section{margin-bottom:8px}.qb-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0 5px;margin-bottom:4px;border-bottom:1px solid var(--border)}.qb-section-title{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.6px;color:var(--text-muted)}.qb-row{display:flex;align-items:flex-start;gap:6px;margin-bottom:5px}.qb-orderby-row{align-items:center}.qb-input,.qb-select{height:28px;padding:0 7px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-family:var(--font-mono);outline:none;transition:border-color .15s}.qb-input:focus,.qb-select:focus{border-color:var(--border-focus)}.qb-textarea{height:auto;min-height:48px;padding:5px 7px;resize:vertical;line-height:1.4}.qb-field-input{width:140px;flex-shrink:0}.qb-field-combo{position:relative;width:140px;flex-shrink:0}.qb-field-combo .qb-field-input{width:100%;box-sizing:border-box}.qb-field-menu{position:absolute;top:calc(100% + 2px);left:0;z-index:30;width:max-content;min-width:100%;max-width:280px;max-height:220px;overflow-y:auto;margin:0;padding:4px;list-style:none;background:var(--bg-elevated, var(--bg-input));border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 6px 20px #0006}.qb-field-option-hint{margin-left:6px;font-size:10px;color:var(--text-muted);font-style:italic}.qb-field-option{padding:4px 8px;border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);font-family:var(--font-mono);white-space:nowrap;cursor:pointer}.qb-field-option.active{background:var(--bg-hover, rgba(255, 255, 255, .08))}.qb-field-option.current{color:var(--accent, #e8833a)}.qb-op-select{width:140px;flex-shrink:0}.qb-type-select{width:100px;flex-shrink:0}.qb-dir-select{width:90px;flex-shrink:0}.qb-limit-input{width:72px}.qb-value-wrap{flex:1;min-width:0;display:flex;flex-direction:column}.qb-value-wrap .qb-input,.qb-value-wrap .qb-select,.qb-value-wrap .qb-textarea{width:100%}.qb-value-error{margin-top:3px;font-size:11px;line-height:1.3;color:var(--danger, #dc2626)}.qb-value-select{width:100%}.qb-null-label{display:flex;align-items:center;height:28px;padding:0 7px;color:var(--type-null);font-size:var(--font-size-xs);font-family:var(--font-mono);font-style:italic;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input)}.qb-remove-btn{width:26px;height:26px;flex-shrink:0;color:var(--text-muted);font-size:11px;margin-top:1px}.qb-remove-btn:hover{color:#f97316;background:#f973161f}.qb-empty-hint{padding:5px 2px 7px;font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.qb-add-btn{padding:3px 10px;font-size:var(--font-size-xs);color:var(--accent-orange);background:transparent;border:1px solid var(--accent-orange);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.qb-add-btn:hover{background:#f4831f1f}.qb-options-row{display:flex;align-items:center;gap:20px;padding:6px 0 8px;border-top:1px solid var(--border);margin-top:2px}.qb-option-group{display:flex;align-items:center;gap:7px}.qb-option-label{font-size:var(--font-size-xs);color:var(--text-secondary)}.qb-checkbox-label{display:flex;align-items:center;gap:6px;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.qb-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-orange)}.qb-collgroup-hint{color:var(--text-muted)}.qb-collgroup-hint code{font-family:var(--font-mono);color:var(--accent-orange);background:#f4831f1a;padding:0 3px;border-radius:3px}.qb-actions{display:flex;align-items:center;gap:8px;padding-top:6px;border-top:1px solid var(--border)}.col-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.col-sortable:hover{background:var(--bg-hover)}.col-sorted{background:#f4831f12}.col-sorted:hover{background:#f4831f1f}.col-dragging{opacity:.45}.col-drag-over{box-shadow:inset 3px 0 0 var(--accent-orange)}.th-content{display:flex;align-items:center;gap:4px;white-space:nowrap}.sort-arrow{font-size:11px;line-height:1;flex-shrink:0}.sort-arrow-none{color:var(--text-disabled)}.sort-arrow-asc,.sort-arrow-desc{color:var(--accent-orange)}.col-vis-wrap{position:relative}.col-vis-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:200;min-width:180px;max-width:260px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000008c;overflow:hidden}.col-vis-header{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;border-bottom:1px solid var(--border);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.col-vis-list{max-height:240px;overflow-y:auto}.col-vis-item{display:flex;align-items:center;gap:7px;padding:5px 10px;font-size:var(--font-size-xs);cursor:pointer;transition:background .1s}.col-vis-item:hover{background:var(--bg-hover)}.col-vis-item input[type=checkbox]{cursor:pointer;accent-color:var(--accent-orange);flex-shrink:0}.col-vis-grip{color:var(--text-muted);display:inline-flex;cursor:grab;flex-shrink:0}.col-vis-grip-ghost{visibility:hidden}.col-vis-dragging{opacity:.45}.col-vis-drag-over{box-shadow:inset 0 2px 0 var(--accent-orange)}.col-vis-item-fixed{opacity:.55;cursor:default}.col-vis-item-fixed:hover{background:transparent}.col-vis-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);color:var(--text-primary)}.col-vis-fixed{font-size:10px;color:var(--text-muted);font-style:italic}.error-link{color:var(--accent-yellow);text-decoration:underline;word-break:break-all}.error-link:hover{color:#fff}.collection-item{position:relative}.collection-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.collection-menu-wrap{position:relative;flex-shrink:0;margin-left:auto}.collection-menu-btn{width:22px;height:22px;font-size:14px;color:var(--text-muted);opacity:0;transition:opacity .1s;border-radius:var(--radius-sm)}.collection-item:hover .collection-menu-btn,.collection-menu-btn:focus{opacity:1}.collection-menu-dropdown{position:absolute;top:100%;right:0;z-index:300;min-width:160px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0009;overflow:hidden;margin-top:2px}.collection-menu-dropdown-portal{position:fixed;margin-top:0;z-index:1000}.collection-menu-item{display:block;width:100%;padding:7px 14px;font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s}.collection-menu-item:hover{background:var(--bg-hover)}.collection-menu-item-danger{color:#f87171}.collection-menu-item-danger:hover{background:#f871711a}.collection-menu-sep{height:1px;background:var(--border);margin:3px 0}.modal-confirm-input{width:100%;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-sm);outline:none;transition:border-color .15s}.modal-confirm-input:focus{border-color:var(--border-focus)}.doc-menu-sep{height:1px;background:var(--border);margin:3px 0}.export-modal-body,.import-modal-body{display:flex;flex-direction:column;gap:14px}.export-meta-row{display:flex;align-items:center;gap:10px;padding:8px 10px;background:var(--bg-hover);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.export-meta-key{color:var(--text-muted);flex-shrink:0}.export-meta-val{font-family:var(--font-mono);color:var(--accent-orange);font-size:var(--font-size-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.export-field-group{display:flex;align-items:center;gap:10px}.export-field-label{font-size:var(--font-size-xs);color:var(--text-muted);min-width:54px}.export-format-btns{display:flex;gap:4px}.export-format-btn{padding:4px 14px;font-size:var(--font-size-xs);font-weight:500;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.export-format-btn:hover{border-color:var(--border-light);color:var(--text-primary)}.export-format-btn.active{background:#f4831f2e;border-color:var(--accent-orange);color:#ff9a3d}.export-checkbox-label{display:flex;align-items:center;gap:7px;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.export-checkbox-label input[type=checkbox]{cursor:pointer;accent-color:var(--accent-orange)}.export-filter-hint{color:var(--text-muted);font-size:11px}.export-hint{font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.import-file-zone{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px;padding:18px;border:2px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s;background:var(--bg-input);text-align:center;min-height:72px}.import-file-zone:hover{border-color:var(--accent-orange);background:#f4831f0d}.import-file-zone.has-file{border-style:solid;border-color:var(--border-light)}.import-file-icon{font-size:20px;color:var(--text-muted);opacity:.6}.import-file-placeholder{font-size:var(--font-size-xs);color:var(--text-muted)}.import-file-name{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--accent-orange)}.import-mode-hint{font-size:11px;color:var(--text-muted);font-style:italic}.import-parse-error{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.35);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:#f87171}.import-preview{padding:9px 12px;background:#4ade8014;border:1px solid rgba(74,222,128,.25);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary)}.import-preview strong{color:#4ade80}.import-preview-mode{color:var(--accent-yellow);font-weight:600}.import-preview code{font-family:var(--font-mono);color:var(--accent-orange);background:#f4831f1a;padding:0 3px;border-radius:3px}.row-context-menu{position:fixed;z-index:400;min-width:160px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 8px 24px #000000a6;overflow:hidden;padding:3px 0}.row-ctx-item{display:block;width:100%;padding:7px 14px;font-size:var(--font-size-sm);color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s}.row-ctx-item:hover{background:var(--bg-hover)}.view-switcher{display:flex;gap:3px;border-bottom:1px solid var(--border);background:var(--bg-sidebar);padding:8px}.view-tab{flex:0 0 auto;display:grid;grid-template-columns:auto 0fr;align-items:center;column-gap:0;min-width:0;padding:6px 9px;color:var(--text-muted);background:none;border:1px solid transparent;border-radius:999px;cursor:pointer;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1),column-gap .28s cubic-bezier(.4,0,.2,1),background-color .18s,color .18s,border-color .18s}.view-tab-icon{display:inline-flex}.view-tab-label{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--font-size-xs);font-weight:600;opacity:0;transition:opacity .15s}.view-tab.active{flex:0 1 auto}.view-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.view-tab.active{grid-template-columns:auto 1fr;column-gap:6px;color:var(--accent-orange);background:#f4831f1a;border-color:#f4831f59}.view-tab.active .view-tab-label{opacity:1;transition:opacity .2s .1s}.header-project-wrap{display:flex;align-items:center;gap:4px}.header-add-project-btn{width:22px;height:22px;font-size:16px;font-weight:700;color:var(--text-muted);border-radius:var(--radius-sm)}.header-add-project-btn:hover{color:var(--accent-orange);background:#f4831f1a}.add-project-body{display:flex;flex-direction:column;gap:12px}.add-project-hint{font-size:var(--font-size-xs);color:var(--text-muted);line-height:1.6}.add-project-json-textarea{width:100%;min-height:140px;padding:10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:var(--font-size-xs);outline:none;resize:vertical;transition:border-color .15s}.add-project-json-textarea:focus{border-color:var(--border-focus)}.add-project-error{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:#f87171}.add-project-preview{padding:10px 12px;background:#4ade8012;border:1px solid rgba(74,222,128,.22);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px}.add-project-preview-row{display:flex;align-items:center;gap:10px;font-size:var(--font-size-xs)}.add-project-preview-key{min-width:110px;color:var(--text-muted)}.add-project-preview-val{font-family:var(--font-mono);color:var(--accent-orange);font-size:11px;overflow:hidden;text-overflow:ellipsis}.sq-wrap{position:relative}.sq-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:200;min-width:220px;max-width:300px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000008c;overflow:hidden}.sq-header-recent{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border-light)}.sq-recent-title{display:inline-flex;align-items:center;gap:5px;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.sq-header{padding:7px 12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border)}.sq-empty{padding:12px;font-size:var(--font-size-xs);color:var(--text-muted);font-style:italic}.sq-list{max-height:240px;overflow-y:auto}.sq-item{display:flex;align-items:center;border-bottom:1px solid rgba(255,255,255,.04)}.sq-item:last-child{border-bottom:none}.sq-item-name{flex:1;padding:8px 12px;font-size:var(--font-size-xs);color:var(--text-primary);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sq-item-name:hover{background:var(--bg-hover)}.sq-item-meta{font-size:10px;color:var(--text-muted);margin-left:5px}.sq-delete-btn{width:26px;height:26px;font-size:10px;color:var(--text-muted);flex-shrink:0;margin-right:4px}.sq-delete-btn:hover{color:#f87171;background:#f871711a}.ar-wrap,.ar-btn{position:relative}.ar-btn.ar-active{color:var(--accent-orange);border-color:#f4831f66;background:#f4831f14}@keyframes ar-pulse-anim{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.ar-pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent-orange);margin-right:5px;animation:ar-pulse-anim 1.5s ease-in-out infinite}.ar-dropdown{position:absolute;top:calc(100% + 4px);right:0;z-index:200;min-width:160px;background:var(--bg-surface);border:1px solid var(--border-light);border-radius:var(--radius-sm);box-shadow:0 8px 24px #0000008c;overflow:hidden;padding:3px 0}.ar-dropdown-header{padding:6px 12px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);margin-bottom:3px}.ar-option{display:block;width:100%;padding:6px 12px;font-size:var(--font-size-sm);color:var(--text-secondary);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s}.ar-option:hover{background:var(--bg-hover);color:var(--text-primary)}.ar-option.active{color:var(--accent-orange);background:#f4831f14}.ar-last-refresh{padding:5px 12px;font-size:11px;color:var(--text-muted);border-top:1px solid var(--border);margin-top:3px}.qb-save-input{height:26px;padding:0 8px;background:var(--bg-input);border:1px solid var(--border-focus);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);outline:none;width:150px}.qb-save-input::placeholder{color:var(--text-muted)}.auth-view{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--bg-app)}.auth-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bg-panel);border-bottom:1px solid var(--border);gap:12px;flex-shrink:0;flex-wrap:wrap}.auth-toolbar-left{display:flex;align-items:center;gap:10px}.auth-toolbar-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.auth-toolbar-count{font-size:var(--font-size-xs);color:var(--text-muted)}.auth-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.auth-search-input{height:28px;padding:0 10px;width:240px;max-width:100%;min-width:0;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);outline:none;transition:border-color .15s}.auth-search-input:focus{border-color:var(--border-focus)}.auth-content{flex:1;display:flex;min-height:0;overflow:hidden}.auth-list-panel{flex:1;display:flex;flex-direction:column;overflow:auto;min-width:0}.auth-loading{flex:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--text-muted);font-size:var(--font-size-sm)}.auth-loading-more{padding:10px;text-align:center;color:var(--text-muted);font-size:var(--font-size-xs);display:flex;align-items:center;justify-content:center;gap:6px}.auth-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--font-size-sm)}.auth-load-more{padding:10px 16px;border-top:1px solid var(--border);display:flex;justify-content:center}.auth-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs);table-layout:fixed}.auth-table thead{position:sticky;top:0;z-index:1;background:var(--bg-surface)}.auth-table th{padding:8px 12px;text-align:left;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;overflow:hidden}.auth-table td{padding:8px 12px;vertical-align:middle;border-bottom:1px solid rgba(255,255,255,.04);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary)}.auth-table tbody tr{cursor:pointer;transition:background .1s}.auth-table tbody tr:hover{background:var(--bg-hover)}.auth-table tbody tr.selected{background:#f4831f14}.auth-table tbody tr.selected td{color:var(--text-primary)}.auth-user-cell{display:flex;align-items:center;gap:8px;overflow:hidden}.auth-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#1a1a1a;flex-shrink:0}.auth-user-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-uid-cell{font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.auth-cell-empty{color:var(--text-disabled)}.auth-providers{display:flex;gap:4px;flex-wrap:wrap}.auth-provider-badge{display:inline-block;padding:1px 6px;border-radius:10px;background:#ffffff14;font-size:10px;color:var(--text-secondary);font-weight:500}.user-status-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600;background:#4ade801f;color:#4ade80;border:1px solid rgba(74,222,128,.25)}.user-status-badge.disabled{background:#ef44441a;color:#f87171;border-color:#ef444440}.auth-detail-panel{width:320px;flex-shrink:0;border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel)}.auth-detail-header{display:flex;align-items:center;gap:10px;padding:14px 14px 10px;border-bottom:1px solid var(--border);background:var(--bg-surface);flex-shrink:0}.auth-detail-avatar{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#1a1a1a;flex-shrink:0}.auth-detail-header-info{flex:1;min-width:0}.auth-detail-name{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-detail-email{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.auth-detail-body{flex:1;overflow-y:auto;padding:8px 0}.auth-detail-section{padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06)}.auth-detail-section:last-child{border-bottom:none}.auth-detail-section-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-muted);margin-bottom:8px}.auth-detail-row{display:flex;gap:8px;margin-bottom:5px;font-size:var(--font-size-xs);align-items:flex-start}.auth-detail-label{min-width:90px;color:var(--text-muted);flex-shrink:0;padding-top:1px}.auth-detail-value{flex:1;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-wrap:wrap;gap:3px}.auth-claims-textarea{width:100%;padding:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font-mono);font-size:11px;outline:none;resize:vertical;line-height:1.5;transition:border-color .15s}.auth-claims-textarea:focus{border-color:var(--border-focus)}.auth-claims-error{margin-top:4px;font-size:11px;color:#f87171}.auth-actions-section{display:flex;flex-direction:column;gap:8px}.auth-delete-confirm{display:flex;flex-direction:column;gap:6px;padding:8px 10px;background:#ef444412;border:1px solid rgba(239,68,68,.25);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-secondary)}.auth-modal-form{display:flex;flex-direction:column;gap:12px}.auth-form-error{padding:8px 12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:#f87171}.auth-form-label{display:flex;flex-direction:column;gap:5px;font-size:var(--font-size-xs);color:var(--text-secondary)}.auth-form-required{color:#f87171}.auth-form-input{height:32px;padding:0 10px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-xs);outline:none;transition:border-color .15s}.auth-form-input:focus{border-color:var(--border-focus)}.auth-checkbox-row{display:flex;align-items:center;gap:8px;font-size:var(--font-size-xs);color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.auth-checkbox-row input[type=checkbox]{cursor:pointer;accent-color:var(--accent-orange)}.auth-detail-section-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.auth-detail-section-hd .auth-detail-section-title{margin-bottom:0}.auth-props-form{display:flex;flex-direction:column;gap:7px}.auth-props-form-label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--text-muted)}.auth-detail-panel .auth-form-input{height:28px;font-size:11px;padding:0 8px}.auth-props-checkbox{font-size:11px;margin-top:1px}.auth-props-uid-row{margin-top:4px;margin-bottom:0!important}.auth-props-form-actions{display:flex;gap:6px;margin-top:6px}.auth-props-error{font-size:11px;color:#f87171;padding:5px 8px;background:#ef444414;border:1px solid rgba(239,68,68,.2);border-radius:var(--radius-sm)}.cell-editor-popover{position:fixed;z-index:500;background:var(--bg-surface);border:1px solid var(--accent-orange);border-radius:var(--radius-md);box-shadow:0 8px 32px #000000b3,0 0 0 1px #f4831f26;padding:8px;display:flex;flex-direction:column;gap:6px}.cell-editor-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:2px 2px 4px;border-bottom:1px solid var(--border);margin-bottom:2px}.cell-editor-field-name{font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:600;color:var(--accent-orange);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-editor-doc-id{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:4px}.cell-editor-new-badge{display:inline-block;padding:0 5px;border-radius:8px;background:#4ade801f;border:1px solid rgba(74,222,128,.3);color:#4ade80;font-size:9px;font-weight:700;font-family:var(--font-ui);text-transform:uppercase;letter-spacing:.3px}.cell-editor-hint{font-size:10px;color:var(--text-muted);text-align:center;padding:2px 0 1px;border-top:1px solid var(--border);margin-top:2px;letter-spacing:.1px}.doc-table td.cell-id{cursor:default}.doc-table td.cell-id:hover{color:var(--text-primary)}.doc-table td[data-col]{cursor:default}.doc-table td[data-col]:hover{background:var(--bg-hover);outline:1px solid rgba(244,131,31,.2);outline-offset:-1px}.doc-table tr.selected td[data-col]:hover{outline-color:#f4831f59}.apm-tabs{display:flex;gap:0;margin:-16px -16px 14px;border-bottom:1px solid var(--border);background:var(--bg-hover);padding:0 16px}.apm-tab{padding:10px 18px 9px;font-size:var(--font-size-sm);font-weight:500;color:var(--text-muted);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;margin-bottom:-1px;transition:color .15s,border-color .15s;white-space:nowrap}.apm-tab:hover{color:var(--text-primary)}.apm-tab.active{color:var(--accent-orange);border-bottom-color:var(--accent-orange)}.google-tab-body{display:flex;flex-direction:column;gap:10px;min-height:100px}.google-tab-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:24px 0;color:var(--text-muted);font-size:var(--font-size-sm)}.google-tab-error{padding:8px 12px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--error-text)}.adc-status-bar{display:flex;align-items:center;gap:7px;padding:7px 10px;background:#4ade800f;border:1px solid rgba(74,222,128,.2);border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.adc-status-dot{width:7px;height:7px;border-radius:50%;background:#4ade80;flex-shrink:0;box-shadow:0 0 0 2px #4ade8040}.adc-status-label{color:var(--text-muted);flex-shrink:0}.adc-status-email{font-family:var(--font-mono);color:#4ade80;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adc-recheck-btn{flex-shrink:0;margin-left:auto}.adc-instruction{display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#ffca280f;border:1px solid rgba(255,202,40,.25);border-radius:var(--radius-md)}.adc-instruction-title{font-size:var(--font-size-sm);font-weight:600;color:var(--accent-yellow)}.adc-instruction-error{font-weight:400;font-size:var(--font-size-xs);color:var(--text-muted)}.adc-instruction-text{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.5}.adc-instruction-cmd{padding:8px 12px;background:var(--bg-app);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--font-size-xs);color:#4ade80;letter-spacing:.2px;-webkit-user-select:all;user-select:all}.adc-code{font-family:var(--font-mono);font-size:11px;background:#ffffff0f;padding:0 4px;border-radius:3px;color:var(--text-secondary)}.adc-link{color:var(--accent-yellow);text-decoration:underline}.adc-link:hover{color:#fff}.gp-search-wrap{position:relative}.gp-search{width:100%;height:30px;padding:0 10px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);outline:none;transition:border-color .15s}.gp-search:focus{border-color:var(--border-focus)}.gp-search::placeholder{color:var(--text-muted)}.gp-table-wrap{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;max-height:280px;overflow-y:auto}.gp-table{width:100%;border-collapse:collapse;font-size:var(--font-size-xs)}.gp-table th{position:sticky;top:0;background:var(--bg-surface);z-index:1;padding:7px 10px;text-align:left;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap}.gp-table td{padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle;color:var(--text-primary)}.gp-table tbody tr:last-child td{border-bottom:none}.gp-table tbody tr:hover td{background:var(--bg-hover)}.gp-table tbody tr.gp-row-muted td{color:var(--text-muted)}.gp-th-name,.gp-td-name{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-th-pid,.gp-td-pid{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gp-th-badges,.gp-td-badges{width:90px;white-space:nowrap}.gp-th-action,.gp-td-action{width:56px;text-align:right}.gp-no-name{color:var(--text-muted)}.gp-use-btn{white-space:nowrap}.gp-badge{display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;font-size:10px;font-weight:600;font-family:var(--font-ui);letter-spacing:.2px;white-space:nowrap;margin-right:3px}.gp-badge-added{background:#4ade801f;border:1px solid rgba(74,222,128,.3);color:#4ade80}.gp-badge-sa{background:#f4831f1f;border:1px solid rgba(244,131,31,.3);color:var(--accent-orange)}.gp-badge-unknown{background:#ffca281a;border:1px solid rgba(255,202,40,.3);color:var(--accent-yellow)}.gp-hint{font-size:11px;color:var(--text-muted);line-height:1.5;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.gp-empty{padding:20px;text-align:center;color:var(--text-muted);font-size:var(--font-size-sm);border:1px solid var(--border);border-radius:var(--radius-sm)}.app-init{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-app)}.login-gate{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-app);display:flex;align-items:center;justify-content:center;padding:24px}.login-gate-card{display:flex;flex-direction:column;align-items:center;gap:20px;background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:40px 48px;width:100%;max-width:400px;box-shadow:0 8px 32px #00000059}.login-gate-logo{display:flex;align-items:center;gap:10px}.login-gate-fire{font-size:36px;line-height:1}.login-gate-brand{font-size:26px;font-weight:700;color:var(--text-primary);letter-spacing:-.5px}.login-gate-desc{font-size:var(--font-size-sm);color:var(--text-muted);text-align:center;margin:0;line-height:1.5}.login-gate-error{width:100%;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:#f87171;text-align:center}.login-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:42px;padding:0 20px;background:#fff;border:1px solid #dadce0;border-radius:4px;color:#3c4043;font-family:"Roboto",var(--font-ui);font-size:14px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .12s,box-shadow .12s;letter-spacing:.25px;box-shadow:0 1px 2px #3c404333}.login-google-btn:hover{background:#f8f9fa;box-shadow:0 2px 6px #3c404340}.login-google-btn:active{background:#f1f3f4;box-shadow:none}.account-chip{position:relative;margin-left:auto;flex-shrink:0}.account-chip-btn{display:flex;align-items:center;gap:7px;height:30px;padding:0 8px 0 4px;background:var(--bg-hover);border:1px solid var(--border);border-radius:20px;cursor:pointer;transition:background .12s,border-color .12s;max-width:220px}.account-chip-btn:hover,.account-chip-btn.open{background:#f4831f14;border-color:#f4831f4d}.account-avatar{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}.account-email-text{font-size:11px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.account-chevron{font-size:9px;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.account-chip-btn.open .account-chevron{transform:rotate(180deg)}.account-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:600;min-width:200px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 6px 20px #0000004d;overflow:hidden;animation:fadeSlideDown .1s ease}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.account-menu-email{padding:10px 14px 8px;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-divider{height:1px;background:var(--border);margin:0}.account-menu-item{display:block;width:100%;padding:9px 14px;font-size:var(--font-size-sm);color:var(--text-secondary);background:none;border:none;text-align:left;cursor:pointer;transition:background .1s,color .1s}.account-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.ref-link{background:none;border:none;padding:0;color:#fca858;cursor:pointer;font-size:inherit;font-family:inherit;text-decoration:underline dotted;text-align:left;line-height:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:280px}.ref-link:hover{color:#ffc078}.field-img-thumb{width:24px;height:24px;object-fit:cover;border-radius:3px;border:1px solid var(--border);cursor:zoom-in;margin-left:6px;vertical-align:middle;flex-shrink:0}.field-img-thumb-inline{width:80px;height:80px;margin-top:4px;margin-left:0}.field-img-thumb-btn{display:inline-flex;padding:0;border:0;background:none;cursor:zoom-in;line-height:0;border-radius:3px;flex-shrink:0}.field-img-thumb-btn:focus-visible{outline:2px solid var(--accent, #4f8cff);outline-offset:2px}.field-img-thumb-inline .field-img-thumb{width:80px;height:80px;margin-top:0;margin-left:0}.fe-img-preview{display:block;max-width:100%;max-height:160px;margin-top:6px;border-radius:4px;border:1px solid var(--border);object-fit:contain;background:#111}.img-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;z-index:9999;display:flex;align-items:center;justify-content:center;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.img-lightbox-content{position:relative;max-width:90vw;max-height:90vh}.img-lightbox-img{display:block;max-width:90vw;max-height:88vh;border-radius:6px;object-fit:contain}.img-lightbox-close{position:absolute;top:-12px;right:-12px;width:28px;height:28px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border);color:var(--text-secondary);font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.img-lightbox-close:hover{color:var(--text-primary);background:var(--bg-hover)}.tree-view{flex:1;overflow-y:auto;padding:0 0 8px}.tree-doc{border-bottom:1px solid var(--border)}.tree-doc-row{display:flex;align-items:center;gap:6px;padding:5px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .1s}.tree-doc-row:hover{background:var(--bg-hover)}.tree-doc-row.selected{background:var(--bg-selected)}.tree-doc-row.row-missing{opacity:.55}.tree-doc-arrow{background:none;border:none;padding:0 2px;color:var(--text-muted);font-size:10px;cursor:pointer;transition:transform .12s,color .12s;line-height:1}.tree-doc-arrow.is-open{transform:rotate(90deg);color:var(--accent-orange)}.tree-doc-id{font-family:var(--font-mono);font-size:12px;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tree-doc-meta{font-size:11px;color:var(--text-muted);white-space:nowrap}.tree-doc-fields{padding:4px 0 8px 28px;border-top:1px solid var(--border);background:var(--bg-stripe)}.tree-subcols{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border)}.tree-subcols-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;padding-right:8px}.tree-subcols-status{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted);padding:2px 0}.tree-subcols-error{color:var(--accent-red, #e5484d)}.tree-subcol-item{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;color:var(--accent-orange);font-family:var(--font-mono);font-size:13px;text-align:left;padding:4px 8px;border-radius:4px;cursor:pointer}.tree-subcol-item:hover{background:var(--bg-hover)}.tree-subcol-name{flex:1}.tree-subcol-arrow{font-size:11px;opacity:0;transition:opacity .1s}.tree-subcol-item:hover .tree-subcol-arrow{opacity:.7}.col-checkbox{width:32px;min-width:32px;padding:0 4px;text-align:center}.col-checkbox input[type=checkbox]{cursor:pointer}.row-checked>td{background:#f4831f0f!important}.bulk-action-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:var(--font-size-sm)}.bulk-action-count{color:var(--text-secondary);min-width:80px}.bulk-edit-body{display:flex;flex-direction:column;gap:12px}.bulk-edit-hint{margin:0;font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.4}.bulk-edit-row{border:1px solid var(--border);border-radius:6px;padding:10px;display:flex;flex-direction:column;gap:8px;background:var(--bg-surface)}.bulk-edit-row-head{display:flex;align-items:center;gap:8px}.bulk-edit-field{flex:1 1 auto;min-width:0}.bulk-edit-field-combo{width:auto;flex:1 1 auto;min-width:0}.bulk-edit-field-combo>.fe-input{width:100%;box-sizing:border-box}.bulk-edit-op{flex:0 0 auto;width:130px}.bulk-edit-remove{flex:0 0 auto;font-size:16px;line-height:1;padding:0 8px}.bulk-edit-value{border-top:1px solid var(--border-light);padding-top:8px}.bulk-edit-uncommitted{display:block;margin-top:4px;font-size:var(--font-size-xs, 11px);color:var(--text-muted)}.bulk-edit-add{align-self:flex-start}.bulk-delete-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;z-index:500;display:flex;align-items:center;justify-content:center}.bulk-delete-dialog{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;padding:20px 24px;min-width:300px;box-shadow:0 8px 24px #00000080}.bulk-delete-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.bulk-delete-body{font-size:12px;color:var(--text-secondary);margin-bottom:16px}.bulk-delete-actions{display:flex;gap:8px}.count-result-chip{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;background:#f4831f26;border:1px solid rgba(244,131,31,.35);border-radius:10px;font-size:12px;color:var(--accent-orange);white-space:nowrap}.count-result-clear{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:0;line-height:1}.count-result-clear:hover{color:var(--text-primary)}.view-mode-toggle{display:flex;border:1px solid var(--border);border-radius:4px;overflow:hidden}.view-mode-btn{background:none;border:none;padding:3px 8px;font-size:11px;color:var(--text-secondary);cursor:pointer;transition:background .1s,color .1s;white-space:nowrap}.view-mode-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.view-mode-btn.active{background:var(--bg-selected2);color:var(--text-primary)}.copy-col-body{display:flex;flex-direction:column;gap:14px}.copy-col-select,.copy-col-input{width:100%}.bulk-delete-recursive{display:flex;align-items:center;gap:7px;font-size:var(--font-size-xs);color:var(--text-secondary);margin:4px 0 12px;cursor:pointer}.bulk-delete-recursive input{accent-color:var(--accent-orange);cursor:pointer}.protection-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.05em;line-height:1.4;flex-shrink:0}.protection-badge-readonly{background:#7878782e;color:#a0a0a0;border:1px solid #555}.protection-badge-prod{background:#d32f2f2e;color:#ff8a80;border:1px solid #c62828}.env-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.4;color:#fff;flex-shrink:0;text-shadow:0 1px 1px rgba(0,0,0,.35)}.trial-badge{display:inline-flex;align-items:center;padding:2px 9px;border-radius:3px;font-size:11px;font-weight:700;letter-spacing:.02em;line-height:1.4;flex-shrink:0;cursor:pointer;font-family:inherit}.trial-badge:focus-visible{outline:2px solid var(--accent-orange);outline-offset:1px}.trial-badge-active{background:#f4831f1f;color:#ff9a3d;border:1px solid rgba(244,131,31,.4)}.trial-badge-active:hover{background:#f4831f33}.trial-badge-expired{background:#d32f2f2e;color:#ff8a80;border:1px solid #c62828}.trial-badge-expired:hover{background:#d32f2f47}.proj-settings-section-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:8px}.proj-settings-section-desc{font-size:11px;color:var(--text-muted);line-height:1.5;margin:-2px 0 10px}.env-label-options{display:flex;gap:6px;flex-wrap:wrap}.env-label-option{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;font-size:12px;color:var(--text-secondary);background:none;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s,color .1s,border-color .1s}.env-label-option:hover{background:var(--bg-hover);color:var(--text-primary)}.env-label-option.selected{background:var(--bg-selected2);color:var(--text-primary);border-color:var(--accent-orange)}.env-label-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.env-color-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.env-color-swatch{width:24px;height:24px;border-radius:var(--radius-sm);border:2px solid transparent;cursor:pointer;padding:0}.env-color-swatch:hover{filter:brightness(1.15)}.env-color-swatch.selected{border-color:var(--text-primary)}.env-color-swatch.env-color-auto{width:auto;display:inline-flex;align-items:center;gap:5px;padding:0 8px;font-size:11px;color:var(--text-secondary);background:none;border:1px solid var(--border)}.env-color-swatch.env-color-auto.selected{border-color:var(--text-primary);color:var(--text-primary)}.env-color-hex{width:76px;height:24px;padding:0 6px;font-family:var(--font-mono);font-size:11px;background:var(--bg-input, var(--bg-surface));color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm)}.env-color-hex.invalid{border-color:#e53935}.bulk-delete-warning{display:block;margin:0 0 12px;padding:8px 10px;font-size:12px;line-height:1.5;color:#ffb74d;background:#f59e0b1f;border:1px solid rgba(245,158,11,.45);border-radius:var(--radius-sm);max-width:340px}.btn-icon.header-settings-btn{width:28px;height:28px;font-size:14px;opacity:.65}.btn-icon.header-settings-btn:hover{opacity:1}.readonly-banner{display:flex;align-items:center;gap:8px;background:#7878781a;border-bottom:1px solid #555;padding:6px 16px;font-size:12px;color:#a0a0a0}.readonly-banner-icon{font-size:14px;opacity:.7}.proj-settings-body{display:flex;flex-direction:column;gap:8px}.proj-settings-radio{display:flex;align-items:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s,border-color .1s}.proj-settings-radio:hover{background:var(--bg-hover)}.proj-settings-radio.selected{border-color:var(--accent-orange);background:#f4831f0f}.proj-settings-radio input[type=radio]{margin-top:2px;accent-color:var(--accent-orange);flex-shrink:0;cursor:pointer}.proj-settings-radio-content{display:flex;flex-direction:column;gap:2px}.proj-settings-radio-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:500;color:var(--text-primary)}.proj-settings-radio-desc{font-size:11px;color:var(--text-secondary);line-height:1.45}.prod-confirm-body{display:flex;flex-direction:column;gap:12px}.prod-confirm-op-label{font-size:13px;color:var(--text-primary);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 12px;font-family:var(--font-mono);word-break:break-all}.prod-confirm-warn{display:flex;align-items:flex-start;gap:8px;padding:9px 12px;background:#d32f2f1a;border:1px solid #c62828;border-radius:var(--radius-sm);font-size:12px;color:#ef9a9a;line-height:1.5}.prod-confirm-warn-icon{font-size:15px;flex-shrink:0;margin-top:1px}.prod-confirm-label{font-size:12px;color:var(--text-muted);margin-bottom:2px}.prod-confirm-label strong{color:var(--text-primary);font-family:var(--font-mono)}.audit-view{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel);padding:0}.audit-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.audit-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.audit-table-wrap{flex:1;overflow:auto}.audit-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-primary)}.audit-table thead th{padding:8px 10px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--bg-surface);position:sticky;top:0;z-index:1;white-space:nowrap}.audit-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04)}.audit-table tbody tr:hover{background:var(--bg-hover)}.audit-table td{padding:7px 10px;vertical-align:top}.audit-ts{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);white-space:nowrap}.audit-path-link{font-family:var(--font-mono);font-size:11px;color:var(--accent-blue);cursor:pointer;word-break:break-all;background:none;border:none;padding:0;text-align:left}.audit-path-link:hover{text-decoration:underline;color:var(--accent-orange)}.audit-summary{font-size:11px;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-width:260px}.audit-user{font-size:11px;color:var(--text-secondary);white-space:nowrap}.audit-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.audit-load-more{display:flex;justify-content:center;padding:12px;border-top:1px solid var(--border);flex-shrink:0}.audit-error{padding:16px;color:var(--error-text);font-size:13px;text-align:center}.audit-action-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.audit-action-badge-delete{background:#d32f2f33;color:#ef5350}.audit-action-badge-create{background:#388e3c33;color:#66bb6a}.audit-action-badge-update{background:#1976d233;color:#42a5f5}.audit-action-badge-import,.audit-action-badge-copy{background:#e6770033;color:#ffa726}.audit-action-badge-other{background:#ffffff14;color:var(--text-primary)}.members-view{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;background:var(--bg-panel);padding:0}.members-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0;flex-wrap:wrap}.members-toolbar-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1;min-width:0}.members-table-wrap{flex:1;overflow:auto}.members-table{width:100%;border-collapse:collapse;font-size:12px;color:var(--text-primary)}.members-table thead th{padding:8px 12px;text-align:left;font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);background:var(--bg-surface);position:sticky;top:0;z-index:1;white-space:nowrap}.members-table tbody tr{border-bottom:1px solid rgba(255,255,255,.04)}.members-table tbody tr:hover{background:var(--bg-hover)}.members-table td{padding:8px 12px;vertical-align:middle}.members-email{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);word-break:break-all}.members-login{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);white-space:nowrap}.members-muted{color:var(--text-muted)}.members-role-cell{display:flex;align-items:center;gap:8px}.members-role-select{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:12px}.members-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.members-error{padding:16px;color:var(--error-text);font-size:13px;text-align:center}.members-footer{display:flex;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--border);flex-shrink:0}.members-footer-count{font-size:11px;color:var(--text-muted)}.members-audit{padding:12px 16px 20px;border-top:1px solid var(--border)}.members-audit-title{font-size:12px;font-weight:600;color:var(--text-muted);margin-bottom:8px}.members-audit-table{width:100%;border-collapse:collapse;font-size:12px}.members-audit-table th{text-align:left;font-weight:500;color:var(--text-muted);padding:4px 8px;border-bottom:1px solid var(--border)}.members-audit-table td{padding:5px 8px;border-bottom:1px solid var(--border-subtle, var(--border));vertical-align:top}.members-audit-ts{color:var(--text-muted);white-space:nowrap}.members-audit-by{white-space:nowrap}.members-audit-summary{color:var(--text)}.member-role-badge{display:inline-flex;align-items:center;padding:1px 7px;border-radius:10px;font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.member-role-badge-admin{background:#e6770033;color:#ffa726}.member-role-badge-member{background:#1976d233;color:#42a5f5}.member-role-badge-viewer{background:#7878782e;color:#a0a0a0}.members-col-access{white-space:nowrap;width:1%}.members-acl-row>td{padding:0 12px 12px;background:var(--bg-surface)}.acl-editor{display:flex;flex-direction:column;gap:10px;padding:12px 14px;border:1px solid var(--border);border-radius:6px;background:var(--bg-panel);font-size:12px;color:var(--text-primary)}.acl-warning{font-size:11px;color:#ffa726;background:#e677001a;border:1px solid rgba(230,119,0,.25);border-radius:4px;padding:6px 8px}.acl-row{display:flex;align-items:center;gap:8px}.acl-label{font-size:11px;font-weight:600;color:var(--text-muted);min-width:60px}.acl-select{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:3px 6px;font-size:12px}.acl-error{color:var(--error-text);font-size:12px}.acl-loading{display:flex;align-items:center;gap:8px;color:var(--text-muted);padding:6px 0}.acl-toggle{display:inline-flex;align-items:center;gap:8px;cursor:pointer;font-size:12px}.acl-hint{font-size:11px;color:var(--text-muted);line-height:1.5}.acl-hint code{font-family:var(--font-mono);background:var(--bg-surface);border-radius:3px;padding:0 3px}.acl-rules{display:flex;flex-direction:column;gap:6px}.acl-rules-head,.acl-rule-row{display:grid;grid-template-columns:1fr 90px 60px 32px;align-items:center;gap:8px}.acl-rules-head{font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:0 2px}.acl-rules-empty{font-size:11px;color:var(--text-muted);padding:4px 2px}.acl-pattern-input{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:4px 7px;font-size:12px;font-family:var(--font-mono);width:100%}.acl-level-select{width:100%}.acl-desc-check{display:flex;justify-content:center}.acl-remove{padding:2px 6px}.acl-rules-actions{display:flex;gap:8px;margin-top:4px}.acl-browse{display:flex;flex-direction:column;gap:8px;padding:8px;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface)}.acl-browse-chips{display:flex;flex-wrap:wrap;gap:6px}.acl-chip{background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:12px;padding:2px 10px;font-size:11px;font-family:var(--font-mono);cursor:pointer}.acl-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.acl-footer{display:flex;justify-content:flex-end;padding-top:4px}.acl-auth-section{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px}.acl-auth-title{font-size:12px;font-weight:600;color:var(--text-primary)}.sq-item-title{display:inline-flex;align-items:center;gap:6px}.sq-shared-badge{display:inline-flex;align-items:center;padding:0 5px;border-radius:8px;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#388e3c33;color:#66bb6a}.qb-share-toggle{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-secondary);white-space:nowrap;cursor:pointer}.qb-share-toggle input{cursor:pointer}.ws-switcher{position:relative;flex-shrink:0}.ws-switcher-btn{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;color:var(--text-primary);font-size:var(--font-size-sm);transition:background .12s,border-color .12s;max-width:220px}.ws-switcher-btn:hover,.ws-switcher-btn.open{background:#f4831f14;border-color:#f4831f4d}.ws-switcher-icon{font-size:13px;flex-shrink:0}.ws-switcher-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-weight:600}.ws-switcher-chevron{font-size:9px;color:var(--text-muted);flex-shrink:0;transition:transform .15s}.ws-switcher-btn.open .ws-switcher-chevron{transform:rotate(180deg)}.ws-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:600;min-width:240px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:0 6px 20px #0000004d;overflow:hidden;padding:4px;animation:fadeSlideDown .1s ease}.ws-menu-label{padding:6px 10px 4px;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.ws-menu-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:var(--font-size-sm);color:var(--text-secondary);background:none;border:none;border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background .1s,color .1s}.ws-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.ws-menu-item.active{color:var(--text-primary)}.ws-menu-item-icon{font-size:13px;flex-shrink:0;width:16px;text-align:center}.ws-menu-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-menu-item-role{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.ws-menu-item-check{color:var(--accent-orange);font-size:11px}.ws-menu-create,.ws-menu-create:hover{color:var(--accent-orange)}.ws-menu-divider{height:1px;background:var(--border);margin:4px 0}.ws-create-row{display:flex;gap:6px;padding:6px}.ws-create-input{flex:1;height:28px;padding:0 8px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.ws-create-input:focus{outline:none;border-color:var(--border-focus)}.ws-settings-body{display:flex;flex-direction:column;gap:16px}.ws-settings-meta{display:flex;align-items:center;gap:10px;padding-bottom:12px;border-bottom:1px solid var(--border)}.ws-settings-meta-icon{font-size:20px;flex-shrink:0}.ws-settings-meta-name{font-size:var(--font-size-md);color:var(--text-primary);font-weight:600}.ws-settings-meta-sub{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.ws-account-section{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.ws-account-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--bg-elevated, var(--bg-panel));border-bottom:1px solid var(--border);font-weight:600}.ws-account-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px}.ws-account-item-name{font-size:var(--font-size-md);color:var(--text-primary);font-weight:500}.ws-account-item-desc{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.ws-account-btn,.ws-session-revoke,.ws-session-logout-others{flex-shrink:0;white-space:nowrap}.ws-session-logout-others{text-transform:none;letter-spacing:0}.ws-session-loading,.ws-session-empty{padding:12px;font-size:var(--font-size-sm);color:var(--text-muted);display:flex;align-items:center;gap:8px}.ws-session-list{list-style:none;margin:0;padding:0}.ws-session-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border-top:1px solid var(--border)}.ws-session-item:first-child{border-top:none}.ws-session-info{min-width:0}.ws-session-id{font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-mono, monospace);display:flex;align-items:center;gap:6px}.ws-session-current{font-family:var(--font-ui);font-size:11px;font-weight:600;color:var(--accent, #43a047);background:color-mix(in srgb,var(--accent, #43a047) 16%,transparent);border-radius:999px;padding:1px 8px}.ws-session-meta{font-size:11px;color:var(--text-muted);margin-top:2px}.ws-danger-zone{border:1px solid var(--error-border);border-radius:var(--radius-md);overflow:hidden}.ws-danger-title{padding:8px 12px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--error-text);background:var(--error-bg);border-bottom:1px solid var(--error-border);font-weight:600}.ws-danger-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--border)}.ws-danger-item:last-child{border-bottom:none}.ws-danger-item-block{flex-direction:column;align-items:stretch}.ws-danger-item-text{min-width:0}.ws-danger-item-name{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:600}.ws-danger-item-desc{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:2px}.ws-danger-btn{flex-shrink:0}.ws-danger-item-block .ws-danger-btn{align-self:flex-start;margin-top:8px}.ws-danger-confirm{display:flex;align-items:center;gap:8px;flex-shrink:0}.ws-danger-confirm-q{font-size:var(--font-size-sm);color:var(--text-secondary)}.ws-danger-typed{margin-top:10px}.ws-danger-typed-instruction{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 8px}.ws-danger-typed-word{color:var(--error-text);font-family:var(--font-mono, monospace)}.ws-danger-typed-actions{display:flex;gap:8px;margin-top:10px}.ws-danger-blockers{margin-bottom:10px;padding:10px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm)}.ws-danger-blockers-title{font-size:var(--font-size-sm);color:var(--error-text);margin-bottom:6px}.ws-danger-blockers-list{margin:0;padding-left:18px;font-size:var(--font-size-sm);color:var(--text-secondary)}.ws-danger-blockers-list li{margin:2px 0}.billing-over-seat-warning{margin:0 0 12px;padding:10px 14px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-md);color:var(--error-text);font-size:var(--font-size-sm)}.table-empty-failed{color:var(--text-muted)}.onboarding{margin:10px 14px 0;padding:14px 16px;background:var(--bg-surface);border:1px solid var(--border);border-left:3px solid var(--accent-orange);border-radius:var(--radius-md)}.onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.onboarding-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary)}.onboarding-sub{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:2px}.onboarding-dismiss{background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;flex-shrink:0}.onboarding-dismiss:hover{color:var(--text-primary)}.onboarding-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.onboarding-card{padding:12px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:6px}.onboarding-card-icon{font-size:20px}.onboarding-card-title{font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.onboarding-card-desc{font-size:var(--font-size-xs);color:var(--text-secondary);flex:1}.onboarding-card-btn{margin-top:4px;align-self:flex-start}.onboarding-create-row{display:flex;gap:6px;margin-top:4px}.onboarding-create-input{flex:1;height:28px;padding:0 8px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.onboarding-create-input:focus{outline:none;border-color:var(--border-focus)}.invite-form{display:flex;flex-direction:column;gap:6px}.invite-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:6px}.invite-role-select{height:34px;padding:0 8px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm)}.invite-role-select:focus{outline:none;border-color:var(--border-focus)}.invite-success{font-size:var(--font-size-sm);color:var(--text-secondary);margin-bottom:4px}.invite-link-row{display:flex;gap:6px;align-items:center}.invite-link-input{flex:1;font-family:var(--font-mono);font-size:var(--font-size-xs)}.members-toolbar-actions{display:flex;gap:8px;align-items:center}.members-access-cell{display:flex;gap:6px;align-items:center}.member-role-badge-owner{background:#f4831f2e;color:var(--accent-orange);border:1px solid rgba(244,131,31,.35)}.members-remove-btn:hover{color:var(--error-text);border-color:var(--error-border)}.billing-view{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-panel)}.billing-toolbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.billing-toolbar-title{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.billing-toolbar-actions{display:flex;gap:8px;align-items:center}.billing-empty{padding:32px;text-align:center;color:var(--text-muted);font-size:13px}.billing-error{padding:16px;color:var(--error-text);font-size:13px;text-align:center}.billing-body{flex:1;overflow:auto;padding:24px 24px 40px;display:flex;flex-direction:column}.billing-content{width:100%;max-width:1060px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.billing-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px 40px;align-items:center;padding:18px 22px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md)}.billing-summary-plan{display:flex;flex-direction:column;gap:6px}.billing-summary-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.billing-summary-seats{flex:1;min-width:200px;max-width:340px;display:flex;flex-direction:column;gap:7px}.billing-seat-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.billing-seat-count{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.billing-seat-count.full{color:var(--accent-orange)}.billing-seat-bar{height:8px;width:100%;background:var(--bg-input);border-radius:4px;overflow:hidden}.billing-seat-bar-fill{height:100%;background:var(--accent-blue);border-radius:4px;transition:width .2s ease}.billing-seat-bar-fill.full{background:var(--accent-orange)}.billing-summary-projects{flex:1;min-width:200px;max-width:340px;display:flex;flex-direction:column;gap:7px}.billing-project-row{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.billing-project-count{font-family:var(--font-mono);font-size:13px;color:var(--text-primary)}.billing-project-count.full{color:var(--accent-orange)}.billing-project-bar{height:8px;width:100%;background:var(--bg-input);border-radius:4px;overflow:hidden}.billing-project-bar-fill{height:100%;background:var(--accent-blue);border-radius:4px;transition:width .2s ease}.billing-project-bar-fill.full{background:var(--accent-orange)}.billing-plan-badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;text-transform:capitalize;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-light)}.billing-plan-badge-team,.billing-plan-badge-enterprise{background:#f4831f2e;color:var(--accent-orange);border-color:#f4831f59}.billing-plan-badge-pro{background:#4fc3f726;color:var(--accent-blue);border-color:#4fc3f759}.billing-note{padding:10px 14px;font-size:12px;color:var(--text-muted);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-md)}.billing-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:stretch}.billing-plan-card{display:flex;flex-direction:column;gap:14px;padding:20px 20px 18px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg, 12px);transition:border-color .15s,transform .15s,box-shadow .15s}.billing-plan-card:hover{border-color:var(--border-light);transform:translateY(-2px)}.billing-plan-card.current{border-color:var(--accent-orange);box-shadow:0 0 0 1px #f4831f40,0 8px 24px -12px #f4831f66;background:linear-gradient(180deg,rgba(244,131,31,.06),transparent 40%),var(--bg-surface)}.billing-plan-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.billing-plan-card-name{font-size:17px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary)}.billing-plan-current-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--accent-orange);background:#f4831f26;border:1px solid rgba(244,131,31,.35);border-radius:999px;padding:2px 9px}.billing-plan-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap;margin-top:-4px}.billing-plan-price-amount{font-size:26px;font-weight:700;letter-spacing:-.02em;color:var(--text-primary);font-variant-numeric:tabular-nums}.billing-plan-price-unit{font-size:12px;color:var(--text-secondary)}.billing-plan-price-approx{flex-basis:100%;font-size:11.5px;color:var(--accent-green, #34d399)}.billing-plan-tagline{margin:-4px 0 0;font-size:12px;line-height:1.4;color:var(--text-secondary)}.billing-plan-features{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:9px}.billing-plan-feature{display:flex;align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.45;color:var(--text-secondary)}.billing-plan-feature-icon{flex-shrink:0;margin-top:1px;color:var(--accent-blue)}.billing-plan-card.current .billing-plan-feature-icon{color:var(--accent-orange)}.billing-plan-card-foot{display:flex;align-items:center;min-height:32px;padding-top:4px;border-top:1px solid var(--border);margin-top:2px}.billing-plan-cta{width:100%;justify-content:center}.billing-plan-active-note{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:var(--accent-orange)}.billing-plan-contact-note{font-size:12px;color:var(--accent-blue)}.billing-plan-muted-note{font-size:12px;color:var(--text-muted)}.landing{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;background:radial-gradient(ellipse 120% 80% at 50% -10%,rgba(244,131,31,.16),transparent 60%),radial-gradient(ellipse 90% 60% at 90% 10%,rgba(255,202,40,.07),transparent 55%),var(--bg-app);color:var(--text-primary);font-family:var(--font-ui)}.landing-nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:24px;height:64px;padding:0 32px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#141414b8;border-bottom:1px solid var(--border)}.landing-brand{display:inline-flex;align-items:center;gap:9px;text-decoration:none;color:var(--text-primary)}.landing-brand-fire{font-size:22px;line-height:1}.landing-brand-name{font-size:19px;font-weight:800;letter-spacing:-.5px}.landing-nav-links{display:flex;align-items:center;gap:26px;margin-left:auto}.landing-nav-links a{color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;transition:color .12s}.landing-nav-links a:hover{color:var(--text-primary)}.landing-nav-cta{height:38px}.landing-hero{padding:88px 32px 56px}.landing-hero-inner{max-width:980px;margin:0 auto;text-align:center}.landing-eyebrow{display:inline-block;padding:5px 14px;border-radius:999px;background:#f4831f1f;border:1px solid rgba(244,131,31,.35);color:var(--accent-orange);font-size:12px;font-weight:600;letter-spacing:.4px;text-transform:uppercase}.landing-title{margin:22px 0 0;font-size:60px;line-height:1.04;font-weight:800;letter-spacing:-1.6px;color:#f2f2f2}.landing-title-accent{background:linear-gradient(90deg,var(--accent-orange),var(--accent-yellow));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:var(--accent-orange)}.landing-subtitle{max-width:640px;margin:22px auto 0;font-size:18px;line-height:1.6;color:var(--text-secondary)}.landing-error{max-width:460px;margin:22px auto 0;padding:10px 14px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);font-size:13px;color:#f87171}.landing-cta-row{display:flex;align-items:center;justify-content:center;gap:14px;margin-top:32px;flex-wrap:wrap}.landing-hero-btn{height:48px;padding:0 24px;font-size:15px}.landing-secondary-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:100%;box-sizing:border-box;text-align:center;padding:10px 22px;border-radius:6px;border:1px solid var(--border-light);background:transparent;color:var(--text-primary);font-size:15px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s}.landing-secondary-btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.landing-cta-note{margin-top:14px;font-size:13px;color:var(--text-muted)}.landing-cta-note+.landing-cta-note{margin-top:6px}.landing-cta-note a{color:var(--text-secondary);text-decoration:underline}.landing-cta-note a:hover{color:var(--accent-orange)}.landing-mock{margin:56px auto 0;max-width:820px;border-radius:12px;border:1px solid var(--border-light);background:var(--bg-panel);box-shadow:0 30px 80px #0000008c,0 0 0 1px #f4831f0f;overflow:hidden;text-align:left}.landing-mock-bar{display:flex;align-items:center;gap:7px;padding:11px 16px;background:var(--bg-header);border-bottom:1px solid var(--border)}.landing-mock-dot{width:11px;height:11px;border-radius:50%;background:#3e3e42}.landing-mock-dot:nth-child(1){background:#ff5f57}.landing-mock-dot:nth-child(2){background:#febc2e}.landing-mock-dot:nth-child(3){background:#28c840}.landing-mock-path{margin-left:12px;font-family:var(--font-mono);font-size:12px;color:var(--text-muted)}.landing-mock-body{display:flex;min-height:220px}.landing-mock-sidebar{display:flex;flex-direction:column;gap:4px;width:150px;padding:14px 10px;background:var(--bg-sidebar);border-right:1px solid var(--border)}.landing-mock-sidebar span{padding:6px 10px;border-radius:4px;font-size:13px;color:var(--text-secondary)}.landing-mock-sidebar span.on{background:var(--bg-selected);color:#fff}.landing-mock-table{flex:1;padding:10px 0}.landing-mock-row{display:grid;grid-template-columns:1.1fr 1.4fr .9fr .9fr;gap:12px;padding:9px 18px;font-size:13px;font-family:var(--font-mono);color:var(--text-primary);border-bottom:1px solid rgba(255,255,255,.03)}.landing-mock-row.landing-mock-head{color:var(--text-muted);text-transform:uppercase;font-size:11px;letter-spacing:.5px}.landing-mock-row .ok{color:var(--type-string)}.landing-mock-row .warn{color:var(--accent-yellow)}.landing-section{max-width:1100px;margin:0 auto;padding:72px 32px}.landing-section-head{text-align:center;max-width:620px;margin:0 auto 44px}.landing-section-title{font-size:34px;font-weight:800;letter-spacing:-.8px;color:#f0f0f0}.landing-section-sub{margin-top:12px;font-size:16px;color:var(--text-secondary);line-height:1.55}.landing-features-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.landing-feature-card{padding:26px;border-radius:12px;border:1px solid var(--border);background:linear-gradient(180deg,var(--bg-surface),var(--bg-panel));transition:border-color .15s,transform .15s}.landing-feature-card:hover{border-color:#f4831f66;transform:translateY(-3px)}.landing-feature-icon{font-size:26px}.landing-feature-title{margin-top:14px;font-size:17px;font-weight:700;color:#ededed}.landing-feature-desc{margin-top:9px;font-size:14px;line-height:1.6;color:var(--text-secondary)}.landing-interval-toggle{display:inline-flex;align-items:center;gap:3px;margin-top:26px;padding:4px;border-radius:999px;background:#161616;border:1px solid var(--border);box-shadow:inset 0 1px 2px #0006}.landing-interval-btn{display:inline-flex;align-items:center;gap:8px;padding:8px 18px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--text-muted);font-family:inherit;font-size:13px;font-weight:600;letter-spacing:.2px;cursor:pointer;transition:color .15s,background .15s,border-color .15s,box-shadow .15s}.landing-interval-btn:hover{color:var(--text-secondary)}.landing-interval-btn.active{color:#f4f4f4;background:linear-gradient(180deg,#2e2e31,#262628);border-color:var(--border-light);box-shadow:0 1px 3px #00000073,inset 0 1px #ffffff0a}.landing-interval-save{padding:2px 8px;border-radius:999px;background:#f4831f29;color:var(--accent-orange);font-size:10.5px;font-weight:700;letter-spacing:.3px;text-transform:uppercase}.landing-plans-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch;max-width:960px;margin:0 auto}.landing-plan-card{position:relative;display:flex;flex-direction:column;height:100%;padding:30px 26px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(180deg,var(--bg-surface),var(--bg-panel));transition:border-color .18s,transform .18s,box-shadow .18s}.landing-plan-card:not(.highlight):hover{border-color:#f4831f59;transform:translateY(-4px)}.landing-plan-card.highlight{border-color:var(--accent-orange);background:linear-gradient(180deg,rgba(244,131,31,.12),rgba(244,131,31,.02) 42%,var(--bg-panel));box-shadow:0 20px 54px #f4831f2e,0 0 0 1px #f4831f38;transform:translateY(-12px)}.landing-plan-flag{position:absolute;top:-13px;left:50%;transform:translate(-50%);padding:5px 14px;border-radius:999px;background:var(--accent-orange);color:#1a1a1a;font-size:11px;font-weight:800;letter-spacing:.4px;white-space:nowrap;box-shadow:0 4px 14px #f4831f66}.landing-plan-name{font-size:13px;font-weight:800;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1.2px}.landing-plan-price{margin-top:16px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.landing-plan-amount{font-size:40px;font-weight:800;color:#f5f5f5;letter-spacing:-1.5px;line-height:1}.landing-plan-cadence{font-size:13px;color:var(--text-muted)}.landing-plan-tagline{margin-top:12px;font-size:13.5px;color:var(--text-secondary);line-height:1.55;min-height:42px}.landing-plan-btn{margin-top:20px;height:44px;border-radius:9px;border:1px solid var(--border-light);background:var(--bg-surface);color:var(--text-primary);font-family:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background .12s,border-color .12s,transform .12s}.landing-plan-btn:hover{background:var(--bg-hover);border-color:var(--text-muted);transform:translateY(-1px)}.landing-plan-btn.primary{background:var(--accent-orange);border-color:var(--accent-orange);color:#1a1a1a;box-shadow:0 6px 20px #f4831f4d}.landing-plan-btn.primary:hover{background:#ff9a3d}.landing-plan-features{list-style:none;margin:24px 0 0;padding:22px 0 0;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:13px}.landing-plan-features li{display:flex;gap:11px;font-size:13.5px;line-height:1.45;color:var(--text-secondary)}.landing-check{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;margin-top:1px;border-radius:50%;background:#f4831f29;color:var(--accent-orange);font-size:10px;font-weight:800;flex:0 0 auto}.landing-pricing-note{text-align:center;margin-top:40px;font-size:12px;color:var(--text-muted)}.landing-faq{max-width:760px}.landing-faq-list{display:flex;flex-direction:column;gap:10px}.landing-faq-item{border:1px solid var(--border);border-radius:10px;background:var(--bg-panel);padding:4px 18px}.landing-faq-q{cursor:pointer;padding:14px 0;font-size:15px;font-weight:600;color:var(--text-primary);list-style:none}.landing-faq-q::-webkit-details-marker{display:none}.landing-faq-q:after{content:"+";float:right;color:var(--accent-orange);font-weight:700}.landing-faq-item[open] .landing-faq-q:after{content:"−"}.landing-faq-a{padding:0 0 16px;font-size:14px;line-height:1.65;color:var(--text-secondary)}.landing-compare-strip{padding-top:0}.landing-compare-card{max-width:900px;margin:0 auto;padding:28px 32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--bg-secondary, #16181d);border:1px solid var(--border);border-radius:14px}.landing-compare-card>div{flex:1 1 420px}.landing-compare-title{font-size:20px;font-weight:700;letter-spacing:-.3px;color:#f0f0f0;margin:0 0 6px}.landing-compare-sub{margin:0;font-size:14px;line-height:1.65;color:var(--text-secondary)}.landing-compare-card .landing-secondary-btn{white-space:normal;line-height:1.35}.landing-final-cta{max-width:760px;margin:0 auto;padding:64px 32px 80px;text-align:center}.landing-final-title{font-size:30px;font-weight:800;letter-spacing:-.7px;color:#f0f0f0}.landing-final-sub{margin:12px 0 28px;font-size:16px;color:var(--text-secondary)}.landing-final-cta .landing-hero-btn{margin:0 auto}.landing-footer{border-top:1px solid var(--border);padding:36px 32px;display:flex;align-items:center;gap:24px;flex-wrap:wrap;max-width:1100px;margin:0 auto}.landing-footer-brand{display:inline-flex;align-items:center;gap:8px}.landing-footer-links{display:flex;gap:20px}.landing-footer-links a{color:var(--text-secondary);text-decoration:none;font-size:13px;transition:color .12s}.landing-footer-links a:hover{color:var(--accent-orange)}.landing-footer-copy{margin-left:auto;font-size:12px;color:var(--text-muted)}@media (max-width: 900px){.landing-features-grid{grid-template-columns:repeat(2,1fr)}.landing-plans-grid{grid-template-columns:1fr;max-width:440px}.landing-plan-card.highlight{transform:none}.landing-plan-card:not(.highlight):hover{transform:none}.landing-title{font-size:46px}}@media (max-width: 600px){.landing-nav{padding:0 18px;gap:14px}.landing-nav-links{display:none}.landing-hero{padding:56px 18px 40px}.landing-title{font-size:36px;letter-spacing:-1px}.landing-subtitle{font-size:16px}.landing-section{padding:52px 18px}.landing-section-title{font-size:27px}.landing-features-grid,.landing-plans-grid{grid-template-columns:1fr}.landing-mock-sidebar{display:none}.landing-footer{flex-direction:column;align-items:flex-start;gap:16px}.landing-footer-copy{margin-left:0}.qb-row{flex-wrap:wrap}.qb-field-input,.qb-field-combo{flex:1 1 100%;width:auto}.qb-op-select,.qb-type-select{flex:1 1 calc(50% - 3px);width:auto;min-width:0}.qb-value-wrap{flex:1 1 calc(100% - 34px)}.ar-dropdown,.col-vis-dropdown{right:auto;left:0}}.mobile-nav-toggle,.mobile-backdrop,.inspector-close-mobile{display:none}@media (max-width: 900px){.header{flex-wrap:wrap;height:auto;min-height:var(--header-h);row-gap:8px;padding-top:6px;padding-bottom:6px;padding-left:50px}.header-divider{display:none}.header-path-wrap{flex-basis:100%}.mobile-nav-toggle{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:46px;height:48px;z-index:230;background:transparent;border:none;color:var(--text-primary);cursor:pointer}.mobile-nav-toggle:active{background:var(--bg-selected)}.mobile-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;animation:fadeIn .15s ease}.content-area .sidebar{position:fixed;top:0;left:0;bottom:0;width:84vw;max-width:320px;min-width:0;z-index:210;transform:translate(-100%);transition:transform .22s ease;box-shadow:2px 0 16px #0006}.content-area.nav-open .sidebar{transform:translate(0)}.content-area .sidebar .view-switcher{padding-left:48px}.panel-resizer{display:none}.main-panel{width:100%;min-width:0;flex:1}.content-area .inspector{position:fixed;left:0;right:0;bottom:0;width:100%;min-width:0;height:78vh;z-index:210;border-left:none;border-top:1px solid var(--border);border-radius:14px 14px 0 0;transform:translateY(100%);transition:transform .24s ease}.content-area.inspector-open .inspector{transform:translateY(0)}.inspector-close-mobile{display:inline-flex;align-items:center;justify-content:center;width:30px;height:28px;padding:0;background:transparent;border:1px solid var(--border);border-radius:6px;color:var(--text-secondary);cursor:pointer}.inspector-close-mobile:active{background:var(--bg-selected)}.ws-menu{left:auto;right:0;min-width:0;width:max-content;max-width:calc(100vw - 16px)}}.manual-view{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden;background:var(--bg-app)}.manual-toc{flex:0 0 258px;width:258px;display:flex;flex-direction:column;border-right:1px solid var(--border);background:var(--bg-sidebar);overflow-y:auto;padding:18px 12px 28px}.manual-toc-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-muted);padding:0 4px 10px 8px}.manual-search{width:100%;height:32px;margin-bottom:12px;padding:0 10px;border-radius:7px;border:1px solid var(--border-light);background:var(--bg-input);color:var(--text-primary);font:inherit;font-size:13px}.manual-search:focus{outline:none;border-color:var(--accent-orange)}.manual-search::placeholder{color:var(--text-muted)}.manual-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.manual-toc-link{display:flex;align-items:center;gap:9px;width:100%;padding:7px 9px;border:none;border-left:2px solid transparent;border-radius:0 6px 6px 0;background:none;color:var(--text-secondary);font:inherit;font-size:13px;text-align:left;cursor:pointer;transition:color .12s,background .12s,border-color .12s}.manual-toc-link:hover{background:var(--bg-hover);color:var(--text-primary)}.manual-toc-link.active{color:var(--accent-orange);background:#f4831f1a;border-left-color:var(--accent-orange);font-weight:600}.manual-toc-icon{flex:0 0 auto;font-size:14px;line-height:1;width:18px;text-align:center}.manual-toc-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manual-toc-empty{padding:10px 9px;font-size:12px;color:var(--text-muted)}.manual-content{flex:1;min-width:0;overflow-y:auto;scroll-behavior:smooth}.manual-inner{max-width:880px;margin:0 auto;padding:32px 40px 96px}.manual-header{display:flex;align-items:flex-start;gap:16px}.manual-fire{font-size:32px;line-height:1}.manual-title{font-size:27px;font-weight:800;letter-spacing:-.6px;color:#f2f2f2}.manual-subtitle{margin-top:6px;font-size:15px;line-height:1.55;color:var(--text-secondary);max-width:620px}.manual-printable{margin-top:14px;padding:9px 14px;border-radius:8px;background:var(--bg-surface);border:1px solid var(--border);font-size:12.5px;color:var(--text-muted)}.manual-section{margin-top:44px;scroll-margin-top:18px}.manual-section-title{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:800;letter-spacing:-.3px;color:#f0f0f0;padding-bottom:10px;border-bottom:1px solid var(--border)}.manual-section-icon{font-size:18px;line-height:1}.manual-body{margin-top:14px;font-size:14px;line-height:1.7;color:var(--text-secondary)}.manual-body p{margin:0 0 14px}.manual-body p:last-child{margin-bottom:0}.manual-body strong{color:var(--text-primary);font-weight:700}.manual-body em{color:var(--text-primary);font-style:italic}.manual-body ul,.manual-body ol{margin:0 0 14px;padding-left:22px;display:flex;flex-direction:column;gap:8px}.manual-body li{line-height:1.6}.manual-body li::marker{color:var(--accent-orange)}.manual-body a{color:var(--accent-orange);text-decoration:none}.manual-body a:hover{text-decoration:underline;text-underline-offset:2px}.manual-body pre{background:var(--bg-inset, #131316);border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto;font-size:12.5px;line-height:1.55;margin:10px 0}.manual-body pre code{background:none;border:none;padding:0}.manual-body code{font-family:var(--font-mono);font-size:.86em;padding:1px 5px;border-radius:4px;background:var(--bg-surface);border:1px solid var(--border);color:var(--accent-yellow);white-space:nowrap}.manual-body kbd{display:inline-block;padding:2px 7px;border-radius:5px;border:1px solid var(--border-light);border-bottom-width:2px;background:var(--bg-surface);font-family:var(--font-mono);font-size:11.5px;color:var(--text-primary);white-space:nowrap}.manual-body .manual-note,.manual-body .manual-tip,.manual-body .manual-warn{margin:16px 0;padding:12px 16px;border-radius:9px;border-left:3px solid var(--border-light);background:var(--bg-surface);font-size:13.5px;line-height:1.6}.manual-body .manual-note{border-left-color:var(--accent-blue);background:#4fc3f712}.manual-body .manual-tip{border-left-color:#43a047;background:#43a04714}.manual-body .manual-warn{border-left-color:var(--accent-orange);background:#f4831f14}.manual-table{width:100%;border-collapse:collapse;margin:4px 0 16px;font-size:13.5px}.manual-table th,.manual-table td{text-align:left;padding:9px 14px;border:1px solid var(--border);vertical-align:top;line-height:1.55}.manual-table th{background:var(--bg-surface);color:var(--text-primary);font-weight:700}.manual-table td{color:var(--text-secondary)}.manual-table tbody tr:nth-child(2n) td{background:var(--bg-stripe)}.manual-table code{white-space:normal}.manual-check{color:#43a047;vertical-align:-.15em}.manual-noresults{margin-top:40px;font-size:14px;color:var(--text-muted);text-align:center}.manual-footer{margin-top:48px;padding-top:18px;border-top:1px solid var(--border);font-size:13px;color:var(--text-muted)}.manual-footer a{color:var(--accent-orange);text-decoration:none}.manual-footer a:hover{text-decoration:underline}.manual-fab{position:fixed;right:22px;bottom:22px;z-index:900;width:46px;height:46px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-surface);color:var(--accent-orange);font-size:21px;line-height:1;cursor:pointer;box-shadow:0 6px 22px #00000073;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}.manual-fab:hover{transform:translateY(-2px);background:var(--bg-hover);border-color:var(--accent-orange);box-shadow:0 10px 28px #f4831f47}.manual-fab:active{transform:translateY(0)}.manual-fab:focus-visible{outline:2px solid var(--accent-orange);outline-offset:2px}.manual-fab-icon{pointer-events:none}.feedback-fab{position:fixed;right:22px;bottom:78px;z-index:900;width:46px;height:46px;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;border:1px solid var(--border-light);background:var(--bg-surface);color:var(--accent-blue);line-height:1;cursor:pointer;box-shadow:0 6px 22px #00000073;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s}.feedback-fab:hover{transform:translateY(-2px);background:var(--bg-hover);border-color:var(--accent-blue);box-shadow:0 10px 28px #4fc3f747}.feedback-fab:active{transform:translateY(0)}.feedback-fab:focus-visible{outline:2px solid var(--accent-blue);outline-offset:2px}.feedback-fab-icon{pointer-events:none}.feedback-body{display:flex;flex-direction:column;gap:14px}.feedback-field{display:flex;flex-direction:column;gap:5px}.feedback-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.feedback-input.fe-input,.feedback-textarea.fe-input{flex:0 0 auto;width:100%;box-sizing:border-box}.feedback-textarea{resize:vertical;min-height:84px;line-height:1.5;font-family:inherit}.feedback-input[readonly]{color:var(--text-secondary);cursor:default}.feedback-attach-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.feedback-attach-actions{display:flex;gap:6px}.feedback-attach-hint{font-size:12px;color:var(--text-muted);line-height:1.5}.feedback-shot{position:relative;margin-top:4px}.feedback-shot-img{display:block;width:100%;max-height:180px;object-fit:contain;object-position:top;border:1px solid var(--border);border-radius:8px;background:var(--bg-deep, #0c0c0c)}.feedback-shot-remove{position:absolute;top:8px;right:8px;background:#0009;color:#fff;border-radius:6px}.feedback-shot-remove:hover{background:#e53935d9}.feedback-captcha-row{display:flex;align-items:center;gap:10px}.feedback-captcha-q{flex:0 0 auto;font-family:var(--font-mono);font-weight:700;font-size:14px;padding:0 12px;height:32px;display:flex;align-items:center;background:var(--bg-surface);border:1px solid var(--border);border-radius:7px;white-space:nowrap}.feedback-captcha-input.fe-input{flex:1 1 auto;width:auto}.feedback-error{font-size:13px;color:#ff6b6b;background:#e539351a;border:1px solid rgba(229,57,53,.3);border-radius:7px;padding:9px 12px;line-height:1.5}.feedback-success{text-align:center;padding:14px 4px 6px;color:var(--text-primary)}.feedback-success svg{color:#43a047;margin-bottom:10px}.feedback-success-title{font-size:16px;font-weight:700;margin-bottom:6px}.feedback-success-body{font-size:13.5px;color:var(--text-secondary);line-height:1.6}.manual-standalone{height:100vh;height:100dvh;display:flex;background:var(--bg-app);color:var(--text-primary);font-family:var(--font-ui)}@media (max-width: 820px){.manual-view{flex-direction:column}.manual-toc{flex:0 0 auto;width:100%;max-height:38vh;border-right:none;border-bottom:1px solid var(--border)}.manual-inner{padding:24px 20px 80px}}.sidebar-empty-rich,.members-empty-rich{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 18px}.sidebar-empty-icon,.members-empty-icon{font-size:30px;opacity:.65}.sidebar-empty-title,.members-empty-title{font-size:14px;font-weight:600;color:var(--text-primary)}.sidebar-empty-desc,.members-empty-desc{font-size:12px;color:var(--text-secondary);text-align:center;line-height:1.5}.sidebar-empty-help{margin-top:4px;font-size:12px}.members-empty-rich{padding:48px 24px;gap:10px}.members-empty-icon{font-size:36px}.members-empty-rich .btn{margin-top:6px}.table-empty-rich{display:flex;flex-direction:column;align-items:center;gap:8px;padding:56px 24px}.table-empty-icon{font-size:36px;opacity:.5}.table-empty-title{font-size:15px;font-weight:600;color:var(--text-primary)}.table-empty-desc{font-size:13px;color:var(--text-secondary);text-align:center;max-width:360px;line-height:1.5}.table-empty-rich .btn{margin-top:6px}.error-boundary{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--bg-app);color:var(--text-primary);z-index:9999}.error-boundary-card{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:440px;width:100%;padding:32px 28px;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center}.error-boundary-icon{font-size:40px;color:var(--accent-orange);line-height:1}.error-boundary-title{font-size:18px;font-weight:600;margin:0}.error-boundary-text{font-size:13px;color:var(--text-secondary);margin:0;line-height:1.5}.error-boundary-detail{width:100%;max-height:140px;overflow:auto;margin:4px 0 0;padding:8px 10px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);text-align:left;white-space:pre-wrap;word-break:break-word}.error-boundary .btn-primary{margin-top:6px}.error-boundary-id{font-size:11px;color:var(--text-muted);margin:0}.error-boundary-id code{font-family:var(--font-mono);color:var(--text-secondary)}.access-cards{display:flex;flex-direction:column;gap:8px;margin-top:10px}.access-card{border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);overflow:hidden}.access-card.expanded{border-color:var(--border-light)}.access-card-head{display:flex;align-items:center;gap:10px;padding:9px 12px}.access-card-head.clickable{cursor:pointer}.access-card-head.clickable:hover{background:var(--bg-hover, rgba(255,255,255,.03))}.access-chevron{display:inline-flex;color:var(--text-secondary);transition:transform .15s;flex:0 0 auto}.access-chevron.open{transform:rotate(90deg)}.access-chevron.hidden{visibility:hidden}.access-card-main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.access-project{font-family:var(--font-mono);font-size:12.5px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.access-chips{display:inline-flex;gap:6px;flex-wrap:wrap}.access-chip{font-size:10.5px;line-height:1;padding:4px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-secondary);background:var(--bg-tertiary, rgba(255,255,255,.03));white-space:nowrap}.access-chip.restricted{color:var(--accent-orange);border-color:#f4831f59;background:#f4831f14}.access-chip.muted{opacity:.65}.access-card-body{border-top:1px solid var(--border);padding:12px;background:var(--bg-tertiary, rgba(255,255,255,.02))}.backups-total{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-secondary);margin-right:8px;white-space:nowrap}.backups-total.warn{color:var(--accent-orange)}.backup-status-running{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:#64b5f6}.access-iam-hint{border:1px solid rgba(66,165,245,.35);background:#42a5f512;border-radius:6px;padding:10px 12px;margin-bottom:12px;font-size:11.5px;line-height:1.55;color:var(--text-secondary)}.access-iam-title{font-weight:700;font-size:12px;color:#64b5f6;margin-bottom:4px}.access-iam-desc{margin-bottom:8px}.access-iam-step{margin-bottom:4px}.access-iam-step a{color:#64b5f6;text-decoration:underline}.access-iam-cmd{display:flex;align-items:center;gap:8px;margin-top:2px}.access-iam-auth{margin-top:8px}.access-iam-cmd+.access-iam-step{margin-top:8px}.access-iam-cmd code{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;background:var(--bg-input);border:1px solid var(--border);border-radius:5px;padding:6px 9px;font-size:11px}.access-card-body .acl-editor{margin:0;padding:0;border:none;background:none}.pr-roles{margin:0 0 14px;padding:10px 12px;background:var(--bg-tertiary, rgba(255,255,255,.03));border:1px solid var(--border);border-radius:6px}.pr-roles-title{font-size:12px;font-weight:600;color:var(--text-primary, #ddd);margin-bottom:4px}.pr-roles-hint{font-size:11px;color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.pr-roles-note{font-size:11px;color:var(--text-secondary);background:#ffffff0a;border:1px dashed var(--border-light);border-radius:4px;padding:6px 8px}.pr-roles-loading{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.pr-roles-error{font-size:11px;color:var(--error-text);background:var(--error-bg);border:1px solid var(--error-border);border-radius:4px;padding:6px 8px}.pr-roles-list{display:flex;flex-direction:column;gap:6px}.pr-roles-row{display:flex;align-items:center;gap:10px}.pr-roles-project{flex:0 0 220px;font-family:var(--font-mono);font-size:12px;color:var(--text-primary, #ddd);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pr-seg{display:inline-flex;border:1px solid var(--border-light);border-radius:5px;overflow:hidden}.pr-seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:none;border-right:1px solid var(--border-light);color:var(--text-secondary);font-size:11px;padding:4px 10px;cursor:pointer;line-height:1.4}.pr-seg-btn:last-child{border-right:none}.pr-seg-btn:hover:not(:disabled){color:var(--text-primary, #ddd);background:#ffffff0d}.pr-seg-btn:disabled{opacity:.6;cursor:default}.pr-seg-active{background:#f4831f2e;color:var(--accent-orange);font-weight:600}.pr-seg-active.pr-seg-none{background:var(--error-bg);color:var(--error-text)}.invite-role-hint{margin-top:8px;font-size:11px;color:var(--text-secondary);line-height:1.5}.toast-action{flex-shrink:0;padding:3px 10px;font-size:12px;font-weight:600;border:1px solid currentColor;border-radius:4px;background:transparent;color:inherit;cursor:pointer;opacity:.9}.toast-action:hover{opacity:1;background:#ffffff14}.bulk-preview-body{display:flex;flex-direction:column;gap:8px}.bulk-preview-table-wrap{max-height:380px;overflow:auto;border:1px solid var(--border);border-radius:6px}.bulk-preview-table{width:100%;border-collapse:collapse;font-size:12px}.bulk-preview-table thead th{position:sticky;top:0;background:var(--bg-secondary);text-align:left;padding:6px 8px;font-size:11px;color:var(--text-secondary);border-bottom:1px solid var(--border)}.bulk-preview-table td{padding:4px 8px;border-bottom:1px solid var(--border);vertical-align:top}.bulk-preview-doc{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.bulk-preview-field{font-family:var(--font-mono);font-size:11px}.bulk-preview-arrow{color:var(--text-muted);text-align:center;width:20px}.bulk-preview-value{display:inline-flex;align-items:center;gap:6px;max-width:200px}.bulk-preview-value-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:150px}.bulk-preview-absent{color:var(--text-muted)}.bulk-preview-deleted{color:var(--error-text);font-style:italic}.bulk-preview-missing{color:var(--error-text);font-style:italic;font-size:11px}.bulk-edit-error{margin-top:8px;padding:6px 10px;font-size:12px;border-radius:4px;background:var(--error-bg);color:var(--error-text)}.audit-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 12px;border-bottom:1px solid var(--border)}.audit-filter-action{flex:0 1 140px;min-width:0}.audit-filter-user{flex:0 1 180px;min-width:0}.audit-filter-date-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);min-width:0}.audit-filter-date{flex:0 1 130px;min-width:0}.audit-col-expand{width:22px;text-align:center}.audit-row-expandable{cursor:pointer}.audit-expand-chevron{display:inline-block;color:var(--text-muted);font-size:10px;transition:transform .12s ease}.audit-expand-chevron.open{transform:rotate(90deg)}.audit-detail-tr>td{padding:0;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.audit-detail-panel{padding:10px 14px 12px 34px;display:flex;flex-direction:column;gap:8px;font-size:12px}.audit-detail-meta{font-size:11px;color:var(--text-secondary)}.audit-detail-changes{border-collapse:collapse}.audit-detail-changes td{padding:3px 8px 3px 0;vertical-align:top}.audit-detail-field{font-family:var(--font-mono);font-size:11px;min-width:110px}.audit-detail-arrow{color:var(--text-muted);padding:0 6px}.audit-detail-value{display:inline-flex;align-items:center;gap:6px}.audit-detail-value-text{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audit-detail-absent{color:var(--text-muted)}.audit-detail-deleted{color:var(--error-text);font-style:italic}.audit-detail-truncated{color:var(--text-secondary);font-style:italic;word-break:break-all}.audit-detail-docs{display:flex;flex-direction:column;gap:8px}.audit-detail-doc-path{font-family:var(--font-mono);font-size:11px;color:var(--accent-orange);margin-bottom:2px}.audit-detail-paths{display:flex;flex-direction:column;gap:2px}.audit-detail-path{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary)}.audit-detail-more{font-size:11px;color:var(--text-muted);font-style:italic}.recovery-tabs{display:inline-flex;gap:2px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:2px;flex:0 0 auto;margin-right:auto}.recovery-tab{background:transparent;border:none;color:var(--text-secondary);font-size:12px;font-weight:600;padding:4px 14px;border-radius:var(--radius-sm);cursor:pointer;line-height:1.4}.recovery-tab:hover{color:var(--text-primary)}.recovery-tab.active{background:#f4831f2e;color:var(--accent-orange)}.recovery-toolbar{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.recovery-filter-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.recovery-filter-toggle input{accent-color:var(--accent-orange);cursor:pointer}.recovery-col-docs{text-align:right;white-space:nowrap}.recovery-col-status,.recovery-col-expiry{white-space:nowrap}.recovery-col-restore{text-align:right;white-space:nowrap}.recovery-path{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);word-break:break-all}.recovery-status{font-size:11px;font-weight:600}.recovery-status.available{color:#6cc070}.recovery-status.undone,.recovery-status.expired{color:var(--text-muted)}.recovery-status.not-recoverable{color:var(--error-text)}.recovery-restore-btn{display:inline-flex;align-items:center;gap:4px;background:#f4831f24;border:1px solid rgba(244,131,31,.4);color:var(--accent-orange)}.recovery-restore-btn:hover:not(:disabled){background:#f4831f3d;border-color:var(--accent-orange)}.expiry-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 7px;border-radius:10px;white-space:nowrap;letter-spacing:.02em}.expiry-badge.ok{color:#6cc070;background:#6cc07024}.expiry-badge.warn{color:var(--accent-yellow);background:#ffca2824}.expiry-badge.expired{color:var(--error-text);background:var(--error-bg)}.recovery-restore-body{display:flex;flex-direction:column;gap:12px}.recovery-restore-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.recovery-restore-meta{font-size:12px;color:var(--text-secondary)}.recovery-loading{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-muted)}.recovery-paths{display:flex;flex-direction:column;gap:3px;max-height:180px;overflow:auto;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:8px 10px}.recovery-paths-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.recovery-restore-warning{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text-secondary);background:#ffca2814;border:1px solid rgba(255,202,40,.3);border-radius:var(--radius-sm);padding:8px 10px}.recovery-restore-warning svg{color:var(--accent-yellow);flex-shrink:0;margin-top:1px}.recovery-conflict{display:flex;flex-direction:column;gap:6px;background:var(--error-bg);border:1px solid var(--error-border);border-radius:var(--radius-sm);padding:8px 10px}.recovery-conflict-head{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--error-text)}.recovery-conflict-path{display:flex;flex-direction:column;gap:1px}.recovery-conflict-fields{font-size:11px;color:var(--text-muted)}.recovery-row-clickable{cursor:pointer}.backups-panel{display:flex;flex-direction:column;gap:12px;padding:12px 16px;overflow:auto;flex:1}.backups-toolbar{display:flex;align-items:center;gap:8px}.backup-form{display:flex;flex-direction:column;gap:10px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:12px}.backup-form-row{display:flex;gap:12px;flex-wrap:wrap}.backup-schedules{display:flex;flex-direction:column;gap:6px}.backup-schedule-row{display:flex;align-items:center;gap:10px;font-size:12px;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:6px 10px}.backup-schedule-desc{color:var(--text-primary)}.backup-schedule-last{color:var(--text-muted);font-size:11px;margin-left:auto}.backup-row-actions{display:flex;align-items:center;gap:6px}.live-btn-active{color:var(--accent-orange);border-color:#f4831f66}.live-dot{display:inline-block;width:7px;height:7px;margin-left:5px;border-radius:50%;background:var(--accent-orange);animation:live-pulse 1.4s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@keyframes live-flash-added{0%{background-color:#6cc07047}to{background-color:transparent}}@keyframes live-flash-modified{0%{background-color:#f4831f3d}to{background-color:transparent}}.audit-table tr.live-added>td,tr.live-added>td{animation:live-flash-added 1.6s ease-out}tr.live-modified>td{animation:live-flash-modified 1.6s ease-out}.schema-body{display:flex;flex-direction:column;gap:10px}.schema-toolbar{display:flex;align-items:center;gap:10px}.schema-sample-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-muted)}.schema-sample-select{width:90px}.schema-meta{font-size:12px;color:var(--text-secondary)}.schema-mixed-warn{color:var(--accent-yellow, #f59e0b);font-weight:600}.schema-table-wrap{max-height:55vh;overflow:auto;border:1px solid var(--border-light);border-radius:var(--radius-sm)}.schema-table{width:100%;border-collapse:collapse;font-size:12px}.schema-table th{position:sticky;top:0;background:var(--bg-surface);text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:6px 10px;border-bottom:1px solid var(--border-light)}.schema-table td{padding:5px 10px;border-bottom:1px solid var(--border-light);vertical-align:middle}.schema-field-name{font-family:var(--font-mono);font-size:11.5px}.schema-row-mixed .schema-field-name{color:var(--accent-yellow, #f59e0b)}.schema-pct{position:relative;min-width:90px}.schema-pct-bar{position:absolute;left:0;top:15%;bottom:15%;background:#f4831f26;border-radius:2px;pointer-events:none}.schema-pct span{position:relative}.schema-types{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.schema-type-chip{display:inline-flex;align-items:center;gap:2px}.schema-type-n{font-size:10px;color:var(--text-muted)}.schema-mixed-badge{font-size:9px;font-weight:700;color:#1a1a1a;background:var(--accent-yellow, #f59e0b);border-radius:3px;padding:1px 4px}.schema-null{color:var(--text-muted)}.schema-example{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.console-view{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--bg-main, var(--bg-surface))}.console-toolbar{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid var(--border)}.console-title{font-weight:600;font-size:13px}.console-project{font-family:var(--font-mono);font-size:12px;color:var(--accent-orange)}.console-spacer{flex:1}.console-editor{flex:0 0 42%;min-height:140px;resize:vertical;padding:12px 14px;font-family:var(--font-mono);font-size:12.5px;line-height:1.55;color:var(--text-primary);background:var(--bg-input);border:none;border-bottom:1px solid var(--border);outline:none;white-space:pre;-moz-tab-size:2;tab-size:2}.console-output{flex:1;overflow:auto;padding:10px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.5}.console-output-hint{color:var(--text-muted);font-style:italic}.console-line{white-space:pre-wrap;word-break:break-word}.console-line-warn{color:var(--accent-yellow, #f59e0b)}.console-line-error{color:var(--error-text, #ef5350)}.console-line-info{color:var(--text-muted)}.console-empty{padding:30px;color:var(--text-muted)}.console-cheatsheet{padding:10px 12px;overflow:auto}.console-cheatsheet-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:6px}.console-cheatsheet-code{font-family:var(--font-mono);font-size:10.5px;line-height:1.5;color:var(--text-secondary);white-space:pre;overflow-x:auto;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:8px}.console-cheatsheet-note{margin-top:8px;font-size:11px;color:var(--text-muted)}.fe-transform-select{max-width:120px}.fe-transform-note{font-size:12px;color:var(--text-muted);font-style:italic;align-self:center;white-space:nowrap}.doc-action-body{display:flex;flex-direction:column;gap:12px}.doc-action-field{display:flex;flex-direction:column;gap:4px}.doc-action-label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.doc-action-src{display:flex;flex-direction:column;gap:4px}.doc-action-path{font-family:var(--font-mono);font-size:12px;color:var(--accent-orange);word-break:break-all}.doc-action-warn{font-size:12px;color:var(--text-secondary);background:#ffca2814;border:1px solid rgba(255,202,40,.3);border-radius:var(--radius-sm);padding:8px 10px}.doc-action-hint{font-size:11px;color:var(--text-muted)}.recovery-preview{display:flex;flex-direction:column;gap:8px;max-height:300px;overflow:auto;background:var(--bg-input);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:8px 10px}.recovery-preview-doc{display:flex;flex-direction:column;gap:4px}.recovery-preview-doc+.recovery-preview-doc{border-top:1px solid var(--border-light);padding-top:8px}.recovery-preview-doc-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recovery-kind-badge{font-size:10px;font-weight:600;padding:1px 6px;border-radius:999px;white-space:nowrap;color:var(--text-secondary);background:var(--bg-hover);border:1px solid var(--border-light)}.recovery-kind-badge.kind-recreate_doc{color:#6cc070;background:#6cc07024;border-color:transparent}.recovery-kind-badge.kind-delete_doc{color:var(--error-text);background:var(--error-bg);border-color:transparent}.recovery-preview-note{font-size:11px;color:var(--text-muted);font-style:italic}.recovery-preview-note.warn{color:var(--error-text)}.recovery-diff th{font-size:10px;font-weight:600;color:var(--text-muted);text-align:left;text-transform:uppercase;letter-spacing:.04em;padding:0 8px 3px 0}.recovery-diff-unchanged{opacity:.5}.recovery-upsell{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:12px;padding:40px 24px}.recovery-upsell-icon{color:var(--accent-orange);opacity:.85}.recovery-upsell-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.recovery-upsell-body{font-size:13px;color:var(--text-secondary);max-width:420px;margin:0;line-height:1.5}.lang-toggle{display:inline-flex;align-items:center;gap:3px;background:transparent;border:1px solid var(--border, #3a3a3a);border-radius:6px;color:#9d9d9d;font-size:11px;font-weight:600;padding:4px 8px;cursor:pointer;line-height:1;letter-spacing:.02em}.lang-toggle:hover{border-color:#f4831f;color:#d0d0d0}.lang-toggle .lang-active{color:#fca858}.lang-toggle .lang-sep{color:#5a5a5a}.lang-toggle-compact{padding:3px 6px;font-size:10px}.landing-header .lang-toggle{color:#b8b8b8}.billing-past-due-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:#3a1d1d;border:1px solid #a14242;color:#ffb4b4;border-radius:8px;padding:10px 14px;margin:12px 0;font-size:13.5px}.billing-details{margin:14px 0;padding:14px 16px;background:var(--panel-2, #1b1f26);border:1px solid var(--border, #2a2a2a);border-radius:10px}.billing-details-grid{display:flex;flex-wrap:wrap;gap:18px 36px}.billing-detail{display:flex;flex-direction:column;gap:3px}.billing-detail-value{font-size:14px;color:var(--text-primary, #e6e6e6);font-weight:600}.billing-invoices{margin-top:16px}.billing-invoice-list{list-style:none;margin:8px 0 0;padding:0}.billing-invoice-row{display:flex;align-items:center;gap:14px;padding:7px 0;border-top:1px solid var(--border, #2a2a2a);font-size:13px}.billing-invoice-date{color:var(--text-secondary, #9d9d9d);min-width:110px}.billing-invoice-amount{font-weight:600;min-width:80px}.billing-invoice-status{text-transform:capitalize;color:var(--text-secondary, #9d9d9d)}.billing-invoice-status-paid{color:#6bd49a}.billing-invoice-link{margin-left:auto;color:#fca858}.billing-interval-toggle{display:inline-flex;gap:4px;margin:14px 0;background:var(--panel-2, #1b1f26);border:1px solid var(--border, #2a2a2a);border-radius:8px;padding:3px}.billing-interval-btn{background:transparent;border:0;color:var(--text-secondary, #9d9d9d);padding:6px 14px;border-radius:6px;cursor:pointer;font-size:13px;font-weight:600}.billing-interval-btn.active{background:#2e3440;color:var(--text-primary, #e6e6e6)}.billing-interval-save{color:#6bd49a;font-weight:500;font-size:11.5px}.plan-badge{display:inline-flex;align-items:center;font-size:11px;font-weight:700;line-height:1;padding:3px 7px;border-radius:5px;white-space:nowrap;background:#2a2f38;color:#c9cdd3;border:1px solid #3a3f48}.plan-badge-pro{background:#25324a;color:#8cc0f5;border-color:#35506f}.plan-badge-team{background:#3a2a14;color:#fca858;border-color:#6f4f23}.plan-badge-enterprise{background:#2e2540;color:#cdb0f0;border-color:#4a3a6f}.account-menu-plan{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;font-size:12px}.account-menu-plan-label{color:#9aa3ad}.ws-menu-item-plan{margin-left:auto}.ws-menu-item-plan+.ws-menu-item-role{margin-left:8px}
