@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=IBM+Plex+Mono:wght@500;600&family=Raleway:wght@500;600;700;800&display=swap";:root{--font-primary:"Raleway", sans-serif;--font-secondary:"IBM Plex Sans", sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}html,body{color:#e9e9e9;min-height:100%;font:400 16px/1.45 var(--font-secondary);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 12% -10%,#1f1f1f 0%,#121212 42%,#090909 100%);margin:0}#root{min-height:100vh}h1,h2,h3,h4{font-family:var(--font-primary);margin:0}button,input,select{color:inherit}.login-overlay{z-index:9999;background:#0a0a0a;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.login-modal{background:#141414;border:1px solid #252525;border-radius:14px;flex-direction:column;gap:1rem;width:340px;padding:2.5rem 2rem 2rem;display:flex}.login-logo{max-width:140px;height:auto;margin:0 auto .25rem}.login-modal h2{text-align:center;color:#e8e8e8;margin:0;font-size:1.3rem;font-weight:600}.login-modal input{appearance:none;color:#e8e8e8;background:#0d0d0d;border:1px solid #2f2f2f;border-radius:8px;outline:none;padding:.7rem .85rem;font-size:.92rem;transition:border-color .15s}.login-modal input:focus{border-color:#555}.login-modal button{appearance:none;color:#111;font:600 .92rem/1 var(--font-secondary);cursor:pointer;background:#fafafa;border:none;border-radius:8px;padding:.72rem;transition:background .15s}.login-modal button:hover{background:#e0e0e0}.login-error{color:#f87171;text-align:center;margin:0;font-size:.82rem}.shell{grid-template-columns:290px 1fr;min-height:100vh;display:grid}.sidebar{background:linear-gradient(165deg,#0a0a0a 0%,#111 44%,#161616 100%);border-right:1px solid #252525;flex-direction:column;gap:2rem;height:100vh;padding:2rem 1.25rem 1.5rem;display:flex;position:sticky;top:0}.brand-block h1{letter-spacing:.03em;margin:0;font-size:2.3rem;line-height:1}.brand-logo{max-width:180px;height:auto}.kicker{font:600 .73rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.18em;color:#bdbdbd;margin:0 0 .55rem}.sub{color:#a9a9a9;max-width:25ch;margin-top:.8rem;font-size:.92rem}.nav{gap:.35rem;display:grid}.nav-item{appearance:none;color:#9a9a9a;font:500 .84rem/1.2 var(--font-secondary);letter-spacing:.01em;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:.62rem .75rem;transition:color .15s,background-color .15s;position:relative}.nav-item:hover{color:#e0e0e0;background:#ffffff0d}.nav-item.active{color:#fff;background:#ffffff14;font-weight:600}.nav-item.active:before{content:"";background:#fff;border-radius:0 3px 3px 0;width:3px;height:60%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.main-panel{color:#ececec;background:radial-gradient(circle at 60% -20%,#1a1a1a 0%,#0d0d0d 45%,#080808 100%);padding:1.7rem 1.7rem 2.3rem}.view{gap:1rem;display:grid}.view-header{background:linear-gradient(#171717 0%,#111 100%);border:1px solid #2f2f2f;border-radius:14px;padding:1.2rem}.eyebrow{text-transform:uppercase;letter-spacing:.15em;font:600 .72rem/1 var(--font-secondary);color:#9a9a9a;margin:0;display:none}.view-header h2{letter-spacing:.01em;margin:.6rem 0 .3rem;font-size:clamp(1.32rem,2.5vw,1.9rem)}.lede{color:#b8b8b8;max-width:74ch;margin:0}.search-bar{grid-template-columns:1fr auto;gap:.55rem;display:grid}.search-bar input,.search-bar button,.filter-row select,.simulator input[type=range]{font-family:var(--font-secondary)}.search-bar input,.filter-row select{background:#121212;border:1px solid #343434;border-radius:10px;padding:.75rem .82rem;font-size:.93rem}.search-bar button{color:#111;cursor:pointer;background:#ececec;border:1px solid #f0f0f0;border-radius:10px;padding:.75rem 1.05rem;font-weight:600}.typeahead-wrap{position:relative}.typeahead-wrap input{box-sizing:border-box;width:100%}.typeahead-list{z-index:100;background:#1a1a1a;border:1px solid #383838;border-radius:10px;max-height:280px;margin:.25rem 0 0;padding:0;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.typeahead-list li{cursor:pointer;justify-content:space-between;align-items:center;padding:.55rem .82rem;font-size:.9rem;display:flex}.typeahead-list li:hover,.typeahead-active{background:#272727}.typeahead-name{color:#f0f0f0}.typeahead-meta{align-items:center;gap:.35rem;display:flex}.typeahead-flagged .typeahead-name{color:#fecaca}.typeahead-flag-pill{font:700 .64rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.08em;color:#fecaca;background:#3f1b1f;border:1px solid #7f1d1d;border-radius:999px;padding:.16rem .36rem}.typeahead-ticker{font:600 .72rem/1 var(--font-secondary);color:#8eb4f0;background:#1e2a3a;border-radius:4px;padding:.15rem .4rem}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:#f0f0f0}.metric-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.7rem;display:grid}.metric-card{background:#141414;border:1px solid #2f2f2f;border-radius:12px;padding:.88rem}.metric-card-danger{border-color:#7f1d1d;box-shadow:inset 0 0 0 1px #7f1d1d59}.metric-card p{color:#979797;font:500 .8rem/1.2 var(--font-secondary);text-transform:uppercase;letter-spacing:.09em;margin:0}.metric-card h3{margin:.5rem 0 0;font-size:1.2rem}.danger-text{color:#fca5a5}.status-alert{font:700 .68rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.09em;color:#fecaca;background:#3f1b1f;border:1px solid #7f1d1d;border-radius:999px;margin-top:.45rem;padding:.22rem .45rem;display:inline-block}.two-col{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.panel-card{background:#141414;border:1px solid #2f2f2f;border-radius:12px;padding:.95rem}.panel-card h4{letter-spacing:.01em;margin:0 0 .7rem;font-size:1rem}.bar-row{grid-template-columns:minmax(0,1fr) auto;gap:.2rem .8rem;margin-bottom:.62rem;display:grid}.bar-row span{font-size:.9rem}.bar-row strong{font:700 .84rem/1 var(--font-secondary)}.bar-track{background:#222;border-radius:999px;grid-column:1/-1;height:9px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg,#d7d7d7 0%,#f3f3f3 100%);height:100%}.split-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.micro-title{color:#9d9d9d;text-transform:uppercase;letter-spacing:.12em;font:600 .69rem/1 var(--font-secondary);margin:0 0 .48rem}.list-row{border-top:1px dashed #353535;justify-content:space-between;margin:0;padding:.45rem 0;font-size:.9rem;display:flex}.lineage-table,.data-table,.mini-table{border-collapse:collapse;width:100%;font:500 .84rem/1.35 var(--font-secondary)}.lineage-table th,.lineage-table td,.data-table th,.data-table td,.mini-table th,.mini-table td{text-align:left;border-top:1px solid #2d2d2d;padding:.5rem .35rem}.lineage-table th,.data-table th,.mini-table th{text-transform:uppercase;letter-spacing:.1em;color:#9a9a9a;font-size:.72rem}.heat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.heatmap{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.heat-cell{background:linear-gradient(170deg, color-mix(in srgb, #151515 calc(100% - var(--intensity)), #d6d6d6 var(--intensity)) 0%, color-mix(in srgb, #101010 calc(100% - var(--intensity)), #f2f2f2 var(--intensity)) 100%);border:1px solid #2f2f2f;border-radius:10px;flex-direction:column;gap:.4rem;min-height:78px;padding:.66rem;display:flex}.heat-cell span{color:#c5c5c5;font-size:.82rem}.heat-cell strong{color:#fff;font-size:1.1rem}.heat-cell.heat-dark span{color:#222}.heat-cell.heat-dark strong{color:#111}.heatmap-clickable{cursor:pointer;transition:border-color .15s}.heatmap-clickable:hover{border-color:#555}.expand-hint{color:#666;margin-left:.5rem;font-size:.68rem;font-weight:400}.heatmap-overlay{z-index:900;background:#000000bf;justify-content:center;align-items:center;animation:.15s fadeIn;display:flex;position:fixed;inset:0;overflow-y:auto}.heatmap-modal{background:#141414;border:1px solid #2f2f2f;border-radius:14px;width:min(92vw,960px);max-height:85vh;padding:1.6rem 2rem;overflow-y:auto}.heatmap-modal-header{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.heatmap-modal-header h3{margin:0;font-size:1.2rem}.close-btn{color:#aaa;cursor:pointer;background:0 0;border:1px solid #444;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-size:1.4rem;display:flex}.close-btn:hover{color:#fff;border-color:#888}.heatmap-expanded{grid-template-columns:repeat(4,minmax(0,1fr))}.heat-usd{color:#888;margin-top:-.15rem;font-size:.72rem}.heat-cell.heat-dark .heat-usd{color:#444}.clo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.deal-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.status-pill{font:700 .69rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.09em;border:1px solid #4a4a4a;border-radius:999px;padding:.35rem .58rem}.status-pill.pass{background:#1d1d1d}.status-pill.watch{background:#262626;border-color:#a2a2a2}.status-pill.alert{color:#fff;background:#161616;border-color:#161616}.deal-meta{color:#a2a2a2;margin:0 0 .7rem;font-size:.82rem}.row-alert{background:#242424}.simulator{gap:.72rem;display:grid}.simulator label{font:600 .85rem/1.3 var(--font-secondary)}.sim-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem;display:grid}.sim-grid p{border:1px solid #303030;border-radius:10px;gap:.25rem;margin:0;padding:.65rem;display:grid}.sim-grid span{color:#9c9c9c;font:500 .74rem/1.3 var(--font-secondary);text-transform:uppercase;letter-spacing:.07em}.sim-grid strong{font:700 .92rem/1.2 var(--font-secondary)}.animate-in{animation:.48s both reveal}.stagger-1{animation-delay:80ms}.loading-msg{color:#999;font:500 .88rem/1.4 var(--font-secondary);margin:0;animation:1.2s ease-in-out infinite pulse}.error-msg{color:#e09090;font:500 .88rem/1.4 var(--font-secondary);background:#dc6e6e0f;border:1px solid #dc6e6e40;border-radius:8px;margin:0;padding:.6rem .8rem}.empty-state{text-align:center;background:#ffffff05;border:1px dashed #3a3a3a;border-radius:14px;padding:2.5rem 1.5rem}.empty-state h3{color:#cfcfcf;margin:0 0 .5rem;font-size:1.15rem}.empty-state p{color:#888;margin:0;max-width:45ch;margin-inline:auto;font-size:.9rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes reveal{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=1120px){.shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #2a2a2a;border-right:0;height:auto;position:relative}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.clo-grid,.sim-grid,.split-list,.two-col,.heat-grid,.filter-row{grid-template-columns:1fr}}.dir-tag{font:700 .68rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.06em;border-radius:4px;padding:.2rem .38rem;display:inline-block}.dir-tag.long{color:#8cd4a0;background:#64c8821f;border:1px solid #64c88240}.dir-tag.short{color:#e09090;background:#dc6e6e1f;border:1px solid #dc6e6e40}.metric-tag{font:500 .72rem/1 var(--font-secondary);color:#b0b0b0;background:#ffffff0d;border:1px solid #3a3a3a;border-radius:4px;margin-top:.35rem;padding:.18rem .4rem;display:inline-block}.pnl-pos{color:#8cd4a0}.pnl-neg{color:#e09090}.table-scroll{overflow-x:auto}.bar-split{grid-column:1/-1;gap:.3rem;display:flex}.bar-split .bar-track{flex:1}.bar-long{background:linear-gradient(90deg,#7ec89a 0%,#a0dab2 100%)}.bar-short{background:linear-gradient(90deg,#d47878 0%,#e8a0a0 100%)}.filter-row{grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem;display:grid}.er-grid{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:.8rem;display:grid}.er-card{flex-direction:column;gap:.5rem;display:flex}.er-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.er-header h4{margin:0}.er-subtitle{color:#8a8a8a;font:500 .8rem/1.2 var(--font-secondary);margin:0}.er-aliases{flex-direction:column;gap:.35rem;display:flex}.er-alias-row{border-top:1px solid #2a2a2a;grid-template-columns:1fr auto auto;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.85rem;display:grid}.er-alias-name{color:#d0d0d0}.er-method{font:600 .66rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.06em;color:#a0a0a0;border:1px solid #3a3a3a;border-radius:4px;padding:.15rem .35rem}.er-method.exact_name{color:#90c8e0;border-color:#64b4dc4d}.er-method.fuzzy{color:#d4c07a;border-color:#dcb4504d}.er-method.manual{color:#c0a0e0;border-color:#b478dc4d}.er-confidence{font:700 .82rem/1 var(--font-secondary);color:#e0e0e0;text-align:right;min-width:32px}.reserve-bars{flex-direction:column;gap:.55rem;display:flex}.reserve-bar-row{grid-template-columns:180px 1fr 50px 120px;align-items:center;gap:.6rem;font-size:.88rem;display:grid}.reserve-label{color:silver;font-size:.84rem}.reserve-pct{text-align:right;color:#aaa;font:600 .82rem/1 var(--font-secondary)}.reserve-mv{text-align:right;font:700 .84rem/1 var(--font-secondary)}@media (width<=700px){.main-panel{padding:1rem .8rem 1.6rem}.search-bar,.metric-grid{grid-template-columns:1fr}.lineage-table,.data-table,.mini-table{font-size:.77rem}.lineage-drawer{width:100%}}.lineage-overlay{z-index:1000;background:#0000008c;justify-content:flex-end;display:flex;position:fixed;inset:0}.lineage-drawer{background:#161616;border-left:1px solid #2d2d2d;flex-direction:column;width:min(560px,90vw);height:100vh;display:flex;overflow:hidden;box-shadow:-8px 0 32px #0006}.lineage-drawer-header{border-bottom:1px solid #2d2d2d;flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:1.4rem 1.5rem 1rem;display:flex}.lineage-drawer-header h3{font:600 1.1rem/1.3 var(--font-primary);margin:.2rem 0 0}.lineage-target-value{font:700 1.6rem/1 var(--font-secondary);color:#00e5c8;margin:.5rem 0 0}.lineage-close{color:#aaa;cursor:pointer;background:0 0;border:1px solid #3a3a3a;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:1.4rem;transition:background .15s,color .15s;display:flex}.lineage-close:hover{color:#fff;background:#2a2a2a}.lineage-drawer-body{flex:1;padding:1.2rem 1.5rem;overflow-y:auto}.lineage-empty{color:#888;text-align:center;padding:2rem 0;font-size:.9rem}.lineage-chain{flex-direction:column;gap:0;display:flex}.lineage-step{gap:.8rem;display:flex;position:relative}.lineage-step-connector{flex-direction:column;flex-shrink:0;align-items:center;width:2rem;display:flex}.lineage-step-number{color:#000;width:1.6rem;height:1.6rem;font:700 .72rem/1.6rem var(--font-secondary);text-align:center;z-index:1;background:#00e5c8;border-radius:50%;flex-shrink:0}.lineage-step.warning .lineage-step-number{background:#f5a623}.lineage-step.override .lineage-step-number{background:#ff6b6b}.lineage-step-line{background:#2d2d2d;flex:1;width:2px;min-height:1rem}.lineage-step-content{background:#1c1c1c;border:1px solid #2d2d2d;border-radius:8px;flex:1;margin-bottom:.6rem;padding:.8rem 1rem;transition:border-color .15s}.lineage-step-content:hover{border-color:#3a3a3a}.lineage-step-header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.lineage-type-badge{font:700 .65rem/1.4 var(--font-secondary);text-transform:uppercase;letter-spacing:.06em;color:#8eb4f0;background:#2a3040;border-radius:3px;padding:.15rem .5rem;display:inline-block}.lineage-type-badge.direct-map,.lineage-type-badge.extraction{color:#6bc98a;background:#1e3a2a}.lineage-type-badge.calculation{color:#b08ef0;background:#2a2040}.lineage-type-badge.model-valuation{color:#d08ef0;background:#3a2040}.lineage-type-badge.override{color:#f08e8e;background:#3a2020}.lineage-type-badge.entity-resolution{color:#8eb4f0;background:#2a3040}.lineage-step-system{font:600 .82rem/1 var(--font-secondary);color:#e0e0e0}.lineage-system-type{font:500 .7rem/1 var(--font-secondary);color:#888;background:#222;border-radius:3px;padding:.1rem .35rem}.lineage-step-details{flex-direction:column;gap:.25rem;display:flex}.lineage-step-details p{gap:.4rem;margin:0;font-size:.8rem;line-height:1.4;display:flex}.lineage-detail-label{color:#777;text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;min-width:7.5rem;font-size:.72rem}.lineage-detail-value{color:#ccc;word-break:break-word}.lineage-detail-value strong{color:#fff}.lineage-override-row .lineage-detail-value{color:#ff6b6b}.lineage-step-footer{border-top:1px solid #252525;flex-wrap:wrap;gap:.4rem;margin-top:.5rem;padding-top:.4rem;display:flex}.lineage-quality{font:600 .65rem/1.4 var(--font-secondary);text-transform:uppercase;letter-spacing:.05em;border-radius:3px;padding:.1rem .4rem;display:inline-block}.lineage-quality.clean{color:#6bc98a;background:#1a3024}.lineage-quality.warning{color:#f5a623;background:#3a2d1a}.lineage-quality.stale{color:#f07b5e;background:#3a201a}.lineage-quality.override{color:#ff6b6b;background:#3a1a1a}.lineage-quality.review{color:#f5a623;background:#3a2d1a}.lineage-stale,.lineage-vendor,.lineage-format,.lineage-freq{font:500 .65rem/1.4 var(--font-secondary);color:#999;background:#222;border-radius:3px;padding:.1rem .35rem}.lineage-drawer-footer{border-top:1px solid #2d2d2d;flex-shrink:0;padding:.8rem 1.5rem}.lineage-drawer-footer p{font:500 .72rem/1.4 var(--font-secondary);color:#555;text-transform:uppercase;letter-spacing:.06em;margin:0}.lineage-clickable{cursor:pointer;transition:background .15s;position:relative;color:#00e5c8!important}.lineage-clickable:after{content:"⟵";opacity:.4;margin-left:.3rem;font-size:.6rem;transition:opacity .15s}.lineage-clickable:hover{background:#00e5c80f}.lineage-clickable:hover:after{opacity:1}.lineage-row-clickable{cursor:pointer;transition:background .15s}.lineage-row-clickable:hover{background:#00e5c80f}.lineage-system-badge{color:#8eb4f0;font:600 .72rem/1.4 var(--font-secondary);background:#1e2a3a;border-radius:3px;padding:.1rem .35rem;display:inline-block}.lineage-file-cell{text-overflow:ellipsis;white-space:nowrap;color:#999;max-width:14rem;font-size:.75rem;overflow:hidden}.pf-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.pf-source-strip{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.25rem;display:flex}.pf-source-chip{font:500 .72rem/1 var(--font-secondary);color:#777;background:#111;border:1px solid #222;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .6rem;display:flex}.source-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.source-dot.connected{background:#4ade80;box-shadow:0 0 5px #4ade8073}.pf-progress-row{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.pf-progress-bar-wrap{flex-direction:column;gap:.35rem;display:flex}.pf-progress-bar{background:#1e1e1e;border-radius:999px;height:4px;overflow:hidden}.pf-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#00e5c8 0%,#4ade80 100%);height:100%;transition:width .4s}.pf-kpi-row{flex-wrap:wrap;gap:1.5rem;display:flex}.pf-kpi{flex-direction:column;gap:.2rem;display:flex}.pf-kpi span{font:500 .68rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.09em;color:#666}.pf-kpi strong{font:700 1.05rem/1 var(--font-secondary);color:#e8e8e8}.pf-section-row{border-top:1px solid #1e1e1e;border-radius:6px;align-items:center;gap:.65rem;padding:.7rem .5rem;transition:background .1s;display:flex}.pf-section-row.clickable{cursor:pointer}.pf-section-row.clickable:hover,.pf-section-row.expanded{background:#161616}.pf-section-icon{text-align:center;color:#4ade80;flex-shrink:0;width:1.1rem;font-size:.78rem;font-weight:700}.pf-section-body{flex:1;min-width:0}.pf-section-detail{font:400 .73rem/1.3 var(--font-secondary);color:#5a5a5a;white-space:nowrap;text-overflow:ellipsis;margin:.1rem 0 0;overflow:hidden}.pf-section-right{flex-shrink:0;align-items:center;gap:.5rem;display:flex}.pf-status-pill{font:600 .63rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border:1px solid;border-radius:999px;padding:.22rem .5rem}.pf-chevron{color:#444;font-size:.6rem}.pf-section-expand{border-left:2px solid #222;margin:0 .5rem .25rem 1.75rem;padding-bottom:.5rem;padding-left:1rem}.section-detail{padding:.6rem 0 .2rem}.detail-table{border-collapse:collapse;width:100%;font:500 .81rem/1.4 var(--font-secondary)}.detail-table th{text-transform:uppercase;letter-spacing:.08em;color:#666;text-align:left;border-bottom:1px solid #252525;padding:.3rem .5rem .3rem 0;font-size:.69rem}.detail-table td{color:silver;vertical-align:top;border-bottom:1px solid #1a1a1a;padding:.42rem .5rem .42rem 0}.detail-table td:first-child{color:#888;white-space:nowrap;padding-right:1rem}.detail-summary-row td{color:#d8d8d8;border-top:1px solid #333;padding-top:.5rem}.detail-diff{color:#f5a623!important}.detail-note{font-style:italic;color:#555!important;font-size:.74rem!important}.detail-badge{font:600 .63rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:3px;padding:.15rem .38rem;display:inline-block}.detail-badge.ok{color:#4ade80;background:#4ade8012;border-color:#4ade8040}.detail-ready{color:#4ade80;font:600 .8rem/1.3 var(--font-secondary);margin:.75rem 0 0}.bucket-btns{flex-wrap:wrap;gap:.3rem;display:flex}.bucket-btn{appearance:none;color:#aaa;font:500 .72rem/1 var(--font-secondary);cursor:pointer;background:#1a1a1a;border:1px solid #333;border-radius:4px;padding:.22rem .45rem;transition:border-color .12s,color .12s,background .12s}.bucket-btn:hover{color:#4ade80;background:#4ade800f;border-color:#4ade80}.pf-dispute-card{border:1px solid #1e1e1e;border-radius:8px;flex-direction:column;gap:.4rem;padding:.85rem .9rem;display:flex}.pf-dispute-card.watch{border-left:2px solid #f5a62366}.pf-dispute-card.resolved{border-left:2px solid #4ade8040}.pf-dispute-header>div{flex-direction:column;gap:.15rem;display:flex}.pf-dispute-status{font:600 .63rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.06em;border:1px solid;border-radius:999px;flex-shrink:0;margin-top:.1rem;padding:.22rem .48rem}.pf-letter-btn{appearance:none;color:#888;font:500 .72rem/1 var(--font-secondary);cursor:pointer;background:0 0;border:1px solid #2a2a2a;border-radius:5px;align-self:flex-start;margin-top:.1rem;padding:.28rem .6rem;transition:border-color .12s,color .12s}.pf-letter-btn:hover{color:#ccc;border-color:#555}.pf-chat-card{flex-direction:column;gap:.75rem;display:flex}.pf-chat-messages{flex-direction:column;gap:.75rem;min-height:80px;max-height:280px;display:flex;overflow-y:auto}.chat-placeholder{color:#444;font:400 .82rem/1.4 var(--font-secondary);margin:0;font-style:italic}.chat-msg{align-items:flex-start;gap:.55rem;display:flex}.chat-label{font:700 .62rem/1.5 var(--font-secondary);text-transform:uppercase;letter-spacing:.07em;border-radius:3px;flex-shrink:0;margin-top:.06rem;padding:.12rem .36rem}.chat-label.user{color:#8eb4f0;background:#1e2a3a;border:1px solid #8eb4f026}.chat-label.agent{color:#4ade80;background:#162318;border:1px solid #4ade8026}.chat-msg p{color:#b8b8b8;margin:0;font-size:.83rem;line-height:1.55}.chat-thinking{letter-spacing:.2em;animation:1s ease-in-out infinite pulse;color:#444!important}.chat-md{color:#b8b8b8;font-size:.83rem;line-height:1.55}.chat-md>*{margin:0 0 .5rem}.chat-md>:last-child{margin-bottom:0}.chat-md p{margin:0 0 .5rem}.chat-md p:last-child{margin-bottom:0}.chat-md ul,.chat-md ol{margin:0 0 .5rem;padding-left:1.25rem}.chat-md li{margin:.15rem 0}.chat-md strong{color:#e8e8e8;font-weight:600}.chat-md em{color:#d0d0d0}.chat-md code{color:#e0e0e0;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:3px;padding:.05rem .3rem;font-size:.78rem}.chat-md pre{background:#131313;border:1px solid #222;border-radius:4px;margin:0 0 .5rem;padding:.6rem .75rem;overflow-x:auto}.chat-md pre code{background:0 0;border:none;padding:0}.chat-md a{color:#6ea4ff;text-decoration:underline}.chat-md h1,.chat-md h2,.chat-md h3,.chat-md h4{color:#e8e8e8;margin:.4rem 0 .3rem;font-size:.88rem;font-weight:600}.chat-md blockquote{color:#999;border-left:2px solid #333;margin:0 0 .5rem;padding-left:.6rem}.chat-input-row{border-top:1px solid #1e1e1e;gap:.5rem;padding-top:.75rem;display:flex}.chat-input-row input{color:#e0e0e0;font:400 .84rem/1 var(--font-secondary);background:#0f0f0f;border:1px solid #2a2a2a;border-radius:8px;outline:none;flex:1;padding:.6rem .75rem;transition:border-color .15s}.chat-input-row input:focus{border-color:#3a3a3a}.chat-input-row button{appearance:none;color:silver;font:600 .8rem/1 var(--font-secondary);cursor:pointer;white-space:nowrap;background:#1a1a1a;border:1px solid #3a3a3a;border-radius:8px;padding:.6rem 1rem;transition:border-color .12s,color .12s}.chat-input-row button:hover:not(:disabled){color:#fff;border-color:#555}.chat-input-row button:disabled{opacity:.35;cursor:default}.pf-deadline-banner{background:#f5a6230d;border:1px solid #f5a6234d;border-radius:10px;align-items:flex-start;gap:.8rem;padding:.85rem 1rem;display:flex}.pf-deadline-icon{color:#f5a623;flex-shrink:0;margin-top:.05rem;font-size:1.1rem}.pf-deadline-banner strong{color:#f5d98f;font:600 .85rem/1.3 var(--font-secondary);margin-bottom:.25rem;display:block}.pf-deadline-banner p{color:#b89a60;margin:0;font-size:.81rem;line-height:1.45}.source-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.55rem;display:grid}.source-card{background:#0f0f0f;border:1px solid #222;border-radius:8px;align-items:flex-start;gap:.55rem;padding:.65rem .75rem;display:flex}.source-status-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;margin-top:.32rem}.source-status-dot.connected{background:#4ade80;box-shadow:0 0 7px #4ade8080}.source-status-dot.disconnected{background:#555}.source-name{font:600 .83rem/1.2 var(--font-secondary);color:#e0e0e0;margin:0}.source-meta{font:500 .71rem/1.2 var(--font-secondary);color:#555;margin:.15rem 0 0}.pf-filing-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.pf-filing-header h4{margin:0 0 .2rem}.pf-period{color:#777;font:500 .77rem/1.3 var(--font-secondary);margin:0}.pf-due-badge{color:#8eb4f0;font:600 .76rem/1 var(--font-secondary);white-space:nowrap;background:#64b4dc1a;border:1px solid #64b4dc38;border-radius:999px;flex-shrink:0;padding:.35rem .65rem}.pf-progress-bar{background:#1e1e1e;border-radius:999px;height:5px;margin-bottom:.45rem;overflow:hidden}.pf-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#00e5c8 0%,#4ade80 100%);height:100%}.pf-progress-label{color:#777;font:500 .77rem/1.3 var(--font-secondary);margin:0 0 1rem}.pf-sections{flex-direction:column;gap:.35rem;display:flex}.pf-section-row{background:#0f0f0f;border:1px solid #1e1e1e;border-radius:8px;align-items:flex-start;gap:.65rem;padding:.65rem .8rem;display:flex}.pf-section-row.complete{border-color:#4ade8024}.pf-section-row.review{background:#f5a62306;border-color:#f5a62338}.pf-section-icon{color:#4ade80;flex-shrink:0;margin-top:.18rem;font-size:.82rem;font-weight:700}.pf-section-row.review .pf-section-icon{color:#f5a623}.pf-section-row.pending .pf-section-icon{color:#444}.pf-section-body{flex:1}.pf-section-name{font:500 .84rem/1.3 var(--font-secondary);color:#d5d5d5;margin:0}.pf-section-detail{font:400 .75rem/1.4 var(--font-secondary);color:#666;margin:.2rem 0 0}.pf-status-pill{font:600 .64rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;border:1px solid;border-radius:999px;flex-shrink:0;padding:.24rem .52rem}.pf-status-pill.complete{color:#4ade80;background:#4ade8012;border-color:#4ade8047}.pf-status-pill.review{color:#f5a623;background:#f5a62312;border-color:#f5a62347}.pf-status-pill.pending{color:#555;background:0 0;border-color:#2a2a2a}.pf-status-pill.ready{color:#60a5fa;background:#60a5fa14;border-color:#60a5fa59}.pf-generate-btn{appearance:none;color:#555;font:600 .82rem/1 var(--font-secondary);cursor:default;background:#181818;border:1px solid #2a2a2a;border-radius:7px;padding:.55rem 1.1rem;transition:background .15s,border-color .15s,color .15s}.pf-generate-btn.ready{color:#60a5fa;cursor:pointer;background:#60a5fa1a;border-color:#60a5fa73}.pf-generate-btn.ready:hover{background:#60a5fa2e}.pf-generate-btn:disabled{opacity:.5;cursor:default}.pf-chat{flex-direction:column;gap:1.3rem;display:flex}.pf-qa-block{border-top:1px solid #222;flex-direction:column;gap:.5rem;padding-top:1rem;display:flex}.pf-qa-block:first-child{border-top:none;padding-top:0}.pf-question,.pf-answer{align-items:flex-start;gap:.6rem;display:flex}.pf-q-label,.pf-a-label{font:700 .63rem/1.5 var(--font-secondary);text-transform:uppercase;letter-spacing:.07em;border-radius:4px;flex-shrink:0;margin-top:.08rem;padding:.13rem .38rem}.pf-q-label{color:#8eb4f0;background:#1e2a3a;border:1px solid #8eb4f02e}.pf-a-label{color:#4ade80;background:#162318;border:1px solid #4ade802e}.pf-question p,.pf-answer p{color:silver;margin:0;font-size:.83rem;line-height:1.55}.pf-answer p{color:#a8a8a8}.pf-disputes{flex-direction:column;gap:.75rem;display:flex}.pf-dispute-card{background:#0f0f0f;border:1px solid #222;border-radius:8px;flex-direction:column;gap:.45rem;padding:.85rem;display:flex}.pf-dispute-header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.pf-dispute-header strong{font:600 .84rem/1.2 var(--font-secondary);color:#d8d8d8}.pf-dispute-status{font:600 .64rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;border:1px solid;border-radius:999px;padding:.22rem .48rem}.pf-dispute-status.watch{color:#f5a623;background:#f5a62312;border-color:#f5a62347}.pf-dispute-status.resolved{color:#4ade80;background:#4ade8012;border-color:#4ade8047}.pf-dispute-issue{font:500 .81rem/1.4 var(--font-secondary);color:#aaa;margin:0}.pf-dispute-action{font:400 .77rem/1.45 var(--font-secondary);color:#777;margin:0}.pf-action-label{color:#999;font-weight:600}.demo-banner{z-index:9999;color:#fff;text-align:center;font:700 .78rem/1 var(--font-secondary);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;background:#b91c1c;padding:.5rem 1rem;position:fixed;bottom:0;left:0;right:0}.source-dot.error{background:#f87171;box-shadow:0 0 5px #f8717173}.source-remove-btn{color:#555;cursor:pointer;background:0 0;border:none;align-items:center;margin:0;padding:0 0 0 .15rem;font-size:.75rem;line-height:1;display:flex}.source-remove-btn:hover{color:#f87171}.source-add-btn{font:500 .72rem/1 var(--font-secondary);color:#555;cursor:pointer;background:0 0;border:1px dashed #333;border-radius:999px;padding:.25rem .6rem;transition:border-color .15s,color .15s}.source-add-btn:hover{color:#4ade80;border-color:#4ade80}.source-add-form{align-items:center;gap:.25rem;display:flex}.source-add-input{font:500 .72rem/1 var(--font-secondary);color:#e9e9e9;background:#111;border:1px solid #333;border-radius:999px;outline:none;width:120px;padding:.25rem .6rem}.source-add-input:focus{border-color:#4ade80}.source-add-ok{font:500 .72rem/1 var(--font-secondary);color:#4ade80;cursor:pointer;background:#4ade8022;border:1px solid #4ade8055;border-radius:999px;padding:.25rem .55rem}.source-add-cancel{font:500 .72rem/1 var(--font-secondary);color:#555;cursor:pointer;background:0 0;border:none;padding:.25rem}.draft-letter-modal{background:#111;border:1px solid #222;border-radius:10px;flex-direction:column;width:min(760px,95vw);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #000000b3}.draft-letter-body{min-height:0;font:400 .8rem/1.7 var(--font-mono);color:#ccc;white-space:pre-wrap;word-break:break-word;border-top:1px solid #1a1a1a;border-bottom:1px solid #1a1a1a;flex:1;margin:0;padding:1.25rem 1.5rem;overflow-y:auto}.draft-letter-footer{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.draft-letter-actions{flex-shrink:0;gap:.5rem;display:flex}.prov-tag{font:500 .68rem/1 var(--font-mono);color:#555;white-space:nowrap;background:#141414;border:1px solid #252525;border-radius:4px;padding:.18rem .4rem}.add-source-modal{background:#111;border:1px solid #222;border-radius:12px;flex-direction:column;width:min(620px,95vw);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 80px #000000bf}.source-catalog{flex-direction:column;gap:1.25rem;padding:.5rem 1.25rem 1.25rem;display:flex;overflow-y:auto}.source-cat-label{font:600 .68rem/1 var(--font-secondary);text-transform:uppercase;letter-spacing:.14em;color:#555;margin:0 0 .5rem}.source-cat-items{grid-template-columns:repeat(2,1fr);gap:.4rem;display:grid}.source-cat-item{cursor:pointer;text-align:left;background:#181818;border:1px solid #252525;border-radius:8px;justify-content:space-between;align-items:center;gap:.5rem;padding:.65rem .8rem;transition:border-color .12s,background .12s;display:flex}.source-cat-item:hover{background:#1e1e1e;border-color:#3a3a3a}.source-cat-name{font:500 .82rem/1.2 var(--font-secondary);color:#d0d0d0}.source-cat-sync{font:500 .68rem/1 var(--font-secondary);color:#555;white-space:nowrap;flex-shrink:0}.source-connect-form{flex-direction:column;gap:.9rem;padding:1rem 1.25rem 1.25rem;display:flex}.source-back-btn{color:#666;font:500 .78rem/1 var(--font-secondary);cursor:pointer;text-align:left;background:0 0;border:none;width:fit-content;padding:0}.source-back-btn:hover{color:#aaa}.source-connect-hint{font:400 .78rem/1.5 var(--font-secondary);color:#555;margin:0}.source-fields{flex-direction:column;gap:.65rem;display:flex}.source-field-label{font:500 .75rem/1 var(--font-secondary);color:#888;flex-direction:column;gap:.3rem;display:flex}.source-field-input{color:#e0e0e0;font:400 .83rem/1 var(--font-secondary);background:#0d0d0d;border:1px solid #2a2a2a;border-radius:7px;outline:none;padding:.55rem .7rem;transition:border-color .12s}.source-field-input:focus{border-color:#444}.source-field-input::placeholder{color:#444}.source-connect-actions{align-items:center;gap:.6rem;margin-top:.25rem;display:flex}.source-test-btn{color:#888;font:500 .8rem/1 var(--font-secondary);cursor:pointer;background:#181818;border:1px solid #2a2a2a;border-radius:7px;flex:1;padding:.6rem 1rem;transition:border-color .12s,color .12s}.source-test-btn:not(:disabled):hover{color:#ccc;border-color:#444}.source-test-btn:disabled{opacity:.45;cursor:default}.source-confirm-btn{color:#555;font:600 .8rem/1 var(--font-secondary);cursor:default;white-space:nowrap;background:#222;border:1px solid #333;border-radius:7px;padding:.6rem 1.2rem;transition:background .15s,border-color .15s,color .15s}.source-confirm-btn.ready{color:#4ade80;cursor:pointer;background:#4ade8018;border-color:#4ade8055}.source-confirm-btn.ready:hover{background:#4ade8028}.pf-q-label{font:600 .72rem/1 var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:#60a5fa;margin-bottom:.3rem}
