:root{--bg-primary: #0a0a0a;--bg-secondary: #141414;--bg-tertiary: #1c1c1c;--bg-card: #161616;--bg-panel: #141414;--bg-input: #101010;--border: #262626;--text-primary: #f5f5f5;--text-secondary: #a3a3a3;--text-muted: #737373;--accent: #f5f5f5;--on-accent: #0a0a0a;--accent-hover: #d4d4d4;--accent-dim: #2a2a2a;--fs-10: 10px;--fs-11: 11px;--fs-12: 12px;--fs-12_5: 12.5px;--fs-13: 13px;--fs-14: 14px;--fs-15: 15px;--fs-16: 16px;--fs-17: 17px;--fs-18: 18px;--fs-20: 20px;--fs-22: 22px;--fs-24: 24px;--fs-26: 26px;--fs-28: 28px;--fs-40: 40px;--fs-48: 48px;--green: #34d399;--green-bg: #0f1a16;--red: #f87171;--red-bg: #1c1010;--amber: #fbbf24;--amber-bg: #1a1608;--blue: #93c5fd;--blue-bg: #0f1a2a;--radius: 10px;--radius-sm: 6px;--shadow: 0 4px 24px rgba(0, 0, 0, .5);--font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif}[data-theme=light]{--bg-primary: #fafafa;--bg-secondary: #ffffff;--bg-tertiary: #f4f4f5;--bg-card: #ffffff;--bg-panel: #ffffff;--bg-input: #f4f4f5;--border: #e4e4e7;--text-primary: #18181b;--text-secondary: #52525b;--text-muted: #a1a1aa;--accent: #18181b;--on-accent: #ffffff;--accent-hover: #3f3f46;--accent-dim: #e4e4e7;--green: #059669;--green-bg: #ecfdf5;--red: #dc2626;--red-bg: #fef2f2;--amber: #d97706;--amber-bg: #fffbeb;--blue: #2563eb;--blue-bg: #dbeafe;--shadow: 0 2px 12px rgba(0, 0, 0, .08)}[data-theme=light] .msg-bubble.user{color:var(--on-accent)}[data-theme=light] .msg-bubble.assistant{background:#f4f4f5;border-color:#e4e4e7}[data-theme=light] .card{background:#fff}[data-theme=light] .login-page{background:linear-gradient(135deg,#18181b08,#fafafa)}[data-theme=light] .login-card{background:#fff;box-shadow:0 8px 32px #00000014}[data-theme=light] .home-glow{background:radial-gradient(circle,rgba(24,24,27,.06),transparent 70%)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased}.login-page{height:100%;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#141414,#0a0a0a)}.login-card{width:380px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:40px;box-shadow:var(--shadow)}.login-logo{text-align:center;margin-bottom:32px}.logo-icon{width:56px;height:56px;border-radius:14px;background:var(--text-primary);color:var(--bg-primary);font-size:var(--fs-22);font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 12px}.login-logo h1{font-size:var(--fs-20);font-weight:600;color:var(--text-primary)}.login-logo p{font-size:var(--fs-13);color:var(--text-muted);margin-top:4px}.login-form label{font-size:var(--fs-13);color:var(--text-secondary);display:block;margin:12px 0 4px}.login-form input{width:100%;padding:10px 14px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--fs-14);outline:none;transition:border-color .2s}.login-form input:focus{border-color:var(--accent)}.login-form input::placeholder{color:var(--text-muted)}.login-form input:-webkit-autofill,.login-form input:-webkit-autofill:hover,.login-form input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-input) inset;box-shadow:0 0 0 1000px var(--bg-input) inset;caret-color:var(--text-primary)}.page-login{--login-brand: #184890;--login-brand-hover: #1e5aab}.page-login .login-form button[type=submit]{background:var(--login-brand);color:#fff}.page-login .login-form button[type=submit]:hover:not(:disabled){background:var(--login-brand-hover)}.login-form button{width:100%;margin-top:20px;padding:12px;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--fs-15);font-weight:600;cursor:pointer;transition:background .2s}.login-form button:hover{background:var(--accent-hover)}.login-form button:disabled{opacity:.6;cursor:not-allowed}.login-err{color:var(--red);font-size:var(--fs-13);margin-top:10px;text-align:center}.login-form button.login-register{margin-top:10px;padding:11px;background:transparent;color:var(--text-muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--fs-14);font-weight:600}.login-form button.login-register:hover{background:transparent}.login-form button.login-register:disabled{opacity:.55;cursor:not-allowed}.login-register__tip{margin-top:8px;text-align:center;font-size:12px;color:var(--text-muted)}.login-logo__img{display:block;width:176px;height:44px;margin:0 auto 14px;object-fit:contain}.login-logo__img--ondark,[data-theme=dark] .login-logo__img--onlight{display:none}[data-theme=dark] .login-logo__img--ondark{display:block}.app-shell{height:100%;display:flex;overflow:hidden}.sidebar{width:280px;min-width:280px;background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;transition:transform .25s ease;z-index:100}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border)}.sidebar-brand{display:flex;align-items:center;gap:10px}.brand-icon{width:32px;height:32px;flex:none;border-radius:8px;object-fit:contain;display:block}.brand-text{font-size:var(--fs-15);font-weight:600}.sidebar-home-link{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-13);color:var(--text-muted);text-decoration:none;padding:4px 9px;border:1px solid var(--border);border-radius:var(--radius-sm);white-space:nowrap;transition:all .15s}.sidebar-home-link:hover{color:var(--accent);border-color:var(--accent)}.sidebar-actions{display:flex;gap:8px;padding:12px 16px;border-bottom:1px solid var(--border)}.btn-new-ticket{flex:1;padding:8px;background:var(--accent);color:var(--on-accent);border:none;border-radius:var(--radius-sm);font-size:var(--fs-13);cursor:pointer;transition:background .2s}.btn-new-ticket:hover{background:var(--accent-hover)}.btn-new-ticket:disabled{opacity:.4;cursor:not-allowed}.btn-icon{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-15);cursor:pointer;transition:all .15s}.btn-icon:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ticket-list{flex:1;overflow-y:auto;padding:8px}.ticket-list::-webkit-scrollbar{width:4px}.ticket-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.list-hint{padding:24px 16px;text-align:center;color:var(--text-muted);font-size:var(--fs-13)}.ticket-item{padding:12px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;margin-bottom:2px;border:1px solid transparent}.ticket-item:hover{background:var(--bg-tertiary)}.ticket-item.active{background:var(--accent-dim);border-color:var(--accent)}.ticket-number{font-size:var(--fs-12);color:var(--text-secondary);font-family:monospace;margin-bottom:4px}.ticket-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:3px}.ticket-status{font-size:var(--fs-11);padding:2px 8px;border-radius:10px;font-weight:500}.s-draft{background:var(--bg-tertiary);color:var(--text-muted)}.s-active{background:var(--accent-dim);color:var(--accent-hover)}.s-warn{background:var(--amber-bg);color:var(--amber)}.s-reject{background:var(--red-bg);color:var(--red)}.s-done{background:var(--green-bg);color:var(--green)}.ticket-date{font-size:var(--fs-11);color:var(--text-muted)}.ticket-employee{font-size:var(--fs-13);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ticket-item{position:relative}.btn-delete-ticket{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;font-size:var(--fs-14);cursor:pointer;opacity:0;transition:opacity .15s;padding:4px;border-radius:4px}.ticket-item:hover .btn-delete-ticket{opacity:.7}.btn-delete-ticket:hover{opacity:1!important;background:var(--red-bg)}.list-section-label{display:flex;align-items:center;gap:6px;padding:10px 12px 4px;font-size:var(--fs-11);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.section-count{font-size:var(--fs-10);padding:1px 6px;border-radius:8px;background:var(--bg-tertiary);color:var(--text-muted)}.sidebar-footer{padding:12px 16px;border-top:1px solid var(--border)}.btn-logout{width:100%;padding:8px;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-muted);font-size:var(--fs-13);cursor:pointer;transition:all .15s}.btn-logout:hover{background:var(--red-bg);border-color:var(--red);color:var(--red)}.main-panel{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.chat-header{display:flex;align-items:center;gap:12px;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border);min-height:56px}.btn-menu{display:none;width:34px;height:34px;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--fs-16);cursor:pointer}.header-info{flex:1;min-width:0}.header-ticket{display:flex;align-items:center;gap:10px}.ticket-badge{font-size:var(--fs-13);font-family:monospace;color:var(--accent-hover);background:var(--accent-dim);padding:2px 10px;border-radius:4px}.header-status{font-size:var(--fs-12);color:var(--text-secondary)}.header-sub{font-size:var(--fs-12);color:var(--text-muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-placeholder{color:var(--text-muted);font-size:var(--fs-14)}.messages{flex:1;overflow-y:auto;padding:20px;scroll-behavior:smooth}.messages::-webkit-scrollbar{width:4px}.messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.empty-chat{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.empty-icon{font-size:var(--fs-48);margin-bottom:12px;opacity:.5}.empty-chat p{font-size:var(--fs-16);margin-bottom:4px}.empty-chat span{font-size:var(--fs-13)}.msg-system{text-align:center;padding:4px 0;font-size:var(--fs-11);color:var(--text-muted)}.msg-row{display:flex;gap:10px;margin-bottom:16px;align-items:flex-end}.msg-left{justify-content:flex-start}.msg-right{justify-content:flex-end}.msg-avatar{width:32px;height:32px;min-width:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:var(--fs-16);background:var(--bg-tertiary)}.msg-avatar-user{background:var(--accent-dim)}.msg-bubble{max-width:75%;padding:10px 14px;border-radius:14px;font-size:var(--fs-14);line-height:1.45;word-break:break-word;position:relative}.msg-bubble.user{background:var(--accent);color:var(--on-accent);border-bottom-right-radius:4px}.msg-bubble.assistant{background:var(--bg-card);border:1px solid var(--border);border-bottom-left-radius:4px}.msg-bubble.streaming{opacity:.8}.msg-bubble.card-msg{padding:0;background:transparent;border:none;max-width:85%}.msg-text{white-space:pre-wrap;line-height:1.4}.msg-text p{margin:2px 0}.msg-text ul,.msg-text ol{margin:2px 0;padding-left:18px}.msg-text li{margin:1px 0;line-height:1.35}.msg-text strong{font-weight:600}.msg-text em{font-style:italic}.msg-text code{background:var(--bg-tertiary);padding:1px 4px;border-radius:3px;font-size:var(--fs-12_5)}.msg-text pre{background:var(--bg-input);padding:8px;border-radius:6px;overflow-x:auto;font-size:var(--fs-12);margin:4px 0}.msg-text h1,.msg-text h2,.msg-text h3{margin:4px 0 2px;font-size:1em;font-weight:600}.msg-text hr{margin:6px 0;border:none;border-top:1px solid var(--border)}.cursor-blink{animation:blink 1s infinite;color:var(--accent)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px;margin:4px 0}.card-title{font-size:var(--fs-15);font-weight:600;margin-bottom:12px}.card-body{display:flex;flex-direction:column;gap:8px}.card-row{display:flex;justify-content:space-between;align-items:center;font-size:var(--fs-13)}.card-key{color:var(--text-secondary);font-size:var(--fs-12)}.card-request .card-row{gap:8px;margin-bottom:6px}.card-request .card-key{flex:0 0 auto;min-width:96px}.card-request .card-val{display:flex;gap:6px;justify-content:flex-end;max-width:none}.card-request .card-input{flex:1 1 auto;min-width:120px;padding:4px 8px;font-size:var(--fs-13);border:1px solid var(--border);border-radius:4px;background:var(--bg-elevated, transparent);color:var(--text-primary)}.card-val{color:var(--text-primary);font-weight:500;text-align:right;max-width:60%;overflow:hidden;text-overflow:ellipsis}.card-report{font-size:var(--fs-13);color:var(--text-secondary);margin:8px 0;line-height:1.5}.card-actions{display:flex;gap:8px;margin-top:14px}.card-alert{margin-top:10px;padding:10px;background:var(--amber-bg);border-radius:var(--radius-sm);color:var(--amber);font-size:var(--fs-13);font-weight:500}.card-calculation .card-details{margin-top:10px;font-size:var(--fs-12);color:var(--text-secondary)}.card-calculation .card-pre{white-space:pre-wrap;word-break:break-all;font-size:var(--fs-12);color:var(--text-secondary);background:var(--bg-tertiary);padding:8px;border-radius:var(--radius-sm);margin-top:6px;line-height:1.6}.card-table{width:100%;font-size:var(--fs-13);border-collapse:collapse}.card-table td{padding:6px 0;border-bottom:1px solid var(--border)}.card-table .card-key{width:80px}.btn-card{flex:1;padding:8px;border-radius:var(--radius-sm);border:none;font-size:var(--fs-13);font-weight:500;cursor:pointer;transition:all .15s}.btn-card.primary{background:var(--accent);color:var(--on-accent)}.btn-card.primary:hover{background:var(--accent-hover)}.btn-card.secondary{background:var(--bg-tertiary);color:var(--text-secondary)}.btn-card.secondary:hover{background:var(--border)}.card-policy.decision-covered{border-color:var(--green)}.card-policy.decision-not_covered{border-color:var(--red)}.card-policy.decision-uncertain{border-color:var(--amber)}.card-case.decision-accept{border-color:var(--green)}.card-case.decision-escalate{border-color:var(--amber)}.card-case.decision-reject{border-color:var(--red)}.card-case.decision-need_more_info{border-color:var(--blue)}.badge-priority{padding:2px 8px;border-radius:10px;font-size:var(--fs-11);font-weight:600}.pri-urgent{background:var(--red-bg);color:var(--red)}.pri-high{background:var(--amber-bg);color:var(--amber)}.pri-normal{background:var(--accent-dim);color:var(--accent-hover)}.pri-low{background:var(--bg-tertiary);color:var(--text-muted)}.input-area{padding:12px 20px 16px;background:var(--bg-secondary);border-top:1px solid var(--border)}.input-row{display:flex;align-items:center;gap:8px;background:var(--bg-input);border:1px solid var(--border);border-radius:14px;padding:6px 8px;transition:border-color .2s}.input-row:focus-within{border-color:var(--accent)}.btn-tool{width:36px;height:36px;min-width:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:10px;font-size:var(--fs-18);cursor:pointer;transition:background .15s;color:var(--text-secondary)}.btn-tool:hover{background:var(--bg-tertiary)}.btn-tool:disabled{opacity:.4;cursor:not-allowed}.input-text{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-size:var(--fs-14);padding:6px 0;font-family:var(--font)}.input-text::placeholder{color:var(--text-muted)}.input-text:disabled{opacity:.5}.btn-send{padding:8px 18px;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background .15s;white-space:nowrap}.btn-send:hover{background:var(--accent-hover)}.btn-send:disabled{opacity:.4;cursor:not-allowed}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;bottom:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:99}.btn-menu{display:flex}.msg-bubble{max-width:90%}.msg-bubble.card-msg{max-width:100%}}@media (min-width: 769px){.sidebar-overlay{display:none}.sidebar{position:relative}}.btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 16px;border:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background-color .15s ease,opacity .15s ease}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.smallish{padding:8px 18px;border-radius:10px;font-size:var(--fs-13)}.btn-primary.large,.btn-secondary.large{padding:14px 32px;border-radius:12px;font-size:var(--fs-15);font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.btn-primary.large{background:var(--accent);color:var(--on-accent);box-shadow:0 8px 24px #00000040}.btn-primary.large:hover{background:var(--accent-hover);transform:translateY(-2px)}.btn-secondary.large{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-secondary.large:hover{background:var(--bg-tertiary);transform:translateY(-1px)}.page-home{--h-brand: #1e50a2;--h-brand-600: #17417f;--h-brand-300: #7ba8e8;--h-accent: #88cb7f;--h-navy: #071a33;--h-navy-2: #0b2545;--h-surface: var(--bg-secondary);--h-surface-2: var(--bg-tertiary);--h-text: var(--text-primary);--h-text-2: var(--text-secondary);--h-muted: var(--text-muted);--h-border: var(--border);--h-radius: 16px;--h-maxw: 1120px;min-height:100vh;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;overflow-x:hidden}[data-theme=light] .page-home{--h-surface: #f5f8fd;--h-surface-2: #eef4fc;--h-border: #e3e9f2}.home-topbar{width:100%;max-width:var(--h-maxw);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;position:sticky;top:0;z-index:30;background:var(--bg-primary);background:color-mix(in srgb,var(--bg-primary) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--h-border)}.home-topbar__brand{display:flex;align-items:center;gap:10px;min-width:0}.home-topbar__mark{flex:none;width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--h-brand),#2f6bcc);color:#fff;font-size:12px;font-weight:800;letter-spacing:.02em}.home-topbar__name{font-size:14px;font-weight:700;color:var(--h-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.home-topbar__nav{display:flex;align-items:center;gap:8px;flex:none}.home-navlink{font-size:13px;color:var(--h-text-2);text-decoration:none;padding:6px 10px;border:1px solid var(--h-border);border-radius:8px;white-space:nowrap;transition:all .15s}.home-navlink:hover,.home-navlink--admin{color:var(--h-brand-300);border-color:var(--h-brand-300)}[data-theme=light] .home-navlink--admin{color:var(--h-brand);border-color:var(--h-brand)}.home-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid transparent;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;cursor:pointer;padding:10px 20px;white-space:nowrap;transition:transform .15s,box-shadow .15s,background-color .15s,border-color .15s,color .15s}.home-btn--sm{padding:7px 14px;font-size:13px}.home-btn--lg{padding:13px 26px;font-size:15.5px}.home-btn--primary{background:var(--h-brand);color:#fff}.home-btn--primary:hover{transform:translateY(-1px);box-shadow:0 8px 20px #1e50a252}.home-btn--ghost{background:transparent;color:#fff;border-color:#fff6}.home-btn--ghost:hover{background:#ffffff1f}.home-hero{position:relative;overflow:hidden;width:100%;padding:44px 18px 52px;background:radial-gradient(760px 420px at 84% -10%,rgba(47,107,204,.55) 0%,transparent 62%),radial-gradient(520px 340px at 4% 6%,rgba(136,203,127,.16) 0%,transparent 58%),linear-gradient(168deg,#071a33,#0b2545 54%,#0e2f5c);color:#fff}.home-hero__grid{position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(120% 80% at 50% 0%,#000 20%,transparent 78%);-webkit-mask-image:radial-gradient(120% 80% at 50% 0%,#000 20%,transparent 78%)}.home-hero__glow{position:absolute;right:-90px;bottom:-140px;width:320px;height:320px;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(136,203,127,.22) 0%,transparent 68%)}.home-hero__inner{position:relative;z-index:1;max-width:var(--h-maxw);margin:0 auto}.home-hero__eyebrow{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 14px;border-radius:999px;margin:0 0 18px;background:#ffffff14;border:1px solid rgba(255,255,255,.16);font-size:12.5px;color:#cfe0ff}.home-dot{width:6px;height:6px;border-radius:50%;background:var(--h-accent);box-shadow:0 0 0 4px #88cb7f2e;flex:none}.home-hero__title{margin:0;font-size:clamp(28px,7.6vw,46px);font-weight:800;line-height:1.18;letter-spacing:-.5px}.home-hero__sub{margin:14px 0 0;font-size:clamp(14px,3.6vw,17px);line-height:1.75;color:#bed0e8;max-width:40em}.home-hero__badges{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 0}.home-chip{padding:5px 12px;border-radius:999px;font-size:12.5px;color:#d6e3f7;background:#ffffff12;border:1px solid rgba(255,255,255,.16)}.home-hero__actions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 0}.home-hero__actions .home-btn{flex:1 1 auto}.home-metrics{margin:32px 0 0;display:grid;gap:1px;grid-template-columns:repeat(2,1fr);background:#ffffff1f;border:1px solid rgba(255,255,255,.14);border-radius:var(--h-radius);overflow:hidden}.home-metric{padding:16px;background:#0b25459e;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.home-metric b{display:block;font-size:clamp(18px,4.6vw,24px);font-weight:800;letter-spacing:-.3px;line-height:1.15}.home-metric span{display:block;margin-top:4px;font-size:12.5px;color:#a4b4cc}.home-section{width:100%;max-width:var(--h-maxw);padding:56px 18px;margin:0 auto}.home-section--soft{max-width:none;background:var(--h-surface);border-top:1px solid var(--h-border);border-bottom:1px solid var(--h-border)}.home-section__inner{max-width:var(--h-maxw);margin-inline:auto}.home-section__head{margin:0 0 36px;max-width:52em}.home-tag{display:inline-block;margin-bottom:12px;padding:5px 12px;border-radius:999px;font-size:11.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--h-brand);background:#1e50a21f}[data-theme=light] .home-tag{color:var(--h-brand);background:#e8f0fc}.home-tag--soon{color:#b8860b;background:#d98a1f24}[data-theme=light] .home-tag--soon{color:#a86a10;background:#fdf3e3}.home-section__title{margin:0;font-size:clamp(22px,5.4vw,32px);font-weight:800;letter-spacing:-.4px;color:var(--h-text);line-height:1.28}.home-section__sub{margin:12px 0 0;font-size:14.5px;line-height:1.8;color:var(--h-text-2);max-width:44em}.home-cap-grid{display:grid;gap:14px;grid-template-columns:1fr}.home-cap{position:relative;overflow:hidden;padding:24px;border-radius:var(--h-radius);background:var(--h-surface);border:1px solid var(--h-border);transition:transform .18s,box-shadow .18s,border-color .18s}.home-section--soft .home-cap{background:var(--bg-primary)}.home-cap:hover{transform:translateY(-3px);box-shadow:0 12px 28px #00000029;border-color:var(--h-brand-300)}.home-cap__icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:12px;border-radius:12px;font-size:20px;background:#1e50a21f}[data-theme=light] .home-cap__icon{background:#e8f0fc}.home-cap__title{margin:0;font-size:15.5px;font-weight:700;color:var(--h-text);display:flex;align-items:center;gap:8px;flex-wrap:wrap}.home-cap__desc{margin:8px 0 0;font-size:13.5px;line-height:1.7;color:var(--h-text-2)}.home-cap__badge{display:inline-block;margin-top:12px;padding:3px 10px;border-radius:999px;font-size:11.5px;font-weight:600;color:var(--h-accent);background:#88cb7f24;border:1px solid rgba(136,203,127,.28)}[data-theme=light] .home-cap__badge{color:#3f8f3a;background:#eef9ec;border-color:#d3ecd0}.home-tools{display:grid;gap:10px;grid-template-columns:repeat(2,1fr)}.home-tool{display:flex;align-items:center;gap:8px;padding:16px 18px;border-radius:12px;text-decoration:none;background:var(--h-surface);border:1px solid var(--h-border);color:var(--h-text);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;text-align:left;transition:all .15s}.home-tool span{font-size:16px;flex:none}.home-tool:hover{border-color:var(--h-brand-300);color:var(--h-brand-300)}.home-flow{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.home-flow__item{flex:0 1 calc((100% - 10px)/2);display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:12px;background:var(--h-surface);border:1px solid var(--h-border);transition:border-color .16s,transform .16s}.home-flow__item:hover{border-color:var(--h-brand-300);transform:translateY(-2px)}.home-flow__no{flex:none;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--h-brand-300);font-variant-numeric:tabular-nums}.home-flow__name{font-size:14.5px;font-weight:600;color:var(--h-text)}.home-stack{display:grid;gap:14px;grid-template-columns:1fr}.home-stack__item{display:flex;gap:14px;align-items:flex-start;padding:20px;border-radius:var(--h-radius);background:var(--h-surface);border:1px solid var(--h-border);transition:border-color .16s,transform .16s}.home-stack__item:hover{border-color:var(--h-brand-300);transform:translateY(-2px)}.home-stack__icon{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#1e50a224;color:var(--h-brand-300)}[data-theme=light] .home-stack__icon{background:#e8f0fc;color:var(--h-brand)}.home-stack__name{margin:0;font-size:15px;font-weight:700;color:var(--h-text)}.home-stack__desc{margin:7px 0 0;font-size:13.5px;line-height:1.7;color:var(--h-text-2)}.home-assets{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.home-asset{padding:20px 18px;border-radius:var(--h-radius);background:var(--bg-primary);border:1px solid var(--h-border)}.home-asset b{display:block;font-size:clamp(20px,5.2vw,26px);font-weight:800;letter-spacing:-.4px;line-height:1.1;color:var(--h-text);font-variant-numeric:tabular-nums}.home-asset span{display:block;margin-top:6px;font-size:12.5px;line-height:1.6;color:var(--h-text-2)}.home-iconbtn{flex:none;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--h-border);border-radius:9px;background:transparent;color:var(--h-text-2);cursor:pointer;transition:all .15s}.home-iconbtn:hover{color:var(--h-brand-300);border-color:var(--h-brand-300)}.home-navlink{display:inline-flex;align-items:center;gap:4px}.home-navlink__ico,.home-btn__ico,.home-tool__icon{display:inline-flex;align-items:center;flex:none}.home-tool__icon{color:var(--h-brand-300)}[data-theme=light] .home-tool__icon{color:var(--h-brand)}.home-cap__icon svg{color:var(--h-brand-300)}[data-theme=light] .home-cap__icon svg{color:var(--h-brand)}.home-hero__br{display:none}@media (min-width: 700px){.home-hero__br{display:inline}}.home-hero{background:radial-gradient(760px 420px at 84% -10%,rgba(47,107,204,.38) 0%,transparent 62%),radial-gradient(520px 340px at 4% 6%,rgba(136,203,127,.12) 0%,transparent 58%),linear-gradient(168deg,#0a1526,#0d2038 54%,#102a4a)}[data-theme=light] .home-hero{background:radial-gradient(760px 420px at 84% -10%,rgba(47,107,204,.2) 0%,transparent 62%),radial-gradient(520px 340px at 4% 6%,rgba(136,203,127,.22) 0%,transparent 58%),linear-gradient(168deg,#f2f7fd,#e3edfa 54%,#d3e3f7);color:#0f172a}[data-theme=light] .home-hero__grid{background-image:linear-gradient(rgba(30,80,162,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(30,80,162,.06) 1px,transparent 1px)}[data-theme=light] .home-hero__glow{background:radial-gradient(circle,rgba(136,203,127,.3) 0%,transparent 68%)}[data-theme=light] .home-hero__eyebrow{background:#ffffffb8;border-color:#1e50a229;color:#1e50a2}[data-theme=light] .home-hero__sub{color:#45597a}[data-theme=light] .home-chip{background:#ffffffc7;border-color:#1e50a224;color:#33507a}[data-theme=light] .home-hero__actions .home-btn--ghost{color:#1e50a2;border-color:#1e50a259}[data-theme=light] .home-hero__actions .home-btn--ghost:hover{background:#1e50a214}[data-theme=light] .home-metrics{background:#fffc;border-color:#1e50a21f}[data-theme=light] .home-metric{background:#ffffffb8}[data-theme=light] .home-metric b{color:#0f172a}[data-theme=light] .home-metric span{color:#5b6b82}[data-theme=light] .home-dot{box-shadow:0 0 0 4px #88cb7f47}.home-brand-logo{display:block;flex:none}.home-brand-logo--ondark,[data-theme=dark] .home-brand-logo--onlight{display:none}[data-theme=dark] .home-brand-logo--ondark{display:block}.home-topbar__logo{width:112px;height:28px;object-fit:contain;object-position:left center}@media (min-width: 700px){.home-section__head{text-align:center;margin-inline:auto}.home-section__sub{margin-inline:auto}}@media (min-width: 700px){.home-topbar{padding:14px 24px}.home-hero{padding:80px 24px 88px}.home-hero__actions .home-btn{flex:0 0 auto}.home-metrics{grid-template-columns:repeat(4,1fr);margin-top:44px}.home-metric{padding:22px 20px}.home-section{padding:96px 24px}.home-cap-grid{grid-template-columns:repeat(2,1fr);gap:18px}.home-cap{padding:28px}.home-tools{grid-template-columns:repeat(3,1fr)}.home-flow{gap:12px}.home-flow__item{flex-basis:calc((100% - 24px) / 3)}.home-stack{grid-template-columns:repeat(2,1fr);gap:18px}.home-assets{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1000px){.home-cap-grid{grid-template-columns:repeat(3,1fr)}.home-flow__item{flex-basis:calc((100% - 48px)/5)}.home-stack{grid-template-columns:repeat(4,1fr)}.home-assets{grid-template-columns:repeat(6,1fr)}.home-hero{padding:108px 24px 112px}}@keyframes home-rise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.home-hero__inner>*,.home-section>*{animation:home-rise .5s ease-out both}.home-hero__inner>*:nth-child(2){animation-delay:.05s}.home-hero__inner>*:nth-child(3){animation-delay:.1s}.home-hero__inner>*:nth-child(4){animation-delay:.15s}.home-hero__inner>*:nth-child(5){animation-delay:.2s}.home-hero__inner>*:nth-child(6){animation-delay:.25s}@media (prefers-reduced-motion: reduce){.home-hero__inner>*,.home-section>*{animation:none}.home-cap:hover,.home-btn--primary:hover{transform:none}}@media (prefers-reduced-motion: reduce){.btn-primary.large:hover,.btn-secondary.large:hover{transform:none}}.page-login{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(ellipse at top,#141414,#0a0a0a)}.page-login .login-card{margin-top:auto;margin-bottom:auto}.page-login .app-footer{margin-top:0;padding-bottom:18px;border-top:none}[data-theme=light] .page-login{background:radial-gradient(ellipse at top,#f2f7fd,#e3edfa 70%,#d8e6f7)}.login-back{color:var(--text-muted);text-decoration:none;font-size:var(--fs-13);display:block;margin-bottom:16px}.login-back:hover{color:var(--text-primary)}.page-header{display:flex;align-items:center;gap:12px;padding:16px 24px;background:var(--bg-secondary);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.page-header h2{font-size:var(--fs-18);font-weight:600;flex:1}.page-back{color:var(--text-secondary);text-decoration:none;font-size:var(--fs-18);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:background .15s}.page-back:hover{background:var(--bg-tertiary)}.page-header__right{display:flex;align-items:center;gap:8px;flex:none}.page-header__actions{display:flex;align-items:center;gap:6px}.btn-logout-mini{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;cursor:pointer;background:transparent;color:var(--text-secondary);border:1px solid var(--border);font-size:var(--fs-12);font-family:inherit;white-space:nowrap;transition:color .15s,border-color .15s,background-color .15s}.btn-logout-mini:hover{color:var(--red);border-color:var(--red);background:var(--red-bg)}.app-footer{width:100%;margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;padding:20px 18px 26px;border-top:1px solid var(--border);font-size:12.5px;color:var(--text-muted);text-align:center}.app-footer a{color:var(--text-muted);text-decoration:none}.app-footer a:hover{color:var(--text-primary);text-decoration:underline}.btn-page-action{padding:6px 16px;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;font-size:var(--fs-13);cursor:pointer}.btn-page-action:hover{background:var(--accent-hover)}.page-history{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.history-table-wrap{overflow-x:auto;padding:16px 24px}.history-table{width:100%;border-collapse:collapse;font-size:var(--fs-13)}.history-table th{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border);color:var(--text-secondary);font-weight:500;font-size:var(--fs-12);white-space:nowrap}.history-table td{padding:10px 12px;border-bottom:1px solid var(--border)}.history-table tr:hover td{background:var(--bg-tertiary)}.td-mono{font-family:monospace;font-size:var(--fs-12);color:var(--accent-hover)}.td-desc{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.td-date{font-size:var(--fs-12);color:var(--text-muted);white-space:nowrap}.td-hint{text-align:center;color:var(--text-muted);padding:40px!important}.td-actions{white-space:nowrap}.btn-table{padding:4px 12px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border);border-radius:6px;font-size:var(--fs-12);cursor:pointer;text-decoration:none;margin-right:4px;transition:all .15s}.btn-table:hover{background:var(--accent-dim);color:var(--accent-hover)}.btn-table:disabled{opacity:.5}.page-settings{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.settings-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:24px}.settings-card{background:var(--bg-card);border:1px solid var(--border);border-radius:14px;padding:24px;position:relative}.settings-card h3{font-size:var(--fs-15);font-weight:600;margin-bottom:8px}.setting-desc{font-size:var(--fs-13);color:var(--text-secondary);margin-bottom:12px;line-height:1.5}.badge-placeholder{display:inline-block;padding:3px 10px;border-radius:10px;font-size:var(--fs-11);font-weight:500;background:var(--amber-bg);color:var(--amber)}.progress-panel{width:260px;min-width:260px;background:var(--bg-secondary);border-left:1px solid var(--border);display:flex;flex-direction:column;transition:transform .25s ease;z-index:99}.progress-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.progress-header h3{font-size:var(--fs-14);font-weight:600}.progress-panel-inner{padding:16px;overflow-y:auto;flex:1}.progress-empty{text-align:center;padding:40px 16px;color:var(--text-muted)}.progress-empty p{font-size:var(--fs-14);margin-bottom:4px}.progress-empty span{font-size:var(--fs-12)}.progress-ticket{margin-bottom:20px}.progress-number{display:block;font-family:monospace;font-size:var(--fs-12);color:var(--accent-hover);background:var(--accent-dim);padding:3px 8px;border-radius:4px;margin-bottom:6px}.progress-status{font-size:var(--fs-14);font-weight:600}.stepper{display:flex;flex-direction:column;margin-bottom:16px}.step{display:flex;gap:10px}.step-rail{display:flex;flex-direction:column;align-items:center;width:14px;flex-shrink:0}.step-dot{width:10px;height:10px;border-radius:50%;margin-top:4px;flex-shrink:0;box-sizing:border-box}.step.done .step-dot{background:var(--accent)}.step.current .step-dot{background:var(--accent);box-shadow:0 0 0 4px var(--accent-dim)}.step.branch .step-dot{background:var(--amber);box-shadow:0 0 0 4px #00000014}.step.future .step-dot{background:transparent;border:2px solid var(--text-muted)}.step-line{flex:1;min-height:18px;margin:2px 0;border-left:2px solid var(--accent)}.step-line.dashed{border-left-style:dashed;border-color:var(--text-muted)}.step-label{flex:1;font-size:var(--fs-13);line-height:18px;padding-bottom:18px}.step.done .step-label{color:var(--text-secondary)}.step.current .step-label{color:var(--accent-hover);font-weight:600}.step.branch .step-label{color:var(--amber);font-weight:600}.step.future .step-label{color:var(--text-muted)}.step-now{font-style:normal;font-size:var(--fs-10);margin-left:6px;padding:1px 6px;border-radius:8px;background:var(--accent);color:var(--on-accent)}.step.branch .step-now{background:var(--amber)}.progress-info{margin-bottom:16px}.progress-info h4{font-size:var(--fs-11);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.progress-info p{font-size:var(--fs-12);color:var(--text-secondary);line-height:1.4;margin-bottom:6px}.info-tag{display:inline-block;font-size:var(--fs-11);padding:2px 8px;background:var(--bg-tertiary);border-radius:4px;margin:2px 4px 2px 0;color:var(--text-secondary)}.progress-hint{background:var(--accent-dim);border-radius:8px;padding:10px 12px;font-size:var(--fs-12);color:var(--accent-hover);line-height:1.4}.progress-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.btn-action{flex:1;min-width:72px;padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--fs-12);cursor:pointer;transition:background .15s,color .15s}.btn-action:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-action.danger:hover:not(:disabled){background:var(--red);border-color:var(--red)}.btn-action:disabled{opacity:.5;cursor:not-allowed}.progress-error{font-size:var(--fs-12);color:var(--red);margin-bottom:12px}.offline-banner{position:fixed;top:0;left:0;right:0;z-index:100;background:var(--amber);color:var(--bg-primary);text-align:center;padding:6px 12px;font-size:var(--fs-12);font-weight:600}.progress-toggle{display:none;position:fixed;right:12px;bottom:100px;z-index:200;width:42px;height:42px;border-radius:50%;background:var(--accent);color:var(--on-accent);border:none;font-size:var(--fs-18);box-shadow:0 4px 16px #00000040;cursor:pointer;align-items:center;justify-content:center}.progress-toggle.active{background:var(--bg-secondary);color:var(--text-primary)}@media (max-width: 768px){.settings-grid{grid-template-columns:1fr}.history-table th:nth-child(4),.history-table td:nth-child(4){display:none}.progress-panel{position:fixed;right:0;top:0;bottom:0;transform:translate(100%)}.progress-panel.open{transform:translate(0)}.progress-toggle{display:flex}}@media (min-width: 769px){.progress-toggle{display:none}.progress-panel{position:relative}.progress-panel .progress-header .btn-icon{display:none}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:flex;align-items:center;justify-content:center;z-index:100}.modal-card{background:var(--bg-card, #fff);color:var(--text-primary, #222);border-radius:12px;padding:20px;width:min(420px,92vw);box-shadow:0 8px 30px #00000040;display:flex;flex-direction:column;max-height:min(86vh,960px)}.modal-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid var(--border);flex-shrink:0}.modal-card-head h3{margin:0;font-size:var(--fs-16)}.modal-card-body{overflow-y:auto;flex:1;min-height:0}.devlog-body{font-size:var(--fs-13);line-height:1.6;word-break:break-word}.modal-card-foot{flex-shrink:0;padding-top:12px;margin-top:8px}.modal-card-lg{width:min(860px,94vw)}.modal-card textarea{margin:12px 0;border:1px solid var(--border, #ddd);border-radius:8px;padding:8px;font:inherit;background:var(--bg-input, #fff);color:inherit}.btn-danger{background:var(--danger, #d43d3d)!important;color:#fff!important}@media (max-width: 640px){.modal-card-lg{width:100vw;height:100dvh;max-height:none;border-radius:0;padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.card-materials .card-list{margin:6px 0 0;padding-left:18px;font-size:var(--fs-13);line-height:1.8}.card-hint{margin-top:8px;font-size:var(--fs-12);color:var(--text-secondary);background:var(--bg-tertiary);padding:6px 8px;border-radius:6px}.card-medical .card-note{font-size:var(--fs-12);color:var(--text-secondary);margin-top:2px}.materials-panel{position:fixed;right:12px;top:60px;bottom:84px;width:min(340px,86vw);background:var(--panel, #fff);border:1px solid var(--border);border-radius:12px;z-index:30;display:flex;flex-direction:column;box-shadow:0 8px 30px #0000001f}.materials-head{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--border);font-weight:600;font-size:var(--fs-14)}.btn-invite{margin:10px 14px 0;padding:8px;border-radius:8px;border:none;background:var(--accent);color:var(--bg-primary);font-size:var(--fs-13);cursor:pointer}.invite-box{margin:8px 14px 0;padding:8px;background:#78829614;border-radius:8px;font-size:var(--fs-12)}.invite-url{word-break:break-all;color:var(--muted, #666)}.btn-copy{margin-top:6px;padding:4px 10px;border-radius:6px;border:1px solid var(--border);background:none;font-size:var(--fs-12);cursor:pointer}.invite-hint{margin-top:6px;color:var(--muted, #888)}.materials-list{flex:1;overflow-y:auto;padding:8px 14px;margin:0;list-style:none}.materials-item{padding:8px 0;border-bottom:1px solid var(--border)}.materials-name{background:none;border:none;padding:0;font-size:var(--fs-13);color:var(--text, #222);cursor:pointer;text-align:left}.materials-meta{font-size:var(--fs-11);color:var(--muted, #888);margin-top:2px}.materials-empty{padding:16px 14px;font-size:var(--fs-12);color:var(--muted, #888)}.materials-preview{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;z-index:40;display:flex;align-items:center;justify-content:center;cursor:zoom-out}.materials-preview img{max-width:92vw;max-height:88vh;border-radius:8px}.btn-materials{border:none;background:none;font-size:var(--fs-18);cursor:pointer;padding:8px}.ticket-overdue{color:#d32f2f;font-weight:600;font-size:var(--fs-12);margin-right:6px}.page-phone{min-height:100vh;display:flex;flex-direction:column;max-width:480px;margin:0 auto;padding:16px}.phone-header{display:flex;align-items:center;gap:12px;padding:8px 0 16px}.phone-header h1{font-size:var(--fs-18);flex:1;margin:0}.phone-session{font-size:var(--fs-12);color:var(--text-muted)}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text-secondary);border-radius:8px;padding:6px 12px;font-size:var(--fs-13);cursor:pointer}.phone-stage{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 0 20px}.phone-dot{width:88px;height:88px;border-radius:50%;border:3px solid var(--border);transition:all .4s ease}.phone-dot.idle{background:var(--bg-tertiary)}.phone-dot.listening{background:var(--green-bg);border-color:var(--green);box-shadow:0 0 24px #f5f5f540;animation:pulse-green 1.6s ease-in-out infinite}.phone-dot.speaking{background:var(--accent-dim);border-color:var(--accent);box-shadow:0 0 24px #f5f5f533;animation:pulse-indigo 1.6s ease-in-out infinite}@keyframes pulse-green{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes pulse-indigo{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.phone-status-text{color:var(--text-secondary);font-size:var(--fs-14);margin:0}.phone-timer{color:var(--text-muted);font-size:var(--fs-13);font-variant-numeric:tabular-nums;margin:0}.phone-transcript{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px;overflow-y:auto;min-height:220px;max-height:46vh}.phone-empty{color:var(--text-muted);font-size:var(--fs-13);text-align:center;margin-top:40%}.phone-line{display:flex;gap:8px;padding:6px 4px;border-bottom:1px solid var(--bg-secondary);font-size:var(--fs-14);line-height:1.5}.phone-line-time{color:var(--text-muted);font-size:var(--fs-12);flex-shrink:0;padding-top:2px}.phone-line-text{color:var(--text-primary)}.phone-actions{display:flex;justify-content:center;padding:20px 0 28px}.phone-call-btn{width:84px;height:84px;border-radius:50%;border:none;background:var(--green);color:#fff;font-size:var(--fs-16);font-weight:600;cursor:pointer;box-shadow:0 4px 18px #f5f5f540}.phone-call-btn.hangup{background:#dc2626;box-shadow:0 4px 18px #dc262659}.phone-call-btn:hover{transform:scale(1.04)}.phone-mic-active{color:var(--green);font-size:var(--fs-13);margin:0;animation:pulse-green 1.6s ease-in-out infinite}.phone-ticket{color:var(--accent-hover);font-size:var(--fs-13);margin:0}.phone-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a14b3;display:flex;align-items:flex-end;justify-content:center;z-index:100}.phone-panel{width:100%;max-width:480px;max-height:82vh;background:var(--bg-primary);border:1px solid var(--border);border-radius:18px 18px 0 0;padding:14px 16px 10px;display:flex;flex-direction:column}.phone-fab{position:fixed;right:18px;bottom:22px;width:58px;height:58px;border-radius:50%;border:none;background:var(--green);color:#fff;font-size:var(--fs-24);cursor:pointer;box-shadow:0 4px 18px #f5f5f54d;z-index:90}.phone-fab:hover{transform:scale(1.06)}.tab-active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.task-desk{max-width:720px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.task-desk-hint{font-size:var(--fs-12);color:var(--text-muted)}.task-stats{display:flex;gap:8px;padding:4px 16px 10px}.task-stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:10px 0;cursor:pointer;transition:border-color .15s}.task-stat.active{border-color:var(--text-primary)}.task-stat.warn.overdue{border-color:var(--red)}.task-stat-num{font-size:var(--fs-20);font-weight:700;font-variant-numeric:tabular-nums}.task-stat.warn.overdue .task-stat-num{color:var(--red)}.task-stat-label{font-size:var(--fs-12);color:var(--text-secondary)}.task-type-tabs{display:flex;gap:6px;padding:0 16px 10px;overflow-x:auto}.task-type-tab{flex-shrink:0;padding:5px 14px;border-radius:14px;font-size:var(--fs-13);background:var(--bg-card);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer}.task-type-tab.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.task-list{list-style:none;padding:0 16px;display:flex;flex-direction:column;gap:10px}.task-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:12px 14px;cursor:pointer;transition:border-color .15s}.task-card:hover{border-color:var(--text-muted)}.task-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.task-badge{font-size:var(--fs-12);padding:2px 10px;border-radius:10px;background:var(--bg-tertiary);color:var(--text-secondary);font-weight:500}.task-badge.type-phone_handover{background:var(--green-bg);color:var(--green)}.task-badge.type-responsibility_review{background:var(--amber-bg);color:var(--amber)}.task-ticket-no{font-size:var(--fs-12);color:var(--text-muted);font-family:monospace}.task-emp{font-size:var(--fs-12);color:var(--text-secondary)}.task-status.claimed{font-size:var(--fs-11);color:var(--amber);border:1px solid var(--amber);border-radius:8px;padding:1px 8px}.task-card-title{font-size:var(--fs-14);font-weight:600;margin-top:8px;color:var(--text-primary)}.task-card-desc{font-size:var(--fs-12);color:var(--text-secondary);margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px solid var(--border);gap:8px;flex-wrap:wrap}.task-sla{font-size:var(--fs-12);color:var(--text-muted);font-variant-numeric:tabular-nums}.task-sla.overdue{color:var(--red);font-weight:600}.task-card-actions{display:flex;gap:6px;flex-wrap:wrap}.task-detail-sec{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.task-detail-title{font-size:var(--fs-13);font-weight:700;margin-bottom:6px;color:var(--text-primary)}.task-detail-table{width:100%;border-collapse:collapse}.task-detail-table td{padding:3px 6px;vertical-align:top}.task-analysis-item{display:flex;gap:8px;padding:4px 0;font-size:var(--fs-12);line-height:1.5;border-bottom:1px dashed var(--border)}.task-analysis-name{flex-shrink:0;color:var(--text-muted);min-width:64px}.task-analysis-text{color:var(--text-primary)}.task-msg{font-size:var(--fs-12);color:var(--text-secondary);line-height:1.5;margin:2px 0}.agent-desk{max-width:100%;width:100%;height:100vh;display:flex;flex-direction:column}.agent-desk-body{flex:1;display:flex;min-height:0;min-width:0}.agent-chat-col{flex:1.2;min-width:380px;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.agent-review-col{width:34%;min-width:360px;overflow-y:auto;border-right:1px solid var(--border);padding:10px 14px;background:var(--bg-secondary)}.agent-data-col{width:30%;min-width:320px;overflow-y:auto;padding:10px 14px;background:var(--bg-secondary)}.agent-takeover{border-color:var(--amber);color:var(--amber)}.agent-banner{background:var(--amber-bg);color:var(--amber);font-size:var(--fs-12);padding:8px 14px}.agent-ctx{border-bottom:1px solid var(--border);padding:10px 14px;max-height:34vh;overflow-y:auto}.agent-msgs{flex:1;overflow-y:auto;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.agent-msg{max-width:82%;padding:8px 12px;border-radius:12px;font-size:var(--fs-13);line-height:1.6}.agent-msg b{display:block;font-size:var(--fs-11);color:var(--text-muted);margin-bottom:2px}.agent-msg.user{align-self:flex-start;background:var(--bg-tertiary)}.agent-msg.agent{align-self:flex-end;background:var(--bg-card);border:1px solid var(--border)}.agent-input{border-top:1px solid var(--border);padding:10px 14px}.agent-input textarea{width:100%;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--text-primary);padding:8px;font-size:var(--fs-13);resize:vertical}.agent-input-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.agent-input-actions .recording{border-color:var(--red);color:var(--red)}.agent-resolve{border-color:var(--green);color:var(--green)}.agent-resolve-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:120}.agent-resolve-modal>div{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:16px;width:90%;max-width:420px}.agent-resolve-modal textarea{width:100%;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:8px;margin:8px 0}.ztb-edit{display:flex;flex-direction:column;gap:6px}.ztb-row{display:flex;align-items:center;gap:8px;font-size:var(--fs-12)}.ztb-label{flex:1;color:var(--text-secondary)}.ztb-row select,.ztb-row input{flex:1;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:4px 8px;font-size:var(--fs-12)}.review-ok .task-analysis-name{color:var(--green)}.review-issues .task-analysis-name{color:var(--red)}.agent-workspace{flex:1;display:flex;overflow:hidden;min-height:0}.agent-side{width:340px;min-width:340px;overflow-y:auto;border-right:1px solid var(--border);padding:10px 14px;background:var(--bg-secondary)}.agent-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.agent-desk .agent-msgs{flex:1;overflow-y:auto}.agent-desk-body{flex:1;display:flex;min-height:0}.agent-chat-col{flex:1.1;min-width:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border)}.agent-review-col{width:32%;min-width:340px;overflow-y:auto;border-right:1px solid var(--border);padding:10px 14px;background:var(--bg-secondary)}.agent-data-col{width:30%;min-width:300px;overflow-y:auto;padding:10px 14px;background:var(--bg-secondary)}.agent-data-col .agent-kv-row,.agent-review-col .agent-kv-row{flex-wrap:wrap}.agent-data-col .agent-kv-val,.agent-review-col .agent-kv-val{word-break:break-all}.agent-workspace .agent-main{order:1;border-right:1px solid var(--border)}.agent-workspace .agent-review-col{order:2}.agent-workspace .agent-data-col{order:3}@media (max-width: 768px){.agent-side{position:fixed;left:0;top:0;bottom:0;z-index:110;transform:translate(-100%);transition:transform .25s ease;width:min(340px,88vw)}.agent-side.open{transform:translate(0);box-shadow:8px 0 24px #00000080}}.agent-side{scrollbar-width:thin}.agent-side .task-detail-title{font-size:var(--fs-12);color:var(--text-muted);margin:14px 0 6px}.agent-sec{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:8px 10px;margin-bottom:8px}.agent-sec-title{font-size:var(--fs-13);font-weight:600;display:flex;align-items:center;gap:8px}.agent-kv{width:100%;font-size:var(--fs-12)}.agent-kv-row{display:flex;gap:8px;padding:2px 0}.agent-kv-key{color:var(--text-muted);flex-shrink:0;min-width:52px}.agent-kv-val{color:var(--text-primary);word-break:break-all}.agent-sec.analysis{background:var(--bg-secondary)}.review-badge{font-size:var(--fs-11);padding:1px 8px;border-radius:8px;margin-left:auto}.review-badge.ok{background:var(--green-bg);color:var(--green)}.review-badge.issues{background:var(--red-bg);color:var(--red)}.review-badge.error{background:var(--amber-bg);color:var(--amber)}.review-findings{margin:6px 0 0;padding-left:16px;font-size:var(--fs-12);color:var(--red)}.ztb-group{font-size:var(--fs-11);font-weight:600;color:var(--text-muted);margin:8px 0 4px}.task-view-tabs{display:inline-flex;gap:4px}.task-view-tab{background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:var(--fs-13);cursor:pointer}.task-view-tab.active{background:var(--text-primary);color:var(--bg-panel)}.snapshot-slim{margin:6px 10px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--bg-secondary)}.snapshot-slim-head{width:100%;display:flex;align-items:center;gap:6px;padding:8px 10px;background:none;border:none;font-size:var(--fs-13);font-weight:600;cursor:pointer;color:var(--text)}.snapshot-slim-ver{font-size:var(--fs-11);background:var(--green-bg);color:var(--green);border-radius:8px;padding:1px 8px}.snapshot-slim-body{padding:4px 10px 10px;border-top:1px dashed var(--border)}.snapshot-slim-row{display:flex;gap:8px;padding:3px 0;font-size:var(--fs-12)}.snapshot-slim-label{flex:0 0 64px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.snapshot-slim-val{flex:1;color:var(--text)}.ztb-hint{font-size:var(--fs-11);color:var(--text-secondary);flex:1}.agent-topbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 14px;border-bottom:1px solid var(--border);background:var(--bg-secondary);font-size:var(--fs-12)}.agent-topbar-chip{display:inline-flex;align-items:center;gap:5px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:3px 9px;white-space:nowrap}.agent-topbar-chip .k{color:var(--text-muted)}.agent-topbar-chip .v{color:var(--text-primary);font-weight:600}.agent-topbar-chip .v.danger{color:var(--red)}.agent-topbar-chip .v.ok{color:var(--green)}.agent-tabs{display:flex;overflow-x:auto;gap:4px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--bg-panel);scrollbar-width:thin;-webkit-overflow-scrolling:touch}.agent-tab{flex:0 0 auto;background:var(--bg-card);color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:var(--fs-13);cursor:pointer;white-space:nowrap}.agent-tab.active{background:var(--text-primary);color:var(--bg-panel);border-color:var(--text-primary)}.agent-tab-body{flex:1;overflow-y:auto;min-height:0;padding:10px 14px;background:var(--bg-secondary)}.agent-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-bottom:10px}.agent-kpi{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:8px 10px}.agent-kpi .k{font-size:var(--fs-11);color:var(--text-muted)}.agent-kpi .v{font-size:var(--fs-16);font-weight:700;margin-top:2px}.agent-kpi .v.warn{color:var(--amber)}.agent-kpi .v.danger{color:var(--red)}.agent-kpi .v.ok{color:var(--green)}.evidence-clause{margin:6px 0;padding:6px 8px;border-left:3px solid var(--accent);background:var(--bg-card);border-radius:0 8px 8px 0}.evidence-clause .t{font-size:var(--fs-12);font-weight:600}.evidence-clause .c{font-size:var(--fs-11);color:var(--text-secondary);white-space:pre-wrap;margin-top:2px}.evidence-clause .s{font-size:var(--fs-10);color:var(--accent);word-break:break-all;margin-top:2px}.tab-chat{display:flex;flex-direction:column;height:100%;min-height:0}.tab-chat .agent-msgs{flex:1;overflow-y:auto}.tab-chat .agent-input{border-top:1px solid var(--border)}@media (max-width: 768px){.agent-topbar{gap:6px}.agent-topbar-chip{padding:2px 7px;font-size:var(--fs-11)}}.m8-0{margin:8px 0}.mt4{margin-top:4px}.mb8{margin-bottom:8px}.ml8{margin-left:8px}.flex-end{display:flex;gap:8px;justify-content:flex-end}.w100{width:100%}.fs-10{font-size:var(--fs-10)}.fs-11{font-size:var(--fs-11)}.fs-12{font-size:var(--fs-12)}.fs-13{font-size:var(--fs-13)}.fs-14{font-size:var(--fs-14)}.att-preview{position:relative;margin-top:4px;display:inline-block;max-width:100%}.att-preview img{max-width:100%;border-radius:8px;display:block}.att-preview-close{position:absolute;top:6px;right:6px;width:28px;height:28px;border:none;border-radius:50%;background:#0000008c;color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}.att-preview-close:hover{background:#000000bf}.obj-table{width:100%;border-collapse:collapse;font-size:var(--fs-12)}.obj-table td{padding:4px 6px;border-bottom:1px solid var(--border);vertical-align:top}.obj-table .k{color:var(--text-secondary);white-space:nowrap;min-width:72px}.obj-table .v{color:var(--text-primary);word-break:break-word}.obj-table .nested{margin:2px 0 2px 8px}.ellipsis-fade{position:relative}.ellipsis-fade:after{content:"";position:absolute;right:0;bottom:0;left:0;height:24px;background:linear-gradient(transparent,var(--bg-primary));pointer-events:none}.ml-auto{margin-left:auto}.flex-gap-4{display:flex;gap:4px}.sidebar-footer-actions{display:flex;flex-direction:column;gap:6px}.text-center{text-align:center}.text-amber{color:var(--amber)}.text-red{color:var(--red)}.agent-input-textarea{width:100%;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:8px;font-size:var(--fs-13)}.att-preview-img{max-width:100%;border-radius:8px}.mb6{margin-bottom:6px}.agent-pre{white-space:pre-wrap;font-size:var(--fs-11);background:var(--bg-input);padding:6px;border-radius:6px}.agent-step{margin:6px 0;padding:6px;border-left:2px solid var(--border);background:var(--bg-input)}.agent-warn{border-color:var(--red)}.h100{height:100%;min-height:0}.ml6{margin-left:6px}.items-start{align-items:flex-start}.hidden{display:none}.devlog-pre{background:var(--bg-input);padding:10px;border-radius:6px;overflow-x:auto;font-size:var(--fs-12)}.devlog-code{background:var(--bg-tertiary);padding:1px 4px;border-radius:4px}.ph-spacer{width:34px;height:34px;display:inline-block}.btn-icon-left{margin-right:6px;display:inline-flex}.btn-icon-right{margin-left:6px;display:inline-flex}.audit-ledger{display:flex;flex-direction:column;gap:10px;padding:4px 2px}.audit-ledger-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.audit-ledger-body{display:flex;flex-direction:column;gap:10px}.audit-turn{border-top:3px solid var(--border);padding-top:6px}.audit-turn-line{font-size:12px;color:var(--text-secondary);margin-bottom:4px}.audit-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);padding:6px 2px;cursor:pointer}.audit-idx{color:var(--text-muted);font-size:11px;min-width:48px}.audit-time{color:var(--text-secondary);font-size:11px;min-width:70px}.audit-badge{font-size:11px;padding:1px 6px;border-radius:10px;background:var(--accent-dim);color:var(--text-secondary);white-space:nowrap}.audit-badge.route{background:var(--blue-bg);color:var(--blue)}.audit-badge.call{background:var(--green-bg);color:var(--green)}.audit-badge.retry{background:var(--amber-bg);color:var(--amber)}.audit-badge.tool{background:var(--blue-bg);color:var(--blue)}.audit-badge.env{background:var(--accent-dim);color:var(--text-secondary)}.audit-badge.env-rej{background:var(--red-bg);color:var(--red)}.audit-badge.fold{background:var(--bg-tertiary);color:var(--text-muted)}.audit-inspector{border:1px solid var(--border);border-radius:8px;background:var(--bg-card);padding:10px}.audit-inspector-body{display:flex;flex-direction:column;gap:6px;max-height:60vh;overflow:auto}.audit-detail-block{border-top:1px solid var(--border);padding-top:6px;margin-top:4px}.audit-pre{white-space:pre-wrap;word-break:break-all;background:var(--bg-input);border-radius:6px;padding:8px;font-size:12px;max-height:240px;overflow:auto}@media (max-width: 640px){.audit-row{flex-wrap:wrap}.audit-summary{min-width:120px}.audit-inspector{padding:8px}}.audit-turn-line{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;background:transparent;border:none;cursor:pointer;font-size:13px;font-weight:600;color:var(--text-primary);padding:8px 2px;text-align:left}.audit-turn-line:hover{color:var(--blue)}.audit-turn-meta{font-weight:400;color:var(--text-secondary);font-size:12px}.audit-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:transparent;border:none;border-bottom:1px solid var(--border);padding:7px 2px;cursor:pointer}.audit-row:hover{background:var(--bg-tertiary)}.audit-time{color:var(--text-secondary);font-size:12px;min-width:76px;flex-shrink:0}.audit-badge{font-size:11px;padding:1px 7px;border-radius:10px;background:var(--accent-dim);color:var(--text-secondary);white-space:nowrap;flex-shrink:0}.audit-summary{font-size:12px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.audit-inspector-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:60;display:flex;justify-content:flex-end}.audit-inspector-panel{width:min(480px,94vw);height:100%;background:var(--bg-card);box-shadow:-8px 0 24px #0000001f;overflow:auto;padding:12px}.audit-inspector-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.audit-inspector-body{display:flex;flex-direction:column;gap:6px}@media (max-width: 640px){.audit-inspector-overlay{align-items:flex-end}.audit-inspector-panel{width:100%;height:80vh;border-radius:14px 14px 0 0}}.runlogs{display:flex;flex-direction:column;gap:12px;padding:12px 2px 4px;border-top:1px dashed var(--border);margin-top:6px}.runlogs-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.runlogs-toggle{font-size:12px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px;cursor:pointer}.runlogs-error{font-size:12px;color:var(--red);background:var(--red-bg);border-radius:6px;padding:6px 10px}.runlogs-section{display:flex;flex-direction:column;gap:4px}.runlogs-section-title{font-size:13px;font-weight:600;color:var(--text-primary);margin:6px 0 2px}.runlogs-node,.runlogs-llm{border:1px solid var(--border);border-radius:8px;background:var(--bg-card)}.runlogs-node-line{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:transparent;border:none;cursor:pointer;font-size:12px;padding:7px 8px}.runlogs-node-line:hover{background:var(--bg-tertiary)}.runlogs-stage{font-weight:600;color:var(--blue);white-space:nowrap;flex-shrink:0;max-width:30%;overflow:hidden;text-overflow:ellipsis}.runlogs-decision{flex:1;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.runlogs-node-meta{color:var(--text-muted);font-size:11px;white-space:nowrap;flex-shrink:0}.runlogs-node-body{border-top:1px solid var(--border);padding:8px;display:flex;flex-direction:column;gap:6px}.runlogs-tool,.runlogs-log{display:flex;align-items:center;gap:8px;padding:6px 8px;border-bottom:1px solid var(--border);font-size:12px}.runlogs-log{opacity:.85}.audit-badge.node{background:var(--blue-bg);color:var(--blue)}.audit-badge.llm{background:var(--green-bg);color:var(--green)}.audit-badge.log{background:var(--bg-tertiary);color:var(--text-muted)}.audit-badge.stream{background:var(--amber-bg);color:var(--amber)}.vscroll-pane{height:420px;overflow-y:auto;border:1px solid var(--border);border-radius:8px;background:var(--bg-card);position:relative}.trace-timeline{position:sticky;top:0;z-index:5;display:flex;flex-direction:column;gap:2px;background:var(--bg-card);border:1px solid var(--border);border-radius:8px;padding:4px 6px;margin-bottom:6px}.trace-timeline-track{position:relative;flex:1;min-height:34px;overflow:hidden;cursor:crosshair;background:var(--bg-tertiary);border-radius:6px}.trace-timeline-track:focus-visible{outline:2px solid var(--blue)}.trace-timeline-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:12px}.trace-timeline-earlier{position:absolute;left:2px;top:2px;z-index:3;width:22px;height:22px;border-radius:50%;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);font-size:13px;line-height:1;cursor:pointer}.trace-timeline-earlier:disabled{opacity:.5;cursor:wait}.trace-timeline-span{position:absolute;top:6px;height:20px;border-radius:4px;background:var(--accent-dim);border:1px solid var(--border);opacity:.55}.trace-timeline-span:hover{opacity:1}.trace-timeline-span.node{background:var(--blue-bg);border-color:var(--blue)}.trace-timeline-span.llm{background:var(--green-bg);border-color:var(--green)}.trace-timeline-span.tool{background:var(--amber-bg);border-color:var(--amber)}.trace-timeline-span.stream{background:var(--amber-bg);border-color:var(--amber);min-width:3px}.trace-timeline-span.event{background:var(--bg-tertiary);border-color:var(--border)}.trace-timeline-span[data-active=false]{opacity:.22}.trace-timeline-selection{position:absolute;top:0;bottom:0;background:#3a77ff2e;border:1px solid var(--blue);border-radius:4px;pointer-events:none}.trace-timeline-hint{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--text-muted);padding:0 2px;flex-wrap:wrap}.trace-timeline-clear{margin-left:auto;background:var(--red-bg);color:var(--red);border:none;border-radius:10px;padding:1px 8px;font-size:11px;cursor:pointer}.trace-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;border-bottom:1px solid var(--border);padding:5px 8px;cursor:pointer;box-sizing:border-box}.trace-row:hover{background:var(--bg-tertiary)}.trace-row-llm_stream{background:var(--amber-bg)}.trace-row-stream{height:96px;align-items:flex-start;padding:8px}.trace-stream-body{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0;height:72px;overflow-y:auto;background:var(--bg-input);border-radius:6px;padding:6px 8px}.trace-stream-text{font-size:12px;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.trace-stream-cursor{display:inline-block;width:2px;height:14px;background:var(--amber);animation:trace-blink .8s steps(1) infinite;vertical-align:text-bottom}@keyframes trace-blink{50%{opacity:0}}.trace-stream-meta{font-size:11px;color:var(--text-muted)}.audit-turn-line-row{border-top:3px solid var(--text-secondary);margin-top:4px}.audit-turn-line-row[data-turn-boundary=true]{border-top-color:var(--blue)}.audit-between-header{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:6px;padding:3px 8px;margin-top:6px;border-left:3px solid var(--amber)}.audit-row-step{border-left:3px solid var(--amber)}.audit-row-collapsed{opacity:.75;cursor:pointer}.audit-row-collapsed:hover{background:var(--bg-tertiary)}.trace-ws-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.trace-ws-dot.on{background:var(--green);box-shadow:0 0 4px var(--green)}@media (max-width: 640px){.trace-timeline-hint span{display:none}.vscroll-pane{height:340px}}.agent-overview-head{display:flex;flex-wrap:wrap;gap:10px 18px;background:var(--bg-card, #fff);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:10px}.agent-overview-item{display:flex;flex-direction:column;gap:2px;min-width:90px}.agent-overview-label{font-size:11px;color:var(--text-muted)}.agent-overview-value{font-size:14px;font-weight:600;color:var(--text-primary)}.process-steps{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.process-step{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;background:var(--bg-tertiary, #f1f3f5);color:var(--text-muted);font-size:12px;border:1px solid transparent}.process-step.done{background:#e6f4ea;color:#1a7f37;border-color:#b7e1c3}.process-step.current{background:#fff8c5;color:#9a6700;border-color:#eed888;font-weight:600}.process-dot{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:currentColor;color:#fff;font-size:11px;font-weight:700}.process-step:not(.done):not(.current) .process-dot{background:var(--text-muted)}.process-step.done .process-dot{background:#1a7f37}.process-step.current .process-dot{background:#9a6700}.process-label{white-space:nowrap}.agent-node-status{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:10px;background:#eaeef2;color:#57606a;font-size:11px;font-weight:500;text-transform:uppercase}.cursor-pointer{cursor:pointer}.mt6{margin-top:6px}.agent-timeline{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.agent-timeline-item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.agent-timeline-idx{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:50%;background:var(--bg-tertiary);color:var(--text-muted);font-size:10px}.agent-timeline-stage{font-weight:500}.agent-timeline-time{color:var(--text-muted);font-size:11px}.msg-bubble.assistant .msg-block+.msg-block{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e5e7eb)}.msg-bubble.assistant .msg-block .card-msg,.msg-bubble.assistant .msg-block .card{margin-top:0}.workflow-feed{display:flex;flex-direction:column;gap:14px;padding:12px 4px;flex:1;overflow-y:auto;min-height:0}.wf-item{position:relative;padding-left:18px;border-left:2px solid var(--border, #e5e7eb)}.wf-item:before{content:"";position:absolute;left:-5px;top:4px;width:8px;height:8px;border-radius:50%;background:var(--text-muted, #9ca3af)}.wf-user:before{background:#3b82f6}.wf-assistant:before{background:#10b981}.wf-system:before{background:#f59e0b}.wf-meta{display:flex;align-items:center;gap:8px;margin-bottom:4px;font-size:12px;color:var(--text-muted)}.wf-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;font-size:11px;font-weight:600}.wf-badge-user{background:#dbeafe;color:#1d4ed8}.wf-badge-assistant{background:#d1fae5;color:#047857}.wf-badge-system{background:#fef3c7;color:#b45309}.wf-count{font-size:11px;color:var(--text-muted)}.wf-body{font-size:13px;line-height:1.65;color:var(--text-primary)}.wf-text{white-space:pre-wrap;word-break:break-word}.wf-block+.wf-block{margin-top:10px;padding-top:10px;border-top:1px dashed var(--border, #e5e7eb)}.wf-item.streaming .wf-text{color:var(--text-secondary)}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border, #d0d7de);border-radius:3px}*::-webkit-scrollbar-thumb:hover{background:var(--text-muted, #8c959f)}.btn-card.btn-card-compact{flex:0 0 auto;width:auto;align-self:flex-start;padding:6px 14px}.card-file-item{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:6px 0;border-bottom:1px solid var(--border)}.card-file-item:last-child{border-bottom:none}.card-file-name{font-size:var(--fs-13);color:var(--text-primary);word-break:break-all}.data-table{width:100%;border-collapse:collapse;margin-top:8px}.data-table th,.data-table td{border:1px solid var(--border-color, #ddd);padding:8px 10px;text-align:left;font-size:var(--fs-13, 13px)}.data-table th{background:var(--bg-muted, #f5f5f5)}.data-table select,.data-table input[type=text]{min-width:160px}.ztb-msg{color:#c0392b;font-size:var(--fs-13, 13px);margin:6px 0}.switch{position:relative;display:inline-block;width:40px;height:22px;margin-right:6px;vertical-align:middle}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:#ccc;border-radius:22px;transition:.2s}.switch-slider:before{content:"";position:absolute;height:16px;width:16px;left:3px;top:3px;background:#fff;border-radius:50%;transition:.2s}.switch input:checked+.switch-slider{background:#27ae60}.switch input:checked+.switch-slider:before{transform:translate(18px)}
