:root{--bg: #f7faf8;--surface: #ffffff;--sunken: #eef4f1;--pressed: #e3ece8;--line: #d5e1de;--line-strong: #748f88;--ink: #102f29;--ink-2: #3f5f58;--ink-3: #5a746d;--ink-disabled: #8aa19b;--primary: #0f6e5b;--primary-hover: #0b5a4a;--primary-pressed: #08483b;--brand: #16836d;--mint: #7fe1bd;--mint-200: #c8efdf;--mint-100: #e4f4ee;--ok: #0f6e5b;--ok-bg: #e4f4ee;--ok-line: #a9d6c7;--warn: #8a4e06;--warn-bg: #fdf4e3;--warn-line: #ecc98a;--bad: #b42318;--bad-hover: #912018;--bad-bg: #fdeeec;--bad-line: #f0b7b0;--dark: #101c19;--on-dark: #b7cbc4;--r-sm: 6px;--r: 8px;--r-lg: 12px;--r-pill: 999px;--shadow-1: 0 1px 2px rgb(16 47 41 / .06);--shadow-2: 0 4px 12px rgb(16 47 41 / .1), 0 1px 2px rgb(16 47 41 / .06);--shadow-3: 0 16px 40px rgb(16 47 41 / .18), 0 2px 6px rgb(16 47 41 / .08);--font: "Manrope", ui-sans-serif, system-ui, sans-serif;--focus-halo: 0 0 0 6px rgb(127 225 189 / .55);--chart-positive: var(--ok);--chart-negative: var(--bad);--panel-border: var(--line);--panel-bg: var(--surface);color:var(--ink);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;font-size:14px;font-weight:500;line-height:20px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:18px 0 32px}.topbar{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:10px 0 16px}.brand{border:0;background:transparent;color:var(--ink);font-size:1.28rem;font-weight:800}.nav-tabs,.detail-tabs{display:flex;gap:4px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);padding:4px}.nav-tabs button,.detail-tabs button{border:0;border-radius:var(--r);background:transparent;color:var(--ink-2);padding:8px 12px;font-weight:600}.nav-tabs button:hover,.detail-tabs button:hover{background:var(--sunken);color:var(--ink)}.nav-tabs button.active,.detail-tabs button.active{background:var(--mint-200);color:var(--ink);font-weight:800}.page{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}.page-heading,.detail-header{display:flex;justify-content:space-between;gap:20px;align-items:end;border-bottom:1px solid var(--line);padding:18px 0}.eyebrow{margin:0 0 6px;color:var(--ink-3);font-size:.76rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}h1,h2,p{margin-top:0}h1{margin-bottom:6px;color:var(--ink);font-size:1.8rem;line-height:1.15}h2{margin-bottom:12px;color:var(--ink);font-size:1rem}.page-heading p,.detail-header p{max-width:760px;margin-bottom:0;color:var(--ink-2);line-height:1.45}.summary{min-width:120px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:12px;text-align:right}.summary strong{display:block;color:var(--ink);font-size:1.35rem}.summary span,.search-box span,.page-size span{color:var(--ink-3);font-size:.82rem}.toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:end;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:12px}.list-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:start}.filters-drawer{--filter-tab-width: 40px;--filter-tab-height: 108px;--filter-drawer-width: min(340px, calc(100vw - var(--filter-tab-width) - 12px));position:fixed;top:0;bottom:0;left:0;z-index:20;width:var(--filter-drawer-width);border:1px solid var(--panel-border);border-width:0 1px 0 0;background:var(--panel-bg);padding:92px 14px 18px;transform:translate(-100%);transition:transform .18s ease}.filters-drawer.open{box-shadow:var(--shadow-3);transform:translate(0)}.filter-toggle{position:absolute;top:108px;left:100%;display:flex;width:var(--filter-tab-width);min-height:var(--filter-tab-height);flex-direction:column;align-items:center;justify-content:center;gap:18px;border:1px solid var(--panel-border);border-left:0;border-radius:0 var(--r) var(--r) 0;background:var(--mint-100);color:var(--ink);box-shadow:var(--shadow-2);padding:6px 4px;text-align:center}.filter-arrow{display:inline-grid;width:20px;height:20px;place-items:center;color:var(--primary);font-size:1.15rem;font-weight:800;line-height:1}.filter-toggle-label{position:relative;display:block;width:20px;height:56px;flex:none}.filter-toggle-text{position:absolute;top:50%;left:50%;width:56px;overflow:visible;font-weight:800;line-height:1;transform:translate(-50%,-50%) rotate(90deg);transform-origin:center;white-space:nowrap}.filter-toggle-count{display:none}.filter-applied{color:var(--primary);font-size:.82rem;font-weight:700}.list-main{display:grid;min-width:0;gap:12px}.list-table-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;color:var(--ink-3);font-size:.85rem}.list-table-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:flex-end;margin-left:auto}.record-range{white-space:nowrap}.list-table-toolbar .page-size{min-width:160px}.search-box,.page-size{display:grid;gap:4px}.search-box{min-width:min(360px,100%);flex:1}.toggle{display:flex;gap:8px;align-items:center;min-height:38px;color:var(--ink)}.filter-panel{display:grid;gap:10px;max-height:100%;overflow:auto;padding-right:2px}.filter-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:10px}.filter-panel-heading h2{margin:0}.filter-row{display:grid;grid-template-columns:1fr;gap:5px}.filter-row>label{font-size:.85rem;color:var(--ink);font-weight:600}.filter-row input,.filter-row select{width:100%}.filter-row .range-filter{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.filter-rule-builder{display:grid;gap:8px;border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);padding:10px}.filter-builder-grid{display:grid;grid-template-columns:1fr;gap:8px}.filter-rule-list{display:grid;gap:6px}.filter-rule-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);padding:6px 8px}.filter-rule-item span{min-width:0;overflow-wrap:anywhere;color:var(--ink);font-size:.84rem}.filter-footer{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:10px}.filter-controls{display:flex;gap:10px;align-items:center}.filter-actions{display:flex;flex-wrap:wrap;gap:8px}.filter-actions button{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;padding:8px 10px}.filter-actions button:hover,.pagination button:hover:not(:disabled),.back-button:hover{border-color:var(--primary);background:var(--mint-100)}.filter-actions button:active,.pagination button:active:not(:disabled),.back-button:active{border-color:var(--primary);background:var(--mint-200)}button.primary{border:1px solid var(--primary);background:var(--primary);color:#fff;font-weight:700}button.primary:hover:not(:disabled){border-color:var(--primary-hover);background:var(--primary-hover)}button.primary:active:not(:disabled){border-color:var(--primary-pressed);background:var(--primary-pressed)}button.primary:disabled{border-color:var(--line);background:var(--sunken);color:var(--ink-disabled);cursor:not-allowed}input,select{min-height:34px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);transition:border-color .14s,box-shadow .14s;padding:6px 8px}input::placeholder{color:var(--ink-3);opacity:1}input:not(.MuiInputBase-input):hover,select:not(.MuiInputBase-input):hover{border-color:var(--ink-2)}input:not(.MuiInputBase-input):disabled,select:not(.MuiInputBase-input):disabled{border-color:var(--line);background:var(--sunken);color:var(--ink-disabled);cursor:not-allowed}.MuiSelect-nativeInput,.MuiInputBase-root select{min-height:0;border:0;padding:0}.MuiTablePagination-selectLabel,.MuiTablePagination-displayedRows{margin:0}input:not(.MuiInputBase-input):focus,select:not(.MuiInputBase-input):focus,textarea:not(.MuiInputBase-input):focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 1px var(--primary),0 0 0 4px #7fe1bd8c}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px;box-shadow:var(--focus-halo)}.table-shell{overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}.table-shell.embedded{border-radius:var(--r)}table{width:100%;min-width:980px;border-collapse:collapse}th,td{border-bottom:1px solid var(--line);padding:10px 12px;line-height:20px;text-align:left;vertical-align:top}th{position:sticky;top:0;z-index:1;border-bottom-color:var(--line);background:var(--sunken);color:var(--ink-2);font-size:13px;font-weight:700}th button{display:flex;width:100%;justify-content:space-between;gap:6px;border:0;background:transparent;color:inherit;padding:0;text-align:left}tbody tr{cursor:pointer}tbody tr:hover{background:var(--mint-100)}.download-button{display:inline-flex;align-items:center;justify-content:center;min-height:28px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;line-height:1;padding:6px 10px;text-decoration:none;white-space:nowrap}.download-button:hover,.download-button:focus-visible{border-color:var(--primary);background:var(--mint-100)}td{color:var(--ink);font-size:14px}.filters th{top:38px;padding:6px 8px;background:var(--sunken)}.filters input,.filters select{width:100%;min-width:110px;min-height:30px;font-size:.82rem}.range-filter{display:grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:4px}.value-stack{display:grid;gap:2px}.value-stack small{color:var(--ink-3);font-size:.76rem}.value-unsure{color:var(--ink-3);font-style:italic}.inline-value-hint{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:baseline}.inline-value-hint small{color:var(--ink-3);font-size:.78rem}.cell-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden;min-width:420px;max-width:900px}.empty{color:var(--ink-3)}.yes{color:var(--primary);font-weight:700}.no{color:var(--bad);font-weight:700}.badge{display:inline-flex;align-items:center;min-height:26px;border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 10px;font-size:13px;line-height:18px;font-weight:700}.badge.neutral{border-color:var(--line);background:var(--surface);color:var(--ink-2)}.badge.primary{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok)}.badge.attachment{border-color:var(--line);background:var(--sunken);color:var(--ink-2)}.badge.good{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok)}.badge.muted{border-color:var(--line);background:var(--sunken);color:var(--ink-2)}.badge.risk{border-color:var(--bad-line);background:var(--bad-bg);color:var(--bad)}.badges{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.detail-side{display:grid;justify-items:end;gap:8px}.detail-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.detail-links a{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);padding:7px 10px;font-size:13px;font-weight:700;text-decoration:none}.detail-links a:hover{border-color:var(--primary);background:var(--mint-100)}.detail-alerts{display:grid;gap:8px}.detail-alert{display:grid;gap:4px;border:1px solid var(--bad-line);border-radius:var(--r);background:var(--bad-bg);color:var(--ink);padding:12px 14px;line-height:1.45}.detail-alert strong{color:var(--bad)}.field-link{color:var(--primary);font-weight:700;overflow-wrap:anywhere;text-decoration-thickness:1.5px;text-underline-offset:3px}.field-link:hover,.field-link:focus-visible{color:var(--primary-hover);text-decoration-line:none}.match-panel{display:grid;gap:14px}.match-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:start}.match-heading h2,.match-heading p{margin:0}.match-heading p{color:var(--ink-2)}.match-version{border:1px solid var(--line);border-radius:var(--r-pill);background:var(--sunken);color:var(--ink-2);font-size:13px;font-weight:700;padding:4px 8px}.foundation-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.score-criteria-menu{position:relative;font-size:.88rem}.score-criteria-menu>summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:8px 14px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-weight:700}.score-criteria-menu>summary:hover{border-color:var(--primary);background:var(--mint-100)}.score-criteria-menu>summary::-webkit-details-marker{display:none}.score-criteria-panel{position:absolute;z-index:10;top:calc(100% + 6px);left:0;display:grid;gap:8px;min-width:320px;padding:12px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2)}.score-criteria-item{display:flex;align-items:flex-start;gap:8px;cursor:pointer}.score-criteria-item input{margin-top:3px;accent-color:var(--primary)}.score-criteria-item span{display:grid;gap:2px}.score-criteria-item strong{color:var(--ink);font-size:.88rem}.score-criteria-item small{color:var(--ink-2);font-size:.78rem;line-height:1.3}.foundation-panel{border-top:1px solid var(--line);padding-top:12px}.summary-row.foundation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.foundation-summary .summary{text-align:left}.foundation-notes,.foundation-incumbent{border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);padding:12px}.foundation-notes{display:grid;gap:6px}.foundation-notes p,.foundation-incumbent p,.foundation-benchmark{margin:0;color:var(--ink-2);line-height:1.45}.foundation-incumbent h3,.foundation-panel h3{margin:0 0 8px;color:var(--ink);font-size:1rem}.match-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}.match-result{display:grid;gap:12px}.match-message{margin:0;color:var(--ink);font-weight:600}.match-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.match-counts div{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunken);padding:9px 10px}.match-counts strong{display:block;color:var(--ink);font-size:1.08rem}.match-counts span,.match-counts p{color:var(--ink-2);font-size:.82rem}.match-counts p{grid-column:1 / -1;margin:0}.match-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.match-filter-card{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--sunken);padding:10px}.match-filter-card h3{margin:0 0 8px;color:var(--ink);font-size:.92rem}.match-filter-card ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.match-filter-card li{display:grid;gap:2px}.match-filter-card li span,.match-filter-card p{margin:0;color:var(--ink-2);font-size:.84rem}.match-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.match-tags span{border-radius:var(--r-pill);border:1px solid var(--line);background:var(--sunken);color:var(--ink-2);font-size:13px;font-weight:700;padding:3px 8px}.match-warnings{border:1px solid var(--warn-line);border-radius:var(--r);background:var(--warn-bg);color:var(--ink);padding:10px 12px}.match-warnings ul{margin:6px 0 0;padding-left:18px}.match-preview table{min-width:920px}.state{padding:18px;color:var(--ink-2)}.state.error{color:var(--bad)}.error,.loading{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--ink-2);padding:14px}.error{border-color:var(--bad-line);background:var(--bad-bg);color:var(--bad)}.freshness-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.freshness-metric,.freshness-generated{display:grid;gap:4px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:12px}.freshness-metric strong,.freshness-generated strong{color:var(--ink);font-size:1.25rem;line-height:1.15}.freshness-metric span,.freshness-generated span{color:var(--ink-3);font-size:.82rem}.freshness-metric.good{border-color:var(--ok-line);background:var(--ok-bg)}.freshness-metric.warn{border-color:var(--warn-line);background:var(--warn-bg)}.freshness-metric.bad{border-color:var(--bad-line);background:var(--bad-bg)}.freshness-table{min-width:1120px}.freshness-status{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--r-pill);padding:2px 10px;font-size:13px;line-height:18px;font-weight:700}.freshness-status.fresh{border-color:var(--ok-line);background:var(--ok-bg);color:var(--ok)}.freshness-status.due,.freshness-status.never_run{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn)}.freshness-status.stale,.freshness-status.failed{border-color:var(--bad-line);background:var(--bad-bg);color:var(--bad)}.freshness-status.manual{background:var(--sunken);border-color:var(--line);color:var(--ink-2)}.error-text{color:var(--bad);font-weight:700}.pagination{display:flex;justify-content:flex-end;gap:12px;align-items:center;color:var(--ink-2)}.pagination button,.back-button{border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;padding:8px 12px}.pagination button:disabled{cursor:not-allowed;border-color:var(--line);background:var(--sunken);color:var(--ink-disabled)}.back-button,.detail-tabs{justify-self:start}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.detail-section{border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:14px}.detail-section.wide{grid-column:1 / -1}dl{display:grid;gap:0;margin:0}dl div{display:grid;grid-template-columns:minmax(140px,.42fr) minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding:9px 0}dl div:first-child{border-top:0}.financial-totals dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.financial-totals dl div,.financial-totals dl div:first-child{grid-template-columns:1fr;gap:4px;border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);padding:12px}.financial-totals dd{color:var(--ink);font-size:1.15rem;font-weight:800}dt{color:var(--ink-3)}dd{margin:0;color:var(--ink);overflow-wrap:anywhere}.body-text{margin-bottom:0;color:var(--ink);line-height:1.55}.chart-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.chart-card h3{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--ink-2)}.chart-card{min-width:0}.chart-frame{width:100%;min-height:270px}.chart-frame .recharts-cartesian-axis-tick-value{fill:var(--ink-3);font-size:.72rem}.chart-frame .recharts-cartesian-grid line{stroke:var(--line)}.chart-tooltip{display:grid;gap:3px;border:1px solid var(--line);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow-2);color:var(--ink);padding:8px 10px}.chart-tooltip strong{color:var(--ink-2);font-size:.78rem}.chart-tooltip span{font-weight:800}.chart-empty{color:var(--ink-3);margin:0}.profit-pos{color:var(--ok);font-weight:600}.profit-neg{color:var(--bad);font-weight:600}@media(max-width:860px){.app-shell{width:min(100% - 20px,1440px)}.topbar,.page-heading,.detail-header{align-items:stretch;flex-direction:column}.summary{text-align:left}.list-workspace{grid-template-columns:1fr}.filters-drawer{--filter-drawer-width: calc(100vw - var(--filter-tab-width) - 10px);padding:78px 12px 16px}.filter-toggle{top:86px}.filter-controls{flex-wrap:wrap}.freshness-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-side,.badges,.detail-links{justify-items:start;justify-content:flex-start}.detail-grid{grid-template-columns:1fr}dl div{grid-template-columns:1fr;gap:4px}.financial-totals dl,.match-form,.match-counts,.match-filter-grid{grid-template-columns:1fr}}@media(max-width:420px){.freshness-summary{grid-template-columns:1fr}.filter-toggle-label{height:54px}.filter-toggle-text{width:54px}}.ask-input{width:100%;resize:vertical;font:inherit;border:1px solid var(--line-strong);border-radius:var(--r);padding:8px}.ask-actions{display:flex;gap:12px;align-items:center}.link-button{border:0;background:transparent;color:var(--primary);padding:0;font:inherit;font-weight:700;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px}.link-button:hover{color:var(--primary-hover);text-decoration-line:none}.ask-sql code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem}.ask-sql{overflow:auto;max-height:320px;border-radius:var(--r);background:var(--dark);color:var(--on-dark);padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;line-height:1.5;white-space:pre-wrap;margin:0}.ask-result-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;color:var(--ink-3);font-size:.85rem}.ask-result-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.page-size.compact{display:flex;flex-direction:row;gap:6px;align-items:center}.ask-filter{min-width:min(360px,60%)}.ask-pagination{margin-top:10px}.ask-chat{display:grid;gap:10px;max-height:60vh;overflow:auto;padding:4px}.ask-hint{margin:0;color:var(--ink-3);font-size:.9rem}.ask-msg{display:flex}.ask-msg.user{justify-content:flex-end}.ask-msg.assistant{justify-content:flex-start}.ask-bubble{max-width:min(820px,92%);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:10px 12px}.ask-msg.user .ask-bubble{background:var(--mint-100);border-color:var(--mint-200)}.ask-bubble-text{margin:0 0 6px;white-space:pre-wrap;line-height:1.45}.ask-bubble-text:last-child{margin-bottom:0}.ask-thinking{color:var(--ink-3)}.ask-results{display:grid;gap:10px;margin-top:8px}.ask-results .page-heading{padding:10px 0}.ask-results tbody tr{cursor:default}.ask-results tbody tr.clickable{cursor:pointer}.ask-results tbody tr.clickable:hover{background:var(--mint-100)}.ask-modal-backdrop{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:#101c1973}.ask-modal{min-width:280px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);padding:18px;box-shadow:var(--shadow-3)}.ask-modal p{margin:0 0 12px;font-weight:600}.requirements-body{display:grid;gap:16px}.requirements-body h3{margin:0 0 6px}.requirement-doc-analyses{display:grid;gap:8px}.documents-table-wrap{overflow-x:auto}.documents-table{width:100%;border-collapse:collapse;font-size:.86rem}.documents-table th,.documents-table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}.documents-table thead th{background:var(--sunken);font-size:13px;font-weight:700;color:var(--ink-2);border-bottom:1px solid var(--line);white-space:nowrap}.documents-table thead th.doc-th-tip{display:flex;align-items:center;gap:2px}.documents-table thead .glossary-pop{text-transform:none;letter-spacing:normal}.documents-table tr.doc-row-parent{background:var(--sunken)}.doc-name-cell{display:inline-flex;align-items:baseline;gap:4px;min-width:220px}.doc-toggle{border:0;background:transparent;cursor:pointer;color:var(--primary);font-size:.8rem;padding:0 2px;line-height:1}.doc-toggle-spacer{display:inline-block;width:14px}.doc-count{color:var(--ink-3);font-weight:600;white-space:nowrap}.doc-size-cell{white-space:nowrap;color:var(--ink-2)}.doc-summary-cell{color:var(--ink);line-height:1.4;max-width:420px}.doc-status{display:inline-block;font-weight:700;font-size:.78rem;white-space:nowrap}.doc-status-good{color:var(--ok)}.doc-status-bad{color:var(--bad)}.doc-status-neutral{color:var(--ink-2)}.doc-status-muted{color:var(--ink-3)}.requirement-doc{border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);padding:10px 12px}.requirement-doc>summary{cursor:pointer;font-weight:700;color:var(--ink)}.requirement-doc-body{display:grid;gap:6px;margin-top:10px}.requirement-doc-body p{margin:0;color:var(--ink);line-height:1.45}.requirement-doc-body ul{margin:4px 0 0;padding-left:18px;display:grid;gap:4px;color:var(--ink-2)}.doc-relevance{color:var(--ink-3);font-weight:500}.extract-control{position:relative}.extract-menu{position:absolute;right:0;margin-top:6px;z-index:10;display:grid;gap:4px;min-width:220px;padding:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-2)}.extract-menu button{display:grid;gap:2px;text-align:left;padding:8px 10px;border:0;border-radius:var(--r);background:transparent}.extract-menu button:hover{background:var(--sunken)}.extract-menu small{color:var(--ink-3)}.approval-gate{border:1px solid var(--warn-line);background:var(--warn-bg);border-radius:var(--r);display:grid;gap:10px}.requirements-toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.pdf-file-control{position:relative}.pdf-file-button{display:inline-flex;align-items:center;gap:10px;min-height:46px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--surface);color:var(--ink);padding:7px 10px;box-shadow:var(--shadow-1)}.pdf-file-button strong,.pdf-file-button small{display:block;text-align:left}.pdf-file-button small{margin-top:1px;color:var(--ink-3);font-size:.75rem}.pdf-file-icon{display:inline-grid;place-items:center;width:34px;height:38px;border:1px solid var(--bad);border-radius:var(--r-sm);background:var(--bad-bg);color:var(--bad);font-size:.68rem;font-weight:800;letter-spacing:.04em}.pdf-file-menu{right:0;min-width:240px}.checklist{margin:0;padding-left:18px;display:grid;gap:6px;color:var(--ink)}.cheatsheet-summary{margin:0;line-height:1.5}.markdown-doc{display:grid;gap:10px;color:var(--ink);line-height:1.55}.markdown-doc h1,.markdown-doc h2,.markdown-doc h3,.markdown-doc h4{margin:10px 0 0;color:var(--ink)}.markdown-table-wrap{overflow-x:auto}.markdown-table{border-collapse:collapse;width:100%;font-size:.86rem}.markdown-table th,.markdown-table td{border-bottom:1px solid var(--line);padding:6px 10px;text-align:left;vertical-align:top}.markdown-table th{background:var(--sunken);color:var(--ink-2);font-size:13px;font-weight:700;white-space:nowrap}.markdown-doc h1{font-size:1.45rem}.markdown-doc h2{font-size:1.12rem;border-top:1px solid var(--line);padding-top:12px}.markdown-doc h3,.markdown-doc h4{font-size:1rem}.markdown-doc p,.markdown-doc ul,.markdown-doc ol{margin:0}.markdown-doc ul,.markdown-doc ol{padding-left:20px;display:grid;gap:5px}.pdf-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:32px;background:#101c1973}.pdf-dialog{display:grid;grid-template-rows:auto 1fr;width:min(1120px,96vw);height:min(900px,92vh);overflow:hidden;border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-3)}.pdf-dialog-header{display:flex;gap:18px;align-items:flex-start;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:var(--sunken)}.pdf-dialog-header h3{margin:0 0 4px;font-size:1rem}.pdf-dialog-header a,.pdf-source-link{font-size:.78rem;color:var(--primary);word-break:break-all}.pdf-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.pdf-dialog-actions a.primary{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 12px;border:1px solid var(--primary);border-radius:var(--r);background:var(--primary);color:#fff;font-weight:700;text-decoration:none}.pdf-dialog-actions a.primary:hover{border-color:var(--primary-hover);background:var(--primary-hover)}.pdf-preview-shell{min-height:0;padding:18px;background:var(--pressed)}.pdf-frame{width:100%;height:100%;border:0;border-radius:var(--r-sm);background:var(--surface)}.pdf-preview-document{width:min(780px,100%);margin:0 auto;padding:36px;background:var(--surface);box-shadow:var(--shadow-2)}.pdf-preview-document h1{margin:0 0 8px;color:var(--ink);font-size:1.6rem}@media(max-width:860px){.pdf-backdrop{padding:12px}.pdf-dialog{width:100%;height:94vh}.pdf-dialog-header{display:grid}.pdf-dialog-actions{justify-content:flex-start}.pdf-preview-shell{padding:10px}}.context-grid{margin:10px 0 0}.context-grid div{display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:12px;padding:6px 0;border-top:1px solid var(--line)}.context-grid dt{font-weight:700;color:var(--ink-2)}.context-grid dd{margin:0;color:var(--ink)}.requirements-matching>summary{cursor:pointer;font-weight:700;color:var(--ink-2)}.baseline-requirements{border:1px solid var(--line);border-radius:var(--r);background:var(--sunken);padding:10px 12px}.baseline-requirements>summary{cursor:pointer;font-weight:700;color:var(--ink)}.baseline-requirements dl{margin-top:8px}.glossary{position:relative;display:inline-flex;margin-left:6px;cursor:help;outline:none}.glossary-mark{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--sunken);color:var(--ink-2);font-size:.65rem;font-weight:800}.glossary-pop{position:absolute;bottom:130%;left:50%;transform:translate(-50%);width:260px;display:none;flex-direction:column;gap:4px;padding:10px;background:var(--dark);color:#fff;border-radius:var(--r);font-size:.78rem;font-weight:500;line-height:1.4;text-align:left;z-index:20;box-shadow:var(--shadow-2)}.glossary:hover .glossary-pop,.glossary:focus .glossary-pop{display:flex}.glossary-pop strong{color:#fff}.glossary-en{color:var(--on-dark)}@media print{.app-header,.primary-nav,.back-button,.detail-tabs,.detail-header .detail-side,.match-panel,.extract-control,.requirements-toolbar,.requirement-doc-analyses{display:none!important}.requirements-panel{border:0;padding:0}}
