:root{--color-primary:#19bc9c;--color-primary-hover:#14a68a;--color-primary-active:#0f8e75;--color-primary-light:#eafbf7;--color-primary-border:#b8eee4;--color-primary-dark:#0d6f5d;--color-surface:#f7f9fb;--color-surface-hover:#f8fafc;--color-surface-muted:#f0f2f5;--color-card:#fff;--color-selected-row:#f0fbf8;--color-border:#e5e7eb;--color-border-light:#eef2f6;--color-border-table:#eceff3;--color-border-input:#dce3ea;--color-heading:#111827;--color-text:#374151;--color-secondary:#667085;--color-muted:#98a2b3;--color-placeholder:#98a2b3;--color-disabled:#d0d5dd;--color-link:#19bc9c;--color-link-hover:#14a68a;--color-success:#19bc9c;--color-success-bg:#eafbf7;--color-success-border:#b8eee4;--color-success-text:#0d6f5d;--color-success-alt-bg:#ecfdf3;--color-success-alt-text:#027a48;--color-warning:#f59e0b;--color-warning-bg:#fffbeb;--color-warning-border:#fde68a;--color-warning-text:#92400e;--color-danger:#ef4444;--color-danger-bg:#fef2f2;--color-danger-border:#fecaca;--color-danger-text:#b91c1c;--color-info:#3b82f6;--color-info-bg:#eff6ff;--color-info-border:#bfdbfe;--color-info-text:#1d4ed8;--font-family:"Inter","Segoe UI","Helvetica Neue",Arial,sans-serif;--font-weight-heading:700;--font-weight-subheading:600;--font-weight-body:400;--font-weight-medium:500;--font-weight-button:600;--line-height-base:1.6;--line-height-tight:1.3;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--radius-sm:6px;--radius-md:10px;--radius-lg:18px;--radius-xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(15,23,42,.04);--shadow-sm:0 2px 6px rgba(15,23,42,.05);--shadow-card:0 8px 24px rgba(15,23,42,.06);--shadow-md:0 12px 32px rgba(15,23,42,.08);--shadow-lg:0 20px 48px rgba(15,23,42,.12);--transition-fast:150ms ease-out;--transition-base:200ms ease-out;--transition-slow:250ms ease-out;font-family:var(--font-family);line-height:var(--line-height-base);color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--color-heading);line-height:var(--line-height-tight)}a{color:var(--color-link);transition:color var(--transition-fast)}a:hover{color:var(--color-link-hover)}.app-shell{min-height:100vh;background:var(--color-background)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;justify-content:space-between;padding:0 var(--space-6);height:60px;background:var(--color-card);border-bottom:1px solid var(--color-border)}.brand,.topbar{align-items:center}.brand{display:inline-flex;gap:10px;font-size:1.05rem;letter-spacing:-.01em;color:var(--color-heading);text-decoration:none}.topnav{display:flex;gap:var(--space-1);align-items:center}.topnav a{text-decoration:none;font-size:.875rem;font-weight:var(--font-weight-medium);padding:6px var(--space-3);border-radius:var(--radius-md);transition:color var(--transition-fast),background var(--transition-fast)}.topnav a.active,.topnav a:hover{color:var(--color-primary);background:var(--color-primary-light)}.page-wrap{margin:0 auto;padding:var(--space-7) var(--space-7) var(--space-9)}.page-title-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5);gap:var(--space-3)}.page-title{margin:0;font-size:1.375rem;font-weight:var(--font-weight-heading);color:var(--color-heading);letter-spacing:-.01em}.panel{border:1px solid var(--color-border);background:var(--color-card);border-radius:var(--radius-lg);padding:var(--space-6)}.stack{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.grid-2{grid-gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr))}.grid-2,.grid-3{display:grid;gap:var(--space-4)}.grid-3{grid-gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr))}.label{display:block;font-size:.8125rem;font-weight:var(--font-weight-medium);margin-bottom:var(--space-2);letter-spacing:.01em}.input,.label,.select{color:var(--color-text)}.input,.select{width:100%;height:48px;border-radius:var(--radius-md);border:1px solid var(--color-border-input);padding:0 var(--space-4);font-size:.9rem;font-family:var(--font-family);background:var(--color-card);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.input:focus,.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(25,188,156,.12)}.input::placeholder{color:var(--color-placeholder)}.btn-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.btn{text-decoration:none;justify-content:center;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.btn,.btn-primary{border:0;border-radius:var(--radius-md);padding:0 var(--space-5);height:40px;font-size:.875rem;font-weight:var(--font-weight-button);font-family:var(--font-family);cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.btn-primary{background:var(--color-primary);color:#fff;transition:background var(--transition-fast)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover)}.btn-primary:active:not(:disabled){background:var(--color-primary-active)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--color-card);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);height:40px;font-size:.875rem;font-weight:var(--font-weight-button);font-family:var(--font-family);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn-secondary:hover{background:var(--color-surface);border-color:var(--color-border)}.btn-success{background:var(--color-primary);color:#fff;border:0;border-radius:var(--radius-md);padding:0 var(--space-5);height:40px;font-size:.875rem;font-weight:var(--font-weight-button);font-family:var(--font-family);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast)}.btn-success:hover:not(:disabled){background:var(--color-primary-hover)}.btn-success:disabled{opacity:.5;cursor:not-allowed}.btn-outline{background:transparent;color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);padding:0 var(--space-4);height:40px;font-size:.875rem;font-weight:var(--font-weight-button);font-family:var(--font-family);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-outline:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.btn-danger{background:var(--color-danger-bg);color:var(--color-danger-text);border:0}.btn-sm{height:32px;padding:0 var(--space-3);font-size:.8125rem}.btn-icon{background:transparent;border:0;cursor:pointer;padding:6px var(--space-2);border-radius:var(--radius-sm);font-size:1rem;line-height:1;color:var(--color-muted);transition:background var(--transition-fast),color var(--transition-fast)}.btn-icon:hover{background:var(--color-surface);color:var(--color-text)}.btn-icon.btn-danger{color:var(--color-danger)}.btn-icon.btn-danger:hover{background:var(--color-danger-bg)}.btn-danger-outline{background:transparent;color:var(--color-danger-text);border:1px solid var(--color-danger-border);border-radius:var(--radius-sm);padding:0 10px;height:32px;font-size:.8125rem;font-family:var(--font-family);cursor:pointer;display:inline-flex;align-items:center;transition:background var(--transition-fast)}.btn-danger-outline:hover{background:var(--color-danger-bg)}.btn-simulate{background:var(--color-primary-light);color:var(--color-primary-dark);border:1px solid var(--color-primary-border);border-radius:var(--radius-md);padding:0 var(--space-5);height:40px;font-size:.875rem;font-weight:var(--font-weight-button);font-family:var(--font-family);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background var(--transition-fast),border-color var(--transition-fast);white-space:nowrap}.btn-simulate:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.muted{color:var(--color-secondary)}.error{color:var(--color-danger-text);font-size:.875rem}.lender-card{border:1px solid var(--color-border);background:var(--color-card);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--transition-fast)}.lender-card:hover{box-shadow:var(--shadow-md)}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-3)}.table-wrap{overflow:auto;max-height:calc(100vh - 300px);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-card)}.table-wrap .table thead th{position:-webkit-sticky;position:sticky;top:0;z-index:1}.table{width:100%;border-collapse:collapse}.table th{background:var(--color-surface);font-size:.75rem;font-weight:var(--font-weight-subheading);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.table td,.table th{text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-table)}.table td{font-size:.875rem;color:var(--color-text);vertical-align:middle}.table tr:hover td{background:var(--color-surface-hover)}.table tr:last-child td{border-bottom:none}.amount-presets{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.preset-btn{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:4px 10px;font-size:.8rem;cursor:pointer;font-weight:var(--font-weight-medium);font-family:var(--font-family);transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.preset-btn:hover{background:var(--color-primary-light);border-color:var(--color-primary-border);color:var(--color-primary-dark)}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}.page-wrap{padding:var(--space-5) var(--space-4) var(--space-7)}}.cb-subtitle{margin:4px 0 0;color:var(--color-secondary);font-size:.9rem}.cb-input,.cb-select{width:100%;min-width:120px;height:36px;border-radius:var(--radius-sm);border:1px solid var(--color-border-input);padding:0 10px;font-size:.875rem;font-family:var(--font-family);background:var(--color-card);color:var(--color-text);box-sizing:border-box;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.cb-input:focus,.cb-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(25,188,156,.12)}.section-heading{font-size:1.06rem;font-weight:var(--font-weight-heading);margin:0 0 var(--space-4)}.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.section-heading-row .section-heading{margin:0}.subsection-heading{font-size:.9rem;font-weight:var(--font-weight-subheading);margin:var(--space-5) 0 var(--space-3)}.product-form .subsection-heading{margin-top:0}.profile-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:var(--space-4);gap:var(--space-4);margin:0}.profile-facts dt{font-size:.75rem;color:var(--color-muted);margin-bottom:var(--space-1)}.profile-facts dd{margin:0;font-size:.9rem;color:var(--color-text);overflow-wrap:anywhere}.product-form{border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.sector-grid{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.sector-row{display:grid;grid-gap:var(--space-3);gap:var(--space-3)}.sector-row-header{display:flex;align-items:center;gap:var(--space-3)}.sector-label{font-size:.875rem;font-weight:var(--font-weight-subheading);color:var(--color-text)}.sector-saving{font-size:.75rem;color:var(--color-muted)}.sector-add-row{margin-top:var(--space-2)}.sector-add-select{max-width:280px;font-size:.875rem}.breadcrumb{display:flex;align-items:center;gap:6px;font-size:.8125rem;margin-bottom:var(--space-2)}.breadcrumb,.breadcrumb a{color:var(--color-secondary)}.breadcrumb a{transition:color var(--transition-fast)}.breadcrumb a:hover{color:var(--color-link);text-decoration:none}.breadcrumb-sep{color:var(--color-muted)}.breadcrumb-current{color:var(--color-text);font-weight:var(--font-weight-medium)}.frb-wrap{display:grid;grid-gap:var(--space-5);gap:var(--space-5)}.frb-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.rule-card-name{font-weight:var(--font-weight-subheading);font-size:.9375rem;color:var(--color-heading)}.rule-card-logic{display:inline-flex;align-items:center;margin-left:var(--space-2);background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);padding:2px 10px;font-size:.7rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.rule-criteria-list{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.rule-criteria-pill{display:inline-flex;align-items:center;gap:4px;font-size:.8125rem}.rule-logic-sep{font-size:.7rem;font-weight:700;color:var(--color-muted);padding:0 4px;text-transform:uppercase;letter-spacing:.05em}.rule-cond{font-family:monospace;color:var(--color-text);font-size:.8rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:1px 6px;margin-left:2px}.rule-output-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.rule-output-chip{font-size:.8rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:3px 10px;color:var(--color-text)}.criteria-picker{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-3)}.criteria-pill{display:flex;flex-direction:column;gap:3px;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);cursor:pointer;background:var(--color-card);transition:border-color var(--transition-fast),background var(--transition-fast),box-shadow var(--transition-fast);min-width:160px}.criteria-pill:hover{border-color:var(--color-primary-border);background:var(--color-primary-light)}.criteria-pill-name{font-size:.875rem;font-weight:var(--font-weight-subheading);color:var(--color-heading)}.criteria-pill-cond{font-size:.775rem;font-family:monospace;color:var(--color-secondary)}.expr-groups{gap:0}.expr-group-card,.expr-groups{display:flex;flex-direction:column}.expr-group-card{border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);background:var(--color-surface);gap:var(--space-3)}.expr-group-header{display:flex;align-items:center;justify-content:space-between}.expr-group-label{font-size:.7rem;font-weight:700;color:var(--color-primary);background:var(--color-primary-light);border:1px solid var(--color-primary-border);padding:3px 10px;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.05em}.expr-connector{text-align:center;padding:var(--space-2) 0}.expr-connector-label{font-size:.7rem;font-weight:700;background:var(--color-surface-muted);color:var(--color-secondary);padding:3px 14px;border-radius:var(--radius-full);letter-spacing:.06em;text-transform:uppercase}.expr-group-selected{display:flex;flex-wrap:wrap;gap:6px;min-height:40px;padding:var(--space-2) var(--space-3);background:var(--color-card);border:1px solid var(--color-border-input);border-radius:var(--radius-sm);align-items:flex-start}.expr-crit-chip{display:inline-flex;align-items:center;gap:5px;background:var(--color-primary-light);border:1px solid var(--color-primary-border);padding:3px 10px;font-size:.8rem}.chip-connector,.expr-crit-chip{border-radius:var(--radius-full)}.chip-connector{font-size:.65rem;font-weight:700;color:var(--color-primary);background:var(--color-primary-border);padding:1px 6px;text-transform:uppercase;letter-spacing:.05em}.chip-cond{color:var(--color-secondary);font-family:monospace;font-size:.775rem}.chip-remove{background:none;border:none;cursor:pointer;color:var(--color-muted);font-size:1rem;line-height:1;padding:0 0 0 2px;transition:color var(--transition-fast)}.chip-remove:hover{color:var(--color-danger)}.expr-picker{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-4)}.expr-view-groups{display:flex;flex-direction:column;gap:0;margin-bottom:var(--space-4)}.expr-view-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);display:flex;flex-direction:column;gap:6px}.expr-group-op-badge{display:inline-flex;align-items:center;font-size:.65rem;font-weight:700;background:var(--color-primary);color:#fff;border-radius:var(--radius-full);padding:2px 10px;align-self:flex-start;text-transform:uppercase;letter-spacing:.05em}.rule-current-card{border-left:3px solid var(--color-primary)!important}.rule-current-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.rule-version-badge{display:inline-flex;align-items:center;background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border);font-size:.7rem;font-weight:700;border-radius:var(--radius-full);padding:2px 10px;text-transform:uppercase;letter-spacing:.04em}.btn-history-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);height:36px;font-size:.8125rem;font-family:var(--font-family);color:var(--color-text);cursor:pointer;width:100%;text-align:left;display:flex;align-items:center;transition:background var(--transition-fast)}.btn-history-toggle:hover{background:var(--color-surface)}.hist-badge-old{display:inline-flex;align-items:center;background:var(--color-surface-muted);color:var(--color-secondary);border-radius:var(--radius-full);padding:2px 10px;font-size:.75rem;font-weight:var(--font-weight-medium)}.dash-table{border-collapse:collapse;width:100%;background:var(--color-card)}.dash-table th{background:var(--color-surface);color:var(--color-secondary);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-3) var(--space-5);text-align:left;white-space:nowrap}.dash-table td,.dash-table th{border-bottom:1px solid var(--color-border-table)}.dash-table td{padding:var(--space-4) var(--space-5);vertical-align:top;font-size:.875rem;color:var(--color-text)}.dash-lender-row td{border-top:1px solid var(--color-border);background:var(--color-surface)}.dash-product-row td{background:var(--color-card)}.dash-product-row:hover td{background:var(--color-surface-hover)}.dash-lender-cell{background:var(--color-surface)!important;vertical-align:top!important;border-right:1px solid var(--color-border)}.dash-lender-name{display:block;font-weight:var(--font-weight-subheading);font-size:.9rem;color:var(--color-heading);text-decoration:none;margin-bottom:3px;transition:color var(--transition-fast)}.dash-lender-name:hover{color:var(--color-primary)}.dash-lender-meta{font-size:.775rem;color:var(--color-secondary);margin-bottom:var(--space-2)}.dash-lender-actions{margin-top:var(--space-3)}.dash-product-name a{font-weight:var(--font-weight-medium);color:var(--color-text);text-decoration:none;transition:color var(--transition-fast)}.dash-product-name a:hover{color:var(--color-primary)}.dash-range{white-space:nowrap;color:var(--color-text);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.product-type-badge{display:inline-flex;align-items:center;background:var(--color-surface);color:var(--color-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:2px 10px;font-size:.75rem;font-weight:var(--font-weight-subheading);white-space:nowrap}.dash-rules-cell{padding:var(--space-3) var(--space-5)!important}.dash-rules-list{gap:var(--space-2)}.dash-rule-pill,.dash-rules-list{display:flex;flex-direction:column}.dash-rule-pill{gap:3px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-3);text-decoration:none;transition:border-color var(--transition-fast),background var(--transition-fast)}.dash-rule-pill-link{cursor:pointer}.dash-rule-pill-link:hover{border-color:var(--color-primary-border);background:var(--color-primary-light)}.dash-rule-name{font-size:.8375rem;font-weight:var(--font-weight-subheading);color:var(--color-heading)}.dash-rule-meta{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-top:2px}.dash-rule-logic{font-size:.65rem;font-weight:700;background:var(--color-primary-light);color:var(--color-primary);border:1px solid var(--color-primary-border);border-radius:var(--radius-full);padding:1px 7px;text-transform:uppercase;letter-spacing:.05em}.dash-rule-criteria,.dash-rule-range{font-size:.775rem;color:var(--color-secondary)}.dash-rule-range{background:var(--color-surface-muted);border-radius:var(--radius-full);padding:1px 8px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.modal-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:var(--color-card);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-6);min-width:400px;max-width:500px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light)}.modal-title{font-size:1.1rem;font-weight:var(--font-weight-heading);color:var(--color-heading);margin:0 0 var(--space-5);letter-spacing:-.01em}.modal-wide{max-width:640px}.modal-title:has(+.modal-subtitle){margin-bottom:var(--space-1)}.modal-subtitle{font-size:.875rem;color:var(--color-muted);margin:0 0 var(--space-5)}.form-group{display:flex;flex-direction:column;gap:var(--space-2)}.required-mark{color:var(--color-danger-text);margin-left:2px}.auth-badge{font-size:.75rem;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-full);padding:3px 10px;font-weight:var(--font-weight-medium)}.auth-badge,.auth-user{margin-left:var(--space-3)}.auth-user{display:inline-flex;align-items:center;gap:var(--space-3);font-size:.8125rem;color:var(--color-secondary)}.auth-btn{height:32px;padding:0 var(--space-3);font-size:.8125rem}.signin-screen{display:flex;min-height:100vh;background:var(--color-background);justify-content:center;align-items:center}.signin-card{background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);box-shadow:var(--shadow-card);width:100%;max-width:31rem}.signin-title{font-size:1.5rem;font-weight:var(--font-weight-heading);color:var(--color-heading);margin:0 0 var(--space-2);letter-spacing:-.02em}.sim-layout{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-5);gap:var(--space-5);align-items:start}@media (max-width:900px){.sim-layout{grid-template-columns:1fr}}.sim-section-title{font-size:.97rem;font-weight:var(--font-weight-subheading);color:var(--color-heading);margin:0 0 var(--space-4)}.sim-criteria-list{display:flex;flex-direction:column;gap:var(--space-3)}.sim-criteria-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.sim-criteria-name{font-weight:var(--font-weight-medium);font-size:.875rem;color:var(--color-heading);min-width:160px}.sim-criteria-cond{border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 8px;color:var(--color-secondary)}.sim-criteria-cond,.sim-textarea{font-size:.8rem;background:var(--color-surface)}.sim-textarea{width:100%;height:320px;font-family:monospace;border:1px solid var(--color-border-input);border-radius:var(--radius-md);padding:var(--space-4);color:var(--color-text);resize:vertical;transition:border-color var(--transition-fast)}.sim-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px rgba(25,188,156,.12)}.sim-result-banner{text-align:center}.sim-pass{border-left:4px solid var(--color-success)!important;background:var(--color-success-bg)!important}.sim-fail{border-left:4px solid var(--color-danger)!important;background:var(--color-danger-bg)!important}.sim-verdict{font-size:1.5rem;font-weight:700;margin-bottom:var(--space-2)}.sim-pass .sim-verdict{color:var(--color-success-text)}.sim-fail .sim-verdict{color:var(--color-danger-text)}.sim-logic-note{font-size:.85rem;color:var(--color-secondary);margin:0 0 var(--space-3)}.sim-output-box{background:var(--color-card);border-radius:var(--radius-md);padding:var(--space-4);text-align:left;font-size:.875rem;display:flex;flex-direction:column;gap:var(--space-2)}.sim-row-pass td{background:rgba(25,188,156,.04)}.sim-row-fail td{background:rgba(239,68,68,.04)}.sim-badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:2px 10px;font-size:.78rem;font-weight:600}.sim-badge-pass{background:var(--color-success-bg);color:var(--color-success-text);border:1px solid var(--color-success-border)}.sim-badge-fail{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid var(--color-danger-border)}.sim-empty{color:var(--color-secondary);text-align:center;font-size:.9rem;padding:var(--space-8)!important}.product-type-new{margin-top:var(--space-3);padding:var(--space-4);border:1px dashed var(--color-border-light);border-radius:var(--radius-lg)}.row-link{cursor:pointer}.row-link:focus-visible td,.row-link:hover td{background:var(--color-surface-muted,#f8fafc)}.row-link:focus-visible{outline:2px solid var(--color-primary,#1f6f4f);outline-offset:-2px}:root{--color-background:#f4f6f8;--radius-md:12px;--radius-lg:20px;--shadow-card:0 1px 2px rgba(16,24,40,.04),0 8px 28px rgba(16,24,40,.07);--shadow-card-hover:0 2px 4px rgba(16,24,40,.05),0 14px 34px rgba(16,24,40,.1)}body{background:var(--color-background)}.topbar{border-bottom:0;box-shadow:0 1px 0 var(--color-border-light),0 4px 18px rgba(16,24,40,.04)}.brand{font-size:1.125rem;font-weight:700;letter-spacing:-.02em}.brand,.brand:hover{color:var(--color-primary-strong)}.topnav{gap:4px}.topnav a{border-radius:999px;padding:8px 16px}.topnav a.active{background:var(--color-primary-light);color:var(--color-primary-dark)}.page-wrap{max-width:1240px;padding-top:36px}.page-title-row{margin-bottom:28px;align-items:flex-end;flex-wrap:wrap}.page-title{font-size:1.85rem;font-weight:750;letter-spacing:-.02em}.stack{gap:24px}.breadcrumb{font-size:.85rem;margin-bottom:14px}.breadcrumb a{color:var(--color-primary-dark);font-weight:600;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.section-heading{font-size:1.1rem;letter-spacing:-.01em}.section-heading,.subsection-heading{font-weight:700;color:var(--color-heading)}.panel{border:0;border-radius:22px;padding:28px;box-shadow:var(--shadow-card)}.lender-card{border:0;border-radius:20px;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.lender-card:hover{transform:translateY(-2px)}.btn{border-radius:999px;height:42px;padding:0 22px;font-weight:700;border:1.5px solid transparent;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),transform .1s ease-out,box-shadow var(--transition-fast)}.btn:active:not(:disabled){transform:scale(.98)}.btn-sm{height:34px;padding:0 16px;font-size:.82rem}.btn-primary{box-shadow:0 1px 2px rgba(13,111,93,.25)}.btn-primary:hover:not(:disabled){box-shadow:0 4px 14px rgba(25,188,156,.3)}.btn-outline,.btn-secondary{background:#fff;color:var(--color-primary-dark);border-color:var(--color-primary-border)}.btn-outline:hover,.btn-secondary:hover{background:var(--color-primary-light);border-color:var(--color-primary)}.btn-danger-outline,.btn-icon,.btn-simulate,.preset-btn{border-radius:999px}.label{font-weight:600;color:var(--color-heading)}.cb-input,.cb-select,.input,.select{border-radius:14px;border-width:1.5px;height:46px}textarea.input{height:auto;padding-top:12px;padding-bottom:12px}.cb-select,select.input,select.select{cursor:pointer}.input:hover,.select:hover{border-color:var(--color-primary-border)}.table-wrap{border:0;border-radius:18px;background:#fff}.panel .table-wrap{box-shadow:none;border:1px solid var(--color-border-light)}.table th{background:#fff;text-transform:none;letter-spacing:0;font-size:.8rem;font-weight:650;color:var(--color-secondary)}.table td,.table th{border-bottom:1px solid var(--color-border-light);padding:14px 18px}.table tr:hover td{background:var(--color-surface)}.table a{color:var(--color-heading);font-weight:650;text-decoration:none}.table a:hover{color:var(--color-primary-dark)}.dash-table th{text-transform:none;letter-spacing:0;background:#fff}.criteria-pill,.expr-crit-chip,.expr-group-op-badge,.hist-badge-old,.rule-criteria-pill,.rule-output-chip,.rule-version-badge{border-radius:999px}.expr-group-card,.rule-current-card{border-radius:18px}.cfip-review .cam{border:0;border-radius:22px;padding:32px 36px;font-size:13.5px;box-shadow:var(--shadow-card)}.cfip-review .cam-head{border-bottom:1px solid var(--color-border-light);padding-bottom:18px}.cfip-review .cam-head h1{color:var(--color-primary-dark);letter-spacing:.06em}.cfip-review .cam-head h2{font-size:24px;font-weight:750;letter-spacing:-.02em}.cfip-review .cam h3{border-left:0;padding-left:0;font-size:15.5px;font-weight:700;color:var(--color-heading)}.cfip-review .cam section{margin-top:26px}.cfip-review .cam-table th{background:#fff;color:var(--color-secondary);font-weight:650;border-bottom:1px solid var(--color-border-light)}.cfip-review .cam-table td,.cfip-review .cam-table th{padding:8px 10px;border-bottom-color:var(--color-border-light)}.cfip-review .cam-table tr:hover td{background:var(--color-surface)}.cfip-review .cam-select{border-radius:12px;border:1.5px solid var(--color-border-input);padding:8px 12px}.cfip-review .cam-list button{border-radius:14px;border:1.5px solid var(--color-border-light);padding:10px 12px;background:#fff}.cfip-review .cam-list button:hover{border-color:var(--color-primary-border)}.cfip-review .cam-list button.is-active{border-color:var(--color-primary);background:var(--color-primary-light)}.cfip-review .vendor-notify{border-radius:16px;padding:14px 16px}.cfip-review .offer-editor input,.cfip-review .offer-editor select{border-radius:10px;border-width:1.5px;padding:7px 10px}.cfip-review .panel{border:0;border-radius:22px;box-shadow:var(--shadow-card)}body .cfip-review{--accent:var(--color-primary-dark);--accent-weak:var(--color-primary-light);--line:var(--color-border-light)}.cfip-review a{color:var(--color-primary-dark);font-weight:600;text-decoration:none}.cfip-review a:hover{text-decoration:underline}.cfip-review .cam-input-form input,.cfip-review .cam-input-form select,.cfip-review .cam-side input,.cfip-review .cam-side select,.cfip-review .field>input,.cfip-review .field>select{border-radius:12px;border:1.5px solid var(--color-border-input);padding:9px 12px;background:#fff}.cfip-review .cam-input-form input:focus,.cfip-review .cam-side input:focus,.cfip-review .cam-side select:focus,.cfip-review .field>input:focus,.cfip-review .field>select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-light)}button[class*=_button_]{border-radius:999px!important;font-weight:700;transition:background var(--transition-fast),box-shadow var(--transition-fast),transform .1s ease-out}button[class*=_button_]:active:not(:disabled){transform:scale(.98)}button[class*=_button_][class*=_primary_]{background:var(--color-primary);border-color:var(--color-primary);color:#fff}button[class*=_button_][class*=_primary_]:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:0 4px 14px rgba(25,188,156,.3)}button[class*=_button_][class*=_ghost_],button[class*=_button_][class*=_outlined_],button[class*=_button_][class*=_secondary_]{background:#fff;color:var(--color-primary-dark);border:1.5px solid var(--color-primary-border)}button[class*=_button_][class*=_ghost_]:hover,button[class*=_button_][class*=_outlined_]:hover,button[class*=_button_][class*=_secondary_]:hover{background:var(--color-primary-light);border-color:var(--color-primary)}body .cfip-review button[class*=_primary_]{background:var(--color-primary)!important;border-color:var(--color-primary)!important;color:#fff!important}body .cfip-review button[class*=_primary_]:hover:not(:disabled){background:var(--color-primary-hover)!important}body .cfip-review button[class*=_primary_]:disabled{opacity:.45}.table-wrap:has(>.dash-table){max-height:none;overflow-x:auto;overflow-y:visible;border:0;box-shadow:none;border-radius:0}.dash-table th{padding:16px 20px;font-size:.8rem;font-weight:650}.dash-table td,.dash-table th{border-bottom:1px solid var(--color-border-light)}.dash-table td{vertical-align:middle;padding:14px 20px}.dash-lender-row td{background:#fff;border-top:8px solid var(--color-background)}.dash-lender-row:first-child td{border-top:0}.dash-product-row td{background:#fff}.dash-lender-row:hover td,.dash-product-row:hover td{background:var(--color-surface)}.dash-lender-cell{border-right:1px solid var(--color-border-light)}.dash-lender-cell,.dash-lender-cell:hover{background:#fcfdfd!important}.dash-lender-name{font-size:.98rem;font-weight:700}.dash-product-name a{font-weight:650;color:var(--color-heading)}.product-type-badge{background:var(--color-primary-light);color:var(--color-primary-dark);border-color:var(--color-primary-border)}.dash-rule-pill{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 12px;border-radius:12px;background:#fff;border:1px solid var(--color-border-light)}.dash-rule-name{font-weight:600;color:var(--color-text)}.dash-rule-meta{margin-top:0}.dash-fold,.dash-lender-folded{cursor:pointer}.dash-fold{display:flex;align-items:flex-start;gap:8px;border:0;background:none;padding:0;font:inherit;text-align:left}.dash-fold .dash-lender-name{margin:0}.dash-caret{color:#98a2b3;font-size:.75rem;line-height:1.6;transition:transform .2s;display:inline-block}.dash-caret.is-open{transform:rotate(90deg)}.table .dash-lender-link{display:inline-block;white-space:nowrap;margin:6px 0 0 18px;font-size:.8rem;font-weight:600;color:var(--color-primary-dark);text-decoration:none}.dash-lender-link:hover{text-decoration:underline}.dash-lender-actions{margin-left:18px}:root{--color-primary-strong:#0b7a65;--color-primary-strong-hover:#086352;--color-link:var(--color-primary-strong);--color-link-hover:var(--color-primary-strong-hover);--color-line:#e6e9ef;--radius-card:16px;--shadow-card:0 1px 2px rgba(15,27,45,.04),0 1px 1px rgba(15,27,45,.03);--shadow-card-hover:0 2px 8px rgba(15,27,45,.06)}.topbar{height:64px;box-shadow:none;border-bottom:1px solid var(--color-line)}.topnav{align-self:stretch;gap:12px}.topnav a{display:inline-flex;align-items:center;border-radius:0;padding:0 16px;font-size:15px;background:transparent;color:var(--color-secondary);font-weight:600;border-bottom:3px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.topnav a:hover{background:transparent;color:var(--color-heading)}.topnav a.active{background:transparent;color:var(--color-primary-strong);border-bottom-color:var(--color-primary-strong)}html{scrollbar-gutter:stable}.topnav a:focus-visible{outline:2px solid var(--color-primary-strong);outline-offset:-4px;border-radius:6px}.cfip-review .panel,.panel{padding:24px}.cfip-review .panel,.lender-card,.panel{border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.lender-card:hover{transform:none;border-color:#c9d1dc;box-shadow:var(--shadow-card-hover)}.table-wrap{border:1px solid var(--color-line);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.table-wrap:has(>.dash-table){border:1px solid var(--color-line);box-shadow:var(--shadow-card)}.expr-group-card,.rule-current-card{border-radius:var(--radius-card)}.btn-primary,.btn-simulate:hover,.btn-success,.expr-group-op-badge,.xr-pill-primary{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}.btn-primary:hover:not(:disabled),.btn-success:hover:not(:disabled){background:var(--color-primary-strong-hover);box-shadow:none}.btn-primary{box-shadow:none}button[class*=_button_][class*=_primary_]{background:var(--color-primary-strong);border-color:var(--color-primary-strong)}button[class*=_button_][class*=_primary_]:hover:not(:disabled){background:var(--color-primary-strong-hover);box-shadow:none}body .cfip-review button[class*=_primary_]{background:var(--color-primary-strong)!important;border-color:var(--color-primary-strong)!important}body .cfip-review button[class*=_primary_]:hover:not(:disabled){background:var(--color-primary-strong-hover)!important}.btn-outline,.btn-secondary,button[class*=_button_][class*=_outlined_],button[class*=_button_][class*=_secondary_]{background:#fff;color:var(--color-heading);border:1px solid #c9d1dc}.btn-outline:hover,.btn-secondary:hover,button[class*=_button_][class*=_outlined_]:hover,button[class*=_button_][class*=_secondary_]:hover{background:var(--color-surface);border-color:var(--color-secondary)}.breadcrumb a,.cfip-review .cam-head h1,.cfip-review a,.chip-connector,.dash-lender-link,.dash-lender-name:hover,.dash-product-name a:hover,.dash-rule-logic,.expr-group-label,.product-type-badge,.rule-card-logic,.rule-version-badge,.table a:hover,button[class*=_button_][class*=_ghost_]{color:var(--color-primary-strong)}