:root{--ink-1000: #000000;--ink-900: #1A1A1A;--ink-500: #777777;--ink-100: #ECECEC;--ink-0: #FFFFFF;--ink-980: var(--ink-1000);--ink-960: var(--ink-1000);--ink-940: var(--ink-900);--ink-850: var(--ink-900);--ink-800: var(--ink-900);--ink-700: var(--ink-500);--ink-600: var(--ink-500);--ink-400: var(--ink-500);--ink-300: var(--ink-100);--ink-200: var(--ink-100);--ink-150: var(--ink-100);--ink-75: var(--ink-100);--ink-50: var(--ink-100);--ink-25: var(--ink-0);--signal-600: #138554;--signal-500: #1AB774;--signal-100: #CCEBDE;--signal-deep: var(--signal-600);--signal-800: var(--signal-600);--signal-700: var(--signal-600);--signal-400: var(--signal-500);--signal-300: var(--signal-500);--signal-200: var(--signal-100);--signal-50: var(--signal-100);--signal-gradient: linear-gradient(135deg, var(--signal-100) 4%, var(--signal-500) 50%, var(--signal-600) 99%);--status-success: var(--signal-500);--status-warn: #E8A33A;--status-danger: #E5484D;--status-info: #6E8BFF;--bg: var(--ink-1000);--bg-elev-1: var(--ink-940);--bg-elev-2: var(--ink-900);--bg-elev-3: var(--ink-850);--bg-inverse: var(--ink-0);--border-subtle: #1F1F1F;--border: var(--ink-800);--border-strong: var(--ink-700);--text-primary: var(--ink-0);--text-secondary: var(--ink-400);--text-tertiary: var(--ink-500);--text-disabled: var(--ink-600);--text-inverse: var(--ink-1000);--text-accent: var(--signal-400);--bg-light: var(--ink-0);--bg-light-elev-1: var(--ink-25);--bg-light-elev-2: var(--ink-50);--border-light-subtle: var(--ink-75);--border-light: var(--ink-100);--border-light-strong: var(--ink-200);--text-light-primary: var(--ink-1000);--text-light-secondary: var(--ink-500);--text-light-tertiary: var(--ink-400);--font-sans: "Geist", "Inter", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, "Noto Sans SC", monospace;--font-cjk: "Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Source Han Sans SC", sans-serif;--font-display: var(--font-sans);--fs-xs: 11px;--fs-sm: 12px;--fs-md: 13px;--fs-base:14px;--fs-lg: 16px;--fs-xl: 20px;--fs-2xl: 24px;--fs-3xl: 32px;--fs-4xl: 44px;--fs-5xl: 60px;--fs-6xl: 84px;--lh-tight: 1.05;--lh-snug: 1.2;--lh-norm: 1.45;--lh-relax: 1.6;--lh-loose: 1.75;--fw-regular: 400;--fw-medium: 500;--fw-semibold:600;--fw-mono: 400;--tracking-tight: -.02em;--tracking-snug: -.01em;--tracking-normal: 0;--tracking-wide: .04em;--tracking-mono: 0;--tracking-caps: .08em;--space-inline: 8px;--space-row: 12px;--space-block: 16px;--space-section:16px;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--space-11: 80px;--space-12: 96px;--space-13: 128px;--space-14: 160px;--space-15: 200px;--radius-sm: 4px;--radius-full: 9999px;--radius-none: 0;--radius-xs: var(--radius-sm);--radius-md: var(--radius-sm);--radius-lg: var(--radius-sm);--radius-xl: var(--radius-sm);--radius-2xl: var(--radius-sm);--shadow-none: none;--shadow-md: 0 4px 12px rgba(0,0,0,.08), 0 1px 2px rgba(0,0,0,.04);--shadow-xs: var(--shadow-md);--shadow-sm: var(--shadow-md);--shadow-lg: var(--shadow-md);--shadow-xl: var(--shadow-md);--shadow-dark-md: 0 1px 0 rgba(255,255,255,.04) inset, 0 8px 24px rgba(0,0,0,.4);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--dur-instant: 80ms;--dur-fast: .14s;--dur-base: .22s;--dur-slow: .4s;--container-max: 1280px;--container-prose: 720px;--container-narrow: 560px;--gutter: 24px;--gutter-lg: 48px}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-norm);color:var(--text-primary);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"ss01","cv11"}[data-theme=light]{--bg: var(--bg-light);--bg-elev-1: var(--bg-light-elev-1);--bg-elev-2: var(--bg-light-elev-2);--bg-elev-3: var(--ink-0);--border-subtle: var(--border-light-subtle);--border: var(--border-light);--border-strong: var(--border-light-strong);--text-primary: var(--text-light-primary);--text-secondary: var(--text-light-secondary);--text-tertiary: var(--text-light-tertiary);--text-inverse: var(--ink-0)}.mono{font-family:var(--font-mono)}.kicker{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:var(--tracking-caps);text-transform:uppercase;color:var(--text-tertiary)}*,*:before,*:after{box-sizing:border-box}*{margin:0}html,body{height:100%}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal, 1.5);background:var(--bg);color:var(--text-primary);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;padding:0}a{color:inherit;text-decoration:none}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}#app{isolation:isolate;min-height:100%}.res-page{min-height:100vh;display:flex;flex-direction:column}.res-crumbs{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-base);color:var(--text-secondary);margin-bottom:var(--space-3)}.res-crumbs a{color:var(--text-secondary);text-decoration:none}.res-crumbs a:hover{color:var(--text-primary)}.res-crumbs-sep{color:var(--text-tertiary);-webkit-user-select:none;user-select:none}.res-crumbs-current{color:var(--text-primary)}.res-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:var(--space-7) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.res-main--narrow{max-width:720px}.res-main--wide{max-width:1440px}.res-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);margin:0}.res-hero{display:flex;flex-direction:column;gap:var(--space-2)}.res-hero-title{font-family:var(--font-sans);font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0;display:flex;align-items:center;gap:var(--space-3)}.res-hero-meta{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary);margin:0}.res-section-head{display:flex;justify-content:space-between;align-items:center}.res-hint{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary)}.res-hint-muted{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary)}.res-empty{background:var(--bg-elev-1);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-8);text-align:center;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary)}.res-empty-link{color:var(--signal-500);text-decoration:none}.res-empty-link:hover{color:var(--signal-400)}.res-alert{background:#e5484d14;border:1px solid rgba(229,72,77,.3);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--status-danger);margin:0}.res-readonly-banner{background:#e8a33a14;border:1px solid rgba(232,163,58,.3);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--status-warn);margin:0}.res-table{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.res-table table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--fs-md)}.res-table th{text-align:left;padding:var(--space-4) var(--space-5);background:var(--bg-elev-2);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);font-weight:var(--fw-regular)}.res-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}.res-table tr:last-child td{border-bottom:none}.res-row-link{cursor:pointer;transition:background var(--dur-fast)}.res-row-link:hover{background:var(--bg-elev-2)}.res-cell-primary{color:var(--text-primary)}.res-cell-mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary)}.res-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-xs);padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wide, .04em)}.res-badge--success{background:#1ab77426;color:var(--status-success)}.res-badge--pending{background:#e8a33a26;color:var(--status-warn)}.res-badge--danger{background:#e5484d26;color:var(--status-danger)}.res-badge .res-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.res-form{display:flex;flex-direction:column;gap:var(--space-5)}.res-form--grid-2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.res-form--grid-2>.res-alert,.res-form--grid-2>.res-actions{grid-column:1 / -1}@media (max-width: 760px){.res-form--grid-2{grid-template-columns:1fr}}.res-field{display:flex;flex-direction:column;gap:var(--space-2)}.res-label{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.res-input,.res-select,.res-textarea{width:100%;padding:0 var(--space-4);font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--dur-fast)}.res-input,.res-select{height:40px}.res-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32' fill='none' stroke='%238E8E8E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M8 13l8 8 8-8'/></svg>");background-repeat:no-repeat;background-position:right var(--space-4) center;background-size:14px 14px;padding-right:calc(var(--space-4) + 14px + var(--space-2));cursor:pointer}.res-textarea{padding:var(--space-3) var(--space-4);resize:vertical;min-height:80px;line-height:1.55}.res-input:focus,.res-select:focus,.res-textarea:focus{outline:none;border-color:var(--signal-500)}.res-input:disabled,.res-select:disabled,.res-textarea:disabled{opacity:.6;cursor:not-allowed}.res-input--sm{height:32px;padding:0 var(--space-3);font-size:var(--fs-sm)}.res-select--sm{width:auto;height:32px;padding-left:var(--space-3);padding-right:calc(var(--space-3) + 14px + var(--space-2));background-position:right var(--space-3) center;font-size:var(--fs-sm)}.res-page-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.res-page-info{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);min-width:140px;text-align:center}.res-help{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);margin:0}.res-help--warn{color:var(--status-warn)}.res-actions{display:flex;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-3)}.res-btn{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-medium);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast),border-color var(--dur-fast),opacity var(--dur-fast)}.res-btn:disabled{opacity:.5;cursor:not-allowed}.res-btn--sm{height:32px;padding:0 var(--space-4);font-size:var(--fs-sm)}.res-btn--primary{background:var(--signal-500);color:var(--ink-1000);border-color:var(--signal-600)}.res-btn--primary:hover:not(:disabled){background:var(--signal-400)}.res-btn--ghost{color:var(--text-secondary);border-color:var(--border);background:transparent}.res-btn--ghost:hover{color:var(--text-primary);background:var(--bg-elev-2)}.res-btn--secondary{color:var(--text-primary);border-color:var(--border);background:transparent}.res-btn--secondary:hover:not(:disabled){background:var(--bg-elev-2);border-color:var(--border-strong)}.res-btn--danger{color:var(--status-danger);border-color:#e5484d4d;background:transparent}.res-btn--danger:hover:not(:disabled){background:#e5484d1a;border-color:var(--status-danger)}.res-name-input{flex:1;max-width:480px;font-family:var(--font-sans);font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:4px 8px;outline:none;transition:border-color var(--dur-fast),background var(--dur-fast)}.res-name-input:hover{border-color:var(--border-subtle)}.res-name-input:focus{border-color:var(--signal-500);background:var(--bg-elev-1)}.dr-preset-hint,.hint-muted,.pager-status,.apps-hint,.optional-tag,.overview-hint,.ov-tts-hint,.run-controls-hint,.row-action-muted,.ref-role{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary)}.hint,.stat-label,.user-menu-role,.metric-kicker,.card-row-label,.stats-section .stat-label,.ov-label,.lead-stat-label,.toolbar-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.ai-close:hover,.dock-app:hover,.modal-close:hover,.search-clear:hover,.user-avatar:hover,.user-avatar.active,.user-menu-item:hover,.banner-close:hover,.btn-ghost:hover{color:var(--text-primary);background:var(--bg-elev-2)}.kicker,.block-kicker{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);margin:0}.modal-body form,.block,.metrics-block,.apps-block,.section-block,.leads-block{display:flex;flex-direction:column;gap:var(--space-4)}.confirm-text{font-size:var(--fs-base);color:var(--text-secondary);line-height:1.6;margin:0 0 var(--space-3)}.dropzone-hint,.dropzone-file-size,.footer-note,.leads-note{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);margin:0}.page{min-height:100vh;display:flex;flex-direction:column}.schema-list,.page-head,.hero{display:flex;flex-direction:column;gap:var(--space-2)}.play-btn:disabled,.dwl-btn:disabled,.pager-btn:disabled,.btn:disabled{opacity:.4;cursor:not-allowed}.block-head,.metrics-head,.meta-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.btn-primary{background:var(--signal-500);color:var(--ink-1000);border-color:var(--signal-600)}.block-head,.section-block-head,.overview-head,.leads-summary-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.schema-required input,.checkbox-row input{accent-color:var(--signal-500)}.head-actions,.toolbar{display:inline-flex;align-items:center;gap:var(--space-3)}.section-head,.block-head,.content-head{display:flex;justify-content:space-between;align-items:center}.dr-trigger:hover,.dr-trigger.active,.pager-btn:hover:not(:disabled),.btn-secondary:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong);background:var(--bg-elev-2)}.dr-preset-name,.user-menu-name,.card-row-value{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-primary)}.block-title,.metrics-title,.apps-title{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.empty-link,.wip-link{color:var(--signal-500);text-decoration:none}.rows,.block{display:flex;flex-direction:column;gap:var(--space-3)}.res-item,.head-actions,.block-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.row-stats,.stats-section .stats-grid,.leads-stats{grid-template-columns:repeat(3,1fr)}.status-badge.success{background:#1ab77426;color:var(--status-success)}.status-badge.pending{background:#e8a33a26;color:var(--status-warn)}.status-badge .status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.required-mark{color:var(--signal-500);display:inline-flex;vertical-align:middle;margin-right:var(--space-1)}.dropzone:hover,.dropzone--active,.name-input:focus{border-color:var(--signal-500);background:var(--bg-elev-1)}.dropzone-title,.meta-stats{font-size:var(--fs-base);color:var(--text-secondary);margin:0}.page-title,.hero-title{font-family:var(--font-sans);font-size:var(--fs-3xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0}.row-empty-text,.hint,.data-table .cell-mono{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary)}.ai-prompt,.md-line-h2{color:var(--signal-500);font-weight:var(--fw-medium)}.dr-field,.row-top{display:flex;align-items:center;gap:var(--space-3)}.block-actions,.topbar-right{display:flex;align-items:center;gap:var(--space-4)}.empty{background:var(--bg-elev-1);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-8);text-align:center;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary)}.alert{background:#e5484d14;border:1px solid rgba(229,72,77,.3);border-radius:var(--radius-sm);padding:var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--status-danger)}.row-stats,.stats-section .stats-grid{grid-template-columns:repeat(2,1fr)}.balance-amount,.toolbar-static{color:var(--text-primary);font-size:var(--fs-sm)}.upload-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-left:3px solid var(--signal-500);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--text-secondary);margin:0}.banner-close{margin-left:auto;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:inline-flex;align-items:center}.dropzone--has-file{cursor:default;border-style:solid;border-color:var(--border-subtle);padding:var(--space-4)}.dropzone-input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;pointer-events:none}.dropzone-empty{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-tertiary)}.dropzone-file{display:flex;align-items:center;gap:var(--space-3);width:100%;color:var(--text-secondary)}.dropzone-file-name{font-size:var(--fs-base);color:var(--text-primary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-actions{display:inline-flex;gap:var(--space-2);flex-shrink:0}.ref-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-1)}.ref-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background .15s}.ref-id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);min-width:48px}.ref-name{flex:1;font-size:var(--fs-sm)}.ref-blocking{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--status-warn);letter-spacing:var(--tracking-caps)}.schema-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.schema-row{display:grid;grid-template-columns:1fr 1fr auto auto;gap:var(--space-3);align-items:center}.schema-row--locked .res-input:disabled{opacity:.7;cursor:not-allowed}.schema-required{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);white-space:nowrap}.schema-locked-hint{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);letter-spacing:var(--tracking-caps);white-space:nowrap}.line-header,.proj-head-inner{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5)}.main{flex:1;width:100%;max-width:720px;margin:0 auto;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.wip-badge{align-self:flex-start;font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);padding:2px 8px;border-radius:var(--radius-sm);background:#e8a33a26;color:var(--status-warn)}.runs-table,.data-table{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.runs-table table,.data-table table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:var(--fs-md)}.hero-meta,.wip-step{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary);margin:0}.layout{display:grid;grid-template-columns:1fr 0;gap:0;transition:grid-template-columns var(--dur-base, .2s) ease}.layout.has-panel{grid-template-columns:1fr 360px;gap:var(--space-4)}.content-block{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.ai-side{position:sticky;top:var(--space-6);align-self:start;height:calc(100vh - 56px - var(--space-7) * 2);opacity:0;transition:opacity var(--dur-base, .2s) ease}.icon{display:inline-flex;flex-shrink:0;line-height:0;color:inherit}.icon svg{width:100%;height:100%;display:block}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#0009;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-panel{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;max-height:calc(100vh - var(--space-8));width:100%;max-width:560px}.modal-panel--sm{max-width:400px}.modal-panel--lg{max-width:800px}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle)}.modal-head .modal-title{flex:1;min-width:0}.modal-title{font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text-primary);margin:0}.modal-close{border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center}.modal-body{padding:var(--space-5);overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:var(--space-4)}.modal-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-subtle)}.modal-fade-enter-active,.modal-fade-leave-active{transition:opacity var(--dur-fast)}.modal-fade-enter-from,.modal-fade-leave-to{opacity:0}.tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--border-subtle)}.tab{display:inline-flex;align-items:center;gap:var(--space-2);height:36px;padding:0 var(--space-4);background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-tertiary);cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast)}.tab:hover:not(.active):not(.disabled){color:var(--text-primary)}.tab.active{color:var(--text-primary);border-bottom-color:var(--signal-500)}.tab.disabled{color:var(--text-disabled);cursor:not-allowed}.tab-label{font-weight:var(--fw-medium)}.tab-badge{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);padding:0 6px;background:var(--bg-elev-2);border-radius:var(--radius-full);line-height:18px;min-width:22px;text-align:center}.tab-wip{font-family:var(--font-mono);font-size:9px;letter-spacing:var(--tracking-caps);color:var(--status-warn);padding:0 5px;border:1px solid var(--status-warn);border-radius:var(--radius-sm);line-height:14px;opacity:.7}.popover-root{position:relative;display:inline-flex}.popover-trigger{display:inline-flex;align-items:center;outline:none}.popover-panel{position:absolute;top:calc(100% + var(--space-2));min-width:160px;background:var(--bg-elev-3);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:var(--space-1) 0;z-index:100}.popover-panel.align-right{right:0}.popover-panel.align-left{left:0}.popover-fade-enter-active,.popover-fade-leave-active{transition:opacity var(--dur-fast),transform var(--dur-fast)}.popover-fade-enter-from,.popover-fade-leave-to{opacity:0;transform:translateY(-4px)}.bar{display:flex;gap:2px;height:16px;width:100%}.bar.small{height:10px;gap:1px}.seg{flex:1;background:var(--bg-elev-3);border-radius:1px;min-width:0}.seg.filled{background:var(--signal-500)}.search-box{position:relative;display:inline-flex;align-items:center;width:280px;flex-shrink:0}.search-icon-btn{position:absolute;left:var(--space-2);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:inline-flex;align-items:center;z-index:1}.search-icon-btn:hover:not(:disabled){color:var(--text-primary)}.search-icon-btn:disabled{cursor:not-allowed;opacity:.5}.search-field{padding-left:calc(var(--space-2) + 16px + var(--space-2));padding-right:var(--space-7)}.search-clear{position:absolute;right:var(--space-2);border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);display:inline-flex;align-items:center}.dr-trigger{display:inline-flex;align-items:center;gap:var(--space-2);height:28px;padding:0 var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast)}.dr-trigger-label{letter-spacing:var(--tracking-caps)}.dr-panel{min-width:220px;display:flex;flex-direction:column}.dr-presets{display:flex;flex-direction:column}.dr-preset-row{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:transparent;border:0;text-align:left;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast)}.dr-preset-row:hover{background:var(--bg-elev-2)}.dr-preset-row.selected .dr-preset-name{color:var(--signal-500)}.dr-custom{border-top:1px solid var(--border-subtle);padding:var(--space-2) var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.dr-field-label{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);width:16px}.dr-input{flex:1;height:26px;padding:0 var(--space-2);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color-scheme:dark}.dr-input:focus{outline:1px solid var(--signal-500);outline-offset:-1px}.topbar{border-bottom:1px solid var(--border-subtle);background:var(--bg);position:sticky;top:0;z-index:10}.topbar-inner{max-width:1280px;margin:0 auto;padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.topbar-left{display:flex;align-items:center;gap:var(--space-3);min-width:0}.brand{display:inline-flex;align-items:center;flex-shrink:0}.brand-img{height:20px;width:auto}.brand-sep{display:inline-flex;align-items:center;color:var(--text-tertiary)}.tenant-name{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.balance-pill{display:inline-flex;align-items:baseline;gap:var(--space-2);padding:4px 10px;font-family:var(--font-mono);font-size:var(--fs-xs);border:1px solid var(--border-subtle);border-radius:var(--radius-full);color:var(--text-tertiary)}.balance-label{text-transform:uppercase;letter-spacing:var(--tracking-caps)}.user-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:transparent;border:0;border-radius:var(--radius-full);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast)}.user-menu{display:flex;flex-direction:column;min-width:180px}.user-menu-head{display:flex;flex-direction:column;gap:2px;padding:var(--space-3) var(--space-4) var(--space-2)}.user-menu-divider{height:1px;background:var(--border-subtle);margin:var(--space-1) 0}.user-menu-item{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:transparent;border:0;font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-secondary);text-align:left;cursor:pointer;transition:color var(--dur-fast),background var(--dur-fast)}.dock{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-2)}.dock-app{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-2);border-radius:var(--radius-sm);text-decoration:none;color:var(--text-tertiary);transition:color var(--dur-fast),background var(--dur-fast)}.dock-app.enabled{color:var(--signal-500)}.dock-app.enabled:hover{color:var(--signal-400)}.dock-tile{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-elev-1);color:inherit;transition:border-color var(--dur-fast),background var(--dur-fast)}.dock-app:hover .dock-tile{border-color:var(--border-strong);background:var(--bg-elev-3)}.dock-app.enabled .dock-tile{border-color:var(--signal-600);background:#1ab77414}.dock-logo{width:32px;height:auto;filter:grayscale(1) brightness(2.2) contrast(.5);opacity:.7;transition:filter var(--dur-fast),opacity var(--dur-fast)}.dock-app:hover .dock-logo{opacity:1}.dock-app.enabled .dock-logo{filter:none;opacity:1}.dock-label{font-family:var(--font-sans);font-size:var(--fs-xs);color:inherit;text-align:center;white-space:nowrap}@media (max-width: 1200px){.dock{grid-template-columns:repeat(6,1fr)}}@media (max-width: 720px){.dock{grid-template-columns:repeat(4,1fr)}}.ai-panel{display:flex;flex-direction:column;height:100%;background:var(--ink-1000);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-secondary)}.ai-head{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--ink-1000)}.ai-title{font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--signal-500)}.ai-close{background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;padding:var(--space-1);border-radius:var(--radius-sm)}.ai-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary);padding:var(--space-6);line-height:1.6;gap:var(--space-2)}.cursor{display:inline-block;width:8px;height:14px;background:var(--signal-500);animation:blink 1s steps(2,end) infinite;vertical-align:middle}@keyframes blink{to{visibility:hidden}}.ai-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.ai-stream{flex:1;overflow-y:auto;padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.ai-msg{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.55;color:var(--text-secondary)}.ai-msg-prefix{color:var(--text-tertiary);margin-right:var(--space-2)}.ai-msg-system{color:var(--text-tertiary)}.ai-input-wrap{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle);background:var(--ink-1000)}.ai-input{flex:1;background:transparent;border:none;outline:none;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-primary);caret-color:var(--signal-500)}.ai-input::placeholder{color:var(--text-tertiary)}.ai-input:disabled{cursor:not-allowed}.md-editor{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;font-family:var(--font-mono);font-size:var(--fs-md);line-height:1.55;-webkit-user-select:none;user-select:none}.md-editor.is-dragging{cursor:ns-resize}.md-line-wrap{display:flex;align-items:stretch;border-left:2px solid transparent;transition:background var(--dur-fast),border-color var(--dur-fast)}.md-line-wrap.is-selected{background:var(--bg-elev-2);border-left-color:var(--signal-500)}.md-gutter{flex:0 0 44px;padding:6px var(--space-3) 6px 0;text-align:right;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);-webkit-user-select:none;user-select:none;border-right:1px solid var(--border-subtle)}.md-line,.md-edit{flex:1;padding:6px var(--space-4);margin:0;font-family:var(--font-mono);font-size:var(--fs-md);line-height:1.55;color:var(--text-secondary);background:transparent;border:none;outline:none;white-space:pre-wrap;word-break:break-word;cursor:text}.md-line:hover{background:#ffffff05}.is-readonly .md-line{cursor:default}.md-edit{resize:none;color:var(--text-primary);caret-color:var(--signal-500);-webkit-user-select:text;user-select:text}.md-line-h1{color:var(--signal-400);font-weight:var(--fw-medium)}.md-line-h3{color:var(--accent-400, var(--signal-500))}.md-line-text{color:var(--text-secondary)}.empty-link:hover{color:var(--signal-400)}.row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);text-decoration:none;transition:border-color var(--dur-fast),background var(--dur-fast)}.row:hover{border-color:var(--border-strong);background:var(--bg-elev-2)}.row-id{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);flex-shrink:0}.row-name{font-family:var(--font-sans);font-size:var(--fs-lg);font-weight:var(--fw-medium);color:var(--text-primary);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-time{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);flex-shrink:0}.row-resources{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);flex-wrap:wrap}.res-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:var(--tracking-caps)}.res-val{color:var(--text-secondary)}.res-meta{color:var(--text-tertiary)}.res-empty{color:var(--text-tertiary);font-style:italic}.res-sep{opacity:.4;color:var(--text-tertiary)}.row-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);padding-top:var(--space-3);border-top:1px dashed var(--border-subtle)}.stat-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.stat-value{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text-primary);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-xs);padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wide);flex-shrink:0}.status-badge.muted{background:var(--bg-elev-3);color:var(--text-tertiary)}.btn{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-4);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast)}.btn-primary:hover{background:var(--signal-400)}.pager{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-2)}.pager-btn{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:color var(--dur-fast),border-color var(--dur-fast),background var(--dur-fast)}.drawer-fade-enter-active,.drawer-fade-leave-active{transition:opacity .18s ease}.drawer-fade-enter-active .cdr-drawer{animation:cdr-slide-in .22s cubic-bezier(.16,1,.3,1)}.drawer-fade-enter-from,.drawer-fade-leave-to{opacity:0}@keyframes cdr-slide-in{0%{transform:translate(4%);opacity:0}to{transform:translate(0);opacity:1}}.cdr-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:200;display:flex;justify-content:flex-end}.cdr-drawer{width:62%;min-width:640px;max-width:100vw;height:100%;background:var(--ink-0, #ffffff);color:var(--ink-1000, #000000);display:grid;grid-template-rows:auto 1fr auto;box-shadow:-16px 0 32px #00000059}.cdr-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--ink-100, #ECECEC);background:var(--ink-0, #ffffff)}.cdr-id{display:flex;align-items:center;gap:12px;min-width:0}.cdr-id-mark{width:40px;height:40px;border-radius:9999px;background:var(--signal-500, #1AB774);color:var(--ink-0, #ffffff);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.cdr-id-meta{display:flex;flex-direction:column;gap:2px;line-height:1.2;min-width:0}.cdr-id-meta .phone{font-family:var(--font-mono, ui-monospace, monospace);font-size:16px;color:var(--ink-1000, #000);font-weight:500}.cdr-id-meta .uid{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--ink-500, #777)}.cdr-id-meta .uid>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:36ch}.cdr-id-meta .uid button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-500, #777);cursor:pointer;padding:0;display:inline-flex;align-items:center}.cdr-id-meta .uid button:hover{color:var(--ink-1000, #000)}.cdr-actions{display:inline-flex;align-items:center;gap:12px;flex:0 0 auto}.cdr-close{width:32px;height:32px;border:0;background:transparent;color:var(--ink-500, #777);cursor:pointer;border-radius:4px;display:inline-flex;align-items:center;justify-content:center}.cdr-close:hover{color:var(--ink-1000, #000);background:var(--ink-100, #ECECEC)}.cdr-transcript{overflow-y:auto;padding:24px 16px;background:var(--ink-0, #ffffff);display:flex;flex-direction:column;gap:20px}.cdr-transcript::-webkit-scrollbar{width:6px}.cdr-transcript::-webkit-scrollbar-thumb{background:var(--ink-100, #ECECEC);border-radius:9999px}.cdr-empty{text-align:center;color:var(--ink-500, #777);font-size:13px;padding:24px 0;margin:0}.cdr-empty--alert{color:#e5484d}.msg{display:grid;gap:12px;align-items:flex-start}.msg.from-agent{grid-template-columns:32px 1fr}.msg.from-customer{grid-template-columns:1fr 32px;text-align:right}.avatar{width:32px;height:32px;border-radius:9999px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;font-weight:600}.avatar--ai{background:var(--ink-100, #ECECEC);color:var(--ink-1000, #000)}.avatar--human{background:var(--signal-100, #CCEBDE);color:var(--signal-600, #138554)}.bubble-wrap{display:inline-flex;flex-direction:column;width:100%}.msg.from-agent .bubble-wrap{align-items:flex-start}.msg.from-customer .bubble-wrap{align-items:flex-end}.bubble{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid transparent;background:var(--ink-100, #ECECEC);border-radius:8px;padding:12px 16px;color:var(--ink-1000, #000);font-size:14px;line-height:1.6;text-align:left;max-width:78ch;cursor:pointer;font-family:inherit;transition:border-color .14s ease,box-shadow .14s ease}.bubble:hover{border-color:var(--signal-500, #1AB774)}.bubble.is-active{border-color:var(--signal-500, #1AB774);box-shadow:0 0 0 3px #1ab7742e}.stamp{font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;color:var(--ink-500, #777);margin-top:6px}.cdr-player{display:flex;flex-direction:column;gap:12px;padding:16px;background:var(--ink-1000, #000);color:var(--ink-0, #fff)}.player-scrub{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--ink-500, #777)}.scrub-time-start,.scrub-time-end{line-height:1;color:var(--ink-500, #777)}.scrub-track{position:relative;width:100%;height:4px;background:var(--ink-900, #1A1A1A);border-radius:9999px;cursor:pointer}.scrub-fill{position:absolute;left:0;top:0;height:100%;background:var(--ink-100, #ECECEC);border-radius:9999px}.scrub-thumb{position:absolute;top:50%;width:12px;height:12px;border-radius:9999px;background:var(--ink-0, #fff);transform:translate(-50%,-50%);box-shadow:0 0 0 4px #ffffff14}.player-controls{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.player-meta{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;color:var(--ink-500, #777);white-space:nowrap;min-width:0}.player-meta .val{color:var(--ink-0, #fff)}.play-btn{width:36px;height:36px;border-radius:9999px;border:1px solid var(--ink-900, #1A1A1A);background:transparent;color:var(--ink-0, #fff);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.play-btn:hover:not(:disabled){background:var(--ink-900, #1A1A1A)}.player-right{justify-self:end;display:inline-flex;align-items:center;gap:8px}.speed-group{display:inline-flex;align-items:center;background:var(--ink-900, #1A1A1A);border-radius:4px;padding:3px;gap:2px}.speed-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:var(--ink-500, #777);font-family:var(--font-mono, ui-monospace, monospace);font-size:12px;padding:5px 10px;border-radius:4px;cursor:pointer;min-width:56px}.speed-btn:hover{color:var(--ink-0, #fff)}.speed-btn.is-active{background:var(--ink-1000, #000);color:var(--ink-0, #fff);box-shadow:inset 0 0 0 1px var(--ink-900, #1A1A1A)}.dwl-btn{width:36px;height:36px;border:0;background:transparent;color:var(--ink-0, #fff);border-radius:4px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.dwl-btn:hover:not(:disabled){background:var(--ink-900, #1A1A1A)}.page-home .main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-7)}.page-home .metrics-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.page-home .metric-card{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.page-home .metric-pairs{margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.page-home .metric-pair{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.page-home .metric-pair dt{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-secondary)}.page-home .metric-pair dd{margin:0;font-family:var(--font-sans);font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);line-height:1.1}.page-home .metric-pair .unit{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);margin-left:2px}.page-home .apps-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4)}@media (max-width: 720px){.page-home .metrics-grid{grid-template-columns:1fr}}.page-me .card{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column}.page-me .card-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle)}.page-me .card-row:last-child{border-bottom:0}.page-me .card-row-value.mono{font-family:var(--font-mono)}.page-wip .wip-card{background:var(--bg-elev-1);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-7);display:flex;flex-direction:column;gap:var(--space-3)}.page-wip .wip-text{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-primary);margin:0}.page-wip .back-link{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--signal-500);text-decoration:none}.page-wip .back-link:hover{color:var(--signal-400)}.page-login .auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--space-6)}.page-login .auth-container{width:100%;max-width:400px}.page-login .auth-header{text-align:center;margin-bottom:var(--space-8)}.page-login .auth-logo{height:48px;width:auto;margin:0 auto var(--space-4)}.page-login .auth-tagline{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-tertiary)}.page-login .auth-card{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-7)}.page-login .auth-title{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text-primary);margin:0 0 var(--space-6)}.page-login .form-group{margin-bottom:var(--space-5)}.page-login .form-label{display:block;font-family:var(--font-mono);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);margin-bottom:var(--space-2)}.page-login .input{width:100%;height:40px;padding:0 var(--space-4);font-family:var(--font-mono);font-size:var(--fs-md);color:var(--text-primary);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--dur-fast)}.page-login .input::placeholder{color:var(--text-tertiary)}.page-login .input:focus{outline:none;border-color:var(--signal-500)}.page-login .input:disabled{opacity:.6;cursor:not-allowed}.page-login .form-error{font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--status-danger);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:#e5484d1a;border:1px solid rgba(229,72,77,.3);border-radius:var(--radius-sm)}.page-login .btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;height:40px;padding:0 var(--space-5);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-medium);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast),border-color var(--dur-fast),opacity var(--dur-fast)}.page-login .btn:disabled{opacity:.6;cursor:not-allowed}.page-login .btn-primary:hover:not(:disabled){background:var(--signal-400)}.page-login .auth-footer{text-align:center;margin-top:var(--space-6);font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-tertiary)}.page-login .auth-footer a{color:var(--text-secondary);text-decoration:none}.page-login .auth-footer a:hover{color:var(--text-primary)}.page-blacklist-list .col-actions{width:64px;text-align:right}.page-blacklist-list .res-btn.icon-only{padding:0 var(--space-2)}.page-blacklist-list .dropzone{position:relative;display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-7) var(--space-4);cursor:pointer}.page-blacklist-list .dropzone-file-info{flex:1;min-width:0}.page-lead-pool-detail .meta-row{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.page-lead-pool-detail .meta-text{flex:1;min-width:0}.page-lead-pool-detail .ref-item:hover{background:var(--bg-elev-2)}.page-lead-pool-detail .schema-row-locked td{color:var(--text-secondary)}.page-lead-pool-detail .required-tag{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--signal-500)}.page-lead-pool-detail .lead-data-cell{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-lead-pool-detail .col-actions{width:64px;text-align:right;white-space:nowrap}.page-lead-pool-detail .schema-input{min-width:0}.page-lead-pool-detail .schema-required--locked{color:var(--signal-500)}.page-lead-pool-detail .res-btn.icon-only{padding:0 var(--space-2)}.page-lead-pool-detail .field-key{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);margin-left:var(--space-1)}.page-lead-pool-detail .upload-options{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2) var(--space-5);padding:var(--space-3) 0;margin-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle)}.page-lead-pool-detail .checkbox-row{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-primary);cursor:pointer}.page-lead-pool-detail .dropzone{position:relative;display:flex;align-items:center;justify-content:center;border:1.5px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-7) var(--space-4);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast)}.page-lead-pool-detail .dropzone-file-info{flex:1;min-width:0}.page-lead-pool-list .col-actions{width:80px;text-align:right}.page-lead-pool-list .res-btn.icon-only{padding:0 var(--space-2)}.page-lead-pool-new .schema-input{min-width:0}.page-lead-pool-new .schema-required--locked{color:var(--signal-500)}.page-lead-pool-new .res-btn.icon-only{padding:0 var(--space-2)}.page-line-detail .line-meta{display:flex;flex-direction:column;gap:var(--space-2);flex:1}.page-line-detail .line-actions{display:flex;gap:var(--space-3);flex-shrink:0}.page-line-new .required-mark{color:var(--signal-500);margin-right:var(--space-1)}.page-project-detail .stats-section .stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-4) var(--space-6)}.page-project-detail .stats-section .stat-cell{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.page-project-detail .stats-section .stat-cell--accent .stat-value{color:var(--signal-500)}.page-project-detail .stats-section .stat-value{font-family:var(--font-sans);font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--text-primary);line-height:1.1;white-space:nowrap}.page-project-detail .status-badge.danger{background:#e5484d26;color:var(--status-danger)}.page-project-detail .overview-card{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-5)}.page-project-detail .overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4) var(--space-6)}.page-project-detail .ov-field{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.page-project-detail .ov-field--full{grid-column:1 / -1}.page-project-detail .ov-value{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-primary);display:inline-flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.page-project-detail .ov-value--mono{font-family:var(--font-mono)}.page-project-detail .ov-link{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--signal-500);text-decoration:none}.page-project-detail .ov-link:hover{color:var(--signal-400);text-decoration:underline}.page-project-detail .ov-text{font-family:var(--font-sans);font-size:var(--fs-base);color:var(--text-primary);margin:0;line-height:1.6}.page-project-detail .ov-audio{width:100%;max-width:480px;margin-top:var(--space-2);height:32px}.page-project-detail .ov-warn{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--status-warn)}.page-project-detail .ov-tts-row{display:inline-flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2)}.page-project-detail .ov-chip{display:inline-flex;align-items:center;padding:0 var(--space-2);height:18px;font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--signal-500);border:1px solid var(--signal-600);border-radius:var(--radius-full)}.page-project-detail .main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:0 var(--space-6) var(--space-7);display:flex;flex-direction:column;gap:var(--space-5)}.page-project-detail .proj-sticky-head{position:sticky;top:64px;z-index:9;background:var(--bg);margin:0 calc(var(--space-6) * -1);padding:var(--space-5) var(--space-6) 0;display:flex;flex-direction:column;gap:var(--space-4)}.page-project-detail .proj-meta{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.page-project-detail .proj-actions{display:flex;gap:var(--space-2);flex-shrink:0}.page-project-detail .proj-title{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-sans);font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);margin:0;min-width:0}.page-project-detail .name-input{flex:1;min-width:0;max-width:480px;font-family:var(--font-sans);font-size:var(--fs-2xl);font-weight:var(--fw-medium);letter-spacing:var(--tracking-tight);color:var(--text-primary);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px 6px;outline:none;transition:border-color var(--dur-fast),background var(--dur-fast)}.page-project-detail .name-input:hover{border-color:var(--border-subtle)}.page-project-detail .name-static{font-family:var(--font-sans);font-size:var(--fs-2xl)}.page-project-detail .readonly-banner{background:#e8a33a14;border:1px solid rgba(232,163,58,.3);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--status-warn);margin:0}.page-project-detail .readonly-banner code{font-family:var(--font-mono);background:#0003;padding:1px 6px;border-radius:3px}.page-project-detail .alert{background:#e5484d14;border:1px solid rgba(229,72,77,.3);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--status-danger);margin:0}.page-project-detail .empty{background:var(--bg-elev-1);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-8);text-align:center;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--text-tertiary);margin-top:var(--space-7)}.page-project-detail .tab-panel{display:flex;flex-direction:column;gap:var(--space-5)}.page-project-detail .wip-card{background:var(--bg-elev-1);border:1px dashed var(--border);border-radius:var(--radius-sm);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}.page-project-detail .wip-title{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text-primary);margin:0}.page-project-detail .wip-text,.page-project-detail .wip-step{font-family:var(--font-sans);font-size:var(--fs-sm);margin:0}.page-project-detail .wip-text{color:var(--text-secondary)}.page-project-detail .wip-step{color:var(--text-tertiary)}.page-project-detail .wip-card code{font-family:var(--font-mono);font-size:var(--fs-xs);background:var(--bg-elev-2);padding:1px 6px;border-radius:3px;color:var(--text-secondary)}.page-project-detail .wip-code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--bg-elev-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--text-primary);margin:0}.page-project-detail .wip-link:hover{color:var(--signal-400)}.page-project-detail .leads-summary{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.page-project-detail .leads-summary-head code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);background:var(--bg-elev-2);padding:1px 6px;border-radius:3px}.page-project-detail .leads-pool-name{font-family:var(--font-sans);font-size:var(--fs-xl);font-weight:var(--fw-medium);color:var(--text-primary);margin:0}.page-project-detail .leads-pool-desc{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-secondary);margin:0}.page-project-detail .leads-stats{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-3);margin-top:var(--space-2)}.page-project-detail .lead-stat{background:var(--bg);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);display:flex;flex-direction:column;gap:4px}.page-project-detail .lead-stat-value{font-family:var(--font-sans);font-size:var(--fs-2xl);font-weight:var(--fw-medium);color:var(--text-primary);line-height:1.1}.page-project-detail .btn-sm{height:28px;padding:0 var(--space-3);font-size:var(--fs-xs)}.page-project-detail .runs-block{display:flex;flex-direction:column;gap:var(--space-5)}.page-project-detail .run-controls{background:var(--bg-elev-1);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-5);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4)}.page-project-detail .run-controls-head{display:flex;flex-direction:column;gap:var(--space-1)}.page-project-detail .run-controls-actions{display:flex;gap:var(--space-2)}.page-project-detail .runs-table th{text-align:left;padding:var(--space-3) var(--space-5);background:var(--bg-elev-2);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);font-weight:var(--fw-regular)}.page-project-detail .runs-table td{padding:var(--space-4) var(--space-5);color:var(--text-secondary)}.page-project-detail .runs-table .col-actions,.page-project-detail .runs-table .th-actions,.page-project-detail .runs-table .cell-actions{text-align:right;white-space:nowrap}.page-project-detail .row-actions{display:inline-flex;gap:var(--space-2);justify-content:flex-end}.page-project-detail .window-banner{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-elev-1);border:1px solid var(--border-subtle);border-left:3px solid var(--status-warn);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-secondary);margin:0}.page-project-detail .row-active{background:#1ab7740a}.page-project-detail .row-active td:first-child{border-left:2px solid var(--signal-500);padding-left:calc(var(--space-5) - 2px)}.page-project-detail .status-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-xs);padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.page-project-detail .btn{display:inline-flex;align-items:center;gap:var(--space-2);height:32px;padding:0 var(--space-4);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:var(--fw-medium);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast),opacity var(--dur-fast)}.page-project-detail .btn-primary:hover:not(:disabled){background:var(--signal-400)}.page-project-detail .btn-secondary{color:var(--text-secondary);border-color:var(--border);background:var(--bg-elev-1)}.page-project-detail .btn-ghost{color:var(--text-secondary);border-color:transparent;background:transparent}.page-project-detail .btn-danger{color:var(--status-danger);border-color:#e5484d66;background:transparent}.page-project-detail .btn-danger:hover:not(:disabled){background:#e5484d1a}.page-project-list .main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:var(--space-8) var(--space-6);display:flex;flex-direction:column;gap:var(--space-6)}.page-project-list .empty-link:hover{color:var(--signal-400)}.page-project-list .data-table th{text-align:left;padding:var(--space-4) var(--space-5);background:var(--bg-elev-2);border-bottom:1px solid var(--border-subtle);font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary);font-weight:var(--fw-regular)}.page-project-list .data-table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);vertical-align:middle}.page-project-list .data-table tr:last-child td{border-bottom:none}.page-project-list .row-link{cursor:pointer;transition:background var(--dur-fast)}.page-project-list .row-link:hover{background:var(--bg-elev-2)}.page-project-list .data-table .cell-primary{color:var(--text-primary)}.page-project-list .status-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:var(--fs-xs);padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:var(--tracking-wide, .04em)}.page-project-list .btn{display:inline-flex;align-items:center;gap:var(--space-2);height:40px;padding:0 var(--space-5);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:var(--fw-medium);border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:background var(--dur-fast),border-color var(--dur-fast)}.page-project-list .btn-sm{height:32px;padding:0 var(--space-4);font-size:var(--fs-sm)}.page-project-list .btn-primary:hover{background:var(--signal-400)}.page-project-new .form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5)}.page-project-new .form-row--3{grid-template-columns:1fr 1fr 1fr}.page-project-new .checkbox-row{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--text-primary)}.page-project-new .res-input-like{height:40px}.page-prompt-detail .prompt-name-readonly{font-family:var(--font-sans);font-size:var(--fs-3xl);font-weight:var(--fw-medium);color:var(--text-primary)}.page-prompt-detail .toolbar-meta{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--text-tertiary);margin-left:var(--space-4)}.page-prompt-detail .type-select{min-width:280px}.page-prompt-detail .ref-item:hover{background:var(--bg-elev-2)}.page-prompt-detail .layout.has-panel .ai-side{opacity:1}.page-prompt-list .head-left{display:inline-flex;align-items:center;gap:var(--space-4)}.page-prompt-list .filter-tabs{display:inline-flex;gap:var(--space-2)}.page-prompt-list .col-actions{width:80px;text-align:right}.page-prompt-list .res-btn.icon-only{padding:0 var(--space-2)}.page-prompt-new .meta-actions{display:inline-flex;gap:var(--space-3);flex-shrink:0}.page-prompt-new .type-select{min-width:280px}.page-prompt-new .layout.has-panel .ai-side{opacity:1}
