.tiptap-editor .ProseMirror{outline:none;padding:.75rem;min-height:200px;font-size:.875rem;line-height:1.6;color:var(--color-text-primary, #111827)}.tiptap-editor .ProseMirror:focus{background:var(--color-background, #ffffff)}.tiptap-editor .ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-text-tertiary, #9ca3af);pointer-events:none;height:0}.md-editor-btn--active{background:var(--color-primary-light, #e0e7ff);color:var(--color-primary, #4f46e5)}.collaboration-cursor__caret{border-left:2px solid;border-right:none;margin-left:-1px;margin-right:-1px;pointer-events:none;position:relative;word-break:normal}.collaboration-cursor__label{position:absolute;top:-1.4em;left:-1px;font-size:10px;font-weight:600;line-height:1;padding:1px 4px;border-radius:3px 3px 3px 0;white-space:nowrap;color:#fff;-webkit-user-select:none;user-select:none;pointer-events:none}.tiptap-editor .ProseMirror table{border-collapse:collapse;margin:.5rem 0;width:100%}.tiptap-editor .ProseMirror th,.tiptap-editor .ProseMirror td{border:1px solid var(--color-border, #e5e7eb);padding:.375rem .5rem;min-width:80px;vertical-align:top}.tiptap-editor .ProseMirror th{background:var(--color-surface, #f9fafb);font-weight:600}.tiptap-editor .ProseMirror ul[data-type=taskList]{list-style:none;padding-left:0}.tiptap-editor .ProseMirror ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:.5rem}.tiptap-editor .ProseMirror ul[data-type=taskList] li>label{flex:0 0 auto;margin-top:.25rem}.tiptap-editor .ProseMirror pre{background:var(--color-surface, #f9fafb);border-radius:var(--radius-sm, 4px);padding:.75rem;font-family:var(--font-mono, monospace);font-size:.8rem;overflow-x:auto}.tiptap-editor .ProseMirror pre code{background:none;padding:0;border-radius:0}.collab-cursors-overlay{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:9999}.collab-cursor{position:fixed;transition:left .05s linear,top .05s linear,opacity .5s ease;opacity:1}.collab-cursor--fading{opacity:.6}.collab-cursor-arrow{filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.collab-cursor-label{position:absolute;left:16px;top:12px;color:var(--color-text-on-primary);padding:1px 6px;border-radius:4px;font-size:11px;font-weight:500;white-space:nowrap;line-height:1.4}.collab-field-indicator{position:relative;border-left:3px solid transparent;padding-left:4px;border-radius:2px;transition:border-color .2s ease}.collab-field-badges{position:absolute;top:-8px;right:0;display:flex;gap:2px;z-index:10}.collab-field-badge{color:var(--color-text-on-primary);font-size:10px;padding:1px 4px;border-radius:3px;font-weight:500;white-space:nowrap;line-height:1.4}.collab-users-indicator{display:inline-flex;align-items:center;gap:3px;margin-right:8px}.collab-user-dot{width:10px;height:10px;border-radius:50%;display:inline-block;border:1px solid rgba(255,255,255,.3)}.chat-message-block{margin:3px 0}.chat-message-block-tool{margin:8px 0}.chat-message-block-tool+.chat-message-block-tool{margin-top:5px}.chat-message-block-text{font-size:.825rem;line-height:1.55;word-break:break-word}.chat-message-block-text h1,.chat-message-block-text h2,.chat-message-block-text h3{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.chat-message-block-text h1:first-child,.chat-message-block-text h2:first-child,.chat-message-block-text h3:first-child{margin-top:0}.chat-message-block-text p{margin:var(--spacing-sm) 0}.chat-message-block-text p:first-child{margin-top:0}.chat-message-block-text p:last-child{margin-bottom:0}.chat-message-block-text code{background-color:var(--color-background);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em}.chat-message-block-text pre{background-color:var(--color-background);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-sm) 0}.chat-message-block-text pre code{background:transparent;padding:0}.chat-message-block-text ul,.chat-message-block-text ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl)}.chat-message-block-tool{display:flex;flex-direction:column}.chat-message-thinking{font-size:.8rem;color:var(--color-text-secondary);font-style:italic}.chat-message-streaming-indicator{display:flex;align-items:center;gap:4px;padding:var(--spacing-xs) 0;height:20px}.chat-streaming-dot{width:6px;height:6px;border-radius:50%;background:var(--color-info);animation:chat-streaming-bounce 1.4s ease-in-out infinite}.chat-streaming-dot:nth-child(1){animation-delay:0s}.chat-streaming-dot:nth-child(2){animation-delay:.2s}.chat-streaming-dot:nth-child(3){animation-delay:.4s}@keyframes chat-streaming-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.chat-info-bar{display:flex;align-items:center;justify-content:space-between;padding:6px var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-surface);font-size:.7rem;color:var(--color-text-secondary);flex-shrink:0;margin-bottom:var(--spacing-sm)}.chat-info-left{display:flex;align-items:center;gap:var(--spacing-sm)}.chat-info-model{font-family:var(--font-mono)}.chat-info-session{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.chat-info-session-id{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-secondary);-webkit-user-select:all;user-select:all}.chat-info-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.chat-info-copy-btn:hover{color:var(--color-text-secondary);background:var(--color-border)}.chat-info-copy-btn.copied{color:var(--color-success, #22c55e)}.chat-info-cost{font-family:var(--font-mono);cursor:default}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.notification-bell{background:none;border:none;cursor:pointer;position:relative;padding:6px;border-radius:var(--radius-md, 6px);display:flex;align-items:center;justify-content:center;width:36px;height:36px}.notification-bell:hover,.notification-bell--active{background:var(--color-background-hover)}.notification-bell__icon{color:var(--color-text-secondary);transition:color .15s}.notification-bell:hover .notification-bell__icon{color:var(--color-text-primary)}.notification-bell__badge{position:absolute;top:2px;right:2px;background:#e74c3c;color:#fff;font-size:11px;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.notification-panel{position:absolute;top:calc(100% + 4px);right:0;width:400px;max-height:70vh;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg, 8px);box-shadow:0 4px 24px #0000001f;display:flex;flex-direction:column;z-index:1000;overflow:hidden}.notification-panel__header{padding:12px 16px;border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.notification-panel__title{font-size:.938rem;font-weight:600;color:var(--color-text-primary);margin:0}.notification-panel__actions{display:flex;align-items:center;gap:8px}.notification-panel__mark-all-read{font-size:.813rem;color:var(--color-primary);background:none;border:none;cursor:pointer;padding:2px 4px}.notification-panel__mark-all-read:hover{text-decoration:underline}.notification-panel__mark-all-read:disabled{opacity:.5;cursor:default;text-decoration:none}.notification-panel__filters{display:flex;gap:0;border-bottom:1px solid var(--color-border);padding:0 16px}.notification-panel__filter-tab{padding:8px 12px;font-size:.813rem;color:var(--color-text-secondary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all .15s}.notification-panel__filter-tab:hover{color:var(--color-text-primary)}.notification-panel__filter-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:500}.notification-panel__list{overflow-y:auto;flex:1;max-height:calc(70vh - 100px)}.notification-panel__empty{padding:40px 16px;text-align:center;color:var(--color-text-secondary);font-size:.875rem}.notification-panel__loading{padding:12px;text-align:center}.notification-panel__sentinel{height:1px}.notification-card{display:flex;gap:10px;padding:12px 16px;cursor:pointer;border-bottom:1px solid var(--color-border);transition:background .15s;position:relative}.notification-card:hover{background:var(--color-background-hover)}.notification-card--unread{background:var(--color-background-accent, rgba(59, 130, 246, .04))}.notification-card__dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0;margin-top:6px}.notification-card__content{flex:1;min-width:0}.notification-card__title{font-size:.875rem;font-weight:500;color:var(--color-text-primary);margin:0 0 2px;line-height:1.3}.notification-card--unread .notification-card__title{font-weight:600}.notification-card__body{font-size:.813rem;color:var(--color-text-secondary);margin:0 0 6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.notification-card__meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.notification-card__entity-badge{font-size:.688rem;padding:1px 6px;border-radius:3px;background:var(--color-background-secondary);color:var(--color-text-secondary);font-weight:500;text-transform:uppercase;letter-spacing:.02em}.notification-card__entity-title,.notification-card__actor{font-size:.75rem;color:var(--color-text-secondary)}.notification-card__time{font-size:.75rem;color:var(--color-text-tertiary, var(--color-text-secondary));margin-left:auto}.notification-card__dismiss{position:absolute;top:8px;right:8px;background:none;border:none;cursor:pointer;color:var(--color-text-secondary);padding:2px;border-radius:3px;opacity:0;transition:opacity .15s;font-size:.75rem;line-height:1}.notification-card:hover .notification-card__dismiss{opacity:1}.notification-card__dismiss:hover{background:var(--color-background-hover)}.notification-bell:focus-visible,.notification-panel__filter-tab:focus-visible,.notification-panel__mark-all-read:focus-visible,.notification-card:focus-visible,.notification-card__dismiss:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media (max-width: 480px){.notification-panel{width:calc(100vw - 32px);right:-16px}}.viewer-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;color:var(--text-secondary, #666)}.viewer-error{display:flex;flex-direction:column;align-items:center;padding:2rem;text-align:center;color:var(--text-secondary, #666)}.viewer-error-detail{font-size:.8rem;color:var(--text-muted, #999);margin-top:.5rem}mark.document-highlight{background-color:#ffc80066;border-radius:2px;padding:0 2px}.pdf-viewer{display:flex;flex-direction:column;height:100%}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--bg-secondary, #f5f5f5);flex-shrink:0}.pdf-nav{display:flex;align-items:center;gap:.5rem}.pdf-nav button{padding:.25rem .5rem;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--bg-primary, #fff);cursor:pointer;font-size:1rem}.pdf-nav button:disabled{opacity:.4;cursor:default}.pdf-page-info{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.pdf-page-input{width:3rem;text-align:center;border:1px solid var(--border-color, #ddd);border-radius:4px;padding:.15rem;font-size:.85rem}.pdf-zoom{display:flex;align-items:center;gap:.5rem}.pdf-zoom button{width:1.8rem;height:1.8rem;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--bg-primary, #fff);cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center}.pdf-zoom-label{font-size:.8rem;min-width:3rem;text-align:center}.pdf-page-container{flex:1;overflow:auto;display:flex;justify-content:center;padding:1rem;background:var(--bg-tertiary, #e8e8e8)}.pdf-page-container .react-pdf__Page{box-shadow:0 2px 8px #00000026}.docx-viewer{padding:1.5rem;max-width:800px;margin:0 auto}.docx-content{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6;color:var(--text-primary, #333)}.docx-content h1,.docx-content h2,.docx-content h3{margin-top:1.5em;margin-bottom:.5em}.docx-content p{margin:.5em 0}.docx-content table{border-collapse:collapse;width:100%;margin:1em 0}.docx-content th,.docx-content td{border:1px solid var(--border-color, #ddd);padding:.5rem}.docx-content img{max-width:100%;height:auto}.spreadsheet-viewer{display:flex;flex-direction:column;height:100%}.sheet-tabs{display:flex;gap:0;border-bottom:2px solid var(--border-color, #e0e0e0);background:var(--bg-secondary, #f5f5f5);padding:0 .5rem;flex-shrink:0;overflow-x:auto}.sheet-tab{padding:.5rem 1rem;border:none;border-bottom:2px solid transparent;background:none;cursor:pointer;font-size:.85rem;color:var(--text-secondary, #666);white-space:nowrap;margin-bottom:-2px}.sheet-tab.active{color:var(--accent-color, #2563eb);border-bottom-color:var(--accent-color, #2563eb);font-weight:500}.sheet-tab:hover:not(.active){color:var(--text-primary, #333);background:var(--bg-hover, #eee)}.sheet-table-container{flex:1;overflow:auto;padding:0}.sheet-table{border-collapse:collapse;font-size:.8rem;min-width:100%}.sheet-table th,.sheet-table td{border:1px solid var(--border-color, #e0e0e0);padding:.3rem .5rem;text-align:left;white-space:nowrap;max-width:300px;overflow:hidden;text-overflow:ellipsis}.sheet-table th{background:var(--bg-secondary, #f5f5f5);font-weight:500;position:sticky;top:0;z-index:1}.row-number-header,.row-number{color:var(--text-muted, #999);background:var(--bg-secondary, #f8f8f8);text-align:center;width:3rem;min-width:3rem;font-size:.75rem}.sheet-empty{padding:2rem;text-align:center;color:var(--text-secondary, #999)}.presentation-viewer{display:flex;flex-direction:column;height:100%}.slide-nav{display:flex;align-items:center;justify-content:center;gap:1rem;padding:.75rem;border-bottom:1px solid var(--border-color, #e0e0e0);background:var(--bg-secondary, #f5f5f5);flex-shrink:0}.slide-nav button{padding:.25rem .75rem;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--bg-primary, #fff);cursor:pointer;font-size:1rem}.slide-nav button:disabled{opacity:.4;cursor:default}.slide-counter{font-size:.85rem;color:var(--text-secondary, #666)}.slide-content{flex:1;padding:2rem 3rem;overflow:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--bg-tertiary, #e8e8e8)}.slide-content>*{background:var(--bg-primary, #fff);padding:2rem 3rem;border-radius:8px;box-shadow:0 2px 12px #0000001a;max-width:800px;width:100%}.slide-title{font-size:1.5rem;margin:0 0 1.5rem;color:var(--text-primary, #333)}.slide-body{display:flex;flex-direction:column;gap:.75rem}.slide-text{margin:0;line-height:1.6;color:var(--text-primary, #444)}.slide-thumbnails{display:flex;gap:.25rem;padding:.5rem;overflow-x:auto;border-top:1px solid var(--border-color, #e0e0e0);background:var(--bg-secondary, #f5f5f5);flex-shrink:0}.slide-thumbnail{display:flex;align-items:center;gap:.25rem;padding:.3rem .6rem;border:1px solid var(--border-color, #ddd);border-radius:4px;background:var(--bg-primary, #fff);cursor:pointer;font-size:.75rem;white-space:nowrap;max-width:150px}.slide-thumbnail.active{border-color:var(--accent-color, #2563eb);background:var(--accent-bg, #eff6ff)}.slide-thumb-number{font-weight:600;color:var(--text-secondary, #666)}.slide-thumb-title{overflow:hidden;text-overflow:ellipsis}.alert-rules-project-selector{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.alert-rules-project-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary)}.alert-rules-project-select{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-size:.875rem;min-width:200px}.alert-rule-name-link{background:none;border:none;padding:0;color:var(--color-primary);font-weight:500;cursor:pointer;font-size:inherit;text-align:left}.alert-rule-name-link:hover{text-decoration:underline}.alert-rule-scope-badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:500;color:var(--color-text-on-primary);text-transform:capitalize}.alert-rule-scope-badge--user{background:var(--color-primary)}.alert-rule-scope-badge--group{background:var(--color-info)}.alert-rule-scope-badge--role{background:var(--color-warning)}.alert-rule-scope-badge--project{background:var(--color-success)}.alert-rule-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;background:var(--color-border);cursor:pointer;padding:0;transition:background .2s}.alert-rule-toggle--on{background:var(--color-success)}.alert-rule-toggle__thumb{display:block;width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s}.alert-rule-toggle--on .alert-rule-toggle__thumb{transform:translate(16px)}.alert-rule-wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--color-overlay)}.alert-rule-wizard{width:640px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;background:var(--color-background);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000002e;overflow:hidden}.alert-rule-wizard__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.alert-rule-wizard__title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.alert-rule-wizard__close{background:none;border:none;cursor:pointer;font-size:1.125rem;color:var(--color-text-secondary);padding:4px 8px;border-radius:var(--radius-sm);line-height:1}.alert-rule-wizard__close:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.alert-rule-wizard__body{flex:1;overflow-y:auto;padding:var(--spacing-lg);min-height:300px}.alert-rule-wizard__footer{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.alert-rule-wizard__footer-spacer{flex:1}.wizard-steps{display:flex;align-items:center;gap:2px;padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-surface);overflow-x:auto}.wizard-steps__pill{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;border-radius:9999px;background:transparent;color:var(--color-text-secondary);font-size:.813rem;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}.wizard-steps__pill:hover{background:var(--color-surface-hover)}.wizard-steps__pill--active{background:var(--color-primary);color:var(--color-text-on-primary)}.wizard-steps__pill--active:hover{background:var(--color-primary-hover)}.wizard-steps__pill--done{color:var(--color-primary)}.wizard-steps__num{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;font-size:.75rem;font-weight:600;background:var(--color-border);color:var(--color-text-secondary)}.wizard-steps__pill--active .wizard-steps__num{background:#ffffff40;color:var(--color-text-on-primary)}.wizard-steps__pill--done .wizard-steps__num{background:var(--color-primary-light);color:var(--color-primary)}.wizard-steps__label{font-weight:500}.wizard-step-content{display:flex;flex-direction:column;gap:var(--spacing-lg)}.wizard-field{display:flex;flex-direction:column;gap:var(--spacing-xs)}.wizard-label{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.wizard-description{font-size:.813rem;color:var(--color-text-secondary);margin:0;line-height:1.4}.wizard-hint{font-size:.75rem;color:var(--color-text-tertiary);margin:0}.wizard-hint--warning{color:var(--color-warning)}.wizard-input{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-size:.875rem;line-height:1.4}.wizard-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.wizard-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-size:.875rem}.wizard-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.wizard-radio-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.wizard-radio-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-primary);cursor:pointer;padding:4px 0}.wizard-radio-item input[type=radio]{accent-color:var(--color-primary)}.wizard-checkbox-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--spacing-xs)}.wizard-checkbox-grid--compact{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.wizard-checkbox-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-primary);cursor:pointer;padding:4px 0}.wizard-checkbox-item input[type=checkbox]{accent-color:var(--color-primary);flex-shrink:0}.wizard-field-type{font-size:.75rem;color:var(--color-text-tertiary)}.condition-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.condition-row__field{flex:2;min-width:0}.condition-row__operator{flex:1.5;min-width:0}.condition-row__value{flex:2;min-width:0}.condition-row__remove{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:1rem;padding:4px 8px;border-radius:var(--radius-sm);flex-shrink:0;line-height:1}.condition-row__remove:hover{background:var(--color-error-light);color:var(--color-error)}.wizard-add-btn{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:8px 16px;color:var(--color-primary);font-size:.875rem;cursor:pointer;text-align:center;transition:background .15s}.wizard-add-btn:hover{background:var(--color-primary-light)}.wizard-summary-heading{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.wizard-summary-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin-bottom:var(--spacing-md)}.wizard-summary-row{display:flex;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.wizard-summary-row+.wizard-summary-row{border-top:1px solid var(--color-border-light)}.wizard-summary-label{flex-shrink:0;width:120px;font-size:.813rem;font-weight:500;color:var(--color-text-secondary)}.wizard-summary-value{font-size:.875rem;color:var(--color-text-primary);line-height:1.4}.alert-rule-toggle:focus-visible,.alert-rule-name-link:focus-visible,.alert-rule-wizard__close:focus-visible,.wizard-steps__pill:focus-visible,.wizard-add-btn:focus-visible,.condition-row__remove:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}@media (max-width: 640px){.alert-rule-wizard{width:100%;max-width:100vw;max-height:100vh;border-radius:0}.condition-row{flex-wrap:wrap}.condition-row__field,.condition-row__operator,.condition-row__value{flex-basis:100%}.wizard-checkbox-grid,.wizard-checkbox-grid--compact{grid-template-columns:1fr}}.automation-rule-description{font-size:.813rem;color:var(--color-text-secondary);margin-top:2px}.automation-rule-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;background:var(--color-border);cursor:pointer;padding:0;transition:background .2s}.automation-rule-toggle--on{background:var(--color-success)}.automation-rule-toggle__thumb{display:block;width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s}.automation-rule-toggle--on .automation-rule-toggle__thumb{transform:translate(16px)}.automation-trigger-badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:500;background:var(--color-surface-hover);color:var(--color-text-secondary);white-space:nowrap}.automation-trigger-badge__icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.688rem;font-weight:700;background:var(--color-border);color:var(--color-text-secondary)}.automation-trigger-badge[data-provider=slack]{background:var(--color-primary-light);color:var(--color-primary)}.automation-trigger-badge[data-provider=slack] .automation-trigger-badge__icon{background:var(--color-primary);color:#fff}.automation-trigger-badge[data-provider=github]{background:var(--color-surface-hover);color:var(--color-text-primary)}.automation-trigger-badge[data-provider=github] .automation-trigger-badge__icon{background:var(--color-text-primary);color:#fff}.automation-trigger-badge[data-provider=jira]{background:var(--color-info-light);color:var(--color-info)}.automation-trigger-badge[data-provider=jira] .automation-trigger-badge__icon{background:var(--color-info);color:#fff}.automation-trigger-badge[data-provider=google_docs]{background:var(--color-info-light);color:var(--color-info)}.automation-trigger-badge[data-provider=google_docs] .automation-trigger-badge__icon{background:var(--color-info);color:#fff}.automation-trigger-badge[data-provider=schedule]{background:var(--color-warning-light);color:var(--color-warning)}.automation-trigger-badge[data-provider=schedule] .automation-trigger-badge__icon{background:var(--color-warning);color:#fff}.automation-trigger-badge[data-provider=entity]{background:var(--color-success-light);color:var(--color-success)}.automation-trigger-badge[data-provider=entity] .automation-trigger-badge__icon{background:var(--color-success);color:#fff}.automation-trigger-categories{display:flex;flex-direction:column;gap:var(--spacing-lg)}.automation-trigger-category__label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.automation-trigger-category__options{display:flex;flex-wrap:wrap;gap:6px}.automation-trigger-option{padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);font-size:.813rem;cursor:pointer;transition:all .15s;color:var(--color-text-primary)}.automation-trigger-option:hover{border-color:var(--color-primary);color:var(--color-primary)}.automation-trigger-option--selected{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary)}.automation-template-vars{margin-top:var(--spacing-xs)}.automation-template-vars__label{font-size:.813rem;font-weight:500;color:var(--color-text-secondary)}.automation-template-vars__list{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--spacing-xs)}.automation-template-var{padding:2px 6px;font-size:.75rem;font-family:var(--font-mono, monospace);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all .15s}.automation-template-var:hover{background:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.automation-cron-preview{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.813rem}.automation-cron-preview strong{font-weight:600;color:var(--color-text-primary)}.automation-cron-preview ul{margin:var(--spacing-xs) 0 0;padding-left:1.2rem}.automation-cron-preview li{font-size:.813rem;color:var(--color-text-secondary);line-height:1.6}.automation-execution-table{width:100%;border-collapse:collapse;font-size:.875rem}.automation-execution-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);font-weight:600;font-size:.813rem;color:var(--color-text-secondary);background:var(--color-surface);border-bottom:1px solid var(--color-border);white-space:nowrap}.automation-execution-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.automation-execution-table tr:hover td{background:var(--color-surface-hover)}.automation-execution-summary{max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.automation-execution-error{font-size:.75rem;color:var(--color-error);margin-top:2px}.automation-execution-link{color:var(--color-primary);font-size:.813rem;font-weight:500}.automation-execution-link:hover{text-decoration:underline}.automation-status--triggered{background:var(--color-info-light);color:var(--color-info)}.automation-status--running{background:var(--color-warning-light);color:var(--color-warning)}.automation-status--completed{background:var(--color-success-light);color:var(--color-success)}.automation-status--failed{background:var(--color-error-light);color:var(--color-error)}.automation-status--rate_limited{background:var(--color-warning-light);color:var(--color-warning)}.automation-execution-pagination{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-md) 0}.automation-execution-page-info{font-size:.813rem;color:var(--color-text-secondary)}.automation-rule-toggle:focus-visible,.automation-trigger-option:focus-visible,.automation-template-var:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.backup-status-badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.backup-status-badge--completed{background:var(--color-success-light, #d1fae5);color:var(--color-success, #059669)}.backup-status-badge--in_progress,.backup-status-badge--creating_safety_backup,.backup-status-badge--provisioning_schema,.backup-status-badge--importing,.backup-status-badge--extracting,.backup-status-badge--restoring,.backup-status-badge--swapping,.backup-status-badge--tearing_down,.backup-status-badge--pending{background:var(--color-warning-light, #fef3c7);color:var(--color-warning, #d97706)}.backup-status-badge--failed{background:var(--color-error-light, #fee2e2);color:var(--color-error, #dc2626)}.backup-status-badge--deleted,.backup-status-badge--pruned{background:var(--color-surface-secondary, #f3f4f6);color:var(--color-text-tertiary, #9ca3af)}.backup-trigger-badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.backup-trigger-badge--scheduled{background:var(--color-primary-light, #dbeafe);color:var(--color-primary, #2563eb)}.backup-trigger-badge--manual{background:var(--color-info-light, #e0f2fe);color:var(--color-info, #0284c7)}.backup-trigger-badge--pre_restore{background:var(--color-warning-light, #fef3c7);color:var(--color-warning, #d97706)}.backup-restore-type-badge{display:inline-block;padding:2px 8px;border-radius:9999px;font-size:.75rem;font-weight:500}.backup-restore-type-badge--full{background:var(--color-error-light, #fee2e2);color:var(--color-error, #dc2626)}.backup-restore-type-badge--per_tenant{background:var(--color-info-light, #e0f2fe);color:var(--color-info, #0284c7)}.backup-config-section{margin-bottom:var(--spacing-xl)}.backup-config-section h3{margin:0 0 var(--spacing-md) 0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.backup-config-row{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.backup-config-label{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);min-width:160px}.backup-config-value{font-size:.875rem;color:var(--color-text-tertiary)}.backup-config-input{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-size:.875rem;width:120px}.backup-toggle{position:relative;width:36px;height:20px;border-radius:10px;border:none;background:var(--color-border);cursor:pointer;padding:0;transition:background .2s}.backup-toggle--on{background:var(--color-success)}.backup-toggle__thumb{display:block;width:16px;height:16px;border-radius:50%;background:#fff;position:absolute;top:2px;left:2px;transition:transform .2s}.backup-toggle--on .backup-toggle__thumb{transform:translate(16px)}.backup-tiers-table{width:100%;border-collapse:collapse;font-size:.875rem}.backup-tiers-table th{text-align:left;padding:var(--spacing-sm) var(--spacing-md);border-bottom:2px solid var(--color-border);color:var(--color-text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}.backup-tiers-table td{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);vertical-align:middle}.backup-tiers-table input{padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-input-bg);color:var(--color-text-primary);font-size:.875rem;width:100%}.backup-tiers-table input[type=number]{width:80px}.backup-tiers-table input[type=text]{width:140px}.backup-tier-remove-btn{background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:4px;border-radius:var(--radius-sm);font-size:1rem;line-height:1}.backup-tier-remove-btn:hover{color:var(--color-error);background:var(--color-error-light, #fee2e2)}.backup-config-summary{display:flex;gap:var(--spacing-xl);padding:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.backup-config-summary-item{display:flex;flex-direction:column;gap:2px}.backup-config-summary-label{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase;font-weight:600;letter-spacing:.03em}.backup-config-summary-value{font-size:.9rem;color:var(--color-text-primary);font-weight:500}.backup-restore-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--color-overlay)}.backup-restore-modal{width:520px;max-width:95vw;background:var(--color-background);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000002e;overflow:hidden}.backup-restore-modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.backup-restore-modal__header h3{margin:0;font-size:1rem;font-weight:600}.backup-restore-modal__body{padding:var(--spacing-lg)}.backup-restore-modal__warning{padding:var(--spacing-md);background:var(--color-error-light, #fee2e2);border:1px solid var(--color-error, #dc2626);border-radius:var(--radius-md);color:var(--color-error, #dc2626);font-size:.875rem;margin-bottom:var(--spacing-md)}.backup-restore-modal__info{font-size:.875rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.backup-restore-modal__tenant-select{padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-input-bg);color:var(--color-text-primary);font-size:.875rem;width:100%}.backup-restore-modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border)}.backup-size{font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.entity-type-editor{max-width:900px;margin:0 auto;padding:0 1rem 2rem}.editor-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.editor-back-link{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.875rem;padding:.25rem 0}.editor-back-link:hover{color:var(--color-text-primary)}.editor-section{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:8px;margin-bottom:1rem;overflow:hidden}.editor-section-body{padding:1rem 1.25rem 1.25rem}.editor-section-title{font-size:.95rem;font-weight:600;color:var(--color-text-primary);margin:0}.editor-section-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.875rem 1.25rem;background:none;border:none;cursor:pointer;text-align:left;color:var(--color-text-primary)}.editor-section-toggle:hover{background:var(--color-surface)}.editor-section-toggle-icon{font-size:.7rem;color:var(--color-text-secondary)}.editor-section-badge{margin-left:auto;font-size:.75rem;color:var(--color-text-secondary);background:var(--color-surface-hover);padding:.125rem .5rem;border-radius:10px}.editor-section-header-row{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--color-border)}.editor-section-header-row .button-primary{margin-left:auto}.field-definitions-list{padding:0}.field-definition-row{display:flex;align-items:center;justify-content:space-between;padding:.625rem 1.25rem;border-bottom:1px solid var(--color-border-light);gap:.5rem}.field-definition-row:last-child{border-bottom:none}.field-row-info{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0}.field-type-badge{display:inline-block;font-size:.7rem;font-weight:600;color:var(--color-text-on-primary);padding:.125rem .5rem;border-radius:10px;white-space:nowrap;text-transform:uppercase;letter-spacing:.025em}.field-row-name{font-weight:500;color:var(--color-text-primary);white-space:nowrap}.field-row-key{font-size:.8rem;color:var(--color-text-secondary);font-family:monospace}.field-required-badge{font-size:.7rem;color:var(--color-error);border:1px solid var(--color-error);padding:0 .375rem;border-radius:4px;white-space:nowrap}.field-array-badge{font-size:.7rem;color:var(--color-secondary);border:1px solid currentColor;padding:0 .375rem;border-radius:4px;white-space:nowrap}.field-system-badge{font-size:.7rem;color:var(--color-info);border:1px solid var(--color-info);background:var(--color-info-light);padding:0 .375rem;border-radius:4px;white-space:nowrap}.field-row-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.reorder-button{background:none;border:1px solid var(--color-border);border-radius:4px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text-secondary);font-size:.8rem}.reorder-button:hover:not(:disabled){background:var(--color-surface);color:var(--color-text-primary)}.reorder-button:disabled{opacity:.3;cursor:not-allowed}.field-edit-button,.field-delete-button{background:none;border:1px solid var(--color-border);border-radius:4px;padding:.25rem .5rem;cursor:pointer;font-size:.75rem;color:var(--color-text-secondary)}.field-edit-button:hover:not(:disabled){background:var(--color-info-light);border-color:var(--color-info);color:var(--color-info)}.field-edit-button:disabled{opacity:.3;cursor:not-allowed}.field-delete-button:hover{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.field-empty-message{padding:2rem 1.25rem;text-align:center;color:var(--color-text-secondary);font-size:.875rem}.field-editor-form{padding:1rem 1.25rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.field-editor-actions{display:flex;gap:.5rem;margin-top:.75rem}.field-checkbox-row{display:flex;gap:1rem;padding-top:.5rem}.field-checkbox-label{display:flex;align-items:center;gap:.375rem;font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.field-checkbox-label input[type=checkbox]{cursor:pointer}.expression-input{font-family:var(--font-mono, "SFMono-Regular", "Consolas", "Liberation Mono", monospace);font-size:.8rem;resize:vertical;line-height:1.5}.form-hint{font-size:.75rem;color:var(--color-text-secondary);margin-top:.375rem;line-height:1.4}.field-options-section{border-top:1px solid var(--color-border);padding-top:.75rem;margin-top:.75rem}.static-options-input{display:flex;flex-direction:column;gap:.5rem}.static-option-tags{display:flex;flex-wrap:wrap;gap:.375rem}.static-option-tag{display:inline-flex;align-items:center;gap:.25rem;background:var(--color-border);color:var(--color-text-primary);padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.static-option-tag button{background:none;border:none;color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;padding:0;line-height:1}.static-option-tag button:hover{color:var(--color-error)}.static-option-add{display:flex;gap:.5rem}.static-option-add .form-input{flex:1}.editor-footer{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-border);margin-top:.5rem}.button-small{padding:.375rem .75rem!important;font-size:.8rem!important}.form-hint{font-weight:400;font-size:.75rem;color:var(--color-text-secondary)}.field-component-badge{font-size:.65rem;color:var(--color-secondary);border:1px solid var(--color-secondary);background:color-mix(in srgb,var(--color-secondary) 10%,transparent);padding:0 .375rem;border-radius:4px;white-space:nowrap;font-family:monospace}.form-grid--category-row{grid-template-columns:1fr 72px 100px}.form-field--color .color-input-wrapper{display:flex;align-items:center;gap:.5rem}.form-field--color .color-swatch{width:16px;height:16px;border-radius:3px;border:1px solid var(--color-border);flex-shrink:0}.form-field--color .color-text-input{width:100%;font-family:var(--font-mono, monospace);font-size:.813rem}.category-dropdown-wrapper{position:relative}.category-dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-top:none;border-radius:0 0 6px 6px;z-index:20;box-shadow:0 4px 6px -1px #0000001a}.category-dropdown-item{padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:var(--color-text-primary)}.category-dropdown-item:hover{background:var(--color-surface)}.category-dropdown-item.active{background:var(--color-primary-light);color:var(--color-primary)}.category-dropdown-empty{padding:.5rem .75rem;color:var(--color-text-secondary);font-size:.8rem;font-style:italic}.category-dropdown-add-btn{padding:.5rem .75rem;cursor:pointer;font-size:.8rem;color:var(--color-primary);border-top:1px solid var(--color-border)}.category-dropdown-add-btn:hover{background:var(--color-primary-light)}.category-dropdown-add-form{padding:.375rem .5rem;border-top:1px solid var(--color-border)}.category-dropdown-add-form .form-input{font-size:.8rem;padding:.375rem .5rem}.category-dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:19}.editor-section-hint{font-size:.8rem;color:var(--color-text-secondary);margin-bottom:1rem}.template-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 900px){.template-layout{grid-template-columns:1fr}}.template-textarea{font-family:var(--font-mono, "Courier New", monospace);font-size:.813rem!important;resize:vertical}.template-preview{display:flex;flex-direction:column}.template-preview-frame{flex:1;min-height:200px;padding:1rem;background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:6px;overflow:auto}.template-preview-empty{flex:1;min-height:200px;padding:2rem;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:1px dashed var(--color-border);border-radius:6px;color:var(--color-text-secondary);font-size:.85rem;text-align:center}.template-preview-error{flex:1;min-height:100px;padding:1rem;background:var(--color-error-light);border:1px solid var(--color-error);border-radius:6px;color:var(--color-error);font-size:.8rem;font-family:var(--font-mono, monospace)}.components-ref-grid{display:flex;flex-direction:column;gap:1rem}.components-ref-group-title{font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .375rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border-light)}.components-ref-item{display:grid;grid-template-columns:160px 140px 1fr auto;gap:.5rem;align-items:center;padding:.25rem 0;font-size:.8rem}@media (max-width: 700px){.components-ref-item{grid-template-columns:1fr}}.components-ref-id{font-family:var(--font-mono, monospace);font-size:.75rem;color:var(--color-primary);background:var(--color-primary-light);padding:.125rem .375rem;border-radius:3px}.components-ref-name{font-weight:500;color:var(--color-text-primary)}.components-ref-desc{color:var(--color-text-secondary)}.components-ref-modes{display:flex;gap:.25rem}.components-ref-mode{font-size:.65rem;padding:.0625rem .375rem;border-radius:3px;text-transform:uppercase;font-weight:600;letter-spacing:.025em}.components-ref-mode--view{background:var(--color-success-light);color:var(--color-success)}.components-ref-mode--edit{background:var(--color-info-light);color:var(--color-info)}.entity-type-editor.template-expanded{max-width:1200px}.display-fields-picker{display:flex;flex-direction:column;gap:.375rem;border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);padding:.5rem;max-height:200px;overflow-y:auto;background:var(--color-surface, #f9fafb)}.display-field-option{display:flex;align-items:center;gap:.5rem}.display-field-checkbox{display:flex;align-items:center;gap:.375rem;font-size:.8rem;cursor:pointer;white-space:nowrap}.display-field-checkbox input[type=checkbox]{margin:0}.display-field-label-input{flex:1;padding:.125rem .375rem!important;font-size:.75rem!important;min-width:0;max-width:150px}.display-fields-toggles{display:flex;gap:1rem;margin-top:.5rem;padding-top:.375rem;border-top:1px solid var(--color-border)}.field-drag-handle{cursor:grab;color:var(--color-text-tertiary);font-size:1rem;padding:0 .25rem;-webkit-user-select:none;user-select:none;letter-spacing:-2px}.field-drag-handle:hover{color:var(--color-text-primary)}.field-definition-row.dragging{opacity:.5;background:var(--color-surface-hover)}.field-definition-row.drag-over{border-top:2px solid var(--color-primary, #4f46e5);margin-top:-1px}.field-hidden-badge{font-size:.7rem;color:var(--color-warning);border:1px solid var(--color-warning);background:var(--color-warning-light);padding:0 .375rem;border-radius:4px;white-space:nowrap}.editor-page{max-width:960px;margin:0 auto;padding:0 1rem 2rem}.editor-top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.editor-table{width:100%;border-collapse:collapse;font-size:.875rem}.editor-table th{text-align:left;font-weight:600;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);padding:.5rem .75rem;border-bottom:1px solid var(--color-border);white-space:nowrap}.editor-table td{padding:.625rem .75rem;border-bottom:1px solid var(--color-border-light, var(--color-border));vertical-align:middle}.editor-table tbody tr:last-child td{border-bottom:none}.editor-table tbody tr:hover{background:var(--color-surface, #f9fafb)}.editor-section>.editor-section-title{padding:.875rem 1.25rem;border-bottom:1px solid var(--color-border)}.editor-form-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:.75rem}@media (max-width: 600px){.editor-form-grid-2{grid-template-columns:1fr}}.fsm-checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--color-text-primary)}.fsm-prompt-editor,.fsm-prompt-editor .md-editor{min-height:300px}.fsm-prompt-editor .md-editor-content,.fsm-prompt-editor .md-editor-rich,.fsm-prompt-editor .md-editor-raw{min-height:250px}.tool-picker{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.tool-picker-header{display:flex;justify-content:space-between;align-items:center;padding:.625rem .75rem;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.tool-picker-label{font-weight:600;font-size:.8rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.03em}.tool-picker-count{font-size:.8rem;color:var(--color-text-secondary)}.tool-picker-search{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.tool-picker-filter{flex:1;padding:.375rem .625rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface-elevated);color:var(--color-text-primary);font-size:.85rem}.tool-picker-filter:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light)}.tool-picker-tags{display:flex;flex-wrap:wrap;gap:.375rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.tool-picker-tag{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;background:var(--color-primary-light);color:var(--color-primary);border-radius:4px;font-size:.75rem;font-family:var(--font-mono, monospace)}.tool-picker-tag button{background:none;border:none;color:inherit;cursor:pointer;padding:0;font-size:.9rem;line-height:1;opacity:.7}.tool-picker-tag button:hover{opacity:1}.tool-picker-list{max-height:320px;overflow-y:auto}.tool-picker-empty{padding:1.5rem;text-align:center;color:var(--color-text-secondary);font-size:.85rem}.tool-picker-item{display:flex;align-items:flex-start;gap:.625rem;padding:.5rem .75rem;cursor:pointer;border-bottom:1px solid var(--color-border-light, var(--color-border));transition:background .1s}.tool-picker-item:hover{background:var(--color-surface)}.tool-picker-item.selected{background:var(--color-primary-light)}.tool-picker-item input[type=checkbox]{margin-top:.125rem;flex-shrink:0}.tool-picker-item-info{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem;flex:1;min-width:0}.tool-picker-item-name{font-family:var(--font-mono, monospace);font-size:.8rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap}.tool-picker-item-cat{font-size:.7rem;color:var(--color-text-tertiary, var(--color-text-secondary));background:var(--color-surface-hover, var(--color-surface));padding:0 .375rem;border-radius:3px;white-space:nowrap}.tool-picker-item-desc{width:100%;font-size:.78rem;color:var(--color-text-secondary);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.view-template-editor{padding:0 1rem 2rem}.vte-layout{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:stretch}.vte-editor{min-width:0}.vte-preview-container{width:100%;max-width:100%;min-width:0;overflow:hidden;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-elevated)}.vte-preview-content>*{max-width:100%;overflow:hidden}.vte-preview-header{padding:.75rem 1rem;font-size:.85rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.vte-preview-content{padding:1rem;font-size:.9rem;overflow-x:auto}.vte-preview-empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--color-text-secondary);font-size:.875rem;text-align:center}.vte-preview-error{color:var(--color-error);background:var(--color-error-light);padding:.75rem 1rem;border-radius:6px;font-size:.85rem}.vte-json-error{color:var(--color-error);font-size:.8rem;margin-top:.25rem}@media (max-width: 900px){.vte-layout{grid-template-columns:1fr}}:root{--color-primary: #4f46e5;--color-primary-hover: #4338ca;--color-primary-light: #eef2ff;--color-secondary: #06b6d4;--color-success: #10b981;--color-success-light: #d1fae5;--color-error: #ef4444;--color-error-light: #fee2e2;--color-warning: #f59e0b;--color-warning-light: #fef3c7;--color-info: #3b82f6;--color-info-light: #dbeafe;--color-background: #ffffff;--color-surface: #f9fafb;--color-surface-hover: #f3f4f6;--color-surface-elevated: #ffffff;--color-border: #e5e7eb;--color-border-light: #f3f4f6;--color-text-primary: #111827;--color-text-secondary: #6b7280;--color-text-tertiary: #9ca3af;--color-text-on-primary: #ffffff;--color-input-bg: #ffffff;--color-code-bg: #f3f4f6;--color-overlay: rgba(0, 0, 0, .6);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, "DejaVu Sans Mono", monospace;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--container-max-width: 1200px;--content-max-width: 800px}@media (prefers-color-scheme: dark){:root{--color-background: #0f172a;--color-surface: #1e293b;--color-surface-hover: #334155;--color-surface-elevated: #1e293b;--color-border: #334155;--color-border-light: #334155;--color-text-primary: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--color-text-on-primary: #ffffff;--color-input-bg: #1e293b;--color-code-bg: #334155;--color-overlay: rgba(0, 0, 0, .75);--color-primary-hover: #6366f1;--color-primary-light: rgba(79, 70, 229, .15);--color-success-light: rgba(16, 185, 129, .15);--color-error-light: rgba(239, 68, 68, .15);--color-info-light: rgba(59, 130, 246, .15);--color-warning-light: rgba(245, 158, 11, .15);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4), 0 2px 4px -1px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5), 0 4px 6px -2px rgba(0, 0, 0, .4)}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;line-height:1.5}body{font-family:var(--font-family);background-color:var(--color-background);color:var(--color-text-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;display:flex;flex-direction:column}.heading{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.subheading{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.description{color:var(--color-text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.paragraph{color:var(--color-text-primary);line-height:1.6;margin-bottom:var(--spacing-md)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:var(--font-family);font-size:1rem;cursor:pointer;border:none;transition:all var(--transition-fast)}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.5;cursor:not-allowed}input,textarea{font-family:var(--font-family);font-size:1rem;transition:all var(--transition-fast)}input:focus,textarea:focus{outline:2px solid var(--color-primary);outline-offset:0}ul{list-style:none}.loading{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl);color:var(--color-text-secondary)}.spinner{display:inline-block;width:1.25rem;height:1.25rem;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-icon{display:inline-block;font-size:1.25rem;line-height:1}.empty-state{padding:var(--spacing-2xl);text-align:center;color:var(--color-text-secondary)}.error-message{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-error-light);color:var(--color-error);border-radius:var(--radius-md);border:1px solid var(--color-error)}.app{display:flex;height:100vh;overflow:hidden}.app-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;gap:var(--spacing-lg);color:var(--color-text-secondary)}.app-content{flex:1;margin-left:280px;display:flex;flex-direction:column;overflow:hidden;transition:margin-right var(--transition-normal)}.documents-content{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-2xl);max-width:1400px;margin:0 auto;width:100%}section{background-color:var(--color-surface);border-radius:var(--radius-lg);padding:var(--spacing-xl);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}@media (max-width: 1024px){.app-content{margin-left:280px}}@media (max-width: 768px){.app{flex-direction:column}.app-content{margin-left:0}.documents-content{padding:var(--spacing-lg)}}.sidebar{width:280px;height:100vh;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;position:fixed;left:0;top:0}.sidebar-header{padding:var(--spacing-xl) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.sidebar-logo{height:32px;width:auto}.sidebar-nav{flex:1;padding:var(--spacing-lg) 0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm)}.sidebar-nav a{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);margin:0 var(--spacing-sm);color:var(--color-text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);font-weight:500}.sidebar-nav a:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.sidebar-nav a.active{background-color:var(--color-primary);color:#fff}.nav-icon{font-size:1.25rem;line-height:1}.nav-label{flex:1}.sidebar-divider{height:1px;background:var(--color-border);margin:var(--spacing-md) var(--spacing-lg)}.sidebar-divider-compact{height:1px;background:var(--color-border);margin:var(--spacing-xs) var(--spacing-lg)}.sidebar-back-link{opacity:.8}.sidebar-back-link:hover{opacity:1}.sidebar-footer{margin-top:auto;padding:0 var(--spacing-lg) var(--spacing-lg)}.sidebar-settings-link{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);text-decoration:none;font-size:.875rem;border-radius:var(--radius-md, 6px)}.sidebar-settings-link:hover{background:var(--color-surface);color:var(--color-text-primary)}.sidebar-section-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);padding:var(--spacing-sm) var(--spacing-lg);margin-top:var(--spacing-xs)}.sidebar-section-sublabel{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);padding:var(--spacing-xs) var(--spacing-lg);margin-top:var(--spacing-xs)}.header{background-color:var(--color-background);border-bottom:1px solid var(--color-border);padding:2px var(--spacing-xl)}.header-content{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-xl);min-height:48px}.header-text{flex:1}.header-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0;line-height:1.2}.header-subtitle{font-size:.813rem;color:var(--color-text-secondary);margin:2px 0 0;line-height:1.2}.header-actions{display:flex;align-items:center;gap:var(--spacing-sm, 8px);position:relative}.user-profile{position:relative}.profile-button{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.profile-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.profile-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-avatar-image{width:32px;height:32px;border-radius:50%;object-fit:cover;flex-shrink:0}.avatar-text{color:#fff;font-weight:600;font-size:.875rem}.profile-name{font-weight:500;color:var(--color-text-primary)}.profile-chevron{font-size:.75rem;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.profile-chevron.open{transform:rotate(180deg)}.profile-menu{position:absolute;right:0;top:calc(100% + var(--spacing-sm));width:280px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1000;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.profile-menu-header{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg)}.profile-menu-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;flex-shrink:0}.profile-menu-avatar-image{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0}.profile-menu-avatar .avatar-text{font-size:1.125rem}.profile-menu-info{flex:1;min-width:0}.profile-menu-name{font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-email{font-size:.813rem;color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-menu-divider{height:1px;background-color:var(--color-border);margin:0 var(--spacing-md)}.profile-menu-nav{padding:var(--spacing-sm) 0}.profile-menu-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:transparent;border:none;color:var(--color-text-primary);font-size:.938rem;cursor:pointer;transition:background-color var(--transition-fast);text-align:left;text-decoration:none}.profile-menu-item:hover{background-color:var(--color-surface-hover)}.profile-menu-item.logout{color:var(--color-error)}.profile-menu-item.logout:hover{background-color:var(--color-error-light)}.menu-item-icon{font-size:1.125rem;line-height:1}.menu-item-label{flex:1}.page-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.page-main{flex:1;overflow-y:auto;background-color:var(--color-background)}.page-main.full-height{overflow:hidden;display:flex;flex-direction:column}.ask-ai-container{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.messages-panel{flex:1;overflow-y:auto;padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.welcome-message{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-3xl);color:var(--color-text-secondary);margin:auto}.welcome-icon{font-size:4rem;margin-bottom:var(--spacing-lg);opacity:.5}.welcome-message h2{font-size:1.5rem;color:var(--color-text-primary);margin-bottom:var(--spacing-md)}.welcome-message p{max-width:600px;line-height:1.6}.message{display:flex;width:100%;margin-bottom:var(--spacing-md)}.message-user{justify-content:flex-start}.message-assistant,.message-error{justify-content:flex-end}.message-bubble{max-width:85%;padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);position:relative}.message-user .message-bubble{background-color:var(--color-primary);color:#fff;border-bottom-left-radius:var(--radius-sm)}.message-assistant .message-bubble{background-color:var(--color-surface);border:1px solid var(--color-border);border-bottom-right-radius:var(--radius-sm)}.message-assistant .message-bubble:has(.entity-view-full){max-width:100%;padding:0;background:none;border:none;box-shadow:none}.message-assistant .message-bubble:has(.entity-view-full) .message-content{margin-bottom:0}.message-error .message-bubble{background-color:var(--color-error-light);border:1px solid var(--color-error);border-bottom-right-radius:var(--radius-sm)}.message-content{margin-bottom:var(--spacing-sm)}.message-user .message-content p{margin:0;color:#fff;white-space:pre-wrap}.message-content h1,.message-content h2,.message-content h3{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.message-content h1:first-child,.message-content h2:first-child,.message-content h3:first-child{margin-top:0}.message-content p{margin:var(--spacing-sm) 0}.message-content code{background-color:var(--color-background);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em}.message-content pre{background-color:var(--color-background);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-sm) 0}.message-content pre code{background:transparent;padding:0}.message-content ul,.message-content ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-xl)}.message-content .markdown-table-wrapper{margin:var(--spacing-lg) 0;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);overflow:hidden}.message-content .markdown-table-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);gap:var(--spacing-sm)}.message-content .table-filter-input{flex:1;padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.813rem;background-color:var(--color-background);color:var(--color-text-primary)}.message-content .table-filter-input:focus{outline:none;border-color:var(--color-primary)}.message-content .table-export-button{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.813rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all var(--transition-fast)}.message-content .table-export-button:hover{background-color:var(--color-primary-hover)}.message-content .markdown-table-scroll{overflow-x:auto}.message-content .markdown-table{width:100%;border-collapse:collapse;font-size:.875rem;background-color:var(--color-background)}.message-content .markdown-table thead{background:linear-gradient(to bottom,var(--color-surface),var(--color-background));border-bottom:2px solid var(--color-primary)}.message-content .markdown-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;color:var(--color-text-primary);border-right:1px solid var(--color-border);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.message-content .markdown-table th.sortable:hover{background-color:var(--color-surface-hover)}.message-content .markdown-table th:last-child{border-right:none}.message-content .sort-icon{color:var(--color-primary);margin-left:var(--spacing-xs)}.message-content .markdown-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.message-content .markdown-table tbody tr:hover{background-color:var(--color-surface-hover)}.message-content .markdown-table tbody tr:last-child{border-bottom:none}.message-content .markdown-table td{padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);border-right:1px solid var(--color-border)}.message-content .markdown-table td:last-child{border-right:none}.message-content .markdown-table tbody tr:nth-child(2n){background-color:var(--color-surface)}.message-content .markdown-table-footer{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-surface);border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-tertiary)}.message-actions{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast)}.message-bubble:hover .message-actions{opacity:1}.message-action-button{padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.message-action-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.message-timestamp{font-size:.75rem;color:var(--color-text-tertiary);margin-top:var(--spacing-sm);text-align:right}.message-user .message-timestamp{color:#ffffffb3}.message-metrics{margin-top:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.metrics-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:.813rem;color:var(--color-text-tertiary)}.metric-item{display:flex;align-items:center;gap:var(--spacing-xs)}.message-sources{margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-md);border:1px solid var(--color-border)}.message-sources summary{cursor:pointer;font-weight:500;color:var(--color-text-secondary);font-size:.875rem;-webkit-user-select:none;user-select:none}.message-sources summary:hover{color:var(--color-text-primary)}.sources-list-compact{margin-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-xs)}.source-compact{display:flex;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);font-size:.813rem;background-color:var(--color-surface);border-radius:var(--radius-sm)}.source-name{color:var(--color-text-primary)}.source-score{color:var(--color-success);font-weight:600}.source-clickable{cursor:pointer;transition:all .2s ease}.source-clickable:hover{background:var(--color-primary);color:#fff;transform:translate(4px)}.source-clickable:hover .source-score{opacity:1;color:#fff}.loading-bubble{display:flex;flex-direction:column;gap:var(--spacing-md)}.typing-indicator{display:flex;gap:var(--spacing-xs)}.typing-indicator span{width:8px;height:8px;background-color:var(--color-primary);border-radius:50%;animation:typing 1.4s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.loading-text{margin:0;color:var(--color-text-secondary);font-size:.875rem}.error-bubble{display:flex;align-items:center;gap:var(--spacing-md);color:var(--color-error)}.input-panel{flex-shrink:0;padding:var(--spacing-lg);background-color:var(--color-background);border-top:1px solid var(--color-border)}.input-wrapper-inline{max-width:1200px;margin:0 auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md);transition:border-color var(--transition-fast)}.input-wrapper-inline:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.input-textarea-inline{flex:1;padding:var(--spacing-sm) 0;border:none;background-color:transparent;color:var(--color-text-primary);font-size:1rem;line-height:1.5;resize:none;font-family:var(--font-family);max-height:288px;overflow-y:auto;transition:height var(--transition-fast)}.input-textarea-inline:focus{outline:none}.input-textarea-inline::placeholder{color:var(--color-text-tertiary)}.input-textarea-inline:disabled{opacity:.6;cursor:not-allowed}.send-button-arrow{flex-shrink:0;width:40px;height:40px;background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:1.25rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.send-button-arrow:hover:not(:disabled){background-color:var(--color-primary-hover);transform:scale(1.05);box-shadow:var(--shadow-md)}.send-button-arrow:disabled{opacity:.4;cursor:not-allowed}.cancel-send-btn{background-color:var(--color-error, #dc2626)}.voice-dictation-btn{flex-shrink:0;width:36px;height:36px;background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.voice-dictation-btn:hover:not(:disabled){color:var(--color-text-primary);border-color:var(--color-text-secondary);background:var(--color-surface)}.voice-dictation-btn:disabled{opacity:.4;cursor:not-allowed}.voice-dictation-btn.listening{background:var(--color-error, #dc2626);color:#fff;border-color:var(--color-error, #dc2626);animation:voice-pulse 1.5s ease-in-out infinite}.voice-dictation-btn.listening:hover{background:var(--color-error);border-color:var(--color-error);opacity:.85}@keyframes voice-pulse{0%,to{box-shadow:0 0 #dc262666}50%{box-shadow:0 0 0 6px #dc262600}}.voice-dictation-btn.error{border-color:var(--color-warning, #f59e0b);color:var(--color-warning, #f59e0b)}.voice-dictation-btn.connecting{border-color:var(--color-primary);animation:voice-connecting 1s ease-in-out infinite}@keyframes voice-connecting{0%,to{opacity:.6}50%{opacity:1}}.assistant-input-send.send-highlighted,.send-button-arrow.send-highlighted{animation:send-pulse .6s ease-in-out 3}@keyframes send-pulse{0%,to{box-shadow:0 0 #3b82f666}50%{box-shadow:0 0 0 6px #3b82f600}}.voice-dictation-btn.command-mode{background:var(--color-warning, #f59e0b);border-color:var(--color-warning, #f59e0b);color:#fff;animation:voice-command-pulse .8s ease-in-out infinite}@keyframes voice-command-pulse{0%,to{box-shadow:0 0 #f59e0b66}50%{box-shadow:0 0 0 6px #f59e0b00}}.realtime-voice-btn{flex-shrink:0;width:36px;height:36px;background:transparent;color:var(--color-text-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.realtime-voice-btn:hover{color:var(--color-primary);border-color:var(--color-primary);background-color:var(--color-primary-light, rgba(99, 102, 241, .08))}.realtime-voice-btn.voice-active{color:var(--color-error, #dc2626);border-color:var(--color-error, #dc2626);background-color:#dc262614;animation:pulse-voice 1.5s ease-in-out infinite}@keyframes pulse-voice{0%,to{box-shadow:0 0 #dc26264d}50%{box-shadow:0 0 0 4px #dc262600}}.cancel-send-btn:hover{background-color:var(--color-error, #dc2626);opacity:.9}.cancel-send-small{width:24px;height:24px;min-width:24px;padding:0;font-size:10px;opacity:.7}.cancel-send-small:hover{opacity:1}.cancel-ask-btn{padding:var(--spacing-xs) var(--spacing-lg);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.813rem;cursor:pointer;transition:all var(--transition-fast);align-self:flex-start}.cancel-ask-btn:hover{background:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.input-hint-text{max-width:1200px;margin:var(--spacing-sm) auto 0;font-size:.75rem;color:var(--color-text-tertiary);text-align:center}@media (max-width: 768px){.messages-panel{padding:var(--spacing-md)}.message-bubble{max-width:95%}.input-panel{padding:var(--spacing-md)}.input-textarea{min-height:40px}}.question-textarea{flex:1;width:100%;padding:var(--spacing-lg);border:none;background-color:transparent;color:var(--color-text-primary);font-size:1rem;line-height:1.6;resize:none;font-family:var(--font-family);overflow-y:auto;min-height:0}.question-textarea:focus{outline:none}.question-textarea::placeholder{color:var(--color-text-tertiary)}.question-input-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border-top:1px solid var(--color-border);flex-shrink:0}.input-hint{font-size:.813rem;color:var(--color-text-tertiary)}.submit-button-inline{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.938rem;cursor:pointer;transition:all var(--transition-fast)}.submit-button-inline:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-button-inline:disabled{opacity:.5;cursor:not-allowed}.response-loading,.response-error{padding:var(--spacing-2xl);text-align:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.response-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg)}.loading-spinner{width:48px;height:48px;border:4px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.response-loading p{color:var(--color-text-secondary);font-size:1rem}.response-error{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-error);border-color:var(--color-error);background-color:var(--color-error-light)}.error-icon{font-size:1.5rem}.response-container{display:flex;flex-direction:column;gap:var(--spacing-xl)}.response-answer{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-2xl);box-shadow:var(--shadow-sm)}.response-heading{font-size:1.5rem;font-weight:700;color:var(--color-text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.markdown-content{color:var(--color-text-primary);line-height:1.8}.markdown-content h1{font-size:2rem;font-weight:700;margin:var(--spacing-xl) 0 var(--spacing-lg) 0;color:var(--color-text-primary)}.markdown-content h2{font-size:1.5rem;font-weight:600;margin:var(--spacing-lg) 0 var(--spacing-md) 0;color:var(--color-text-primary)}.markdown-content h3{font-size:1.25rem;font-weight:600;margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text-primary)}.markdown-content p{margin:var(--spacing-md) 0}.markdown-content ul,.markdown-content ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-xl)}.markdown-content li{margin:var(--spacing-sm) 0}.markdown-content code{background-color:var(--color-background);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;border:1px solid var(--color-border)}.markdown-content pre{background-color:var(--color-background);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--color-border)}.markdown-content pre code{background-color:transparent;padding:0;border:none}.markdown-content strong{font-weight:600}.markdown-content a{color:var(--color-primary);text-decoration:underline}.markdown-content a:hover{color:var(--color-primary-hover)}.response-metrics,.response-rag,.response-sources{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.metrics-title,.rag-title,.sources-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-lg)}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--spacing-md)}.metric-card{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.metric-label{font-size:.813rem;color:var(--color-text-tertiary);font-weight:500}.metric-value{font-size:1.75rem;font-weight:700;color:var(--color-primary)}.rag-details{display:flex;flex-direction:column;gap:var(--spacing-md)}.rag-detail{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm)}.rag-label{color:var(--color-text-secondary);font-weight:500;font-size:.938rem}.rag-value{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-primary);background-color:var(--color-surface);padding:.25rem .5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.sources-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.source-card{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.source-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.source-info{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1}.source-filename{font-weight:500;color:var(--color-text-primary)}.source-chunk{font-size:.813rem;color:var(--color-text-tertiary)}.source-similarity{font-weight:600;color:var(--color-success);font-size:.938rem}@media (max-width: 1024px){.ask-ai-content{width:95%;padding:var(--spacing-lg)}.question-input-container{min-height:180px}}@media (max-width: 768px){.ask-ai-content{width:100%;padding:var(--spacing-md)}.question-input-container{min-height:150px}.metrics-grid{grid-template-columns:repeat(2,1fr)}}.file-upload{margin-bottom:var(--spacing-2xl)}.upload-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.file-input{display:block;width:100%;padding:var(--spacing-lg);border:2px dashed var(--color-border);border-radius:var(--radius-lg);background-color:var(--color-background);cursor:pointer;transition:all var(--transition-fast);font-size:1rem;color:var(--color-text-primary)}.file-input:hover:not(:disabled){border-color:var(--color-primary);background-color:var(--color-primary-light)}.file-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.file-input:disabled{opacity:.6;cursor:not-allowed}.status{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);border-radius:var(--radius-md);border:1px solid;font-size:.938rem;position:relative}.status-close-button{margin-left:auto;width:24px;height:24px;border-radius:var(--radius-sm);border:none;background-color:transparent;cursor:pointer;color:inherit;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.7}.status-close-button:hover{opacity:1;background-color:#0000001a}.status.uploading{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.status.success{background-color:var(--color-success-light);border-color:var(--color-success);color:var(--color-success)}.status.error{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.file-upload-compact{display:flex;flex-direction:column;gap:var(--spacing-md)}.file-input-hidden{display:none}.upload-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);background-color:var(--color-surface);transition:all var(--transition-fast);cursor:pointer}.upload-dropzone:hover{border-color:var(--color-primary);background-color:var(--color-primary-light)}.upload-dropzone.drag-active{border-color:var(--color-primary);background-color:var(--color-primary-light);border-style:solid;box-shadow:0 0 0 4px var(--color-primary-light)}.upload-dropzone.uploading{opacity:.6;cursor:wait;pointer-events:none}.upload-dropzone-content{display:flex;align-items:center;gap:var(--spacing-lg)}.upload-icon{font-size:2.5rem;line-height:1;opacity:.7}.upload-text{flex:1}.upload-primary-text{margin:0 0 var(--spacing-xs) 0;font-size:1rem;color:var(--color-text-primary);font-weight:500}.upload-browse-button{background:none;border:none;color:var(--color-primary);font-weight:600;cursor:pointer;text-decoration:underline;padding:0;font-size:inherit;font-family:inherit}.upload-browse-button:hover:not(:disabled){color:var(--color-primary-hover)}.upload-browse-button:disabled{opacity:.5;cursor:not-allowed}.upload-secondary-text{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.file-list-header-section{padding:var(--spacing-lg);background-color:var(--color-background);border-bottom:1px solid var(--color-border)}.documents{display:flex;flex-direction:column;gap:var(--spacing-md)}.document-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg);padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.document-item:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary)}.document-info{flex:1;min-width:0}.document-name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--spacing-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.document-meta{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-tertiary)}.meta-item{white-space:nowrap}.delete-button{padding:var(--spacing-sm) var(--spacing-lg);background-color:transparent;color:var(--color-error);border:1px solid var(--color-error);border-radius:var(--radius-md);font-weight:500;font-size:.938rem;transition:all var(--transition-fast)}.delete-button:hover:not(:disabled){background-color:var(--color-error);color:#fff}@media (max-width: 768px){.document-item{flex-direction:column;align-items:flex-start}.document-meta{flex-wrap:wrap}.delete-button{width:100%}}.documents-explorer{display:flex;height:100%;gap:0;overflow:hidden}.explorer-sidebar{width:280px;background-color:var(--color-surface);border-right:1px solid var(--color-border);display:flex;flex-direction:column;overflow:hidden}.explorer-main-full{flex:1;background-color:var(--color-background);overflow:hidden;display:flex;flex-direction:column}.folder-tree{flex:1;display:flex;flex-direction:column;overflow:hidden}.folder-tree-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.folder-tree-header h3{font-size:.938rem;font-weight:600;color:var(--color-text-primary);margin:0}.new-folder-button{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem}.new-folder-button:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.folder-tree-content{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.folder-tree-item{-webkit-user-select:none;user-select:none}.folder-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background-color var(--transition-fast)}.folder-item:hover{background-color:var(--color-surface-hover)}.folder-item.selected{background-color:var(--color-primary-light);color:var(--color-primary)}.folder-toggle{width:16px;height:16px;border:none;background:transparent;cursor:pointer;color:var(--color-text-tertiary);font-size:.75rem;padding:0;transition:transform var(--transition-fast)}.folder-toggle:hover{color:var(--color-text-primary)}.folder-spacer{width:16px}.folder-icon{font-size:1rem;line-height:1}.folder-name{flex:1;font-size:.875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-list{display:flex;flex-direction:column;height:100%;overflow:hidden}.file-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-surface)}.file-list-path{display:flex;align-items:center;gap:var(--spacing-xs);flex:1}.path-button{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.path-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.path-separator{color:var(--color-text-tertiary)}.path-text{font-weight:500;color:var(--color-text-primary)}.file-list-actions{display:flex;gap:var(--spacing-md)}.view-toggle{display:flex;gap:var(--spacing-xs);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px}.view-button{padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);font-size:1rem}.view-button:hover{background-color:var(--color-surface-hover)}.view-button.active{background-color:var(--color-primary);color:#fff}.file-list-content{flex:1;overflow-y:auto;padding:var(--spacing-md)}.file-list-content.list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.file-list-content.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--spacing-md)}.file-list-loading,.empty-file-list{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl);color:var(--color-text-tertiary);gap:var(--spacing-md)}.file-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.file-list-content.grid .file-item{flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-lg)}.file-item:hover{background-color:var(--color-surface-hover);border-color:var(--color-border)}.file-item.selected{background-color:var(--color-primary-light);border-color:var(--color-primary)}.file-icon{font-size:2rem;line-height:1}.file-list-content.list .file-icon{font-size:1.5rem}.file-info{flex:1;min-width:0}.file-list-content.grid .file-info{width:100%}.file-name{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta{display:flex;gap:var(--spacing-md);font-size:.813rem;color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.file-list-content.grid .file-meta{flex-direction:column;gap:var(--spacing-xs)}.file-preview{display:flex;flex-direction:column;height:100%;overflow:hidden}.preview-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background-color:var(--color-background)}.preview-title{display:flex;align-items:center;gap:var(--spacing-sm);flex:1;min-width:0}.preview-title h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-icon{font-size:1.25rem;line-height:1}.preview-actions{display:flex;gap:var(--spacing-sm)}.preview-action-button{width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;transition:all var(--transition-fast);font-size:1rem}.preview-action-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.preview-content{flex:1;overflow:auto;padding:var(--spacing-lg)}.preview-empty,.preview-loading,.preview-error,.preview-unsupported,.preview-office{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md);color:var(--color-text-tertiary)}.preview-empty-icon,.unsupported-icon,.office-icon{font-size:4rem;opacity:.5}.preview-markdown{max-width:900px;margin:0 auto}.preview-markdown h1,.preview-markdown h2,.preview-markdown h3,.preview-markdown h4{color:var(--color-text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-md)}.preview-markdown p{line-height:1.7;margin:var(--spacing-md) 0}.preview-markdown code{background-color:var(--color-background);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;border:1px solid var(--color-border)}.preview-markdown pre{background-color:var(--color-background);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--color-border)}.preview-markdown pre code{background:transparent;padding:0;border:none}.preview-text pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;white-space:pre-wrap;color:var(--color-text-primary)}.preview-image{display:flex;justify-content:center;align-items:center;height:100%}.preview-image img{max-width:100%;max-height:100%;object-fit:contain}.preview-video{display:flex;justify-content:center;align-items:center;height:100%}.preview-video video{max-width:100%;max-height:100%}.preview-pdf iframe{width:100%;height:100%;border:none}.office-note{color:var(--color-text-secondary);font-size:.875rem;text-align:center;max-width:400px}.download-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;text-decoration:none;transition:all var(--transition-fast)}@media (max-width: 768px){.documents-explorer{flex-direction:column}.explorer-sidebar,.explorer-main-full{width:100%;border:none;border-bottom:1px solid var(--color-border)}.explorer-sidebar{height:auto;max-height:300px}.explorer-main-full{flex:1}}.file-table-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.file-table-toolbar{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--spacing-md)}.search-input-wrapper{position:relative;display:flex;align-items:center}.file-search-input{width:100%;padding:var(--spacing-md) var(--spacing-lg);padding-right:80px;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:.938rem;transition:all var(--transition-fast)}.file-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.file-search-input::placeholder{color:var(--color-text-tertiary)}.search-spinner{position:absolute;right:48px;top:50%;transform:translateY(-50%);width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.search-clear-button{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:var(--radius-sm);border:none;background-color:var(--color-surface-hover);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;display:flex;align-items:center;justify-content:center}.search-clear-button:hover{background-color:var(--color-error-light);color:var(--color-error)}.search-mode-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-primary-light);border-radius:var(--radius-md);border:1px solid var(--color-primary)}.search-icon{font-size:1rem}.search-text{font-size:.875rem;color:var(--color-primary);font-weight:500}.file-table-wrapper{flex:1;overflow:auto}.file-table{width:100%;border-collapse:collapse;background-color:var(--color-background)}.file-table thead{position:sticky;top:0;background-color:var(--color-surface);z-index:10;border-bottom:2px solid var(--color-border)}.file-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:.875rem;border-bottom:2px solid var(--color-border)}.file-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.file-table th.sortable:hover{background-color:var(--color-surface-hover)}.table-header{display:flex;align-items:center;gap:var(--spacing-xs)}.file-table tbody tr{border-bottom:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast)}.file-table tbody tr:hover{background-color:var(--color-surface-hover)}.file-table tbody tr.selected{background-color:var(--color-primary-light);border-left:3px solid var(--color-primary)}.file-table td{padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);font-size:.938rem}.table-cell-name{display:flex;align-items:center;gap:var(--spacing-md)}.cell-icon{font-size:1.25rem;line-height:1;flex-shrink:0}.cell-name-content{display:flex;flex-direction:column;gap:var(--spacing-xs);flex:1;min-width:0}.cell-text{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cell-similarity{font-size:.813rem;color:var(--color-success);font-weight:600}.cell-type{color:var(--color-text-secondary);font-size:.875rem;text-transform:uppercase;font-weight:500}.cell-size,.cell-date{color:var(--color-text-secondary);font-size:.875rem}.table-empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-tertiary)}.file-table-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md);color:var(--color-text-secondary)}.file-table-footer{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);border-top:1px solid var(--color-border)}.table-count{font-size:.813rem;color:var(--color-text-tertiary)}.table-actions-cell{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.table-action-button{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;transition:all var(--transition-fast);font-size:1rem;min-width:32px;display:flex;align-items:center;justify-content:center}.table-action-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-secondary)}.table-action-button.reindex:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.table-action-button.delete:hover{background-color:var(--color-error-light);border-color:var(--color-error)}.bulk-actions-toolbar{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-primary-light);border-radius:var(--radius-md);border:1px solid var(--color-primary)}.bulk-selection-count{font-weight:600;color:var(--color-primary);font-size:.938rem}.bulk-actions{display:flex;gap:var(--spacing-sm)}.bulk-action-button{padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background);color:var(--color-text-primary);cursor:pointer;font-weight:500;font-size:.875rem;transition:all var(--transition-fast)}.bulk-action-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-text-secondary)}.bulk-action-button.reindex{color:var(--color-primary);border-color:var(--color-primary)}.bulk-action-button.reindex:hover{background-color:var(--color-primary);color:#fff}.bulk-action-button.delete{color:var(--color-error);border-color:var(--color-error)}.bulk-action-button.delete:hover{background-color:var(--color-error);color:#fff}.indexing-icon{display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;cursor:help;transition:transform var(--transition-fast)}.indexing-icon:hover{transform:scale(1.2)}.indexing-icon.processing{animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.indexing-icon.completed,.indexing-icon.indexed{color:var(--color-success)}.indexing-icon.failed{color:var(--color-error)}.indexing-icon.not-indexed{color:var(--color-text-tertiary);opacity:.5}.version-expand-button{width:20px;height:20px;border:none;background:transparent;cursor:pointer;color:var(--color-text-secondary);font-size:.75rem;padding:0;margin-right:var(--spacing-xs);transition:transform var(--transition-fast)}.version-expand-button:hover{color:var(--color-primary);transform:scale(1.2)}.cell-name-row{display:flex;align-items:center;gap:var(--spacing-sm)}.version-badge{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:18px;padding:0 var(--spacing-xs);background-color:var(--color-primary);color:#fff;border-radius:10px;font-size:.688rem;font-weight:700;line-height:1}.version-history-row{background-color:var(--color-surface);border-left:3px solid var(--color-primary)}.version-history{padding:var(--spacing-lg)}.version-history-header{margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.version-history-title{font-weight:600;color:var(--color-text-primary);font-size:.938rem}.version-history-table{width:100%;border-collapse:collapse;font-size:.875rem}.version-history-table thead{background-color:var(--color-background)}.version-history-table th{padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);font-size:.813rem}.version-history-table td{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary)}.version-history-table tbody tr{border-bottom:1px solid var(--color-border)}.version-history-table tbody tr:last-child{border-bottom:none}.version-number{font-weight:600;color:var(--color-primary)}.current-badge{font-size:.75rem;color:var(--color-text-tertiary);font-weight:400;margin-left:var(--spacing-xs)}.version-action-button{padding:var(--spacing-xs) var(--spacing-sm);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.813rem;cursor:pointer;transition:all var(--transition-fast)}.version-action-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary)}.slideout-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);z-index:1000;opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.slideout-overlay.visible{opacity:1;pointer-events:all}.slideout-panel{position:fixed;top:0;right:0;bottom:0;width:90%;max-width:none;background-color:var(--color-surface);box-shadow:var(--shadow-lg);z-index:1001;transform:translate(100%);transition:transform var(--transition-normal);display:flex;flex-direction:column}.slideout-panel.open{transform:translate(0)}.slideout-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border);background-color:var(--color-background);flex-shrink:0}.slideout-title{display:flex;align-items:center;gap:var(--spacing-md);flex:1;min-width:0}.slideout-title h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slideout-icon{font-size:1.5rem;line-height:1}.slideout-actions{display:flex;gap:var(--spacing-sm)}.slideout-action-button{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;transition:all var(--transition-fast);font-size:1.125rem;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--color-text-primary)}.slideout-action-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.slideout-close-button{width:36px;height:36px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;transition:all var(--transition-fast);font-size:1.25rem;font-weight:400;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center}.slideout-close-button:hover{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.slideout-content{flex:1;overflow:auto;padding:var(--spacing-xl)}.slideout-preview-text,.slideout-preview-image,.slideout-preview-video,.slideout-preview-pdf{height:100%}.slideout-preview-markdown-container{display:flex;height:100%;gap:0;margin:calc(var(--spacing-xl) * -1);margin-top:0;overflow:auto}.line-numbers{flex-shrink:0;background-color:var(--color-background);border-right:1px solid var(--color-border);padding:var(--spacing-lg) var(--spacing-md);font-family:var(--font-mono);font-size:.875rem;line-height:1.8;color:var(--color-text-tertiary);-webkit-user-select:none;user-select:none;min-width:60px;text-align:right;position:sticky;left:0;align-self:flex-start}.line-number{min-height:1.8em;padding:0 var(--spacing-xs);scroll-margin-top:100px}.line-number.highlighted{background-color:var(--color-warning-light);color:var(--color-warning);font-weight:600;border-left:3px solid var(--color-warning);margin-left:-3px}.slideout-preview-markdown-content{flex:1;padding:var(--spacing-lg) var(--spacing-xl);line-height:1.8;min-width:0}.slideout-preview-markdown-content>*{max-width:800px}.slideout-preview-markdown-content h1{font-size:2.25rem;font-weight:700;margin:var(--spacing-2xl) 0 var(--spacing-lg) 0;color:var(--color-text-primary);border-bottom:2px solid var(--color-border);padding-bottom:var(--spacing-md)}.slideout-preview-markdown-content h1:first-child{margin-top:0}.slideout-preview-markdown-content h2{font-size:1.75rem;font-weight:600;margin:var(--spacing-xl) 0 var(--spacing-md) 0;color:var(--color-text-primary);border-bottom:1px solid var(--color-border);padding-bottom:var(--spacing-sm)}.slideout-preview-markdown-content h3{font-size:1.375rem;font-weight:600;margin:var(--spacing-lg) 0 var(--spacing-sm) 0;color:var(--color-text-primary)}.slideout-preview-markdown-content h4{font-size:1.125rem;font-weight:600;margin:var(--spacing-md) 0 var(--spacing-sm) 0;color:var(--color-text-secondary)}.slideout-preview-markdown-content p{margin:var(--spacing-md) 0;color:var(--color-text-primary)}.slideout-preview-markdown-content ul,.slideout-preview-markdown-content ol{margin:var(--spacing-md) 0;padding-left:var(--spacing-2xl)}.slideout-preview-markdown-content li{margin:var(--spacing-sm) 0;color:var(--color-text-primary)}.slideout-preview-markdown-content code{background-color:var(--color-background);padding:.125rem .375rem;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;border:1px solid var(--color-border);color:var(--color-primary)}.slideout-preview-markdown-content pre{background-color:var(--color-background);padding:var(--spacing-lg);border-radius:var(--radius-md);overflow-x:auto;border:1px solid var(--color-border);margin:var(--spacing-lg) 0}.slideout-preview-markdown-content pre code{background-color:transparent;padding:0;border:none;color:var(--color-text-primary)}.slideout-preview-markdown-content blockquote{border-left:4px solid var(--color-primary);padding-left:var(--spacing-lg);margin:var(--spacing-lg) 0;color:var(--color-text-secondary);font-style:italic}.slideout-preview-markdown-content a{color:var(--color-primary);text-decoration:underline}.slideout-preview-markdown-content a:hover{color:var(--color-primary-hover)}.slideout-preview-markdown-content .markdown-table-wrapper{margin:var(--spacing-lg) 0;overflow-x:auto;border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.slideout-preview-markdown-content .markdown-table{width:100%;border-collapse:collapse;font-size:.875rem;background-color:var(--color-background)}.slideout-preview-markdown-content .markdown-table thead{background:linear-gradient(to bottom,var(--color-surface),var(--color-background));border-bottom:2px solid var(--color-primary)}.slideout-preview-markdown-content .markdown-table th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;color:var(--color-text-primary);border-right:1px solid var(--color-border);white-space:nowrap}.slideout-preview-markdown-content .markdown-table th:last-child{border-right:none}.slideout-preview-markdown-content .markdown-table tbody tr{border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast)}.slideout-preview-markdown-content .markdown-table tbody tr:hover{background-color:var(--color-surface-hover)}.slideout-preview-markdown-content .markdown-table tbody tr:last-child{border-bottom:none}.slideout-preview-markdown-content .markdown-table td{padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);border-right:1px solid var(--color-border)}.slideout-preview-markdown-content .markdown-table td:last-child{border-right:none}.slideout-preview-markdown-content .markdown-table tbody tr:nth-child(2n){background-color:var(--color-surface)}.slideout-preview-markdown-content img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--spacing-lg) 0}.slideout-preview-markdown-content hr{border:none;border-top:1px solid var(--color-border);margin:var(--spacing-xl) 0}.slideout-preview-text{padding:var(--spacing-lg)}.slideout-preview-text pre{font-family:var(--font-mono);font-size:.875rem;line-height:1.6;white-space:pre-wrap;color:var(--color-text-primary);margin:0}.slideout-preview-text .highlighted-text-line{background:var(--color-warning-light);border-left:4px solid var(--color-warning);padding:var(--spacing-xs) var(--spacing-md);margin:0 calc(var(--spacing-md) * -1);display:inline-block;width:calc(100% + var(--spacing-md) * 2);border-radius:var(--radius-sm)}.slideout-preview-text span[id^=line-]{scroll-margin-top:100px}.slideout-preview-pdf iframe{width:100%;height:100%;border:1px solid var(--color-border);border-radius:var(--radius-md)}.slideout-preview-loading,.slideout-preview-error{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-md)}.slideout-preview-image{display:flex;justify-content:center;align-items:center}.slideout-preview-image img{max-width:100%;max-height:100%;object-fit:contain;border-radius:var(--radius-md)}.slideout-preview-video{display:flex;justify-content:center;align-items:center}.slideout-preview-video video{max-width:100%;max-height:100%;border-radius:var(--radius-md)}.slideout-preview-unsupported,.slideout-preview-office{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-lg);color:var(--color-text-tertiary)}.unsupported-icon{font-size:4rem;opacity:.5}.download-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;text-decoration:none;transition:all var(--transition-fast);display:inline-block}.download-button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}@media (max-width: 1024px){.slideout-panel{width:75%}}@media (max-width: 768px){.slideout-panel{width:90%}.slideout-content{padding:var(--spacing-lg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--color-overlay);z-index:2000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:500px;z-index:2001;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,calc(-50% + 20px))}to{opacity:1;transform:translate(-50%,-50%)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg) var(--spacing-xl);border-bottom:1px solid var(--color-border)}.modal-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.modal-close{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;color:var(--color-text-secondary);font-size:1.25rem;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.modal-form{display:flex;flex-direction:column}.modal-body{padding:var(--spacing-xl);display:flex;flex-direction:column;gap:var(--spacing-lg)}.required-indicator{color:var(--color-error);font-weight:700}.optional-indicator{color:var(--color-text-tertiary);font-weight:400;font-size:.875rem}.form-help-text{font-size:.813rem;color:var(--color-text-secondary);margin:0;line-height:1.5}.form-info{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-info-light);border:1px solid var(--color-info);border-radius:var(--radius-md);color:var(--color-info);font-size:.875rem}.form-info .info-icon{font-size:1.125rem;flex-shrink:0}.form-input{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.form-input:disabled{opacity:.6;cursor:not-allowed}.form-static-value{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary)}.path-icon{font-size:1.125rem}.path-value{font-family:var(--font-mono);color:var(--color-text-primary)}.form-preview-value{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md)}.form-preview-value code{color:var(--color-primary);font-family:var(--font-mono);font-size:.938rem}.form-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.form-error .error-icon{font-size:1.125rem}.modal-footer{display:flex;justify-content:flex-end;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);border-top:1px solid var(--color-border);background-color:var(--color-background)}.modal-button{padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-md);font-weight:600;font-size:.938rem;cursor:pointer;transition:all var(--transition-fast);border:none}.modal-button.secondary{background-color:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.modal-button.secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-text-secondary)}.modal-button.primary{background-color:var(--color-primary);color:#fff}.modal-button.primary:hover:not(:disabled){background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.modal-button:disabled{opacity:.5;cursor:not-allowed}.modal-button.danger{background-color:var(--color-error);color:#fff}.modal-button.danger:hover:not(:disabled){background-color:var(--color-error);transform:translateY(-1px);box-shadow:var(--shadow-md)}.delete-modal .modal-body{max-height:60vh;overflow-y:auto}.delete-warning{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-warning-light);border:2px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg)}.warning-icon{font-size:1.5rem;line-height:1;flex-shrink:0}.warning-content{flex:1}.warning-content strong{display:block;margin-bottom:var(--spacing-sm);color:var(--color-text-primary)}.warning-content p{color:var(--color-text-primary);margin:var(--spacing-xs) 0}.warning-list{margin:var(--spacing-sm) 0 0 var(--spacing-lg);list-style:disc}.warning-list li{color:var(--color-text-primary);font-weight:500}.delete-summary{padding:var(--spacing-lg);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md)}.delete-summary p{margin:0 0 var(--spacing-md) 0;color:var(--color-text-primary)}.delete-items-list{max-height:200px;overflow-y:auto;margin-top:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-surface);border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.delete-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.875rem}.delete-item-icon{font-size:1rem}.delete-item-name{color:var(--color-text-secondary)}.delete-note{margin-top:var(--spacing-lg);padding:var(--spacing-md);background-color:var(--color-error-light);border-left:3px solid var(--color-error);border-radius:var(--radius-sm)}.delete-note p{margin:0;color:var(--color-error);font-size:.875rem;font-weight:500}@media (max-width: 768px){.modal-container{width:95%}.modal-body{padding:var(--spacing-lg)}}.upload-progress-widget{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);width:400px;max-height:500px;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:1500;display:flex;flex-direction:column;overflow:hidden;animation:slideInUp .3s ease-out}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.upload-progress-widget.minimized{max-height:60px}.upload-progress-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border-bottom:1px solid var(--color-border);cursor:pointer}.upload-progress-title{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.progress-icon{font-size:1.25rem;line-height:1}.progress-title-text{font-weight:600;color:var(--color-text-primary);font-size:.938rem}.upload-progress-actions{display:flex;gap:var(--spacing-xs)}.progress-action-button{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary)}.progress-action-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary);color:var(--color-text-primary)}.upload-progress-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.upload-progress-tasks{flex:1;overflow-y:auto;padding:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-sm)}.upload-task{padding:var(--spacing-md);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.upload-task-completed{opacity:.8}.upload-task-error{border-color:var(--color-error);background-color:var(--color-error-light)}.upload-task-header{display:flex;gap:var(--spacing-sm);align-items:flex-start}.upload-task-icon{font-size:1.125rem;line-height:1;flex-shrink:0}.upload-task-info{flex:1;min-width:0}.upload-task-name{font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem}.upload-task-meta{display:flex;align-items:center;gap:var(--spacing-xs);margin-top:var(--spacing-xs);font-size:.75rem;color:var(--color-text-tertiary);flex-wrap:wrap}.upload-task-status{font-weight:500}.upload-task-uploading .upload-task-status{color:var(--color-primary)}.upload-task-processing .upload-task-status{color:var(--color-secondary)}.upload-task-completed .upload-task-status{color:var(--color-success)}.upload-task-error .upload-task-status{color:var(--color-error)}.meta-separator{color:var(--color-border)}.upload-task-error-text{color:var(--color-error);font-size:.813rem;margin-top:var(--spacing-xs)}.upload-task-progress{height:4px;background-color:var(--color-surface);border-radius:var(--radius-sm);overflow:hidden}.upload-task-progress-bar{height:100%;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));transition:width .3s ease-out}.upload-progress-summary{padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-background);border-top:1px solid var(--color-border)}.summary-stats{display:flex;gap:var(--spacing-md);font-size:.875rem;font-weight:500}.summary-stat.success{color:var(--color-success)}.summary-stat.error{color:var(--color-error)}@media (max-width: 768px){.upload-progress-widget{width:calc(100% - var(--spacing-xl));right:var(--spacing-md);bottom:var(--spacing-md)}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));padding:var(--spacing-lg)}.login-container{width:100%;max-width:480px}.login-card{background-color:var(--color-surface);border-radius:var(--radius-xl);box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideIn .5s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;padding:var(--spacing-3xl) var(--spacing-xl) var(--spacing-xl);background:linear-gradient(to bottom,var(--color-background),var(--color-surface))}.login-logo{margin-bottom:var(--spacing-lg)}.logo-image{height:48px;width:auto}.login-title{font-size:2.5rem;font-weight:800;margin-bottom:var(--spacing-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.login-subtitle{font-size:1.125rem;color:var(--color-text-secondary);margin:0}.login-body{padding:var(--spacing-2xl) var(--spacing-xl)}.login-features{display:flex;justify-content:center;gap:var(--spacing-xl);margin-bottom:var(--spacing-xl)}.feature-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.feature-icon{font-size:2rem;line-height:1}.feature-text{font-size:.813rem;color:var(--color-text-secondary);font-weight:500}.login-divider{position:relative;text-align:center;margin:var(--spacing-xl) 0}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background-color:var(--color-border)}.divider-text{position:relative;display:inline-block;padding:0 var(--spacing-md);background-color:var(--color-surface);color:var(--color-text-tertiary);font-size:.875rem}.login-actions{display:flex;justify-content:center;min-height:60px}.login-loading{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.login-error{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);display:flex;align-items:center;gap:var(--spacing-md)}.login-error .error-icon{font-size:1.25rem}.login-error p{margin:0;color:var(--color-error);font-size:.938rem}.login-footer{padding:var(--spacing-lg);text-align:center;background-color:var(--color-background);border-top:1px solid var(--color-border)}.footer-text{margin:0;font-size:.813rem;color:var(--color-text-tertiary)}@media (max-width: 768px){.login-title{font-size:2rem}.login-features{flex-direction:column;gap:var(--spacing-md)}.feature-item{flex-direction:row;justify-content:center}}.settings-container{display:flex;flex-direction:column;height:100%}.settings-content{flex:1;overflow:hidden;display:flex;flex-direction:column;padding:var(--spacing-lg)}.settings-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:var(--spacing-sm);overflow-y:auto}.settings-panel>*{flex-shrink:0}.settings-subtabs{display:flex;gap:0;border-bottom:2px solid var(--color-border);margin-bottom:var(--spacing-sm)}.settings-subtab{padding:var(--spacing-sm) var(--spacing-xl);background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--color-text-secondary);font-weight:500;font-size:.938rem;cursor:pointer;transition:all var(--transition-fast)}.settings-subtab:hover{color:var(--color-text-primary);background-color:var(--color-surface-hover)}.settings-subtab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.panel-header-content{display:flex;flex-direction:column;gap:var(--spacing-xs)}.panel-title{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.panel-subtitle{font-size:.875rem;color:var(--color-text-secondary);margin:0}.file-table tbody tr.inactive{opacity:.5}.role-name-cell{display:flex;flex-direction:column;gap:var(--spacing-sm)}.role-name-cell strong{color:var(--color-text-primary);font-size:1rem}.group-name-cell{display:flex;flex-direction:column;gap:var(--spacing-xs)}.group-name-cell strong{color:var(--color-text-primary);font-size:1rem}.group-name-cell .text-muted{font-size:.813rem}.role-badges,.group-badges{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;display:inline-block}.badge-role{background:var(--color-primary-light);color:var(--color-primary)}.badge-group{background:var(--color-info-light);color:var(--color-info)}.badge-role-small{padding:.125rem .5rem;background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);font-size:.75rem;font-family:var(--font-mono)}.status-badge{padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.status-badge.active{background:var(--color-success-light);color:var(--color-success)}.status-badge.inactive{background:var(--color-error-light);color:var(--color-error)}.status-badge.deleted{background:var(--color-surface-hover, #374151);color:var(--color-text-secondary, #9ca3af)}.text-muted{color:var(--color-text-tertiary);font-style:italic}.action-buttons{display:flex;gap:var(--spacing-sm);justify-content:flex-end}.action-btn{width:32px;height:32px;padding:0;background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1.125rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.action-btn:hover{background:var(--color-surface-hover);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.action-btn-danger{color:var(--color-error);border-color:var(--color-error)}.action-btn-danger:hover{background:var(--color-error-light);border-color:var(--color-error)}.action-btn-success{color:var(--color-success);border-color:var(--color-success)}.action-btn-success:hover{background:var(--color-success-light);border-color:var(--color-success)}.toggle-switch{position:relative;width:36px;height:20px;border:none;border-radius:10px;cursor:pointer;padding:0;transition:background-color .2s ease}.toggle-switch--on{background-color:var(--color-success, #22c55e)}.toggle-switch--off{background-color:var(--color-border, #d1d5db)}.toggle-switch-thumb{position:absolute;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0003;transition:left .2s ease}.toggle-switch--on .toggle-switch-thumb{left:18px}.toggle-switch--off .toggle-switch-thumb{left:2px}.toggle-switch:hover{opacity:.85}.edit-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.edit-dropdown{padding:var(--spacing-xs) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.edit-dropdown:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.edit-multiselect{min-width:200px;padding:var(--spacing-xs);border:2px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;cursor:pointer}.edit-multiselect:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.edit-multiselect option{padding:var(--spacing-xs)}.edit-multiselect option:checked{background:var(--color-primary);color:#fff}.button-primary{padding:var(--spacing-sm) var(--spacing-xl);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.938rem;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.button-primary:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.preferences-form{display:flex;flex-direction:column;gap:var(--spacing-2xl);max-width:800px}.preferences-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.preferences-section-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.preference-toggle{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.preference-toggle:hover{border-color:var(--color-primary);background:var(--color-surface-hover)}.toggle-checkbox{width:20px;height:20px;cursor:pointer;accent-color:var(--color-primary);margin-top:2px}.toggle-label{flex:1}.toggle-label strong{display:block;color:var(--color-text-primary);margin-bottom:var(--spacing-xs)}.toggle-description{margin:0;font-size:.875rem;color:var(--color-text-secondary)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.form-field{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-label{font-size:.938rem;font-weight:600;color:var(--color-text-primary)}.form-input{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:1rem;transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.preferences-actions{display:flex;justify-content:flex-end;padding-top:var(--spacing-lg);border-top:1px solid var(--color-border)}.table-toolbar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;margin-bottom:var(--spacing-md)}.table-search{flex:1;position:relative}.table-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:.938rem;transition:all var(--transition-fast)}.table-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.table-search-input::placeholder{color:var(--color-text-tertiary)}.search-clear-btn{position:absolute;right:var(--spacing-sm);top:50%;transform:translateY(-50%);width:24px;height:24px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.search-clear-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.table-info{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap}.table-export-wrapper{position:relative}.button-secondary{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:600;font-size:.938rem;cursor:pointer;transition:all var(--transition-fast)}.button-secondary:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.button-danger{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-surface);color:var(--color-danger, #dc2626);border:1px solid var(--color-danger, #dc2626);border-radius:var(--radius-md);cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s ease}.button-danger:hover{background:var(--color-danger, #dc2626);color:#fff}.button-danger:disabled{opacity:.5;cursor:not-allowed}.export-menu{position:absolute;top:calc(100% + var(--spacing-xs));right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);overflow:hidden;z-index:100;min-width:180px}.export-menu-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;color:var(--color-text-primary);font-size:.938rem;cursor:pointer;transition:background var(--transition-fast);text-align:left}.export-menu-item:hover{background:var(--color-surface-hover)}.workflows-container{display:grid;grid-template-columns:300px 1fr;gap:var(--spacing-2xl);max-width:1200px}.workflows-list h3,.workflow-details h3{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.workflow-item{width:100%;padding:var(--spacing-md);background-color:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);text-align:left;margin-bottom:var(--spacing-sm)}.workflow-item:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.workflow-item.active{background-color:var(--color-primary-light);border-color:var(--color-primary)}.workflow-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.workflow-name{font-weight:600;color:var(--color-text-primary)}.default-badge{padding:.125rem .5rem;background-color:var(--color-success-light);color:var(--color-success);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.workflow-meta{display:flex;gap:var(--spacing-md);font-size:.813rem;color:var(--color-text-secondary)}.workflow-type{font-family:var(--font-mono)}.workflow-details-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.workflow-steps-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.workflow-step-card{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);position:relative}.step-actions{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-fast)}.workflow-step-card:hover .step-actions{opacity:1}.step-edit-button,.step-delete-button{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid transparent;background-color:transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.step-edit-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.step-delete-button:hover{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.step-edit-form{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-field-compact{display:flex;flex-direction:column;gap:.25rem}.form-field-compact label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.form-input-compact{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background-color:var(--color-background);color:var(--color-text-primary)}.form-input-compact:focus{outline:none;border-color:var(--color-primary)}.checkbox-label-compact{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.813rem;cursor:pointer}.checkbox-label-compact input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--color-primary)}.step-edit-actions{display:flex;gap:var(--spacing-xs)}.btn-save-compact,.btn-cancel-compact{padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-background);cursor:pointer;font-size:.813rem;transition:all var(--transition-fast)}.btn-save-compact{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-save-compact:hover{background-color:var(--color-primary-hover)}.btn-cancel-compact:hover{background-color:var(--color-surface-hover)}.checkbox-label{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.checkbox-label span{font-size:.938rem;color:var(--color-text-primary)}.step-number{width:32px;height:32px;border-radius:50%;background-color:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0}.step-content{flex:1}.step-transition{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-sm)}.state-badge{padding:.25rem .75rem;border-radius:var(--radius-md);font-size:.813rem;font-weight:600;font-family:var(--font-mono)}.arrow{color:var(--color-text-tertiary);font-size:1.25rem}.step-approver{font-size:.875rem;color:var(--color-text-secondary)}.step-approver strong{color:var(--color-text-primary)}.step-auto{font-size:.813rem;color:var(--color-primary);font-style:italic}.et-category-badge{margin-left:auto;font-size:.688rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-surface-hover);padding:.125rem .5rem;border-radius:10px;white-space:nowrap}.et-empty-state{grid-column:1 / -1;text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary);font-size:.875rem}.entity-types-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);max-width:1200px}.entity-type-config-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid;border-radius:var(--radius-md);padding:var(--spacing-lg);position:relative}.entity-type-config-card:hover .card-edit-button{opacity:1}.entity-type-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.entity-type-icon{font-size:1.5rem}.entity-type-name{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.entity-type-body{display:flex;flex-direction:column;gap:var(--spacing-sm)}.entity-type-field{display:flex;flex-direction:column;gap:.25rem}.entity-type-field label{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.entity-type-field span{font-size:.875rem;color:var(--color-text-primary)}.code-value{font-family:var(--font-mono);background-color:var(--color-background);padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.813rem!important}.panel-info{margin-top:var(--spacing-2xl);padding:var(--spacing-lg);background-color:var(--color-info-light);border:1px solid var(--color-info);border-radius:var(--radius-md)}.panel-info p{margin:0;color:var(--color-info);font-size:.875rem}.new-type-form-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);margin-bottom:var(--spacing-2xl)}.new-type-form{display:flex;flex-direction:column;gap:var(--spacing-lg);max-width:800px}.states-container{display:flex;flex-direction:column;gap:var(--spacing-3xl);max-width:1200px}.states-section{display:flex;flex-direction:column;gap:var(--spacing-lg)}.states-section-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.states-section-header h3{font-size:1.25rem;font-weight:600;color:var(--color-text-primary);margin:0}.new-item-form{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.form-inline{display:flex;flex-direction:column;gap:var(--spacing-md)}.categories-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.category-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid;border-radius:var(--radius-md);padding:var(--spacing-md);position:relative}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.category-name{font-weight:600;color:var(--color-text-primary);font-size:.938rem}.category-description{font-size:.813rem;color:var(--color-text-secondary);margin:0;line-height:1.5}.states-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--spacing-md)}.state-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid;border-radius:var(--radius-md);padding:var(--spacing-md);position:relative}.card-edit-button{position:absolute;top:var(--spacing-xs);right:var(--spacing-xs);width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid transparent;background-color:transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:.813rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;opacity:0}.category-card:hover .card-edit-button,.state-card:hover .card-edit-button{opacity:1}.card-edit-button:hover{background-color:var(--color-primary-light);border-color:var(--color-primary);color:var(--color-primary)}.edit-form-compact{display:flex;flex-direction:column;gap:var(--spacing-sm)}.edit-actions-compact{display:flex;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.state-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.state-icon{font-size:1.25rem}.state-name{font-weight:600;color:var(--color-text-primary);font-size:.938rem}.state-body{display:flex;flex-direction:column;gap:var(--spacing-xs)}.state-field{display:flex;flex-direction:column;gap:.125rem}.state-field label{font-size:.688rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.state-field span{font-size:.813rem;color:var(--color-text-primary)}.ai-instructions-section{margin-top:var(--spacing-sm);border-top:1px solid var(--color-border);padding-top:var(--spacing-sm)}.ai-instructions-toggle{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) 0;background:none;border:none;color:var(--color-text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:color var(--transition-fast)}.ai-instructions-toggle:hover{color:var(--color-primary)}.ai-instructions-toggle-icon{font-size:.688rem;color:var(--color-text-tertiary)}.ai-instructions-count{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--color-text-tertiary);background:var(--color-background);padding:.125rem .5rem;border-radius:var(--radius-sm)}.ai-instructions-blocks{display:flex;flex-direction:column;gap:var(--spacing-md);padding-top:var(--spacing-sm)}.ai-instruction-textarea{min-height:80px;resize:vertical;font-family:inherit;line-height:1.5}.relationship-label-pair{display:flex;align-items:center;gap:var(--spacing-sm);font-size:1rem}.relationship-arrow{color:var(--color-text-tertiary);font-size:.875rem}.relationship-modes-section{margin-bottom:var(--spacing-lg)}.relationship-section-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.relationship-section-desc{font-size:.813rem;color:var(--color-text-secondary);margin:0 0 var(--spacing-md) 0}.relationship-modes-grid{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.relationship-mode-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.relationship-mode-entity{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.relationship-mode-badge{padding:.125rem .5rem;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;border:1px solid;cursor:pointer;transition:all var(--transition-fast)}.relationship-mode-badge.permissive{background:var(--color-success-light);color:var(--color-success);border-color:var(--color-success)}.relationship-mode-badge.restrictive{background:var(--color-error-light);color:var(--color-error);border-color:var(--color-error)}.relationship-mode-badge:hover{opacity:.8}.relationship-rules-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.relationship-rule-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.relationship-rule-group-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);border-bottom:1px solid var(--color-border)}.relationship-rule-pair{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:.938rem;color:var(--color-text-primary)}.relationship-rule-count{font-size:.75rem;color:var(--color-text-secondary)}.relationship-rule-items{display:flex;flex-direction:column}.relationship-rule-item{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--color-border)}.relationship-rule-item:last-child{border-bottom:none}.relationship-rule-type{font-size:.875rem;color:var(--color-text-primary)}.relationship-rule-remove{width:24px;height:24px;border:none;background:none;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.75rem;transition:all var(--transition-fast)}.relationship-rule-remove:hover{background:var(--color-error-light);color:var(--color-error)}@media (max-width: 768px){.form-grid,.workflows-container,.categories-list,.states-grid{grid-template-columns:1fr}}.status-badge{display:inline-block;font-size:.75rem;font-weight:600;padding:2px 10px;border-radius:var(--radius-sm, .25rem)}.status-badge--active{background:var(--color-success-light);color:var(--color-success)}.status-badge--inactive{background:var(--color-error-light);color:var(--color-error)}.modality-tag{display:inline-block;font-size:.65rem;padding:1px 5px;color:#fff;border-radius:3px;white-space:nowrap}.capability-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:1px 5px;color:#fff;border-radius:3px}.mcp-config-section{margin-top:var(--spacing-2xl);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.mcp-config-section h3{margin:0 0 var(--spacing-sm) 0;font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.mcp-config-section>p{margin:0 0 var(--spacing-lg) 0;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.mcp-config-block{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);overflow:hidden}.mcp-config-block:last-child{margin-bottom:0}.mcp-config-block-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-background);border-bottom:1px solid var(--color-border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.mcp-config-block-header:hover{background:var(--color-surface-hover, var(--color-background))}.mcp-config-block-header h4{margin:0;font-size:.938rem;font-weight:600;color:var(--color-text-primary)}.mcp-config-block-header .toggle-icon{font-size:.75rem;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.mcp-config-block-header .toggle-icon.expanded{transform:rotate(90deg)}.mcp-config-block-body{padding:var(--spacing-md) var(--spacing-lg)}.mcp-config-block-body p{margin:0 0 var(--spacing-sm) 0;font-size:.875rem;line-height:1.6;color:var(--color-text-secondary)}.mcp-config-block-body p:last-child{margin-bottom:0}.mcp-code-wrapper{position:relative;margin-bottom:var(--spacing-sm)}.mcp-code-wrapper pre{margin:0;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:.813rem;line-height:1.6;overflow-x:auto;white-space:pre;color:var(--color-text-primary)}.mcp-code-wrapper .copy-btn{position:absolute;top:var(--spacing-sm);right:var(--spacing-sm);padding:.25rem .5rem;font-size:.75rem;cursor:pointer;background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.mcp-code-wrapper .copy-btn:hover{background:var(--color-primary-light);color:var(--color-primary);border-color:var(--color-primary)}.mcp-config-block-body code.inline{background:var(--color-background);padding:.125em .375em;border-radius:var(--radius-sm);font-size:.875em;font-family:var(--font-mono)}.config-row{display:grid;gap:.5rem;align-items:center;margin-bottom:.4rem}.config-row-2col{grid-template-columns:1fr auto auto}.config-row-3col{grid-template-columns:1fr 1fr auto}.config-row-4col{grid-template-columns:1fr .7fr 1.2fr auto}.config-add-btn{background:none;border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-primary);font-size:.8rem;font-weight:600;padding:.4rem .7rem;cursor:pointer;margin-top:.3rem}.config-add-btn:hover{border-color:var(--color-primary);background:var(--color-primary-light, rgba(74, 144, 217, .06))}.config-remove-btn{background:none;border:none;color:var(--color-error, #ef4444);font-size:1.2rem;cursor:pointer;padding:.25rem;line-height:1;border-radius:var(--radius-sm)}.config-remove-btn:hover{background:#ef444414}.config-section-label{font-size:.78rem;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-top:.5rem;margin-bottom:.15rem}.config-direction-btn{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.3rem .6rem;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--color-text-secondary);white-space:nowrap}.config-direction-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.config-direction-btn.desc{color:var(--color-primary)}.datatable-container{display:flex;flex-direction:column;gap:var(--spacing-md)}.datatable-toolbar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;flex-wrap:wrap}.datatable-search{flex:1;position:relative}.datatable-search-input{width:100%;padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:.938rem;transition:all var(--transition-fast)}.datatable-search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.datatable-search-input::placeholder{color:var(--color-text-tertiary)}.datatable-info{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap}.datatable-export-wrapper{position:relative}.datatable-toolbar-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.datatable-filter-row{display:flex;gap:var(--spacing-sm);align-items:center}.datatable-filter-select{min-width:150px;max-width:200px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.datatable-filter-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.datatable-filter-status{display:flex;align-items:center;gap:var(--spacing-md);font-size:.813rem}.datatable-filter-count{color:var(--color-text-secondary)}.datatable-filter-clear{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:.813rem;padding:0}.datatable-filter-clear:hover{text-decoration:underline}.filter-menu{position:relative;display:flex;align-items:center;gap:var(--spacing-sm)}.filter-menu-trigger{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:2rem;height:2rem;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-background);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);position:relative}.filter-menu-trigger:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.filter-menu-trigger.has-filters{border-color:var(--color-primary);color:var(--color-primary)}.filter-menu-badge{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;border-radius:8px;background:var(--color-primary);color:var(--color-text-on-primary);font-size:.625rem;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 4px;line-height:1}.filter-menu-flyout{position:absolute;top:calc(100% + 4px);left:0;z-index:50;min-width:260px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-sm);display:flex;flex-direction:column;gap:2px}.filter-menu-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-xs) var(--spacing-sm);font-weight:600;font-size:.813rem;color:var(--color-text-secondary)}.filter-menu-field{display:flex;flex-direction:column;gap:2px;padding:4px var(--spacing-sm)}.filter-menu-label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.filter-menu-field .datatable-filter-select{min-width:unset;max-width:unset;width:100%}.filter-menu-toggle{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.filter-menu-checkbox{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.status-cell{display:flex;align-items:center;gap:var(--spacing-xs)}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;padding:0;transition:background-color .15s,color .15s}.icon-btn:hover{background:var(--color-surface-hover);color:var(--color-text)}.icon-btn--danger:hover{background:var(--color-danger-bg, rgba(239, 68, 68, .1));color:var(--color-danger, #ef4444)}.datatable-wrapper{overflow-x:auto}.datatable{width:100%;border-collapse:collapse;background-color:var(--color-background)}.datatable thead{position:sticky;top:0;background-color:var(--color-surface);z-index:10;border-bottom:2px solid var(--color-border)}.datatable th{padding:var(--spacing-md) var(--spacing-lg);text-align:left;font-weight:600;color:var(--color-text-secondary);font-size:.875rem;border-bottom:2px solid var(--color-border)}.datatable th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-fast)}.datatable th.sortable:hover{background-color:var(--color-surface-hover)}.sort-indicator{color:var(--color-primary);font-size:.875rem}.datatable tbody tr{border-bottom:1px solid var(--color-border);transition:all var(--transition-fast)}.datatable tbody tr:hover{background-color:var(--color-surface-hover)}.datatable tbody tr.clickable{cursor:pointer}.datatable td{padding:var(--spacing-md) var(--spacing-lg);color:var(--color-text-primary);font-size:.938rem}.datatable-empty{text-align:center;padding:var(--spacing-3xl) var(--spacing-lg);color:var(--color-text-tertiary)}.datatable tbody tr.editing{background-color:var(--color-primary-light);border-left:3px solid var(--color-primary)}.datatable tbody tr.selected{background-color:var(--color-primary-light)}.datatable tbody tr.expanded{background-color:var(--color-surface-hover);border-bottom:none}.datatable tbody tr.expanded-row,.datatable tbody tr.expanded-row:hover{background-color:var(--color-surface)}.datatable tbody tr.expanded-row>td{padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.table-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.bulk-actions-bar{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary-light);border:1px solid var(--color-primary);border-radius:var(--radius-md);margin-bottom:var(--spacing-md)}.bulk-selection-info{font-weight:600;color:var(--color-primary);font-size:.938rem}.bulk-actions-buttons{display:flex;gap:var(--spacing-sm);flex:1}.bulk-action-btn{padding:var(--spacing-xs) var(--spacing-lg);background:var(--color-background);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-weight:500;font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-xs)}.bulk-action-btn:hover{background:var(--color-surface-hover);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.bulk-action-btn.danger{color:var(--color-error);border-color:var(--color-error)}.bulk-action-btn.danger:hover{background:var(--color-error-light)}.bulk-clear-btn{padding:var(--spacing-xs) var(--spacing-md);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast)}.bulk-clear-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.datatable-pagination{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;justify-content:center;border-top:1px solid var(--color-border)}.datatable-page-btn{padding:var(--spacing-xs) var(--spacing-lg);font-size:.875rem}.datatable-page-btn:disabled{opacity:.4;cursor:not-allowed}.datatable-page-info{font-size:.875rem;color:var(--color-text-secondary);white-space:nowrap}.datatable-page-size{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:.813rem;cursor:pointer}.multiselect-dropdown{position:relative;min-width:200px}.multiselect-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border:2px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-background);color:var(--color-text-primary);font-size:.875rem;cursor:pointer;transition:all var(--transition-fast);text-align:left}.multiselect-trigger:hover{background:var(--color-surface-hover)}.multiselect-trigger:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-light)}.multiselect-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.multiselect-arrow{margin-left:var(--spacing-sm);font-size:.75rem;color:var(--color-text-secondary)}.multiselect-panel{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;max-height:240px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000}.multiselect-option{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none}.multiselect-option:hover{background:var(--color-surface-hover)}.multiselect-checkbox{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary)}.multiselect-label{flex:1;font-size:.875rem;color:var(--color-text-primary)}.multiselect-search{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:1px solid var(--color-border);background:var(--color-background);font-size:.875rem;color:var(--color-text-primary);outline:none;box-sizing:border-box}.multiselect-search::placeholder{color:var(--color-text-secondary)}.multiselect-empty{padding:var(--spacing-sm) var(--spacing-md);font-size:.85rem;color:var(--color-text-secondary);text-align:center}.ask-page-layout{display:flex;height:100%;gap:0}.ask-page-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.ask-page-tabs-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md) 0;background:var(--color-background);border-bottom:1px solid var(--color-border)}.ask-page-tabs-left{display:flex;align-items:flex-end;gap:var(--spacing-xs);min-width:0;flex:1}.history-btn-wrapper{position:relative;flex-shrink:0;align-self:center;margin-right:var(--spacing-sm)}.history-toggle-btn{width:32px;height:32px;border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);color:#3b82f6;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.history-toggle-btn:hover{background:#eff6ff;color:#2563eb;border-color:#93c5fd}.history-toggle-btn.active{background:#3b82f6;color:#fff;border-color:#3b82f6}[data-theme=dark] .history-toggle-btn{color:#60a5fa}[data-theme=dark] .history-toggle-btn:hover{background:#1e3a5f;color:#93c5fd;border-color:#3b82f6}.chat-tabs{display:flex;align-items:center;gap:var(--spacing-sm)}.chat-tabs-list{display:flex;gap:var(--spacing-xs);overflow-x:auto;overflow-y:hidden;min-width:0;flex:1}.chat-tab{display:flex;align-items:center;flex-shrink:0;max-width:200px;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-bottom:none;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;margin-bottom:-1px}.chat-tab:hover{background:var(--color-surface-hover)}.chat-tab.active{background:var(--color-background);border-top:2px solid var(--color-primary);font-weight:600}.chat-tab-title{font-size:.813rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.chat-tab-close{width:18px;height:18px;border-radius:var(--radius-sm);border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;font-size:.75rem}.chat-tab-close:hover{background:var(--color-error-light);color:var(--color-error)}.chat-new-tab-btn{width:28px;height:28px;flex-shrink:0;background:var(--color-primary);color:#fff;border:none;border-radius:50%;font-size:1.1rem;font-weight:400;line-height:1;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.chat-new-tab-btn:hover{background:var(--color-primary-hover);transform:scale(1.08)}.chat-interface{flex:1;display:flex;flex-direction:column;overflow:hidden;height:100%}.numbered-carousel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin:var(--spacing-lg) 0;box-shadow:var(--shadow-md)}.carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-primary)}.carousel-title{font-size:1.5rem;font-weight:700;color:var(--color-primary);margin:0}.carousel-counter{font-size:.875rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-hover);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md)}.carousel-content{min-height:200px;margin-bottom:var(--spacing-lg);line-height:1.8;color:var(--color-text-primary)}.carousel-controls{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.carousel-btn{padding:var(--spacing-sm) var(--spacing-lg);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:.938rem;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;gap:var(--spacing-xs)}.carousel-btn:hover{background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.carousel-dots{display:flex;gap:var(--spacing-sm);flex:1;justify-content:center}.carousel-dot{width:10px;height:10px;border-radius:50%;border:2px solid var(--color-border);background:transparent;cursor:pointer;transition:all var(--transition-fast);padding:0}.carousel-dot:hover{border-color:var(--color-primary);transform:scale(1.2)}.carousel-dot.active{background:var(--color-primary);border-color:var(--color-primary);transform:scale(1.3)}.message-citations{margin-top:var(--spacing-lg);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);border-left:3px solid var(--color-primary)}.message-citations[open]{padding-bottom:var(--spacing-lg)}.citations-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;margin-bottom:0}.citations-title::-webkit-details-marker{display:none}.message-citations[open] .citations-title{margin-bottom:var(--spacing-md)}.citations-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.citation-item{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}.citation-item:hover{border-color:var(--color-primary);background:var(--color-primary-light);transform:translate(4px)}.citation-number{font-family:var(--font-mono);font-weight:700;color:var(--color-primary);font-size:.875rem;flex-shrink:0}.citation-details{display:flex;flex-direction:column;gap:.25rem;flex:1}.citation-details strong{color:var(--color-text-primary);font-size:.875rem}.citation-lines{font-size:.75rem;color:var(--color-text-secondary);font-family:var(--font-mono)}.citation-link{color:var(--color-primary);text-decoration:none;font-weight:700;font-size:.75rem;vertical-align:super;padding:0 .125rem;cursor:pointer;transition:all var(--transition-fast);border-radius:2px}.citation-link:hover{background:var(--color-primary-light);text-decoration:underline}.mermaid-diagram{margin:var(--spacing-lg) 0;padding:var(--spacing-xl);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow-x:auto;display:flex;justify-content:center;align-items:center;min-height:200px}.mermaid-diagram svg{max-width:100%;height:auto;display:block}.mermaid-loading{margin:var(--spacing-lg) 0;padding:var(--spacing-xl);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);min-height:200px}.mermaid-loading p{color:var(--color-text-secondary);margin:0}.mermaid-error{margin:var(--spacing-lg) 0;padding:var(--spacing-lg);background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error)}.mermaid-error .error-icon{font-size:1.25rem;margin-right:var(--spacing-sm)}.mermaid-error p{margin:var(--spacing-sm) 0;font-weight:600}.mermaid-error details{margin-top:var(--spacing-md)}.mermaid-error summary{cursor:pointer;font-size:.875rem;color:var(--color-text-secondary);padding:var(--spacing-xs)}.mermaid-error pre{margin-top:var(--spacing-sm);padding:var(--spacing-md);background-color:var(--color-background);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875rem;overflow-x:auto;color:var(--color-text-primary)}.mermaid-diagram .node rect,.mermaid-diagram .node circle,.mermaid-diagram .node ellipse,.mermaid-diagram .node polygon{fill:var(--color-surface);stroke:var(--color-primary);stroke-width:2px}.mermaid-diagram .node .label{color:var(--color-text-primary)}.mermaid-diagram .edgePath .path{stroke:var(--color-text-secondary);stroke-width:2px}.mermaid-diagram .edgeLabel{background-color:var(--color-background);color:var(--color-text-secondary)}.ascii-diagram-content{font-family:Courier New,Courier,monospace;font-size:14px;line-height:1;color:var(--color-text-primary);margin:var(--spacing-lg) 0;white-space:pre;font-weight:400;letter-spacing:0;padding:var(--spacing-lg);overflow-x:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale}.project-selector{position:relative;margin:0 var(--spacing-sm)}.project-selector-trigger{width:100%;display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:.875rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast);text-align:left}.project-selector-trigger:hover{background:var(--color-surface-hover);border-color:var(--color-text-tertiary)}.project-selector-value{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;align-items:center;gap:var(--spacing-xs)}.project-selector-icon{font-size:1rem;line-height:1}.project-selector-arrow{margin-left:var(--spacing-sm);font-size:.7rem;color:var(--color-text-secondary)}.project-selector-panel{position:absolute;top:calc(100% + var(--spacing-xs));left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden}.project-selector-search{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:1px solid var(--color-border);background:var(--color-background);font-size:.875rem;color:var(--color-text-primary);outline:none;box-sizing:border-box}.project-selector-search::placeholder{color:var(--color-text-secondary)}.project-selector-list{max-height:320px;overflow-y:auto}.project-selector-group{padding:var(--spacing-xs) var(--spacing-md);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);margin-top:var(--spacing-xs)}.project-selector-item{width:100%;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border:none;background:none;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;transition:all var(--transition-fast);text-align:left}.project-selector-item:hover{background:var(--color-surface-hover);color:var(--color-text-primary)}.project-selector-item.active{background:var(--color-primary-light);color:var(--color-primary);font-weight:500}.project-selector-item-icon{font-size:.9rem;line-height:1}.project-selector-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-selector-empty{padding:var(--spacing-md);font-size:.85rem;color:var(--color-text-secondary);text-align:center}.project-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:0 var(--spacing-md);margin-bottom:var(--spacing-md);max-height:300px;overflow-y:auto}.project-list-loading{padding:var(--spacing-md);display:flex;justify-content:center}.loading-spinner-small{width:20px;height:20px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}.project-list-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-sm) 0;margin-bottom:var(--spacing-xs)}.project-list-title{font-size:.75rem;font-weight:600;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.project-add-button{width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;line-height:1;transition:all var(--transition-fast)}.project-add-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.project-list-items{display:flex;flex-direction:column;gap:var(--spacing-xs)}.project-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-fast);font-size:.875rem}.project-item:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.project-item.active{background-color:var(--color-primary);color:#fff;font-weight:500}.project-icon{font-size:1rem;line-height:1}.project-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-new-form{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background-color:var(--color-surface);border-radius:var(--radius-md);margin-bottom:var(--spacing-sm)}.project-new-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background-color:var(--color-background);color:var(--color-text-primary)}.project-new-input:focus{outline:none;border-color:var(--color-primary)}.project-new-actions{display:flex;gap:var(--spacing-xs)}.project-new-save,.project-new-cancel{flex:1;padding:var(--spacing-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-background);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast)}.project-new-save{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.project-new-save:hover:not(:disabled){background-color:var(--color-primary-hover)}.project-new-cancel:hover:not(:disabled){background-color:var(--color-surface-hover)}.project-new-save:disabled,.project-new-cancel:disabled{opacity:.5;cursor:not-allowed}.project-list-empty{padding:var(--spacing-lg) var(--spacing-md);text-align:center}.project-list-empty p{font-size:.813rem;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.project-create-first{padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.813rem;cursor:pointer;transition:all var(--transition-fast)}.project-create-first:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.project-page{display:flex;gap:var(--spacing-2xl);height:100%;padding:var(--spacing-2xl)}.project-sidebar{width:280px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.feature-sets-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.feature-sets-header h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0}.feature-set-add-button{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.125rem;line-height:1;transition:all var(--transition-fast)}.feature-set-add-button:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.feature-set-new-form{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm);background-color:var(--color-surface);border-radius:var(--radius-md)}.feature-set-input{padding:var(--spacing-xs) var(--spacing-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.875rem;background-color:var(--color-background);color:var(--color-text-primary)}.feature-set-input:focus{outline:none;border-color:var(--color-primary)}.feature-set-actions{display:flex;gap:var(--spacing-xs)}.btn-save,.btn-cancel{flex:1;padding:var(--spacing-xs);border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:var(--color-background);cursor:pointer;font-size:1rem;transition:all var(--transition-fast)}.btn-save{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.btn-save:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-cancel:hover{background-color:var(--color-surface-hover)}.feature-sets-list{display:flex;flex-direction:column;gap:var(--spacing-xs);max-height:400px;overflow-y:auto}.feature-set-item{display:flex;align-items:center;gap:var(--spacing-xs);background-color:transparent;border-left:3px solid transparent;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.feature-set-item:hover{background-color:var(--color-surface-hover)}.feature-set-item.active{background-color:var(--color-primary-light);border-left-color:var(--color-primary)}.feature-set-content{flex:1;display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:none;text-align:left;cursor:pointer;color:var(--color-text-secondary);font-size:.875rem;transition:color var(--transition-fast);min-width:0}.feature-set-item.active .feature-set-content{color:var(--color-primary);font-weight:500}.feature-set-item:hover .feature-set-content{color:var(--color-text-primary)}.feature-set-delete{width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid transparent;background-color:transparent;color:var(--color-text-tertiary);cursor:pointer;font-size:.875rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;opacity:0;margin-right:var(--spacing-xs)}.feature-set-item:hover .feature-set-delete{opacity:1}.feature-set-delete:hover{background-color:var(--color-error-light);border-color:var(--color-error);color:var(--color-error)}.feature-set-icon{font-size:1rem}.feature-set-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.feature-sets-empty{padding:var(--spacing-md);text-align:center;font-size:.813rem;color:var(--color-text-tertiary);line-height:1.5}.project-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-lg);height:100%}.spec-viewer{flex:1;overflow-y:auto;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl)}.spec-viewer h2{font-size:1.75rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-lg) 0;padding-bottom:var(--spacing-md);border-bottom:2px solid var(--color-border)}.spec-empty{color:var(--color-text-tertiary);font-style:italic;padding:var(--spacing-2xl);text-align:center}.project-welcome{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-3xl);text-align:center}.project-welcome h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.project-welcome p{color:var(--color-text-secondary);margin:0}.project-chat{flex-shrink:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.chat-input-area{display:flex;gap:var(--spacing-md);align-items:flex-end}.chat-textarea{flex:1;padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:1rem;font-family:inherit;resize:none;transition:all var(--transition-fast)}.chat-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.chat-send-button{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;font-size:1rem;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.chat-send-button:hover{background-color:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.entity-types-list{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.entity-types-header h3{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0 0 var(--spacing-md) 0}.entity-type-filters{display:flex;flex-direction:column;gap:var(--spacing-xs)}.entity-type-filter{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:none;border-left:3px solid transparent;border-radius:var(--radius-sm);text-align:left;cursor:pointer;color:var(--color-text-secondary);font-size:.875rem;transition:all var(--transition-fast)}.entity-type-filter:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.entity-type-filter.active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:500}.project-main-section{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.project-main-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border)}.project-main-header h2{font-size:1.5rem;font-weight:600;color:var(--color-text-primary);margin:0}.new-entity-form-container{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.new-entity-form{display:flex;flex-direction:column;gap:var(--spacing-md)}.form-textarea{padding:var(--spacing-md) var(--spacing-lg);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-background);color:var(--color-text-primary);font-size:1rem;font-family:inherit;resize:vertical;transition:all var(--transition-fast)}.form-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}.form-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end}.entities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg)}.entities-empty{grid-column:1 / -1;padding:var(--spacing-3xl) var(--spacing-2xl);text-align:center;background-color:var(--color-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg)}.entities-empty p{font-size:1rem;color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.entity-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-fast);display:flex;flex-direction:column;gap:var(--spacing-md)}.entity-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.entity-card-header{display:flex;justify-content:space-between;align-items:center}.entity-type-badge{padding:.25rem .5rem;background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;color:var(--color-text-secondary)}.entity-actions{display:flex;gap:var(--spacing-xs)}.entity-action-button{width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background-color:transparent;cursor:pointer;font-size:.875rem;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.entity-action-button:hover{background-color:var(--color-surface-hover);border-color:var(--color-primary)}.entity-action-button.danger:hover{background-color:var(--color-error-light);border-color:var(--color-error)}.entity-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary);margin:0}.entity-content{font-size:.875rem;color:var(--color-text-secondary);margin:0;line-height:1.6;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical}.entity-meta{font-size:.75rem;color:var(--color-text-tertiary);padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.assistant-toggle{position:fixed;bottom:var(--spacing-lg);right:var(--spacing-lg);width:48px;height:48px;border-radius:50%;background:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);z-index:100;transition:transform var(--transition-fast),background var(--transition-fast)}.assistant-toggle:hover{background:var(--color-primary-hover);transform:scale(1.05)}.assistant-toggle--active{background:var(--color-text-secondary)}.assistant-toggle-icon{font-size:.75rem;font-weight:700;letter-spacing:-.5px}.assistant-panel{position:fixed;top:0;right:0;width:420px;min-width:300px;max-width:80vw;height:100vh;background:var(--color-background);border-left:1px solid var(--color-border);display:flex;flex-direction:column;z-index:99;box-shadow:-4px 0 16px #00000014;animation:assistant-slide-in var(--transition-normal) forwards}.assistant-panel--resizing{animation:none;-webkit-user-select:none;user-select:none}.assistant-resize-handle{position:absolute;top:0;left:-3px;width:6px;height:100%;cursor:col-resize;z-index:100}.assistant-resize-handle:hover,.assistant-panel--resizing .assistant-resize-handle{background:var(--color-primary);opacity:.4}@keyframes assistant-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.assistant-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.assistant-panel-title{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.assistant-panel-icon{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:.625rem;font-weight:700}.assistant-panel-actions{display:flex;gap:2px}.assistant-panel-actions .history-btn-wrapper{margin-right:0}.assistant-panel-actions .history-toggle-btn{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-secondary);border-radius:var(--radius-sm)}.assistant-panel-actions .history-toggle-btn:hover{background:var(--color-surface-hover);color:var(--color-text-primary);border-color:transparent}.assistant-panel-actions .history-toggle-btn.active{background:var(--color-primary-light);color:var(--color-primary);border-color:transparent}.assistant-btn--icon{width:28px;height:28px;border:none;background:transparent;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;transition:background var(--transition-fast),color var(--transition-fast)}.assistant-btn--icon:hover{background:var(--color-border);color:var(--color-text-primary)}.assistant-history{border-bottom:1px solid var(--color-border);max-height:240px;overflow-y:auto;background:var(--color-surface);flex-shrink:0}.assistant-history-header{padding:var(--spacing-xs) var(--spacing-md);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-secondary)}.assistant-history-empty{padding:var(--spacing-md);text-align:center;color:var(--color-text-secondary);font-size:.8rem}.assistant-history-list{display:flex;flex-direction:column}.assistant-history-item{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-md);border-bottom:1px solid var(--color-border)}.assistant-history-item--active{background:var(--color-primary-light)}.assistant-history-item-title{flex:1;text-align:left;background:none;border:none;color:var(--color-text-primary);font-size:.8rem;cursor:pointer;padding:var(--spacing-xs) 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.assistant-history-item-title:hover{color:var(--color-primary)}.assistant-history-item-delete{width:20px;height:20px;border:none;background:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);font-size:.7rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.assistant-history-item-delete:hover{background:var(--color-error);color:#fff}.assistant-history-running-indicator{width:8px;height:8px;border-radius:50%;background:var(--color-primary);flex-shrink:0;animation:assistant-pulse 1.5s ease-in-out infinite}@keyframes assistant-pulse{0%,to{opacity:1}50%{opacity:.3}}.assistant-history-item-stop{width:20px;height:20px;border:none;background:none;color:var(--color-error);cursor:pointer;border-radius:var(--radius-sm);font-size:.6rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.assistant-history-item-stop:hover{background:var(--color-error);color:#fff}.assistant-messages{flex:1;overflow-y:auto;padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.assistant-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.assistant-empty-icon{width:48px;height:48px;background:var(--color-primary-light);color:var(--color-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}.assistant-empty-title{font-weight:600;color:var(--color-text-primary);font-size:.9rem}.assistant-empty-text{font-size:.8rem;max-width:280px;line-height:1.5}.assistant-message{display:flex;gap:var(--spacing-sm)}.assistant-message--user{justify-content:flex-end}.assistant-message--user .assistant-message-body{background:var(--color-primary);color:#fff;border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);max-width:85%}.assistant-message--assistant .assistant-message-body{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg);max-width:95%}.assistant-message--system{justify-content:center}.assistant-message-system{display:flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-xs) var(--spacing-sm);background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,transparent);border:1px solid color-mix(in srgb,var(--color-warning, #f59e0b) 30%,transparent);border-radius:var(--radius-md);font-size:.75rem;color:var(--color-text-secondary);line-height:1.4;max-width:95%}.assistant-message-system-icon{flex-shrink:0;font-size:.85rem}.assistant-message-avatar{width:24px;height:24px;background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.55rem;font-weight:700;flex-shrink:0;margin-top:2px}.assistant-message-body{padding:var(--spacing-sm) var(--spacing-md)}.assistant-message-content{font-size:.825rem;line-height:1.55;word-break:break-word}.assistant-message-thinking{font-size:.8rem;color:var(--color-text-secondary);font-style:italic}.assistant-message-user-wrap{position:relative}.assistant-message-user-actions{display:none;gap:4px;margin-top:4px;justify-content:flex-end}.assistant-message-user-wrap:hover .assistant-message-user-actions{display:flex}.assistant-msg-action-btn{padding:2px 8px;border:none;background:#fff3;color:inherit;border-radius:var(--radius-sm);font-size:.65rem;font-weight:500;cursor:pointer;opacity:.8;transition:opacity var(--transition-fast),background var(--transition-fast)}.assistant-msg-action-btn:hover{opacity:1;background:#ffffff59}.assistant-msg-action-btn:disabled{opacity:.4;cursor:not-allowed}.assistant-msg-action-btn--send{background:#ffffff4d;font-weight:600}.assistant-message-edit{display:flex;flex-direction:column;gap:6px;width:100%}.assistant-message-edit-textarea{width:100%;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.825rem;font-family:inherit;line-height:1.4;resize:vertical;min-height:60px;background:#ffffff1a;color:inherit;outline:none}.assistant-message-edit-textarea:focus{border-color:#ffffff80}.assistant-message-edit-actions{display:flex;gap:4px;justify-content:flex-end}.assistant-message-tools{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.tool-call-card{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden;font-size:.75rem}.tool-call-card--running{border-color:var(--color-info)}.tool-call-card--done{border-color:var(--color-success)}.tool-call-card--error{border-color:var(--color-error)}.tool-call-header{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background:transparent;border:none;cursor:pointer;text-align:left;color:var(--color-text-primary)}.tool-call-header:hover{background:var(--color-surface)}.tool-call-status{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;font-size:.6rem;font-weight:700;flex-shrink:0}.tool-call-status--running{background:transparent;border:2px solid var(--color-info);border-top-color:transparent;animation:tool-spin .8s linear infinite}.tool-call-spinner{display:block;width:100%;height:100%}.tool-call-running-label{font-size:.7rem;color:var(--color-info);font-weight:500;animation:tool-pulse 1.5s infinite}@keyframes tool-spin{to{transform:rotate(360deg)}}.tool-call-status--done{background:var(--color-success);color:#fff}.tool-call-status--error{background:var(--color-error);color:#fff}@keyframes tool-pulse{0%,to{opacity:1}50%{opacity:.5}}.tool-call-name{flex:1;font-weight:500;text-transform:capitalize}.tool-call-expand{color:var(--color-text-secondary);font-weight:600}.tool-call-details{border-top:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm)}.tool-call-section{margin-bottom:var(--spacing-xs)}.tool-call-section:last-child{margin-bottom:0}.tool-call-section-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;color:var(--color-text-secondary);margin-bottom:2px}.tool-call-json{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs);font-size:.7rem;line-height:1.4;overflow-x:auto;max-height:150px;overflow-y:auto;margin:0;white-space:pre-wrap;word-break:break-all}.assistant-input{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.assistant-input-field{flex:1;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:.825rem;font-family:inherit;line-height:1.4;resize:none;min-height:36px;background:var(--color-background);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast);overflow-y:auto}.assistant-input-field:focus{border-color:var(--color-primary)}.assistant-input-field::placeholder{color:var(--color-text-secondary)}.assistant-input-send{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background var(--transition-fast)}.assistant-input-send:hover:not(:disabled){background:var(--color-primary-hover)}.assistant-input-send:disabled{opacity:.5;cursor:not-allowed}.assistant-cancel-btn{background:var(--color-error, #dc2626)}.assistant-cancel-btn:hover{background:var(--color-error, #b91c1c)}.app-content.assistant-open{margin-right:var(--assistant-panel-width, 420px);transition:margin-right var(--transition-normal)}body:has(.assistant-panel--resizing) .app-content.assistant-open{transition:none}@media (max-width: 768px){.assistant-panel{width:100%}.app-content.assistant-open{margin-right:0}.assistant-toggle{bottom:var(--spacing-md);right:var(--spacing-md);width:40px;height:40px}}.assistant-drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#3b82f614;border:2px dashed var(--color-primary);border-radius:var(--radius-md);z-index:10;display:flex;align-items:center;justify-content:center;pointer-events:none}.assistant-drop-label{background:var(--color-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-size:.875rem;font-weight:600}.assistant-attachment-strip{display:flex;gap:6px;padding:4px 0;overflow-x:auto;flex-shrink:0;width:100%}.assistant-attachment-chip{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;white-space:nowrap;max-width:180px}.assistant-attachment-thumb{width:28px;height:28px;object-fit:cover;border-radius:3px;flex-shrink:0}.assistant-attachment-file-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-border);border-radius:3px;font-size:.55rem;font-weight:700;color:var(--color-text-secondary);flex-shrink:0}.assistant-attachment-name{overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.assistant-attachment-remove{background:none;border:none;cursor:pointer;color:var(--color-text-secondary);font-size:.8rem;padding:0 2px;flex-shrink:0;line-height:1}.assistant-attachment-remove:hover{color:var(--color-error, #dc2626)}.assistant-message-attachments{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.assistant-message-attachment-img{max-width:200px;max-height:150px;border-radius:var(--radius-sm);cursor:pointer}.assistant-message-attachment-file{font-size:.75rem;padding:2px 8px;background:#ffffff26;border-radius:var(--radius-sm);display:inline-flex;align-items:center;gap:4px}.assistant-sources{margin-top:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);border-left:3px solid var(--color-primary);font-size:.75rem}.assistant-sources[open]{padding-bottom:var(--spacing-sm)}.assistant-sources-title{font-weight:600;color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;font-size:.7rem;text-transform:uppercase;letter-spacing:.3px}.assistant-sources-title::-webkit-details-marker{display:none}.assistant-sources[open] .assistant-sources-title{margin-bottom:var(--spacing-xs)}.assistant-sources-list{display:flex;flex-direction:column;gap:3px}.assistant-source-item{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xs);padding:3px var(--spacing-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.assistant-source-item:hover{background:var(--color-surface)}.assistant-source-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary);font-size:.75rem}.assistant-source-score{flex-shrink:0;font-size:.65rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface);padding:1px 5px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.assistant-uncertainty{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:color-mix(in srgb,var(--color-warning, #f59e0b) 8%,transparent);border:1px solid color-mix(in srgb,var(--color-warning, #f59e0b) 25%,transparent);border-radius:var(--radius-sm);font-size:.75rem}.assistant-uncertainty-label{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);line-height:1.4}.assistant-uncertainty-actions{display:flex;flex-wrap:wrap;gap:var(--spacing-xs)}.assistant-uncertainty-btn{padding:4px 10px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text-primary);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.assistant-uncertainty-btn:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.assistant-uncertainty-btn:disabled{opacity:.5;cursor:not-allowed}.assistant-degraded-banner{display:flex;align-items:flex-start;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:color-mix(in srgb,var(--color-warning, #f59e0b) 12%,transparent);border-bottom:1px solid color-mix(in srgb,var(--color-warning, #f59e0b) 30%,transparent);flex-shrink:0}.assistant-degraded-banner-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:var(--color-warning, #f59e0b);color:#fff;font-size:.7rem;font-weight:700;flex-shrink:0;margin-top:1px}.assistant-degraded-banner-text{font-size:.8rem;color:var(--color-text-primary);line-height:1.45}.assistant-degraded-context{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background:var(--color-surface);border-bottom:1px solid var(--color-border);font-size:.75rem;flex-shrink:0}.assistant-degraded-context-label{color:var(--color-text-secondary);font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-size:.65rem}.assistant-degraded-context-value{color:var(--color-text-primary);font-weight:500}.assistant-degraded-fallbacks{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0}.assistant-degraded-card{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:border-color var(--transition-fast),background var(--transition-fast)}.assistant-degraded-card:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-light, rgba(59, 130, 246, .04))}.assistant-degraded-card:disabled{opacity:.6;cursor:not-allowed}.assistant-degraded-card-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--color-primary-light, rgba(59, 130, 246, .08));color:var(--color-primary);font-size:.7rem;font-weight:700;flex-shrink:0}.assistant-degraded-card-content{flex:1;min-width:0}.assistant-degraded-card-title{font-size:.8rem;font-weight:600;color:var(--color-text-primary)}.assistant-degraded-card-desc{font-size:.7rem;color:var(--color-text-secondary);margin-top:1px}.assistant-degraded-support-form{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);background:var(--color-surface);flex-shrink:0}.assistant-degraded-form-header{font-size:.8rem;font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.assistant-degraded-form-input,.assistant-degraded-form-textarea,.assistant-degraded-form-select{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.8rem;font-family:inherit;background:var(--color-background);color:var(--color-text-primary);outline:none;transition:border-color var(--transition-fast)}.assistant-degraded-form-input:focus,.assistant-degraded-form-textarea:focus,.assistant-degraded-form-select:focus{border-color:var(--color-primary)}.assistant-degraded-form-textarea{resize:vertical;min-height:60px;line-height:1.4}.assistant-degraded-form-actions{display:flex;gap:var(--spacing-xs);justify-content:flex-end}.assistant-degraded-form-submit{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast)}.assistant-degraded-form-submit:hover:not(:disabled){background:var(--color-primary-hover)}.assistant-degraded-form-submit:disabled{opacity:.5;cursor:not-allowed}.assistant-degraded-form-cancel{padding:var(--spacing-xs) var(--spacing-md);background:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-weight:500;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast)}.assistant-degraded-form-cancel:hover{color:var(--color-text-primary);border-color:var(--color-text-secondary)}.assistant-degraded-form-success{font-size:.75rem;color:var(--color-success, #22c55e);padding:var(--spacing-xs) 0}.assistant-degraded-form-error{font-size:.75rem;color:var(--color-error, #dc2626);padding:var(--spacing-xs) 0}.action-confirm-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm);background:var(--color-surface);font-size:.8rem}.action-confirm--high{border-left:3px solid var(--color-error, #dc2626)}.action-confirm--medium{border-left:3px solid var(--color-warning, #f59e0b)}.action-confirm--approved{opacity:.7;border-color:var(--color-success, #22c55e);border-left-color:var(--color-success, #22c55e)}.action-confirm--declined{opacity:.7;border-color:var(--color-text-secondary);border-left-color:var(--color-text-secondary)}.action-confirm-header{display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.action-confirm-risk-badge{display:inline-block;padding:1px 6px;border-radius:var(--radius-sm);font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.3px}.action-confirm-risk-badge--high{background:color-mix(in srgb,var(--color-error, #dc2626) 15%,transparent);color:var(--color-error, #dc2626)}.action-confirm-risk-badge--medium{background:color-mix(in srgb,var(--color-warning, #f59e0b) 15%,transparent);color:var(--color-warning, #f59e0b)}.action-confirm-tool-name{font-weight:600;color:var(--color-text-secondary);font-size:.7rem;text-transform:capitalize}.action-confirm-description{color:var(--color-text-primary);line-height:1.45;margin-bottom:var(--spacing-sm);font-size:.8rem}.action-confirm-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.action-confirm-btn{padding:4px 12px;border:none;border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast)}.action-confirm-btn--approve{background:var(--color-success, #22c55e);color:#fff}.action-confirm-btn--approve:hover{background:color-mix(in srgb,var(--color-success, #22c55e) 80%,black)}.action-confirm-btn--decline{background:var(--color-error, #dc2626);color:#fff}.action-confirm-btn--decline:hover{background:color-mix(in srgb,var(--color-error, #dc2626) 80%,black)}.action-confirm-timer{font-size:.7rem;color:var(--color-text-secondary);font-weight:500;margin-left:auto;font-variant-numeric:tabular-nums}.action-confirm-result{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);font-style:italic}@media (prefers-color-scheme: dark){.assistant-panel{box-shadow:-4px 0 16px #0000004d}.assistant-message--user .assistant-message-body{background:var(--color-primary)}}.field-readonly{color:var(--color-text-primary);font-size:.875rem}.field-readonly-empty{color:var(--color-text-tertiary);font-style:italic;font-size:.875rem}.field-input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:.875rem;font-family:inherit}.field-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light, rgba(79, 70, 229, .1))}.field-input-mono{font-family:var(--font-mono);font-size:.813rem}.field-radio-group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.field-radio-option{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-primary);cursor:pointer}.field-radio-option input[type=radio]{accent-color:var(--color-primary)}.field-url-wrapper{display:flex;align-items:center;gap:var(--spacing-sm)}.field-url-link{color:var(--color-primary);text-decoration:none;font-size:.875rem;word-break:break-all}.field-url-link:hover{text-decoration:underline}.field-image-preview{max-width:100%;max-height:300px;border-radius:var(--radius-md);border:1px solid var(--color-border)}.field-media-player{max-width:100%;border-radius:var(--radius-md)}.field-state-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:2px var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600}.field-searchable-dropdown{position:relative}.field-searchable-dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--color-surface);border:1px solid var(--color-border);border-top:none;border-radius:0 0 var(--radius-md) var(--radius-md);z-index:10;box-shadow:var(--shadow-md, 0 4px 6px -1px rgba(0, 0, 0, .1))}.field-searchable-dropdown-item{padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;font-size:.875rem;color:var(--color-text-primary)}.field-searchable-dropdown-item:hover{background:var(--color-background)}.field-relationship-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.field-relationship-item{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.875rem;color:var(--color-text-primary)}.field-relationship-label{color:var(--color-text-secondary);font-size:.75rem}.field-markdown-content{font-size:.875rem;line-height:1.6;color:var(--color-text-primary)}.field-markdown-content h1,.field-markdown-content h2,.field-markdown-content h3{margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.field-markdown-content p{margin-bottom:var(--spacing-sm)}.field-markdown-content code{font-family:var(--font-mono);font-size:.813rem;background:var(--color-background);padding:1px 4px;border-radius:var(--radius-sm)}.field-markdown-content pre{background:var(--color-background);padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto}.field-markdown-content pre code{background:none;padding:0}.field-markdown-content ul,.field-markdown-content ol{margin-bottom:var(--spacing-sm);padding-left:1.5em}.field-markdown-content ol{list-style-position:outside;list-style-type:decimal}.field-markdown-content ul{list-style-position:outside;list-style-type:disc}.field-markdown-content li{margin-bottom:.25em;padding-left:.25em}.entity-rollup-field{width:100%}.entity-rollup-count{display:inline-block;font-size:.75rem;font-weight:600;color:var(--color-text-secondary);background:var(--color-surface-hover);padding:.125rem .5rem;border-radius:9999px;margin-bottom:.5rem}.entity-rollup-empty{padding:1rem;text-align:center;color:var(--color-text-secondary);font-size:.875rem;border:1px dashed var(--color-border);border-radius:var(--radius-md)}.entity-rollup-loading{color:var(--color-text-secondary);font-style:italic}.field-breadcrumb{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;font-size:.875rem}.field-breadcrumb-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-primary);cursor:pointer}.field-breadcrumb-link:hover{text-decoration:underline}.field-breadcrumb-icon{font-size:.9rem}.field-breadcrumb-separator{color:var(--color-text-secondary);font-size:.75rem}.field-breadcrumb-loading{color:var(--color-text-secondary);font-style:italic}.state-transition-field{display:flex;align-items:center;gap:var(--spacing-md);flex-wrap:wrap}.state-transition-current{display:flex;align-items:center}.state-current-badge{font-size:.875rem;padding:4px var(--spacing-sm)}.state-transition-no-state{color:var(--color-text-tertiary);font-style:italic;font-size:.875rem}.state-transition-buttons{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.state-transition-label{color:var(--color-text-secondary);font-size:.875rem}.state-transition-button{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px var(--spacing-sm);border-radius:var(--radius-sm);font-size:.75rem;font-weight:600;border:1px solid transparent;cursor:pointer;transition:opacity .15s ease,transform .1s ease}.state-transition-button:hover:not(:disabled){opacity:.85;transform:translateY(-1px)}.state-transition-button:active:not(:disabled){transform:translateY(0)}.state-transition-button:disabled{opacity:.5;cursor:not-allowed}.state-transition-end{display:flex;align-items:center}.state-transition-end-label{color:var(--color-text-tertiary);font-size:.75rem;font-style:italic}.state-loading{color:var(--color-text-secondary);font-style:italic;font-size:.875rem}.user-ref-field{position:relative}.user-ref-display,.user-ref-selected{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.user-ref-avatar{width:24px;height:24px;border-radius:50%;object-fit:cover}.user-ref-avatar-small{width:20px;height:20px;border-radius:50%;object-fit:cover}.user-ref-name{font-size:.875rem;color:var(--color-text-primary)}.user-ref-loading{color:var(--color-text-secondary);font-style:italic;font-size:.875rem}.user-ref-set-btn{padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;transition:border-color .15s ease,color .15s ease}.user-ref-set-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.user-ref-change-btn,.user-ref-clear-btn{padding:2px 8px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:.75rem;cursor:pointer;transition:all .15s ease}.user-ref-change-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.user-ref-clear-btn:hover{border-color:var(--color-error);color:var(--color-error)}.user-ref-search-popover{position:absolute;top:100%;left:0;right:0;min-width:280px;max-width:400px;margin-top:4px;padding:var(--spacing-sm);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, .1));z-index:100}.user-ref-search-results{list-style:none;margin:var(--spacing-sm) 0 0 0;padding:0;max-height:200px;overflow-y:auto}.user-ref-search-item{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-sm);cursor:pointer;transition:background .1s ease}.user-ref-search-item:hover{background:var(--color-background)}.user-ref-search-name{font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.user-ref-search-email{font-size:.75rem;color:var(--color-text-secondary);margin-left:auto}.user-ref-search-status{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-size:.875rem;text-align:center}.spec-item-page{width:100%;margin:0 auto;padding:0 2rem 2rem}.entity-breadcrumbs{display:flex;align-items:center;gap:.25rem;font-size:.8rem;flex-wrap:wrap;margin-bottom:.75rem;padding:.5rem 0}.entity-breadcrumb-link{color:var(--color-primary, #4f46e5);cursor:pointer;text-decoration:none}.entity-breadcrumb-link:hover{text-decoration:underline}.entity-breadcrumb-separator{color:var(--color-text-secondary, #6b7280);margin:0 .125rem}.entity-breadcrumb-current{color:var(--color-text-primary, #111827);font-weight:500}.spec-item-nav{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--color-border)}.spec-item-actions{display:flex;gap:.5rem}.entity-editor{padding:0}.entity-field-row{display:flex;align-items:flex-start;gap:1rem;padding:.625rem 0;border-bottom:1px solid var(--color-border-light, #f3f4f6)}.entity-field-row:last-child{border-bottom:none}.entity-field-label{width:180px;min-width:180px;font-size:.8rem;font-weight:600;color:var(--color-text-secondary, #6b7280);padding-top:.5rem;text-align:right;padding-right:.5rem}.field-required{color:var(--color-error, #ef4444);margin-left:.125rem}.entity-field-value{flex:1;min-width:0}.entity-title-input{font-size:1rem;font-weight:600}.entity-field-content-row .entity-field-value{min-height:200px}.md-editor{border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-md, 6px);overflow:hidden}.md-editor-tabs{display:flex;background:var(--color-surface, #f9fafb);border-bottom:1px solid var(--color-border, #e5e7eb)}.md-editor-tab{padding:.375rem .75rem;cursor:pointer;font-size:.75rem;font-weight:500;border-bottom:2px solid transparent;color:var(--color-text-secondary, #6b7280);background:none;border-top:none;border-left:none;border-right:none}.md-editor-tab:hover{color:var(--color-text-primary, #111827)}.md-editor-tab.active{border-bottom-color:var(--color-primary, #4f46e5);color:var(--color-primary, #4f46e5)}.md-editor-toolbar{display:flex;gap:2px;padding:.25rem .5rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-surface, #f9fafb);flex-wrap:wrap}.md-editor-btn{padding:.25rem .5rem;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-sm, 4px);font-size:.8rem;font-weight:600;color:var(--color-text-secondary, #6b7280);line-height:1}.md-editor-btn:hover{background:var(--color-border-light, #f3f4f6);color:var(--color-text-primary, #111827)}.md-editor-content{min-height:200px}.md-editor-rich{padding:.75rem;min-height:200px;outline:none;cursor:text;font-size:.875rem;line-height:1.6;color:var(--color-text-primary, #111827)}.md-editor-rich:empty:before{content:"Start typing...";color:var(--color-text-tertiary, #9ca3af);pointer-events:none}.md-editor-rich:focus{background:var(--color-background, #ffffff)}.md-editor-raw{display:flex;min-height:200px}.md-editor-line-numbers{padding:.75rem .5rem;text-align:right;color:var(--color-text-tertiary, #9ca3af);font-family:var(--font-mono, monospace);font-size:.8rem;line-height:1.5;-webkit-user-select:none;user-select:none;border-right:1px solid var(--color-border, #e5e7eb);min-width:2.5rem;background:var(--color-surface, #f9fafb)}.md-editor-textarea{flex:1;border:none;outline:none;padding:.75rem;font-family:var(--font-mono, monospace);font-size:.8rem;line-height:1.5;resize:vertical;min-height:200px;background:transparent;color:var(--color-text-primary, #111827);width:100%}.skill-prompt-editor .md-editor-content,.skill-prompt-editor .md-editor-rich,.skill-prompt-editor .md-editor-raw,.skill-prompt-editor .md-editor-textarea{min-height:480px}.entity-ref-table-inline{width:100%}.entity-ref-table-toolbar{display:flex;justify-content:flex-end;margin-bottom:.375rem}.entity-field-ref-table-row{align-items:flex-start}.entity-field-ref-table-row .entity-field-label{padding-top:.25rem}.entity-ref-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-border-light, #f3f4f6)}.entity-ref-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.entity-ref-title{font-size:.9rem;font-weight:600;color:var(--color-text-primary, #111827);margin:0}.entity-ref-remove-btn{background:none;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:.875rem;padding:.25rem .5rem;border-radius:var(--radius-sm, 4px)}.entity-ref-remove-btn:hover{color:var(--color-error, #ef4444);background:#ef44441a}.entity-ref-search{position:relative;margin-bottom:.75rem}.entity-ref-search .field-input{margin-bottom:0}.entity-ref-search-results{list-style:none;padding:0;margin:0;border:1px solid var(--color-border, #e5e7eb);border-top:none;border-radius:0 0 var(--radius-md, 6px) var(--radius-md, 6px);max-height:250px;overflow-y:auto;background:var(--color-surface, #f9fafb);box-shadow:0 4px 6px -1px #0000001a}.entity-ref-search-item{display:flex;align-items:center;padding:.5rem .75rem;cursor:pointer;font-size:.875rem;color:var(--color-text-primary, #111827)}.entity-ref-search-item:hover{background:var(--color-background, #ffffff)}.entity-ref-search-status{padding:.5rem .75rem;font-size:.8rem;color:var(--color-text-secondary, #6b7280)}.button-sm{padding:.25rem .625rem;font-size:.75rem}.type-badge,.state-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.125rem .5rem;border-radius:9999px;font-size:.75rem;font-weight:500;white-space:nowrap}.entity-ref-field{position:relative}.entity-ref-display{display:flex;align-items:center;gap:.5rem}.entity-ref-link{display:inline-flex;align-items:center;gap:.25rem;color:var(--color-primary, #4f46e5);font-weight:500;cursor:pointer;font-size:.875rem}.entity-ref-link:hover{text-decoration:underline}.entity-ref-icon{font-size:.9rem}.entity-ref-loading{color:var(--color-text-secondary, #6b7280);font-size:.8rem;font-style:italic}.entity-ref-set-btn{background:none;border:1px dashed var(--color-border, #e5e7eb);border-radius:var(--radius-md, 6px);padding:.375rem .75rem;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:.8rem}.entity-ref-set-btn:hover{border-color:var(--color-primary, #4f46e5);color:var(--color-primary, #4f46e5);background:#4f46e50d}.entity-ref-change-btn{background:none;border:1px solid var(--color-border, #e5e7eb);border-radius:var(--radius-sm, 4px);padding:.125rem .5rem;font-size:.7rem;color:var(--color-text-secondary, #6b7280);cursor:pointer}.entity-ref-change-btn:hover{border-color:var(--color-primary, #4f46e5);color:var(--color-primary, #4f46e5)}.entity-ref-clear-btn{background:none;border:none;color:var(--color-text-secondary, #6b7280);cursor:pointer;font-size:.8rem;padding:.125rem .25rem}.entity-ref-clear-btn:hover{color:var(--color-error, #ef4444)}.entity-ref-search-popover{position:absolute;left:0;right:0;top:100%;z-index:20;margin-top:.25rem;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md, 6px);box-shadow:0 4px 12px #0000001a;padding:.5rem}.entity-ref-search-popover .field-input{width:100%;margin-bottom:0}.entity-ref-search-popover .entity-ref-search-results{border:none;border-radius:0;box-shadow:none;margin-top:.25rem}.entity-ref-search-icon{margin-right:.5rem}.entity-ref-search-title{font-weight:500}.entity-ref-search-type{margin-left:auto;font-size:.75rem;color:var(--color-text-secondary, #6b7280)}.entity-ref-count{margin-left:.5rem;font-size:.75rem;color:var(--color-text-secondary, #6b7280);background:var(--color-surface-hover);padding:.0625rem .375rem;border-radius:9999px;font-weight:400}.entity-ref-display-fields{margin-top:.25rem;padding-left:1.25rem}.entity-ref-display-field{display:flex;gap:.375rem;font-size:.75rem;line-height:1.5;color:var(--color-text-secondary, #6b7280)}.entity-ref-display-field-label{font-weight:500;color:var(--color-text-secondary, #6b7280)}.entity-ref-display-field-value{color:var(--color-text-primary, #111827)}.entity-ref-display-collapsible{margin-top:.125rem}.entity-ref-display-toggle{display:inline-flex;align-items:center;gap:.375rem;background:var(--color-surface, #f9fafb);border:1px solid var(--color-border-light, #f3f4f6);border-radius:var(--radius-sm, 4px);cursor:pointer;font-size:.8rem;font-weight:500;color:var(--color-text-secondary, #6b7280);padding:.25rem .625rem;margin-left:1.25rem;margin-top:.25rem}.entity-ref-display-toggle:hover{color:var(--color-primary, #4f46e5);border-color:var(--color-primary, #4f46e5);background:#4f46e50d}.toggle-arrow{display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease;font-size:1.1rem;width:1.1rem;height:1.1rem}.toggle-arrow.expanded{transform:rotate(90deg)}.entity-ref-display-fields.collapsed{display:none}.entity-field-collapsible .entity-field-label-row{display:flex;align-items:center;gap:.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.entity-field-collapsible .entity-field-label-row:hover .entity-field-label{color:var(--color-primary, #4f46e5)}.entity-field-collapse-arrow{display:inline-flex;align-items:center;justify-content:center;transition:transform .15s ease;font-size:.9rem;color:var(--color-text-secondary, #6b7280);width:1rem;flex-shrink:0}.entity-field-collapse-arrow.expanded{transform:rotate(90deg)}.entity-field-collapsible .entity-field-label-row:hover .entity-field-collapse-arrow{color:var(--color-primary, #4f46e5)}.timestamp-field{font-size:.8rem;color:var(--color-text-secondary, #6b7280)}.timestamp-relative{font-size:.75rem;color:var(--color-text-tertiary, #9ca3af)}.spec-item-empty{padding:3rem 1.5rem;text-align:center;color:var(--color-text-secondary);border:1px dashed var(--color-border);border-radius:8px;margin-top:1rem}.save-status{font-size:.75rem;padding:.25rem .5rem;border-radius:var(--radius-sm, 4px);display:inline-flex;align-items:center;gap:.25rem;transition:opacity .2s ease}.save-status:empty{display:none}.save-status--idle{opacity:0}.save-status--saving{color:var(--color-text-secondary, #6b7280);background:var(--color-surface, #f9fafb)}.save-status--saved{color:var(--color-success, #059669);background:#0596691a}.save-status--error{color:var(--color-error, #ef4444);background:#ef44441a}.entity-viz-section{margin-bottom:1.5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:.5rem;background:var(--color-background);overflow:hidden}.entity-viz-status{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:200px;color:var(--color-text-secondary, #6b7280);font-size:.875rem}.entity-viz-error{color:var(--color-error, #ef4444)}.entity-viz-placeholder{flex-direction:column;opacity:.7}.entity-viz-render{min-height:300px;padding:1rem}.field-listen-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:.5rem;padding:3px;border:1px solid var(--color-border-light, #e5e7eb);background:var(--color-surface, #f9fafb);color:var(--color-text-secondary, #6b7280);cursor:pointer;border-radius:var(--radius-sm, 4px);vertical-align:middle;transition:color .15s ease,background .15s ease,border-color .15s ease}.field-listen-btn:hover{color:var(--color-primary, #4f46e5);background:#4f46e514;border-color:var(--color-primary, #4f46e5)}.field-listen-btn--speaking{color:var(--color-primary, #4f46e5);border-color:var(--color-primary, #4f46e5);background:#4f46e514;animation:field-listen-pulse 1.5s ease-in-out infinite}.field-listen-btn--loading{color:var(--color-text-secondary, #6b7280);border-color:var(--color-text-secondary, #6b7280)}.field-listen-spinner{animation:field-listen-spin 1s linear infinite}@keyframes field-listen-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes field-listen-pulse{0%,to{opacity:1}50%{opacity:.5}}.toast-container{position:fixed;top:var(--spacing-lg);right:var(--spacing-lg);z-index:3000;display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:420px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-text-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastSlideIn .25s ease-out}.toast.toast-exiting{animation:toastFadeOut .2s ease-in forwards}.toast-success{border-left-color:var(--color-success, #059669)}.toast-error{border-left-color:var(--color-error)}.toast-info{border-left-color:var(--color-primary)}.toast-icon{font-size:1.125rem;flex-shrink:0;line-height:1.4}.toast-success .toast-icon{color:var(--color-success, #059669)}.toast-error .toast-icon{color:var(--color-error)}.toast-info .toast-icon{color:var(--color-primary)}.toast-message{flex:1;font-size:.875rem;color:var(--color-text-primary);line-height:1.4}.toast-dismiss{flex-shrink:0;width:24px;height:24px;border:none;background:transparent;color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:.875rem;transition:all var(--transition-fast)}.toast-dismiss:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toastFadeOut{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.external-chat-page{display:flex;flex-direction:column;height:100vh;background-color:var(--color-background)}.external-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;min-height:56px}.external-chat-header-left{display:flex;align-items:center;gap:var(--spacing-md)}.external-chat-logo{height:32px;width:auto}.external-chat-title{font-size:1.125rem;font-weight:600;color:var(--color-text-primary)}.external-chat-concierge-label{font-size:.813rem;color:var(--color-text-tertiary);font-weight:400}.external-chat-header-right{display:flex;align-items:center;gap:var(--spacing-md)}.external-chat-user-info{font-size:.813rem;color:var(--color-text-secondary)}.external-chat-logout-btn{padding:var(--spacing-xs) var(--spacing-md);background-color:transparent;color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.813rem;cursor:pointer;transition:all var(--transition-fast)}.external-chat-logout-btn:hover{background-color:var(--color-hover);color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.external-chat-container{flex:1;display:flex;flex-direction:column;max-width:860px;width:100%;margin:0 auto;padding:0 var(--spacing-lg);overflow:hidden}.external-chat-messages{flex:1;overflow-y:auto;padding:var(--spacing-xl) 0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.external-chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-tertiary);padding:var(--spacing-3xl)}.external-chat-empty-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700}.external-chat-empty-title{font-size:1.25rem;font-weight:600;color:var(--color-text-primary)}.external-chat-empty-text{font-size:.938rem;color:var(--color-text-secondary);text-align:center;max-width:400px;line-height:1.5}.external-chat-message{display:flex;gap:var(--spacing-md);max-width:100%}.external-chat-message--user{flex-direction:row-reverse}.external-chat-message--system{justify-content:center}.external-chat-message-avatar{width:36px;height:36px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;flex-shrink:0}.external-chat-message-body{flex:1;min-width:0}.external-chat-message--user .external-chat-message-body{display:flex;justify-content:flex-end}.external-chat-message--user .external-chat-message-content{background-color:var(--color-primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg) var(--radius-lg) var(--radius-sm) var(--radius-lg);max-width:80%;word-wrap:break-word;font-size:.938rem;line-height:1.5}.external-chat-message--assistant .external-chat-message-body{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm) var(--radius-lg) var(--radius-lg) var(--radius-lg);padding:var(--spacing-md) var(--spacing-lg);max-width:90%}.external-chat-message--system .external-chat-message-body{background-color:var(--color-warning-light, rgba(255, 193, 7, .1));border:1px solid var(--color-warning, #ffc107);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);font-size:.813rem;color:var(--color-text-secondary);text-align:center;max-width:80%}.external-chat-input-area{flex-shrink:0;padding:var(--spacing-md) 0 var(--spacing-xl)}.external-chat-input-form{display:flex;align-items:flex-end;gap:var(--spacing-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}.external-chat-input-form:focus-within{border-color:var(--color-primary)}.external-chat-input-field{flex:1;border:none;background:transparent;color:var(--color-text-primary);font-family:var(--font-family);font-size:.938rem;line-height:1.5;resize:none;outline:none;padding:var(--spacing-xs) 0;max-height:120px;min-height:24px}.external-chat-input-field::placeholder{color:var(--color-text-tertiary)}.external-chat-send-btn{width:36px;height:36px;border-radius:50%;background-color:var(--color-primary);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;flex-shrink:0;transition:background-color var(--transition-fast),opacity var(--transition-fast)}.external-chat-send-btn:hover:not(:disabled){background-color:var(--color-primary-hover)}.external-chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.external-chat-send-btn--cancel{background-color:var(--color-error, #ef4444)}.external-chat-send-btn--cancel:hover{background-color:var(--color-error, #dc2626)}.external-chat-footer{text-align:center;padding:0 0 var(--spacing-sm);font-size:.75rem;color:var(--color-text-tertiary)}.external-chat-connecting{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-md);color:var(--color-text-secondary)}@media (max-width: 768px){.external-chat-header{padding:var(--spacing-sm) var(--spacing-md)}.external-chat-container{padding:0 var(--spacing-md)}.external-chat-user-info{display:none}.external-chat-message--user .external-chat-message-content{max-width:90%}.external-chat-message--assistant .external-chat-message-body{max-width:95%}}.tenant-switcher{position:relative;padding:0 var(--spacing-md);margin-bottom:var(--spacing-xs)}.tenant-switcher-btn{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);font-size:.875rem;color:var(--color-text-primary)}.tenant-switcher-btn:hover{background:var(--color-surface-hover);border-color:var(--color-primary)}.tenant-switcher-logo{width:20px;height:20px;border-radius:var(--radius-sm);object-fit:cover}.tenant-switcher-name{flex:1;text-align:left;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-switcher-arrow{font-size:.625rem;color:var(--color-text-tertiary)}.tenant-switcher-dropdown{position:absolute;top:calc(100% + var(--spacing-xs));left:var(--spacing-md);right:var(--spacing-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;max-height:300px;overflow-y:auto}.tenant-switcher-option{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast);text-align:left;color:var(--color-text-primary);font-size:.875rem}.tenant-switcher-option:last-child{border-bottom:none}.tenant-switcher-option:hover{background:var(--color-surface-hover)}.tenant-switcher-option.active{background:var(--color-primary-light)}.tenant-option-logo{width:24px;height:24px;border-radius:var(--radius-sm);object-fit:cover}.tenant-option-info{flex:1;display:flex;flex-direction:column}.tenant-option-name{font-weight:500}.tenant-option-slug{font-size:.75rem;color:var(--color-text-tertiary);font-family:var(--font-mono)}.tenant-option-check{color:var(--color-primary);font-weight:600}.visibility-editor{display:flex;flex-direction:column;gap:var(--spacing-sm)}.scope-global{background:var(--color-warning-light);color:var(--color-warning)}.scope-tenant{background:var(--color-info-light);color:var(--color-info)}.scope-department{background:var(--color-success-light);color:var(--color-success)}.scope-group{background:var(--color-primary-light);color:var(--color-primary)}.scope-project{background:#fce7f3;color:#db2777}.scope-user{background:var(--color-surface);color:var(--color-text-secondary);border:1px solid var(--color-border)}.scope-role{background:#ffedd5;color:#ea580c}.visibility-add-form{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap}.visibility-empty{font-size:.85rem;color:var(--color-text-secondary);margin:0}.visibility-error{font-size:.85rem;color:var(--color-error);background:var(--color-error-light);padding:.375rem .625rem;border-radius:var(--radius-sm)}.version-history{display:flex;flex-direction:column;gap:var(--spacing-md)}.version-timeline{display:flex;flex-direction:column;gap:0;position:relative}.version-entry{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);border-left:2px solid var(--color-border);margin-left:var(--spacing-md);position:relative}.version-entry:first-child{border-left-color:var(--color-primary)}.version-dot{position:absolute;left:calc(-1 * var(--spacing-md) - 5px);top:var(--spacing-md);width:10px;height:10px;border-radius:50%;background:var(--color-border);border:2px solid var(--color-surface)}.version-entry:first-child .version-dot{background:var(--color-primary)}.version-content{flex:1}.version-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xs)}.version-number{font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.version-meta{font-size:.75rem;color:var(--color-text-tertiary)}.version-description{font-size:.813rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.version-data-toggle{font-size:.75rem;color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0;font-weight:500}.version-data-toggle:hover{text-decoration:underline}.version-data{margin-top:var(--spacing-sm);padding:var(--spacing-sm);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.75rem;max-height:300px;overflow:auto;white-space:pre-wrap}.version-rollback-btn{padding:.25rem .5rem;font-size:.75rem;background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.version-rollback-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-light)}.hierarchy-tree{padding:var(--spacing-md) 0}.hierarchy-node{display:flex;flex-direction:column}.hierarchy-node-content{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);transition:background var(--transition-fast);cursor:default}.hierarchy-node-content:hover{background:var(--color-surface-hover)}.hierarchy-node-icon{font-size:1rem}.hierarchy-node-name{font-weight:600;font-size:.875rem;color:var(--color-text-primary)}.hierarchy-node-slug{font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-tertiary)}.hierarchy-node-badge{font-size:.688rem;padding:.125rem .375rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary)}.hierarchy-children{margin-left:1.5rem;border-left:1px solid var(--color-border);padding-left:var(--spacing-sm)}.engine-selector{position:relative;display:inline-flex;align-items:center}.engine-selector select{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background);padding:var(--spacing-xs) var(--spacing-xl) var(--spacing-xs) var(--spacing-sm);font-size:.813rem;font-weight:500;color:var(--color-text-primary);box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast)}.engine-selector select:focus{outline:none;border-color:var(--color-primary)}.engine-selector .chevron{pointer-events:none;position:absolute;right:10px;width:16px;height:16px;color:var(--color-text-tertiary)}.engine-selector .badge{margin-left:var(--spacing-sm);display:inline-flex;align-items:center;border-radius:9999px;background-color:var(--color-warning-light);padding:2px var(--spacing-sm);font-size:.688rem;font-weight:600;color:var(--color-warning)}.engine-chat .agent-label{font-size:.75rem;color:var(--color-primary);margin-bottom:var(--spacing-xs);font-weight:500}.engine-info{margin:0 auto var(--spacing-md);width:100%;max-width:48rem;border-radius:var(--radius-lg);border:1px solid var(--color-primary-light);background-color:var(--color-primary-light)}.engine-info .summary{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:.875rem;border:none;background:none;cursor:pointer;transition:background var(--transition-fast);border-radius:var(--radius-lg);color:var(--color-text-primary)}.engine-info .summary:hover{background-color:var(--color-surface-hover)}.engine-info .stats{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md)}.engine-info .stat{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-primary)}.engine-info .stat .icon{width:16px;height:16px}.engine-info .stat .value{font-weight:500}.engine-info .stat .label{color:var(--color-text-secondary)}.engine-info .chevron{width:16px;height:16px;flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.engine-info .chevron.expanded{transform:rotate(180deg)}.engine-info .details{border-top:1px solid var(--color-border);padding:var(--spacing-md)}.engine-info .info-tabs{display:flex;gap:2px;margin-bottom:var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--color-surface);padding:2px}.engine-info .info-tab{flex:1;padding:var(--spacing-xs) var(--spacing-sm);font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);border:none;background:none;cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.engine-info .info-tab:hover{color:var(--color-text-primary);background-color:var(--color-surface-hover)}.engine-info .info-tab.active{color:var(--color-primary);background-color:var(--color-background);box-shadow:var(--shadow-sm)}.engine-info .info-scroll-area{max-height:40vh;overflow-y:auto;overscroll-behavior:contain}.engine-info .progress-section{margin-bottom:var(--spacing-md)}.engine-info .progress-header{display:flex;align-items:center;justify-content:space-between;font-size:.75rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.engine-info .progress-track{height:8px;overflow:hidden;border-radius:9999px;background-color:var(--color-surface-hover)}.engine-info .progress-fill{height:100%;border-radius:9999px;background-color:var(--color-primary);transition:width .5s ease}.engine-info .criteria-list{list-style:none;margin:var(--spacing-sm) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.engine-info .criteria-list li{display:flex;align-items:flex-start;gap:var(--spacing-sm);font-size:.75rem}.engine-info .criteria-list .icon{width:14px;height:14px;flex-shrink:0;margin-top:2px}.engine-info .criteria-list .icon.fulfilled{color:var(--color-success)}.engine-info .criteria-list .icon.pending{color:var(--color-text-tertiary)}.engine-info .criteria-list .fulfilled{color:var(--color-success)}.engine-info .criteria-list .pending{color:var(--color-text-secondary)}.engine-info .agents-section{margin-bottom:var(--spacing-md)}.engine-info .section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.engine-info .agent-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.engine-info .agent-list li{display:flex;flex-direction:column;gap:0;font-size:.75rem}.engine-info .agent-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;background:none;border:none;padding:var(--spacing-xs) 0;cursor:pointer;text-align:left;font-size:.75rem;color:inherit;font-family:inherit}.engine-info .agent-header:hover{background:var(--color-bg-hover);border-radius:var(--radius-sm)}.engine-info .agent-chevron{margin-left:auto;transition:transform .15s;color:var(--color-text-tertiary);flex-shrink:0}.engine-info .agent-chevron.expanded{transform:rotate(90deg)}.engine-info .agent-output{margin-left:calc(8px + var(--spacing-sm));padding:var(--spacing-sm);border-left:2px solid var(--color-border);max-height:300px;overflow-y:auto;font-size:.72rem}.engine-info .status-dot{display:inline-block;width:8px;height:8px;flex-shrink:0;border-radius:50%}.engine-info .status-dot.running{background-color:var(--color-info);animation:engine-pulse 1.5s ease-in-out infinite}.engine-info .status-dot.completed{background-color:var(--color-success)}.engine-info .status-dot.failed{background-color:var(--color-error)}.engine-info .status-dot.cancelled{background-color:var(--color-text-tertiary)}.engine-info .status-dot.pending{background-color:var(--color-warning)}@keyframes engine-pulse{0%,to{opacity:1}50%{opacity:.3}}.engine-info .agent-list .name{font-weight:500;color:var(--color-text-primary)}.engine-info .agent-list .status{color:var(--color-text-secondary)}.engine-info .agent-list .meta{color:var(--color-text-tertiary)}.engine-info .agent-status-badge{flex-shrink:0;border-radius:var(--radius-sm);padding:1px var(--spacing-xs);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.engine-info .agent-status-badge.running{background-color:var(--color-info-light);color:var(--color-info)}.engine-info .agent-status-badge.pending{background-color:var(--color-warning-light);color:var(--color-warning)}.engine-info .agent-status-badge.completed{background-color:var(--color-success-light);color:var(--color-success)}.engine-info .agent-status-badge.failed{background-color:var(--color-error-light);color:var(--color-error)}.engine-info .agent-status-badge.cancelled{background-color:var(--color-surface);color:var(--color-text-tertiary)}.engine-info .tasks-section{margin-bottom:var(--spacing-sm)}.engine-info .task-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.engine-info .task-item{display:flex;flex-direction:column}.engine-info .task-header{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;background:none;border:none;padding:var(--spacing-xs) var(--spacing-xs);cursor:pointer;text-align:left;font-size:.75rem;color:inherit;font-family:inherit;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.engine-info .task-header:hover{background:var(--color-surface-hover)}.engine-info .task-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--color-text-primary)}.engine-info .task-status-badge{flex-shrink:0;border-radius:var(--radius-sm);padding:1px var(--spacing-xs);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.engine-info .task-status-badge.pending{background-color:var(--color-warning-light);color:var(--color-warning)}.engine-info .task-status-badge.running{background-color:var(--color-info-light);color:var(--color-info)}.engine-info .task-status-badge.completed{background-color:var(--color-success-light);color:var(--color-success)}.engine-info .task-status-badge.failed{background-color:var(--color-error-light);color:var(--color-error)}.engine-info .task-status-badge.blocked{background-color:var(--color-warning-light);color:var(--color-warning)}.engine-info .task-chevron{margin-left:auto;transition:transform .15s;color:var(--color-text-tertiary);flex-shrink:0}.engine-info .task-chevron.expanded{transform:rotate(90deg)}.engine-info .task-children{list-style:none;margin:0;padding:0 0 0 calc(8px + var(--spacing-sm));border-left:2px solid var(--color-border);margin-left:calc(4px + var(--spacing-xs))}.engine-info .task-child{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-xs);font-size:.72rem}.engine-info .controls{display:flex;align-items:center;gap:var(--spacing-sm);border-top:1px solid var(--color-border);padding-top:var(--spacing-md)}.engine-info .btn-resume{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);background-color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.engine-info .btn-resume:hover{background-color:var(--color-primary-hover)}.engine-info .btn-pause{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);background-color:var(--color-warning);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.engine-info .btn-pause:hover{opacity:.9}.engine-info .btn-cancel{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);background-color:var(--color-error);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.engine-info .btn-cancel:hover{opacity:.9}.engine-info .btn-resume .icon,.engine-info .btn-pause .icon,.engine-info .btn-cancel .icon{width:14px;height:14px}.engine-info .paused-label{margin-left:var(--spacing-sm);font-size:.75rem;color:var(--color-warning)}.task-tree{display:flex;flex-direction:column;gap:2px}.task-tree .empty{border-radius:var(--radius-lg);border:1px dashed var(--color-border);padding:var(--spacing-lg) var(--spacing-md);text-align:center;font-size:.875rem;color:var(--color-text-tertiary)}.task-tree .node{display:flex;width:100%;align-items:flex-start;gap:var(--spacing-sm);border-radius:var(--radius-md);padding:var(--spacing-xs) var(--spacing-sm);text-align:left;font-size:.875rem;border:none;background:none;cursor:pointer;transition:background var(--transition-fast);color:var(--color-text-primary)}.task-tree .node:hover{background-color:var(--color-surface-hover)}.task-tree .toggle{margin-top:2px;display:flex;width:16px;height:16px;flex-shrink:0;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;border:none;background:none;padding:0}.task-tree .toggle:hover{color:var(--color-text-primary)}.task-tree .toggle .icon{width:14px;height:14px;transition:transform var(--transition-fast)}.task-tree .toggle .icon.expanded{transform:rotate(90deg)}.task-tree .spacer{margin-top:2px;width:16px;height:16px;flex-shrink:0}.task-tree .status-dot{display:inline-block;margin-top:6px;width:8px;height:8px;flex-shrink:0;border-radius:50%}.task-tree .status-dot.pending{background-color:var(--color-warning)}.task-tree .status-dot.in_progress{background-color:var(--color-info);animation:engine-pulse 1.5s ease-in-out infinite}.task-tree .status-dot.completed{background-color:var(--color-success)}.task-tree .status-dot.failed{background-color:var(--color-error)}.task-tree .status-dot.blocked{background-color:var(--color-warning)}.task-tree .status-dot.cancelled{background-color:var(--color-text-tertiary)}.task-tree .content{min-width:0;flex:1}.task-tree .title-row{display:flex;align-items:center;gap:var(--spacing-sm)}.task-tree .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--color-text-primary)}.task-tree .status-badge{flex-shrink:0;border-radius:var(--radius-sm);background-color:var(--color-surface);padding:2px var(--spacing-xs);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.task-tree .priority-badge{flex-shrink:0;border-radius:var(--radius-sm);background-color:var(--color-primary-light);padding:2px var(--spacing-xs);font-size:.625rem;font-weight:600;color:var(--color-primary)}.task-tree .description{margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;color:var(--color-text-secondary)}.task-tree .dependencies{margin-top:2px;font-size:.688rem;color:var(--color-warning)}.task-tree .result-summary{margin-top:var(--spacing-xs);border-radius:var(--radius-sm);background-color:var(--color-success-light);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;color:var(--color-success)}.task-tree .result-summary .artifacts{margin-left:var(--spacing-xs);color:var(--color-success);opacity:.8}.fb-root{display:flex;flex-direction:column;height:100%;min-height:0;border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);overflow:hidden}.fb-toolbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:var(--spacing-xs) var(--spacing-sm);gap:var(--spacing-sm);flex-shrink:0}.fb-source-tabs{display:flex;gap:2px}.fb-source-tab{border:none;background:none;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast)}.fb-source-tab:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.fb-source-tab.active{background-color:var(--color-primary-light);color:var(--color-primary);font-weight:600}.fb-actions{display:flex;align-items:center;gap:var(--spacing-xs)}.fb-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);text-decoration:none;white-space:nowrap}.fb-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.fb-btn-sm{padding:3px 6px;font-size:.688rem}.fb-btn-primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.fb-btn-primary:hover{background-color:var(--color-primary-hover);color:#fff}.fb-btn input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.fb-breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;border-bottom:1px solid var(--color-border-light);flex-shrink:0}.fb-breadcrumb{border:none;background:none;padding:2px 4px;font-size:.75rem;color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.fb-breadcrumb:hover{background-color:var(--color-surface-hover)}.fb-breadcrumb.active{color:var(--color-text-primary);font-weight:600;cursor:default}.fb-breadcrumb.active:hover{background:none}.fb-breadcrumb-sep{margin:0 2px;color:var(--color-text-tertiary)}.fb-new-folder-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border-light);flex-shrink:0}.fb-rename-input{flex:1;min-width:0;border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:3px 6px;font-size:.813rem;outline:none;background-color:var(--color-background);color:var(--color-text-primary)}.fb-file-list{flex:1;overflow-y:auto;min-height:0}.fb-file-row{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-bottom:1px solid var(--color-border-light);cursor:default;transition:background var(--transition-fast)}.fb-file-row:last-child{border-bottom:none}.fb-file-row:hover{background-color:var(--color-surface-hover)}.fb-file-info{flex:1;min-width:0;display:flex;flex-direction:column}.fb-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.813rem;font-weight:500;color:var(--color-text-primary)}.fb-file-name.folder-name{color:var(--color-primary);cursor:pointer}.fb-file-name.folder-name:hover{text-decoration:underline}.fb-file-meta{font-size:.688rem;color:var(--color-text-tertiary)}.fb-sep{margin:0 4px}.fb-download-btn{flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.fb-file-row:hover .fb-download-btn{opacity:1}.fb-icon{width:18px;height:18px;flex-shrink:0}.fb-icon.folder{color:var(--color-warning)}.fb-icon.image{color:#a855f7}.fb-icon.code{color:var(--color-success)}.fb-icon.document{color:var(--color-info)}.fb-icon.other{color:var(--color-text-tertiary)}.fb-status{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl) 0;font-size:.813rem;color:var(--color-text-secondary)}.fb-spinner{width:18px;height:18px;animation:engine-spin .8s linear infinite;color:var(--color-primary)}@keyframes engine-spin{to{transform:rotate(360deg)}}.fb-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;color:var(--color-error);background-color:var(--color-error-light);flex-shrink:0}.fb-error button{border:none;background:none;color:inherit;cursor:pointer;text-decoration:underline;font-size:inherit}.fb-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);text-align:center}.fb-empty-icon{width:40px;height:40px;color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.fb-empty p{margin:0;font-size:.875rem;color:var(--color-text-tertiary)}.fb-empty-sub{font-size:.75rem!important;margin-top:4px!important;opacity:.7}.fb-context-menu{position:fixed;z-index:1000;min-width:160px;border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-md);padding:4px 0;overflow:hidden}.fb-context-menu button{display:block;width:100%;text-align:left;border:none;background:none;padding:var(--spacing-xs) var(--spacing-md);font-size:.813rem;color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast)}.fb-context-menu button:hover{background-color:var(--color-primary-light);color:var(--color-primary)}.fb-preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;display:flex;align-items:center;justify-content:center;background-color:#0009;padding:var(--spacing-lg)}.fb-preview-panel{display:flex;flex-direction:column;width:90vw;max-width:900px;max-height:85vh;border-radius:var(--radius-lg);background-color:var(--color-surface);box-shadow:var(--shadow-lg);overflow:hidden}.fb-preview-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0}.fb-preview-title{font-size:.875rem;font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;margin-right:var(--spacing-sm)}.fb-preview-actions{display:flex;align-items:center;gap:var(--spacing-xs);flex-shrink:0}.fb-preview-body{flex:1;overflow:auto;min-height:0;padding:var(--spacing-md)}.fb-preview-image{max-width:100%;max-height:70vh;display:block;margin:0 auto;border-radius:var(--radius-md)}.fb-preview-iframe{width:100%;height:70vh;border:none;border-radius:var(--radius-md)}.fb-preview-code{margin:0;padding:var(--spacing-md);background-color:var(--color-background);border:1px solid var(--color-border-light);border-radius:var(--radius-md);font-size:.813rem;line-height:1.5;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:var(--color-text-primary);max-height:70vh}.fb-preview-unsupported{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.fb-preview-unsupported p{margin:0 0 var(--spacing-md)}.fb-loading{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:.875rem}.rich-block{overflow:hidden;border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);box-shadow:var(--shadow-sm)}.rich-block.centered{margin:0 auto;max-width:42rem}.rich-block .header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.rich-block .header .title{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.rich-block .header .subtitle{margin-top:2px;font-size:.75rem;color:var(--color-text-secondary)}.rich-block .footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.rich-block .footer .info{font-size:.75rem;color:var(--color-text-secondary)}.rich-block .caption{border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.rich-block .caption p{font-size:.75rem;color:var(--color-text-secondary);margin:0}.rich-block .download-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:var(--color-text-secondary);box-shadow:var(--shadow-sm);transition:all var(--transition-fast);cursor:pointer;text-decoration:none}.rich-block .download-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.rich-block .download-btn .icon{width:14px;height:14px}.rich-block .chart-body{display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.rich-block .chart-body img{max-width:100%}.rich-block img.full-image{width:100%;display:block}.rich-block .table-scroll{max-height:24rem;overflow:auto}.rich-block table{min-width:100%;font-size:.875rem;border-collapse:collapse}.rich-block thead tr{position:sticky;top:0;background-color:var(--color-surface)}.rich-block th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md);text-align:left;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);transition:color var(--transition-fast)}.rich-block th:hover{color:var(--color-text-primary)}.rich-block th .sort-icon{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.rich-block th .sort-icon .icon{width:12px;height:12px;transition:transform var(--transition-fast)}.rich-block th .sort-icon .icon.desc{transform:rotate(180deg)}.rich-block td{white-space:nowrap;border-bottom:1px solid var(--color-border-light);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-primary)}.rich-block tr.even{background-color:var(--color-background)}.rich-block tr.odd{background-color:var(--color-surface)}.rich-block .spreadsheet-scroll{overflow-x:auto}.entity-view-full{width:100%;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.entity-view-title-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg)}.entity-view-title-left{display:flex;align-items:center;gap:var(--spacing-sm);min-width:0}.entity-view-title{font-size:1rem;font-weight:600;color:var(--color-text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.entity-view-type-badge{font-size:.7rem;font-weight:500;color:var(--color-text-secondary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:9999px;padding:2px 8px;white-space:nowrap;flex-shrink:0}.entity-view-open-link{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:var(--color-primary);text-decoration:none;white-space:nowrap;flex-shrink:0}.entity-view-open-link:hover{opacity:.8}.entity-view-fields{padding:0}.entity-view-fields .entity-field-row{display:flex;align-items:flex-start;gap:1rem;padding:.625rem var(--spacing-lg);border-bottom:1px solid var(--color-border-light, #f3f4f6)}.entity-view-fields .entity-field-row:last-child{border-bottom:none}.entity-view-fields .entity-field-label{width:160px;min-width:160px;font-size:.8rem;font-weight:600;color:var(--color-text-secondary);text-align:right;padding-right:.5rem;padding-top:.125rem}.entity-view-fields .entity-field-value{flex:1;min-width:0;font-size:.875rem;color:var(--color-text-primary);line-height:1.5}.entity-field-empty{color:var(--color-text-tertiary)}.entity-field-tag{display:inline-block;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 8px;font-size:.8rem}.entity-field-link{color:var(--color-primary);text-decoration:none;word-break:break-all}.entity-field-link:hover{text-decoration:underline}.entity-field-multiline{white-space:pre-wrap;word-break:break-word}.entity-field-rich-content{line-height:1.6}.entity-field-rich-content p{margin:0 0 .5rem}.entity-field-rich-content p:last-child{margin-bottom:0}.entity-view-fields .bool-badge{display:inline-block;border-radius:9999px;padding:2px var(--spacing-sm);font-size:.75rem;font-weight:500}.entity-view-fields .bool-badge.true{background-color:var(--color-success-light);color:var(--color-success)}.entity-view-fields .bool-badge.false{background-color:var(--color-surface);color:var(--color-text-secondary)}.entity-ref-skeleton{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-line{height:12px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-surface-hover) 25%,var(--color-border-light) 50%,var(--color-surface-hover) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite}.skeleton-line--short{width:60%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.entity-ref-error .error-text,.view-ref-error .error-text{padding:var(--spacing-sm) var(--spacing-md);font-size:.8rem;color:var(--color-error)}.kpi-card{display:inline-flex;min-width:160px;flex-direction:column;gap:var(--spacing-xs);border-radius:var(--radius-lg);border:1px solid var(--color-border);background-color:var(--color-surface);padding:var(--spacing-md);box-shadow:var(--shadow-sm)}.kpi-card .label{font-size:.75rem;font-weight:500;color:var(--color-text-secondary)}.kpi-card .value-row{display:flex;align-items:flex-end;gap:var(--spacing-sm)}.kpi-card .value{font-size:1.5rem;font-weight:700;color:var(--color-text-primary)}.kpi-card .sparkline{display:inline-block;flex-shrink:0}.kpi-card .sparkline-line{color:var(--color-primary)}.kpi-card .change{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.75rem;font-weight:500}.kpi-card .change.up{color:var(--color-success)}.kpi-card .change.down{color:var(--color-error)}.kpi-card .change.flat{color:var(--color-text-secondary)}.kpi-card .trend-icon{width:14px;height:14px}.simulation-panel{display:flex;flex-direction:column;gap:var(--spacing-md)}.simulation-panel .header{display:flex;align-items:center;justify-content:space-between}.simulation-panel .header .title{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.simulation-panel .action-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);background-color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.simulation-panel .action-btn:hover{background-color:var(--color-primary-hover)}.simulation-panel .action-btn .icon{width:14px;height:14px}.simulation-panel .info-banner{border-radius:var(--radius-md);border:1px solid var(--color-primary-light);background-color:var(--color-primary-light);padding:var(--spacing-md);font-size:.75rem;color:var(--color-primary)}.simulation-panel .loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) 0}.simulation-panel .loading .spinner{width:20px;height:20px;animation:engine-spin .8s linear infinite;color:var(--color-primary)}.simulation-panel .loading .text{margin-left:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.simulation-panel .error-banner{border-radius:var(--radius-md);border:1px solid var(--color-error-light);background-color:var(--color-error-light);padding:var(--spacing-md);font-size:.75rem;color:var(--color-error)}.simulation-panel .error-banner .row{display:flex;align-items:center;gap:var(--spacing-sm)}.simulation-panel .error-banner .icon{width:16px;height:16px;flex-shrink:0}.simulation-panel .error-banner .retry{margin-top:var(--spacing-sm);font-size:.75rem;font-weight:500;text-decoration:underline;cursor:pointer;background:none;border:none;color:inherit}.simulation-panel .error-banner .retry:hover{text-decoration:none}.simulation-panel .empty{border-radius:var(--radius-lg);border:1px dashed var(--color-border);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.simulation-panel .empty .icon{margin:0 auto var(--spacing-md);width:32px;height:32px;color:var(--color-text-tertiary)}.simulation-panel .empty .text{font-size:.875rem;color:var(--color-text-secondary)}.simulation-panel .empty .subtext{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--color-text-tertiary)}.simulation-panel .run-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.simulation-run{border-radius:var(--radius-lg);border:1px solid var(--color-border)}.simulation-run .summary{display:flex;width:100%;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);text-align:left;font-size:.875rem;border:none;background:none;cursor:pointer;transition:background var(--transition-fast);color:var(--color-text-primary)}.simulation-run .summary:hover{background-color:var(--color-surface-hover)}.simulation-run .date{flex-shrink:0;font-size:.75rem;color:var(--color-text-secondary)}.simulation-run .metrics-inline{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);font-size:.75rem}.simulation-run .metrics-inline .metric{color:var(--color-text-primary)}.simulation-run .metrics-inline .metric .label{color:var(--color-text-secondary)}.simulation-run .metrics-inline .metric .value{font-weight:500}.simulation-run .no-metrics{flex:1;font-size:.75rem;color:var(--color-text-tertiary);font-style:italic}.simulation-run .deltas{display:flex;align-items:center;gap:var(--spacing-sm)}.simulation-run .chevron{width:16px;height:16px;flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.simulation-run .chevron.expanded{transform:rotate(180deg)}.simulation-run .details{display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--color-border);padding:var(--spacing-md)}.simulation-run .section-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.simulation-run .ref-id{font-size:.688rem;color:var(--color-text-tertiary)}.sim-status-badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:9999px;padding:2px var(--spacing-sm);font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.sim-status-badge.running{background-color:var(--color-info-light);color:var(--color-info)}.sim-status-badge.completed{background-color:var(--color-success-light);color:var(--color-success)}.sim-status-badge.failed{background-color:var(--color-error-light);color:var(--color-error)}.sim-status-badge .icon{width:12px;height:12px}.sim-status-badge .icon.spin{animation:engine-spin .8s linear infinite}.recommendation-badge{display:inline-flex;align-items:center;border-radius:9999px;padding:2px var(--spacing-sm);font-size:.688rem;font-weight:600}.recommendation-badge.adopt{background-color:var(--color-success-light);color:var(--color-success)}.recommendation-badge.reject{background-color:var(--color-error-light);color:var(--color-error)}.recommendation-badge.needs_more_testing{background-color:var(--color-warning-light);color:var(--color-warning)}.delta-badge{font-size:.688rem;font-weight:500}.delta-badge.positive{color:var(--color-success)}.delta-badge.negative{color:var(--color-error)}.delta-badge.neutral{color:var(--color-text-tertiary)}.metrics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xs) var(--spacing-lg);font-size:.75rem}@media (min-width: 640px){.metrics-grid{grid-template-columns:repeat(3,1fr)}}.metrics-grid .metric-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--spacing-sm)}.metrics-grid .metric-row .label{color:var(--color-text-secondary)}.metrics-grid .metric-row .value{font-weight:500;color:var(--color-text-primary)}.comparison-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}@media (min-width: 640px){.comparison-grid{grid-template-columns:repeat(4,1fr)}}.comparison-grid .cell{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.comparison-grid .cell .label{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.comparison-section .section-title{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-xs)}.comparison-section .section-title.improvements{color:var(--color-success)}.comparison-section .section-title.regressions{color:var(--color-error)}.comparison-section ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}.comparison-section li{display:flex;align-items:flex-start;gap:var(--spacing-xs);font-size:.75rem;color:var(--color-text-secondary)}.comparison-section li .icon{margin-top:2px;width:12px;height:12px;flex-shrink:0}.comparison-section li .icon.success{color:var(--color-success)}.comparison-section li .icon.error{color:var(--color-error)}.skill-evolution{display:flex;flex-direction:column;gap:var(--spacing-md)}.skill-evolution .header{display:flex;align-items:center;justify-content:space-between}.skill-evolution .header .title{font-size:.875rem;font-weight:600;color:var(--color-text-primary)}.skill-evolution .action-btn{display:inline-flex;align-items:center;gap:var(--spacing-xs);border-radius:var(--radius-md);background-color:var(--color-primary);padding:var(--spacing-xs) var(--spacing-sm);font-size:.75rem;font-weight:500;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.skill-evolution .action-btn:hover{background-color:var(--color-primary-hover)}.skill-evolution .action-btn .icon{width:14px;height:14px}.skill-evolution .loading{display:flex;align-items:center;justify-content:center;padding:var(--spacing-2xl) 0}.skill-evolution .loading .spinner{width:20px;height:20px;animation:engine-spin .8s linear infinite;color:var(--color-primary)}.skill-evolution .loading .text{margin-left:var(--spacing-sm);font-size:.875rem;color:var(--color-text-secondary)}.skill-evolution .error-banner{border-radius:var(--radius-md);border:1px solid var(--color-error-light);background-color:var(--color-error-light);padding:var(--spacing-md);font-size:.75rem;color:var(--color-error)}.skill-evolution .error-banner .row{display:flex;align-items:center;gap:var(--spacing-sm)}.skill-evolution .error-banner .icon{width:16px;height:16px;flex-shrink:0}.skill-evolution .error-banner .retry{margin-top:var(--spacing-sm);font-size:.75rem;font-weight:500;text-decoration:underline;cursor:pointer;background:none;border:none;color:inherit}.skill-evolution .error-banner .retry:hover{text-decoration:none}.skill-evolution .empty{border-radius:var(--radius-lg);border:1px dashed var(--color-border);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.skill-evolution .empty .icon{margin:0 auto var(--spacing-md);width:32px;height:32px;color:var(--color-text-tertiary)}.skill-evolution .empty .text{font-size:.875rem;color:var(--color-text-secondary)}.skill-evolution .empty .subtext{margin-top:var(--spacing-xs);font-size:.75rem;color:var(--color-text-tertiary)}.skill-evolution .run-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.evolution-card{border-radius:var(--radius-lg);border:1px solid var(--color-border)}.evolution-card .summary{display:flex;width:100%;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);text-align:left;font-size:.875rem;border:none;background:none;cursor:pointer;transition:background var(--transition-fast);color:var(--color-text-primary)}.evolution-card .summary:hover{background-color:var(--color-surface-hover)}.evolution-card .gen-badge{flex-shrink:0;border-radius:var(--radius-sm);background-color:var(--color-primary-light);padding:2px var(--spacing-xs);font-size:.625rem;font-weight:600;color:var(--color-primary)}.evolution-card .date{flex-shrink:0;font-size:.75rem;color:var(--color-text-secondary)}.evolution-card .apply-btn{margin-left:auto;flex-shrink:0;border-radius:var(--radius-md);background-color:var(--color-success);padding:var(--spacing-xs) var(--spacing-sm);font-size:.688rem;font-weight:500;color:#fff;border:none;cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast)}.evolution-card .apply-btn:hover{opacity:.9}.evolution-card .chevron{width:16px;height:16px;flex-shrink:0;color:var(--color-text-tertiary);transition:transform var(--transition-fast)}.evolution-card .chevron.expanded{transform:rotate(180deg)}.evolution-card .details{display:flex;flex-direction:column;gap:var(--spacing-md);border-top:1px solid var(--color-border);padding:var(--spacing-md)}.evolution-card .section-title{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.evolution-card .ref-id{font-size:.688rem;color:var(--color-text-tertiary)}.evo-status{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.evo-status.running{color:var(--color-info)}.evo-status.completed{color:var(--color-success)}.evo-status.failed{color:var(--color-error)}.evo-status.pending{color:var(--color-warning)}.evo-status .icon{width:14px;height:14px}.evo-status .icon.spin{animation:engine-spin .8s linear infinite}.evo-status .status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background-color:currentColor}.evo-status .label{font-size:.688rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.fitness-bar{display:flex;align-items:center;gap:var(--spacing-sm)}.fitness-bar .track{width:80px;height:8px;overflow:hidden;border-radius:9999px;background-color:var(--color-surface-hover)}.fitness-bar .fill{height:100%;border-radius:9999px;transition:width .5s ease}.fitness-bar .fill.low{background-color:var(--color-error)}.fitness-bar .fill.mid{background-color:var(--color-warning)}.fitness-bar .fill.high{background-color:var(--color-success)}.fitness-bar .score{font-size:.75rem;font-weight:500;color:var(--color-text-primary)}.gen-timeline{display:flex;align-items:flex-end;gap:var(--spacing-xs)}.gen-timeline .bar-col{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs)}.gen-timeline .bar-score{font-size:.563rem;font-weight:500;color:var(--color-text-secondary)}.gen-timeline .bar-track{position:relative;width:24px;height:64px;overflow:hidden;border-radius:var(--radius-sm);background-color:var(--color-surface)}.gen-timeline .bar-fill{position:absolute;bottom:0;width:100%;border-radius:var(--radius-sm);transition:height .5s ease}.gen-timeline .bar-fill.low{background-color:var(--color-error)}.gen-timeline .bar-fill.mid{background-color:var(--color-warning)}.gen-timeline .bar-fill.high{background-color:var(--color-success)}.gen-timeline .bar-label{font-size:.563rem;color:var(--color-text-tertiary)}.evo-results-table{width:100%;font-size:.75rem;border-collapse:collapse;overflow-x:auto}.evo-results-table th{padding:var(--spacing-xs) var(--spacing-sm);text-align:left;font-weight:600;color:var(--color-text-secondary);border-bottom:1px solid var(--color-border);cursor:default}.evo-results-table td{padding:var(--spacing-xs) var(--spacing-sm);color:var(--color-text-primary);border-bottom:1px solid var(--color-border-light);white-space:normal}.evo-results-table td .delta-positive{font-weight:500;color:var(--color-success)}.evo-results-table td .delta-negative{font-weight:500;color:var(--color-error)}.evo-results-table td .empty-val{color:var(--color-text-tertiary)}.mutation-badge{display:inline-flex;align-items:center;border-radius:var(--radius-sm);padding:2px var(--spacing-xs);font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.mutation-badge.add{background-color:var(--color-success-light);color:var(--color-success)}.mutation-badge.remove{background-color:var(--color-error-light);color:var(--color-error)}.mutation-badge.modify{background-color:var(--color-info-light);color:var(--color-info)}.mutation-badge.replace{background-color:var(--color-primary-light);color:var(--color-primary)}.mutation-badge.default{background-color:var(--color-surface);color:var(--color-text-secondary)}.mutations-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.mutations-list .mutation-item{border-radius:var(--radius-md);border:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-md)}.mutations-list .mutation-header{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.mutations-list .mutation-field{font-size:.75rem;font-weight:500;color:var(--color-text-primary)}.mutations-list .mutation-diff{display:flex;align-items:center;gap:var(--spacing-sm);font-size:.75rem;margin-bottom:var(--spacing-xs)}.mutations-list .old-value{min-width:0;flex:1;border-radius:var(--radius-sm);background-color:var(--color-error-light);padding:var(--spacing-xs) var(--spacing-sm)}.mutations-list .old-value .label{font-size:.625rem;font-weight:600;text-transform:uppercase;color:var(--color-error)}.mutations-list .new-value{min-width:0;flex:1;border-radius:var(--radius-sm);background-color:var(--color-success-light);padding:var(--spacing-xs) var(--spacing-sm)}.mutations-list .new-value .label{font-size:.625rem;font-weight:600;text-transform:uppercase;color:var(--color-success)}.mutations-list .diff-arrow{width:12px;height:12px;flex-shrink:0;color:var(--color-text-tertiary)}.mutations-list .value-display{font-family:var(--font-mono);font-size:.688rem;color:var(--color-text-secondary)}.mutations-list .rationale{font-size:.688rem;font-style:italic;color:var(--color-text-secondary)}.chat-tab-bar{display:flex;gap:0;margin:0 auto var(--spacing-sm);width:100%;max-width:48rem;border-bottom:1px solid var(--color-border)}.chat-tab{flex:1;padding:var(--spacing-sm) var(--spacing-md);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;transition:all var(--transition-fast);text-align:center}.chat-tab:hover{color:var(--color-text-primary)}.chat-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content-panel{flex:1;overflow-y:auto;padding:var(--spacing-md);max-width:48rem;margin:0 auto;width:100%}.tab-content-panel.tab-content-fullwidth{max-width:none;padding:4px;overflow:hidden}.engine-info .stat-clickable{cursor:pointer;border-radius:var(--radius-sm);padding:2px var(--spacing-xs);transition:background var(--transition-fast)}.engine-info .stat-clickable:hover{background-color:var(--color-surface-hover)}.engine-info .cost-chevron{display:inline-block;width:10px;height:10px;transition:transform var(--transition-fast)}.engine-info .cost-chevron.expanded{transform:rotate(180deg)}.engine-info .cost-breakdown{padding:var(--spacing-xs) var(--spacing-md) var(--spacing-sm);border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:2px}.engine-info .cost-row{display:flex;align-items:center;gap:var(--spacing-md);font-size:.688rem;padding:2px 0}.engine-info .cost-row .model-name{flex:1;font-weight:500;color:var(--color-text-primary)}.engine-info .cost-row .tokens{color:var(--color-text-tertiary);min-width:60px;text-align:right}.engine-info .cost-row .cost{font-weight:500;color:var(--color-text-primary);min-width:50px;text-align:right}.engine-info .agent-item{display:flex;flex-direction:column;padding:var(--spacing-sm);border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background);margin-bottom:var(--spacing-xs)}.engine-info .agent-title-row{display:flex;align-items:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.engine-info .agent-short-name{font-size:.813rem;font-weight:600;color:var(--color-text-primary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.engine-info .agent-prompt-toggle{flex-shrink:0;width:18px;height:18px;padding:0;border:none;background:none;cursor:pointer;color:var(--color-text-tertiary);display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.engine-info .agent-prompt-toggle:hover{color:var(--color-primary);background-color:var(--color-surface-hover)}.engine-info .agent-prompt{background-color:var(--color-surface);border-left:2px solid var(--color-primary-light);padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs);font-size:.75rem;color:var(--color-text-secondary);border-radius:0 var(--radius-sm) var(--radius-sm) 0;white-space:pre-wrap;word-break:break-word}.engine-info .agent-tail-output{background-color:#fff;border:1px solid var(--color-border);border-radius:var(--radius-sm);max-height:120px;overflow-y:auto;padding:var(--spacing-xs) var(--spacing-sm);margin-bottom:var(--spacing-xs)}.engine-info .agent-tail-output pre{margin:0;font-family:var(--font-mono);font-size:.688rem;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.engine-info .agent-expand-btn{display:inline-block;padding:0;border:none;background:none;cursor:pointer;font-size:.688rem;font-weight:500;color:var(--color-primary);text-decoration:underline;transition:opacity var(--transition-fast)}.engine-info .agent-expand-btn:hover{opacity:.7}.engine-info .agent-output-full{border-left:2px solid var(--color-border);padding:var(--spacing-sm);font-size:.75rem}.sandbox-env-panel{display:flex;flex-direction:column;width:100%;height:100%;min-height:0;border-radius:var(--radius-md);overflow:hidden;background:var(--color-background)}.sandbox-env-panel.sandbox-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;border-radius:0;background:var(--color-background)}.sandbox-toolbar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:var(--spacing-sm)}.sandbox-view-switcher{display:flex;gap:2px}.sandbox-view-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border:none;background:none;border-radius:var(--radius-sm);font-size:.688rem;font-weight:500;color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.sandbox-view-btn:hover{color:var(--color-text-primary);background:var(--color-border)}.sandbox-view-btn.active{color:var(--color-primary);background:var(--color-primary-light, rgba(99, 102, 241, .1))}.sandbox-toolbar-right{display:flex;align-items:center;gap:var(--spacing-sm)}.sandbox-ready-badge{display:flex;align-items:center;gap:4px;font-size:.625rem;font-weight:600;color:var(--color-success);text-transform:uppercase}.sandbox-stopped-badge{font-size:.625rem;font-weight:600;color:var(--color-warning, #f59e0b);text-transform:uppercase}.sandbox-resume-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);border:none;border-radius:var(--border-radius);background:var(--color-primary);color:#fff;font-size:.8125rem;font-weight:600;cursor:pointer;margin-top:var(--spacing-md);transition:background .15s ease,opacity .15s ease}.sandbox-resume-btn:hover:not(:disabled){background:var(--color-primary-dark, #4f46e5)}.sandbox-resume-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner-small{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.sandbox-ready-dot{width:6px;height:6px;border-radius:50%;background:var(--color-success);animation:pulse-ready 2s ease-in-out infinite}@keyframes pulse-ready{0%,to{opacity:1}50%{opacity:.4}}.sandbox-fullscreen-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--color-border);background:none;border-radius:var(--radius-sm);color:var(--color-text-tertiary);cursor:pointer;transition:all var(--transition-fast)}.sandbox-fullscreen-btn:hover{color:var(--color-text-primary);border-color:var(--color-text-tertiary)}.sandbox-content{flex:1;min-height:0;position:relative;overflow:hidden}.sandbox-terminal-container{width:100%;height:100%;padding:4px;background:#1a1b26}.sandbox-terminal-container .xterm{height:100%}.sandbox-iframe{width:100%;height:100%;border:none;display:block}.sandbox-browser-view{display:flex;flex-direction:column;height:100%}.sandbox-browser-bar{display:flex;align-items:center;gap:var(--spacing-xs);padding:4px 8px;background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.sandbox-url-input{flex:1;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font-mono);background:var(--color-background);color:var(--color-text-primary);outline:none}.sandbox-url-input:focus{border-color:var(--color-primary)}.sandbox-go-btn{padding:4px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-secondary);font-size:.688rem;font-weight:500;cursor:pointer}.sandbox-go-btn:hover{background:var(--color-border)}.sandbox-empty,.sandbox-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--spacing-sm);color:var(--color-text-tertiary);text-align:center;padding:var(--spacing-xl)}.sandbox-empty h3{color:var(--color-text-secondary);margin:0;font-size:1rem}.sandbox-empty p,.sandbox-loading p{font-size:.813rem;max-width:400px;margin:0}.sandbox-empty code{font-family:var(--font-mono);background:var(--color-surface);padding:1px 4px;border-radius:3px;font-size:.75rem}.sandbox-status-hint{font-size:.688rem;color:var(--color-text-tertiary)}.sandbox-restore-fab{position:fixed;top:16px;right:16px;z-index:10000;width:40px;height:40px;border-radius:50%;border:none;background:var(--color-surface);color:var(--color-text-secondary);box-shadow:0 2px 8px #00000026,0 0 0 1px var(--color-border);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);opacity:.6}.sandbox-restore-fab:hover{opacity:1;transform:scale(1.1);box-shadow:0 4px 12px #0003,0 0 0 1px var(--color-border)}.engine-tab-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-md);text-align:center;color:var(--color-text-tertiary);min-height:200px}.engine-tab-empty h2,.engine-tab-empty h3{margin:var(--spacing-sm) 0 var(--spacing-xs);font-size:1rem;color:var(--color-text-primary)}.engine-tab-empty p{font-size:.813rem;color:var(--color-text-secondary);max-width:28rem;margin:0}.engine-chat-tab{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.engine-chat-tab .message-content,.engine-chat-tab .message-content p{font-size:.938rem}.engine-chat-tab .message-timestamp{font-size:.75rem}.engine-entity-card{width:95%;max-width:95%;margin:8px auto;background-color:var(--color-surface-secondary, #f8f9fb);border:1px solid var(--color-border-light, #e5e7eb);border-radius:10px;padding:12px 16px;box-shadow:0 1px 3px #0000000a}.engine-entity-card .entity-editor{margin:0;padding:0}.engine-entity-card .entity-field-row{border-bottom-color:var(--color-border-light, #e8eaed)}.engine-entity-card .entity-view-type-badge{display:inline-block;font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--color-primary-light, #e8f0fe);color:var(--color-primary, #4361ee);text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.engine-entity-card .entity-view-open-link{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:500;color:var(--color-primary, #4361ee);text-decoration:none;white-space:nowrap}.engine-entity-card .entity-view-open-link:hover{text-decoration:underline}[data-theme=dark] .engine-entity-card{background-color:var(--color-surface-secondary, #1e2230);border-color:var(--color-border, #2d3348)}[data-theme=dark] .engine-entity-card .entity-view-type-badge{background:#4361ee26;color:#8aa8ff}.engine-working-indicator{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);padding:8px 16px;margin:8px 16px;border-radius:8px;transition:background-color .3s,border-color .3s}.engine-working-indicator.working{background-color:#e8f4fd;border:1px solid #3b9edd}.engine-working-indicator.waiting-input{background-color:#fef3e0;border:1px solid #e8a317}.engine-working-indicator .working-label{font-size:.8rem;font-weight:500}.engine-working-indicator.working .working-label{color:#1e6da0}.engine-working-indicator.waiting-input .working-label{color:#9a6b0b}.engine-working-indicator.waiting-input svg{color:#c88512}[data-theme=dark] .engine-working-indicator.working{background-color:#3b9edd1f;border-color:#3b9edd66}[data-theme=dark] .engine-working-indicator.working .working-label{color:#7dc4f0}[data-theme=dark] .engine-working-indicator.waiting-input{background-color:#e8a3171f;border-color:#e8a31766}[data-theme=dark] .engine-working-indicator.waiting-input .working-label{color:#f0c76a}[data-theme=dark] .engine-working-indicator.waiting-input svg{color:#e8a317}.engine-log-tab{display:flex;flex-direction:column;gap:var(--spacing-md);padding:var(--spacing-sm) 0}.log-entry-card{border-radius:var(--radius-md);border:1px solid var(--color-border);background-color:var(--color-background);overflow:hidden;font-size:.938rem}.log-entry-title-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-sm);background-color:var(--color-surface);border-left:3px solid currentColor}.log-entry-source{font-weight:600;font-size:.875rem}.log-entry-type-badge{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-tertiary);background-color:var(--color-surface-hover);padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.log-entry-timestamp{margin-left:auto;font-size:.75rem;color:var(--color-text-tertiary);font-family:var(--font-mono)}.log-entry-body{padding:var(--spacing-sm) var(--spacing-sm)}.log-entry-text{font-size:.938rem;color:var(--color-text-secondary);white-space:pre-wrap;word-break:break-word}.log-entry-error{color:var(--color-error)}.log-entry-system{color:var(--color-text-tertiary);font-style:italic}.log-entry-agent-event{color:var(--color-info)}.log-entry-tool{display:flex;flex-direction:column;gap:var(--spacing-xs)}.log-tool-header{display:flex;align-items:center;gap:var(--spacing-sm)}.log-tool-name{font-family:var(--font-mono);font-size:.938rem;font-weight:600;color:var(--color-text-primary)}.log-tool-status{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:2px var(--spacing-xs);border-radius:var(--radius-sm)}.log-tool-status-running{background-color:var(--color-info-light);color:var(--color-info);animation:logToolPulse 1.2s ease-in-out infinite}@keyframes logToolPulse{0%,to{opacity:1}50%{opacity:.5}}.log-tool-status-done{background-color:var(--color-success-light);color:var(--color-success)}.log-tool-status-error{background-color:var(--color-error-light);color:var(--color-error)}.log-entry-content-wrap{display:flex;flex-direction:column;gap:var(--spacing-xs)}.log-toggle-btn{font-size:.875rem;color:var(--color-primary);background:none;border:none;cursor:pointer;padding:0;text-decoration:underline}.log-toggle-btn:hover{text-decoration:none}.log-json{font-family:var(--font-mono);font-size:.875rem;color:var(--color-text-secondary);background-color:var(--color-surface);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);overflow-x:auto;max-height:200px;overflow-y:auto;margin:0;white-space:pre-wrap;word-break:break-word}.log-json-result{border-left:2px solid var(--color-success)}.log-entry-inter-agent{display:flex;flex-direction:column;gap:var(--spacing-xs)}.log-inter-agent-route{display:flex;align-items:center;gap:var(--spacing-xs);font-size:.875rem;font-weight:600}.log-arrow{color:var(--color-text-tertiary)}.log-entry-task{display:flex;align-items:center;gap:var(--spacing-sm)}.log-task-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:1px var(--spacing-xs);border-radius:var(--radius-sm)}.log-task-badge-pending{background-color:var(--color-surface-hover);color:var(--color-text-secondary)}.log-task-badge-in_progress{background-color:var(--color-info-light);color:var(--color-info)}.log-task-badge-completed{background-color:var(--color-success-light);color:var(--color-success)}.log-task-badge-failed{background-color:var(--color-error-light);color:var(--color-error)}.log-task-title{font-size:.75rem;color:var(--color-text-primary)}.log-entry-card-agent_prompt_trace{border-color:var(--color-primary-light, #c7d2fe)}.log-entry-card-agent_prompt_trace .log-entry-type-badge{background-color:var(--color-primary-light, #c7d2fe);color:var(--color-primary, #6366f1)}.log-entry-prompt-trace{display:flex;flex-direction:column;gap:var(--spacing-sm)}.prompt-trace-meta{display:flex;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap}.prompt-trace-badge{font-size:.75rem;font-weight:600;text-transform:uppercase;padding:2px var(--spacing-xs);border-radius:var(--radius-sm);background-color:var(--color-info-light);color:var(--color-info)}.prompt-trace-label{font-size:.813rem;color:var(--color-text-tertiary)}.prompt-trace-label code{font-family:var(--font-mono);font-size:.813rem;background-color:var(--color-surface-hover);padding:1px 4px;border-radius:var(--radius-sm)}.prompt-trace-section{border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.prompt-trace-toggle{display:flex;align-items:center;gap:var(--spacing-xs);width:100%;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-surface);border:none;cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text-primary);text-align:left}.prompt-trace-toggle:hover{background-color:var(--color-surface-hover)}.prompt-trace-arrow{font-size:.75rem;color:var(--color-text-tertiary);width:12px;text-align:center}.prompt-trace-size{margin-left:auto;font-size:.75rem;font-weight:400;color:var(--color-text-tertiary);font-family:var(--font-mono)}.prompt-trace-pre{margin:0;padding:var(--spacing-sm);font-family:var(--font-mono);font-size:.813rem;line-height:1.5;color:var(--color-text-secondary);background-color:var(--color-background);white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto;border-top:1px solid var(--color-border)}.engine-voice-tab{display:flex;flex-direction:column;height:100%}.voice-empty-icon{color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm)}.voice-start-btn{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);background-color:var(--color-primary);color:#fff;border:none;cursor:pointer;font-size:.813rem;font-weight:500;transition:background var(--transition-fast)}.voice-start-btn:hover{background-color:var(--color-primary-hover)}.voice-status-bar{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-success-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-md);font-size:.813rem;color:var(--color-success);font-weight:500}.voice-status-indicator{width:8px;height:8px;border-radius:50%;background-color:var(--color-success);animation:voice-pulse 1.5s infinite}@keyframes voice-pulse{0%,to{opacity:1}50%{opacity:.4}}.voice-stop-btn{margin-left:auto;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-md);background-color:var(--color-error);color:#fff;border:none;cursor:pointer;font-size:.75rem;font-weight:500}.voice-transcript{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) 0}.voice-entry{display:flex}.voice-entry-user{justify-content:flex-end}.voice-entry-assistant{justify-content:flex-start}.voice-bubble{max-width:75%;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);font-size:.813rem}.voice-entry-user .voice-bubble{background-color:var(--color-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.voice-entry-assistant .voice-bubble{background-color:var(--color-surface);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm)}.voice-speaker{font-size:.688rem;font-weight:600;margin-bottom:2px;opacity:.7}.voice-text{line-height:1.4}.voice-timestamp{font-size:.625rem;opacity:.5;margin-top:2px}.voice-ended-bar{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-tertiary);font-size:.75rem}.voice-status-row{display:flex;align-items:center;gap:var(--spacing-sm);width:100%}.voice-status-text{flex:1}.voice-mic-settings-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 6px;cursor:pointer;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast);display:flex;align-items:center}.voice-mic-settings-btn:hover{background-color:var(--color-surface-hover);color:var(--color-text-primary)}.voice-mic-settings{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) 0;margin-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.voice-mic-select{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-background);color:var(--color-text-primary);font-size:.75rem;cursor:pointer}.voice-gain-control{display:flex;align-items:center;gap:4px;flex-shrink:0}.voice-gain-label{display:flex;align-items:center;color:var(--color-text-tertiary)}.voice-gain-slider{width:60px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-border);border-radius:2px;cursor:pointer}.voice-gain-slider::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--color-primary);cursor:pointer}.voice-gain-value{font-size:.688rem;color:var(--color-text-tertiary);min-width:28px;text-align:right}.voice-agent-status{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-md);background-color:var(--color-primary-light);border-radius:var(--radius-sm);margin-bottom:var(--spacing-sm);font-size:.75rem;color:var(--color-primary);font-weight:500}.voice-agent-spinner{width:10px;height:10px;border:2px solid var(--color-primary);border-top-color:transparent;border-radius:50%;animation:voice-agent-spin .8s linear infinite}@keyframes voice-agent-spin{to{transform:rotate(360deg)}}.voice-agent-idle{color:var(--color-text-secondary)}.voice-draft-wrapper{justify-content:center}.voice-draft-bubble{width:50%;max-width:none;border:1px dashed var(--color-primary);background-color:color-mix(in srgb,var(--color-primary) 12%,var(--color-background));border-radius:var(--radius-lg);overflow:hidden}.voice-draft-bubble .voice-text{padding:0 var(--spacing-md) var(--spacing-sm);color:var(--color-text-primary);font-weight:500}.voice-draft-bubble .voice-speaker{padding:var(--spacing-xs) var(--spacing-md) 0;color:var(--color-text-secondary);opacity:1}.voice-draft-placeholder{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);font-size:.813rem;font-style:italic}.voice-spectrum-analyzer{display:block;width:100%;border-radius:var(--radius-md) var(--radius-md) 0 0}.skip-link{position:absolute;top:-40px;left:0;background:var(--color-primary, #4f46e5);color:#fff;padding:8px 16px;z-index:10000;font-size:14px;text-decoration:none;border-radius:0 0 4px}.skip-link:focus{top:0}
