﻿:root{--bg: #f6f7f9;--surface: #ffffff;--border: #e2e5ea;--ink: #1a1d24;--muted: #646b78;--accent: #3a5bd9;--accent-ink: #ffffff;--error: #c0392b;--radius: 10px;--mono: ui-monospace, "SF Mono", "Cascadia Mono", Menlo, monospace}@media(prefers-color-scheme: dark){:root{--bg: #14161b;--surface: #1d2027;--border: #2c313b;--ink: #e8eaf0;--muted: #9aa2b1;--accent: #6f8bff;--accent-ink: #0b0d12;--error: #ff6b5e}}*{box-sizing:border-box}[hidden]{display:none !important}body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.45}.app-shell{--shell: 60rem;max-width:var(--shell);margin:0 auto;padding:1.25rem clamp(1rem,2.5vw,2.5rem)}.app-shell:has(.demands),.app-shell:has(.vendors),.app-shell:has(.vendor-detail),.app-shell:has(.conversations),.app-shell:has(.savings),.app-shell:has(.library){--shell: 84rem}.app-shell:has(.workspace),.app-shell:has(.intake){--shell: 100rem}.app-shell.center{display:flex;min-height:100vh;align-items:center;justify-content:center;padding:1.5rem}.app-shell.center .card{max-width:32rem}.topbar{display:flex;align-items:center;gap:1rem;padding:.75rem 0 1.25rem;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.topbar .brand{font-weight:700;letter-spacing:-0.01em}.topbar .org{color:var(--muted);font-size:.9rem}.topbar nav{margin-left:auto;display:flex;gap:.25rem}.topbar nav button{background:none;border:none;color:var(--muted);cursor:pointer;padding:.4rem .7rem;border-radius:8px;font-size:.9rem}.topbar nav button:hover{color:var(--ink);background:var(--bg)}.topbar nav button.active{color:var(--ink);background:var(--bg);font-weight:600}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;margin-bottom:1.25rem}h1{font-size:1.4rem;margin:0 0 .5rem}h2{font-size:1.05rem;margin:0 0 .75rem}.muted{color:var(--muted)}.small{font-size:.85rem}.error,.notice{color:var(--error);font-size:.9rem}.notice{color:var(--accent)}.onboard{width:min(28rem,92vw)}label{display:block;margin:.6rem 0;font-size:.85rem;color:var(--muted)}label.check{display:flex;align-items:center;gap:.5rem;color:var(--ink)}input,select{display:block;width:100%;margin-top:.25rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--ink);font:inherit}input[type=number]{font-family:var(--mono)}label.check input{width:auto;margin-top:0}button.primary,.primary-link{display:inline-block;margin-top:.75rem;padding:.55rem 1rem;background:var(--accent);color:var(--accent-ink);border:none;border-radius:8px;font:inherit;font-weight:600;cursor:pointer;text-decoration:none}button.primary:disabled{opacity:.5;cursor:default}.empty{padding:1rem 0}.empty .small{margin-top:.5rem}ul.rows{list-style:none;margin:0;padding:0}ul.rows li{padding:.4rem 0;border-bottom:1px solid var(--border);font-size:.9rem}ul.rows li:last-child{border-bottom:none}ul.rows li .spacer{flex:1 1 auto}ul.rows li{display:flex;align-items:baseline;gap:.5rem}.budget-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.chip.budget-ok{color:#2f855a}.chip.budget-warning{color:#b7791f;border-color:#b7791f}.chip.budget-stopped{color:var(--error);border-color:var(--error)}a{color:var(--accent)}.list-head{display:flex;align-items:center;justify-content:space-between}.filters{display:flex;gap:.75rem;margin:.75rem 0 1rem}.filters input,.filters select{width:auto;margin:0}.filters input{flex:1}table.grid{width:100%;border-collapse:collapse;font-size:.9rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table.grid th,table.grid td{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border)}table.grid th{font-weight:600;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.03em}table.grid td.num,table.grid th.num{text-align:right;font-family:var(--mono)}table.grid tbody tr:last-child td{border-bottom:none}tr.clickable{cursor:pointer}tr.clickable:hover td{background:var(--bg)}.chip{display:inline-block;padding:.1rem .5rem;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--bg);color:var(--muted);border:1px solid var(--border)}.chip--submitted{color:#1f5aa0}.chip--quoting{color:#6b46c1}.chip--analysed{color:#1b7040}.chip--decided{color:#216048}.chip--closed{color:#565f6d}.chip--cancelled{color:#b02a1e}.chip--draft{color:#565f6d}@media(prefers-color-scheme: dark){.chip--submitted{color:#7fb0e8}.chip--quoting{color:#b79df0}.chip--analysed{color:#6bcf94}.chip--decided{color:#7fdba8}.chip--closed{color:#9aa2b1}.chip--cancelled{color:#ff8a7e}.chip--draft{color:#9aa2b1}}.ws-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.ws-head h1{margin:0;font-size:1.25rem}.ws-head .ghost{margin-left:auto}button.link,button.ghost{background:none;border:none;color:var(--muted);cursor:pointer;font:inherit;padding:.3rem .5rem;border-radius:6px}button.link:hover,button.ghost:hover{color:var(--ink)}button.ghost{border:1px solid var(--border)}.ws-body{display:flex;gap:1.25rem;align-items:flex-start}.ws-main{flex:1;min-width:0}.ai-panel{width:340px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;max-height:calc(100vh - 8rem);position:sticky;top:1rem}.ai-panel h3{margin-top:0;font-size:.95rem}.ai-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.ai-head h3{margin:0}.ai-head-actions{display:flex;gap:.35rem}.chat-history{list-style:none;padding:.35rem;margin:.35rem 0;background:var(--bg);border-radius:8px;max-height:180px;overflow-y:auto}.chat-history-item{display:block;width:100%;text-align:left;background:none;border:none;padding:.35rem .45rem;border-radius:6px;cursor:pointer;font:inherit;color:var(--ink)}.chat-history-item:hover{background:var(--surface)}.chat-history-item.active{background:rgba(58,91,217,.1);font-weight:600}.chat-scroll{flex:1;overflow-y:auto;margin:.5rem 0;min-height:120px;display:flex;flex-direction:column;gap:.5rem}.msg{padding:.5rem .6rem;border-radius:8px;font-size:.85rem;line-height:1.4;list-style:none}.msg--user{background:rgba(58,91,217,.1);align-self:flex-end;max-width:90%}.msg--assistant{background:var(--bg)}.msg--system{background:none;color:var(--muted);font-size:.78rem;padding:.2rem .4rem}.chat-text{white-space:pre-wrap}.chat-activity{list-style:none;padding:0;margin:0 0 .4rem;font-size:.74rem;color:var(--muted)}.chat-activity li{padding:.05rem 0}.chat-activity li::before{content:"↳ "}.chat-cites{margin:.5rem 0 0;padding-left:1.2rem;font-size:.76rem}.chat-cites li{margin-bottom:.15rem}.chat-cites a{color:var(--accent)}.confirm-card{margin-top:.5rem;padding:.5rem .6rem;border:1px solid var(--accent);border-radius:8px;background:rgba(58,91,217,.06)}.confirm-card.cc-applied{border-color:var(--border);background:var(--surface);opacity:.75}.confirm-card.cc-dismissed{border-color:var(--border);background:var(--surface);opacity:.6}.cc-title{font-size:.82rem;font-weight:600;margin-bottom:.4rem}.cc-actions{display:flex;gap:.4rem}.cc-status{text-transform:capitalize}.chat-live{display:flex;align-items:center;gap:.5rem;font-size:.78rem;color:var(--muted);padding:.25rem .1rem}.chat-spinner{width:12px;height:12px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:chat-spin .7s linear infinite}@keyframes chat-spin{to{transform:rotate(360deg)}}.chat-form{display:flex;flex-direction:column;gap:.4rem}.chat-input{width:100%;resize:vertical;font:inherit;padding:.45rem .5rem;border:1px solid var(--border);border-radius:8px;box-sizing:border-box}.chat-readonly{margin:.5rem 0 0}.badge{display:inline-block;padding:.1rem .4rem;border-radius:6px;font-size:.72rem}.badge.warn{background:rgba(200,120,0,.14);color:#b06a00}.req-app{margin:0 auto;padding:0 clamp(1rem,3vw,2rem) 3rem}.req-app--compact{max-width:34rem}.req-app--wide{max-width:72rem}.req-form-grid,.req-captures{display:grid;grid-template-columns:1fr;gap:1rem}.req-status-cols{display:flex;flex-direction:column;gap:1rem}.req-status-main{min-width:0}@media(min-width: 48rem){.req-app--wide .req-form-grid{grid-template-columns:1fr 1fr;align-items:start}.req-app--wide .req-status-cols{flex-direction:row;align-items:flex-start}.req-app--wide .req-status-main{flex:1}.req-app--wide .req-status .ai-panel{width:340px;flex-shrink:0;position:sticky;top:1rem;max-height:calc(100vh - 4rem);margin-top:0}}.req-top{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0;position:sticky;top:0;background:var(--bg);z-index:2}.req-top .brand{font-weight:700}.req-home h1,.req-status h1,.req-new-demand h1{font-size:1.4rem}.req-new{width:100%;padding:.75rem;font-size:1rem;margin-bottom:1rem}.req-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.req-card{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.85rem;cursor:pointer;font:inherit;color:var(--ink)}.req-card:hover{border-color:var(--accent)}.req-card-title{font-weight:600;flex:1 1 100%}.req-head{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem;align-items:flex-start}.req-head .link{align-self:flex-start}.req-head .chip{align-self:flex-start}.req-hint{font-weight:400;color:var(--muted);font-size:.8rem}.req-app .field{display:flex;flex-direction:column;gap:.3rem;margin-bottom:1rem;font-weight:600}.req-app .field input,.req-app .field textarea{font:inherit;font-weight:400;padding:.6rem;border:1px solid var(--border);border-radius:8px;box-sizing:border-box;width:100%}.req-app .field textarea{min-height:4rem;resize:vertical}.req-capture{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:.85rem;margin-bottom:1rem;display:flex;flex-direction:column;gap:.4rem}.req-cap-btns{display:flex;flex-wrap:wrap;gap:.5rem}.req-cam{align-self:flex-start;font-size:1rem;padding:.6rem .9rem}.req-capture .file-btn.ghost{background:var(--surface);color:var(--ink);border:1px solid var(--border)}.req-files{list-style:none;padding:0;margin:.25rem 0 0;font-size:.85rem}.req-files li{padding:.15rem 0;color:var(--muted)}.req-items{margin-bottom:1rem}.req-item-list{list-style:none;padding:0;margin:.5rem 0;display:flex;flex-direction:column;gap:.4rem}.req-item-list li{display:flex;gap:.4rem;align-items:center}.req-item-list .cell{flex:1;font:inherit;padding:.5rem;border:1px solid var(--border);border-radius:8px}.req-item-list .cell.qty{flex:0 0 4rem}.req-item-list.ro li{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.6rem;flex-wrap:wrap}.req-item-desc{flex:1 1 100%;font-weight:500}.req-actions{display:flex;gap:.6rem;margin-top:.5rem}.req-actions .btn{flex:1;padding:.7rem;font-size:1rem}.req-purpose{margin-top:-0.5rem}.req-forms{margin-bottom:1rem}.req-status .ai-panel{width:100%;position:static;max-height:none;margin-top:1rem}.conv-search{margin:.5rem 0 1rem}.conv-search input{width:100%;max-width:32rem;padding:.5rem .6rem;border:1px solid var(--border);border-radius:8px;font:inherit;box-sizing:border-box}.conv-body{display:flex;gap:1.25rem;align-items:flex-start}.conv-list{list-style:none;padding:0;margin:0;flex:0 0 22rem;max-width:22rem;display:flex;flex-direction:column;gap:.5rem}.conv-list .pad{padding:.5rem}.conv-row{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.55rem .65rem;cursor:pointer;font:inherit;color:var(--ink)}.conv-row:hover{border-color:var(--accent)}.conv-row.active{border-color:var(--accent);background:rgba(58,91,217,.06)}.conv-row-head{display:flex;align-items:center;gap:.4rem}.conv-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.conv-row-meta{margin-top:.15rem}.conv-excerpt{margin-top:.3rem;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conv-transcript{flex:1;min-width:0}.conv-transcript-head{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.conv-transcript-head h2{margin:0 0 .5rem}.conv-transcript .convo{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;max-height:none}.chip.scope-demand{background:rgba(58,91,217,.12);color:var(--accent)}.chip.scope-library,.chip.scope-project{background:color-mix(in srgb, #b7791f 14%, var(--surface));color:#8a5a00}@media(max-width: 52rem){.conv-body{flex-direction:column}.conv-list{flex-basis:auto;max-width:none;width:100%}}nav.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--border);margin-bottom:1rem;flex-wrap:wrap}nav.tabs button{background:none;border:none;border-bottom:2px solid rgba(0,0,0,0);color:var(--muted);cursor:pointer;padding:.5rem .75rem;font:inherit}nav.tabs button:hover{color:var(--ink)}nav.tabs button.active{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}ul.facts{list-style:none;padding:0;margin:.5rem 0}ul.facts li{padding:.3rem 0;display:flex;gap:.5rem;align-items:center}.checklist{margin-top:1rem;padding:.75rem 1rem;background:var(--bg);border-radius:8px}.checklist h3{margin:0 0 .4rem;font-size:.9rem}.checklist ul{margin:0;padding-left:1.1rem}.file-group{margin-top:1rem}.file-group h3{font-size:.9rem;margin:0 0 .4rem;text-transform:capitalize}@media(max-width: 820px){.ws-body{flex-direction:column}.ai-panel{width:100%}}.banner{padding:.6rem .9rem;background:rgba(58,91,217,.08);border:1px solid var(--accent);border-radius:8px;color:var(--accent);font-size:.9rem;margin-bottom:.75rem}.form-card h3{margin-top:0}.form-actions{display:flex;gap:.5rem;margin-top:.75rem}ul.convo{list-style:none;padding:0;margin:.5rem 0 0}ul.convo li.msg{padding:.4rem .5rem;border-radius:6px;margin-bottom:.35rem;font-size:.82rem}li.msg--assistant{background:var(--bg)}li.msg--user{background:rgba(58,91,217,.08)}.intake .intake-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.intake .intake-head h1{margin:0}.link{background:none;border:none;color:var(--accent);cursor:pointer;padding:0;font-size:.9rem}.steps{list-style:none;display:flex;gap:.5rem;margin:0;padding:0;font-size:.82rem}.steps li{color:var(--muted);padding:.2rem .6rem;border-radius:999px;border:1px solid var(--border)}.steps li.done{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.steps li.active{color:var(--ink);font-weight:600;background:var(--surface)}.intake-grid{display:grid;grid-template-columns:1fr 1fr .9fr;gap:1rem;margin-bottom:1.25rem}@media(max-width: 60rem){.intake-grid{grid-template-columns:1fr}}.card.col{display:flex;flex-direction:column;gap:.5rem}.h3{font-weight:600;font-size:.92rem}.h3.mt{margin-top:.4rem}.drop{display:flex;align-items:center;justify-content:center;text-align:center;border:1.5px dashed var(--border);border-radius:var(--radius);padding:1rem;color:var(--muted);font-size:.86rem;cursor:pointer;min-height:64px}.drop:hover{border-color:var(--accent);color:var(--ink)}.intake-file{display:flex;align-items:center;gap:.5rem;font-size:.86rem;padding:.2rem 0}.intake-file .fname{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.status-dot.done{background:#2f855a}.status-dot.failed{background:var(--error)}.status-dot.pending{background:#b7791f}.field{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}.field input,.paste{font:inherit;padding:.4rem .55rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink)}.paste{min-height:70px;resize:vertical}.chip.ai{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, var(--border));font-size:.68rem;padding:.05rem .4rem}.intake-rowhead{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.h2{font-size:1.05rem;font-weight:600}.chip.soft{background:var(--bg)}.chip.warn{color:#b7791f;border-color:#b7791f}.chip.warn.small{font-size:.68rem;padding:.02rem .35rem}.spacer{flex:1}.btn{font:inherit;font-size:.88rem;padding:.4rem .8rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--ink);cursor:pointer}.btn:hover{border-color:var(--accent)}.btn.small{padding:.25rem .6rem;font-size:.82rem}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:disabled{opacity:.5;cursor:default}.ghost{background:none;border:1px solid var(--border);border-radius:8px;padding:.3rem .6rem;cursor:pointer;color:var(--muted);font:inherit}.ghost.small{font-size:.82rem}table.t{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}table.t th,table.t td{text-align:left;padding:.35rem .55rem;border-bottom:1px solid var(--border);font-size:.86rem;vertical-align:middle}table.t th{font-weight:600;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}table.t td.n,table.t th.n{text-align:right;font-family:var(--mono);width:3rem}table.t tbody tr:last-child td{border-bottom:none}tr.flagged{background:color-mix(in srgb, #b7791f 8%, var(--surface))}.cell{width:100%;font:inherit;font-size:.86rem;border:1px solid rgba(0,0,0,0);background:rgba(0,0,0,0);color:var(--ink);border-radius:6px;padding:.25rem .35rem}.cell:hover{border-color:var(--border)}.cell:focus{border-color:var(--accent);outline:none;background:var(--surface)}.cell.n{text-align:right;font-family:var(--mono)}.cell.hl{background:color-mix(in srgb, #b7791f 16%, var(--surface))}.iconbtn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.2rem .4rem;border-radius:6px}.iconbtn:hover{color:var(--error);background:var(--bg)}.tag{display:inline-block;font-size:.72rem;color:var(--muted);background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:.05rem .4rem}.intake-foot{display:flex;align-items:center;gap:.6rem;margin-top:.9rem}.empty{text-align:center;color:var(--muted)}.quotes-head{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.quotes-head h2{margin:0}.quote-adders{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1rem}@media(max-width: 48rem){.quote-adders{grid-template-columns:1fr}}.small-drop{min-height:52px;padding:.7rem}.dup-banners{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.banner.dup{display:flex;align-items:center;gap:.75rem;background:color-mix(in srgb, #b7791f 8%, var(--surface));border-color:#b7791f;color:var(--ink)}.banner.dup .btn{margin-left:auto;flex:none}.banner.warn-banner{background:color-mix(in srgb, #b7791f 8%, var(--surface));border-color:#b7791f;color:var(--ink);margin-bottom:.75rem}.matrix-wrap{overflow-x:auto;margin-bottom:1rem}table.matrix{min-width:100%}table.matrix th.rowhead,table.matrix td.rowhead{text-align:left;min-width:14rem;max-width:22rem;white-space:normal}table.matrix td.rowhead{font-size:.86rem;color:var(--ink);text-transform:none;letter-spacing:normal}table.matrix th.vendor-col{min-width:8.5rem;vertical-align:top}table.matrix .vname{font-weight:600;color:var(--ink);text-transform:none;letter-spacing:normal;font-size:.84rem;margin-bottom:.2rem}.basis-select{width:100%;font-size:.74rem;padding:.15rem .3rem;margin:0}td.cell-quote{position:relative;font-family:var(--mono);text-align:right}td.cell-quote .price{font-weight:600}td.cell-quote .orig{font-family:system-ui,sans-serif}td.cell-quote .cell-clear{position:absolute;top:.1rem;right:.1rem;opacity:0;font-size:.72rem}td.cell-quote:hover .cell-clear{opacity:1}td.cell-quote.cell-hi{background:color-mix(in srgb, #2f855a 10%, var(--surface))}td.cell-quote.cell-mid{background:color-mix(in srgb, #b7791f 10%, var(--surface))}td.cell-quote.cell-lo{background:color-mix(in srgb, var(--error) 10%, var(--surface))}td.cell-empty{text-align:center}.cell-dot{color:var(--muted)}.manual-quote .mq-head{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.manual-quote .mq-head .field{flex:1;min-width:8rem}.unmatched td.actions{display:flex;gap:.4rem}.map-select{margin:0;font-size:.82rem;padding:.2rem .35rem}.rate-note{margin-top:.5rem}.analysis-head{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.analysis-head h2{margin:0}.version-select{width:auto;margin:0;font-size:.82rem;padding:.2rem .4rem}.summary-strip{display:grid;grid-template-columns:repeat(auto-fit, minmax(9rem, 1fr));gap:.75rem;margin-bottom:1rem}.summary-strip .stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:.7rem .9rem;display:flex;flex-direction:column;gap:.2rem}.summary-strip .stat.accent{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.stat-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted)}.stat-value{font-size:1.05rem;font-weight:600;font-family:var(--mono)}.assumptions-bar{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;padding:.6rem .75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:1rem}.assumptions-bar .ab-label{font-size:.82rem;font-weight:600}.assumptions-bar .pill{display:inline-flex;align-items:center;gap:.35rem;margin:0;font-size:.76rem;color:var(--muted)}.assumptions-bar .pill input{width:5rem;margin:0;padding:.2rem .35rem;font-size:.8rem}.opportunities{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.opportunities .opp{font-size:.82rem;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:.2rem .7rem}.analysis-rowhead{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.chip.verdict{border:none}.verdict--fair{background:#1b6e42;color:#fff}.verdict--slightly-high{background:#7c5210;color:#fff}.verdict--high{background:#a04d15;color:#fff}.verdict--very-high{background:#b02a1e;color:#fff}.verdict--below-market{background:#2160a0;color:#fff}.verdict--insufficient-data{background:var(--border);color:var(--ink)}.verdict-list{display:flex;flex-direction:column;gap:.4rem}.verdict-row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.vr-head{display:grid;grid-template-columns:minmax(9rem, 2fr) auto minmax(6rem, 1.2fr) 3.5rem 6rem minmax(5rem, auto) 1.2rem;align-items:center;gap:.6rem;padding:.55rem .75rem;cursor:pointer}.vr-head:hover{background:var(--bg)}.vr-desc{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr-delta{font-family:var(--mono);font-size:.82rem;text-align:right;color:var(--muted)}.vr-action{font-size:.78rem;color:var(--muted)}.vr-impact{font-family:var(--mono);font-size:.82rem;text-align:right}.vr-caret{color:var(--muted);text-align:center}@media(max-width: 60rem){.vr-head{grid-template-columns:1fr auto 1.2rem;grid-auto-flow:row}.vr-head .rangebar,.vr-delta,.vr-action,.vr-impact{grid-column:1/-1}}.rangebar{position:relative;height:20px;min-width:6rem}.rb-track{position:absolute;top:9px;left:0;right:0;height:3px;background:var(--border);border-radius:2px}.rb-band{position:absolute;top:7px;height:7px;background:color-mix(in srgb, var(--accent) 30%, transparent);border-radius:3px}.rb-mid{position:absolute;top:4px;width:2px;height:13px;background:var(--muted)}.rb-quote{position:absolute;top:2px;width:10px;height:10px;border-radius:50%;transform:translateX(-5px);border:2px solid var(--surface)}.rb-quote.under{background:#2f855a}.rb-quote.over{background:var(--error)}.line-detail{padding:.75rem 1rem 1rem;border-top:1px solid var(--border);background:var(--bg);display:flex;flex-direction:column;gap:.9rem}.ld-block .h3{display:block;margin-bottom:.35rem}.ld-block table.t{background:var(--surface)}.breakdown li{font-family:var(--mono);font-size:.8rem}.breakdown li .num{font-family:var(--mono)}.mb-form{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center;margin:.4rem 0}.mb-form input{width:auto;margin:0;padding:.3rem .4rem;font-size:.82rem}.mb-form .mb-price{width:6rem}.mb-form .mb-cur{width:4rem}.mb-form .mb-unit{width:5rem}.decision-list{display:flex;flex-direction:column;gap:.4rem}.decision-row{display:grid;grid-template-columns:minmax(9rem, 2fr) 8rem 8rem 1fr auto auto;gap:.5rem;align-items:center;padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface)}.decision-row .dr-desc{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.decision-row select,.decision-row input{margin:0;font-size:.82rem;padding:.3rem .4rem}.decision-row .dr-target{font-family:var(--mono)}@media(max-width: 60rem){.decision-row{grid-template-columns:1fr 1fr}.decision-row .dr-desc{grid-column:1/-1}}.dr-outcome{grid-column:1/-1;display:flex;align-items:center;gap:.4rem;font-size:.82rem;color:var(--muted);padding-top:.35rem;margin-top:.35rem;border-top:1px dashed var(--border)}.dr-outcome.done{color:#1b7040}@media(prefers-color-scheme: dark){.dr-outcome.done{color:#6bcf94}}.dr-outcome .dr-final{width:8rem;margin:0;padding:.3rem .4rem;font-size:.82rem;font-family:var(--mono)}.savings-cols{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media(max-width: 48rem){.savings-cols{grid-template-columns:1fr}}.savings .num{font-family:var(--mono)}.link-like{color:var(--accent);cursor:pointer}.link-like:hover{text-decoration:underline}.method-note{margin-top:1rem;padding:.6rem .8rem;background:var(--bg);border-radius:8px}.dp-row{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;margin:.5rem 0 1rem}.dp-danger{border-top:1px solid var(--border);padding-top:.75rem;margin-top:.5rem}.dp-danger h3{margin:0 0 .25rem;color:var(--error)}.dp-confirm{margin-top:.5rem}.btn.danger{background:var(--error);color:#fff;border-color:var(--error)}.btn.danger:hover{filter:brightness(0.95)}nav.tabs .tab-add{margin-left:auto;color:var(--accent)}.lib-upload{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.lib-upload select,.lib-upload input{width:auto;margin:0;padding:.35rem .5rem;font-size:.85rem}.lib-upload input[name=lib-title]{flex:1;min-width:10rem}.file-btn{cursor:pointer}.lib-cols{display:grid;grid-template-columns:1fr;gap:1rem;align-items:start;min-width:0}.lib-cols>.card{min-width:0}@media(min-width: 90rem){.lib-cols{grid-template-columns:1fr 1fr}}.lib-docs li{display:block;padding:.5rem 0}.lib-docs li.archived{opacity:.55}.lib-doc-head{display:flex;align-items:center;gap:.5rem}.lib-doc-head .fname{font-weight:600;font-size:.88rem}.lib-summary{margin:.3rem 0 0}.lib-proposed{padding:.5rem;background:color-mix(in srgb, #b7791f 8%, var(--surface));border:1px solid #b7791f;border-radius:8px;margin-bottom:.75rem}li.fact{display:flex;align-items:center;gap:.4rem}li.fact .fact-text{flex:1}.lib-addfact{display:flex;gap:.4rem;margin-top:.6rem}.lib-addfact input{flex:1;margin:0}
