@import "https://fonts.googleapis.com/css2?family=Noto+Serif+TC:wght@400;600;700&family=Noto+Sans+TC:wght@400;500&family=Outfit:wght@400;500;600&display=swap";:root{--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:9999px;--fs-xs:12px;--fs-sm:13.5px;--fs-base:15px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:26px;--fs-3xl:34px;--fs-4xl:44px;--ff-body:"Noto Sans TC", "DM Sans", system-ui, sans-serif;--ff-display:"DM Sans", "Noto Sans TC", system-ui, sans-serif;--ff-mono:"JetBrains Mono", "SF Mono", monospace;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.15s;--dur-normal:.25s;--dur-slow:.4s;--sidebar-w:300px;--sidebar-collapsed-w:68px;--projection-w:420px}[data-theme=dark]{--bg-root:#0c0c0e;--bg-surface:#141416;--bg-elevated:#1c1c20;--bg-hover:#222228;--bg-active:#2a2a32;--bg-input:#18181c;--bg-overlay:#000000a6;--border-subtle:#ffffff0f;--border-default:#ffffff1a;--border-strong:#ffffff2e;--text-primary:#e8e6e3;--text-secondary:#9b9a97;--text-tertiary:#5e5d5b;--text-inverse:#0c0c0e;--accent-primary:#6db8a4;--accent-primary-soft:#6db8a41f;--accent-primary-hover:#82c9b6;--accent-secondary:#9b8bbe;--accent-secondary-soft:#9b8bbe1f;--accent-success:#5cb589;--accent-success-soft:#5cb5891a;--accent-warning:#d4a053;--accent-warning-soft:#d4a0531a;--accent-danger:#c75f5f;--accent-danger-soft:#c75f5f1a;--accent-info:#8bacc4;--accent-info-soft:#8bacc41a;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 16px #00000080;--shadow-lg:0 12px 40px #0009;--shadow-glow:0 0 30px #6db8a41a;--msg-user-bg:#172a2a;--msg-assistant-bg:transparent;--msg-tool-bg:#1a1c22;--line-green:#06c755}[data-theme=light]{--bg-root:#f3f5f4;--bg-surface:#fff;--bg-elevated:#f6f8f7;--bg-hover:#eef1f0;--bg-active:#e5e9e7;--bg-input:#f6f8f7;--bg-overlay:#0000004d;--border-subtle:#0000000d;--border-default:#0000001a;--border-strong:#0000002e;--text-primary:#1a1917;--text-secondary:#6b6a67;--text-tertiary:#a09f9c;--text-inverse:#fff;--accent-primary:#4a9a84;--accent-primary-soft:#4a9a841a;--accent-primary-hover:#5aab94;--accent-secondary:#7a6a9e;--accent-secondary-soft:#7a6a9e1a;--accent-success:#3a8a60;--accent-success-soft:#3a8a6014;--accent-warning:#b07c2e;--accent-warning-soft:#b07c2e14;--accent-danger:#b04040;--accent-danger-soft:#b0404014;--accent-info:#6a8eb0;--accent-info-soft:#5a6ea714;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 12px 40px #0000001f;--shadow-glow:0 0 30px #4a9a8414;--msg-user-bg:#e6f0ed;--msg-assistant-bg:transparent;--msg-tool-bg:#f5f4f2;--line-green:#06c755}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;width:100%;max-width:100%;height:100%;min-height:100%;overflow:hidden}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px}body{font-family:var(--ff-body);background:var(--bg-root);color:var(--text-primary);height:100dvh;line-height:1.55}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}@media (width<=768px){input,textarea,select,.chat-input{font-size:16px!important}}a{color:var(--accent-secondary);text-decoration:none}a:hover{text-decoration:underline}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}#root{width:100%;max-width:100%;height:100dvh;min-height:0;display:flex;overflow:hidden}@media (display-mode:standalone){body,#root{height:100vh}}@keyframes msgIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes streamPulse{0%,80%,to{opacity:.2;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.device-login-screen{background:var(--bg-root);width:100%;min-height:100dvh;padding:var(--sp-4);justify-content:center;align-items:center;display:flex}.device-login-card{width:min(420px,100%);padding:var(--sp-12) var(--sp-8);text-align:center;margin:0 auto}.device-login-brand{margin-bottom:var(--sp-10)}.device-login-brand-text{font-size:var(--fs-2xl);color:var(--text-primary);font-weight:600}.device-login-welcome{color:var(--text-secondary);font-size:var(--fs-lg);margin-bottom:var(--sp-10);line-height:1.6}.device-login-instruction{color:var(--text-secondary);font-size:var(--fs-base);margin-bottom:var(--sp-8);line-height:1.6}.device-login-error{color:var(--accent-danger);font-size:var(--fs-sm);margin-bottom:var(--sp-4)}.device-login-line-btn{justify-content:center;align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-4) var(--sp-6);border-radius:var(--radius-md);background:var(--line-green);color:#fff;cursor:pointer;font:inherit;font-size:var(--fs-md);transition:opacity var(--dur-fast);border:0;font-weight:600;display:inline-flex;box-shadow:0 2px 12px #06c75540}.device-login-line-btn:active{opacity:.85}.device-code-inputs{justify-content:center;gap:var(--sp-2);margin-bottom:var(--sp-6);display:flex}.device-code-digit{text-align:center;width:46px;height:56px;font-size:var(--fs-xl);font-weight:700;font-family:var(--ff-mono);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);caret-color:var(--accent-primary);transition:border-color var(--dur-fast);outline:none}.device-code-digit:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-soft)}.device-login-verify-btn{width:100%;padding:var(--sp-4) var(--sp-6);border-radius:var(--radius-md);background:var(--accent-primary);color:#fff;cursor:pointer;font:inherit;font-size:var(--fs-md);margin-bottom:var(--sp-4);transition:opacity var(--dur-fast);border:0;font-weight:600}.device-login-verify-btn:disabled{opacity:.4;cursor:not-allowed}.device-login-verify-btn:not(:disabled):active{opacity:.85}.device-login-reset{color:var(--text-tertiary);font:inherit;font-size:var(--fs-sm);cursor:pointer;padding:var(--sp-2);background:0 0;border:none}.device-login-reset:hover{color:var(--text-secondary)}.device-login-footer{margin-top:var(--sp-10);color:var(--text-tertiary);font-size:var(--fs-xs)}.sidebar{width:var(--sidebar-w);min-width:var(--sidebar-w);background:var(--bg-surface);border-right:1px solid var(--border-subtle);z-index:20;flex-direction:column;display:flex;position:relative;overflow:hidden}.sidebar-header{padding:var(--sp-3) var(--sp-4);border-bottom:1px solid var(--border-subtle);box-sizing:border-box;justify-content:space-between;align-items:center;min-height:56px;display:flex}.sidebar-brand{align-items:center;gap:var(--sp-2);display:flex}.sidebar-brand-icon{object-fit:contain;flex-shrink:0;width:auto;height:24px}.sidebar-brand-name{font-family:var(--ff-display);font-size:var(--fs-md);letter-spacing:-.3px;font-weight:600}.sidebar-actions{gap:var(--sp-1);display:flex}.sidebar-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);transition:all var(--dur-fast);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.mobile-close{display:none}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto}.sidebar-nav{padding:var(--sp-2);flex-direction:column;gap:1px;display:flex}.nav-item{align-items:center;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-secondary);transition:all var(--dur-fast);cursor:pointer;text-align:left;background:0 0;border:none;font-weight:500;display:flex}.nav-item.active{background:var(--accent-primary-soft);color:var(--accent-primary)}.nav-item svg{opacity:.7}.nav-item.active svg{opacity:1}.sidebar-section-label{padding:var(--sp-3) var(--sp-4) var(--sp-1);font-size:var(--fs-xs);color:var(--text-tertiary);font-weight:600}.expert-list{padding:var(--sp-1) var(--sp-2) var(--sp-2);gap:var(--sp-1);flex-direction:column;display:flex}.expert-item{align-items:center;gap:var(--sp-3);width:100%;min-height:50px;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);color:var(--text-primary);text-align:left;transition:all var(--dur-fast);cursor:pointer;background:0 0;border:1px solid #0000;display:flex}.expert-item.active{background:var(--accent-warning-soft);border-color:color-mix(in srgb, var(--accent-warning), transparent 70%)}.expert-icon{border-radius:var(--radius-md);width:30px;height:30px;font-size:var(--fs-sm);color:var(--accent-warning);background:color-mix(in srgb, var(--accent-warning-soft), var(--bg-surface) 18%);border:1px solid color-mix(in srgb, var(--accent-warning), transparent 72%);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.expert-icon.expert-default{color:var(--text-inverse);background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%)}.expert-info{flex-direction:column;min-width:0;display:flex}.expert-title{font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:650;overflow:hidden}.expert-subtitle{font-size:var(--fs-xs);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.expert-empty{padding:var(--sp-3) var(--sp-4);font-size:var(--fs-xs);color:var(--text-tertiary)}.thread-list{padding:var(--sp-1) var(--sp-2);flex-direction:column;gap:1px;display:flex}.thread-row{border-radius:var(--radius-sm);position:relative}.thread-row.active>.thread-item{background:var(--bg-active)}.thread-row.expert-thread>.thread-item{background:color-mix(in srgb, var(--accent-warning-soft), transparent 35%);align-items:center;min-height:64px}.thread-row.expert-thread.active>.thread-item{background:var(--accent-warning-soft)}.thread-item{align-items:flex-start;gap:var(--sp-3);width:100%;padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--dur-fast);text-align:left;background:0 0;border:none;padding-right:36px;display:flex}.thread-row.expert-thread .thread-dot{border-radius:var(--radius-md);width:36px;height:36px;color:var(--accent-warning);background:color-mix(in srgb, var(--accent-warning-soft), var(--bg-surface) 18%);border:1px solid color-mix(in srgb, var(--accent-warning), transparent 72%);font-size:var(--fs-sm);flex:0 0 36px;justify-content:center;align-items:center;margin-top:0;font-weight:700;line-height:1;display:flex}.thread-dot{background:var(--accent-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:6px;display:none}.thread-info{flex:1;min-width:0}.thread-title{font-size:var(--fs-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.thread-preview{font-size:var(--fs-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.thread-meta{color:var(--text-tertiary);flex-shrink:0;margin-top:2px;font-size:10px}.thread-delete{width:24px;height:24px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-left:4px;padding:0;display:none;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.thread-row.active .thread-delete{display:flex}.thread-empty{padding:var(--sp-6) var(--sp-4);text-align:center;font-size:var(--fs-sm);color:var(--text-tertiary)}.sidebar-footer{border-top:1px solid var(--border-subtle);padding:var(--sp-3);margin-top:auto}.sidebar-user{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--dur-fast);display:flex}.sidebar-user-avatar{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);width:32px;height:32px;font-size:var(--fs-sm);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.sidebar-user-info{flex:1;min-width:0}.sidebar-user-name{font-size:var(--fs-sm);font-weight:500}.sidebar-user-role{color:var(--text-tertiary);font-size:10px}@media (hover:hover) and (pointer:fine){.sidebar-btn:hover,.nav-item:hover{background:var(--bg-hover);color:var(--text-primary)}.expert-item:hover,.thread-row:hover>.thread-item{background:var(--bg-hover)}.thread-delete:hover{background:var(--bg-danger-subtle,#ef44441a);color:var(--danger,#ef4444)}.thread-row:hover .thread-delete{display:flex}.sidebar-user:hover{background:var(--bg-hover)}}.sidebar-panel-toggle{display:none}@media (width>=1081px){.sidebar-panel-toggle{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);transition:all var(--dur-fast);justify-content:center;align-items:center;display:flex}.sidebar-panel-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar.desktop-collapsed{width:56px;min-width:56px}.sidebar.desktop-collapsed .nav-item span,.sidebar.desktop-collapsed .sidebar-section-label,.sidebar.desktop-collapsed .thread-list,.sidebar.desktop-collapsed .expert-list,.sidebar.desktop-collapsed .sidebar-user-info,.sidebar.desktop-collapsed .sidebar-footer{display:none}.sidebar.desktop-collapsed .sidebar-header{padding:var(--sp-3) var(--sp-1);justify-content:center}.sidebar.desktop-collapsed .sidebar-nav{align-items:center}.sidebar.desktop-collapsed .nav-item{padding:var(--sp-2);justify-content:center;gap:0}}@media (width<=1080px){.sidebar-backdrop{z-index:99;background:#0006;position:absolute;inset:0}.sidebar{width:min(var(--sidebar-w), 85vw);z-index:100;min-width:0;max-height:100%;transition:transform var(--dur-normal) var(--ease-out);box-shadow:var(--shadow-lg);position:absolute;top:0;bottom:0;left:0;transform:translate(0)}.sidebar.sidebar-hidden{pointer-events:none;transform:translate(-100%)}.mobile-close{display:flex}}@media (display-mode:standalone){.sidebar-backdrop{position:fixed}.sidebar{max-height:none;position:fixed}.sidebar-header{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px))}}.msg{gap:var(--sp-3);max-width:100%;animation:msgIn var(--dur-normal) var(--ease-out) both;display:flex}.msg-avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;margin-top:2px;font-size:12px;font-weight:600;display:flex}.msg-avatar.user{background:var(--accent-secondary-soft);color:var(--accent-secondary)}.msg-avatar.assistant{background:var(--accent-primary-soft);color:var(--accent-primary)}.msg-body{flex:1;min-width:0;overflow:hidden}.msg-sender{font-size:var(--fs-xs);color:var(--text-secondary);align-items:center;gap:var(--sp-2);margin-bottom:4px;font-weight:600;display:flex}.msg-time{color:var(--text-tertiary);font-size:10px;font-weight:400}.msg-text{font-size:var(--fs-base);color:var(--text-primary);overflow-wrap:break-word;word-break:break-word;line-height:1.65}.msg-text p{margin-bottom:var(--sp-2)}.msg-text p:last-child{margin-bottom:0}.msg-markdown strong{font-weight:700}.msg-markdown em{font-style:italic}.msg-markdown code{font-family:var(--ff-mono);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:3px;padding:1px 5px;font-size:.88em}.msg-markdown pre{margin:var(--sp-2) 0;padding:var(--sp-3);background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);overflow-x:auto}.msg-markdown pre code{background:0 0;border:none;padding:0;font-size:.85em}.msg-markdown ul,.msg-markdown ol{margin:var(--sp-2) 0;padding-left:1.5em}.msg-markdown li{margin-bottom:2px}.msg-markdown li:last-child{margin-bottom:0}.msg-markdown blockquote{margin:var(--sp-2) 0;padding-left:var(--sp-3);border-left:3px solid var(--border-subtle);color:var(--text-secondary)}.msg-markdown a{color:var(--accent-primary);text-underline-offset:2px;text-decoration:underline}.msg-markdown a:hover{opacity:.8}.msg-markdown table{margin:var(--sp-2) 0;border-collapse:collapse;font-size:.92em}.msg-markdown th,.msg-markdown td{border:1px solid var(--border-subtle);text-align:left;padding:4px 10px}.msg-markdown th{background:var(--bg-elevated);font-weight:600}.msg-markdown hr{margin:var(--sp-3) 0;border:none;border-top:1px solid var(--border-subtle)}.msg.user-msg .msg-content{background:var(--msg-user-bg);padding:var(--sp-3) var(--sp-4);border-radius:var(--radius-md);border-top-left-radius:var(--radius-sm)}.msg-attachments{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.msg-attachment-chip{align-items:center;gap:var(--sp-2);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);max-width:220px;padding:4px 10px 4px 4px;font-size:11px;display:inline-flex}.msg-attachment-chip:hover{border-color:var(--accent-primary);color:var(--text-primary);background:var(--accent-primary-soft)}.msg-attachment-thumb{object-fit:cover;border:1px solid var(--border-subtle);border-radius:4px;flex:none;width:34px;height:42px}.msg-attachment-icon{background:var(--accent-secondary-soft);min-width:34px;height:22px;color:var(--accent-secondary);font-family:var(--ff-mono);border-radius:4px;justify-content:center;align-items:center;font-size:9px;font-weight:700;display:inline-flex}.speech-request-btn{width:fit-content;min-height:30px;margin-top:var(--sp-2);align-items:center;gap:var(--sp-1);padding:5px var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-xs);font-weight:600;display:inline-flex}.speech-request-btn:hover{border-color:color-mix(in srgb, var(--accent-primary) 58%, var(--border-subtle));color:var(--accent-primary);background:var(--accent-primary-soft)}.speech-player{margin-top:var(--sp-3);align-items:center;gap:var(--sp-2);max-width:360px;min-height:42px;padding:6px var(--sp-2);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);grid-template-columns:30px minmax(0,1fr) 30px;display:grid}.speech-player audio{display:none}.speech-round-btn,.speech-stop-btn,.speech-icon{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--accent-primary);background:var(--accent-primary-soft);flex:none;justify-content:center;align-items:center;display:inline-flex}.speech-round-btn:hover,.speech-stop-btn:hover{color:var(--text-primary);background:var(--bg-active)}.speech-stop-btn{color:var(--text-tertiary);background:0 0}.speech-meta{flex-direction:column;gap:5px;min-width:0;display:flex}.speech-row{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.speech-row span,.speech-meta>span{font-size:var(--fs-xs);color:var(--text-primary);font-weight:600}.speech-row small,.speech-meta small{min-width:0;color:var(--text-tertiary);white-space:nowrap;font-size:10px}.speech-progress{border-radius:var(--radius-full);background:var(--border-subtle);cursor:pointer;height:5px;position:relative;overflow:hidden}.speech-progress span{border-radius:inherit;background:var(--accent-primary);transition:width var(--dur-fast) linear;display:block;position:absolute;inset:0 auto 0 0}.speech-loading-line{border-radius:var(--radius-full);background:var(--border-subtle);width:100%;height:5px;overflow:hidden}.speech-loading-line:after{content:"";border-radius:inherit;background:var(--accent-primary);width:45%;height:100%;animation:speechLoading 1.1s var(--ease-in-out) infinite;display:block}.speech-error{border-color:color-mix(in srgb, var(--accent-danger) 45%, var(--border-subtle))}.speech-error .speech-icon{color:var(--accent-danger);background:var(--accent-danger-soft)}@keyframes speechLoading{0%{transform:translate(-110%)}to{transform:translate(240%)}}@media (width<=768px){.speech-player{max-width:100%}}.tool-call-card{background:var(--msg-tool-bg);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--sp-3) var(--sp-4);margin:var(--sp-2) 0;font-size:var(--fs-sm)}.tool-call-card.artifact-tool-call{border-color:color-mix(in srgb, var(--accent-primary) 42%, var(--border-subtle));background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary-soft) 72%, transparent), transparent 62%), var(--bg-elevated)}.tool-call-header{align-items:center;gap:var(--sp-2);color:var(--text-secondary);font-weight:500;display:flex}.tool-call-icon{width:16px;height:16px;color:var(--accent-info);flex-shrink:0}.artifact-tool-call .tool-call-icon{color:var(--accent-primary)}.tool-call-name{font-family:var(--ff-mono);font-size:var(--fs-xs);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tool-call-status{letter-spacing:.3px;white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;margin-left:auto;font-size:11px;font-weight:600;display:flex}.tool-call-status.running{color:var(--accent-warning)}.tool-call-status.done{color:var(--accent-success)}.tool-call-status.failed{color:var(--accent-danger)}.status-dot{border-radius:50%;width:6px;height:6px;animation:1.5s ease-in-out infinite statusPulse}.status-dot.running{background:var(--accent-warning)}@keyframes statusPulse{0%,to{opacity:1}50%{opacity:.3}}.tool-call-body{color:var(--text-secondary);font-size:var(--fs-xs);margin-top:var(--sp-2);white-space:pre-wrap;word-break:break-word;line-height:1.5}.tool-call-payload{margin-top:var(--sp-2)}.tool-call-preview{color:var(--text-tertiary);font-family:var(--ff-mono);max-height:5.6em;margin-top:0;font-size:11px;overflow:hidden}.artifact-tool-call .tool-call-body{color:var(--text-primary);font-weight:600}.tool-call-raw{margin-top:var(--sp-2);color:var(--text-tertiary);font-size:11px}.tool-call-raw summary{cursor:pointer;width:fit-content;color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.tool-call-raw summary:hover{color:var(--text-secondary)}.tool-call-raw pre{max-height:280px;margin:var(--sp-2) 0 0;padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--msg-tool-bg);color:var(--text-secondary);font-family:var(--ff-mono);white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5;overflow:auto}.tool-call-raw.engineering-open pre{max-height:none;overflow:visible}.event-row-block{padding:var(--sp-1) 0}.event-row{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;font-size:var(--fs-xs);color:var(--text-secondary);border-radius:var(--radius-sm);display:flex}.event-row.event-error{color:var(--accent-danger)}.event-row.event-warning{color:var(--accent-warning)}.event-row.event-subtle{color:var(--text-tertiary)}.event-row.event-note{align-items:flex-start}.event-row.event-commentary{color:var(--text-secondary)}.event-row.event-commentary .event-icon{color:var(--accent-info);font-family:var(--ff-mono);font-size:16px;line-height:1.25}.event-icon{flex-shrink:0;font-size:14px}.event-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.event-row.event-note .event-label{text-overflow:initial;white-space:normal;line-height:1.5;overflow:visible}.event-payload-details{color:var(--text-tertiary);margin-top:2px;margin-left:22px;font-size:11px}.event-payload-details summary{cursor:pointer;width:fit-content;color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.event-payload-details summary:hover{color:var(--text-secondary)}.event-payload-details pre{max-height:240px;margin:var(--sp-2) 0 0;padding:var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--msg-tool-bg);color:var(--text-secondary);font-family:var(--ff-mono);white-space:pre-wrap;word-break:break-word;font-size:11px;line-height:1.5;overflow:auto}.event-payload-details.engineering-open pre{max-height:none;overflow:visible}.event-time{font-family:var(--ff-mono);color:var(--text-tertiary);flex-shrink:0;font-size:10px}.streaming-dot{background:var(--accent-primary);border-radius:50%;width:5px;height:5px;animation:1.4s ease-in-out infinite streamPulse}.streaming-dot:nth-child(2){animation-delay:.2s}.streaming-dot:nth-child(3){animation-delay:.4s}.live-progress{gap:var(--sp-1);flex-direction:column;display:flex}.turn-activity-card-shell{width:100%}.turn-activity-card{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);padding:var(--sp-3) var(--sp-4)}.turn-activity-card.terminal{border-color:color-mix(in srgb, var(--accent-primary) 20%, var(--border-subtle))}.turn-activity-card.terminal.completed{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-success) 8%, transparent), transparent 65%), var(--bg-elevated)}.turn-activity-card.terminal.cancelled,.turn-activity-card.terminal.cancel_requested{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-warning) 8%, transparent), transparent 65%), var(--bg-elevated)}.turn-activity-card.terminal.failed,.turn-activity-card.terminal.error{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-danger) 8%, transparent), transparent 65%), var(--bg-elevated)}.live-progress.expandable{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-out), background var(--dur-fast) var(--ease-out)}.live-progress.expandable:hover{border-color:color-mix(in srgb, var(--accent-primary) 32%, var(--border-subtle))}.live-event-line{align-items:flex-start;gap:var(--sp-2);font-size:var(--fs-sm);min-width:0;animation:msgIn var(--dur-normal) var(--ease-out) both;line-height:1.55;display:flex}.live-icon{flex-shrink:0;font-size:14px;line-height:1.55}.live-text{color:var(--text-secondary);overflow-wrap:anywhere;text-overflow:clip;white-space:normal;word-break:break-word;flex:1;min-width:0;overflow:visible}.live-summary{color:var(--text-tertiary);font-size:var(--fs-xs)}.live-status{flex-shrink:0;align-items:center;gap:4px;padding-top:1px;font-size:11px;font-weight:600;line-height:1.55;display:flex}.live-status.running{color:var(--accent-warning)}.live-status.done{color:var(--accent-success)}.live-status.failed{color:var(--accent-danger)}.status-dot-sm{background:var(--accent-warning);border-radius:50%;width:5px;height:5px;animation:1.5s ease-in-out infinite statusPulse}.live-reasoning .live-text{color:var(--accent-info)}.live-tool .live-text{font-family:var(--ff-mono);font-size:var(--fs-xs)}.live-intent .live-text{color:var(--accent-primary)}.live-error .live-text{color:var(--accent-danger)}.live-warning .live-text{color:var(--accent-warning)}.live-status-summary .live-text{color:var(--text-tertiary)}.live-progress-footer{justify-content:space-between;align-items:center;gap:var(--sp-2);padding-top:var(--sp-1);margin-top:var(--sp-1);display:flex}.live-progress-footer.terminal{border-top:1px solid var(--border-subtle);padding-top:var(--sp-2)}.live-expand-hint{font-size:var(--fs-xs);color:var(--text-tertiary)}.turn-status-indicator{min-width:0;font-size:var(--fs-xs);align-items:center;gap:6px;font-weight:600;display:inline-flex}.turn-status-indicator.running,.turn-status-indicator.cancel_requested{color:var(--accent-warning)}.turn-status-indicator.completed{color:var(--accent-success)}.turn-status-indicator.cancelled{color:var(--accent-warning)}.turn-status-indicator.failed,.turn-status-indicator.error{color:var(--accent-danger)}.turn-status-icon{line-height:1}.turn-status-label{color:inherit}.chat-input-area{padding:var(--sp-3) var(--sp-6) calc(var(--sp-5) + env(safe-area-inset-bottom,0px));background:var(--bg-surface);border-top:1px solid var(--border-subtle);flex-shrink:0}.chat-input-wrapper{max-width:780px;margin:0 auto;position:relative}.chat-input-box{background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--sp-3);transition:border-color var(--dur-fast);align-items:flex-end;gap:var(--sp-2);display:flex}.chat-input-box:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-primary-soft)}.chat-input-box.drag-active{border-color:var(--accent-primary);background:color-mix(in srgb, var(--accent-primary), var(--bg-input) 92%);box-shadow:0 0 0 3px var(--accent-primary-soft)}.chat-input{width:100%;min-width:0;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-base);resize:none;white-space:pre-wrap;overflow-wrap:anywhere;overscroll-behavior:contain;min-height:24px;max-height:120px;color:var(--text-primary);-webkit-overflow-scrolling:touch;background:0 0;border:none;outline:none;flex:1;line-height:1.5;overflow-y:auto}.chat-input::placeholder{color:var(--text-tertiary)}.input-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-tertiary);transition:all var(--dur-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.input-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.input-btn.voice-btn{color:var(--accent-info)}.input-btn.voice-btn:hover{background:var(--accent-info-soft)}.input-btn.cancel-btn{color:#fff;background:var(--accent-danger)}.input-btn.cancel-btn:hover{background:var(--accent-danger);opacity:.9}.input-btn.send-btn{background:linear-gradient(135deg, var(--accent-primary) 0%, #5aa898 100%);color:#fff;border-radius:var(--radius-md)}.input-btn.send-btn:hover{background:linear-gradient(135deg, var(--accent-primary-hover) 0%, #6ab8a8 100%)}.input-btn.send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-input-box.voice-active{padding:var(--sp-2) var(--sp-3);align-items:center}.voice-recording-bar{align-items:center;gap:var(--sp-3);flex:1;min-height:40px;display:flex}.voice-level-dot{background:var(--accent-info);width:14px;height:14px;box-shadow:0 0 0 6px var(--accent-info-soft);border-radius:999px;flex-shrink:0}.voice-level-dot.recording{animation:1.1s ease-in-out infinite voice-pulse}.voice-level-dot.transcribing{background:var(--accent-primary);box-shadow:0 0 0 6px var(--accent-primary-soft)}.voice-recording-copy{flex:1;min-width:0}.voice-recording-title{font-size:var(--fs-sm);color:var(--text-primary);line-height:1.3}.voice-recording-subtitle{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px;line-height:1.3}.voice-stop-btn{color:#fff;background:var(--accent-danger)}.voice-stop-btn:hover{color:#fff;background:var(--accent-danger);opacity:.9}.voice-spinner{border:2px solid var(--border-subtle);border-top-color:var(--accent-primary);border-radius:999px;flex-shrink:0;width:22px;height:22px;animation:.75s linear infinite voice-spin}.voice-status{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border:1px solid var(--accent-info-soft);border-radius:var(--radius-sm);background:var(--accent-info-soft);color:var(--text-secondary);font-size:var(--fs-xs)}.voice-status.error{border-color:color-mix(in srgb, var(--accent-danger), transparent 60%);background:color-mix(in srgb, var(--accent-danger), transparent 88%);color:var(--accent-danger)}@keyframes voice-pulse{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.32)}}@keyframes voice-spin{to{transform:rotate(360deg)}}.chat-input-hint{text-align:center;color:var(--text-tertiary);margin-top:var(--sp-2);font-size:10px}@media (width<=768px){.chat-input-area{padding-bottom:var(--sp-2)}.chat-input-box{padding:var(--sp-2)}.chat-input{min-height:28px;max-height:152px}.chat-input-hint{display:none}}.ref-chips-bar{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;padding:8px 12px 4px;display:flex;overflow-x:auto}.ref-chips-bar::-webkit-scrollbar{display:none}.ref-chip{background:color-mix(in srgb, var(--ref-color,#888), transparent 90%);border:1px solid color-mix(in srgb, var(--ref-color,#888), transparent 75%);border-radius:6px;flex-shrink:0;align-items:center;gap:5px;max-width:200px;padding:4px 6px 4px 8px;animation:.2s cubic-bezier(.34,1.56,.64,1) ref-chip-in;display:flex}@keyframes ref-chip-in{0%{opacity:0;transform:scale(.85)translateY(4px)}}.ref-chip-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.ref-chip-type{color:var(--ref-color,#888);letter-spacing:.02em;flex-shrink:0;font-size:10px;font-weight:600}.ref-chip-label{color:var(--text-primary,#1d1c1a);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500;line-height:1.3;overflow:hidden}.ref-chip-remove{width:18px;height:18px;color:var(--text-tertiary,#a09f9c);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:all .12s;display:flex}.ref-chip-remove:hover{color:var(--text-primary,#1d1c1a);background:#00000014}.upload-preview-bar{gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);display:flex;overflow-x:auto}.upload-preview-item{flex-shrink:0;position:relative}.upload-thumb{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-default);width:64px;height:64px}.upload-file-name{padding:var(--sp-2) var(--sp-3);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--fs-xs);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:120px;display:inline-flex;overflow:hidden}.upload-remove{background:var(--accent-danger);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;line-height:1;display:flex;position:absolute;top:-6px;right:-6px}.media-panel{border-left:1px solid var(--border-subtle);background:var(--bg-surface);gap:var(--sp-3);min-width:0;height:100%;padding:var(--sp-4);flex-direction:column;display:flex;overflow-y:auto}.media-panel-head{justify-content:space-between;align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.media-panel-title{font-family:var(--ff-display);font-size:var(--fs-base);color:var(--text-primary);align-items:center;gap:var(--sp-2);font-weight:700;display:flex}.media-count{border-radius:var(--radius-full);background:var(--accent-primary-soft);min-width:22px;height:20px;color:var(--accent-primary);font-family:var(--ff-mono);justify-content:center;align-items:center;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.media-panel-actions{flex-shrink:0;align-items:center;gap:6px;margin-left:auto;display:flex}.media-origin-summary{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.media-origin-chip,.media-source-label{border-radius:var(--radius-full);letter-spacing:.01em;justify-content:center;align-items:center;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.media-origin-chip.user,.media-source-label.user{background:color-mix(in srgb, var(--accent-primary-soft) 70%, white);color:var(--accent-primary)}.media-origin-chip.assistant,.media-source-label.assistant{color:#2d6a4f;background:#e3f3ea}.media-panel-close{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.media-panel-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.media-stage{border-radius:var(--radius-md);background:var(--bg-elevated);flex:1 1 0;justify-content:center;align-items:center;min-height:0;display:flex;overflow:hidden}.media-stage-btn{cursor:zoom-in;background:0 0;border:none;justify-content:center;align-items:center;width:100%;height:100%;padding:0;display:flex}.media-image{object-fit:contain;max-width:100%;max-height:100%;display:block}.media-filename{font-size:var(--fs-sm);color:var(--text-secondary);text-align:center;overflow-wrap:anywhere;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.media-strip{gap:var(--sp-2);padding-bottom:2px;display:flex;overflow-x:auto}.media-thumb{border-radius:var(--radius-sm);background:var(--bg-elevated);opacity:.7;cursor:pointer;border:2px solid #0000;flex:none;width:52px;height:52px;padding:0;overflow:hidden}.media-thumb.active{border-color:var(--accent-primary);opacity:1;box-shadow:0 0 0 2px var(--accent-primary-soft)}.media-thumb[data-source=assistant]{background:linear-gradient(180deg, #d9efe361, #d9efe314), var(--bg-elevated)}.media-thumb[data-source=user]{background:linear-gradient(180deg, #dde7ff47, #dde7ff14), var(--bg-elevated)}.media-thumb:hover{opacity:1}.media-thumb img{object-fit:cover;width:100%;height:100%;display:block}.media-thumb-icon{justify-content:center;align-items:center;width:100%;height:100%;font-size:20px;display:flex}.media-panel-desktop{min-height:0;display:flex}.media-panel-desktop .media-panel{flex:1}.media-panel-mobile-wrapper{display:none}@media (width<=1080px){.media-panel-desktop{display:none}.media-panel-mobile-wrapper{z-index:100;background:var(--bg-surface);display:block;position:fixed;inset:0}.media-panel-backdrop{display:none}.media-panel-mobile-wrapper .media-panel{width:100%;height:100%;box-shadow:none;padding:calc(var(--sp-4) + env(safe-area-inset-top,0px)) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom,0px));border-left:0;animation:none;position:absolute;inset:0}.media-panel-mobile-wrapper .media-stage{border-radius:var(--radius-lg)}.media-panel-mobile-wrapper .media-panel-close{background:var(--bg-elevated);width:34px;height:34px;color:var(--text-secondary)}}@keyframes media-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.media-lightbox-backdrop{z-index:900;background:#000000d1;justify-content:center;align-items:center;animation:.15s ease-out media-fade-in;display:flex;position:fixed;inset:0}@keyframes media-fade-in{0%{opacity:0}to{opacity:1}}.media-lightbox{gap:var(--sp-3);width:100%;max-width:960px;height:100%;max-height:96vh;padding:var(--sp-4);flex-direction:column;display:flex;overflow:hidden}.media-lightbox-header{color:#fff;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.media-lightbox-title{font-size:var(--fs-sm);align-items:center;gap:var(--sp-2);font-weight:600;display:flex}.media-lightbox-pos{opacity:.6;font-weight:400;font-family:var(--ff-mono);font-size:12px}.media-lightbox-close{border-radius:var(--radius-sm);color:#ffffffb3;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.media-lightbox-close:hover{color:#fff;background:#ffffff1f}.media-lightbox-stage{flex:1 1 0;justify-content:center;align-items:center;min-height:0;display:flex;position:relative;overflow:hidden}.media-lightbox-image{object-fit:contain;border-radius:var(--radius-md);max-width:100%;max-height:100%}.media-lightbox-nav{border-radius:var(--radius-full);color:#fffc;cursor:pointer;background:#00000080;border:none;justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.media-lightbox-nav:hover{color:#fff;background:#000000b3}.media-lightbox-nav.prev{left:var(--sp-3)}.media-lightbox-nav.next{right:var(--sp-3)}.media-lightbox-strip{gap:var(--sp-2);justify-content:center;padding-bottom:2px;display:flex;overflow-x:auto}@media (width<=768px){.media-lightbox-backdrop{background:#000000f2}.media-lightbox{padding:var(--sp-3);padding-top:env(safe-area-inset-top,var(--sp-3))}.media-lightbox-nav{width:34px;height:34px}}.artifact-panel{border-left:1px solid var(--border-default);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-surface) 94%, var(--accent-primary) 6%) 0%, var(--bg-elevated) 100%);flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.artifact-panel-head{justify-content:space-between;align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border-default);background:color-mix(in srgb, var(--bg-surface) 90%, var(--accent-primary) 10%);display:flex}.artifact-panel-kicker{color:var(--accent-primary);margin-bottom:6px;font-size:10px;font-weight:800;line-height:1}.artifact-panel-title{font-size:var(--fs-sm);color:var(--text-primary);overflow-wrap:anywhere;font-weight:800;line-height:1.35}.artifact-panel-actions{flex-shrink:0;align-items:flex-start;gap:6px;display:flex}.artifact-panel-close{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-surface);width:30px;height:30px;color:var(--text-secondary);box-shadow:var(--shadow-sm);flex:none;justify-content:center;align-items:center;display:inline-flex}.artifact-panel-close:hover{color:var(--text-primary);border-color:var(--accent-primary)}.artifact-strip{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4);overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-bottom:1px solid var(--border-subtle);background:color-mix(in srgb, var(--bg-surface) 72%, transparent);display:flex;overflow:auto hidden}.artifact-tab{border-radius:var(--radius-sm);border:1px solid var(--border-default);background:var(--bg-surface);width:clamp(120px,38vw,180px);color:var(--text-secondary);font-size:var(--fs-xs);scroll-snap-align:start;white-space:nowrap;text-overflow:ellipsis;flex:none;padding:7px 10px;overflow:hidden}.artifact-tab.active{color:var(--accent-primary);background:var(--accent-primary-soft);border-color:var(--accent-primary)}.artifact-frame-wrap{min-height:0;padding:var(--sp-3);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary-soft) 64%, transparent) 0%, transparent 34%), var(--bg-elevated);flex:1 1 0}.artifact-frame{border:1px solid var(--border-default);border-radius:var(--radius-sm);width:100%;height:100%;box-shadow:var(--shadow-md);background:#fbfaf7}.artifact-lightbox-backdrop{z-index:70;background:#07111fc7;justify-content:center;align-items:center;padding:clamp(14px,2vw,28px);display:flex;position:fixed;inset:0}.artifact-lightbox{border:1px solid color-mix(in srgb, var(--border-default) 75%, white 25%);background:color-mix(in srgb, var(--bg-elevated) 92%, #08121f 8%);border-radius:18px;flex-direction:column;width:min(1440px,100%);height:min(90vh,980px);display:flex;overflow:hidden;box-shadow:0 28px 90px #050c186b}.artifact-lightbox-header{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border-default);background:color-mix(in srgb, var(--bg-surface) 88%, var(--accent-primary) 12%);display:flex}.artifact-lightbox-title{align-items:baseline;gap:var(--sp-2);min-width:0;font-size:var(--fs-sm);color:var(--text-primary);overflow-wrap:anywhere;font-weight:800;display:flex}.artifact-lightbox-pos{color:var(--text-tertiary);font-size:var(--fs-xs);flex:none;font-weight:700}.artifact-lightbox-close,.artifact-lightbox-nav{border:1px solid var(--border-default);background:color-mix(in srgb, var(--bg-surface) 88%, white 12%);color:var(--text-secondary);box-shadow:var(--shadow-sm)}.artifact-lightbox-close{border-radius:999px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.artifact-lightbox-close:hover,.artifact-lightbox-nav:hover{color:var(--text-primary);border-color:var(--accent-primary)}.artifact-lightbox-stage{align-items:center;gap:var(--sp-3);min-height:0;padding:var(--sp-4);background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-primary-soft) 80%, transparent), transparent 34%), linear-gradient(180deg, color-mix(in srgb, var(--bg-surface) 30%, transparent), transparent 26%), var(--bg-elevated);flex:1 1 0;grid-template-columns:auto minmax(0,1fr) auto;display:grid;position:relative}.artifact-lightbox-frame-wrap{min-width:0;height:100%;min-height:0;padding:var(--sp-2);background:color-mix(in srgb, var(--bg-surface) 86%, white 14%);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--border-default) 72%, white 28%);border-radius:16px;grid-column:2}.artifact-lightbox-frame-wrap .artifact-frame{border-radius:12px}.artifact-lightbox-nav{border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.artifact-lightbox-strip{gap:var(--sp-2);padding:var(--sp-3) var(--sp-4) var(--sp-4);border-top:1px solid var(--border-default);background:color-mix(in srgb, var(--bg-surface) 82%, transparent);display:flex;overflow-x:auto}.artifact-event-card{align-items:center;gap:var(--sp-3);text-align:left;width:100%;padding:var(--sp-3) var(--sp-4);border:1px solid var(--border-default);border-left:4px solid var(--accent-primary);border-radius:var(--radius-md);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary-soft) 70%, transparent), transparent 58%), var(--bg-elevated);color:var(--text-primary);box-shadow:var(--shadow-sm);transition:transform var(--dur-fast), border-color var(--dur-fast), background var(--dur-fast);display:flex}.artifact-event-card:hover,.artifact-event-card.active{border-color:var(--accent-primary);background:var(--accent-primary-soft);transform:translateY(-1px)}.artifact-event-icon{border-radius:var(--radius-sm);background:var(--accent-primary-soft);width:36px;height:36px;color:var(--accent-primary);flex:none;justify-content:center;align-items:center;display:inline-flex}.artifact-event-copy{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.artifact-event-label{color:var(--text-tertiary);font-size:11px;font-weight:700}.artifact-event-title{font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.artifact-event-action{color:var(--accent-primary);font-size:var(--fs-xs);flex:none;font-weight:800}@media (width<=1080px){.artifact-panel{z-index:40;width:100%;box-shadow:none;position:fixed;inset:0}.artifact-panel-head{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px))}.artifact-strip{padding-inline:var(--sp-3)}.artifact-tab{width:clamp(132px,48vw,190px)}.artifact-lightbox-backdrop{padding:0}.artifact-lightbox{border:none;border-radius:0;width:100%;height:100%}.artifact-lightbox-header{padding-top:calc(var(--sp-4) + env(safe-area-inset-top,0px));padding-inline:var(--sp-4)}.artifact-lightbox-stage{gap:var(--sp-2);padding:var(--sp-3);grid-template-columns:minmax(0,1fr)}.artifact-lightbox-frame-wrap{grid-column:1;height:100%}.artifact-lightbox-nav{z-index:1;position:absolute;top:calc(50% - 22px)}.artifact-lightbox-nav.prev{left:10px}.artifact-lightbox-nav.next{right:10px}.artifact-lightbox-strip{padding-bottom:calc(var(--sp-3) + env(safe-area-inset-bottom,0px))}}.event-group{padding-left:42px}.event-group-toggle{align-items:center;gap:var(--sp-2);border-radius:var(--radius-md);font-size:var(--fs-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast);border:1px solid #0000;padding:6px 9px;display:inline-flex}.event-group.collapsed .event-group-toggle{background:color-mix(in srgb, var(--bg-elevated) 78%, transparent);border-color:color-mix(in srgb, var(--border-subtle) 86%, transparent);box-shadow:0 1px 0 color-mix(in srgb, var(--bg-elevated) 80%, transparent)}.event-group-toggle:hover{color:var(--text-primary);background:var(--bg-hover);border-color:var(--border-subtle)}.event-group-toggle svg{transition:transform var(--dur-fast);flex-shrink:0}.event-group-label{white-space:nowrap}.event-group-last{color:var(--text-tertiary);opacity:.7;font-size:11px}.event-group-count{color:var(--text-tertiary);white-space:nowrap;font-size:11px}.event-group-last:before,.event-group-summary:before{content:"·";margin-right:var(--sp-1)}.event-group-summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(560px,62vw);color:var(--text-secondary);font-family:var(--ff-mono);opacity:.9;font-size:11px;overflow:hidden}.event-group-dots{margin-left:var(--sp-1);gap:3px;display:inline-flex}.event-group-dots span,.event-group-dots:before,.event-group-dots:after{content:"";background:var(--text-tertiary);border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both eventDotPulse;display:block}.event-group-dots:before{animation-delay:0s}.event-group-dots span{animation-delay:.16s}.event-group-dots:after{animation-delay:.32s}@keyframes eventDotPulse{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.event-group-collapse-bottom{margin-top:var(--sp-1)}.event-group.expanded .event-group-list{gap:var(--sp-1);margin-top:var(--sp-1);padding-left:var(--sp-1);border-left:2px solid var(--border-subtle);flex-direction:column;display:flex}@media (width<=768px){.event-group{padding-left:0}}.chat-main{flex-direction:column;flex:1 1 0;min-width:0;height:auto;min-height:0;max-height:100%;display:flex;overflow:hidden}.chat-workspace{flex:1 1 0;grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.chat-workspace.has-panel{grid-template-columns:minmax(420px,1fr) minmax(300px,36vw)}.chat-messages{-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:var(--sp-6);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden auto}.chat-messages-inner{gap:var(--sp-5);flex-direction:column;width:100%;min-width:0;max-width:780px;margin:0 auto;display:flex}.event-inline{padding-left:42px}.assistant-runtime-stack{gap:var(--sp-3);flex-direction:column;display:flex}.assistant-runtime-trace{gap:var(--sp-3);flex-direction:column;padding-left:42px;display:flex}.empty-side-panel{border-left:1px solid var(--border-default);background:var(--bg-elevated);flex-direction:column;min-width:0;height:100%;display:flex;overflow:hidden}.empty-side-panel-head{padding:var(--sp-3);justify-content:flex-end;display:flex}.empty-side-panel-close{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--text-tertiary);justify-content:center;align-items:center;display:inline-flex}.empty-side-panel-close:hover{color:var(--text-primary);background:var(--bg-hover)}.empty-side-panel-body{justify-content:center;align-items:center;gap:var(--sp-3);padding:var(--sp-6);color:var(--text-tertiary);font-size:var(--fs-sm);text-align:center;flex-direction:column;flex:1;display:flex}@media (width<=1080px){.chat-workspace,.chat-workspace.has-panel{grid-template-columns:minmax(0,1fr)}.empty-side-panel{z-index:40;width:100%;box-shadow:none;position:fixed;inset:0}.empty-side-panel-head{padding-top:calc(var(--sp-3) + env(safe-area-inset-top,0px))}}@media (width<=768px){.chat-messages{padding:var(--sp-4)}.chat-messages-inner{max-width:none}.event-inline,.assistant-runtime-trace{padding-left:0}}.bottom-tab-bar{border-top:1px solid var(--border-subtle);background:var(--bg-surface);padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0;display:none}@media (width<=768px){.bottom-tab-bar{display:flex}.bottom-tab-bar.hidden{display:none}}.tab-item{height:56px;color:var(--text-tertiary);font:inherit;cursor:pointer;transition:color var(--dur-fast);-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:11px;display:flex}.tab-item.active{color:var(--accent-primary)}.tab-item:not(.active):active{color:var(--text-secondary)}.tab-item svg{flex-shrink:0}.workproof-frame-container{width:100%;height:100%;min-height:0;position:relative}.workproof-iframe{border:none;width:100%;height:100%}.workproof-loading{background:var(--bg-root);z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.workproof-loading-text{color:var(--text-tertiary);font-size:var(--fs-sm)}.workproof-error{justify-content:center;align-items:center;gap:var(--sp-4);background:var(--bg-root);z-index:1;flex-direction:column;display:flex;position:absolute;inset:0}.workproof-error p{color:var(--text-secondary);font-size:var(--fs-sm)}.workproof-error button{padding:var(--sp-2) var(--sp-4);border-radius:var(--radius-sm);background:var(--bg-elevated);border:1px solid var(--border-default);color:var(--text-primary);font:inherit;font-size:var(--fs-sm);cursor:pointer}.capability-sheet{background:var(--bg-surface);height:100%;color:var(--text-primary);flex-direction:column;display:flex}.capability-sheet-head{padding:var(--sp-4) var(--sp-4) var(--sp-3);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.capability-sheet-title{font-family:var(--ff-display);font-size:var(--fs-md);font-weight:600}.capability-sheet-close{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.capability-sheet-close:hover{background:var(--bg-hover);color:var(--text-primary)}.capability-loading{padding:var(--sp-10) var(--sp-4);text-align:center;color:var(--text-tertiary);font-size:var(--fs-sm)}.capability-body{padding:var(--sp-2) 0;flex:1;overflow-y:auto}.capability-section{padding:var(--sp-3) var(--sp-4)}.capability-section-label{font-size:var(--fs-xs);color:var(--text-tertiary);margin-bottom:var(--sp-2);align-items:center;gap:var(--sp-2);font-weight:600;display:flex}.capability-count{border-radius:var(--radius-full);background:var(--accent-primary);min-width:18px;height:18px;color:var(--text-inverse);justify-content:center;align-items:center;padding:0 5px;font-size:10px;font-weight:600;display:inline-flex}.capability-value{font-size:var(--fs-sm);color:var(--text-primary);line-height:1.5}.capability-value.mono{font-family:var(--ff-mono);font-size:var(--fs-xs);color:var(--text-secondary)}.capability-expert-badge{align-items:center;gap:var(--sp-3);padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);background:var(--bg-elevated);display:flex}.capability-expert-title{font-size:var(--fs-sm);font-weight:600}.capability-expert-sub{font-size:var(--fs-xs);color:var(--text-tertiary)}.capability-chips{gap:var(--sp-2);flex-wrap:wrap;display:flex}.capability-category{align-items:center;gap:var(--sp-1);flex-wrap:wrap;margin-bottom:2px;display:flex}.capability-category-label{color:var(--text-tertiary);padding:2px var(--sp-2);border-radius:var(--radius-sm);background:var(--bg-active);margin-right:2px;font-size:10px;font-weight:600}.capability-chip{padding:3px var(--sp-3);border-radius:var(--radius-full);font-size:var(--fs-xs);background:var(--bg-elevated);color:var(--text-secondary);cursor:default;transition:background var(--dur-fast);align-items:center;font-weight:500;display:inline-flex}.capability-chip:hover{background:var(--bg-hover)}.capability-chip.data{background:var(--accent-success-soft);color:var(--accent-success)}.capability-dev-toggle{padding:var(--sp-2) var(--sp-4);border-top:1px solid var(--border-subtle)}.capability-dev-toggle button{font-size:var(--fs-xs);color:var(--text-tertiary);cursor:pointer;padding:var(--sp-1) 0;background:0 0;border:none}.capability-dev-toggle button:hover{color:var(--text-secondary)}.capability-dev{border-top:1px solid var(--border-subtle)}.capability-prompt{font-family:var(--ff-mono);color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:var(--sp-3);white-space:pre-wrap;word-break:break-word;max-height:240px;margin:0;font-size:11px;line-height:1.6;overflow-y:auto}.capability-tool-list{flex-direction:column;gap:2px;display:flex}.capability-tool-row{align-items:center;gap:var(--sp-2);padding:3px 0;font-size:11px;display:flex}.capability-tool-name{font-family:var(--ff-mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;flex-shrink:1;min-width:0;overflow:hidden}.capability-tool-display{color:var(--text-secondary);white-space:nowrap}.capability-tool-cat{color:var(--text-tertiary);padding:1px var(--sp-2);background:var(--bg-elevated);white-space:nowrap;border-radius:3px;margin-left:auto;font-size:10px}.settings-view{background:var(--bg-root);flex-direction:column;flex:1;min-height:0;display:flex}.settings-scroll{padding:var(--sp-6) var(--sp-5);flex:1;width:100%;max-width:640px;margin:0 auto;overflow-y:auto}.settings-section{padding-bottom:var(--sp-5);margin-bottom:var(--sp-5);border-bottom:1px solid var(--border-subtle)}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section-title{font-family:var(--ff-display);font-size:var(--fs-sm);color:var(--text-tertiary);margin-bottom:var(--sp-3);font-weight:600}.settings-profile{align-items:center;gap:var(--sp-3);display:flex}.settings-avatar{background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%);width:44px;height:44px;font-size:var(--fs-lg);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex}.settings-profile-info{min-width:0}.settings-profile-name{font-size:var(--fs-base);color:var(--text-primary);font-weight:600}.settings-profile-id{font-size:var(--fs-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.settings-row{padding:var(--sp-2) 0;justify-content:space-between;align-items:center;gap:var(--sp-4);display:flex}.settings-row-stack{align-items:flex-start}.settings-label{font-size:var(--fs-sm);color:var(--text-secondary);flex-shrink:0}.settings-help{margin:var(--sp-1) 0 0;color:var(--text-tertiary);font-size:var(--fs-xs);max-width:420px;line-height:1.5}.settings-switch{border:1px solid var(--border-subtle);border-radius:var(--radius-full);background:var(--bg-elevated);cursor:pointer;width:42px;height:24px;transition:all var(--dur-fast);flex-shrink:0;padding:2px}.settings-switch span{background:var(--text-tertiary);width:18px;height:18px;transition:all var(--dur-fast);border-radius:50%;display:block}.settings-switch.on{border-color:color-mix(in srgb, var(--accent-primary) 58%, var(--border-subtle));background:var(--accent-primary-soft)}.settings-switch.on span{background:var(--accent-primary);transform:translate(18px)}.settings-value{font-size:var(--fs-sm);color:var(--text-primary);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.settings-value.mono{font-family:var(--ff-mono);font-size:var(--fs-xs);color:var(--text-secondary)}.settings-theme-toggle{background:var(--bg-elevated);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.settings-theme-toggle button{align-items:center;gap:var(--sp-1);padding:var(--sp-1) var(--sp-3);color:var(--text-tertiary);font-size:var(--fs-xs);cursor:pointer;transition:all var(--dur-fast);background:0 0;border:none;border-radius:4px;font-weight:500;display:flex}.settings-theme-toggle button.active{background:var(--bg-surface);color:var(--text-primary);box-shadow:var(--shadow-sm)}.settings-cap-loading{padding:var(--sp-4) 0;font-size:var(--fs-sm);color:var(--text-tertiary)}.settings-cap{gap:var(--sp-1);flex-direction:column;display:flex}.settings-cap-row{padding:var(--sp-2) 0;justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.settings-expert-dot{width:8px;height:8px;margin-right:var(--sp-1);background:var(--accent-warning);border-radius:50%;display:inline-block}.settings-expert-dot.expert-default{background:var(--accent-primary)}.settings-tool-chips{gap:var(--sp-1);padding:var(--sp-1) 0 var(--sp-2);flex-wrap:wrap;display:flex}.settings-chip{padding:2px var(--sp-2);border-radius:var(--radius-full);background:var(--bg-elevated);color:var(--text-secondary);align-items:center;font-size:11px;font-weight:500;display:inline-flex}.settings-chip.data{background:var(--accent-success-soft);color:var(--accent-success)}.settings-dev-section{padding-top:var(--sp-2)}.settings-dev-toggle{font-size:var(--fs-xs);color:var(--text-tertiary);cursor:pointer;padding:var(--sp-1) 0;background:0 0;border:none}.settings-dev-toggle:hover{color:var(--text-secondary)}.settings-prompt{font-family:var(--ff-mono);color:var(--text-secondary);background:var(--bg-elevated);border-radius:var(--radius-sm);padding:var(--sp-3);margin-top:var(--sp-2);white-space:pre-wrap;word-break:break-word;max-height:240px;font-size:11px;line-height:1.6;overflow-y:auto}.settings-expert-list{gap:var(--sp-2);flex-direction:column;display:flex}.settings-expert-card{align-items:center;gap:var(--sp-3);padding:var(--sp-3);border-radius:var(--radius-sm);background:var(--bg-elevated);display:flex}.settings-expert-mark{border-radius:var(--radius-md);width:36px;height:36px;font-size:var(--fs-sm);color:var(--accent-warning);background:color-mix(in srgb, var(--accent-warning-soft), var(--bg-surface) 18%);border:1px solid color-mix(in srgb, var(--accent-warning), transparent 72%);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.settings-expert-mark.expert-default{color:var(--text-inverse);background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%)}.settings-expert-info{min-width:0}.settings-expert-name{font-size:var(--fs-sm);color:var(--text-primary);font-weight:600}.settings-expert-desc{font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px;line-height:1.4}.settings-section-last{border-bottom:none}.settings-logout{width:100%;padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);color:var(--accent-danger);font-size:var(--fs-sm);cursor:pointer;transition:all var(--dur-fast);background:0 0;font-weight:500}.settings-logout:hover{background:var(--accent-danger-soft);border-color:var(--accent-danger)}@media (width<=768px){.settings-scroll{padding:var(--sp-4) var(--sp-4)}}.dashboard{-webkit-overflow-scrolling:touch;background:var(--bg-root,#f3f5f4);flex:1;min-height:0;overflow-y:auto}.dashboard-loading,.dashboard-error{min-height:200px;color:var(--text-secondary,#6b6a67);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.dashboard-error button{border:1px solid var(--border-default,#0000001a);background:var(--bg-surface,#fff);color:var(--text-primary,#1a1917);cursor:pointer;border-radius:8px;padding:8px 20px;font-family:inherit}.dashboard-empty{text-align:center;color:var(--text-tertiary,#a09f9c);padding:32px 16px;font-size:14px}.dash-top-bar{border-bottom:1px solid var(--border-subtle,#0000000d);z-index:10;background:var(--bg-root,#f3f5f4);justify-content:space-between;align-items:center;padding:14px 24px 12px;display:flex;position:sticky;top:0}.dash-top-left{align-items:baseline;gap:10px;display:flex}.dash-top-bar h1{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.dash-date-label{color:var(--text-tertiary,#a09f9c);font-family:JetBrains Mono,monospace;font-size:12px}.dash-top-right{align-items:center;gap:8px;display:flex}.dash-top-btn{background:var(--bg-surface,#fff);border:1px solid var(--border-default,#0000001a);color:var(--text-secondary,#6b6a67);cursor:pointer;border-radius:8px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s}.dash-top-btn:hover{background:var(--bg-hover,#eef1f0);color:var(--text-primary,#1a1917);border-color:var(--border-strong,#0000002e)}.kpi-strip{grid-template-columns:repeat(4,1fr);gap:12px;padding:16px 24px 8px;display:grid}.kpi-tile{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);border-radius:12px;padding:14px 16px;animation:.35s both fadeUp;position:relative;overflow:hidden}.kpi-tile:first-child{animation-delay:40ms}.kpi-tile:nth-child(2){animation-delay:80ms}.kpi-tile:nth-child(3){animation-delay:.12s}.kpi-tile:nth-child(4){animation-delay:.16s}.kpi-tile:before{content:"";border-radius:12px 12px 0 0;height:2.5px;position:absolute;top:0;left:0;right:0}.kpi-tile.success:before{background:var(--accent-success,#3a8a60)}.kpi-tile.warning:before{background:var(--accent-warning,#b07c2e)}.kpi-tile.danger:before{background:var(--accent-danger,#b04040)}.kpi-tile.info:before{background:var(--accent-info,#6a8eb0)}.kpi-label{color:var(--text-tertiary,#a09f9c);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.kpi-row{align-items:baseline;gap:6px;display:flex}.kpi-value{font-family:JetBrains Mono,monospace;font-size:26px;font-weight:500;line-height:1.1}.kpi-tile.success .kpi-value{color:var(--accent-success,#3a8a60)}.kpi-tile.warning .kpi-value{color:var(--accent-warning,#b07c2e)}.kpi-tile.danger .kpi-value{color:var(--accent-danger,#b04040)}.kpi-tile.info .kpi-value{color:var(--accent-info,#6a8eb0)}.kpi-sub{color:var(--text-tertiary,#a09f9c);margin-top:2px;font-size:11px}.suggestions{flex-wrap:wrap;gap:6px;padding:8px 24px 4px;display:flex}.suggestion-chip{background:var(--bg-surface,#fff);border:1px solid var(--border-default,#0000001a);color:var(--text-secondary,#6b6a67);cursor:pointer;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:500;transition:all .15s;animation:.35s both fadeUp;display:inline-flex}.suggestion-chip:hover{background:var(--accent-primary-soft,#4a9a841a);color:var(--accent-primary,#4a9a84);border-color:var(--accent-primary,#4a9a84)}.chip-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px}.chip-dot.warning{background:var(--accent-warning,#b07c2e)}.chip-dot.critical,.chip-dot.danger{background:var(--accent-danger,#b04040)}.chip-dot.info{background:var(--text-tertiary,#a09f9c)}.main-grid{grid-template-columns:1fr 320px;gap:0;min-height:calc(100vh - 200px);display:grid}.sites-area{padding:12px 24px 24px}.section-label{color:var(--text-tertiary,#a09f9c);letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:600}.site-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.site-card{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);cursor:pointer;box-shadow:var(--shadow-sm,0 1px 3px #0000000f);animation:.35s both fadeUp;animation-delay:calc(.12s + 40ms * var(--i,0));border-radius:12px;padding:16px 18px;transition:all .2s}.site-card:hover{border-color:var(--border-strong,#0000002e);box-shadow:var(--shadow-md,0 4px 16px #00000014);transform:translateY(-1px)}.site-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.site-name{flex:1;font-size:14px;font-weight:600;line-height:1.3}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:5px;margin-left:8px}.status-dot.on{background:var(--accent-success,#3a8a60);box-shadow:0 0 5px var(--accent-success-soft,#3a8a6014)}.status-dot.off{background:var(--text-tertiary,#a09f9c);opacity:.5}.status-dot.warn{background:var(--accent-warning,#b07c2e)}.site-stats{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:10px;display:grid}.site-stat{background:var(--bg-elevated,#f6f8f7);border-radius:8px;padding:8px 10px}.stat-label{color:var(--text-tertiary,#a09f9c);letter-spacing:.04em;margin-bottom:2px;font-size:10px;font-weight:500}.stat-val{font-family:JetBrains Mono,monospace;font-size:17px;font-weight:500}.stat-val.success{color:var(--accent-success,#3a8a60)}.stat-val.warning{color:var(--accent-warning,#b07c2e)}.stat-val.danger{color:var(--accent-danger,#b04040)}.stat-val.muted{color:var(--text-tertiary,#a09f9c)}.site-workers{flex-wrap:wrap;gap:4px;display:flex}.worker-tag{background:var(--accent-primary-soft,#4a9a841a);color:var(--accent-primary,#4a9a84);border-radius:10px;padding:2px 8px;font-size:11px;font-weight:500}.worker-tag.extra{background:var(--bg-elevated,#f6f8f7);color:var(--text-tertiary,#a09f9c)}.site-addr{color:var(--text-tertiary,#a09f9c);white-space:nowrap;text-overflow:ellipsis;margin-top:8px;font-size:11px;overflow:hidden}.events-panel{border-left:1px solid var(--border-subtle,#0000000d);background:var(--bg-surface,#fff);max-height:calc(100vh - 200px);padding:12px 18px 24px;overflow-y:auto}.event-row{border-bottom:1px solid var(--border-subtle,#0000000d);align-items:flex-start;gap:8px;padding:9px 0;display:flex}.event-row:last-child{border-bottom:none}.ev-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.ev-dot.critical{background:var(--accent-danger,#b04040)}.ev-dot.warning{background:var(--accent-warning,#b07c2e)}.ev-dot.info{background:var(--text-tertiary,#a09f9c)}.ev-body{flex:1;min-width:0}.ev-title{font-size:13px;font-weight:500;line-height:1.35}.ev-meta{color:var(--text-tertiary,#a09f9c);margin-top:1px;font-size:11px}.ev-time{color:var(--text-tertiary,#a09f9c);flex-shrink:0;font-family:JetBrains Mono,monospace;font-size:11px}.section-toggle{cursor:pointer;width:100%;color:var(--text-primary,#1d1c1a);text-align:left;background:0 0;border:none;align-items:center;gap:6px;padding:10px 0;font-size:13px;font-weight:600;display:flex}.section-toggle:hover{opacity:.75}.toggle-arrow{color:var(--text-tertiary,#a09f9c);width:12px;font-size:10px}.section-count{color:var(--text-tertiary,#a09f9c);background:var(--bg-hover,#0000000a);border-radius:10px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:500}.history-label{border-top:1px solid var(--border-subtle,#00000014);align-items:center;gap:8px;margin-top:12px;padding-top:12px;display:flex}.history-date-picker{border:1px solid var(--border-subtle,#0000001f);background:var(--bg-surface,#fff);color:var(--text-primary,#1d1c1a);cursor:pointer;border-radius:6px;margin-left:auto;padding:3px 8px;font-size:12px}.history-date-group{margin-top:4px}.history-date-header{color:var(--text-tertiary,#a09f9c);background:var(--bg-surface,#fff);padding:6px 0 2px;font-size:11px;font-weight:600;position:sticky;top:0}.detail-overlay{z-index:100;background:#00000059;justify-content:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.detail-panel{background:var(--bg-root,#f3f5f4);-webkit-overflow-scrolling:touch;width:min(480px,90vw);height:100%;animation:.25s slideInRight;overflow-y:auto;box-shadow:-4px 0 24px #0000001f}.detail-header{border-bottom:1px solid var(--border-subtle,#0000000d);padding:20px 24px 16px;position:relative}.detail-header h2{margin:0 0 4px;padding-right:36px;font-size:18px;font-weight:700}.detail-close{border:1px solid var(--border-default,#0000001a);background:var(--bg-surface,#fff);cursor:pointer;width:28px;height:28px;color:var(--text-secondary,#6b6a67);border-radius:50%;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex;position:absolute;top:16px;right:20px}.detail-close:hover{background:var(--bg-hover,#eef1f0);border-color:var(--border-strong,#0000002e)}.detail-addr{color:var(--text-tertiary,#a09f9c);font-size:12px}.detail-party{color:var(--accent-primary,#4a9a84);margin-top:2px;font-size:12px;font-weight:500}.detail-body{padding:16px 24px 32px}.detail-amounts{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.detail-amount-tile{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);border-radius:12px;padding:14px 16px}.detail-amount-label{color:var(--text-tertiary,#a09f9c);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.detail-amount-value{color:var(--text-primary,#1a1917);font-family:JetBrains Mono,monospace;font-size:20px;font-weight:500}.detail-amount-sub{color:var(--text-tertiary,#a09f9c);margin-top:2px;font-size:11px}.detail-section{margin-bottom:20px}.detail-section .section-label{margin-bottom:8px}.detail-worker-list{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);border-radius:12px;overflow:hidden}.detail-worker-row{border-bottom:1px solid var(--border-subtle,#0000000d);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.detail-worker-row:last-child{border-bottom:none}.detail-worker-name{font-size:13px;font-weight:500}.detail-worker-stat{color:var(--text-tertiary,#a09f9c);font-family:JetBrains Mono,monospace;font-size:12px}.detail-worker-anomaly{color:var(--accent-warning,#b07c2e)}.detail-proj-row{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);border-radius:10px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:10px 16px;transition:all .15s;display:flex}.detail-proj-row.clickable{cursor:pointer}.detail-proj-row.clickable:hover{border-color:var(--accent-primary,#4a9a84);background:var(--accent-primary-soft,#4a9a840a)}.detail-proj-info{flex:1;min-width:0}.detail-proj-doc{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.detail-proj-vendor{color:var(--text-tertiary,#a09f9c);margin-top:1px;font-size:11px}.detail-proj-right{text-align:right;flex-shrink:0;margin-left:12px}.detail-proj-amount{color:var(--text-primary,#1a1917);font-family:JetBrains Mono,monospace;font-size:13px;font-weight:500}.detail-proj-meta{color:var(--text-tertiary,#a09f9c);font-size:11px}.detail-footer{text-align:center;color:var(--text-tertiary,#a09f9c);border-top:1px solid var(--border-subtle,#0000000d);padding-top:8px;font-size:11px}.proj-detail-overlay{z-index:10;background:#00000040;justify-content:flex-end;animation:.15s fadeIn;display:flex;position:absolute;inset:0}.proj-detail-panel{background:var(--bg-root,#f3f5f4);-webkit-overflow-scrolling:touch;width:100%;height:100%;animation:.2s slideInRight;overflow-y:auto}.proj-download-btn{background:var(--bg-surface,#fff);border:1px solid var(--border-default,#0000001a);color:var(--accent-primary,#4a9a84);cursor:pointer;border-radius:8px;align-items:center;gap:6px;margin-top:10px;padding:6px 14px;font-size:12px;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.proj-download-btn:hover{background:var(--accent-primary-soft,#4a9a841a);border-color:var(--accent-primary,#4a9a84)}.proj-detail-type{color:var(--accent-primary,#4a9a84);letter-spacing:.04em;margin-bottom:4px;font-size:11px;font-weight:600}.proj-header-grid{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px;display:grid}.proj-header-item{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);border-radius:8px;justify-content:space-between;padding:8px 12px;font-size:12px;display:flex}.proj-header-item>span:first-child{color:var(--text-tertiary,#a09f9c);font-weight:500}.proj-line-table{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);border-radius:12px;overflow:hidden}.proj-line-header{color:var(--text-tertiary,#a09f9c);letter-spacing:.04em;border-bottom:1px solid var(--border-subtle,#0000000d);background:var(--bg-elevated,#f6f8f7);padding:8px 12px;font-size:10px;font-weight:600;display:flex}.proj-line-row{border-bottom:1px solid var(--border-subtle,#0000000d);align-items:baseline;padding:8px 12px;font-size:12px;display:flex}.proj-line-row:last-child{border-bottom:none}.proj-col-idx{width:28px;color:var(--text-tertiary,#a09f9c);flex-shrink:0}.proj-col-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.proj-col-qty{text-align:right;flex-shrink:0;width:70px}.proj-col-price{text-align:right;width:80px;color:var(--text-secondary,#6b6a67);flex-shrink:0}.proj-col-amt{text-align:right;flex-shrink:0;width:90px;font-family:JetBrains Mono,monospace;font-weight:500}.proj-summary-row{border-top:1px solid var(--border-default,#0000001a);background:var(--bg-elevated,#f6f8f7)}.proj-summary-label{color:var(--text-secondary,#6b6a67);font-weight:600}.proj-total-row{border-top:2px solid var(--border-strong,#0000002e);background:var(--bg-elevated,#f6f8f7)}.proj-total-row .proj-total-value{color:var(--text-primary,#1a1917);font-size:14px;font-weight:700}.proj-line-loc{color:var(--text-tertiary,#a09f9c);margin-top:1px;font-size:10px;display:block}.proj-line-unit{color:var(--text-tertiary,#a09f9c);margin-left:2px;font-size:10px}.proj-notes{background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000d);box-shadow:var(--shadow-sm,0 1px 3px #0000000f);border-radius:10px;padding:12px 16px}.proj-note-line{color:var(--text-secondary,#6b6a67);font-size:12px;line-height:1.6}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (width<=900px){.main-grid{grid-template-columns:1fr}.events-panel{border-left:none;border-top:1px solid var(--border-subtle,#0000000d);max-height:none}.kpi-strip{grid-template-columns:repeat(2,1fr)}}@media (width<=500px){.site-grid{grid-template-columns:1fr}.kpi-strip{gap:8px;padding:12px 16px}.sites-area,.suggestions,.dash-top-bar{padding-left:16px;padding-right:16px}}[data-theme=dark] .dashboard,[data-theme=dark] .dash-top-bar{background:var(--bg-root,#0c0c0e)}[data-theme=dark] .site-card,[data-theme=dark] .kpi-tile{background:var(--bg-surface,#141416);border-color:var(--border-subtle,#ffffff0f)}[data-theme=dark] .events-panel{background:var(--bg-surface,#141416)}[data-theme=dark] .site-stat,[data-theme=dark] .worker-tag.extra{background:var(--bg-elevated,#1c1c20)}[data-theme=dark] .dash-top-btn,[data-theme=dark] .suggestion-chip,[data-theme=dark] .dashboard-error button{background:var(--bg-surface,#141416);border-color:var(--border-default,#ffffff1a)}[data-theme=dark] .detail-panel{background:var(--bg-root,#0c0c0e)}[data-theme=dark] .detail-close{background:var(--bg-surface,#141416);border-color:var(--border-default,#ffffff1a)}[data-theme=dark] .detail-amount-tile,[data-theme=dark] .detail-worker-list,[data-theme=dark] .detail-proj-row{background:var(--bg-surface,#141416);border-color:var(--border-subtle,#ffffff0f)}[data-theme=dark] .detail-overlay,[data-theme=dark] .proj-detail-overlay{background:#0000008c}[data-theme=dark] .proj-detail-panel{background:var(--bg-root,#0c0c0e)}[data-theme=dark] .proj-header-item,[data-theme=dark] .proj-total-bar,[data-theme=dark] .proj-line-table,[data-theme=dark] .proj-notes{background:var(--bg-surface,#141416);border-color:var(--border-subtle,#ffffff0f)}[data-theme=dark] .proj-line-header,[data-theme=dark] .proj-summary-row,[data-theme=dark] .proj-total-row{background:var(--bg-elevated,#1c1c20)}.search-view{background:var(--bg-root,#f3f5f4);height:100%;min-height:0;display:flex;position:relative}.search-panel{border-right:1px solid var(--border-subtle,#0000000f);background:var(--bg-surface,#fff);flex-direction:column;flex-shrink:0;width:340px;min-width:280px;max-width:400px;transition:width .25s,min-width .25s;display:flex}.search-panel-header{flex-shrink:0;padding:16px 16px 8px}.search-input-wrap{background:var(--bg-root,#f3f5f4);border:1.5px solid #0000;border-radius:10px;align-items:center;gap:8px;padding:0 12px;transition:border-color .2s,box-shadow .2s;display:flex}.search-input-wrap:focus-within{border-color:var(--accent-primary,#4a9a84);box-shadow:0 0 0 3px #4a9a8414}.search-input-wrap.voice-active{border-color:var(--accent-info,#4a8ac2);padding:6px 12px;box-shadow:0 0 0 3px #4a8ac21a}.search-icon{width:16px;height:16px;color:var(--text-tertiary,#a09f9c);flex-shrink:0}.search-input{width:0;min-width:0;color:var(--text-primary,#1d1c1a);background:0 0;border:none;outline:none;flex:1;padding:10px 0;font-family:inherit;font-size:14px}.search-input::placeholder{color:var(--text-tertiary,#a09f9c)}.search-clear{color:var(--text-tertiary,#a09f9c);cursor:pointer;background:0 0;border:none;border-radius:50%;padding:4px;font-size:13px;line-height:1;transition:background .15s}.search-clear:hover{color:var(--text-primary,#1d1c1a);background:#0000000f}.search-voice-btn{width:28px;height:28px;color:var(--accent-info,#4a8ac2);cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;transition:all .15s;display:flex}.search-voice-btn:hover{background:#4a8ac21a}.search-voice-bar{flex:1;align-items:center;gap:10px;min-height:32px;display:flex}.search-voice-dot{background:var(--accent-info,#4a8ac2);border-radius:50%;flex-shrink:0;width:12px;height:12px;box-shadow:0 0 0 4px #4a8ac226}.search-voice-dot.recording{animation:1.1s ease-in-out infinite voice-pulse-search}.search-voice-dot.transcribing{background:var(--accent-primary,#4a9a84);box-shadow:0 0 0 4px #4a9a8426}@keyframes voice-pulse-search{0%,to{opacity:.85;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}.search-voice-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.search-voice-title{color:var(--text-primary,#1d1c1a);font-size:12px;font-weight:500}.search-voice-sub{color:var(--text-tertiary,#a09f9c);font-size:10px}.search-voice-stop{background:var(--accent-danger,#d9534f);color:#fff;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;transition:opacity .12s;display:flex}.search-voice-stop:hover{opacity:.85}.search-voice-spinner{border:2px solid var(--border-subtle,#00000014);border-top-color:var(--accent-primary,#4a9a84);border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.75s linear infinite spin}.search-voice-error{color:var(--accent-danger,#d9534f);background:color-mix(in srgb, var(--accent-danger,#d9534f), transparent 90%);border-radius:6px;margin-top:6px;padding:4px 8px;font-size:11px}.search-summary{color:var(--text-tertiary,#a09f9c);letter-spacing:.02em;padding:6px 4px 0;font-size:11px;font-weight:500}.search-results-list{flex:1;padding:4px 8px 16px;overflow-y:auto}.search-status{text-align:center;color:var(--text-tertiary,#a09f9c);padding:24px 16px;font-size:13px}.search-empty-state{flex-direction:column;align-items:center;gap:8px;padding:48px 20px;display:flex}.empty-glyph{width:48px;height:48px;color:var(--text-tertiary,#a09f9c);opacity:.5;margin-bottom:4px}.empty-glyph svg{width:100%;height:100%}.empty-title{color:var(--text-secondary,#6b6a67);font-size:14px;font-weight:500}.empty-hint{color:var(--text-tertiary,#a09f9c);letter-spacing:.15em;font-size:12px}.search-result-item{border-radius:8px;align-items:center;gap:0;width:100%;font-family:inherit;transition:background .12s;display:flex}.search-result-item:hover{background:var(--bg-hover,#00000008)}.search-result-item.viewing{background:var(--accent-primary-soft,#4a9a8414)}.search-result-item.ref-selected{background:color-mix(in srgb, var(--accent-primary,#4a9a84), transparent 93%)}.result-select-btn{cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:6px;transition:all .15s;display:flex;position:relative}.result-select-btn:before{content:"";border:1.5px solid var(--border-default,#00000026);border-radius:4px;width:16px;height:16px;transition:all .15s;position:absolute}.result-select-btn:hover:before{border-color:var(--sel-color,#888)}.result-select-btn.selected:before{background:var(--sel-color,#888);border-color:var(--sel-color,#888)}.result-select-btn.selected{color:#fff}.result-select-btn.selected svg{z-index:1;position:relative}.result-body{cursor:pointer;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:10px;min-width:0;padding:10px 10px 10px 4px;font-family:inherit;display:flex}.result-type-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.result-content{flex:1;min-width:0}.result-label{color:var(--text-primary,#1d1c1a);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;line-height:1.35;overflow:hidden}.result-tier-badge{vertical-align:middle;letter-spacing:.03em;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:9px;font-weight:600;line-height:1.4;display:inline-block}.tier-relation{color:#7c5cbf;background:#7c5cbf1f}.tier-phonetic{color:#059669;background:#10b9811f}.tier-vector{color:#3b82f6;background:#3b82f61f}.result-meta{color:var(--text-tertiary,#a09f9c);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:flex}.result-type-name{letter-spacing:.02em;font-size:10px;font-weight:600}.meta-sep{opacity:.4}.result-arrow{width:14px;height:14px;color:var(--text-tertiary,#a09f9c);opacity:0;flex-shrink:0;transition:opacity .15s}.search-result-item:hover .result-arrow,.search-result-item.viewing .result-arrow{opacity:.6}.result-open-btn{width:30px;height:30px;color:var(--text-tertiary,#a09f9c);opacity:0;cursor:pointer;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;margin-right:6px;transition:all .15s;display:flex}.search-result-item:hover .result-open-btn{opacity:.7}.result-open-btn:hover{background:var(--accent-primary-soft,#4a9a841a);color:var(--accent-primary,#4a9a84);opacity:1!important}.graph-panel{flex-direction:column;flex:1;min-width:0;display:flex;position:relative;overflow:hidden}.graph-breadcrumbs{background:var(--bg-surface,#fff);border-bottom:1px solid var(--border-subtle,#0000000d);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:10px 16px;font-size:12px;display:flex}.bc-sep{color:var(--text-tertiary,#a09f9c);margin:0 2px}.bc-item{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:12px;font-weight:500;transition:background .12s}.bc-item:hover{background:#0000000a}.bc-item.current{font-weight:600}.relation-graph{flex:1;min-height:400px;position:relative;overflow:hidden}.graph-edges-svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.graph-edge-path{fill:none;stroke:var(--border-default,#0000001f);stroke-width:1.2px;pointer-events:stroke;cursor:default;stroke-dasharray:1000;stroke-dashoffset:1000px;transition:stroke .2s,stroke-width .2s;animation:.6s ease-out forwards edge-draw}.graph-edge-path.active{stroke-width:2px}@keyframes edge-draw{to{stroke-dashoffset:0}}.graph-edge-label{fill:var(--text-secondary,#6b6a67);paint-order:stroke;stroke:var(--bg-root,#f3f5f4);stroke-width:3px;font-size:10px;font-weight:500}.graph-node{border:1.5px solid var(--border-default,#0000001a);background:var(--bg-surface,#fff);white-space:nowrap;z-index:5;animation:.4s cubic-bezier(.34,1.56,.64,1) backwards node-appear;animation-delay:var(--node-delay,0s);border-radius:8px;align-items:center;font-family:inherit;transition:transform .2s,box-shadow .2s,border-color .2s,opacity .25s;display:flex;position:absolute;transform:translate(-50%,-50%)}.graph-node-body{cursor:pointer;white-space:nowrap;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;display:flex}.graph-node:hover{z-index:15;border-color:var(--node-color);transform:translate(-50%,-50%)scale(1.06);box-shadow:0 4px 16px -2px #0000001f}.graph-node.active{z-index:15;border-color:var(--node-color);box-shadow:0 4px 16px -2px #0000001f}.graph-node.connected{border-color:var(--node-color);opacity:1}.graph-node.dimmed{opacity:.35}.graph-node.ref-selected{border-color:var(--node-color);box-shadow:0 0 0 3px color-mix(in srgb, var(--node-color,#4a9a84), transparent 70%), 0 2px 8px -2px #0000001a}.graph-node.center{z-index:10;border-width:2px;border-color:var(--node-color);background:var(--bg-surface,#fff);cursor:default;animation-delay:0s}.graph-node.center .graph-node-body{cursor:default;padding:8px 16px}.graph-node.center .node-label{font-size:14px;font-weight:600}.graph-node-pin{width:22px;height:22px;color:var(--text-tertiary,#a09f9c);opacity:0;cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;margin-right:4px;transition:all .15s;display:flex}.graph-node:hover .graph-node-pin{opacity:.7}.graph-node-pin:hover{color:var(--node-color,#4a9a84);background:#0000000f;opacity:1!important}.graph-node-pin.pinned{opacity:1;color:var(--node-color,#4a9a84);background:color-mix(in srgb, var(--node-color,#4a9a84), transparent 85%)}@keyframes node-appear{0%{opacity:0;transform:translate(-50%,-50%)scale(.3)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.node-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.graph-node.center .node-dot{width:9px;height:9px}.node-label{color:var(--text-primary,#1d1c1a);font-size:12px;font-weight:500;line-height:1.2}.node-type-tag{letter-spacing:.03em;opacity:.7;font-size:9px;font-weight:600}.center-ring{opacity:.15;pointer-events:none;z-index:1;border:1.5px dashed;border-radius:50%;width:72px;height:72px;animation:3s ease-in-out infinite ring-pulse;position:absolute;transform:translate(-50%,-50%)}@keyframes ring-pulse{0%,to{opacity:.15;transform:translate(-50%,-50%)scale(1)}50%{opacity:.08;transform:translate(-50%,-50%)scale(1.15)}}.graph-stats{color:var(--text-tertiary,#a09f9c);background:var(--bg-surface,#fff);border:1px solid var(--border-subtle,#0000000f);z-index:20;border-radius:6px;padding:4px 10px;font-size:11px;font-weight:500;position:absolute;bottom:12px;right:16px}.graph-loading{color:var(--text-tertiary,#a09f9c);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:13px;display:flex}.loading-pulse{border:2px solid var(--border-subtle,#00000014);border-top-color:var(--accent-primary,#4a9a84);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.graph-empty-state{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;display:flex}.graph-empty-visual{width:100px;height:100px;color:var(--text-tertiary,#a09f9c);opacity:.3}.graph-empty-visual svg{width:100%;height:100%}.graph-empty-text{color:var(--text-tertiary,#a09f9c);font-size:13px}.search-action-bar{background:color-mix(in srgb, var(--bg-surface,#fff), transparent 5%);-webkit-backdrop-filter:blur(16px)saturate(1.2);border:1px solid var(--border-subtle,#00000014);z-index:30;border-radius:12px;align-items:center;gap:12px;max-width:calc(100% - 32px);padding:8px 12px 8px 16px;animation:.25s cubic-bezier(.34,1.56,.64,1) action-bar-in;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 8px 32px -4px #0000001f,0 2px 8px -2px #0000000f}@keyframes action-bar-in{0%{opacity:0;transform:translate(-50%)translateY(12px)scale(.95)}}.action-bar-left{align-items:center;gap:8px;min-width:0;display:flex}.action-bar-count{background:var(--accent-primary,#4a9a84);color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.action-bar-label{color:var(--text-secondary,#6b6a67);flex-shrink:0;font-size:12px;font-weight:500}.action-bar-types{scrollbar-width:none;gap:4px;display:flex;overflow-x:auto}.action-bar-types::-webkit-scrollbar{display:none}.action-bar-type-pill{color:var(--pill-color,#888);background:color-mix(in srgb, var(--pill-color,#888), transparent 88%);white-space:nowrap;border-radius:4px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.action-bar-right{flex-shrink:0;align-items:center;gap:6px;display:flex}.action-bar-clear{color:var(--text-tertiary,#a09f9c);cursor:pointer;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;transition:all .12s}.action-bar-clear:hover{color:var(--text-primary,#1d1c1a);background:#0000000d}.action-bar-bring{color:#fff;background:linear-gradient(135deg, var(--accent-primary,#4a9a84) 0%, #5aa898 100%);cursor:pointer;white-space:nowrap;border-radius:8px;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:600;transition:all .15s;display:flex}.action-bar-bring:hover{background:linear-gradient(135deg,#3d8d77 0%,#4d9a8a 100%);box-shadow:0 2px 8px -2px #4a9a8466}.search-view.graph-hidden .graph-panel{display:none}.search-view.graph-hidden .search-panel{border-right:none;flex:1;width:100%;min-width:0;max-width:none}.search-date-filter{align-items:center;gap:6px;padding:4px 12px 8px;display:flex}.search-date-input{border:1px solid var(--border-default,#d1d5db);background:var(--bg-surface,#fff);color:var(--text-primary,#1f2937);border-radius:6px;flex:1;min-width:0;padding:4px 8px;font-size:13px}.search-date-input:focus{border-color:var(--accent,#3b82f6);outline:none}.search-date-sep{color:var(--text-tertiary,#9ca3af);flex-shrink:0;font-size:13px}.search-date-clear{color:var(--text-tertiary,#9ca3af);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:4px;font-size:12px}.search-date-clear:hover{color:var(--text-secondary,#6b7280)}.graph-mobile-back{display:none}@media (width<=700px){.search-view{flex-direction:column}.search-panel{border-bottom:none;border-right:none;flex:1;width:100%;max-width:none;overflow-y:auto}.graph-panel{z-index:200;background:var(--bg-surface,#fff);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;display:none;position:fixed;inset:0}.search-view .graph-panel.mobile-graph-open{display:flex}.graph-mobile-back{color:var(--accent-primary,#4a9a84);background:var(--bg-surface,#fff);border:none;border-bottom:1px solid var(--border-subtle,#0000000f);cursor:pointer;flex-shrink:0;align-items:center;gap:6px;padding:14px 16px;font-size:15px;font-weight:600;display:flex}.graph-panel .relation-graph{flex:1;min-height:0}.search-voice-btn{background:#4a8ac214;border-radius:50%;width:36px;height:36px}.search-voice-btn svg{width:20px;height:20px}.search-date-input{max-width:130px;padding:6px 4px;font-size:12px}.search-date-clear{background:var(--bg-secondary,#f3f4f6);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;display:inline-flex}.search-action-bar{flex-wrap:wrap;bottom:8px}.action-bar-types{display:none}}[data-theme=dark] .search-panel{background:var(--bg-surface,#141416)}[data-theme=dark] .search-input-wrap{background:var(--bg-elevated,#1c1c20)}[data-theme=dark] .graph-edge-label{stroke:var(--bg-root,#0c0c0e)}[data-theme=dark] .graph-node{background:var(--bg-surface,#141416);border-color:var(--border-default,#ffffff1a)}[data-theme=dark] .graph-node:hover,[data-theme=dark] .graph-node.active,[data-theme=dark] .graph-node.connected{border-color:var(--node-color)}[data-theme=dark] .center-ring{opacity:.1}[data-theme=dark] .graph-stats{background:var(--bg-surface,#141416);border-color:var(--border-subtle,#ffffff0f)}[data-theme=dark] .search-action-bar{background:color-mix(in srgb, var(--bg-elevated,#1c1c20), transparent 10%);border-color:var(--border-subtle,#ffffff14)}[data-theme=dark] .result-select-btn:before{border-color:var(--border-default,#ffffff26)}[data-theme=dark] .graph-node-pin:hover{background:#ffffff14}.search-type-chips{flex-wrap:wrap;gap:6px;padding:8px 12px 4px;display:flex}.search-type-chip{border:1px solid var(--border-default,#d1d5db);color:var(--text-secondary,#6b7280);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;padding:3px 10px;font-size:12px;transition:all .15s}.search-type-chip:hover{border-color:var(--text-secondary,#9ca3af)}.search-type-chip.active{border-color:#0000;font-weight:500}.search-result-group{margin-bottom:4px}.search-group-header{color:var(--text-secondary,#6b7280);background:var(--bg-root,#f9fafb);z-index:1;border-left:3px solid #0000;align-items:center;gap:6px;padding:8px 12px 4px;font-size:12px;font-weight:500;display:flex;position:sticky;top:0}.search-group-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.search-group-label{flex-shrink:0}.search-group-count{color:var(--text-tertiary,#9ca3af);font-weight:400}[data-theme=dark] .search-type-chip{border-color:var(--border-default,#ffffff1f);color:var(--text-secondary,#9ca3af)}[data-theme=dark] .search-date-input{background:var(--bg-elevated,#1c1c20);border-color:var(--border-default,#ffffff1f);color:var(--text-primary,#e5e7eb)}[data-theme=dark] .search-group-header{background:var(--bg-root,#0c0c0e)}.question-center{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent-primary) 10%, transparent) 0, transparent 36%), linear-gradient(180deg, color-mix(in srgb, var(--bg-secondary) 72%, #f5efe2) 0%, var(--bg-primary) 24%, var(--bg-primary) 100%);flex-direction:column;height:100%;display:flex;overflow:hidden}.qc-header{justify-content:space-between;align-items:center;gap:var(--sp-4);padding:var(--sp-4) var(--sp-5) var(--sp-3);border-bottom:1px solid var(--border-secondary);display:flex}.qc-header--list{padding-bottom:var(--sp-2);border-bottom:none}.qc-header-copy{flex-direction:column;gap:4px;display:flex}.qc-kicker{text-transform:uppercase;letter-spacing:.18em;color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem}.qc-header h2{color:var(--text-primary);margin:0;font-size:1.18rem;font-weight:600}.qc-header-metrics{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.qc-count{color:#fff;background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 85%, #f59e0b) 0%, color-mix(in srgb, var(--accent-primary) 75%, #0f172a) 100%);text-align:center;border-radius:999px;min-width:52px;padding:6px 12px;font-size:1.05rem;box-shadow:0 10px 20px #0f172a1f}.qc-count-caption{color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.qc-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 0;font-size:.85rem;display:flex}.qc-back:hover{color:var(--text-primary)}.qc-toolbar-shell{margin:0 var(--sp-5) var(--sp-4);padding:var(--sp-4);border:1px solid color-mix(in srgb, var(--border-secondary) 78%, #d7c6a6);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-primary) 86%, #fff8ef) 0%, color-mix(in srgb, var(--bg-secondary) 70%, #fbf6ee) 100%);border-radius:18px;box-shadow:inset 0 1px #ffffffbf,0 16px 36px #0f172a0f}.qc-toolbar-kicker{letter-spacing:.18em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--sp-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.qc-toolbar-grid{gap:var(--sp-3);grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);align-items:end;display:grid}.qc-search-field,.qc-date-field,.qc-filter-bank{flex-direction:column;gap:8px;display:flex}.qc-field-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.qc-search-input{border:1px solid color-mix(in srgb, var(--border-secondary) 80%, #d5c2a0);width:100%;min-width:0;color:var(--text-primary);background:#ffffffc7;border-radius:14px;outline:none;padding:12px 14px;font-size:.92rem;transition:border-color .18s,box-shadow .18s,transform .18s}.qc-search-input:focus,.qc-date-input:focus{border-color:color-mix(in srgb, var(--accent-primary) 55%, #eab308);box-shadow:0 0 0 4px color-mix(in srgb, var(--accent-primary) 14%, transparent);transform:translateY(-1px)}.qc-date-filter{border:1px solid color-mix(in srgb, var(--border-secondary) 80%, #d5c2a0);background:#ffffffc7;border-radius:14px;align-items:center;gap:10px;padding:12px 14px;display:flex}.qc-date-input{width:100%;min-width:0;color:var(--text-primary);background:0 0;border:none;outline:none;font-size:.9rem}.qc-date-sep{color:var(--text-tertiary);font-size:.84rem}.qc-date-clear{background:color-mix(in srgb, var(--accent-primary) 10%, #fff);color:var(--text-secondary);cursor:pointer;border:none;border-radius:999px;width:24px;height:24px}.qc-filter-banks{gap:var(--sp-3);margin-top:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.qc-chip-row{flex-wrap:wrap;gap:8px;display:flex}.qc-filter-btn{border:1px solid color-mix(in srgb, var(--border-secondary) 84%, #d5c2a0);color:var(--text-secondary);cursor:pointer;background:#ffffffb8;border-radius:999px;padding:6px 12px;font-size:.76rem;transition:all .15s}.qc-filter-btn:hover{background:color-mix(in srgb, var(--bg-tertiary) 75%, #fffaf2);border-color:color-mix(in srgb, var(--accent-primary) 35%, var(--border-secondary))}.qc-filter-btn.active{background:linear-gradient(135deg, color-mix(in srgb, var(--accent-primary) 78%, #f59e0b) 0%, color-mix(in srgb, var(--accent-primary) 62%, #0f172a) 100%);color:#fff;border-color:#0000;box-shadow:0 10px 18px #0f172a1f}.qc-toolbar-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-top:var(--sp-3);display:flex}.qc-toolbar-summary{color:var(--text-secondary);font-size:.82rem}.qc-reset-btn{color:var(--text-secondary);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.8rem;text-decoration:underline}.qc-list{padding:0 var(--sp-5);flex:1;overflow-y:auto}.qc-loading,.qc-empty{padding:var(--sp-8) var(--sp-4);text-align:center;color:var(--text-tertiary);font-size:.9rem}.qc-card{padding:var(--sp-3) var(--sp-4);margin-bottom:var(--sp-3);border:1px solid color-mix(in srgb, var(--border-secondary) 84%, #d7c6a6);background:color-mix(in srgb, var(--bg-primary) 90%, #fffaf4);cursor:pointer;border-radius:16px;transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;box-shadow:0 10px 24px #0f172a0a}.qc-card:hover{background:color-mix(in srgb, var(--bg-secondary) 72%, #fff8f0);transform:translateY(-1px);box-shadow:0 16px 30px #0f172a14}.qc-card-open{border-left:4px solid color-mix(in srgb, var(--accent-primary) 76%, #f59e0b)}.qc-card-header{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;display:flex}.qc-card-title{color:var(--text-primary);font-size:.94rem;font-weight:600;line-height:1.4}.qc-card-preview{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:8px;font-size:.83rem;line-height:1.55;display:-webkit-box;overflow:hidden}.qc-card-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:8px;margin-top:10px;font-size:.75rem;display:flex}.qc-status{border-radius:999px;padding:3px 8px;font-size:.7rem;font-weight:500}.qc-status-open{color:#3b82f6;background:#3b82f620}.qc-status-resolved{color:#22c55e;background:#22c55e20}.qc-status-dismissed{color:#6b7280;background:#6b728020}.qc-status-expired{color:#f59e0b;background:#f59e0b20}.qc-status-answered{color:#8b5cf6;background:#8b5cf620}.qc-status-applied{color:#06b6d4;background:#06b6d420}.qc-status-pending{color:#f59e0b;background:#f59e0b20}.qc-type-tag{background:color-mix(in srgb, var(--bg-elevated,#f3f4f6) 80%, #fff6ea);color:var(--text-secondary);border-radius:999px;padding:3px 7px;font-size:.65rem;font-weight:500}.qc-source-tag{background:color-mix(in srgb, var(--bg-secondary) 78%, #f0eadf);color:var(--text-tertiary);border-radius:999px;padding:3px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.62rem}.qc-priority{border-radius:999px;padding:3px 7px;font-size:.65rem;font-weight:600}.qc-priority-urgent{color:#ef4444;background:#ef444420}.qc-priority-high{color:#f97316;background:#f9731620}.qc-priority-normal{color:var(--text-tertiary)}.qc-priority-low{color:var(--text-quaternary,var(--text-tertiary))}.qc-sessions-badge{background:color-mix(in srgb, var(--bg-tertiary) 70%, #fff8ef);border-radius:999px;padding:2px 8px;font-size:.7rem}.qc-pagination{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) var(--sp-5) var(--sp-4);border-top:1px solid color-mix(in srgb, var(--border-secondary) 72%, transparent);display:flex}.qc-page-btn{border:1px solid color-mix(in srgb, var(--border-secondary) 84%, #d7c6a6);color:var(--text-primary);cursor:pointer;background:#ffffffc7;border-radius:999px;padding:8px 14px;font-size:.82rem}.qc-page-btn:disabled{cursor:not-allowed;opacity:.45}.qc-page-status{color:var(--text-secondary);align-items:center;gap:8px;font-size:.8rem;display:flex}.qc-page-status-sep{color:var(--text-tertiary)}.qc-preview{padding:var(--sp-4) var(--sp-5);flex:1;overflow-y:auto}.qc-preview-header{margin-bottom:var(--sp-3);align-items:center;gap:6px;display:flex}.qc-preview-title{margin:0 0 var(--sp-3);color:var(--text-primary);font-size:1.05rem;font-weight:600}.qc-preview-text{color:var(--text-secondary);white-space:pre-wrap;margin:0 0 var(--sp-4);font-size:.9rem;line-height:1.6}.qc-resolution{margin-top:var(--sp-4);padding:var(--sp-4);border:1px solid color-mix(in srgb, var(--border-secondary) 76%, #d7c6a6);background:linear-gradient(180deg, color-mix(in srgb, var(--bg-secondary) 78%, #fffaf4) 0%, color-mix(in srgb, var(--bg-primary) 92%, #fff) 100%);border-radius:14px}.qc-resolution-label{letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.72rem}.qc-resolution-answer{color:var(--text-primary);white-space:pre-wrap;margin-top:8px;line-height:1.6}.qc-resolution-time{color:var(--text-tertiary);margin-top:10px;font-size:.78rem}@media (width<=900px){.qc-toolbar-grid,.qc-filter-banks{grid-template-columns:1fr}}@media (width<=640px){.qc-header,.qc-list,.qc-pagination{padding-left:var(--sp-4);padding-right:var(--sp-4)}.qc-toolbar-shell{margin-left:var(--sp-4);margin-right:var(--sp-4);padding:var(--sp-3)}.qc-toolbar-foot,.qc-pagination{flex-direction:column;align-items:stretch}.qc-page-status{justify-content:center}}.qc-artifact{padding:var(--sp-3);background:var(--bg-secondary);margin-bottom:var(--sp-4);border-radius:8px}.qc-artifact-label{color:var(--text-secondary);font-size:.8rem}.qc-payroll-artifact{border:1px solid var(--border-secondary);background:var(--bg-primary);margin-bottom:var(--sp-4);border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0f172a0f}.qc-payroll-head{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-4);background:color-mix(in srgb, var(--bg-secondary) 82%, #f7efe4);border-bottom:1px solid var(--border-secondary);align-items:flex-start;display:flex}.qc-payroll-kicker{color:var(--text-tertiary);letter-spacing:0;margin-bottom:3px;font-size:.72rem;font-weight:600}.qc-payroll-worker{color:var(--text-primary);font-size:1.05rem;font-weight:700}.qc-payroll-worker span{color:var(--text-secondary);margin-left:6px;font-weight:500}.qc-payroll-delta{flex-direction:column;align-items:flex-end;gap:2px;min-width:86px;display:flex}.qc-payroll-delta span{color:var(--text-tertiary);font-size:.72rem}.qc-payroll-delta strong{color:#b45309;font-size:1rem}.qc-payroll-summary{padding:var(--sp-3) var(--sp-4);color:var(--text-secondary);border-bottom:1px solid var(--border-tertiary,var(--border-secondary));margin:0;font-size:.86rem;line-height:1.55}.qc-payroll-table-wrap{max-width:100%;overflow-x:auto}.qc-payroll-table{border-collapse:collapse;width:100%;min-width:720px;font-size:.8rem}.qc-payroll-table th,.qc-payroll-table td{border-bottom:1px solid var(--border-tertiary,var(--border-secondary));text-align:left;vertical-align:top;padding:10px 12px;line-height:1.45}.qc-payroll-table thead th{background:var(--bg-secondary);color:var(--text-tertiary);white-space:nowrap;font-weight:700}.qc-payroll-table tbody th{color:var(--text-primary);min-width:110px;font-weight:700}.qc-payroll-table td{color:var(--text-secondary)}.qc-payroll-delta-zero{white-space:nowrap;font-weight:700;color:#059669!important}.qc-payroll-delta-positive,.qc-payroll-delta-negative{white-space:nowrap;font-weight:700;color:#b45309!important}.qc-payroll-options,.qc-payroll-sources{padding:var(--sp-3) var(--sp-4);border-top:1px solid var(--border-tertiary,var(--border-secondary))}.qc-payroll-section-label{color:var(--text-tertiary);margin-bottom:8px;font-size:.75rem;font-weight:700}.qc-payroll-chip-row{flex-wrap:wrap;gap:6px;display:flex}.qc-payroll-chip{border:1px solid var(--border-secondary);background:var(--bg-secondary);color:var(--text-primary);border-radius:6px;padding:5px 8px;font-size:.78rem;line-height:1.3}.qc-payroll-source{color:var(--text-secondary);flex-direction:column;gap:3px;margin-bottom:8px;font-size:.78rem;display:flex}.qc-payroll-source:last-child{margin-bottom:0}.qc-payroll-source code{color:var(--text-tertiary);background:var(--bg-secondary);white-space:normal;overflow-wrap:anywhere;border-radius:4px;padding:3px 5px}.qc-preview-actions{margin-bottom:var(--sp-4);gap:8px;display:flex}.qc-action-primary{background:var(--accent-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:8px 20px;font-size:.85rem;font-weight:500}.qc-action-primary:hover{opacity:.9}.qc-action-secondary{border:1px solid var(--border-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;padding:8px 20px;font-size:.85rem}.qc-action-secondary:hover{background:var(--bg-tertiary)}.qc-sessions{margin-bottom:var(--sp-4)}.qc-sessions h4{margin:0 0 var(--sp-2);color:var(--text-secondary);font-size:.85rem;font-weight:500}.qc-session-item{border-bottom:1px solid var(--border-tertiary,var(--border-secondary));align-items:center;gap:8px;padding:6px 0;font-size:.8rem;display:flex}.qc-session-clickable{cursor:pointer;border-radius:6px;margin:0 -8px;padding:6px 8px;transition:background .15s}.qc-session-clickable:hover{background:var(--bg-tertiary)}.qc-session-time{color:var(--text-tertiary)}.qc-session-active{color:var(--accent-primary)}.qc-session-archived{color:var(--text-tertiary)}.qc-session-arrow{color:var(--text-tertiary);flex-shrink:0;margin-left:auto}.qc-transcript-section{margin-bottom:var(--sp-4)}.qc-transcript-section h4{margin:0 0 var(--sp-2);color:var(--text-secondary);font-size:.85rem;font-weight:500}.qc-segment{padding:var(--sp-3);background:var(--bg-secondary);margin-bottom:var(--sp-2);border-radius:8px}.qc-segment-source{color:var(--text-primary);margin-bottom:6px;font-size:.95rem;line-height:1.6}.qc-segment-question{color:var(--accent-primary);margin-bottom:6px;font-size:.85rem;font-weight:500}.qc-segment-candidates{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;display:flex}.qc-candidate-chip{color:#22c55e;background:#22c55e18;border-radius:12px;padding:2px 10px;font-size:.82rem;font-weight:500}.qc-segment-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px;font-size:.75rem;font-weight:600;display:block}.qc-segment-refined{color:var(--text-secondary);border-top:1px dashed var(--border-subtle,#e5e7eb);margin-top:6px;padding-top:6px;font-size:.85rem}.qc-segment-refined .qc-segment-label{margin-bottom:4px}.qc-transcript-source-meta{gap:var(--sp-3);color:var(--text-secondary);margin-bottom:var(--sp-2);font-size:.8rem;display:flex}.qc-transcript-source-meta span{background:var(--bg-secondary);border-radius:4px;padding:2px 8px}.qc-highlight{color:var(--text-primary);background:#f59e0b30;border-radius:2px;padding:0 2px}.qc-audio-player{margin-bottom:var(--sp-4)}.qc-audio-player h4{margin:0 0 var(--sp-2);color:var(--text-secondary);font-size:.85rem;font-weight:500}.qc-audio-player audio{border-radius:8px;width:100%;height:40px}.qc-audio-loading,.qc-audio-unavailable{color:var(--text-tertiary);padding:var(--sp-2) 0;margin-bottom:var(--sp-3);font-size:.8rem}.qc-photo-gallery{margin-bottom:var(--sp-4)}.qc-photo-gallery h4{margin:0 0 var(--sp-2);color:var(--text-secondary);font-size:.85rem;font-weight:500}.qc-photo-grid{gap:var(--sp-2);flex-wrap:wrap;display:flex}.qc-photo-thumb{border:1px solid var(--border);border-radius:6px;width:120px;height:90px;display:block;overflow:hidden}.qc-photo-thumb img{object-fit:cover;width:100%;height:100%}.qc-photos-loading{color:var(--text-tertiary);padding:var(--sp-2) 0;margin-bottom:var(--sp-3);font-size:.8rem}.qc-chat-workspace{flex-direction:column;height:100%;display:flex;overflow:hidden}.qc-chat-header{padding:var(--sp-2) var(--sp-4);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.qc-chat-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.qc-context-banner{padding:var(--sp-3) var(--sp-5);background:var(--bg-secondary);border-bottom:1px solid var(--border-secondary);flex-shrink:0}.qc-context-banner-title{color:var(--text-primary);align-items:center;gap:8px;margin-bottom:4px;font-size:.9rem;font-weight:600;display:flex}.qc-context-banner-text{color:var(--text-secondary);margin-bottom:4px;font-size:.82rem;line-height:1.5}.qc-context-banner-segment{color:var(--text-primary);font-size:.82rem;line-height:1.5}.qc-context-candidates{color:#22c55e;font-weight:500}.qc-sidebar{flex:1;min-height:0;padding:0;overflow-y:auto}.qc-sidebar-empty{padding:var(--sp-4);text-align:center;color:var(--text-tertiary);font-size:.85rem}.qc-sidebar-list{padding:0 var(--sp-2);flex-direction:column;gap:1px;display:flex}.qc-sidebar-item{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--dur-fast);flex-direction:column;gap:2px;display:flex}.qc-sidebar-item:hover{background:var(--bg-hover)}.qc-sidebar-item.active{background:var(--bg-active)}.qc-sidebar-item-title{font-size:var(--fs-sm);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.qc-sidebar-item-meta{font-size:var(--fs-xs);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;overflow:hidden}.qc-preview-meta{padding-top:var(--sp-3);border-top:1px solid var(--border-secondary);color:var(--text-tertiary);flex-direction:column;gap:4px;font-size:.75rem;display:flex}.sac-page{flex:1;max-width:800px;min-height:0;margin:0 auto;padding:1.5rem;overflow-y:auto}.sac-top-bar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.sac-top-bar h1{margin:0;font-size:1.25rem;font-weight:600}.sac-refresh-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.4rem .8rem;font-size:.8rem}.sac-refresh-btn:hover{background:var(--hover)}.sac-refine-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;margin-bottom:1.5rem;padding:1.25rem}.sac-refine-header{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.sac-refine-header h2{margin:0;font-size:1rem;font-weight:600}.sac-refine-pct{color:var(--accent,#3b82f6);font-size:1.25rem;font-weight:700}.sac-progress-bar{background:var(--hover,#e5e7eb);border-radius:4px;height:8px;margin-bottom:1rem;overflow:hidden}.sac-progress-fill{background:var(--accent,#3b82f6);border-radius:4px;min-width:2px;height:100%;transition:width .4s}.sac-refine-stats{gap:2rem;display:flex}.sac-stat{flex-direction:column;align-items:center;display:flex}.sac-stat-value{font-size:1.5rem;font-weight:700;line-height:1.2}.sac-stat-done{color:#22c55e}.sac-stat-pending{color:#f59e0b}.sac-stat-label{color:var(--muted);margin-top:.2rem;font-size:.75rem}.sac-section-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:.75rem;font-size:.8rem;font-weight:600}.sac-agent-grid{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.sac-agent-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem}.sac-agent-header{justify-content:space-between;align-items:center;margin-bottom:.4rem;display:flex}.sac-agent-header h3{margin:0;font-size:.95rem;font-weight:600}.sac-trigger-badge{background:var(--hover);color:var(--muted);border-radius:10px;padding:.15rem .5rem;font-size:.7rem}.sac-trigger-badge.manual{color:#1d4ed8;background:#dbeafe}.sac-agent-desc{color:var(--muted);margin:0 0 .5rem;font-size:.85rem}.sac-agent-meta{color:var(--muted);margin-bottom:.4rem;font-size:.8rem}.sac-agent-last-run{color:var(--muted);margin-bottom:.75rem;font-size:.8rem}.sac-run-btn{background:var(--accent,#3b82f6);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:.45rem 1rem;font-size:.8rem;font-weight:500}.sac-run-btn:hover:not(:disabled){opacity:.9}.sac-run-btn:disabled{opacity:.5;cursor:not-allowed}.sac-trigger-msg{background:var(--surface);border:1px solid var(--border);border-radius:8px;margin-bottom:1.5rem;padding:.6rem 1rem;font-size:.85rem}.sac-run-list{flex-direction:column;gap:.5rem;display:flex}.sac-run-row{background:var(--surface);border:1px solid var(--border);border-radius:8px;justify-content:space-between;align-items:center;padding:.6rem .8rem;font-size:.8rem;display:flex}.sac-run-left{align-items:center;gap:.5rem;display:flex}.sac-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.sac-status-dot.succeeded{background:#22c55e}.sac-status-dot.failed{background:#ef4444}.sac-status-dot.running{background:#3b82f6;animation:1.5s infinite pulse}.sac-status-dot.partial{background:#f59e0b}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.sac-run-info{flex-direction:column;display:flex}.sac-run-agent{font-weight:500}.sac-run-time{color:var(--muted);font-size:.75rem}.sac-run-right{align-items:center;gap:.75rem;display:flex}.sac-status{font-size:.75rem;font-weight:500}.sac-status.succeeded{color:#22c55e}.sac-status.failed{color:#ef4444}.sac-status.running{color:#3b82f6}.sac-status.partial{color:#f59e0b}.sac-run-counts{color:var(--muted)}.sac-run-failed{color:#ef4444}.sac-run-remaining{color:var(--muted);font-size:.75rem}.sac-loading,.sac-empty{text-align:center;color:var(--muted);padding:2rem;font-size:.9rem}.sac-error{text-align:center;color:#ef4444;padding:2rem}.sac-error button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:6px;margin-top:.5rem;padding:.4rem 1rem}[data-theme=dark] .sac-trigger-badge.manual{color:#93c5fd;background:#1e3a5f}.field-logistics.ds{--bg:#f5f4f1;--surface:#fff;--border:#e0ddd7;--border-strong:#c8c4bc;--ink-1:#1a1917;--ink-2:#6e6b63;--ink-3:#9e9a91;--accent:#b45309;--accent-bg:#b4530912;--danger:#b91c1c;--danger-bg:#b91c1c12;--success:#15803d;--success-bg:#15803d12;--info:#1e6b8a;--info-bg:#1e6b8a12;--serif:"Noto Serif TC", Georgia, serif;--sans:"Noto Sans TC", Outfit, system-ui, sans-serif;--data:Outfit, "Noto Sans TC", system-ui, sans-serif;--r:3px;box-sizing:border-box;scrollbar-gutter:stable;width:100%;height:100dvh;min-height:100dvh;color:var(--ink-1);background:var(--bg);font-family:var(--sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:hidden auto}.field-logistics *,.field-logistics :before,.field-logistics :after{box-sizing:border-box}.field-logistics .ds-container{width:100%;max-width:1120px;margin:0 auto;padding:48px 32px 80px;animation:.35s field-logistics-enter}@keyframes field-logistics-enter{0%{opacity:0}to{opacity:1}}.field-logistics .ds-header{margin-bottom:56px}.field-logistics .ds-header-top{justify-content:space-between;align-items:baseline;gap:24px;min-width:0;margin-bottom:6px;display:flex}.field-logistics .ds-title{font-family:var(--serif);letter-spacing:0;flex:none;margin:0;font-size:28px;font-weight:700}.field-logistics .ds-subtitle{color:var(--ink-3);margin:0 0 16px;font-size:14px}.field-logistics .ds-divider{background:var(--ink-1);border:none;height:2px;margin:0}.field-logistics .ds-section{min-width:0;margin-bottom:48px}.field-logistics .ds-section-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:20px;padding-bottom:10px;display:flex}.field-logistics .ds-section-title{font-family:var(--serif);margin:0;font-size:18px;font-weight:600}.field-logistics .ds-section-count{color:var(--ink-3);font-family:var(--data);font-size:13px;font-weight:500}.field-logistics .ds-empty{color:var(--ink-3);margin:0;padding:24px 0;font-size:14px}.field-logistics .ds-login-error{border-radius:var(--r);color:var(--danger);background:var(--danger-bg);border:1px solid #b91c1c38;margin:0 0 24px;padding:12px 14px;font-size:14px}.field-logistics .ds-form-input{border:1px solid var(--border);border-radius:var(--r);height:42px;color:var(--ink-1);background:var(--surface);font:inherit;padding:0 12px}.field-logistics .ds-form-input:focus{border-color:var(--ink-1);outline:none}.field-logistics .ds-delivery-controls{flex:0 520px;justify-content:flex-end;align-items:center;gap:10px;width:100%;min-width:0;max-width:520px;display:flex}.field-logistics .ds-delivery-search-input{flex:1;min-width:220px}.field-logistics .ds-delivery-month-input{width:180px}.field-logistics .ds-delivery-kpis{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;min-width:0;display:grid}.field-logistics .ds-delivery-kpi{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:0;padding:16px 18px}.field-logistics .ds-delivery-kpi__label{color:var(--ink-3);letter-spacing:.04em;margin-bottom:8px;font-size:12px;display:block}.field-logistics .ds-delivery-kpi__value{min-width:0;font-family:var(--data);overflow-wrap:anywhere;font-size:24px;font-weight:600;display:block}.field-logistics .ds-delivery-layout{grid-template-columns:minmax(320px,.95fr) minmax(0,1.15fr);align-items:start;gap:20px;width:100%;min-width:0;display:grid}.field-logistics .ds-delivery-panel{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:0;padding:18px 20px;overflow:hidden}.field-logistics .ds-delivery-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;min-width:0;display:grid}.field-logistics .ds-delivery-calendar__day{border:1px solid var(--border);border-radius:var(--r);width:100%;min-width:0;min-height:72px;color:var(--ink-1);background:var(--surface);text-align:left;cursor:pointer;padding:10px 8px;transition:border-color .15s,background .15s}.field-logistics .ds-delivery-calendar__day:hover{border-color:var(--border-strong)}.field-logistics .ds-delivery-calendar__day--has-record{background:#1e6b8a0a}.field-logistics .ds-delivery-calendar__day--active{border-color:var(--ink-1);background:#00000008}.field-logistics .ds-delivery-calendar__num{font-family:var(--data);font-size:15px;font-weight:600;display:block}.field-logistics .ds-delivery-calendar__count{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:12px;display:block;overflow:hidden}.field-logistics .ds-delivery-record-list{flex-direction:column;gap:12px;min-width:0;display:flex}.field-logistics .ds-delivery-card{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);min-width:0;overflow:hidden}.field-logistics .ds-delivery-card__summary{width:100%;min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.field-logistics .ds-delivery-card__main{flex:auto;align-items:flex-start;gap:12px;min-width:0;display:flex}.field-logistics .ds-delivery-card__emoji{font-size:18px;line-height:1.4}.field-logistics .ds-delivery-card__copy{flex:auto;min-width:0}.field-logistics .ds-delivery-card__title-row{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.field-logistics .ds-delivery-card__title{overflow-wrap:anywhere;margin:0;font-size:15px;font-weight:600}.field-logistics .ds-delivery-card__meta{color:var(--ink-2);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px;line-height:1.55}.field-logistics .ds-delivery-status{white-space:nowrap;border-radius:2px;padding:3px 8px;font-size:11px;font-weight:600;line-height:1.2}.field-logistics .ds-delivery-status--not_transcribed{color:var(--ink-2);background:#6e6b631a}.field-logistics .ds-delivery-status--transcribing{color:var(--info);background:var(--info-bg)}.field-logistics .ds-delivery-status--needs_review{color:var(--accent);background:var(--accent-bg)}.field-logistics .ds-delivery-status--accepted{color:var(--success);background:var(--success-bg)}.field-logistics .ds-delivery-status--writeback_failed{color:var(--danger);background:var(--danger-bg)}.field-logistics .ds-delivery-card__chevron{color:var(--ink-3);flex-shrink:0;transition:transform .15s}.field-logistics .ds-delivery-card__chevron--open{transform:rotate(180deg)}.field-logistics .ds-delivery-card__detail{border-top:1px solid var(--border);min-width:0;padding:14px 16px 16px}.field-logistics .ds-delivery-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;display:grid}.field-logistics .ds-delivery-detail-label{color:var(--ink-3);margin:0 0 4px;font-size:12px}.field-logistics .ds-delivery-detail-value{color:var(--ink-1);overflow-wrap:anywhere;margin:0;font-size:14px}.field-logistics .ds-delivery-transcript{margin-top:14px}.field-logistics .ds-delivery-transcript__body,.field-logistics .ds-delivery-media-placeholder{color:var(--ink-1);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:14px;line-height:1.7}.field-logistics .ds-delivery-transcript__body--summary{font-weight:500}.field-logistics .ds-delivery-media-placeholder{color:var(--ink-2);white-space:normal}.field-logistics .ds-delivery-media{min-width:0;margin-top:14px}.field-logistics .ds-delivery-photos{gap:10px;min-width:0;max-width:100%;padding-bottom:6px;display:flex;overflow-x:auto}.field-logistics .ds-delivery-photo-link{flex-shrink:0;display:block}.field-logistics .ds-delivery-photo{border:1px solid var(--border);border-radius:var(--r);object-fit:cover;width:108px;height:108px}.field-logistics .ds-delivery-audio{width:100%;min-width:0}@media (width<=900px){.field-logistics .ds-container{padding:16px 16px 64px}.field-logistics .ds-header{flex-direction:column;margin-bottom:16px;display:flex}.field-logistics .ds-header>.ds-segment-toggle{order:-1;margin:0 0 10px}.field-logistics .ds-header-top{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px}.field-logistics .ds-title{width:100%;font-size:22px}.field-logistics .ds-subtitle{margin:0 0 8px;font-size:12px}.field-logistics .ds-delivery-controls{flex-direction:row;flex:0 0 100%;gap:8px;width:100%;min-width:0;max-width:none}.field-logistics .ds-delivery-search-input{flex:1;width:auto;min-width:0}.field-logistics .ds-delivery-month-input{flex:none;width:auto;min-width:140px}.field-logistics .ds-delivery-kpis,.field-logistics .ds-delivery-layout{grid-template-columns:1fr}.field-logistics .ds-section{margin-bottom:24px}.field-logistics .ds-delivery-calendar{grid-template-columns:repeat(4,minmax(0,1fr))}.field-logistics .ds-delivery-detail-grid{grid-template-columns:1fr}}.field-logistics .ds-delivery-line-items{margin-top:8px}.field-logistics .ds-delivery-line-items__table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.4}.field-logistics .ds-delivery-line-items__table th{text-align:left;color:var(--ink-2);border-bottom:1px solid var(--border);white-space:nowrap;padding:4px 8px 4px 0;font-weight:500}.field-logistics .ds-delivery-line-items__table td{border-bottom:1px solid var(--border);color:var(--ink-1);padding:4px 8px 4px 0}.field-logistics .ds-delivery-line-items__row--unmatched td{color:var(--ink-2)}.field-logistics .ds-delivery-line-items__badge{white-space:nowrap;border-radius:4px;padding:1px 6px;font-size:11px;display:inline-block}.field-logistics .ds-delivery-line-items__badge--matched{color:#166534;background:#dcfce7}.field-logistics .ds-delivery-line-items__badge--uncertain{color:#92400e;background:#fef3c7}.field-logistics .ds-delivery-line-items__badge--pending{color:#6b7280;background:#f3f4f6}.field-logistics .ds-segment-toggle{border:1px solid #d1d5db;border-radius:8px;gap:0;width:fit-content;margin:8px 0 4px;display:flex;overflow:hidden}.field-logistics .ds-segment-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:6px 16px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.field-logistics .ds-segment-btn:hover{background:#f3f4f6}.field-logistics .ds-segment-btn--active{color:#fff;cursor:default;background:#0d9488}.field-logistics .ds-segment-btn--active:hover{background:#0d9488}.field-logistics .ds-delivery-status--completed{color:#065f46;background:#d1fae5}.field-logistics .ds-delivery-status--active{color:#1e40af;background:#dbeafe}.field-logistics .ds-delivery-status--other{color:#6b7280;background:#f3f4f6}.field-logistics .ds-pt-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:16px;padding:10px 14px;display:flex}.field-logistics .ds-pt-toolbar__month{flex-shrink:0;align-items:center;gap:2px;display:flex}.field-logistics .ds-pt-toolbar__arrow{width:28px;height:28px;color:var(--ink-2);cursor:pointer;border-radius:var(--r);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:20px;font-weight:500;line-height:1;transition:background .12s,color .12s;display:flex}.field-logistics .ds-pt-toolbar__arrow:hover{background:var(--accent-bg);color:var(--accent)}.field-logistics .ds-pt-toolbar__month-label{font-family:var(--data);color:var(--ink-1);text-align:center;letter-spacing:.01em;min-width:56px;font-size:15px;font-weight:600}.field-logistics .ds-pt-toolbar__range{border:1px solid var(--border);border-radius:var(--r);gap:0;margin-left:6px;display:flex;overflow:hidden}.field-logistics .ds-pt-toolbar__range-btn{font-size:12px;font-weight:500;font-family:var(--sans);color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:3px 10px;line-height:1.4;transition:background .12s,color .12s}.field-logistics .ds-pt-toolbar__range-btn:not(:last-child){border-right:1px solid var(--border)}.field-logistics .ds-pt-toolbar__range-btn:hover{background:var(--accent-bg);color:var(--accent)}.field-logistics .ds-pt-toolbar__range-btn--on,.field-logistics .ds-pt-toolbar__range-btn--on:hover{background:var(--ink-1);color:#fff}.field-logistics .ds-pt-toolbar__filters{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.field-logistics .ds-pt-toolbar__search{border:1px solid var(--border);border-radius:var(--r);min-width:120px;height:42px;font:inherit;color:var(--ink-1);background:var(--bg);flex:1;padding:0 12px;font-size:14px}.field-logistics .ds-pt-toolbar__search:focus{border-color:var(--ink-1);outline:none}.field-logistics .ds-pt-toolbar__search::placeholder{color:var(--ink-3)}.field-logistics .ds-pt-toolbar__select{border:1px solid var(--border);border-radius:var(--r);height:42px;font:inherit;color:var(--ink-1);background:var(--bg);cursor:pointer;flex-shrink:0;padding:0 10px;font-size:14px}.field-logistics .ds-pt-toolbar__select:focus{border-color:var(--ink-1);outline:none}.field-logistics .ds-pt-list-head{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:6px}.field-logistics .ds-pt-list-head__count{font-family:var(--data);color:var(--ink-3);letter-spacing:.03em;font-size:12px;font-weight:500}@media (width<=900px){.field-logistics .ds-pt-toolbar{flex-direction:column;align-items:stretch;gap:10px}.field-logistics .ds-pt-toolbar__month{justify-content:center}.field-logistics .ds-pt-toolbar__filters{flex-direction:column}.field-logistics .ds-pt-toolbar__search{width:100%;min-width:0}}.field-logistics .ds-pt-evidence-tags{flex-wrap:wrap;flex-shrink:0;gap:4px;display:flex}.field-logistics .ds-pt-evidence-tag{white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:500;line-height:1.5;display:inline-block}.field-logistics .ds-pt-evidence-tag--arrived{background:var(--success-bg);color:var(--success)}.field-logistics .ds-pt-evidence-tag--shipped{background:var(--info-bg);color:var(--info)}.field-logistics .ds-pt-evidence-tag--confirmed{color:#78640a;background:#78643c14}.field-logistics .ds-pt-evidence-inline{vertical-align:middle;margin-left:6px}.field-logistics .ds-pt-evidence-row td{background:#15803d0a}.field-logistics .ds-pt-evidence-section{border-left:2px solid var(--success);padding-left:10px}.field-logistics .ds-procurement-badge{color:#5b21b6;white-space:nowrap;background:#ede9fe;border-radius:4px;padding:1px 6px;font-size:11px;display:inline-block}.field-logistics .ds-procurement-images-section{flex-direction:column;gap:14px;margin-top:14px;display:flex}.field-logistics .ds-procurement-category{min-width:0}.field-logistics .ds-procurement-thumb-wrap{flex-direction:column;flex-shrink:0;gap:4px;max-width:108px;display:flex}.field-logistics .ds-procurement-thumb-placeholder{background:#f3f4f6;justify-content:center;align-items:center;display:flex}.field-logistics .ds-procurement-extract-summary{color:var(--ink-2);overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:11px;line-height:1.4}.hub-shell{background:var(--bg-surface);flex-direction:column;width:100%;max-width:100vw;height:100dvh;min-height:0;display:flex;position:relative;overflow:hidden}.standalone-dashboard{background:var(--bg-primary,#fff);flex-direction:column;width:100%;height:100dvh;display:flex}.hub-tab-panel{background:var(--bg-surface);flex-direction:column;flex:1;width:100%;min-height:0;position:relative;overflow:hidden}.app-shell{flex-direction:row;width:100%;min-width:0;max-width:100vw;height:100%;min-height:0;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.content-header{padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border-subtle);background:var(--bg-surface);z-index:10;flex:none;justify-content:space-between;align-items:center;width:100%;min-width:0;max-width:100%;min-height:56px;display:flex;position:relative}.content-header-left{align-items:center;gap:var(--sp-3);flex:1 1 0;min-width:0;display:flex}.content-header-left>div{flex:1 1 0;min-width:0}.content-header-title{font-family:var(--ff-display);font-size:var(--fs-md);font-weight:600}.content-header-title-button,.content-header-title-input{width:100%;max-width:100%;height:26px;font-family:var(--ff-display);font-size:var(--fs-md);color:var(--text-primary);text-align:left;padding:0;font-weight:600}.content-header-title-button{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-xs);display:block;overflow:hidden}.content-header-title-button:hover{color:var(--accent-primary)}.content-header-title-input{border:0;border-bottom:1px solid var(--accent-primary);background:0 0;outline:none}.content-header-subtitle{font-size:var(--fs-xs);color:var(--text-tertiary)}.content-header-actions{align-items:center;gap:var(--sp-2);flex:none;display:flex}.header-btn{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);transition:all var(--dur-fast);justify-content:center;align-items:center;display:flex}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header-btn.active{color:var(--accent-primary);background:var(--accent-primary-soft)}.menu-trigger{display:none}.empty-state{justify-content:center;align-items:center;gap:var(--sp-3);color:var(--text-tertiary);flex-direction:column;flex:1;display:flex}.empty-state-icon{font-size:48px}.empty-state-title{font-size:var(--fs-xl);color:var(--text-primary);font-weight:600}.empty-state-text{font-size:var(--fs-sm)}.expert-draft-screen{background:var(--bg-root);flex-direction:column;flex:1;min-height:0;display:flex}.expert-draft-body{min-height:0;width:min(760px, calc(100% - var(--sp-10)));padding:var(--sp-10) 0 var(--sp-6);flex-direction:column;flex:1;justify-content:center;margin:0 auto;display:flex}.expert-mark{border-radius:var(--radius-md);width:42px;height:42px;margin-bottom:var(--sp-4);color:var(--accent-warning);background:color-mix(in srgb, var(--accent-warning-soft), var(--bg-surface) 18%);border:1px solid color-mix(in srgb, var(--accent-warning), transparent 72%);justify-content:center;align-items:center;font-weight:800;display:flex}.expert-mark.expert-default{color:var(--text-inverse);background:linear-gradient(135deg, var(--accent-primary) 0%, var(--accent-secondary) 100%)}.expert-draft-kicker{margin-bottom:var(--sp-2);font-size:var(--fs-xs);color:var(--accent-warning);letter-spacing:.3px;font-weight:700}.expert-draft-body h1{font-family:var(--ff-display);font-size:var(--fs-3xl);color:var(--text-primary);margin:0;line-height:1.12}.expert-draft-body p{max-width:620px;margin:var(--sp-3) 0 0;font-size:var(--fs-base);color:var(--text-secondary);line-height:1.65}.expert-draft-tags{gap:var(--sp-2);margin-top:var(--sp-4);flex-wrap:wrap;display:flex}.expert-draft-tags span{min-height:26px;padding:0 var(--sp-3);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-elevated);color:var(--text-secondary);font-size:var(--fs-xs);align-items:center;font-weight:600;display:inline-flex}.expert-starters{gap:var(--sp-2);margin-top:var(--sp-6);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.expert-starters button{min-height:58px;padding:var(--sp-3);border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);text-align:left;font-size:var(--fs-sm);transition:all var(--dur-fast);line-height:1.45}.expert-starters button:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent-warning), transparent 45%);background:var(--accent-warning-soft)}.expert-starters button:disabled{cursor:wait;opacity:.65}.expert-draft-error{margin-top:var(--sp-4);padding:var(--sp-3);border:1px solid color-mix(in srgb, var(--accent-danger), transparent 60%);border-radius:var(--radius-sm);background:var(--accent-danger-soft);color:var(--accent-danger);font-size:var(--fs-sm)}.login-screen{background:var(--bg-root);justify-content:center;align-items:center;width:100vw;height:100dvh;position:relative;overflow:hidden}.login-card{z-index:1;width:min(420px,90vw);padding:var(--sp-12);text-align:center;position:relative}.login-brand{justify-content:center;align-items:center;gap:var(--sp-3);display:flex}.login-brand-icon{object-fit:contain;flex-shrink:0;width:auto;height:40px}.login-brand-text{font-family:var(--ff-display);font-size:var(--fs-2xl);letter-spacing:-.5px;font-weight:600}.login-brand-sub{font-family:var(--ff-display);font-size:var(--fs-xs);color:var(--text-tertiary);margin-top:2px}@media (width<=1080px){.menu-trigger{border-radius:var(--radius-sm);width:34px;height:34px;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}}@media (width<=768px){.content-header{padding:var(--sp-3) var(--sp-4)}.expert-draft-body{width:calc(100% - var(--sp-6));padding-top:var(--sp-8);justify-content:flex-start}.expert-draft-body h1{font-size:var(--fs-2xl)}.expert-starters{grid-template-columns:1fr}}.header-menu-anchor{position:relative}.header-dropdown{z-index:200;min-width:160px;padding:var(--sp-1);margin-top:var(--sp-1);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);box-shadow:var(--shadow-md);position:absolute;top:100%;right:0}.header-dropdown button{align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) var(--sp-3);color:var(--text-primary);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--radius-sm);text-align:left;background:0 0;border:none;display:flex}.header-dropdown button:hover{background:var(--bg-hover)}.header-dropdown button svg{color:var(--text-tertiary);flex-shrink:0}.header-dropdown button.danger{color:var(--danger,#ef4444)}.header-dropdown button.danger:hover{background:var(--bg-danger-subtle,#ef444414)}.header-dropdown button.danger svg{color:var(--danger,#ef4444)}.capability-panel-wrapper{flex:1;min-height:0;overflow:hidden}@media (display-mode:standalone){.hub-shell{padding-top:env(safe-area-inset-top,0px);height:100vh}.login-screen{height:100vh}}
