:root{font-family:system-ui,-apple-system,Segoe UI,Roboto,PingFang SC,Microsoft YaHei,sans-serif;line-height:1.6;color-scheme:light;--bg: #f5f8fc;--bg-glow: radial-gradient(1100px 520px at 50% -10%, #dce9fb, transparent 62%);--surface: #ffffff;--surface-muted: #eef2f8;--surface-subtle: #f7fafd;--surface-hover: #e7eef8;--surface-elevated: #ffffff;--glass-surface: rgba(255, 255, 255, .85);--text: #0f1e3d;--muted: #4b5b74;--border: #d5e0ef;--border-glow: rgba(29, 78, 216, .28);--accent: #1d4ed8;--accent-hover: #1e40af;--accent-contrast: #ffffff;--accent-soft: #eaf1ff;--accent-soft-border: #bcd1fb;--glow: rgba(29, 78, 216, .22);--focus-ring: rgba(29, 78, 216, .65);--topbar-bg: linear-gradient(180deg, #ffffff, #f2f7ff);--topbar-divider: #cdddf2;--success: #1a7f37;--success-bg: #e6f4ea;--success-border: #b7e2c2;--success-text: #14532d;--success-contrast: #ffffff;--warning: #9a6700;--warning-bg: #fff8e6;--warning-soft: #fff1c2;--warning-border: #f0c9a8;--warning-text: #7a4d00;--danger: #cf222e;--danger-bg: #ffebe9;--danger-border: #ff818266;--danger-text: #a40e26;--info-bg: #ddf4ff;--info-soft: #f8fbff;--info-border: #54aeff66;--info-text: #0969da;--overlay: rgba(15, 23, 42, .35);--shadow: 0 10px 30px -12px rgba(29, 78, 216, .18);--shadow-panel: 0 -8px 24px rgba(15, 23, 42, .2);--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;color:var(--text);background-color:var(--bg)}[data-theme=dark]{color-scheme:dark;--bg: #070d18;--bg-glow: radial-gradient( 1100px 560px at 50% -10%, rgba(34, 211, 238, .14), transparent 60% ), radial-gradient(900px 600px at 85% 0%, rgba(56, 189, 248, .1), transparent 55%);--surface: #0f1a2c;--surface-muted: #14213a;--surface-subtle: #0b1526;--surface-hover: #1a2a44;--surface-elevated: #16243c;--glass-surface: rgba(15, 26, 44, .72);--text: #e6f0ff;--muted: #9db0cc;--border: #21334f;--border-glow: rgba(34, 211, 238, .45);--accent: #22d3ee;--accent-hover: #38bdf8;--accent-contrast: #04202b;--accent-soft: #0c2536;--accent-soft-border: #1e6b84;--glow: rgba(34, 211, 238, .45);--focus-ring: rgba(34, 211, 238, .75);--topbar-bg: linear-gradient(180deg, #0a1526, #0b1a30);--topbar-divider: rgba(34, 211, 238, .45);--success: #3fb950;--success-bg: #12261e;--success-border: #238636;--success-text: #7ee787;--success-contrast: #04202b;--warning: #d29922;--warning-bg: #2e2411;--warning-soft: #3a2c0c;--warning-border: #9e6a03;--warning-text: #e3b341;--danger: #f85149;--danger-bg: #3d1418;--danger-border: #f8514966;--danger-text: #ff7b72;--info-bg: #0c2d6b;--info-soft: #0f1826;--info-border: #388bfd66;--info-text: #79c0ff;--overlay: rgba(1, 4, 9, .7);--shadow: 0 16px 40px -16px rgba(0, 0, 0, .65);--shadow-panel: 0 -8px 24px rgba(1, 4, 9, .6)}*{box-sizing:border-box}body{margin:0;color:var(--text);background-color:var(--bg);background-image:var(--bg-glow);background-repeat:no-repeat;background-attachment:fixed;background-size:cover}@supports ((backdrop-filter: blur(14px)) or (-webkit-backdrop-filter: blur(14px))){[data-theme=dark] section,[data-theme=dark] .auth-form,[data-theme=dark] .conversation-panel,[data-theme=dark] .app-sidebar-history-panel,[data-theme=dark] .qa-suggestions,[data-theme=dark] .composer{background-color:var(--glass-surface);border-color:var(--border-glow);-webkit-backdrop-filter:blur(14px) saturate(140%);backdrop-filter:blur(14px) saturate(140%);box-shadow:var(--shadow),0 0 24px -10px var(--glow)}}main{max-width:720px;margin:0 auto;padding:2rem 1rem}h1{font-size:1.75rem;margin:0 0 .25rem}h2{font-size:1.15rem;margin-top:0}section{margin-top:2rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);box-shadow:var(--shadow)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;padding:.45rem .9rem;border:1px solid var(--border);border-radius:6px;background-color:var(--surface-muted);color:var(--text);cursor:pointer}button:hover:not(:disabled){background-color:var(--surface-hover)}button:disabled{cursor:not-allowed;opacity:.65}button[type=submit]{border-color:var(--accent);background-color:var(--accent);color:var(--accent-contrast)}button[type=submit]:hover:not(:disabled){background-color:var(--accent-hover)}input,textarea,select{font:inherit;padding:.45rem .6rem;border:1px solid var(--border);border-radius:6px;background-color:var(--surface);color:var(--text)}input:focus,textarea:focus,select:focus,button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}input[type=checkbox],input[type=radio],progress{accent-color:var(--accent)}input[type=file]::file-selector-button{font:inherit;margin-right:.5rem;padding:.35rem .7rem;border:1px solid var(--border);border-radius:6px;background-color:var(--surface-muted);color:var(--text);cursor:pointer}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.small{font-size:.875rem}.alert{margin-top:1rem;padding:.75rem 1rem;border:1px solid transparent;border-radius:8px}.alert-error{border-color:var(--danger-border);background-color:var(--danger-bg);color:var(--danger-text)}.alert-info{border-color:var(--info-border);background-color:var(--info-bg);color:var(--info-text)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.auth-page{max-width:560px}.auth-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.auth-form{display:flex;flex-direction:column;gap:1rem;padding:1.25rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);box-shadow:var(--shadow)}.auth-form label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.auth-form input{font-weight:400}.conversation-page{display:flex;flex-direction:column;gap:1rem;height:100%;min-height:0;max-width:none;margin:0;padding:1.25rem}.header-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.75rem}.app-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);height:100dvh}.app-topbar{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;height:56px;padding:0 1.25rem;border-bottom:1px solid var(--topbar-divider);background:var(--topbar-bg)}[data-theme=dark] .app-topbar{box-shadow:0 6px 20px -8px var(--glow)}.app-topbar-brand{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;color:var(--text)}.app-topbar-brand:hover{color:var(--accent);text-decoration:none}.app-topbar-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:.6rem;flex:none;white-space:nowrap}.app-topbar-user{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--muted)}.app-topbar-link{display:inline-flex;align-items:center;justify-content:center;padding:.35rem .75rem;border:1px solid var(--border);border-radius:6px;color:var(--text);font-weight:500}.app-topbar-link:hover{background-color:var(--surface-hover);text-decoration:none}.app-topbar-link.app-topbar-cta{border-color:var(--accent);background-color:var(--accent);color:var(--accent-contrast)}.app-topbar-link.app-topbar-cta:hover{border-color:var(--accent-hover);background-color:var(--accent-hover);color:var(--accent-contrast)}.app-topbar-link.is-active{border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent)}.app-topbar-link.app-topbar-cta.is-active{border-color:var(--accent);background-color:var(--accent);color:var(--accent-contrast);box-shadow:0 0 0 2px var(--accent-soft-border)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;flex:none;width:2.25rem;height:2.25rem;padding:0;background-color:transparent}.theme-toggle:hover:not(:disabled){background-color:var(--surface-hover)}.theme-toggle svg{width:1.15rem;height:1.15rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.app-topbar-left{display:flex;align-items:center;gap:.75rem;min-width:0}.app-topbar-menu,.app-sidebar-close,.sidebar-backdrop{display:none}.app-topbar-menu{flex:none;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0}.app-topbar-menu-bars{position:relative;display:block;width:18px;height:2px;background-color:currentColor}.app-topbar-menu-bars:before,.app-topbar-menu-bars:after{content:"";position:absolute;left:0;width:18px;height:2px;background-color:currentColor}.app-topbar-menu-bars:before{top:-6px}.app-topbar-menu-bars:after{top:6px}.app-shell-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:0}.app-sidebar{display:flex;flex-direction:column;min-height:0;overflow-y:auto;padding:1rem;border-right:1px solid var(--border);background-color:var(--surface)}.app-sidebar-inner{display:flex;flex:1 1 auto;flex-direction:column;gap:1rem;min-height:0}.app-sidebar-new{width:100%;border-color:var(--accent);background-color:var(--accent);color:var(--accent-contrast);font-weight:600}.app-sidebar-new:hover:not(:disabled){background-color:var(--accent-hover)}.app-sidebar-nav{display:flex;flex-direction:column;gap:.25rem}.app-sidebar-link{padding:.5rem .75rem;border-radius:6px;color:var(--text)}.app-sidebar-link:hover{background-color:var(--surface-hover);text-decoration:none}.app-sidebar-link.is-active{background-color:var(--accent);color:var(--accent-contrast)}.app-sidebar-link.is-active:hover{background-color:var(--accent-hover);text-decoration:none}.app-sidebar-role{display:flex;flex-direction:column;gap:.15rem;margin-top:auto;padding-top:.75rem;border-top:1px solid var(--border)}.app-sidebar-role-label{font-size:.75rem}.app-sidebar-role-value{font-weight:600}.app-sidebar-history{display:flex;flex-direction:column;flex:0 0 auto;gap:.25rem;min-height:0}.app-sidebar-history-toggle{width:100%;padding:.5rem .75rem;border:1px solid transparent;border-radius:6px;background-color:transparent;color:var(--text);font:inherit;text-align:left}.app-sidebar-history-toggle:hover:not(:disabled){background-color:var(--surface-hover)}.app-sidebar-history-panel{display:flex;flex-direction:column;gap:.125rem;min-height:0;padding:.3rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface-elevated);box-shadow:var(--shadow)}.app-sidebar-history-list{display:flex;flex-direction:column;gap:.125rem;max-height:50vh;margin:0;padding:0;overflow-y:auto;list-style:none}.app-sidebar-history-item{display:flex;flex-direction:column;gap:.1rem;width:100%;min-width:0;padding:.4rem .6rem;border:1px solid transparent;border-radius:6px;background-color:transparent;color:var(--text);font:inherit;text-align:left;overflow-wrap:anywhere}.app-sidebar-history-item:hover:not(:disabled){background-color:var(--surface-hover)}.app-sidebar-history-item-id{font-weight:600;font-variant-numeric:tabular-nums}.app-sidebar-history-item-meta{display:flex;flex-wrap:wrap;gap:.1rem .5rem;min-width:0;font-size:.75rem;font-variant-numeric:tabular-nums}.app-sidebar-history-empty{margin:0;padding:.5rem .75rem;font-size:.8125rem}.app-sidebar-history-empty p{margin:0}.app-sidebar-history-empty button{margin-top:.5rem}.app-content{min-width:0;min-height:0;overflow-y:auto}@media (max-width: 1023px){.app-shell-body{grid-template-columns:minmax(0,1fr)}.app-topbar-actions{gap:.5rem}.app-topbar-user{max-width:8rem}.app-topbar-menu,.app-sidebar-close{display:inline-flex}.app-sidebar{position:fixed;top:56px;bottom:0;left:0;z-index:30;width:240px;max-width:82vw;transform:translate(-100%);transition:transform .2s ease}.app-shell.is-sidebar-open .app-sidebar{transform:translate(0);box-shadow:var(--shadow-panel)}.app-sidebar-close{align-self:flex-end;margin-bottom:.75rem}.app-shell.is-sidebar-open .sidebar-backdrop{display:block;position:fixed;top:56px;left:0;right:0;bottom:0;z-index:20;background-color:var(--overlay)}}.conversation-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr);gap:1.5rem;align-items:stretch;flex:1 1 auto;min-height:0;margin-top:0}.conversation-main{display:flex;flex-direction:column;gap:.75rem;min-width:0;min-height:0}.conversation-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .75rem;min-width:0}.conversation-header-id{font-weight:600}.conversation-header-scenario,.conversation-header-progress{color:var(--muted)}.conversation-header .panel-toggle{margin-left:auto}.conversation-messages,.conversation-panel{margin-top:0}.conversation-messages{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;overflow:hidden}.conversation-messages ol{list-style:none;margin:0;padding:0 .25rem 0 0;display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto;scroll-behavior:smooth}.message{padding:.75rem .9rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface-muted);overflow-wrap:anywhere}.message p{margin:.25rem 0 0}.message-role{font-size:.8rem;font-weight:700;color:var(--muted)}.message-user{background-color:var(--accent-soft);border-color:var(--accent-soft-border)}.conversation-messages .message{max-width:min(80%,60rem);align-self:flex-start}.conversation-messages .message-user{align-self:flex-end}.composer{display:flex;align-items:flex-end;gap:.75rem;padding:.9rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.composer label{flex:1;min-width:0;display:flex;flex-direction:column;gap:.35rem;font-weight:600}.composer span{font-size:.875rem}.composer textarea{width:100%;resize:vertical;min-height:3rem;max-height:10rem;font-weight:400}.composer button{flex:none}.composer-stacked{flex-direction:column;align-items:stretch;gap:.6rem}.composer-editing-hint{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin:0;color:var(--muted)}.composer-input{display:flex;flex-direction:column;gap:.6rem;min-width:0}.composer-entry{display:flex;align-items:flex-end;gap:.75rem;min-width:0}.link-button{padding:0;border:none;background:none;color:var(--accent);font:inherit;text-decoration:underline}.link-button:hover:not(:disabled){background:none}.field-error{margin:.5rem 0 0;color:var(--danger-text);font-size:.875rem}.conversation-panel{position:sticky;top:1rem;align-self:start;min-width:0;max-height:100%;overflow-y:auto;padding:1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.panel-header h2{margin-bottom:0}.panel-toggle,.panel-close,.panel-backdrop{display:none}.panel-header-actions{display:flex;flex:none;gap:.5rem}.panel-actions{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.panel-action-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.panel-action-buttons button{flex:1 1 auto;min-width:0}.panel-actions-hint{margin:0;font-size:.8125rem;color:var(--muted)}.panel-collapse-bar{display:none}.panel-progress{margin-top:.75rem}.panel-progress-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-bottom:.35rem}.panel-progress-track{height:6px;border-radius:999px;background-color:var(--border);overflow:hidden}.panel-progress-fill{height:100%;border-radius:inherit;background-color:var(--accent);transition:width .2s ease}.vendor-switch{display:flex;flex-direction:column;gap:.35rem;margin-top:.75rem;min-width:0}.vendor-switch-segments{display:flex;gap:.2rem;padding:.2rem;border:1px solid var(--border);border-radius:6px;background-color:var(--surface-subtle);min-width:0}.vendor-switch-option{flex:1 1 0;min-width:0;padding:.4rem .3rem;border:none;border-radius:4px;background:none;color:var(--muted);font-size:.8125rem;white-space:nowrap;cursor:pointer}.vendor-switch-option:hover:not(:disabled):not([aria-pressed=true]){background:none;color:var(--text)}.vendor-switch-option[aria-pressed=true]{background-color:var(--accent);color:var(--accent-contrast);font-weight:600}.vendor-switch-option[aria-pressed=true]:hover{background-color:var(--accent)}.vendor-switch-option:disabled,.vendor-switch-option:disabled:hover{background:none;color:var(--muted);opacity:.6;cursor:not-allowed}.vendor-switch-option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.vendor-switch-unavailable{margin-left:.25rem;font-size:.75rem}.panel-tabs{display:flex;flex-wrap:nowrap;gap:.2rem;margin-top:.75rem;border-bottom:1px solid var(--border);min-width:0}.panel-tab{flex:1 1 0;min-width:0;padding:.45rem .2rem;border:none;border-bottom:2px solid transparent;border-radius:0;background:none;color:var(--muted);font-size:.8125rem;white-space:nowrap;text-align:center;cursor:pointer}.panel-tab:hover:not([aria-selected=true]){background:none;color:var(--text)}.panel-tab[aria-selected=true]{background:none;color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.panel-tab[aria-selected=true]:hover{background:none}.panel-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:4px}.panel-tabpanel{margin-top:.75rem;min-width:0}.panel-empty{margin:0;padding:1.25rem 1rem;border:1px dashed var(--border);border-radius:8px;background-color:var(--surface-subtle);color:var(--muted);text-align:center}@media (min-width: 768px){.conversation-layout.is-panel-collapsed{grid-template-columns:minmax(0,1fr) 40px}.conversation-panel.is-collapsed{align-self:stretch;padding:0;overflow:hidden}.conversation-panel.is-collapsed .panel-content{display:none}.conversation-panel.is-collapsed .panel-collapse-bar{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:8rem;padding:.75rem 0;border:none;border-radius:8px;background:none;color:var(--muted);font:inherit;letter-spacing:.15em;writing-mode:vertical-rl;text-orientation:mixed;cursor:pointer}.conversation-panel.is-collapsed .panel-collapse-bar:hover{color:var(--text)}}.conversation-panel dl{margin:.75rem 0 0}.conversation-panel dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;min-width:0;padding:.45rem 0;border-bottom:1px solid var(--border)}.conversation-panel dl>div:last-child{border-bottom:none}.conversation-panel dt{min-width:0;color:var(--muted);overflow-wrap:anywhere}.conversation-panel dd{flex:1 1 0;min-width:0;margin:0;text-align:right;overflow-wrap:anywhere}.conversation-panel dd .panel-slot-value{display:block;width:100%;max-width:100%;white-space:normal;text-align:right;overflow-wrap:anywhere}.estimate-trigger{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.estimate-trigger .alert{margin-top:0}.panel-estimate .solution-card{margin:0;padding:0;border:none;background:none;box-shadow:none}.panel-estimate .metric-row,.panel-estimate .solution-cost-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.panel-estimate .metric-value{font-size:clamp(1.05rem,2.6vw,1.4rem)}.panel-devices .solution-block:first-child,.panel-charts .solution-block:first-child{margin-top:0;padding-top:0;border-top:none}.chart-compare{display:flex;flex-direction:column;gap:.65rem;min-width:0}.chart-row{display:flex;flex-direction:column;gap:.3rem;min-width:0}.chart-row-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;min-width:0}.chart-row-label{display:inline-flex;align-items:center;gap:.35rem;min-width:0;color:var(--text);font-weight:600}.chart-badge{padding:.05rem .4rem;border-radius:999px;border:1px solid var(--success-border);background-color:var(--success-bg);color:var(--success-text);font-size:.7rem;font-weight:600;line-height:1.4}.chart-row-value{min-width:0;overflow-wrap:anywhere;text-align:right}.chart-track{height:.9rem;min-width:0;border-radius:999px;background-color:var(--surface-muted);overflow:hidden}.chart-bar{height:100%;min-width:0;border-radius:999px;background-color:var(--muted);transition:width .3s ease}.chart-bar.is-cheaper{background-color:var(--accent)}.chart-row.is-cheaper .chart-row-label{color:var(--accent)}.chart-conclusion{margin:.65rem 0 0;overflow-wrap:anywhere}.chart-stacked{display:flex;width:100%;min-width:0;height:1.1rem;border-radius:6px;background-color:var(--surface-muted);overflow:hidden}.chart-seg{flex-basis:0;flex-shrink:1;height:100%;min-width:0}.chart-seg-hardware{background-color:var(--accent)}.chart-seg-construction{background-color:var(--success)}.chart-seg-om{background-color:var(--warning)}.chart-seg-electricity{background-color:var(--danger)}.chart-legend{display:flex;flex-direction:column;gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none}.chart-legend li{display:flex;align-items:baseline;gap:.5rem;min-width:0}.chart-swatch{flex:0 0 auto;width:.7rem;height:.7rem;border-radius:3px;align-self:center}.chart-legend-label{flex:1 1 auto;min-width:0;color:var(--muted);overflow-wrap:anywhere}.chart-legend-value{flex:0 0 auto;text-align:right;overflow-wrap:anywhere}.chart-total{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:.65rem;padding-top:.5rem;border-top:1px solid var(--border);min-width:0;font-weight:600}.chart-total>span{min-width:0;overflow-wrap:anywhere}.estimate-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.solution-card{margin-top:.75rem;padding:.75rem;min-width:0;max-width:100%}.solution-block{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.solution-block h3{margin:0 0 .5rem;font-size:.95rem}.solution-block h4{margin:0 0 .25rem;font-size:.875rem}.metric-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-bottom:.5rem;min-width:0}.metric{min-width:0;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface-elevated)}.metric-label{display:block;color:var(--muted);font-size:.75rem;overflow-wrap:anywhere}.metric-value{display:inline-block;max-width:100%;font-size:clamp(1.1rem,3.5vw,1.75rem);line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.metric-unit{margin-left:.25rem;color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.solution-card dl{margin:0}.solution-card dl>div{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;min-width:0;padding:.3rem 0;border-bottom:1px dashed var(--border)}.solution-card dl>div:last-child{border-bottom:none}.solution-card dt{min-width:0;color:var(--muted);overflow-wrap:anywhere}.solution-card dd{flex:1 1 0;min-width:0;margin:0;text-align:right;overflow-wrap:anywhere}.solution-cost-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-width:0}.solution-cost-option{min-width:0;padding:.5rem .65rem;border:1px solid var(--border);border-radius:8px}.solution-cost-option.is-cheaper{border-color:var(--accent);background-color:var(--accent-soft)}.solution-cost-total{margin:.25rem 0;font-size:clamp(.95rem,2.5vw,1.1rem);font-weight:700;overflow-wrap:anywhere}.solution-cost-option p{margin:0;overflow-wrap:anywhere}.solution-comparison{margin:.75rem 0 0;font-size:.9rem;overflow-wrap:anywhere}.reference-value{color:var(--muted)}.estimate-note{margin:.5rem 0 0;color:var(--muted)}.sensitivity-table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.sensitivity-table{width:100%;min-width:240px;border-collapse:collapse;font-size:.85rem}.sensitivity-caption{padding:.5rem .65rem;border-bottom:1px solid var(--border);color:var(--muted);font-size:.75rem;text-align:left}.sensitivity-table thead th{padding:.45rem .65rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);color:var(--muted);font-weight:600;text-align:left;white-space:nowrap}.sensitivity-table tbody th{padding:.5rem .65rem;border-bottom:1px solid var(--border);font-weight:600;text-align:left;white-space:nowrap}.sensitivity-table tbody td{min-width:0;padding:.4rem .65rem;border-bottom:1px solid var(--border)}.sensitivity-table tbody tr:last-child th,.sensitivity-table tbody tr:last-child td{border-bottom:none}.sensitivity-tiers{display:flex;flex-wrap:wrap;gap:.3rem;margin:0;padding:0;list-style:none}.sensitivity-tier{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.3rem;min-width:0;padding:.15rem .4rem;border:1px solid var(--border);border-radius:6px;background-color:var(--surface-elevated);font-size:.78rem}.sensitivity-tier-label{color:var(--muted);font-variant-numeric:tabular-nums}.sensitivity-tier-result{overflow-wrap:anywhere}.sensitivity-tier.is-flip{border-color:var(--warning);background-color:var(--warning-bg);color:var(--warning-text)}.sensitivity-tier.is-flip .sensitivity-tier-label{color:var(--warning-text)}.sensitivity-flip-tag{padding:0 .3rem;border-radius:999px;background-color:var(--warning);color:var(--warning-bg);font-size:.68rem;font-weight:600}.solution-card-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--border)}.confirm-button{border-color:var(--accent);background-color:var(--accent);color:var(--accent-contrast)}.confirm-button:hover:not(:disabled){background-color:var(--accent-hover)}@media (max-width: 767px){.app-topbar{gap:.5rem;padding:0 .75rem}.app-topbar-user{max-width:5rem}.conversation-layout{grid-template-columns:minmax(0,1fr)}.panel-toggle,.panel-close{display:inline-flex}.panel-collapse{display:none}.panel-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background-color:var(--overlay)}.conversation-panel{display:none;position:static}.conversation-panel.is-open{display:block;position:fixed;top:auto;left:0;right:0;bottom:0;z-index:30;max-height:78vh;overflow-y:auto;margin:0;border-radius:12px 12px 0 0;box-shadow:var(--shadow-panel)}}.home-intro,.home-scenarios,.home-qa{background-color:var(--surface)}.capability-list{margin:1rem 0 0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.35rem}.scenario-entries{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1rem;margin-top:1rem}.scenario-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface-subtle)}.scenario-card h3{margin:0;font-size:1rem}.scenario-card p{flex:1;margin:0}.scenario-card button{align-self:flex-start;border-color:var(--accent);background-color:var(--surface);color:var(--accent)}.scenario-card button:hover:not(:disabled){background-color:var(--accent-soft)}.chip-row{display:flex;flex-wrap:wrap;gap:.5rem}.chip{border-radius:999px;padding:.3rem .85rem;background-color:var(--surface)}.chip:hover:not(:disabled){border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent)}.solution-save-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem;padding:.9rem;border:1px solid var(--info-border);border-radius:8px;background-color:var(--info-soft)}.solution-save-form label{font-weight:600}.solution-save-form input,.solution-save-form select{width:100%;min-width:0}.solution-save-form .save-both-option{display:flex;flex-direction:column;gap:.35rem}.solution-save-form .save-both-option label{display:flex;align-items:center;gap:.5rem}.solution-save-form .save-both-option input[type=checkbox]{width:auto;flex:0 0 auto}.solution-save-form .save-both-option .panel-actions-hint{margin:0}.save-failure-list{margin:.5rem 0;padding-left:1.2rem}.solution-library-page{max-width:880px}.solution-library-filters{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.solution-library-filter-field{display:flex;flex-direction:column;gap:.25rem;min-width:0;font-weight:600}.solution-library-filter-field input,.solution-library-filter-field select{min-width:0;font-weight:400}.solution-library-filter-field select{min-width:130px}.solution-library-filter-keyword{flex:1 1 240px}.solution-library-list{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.solution-library-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:74px;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.solution-library-main{flex:1 1 auto;min-width:0;color:inherit;text-decoration:none}.solution-library-main h2{margin:0;font-size:1.05rem;line-height:1.45;overflow-wrap:anywhere}.solution-library-main:hover h2{color:var(--accent);text-decoration:underline}.solution-library-main p{margin:.375rem 0 0;line-height:1.5}.solution-library-lead{color:var(--accent)}.solution-library-actions{flex:none;display:flex;gap:.75rem;white-space:nowrap}.solution-library-empty{margin-top:1.5rem;background-color:var(--surface)}.solution-library-empty h2{margin-top:0}.leads-page{max-width:880px}.leads-filters{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap;margin-top:1.25rem}.leads-filter-field{display:flex;flex-direction:column;gap:.25rem;min-width:0;font-weight:600}.leads-filter-field select{min-width:140px;font-weight:400}.leads-table-wrap{margin-top:1rem;border:1px solid var(--border);border-radius:8px;overflow-x:auto}.leads-table{width:100%;border-collapse:collapse;font-size:.9rem}.leads-table thead th{padding:.6rem .75rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);text-align:left;white-space:nowrap}.leads-table tbody td{padding:.65rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle;overflow-wrap:anywhere}.leads-table tbody tr:last-child td{border-bottom:none}.leads-table select{max-width:100%;min-width:0}.leads-status-cell{display:flex;flex-direction:column;gap:.35rem;min-width:0}.leads-row-error{color:var(--danger-text);font-size:.8rem;overflow-wrap:anywhere}.leads-next-cell{display:flex;flex-direction:column;gap:.35rem;min-width:0}.leads-next-view,.leads-next-edit{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;min-width:0}.leads-next-view>span:first-child{overflow-wrap:anywhere}.leads-next-edit input{min-width:0;max-width:100%}.leads-overdue-text{color:var(--danger-text);font-weight:600}.leads-overdue-badge{padding:.05rem .4rem;border:1px solid var(--danger-border);border-radius:999px;background-color:var(--danger-bg);color:var(--danger-text);font-size:.75rem;font-weight:600;white-space:nowrap}.leads-actions-cell{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;min-width:0}.leads-empty{margin-top:1.5rem;background-color:var(--surface)}.leads-empty h2{margin-top:0}.leads-detail-row>td{padding:0;background-color:var(--surface-muted)}.lead-detail{display:flex;flex-direction:column;gap:1rem;padding:1rem 1.25rem}.lead-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.lead-detail-meta-item{display:flex;flex-direction:column;gap:.2rem;min-width:0;overflow-wrap:anywhere}.lead-detail-note{grid-column:1 / -1}.lead-followup-form{display:flex;flex-direction:column;gap:.5rem}.lead-followup-form label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-weight:600}.lead-followup-form textarea{width:100%;min-width:0;font-weight:400}.lead-followup-actions{display:flex;justify-content:flex-end}.lead-followup-list h3{margin:0 0 .5rem;font-size:1rem}.lead-followup-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}.lead-followup-item{padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.lead-followup-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;flex-wrap:wrap;font-size:.85rem;min-width:0}.lead-followup-head time{color:var(--muted)}.lead-followup-item p{margin:.35rem 0 0;white-space:pre-wrap;overflow-wrap:anywhere}@media (max-width: 768px){.leads-table-wrap{margin-top:.75rem;border:none;overflow-x:visible}.leads-table,.leads-table tbody,.leads-table tr,.leads-table td{display:block;width:100%}.leads-table thead{display:none}.leads-table tbody tr{margin-top:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.leads-table tbody td{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-bottom:none;min-width:0}.leads-table tbody td:before{content:attr(data-label);flex:none;color:var(--muted);font-weight:600}.leads-status-cell,.leads-next-cell,.leads-actions-cell{min-width:0}.leads-table tbody tr.leads-detail-row{margin-top:0;padding:0;border:none;background:none}.leads-detail-row>td{display:block;padding:0}.leads-detail-row>td:before{content:none}.lead-detail{padding:.75rem 1rem}}.customer-list-page{max-width:880px}.customer-list{list-style:none;margin:1.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.75rem}.customer-list-item{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.customer-list-main{flex:1 1 12rem;min-width:0}.customer-list-main h2{margin:0;font-size:1.05rem;overflow-wrap:anywhere}.customer-list-main p{margin:.35rem 0 0}.customer-list-count{flex:none;color:var(--accent);font-variant-numeric:tabular-nums}.customer-list-empty{margin-top:1.5rem;background-color:var(--surface)}.customer-list-empty h2{margin-top:0}.customer-detail-page{max-width:880px}.customer-detail-info,.customer-detail-projects,.customer-detail-leads{margin-top:1.5rem;background-color:var(--surface)}.customer-detail-info h2,.customer-detail-projects h2,.customer-detail-leads h2{margin-top:0}.customer-detail-info dl{margin:0;display:flex;flex-direction:column;gap:.6rem}.customer-detail-info dl>div{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.customer-detail-info dt{flex:none;min-width:4.5rem;color:var(--muted)}.customer-detail-info dd{flex:1 1 12rem;min-width:0;margin:0;overflow-wrap:anywhere}.customer-detail-note{white-space:pre-wrap}.customer-project-list,.customer-solution-list{list-style:none;margin:1rem 0 0;padding:0}.customer-project-list{display:flex;flex-direction:column;gap:1rem}.customer-project-item{padding:1rem 1.25rem;border:1px solid var(--border);border-radius:8px}.customer-project-head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem}.customer-project-head h3{margin:0;min-width:0;font-size:1rem;overflow-wrap:anywhere}.customer-project-status{flex:none}.customer-solution-list{margin-top:.75rem;display:flex;flex-direction:column;gap:.5rem}.customer-solution-link{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;padding:.6rem .75rem;border-radius:6px;text-decoration:none}.customer-solution-name{min-width:0;font-weight:500;overflow-wrap:anywhere}.customer-solution-meta{min-width:0;overflow-wrap:anywhere}.customer-detail-leads h3{margin:1.25rem 0 .5rem;font-size:1rem}.customer-lead-list{list-style:none;margin:.75rem 0 0;padding:0;display:flex;flex-direction:column;gap:.5rem}.customer-lead-link{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.25rem 1rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:6px;text-decoration:none;min-width:0}.customer-lead-name{min-width:0;font-weight:500;overflow-wrap:anywhere}.customer-lead-meta{min-width:0;overflow-wrap:anywhere}.customer-followup-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem;min-width:0}.customer-followup-solution,.customer-followup-meta{min-width:0;overflow-wrap:anywhere}.customer-detail-empty{margin-top:1.5rem;background-color:var(--surface)}.customer-detail-empty h2{margin-top:0}.customer-create,.customer-detail-edit{margin-top:1.5rem;background-color:var(--surface)}.customer-create h2,.customer-detail-edit h2{margin-top:0}.customer-create form,.customer-detail-edit form{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.customer-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.customer-form-grid label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.875rem;font-weight:600}.customer-form-grid input,.customer-form-grid textarea{width:100%;min-width:0;font-weight:400}.customer-form-wide{grid-column:1 / -1}.customer-form-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.customer-danger-zone{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--border)}.customer-delete-confirm p{margin:0 0 .75rem;overflow-wrap:anywhere}.project-create{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem;padding:1rem;border:1px solid var(--border);border-radius:8px}.customer-project-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.75rem}.customer-project-actions .customer-delete-confirm{flex:1 1 100%}.project-edit-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.solution-compare-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1.5rem;padding:.75rem 1rem;border:1px solid var(--info-border);border-radius:8px;background-color:var(--info-soft)}.solution-compare-bar p{margin:0}.solution-library-checkbox{flex:none;width:1.05rem;height:1.05rem;accent-color:var(--accent)}.solution-library-item.is-selected{border-color:var(--accent);background-color:var(--info-soft)}.solution-compare-page{min-width:0;max-width:1180px}.compare-empty{margin-top:1.5rem;background-color:var(--surface)}.compare-empty h2{margin-top:0}.compare-summary{margin:1.25rem 0 .75rem}.compare-table-wrap{margin-top:1rem;overflow-x:auto;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.compare-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.9rem}.compare-caption{padding:.6rem .75rem;border-bottom:1px solid var(--border);color:var(--muted);font-size:.8rem;text-align:left}.compare-table thead th{min-width:0;padding:.65rem .75rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);text-align:left;vertical-align:top}.compare-table thead th:first-child{white-space:nowrap}.compare-col-name{display:block;font-weight:700;overflow-wrap:anywhere}.compare-table thead th .muted{display:block;margin-top:.15rem;font-weight:400}.compare-leader-tag{display:inline-block;margin-top:.3rem;padding:0 .4rem;border-radius:999px;background-color:var(--success);color:var(--success-contrast);font-size:.7rem;font-weight:600}.compare-table tbody th{padding:.55rem .75rem;border-bottom:1px solid var(--border);color:var(--muted);font-weight:600;text-align:left;white-space:nowrap}.compare-table tbody td{min-width:0;padding:.55rem .75rem;border-bottom:1px solid var(--border);overflow-wrap:anywhere}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:none}.compare-row--diff>th{color:var(--accent)}.compare-cell{min-width:0;font-family:var(--mono);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.compare-cell--leader{background-color:var(--success-bg)}.compare-cell--diff{background-color:var(--warning-bg)}.compare-cell--best{background-color:var(--success-bg);color:var(--success-text);font-weight:700}.compare-best-tag,.compare-same-tag,.compare-diff-tag{display:inline-block;margin-left:.4rem;padding:0 .35rem;border-radius:999px;font-size:.7rem;font-weight:600}.compare-best-tag{background-color:var(--success);color:var(--success-contrast)}.compare-same-tag{background-color:var(--surface-hover);color:var(--muted)}.compare-diff-tag{background-color:var(--warning-soft);color:var(--warning-text)}.compare-note{margin-top:1rem}.solution-detail-page{max-width:880px;min-width:0}.solution-detail-params{margin-top:1.5rem;min-width:0}.solution-detail-params h2{margin-top:0}.solution-detail-params dl{margin:.75rem 0 0;min-width:0}.solution-detail-params dl>div{display:flex;align-items:baseline;gap:1rem;min-width:0;padding:.45rem .5rem;border-bottom:1px solid var(--border)}.solution-detail-params dl>div:last-child{border-bottom:none}.solution-detail-params dt{min-width:0;color:var(--muted);overflow-wrap:anywhere}.solution-detail-params dd{flex:1 1 0;min-width:0;margin:0 0 0 auto;text-align:right;overflow-wrap:anywhere}.solution-detail-conclusion{min-width:0;padding:1.25rem 1.5rem;border:1px solid var(--accent-soft-border);border-radius:12px;background-color:var(--accent-soft);box-shadow:none}[data-theme=dark] .solution-detail-conclusion{background-color:var(--accent-soft);border-color:var(--accent-soft-border);box-shadow:none}.solution-detail-conclusion h2{margin-top:0}.solution-detail-conclusion h3{margin:1rem 0 .35rem;font-size:1rem}.solution-detail-conclusion p{margin:.5rem 0 0;overflow-wrap:anywhere}.solution-detail-conclusion-summary{font-size:1.02rem;line-height:1.6}.solution-detail-conclusion ul{margin:.35rem 0 0;padding-left:1.25rem}.solution-detail-conclusion li{margin:.3rem 0;overflow-wrap:anywhere}.solution-detail-conclusion-basis{margin-top:1rem}.solution-detail-conclusion-basis summary{cursor:pointer;font-weight:600}.solution-detail-conclusion-basis dl{margin:.5rem 0 0;min-width:0}.solution-detail-conclusion-basis dl>div{display:flex;align-items:baseline;gap:1rem;min-width:0;padding:.4rem 0;border-bottom:1px solid var(--accent-soft-border)}.solution-detail-conclusion-basis dl>div:last-child{border-bottom:none}.solution-detail-conclusion-basis dt{min-width:0;color:var(--muted);overflow-wrap:anywhere}.solution-detail-conclusion-basis dd{flex:1 1 0;min-width:0;margin:0 0 0 auto;text-align:right;overflow-wrap:anywhere}.solution-detail-empty{margin-top:1.5rem;background-color:var(--surface)}.solution-detail-empty h2{margin-top:0}.solution-detail-footer{margin-top:1rem}.solution-detail-lead{margin:1rem 0 0;color:var(--accent);overflow-wrap:anywhere}.solution-detail-lead-form{display:flex;flex-direction:column;gap:.75rem;margin-top:1rem;padding:1rem 1.25rem;border:1px solid var(--border);border-radius:12px;background-color:var(--surface)}.solution-detail-lead-form label{display:flex;flex-direction:column;gap:.35rem;min-width:0;font-size:.875rem;font-weight:600}.solution-detail-lead-form textarea{width:100%;min-width:0;font-weight:400}.solution-detail-lead-actions{display:flex;align-items:center;gap:.75rem}.solution-detail-share{margin-top:1.5rem;min-width:0}.solution-detail-share h2{margin-top:0}.solution-share-create{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem;margin-top:1rem}.solution-share-create label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:600}.solution-share-create select{min-width:8rem}.solution-share-created{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:1rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;background-color:var(--surface);min-width:0}.solution-share-url{flex:1 1 16rem;min-width:0;overflow-wrap:anywhere}.solution-share-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.solution-share-item{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:10px;background-color:var(--surface);min-width:0}.solution-share-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;min-width:0}.solution-share-status{padding:.1rem .5rem;border:1px solid transparent;border-radius:999px;font-size:.72rem;font-weight:600}.solution-share-status.is-active{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-text)}.solution-share-status.is-revoked{border-color:var(--danger-border);background-color:var(--danger-bg);color:var(--danger-text)}.solution-share-status.is-expired{border-color:var(--warning-border);background-color:var(--warning-bg);color:var(--warning-text)}.solution-share-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.share-page{max-width:880px;min-width:0}.share-page-header h1{overflow-wrap:anywhere}.share-page-empty{margin-top:1.5rem;background-color:var(--surface)}.share-page-empty h2{margin-top:0}.knowledge-upload form,.knowledge-web-search form,.knowledge-link form,.knowledge-sources form{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.knowledge-upload label,.knowledge-web-search label,.knowledge-link label,.knowledge-sources label{display:flex;flex-direction:column;gap:.35rem;font-weight:600}.knowledge-upload input[type=text],.knowledge-web-search input[type=search],.knowledge-link input,.knowledge-sources input{width:100%;font-weight:400}.knowledge-upload input[type=file]{padding:.35rem 0;border:none;background-color:transparent;font-weight:400}.knowledge-selection{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.55rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:.9rem;font-weight:400}.knowledge-selection span{overflow-wrap:anywhere}.knowledge-selection button{flex:none}.knowledge-progress{display:flex;flex-direction:column;gap:.4rem;margin-top:1rem;font-size:.9rem}.knowledge-progress progress{width:100%;height:.5rem}.knowledge-failed-list{margin:.5rem 0 0;padding-left:1.25rem}.knowledge-failed-list li{overflow-wrap:anywhere}.knowledge-upload>.alert,.knowledge-web-search>.alert,.knowledge-link>.alert,.knowledge-sources>.alert,.knowledge-pending>.alert{margin-top:1rem}.knowledge-link-preview{margin-top:1rem;padding:.85rem;border:1px solid var(--border);border-radius:8px}.knowledge-link-preview h3{margin:0 0 .35rem;font-size:1rem;overflow-wrap:anywhere}.knowledge-link-preview-url{margin:0 0 .5rem;overflow-wrap:anywhere}.knowledge-link-preview-text{margin:0;font-size:.9rem;white-space:pre-wrap;overflow-wrap:anywhere}.knowledge-link-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:.85rem}.web-search-results{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.web-search-result{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.web-search-result-main{display:flex;flex-direction:column;gap:.3rem;min-width:0}.web-search-result-title{margin:0;font-size:.95rem;overflow-wrap:anywhere}.web-search-result-url{color:var(--muted);overflow-wrap:anywhere}.web-search-result-snippet{margin:0;color:var(--muted);font-size:.85rem;overflow-wrap:anywhere}.web-search-fetch{flex:none;align-self:center}.knowledge-list h2{margin-top:0}.knowledge-empty{margin-top:1rem;padding:1.25rem 1rem;border:1px dashed var(--border);border-radius:8px;background-color:var(--surface-subtle);text-align:center}.knowledge-empty h3{margin:0 0 .35rem;font-size:1rem}.knowledge-empty p{margin:0}.knowledge-table-wrap{margin-top:1rem;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.knowledge-table{width:100%;min-width:820px;border-collapse:collapse;font-size:.9rem}.knowledge-table thead th{padding:.6rem .75rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);text-align:left;white-space:nowrap}.knowledge-table tbody td{padding:.6rem .75rem;border-bottom:1px solid var(--border);vertical-align:middle}.knowledge-table tbody tr:last-child td{border-bottom:none}.knowledge-group-header{padding:.55rem .75rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border);text-align:left}.knowledge-table tbody tr:first-child .knowledge-group-header{border-top:none}.knowledge-group-name{font-size:.85rem;overflow-wrap:anywhere}.knowledge-group-meta{margin-left:.6rem;color:var(--muted);font-size:.85rem;font-weight:400}.knowledge-title{font-weight:600;overflow-wrap:anywhere}.knowledge-source{color:var(--muted);overflow-wrap:anywhere}.knowledge-publisher{display:flex;flex-direction:column;gap:.15rem;overflow-wrap:anywhere}.knowledge-badge{display:inline-block;margin-left:.4rem;padding:.05rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.72rem;font-weight:500;line-height:1.4;white-space:nowrap;vertical-align:middle}.knowledge-badge-pending{border-color:var(--warning-border);background-color:var(--warning-bg);color:var(--warning-text)}.knowledge-confirm{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.danger-button{border-color:var(--danger-border);background-color:var(--surface);color:var(--danger-text)}.danger-button:hover:not(:disabled){background-color:var(--danger-bg)}.knowledge-badge-enabled{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-text)}.knowledge-badge-disabled{background-color:var(--surface-muted);color:var(--muted)}.knowledge-source-list,.knowledge-pending-list{display:flex;flex-direction:column;gap:.75rem;margin:1rem 0 0;padding:0;list-style:none}.knowledge-source-item,.knowledge-pending-item{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem;border:1px solid var(--border);border-radius:8px}.knowledge-source-main{display:flex;flex:1 1 220px;flex-direction:column;gap:.3rem;min-width:0}.knowledge-source-name{margin:0;font-size:.98rem;overflow-wrap:anywhere}.knowledge-source-url{color:var(--muted);overflow-wrap:anywhere}.knowledge-source-meta,.knowledge-sync-result,.knowledge-source-error{margin:0;overflow-wrap:anywhere}.knowledge-source-error{color:var(--danger-text)}.knowledge-source-actions{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:.5rem}.knowledge-pending{margin-top:1.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.knowledge-pending h3{margin:0 0 .35rem;font-size:1.05rem}.knowledge-pending-main{display:flex;flex:1 1 220px;flex-direction:column;gap:.25rem;min-width:0}.knowledge-pending-title{margin:0;font-size:.95rem;overflow-wrap:anywhere}.knowledge-pending-source{margin:0;color:var(--muted);overflow-wrap:anywhere}.knowledge-pending-meta{display:flex;flex-wrap:wrap;gap:.35rem 1rem;margin:0;color:var(--muted)}.knowledge-pending-actions{display:flex;flex:none;flex-wrap:wrap;align-items:center;gap:.5rem}.param-group h2{margin-top:0}.param-rows{margin-top:.75rem;border:1px solid var(--border);border-radius:8px;overflow:hidden}.param-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:.85rem 1rem;padding:.85rem .9rem;border-bottom:1px solid var(--border)}.param-row:last-child{border-bottom:none}.param-info{min-width:0}.param-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.param-key{font-weight:600;overflow-wrap:anywhere}.param-badge{padding:.05rem .45rem;border:1px solid var(--info-border);border-radius:999px;background-color:var(--info-bg);font-size:.75rem}.param-description{margin:.3rem 0 0}.param-source-note{margin:.2rem 0 0;font-size:.78rem;color:var(--muted);overflow-wrap:anywhere}.param-updated{margin:.25rem 0 0}.param-editor{display:flex;align-items:flex-start;gap:.5rem}.param-editor input{flex:1;min-width:0;font-family:var(--mono);font-variant-numeric:tabular-nums}.param-feedback{grid-column:1 / -1;margin:0;font-size:.875rem}.param-feedback-saved{color:var(--success)}.param-feedback-error{color:var(--danger-text)}.llm-probe{margin-top:.85rem;padding:.9rem;border:1px dashed var(--border);border-radius:8px}.llm-probe h3{margin:0;font-size:1rem}.llm-probe-head p{margin:.3rem 0 0}.llm-probe-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.llm-probe-result{margin:.6rem 0 0;padding:.6rem .7rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem}.llm-probe-result-ok{border-color:var(--success-border);background-color:var(--success-bg)}.llm-probe-result-error{border-color:var(--danger-border);background-color:var(--danger-bg)}.llm-probe-result-title{margin:0;font-weight:600}.llm-probe-meta,.llm-probe-detail{margin:.25rem 0 0;overflow-wrap:anywhere}.llm-probe-hint{margin:.25rem 0 0;color:var(--danger-text)}@media (max-width: 720px){.param-row{grid-template-columns:minmax(0,1fr)}}.gpu-create form{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.gpu-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.gpu-form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:600}.gpu-form-grid input,.gpu-form-grid select{width:100%;font-weight:400}.gpu-form-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.gpu-form-actions p{margin:0}.gpu-filters{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.gpu-filters select{min-width:180px}.gpu-table-wrap{margin-top:.75rem;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.gpu-table{width:100%;min-width:1000px;border-collapse:collapse;font-size:.875rem}.gpu-table thead th{padding:.6rem .7rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);text-align:left;white-space:nowrap}.gpu-table tbody td{padding:.55rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle}.gpu-table tbody tr:last-child td{border-bottom:none}.gpu-table input,.gpu-table select{width:100%;padding:.3rem .4rem;font-size:.875rem}.gpu-number{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap}.gpu-number input{text-align:right}.gpu-vendor,.gpu-model{font-weight:600;white-space:nowrap}.gpu-precision{color:var(--muted);white-space:nowrap}.gpu-status{display:inline-block;padding:.05rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.75rem;white-space:nowrap}.gpu-status-active{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-text)}.gpu-status-inactive{background-color:var(--surface-muted);color:var(--muted)}.gpu-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.gpu-badge{display:inline-block;padding:.05rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.72rem;line-height:1.4;white-space:nowrap}.gpu-badge-usable{border-color:var(--accent-soft-border);background-color:var(--info-soft);color:var(--info-text)}.gpu-badge-unusable{border-color:var(--warning-border);background-color:var(--warning-bg);color:var(--warning-text)}.gpu-availability-hint{margin:.3rem 0 0;line-height:1.5}.gpu-actions{display:flex;align-items:center;gap:.4rem;white-space:nowrap}.gpu-actions button{padding:.3rem .6rem;font-size:.85rem}.gpu-empty{margin-top:1rem;padding:1.25rem 1rem;border:1px dashed var(--border);border-radius:8px;background-color:var(--surface-subtle);text-align:center}.gpu-empty h3{margin:0 0 .35rem;font-size:1rem}.gpu-empty p{margin:0}.admin-page{max-width:none;margin:0;padding:1.25rem}.admin-nav{display:flex;flex-wrap:wrap;gap:.25rem;padding:.35rem;margin-bottom:1.5rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.admin-nav-link{padding:.4rem .75rem;border-radius:6px;color:var(--muted);font-size:.9rem}.admin-nav-link:hover{background-color:var(--surface-hover);text-decoration:none}.admin-nav-link.is-active{background-color:var(--accent);color:var(--accent-contrast)}.admin-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:1.5rem}.admin-section-card{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface)}.admin-section-card h2{margin:0;font-size:1rem}.admin-section-card p{flex:1;margin:0}.users-create form{display:flex;flex-direction:column;gap:.85rem;margin-top:.75rem}.users-form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.users-form-grid label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:600}.users-form-grid input,.users-form-grid select{width:100%;font-weight:400}.users-form-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap}.users-form-actions p{margin:0}.users-summary{margin:.75rem 0 0}.users-hint{margin:.5rem 0 0}.users-table-wrap{margin-top:.5rem;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.users-table{width:100%;min-width:860px;border-collapse:collapse;font-size:.875rem}.users-table thead th{padding:.6rem .7rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);text-align:left;white-space:nowrap}.users-table tbody td{padding:.55rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle}.users-table input{width:100%;min-width:120px;padding:.3rem .4rem;font-size:.85rem}.users-table tbody tr:last-child td{border-bottom:none}.users-email{font-family:var(--mono);white-space:nowrap}.user-role{display:inline-block;padding:.05rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.75rem;white-space:nowrap}.user-role-admin{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-text)}.user-role-presales{border-color:var(--info-border);background-color:var(--info-bg)}.user-role-guest{background-color:var(--surface-muted);color:var(--muted)}.user-status{display:inline-block;padding:.05rem .45rem;border:1px solid var(--border);border-radius:999px;font-size:.75rem;white-space:nowrap}.user-status-active{border-color:var(--success-border);background-color:var(--success-bg);color:var(--success-text)}.user-status-disabled{border-color:var(--danger-border);background-color:var(--danger-bg);color:var(--danger-text)}.users-actions{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.users-actions select{min-width:160px;padding:.3rem .4rem;font-size:.85rem}.users-password-form{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.users-password-form input{width:auto;min-width:150px}.users-actions button{padding:.3rem .6rem;font-size:.85rem}.users-empty{margin-top:1rem;padding:1.25rem 1rem;border:1px dashed var(--border);border-radius:8px;background-color:var(--surface-subtle);text-align:center}.users-empty h3{margin:0 0 .35rem;font-size:1rem}.users-empty p{margin:0}.permissions-table-wrap{margin-top:.5rem;overflow-x:auto;border:1px solid var(--border);border-radius:8px}.permissions-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.875rem}.permissions-table thead th{padding:.6rem .7rem;border-bottom:1px solid var(--border);background-color:var(--surface-muted);text-align:center;white-space:nowrap}.permissions-table thead th:first-child{text-align:left}.permissions-table tbody td{padding:.55rem .7rem;border-bottom:1px solid var(--border);vertical-align:middle;text-align:center}.permissions-table tbody td:first-child{text-align:left}.permissions-table tbody tr:last-child td{border-bottom:none}.permissions-table input[type=checkbox]{width:1rem;height:1rem}.permission-name{display:flex;flex-direction:column;gap:.15rem}.permission-name code{font-family:var(--mono);font-size:.75rem;color:var(--muted)}.permissions-actions{display:flex;align-items:center;gap:.85rem;flex-wrap:wrap;margin-top:1rem}.permissions-actions p{margin:0}main.qa-page{height:100%;min-height:0;max-width:none;margin:0;padding:1.25rem}.qa-page{display:flex;flex-direction:column;gap:1rem}.qa-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;grid-template-rows:minmax(0,1fr);gap:1rem;align-items:start;flex:1 1 auto;min-height:0}@media (max-width: 1023px){.qa-layout{grid-template-columns:minmax(0,1fr) 240px}}@media (max-width: 768px){main.qa-page{height:auto;min-height:100%}.qa-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;flex:0 0 auto}.qa-chat{height:calc(100dvh - 56px - 2.5rem)}}.qa-page .message-user{max-width:min(80%,60rem)}.qa-suggestions{margin-top:0;padding:1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);min-width:0}.qa-suggestions h2{margin:0;font-size:1rem}.qa-suggestions-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.qa-suggestions .chip{width:100%;text-align:left;white-space:normal;line-height:1.4}.qa-chat{display:flex;flex-direction:column;gap:.75rem;margin-top:0;min-width:0;min-height:0;align-self:stretch}.qa-chat-messages{position:relative;display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0}.qa-chat ol{list-style:none;margin:0;padding:0 .25rem 0 0;display:flex;flex:1 1 auto;flex-direction:column;gap:.75rem;min-height:0;overflow-y:auto;scroll-behavior:smooth}.qa-chat .composer{flex:0 0 auto;width:100%}.qa-empty{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;overflow-y:auto;text-align:center}.qa-empty-icon{flex:0 0 auto;width:3rem;height:3rem;color:var(--accent)}.qa-empty-lead{margin:0;max-width:30rem;color:var(--muted);font-size:.95rem;overflow-wrap:anywhere}.qa-empty-samples{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem;width:min(100%,32rem)}.qa-empty-sample{width:100%;padding:.7rem 1rem;text-align:left;white-space:normal;line-height:1.4;overflow-wrap:anywhere;border-radius:8px;background-color:var(--surface)}.qa-empty-sample:hover:not(:disabled){border-color:var(--accent);background-color:var(--accent-soft);color:var(--accent)}.qa-citations{margin-top:.6rem;padding-top:.5rem;border-top:1px dashed var(--border)}.qa-citations ul{list-style:none;margin:.35rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem 1rem}.qa-citations li{font-size:.875rem;overflow-wrap:anywhere}.message-assistant{background-color:var(--surface)}.qa-chat .message-assistant{background-color:transparent;border-color:transparent}.qa-answer{display:flex;flex-direction:column;gap:.7rem;margin-top:.5rem;line-height:1.75}.qa-answer-card{min-width:0;padding:.85rem 1rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);box-shadow:var(--shadow);overflow-wrap:anywhere}.qa-answer-lead{min-width:0}.qa-answer-cards{display:grid;grid-template-columns:minmax(0,1fr);gap:.7rem;min-width:0}@media (min-width: 1024px){.qa-answer-cards{grid-template-columns:repeat(auto-fit,minmax(min(240px,45%),1fr))}}.qa-answer-card>.qa-answer-heading:first-child{margin-top:0}.qa-answer-paragraph{margin:0;overflow-wrap:anywhere}.qa-answer-heading{margin:.3rem 0 0;font-size:.95rem}.qa-answer-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.qa-answer-item{display:flex;gap:.65rem;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;background-color:var(--surface-subtle)}.qa-answer-marker{flex:none;display:inline-flex;align-items:center;justify-content:center;min-width:1.5rem;height:1.5rem;padding:0 .35rem;border-radius:999px;background-color:var(--accent);color:var(--accent-contrast);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}.qa-answer-item-body{min-width:0;overflow-wrap:anywhere}.qa-bullet-list{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:.3rem}.qa-bullet-list li{overflow-wrap:anywhere}.qa-answer-source{padding:.7rem .85rem;border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:8px;background-color:var(--info-soft)}.qa-answer-source-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.qa-answer-source-badge{flex:none;padding:.05rem .4rem;border-radius:999px;background-color:var(--accent);color:var(--accent-contrast);font-family:var(--mono);font-size:.75rem;font-weight:700}.qa-answer-source-title{font-weight:600;overflow-wrap:anywhere}.qa-answer-source-body{display:flex;flex-direction:column;gap:.5rem}.qa-citation-ref{color:var(--accent);font-family:var(--mono);font-size:.8em;text-decoration:none;white-space:nowrap}.qa-citation-ref:hover{text-decoration:underline}.qa-citation-anchor{scroll-margin-top:1rem}.dash-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-bottom:1rem}.dash-metric{padding:.9rem 1rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);min-width:0}.dash-metric-label{margin:0 0 .25rem;font-size:.8rem;color:var(--muted)}.dash-metric-value{margin:0;font-size:clamp(1.25rem,3vw,1.6rem);font-weight:500;overflow-wrap:anywhere}.dash-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.dash-card{padding:1rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);min-width:0}.dash-card-title{margin:0 0 .75rem;font-size:.95rem;font-weight:500}.dash-bar{display:flex;height:10px;border-radius:999px;overflow:hidden;background:var(--surface-muted);margin-bottom:.6rem}.dash-bar--empty{opacity:.6}.dash-bar-seg{display:block;min-width:2px}.dash-bar-seg-0{background:var(--accent)}.dash-bar-seg-1{background:var(--success)}.dash-bar-seg-2{background:var(--warning)}.dash-bar-seg-3{background:var(--info-text)}.dash-bar-seg-4{background:var(--danger)}.dash-bar-seg-5{background:var(--muted)}.dash-legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.3rem;font-size:.82rem}.dash-legend li{display:flex;align-items:center;gap:.4rem;color:var(--muted)}.dash-legend li strong{margin-left:auto;color:var(--text);font-weight:500}.dash-legend--plain li{justify-content:space-between}.dash-dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.dash-columns{display:flex;align-items:flex-end;gap:.35rem;height:120px;padding-top:.4rem}.dash-column{flex:1 1 0;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;min-width:0}.dash-column-bar{width:100%;max-width:28px;border-radius:4px 4px 0 0;background:var(--accent);min-height:4px}.dash-column-label{margin-top:.3rem;font-size:.68rem;color:var(--muted);white-space:nowrap}.audit-toolbar{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.9rem}.audit-detail{max-width:22rem;overflow-wrap:anywhere}.audit-empty{padding:1.5rem;border-radius:12px;border:1px solid var(--border);background:var(--surface);text-align:center}.audit-empty h2{margin:0 0 .4rem;font-size:1rem;font-weight:500}@media (max-width: 1024px){.dash-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-grid{grid-template-columns:1fr}}@media (max-width: 768px){.audit-detail{max-width:none}.dash-columns{height:96px}}
