:root{--t-primary:#21cfb2;--t-deep:#00a896;--t-warn:#fbbf24;--t-danger:#ef4444;--t-info:#60a5fa;--t-bg:#0b1215;--t-surface:#141e24;--t-surface2:#121c21f2;--t-border:#ffffff12;--t-border-mid:#ffffff1c;--t-border-ui:#ffffff52;--t-text:#e1ebf5eb;--t-text-muted:#c8d7e19e;--t-text-sub:#b4c8d76b;--t-canvas-bg:#080d11ed;--t-dot-grid:#ffffff09;--t-row-hover:#ffffff06;--t-row-selected:#21cfb212;--t-row-base:transparent;--t-header-bg:#0e141ae6;--t-header-text:#b4c8d76b;--t-header-border:#ffffff12;--t-footer-bg:#0e141a99;--t-footer-border:#21cfb226;--t-footer-text:#e1ebf5eb;--t-footer-sub:#b4c8d76b;--on-accent:#0b1215;--logo-text:#fff;--text:var(--t-text);--text-h:#e1ebf5fa;--text-muted:var(--t-text-muted);--text-sub:var(--t-text-sub);--bg:var(--t-surface);--bg-page:var(--t-bg);--surface2:var(--t-surface2);--card-bg:var(--t-surface);--border:var(--t-border);--border-mid:var(--t-border-mid);--border-ui:var(--t-border-ui);--border-light:var(--t-border);--code-bg:#ffffff0a;--social-bg:#ffffff0a;--accent:var(--t-primary);--accent-deep:var(--t-deep);--accent-rgb:33, 207, 178;--accent-dark:var(--t-deep);--accent-soft:#4be3c9;--accent-bg:#21cfb21f;--accent-border:#21cfb273;--accent-gradient:linear-gradient(135deg, #21cfb2, #00a896);--success:var(--t-primary);--danger:var(--t-danger);--warn:var(--t-warn);--info:var(--t-info);--accent-gold:var(--t-warn);--accent-teal:var(--t-primary);--muted:var(--t-text-muted);--sans:"Instrument Sans", "SF Pro Display", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Fraunces", "Iowan Old Style", Georgia, serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (prefers-color-scheme:light){:root{--t-primary:#0a9880;--t-deep:#087d6a;--t-warn:#92400e;--t-danger:#991b1b;--t-info:#1e40af;--t-bg:#f0f4f8;--t-surface:#fff;--t-surface2:#fafcfffa;--t-border:#0000001a;--t-border-mid:#0000002e;--t-border-ui:#00000052;--t-text:#0d1b2a;--t-text-muted:#475569;--t-text-sub:#64748b;--t-canvas-bg:#d4e0ecf7;--t-dot-grid:#0000000f;--t-row-hover:#0000000a;--t-row-selected:#0a988012;--t-row-base:#ffffffd6;--t-header-bg:#f1f5f9;--t-header-text:#334155;--t-header-border:#e2e8f0;--t-footer-bg:#f8fafc;--t-footer-border:#e2e8f0;--t-footer-text:#1f2937;--t-footer-sub:#475569;--on-accent:#fff;--logo-text:#002e33;--text-h:var(--t-text);--code-bg:#0000000a;--social-bg:#0000000a;--accent-rgb:10, 152, 128;--accent-soft:#2bc0a6;--accent-bg:#0a988014;--accent-border:#0a98804d;--accent-gradient:linear-gradient(135deg, #0a9880, #087d6a)}}*{box-sizing:border-box}body{background:var(--bg-page);margin:0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(900px 480px at 12% -8%, color-mix(in srgb, var(--t-primary) 9%, transparent), transparent 65%), radial-gradient(720px 420px at 88% -12%, color-mix(in srgb, var(--t-deep) 8%, transparent), transparent 62%), radial-gradient(1100px 600px at 50% 112%, color-mix(in srgb, var(--t-deep) 5%, transparent), transparent 60%), radial-gradient(var(--t-dot-grid) 1px, transparent 1.5px);background-size:auto,auto,auto,26px 26px;position:fixed;inset:0}h1,h2{color:var(--text-h);letter-spacing:-.01em;font-weight:600}::selection{background:color-mix(in srgb, var(--t-primary) 30%, transparent)}.auth-page{background:var(--bg-page);place-items:center;min-height:100svh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.auth-page:before,.auth-page:after{content:"";filter:blur(90px);pointer-events:none;border-radius:50%;width:60vmax;height:60vmax;position:absolute}.auth-page:before{background:radial-gradient(circle at center, color-mix(in srgb, var(--t-primary) 16%, transparent), transparent 60%);animation:18s ease-in-out infinite alternate aurora-drift;top:-30vmax;left:-12vmax}.auth-page:after{background:radial-gradient(circle at center, color-mix(in srgb, var(--t-deep) 14%, transparent), transparent 60%);animation:22s ease-in-out infinite alternate-reverse aurora-drift;bottom:-32vmax;right:-14vmax}@keyframes aurora-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(7vmax,5vmax)scale(1.12)}}.auth-card{background:color-mix(in srgb, var(--t-surface) 78%, transparent);border:1px solid var(--border-mid);-webkit-backdrop-filter:blur(18px);width:min(100%,410px);box-shadow:0 1px 0 0 color-mix(in srgb, var(--t-primary) 14%, transparent) inset, 0 40px 80px -32px #0000008c;text-align:center;border-radius:20px;padding:44px 40px 40px;animation:.48s cubic-bezier(.22,1,.36,1) both fadeIn;position:relative}.auth-card>*{animation:.54s cubic-bezier(.22,1,.36,1) both fadeIn}.auth-card>:first-child{animation-delay:60ms}.auth-card>:nth-child(2){animation-delay:.13s}.auth-card>:nth-child(3){animation-delay:.2s}.auth-card>:nth-child(4){animation-delay:.27s}.auth-card>:nth-child(5){animation-delay:.34s}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.auth-card h2{font-family:var(--display);letter-spacing:-.015em;color:var(--text-h);margin:18px 0 8px;font-size:27px;font-weight:600}.auth-icon{background:var(--accent-gradient,linear-gradient(135deg, var(--accent), var(--accent-soft)));width:52px;height:52px;color:var(--on-accent);box-shadow:0 0 0 1px color-mix(in srgb, var(--t-primary) 35%, transparent), 0 0 0 6px color-mix(in srgb, var(--t-primary) 8%, transparent), 0 10px 30px -8px color-mix(in srgb, var(--t-primary) 55%, transparent);border-radius:15px;justify-content:center;align-items:center;font-size:22px;font-weight:900;line-height:1;display:inline-flex}.auth-check{background:color-mix(in srgb, var(--accent) 15%, transparent);width:48px;height:48px;color:var(--accent);border-radius:50%;justify-content:center;align-items:center;font-size:22px;line-height:1;display:inline-flex}.auth-message{color:var(--text-muted);margin:0 0 26px;font-size:14px;line-height:1.55}.auth-field{text-align:left;margin:0 0 16px;display:block}.auth-field-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text);margin-bottom:6px;font-size:11px;font-weight:700;display:block}.auth-select{border:1px solid var(--border);background-color:var(--bg);width:100%;color:var(--text-h);font-size:14px;font-family:var(--sans);cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-repeat:no-repeat;background-size:6px 6px,6px 6px;border-radius:10px;padding:10px 36px 10px 12px;transition:border-color .2s,box-shadow .2s}.auth-select:hover:not(:disabled){border-color:var(--accent)}.auth-select:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.auth-select:disabled{opacity:.5;cursor:not-allowed}.auth-button{background:var(--t-primary-grad,var(--accent-gradient,var(--accent)));width:100%;color:var(--on-accent);font-size:15px;font-family:var(--sans);letter-spacing:.01em;cursor:pointer;box-shadow:0 12px 28px -12px color-mix(in srgb, var(--t-primary) 65%, transparent);border:none;border-radius:12px;padding:13px 20px;font-weight:600;transition:transform .15s,box-shadow .2s,opacity .2s;position:relative;overflow:hidden}.auth-button:after{content:"";background:linear-gradient(105deg,#0000 35%,#ffffff59 50%,#0000 65%);transition:transform .6s;position:absolute;inset:0;transform:translate(-120%)}.auth-button:not(:disabled):hover:after{transform:translate(120%)}.auth-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.auth-button:not(:disabled):hover{box-shadow:0 16px 34px -12px color-mix(in srgb, var(--t-primary) 75%, transparent);transform:translateY(-1px)}.auth-button:not(:disabled):active{transform:translateY(0)}.app-layout{width:100%;height:100svh;display:flex;position:relative}.sidebar{background:var(--bg);border-right:1px solid var(--border);flex-shrink:0;width:300px;overflow-y:auto}.sidebar-right{border-right:none;border-left:1px solid var(--border);width:340px}.debug-toggle{z-index:10;border:1px solid var(--border);background:var(--code-bg);width:24px;height:48px;color:var(--text);cursor:pointer;border-right:none;border-radius:6px 0 0 6px;justify-content:center;align-items:center;font-size:12px;transition:background .2s;display:flex;position:absolute;top:50%;right:0;transform:translateY(-50%)}.debug-toggle:hover{background:var(--border)}.chat-app{flex-direction:row;flex:1;justify-content:center;min-width:0;height:100svh;display:flex}.chat-column{flex-direction:column;width:100%;max-width:760px;height:100%;min-height:0;display:flex}.chat-header{padding:20px 24px 16px}.chat-header-top{justify-content:space-between;align-items:center;gap:16px;min-width:0;display:flex}.chat-header-top>h1{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.chat-header h1{margin:0;font-size:24px}.chat-header .subtitle{color:var(--text);margin:4px 0 0;font-size:14px}.user-info{flex-shrink:1;align-items:center;gap:12px;min-width:0;display:flex}.tenant-name{color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:13px;overflow:hidden}.logout-button{border:1px solid var(--border);color:var(--text);font-size:13px;font-family:var(--sans);cursor:pointer;background:0 0;border-radius:6px;padding:6px 14px;transition:background .2s,color .2s}.logout-button:hover{background:var(--code-bg);color:var(--text-h)}.messages{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:transparent transparent;flex-direction:column;flex:1;gap:12px;padding:20px 20px 8px;transition:scrollbar-color .25s;display:flex;overflow-y:auto}.messages:hover,.messages:focus-within{scrollbar-color:color-mix(in srgb, var(--text) 35%, transparent) transparent}.messages::-webkit-scrollbar{width:8px}.messages::-webkit-scrollbar-track{background:0 0}.messages::-webkit-scrollbar-thumb{background:0 0;border-radius:999px;transition:background .25s}.messages:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 35%, transparent)}.messages:focus-within::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 35%, transparent)}.messages:active::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 35%, transparent)}.messages::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb, var(--text) 55%, transparent)}.empty-state{color:var(--text);margin:auto;font-size:15px}.welcome-state{text-align:center;max-width:420px;margin:auto;padding:40px 24px;animation:.4s fadeIn}.welcome-icon{color:var(--accent);margin-bottom:16px;font-size:40px}.welcome-state h2{font-family:var(--display);color:var(--text-h);letter-spacing:-.015em;margin:0 0 6px;font-size:25px;font-weight:650}.welcome-fund{color:var(--accent);margin:0 0 20px;font-size:14px;font-weight:600}.welcome-desc{color:var(--text);margin:0 0 28px;font-size:15px;line-height:1.6}.welcome-start{background:var(--t-primary-grad,var(--accent));color:var(--on-accent);font-size:15px;font-family:var(--sans);cursor:pointer;border:none;border-radius:10px;padding:12px 32px;font-weight:600;transition:opacity .2s,transform .15s}.welcome-start:hover{opacity:.9;transform:translateY(-1px)}.welcome-start:active{transform:translateY(0)}.message{word-wrap:break-word;max-width:100%;line-height:1.55;animation:.32s cubic-bezier(.22,1,.36,1) both message-in}@keyframes message-in{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.message.assistant{color:var(--text-h);align-self:flex-start;align-items:flex-start;gap:10px;max-width:92%;display:flex}.message-body{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex}.message-meta{color:var(--text);align-items:baseline;gap:8px;font-size:11px;display:flex}.message-meta-name{color:var(--text-h);font-size:12px;font-weight:600}.message-meta-time{color:var(--text);opacity:.7;font-variant-numeric:tabular-nums;font-size:11px}.message.user{flex-direction:column;align-self:flex-end;align-items:flex-end;gap:4px;max-width:85%;display:flex}.message.user .message-bubble{background:var(--accent-gradient);color:var(--on-accent);white-space:pre-wrap;overflow-wrap:anywhere;box-shadow:inset 0 1px 0 #ffffff38, 0 4px 14px -6px rgba(var(--accent-rgb), .55);border-radius:18px 18px 5px;padding:10px 16px;font-size:15px}.message-content{overflow-wrap:anywhere;word-break:break-word;min-width:0;font-size:15px}.message.doc-agent{align-self:flex-start;align-items:flex-start;gap:10px;width:100%;max-width:92%;display:flex}.doc-agent-avatar{background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px dashed color-mix(in srgb, var(--accent) 55%, transparent);width:28px;height:28px;color:var(--accent);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.doc-agent-status{color:var(--text);opacity:.8;align-items:center;gap:6px;font-size:11px;font-style:italic;display:inline-flex}.doc-agent-status-pulse{background:var(--t-primary-grad,var(--accent));border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite doc-agent-pulse}@keyframes doc-agent-pulse{0%,to{opacity:.3;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.doc-agent-card{background:color-mix(in srgb, var(--accent) 4%, var(--bg));border:1px solid color-mix(in srgb, var(--accent) 22%, var(--border));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--t-primary) 8%, transparent), 0 12px 30px -20px color-mix(in srgb, var(--t-primary) 40%, transparent);border-radius:14px;flex-direction:column;gap:10px;margin-top:6px;padding:14px 16px;display:flex}.doc-agent-file{background:var(--bg);border:1px solid var(--border);min-width:0;max-width:100%;color:var(--text-h);border-radius:999px;align-self:flex-start;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.doc-agent-filename{min-width:0;max-width:100%;overflow:hidden}.doc-agent-steps{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.doc-agent-step{color:var(--text);align-items:flex-start;gap:10px;font-size:13px;display:flex}.doc-agent-step-icon{width:18px;height:18px;color:var(--on-accent);background:var(--border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:inline-flex}.doc-agent-step.stage-in_progress .doc-agent-step-icon{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.doc-agent-step.stage-complete .doc-agent-step-icon{background:var(--t-primary-grad,var(--accent))}.doc-agent-step.stage-error .doc-agent-step-icon{background:var(--t-danger-grad,var(--danger))}.doc-agent-step.stage-info .doc-agent-step-icon{color:var(--text);background:0 0}.doc-agent-step-spinner{border:2px solid color-mix(in srgb, var(--accent) 30%, transparent);border-top-color:var(--accent);border-radius:50%;width:10px;height:10px;animation:.8s linear infinite doc-agent-spin}@keyframes doc-agent-spin{to{transform:rotate(360deg)}}.doc-agent-step-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.doc-agent-step-body{flex-direction:column;gap:2px;min-width:0;display:flex}.doc-agent-step-title{color:var(--text-h);font-weight:500;line-height:1.35}.doc-agent-step.stage-complete .doc-agent-step-title{color:var(--text)}.doc-agent-step-detail{color:var(--text);opacity:.75;font-size:12px;line-height:1.35}.doc-agent-error{color:var(--danger);margin:0;font-size:13px}.doc-agent-actions{justify-content:flex-end;gap:8px;display:flex}.doc-agent-actions button{border:1px solid var(--border);color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px}.doc-agent-review{border-top:1px dashed color-mix(in srgb, var(--accent) 20%, var(--border));padding-top:10px}.doc-agent-splits{background:color-mix(in srgb, var(--accent) 4%, transparent);border:1px dashed color-mix(in srgb, var(--accent) 30%, var(--border));border-radius:10px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.doc-agent-splits-title{color:var(--text-h);font-size:12px;font-weight:600}.doc-agent-split-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.doc-agent-split-list li{display:flex}.doc-agent-split-view{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-size:12px;font-family:var(--sans);cursor:pointer;text-align:left;border-radius:8px;flex:1;align-items:center;gap:8px;padding:6px 10px;transition:background .12s,border-color .12s;display:flex}.doc-agent-split-view:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 6%, var(--bg));border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.doc-agent-split-view:disabled{opacity:.6;cursor:wait}.doc-agent-split-view svg{color:var(--accent);flex-shrink:0}.doc-agent-split-key{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.doc-agent-split-range{color:var(--text);opacity:.75;font-variant-numeric:tabular-nums}.doc-agent-review .extraction-card{background:0 0;border:none;max-width:none;margin:0;padding:0;animation:none}.agent-avatar{background:var(--accent-gradient);color:var(--on-accent);width:32px;height:32px;box-shadow:inset 0 1px 0 #ffffff40, 0 0 0 1px color-mix(in srgb, var(--t-primary) 25%, transparent), 0 4px 14px -4px rgba(var(--accent-rgb), .55);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.message.assistant .message-content{white-space:normal}.markdown-content p{margin:0 0 .75em}.markdown-content p:last-child{margin-bottom:0}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4{margin:1em 0 .5em;line-height:1.3}.markdown-content h1:first-child,.markdown-content h2:first-child,.markdown-content h3:first-child{margin-top:0}.markdown-content ul,.markdown-content ol{margin:.5em 0;padding-left:1.5em}.markdown-content li{margin:.25em 0}.markdown-content code{font-family:var(--mono);background:color-mix(in srgb, var(--text) 9%, transparent);border-radius:4px;padding:.15em .4em;font-size:.9em}.markdown-content pre{background:color-mix(in srgb, var(--text) 7%, transparent);border-radius:8px;margin:.75em 0;padding:12px 14px;overflow-x:auto}.markdown-content pre code{background:0 0;padding:0;font-size:13px}.markdown-content table{border-collapse:collapse;width:100%;margin:.75em 0;font-size:14px}.markdown-content th,.markdown-content td{border:1px solid var(--border);text-align:left;padding:6px 10px}.markdown-content th{background:color-mix(in srgb, var(--text) 5%, transparent);font-weight:600}.markdown-content blockquote{border-left:3px solid var(--accent);color:var(--text);margin:.75em 0;padding:.5em 1em}.markdown-content hr{border:none;border-top:1px solid var(--border);margin:1em 0}.markdown-content strong{font-weight:600}.traces{border-top:1px solid var(--border);flex-direction:column;gap:6px;margin-top:10px;padding-top:10px;display:flex}.traces-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin-bottom:2px;font-size:10px;font-weight:600}.trace{border:1px solid var(--border);background:var(--bg);border-radius:6px;padding:8px 10px;font-size:13px}.trace-rationale{color:var(--text);font-style:italic}.trace-tool-call .tool-name{font-family:var(--mono);color:var(--accent);font-weight:600}.trace pre{font-family:var(--mono);white-space:pre-wrap;word-break:break-word;color:var(--text-h);margin:4px 0 0;font-size:12px}.trace-tool-result{color:var(--success)}.cursor{background:var(--t-primary-grad,var(--accent));vertical-align:baseline;width:7px;height:7px;box-shadow:0 0 8px 1px color-mix(in srgb, var(--t-primary) 60%, transparent);border-radius:50%;margin-left:4px;animation:1s ease-in-out infinite cursor-breathe;display:inline-block}@keyframes cursor-breathe{0%,to{opacity:.35;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.input-area{border-top:1px solid color-mix(in srgb, var(--t-primary) 10%, var(--border));background:linear-gradient(180deg, color-mix(in srgb, var(--t-primary) 2.5%, transparent), transparent 70%);align-items:center;gap:6px;padding:14px 20px 18px;display:flex}.input-attach{width:36px;height:36px;color:var(--text);cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:opacity .15s,background .15s;display:inline-flex}.input-attach:hover:not(:disabled){opacity:1;background:var(--code-bg)}.input-attach:disabled{opacity:.35;cursor:not-allowed}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.input-capsule{background:color-mix(in srgb, var(--t-surface) 70%, transparent);border:1px solid var(--border-mid);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 4%, transparent), 0 8px 24px -16px #00000080;border-radius:999px;flex:1;align-items:center;gap:6px;padding:4px 6px 4px 18px;transition:border-color .2s,box-shadow .2s;display:flex}.input-capsule:focus-within{border-color:color-mix(in srgb, var(--accent) 70%, var(--border-mid));box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text) 4%, transparent), 0 0 0 3px color-mix(in srgb, var(--accent) 16%, transparent), 0 8px 28px -14px color-mix(in srgb, var(--t-primary) 35%, transparent)}.input-capsule input{min-width:0;color:var(--text-h);font-size:15px;font-family:var(--sans);background:0 0;border:none;flex:1;padding:8px 4px}.input-capsule input:focus{outline:none}.input-send{background:var(--accent-gradient);width:36px;height:36px;color:var(--on-accent);cursor:pointer;box-shadow:inset 0 1px 0 #ffffff40, 0 2px 10px rgba(var(--accent-rgb), .4);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:filter .15s,transform .12s,box-shadow .15s;display:inline-flex}.input-send:not(:disabled):hover{filter:brightness(1.08);box-shadow:0 4px 14px rgba(var(--accent-rgb), .5);transform:scale(1.05)}.input-send:disabled{opacity:.4;cursor:not-allowed}.input-send:not(:disabled):active{transform:scale(.95)}.chat-header-title{flex:auto;align-items:center;gap:10px;min-width:0;display:flex}.chat-header-identity{flex-direction:column;min-width:0;line-height:1.15;display:flex}.chat-header-identity h1{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:17px;overflow:hidden}.chat-header-status{color:var(--text);align-items:center;gap:5px;font-size:12px;display:inline-flex}.status-dot{background:var(--t-primary-grad,var(--success));border-radius:50%;width:7px;height:7px;animation:2.4s ease-out infinite status-ping;display:inline-block}@keyframes status-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--t-primary) 45%, transparent)}70%,to{box-shadow:0 0 0 6px color-mix(in srgb, var(--t-primary) 0%, transparent)}}.lookup-loading{color:var(--text-s);margin-top:10px;font-size:13px;font-style:italic}.lookup-error{color:var(--text-s);margin-top:10px;font-size:13px}.message-chips{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.message-chips .chip{animation:.28s cubic-bezier(.22,1,.36,1) both message-in}.message-chips .chip:nth-child(2){animation-delay:40ms}.message-chips .chip:nth-child(3){animation-delay:80ms}.message-chips .chip:nth-child(4){animation-delay:.12s}.message-chips .chip:nth-child(5){animation-delay:.16s}.message-chips .chip:nth-child(n+6){animation-delay:.2s}.chip{border:1.5px solid color-mix(in srgb, var(--accent) 35%, transparent);background:color-mix(in srgb, var(--accent) 4%, transparent);color:var(--accent);font-size:13px;font-weight:600;font-family:var(--sans);cursor:pointer;border-radius:999px;padding:8px 16px;transition:background .15s,border-color .15s,transform .12s,box-shadow .15s}.chip:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:0 6px 16px -8px color-mix(in srgb, var(--t-primary) 60%, transparent);transform:translateY(-1px)}.chip:active{transform:translateY(0)}.chip-default{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 6%, transparent);align-items:center;gap:6px;display:inline-flex}.chip-default-badge{letter-spacing:.04em;text-transform:uppercase;background:var(--t-primary-grad,var(--accent));color:var(--bg);border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.message-dropdown{margin-top:10px}.message-dropdown-select{border:1.5px solid color-mix(in srgb, var(--accent) 60%, transparent);background:var(--bg);width:100%;max-width:320px;color:var(--text-h);font-size:14px;font-family:var(--sans);cursor:pointer;box-shadow:0 4px 16px -10px color-mix(in srgb, var(--t-primary) 50%, transparent);border-radius:10px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.message-dropdown-select:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.message-dropdown-select:hover{border-color:var(--accent)}.message-datepicker{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:10px;display:flex}.message-datepicker-input{border:1.5px solid color-mix(in srgb, var(--accent) 60%, transparent);background:var(--bg);color:var(--text-h);font-size:14px;font-family:var(--sans);cursor:pointer;box-shadow:0 4px 16px -10px color-mix(in srgb, var(--t-primary) 50%, transparent);border-radius:10px;padding:10px 12px;transition:border-color .2s,box-shadow .2s}.message-datepicker-input:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 20%, transparent);outline:none}.message-datepicker-input:disabled{opacity:.6;cursor:not-allowed}.input-area>input{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font-size:15px;font-family:var(--sans);border-radius:8px;outline:none;flex:1;padding:10px 14px;transition:border-color .2s}.input-area>input:focus{border-color:var(--accent)}.input-area>input:disabled{opacity:.6}.progress-panel{flex-direction:column;gap:14px;min-width:0;height:100%;padding:16px 18px;display:flex;overflow:hidden}.progress-panel-header h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin:0 0 20px;font-size:14px;font-weight:700}.progress-empty{color:var(--text);text-align:center;margin-top:24px;font-size:13px;line-height:1.5}.progress-empty-icon{margin-bottom:8px;font-size:28px}.progress-empty-time{color:var(--text);opacity:.6;margin-top:4px;font-size:11px}.chat-progress{border-bottom:1px solid color-mix(in srgb, var(--t-primary) 8%, var(--border));background:0 0;flex-direction:column;gap:6px;width:100%;padding:6px 24px 10px;display:flex}.chat-progress-meta{color:var(--text);align-items:baseline;gap:10px;font-size:12px;display:flex}.chat-progress-label{color:var(--text-h);font-weight:600}.chat-progress-detail{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.chat-progress-percent{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.chat-progress-track{background:var(--border);border-radius:999px;height:5px;position:relative;overflow:hidden}.chat-progress-fill{background:linear-gradient(90deg, var(--accent-soft), var(--accent-deep));height:100%;box-shadow:0 0 10px color-mix(in srgb, var(--t-primary) 45%, transparent);border-radius:999px;transition:width .6s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.chat-progress-fill:after{content:"";background:linear-gradient(90deg,#0000 30%,#fff6 50%,#0000 70%);animation:3.2s ease-in-out infinite progress-sheen;position:absolute;inset:0;transform:translate(-100%)}@keyframes progress-sheen{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}.phase-list{flex-direction:column;flex:1;gap:4px;display:flex}.phase-section{border-radius:10px;padding:12px;transition:background .2s}.phase-section.active{background:var(--code-bg)}.phase-header{align-items:center;gap:10px;display:flex}.phase-number{border:2px solid var(--border);width:26px;height:26px;color:var(--text);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.phase-number.active{border-color:var(--accent);color:var(--accent)}.phase-check{background:var(--t-primary-grad,var(--accent));width:26px;height:26px;color:var(--on-accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.phase-label{color:var(--text-h);font-size:13px;font-weight:600}.phase-stats{color:var(--text);margin-top:1px;font-size:11px}.phase-details{flex-direction:column;gap:12px;margin-top:12px;margin-left:36px;display:flex}.gate{flex-direction:column;gap:4px;display:flex}.gate-header{justify-content:space-between;align-items:center;display:flex}.gate-label{color:var(--text);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.gate-count{color:var(--text);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.gate-bar{background:var(--border);border-radius:3px;height:6px;overflow:hidden}.gate-fill{border-radius:3px;height:100%;transition:width .5s}.gate-fill.mandatory{background:var(--t-primary-grad,var(--accent))}.gate-fill.optional{background:color-mix(in srgb, var(--accent) 50%, transparent)}.gate-complete{color:var(--accent);font-size:11px;font-weight:500}.category-list{flex-direction:column;gap:6px;margin-top:4px;display:flex}.category-item{align-items:center;gap:8px;display:flex}.category-dot{flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;display:flex}.dot-pending{border:2px solid var(--border);border-radius:50%;width:8px;height:8px}.dot-check{color:var(--accent);font-size:11px;font-weight:700}.category-info{flex:1;justify-content:space-between;align-items:center;min-width:0;display:flex}.category-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.category-item.done .category-name{color:var(--text)}.category-count{color:var(--text);font-variant-numeric:tabular-nums;flex-shrink:0;margin-left:8px;font-size:11px}.progress-complete-banner{background:color-mix(in srgb, var(--accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);color:var(--accent);text-align:center;box-shadow:0 8px 24px -16px color-mix(in srgb, var(--t-primary) 60%, transparent);border-radius:12px;margin-top:auto;padding:16px 12px;font-size:14px;font-weight:600;animation:.4s fadeIn}.progress-complete-banner:before{content:"\\2713  "}.debug-panel{padding:20px 16px;font-size:12px}.debug-panel-header{align-items:center;gap:8px;margin-bottom:16px;display:flex}.debug-panel-header h3{text-transform:uppercase;letter-spacing:.5px;color:var(--text);margin:0;font-size:14px;font-weight:700}.debug-tenant{border:1px solid var(--border);background:var(--code-bg);border-radius:8px;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:16px;padding:8px 10px;display:flex}.debug-tenant-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text);opacity:.6;font-size:11px}.debug-tenant-value{font-size:13px;font-weight:600}.debug-live-dot{background:var(--t-primary-grad,var(--success));border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.debug-state{border-bottom:1px solid var(--border);margin-bottom:16px;padding-bottom:16px}.debug-section-header{text-transform:uppercase;letter-spacing:.5px;color:var(--text);align-items:center;gap:6px;margin-bottom:8px;font-size:10px;font-weight:700;display:flex}.debug-trace-count{background:var(--code-bg);color:var(--text);border-radius:8px;padding:1px 6px;font-size:10px;font-weight:600}.debug-state-grid{grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px;display:grid}.debug-stat{background:var(--code-bg);border-radius:6px;flex-direction:column;align-items:center;padding:6px 4px;display:flex}.debug-stat-value{color:var(--text-h);font-variant-numeric:tabular-nums;font-size:16px;font-weight:700}.debug-stat-label{text-transform:uppercase;letter-spacing:.3px;color:var(--text);margin-top:2px;font-size:9px;font-weight:600}.debug-subsection-header{color:var(--text);margin-bottom:4px;font-size:10px;font-weight:600}.debug-captured-row{border-bottom:1px solid color-mix(in srgb, var(--border) 50%, transparent);justify-content:space-between;gap:8px;padding:3px 0;display:flex}.debug-captured-field{color:var(--text);font-family:var(--mono);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.debug-captured-value{color:var(--accent);white-space:nowrap;text-overflow:ellipsis;text-align:right;max-width:140px;font-size:11px;font-weight:500;overflow:hidden}.debug-trace-list{flex-direction:column;gap:6px;display:flex}.debug-empty{color:var(--text);font-size:12px;line-height:1.5}.debug-entry{border:1px solid var(--border);border-radius:6px;overflow:hidden}.debug-entry-header{background:var(--code-bg);-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:5px 8px;display:flex}.debug-entry-header.clickable{cursor:pointer}.debug-entry-header.clickable:hover{background:var(--border)}.debug-chevron{color:var(--text);text-align:center;width:10px;font-size:8px;transition:transform .15s}.debug-chevron.open{transform:rotate(90deg)}.debug-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:3px;padding:1px 5px;font-size:9px;font-weight:700}.debug-badge.call{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.debug-badge.result{background:color-mix(in srgb, var(--success) 15%, transparent);color:var(--success)}.debug-badge.audit-kind{color:var(--text-h);background:#6464641f}.debug-badge.audit-field_write{background:color-mix(in srgb, var(--accent) 15%, transparent);color:var(--accent)}.debug-badge.audit-field_change{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.debug-badge.audit-validation_reject{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger)}.debug-badge.audit-phase_advance{background:color-mix(in srgb, var(--success) 18%, transparent);color:var(--success)}.debug-badge.audit-session_complete{background:color-mix(in srgb, var(--success) 25%, transparent);color:var(--success)}.debug-badge.audit-session_start{background:color-mix(in srgb, var(--info) 18%, transparent);color:var(--info)}.debug-audit-time{font-size:10px;font-family:var(--mono);color:var(--text);opacity:.6;margin-left:auto}.debug-tool-name{font-family:var(--mono);color:var(--text-h);font-size:11px;font-weight:600}.debug-result-size{color:var(--text);margin-left:auto;font-size:10px}.debug-json{font-family:var(--mono);color:var(--text);white-space:pre-wrap;word-break:break-word;margin:0;padding:6px 8px;font-size:10px;line-height:1.4}@media (width<=768px){.sidebar{display:none}}.launcher-view{flex-direction:column;min-height:100svh;display:flex}.launcher-topbar{z-index:30;border-bottom:1px solid var(--border);background:var(--t-header-bg);-webkit-backdrop-filter:blur(14px);position:sticky;top:0}.launcher-topbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1040px;margin:0 auto;padding:16px 24px;display:flex}.launcher-brand{color:var(--text-h);align-items:center;gap:12px;margin:0;display:inline-flex}.launcher-brand-tag{font-family:var(--display);color:var(--text-h);letter-spacing:-.005em;font-size:17px;font-weight:600;line-height:1}.launcher-tenant{letter-spacing:.01em;color:var(--t-deep,#00a896);background:color-mix(in srgb, var(--t-primary,#21cfb2) 14%, transparent);border:1px solid color-mix(in srgb, var(--t-primary,#21cfb2) 30%, transparent);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:6px;max-width:240px;padding:4px 11px;font-size:12px;font-weight:600;line-height:1;display:inline-flex;overflow:hidden}.launcher-tenant:before{content:"";background:var(--t-primary,#21cfb2);border-radius:50%;flex:none;width:6px;height:6px}.launcher-user{align-items:center;gap:12px;display:flex}.launcher-main{flex:1;justify-content:center;padding:40px 24px 48px;display:flex}.session-launcher{gap:2rem;width:100%;max-width:1040px;display:grid}.launcher-hero{text-align:left;gap:6px;display:grid}.session-launcher h2{color:var(--text-h);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,2.2vw,2rem)}.session-launcher h3{color:var(--text-h);margin:0 0 1rem;font-size:1rem}.session-launcher .welcome-fund{opacity:.75;color:var(--text);margin:0;font-size:.95rem;font-weight:500}.launcher-columns{grid-template-columns:1fr;gap:1.5rem;display:grid}@media (width>=960px){.launcher-columns{grid-template-columns:minmax(360px,1.1fr) minmax(360px,1fr);align-items:start}}.session-new,.session-list{border:1px solid var(--border);background:var(--bg);border-radius:14px;padding:1.5rem}.launcher-field{flex-direction:column;gap:.4rem;margin-bottom:1.25rem;display:flex;position:relative}.launcher-field-label,.launcher-field>span{letter-spacing:.01em;font-size:.95rem;font-weight:600}.launcher-field select{border:1px solid var(--border-mid);background:var(--bg);border-radius:8px;padding:.65rem .8rem;font-size:.95rem}.session-new .launcher-start{background:var(--accent-gradient);width:100%;color:var(--on-accent);cursor:pointer;letter-spacing:.01em;box-shadow:0 4px 16px rgba(var(--accent-rgb), .3);border:none;border-radius:10px;padding:.85rem 1.2rem;font-size:.95rem;font-weight:600;transition:filter .12s,opacity .12s,box-shadow .12s}.session-new .launcher-start:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 20px rgba(var(--accent-rgb), .4)}.session-new .launcher-start:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.session-new .launcher-secondary{width:100%;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 45%, var(--border));cursor:pointer;letter-spacing:.01em;background:0 0;border-radius:10px;margin-bottom:1.25rem;padding:.7rem 1rem;font-size:.9rem;font-weight:500;transition:background .12s,border-color .12s}.session-new .launcher-secondary:hover:not(:disabled){background:var(--accent-bg);border-color:var(--accent)}.session-new .launcher-secondary:disabled{opacity:.5;cursor:not-allowed}.session-list ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.session-resume{text-align:left;border:1px solid var(--border);cursor:pointer;width:100%;color:var(--text-h);background:0 0;border-radius:10px;flex-direction:column;gap:.2rem;padding:.8rem 1rem;transition:background .12s,border-color .12s;display:flex}.session-resume:hover{background:color-mix(in srgb, var(--accent) 6%, transparent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.session-title{font-weight:600}.session-meta{opacity:.6;font-size:.85em}.launcher-error{color:var(--danger)}.multiselect{position:relative}.multiselect-trigger{border:1px solid var(--border-mid);background:var(--bg);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.65rem .8rem;font-size:.95rem;display:flex}.multiselect-trigger:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.multiselect-trigger:disabled{opacity:.6;cursor:not-allowed}.multiselect.is-open .multiselect-trigger{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}.multiselect-value{text-overflow:ellipsis;white-space:nowrap;color:var(--text);flex:1;overflow:hidden}.multiselect-caret{opacity:.55;font-size:.7rem;transition:transform .12s}.multiselect.is-open .multiselect-caret{transform:rotate(180deg)}.multiselect-panel{background:var(--bg);border:1px solid var(--border);z-index:20;border-radius:10px;flex-direction:column;max-height:320px;display:flex;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden;box-shadow:0 10px 30px #0000001f}.multiselect-bulk{border-bottom:1px solid var(--border);color:var(--text-muted);align-items:center;gap:.5rem;padding:.55rem .9rem;font-size:.85rem;display:flex}.multiselect-list{margin:0;padding:.35rem 0;list-style:none;overflow:auto}.multiselect-option{cursor:pointer;color:var(--text);align-items:center;gap:.6rem;padding:.5rem .9rem;font-size:.92rem;transition:background .1s;display:flex}.multiselect-option:hover{background:var(--accent-bg)}.multiselect-option.is-selected{color:var(--accent-deep);font-weight:600}.multiselect-option input{opacity:0;pointer-events:none;position:absolute}.multiselect-check{border:1.5px solid var(--border-ui);background:var(--bg);width:18px;height:18px;color:var(--on-accent);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;display:inline-flex}.multiselect-option.is-selected .multiselect-check{background:var(--t-primary-grad,var(--accent));border-color:var(--accent)}.multiselect-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.launcher-categories{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem 1.1rem 1.1rem;display:flex}.launcher-categories-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.launcher-categories legend{letter-spacing:.01em;padding:0;font-size:.95rem;font-weight:600}.launcher-count{font-variant-numeric:tabular-nums;color:var(--text-muted);font-size:.8rem}.launcher-bulk{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.85rem;display:flex}.launcher-link{color:var(--accent);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.launcher-link:hover:not(:disabled){text-decoration:underline}.launcher-link:disabled{color:var(--text-sub);cursor:not-allowed}.launcher-hint{opacity:.6;margin:0;font-size:.9em}.launcher-chip-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.5rem;display:grid}.launcher-chip{border:1px solid var(--border);background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:.55rem;padding:.6rem .85rem;font-size:.9rem;transition:background .12s,border-color .12s,box-shadow .12s;display:flex;position:relative}.launcher-chip:hover{border-color:rgba(var(--accent-rgb), .5);background:rgba(var(--accent-rgb), .04)}.launcher-chip.is-selected{border-color:var(--accent);background:rgba(var(--accent-rgb), .1);box-shadow:0 1px 0 rgba(var(--accent-rgb), .25) inset}.launcher-chip input{opacity:0;pointer-events:none;position:absolute}.launcher-chip-check{border:1.5px solid var(--border-ui);width:18px;height:18px;color:var(--on-accent);background:var(--bg);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;transition:background .12s,border-color .12s;display:inline-flex}.launcher-chip.is-selected .launcher-chip-check{background:var(--t-primary-grad,var(--accent));border-color:var(--accent)}.launcher-chip-label{color:var(--text)}.launcher-chip.is-selected .launcher-chip-label{color:var(--accent-deep);font-weight:600}.session-row{align-items:stretch;gap:.5rem;display:flex}.session-row .session-resume{flex:1}.session-delete{border:1px solid var(--border);cursor:pointer;color:var(--text);background:0 0;border-radius:8px;padding:.5rem .75rem;font-size:.95rem;transition:color .12s,border-color .12s,background .12s}.session-delete:hover{background:color-mix(in srgb, var(--danger) 10%, transparent);border-color:var(--danger);color:var(--danger)}.session-delete:disabled{opacity:.5;cursor:not-allowed}.app-layout{position:relative}.drop-overlay{z-index:50;background:color-mix(in srgb, var(--accent) 12%, transparent);border:2px dashed var(--accent);pointer-events:none;border-radius:16px;place-items:center;animation:.14s fadeIn;display:grid;position:absolute;inset:0}.drop-overlay-inner{background:var(--bg);border:1px solid color-mix(in srgb, var(--accent) 30%, var(--border));text-align:center;color:var(--text-h);box-shadow:0 20px 40px rgba(var(--accent-rgb), .2), 0 4px 12px #00000014;border-radius:14px;padding:28px 36px}.drop-overlay-icon{color:var(--accent);margin-bottom:8px;font-size:40px;animation:1.2s ease-in-out infinite drop-bob;display:inline-block}@keyframes drop-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.extraction-card{background:var(--bg);border:1px solid var(--border);border-left:3px solid #0000;border-image:linear-gradient(180deg, var(--accent-soft), var(--accent-deep)) 1;border-radius:12px;align-self:flex-start;max-width:760px;margin:10px 0;padding:16px 18px;animation:.18s fadeIn}.extraction-header{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.extraction-header strong{color:var(--text-h)}.extraction-badge{text-transform:uppercase;letter-spacing:.08em;background:var(--accent-gradient);color:var(--on-accent);box-shadow:0 1px 4px rgba(var(--accent-rgb), .3);border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.extraction-filename{color:var(--text);opacity:.7;font-size:12px}.extraction-summary{color:var(--text);margin:4px 0 12px;font-size:14px}.extraction-question{color:var(--text-h);margin:8px 0 10px;font-weight:500}.extraction-empty{color:var(--text);margin:8px 0 10px;font-style:italic}.extraction-list{flex-direction:column;gap:6px;margin:0 0 12px;padding:0;list-style:none;display:flex}.extraction-list li{border:1px solid var(--border);background:var(--bg);border-radius:10px;padding:10px 12px;transition:background .12s,border-color .12s,box-shadow .12s}.extraction-list li:hover{border-color:color-mix(in srgb, var(--accent) 35%, var(--border))}.extraction-list li.is-selected{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:rgba(var(--accent-rgb), .05);box-shadow:0 1px 0 rgba(var(--accent-rgb), .2) inset}.extraction-list label{cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;display:grid}.extraction-list input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:16px;height:16px}.extraction-field{color:var(--text-h);font-weight:500}.extraction-value{color:var(--text);justify-self:start;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px}.extraction-confidence{text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--border);border-radius:999px;padding:2px 7px;font-size:11px}.extraction-confidence.c-high{background:color-mix(in srgb, var(--success) 12%, transparent);color:var(--success);border-color:color-mix(in srgb, var(--success) 35%, transparent)}.extraction-confidence.c-medium{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}.extraction-confidence.c-low{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.extraction-notes{color:var(--text);opacity:.75;margin-top:4px;margin-left:26px;font-size:12px}.extraction-actions{justify-content:flex-end;gap:8px;display:flex}.extraction-actions button{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s,filter .12s,box-shadow .12s}.extraction-actions button:not(.primary):hover:not(:disabled){background:var(--code-bg);border-color:color-mix(in srgb, var(--accent) 30%, var(--border))}.extraction-actions button.primary{background:var(--accent-gradient);color:var(--on-accent);box-shadow:0 2px 10px rgba(var(--accent-rgb), .3);border-color:#0000}.extraction-actions button.primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 4px 14px rgba(var(--accent-rgb), .4)}.extraction-actions button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.link-button{color:var(--accent);cursor:pointer;font:inherit;background:0 0;border:none;padding:0;text-decoration:underline}.activity-panel{background:var(--bg);flex-direction:column;gap:14px;padding:20px 18px;display:flex;overflow-y:auto}.activity-header h3{letter-spacing:-.01em;color:var(--text-h);margin:0;font-size:15px}.activity-subtitle{color:var(--text);opacity:.7;margin:2px 0 0;font-size:12px}.activity-privacy{background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid color-mix(in srgb, var(--accent) 35%, var(--border));color:var(--text);border-radius:10px;padding:10px 12px;font-size:12px}.activity-privacy-title{color:var(--accent);letter-spacing:.01em;margin-bottom:4px;font-size:12px;font-weight:600}.activity-privacy p{margin:0;line-height:1.45}.activity-empty{border:1px dashed var(--border);color:var(--text);text-align:center;border-radius:10px;padding:14px 12px;font-size:13px}.activity-empty p{margin:0 0 6px}.activity-hint{opacity:.7;font-size:12px}.activity-groups{flex-direction:column;gap:18px;display:flex}.activity-group-block{animation:.18s fadeIn}.activity-group-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;padding-bottom:6px;display:flex}.activity-group-name{color:var(--text-h);letter-spacing:.01em;word-break:break-all;font-size:12px;font-weight:600}.activity-group-time{color:var(--text);opacity:.55;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px}.activity-timeline{margin:0;padding:0;list-style:none;position:relative}.activity-timeline:before{content:"";background:var(--border);width:1px;position:absolute;top:6px;bottom:6px;left:5px}.activity-step{min-height:22px;padding:3px 0 10px 20px;position:relative}.activity-step:last-child{padding-bottom:0}.activity-dot{background:var(--bg);border:2px solid var(--border);box-sizing:border-box;border-radius:50%;width:11px;height:11px;position:absolute;top:6px;left:0}.activity-step.stage-complete .activity-dot{background:var(--t-primary-grad,var(--success));border-color:var(--success)}.activity-step.stage-error .activity-dot{background:var(--t-danger-grad,var(--danger));border-color:var(--danger)}.activity-step.stage-info .activity-dot{background:var(--t-warn-grad,var(--warn));border-color:var(--warn)}.activity-step.stage-in_progress .activity-dot{border-color:var(--accent);background:var(--bg);animation:1.1s ease-in-out infinite activity-pulse}@keyframes activity-pulse{0%,to{box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 50%, transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 0%, transparent)}}.activity-step-title{color:var(--text-h);font-size:13px;font-weight:500;line-height:1.3}.activity-step-detail{color:var(--text);opacity:.8;word-break:break-word;margin-top:2px;font-size:12px;line-height:1.4}.activity-step.stage-in_progress .activity-step-title{color:var(--accent)}.sidebar-right.debug-drawer{z-index:40;height:100%;position:absolute;top:0;bottom:0;right:0;box-shadow:-10px 0 30px #00000026}.debug-toggle-open{z-index:41;right:340px}.progress-section{min-width:0}.progress-section-flex{border-top:1px solid var(--border);flex-direction:column;flex:1 1 0;min-width:0;min-height:120px;padding-top:12px;display:flex}.progress-section-flex:first-child{border-top:none;padding-top:0}.progress-section-scroll{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:transparent transparent;flex:1;min-height:0;transition:scrollbar-color .25s;overflow-y:auto}.progress-section-scroll:hover,.progress-section-scroll:focus-within{scrollbar-color:color-mix(in srgb, var(--text) 35%, transparent) transparent}.progress-section-scroll::-webkit-scrollbar{width:8px}.progress-section-scroll::-webkit-scrollbar-track{background:0 0}.progress-section-scroll::-webkit-scrollbar-thumb{background:0 0;border-radius:999px;transition:background .25s}.progress-section-scroll:hover::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 35%, transparent)}.progress-section-scroll:focus-within::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 35%, transparent)}.progress-section-scroll:active::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--text) 35%, transparent)}.progress-section-empty{color:var(--text);opacity:.6;margin:4px 0;font-size:12px}.progress-section-head{justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.progress-section-head h4{letter-spacing:.08em;text-transform:uppercase;color:var(--text);opacity:.75;margin:0;font-size:11px;font-weight:700}.progress-section-count{font-variant-numeric:tabular-nums;color:var(--text);opacity:.55;font-size:11px}.progress-item-list{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.progress-item{border-radius:6px;grid-template-columns:16px 1fr;align-items:start;gap:10px;min-width:0;padding:6px 8px;transition:background .14s;display:grid}.progress-item:hover{background:color-mix(in srgb, var(--text) 4%, transparent)}.progress-item-check{border:1.5px solid color-mix(in srgb, var(--text) 30%, transparent);width:16px;height:16px;color:var(--on-accent);background:0 0;border-radius:50%;place-items:center;margin-top:2px;transition:background .18s,border-color .18s,color .18s;display:inline-grid}.progress-item.captured .progress-item-check{background:var(--t-primary-grad,var(--success));border-color:var(--success)}.progress-item.declined .progress-item-check{border-color:color-mix(in srgb, var(--text) 18%, transparent);border-style:dashed}.progress-item-body{flex-direction:column;gap:2px;min-width:0;display:flex}.progress-item-line{align-items:center;gap:6px;min-width:0;display:flex}.progress-item-name{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:13px;font-weight:500;line-height:1.3;overflow:hidden}.progress-item.captured .progress-item-name,.progress-item.declined .progress-item-name{color:var(--text);font-weight:400}.progress-item-chip{letter-spacing:.06em;text-transform:uppercase;background:color-mix(in srgb, var(--text) 10%, transparent);color:var(--text);opacity:.75;border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:9px;font-weight:600;line-height:1.1}.progress-item-value{color:var(--text-h);opacity:.9;white-space:nowrap;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-size:12px;line-height:1.35;overflow:hidden}.progress-item-note{color:var(--text);opacity:.6;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;line-height:1.4;overflow:hidden}.progress-item-source{color:var(--success);align-items:center;gap:5px;min-width:0;font-size:11px;line-height:1.3;display:flex}.progress-item-source-label{opacity:.65}.progress-item-source-name{font-variant-numeric:tabular-nums;min-width:0;color:var(--success);opacity:.9;flex:auto}.scrolling-text{white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.scrolling-text-inner{will-change:transform;display:inline-block}.scrolling-text.scrolling .scrolling-text-inner{animation:scroll-ping-pong var(--scroll-duration,6s) ease-in-out infinite alternate;animation-delay:-.2s}@keyframes scroll-ping-pong{0%{transform:translate(0)}10%{transform:translate(0)}90%{transform:translateX(calc(-1 * var(--scroll-overflow,0px)))}to{transform:translateX(calc(-1 * var(--scroll-overflow,0px)))}}@media (prefers-reduced-motion:reduce){.scrolling-text.scrolling .scrolling-text-inner{animation:none}.scrolling-text.scrolling{overflow-x:auto}}.activity-group-head .activity-group-name,.extraction-header .extraction-filename{flex:auto;min-width:0}.drawer{background:var(--bg);flex-direction:column;min-height:0;display:flex}.drawer-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.drawer-title{text-transform:uppercase;letter-spacing:.5px;color:var(--text-h);font-size:13px;font-weight:700}.drawer-header-actions{align-items:center;gap:4px;display:flex}.drawer-pin,.drawer-close{width:28px;height:28px;color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;font-size:13px;line-height:1;display:inline-flex}.drawer-pin:hover,.drawer-close:hover{background:var(--code-bg);border-color:var(--border)}.drawer-pin.active{background:color-mix(in srgb, var(--accent) 12%, transparent);border-color:var(--accent);color:var(--accent)}.drawer-body{flex:1;min-height:0;overflow-y:auto}.drawer-pinned{flex-shrink:0;width:320px;height:100svh}.drawer-pinned.drawer-left{border-right:1px solid var(--border)}.drawer-pinned.drawer-right{border-left:1px solid var(--border)}.drawer-floating{z-index:50;background:color-mix(in srgb, var(--t-surface) 88%, transparent);-webkit-backdrop-filter:blur(16px);visibility:hidden;will-change:transform;width:min(360px,92vw);transition:transform .28s cubic-bezier(.22,1,.36,1),visibility 0s linear .28s;position:fixed;top:0;bottom:0;box-shadow:0 10px 50px #00000059}.drawer-floating.drawer-left{border-right:1px solid var(--border);left:0;transform:translate(-100%)}.drawer-floating.drawer-right{border-left:1px solid var(--border);right:0;transform:translate(100%)}.drawer-floating.open{visibility:visible;transition:transform .28s cubic-bezier(.22,1,.36,1),visibility;transform:translate(0)}.drawer-backdrop{-webkit-backdrop-filter:blur(3px);z-index:45;opacity:0;pointer-events:none;background:#0006;transition:opacity .2s;position:fixed;inset:0}.drawer-backdrop.visible{opacity:1;pointer-events:auto}.header-drawer-toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.header-drawer-toggle:hover{background:var(--code-bg)}@media (width<=640px){.chat-header{padding:12px 14px 10px}.chat-progress{padding:6px 14px 10px}.messages{padding:16px 14px}.chat-header h1{font-size:18px}.user-name,.chat-header .subtitle,.tenant-name,.user-info .logout-button{display:none}.user-info{gap:6px}.chat-header-top{gap:8px}}html,body{max-width:100%;overflow-x:hidden}.drawer-pin:focus-visible,.drawer-close:focus-visible,.header-drawer-toggle:focus-visible,.chip:focus-visible,.logout-button:focus-visible,.input-send:focus-visible,.input-attach:focus-visible,.message-dropdown-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){.drawer-floating,.drawer-floating.open,.drawer-backdrop,.chat-progress-fill{transition:none!important}.auth-page:before,.auth-page:after,.auth-card,.auth-card>*,.auth-button:after,.portal-cta:after,.chat-progress-fill:after,.message,.message-chips .chip,.portal-card,.status-dot,.drop-overlay-icon,.cursor{animation:none!important}.cursor{opacity:1}}.optional-form{background:var(--card-bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-direction:column;gap:14px;margin:12px 0;padding:16px;display:flex}.optional-form-intro{color:var(--text-muted,#6b7280);font-size:13px}.optional-form-group{border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:10px;padding:10px 14px;display:flex}.optional-form-group legend{padding:0 6px;font-size:13px;font-weight:600}.optional-form-field{flex-direction:column;gap:4px;font-size:14px;display:flex}.optional-form-label{color:var(--text,#111827);font-weight:500}.optional-form-field input,.optional-form-field select{border:1px solid var(--border,#cbd5e1);background:var(--bg);border-radius:6px;padding:8px 10px;font-size:14px}.optional-form-error{color:var(--danger);font-size:12px}.optional-form-actions{justify-content:flex-end;display:flex}.chip-primary{background:var(--accent,#0c2340);color:var(--on-accent);font-weight:600}.chip-primary:disabled{opacity:.6;cursor:not-allowed}.review-card{background:var(--card-bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-direction:column;gap:14px;margin:12px 0;padding:16px;display:flex}.review-card-title{font-size:15px;font-weight:600}.review-card-group{flex-direction:column;gap:4px;display:flex}.review-card-group-title{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted,#6b7280);font-size:12px}.review-card-row{border-bottom:1px dashed var(--border-light,#f1f5f9);grid-template-columns:minmax(140px,max-content) 1fr;align-items:baseline;column-gap:16px;padding:6px 0;display:grid}.review-card-row dt{color:var(--text,#111827);white-space:nowrap;overflow-wrap:normal;word-break:normal}.review-card-row dd{color:var(--text-muted,#4b5563);overflow-wrap:anywhere;word-break:break-word;text-align:right;margin:0}.review-card-row dd.is-long{text-align:left;white-space:pre-wrap}@media (width<=560px){.review-card-row{grid-template-columns:1fr;row-gap:2px}.review-card-row dd{text-align:left}}.review-card ul{margin:4px 0 0;padding-left:18px}.review-card-actions{justify-content:flex-end;gap:8px;display:flex}.confirm-data-form{background:var(--card-bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:10px;flex-direction:column;gap:14px;margin:12px 0;padding:16px;display:flex}.confirm-data-intro{color:var(--text-muted,#6b7280);font-size:13px}.confirm-data-group{border:1px solid var(--border,#e2e8f0);border-radius:8px;flex-direction:column;gap:12px;padding:10px 14px;display:flex}.confirm-data-group legend{padding:0 6px;font-size:13px;font-weight:600}.confirm-data-row{border-bottom:1px dashed var(--border-light,#f1f5f9);flex-direction:column;gap:6px;padding:8px 0;display:flex}.confirm-data-row:last-child{border-bottom:none}.confirm-data-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.confirm-data-label{font-size:14px;font-weight:500}.confirm-data-source{color:var(--text-muted,#6b7280);font-size:11px;font-style:italic}.confirm-data-current{align-items:center;gap:10px;display:flex}.confirm-data-current-value{color:var(--text,#111827);flex:1;font-size:14px}.confirm-data-edit{align-items:center;gap:8px;display:flex}.confirm-data-edit-label{color:var(--text-muted,#6b7280);font-size:12px}.confirm-data-edit input,.confirm-data-edit select{border:1px solid var(--border,#cbd5e1);background:var(--bg);border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.confirm-data-actions{justify-content:flex-end;display:flex}.request-list .request-row{background:color-mix(in srgb, var(--accent) 6%, transparent)}.request-context{color:var(--text-muted,#6b7280);margin-top:4px;font-size:12px;display:block}.section-hint{color:var(--text-muted,#6b7280);margin:0 0 8px;font-size:13px}.portal{flex-direction:column;gap:30px;max-width:1100px;margin:0 auto;padding:40px 24px 64px;display:flex}.portal-head{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:22px;display:flex}.portal-head-copy{flex-direction:column;gap:6px;max-width:560px;display:flex}.portal-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--accent,#0c8074);font-size:11px;font-weight:600}.portal-head h1{font-family:var(--display);letter-spacing:-.015em;color:var(--text-h,#0f172a);margin:0;font-size:29px;font-weight:650;line-height:1.15}.portal-head p{color:var(--text-muted,#64748b);max-width:52ch;margin:0;font-size:15px;line-height:1.6}.portal-cta{background:var(--accent-gradient,linear-gradient(135deg, #0c2340, #579db8));color:var(--on-accent);letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 1px 0 #fff3, 0 12px 28px -12px color-mix(in srgb, var(--t-primary) 60%, transparent);white-space:nowrap;border:none;border-radius:11px;flex-shrink:0;align-items:center;gap:8px;padding:12px 22px;font-size:14px;font-weight:600;transition:transform .14s,box-shadow .14s;display:inline-flex;position:relative;overflow:hidden}.portal-cta:after{content:"";background:linear-gradient(105deg,#0000 35%,#ffffff4d 50%,#0000 65%);transition:transform .55s;position:absolute;inset:0;transform:translate(-120%)}.portal-cta:hover:after{transform:translate(120%)}.portal-cta:hover{box-shadow:inset 0 1px 0 #fff3, 0 16px 34px -12px color-mix(in srgb, var(--t-primary) 70%, transparent);transform:translateY(-1px)}.portal-cta span{margin-top:-1px;font-size:18px;line-height:1}.portal-main{flex-direction:column;gap:28px;display:flex}.portal-section{flex-direction:column;gap:16px;display:flex}.portal-section-head{align-items:center;gap:10px;padding:0 2px;display:flex}.portal-section-head h2{color:var(--text,#0f172a);letter-spacing:-.01em;margin:0;font-size:15px;font-weight:650}.portal-count{background:color-mix(in srgb, var(--text) 8%, transparent);color:var(--text-muted,#475569);letter-spacing:.03em;text-align:center;border-radius:999px;min-width:22px;padding:2px 9px;font-size:11px;font-weight:600}.portal-section-head:after{content:"";background:var(--border,#e2e8f0);flex:1;height:1px}.portal-empty{background:color-mix(in srgb, var(--card-bg,#fff) 55%, transparent);border:1px dashed var(--border-mid,#e2e8f0);color:var(--text-muted,#64748b);text-align:center;border-radius:14px;padding:28px 24px;font-size:14px;line-height:1.55}.portal-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:0;padding:0;list-style:none;display:grid}.portal-card{background:var(--card-bg,#fff);border:1px solid var(--border,#e2e8f0);border-radius:14px;transition:transform .16s,box-shadow .16s,border-color .16s;animation:.36s cubic-bezier(.22,1,.36,1) both message-in;position:relative;overflow:hidden;box-shadow:0 1px 2px #0f172a0a}.portal-cards li:first-child{animation-delay:0s}.portal-cards li:nth-child(2){animation-delay:50ms}.portal-cards li:nth-child(3){animation-delay:.1s}.portal-cards li:nth-child(4){animation-delay:.15s}.portal-cards li:nth-child(5){animation-delay:.2s}.portal-cards li:nth-child(n+6){animation-delay:.25s}.portal-card:after{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--t-primary) 55%, transparent), transparent);opacity:0;pointer-events:none;height:1px;transition:opacity .2s;position:absolute;top:0;left:10%;right:10%}.portal-card:hover:after{opacity:1}.portal-card:hover{box-shadow:0 20px 40px -22px #0f172a73, 0 0 0 1px color-mix(in srgb, var(--t-primary) 12%, transparent);border-color:color-mix(in srgb, var(--accent,#0c2340) 40%, var(--border,#e2e8f0));transform:translateY(-3px)}.portal-card-body{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;gap:10px;padding:18px 18px 16px;display:flex}.portal-card-body:disabled{opacity:.6;cursor:wait}.portal-card-top{justify-content:space-between;align-items:center;gap:8px;padding-right:32px;display:flex}.portal-tag{letter-spacing:.1em;text-transform:uppercase;background:color-mix(in srgb, var(--text) 10%, transparent);color:var(--text-muted);border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700;display:inline-block}.portal-tag-active{background:color-mix(in srgb, var(--info) 16%, transparent);color:var(--info)}.portal-tag-complete{background:color-mix(in srgb, var(--success) 16%, transparent);color:var(--success)}.portal-tag-abandoned{background:color-mix(in srgb, var(--text-muted) 16%, transparent);color:var(--text-muted)}.portal-card-platform{color:var(--text-muted,#64748b);font-size:11px}.portal-card-title{color:var(--text,#0f172a);margin:0;font-size:16px;font-weight:600;line-height:1.35}.portal-card-context{color:var(--text-muted,#64748b);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.portal-card-metrics{gap:14px;margin:4px 0 0;padding:0;display:flex}.portal-card-metrics>div{flex-direction:column;gap:2px;display:flex}.portal-card-metrics dt{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted,#64748b);margin:0;font-size:10px}.portal-card-metrics dd{color:var(--text,#0f172a);letter-spacing:-.02em;margin:0;font-size:18px;font-weight:600}.portal-card-foot{color:var(--text-muted,#64748b);border-top:1px dashed var(--border-light,#f1f5f9);justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:6px;font-size:12px;display:flex}.portal-card-cta{color:var(--accent,#0c2340);font-weight:600}.portal-card-delete{background:var(--bg);border:1px solid var(--border,#e2e8f0);color:var(--text-muted,#64748b);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;transition:background .12s,color .12s;display:flex;position:absolute;top:10px;right:10px}.portal-card-delete:hover{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.portal-card-delete:disabled{cursor:wait;opacity:.5}.request-card{border-color:color-mix(in srgb, var(--accent,#0c2340) 25%, var(--border,#e2e8f0))}.request-card:before{content:"";background:linear-gradient(180deg, var(--accent), var(--accent-deep));width:4px;position:absolute;top:0;bottom:0;left:0}.portal-error{background:color-mix(in srgb, var(--danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--danger) 30%, transparent);color:var(--danger);border-radius:10px;padding:12px 16px;font-size:13px}.portal-modal-backdrop{-webkit-backdrop-filter:blur(8px);z-index:100;background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.18s portalFadeIn;display:flex;position:fixed;inset:0}@keyframes portalFadeIn{0%{opacity:0}to{opacity:1}}.portal-modal{background:var(--bg);border:1px solid var(--border-mid);width:min(100%,520px);max-height:calc(100vh - 48px);box-shadow:0 1px 0 0 color-mix(in srgb, var(--t-primary) 12%, transparent) inset, 0 40px 80px -24px #0000008c;border-radius:18px;flex-direction:column;animation:.32s cubic-bezier(.22,1.4,.36,1) portalSlideIn;display:flex}@keyframes portalSlideIn{0%{opacity:0;transform:translateY(18px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.portal-modal-head{border-bottom:1px solid var(--border,#e2e8f0);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.portal-modal-head h2{font-family:var(--display);margin:0;font-size:21px;font-weight:600}.portal-modal-close{color:var(--text-muted,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;width:32px;height:32px;font-size:24px;line-height:1}.portal-modal-close:hover{background:var(--code-bg);color:var(--text,#0f172a)}.portal-modal-body{flex-direction:column;gap:14px;padding:20px 24px;display:flex;overflow-y:auto}.portal-modal-intro{color:var(--text-muted,#64748b);margin:0 0 4px;font-size:13px;line-height:1.55}.portal-modal-foot{border-top:1px solid var(--border,#e2e8f0);justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}@media (width<=640px){.portal{gap:24px;padding:24px 16px 48px}.portal-head{flex-direction:column;align-items:stretch;gap:18px}.portal-head h1{font-size:24px}.portal-head .portal-cta{justify-content:center;width:100%}.portal-cards{grid-template-columns:1fr}}.portal-modal .launcher-field{gap:6px;margin-bottom:4px}.portal-modal .launcher-field-label,.portal-modal .launcher-field>span{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#64748b);font-size:12px;font-weight:600}.portal-modal .launcher-field select,.portal-modal .multiselect-trigger{border:1px solid var(--border,#cbd5e1);background:var(--bg);color:var(--text,#0f172a);border-radius:10px;padding:10px 12px;font-size:14px;transition:border-color .12s,box-shadow .12s}.portal-modal .launcher-field select:hover,.portal-modal .multiselect-trigger:hover:not(:disabled){border-color:color-mix(in srgb, var(--accent,#0c2340) 45%, var(--border,#cbd5e1))}.portal-modal .launcher-field select:focus,.portal-modal .multiselect-trigger:focus-visible{border-color:var(--accent,#0c2340);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.portal-modal .launcher-start{background:var(--accent-gradient,linear-gradient(135deg, #0c2340, #579db8));color:var(--on-accent);cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 8px 20px -10px #0c234080}.portal-modal .launcher-start:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-1px)}.portal-modal .launcher-start:disabled{opacity:.55;cursor:not-allowed;box-shadow:none;filter:grayscale(.2);transform:none}.portal-modal .launcher-secondary{background:var(--bg);color:var(--text,#0f172a);border:1px solid var(--border,#cbd5e1);cursor:pointer;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:500;transition:background .12s,border-color .12s,color .12s}.portal-modal .launcher-secondary:hover:not(:disabled){background:var(--code-bg);border-color:color-mix(in srgb, var(--accent,#0c2340) 40%, var(--border,#cbd5e1));color:var(--accent,#0c2340)}.portal-modal .launcher-secondary:disabled{opacity:.5;cursor:not-allowed}.portal-modal-body>.launcher-secondary{color:var(--accent,#0c2340);border-color:color-mix(in srgb, var(--accent,#0c2340) 30%, var(--border,#cbd5e1));background:color-mix(in srgb, var(--accent) 8%, transparent);align-self:flex-start;padding:8px 14px;font-size:13px}.portal-modal .multiselect-panel{border:1px solid var(--border,#cbd5e1);border-radius:10px;box-shadow:0 18px 40px -20px #0f172a4d}.seg-btn{appearance:none;border:1px solid var(--t-border-mid);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.seg-btn:hover{color:var(--text);border-color:var(--t-border-ui)}.seg-btn.active{background:var(--t-primary-grad,var(--accent));border-color:var(--accent);color:var(--on-accent)}.ghost-btn{border:1px solid var(--t-border-mid);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:600;display:inline-flex}.ghost-btn:hover:not(:disabled){color:var(--text);border-color:var(--t-border-ui)}.ghost-btn:disabled{opacity:.4;cursor:not-allowed}.theme-picker{appearance:none;background:var(--t-surface2);color:var(--text);border:1px solid var(--t-border-mid);font:inherit;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-muted) 50%), linear-gradient(135deg, var(--text-muted) 50%, transparent 50%);background-position:calc(100% - 16px) 52%,calc(100% - 11px) 52%;background-repeat:no-repeat;background-size:5px 5px,5px 5px;border-radius:9px;padding:6px 28px 6px 12px;font-size:13px;font-weight:600}.theme-studio-button{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;transition:background .15s;display:inline-flex}.theme-studio-button:hover{background:color-mix(in srgb, var(--accent) 18%, transparent)}.appearance-menu-wrap{display:inline-flex;position:relative}.header-drawer-toggle.active{color:var(--accent)}.appearance-menu{z-index:60;background:var(--t-surface);border:1px solid var(--t-border-mid);border-radius:14px;flex-direction:column;gap:14px;width:280px;padding:16px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 24px 60px -24px #0009}.appearance-field{flex-direction:column;gap:6px;display:flex}.appearance-field>span:first-child{letter-spacing:.04em;text-transform:uppercase;color:var(--text-sub);font-size:11px;font-weight:700}.appearance-field .theme-picker{width:100%}.appearance-brand-row{gap:6px;display:flex}.appearance-brand-row input{background:var(--t-surface2);border:1px solid var(--t-border-mid);min-width:0;color:var(--text);font:inherit;border-radius:8px;flex:1;padding:7px 10px;font-size:13px}.appearance-brand-row input:focus{border-color:var(--accent);outline:none}.appearance-save{border:1px solid var(--accent);background:var(--t-primary-grad,var(--accent));width:34px;color:var(--on-accent);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.appearance-hint{color:var(--text-sub);font-size:11px;line-height:1.35}.theme-studio{z-index:100;background:var(--bg-page);color:var(--text);flex-direction:column;display:flex;position:fixed;inset:0}.studio-topbar{border-bottom:1px solid var(--t-border);background:var(--t-header-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:center;gap:14px;padding:12px 18px;display:flex}.studio-back{border:1px solid var(--t-border-mid);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:9px;justify-content:center;align-items:center;display:inline-flex}.studio-back:hover{border-color:var(--t-border-ui)}.studio-title{color:var(--text-h);align-items:center;gap:8px;font-size:15px;font-weight:700;display:inline-flex}.studio-title svg{color:var(--accent)}.studio-name{background:var(--t-surface2);border:1px solid var(--t-border-mid);max-width:360px;color:var(--text);font:inherit;border-radius:9px;flex:1;padding:8px 12px;font-size:14px;font-weight:600}.studio-name:focus{border-color:var(--accent);outline:none}.studio-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.studio-status{color:var(--text-muted);margin-right:4px;font-size:12px}.studio-btn{border:1px solid var(--t-border-ui);background:var(--t-surface2);color:var(--text);font:inherit;cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;font-weight:600;display:inline-flex}.studio-btn:hover:not(:disabled){border-color:var(--accent)}.studio-btn:disabled{opacity:.5;cursor:not-allowed}.studio-btn-primary{background:var(--t-primary-grad,var(--accent));border-color:var(--accent);color:var(--on-accent)}.studio-btn-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent)}.studio-body{flex:1;grid-template-columns:minmax(360px,1fr) minmax(420px,1.1fr);gap:0;display:grid;overflow:hidden}.studio-editor{border-right:1px solid var(--t-border);padding:20px 22px 60px;overflow-y:auto}.studio-section{margin-bottom:18px}.studio-section-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-sub);margin:0 0 10px;font-size:11px;font-weight:700}.studio-theme-list{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.studio-theme-chip{border:1px solid var(--t-border-mid);background:var(--t-surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 8px;font-size:13px;font-weight:600;display:inline-flex}.studio-theme-chip:hover{border-color:var(--t-border-ui)}.studio-theme-chip.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.studio-theme-swatch{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #fff3}.studio-theme-active{color:var(--accent)}.studio-base-toggle{align-items:center;gap:8px;display:inline-flex}.studio-base-toggle>span{color:var(--text-muted);margin-right:2px;font-size:12px}.studio-group-head{border:none;border-top:1px solid var(--t-border);width:100%;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;align-items:center;gap:8px;padding:12px 2px 8px;font-size:13px;font-weight:700;display:flex}.studio-chevron{color:var(--text-muted);transition:transform .18s}.studio-chevron.open{transform:rotate(0)}.studio-chevron:not(.open){transform:rotate(-90deg)}.studio-token-list{flex-direction:column;gap:6px;display:flex}.studio-token{border:1px solid var(--t-border);background:var(--t-surface);border-radius:11px;overflow:hidden}.studio-token-head{cursor:pointer;text-align:left;width:100%;color:var(--text);font:inherit;background:0 0;border:none;align-items:center;gap:12px;padding:10px 12px;display:flex}.studio-token-head:hover{background:var(--t-row-hover)}.studio-token-swatch{background-image:linear-gradient(45deg,#80808040 25%,#0000 25%),linear-gradient(-45deg,#80808040 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#80808040 75%),linear-gradient(-45deg,#0000 75%,#80808040 75%);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px;border-radius:8px;flex:none;width:30px;height:30px;box-shadow:inset 0 0 0 1px #80808059}.studio-token-label{flex-direction:column;flex:1;gap:1px;min-width:0;font-size:13px;font-weight:600;display:flex}.studio-token-hint{color:var(--text-sub);font-size:11px;font-weight:400}.studio-token-value{font-family:var(--mono);color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:130px;font-size:11px;overflow:hidden}.studio-token-editor{border-top:1px solid var(--t-border);padding:4px 12px 14px}.studio-preview-wrap{background:var(--t-canvas-bg);padding:24px;overflow-y:auto}.studio-preview{border:1px solid var(--t-border-mid);background:var(--t-bg);color:var(--t-text);border-radius:18px;overflow:hidden;box-shadow:0 30px 70px -30px #0009}.color-field{flex-direction:column;gap:12px;padding-top:10px;display:flex}.color-field-mode{gap:6px;display:inline-flex}.solid-editor{flex-direction:column;gap:12px;display:flex}.solid-editor .react-colorful{width:100%;height:188px}.solid-editor .react-colorful__saturation{border-radius:10px 10px 0 0}.solid-editor .react-colorful__last-control{border-radius:0 0 10px 10px}.solid-editor .react-colorful__hue,.solid-editor .react-colorful__alpha{height:16px}.solid-editor .react-colorful__pointer{width:18px;height:18px}.solid-editor-fields{flex-wrap:wrap;align-items:flex-end;gap:6px;display:flex}.eyedropper-btn{border:1px solid var(--t-border-mid);background:var(--t-surface2);width:34px;height:32px;color:var(--text);cursor:pointer;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.eyedropper-btn:hover{border-color:var(--accent);color:var(--accent)}.color-presets{flex-wrap:wrap;gap:5px;display:flex}.color-preset{cursor:pointer;border:none;border-radius:4px;width:15px;height:15px;padding:0;transition:transform 80ms;box-shadow:inset 0 0 0 1px #80808059}.color-preset:hover{outline:2px solid var(--accent);outline-offset:1px;transform:scale(1.2)}.color-input{flex-direction:column;flex:1;gap:3px;min-width:46px;display:flex}.color-input-hex{flex:2.2;min-width:96px}.color-input>span{letter-spacing:.04em;color:var(--text-sub);font-size:10px;font-weight:700}.color-input input{background:var(--t-surface2);border:1px solid var(--t-border-mid);width:100%;color:var(--text);font:inherit;font-size:12px;font-family:var(--mono);border-radius:7px;padding:6px 8px}.color-input input:focus{border-color:var(--accent);outline:none}.gradient-designer{flex-direction:column;gap:12px;display:flex}.gradient-preview{border-radius:12px;height:70px;box-shadow:inset 0 0 0 1px #8080804d}.gradient-controls{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.gradient-type{gap:6px;display:inline-flex}.gradient-angle{flex-direction:column;flex:1;gap:4px;min-width:140px;display:flex}.gradient-angle>span,.gradient-pos>span{color:var(--text-muted);font-size:11px;font-weight:600}.gradient-rail{cursor:copy;touch-action:none;border-radius:8px;height:28px;margin:8px 10px 2px;position:relative;box-shadow:inset 0 0 0 1px #8080804d}.gradient-stop-handle{cursor:grab;touch-action:none;border:3px solid #fff;border-radius:50%;width:22px;height:22px;padding:0;transition:transform 80ms;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #00000073,0 2px 6px #00000073}.gradient-stop-handle:hover{transform:translate(-50%,-50%)scale(1.12)}.gradient-stop-handle:active{cursor:grabbing}.gradient-stop-handle.active{outline:2px solid var(--accent);outline-offset:2px;z-index:2}.gradient-stop-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.gradient-stop-count{color:var(--text-muted);font-size:12px;font-weight:600}.gradient-stop-actions{gap:6px;display:inline-flex}.gradient-pos{flex-direction:column;gap:4px;display:flex}.gradient-designer input[type=range],.gradient-angle input[type=range]{accent-color:var(--accent)}.preview-app{flex-direction:column;display:flex}.preview-pick{cursor:pointer}.preview-pick:hover:not(:has(.preview-pick:hover)){outline:2px dashed var(--t-primary);outline-offset:2px;border-radius:4px}.preview-header{background:var(--t-header-bg);border-bottom:1px solid var(--t-border);justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.preview-status{color:var(--t-text-muted);align-items:center;gap:7px;font-size:12px;display:inline-flex}.preview-dot{background:var(--t-primary-grad,var(--t-primary));width:8px;height:8px;box-shadow:0 0 0 3px color-mix(in srgb, var(--t-primary) 25%, transparent);border-radius:50%}.preview-hero{background:var(--accent-gradient);height:84px}.preview-card{background:var(--t-surface);border:1px solid var(--t-border-mid);border-radius:14px;flex-direction:column;gap:10px;margin:-28px 18px 0;padding:18px;display:flex;position:relative;box-shadow:0 18px 40px -24px #00000080}.preview-h{color:var(--text-h);margin:0;font-size:17px;font-weight:700}.preview-body{color:var(--t-text);margin:0;font-size:13px}.preview-muted{color:var(--t-text-muted);margin:0;font-size:12px}.preview-chips{flex-wrap:wrap;gap:8px;margin-top:2px;display:flex}.preview-chip{border:1px solid var(--t-border-ui);color:var(--t-text);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:600}.preview-chip.active{background:var(--accent-bg);border-color:var(--accent-border);color:var(--t-primary)}.preview-buttons{gap:10px;margin-top:4px;display:flex}.preview-btn-primary{background:var(--t-primary-grad,var(--t-primary));color:var(--on-accent);font:inherit;cursor:pointer;border:none;border-radius:9px;padding:9px 18px;font-size:13px;font-weight:700}.preview-btn-ghost{border:1px solid var(--t-border-ui);color:var(--t-text);font:inherit;cursor:pointer;background:0 0;border-radius:9px;padding:9px 18px;font-size:13px;font-weight:600}.preview-badges{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.preview-badge{border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700}.preview-badge.warn{color:var(--t-warn);background:var(--t-warn-grad,color-mix(in srgb, var(--t-warn) 16%, transparent))}.preview-badge.danger{color:var(--t-danger);background:var(--t-danger-grad,color-mix(in srgb, var(--t-danger) 16%, transparent))}.preview-badge.info{color:var(--t-info);background:var(--t-info-grad,color-mix(in srgb, var(--t-info) 16%, transparent))}.preview-link{color:var(--accent-soft);align-self:flex-start;font-size:13px;font-weight:600;text-decoration:none}.preview-progress{background:var(--t-row-selected);border-radius:999px;height:7px;overflow:hidden}.preview-progress span{background:var(--t-deep-grad,var(--t-deep));border-radius:999px;height:100%;display:block}.preview-list{border:1px solid var(--t-border);background:var(--t-surface);border-radius:12px;margin:14px 18px 0;overflow:hidden}.preview-row{color:var(--t-text);border-bottom:1px solid var(--t-border);padding:10px 14px;font-size:13px}.preview-row:last-child{border-bottom:none}.preview-row.hover{background:var(--t-row-hover)}.preview-row.selected{background:var(--t-row-selected);color:var(--t-primary);font-weight:600}.preview-time{color:var(--t-text-sub);margin-top:4px;font-size:11px;display:block}.preview-bubble.user .preview-time{color:color-mix(in srgb, var(--on-accent) 70%, transparent)}.preview-chat{background:var(--t-canvas-bg);flex-direction:column;gap:10px;padding:18px;display:flex}.preview-msg{align-items:flex-end;gap:8px;display:flex}.preview-msg.user{justify-content:flex-end}.preview-avatar{background:var(--accent-gradient);width:26px;height:26px;color:var(--on-accent);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.preview-bubble{background:var(--t-surface2);max-width:76%;color:var(--t-text);border:1px solid var(--t-border);border-radius:14px;padding:9px 13px;font-size:13px}.preview-bubble.user{background:var(--t-primary-grad,var(--t-primary));color:var(--on-accent);border-color:#0000}.preview-input{background:var(--t-surface2);border:1px solid var(--t-border-mid);color:var(--t-text-muted);border-radius:999px;justify-content:space-between;align-items:center;margin:0 18px 18px;padding:10px 14px;font-size:13px;display:flex}.preview-send{background:var(--t-primary-grad,var(--t-primary));width:30px;height:30px;color:var(--on-accent);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}@media (width<=880px){.studio-body{grid-template-columns:1fr}.studio-editor{border-right:none;border-bottom:1px solid var(--t-border)}.studio-name{max-width:none}}
