:root{color-scheme:light;font-family:system-ui,sans-serif;background:#f5f5f2;color:#18211d}*{box-sizing:border-box}body{margin:0}.shell{width:min(88rem,calc(100% - 2rem));margin:0 auto 3rem}.card{background:white;border:1px solid #d8ddd9;border-radius:.75rem;padding:1.5rem;box-shadow:0 4px 18px #0000000d}form{gap:1rem}form,label{display:grid}label{gap:.35rem;font-weight:600}button,input,select{font:inherit;padding:.7rem;border:1px solid #aab3ad;border-radius:.4rem}.wide-card{width:100%}.projection-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}.draft-transaction{border-top:2px solid #d8ddd9;margin-top:2rem;padding-top:1rem}.draft-actions{position:sticky;top:0;z-index:3;background:#fff;padding:1rem;border:1px solid #c4d9cb;display:flex;flex-wrap:wrap;gap:.75rem}.deleted-row{opacity:.55;text-decoration:line-through}.rule-name{display:inline-block;max-width:min(24rem,65vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1rem;margin-block:1rem}.stat-card{border:1px solid #c4d9cb;border-radius:.6rem;padding:1rem}.stat-card h2{font-size:1rem;margin-top:0}.stat-card strong{font-size:1.35rem}.transaction-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.draft-transaction{border:1px solid #c4d9cb;border-radius:.6rem;padding:1rem;scroll-margin-top:6rem}.completed-card{border-left:4px solid #418453}.bank-metadata{color:#52645a;font-size:.9rem}.row-kind{position:sticky;left:0;background:#f4f7f5;z-index:1}input[type=file]{padding:.8rem;border:1px dashed #718a7b;background:#f2f6f3}input[type=file]::file-selector-button{font:inherit;border:0;border-radius:.3rem;padding:.5rem;margin-right:.8rem;background:#dcece3;color:#164b3b}.new-split-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.75rem;margin-top:1rem;padding:1rem;background:#eff6f2}.configuration-actions,.configuration-rule,.configuration-split{display:grid;gap:.75rem;margin-block:1rem;padding:1rem;border:1px solid #d6d6d6;border-radius:.5rem}.configuration-fields,.configuration-history-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.version-list{display:grid;gap:.75rem;padding:0;list-style:none}.version-list li{display:grid;gap:.35rem;padding:.75rem;border:1px solid #ddd}.status-badge{display:inline-block;padding:.1rem .4rem;border-radius:999px;font-size:.8rem;background:#e6e6e6}.status-active{background:#d4edda}.status-draft{background:#fff3cd}.status-retired{background:#e2e3e5}td input{min-width:8rem;width:100%}@media (max-width:70rem){.projection-pair{grid-template-columns:1fr}}button{background:#174f3c;color:white;border:0;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}.error{color:#a01919}.notice{padding:.75rem;background:#eff6f2;border-radius:.4rem}code{overflow-wrap:anywhere}ul{padding-left:1.25rem}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%}td,th{border:1px solid #d8ddd9;padding:.45rem;text-align:left;white-space:nowrap}.app-header{margin:0 calc(50% - 50vw) 2rem;padding:1rem max(1rem,calc((100vw - 88rem) / 2));background:#fff;border-bottom:1px solid #d8ddd9}.app-header nav,.app-header-inner,.button-row,.page-header,.user-menu{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.app-header-inner{gap:.9rem 1.5rem}.brand{font-size:1.2rem;font-weight:750;text-decoration:none;color:#174f3c}.company-name{max-width:20rem;overflow-wrap:anywhere}.app-header nav{flex:1 1 100%;gap:.5rem 1.25rem;order:3}.app-header a{color:#174f3c}.nav-secondary,.user-menu{font-size:.9rem}.user-menu{margin-left:auto}.user-menu small{display:block;color:#52645a}.user-menu button{background:#edf3ef;color:#174f3c}.page-header{justify-content:space-between;margin-bottom:1.5rem}.page-header h1{margin:0 0 .5rem;font-size:clamp(1.6rem,3vw,2rem)}.page-header p{margin:0;max-width:65ch;color:#52645a}h2{font-size:1.3rem}h3{font-size:1.1rem}section+section{margin-top:1.75rem}.button,button{display:inline-block;padding:.75rem 1rem;font:inherit;font-weight:600;border:1px solid transparent;border-radius:.45rem;background:#174f3c;color:#fff;text-decoration:none;text-align:center;cursor:pointer}.button-secondary{background:#eef4f0;color:#174f3c;border-color:#b8cabf}.button-danger{background:#fff;color:#9c2525;border-color:#b64343}a{text-underline-offset:.18em}:focus-visible{outline:3px solid #2563b8;outline-offset:3px}input,select,textarea{max-width:100%;min-width:0;font:inherit;padding:.7rem;border:1px solid #aab3ad;border-radius:.4rem;background:white;color:#18211d}textarea{min-height:6rem}input[type=checkbox]{width:1.1rem;height:1.1rem}.checkbox-label{display:flex;align-items:center}.stepper{list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1.5rem 0 2rem}.stepper li{padding:.8rem;border-top:3px solid #d8ddd9;color:#536159;font-size:.9rem}.stepper li span{display:block;font-weight:750;margin-bottom:.35rem}.stepper .step-current{border-color:#174f3c;background:#edf5f0;color:#174f3c;font-weight:700}.stepper .step-done{border-color:#4e8968;color:#275b3d}.empty-state,.help,.next-step,.review-panel,.technical-details{border:1px solid #d5e1d9;background:#f4f8f5;border-radius:.6rem;padding:1.25rem;margin-block:1rem}.empty-state{padding:2rem}.company-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:1rem}.company-card{border:1px solid #d8ddd9;border-radius:.6rem;padding:1.25rem}.company-card h2{margin-top:0;overflow-wrap:anywhere}.company-card small{color:#52645a;overflow-wrap:anywhere}.status-badge{font-weight:650;padding:.3rem .65rem;line-height:1.3;white-space:normal}.tone-success{background:#dcefe2;color:#205b36}.tone-warning{background:#fff0cc;color:#79520a}.tone-danger{background:#fbe1e0;color:#962424}.tone-info{background:#e1edfb;color:#245487}.tone-neutral{background:#edf0ee;color:#4b5950}.problem-panel,.problem-row,tr.problem-row>td{background:#fff3f2;border-left:4px solid #b63737}.problem-panel{padding:1.25rem;margin-block:1rem;border-radius:.4rem}.problem-row{padding:1rem;margin-block:1rem}.completed-row,tr.completed-row>td{background:#edf7ef;border-left:4px solid #387d4e}summary{cursor:pointer;font-weight:650}details>div{margin-top:1rem}.technical-details{background:#f8f9f8;font-size:.9rem;overflow-wrap:anywhere}.technical-details dl{grid-template-columns:minmax(0,max-content) minmax(0,1fr)}.technical-details dd{overflow-wrap:anywhere}.onboarding-section{margin-block:2rem}.inline-fields{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-block:1rem}.table-scroll{max-height:36rem;border:1px solid #d8ddd9;border-radius:.4rem}th{position:sticky;top:0;background:#edf3ef;z-index:1}tbody tr:nth-child(2n){background:#f6f8f6}td,th{padding:.7rem}.amount{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mapping-table td{white-space:normal;min-width:10rem}.mapping-table td:first-child{font-weight:650}.mapping-table select{width:100%}.split-row,tr.split-row>td{background:#f2f6f3;color:#475c4e}.split-row td:first-child,.split-row:not(tr){padding-left:2rem}.rule-editor{border:1px solid #c4d9cb;border-radius:.6rem;padding:1.25rem;margin-block:1rem}.rule-editor ul{list-style:none;padding:0}.rule-editor li{padding-block:.75rem}.sign-in-card{max-width:32rem;margin:5rem auto}.muted{color:#52645a}@media (max-width:45rem){.shell{width:calc(100% - 1.25rem)}.card{padding:1rem}.stepper{grid-template-columns:1fr;gap:.25rem}.stepper li{display:flex;gap:.6rem;padding:.5rem;border-top:0;border-left:3px solid #d8ddd9}.stepper li span{margin:0}.app-header nav{gap:.85rem;font-size:.9rem}.user-menu{margin-left:0}.page-header{align-items:stretch}.page-header>.button{width:100%}.empty-state{padding:1rem}dl{grid-template-columns:1fr}}dl{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1rem}dd{margin:0}.match-explanation{margin:.75rem 0;padding:.75rem}.match-explanation p{margin:.35rem 0}.match-indicators{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem}.match-needs-review{border-left:4px solid var(--warning,#b4690e);background:var(--warning-bg,#fff7e8);border-radius:.35rem}.review-counts{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem;list-style:none;margin:1rem 0 .5rem;padding:0}.review-count{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-radius:.4rem;padding:.4rem .75rem}.review-count strong{font-size:1.25rem}.review-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.review-filters a{border:1px solid #c4d9cb;border-radius:999px;padding:.2rem .8rem;text-decoration:none}.review-filters a.filter-active{background:#1f4d33;border-color:#1f4d33;color:#fff;font-weight:650}.transaction-identity{display:flex;flex-wrap:wrap;gap:.25rem 2rem;margin:.4rem 0}.transaction-identity>div{display:flex;flex-direction:column;min-width:0}.transaction-identity dt{color:#4b5950;font-size:.8rem}.transaction-identity dd{overflow-wrap:anywhere}.rule-candidates{border-left:4px solid #b4690e;background:#fff7e8;border-radius:.35rem;margin:.75rem 0;padding:.5rem .75rem}.rule-candidates.no-candidate{border-left-color:#b63737;background:#fff3f2}.rule-candidates h4{margin:.2rem 0}.rule-candidates ol{margin:.4rem 0;padding-left:1.25rem}.rule-candidate p{margin:.2rem 0}.transaction-edit>summary{font-weight:500}.review-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin:.6rem 0}.review-actions button,.rule-apply{font-size:.9rem;padding:.3rem .7rem}.rule-apply{margin-top:.4rem}.decision-notice{border-left:4px solid #4b5950;border-radius:.35rem;margin:.6rem 0;padding:.4rem .75rem}.decision-notice.tone-success{border-left-color:#1f4d33}.decision-notice.tone-info{border-left-color:#1d5a8a}.decision-notice p{margin:.25rem 0}.excluded-transaction{background:#f1f1ee;border:1px dashed #8a948d;border-radius:.5rem}.excluded-transaction .transaction-identity dd{text-decoration:line-through;text-decoration-color:#8a948d}.review-notice{border-radius:.35rem;padding:.4rem .75rem}.notice-success{border-left:4px solid #1f4d33;background:#eaf5ee}.review-dialog{border:1px solid #8a948d;border-radius:.6rem;max-width:min(60rem,94vw);padding:1rem 1.25rem;width:100%}.review-dialog::backdrop{background:rgb(20 30 25/55%)}.review-dialog-body{margin:.5rem 0 1rem;max-height:65vh;overflow:auto}.review-dialog-actions{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.review-reason{display:flex;flex-direction:column;gap:.25rem}.review-reason textarea{width:100%}.check-row{align-items:flex-start;display:flex;gap:.5rem}.allocation-compare{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr))}.rule-structure{margin:.25rem 0;padding-left:1.1rem}.export-summary{border:1px solid #c4d9cb;border-radius:.5rem;margin:1rem 0;padding:.6rem 1rem}.export-summary-grid{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:.5rem 0}.export-summary-grid>div{border-radius:.4rem;padding:.35rem .6rem}.export-summary-grid dd{font-size:1.3rem;font-weight:650;margin:0}.reconciliation-table{border-collapse:collapse;margin:.5rem 0;max-width:28rem}.reconciliation-table caption{font-weight:600;text-align:left}.reconciliation-table td,.reconciliation-table th{padding:.2rem .75rem .2rem 0;text-align:left}.reconciliation-table td{text-align:right}