.topbar{height:48px;flex-shrink:0;background:var(--color-topbar);color:#fff;display:flex;gap:12px;align-items:center;padding:0 16px;border-bottom:1px solid rgba(255,255,255,.06)}.topbar-center{display:flex;justify-content:center;margin-inline:auto;min-width:0}.topbar-right{margin-left:auto}.topbar-brand{display:flex;align-items:center;gap:10px}.topbar-logo{width:28px;height:28px;border-radius:6px;flex-shrink:0;display:block;object-fit:cover}.topbar-title-block{display:flex;flex-direction:column;line-height:1.1}.topbar-title{font-size:13px;font-weight:600;letter-spacing:-.01em}.topbar-subtitle{font-size:9px;font-weight:500;color:#ffffff8c;text-transform:uppercase;letter-spacing:.12em;margin-top:1px}.topbar-right{display:flex;align-items:center;gap:10px;flex-wrap:nowrap;min-width:0}@media (max-width: 1280px){.topbar-trace-toggle{padding:0 10px;font-size:10px;letter-spacing:.04em}.topbar-right{gap:6px}}.stats-ticker{font-family:inherit;display:inline-flex;align-items:center;gap:18px;height:32px;padding:0 20px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:999px;color:#fff;cursor:pointer;line-height:1;font-variant-numeric:tabular-nums;transition:background .12s,border-color .12s}.stats-ticker:hover{background:#ffffff1a;border-color:#fff3}.ticker-item{display:inline-flex;align-items:center;gap:8px;font-size:12px}.ticker-icon{flex-shrink:0}.ticker-icon-cpu{color:#91afea}.ticker-icon-cost{color:#10b981}.ticker-label{color:#ffffffb3;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.ticker-value{font-weight:700;color:#fff;font-size:13px}.ticker-divider{width:1px;height:18px;background:#ffffff2e}.topbar-trace-toggle{font-family:inherit;white-space:nowrap;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;height:32px;padding:0 14px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#fffc;cursor:pointer;line-height:1;display:inline-flex;align-items:center;transition:background .12s,color .12s,border-color .12s}.topbar-trace-toggle:hover{background:#ffffff14;color:#fff}.topbar-trace-toggle.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.topbar-user{display:flex;align-items:center;gap:10px;height:32px;font-size:13px;padding:0 6px 0 14px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:#ffffff0a}.topbar-user-email{font-weight:500;color:#fff;line-height:1}.topbar-user-role{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:4px 9px;background:var(--color-accent);color:#fff;border-radius:999px;line-height:1}.topbar-signout{font-family:inherit;font-size:11px;height:24px;padding:0 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:transparent;color:#fff;cursor:pointer;display:inline-flex;align-items:center;line-height:1}.topbar-signout:hover{background:#ffffff1a}.dashboard{flex:1;min-height:0;overflow-y:auto;padding:22px 26px 60px;background:var(--color-bg);color:var(--color-text);font-family:Poppins,sans-serif;container-type:inline-size}.dashboard-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px;min-height:22px}.dashboard-meta-label{font-size:10px;font-weight:500;color:var(--color-muted);letter-spacing:.04em}.dashboard-meta-tag{font-size:9px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px;background:var(--color-accent-tint);color:var(--color-accent);border-radius:var(--radius-pill)}.dashboard-mock-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;margin-bottom:14px;background:var(--color-error-bg);border:1px solid #fecaca;border-radius:8px;color:#991b1b;font-size:12px;line-height:1.45}.dashboard-mock-banner svg{flex-shrink:0;color:var(--color-coral)}.dashboard-mock-banner strong{font-weight:700}.dashboard-refresh{width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-muted);border-radius:8px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}.dashboard-refresh:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent-border);background:var(--color-accent-tint)}.dashboard-refresh:disabled{opacity:.55;cursor:not-allowed}.dashboard-refresh.is-refreshing svg{animation:dashboard-spin .9s linear infinite}@keyframes dashboard-spin{to{transform:rotate(360deg)}}.dashboard-export{display:inline-flex;align-items:center;gap:8px}.dashboard-export-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:12px;height:30px;padding:0 28px 0 12px;border-radius:var(--radius-pill);cursor:pointer;transition:border-color .12s,color .12s;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 10px center}.dashboard-export-select:hover:not(:disabled){border-color:var(--color-accent-border);color:var(--color-accent)}.dashboard-export-select:disabled{opacity:.55;cursor:not-allowed}.dashboard-export-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:12px;font-weight:500;height:30px;padding:0 14px;border-radius:var(--radius-pill);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.dashboard-export-btn:hover:not(:disabled){border-color:var(--color-accent-border);color:var(--color-accent);background:var(--color-accent-tint)}.dashboard-export-btn:disabled{opacity:.55;cursor:not-allowed}.dashboard-export-error{margin:8px 0 0;font-size:11px;color:var(--color-error)}.dashboard-error{padding:16px;border:1px solid #fecaca;background:var(--color-error-bg);color:#991b1b;border-radius:var(--radius-card);font-size:13px;line-height:1.5}.dashboard-error-detail{color:#b91c1c;font-size:12px}.dashboard-error code{background:#dc262614;padding:1px 6px;border-radius:4px;font-family:JetBrains Mono,ui-monospace,monospace;font-size:11.5px}.filter-strip{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}.filter-strip h1{font-size:18px;font-weight:600;color:var(--color-heading);letter-spacing:-.01em;margin:0}.filter-strip h1 .muted{color:var(--color-muted);font-weight:400}.filter-strip .spacer{flex:1}.filter-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-family:inherit;font-size:12px;padding:6px 12px;border-radius:var(--radius-pill);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .12s}.filter-pill:hover:not(:disabled){border-color:var(--color-accent-border);color:var(--color-accent)}.filter-pill.active{background:var(--color-accent-tint);border-color:var(--color-accent-border);color:var(--color-accent);font-weight:600}.filter-pill .live-dot{width:6px;height:6px;border-radius:50%;background:var(--color-green-deep);box-shadow:0 0 #10b9818c;animation:dashboard-pulse 1.8s infinite}@keyframes dashboard-pulse{0%{box-shadow:0 0 #10b9818c}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:20px 22px;box-shadow:0 1px 0 var(--color-border),0 8px 22px -18px #1a1d3a1f;display:flex;flex-direction:column}.card-actions{margin-top:auto;padding-top:14px;display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-start}.eyebrow-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-heading)}.eyebrow-dot{width:4px;height:14px;border-radius:2px;background:var(--color-accent)}.eyebrow-row .spacer{flex:1}.eyebrow-meta{font-size:11px;color:var(--color-muted);font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.04em}.eyebrow-meta strong{color:var(--color-heading);font-weight:700}.metric-def-badge{display:inline-flex;align-items:center;align-self:flex-start;padding:1px 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-accent-tint, rgba(99, 102, 241, .08));color:var(--color-muted);font-size:10px;font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.02em;white-space:nowrap;cursor:help}.kpi-tile .lbl .lbl-info{margin-left:4px;color:var(--color-muted);font-size:11px;cursor:help}.card-title{font-size:16px;font-weight:600;color:var(--color-heading);letter-spacing:-.01em}.chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 7px;border-radius:var(--radius-pill);line-height:1.4}.chip-up{background:var(--color-accent-tint);color:var(--color-accent)}.chip-down{background:var(--color-coral-tint);color:#b91c1c}.chip-flat{background:#f3f4f6;color:var(--color-muted)}.chip-amber{background:var(--color-amber-tint);color:#b45309}.chip-green{background:var(--color-green-tint);color:#047857}.chip svg{width:11px;height:11px}.btn-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-heading);height:30px;padding:0 14px;border-radius:var(--radius-pill);font-size:12px;font-weight:500;cursor:pointer;transition:all .12s;font-family:inherit;display:inline-flex;align-items:center;gap:6px}.btn-pill:hover:not(:disabled){border-color:var(--color-accent-border);color:var(--color-accent);background:var(--color-accent-tint)}.btn-pill:disabled{opacity:.55;cursor:not-allowed}.btn-pill.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-pill.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.group-filter{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.group-filter-pill{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:all .12s}.group-filter-pill:hover{border-color:var(--color-accent-border);color:var(--color-accent)}.group-filter-pill-active-accent{border-color:var(--color-accent);background:var(--color-accent-tint);color:var(--color-accent);font-weight:600}.group-filter-pill-active-coral{border-color:var(--color-coral);background:var(--color-coral-tint);color:#b91c1c;font-weight:600}.group-filter-pill-active-amber{border-color:#f5d088;background:var(--color-amber-tint);color:#b45309;font-weight:600}.period-nav{display:inline-flex;align-items:center;gap:6px}.period-nav .arrow{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border-strong);color:var(--color-muted);width:24px;height:24px;border-radius:var(--radius-pill);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .12s;font-family:inherit;font-size:12px}.period-nav .arrow:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent-border);background:var(--color-accent-tint)}.period-nav .arrow:disabled{opacity:.4;cursor:not-allowed}.period-nav .label{font-size:12px;font-weight:600;color:var(--color-heading);min-width:80px;text-align:center}.person-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.person-chip{display:inline-flex;align-items:center;gap:6px;background:#fafafe;border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:3px 10px 3px 4px;font-size:12px;color:var(--color-heading)}.person-avatar{width:22px;height:22px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700}.person-avatar-accent{background:var(--color-accent-tint);color:var(--color-accent)}.person-avatar-coral{background:var(--color-coral-tint);color:var(--color-coral)}.person-name{white-space:nowrap}.kpi-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.kpi-strip .kpi-tile{padding:14px 16px 12px;display:flex;flex-direction:column;min-height:120px}.kpi-strip .lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);display:flex;align-items:center;gap:6px}.kpi-strip .lbl-icon{width:18px;height:18px;border-radius:6px;background:var(--color-accent-tint);color:var(--color-accent);display:inline-flex;align-items:center;justify-content:center}.kpi-strip .num-row{display:flex;align-items:baseline;gap:4px;margin-top:8px}.kpi-strip .num{font-size:30px;font-weight:700;color:var(--color-heading);letter-spacing:-.025em;line-height:1}.kpi-strip .num.accent{color:var(--color-accent)}.kpi-strip .num.amber{color:var(--color-amber)}.kpi-strip .num.coral{color:var(--color-coral)}.kpi-strip .num.green{color:var(--color-green-deep)}.kpi-strip .num.violet{color:var(--color-accent-2)}.kpi-strip .unit{font-size:14px;color:var(--color-muted);margin-left:2px;font-weight:600}.kpi-strip .num-sub{font-size:11px;color:var(--color-text-soft);margin-top:6px;font-weight:500}.kpi-strip .num-sub strong{color:var(--color-heading);font-weight:600}.kpi-strip .card-actions{padding-top:12px}.kpi-strip .kpi-btn{height:26px;padding:0 12px;font-size:11px}.kpi-strip .kpi-delta-row{display:flex;align-items:center;gap:6px;margin-top:10px}.kpi-strip .kpi-delta-row .chip{font-size:10px;padding:2px 8px;white-space:nowrap}.kpi-strip .kpi-delta-row .kpi-trend-vs{font-size:11px;color:var(--color-muted);font-weight:500}.kpi-strip .kpi-spark-row{margin-top:6px}.kpi-strip .kpi-spark-svg{display:block;width:100%;height:32px}.bill-hero{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(0,1.45fr);gap:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 1px 0 var(--color-border),0 8px 22px -18px #1a1d3a1f;overflow:hidden;margin-bottom:20px}.bill-left{padding:24px 24px 22px;border-right:1px solid var(--color-border)}.bill-right{padding:24px 24px 22px;position:relative;min-width:0}.bill-pct{font-size:64px;font-weight:700;line-height:.95;letter-spacing:-.03em;color:var(--color-heading);margin-top:6px}.bill-pct .sm{font-size:28px;color:var(--color-accent);margin-left:2px}.bill-pct-sub{font-size:11px;color:var(--color-muted);margin-top:8px;letter-spacing:.04em}.bill-divider{border-top:1px solid var(--color-border);margin:18px 0 14px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stat-block .stat-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:4px}.stat-block .stat-val{font-size:22px;font-weight:700;color:var(--color-heading);line-height:1}.stat-block .stat-val.accent{color:var(--color-accent)}.stat-block .stat-after{margin-top:6px}.forecast-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.forecast-block .fc-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent)}.forecast-block .fc-val{font-size:26px;font-weight:700;color:var(--color-accent);letter-spacing:-.02em;margin-top:2px;line-height:1}.forecast-block .fc-sub{font-size:11px;color:var(--color-muted);margin-top:2px}.bill-right-legend{position:absolute;top:24px;right:24px;display:flex;gap:18px;font-size:11px;color:var(--color-muted)}.legend-item{display:inline-flex;align-items:center;gap:6px}.legend-swatch{display:inline-block;width:18px;height:2px;background:var(--color-accent)}.legend-swatch.dashed{background-image:linear-gradient(to right,var(--color-coral) 50%,transparent 50%);background-size:6px 100%;background-color:transparent}.bill-empty{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px;font-size:12px;color:var(--color-muted);font-style:italic}.bill-right svg{display:block;width:100%;height:auto;margin-top:32px}.small-italic{font-style:italic;color:var(--color-muted);font-size:11px;margin-top:14px}.mid-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,1fr);gap:16px;margin-bottom:20px;align-items:stretch}.headcount-card{display:flex;flex-direction:column;gap:18px}.headcount-top{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:36px;align-items:end}.headcount-summary .headline-num{font-size:52px;font-weight:700;line-height:1;letter-spacing:-.025em;color:var(--color-heading);margin-top:4px}.headcount-summary .headline-num .unit{font-size:18px;color:var(--color-muted);margin-left:4px;font-weight:600}.headcount-summary .period-lbl{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-top:6px}.compare-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.compare-cell .lbl{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:4px}.compare-cell .val{font-size:18px;font-weight:700;color:var(--color-heading);line-height:1}.compare-cell .val.accent{color:var(--color-accent)}.compare-cell .val-sub{font-size:10px;color:var(--color-muted);margin-top:2px}.compare-cell .delta{margin-top:5px}.headcount-chart-row{border-top:1px solid var(--color-border);padding-top:14px;flex:1;display:flex;flex-direction:column;justify-content:center;min-height:180px}.headcount-chart-row svg{display:block;width:100%;height:auto;max-height:100%}.headcount-chart-empty{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--color-muted);font-style:italic}.donut-stacked-row{margin-top:14px;padding-top:12px;border-top:1px dashed var(--color-border)}.donut-stacked-title{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:6px}.donut-stacked-svg{display:block;width:100%;height:auto;max-height:110px}.donut-card{display:flex;flex-direction:column}.donut-body{display:flex;flex-direction:column;align-items:stretch;margin-top:8px;flex:1;gap:14px}.donut-svg-wrap{display:flex;align-items:center;justify-content:center;padding:4px 0 0}.donut-svg-wrap svg{filter:drop-shadow(0 6px 14px rgba(99,102,241,.18))}.donut-legend{display:flex;flex-direction:column;font-size:13px}.donut-legend .row{display:grid;grid-template-columns:14px 1fr auto auto;gap:8px;align-items:center;padding:9px 4px;border-bottom:1px solid var(--color-border);white-space:nowrap}.donut-legend .row:last-child{border-bottom:none}.donut-legend .row .swatch{width:10px;height:10px;border-radius:3px;justify-self:center}.donut-legend .row .name{color:var(--color-heading);font-weight:500}.donut-legend .row .num{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--color-heading);font-weight:700;font-size:13px}.donut-legend .row .pct{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--color-muted);font-weight:500;font-size:11px;min-width:48px;text-align:right}.donut-legend .row.sub{padding:6px 4px 6px 18px;border-bottom:1px dashed var(--color-border)}.donut-legend .row.sub .swatch.sub-swatch{width:7px;height:7px;border-radius:2px;opacity:.55}.donut-legend .row.sub .name{color:var(--color-muted);font-weight:500;font-size:12px}.donut-legend .row.sub .num{font-size:12px;font-weight:600;color:var(--color-muted)}.donut-legend .row.alloc{grid-template-columns:14px 1fr auto;background:var(--color-green-tint);border:1px solid #a7f3d0;border-radius:10px;margin-top:8px;padding:10px 12px}.donut-legend .row.alloc .name{color:#065f46;font-weight:600}.donut-legend .row.alloc .num{color:#047857}.composition-card{padding:22px 24px 18px;margin-bottom:20px}.composition-card .comp-head-row{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px;gap:16px;flex-wrap:wrap}.composition-card .comp-head-row .left h3{font-size:16px;font-weight:600;color:var(--color-heading);letter-spacing:-.01em;margin:4px 0 0}.composition-table{width:100%;border-collapse:collapse;border:1px solid var(--color-border);border-radius:10px;overflow:hidden}.composition-table th{text-align:right;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);padding:12px 10px;background:#fafafe;border-bottom:1px solid var(--color-border);white-space:nowrap}.composition-table th:first-child{text-align:left;padding-left:18px}.composition-table th.forecast{color:var(--color-accent-2)}.composition-table th.now{color:var(--color-accent)}.composition-table td{padding:12px 10px;text-align:right;border-bottom:1px solid var(--color-border);font-size:13px;color:var(--color-text);font-variant-numeric:tabular-nums}.composition-table tr:last-child td{border-bottom:none}.composition-table td:first-child{text-align:left;padding-left:18px;font-weight:500;color:var(--color-heading)}.composition-table td.now{font-weight:700;color:var(--color-heading)}.composition-table td.forecast{color:var(--color-accent-2)}.composition-table td.avg{font-weight:700;color:var(--color-accent)}.composition-table .cat-cell{display:flex;align-items:center;gap:12px}.composition-table .cat-bar{display:inline-block;width:4px;height:22px;border-radius:2px}.composition-footnote{font-style:italic;font-size:11px;color:var(--color-muted);margin-top:10px}.composition-empty{text-align:center;padding:24px 0;font-size:13px;color:var(--color-muted);font-style:italic}.health-row{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:16px;margin-bottom:20px}.util-card .body{display:grid;grid-template-columns:auto 1fr;gap:22px;align-items:center;margin-top:10px}.util-gauge{position:relative;display:flex;align-items:center;justify-content:center}.util-gauge svg{filter:drop-shadow(0 6px 14px rgba(16,185,129,.22))}.util-stats{display:grid;gap:4px;font-size:13px}.util-stats .r{display:grid;grid-template-columns:10px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid var(--color-border)}.util-stats .r:last-child{border-bottom:none}.util-stats .r .dot{width:8px;height:8px;border-radius:50%;background:var(--color-faint);justify-self:center}.util-stats .r.green .dot{background:var(--color-green-deep)}.util-stats .r.coral .dot{background:var(--color-coral)}.util-stats .r .lbl-txt{color:var(--color-text);font-weight:500}.util-stats .r .v{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700;color:var(--color-heading)}.util-stats .r.green .v{color:#047857}.util-stats .r.coral .v{color:var(--color-coral)}.overalloc-card .big-num{font-size:48px;font-weight:700;color:var(--color-coral);line-height:1;letter-spacing:-.025em;margin-top:6px}.overalloc-card .big-num .unit{font-size:16px;color:var(--color-muted);margin-left:4px;font-weight:600}.overalloc-card .body-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.overalloc-card .stat-tile{flex:1;background:var(--color-coral-tint);border:1px solid #fecaca;border-radius:10px;padding:8px 10px}.overalloc-card .stat-tile .ltxt{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b91c1c}.overalloc-card .stat-tile .vtxt{font-size:18px;font-weight:700;color:var(--color-coral);margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace}.discount-card{background:var(--color-surface);border:1px solid var(--color-border)}.discount-card .big-num{font-size:48px;font-weight:700;color:var(--color-amber);letter-spacing:-.025em;line-height:1;margin-top:6px}.discount-card .big-num .unit{font-size:16px;color:var(--color-muted);margin-left:4px;font-weight:600}.overalloc-card .desc,.discount-card .desc{font-size:11px;color:var(--color-muted);margin-top:6px;max-width:36ch;line-height:1.4;min-height:calc(11px * 1.4 * 2)}.discount-card .body-row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}.discount-card .stat-tile{flex:1;background:var(--color-amber-tint);border:1px solid #fde6c1;border-radius:10px;padding:8px 10px}.discount-card .stat-tile .ltxt{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#b45309}.discount-card .stat-tile .vtxt{font-size:18px;font-weight:700;color:var(--color-amber);margin-top:2px;font-family:JetBrains Mono,ui-monospace,monospace}.billed-card{padding:22px 24px 20px;margin-bottom:20px}.billed-points{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:14px}.billed-point{background:#fafafe;border:1px solid var(--color-border);border-radius:12px;padding:10px 12px}.billed-point.now{background:var(--color-accent-tint);border-color:var(--color-accent-border)}.billed-point.forecast{background:var(--color-surface);border-style:dashed;border-color:var(--color-accent-border)}.billed-point .pp-lbl{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.billed-point.now .pp-lbl{color:var(--color-accent)}.billed-point .pp-val{font-size:22px;font-weight:700;color:var(--color-heading);margin-top:4px;letter-spacing:-.02em}.billed-point.now .pp-val{color:var(--color-accent)}.billed-point.forecast .pp-val{color:var(--color-accent-2)}.billed-point .pp-sub{font-size:10px;color:var(--color-muted);margin-top:2px}.billed-point.forecast .pp-sub{color:var(--color-accent-2);font-style:italic}.billed-chart-row{margin-top:18px;padding-top:14px;border-top:1px dashed var(--color-border)}.billed-chart-svg{width:100%;height:auto;display:block}.trio-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.proj-list{margin-top:12px;display:flex;flex-direction:column;gap:8px}.proj-row{display:grid;grid-template-columns:32px 1fr auto;grid-template-rows:auto auto;column-gap:12px;row-gap:8px;align-items:center;padding:12px 14px;border-radius:10px;background:#fafafe;border:1px solid var(--color-border);position:relative;overflow:hidden}.proj-row .proj-av{grid-column:1;grid-row:1 / 3;align-self:center}.proj-row .proj-main{grid-column:2;grid-row:1;min-width:0}.proj-row .proj-meta{grid-column:3;grid-row:1}.proj-row .proj-bar{grid-column:2 / 4;grid-row:2;margin-top:0}.proj-row:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--color-faint)}.proj-row.urgency-now:before{background:var(--color-coral)}.proj-row.urgency-soon:before{background:var(--color-amber)}.proj-row.urgency-later:before{background:var(--color-accent)}.proj-row.urgency-future:before{background:var(--color-green-deep)}.proj-row .proj-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:11px;color:var(--color-accent);background:var(--color-accent-tint)}.proj-row.starting .proj-av{color:#047857;background:var(--color-green-tint)}.proj-row.ending .proj-av{color:#b91c1c;background:var(--color-coral-tint)}.proj-row .proj-main{min-width:0}.proj-name{font-size:13px;font-weight:600;color:var(--color-heading);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-sub{font-size:11px;color:var(--color-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.proj-bar{height:4px;background:var(--color-border);border-radius:2px;margin-top:8px;overflow:hidden}.proj-bar>span{display:block;height:100%;border-radius:2px;background:var(--color-accent)}.proj-row.ending .proj-bar>span{background:var(--color-coral)}.proj-row.starting .proj-bar>span{background:var(--color-green-deep)}.proj-meta{text-align:right;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;color:var(--color-heading);font-weight:700;white-space:nowrap}.proj-meta .fte-unit{color:var(--color-muted);font-weight:500;font-size:10px;margin-left:2px}.proj-meta .date-chip{display:inline-flex;align-items:center;gap:3px;font-family:inherit;font-size:10px;font-weight:600;letter-spacing:.02em;padding:2px 7px;border-radius:var(--radius-pill);margin-top:6px}.proj-meta .date-chip.urgency-now{background:var(--color-coral-tint);color:#b91c1c}.proj-meta .date-chip.urgency-soon{background:var(--color-amber-tint);color:#b45309}.proj-meta .date-chip.urgency-later{background:var(--color-accent-tint);color:var(--color-accent)}.proj-meta .date-chip.urgency-future{background:var(--color-green-tint);color:#047857}.proj-empty{font-size:12px;color:var(--color-muted);font-style:italic;padding:14px 0}.pipeline-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.pipe-card .pipe-head-row{display:flex;align-items:center;gap:10px;margin-bottom:6px}.pipe-card .pipe-eyebrow-icon{width:22px;height:22px;border-radius:7px;display:inline-flex;align-items:center;justify-content:center}.pipe-card.won .pipe-eyebrow-icon{background:var(--color-green-tint);color:#047857}.pipe-card.pend .pipe-eyebrow-icon{background:var(--color-amber-tint);color:#b45309}.pipe-card .pipe-title{font-size:13px;font-weight:600;color:var(--color-heading)}.pipe-card .pipe-spacer{flex:1}.pipe-card .pipe-rate{font-size:10px;color:var(--color-muted);font-family:JetBrains Mono,ui-monospace,monospace;letter-spacing:.06em}.pipe-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:18px;margin-top:6px;align-items:stretch}.pipe-left{display:flex;flex-direction:column}.pipe-right{display:flex;flex-direction:column;justify-content:center;padding-left:14px;border-left:1px solid var(--color-border)}.pipe-total .num{font-size:40px;font-weight:700;color:var(--color-heading);letter-spacing:-.025em;line-height:1}.pipe-card.won .pipe-total .num{color:#047857}.pipe-card.pend .pipe-total .num{color:#b45309}.pipe-total .num .cur{font-size:22px;margin-right:4px;opacity:.7}.pipe-total .num .scale{font-size:22px;color:var(--color-muted);margin-left:2px;font-weight:600}.pipe-total .approx{font-size:11px;color:var(--color-muted);margin-top:8px}.pipe-deals{display:flex;flex-direction:column;gap:6px;margin-top:14px}.pipe-deals .row{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--color-text)}.pipe-deals .row strong{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700;color:var(--color-heading);font-size:14px}.pipe-deals .row .lbl{color:var(--color-muted);font-size:11px}.pipe-mix-label{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);margin-bottom:8px}.pipe-mix-bar{display:flex;height:36px;border-radius:10px;overflow:hidden;background:var(--color-border);box-shadow:inset 0 0 0 1px var(--color-border)}.pipe-mix-seg{display:flex;align-items:center;justify-content:flex-start;padding:0 10px;color:#fff;font-family:JetBrains Mono,ui-monospace,monospace;font-weight:700;font-size:12px;white-space:nowrap;min-width:0}.pipe-mix-seg .ccy-code{font-weight:500;opacity:.7;margin-right:5px;font-size:11px}.pipe-card.won .pipe-mix-seg.s0{background:#10b981}.pipe-card.won .pipe-mix-seg.s1{background:#34d399}.pipe-card.won .pipe-mix-seg.s2{background:#6ee7b7;color:#065f46}.pipe-card.won .pipe-mix-seg.s3{background:#a7f3d0;color:#065f46}.pipe-card.pend .pipe-mix-seg.s0{background:#d97706}.pipe-card.pend .pipe-mix-seg.s1{background:#f59e0b}.pipe-card.pend .pipe-mix-seg.s2{background:#fbbf24;color:#78350f}.pipe-card.pend .pipe-mix-seg.s3{background:#fcd34d;color:#78350f}.pipe-mix-legend{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px;font-size:11px;color:var(--color-text)}.pipe-mix-legend .li{display:inline-flex;align-items:center;gap:6px}.pipe-mix-legend .sw{width:8px;height:8px;border-radius:2px}.pipe-mix-legend .li strong{font-family:JetBrains Mono,ui-monospace,monospace;color:var(--color-heading);font-weight:700}.pair-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.compact-pair .top{display:flex;align-items:baseline;gap:10px;margin-top:8px}.compact-pair .top .big{font-size:32px;font-weight:700;line-height:1;letter-spacing:-.02em}.compact-pair.joiners .top .big{color:var(--color-accent)}.compact-pair.leavers .top .big{color:var(--color-coral)}.compact-pair .top .period-pill{font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-muted)}.compact-pair .top .spacer{flex:1}.compact-pair .filter-row{display:flex;align-items:center;gap:10px;margin-top:12px;padding-top:10px;border-top:1px dashed var(--color-border);flex-wrap:wrap}.compact-pair .filter-row .lab{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted)}.compact-pair .empty-list{font-size:12px;color:var(--color-muted);font-style:italic;margin-top:12px}.bench-card{padding:22px 24px 20px;margin-bottom:20px}.bench-header{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.bench-header .spacer{flex:1}.bench-summary{display:flex;gap:18px;margin:14px 0 12px}.bench-summary .stat{display:flex;flex-direction:column}.bench-summary .stat .v{font-size:24px;font-weight:700;color:var(--color-heading);letter-spacing:-.02em;line-height:1}.bench-summary .stat .v.amber{color:var(--color-amber)}.bench-summary .stat .v.coral{color:var(--color-coral)}.bench-summary .stat .l{font-size:11px;color:var(--color-muted);margin-top:4px}.bench-filters{display:flex;flex-direction:column;gap:8px;margin:8px 0 14px;padding:12px 14px;background:#fafafe;border:1px solid var(--color-border);border-radius:12px}.bench-filters .frow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.bench-filters .frow .lab{font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-muted);min-width:56px}.bench-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}.bench-row{display:grid;grid-template-columns:36px 1fr auto;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:10px;background:#fafafe;border:1px solid var(--color-border)}.bench-row .av{width:36px;height:36px;border-radius:50%;background:var(--color-accent-tint);color:var(--color-accent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:12px}.bench-row.stale .av{background:var(--color-coral-tint);color:var(--color-coral)}.bench-row .main{min-width:0}.bench-row .nm{font-size:13px;font-weight:600;color:var(--color-heading);line-height:1.2}.bench-row .role{font-size:11px;color:var(--color-muted);margin-top:2px}.bench-row .last{font-size:11px;color:var(--color-text);margin-top:6px}.bench-row .last em{color:var(--color-muted);font-style:normal}.bench-row .badges{display:flex;gap:4px;margin-top:6px;flex-wrap:wrap}.bench-row .badge{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:4px}.bench-row .badge.stale{background:var(--color-coral-tint);color:#b91c1c}.bench-row .badge.new{background:var(--color-green-tint);color:#047857}.bench-row .badge.cat{background:var(--color-accent-tint);color:var(--color-accent)}.bench-row .badge.p0{background:var(--color-amber-tint);color:#b45309}.bench-row .allocbar{margin-top:6px}.bench-row .allocbar-track{height:4px;border-radius:2px;background:var(--color-amber-tint);overflow:hidden}.bench-row .allocbar-fill{height:100%;border-radius:2px;background:var(--color-accent)}.bench-row .manager{font-size:11px;color:var(--color-muted);margin-top:4px}.bench-row .days{text-align:right;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-weight:700;color:var(--color-heading);white-space:nowrap}.bench-row .days .lbl{display:block;font-size:9px;font-weight:500;color:var(--color-muted)}.bench-row.stale .days{color:var(--color-coral)}.bench-row.planned .days{color:var(--color-accent)}.forecast-trend-row{margin:4px 0 16px;padding:10px 0;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.forecast-trend-svg{width:100%;height:56px;display:block}.forecast-table{display:flex;flex-direction:column}.forecast-table-head,.forecast-table-row{display:grid;grid-template-columns:1.2fr 1fr .6fr .6fr 1fr;align-items:center;gap:8px;padding:7px 2px}.forecast-table-head{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);border-bottom:1px solid var(--color-border)}.forecast-table-row{font-size:12px;color:var(--color-text);border-bottom:1px solid var(--color-border)}.forecast-table-row:last-child{border-bottom:none}.forecast-table-row .num{font-family:JetBrains Mono,ui-monospace,monospace;font-weight:600;color:var(--color-heading)}.forecast-table-row .num.amber{color:var(--color-amber)}.bench-empty{text-align:center;padding:24px 0;font-size:13px;color:var(--color-muted)}.bench-more{display:flex;align-items:center;gap:8px;margin-top:10px}.bench-more .spacer{flex:1}.bench-more-count{font-size:11px;color:var(--color-muted)}.bench-more-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:11px;font-weight:500;padding:4px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:all .12s}.bench-more-btn:hover{border-color:var(--color-amber);color:var(--color-amber)}.dashboard-skeleton{display:flex;flex-direction:column;gap:22px}.skeleton-section{display:flex;flex-direction:column;gap:12px}.skeleton-eyebrow{width:120px;height:12px;border-radius:4px;background:var(--color-border)}.skeleton-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skeleton-card{height:110px;border-radius:var(--radius-card);background:var(--color-surface);border:1px solid var(--color-border);position:relative;overflow:hidden}.skeleton-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0%,rgba(99,102,241,.06) 50%,transparent 100%);animation:skeleton-shimmer 1.4s infinite}@keyframes skeleton-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@container (max-width: 1100px){.kpi-strip{grid-template-columns:repeat(3,1fr)}}@container (max-width: 900px){.kpi-strip{grid-template-columns:repeat(2,1fr)}.health-row,.mid-row,.pipeline-row,.pair-row,.trio-row{grid-template-columns:1fr}.billed-points{grid-template-columns:repeat(2,1fr)}.bench-list,.bill-hero{grid-template-columns:1fr}.bill-left{border-right:none;border-bottom:1px solid var(--color-border)}.stat-grid{grid-template-columns:repeat(2,1fr)}}@container (max-width: 600px){.kpi-strip{grid-template-columns:1fr}.compare-strip{grid-template-columns:repeat(2,1fr)}.headcount-top{grid-template-columns:1fr;gap:18px}.billed-points{grid-template-columns:1fr}}.bbc-card{padding:22px 24px 18px;margin-bottom:20px}.bbc-card .eyebrow-row{margin-bottom:14px}.bbc-table td .bbc-sub{font-size:11px;color:var(--color-muted);font-weight:400;margin-left:4px}.bbc-table tr.bbc-total td{font-weight:700;color:var(--color-heading);background:#fafafe;border-top:1px solid var(--color-border)}.bbc-note{font-style:italic;font-size:11px;color:var(--color-muted);margin-top:10px}.bbc-table tr.bbc-sub-row td{font-size:12px;color:var(--color-muted);background:#fcfcff}.bbc-table tr.bbc-sub-row td:first-child{padding-left:34px;font-weight:400}.bbc-sub-tick{color:var(--color-border);margin-right:6px;font-size:11px}.bill-info{position:relative;margin-left:8px;color:var(--color-muted);font-size:13px;cursor:help;line-height:1}.bill-info:hover,.bill-info:focus-visible{color:var(--color-accent)}.bill-info .bill-info-pop{display:none;position:absolute;top:calc(100% + 8px);left:-12px;z-index:30;width:340px;padding:14px 16px;background:var(--color-surface, #fff);border:1px solid var(--color-border);border-radius:10px;box-shadow:0 8px 28px #1a1d3a24;font-family:Poppins,sans-serif;font-size:12px;font-weight:400;line-height:1.5;color:var(--color-text);text-transform:none;letter-spacing:normal;white-space:normal}.bill-info:hover .bill-info-pop,.bill-info:focus-visible .bill-info-pop{display:block}.bill-info-pop strong{color:var(--color-heading)}.bill-info-pop ul{margin:8px 0;padding-left:16px}.bill-info-pop li{margin-bottom:4px}.bill-info-pop em{color:var(--color-muted)}.chat-panel{--lg-paper: var(--color-surface);--lg-paper-deep: #f6f7fd;--lg-ink: var(--color-text);--lg-ink-strong: var(--color-heading);--lg-ink-soft: var(--color-text-soft);--lg-ink-faint: var(--color-muted);--lg-hairline: var(--color-border);--lg-hairline-strong: var(--color-border-strong);--lg-accent: var(--color-accent);--lg-accent-tint: var(--color-accent-tint);--lg-accent-soft: rgba(99, 102, 241, .08);--lg-user: var(--color-accent);--lg-user-tint: var(--color-accent-tint);--lg-violet: var(--color-accent-2);--lg-running: var(--color-amber);--lg-running-tint: rgba(245, 158, 11, .12);--lg-error: var(--color-error);--lg-error-tint: var(--color-error-bg);--lg-font-display: "Poppins", sans-serif;--lg-font-body: "Poppins", sans-serif;--lg-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lg-ease-out: cubic-bezier(.22, 1, .36, 1);--lg-ease-spring: cubic-bezier(.34, 1.56, .64, 1);position:relative;display:flex;flex-direction:column;background:var(--lg-paper);border-left:1px solid var(--lg-hairline);min-height:0;font-family:var(--lg-font-body);color:var(--lg-ink);font-variant-ligatures:common-ligatures}.chat-panel .chat-header{display:flex;align-items:center;gap:9px;padding:0 16px;height:44px;border-bottom:1px solid var(--lg-hairline);background:linear-gradient(to bottom,rgba(26,29,58,.015),transparent 60%),var(--lg-paper);flex-shrink:0}.chat-panel .chat-status-dot{width:7px;height:7px;border-radius:50%;background:var(--lg-accent);flex-shrink:0;box-shadow:0 0 0 3px var(--lg-accent-soft);animation:lg-breathe 2.8s ease-in-out infinite}.chat-panel .chat-title{font-family:var(--lg-font-display);font-size:14px;font-weight:600;letter-spacing:.01em;color:var(--lg-ink-strong)}.chat-panel .chat-status-label{margin-left:auto;font-family:var(--lg-font-body);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--lg-ink-faint)}.chat-panel .chat-header-actions{display:flex;align-items:center;gap:5px;margin-left:10px}.chat-panel .chat-header-btn{width:25px;height:25px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--lg-hairline);background:transparent;color:var(--lg-ink-soft);border-radius:50%;cursor:pointer;transition:color .18s var(--lg-ease-out),border-color .18s var(--lg-ease-out),background .18s var(--lg-ease-out),transform .25s var(--lg-ease-spring)}.chat-panel .chat-header-btn:hover{color:var(--lg-accent);border-color:var(--color-accent-border);background:var(--lg-accent-tint);transform:translateY(-1px)}.chat-panel .chat-header-btn:active{transform:translateY(0)}.chat-panel .messages{flex:1;overflow-y:auto;padding:20px 18px 24px;display:flex;flex-direction:column;gap:18px;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.chat-panel .message,.chat-panel .messages>.download-cards{animation:lg-rise .42s var(--lg-ease-out) backwards}.chat-panel .message-parts>*{animation:lg-rise .42s var(--lg-ease-out) backwards}.chat-panel .message-parts>*:nth-child(2){animation-delay:60ms}.chat-panel .message-parts>*:nth-child(3){animation-delay:.12s}.chat-panel .message-parts>*:nth-child(4){animation-delay:.18s}.chat-panel .message-parts>*:nth-child(5){animation-delay:.24s}.chat-panel .message-parts>*:nth-child(n+6){animation-delay:.3s}.chat-panel .message{display:flex;flex-direction:column;gap:3px;max-width:100%}.chat-panel .message-parts{display:flex;flex-direction:column;gap:8px;min-width:0}.chat-panel .message-user{align-self:flex-end;align-items:flex-end;max-width:82%}.chat-panel .message-user .message-parts{align-items:flex-end;gap:4px}.chat-panel .message-user .message-parts:before{content:"YOU";font-family:var(--lg-font-body);font-size:8px;font-weight:600;letter-spacing:.22em;color:var(--lg-user);padding-right:2px}.chat-panel .bubble-user{background:var(--lg-user-tint);border-left:2px solid var(--lg-user);border-radius:4px 10px 10px 4px;color:var(--lg-ink);font-family:var(--lg-font-body);font-size:12.5px;font-weight:400;line-height:1.55;padding:8px 12px 9px;white-space:pre-wrap;word-break:break-word;text-align:left;box-shadow:0 1px 2px #1a1d3a0a}.chat-panel .via-widget{font-family:var(--lg-font-body);font-size:9px;font-style:italic;color:var(--lg-ink-faint);padding:0 4px;letter-spacing:.03em}.chat-panel .message-assistant{align-self:stretch;align-items:stretch;width:100%;max-width:100%}.chat-panel .bubble{font-size:12.5px;line-height:1.6;word-break:break-word}.chat-panel .bubble-assistant{background:transparent;border:none;border-radius:0;padding:2px 2px 0;color:var(--lg-ink);font-family:var(--lg-font-body);font-size:13px;line-height:1.68;max-width:68ch;white-space:normal}.chat-panel .bubble-assistant.thinking{font-family:var(--lg-font-body);font-style:italic;font-size:13px;color:var(--lg-ink-faint)}.chat-panel .bubble-assistant.thinking:after{content:"";display:inline-block;width:2px;height:.95em;margin-left:4px;vertical-align:-.12em;background:var(--lg-running);animation:lg-caret 1.1s steps(2,start) infinite}.chat-panel .bubble-error{background:var(--lg-error-tint);border:1px solid rgba(220,38,38,.25);border-left:2px solid var(--lg-error);border-radius:4px 10px 10px 4px;color:var(--lg-error);padding:8px 12px}.chat-panel .is-streaming-text .markdown>*:last-child:after{content:"";display:inline-block;width:1.5px;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--lg-accent);animation:lg-caret 1.1s steps(2,start) infinite}.chat-panel .markdown>*:first-child{margin-top:0}.chat-panel .markdown>*:last-child{margin-bottom:0}.chat-panel .markdown p{margin:0 0 .65em}.chat-panel .markdown p:last-child{margin-bottom:0}.chat-panel .markdown h1,.chat-panel .markdown h2,.chat-panel .markdown h3,.chat-panel .markdown h4{font-family:var(--lg-font-display);color:var(--lg-ink-strong);line-height:1.25;margin:1em 0 .45em;letter-spacing:.005em}.chat-panel .markdown h1{font-size:16px;font-weight:600}.chat-panel .markdown h2{font-size:14px;font-weight:600}.chat-panel .markdown h3{font-size:13px;font-weight:600}.chat-panel .markdown h4{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--lg-ink-soft)}.chat-panel .markdown h1,.chat-panel .markdown h2{position:relative;padding-bottom:7px}.chat-panel .markdown h1:after,.chat-panel .markdown h2:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--lg-hairline-strong);transform-origin:left center;animation:lg-rule-draw .7s var(--lg-ease-out) .12s both}.chat-panel .markdown ul,.chat-panel .markdown ol{margin:0 0 .65em 1.15em;padding:0}.chat-panel .markdown li{margin-bottom:.2em}.chat-panel .markdown li::marker{color:var(--lg-ink-faint)}.chat-panel .markdown li>p{margin:0}.chat-panel .markdown a{color:var(--lg-accent);text-decoration:underline;text-decoration-color:#6366f166;text-underline-offset:2px;transition:text-decoration-color .15s ease}.chat-panel .markdown a:hover{text-decoration-color:var(--lg-accent)}.chat-panel .markdown strong{color:var(--lg-ink-strong);font-weight:600}.chat-panel .markdown em{font-style:italic}.chat-panel .markdown code{font-family:var(--lg-font-mono);font-size:11px;font-variant-numeric:tabular-nums;background:var(--lg-paper-deep);color:var(--lg-ink);padding:1px 5px;border-radius:4px;border:1px solid var(--lg-hairline)}.chat-panel .markdown pre{background:var(--lg-paper-deep);border:1px solid var(--lg-hairline);border-radius:var(--radius-sm);padding:9px 11px;margin:.4em 0 .85em;overflow-x:auto}.chat-panel .markdown pre code{background:transparent;padding:0;border:none;font-size:11px}.chat-panel .markdown blockquote{border-left:2px solid var(--color-accent-border);background:transparent;padding:2px 0 2px 12px;margin:.5em 0 .85em;color:var(--lg-ink-soft);font-family:var(--lg-font-body);font-style:italic}.chat-panel .markdown table{border-collapse:collapse;margin:.5em 0 .9em;font-size:11px;width:auto;max-width:100%}.chat-panel .markdown th,.chat-panel .markdown td{border:none;border-bottom:1px solid var(--lg-hairline);padding:5px 10px 5px 0;text-align:left;font-variant-numeric:tabular-nums}.chat-panel .markdown td{font-family:var(--lg-font-mono);font-size:10.5px;color:var(--lg-ink)}.chat-panel .markdown th{background:transparent;font-family:var(--lg-font-body);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--lg-ink-soft);border-bottom:2px solid var(--lg-hairline-strong)}.chat-panel .markdown tr:last-child td{border-bottom:1px solid var(--lg-hairline-strong)}.chat-panel .markdown hr{border:none;border-top:1px solid var(--lg-hairline);margin:1em 0}.chat-panel .reasoning{background:var(--lg-paper-deep);border:none;border-left:2px solid var(--lg-violet);border-radius:0 var(--radius-sm) var(--radius-sm) 0;overflow:hidden;max-width:68ch;transition:background .25s ease}.chat-panel .reasoning-head{display:flex;align-items:center;gap:8px;width:100%;border:none;background:transparent;cursor:pointer;padding:7px 12px;font-family:var(--lg-font-body);font-size:9.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--lg-ink-soft);text-align:left}.chat-panel .reasoning-head:hover{background:#1a1d3a06}.chat-panel .reasoning.is-streaming .reasoning-head{color:var(--lg-violet)}.chat-panel .reasoning-spark{display:inline-flex;width:6px;height:6px;border-radius:50%;background:var(--lg-hairline-strong);flex:0 0 auto;transition:background .25s ease}.chat-panel .reasoning.is-streaming .reasoning-spark{background:var(--lg-violet);animation:lg-breathe 1.6s ease-in-out infinite}.chat-panel .reasoning-label{display:inline-flex;align-items:center;gap:7px}.chat-panel .reasoning-toggle{margin-left:auto;color:var(--lg-ink-faint);font-size:9px}.chat-panel .reasoning-dots{display:inline-flex;gap:3px;align-items:center}.chat-panel .reasoning-dots i{width:2.5px;height:2.5px;border-radius:50%;background:var(--lg-violet);opacity:.35;animation:lg-dot-pulse 1.2s infinite ease-in-out}.chat-panel .reasoning-dots i:nth-child(2){animation-delay:.18s}.chat-panel .reasoning-dots i:nth-child(3){animation-delay:.36s}.chat-panel .reasoning-collapse{display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1),visibility 0s linear .25s}.chat-panel .reasoning-collapse.is-open{grid-template-rows:1fr;visibility:visible;transition:grid-template-rows .25s cubic-bezier(.22,1,.36,1),visibility 0s}.chat-panel .reasoning-collapse-inner{overflow:hidden;min-height:0}.chat-panel .reasoning-body{max-height:200px;overflow-y:auto;padding:2px 14px 11px;border-top:1px solid var(--lg-hairline);color:var(--lg-ink-soft);scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.chat-panel .reasoning-md,.chat-panel .reasoning-md *{font-family:var(--lg-font-body);font-style:italic;font-size:11.5px;line-height:1.6}.chat-panel .reasoning-md code,.chat-panel .reasoning-md pre,.chat-panel .reasoning-md pre *{font-family:var(--lg-font-mono);font-style:normal;font-size:10.5px}.chat-panel .reasoning-md p{margin:7px 0}.chat-panel .reasoning-md ul,.chat-panel .reasoning-md ol{margin:6px 0;padding-left:18px}.chat-panel .reasoning-md li{margin:2px 0}.chat-panel .subagent-card{position:relative;background:var(--lg-paper);border:1px solid var(--lg-hairline);border-left-width:3px;border-radius:var(--radius-sm);overflow:hidden;box-shadow:0 1px 2px #1a1d3a0a}.chat-panel .subagent-head{position:relative;display:flex;align-items:center;gap:9px;width:100%;border:none;background:transparent;cursor:pointer;padding:9px 12px;font-family:var(--lg-font-body);font-size:11.5px;text-align:left}.chat-panel .subagent-head:hover{background:#1a1d3a05}.chat-panel .subagent-head:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--lg-hairline)}.chat-panel .subagent-card.is-streaming .subagent-head:after{background:linear-gradient(90deg,transparent 0%,currentColor 45%,currentColor 55%,transparent 100%) no-repeat;background-size:45% 100%;animation:lg-scan 1.6s linear infinite;opacity:.75}.chat-panel .subagent-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.chat-panel .subagent-card.is-streaming .subagent-dot{animation:lg-breathe 1.6s ease-in-out infinite}.chat-panel .subagent-name{font-family:var(--lg-font-body);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;padding:2.5px 8px 2px;border:1px solid color-mix(in srgb,currentColor 45%,transparent);border-radius:var(--radius-pill);background:color-mix(in srgb,currentColor 8%,transparent);flex:0 0 auto}.chat-panel .subagent-card.is-streaming .subagent-name{animation:lg-stamp-pulse 1.6s ease-in-out infinite}.chat-panel .subagent-summary{color:var(--lg-ink-soft);font-family:var(--lg-font-body);font-size:11px;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1 1 auto;min-width:0}.chat-panel .subagent-state{font-family:var(--lg-font-body);font-weight:600;text-transform:uppercase;font-size:8.5px;letter-spacing:.12em;color:var(--lg-running);flex:0 0 auto}.chat-panel .subagent-card.state-output-available .subagent-state{color:var(--lg-accent)}.chat-panel .subagent-card.state-output-error .subagent-state{color:var(--lg-error)}.chat-panel .subagent-seal{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid var(--lg-accent);border-radius:50%;color:var(--lg-accent);font-size:9px;line-height:1;flex:0 0 auto;animation:lg-seal-in .5s var(--lg-ease-spring) both}.chat-panel .subagent-card.state-output-error .subagent-seal{border-color:var(--lg-error);color:var(--lg-error)}.chat-panel .subagent-body{border-top:none;padding:9px 12px 11px;display:flex;flex-direction:column;gap:9px}.chat-panel .subagent-label{font-family:var(--lg-font-body);font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;color:var(--lg-ink-faint);margin-bottom:4px}.chat-panel .subagent-scroll{max-height:200px;overflow-y:auto;font-size:11.5px;color:var(--lg-ink);background:var(--lg-paper-deep);border:1px solid var(--lg-hairline);border-radius:var(--radius-sm);padding:7px 10px;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.chat-panel .subagent-scroll .markdown{font-size:11.5px}.chat-panel .tool-card{background:var(--lg-paper);border:1px solid var(--lg-hairline);border-radius:var(--radius-sm);font-size:11px;overflow:hidden;transition:border-color .2s ease}.chat-panel .tool-input-streaming,.chat-panel .tool-input-available{border-left:2px solid var(--lg-running)}.chat-panel .tool-output-available{border-left:2px solid var(--color-accent-border)}.chat-panel .tool-output-error{border-left:2px solid var(--lg-error)}.chat-panel .tool-head{width:100%;display:flex;align-items:center;gap:8px;padding:7px 10px;background:transparent;border:0;cursor:pointer;text-align:left}.chat-panel .tool-name{font-family:var(--lg-font-mono);font-size:10px;font-weight:500;color:var(--lg-ink);letter-spacing:.01em}.chat-panel .tool-state{font-family:var(--lg-font-body);font-size:8.5px;font-weight:600;color:var(--lg-ink-faint);margin-left:auto;text-transform:uppercase;letter-spacing:.12em}.chat-panel .tool-input-streaming .tool-state,.chat-panel .tool-input-available .tool-state{color:var(--lg-running)}.chat-panel .tool-output-available .tool-state{color:var(--lg-accent)}.chat-panel .tool-output-error .tool-state{color:var(--lg-error)}.chat-panel .tool-toggle{color:var(--lg-ink-faint);font-size:9px}.chat-panel .tool-body{padding:7px 10px 10px;border-top:1px solid var(--lg-hairline);background:var(--lg-paper-deep)}.chat-panel .tool-summary{font-family:var(--lg-font-body);font-size:11.5px;color:var(--lg-ink);padding:3px 0 2px;line-height:1.5;word-wrap:break-word}.chat-panel .tool-label{font-family:var(--lg-font-body);font-size:8.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--lg-ink-faint);margin:5px 0 3px;font-weight:600}.chat-panel .tool-pre{font-family:var(--lg-font-mono);font-size:10px;font-variant-numeric:tabular-nums;background:var(--lg-paper);border:1px solid var(--lg-hairline);border-radius:4px;padding:7px 9px;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow-y:auto;color:var(--lg-ink-soft);scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.chat-panel .tool-pre-error{background:var(--lg-error-tint);border-color:#dc262640;color:var(--lg-error)}.chat-panel .download-cards{display:flex;flex-direction:column;gap:7px;max-width:68ch}.chat-panel .download-card{display:flex;align-items:center;gap:10px;padding:9px 11px;border:1px solid var(--lg-hairline);border-top:2px solid var(--color-accent-border);border-radius:var(--radius-sm);background:var(--lg-paper);text-decoration:none;color:inherit;cursor:pointer;box-shadow:0 2px 4px #1a1d3a0d;transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease,background .15s ease}.chat-panel .download-card:hover{border-color:var(--lg-hairline-strong);border-top-color:var(--lg-accent);background:#fbfbff;box-shadow:0 3px 7px #1a1d3a14}.chat-panel .download-card:active{transform:translateY(1px);box-shadow:0 1px 1px #1a1d3a0d}.chat-panel .download-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-sm);background:var(--lg-accent);color:#fff;font-family:var(--lg-font-mono);font-size:8px;font-weight:600;flex-shrink:0;letter-spacing:.08em}.chat-panel .download-info{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:10px;flex:1;min-width:0}.chat-panel .download-filename{font-family:var(--lg-font-mono);font-size:11px;font-weight:500;color:var(--lg-ink-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-panel .download-size{font-family:var(--lg-font-mono);font-size:9.5px;font-variant-numeric:tabular-nums;color:var(--lg-ink-faint);flex-shrink:0}.chat-panel .download-action{color:var(--lg-accent);flex-shrink:0}.chat-panel .message-footer{display:flex;align-items:center;justify-content:space-between;margin-top:3px;padding:4px 2px 0;border-top:1px solid var(--lg-hairline);max-width:68ch}.chat-panel .message-user .message-footer{border-top:none;padding-top:0}.chat-panel .message-footer-right{display:flex;align-items:center;gap:7px}.chat-panel .message-stamp{font-family:var(--lg-font-body);font-size:8.5px;letter-spacing:.05em;color:var(--lg-ink-faint)}.chat-panel .token-badge{font-family:var(--lg-font-mono);font-size:9px;color:var(--lg-ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.02em}.chat-panel .copy-btn{background:none;border:none;color:var(--lg-ink-faint);cursor:pointer;padding:2px;line-height:1;transition:color .15s ease,transform .2s var(--lg-ease-spring)}.chat-panel .copy-btn:hover{color:var(--lg-accent);transform:translateY(-1px)}.chat-panel .feedback-buttons{display:inline-flex;align-items:center;gap:2px;position:relative}.chat-panel .feedback-btn{background:none;border:none;color:var(--lg-ink-faint);cursor:pointer;padding:2px 4px;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s ease,background .15s ease,transform .2s var(--lg-ease-spring)}.chat-panel .feedback-btn:hover{color:var(--lg-accent);background:var(--lg-accent-tint);transform:translateY(-1px)}.chat-panel .feedback-btn.is-active{color:var(--lg-accent)}.chat-panel .feedback-btn:disabled{opacity:.5;cursor:default}.chat-panel .feedback-sent{font-size:11px;color:var(--lg-ink-faint);font-variant-numeric:tabular-nums;letter-spacing:.02em;white-space:nowrap}.chat-panel .feedback-popover{position:absolute;bottom:calc(100% + 8px);right:0;z-index:30;display:flex;flex-direction:column;gap:6px;width:240px;padding:10px;background:var(--lg-paper);border:1px solid var(--lg-hairline);border-radius:10px;box-shadow:0 10px 28px #1a1d3a24}.chat-panel .feedback-popover-title{font-size:12px;font-weight:600;color:var(--lg-ink-strong)}.chat-panel .feedback-popover-input{resize:vertical;min-height:40px;font:inherit;font-size:12px;color:var(--lg-ink);background:var(--lg-paper-deep);border:1px solid var(--lg-hairline);border-radius:6px;padding:6px 8px}.chat-panel .feedback-popover-input:focus{outline:none;border-color:var(--lg-accent);box-shadow:0 0 0 2px var(--lg-accent-soft)}.chat-panel .feedback-popover-actions{display:flex;justify-content:flex-end;gap:6px}.chat-panel .feedback-popover-btn{font-size:11.5px;font-weight:600;border-radius:6px;padding:4px 10px;cursor:pointer;transition:background .15s ease,color .15s ease}.chat-panel .feedback-popover-btn:disabled{opacity:.5;cursor:default}.chat-panel .feedback-popover-btn--ghost{background:none;border:1px solid var(--lg-hairline);color:var(--lg-ink-soft)}.chat-panel .feedback-popover-btn--ghost:hover{color:var(--lg-ink)}.chat-panel .feedback-popover-btn--primary{background:var(--lg-accent);border:1px solid var(--lg-accent);color:#fff}.chat-panel .feedback-popover-btn--primary:hover{filter:brightness(1.08)}.chat-panel .composer-dropzone{position:relative;background:var(--lg-paper);border-top:1px solid var(--lg-hairline);box-shadow:0 -8px 20px #1a1d3a0d}.chat-panel .input-row{display:flex;align-items:flex-end;gap:7px;padding:11px 12px 13px;border-top:none;background:transparent}.chat-panel .depth-select{font-family:var(--lg-font-body);font-size:9px;font-weight:500;text-transform:uppercase;letter-spacing:.06em;padding:6px 4px;border:1px solid var(--lg-hairline);border-radius:var(--radius-sm);background:var(--lg-paper-deep);color:var(--lg-ink-soft);cursor:pointer;height:32px;max-width:92px;transition:border-color .15s ease,color .15s ease}.chat-panel .depth-select:hover:not(:disabled){border-color:var(--lg-hairline-strong);color:var(--lg-ink)}.chat-panel .depth-select:focus{outline:none;border-color:var(--lg-accent)}.chat-panel .depth-select:disabled{opacity:.5;cursor:not-allowed}.chat-panel .chat-attach{width:auto;height:32px;padding:0 9px;flex-shrink:0;border-radius:var(--radius-sm);border:1px dashed var(--lg-hairline-strong);background:transparent;color:var(--lg-ink-faint);font-family:var(--lg-font-body);font-size:9px;font-weight:600;letter-spacing:.08em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .15s ease,color .15s ease,background .15s ease}.chat-panel .chat-attach:hover:not(:disabled){border-color:var(--color-accent-border);border-style:solid;color:var(--lg-accent);background:var(--lg-accent-tint)}.chat-panel .chat-attach:disabled{opacity:.45;cursor:not-allowed}.chat-panel .chat-textarea{flex:1;font-family:var(--lg-font-body);font-size:12.5px;padding:8px 2px;border:none;border-bottom:1px solid var(--lg-hairline-strong);border-radius:0;background-color:transparent;background-image:linear-gradient(var(--lg-accent),var(--lg-accent));background-repeat:no-repeat;background-position:left bottom;background-size:0% 1.5px;color:var(--lg-ink);caret-color:var(--lg-accent);resize:none;overflow-y:auto;line-height:1.5;max-height:200px;min-height:32px;transition:background-size .48s var(--lg-ease-out);scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.chat-panel .chat-textarea::placeholder{font-family:var(--lg-font-body);font-style:italic;color:var(--lg-ink-faint)}.chat-panel .chat-textarea:focus{outline:none;background-size:100% 1.5px}.chat-panel .chat-send{position:relative;width:32px;height:32px;flex-shrink:0;border-radius:50%;border:none;background:var(--lg-accent);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 5px #6366f159;transition:transform .3s var(--lg-ease-spring),background .15s ease,box-shadow .2s ease}.chat-panel .chat-send:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;pointer-events:none}.chat-panel .chat-send:hover:not(:disabled){background:var(--color-accent-hover);transform:rotate(12deg) scale(1.08)}.chat-panel .chat-send:active:not(:disabled){transform:rotate(12deg) scale(.94);box-shadow:0 1px 2px #6366f14d}.chat-panel .chat-send:active:not(:disabled):after{animation:lg-ripple .48s ease-out}.chat-panel .chat-send:disabled{opacity:.35;cursor:not-allowed;box-shadow:none}.chat-panel .attachment-chips{display:flex;flex-wrap:wrap;gap:6px;padding:9px 13px 0;border-top:none;background:transparent}.chat-panel .attachment-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 6px 4px 9px;border:1px solid var(--lg-hairline-strong);border-radius:var(--radius-sm);background:var(--lg-paper-deep);color:var(--lg-ink);font-family:var(--lg-font-mono);font-size:10px;max-width:280px;animation:lg-rise .32s var(--lg-ease-out) backwards}.chat-panel .attachment-chip-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.chat-panel .attachment-chip-size{color:var(--lg-ink-faint);font-variant-numeric:tabular-nums;font-size:9px}.chat-panel .attachment-chip-remove{width:16px;height:16px;padding:0;border-radius:50%;border:none;background:transparent;color:var(--lg-ink-faint);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:13px;line-height:1;transition:background .12s ease,color .12s ease}.chat-panel .attachment-chip-remove:hover{background:var(--lg-hairline);color:var(--lg-ink)}.chat-panel .attachment-error{padding:7px 13px 0;font-family:var(--lg-font-body);font-size:10px;color:var(--lg-error);background:transparent}.chat-panel .attachment-chip--dataset{border-color:var(--color-accent-border)}.chat-panel .attachment-chip--uploading{opacity:.6}.chat-panel .attachment-chip--uploading .attachment-chip-size{font-style:italic}.chat-panel .attachment-chip--error{border-color:var(--lg-error);color:var(--lg-error)}.chat-panel .attachment-chips--message{padding:0 0 4px;border-top:none;background:transparent}.chat-panel .composer-dropzone-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#ffffffc7;border:1.5px dashed var(--lg-accent);border-radius:var(--radius-sm);color:var(--lg-accent);font-family:var(--lg-font-body);font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;pointer-events:none;z-index:5;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:lg-fade-in .12s ease-out}.chat-panel .composer-dropzone-inner{display:flex;align-items:center;gap:9px;padding:8px 14px;background:var(--lg-paper);border:1px solid var(--color-accent-border);border-radius:var(--radius-sm);box-shadow:0 4px 12px #1a1d3a1a}.chat-panel ::-webkit-scrollbar{width:8px;height:8px}.chat-panel ::-webkit-scrollbar-thumb{background:var(--color-faint);border-radius:4px;border:2px solid var(--lg-paper)}.chat-panel ::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.chat-panel ::-webkit-scrollbar-track{background:transparent}@keyframes lg-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes lg-rule-draw{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes lg-caret{0%,to{opacity:1}50%{opacity:0}}@keyframes lg-breathe{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.78);opacity:.55}}@keyframes lg-dot-pulse{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-1.5px)}}@keyframes lg-scan{0%{background-position:-80% 0}to{background-position:180% 0}}@keyframes lg-stamp-pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes lg-seal-in{0%{transform:rotate(-100deg) scale(.3);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@keyframes lg-ripple{0%{box-shadow:0 0 #6366f159}to{box-shadow:0 0 0 14px #6366f100}}@keyframes lg-fade-in{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion: reduce){.chat-panel *,.chat-panel *:before,.chat-panel *:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.chat-panel .chat-send:hover:not(:disabled),.chat-panel .chat-send:active:not(:disabled){transform:none}}.chat-panel .bcard{margin:10px 0;max-width:72ch;background:var(--lg-paper);border:1px solid var(--lg-hairline);border-top:2px solid var(--lg-accent);border-radius:var(--radius-sm);box-shadow:0 2px 4px #1a1d3a0d;overflow:hidden}.chat-panel .bcard-head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:10px 14px 8px;border-bottom:1px solid var(--lg-hairline)}.chat-panel .bcard-title{flex:1 1 auto;min-width:12ch;font-family:var(--lg-font-display);font-size:12.5px;font-weight:600;color:var(--lg-ink-strong);letter-spacing:.01em;overflow-wrap:break-word;word-break:normal}.chat-panel .bcard-badge{margin-left:auto;font-family:var(--lg-font-body);font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--lg-accent);background:var(--lg-accent-soft);padding:2px 7px;border-radius:var(--radius-pill);white-space:nowrap}.chat-panel .bcard-asof{font-family:var(--lg-font-body);font-size:8.5px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--lg-ink-soft);white-space:nowrap}.chat-panel .bcard-badge+.bcard-asof{margin-left:6px}.chat-panel .bcard-body{padding:12px 14px 10px}.chat-panel .bcard-headline{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.chat-panel .bcard-headline-value{font-family:var(--lg-font-mono);font-variant-numeric:tabular-nums;font-size:30px;font-weight:600;line-height:1;color:var(--lg-accent)}.chat-panel .bcard-headline-label{font-family:var(--lg-font-body);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--lg-ink-faint)}.chat-panel .bcard-metrics{display:flex;flex-direction:column;gap:1px;background:var(--lg-hairline);border:1px solid var(--lg-hairline);border-radius:4px;overflow:hidden}.chat-panel .bcard-metric{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:6px 10px;background:var(--lg-paper)}.chat-panel .bcard-metric-label{font-family:var(--lg-font-body);font-size:11.5px;color:var(--lg-ink-soft)}.chat-panel .bcard-metric-value{font-family:var(--lg-font-mono);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500;color:var(--lg-ink-strong);text-align:right}.chat-panel .bcard-metric-note{display:block;font-family:var(--lg-font-body);font-size:9.5px;font-weight:400;color:var(--lg-ink-faint);margin-top:1px}.chat-panel .bcard-section-label,.chat-panel .bcard-breakdown .bcard-section-label{font-family:var(--lg-font-body);font-size:8.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--lg-ink-faint);font-weight:600;margin:12px 0 5px}.chat-panel .bcard-table-scroll{overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.chat-panel .bcard-table{width:100%;border-collapse:collapse;font-family:var(--lg-font-mono);font-variant-numeric:tabular-nums;font-size:10.5px}.chat-panel .bcard-table th{font-family:var(--lg-font-body);font-size:8.5px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--lg-ink-faint);padding:4px 8px;border-bottom:1px solid var(--lg-hairline);white-space:nowrap}.chat-panel .bcard-table td{padding:4px 8px;border-bottom:1px solid var(--lg-hairline);color:var(--lg-ink-soft);white-space:nowrap}.chat-panel .bcard-table tr:last-child td{border-bottom:0}.chat-panel .bcard-th-left,.chat-panel .bcard-td-left{text-align:left}.chat-panel .bcard-th-num,.chat-panel .bcard-td-num{text-align:right}.chat-panel .bcard-spark{display:block;width:100%;height:44px;margin-bottom:8px}.chat-panel .bcard-spark path{stroke:var(--lg-accent)}.chat-panel .bcard-spark-dot{fill:var(--lg-accent)}.chat-panel .bcard-footer{padding:8px 14px 10px;border-top:1px solid var(--lg-hairline);background:var(--lg-paper-deep)}.chat-panel .bcard-source{font-family:var(--lg-font-body);font-size:10px;line-height:1.45;color:var(--lg-ink-faint)}.chat-panel .bcard-notes{margin:5px 0 0;padding-left:16px;font-family:var(--lg-font-body);font-size:9.5px;line-height:1.4;color:var(--lg-ink-faint)}.chat-panel .jl-groupby{display:inline-flex;flex:0 0 auto;margin-left:8px;gap:2px;padding:2px;background:var(--lg-paper-deep);border-radius:var(--radius-sm)}.chat-panel .jl-groupby-btn{border:0;cursor:pointer;padding:3px 9px;border-radius:calc(var(--radius-sm) - 2px);background:none;font-family:var(--lg-font-body);font-size:9.5px;font-weight:600;letter-spacing:.04em;color:var(--lg-ink-soft)}.chat-panel .jl-groupby-btn:hover{color:var(--lg-ink-strong)}.chat-panel .jl-groupby-active{background:var(--lg-paper);color:var(--lg-accent);box-shadow:0 1px 2px #00000014}.chat-panel .jl-headline-row{display:flex;align-items:center;gap:24px;margin-bottom:12px}.chat-panel .jl-headline-row .bcard-headline{margin-bottom:0}.chat-panel .jl-headline-row .jl-groupby{margin-left:auto}.chat-panel .jl-role-header{font-family:var(--lg-font-body);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--lg-ink-strong);margin:14px 0 2px}.chat-panel .jl-group{border-top:1px solid var(--lg-hairline)}.chat-panel .jl-group:first-of-type{border-top:0}.chat-panel .jl-group-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 0;background:none;border:0;cursor:pointer;text-align:left}.chat-panel .jl-caret{font-size:9px;color:var(--lg-ink-faint);transition:transform .15s var(--lg-ease-out, ease)}.chat-panel .jl-caret-closed{transform:rotate(-90deg)}.chat-panel .jl-group-name{flex:1 1 auto;font-family:var(--lg-font-body);font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--lg-ink-soft)}.chat-panel .jl-group-head:hover .jl-group-name{color:var(--lg-ink-strong)}.chat-panel .jl-group-count{font-family:var(--lg-font-mono);font-variant-numeric:tabular-nums;font-size:10.5px;color:var(--lg-ink-soft);background:var(--lg-paper-deep);border-radius:999px;padding:1px 8px}.conversations-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f122980;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:80;animation:cm-fade-in .16s var(--ease-out)}@keyframes cm-fade-in{0%{opacity:0}to{opacity:1}}.conversations-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(520px,calc(100% - 32px));max-height:calc(100vh - 100px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;animation:cm-pop-in .24s var(--ease-out) both}@keyframes cm-pop-in{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.conversations-modal-header{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-surface),0 2px 0 var(--color-border)}.conversations-modal-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-heading);flex:1}.conversations-modal-new{font-family:inherit;font-size:11px;font-weight:600;padding:6px 13px;border:1px solid var(--color-accent-border);border-radius:var(--radius-pill);background:var(--color-accent-tint);color:var(--color-accent);cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.conversations-modal-new:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent);box-shadow:0 2px 6px #6366f14d}.conversations-modal-close{font-family:inherit;width:28px;height:28px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-muted);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out)}.conversations-modal-close:hover{background:var(--color-coral-tint);color:var(--color-coral-strong);border-color:var(--color-coral)}.conversations-search{display:flex;align-items:center;gap:8px;margin:10px 14px 4px;padding:7px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-muted);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out),background .15s var(--ease-out)}.conversations-search:focus-within{border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--focus-ring)}.conversations-search svg{flex-shrink:0;color:var(--color-muted)}.conversations-search input{flex:1;font-family:inherit;font-size:12px;padding:4px 0;border:none;background:transparent;color:var(--color-text);outline:none;min-width:0}.conversations-search input::placeholder{color:var(--color-muted)}.conversations-search-clear{flex-shrink:0;width:18px;height:18px;border:none;background:var(--color-border);color:var(--color-muted);border-radius:50%;font-size:13px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.conversations-search-clear:hover{background:var(--color-accent-tint);color:var(--color-accent)}.conversations-list{overflow-y:auto;padding:6px;min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.conversations-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;border-top:1px solid var(--color-border);font-size:11px;color:var(--color-muted);background:var(--color-bg)}.conversations-page-btn{font-family:inherit;font-size:11px;font-weight:500;padding:4px 10px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-heading);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.conversations-page-btn:hover:not(:disabled){border-color:var(--color-accent-border);background:var(--color-accent-tint);color:var(--color-accent)}.conversations-page-btn:disabled{opacity:.4;cursor:not-allowed}.conversations-page-indicator{font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;text-align:center;flex:1}.conversations-page-count{margin-left:4px;opacity:.75}.conversations-empty{font-size:12px;color:var(--color-muted);text-align:center;padding:32px 20px;line-height:1.6}.conversations-row{position:relative;width:100%;display:flex;align-items:center;gap:8px;padding:10px 12px;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:inherit;color:inherit;transition:background .14s var(--ease-out),border-color .14s var(--ease-out)}.conversations-row+.conversations-row{margin-top:2px}.conversations-row:hover{background:var(--color-accent-tint)}.conversations-row.is-active{border-color:var(--color-accent-border);background:var(--color-accent-tint)}.conversations-row.is-active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:var(--radius-pill);background:linear-gradient(180deg,var(--color-accent),var(--color-accent-2))}.conversations-row-main{flex:1;min-width:0}.conversations-row-title{font-size:12.5px;font-weight:500;color:var(--color-heading);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conversations-row-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;margin-top:4px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.01em;color:var(--color-muted);font-variant-numeric:tabular-nums}.conversations-row-actions{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.conversations-row-export,.conversations-row-delete{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-muted);cursor:pointer;transition:color .12s,background .12s,border-color .12s}.conversations-row-export:hover{color:var(--color-accent, #2563eb);background:#eff6ff;border-color:#bfdbfe}.conversations-row-delete:hover{color:var(--color-coral);background:#fef2f2;border-color:#fecaca}.usage-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f122980;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:90;animation:usage-fade-in .16s var(--ease-out)}@keyframes usage-fade-in{0%{opacity:0}to{opacity:1}}.usage-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(640px,calc(100% - 32px));max-height:calc(100vh - 100px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;animation:usage-pop-in .24s var(--ease-out) both}@keyframes usage-pop-in{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.usage-modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-surface),0 2px 0 var(--color-border)}.usage-modal-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-heading);flex:1}.usage-modal-refresh{width:26px;height:26px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s var(--ease-out),border-color .15s var(--ease-out),background .15s var(--ease-out)}.usage-modal-refresh:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent-border);background:var(--color-accent-tint)}.usage-modal-refresh:disabled{opacity:.5;cursor:wait}.usage-modal-refresh:disabled svg{animation:usage-spin .9s linear infinite}@keyframes usage-spin{to{transform:rotate(360deg)}}.usage-modal-close{width:28px;height:28px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:transparent;color:var(--color-muted);font-size:18px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s var(--ease-out),border-color .15s var(--ease-out),background .15s var(--ease-out)}.usage-modal-close:hover{background:var(--color-coral-tint);color:var(--color-coral-strong);border-color:var(--color-coral)}.usage-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:12px 14px;border-bottom:1px solid var(--color-border)}.usage-total{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out),transform .15s var(--ease-out)}.usage-total:hover{border-color:var(--color-accent-border);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.usage-total-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--color-muted)}.usage-total-tokens{font-family:var(--font-mono);font-size:17px;font-weight:600;color:var(--color-heading);letter-spacing:-.01em;font-variant-numeric:tabular-nums}.usage-total-cost{font-family:var(--font-mono);font-size:11px;color:var(--color-accent);font-weight:600;font-variant-numeric:tabular-nums}.usage-total-msgs{font-family:var(--font-mono);font-size:10px;color:var(--color-muted);font-variant-numeric:tabular-nums}.usage-tabs{display:flex;gap:4px;padding:8px 14px;border-bottom:1px solid var(--color-border)}.usage-tab{font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.02em;padding:5px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.usage-tab:hover{color:var(--color-heading);background:var(--color-bg)}.usage-tab.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 2px 6px #6366f14d}.usage-table-wrap{overflow-y:auto;padding:6px 14px 14px;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.usage-empty{font-size:12px;color:var(--color-muted);text-align:center;padding:32px 20px;line-height:1.6}.usage-error{color:var(--color-coral)}.usage-table{display:flex;flex-direction:column}.usage-table-head,.usage-table-row{display:grid;grid-template-columns:1.5fr 1fr 1.4fr;gap:10px;align-items:center;padding:7px 6px;font-size:11px;font-variant-numeric:tabular-nums}.usage-table-head{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted);border-bottom:1px solid var(--color-border)}.usage-table-row+.usage-table-row{border-top:1px dashed var(--color-border)}.usage-period{display:flex;flex-direction:column;gap:1px;color:var(--color-text)}.usage-period-msgs{font-size:9px;color:var(--color-muted)}.usage-tokens{font-family:var(--font-mono);font-size:12px;color:var(--color-heading);font-weight:500}.usage-cost{position:relative;display:flex;align-items:center;height:20px;padding-right:4px}.usage-cost-bar{position:absolute;top:4px;right:0;bottom:4px;left:0;background:linear-gradient(90deg,var(--color-accent-tint),var(--color-accent-tint-2));border-radius:var(--radius-sm);transition:width .35s var(--ease-out)}.usage-cost-value{position:relative;z-index:1;font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--color-accent);margin-left:6px}@media (max-width: 560px){.usage-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}.bug-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f122980;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:60px;z-index:90;animation:bug-fade-in .16s var(--ease-out)}@keyframes bug-fade-in{0%{opacity:0}to{opacity:1}}.bug-modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);width:min(640px,calc(100% - 32px));max-height:calc(100vh - 100px);display:flex;flex-direction:column;box-shadow:var(--shadow-lg);overflow:hidden;animation:bug-pop-in .24s var(--ease-out) both}@keyframes bug-pop-in{0%{opacity:0;transform:translateY(-10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.bug-modal-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-surface),0 2px 0 var(--color-border)}.bug-modal-title{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-heading);flex:1}.bug-modal-refresh,.bug-modal-close{width:28px;height:28px;border:1px solid var(--color-border);background:transparent;color:var(--color-muted);border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s var(--ease-out),border-color .15s var(--ease-out),background .15s var(--ease-out)}.bug-modal-refresh{width:26px;height:26px}.bug-modal-refresh:hover:not(:disabled){color:var(--color-accent);border-color:var(--color-accent-border);background:var(--color-accent-tint)}.bug-modal-refresh:disabled{opacity:.5;cursor:wait}.bug-modal-close{font-size:18px;line-height:1}.bug-modal-close:hover{color:var(--color-coral-strong);background:var(--color-coral-tint);border-color:var(--color-coral)}.bug-tabs{display:flex;gap:4px;padding:8px 14px;border-bottom:1px solid var(--color-border)}.bug-tab{font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.02em;padding:5px 14px;border:1px solid var(--color-border);border-radius:var(--radius-pill);background:transparent;color:var(--color-muted);cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out),border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.bug-tab:hover{color:var(--color-heading);background:var(--color-bg)}.bug-tab.is-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:0 2px 6px #6366f14d}.bug-modal-body{padding:14px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}.bug-form{display:flex;flex-direction:column;gap:12px}.bug-field{display:flex;flex-direction:column;gap:4px}.bug-field-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--color-muted)}.bug-field input,.bug-field textarea{font-family:inherit;font-size:13px;padding:9px 11px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg);color:var(--color-text);resize:vertical;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out),background .15s var(--ease-out)}.bug-field input:focus,.bug-field textarea:focus{outline:none;border-color:var(--color-accent);background:var(--color-surface);box-shadow:var(--focus-ring)}.bug-form-actions{display:flex;justify-content:flex-end}.bug-submit{font-family:inherit;font-size:12px;font-weight:600;padding:9px 18px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:0 1px 2px #6366f14d;transition:background .15s var(--ease-out),box-shadow .15s var(--ease-out),transform .12s var(--ease-out)}.bug-submit:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 3px 8px #6366f152;transform:translateY(-1px)}.bug-submit:active:not(:disabled){transform:translateY(0)}.bug-submit:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.bug-error,.bug-error-row{color:var(--color-coral);font-size:12px}.bug-empty{font-size:12px;color:var(--color-muted);text-align:center;padding:28px 18px}.bug-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.bug-row{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:10px 12px;background:var(--color-bg);display:flex;flex-direction:column;gap:6px;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.bug-row:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm)}.bug-row.is-resolved{opacity:.7}.bug-row-head{display:flex;align-items:center;gap:8px;justify-content:space-between}.bug-row-title{font-size:13px;font-weight:600;color:var(--color-heading)}.bug-status{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:3px 8px;border-radius:999px}.bug-status-open{background:#fde68a;color:#92400e}.bug-status-resolved{background:#d1fae5;color:#065f46}.bug-github-chip{font-family:Poppins,sans-serif;font-size:9px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:999px;border:1px solid var(--color-accent-border);background:var(--color-accent-tint);color:var(--color-accent);text-decoration:none;white-space:nowrap;margin-left:auto}.bug-github-chip:hover{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.bug-github-chip+.bug-status{margin-left:0}.bug-row-meta{display:flex;flex-wrap:wrap;gap:6px;font-family:var(--font-mono);font-size:9.5px;letter-spacing:.01em;color:var(--color-muted)}.bug-row-desc{font-size:12px;color:var(--color-text);white-space:pre-wrap;word-break:break-word}.bug-row-actions{display:flex;justify-content:flex-end}.bug-toggle{font-family:inherit;font-size:11px;font-weight:600;padding:5px 10px;border:1px solid var(--color-border);border-radius:6px;background:transparent;color:var(--color-muted);cursor:pointer}.bug-toggle:hover:not(:disabled){color:var(--color-heading);border-color:var(--color-accent)}.bug-toggle:disabled{opacity:.5;cursor:wait}:root{--color-bg: #EEF0FB;--color-surface: #FFFFFF;--color-topbar: #1a1d3a;--color-accent: #6366F1;--color-accent-2: #8b5cf6;--color-accent-hover: #4f52d8;--color-accent-tint: #E7E9FE;--color-accent-tint-2: #d8dcfc;--color-accent-border: #c0c5fb;--color-text: #374151;--color-text-soft: #4b5563;--color-heading: #1a1d3a;--color-muted: #9ca3af;--color-faint: #c8cce0;--color-border: #e5e7f4;--color-border-strong: #d6daef;--color-coral: #f87171;--color-coral-strong: #ef4444;--color-coral-tint: #fee2e2;--color-amber: #f59e0b;--color-amber-tint: #fef3c7;--color-blue: #60a5fa;--color-blue-tint: #dbeafe;--color-green: #34d399;--color-green-deep: #10b981;--color-green-tint: #d1fae5;--color-orange: #fb923c;--color-error-bg: #fef2f2;--color-error: #dc2626;--color-accent-legacy: #6C69FF;--color-trace-bg: #f8f8fc;--color-trace-border: #d4d6e4;--radius-card: 16px;--radius-sm: 6px;--radius-md: 10px;--radius-pill: 999px;--font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--shadow-sm: 0 1px 2px rgba(26, 29, 58, .05);--shadow-md: 0 8px 24px rgba(15, 18, 41, .12);--shadow-lg: 0 24px 60px rgba(15, 18, 41, .22);--focus-ring: 0 0 0 3px rgba(99, 102, 241, .35)}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-family:Poppins,sans-serif;font-size:13px;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,textarea,select{font-family:inherit}*{scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-faint);border:2px solid transparent;background-clip:padding-box;border-radius:var(--radius-pill);transition:background .15s ease}::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong);background-clip:padding-box}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--color-accent)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.app-root{display:flex;flex-direction:column;height:100vh;background:var(--color-bg)}.split{flex:1;display:grid;grid-template-columns:minmax(0,1fr) 8px var(--chat-width, 560px);min-height:0}.split.with-knowledge{grid-template-columns:minmax(0,1fr) 8px var(--chat-width, 560px) 360px}.resize-handle{position:relative;cursor:col-resize;display:flex;align-items:center;justify-content:center;background:transparent;-webkit-user-select:none;user-select:none;outline:none;border-left:1px solid var(--color-border)}.resize-handle:hover{background:linear-gradient(90deg,transparent,var(--color-accent-tint) 60%,transparent)}.resize-handle:focus-visible{border-left-color:var(--color-accent);box-shadow:none}.resize-handle-grip{width:3px;height:40px;border-radius:var(--radius-pill);background:var(--color-border-strong);transition:background .15s var(--ease-out),height .15s var(--ease-out),opacity .15s var(--ease-out);opacity:.7}.resize-handle:hover .resize-handle-grip,.resize-handle:focus-visible .resize-handle-grip,body.is-resizing .resize-handle-grip{background:var(--color-accent);height:56px;opacity:1}body.is-resizing,body.is-resizing *{cursor:col-resize!important;-webkit-user-select:none!important;user-select:none!important}.login-split{display:flex;height:100vh;height:100dvh}.login-hero{position:relative;flex:0 0 55%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(140deg,#14172e,#1a1d3a 32%,#2d2f6b,#4338ca);overflow:hidden;isolation:isolate}.login-hero-grid{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:44px 44px;mask-image:radial-gradient(120% 90% at 50% 40%,#000 35%,transparent 80%);-webkit-mask-image:radial-gradient(120% 90% at 50% 40%,#000 35%,transparent 80%)}.login-hero-glow{position:absolute;z-index:0;border-radius:50%;pointer-events:none;filter:blur(90px);opacity:.4;will-change:transform,opacity}.login-hero-glow--1{width:440px;height:440px;background:var(--color-accent);top:-70px;right:-90px;animation:login-drift-1 16s var(--ease-out) infinite alternate}.login-hero-glow--2{width:340px;height:340px;background:#818cf8;bottom:-50px;left:-50px;animation:login-drift-2 19s var(--ease-out) infinite alternate}.login-hero-glow--3{width:260px;height:260px;background:var(--color-accent-2);top:42%;left:38%;opacity:.22;animation:login-drift-3 22s var(--ease-out) infinite alternate}@keyframes login-drift-1{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(-36px,30px,0) scale(1.08)}}@keyframes login-drift-2{0%{transform:translateZ(0) scale(1)}to{transform:translate3d(34px,-26px,0) scale(1.1)}}@keyframes login-drift-3{0%{transform:translateZ(0) scale(1);opacity:.18}to{transform:translate3d(28px,22px,0) scale(1.14);opacity:.3}}.login-hero-content{position:relative;z-index:1;text-align:center;color:#fff;padding:0 32px;max-width:460px;animation:login-rise .6s var(--ease-out) both}@keyframes login-rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}.login-hero-logo{width:80px;height:80px;border-radius:20px;box-shadow:0 12px 40px #00000059,0 0 0 1px #ffffff14 inset;margin-bottom:26px}.login-hero-title{font-size:34px;font-weight:700;letter-spacing:-.025em;margin-bottom:10px;line-height:1.1}.login-hero-title-accent{background:linear-gradient(90deg,#c7cbff,#a5b4fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#a5b4fc}.login-hero-tagline{font-size:14.5px;font-weight:400;color:#ffffffb8;letter-spacing:.01em}.login-hero-points{list-style:none;margin:30px auto 0;padding:0;display:inline-flex;flex-direction:column;gap:11px;text-align:left}.login-hero-points li{position:relative;padding-left:24px;font-size:12.5px;font-weight:400;color:#ffffff9e;letter-spacing:.01em}.login-hero-points li:before{content:"";position:absolute;left:2px;top:6px;width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,#a5b4fc,var(--color-accent-2));box-shadow:0 0 10px #a5b4fc99}.login-hero-footer{position:absolute;z-index:1;bottom:24px;left:0;right:0;text-align:center;font-size:10.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:#ffffff57}.login-form-panel{flex:1;display:flex;align-items:center;justify-content:center;background:var(--color-surface);padding:40px}.login-form-center{width:100%;max-width:340px;text-align:center;animation:login-rise .6s var(--ease-out) .08s both}.login-form-heading{font-size:23px;font-weight:700;letter-spacing:-.02em;color:var(--color-heading);margin-bottom:8px}.login-form-subtitle{font-size:13px;color:var(--color-text-soft);margin-bottom:32px;line-height:1.55}.login-google-btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:12px 24px;background:var(--color-surface);color:#3c4043;font-family:inherit;font-size:14px;font-weight:500;text-decoration:none;border:1px solid #dadce0;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);cursor:pointer;transition:background .16s var(--ease-out),box-shadow .16s var(--ease-out),border-color .16s var(--ease-out),transform .16s var(--ease-out)}.login-google-btn:hover{background:#f7f8fb;box-shadow:0 4px 14px #3c404329;border-color:var(--color-accent-border);transform:translateY(-1px)}.login-google-btn:active{background:#eef0f6;transform:translateY(0);box-shadow:var(--shadow-sm)}.login-google-btn:focus-visible{outline:none;box-shadow:var(--focus-ring);border-color:var(--color-accent)}.login-google-btn svg{flex-shrink:0}.login-form-footer{margin-top:28px;padding-top:20px;border-top:1px solid var(--color-border);font-size:11px;color:var(--color-muted)}.splash-dot{width:10px;height:10px;border-radius:50%;background:var(--color-accent);margin:0 auto 16px;box-shadow:0 0 #6366f166;animation:pulse 1.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;box-shadow:0 0 #6366f159}50%{opacity:.4;box-shadow:0 0 0 6px #6366f100}}@media (max-width: 768px){.login-split{flex-direction:column}.login-hero{flex:0 0 auto;min-height:220px;padding:36px 24px}.login-hero-logo{width:56px;height:56px;border-radius:16px;margin-bottom:16px}.login-hero-title{font-size:24px}.login-hero-tagline{font-size:12.5px}.login-hero-points,.login-hero-footer{display:none}.login-form-panel{padding:32px 24px}}.knowledge-panel{display:flex;flex-direction:column;background:var(--color-surface);border-left:1px solid var(--color-border);min-height:0;animation:kb-slide-in .26s var(--ease-out) both}@keyframes kb-slide-in{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.definitions-panel{flex:1;display:flex;flex-direction:column;min-height:0}.definitions-panel:before{content:"Knowledge base";display:block;padding:13px 16px 11px;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-heading);border-bottom:1px solid var(--color-border);box-shadow:0 1px 0 var(--color-surface),0 2px 0 var(--color-border)}.definitions-help{font-size:11px;color:var(--color-text-soft);padding:13px 16px;border-bottom:1px solid var(--color-border);line-height:1.6;background:var(--color-bg)}.definitions-help code{font-family:var(--font-mono);background:var(--color-accent-tint);padding:1px 5px;border-radius:4px;font-size:10.5px;color:var(--color-accent)}.definitions-textarea{flex:1;font-family:var(--font-mono);font-size:12.5px;line-height:1.7;padding:14px 16px;border:none;outline:none;resize:none;background:var(--color-surface);color:var(--color-text);min-height:0;scrollbar-width:thin;scrollbar-color:var(--color-faint) transparent;transition:background .15s ease}.definitions-textarea:focus{background:#fcfcff}.definitions-textarea::placeholder{color:var(--color-faint)}.definitions-footer{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid var(--color-border);background:var(--color-bg);font-size:12px;min-height:56px}.definitions-meta{color:var(--color-muted);flex:1;font-size:10.5px;line-height:1.4}.definitions-status{color:var(--color-muted);font-style:italic;font-size:11px}.definitions-status-saved{color:var(--color-accent);font-style:normal;font-weight:600}.definitions-status-error{color:var(--color-error);font-style:normal;font-weight:600}.definitions-save{font-size:12px;font-weight:600;padding:7px 16px;border:1px solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);color:#fff;cursor:pointer;box-shadow:0 1px 2px #6366f14d;transition:background .15s var(--ease-out),box-shadow .15s var(--ease-out),transform .12s var(--ease-out)}.definitions-save:hover:not(:disabled){background:var(--color-accent-hover);box-shadow:0 3px 8px #6366f152;transform:translateY(-1px)}.definitions-save:active:not(:disabled){transform:translateY(0)}.definitions-save:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.demo-field-label{align-self:flex-start;margin:14px 0 6px;font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--color-text-soft)}.demo-input{width:100%;padding:11px 13px;font:inherit;font-size:14px;color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-accent-border);border-radius:10px;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.demo-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-tint)}.demo-error{margin:12px 0 0;font-size:13px;color:#b42318}.demo-banner{position:sticky;top:0;z-index:60;display:flex;align-items:center;justify-content:center;gap:10px;padding:7px 16px;font-size:13px;color:#fff;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-2));box-shadow:0 1px 3px #1a1d3a2e}.demo-banner strong{padding:1px 8px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;border-radius:999px}@media (max-width: 640px){.demo-banner span{font-size:12px}}
