:root{font-family:Segoe UI Variable,Segoe UI,system-ui,-apple-system,sans-serif;color:#263b32;background:#f6f7f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--forest: #174d40;--forest-dark: #123b32;--ink: #253b32;--muted: #79877e;--border: #e4e9df;--surface: #fff;--accent: #c5a369;--radius: 18px;font-size:14px}.batch-lines{display:grid;gap:16px}.batch-line{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid var(--border);border-radius:14px}.batch-line>header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between}.selection-toolbar{padding:14px 18px;border-radius:14px;background:#eef3e8}@media(max-width:680px){.batch-line{grid-template-columns:minmax(0,1fr)}}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,summary{cursor:pointer}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}button,input,select,textarea,a{outline-offset:4px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid #b78a3f}input:focus,select:focus,textarea:focus{outline:2px solid #487a63;outline-offset:1px}a{color:inherit}button{transition:background .15s,box-shadow .15s,transform .15s}button:active:not(:disabled){transform:translateY(1px)}h1,h2,h3,p{margin-top:0}h1{font-size:35px;line-height:1.18;letter-spacing:-1.3px;font-weight:550;margin:8px 0 12px}h2{font-size:17px;letter-spacing:-.35px;font-weight:600;margin-bottom:6px}h3{font-size:15px;font-weight:600}p{line-height:1.6}strong{font-weight:600}small{font-size:11px;line-height:1.5}input,select,textarea{max-width:100%;min-width:0}input:not([type=checkbox]):not([type=file]),select,textarea{border:1px solid var(--border);border-radius:9px;background:#fff;padding:11px 12px;color:var(--ink)}input::placeholder,textarea::placeholder{color:#9aa49c}select{cursor:pointer}input[type=checkbox]{accent-color:var(--forest);width:16px;height:16px;flex-shrink:0}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;padding:12px;background:var(--forest);color:#fff}.skip-link:focus{top:10px}.grow{flex:1;min-width:0}.muted{color:var(--muted);font-size:12px}.eyebrow{font-size:9px;letter-spacing:1.7px;font-weight:650;color:#7a8c7b}.logo{display:flex;align-items:center;gap:9px;font-size:32px;font-weight:650;letter-spacing:-1.6px;color:#214f3f;line-height:1}.logo-dot{color:#b89860}.logo-mark{width:34px;height:34px;border:1px solid #c5d2bf;border-radius:50%;display:grid;place-items:center;background:#f4f6ee}.button{border:1px solid transparent;padding:11px 16px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;font-size:12px;white-space:nowrap;font-weight:600;line-height:1.2}.button.primary{background:var(--forest);color:#fff;box-shadow:0 3px 5px #183c3010}.button.primary:hover{background:#24634d}.button.secondary{background:#fff;border-color:#dfe6dc;color:#415b48}.button.secondary:hover{background:#f0f4ec;border-color:#ccd7c7}.text-button{display:inline-flex;align-items:center;gap:7px;border:0;background:transparent;color:#4e7057;font-size:11px;padding:4px 0;font-weight:500;text-align:left}.text-button:hover{text-decoration:underline}.text-button.strong{font-weight:600;font-size:13px}.icon-button{border:0;background:transparent;border-radius:8px;padding:7px;display:inline-grid;place-items:center;flex-shrink:0}.icon-button:hover{background:#eaf0e6}.danger,.danger-text{color:#a65645!important}.income-text{color:#39775b}.button.danger:hover{background:#fcf0ed}.row-actions{display:flex;gap:3px;align-items:center}.saved{color:#4b775b;display:inline-flex;align-items:center;gap:5px}.unsaved{color:#a67737}.full{grid-column:1/-1}.mobile-only{display:none!important}.app-layout{display:flex;min-height:100vh}.sidebar{width:238px;flex-shrink:0;position:fixed;top:0;bottom:0;left:0;background:#f0f3e9;border-right:1px solid #e0e6d7;display:flex;flex-direction:column;padding:31px 20px 0;z-index:20}.sidebar-brand{padding-left:10px;margin-bottom:37px;display:flex;align-items:center;justify-content:space-between}.family-switch{display:flex;align-items:center;gap:9px;padding:12px 10px;border:1px solid #dfe6d5;border-radius:12px;background:#f8f9f3;position:relative;margin-bottom:31px}.family-avatar{display:grid;place-items:center;background:#dce6cf;color:#566c3b;width:32px;height:32px;flex-shrink:0;border-radius:10px;font-size:11px;font-weight:650}.family-switch label{flex:1;min-width:0}.family-switch small{font-size:8px;letter-spacing:1.3px;color:#829073;display:block}.family-switch select{border:0;padding:2px 16px 0 0;background:transparent;font-weight:600;font-size:11px;width:100%;appearance:none;border-radius:0}.family-switch>svg{pointer-events:none;position:absolute;right:12px;bottom:16px;color:#8a967a}.sidebar-section-label{font-size:8px;letter-spacing:1.7px;color:#9aa28d;padding:0 11px 12px}.sidebar nav{display:flex;flex-direction:column;gap:4px;overflow-y:auto}.nav-item{display:flex;align-items:center;gap:11px;position:relative;border:0;background:transparent;color:#78856c;padding:11px 12px;text-align:left;border-radius:9px;font-size:11px;min-height:40px}.nav-item:hover{background:#e6eddd;color:#38573e}.nav-item.active{color:#375f43;background:#e0e8d4;font-weight:650}.nav-item.active i{margin-left:auto;width:5px;height:5px;background:#6e8c50;border-radius:50%}.nav-item.nav-space{margin-top:17px}.sidebar-bottom{margin-top:auto;padding-top:28px}.sidebar-note{background:#e7ecde;border-radius:12px;padding:15px 13px;display:flex;gap:12px;align-items:center;color:#78915e}.sidebar-note p{font-size:10px;margin:0;line-height:1.8;color:#839171}.sidebar-note strong{color:#5f7947;font-weight:500}.new-family{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:17px 8px;color:#7e8d71;font-size:10px}.profile{display:flex;gap:9px;align-items:center;border-top:1px solid #dce3d2;padding:18px 0 21px}.avatar,.topbar-avatar{width:31px;height:31px;display:grid;place-items:center;background:#e1d4bb;color:#8c744c;border-radius:50%;font-size:11px;flex-shrink:0;font-weight:600}.profile>div{min-width:0;flex:1}.profile strong{font-size:10px;display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.profile small{font-size:8px;color:#89917c;display:block}.profile>.icon-button{color:#8a957f}.workspace{margin-left:238px;min-width:0;width:calc(100% - 238px);display:flex;flex-direction:column}.topbar{height:77px;background:#fafbf7cf;border-bottom:1px solid #e6eade;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:18px}.breadcrumb{font-size:10px;color:#8c9887;display:flex;gap:11px}.breadcrumb strong{font-weight:500;color:#657861}.breadcrumb>span{color:#b5beb0}.topbar-actions{display:flex;align-items:center;gap:18px}.period-selector{display:flex;align-items:center;border:1px solid #e2e7da;border-radius:8px;background:#fff;padding:3px 7px}.period-selector select{background:transparent;border:0;font-size:10px;padding:6px 4px}.notification-button{color:#809175;border-left:1px solid #e1e7d8;border-radius:0;padding-left:18px}.main-content{padding:33px 38px 15px;max-width:1600px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:27px}.page-heading p{font-size:11px;color:#8a9687;margin-bottom:0;max-width:650px}.app-footer{display:flex;justify-content:space-between;padding:20px 38px;font-size:8px;color:#a6afa0;letter-spacing:1.1px;gap:20px}.app-footer>span:last-child{letter-spacing:.3px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:23px 24px;margin-bottom:21px;box-shadow:0 3px 9px #253d2602;min-width:0}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:21px}.card-heading h2{font-size:15px;margin-bottom:5px}.card-heading p{color:#8d9989;font-size:10px;margin-bottom:0}.overview-hero{display:grid;grid-template-columns:1.75fr 1fr;gap:20px;margin-bottom:22px}.spend-card{background:#1c5142;border:1px solid #1f5644;color:#fff;border-radius:20px;padding:27px 30px 23px;position:relative;overflow:hidden;min-height:291px}.spend-top{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:1;color:#afc1a2}.soft-label{font-size:8px;letter-spacing:1.7px;color:#bdcbb3;display:flex;gap:8px;align-items:center}.live-dot{width:5px;height:5px;border-radius:50%;background:#98b97e;display:inline-block;flex-shrink:0;box-shadow:0 0 0 3px #9eb98e0b}.spend-question{font-size:17px;font-weight:400;line-height:1.45;letter-spacing:-.2px;margin-top:19px;margin-bottom:12px;color:#d7e4d6;position:relative;z-index:1}.spend-amount{font-size:48px;letter-spacing:-2.3px;line-height:1.15;font-weight:450;font-variant-numeric:tabular-nums;position:relative;z-index:1}.spend-note{font-size:9px;color:#abc2ac;margin:8px 0 19px;position:relative;z-index:1}.hero-orbit{position:absolute;width:420px;height:420px;border:1px solid #c1d6b914;border-radius:50%;right:-170px;top:-37px}.orbit-two{width:330px;height:330px;right:-123px;top:10px;background:radial-gradient(ellipse at bottom,#9cb36e14,transparent 70%)}.composition{position:relative;z-index:1;border-top:1px solid #d7e3c921;padding-top:13px}.composition summary{font-size:9px;color:#ceddc5;display:flex;gap:13px;align-items:center;list-style:none}.composition summary::-webkit-details-marker{display:none}.composition dl{margin-bottom:12px}.composition dl>div{display:flex;justify-content:space-between;font-size:11px;padding:5px 0}.composition dd{margin:0;font-variant-numeric:tabular-nums}.composition small{font-size:10px;line-height:1.7;color:#b9cfb7;display:block;max-width:500px}.outlook-card{border-radius:20px;border:1px solid #e0e6d7;background:#eef1e6;padding:24px 25px 0;position:relative;overflow:hidden;display:flex;flex-direction:column}.outlook-card>.eyebrow{font-size:8px;letter-spacing:1.6px}.outlook-symbol{position:absolute;top:46px;right:26px;width:56px;height:56px;display:grid;place-items:center;border:1px solid #d8e0c9;border-radius:50%;color:#879c67;background:#e7eddb}.outlook-card h2{font-family:Georgia,serif;font-weight:400;font-size:24px;line-height:1.35;letter-spacing:-.6px;margin:29px 0 23px;color:#536c42}.outlook-value{margin-top:auto}.outlook-value span{font-size:9px;display:block;color:#8c9b7e}.outlook-value strong{font-size:26px;letter-spacing:-.8px;font-weight:500;display:block;margin-top:5px}.outlook-footer{border-top:1px solid #dce4d2;margin-top:20px;display:flex;justify-content:space-between;align-items:center;padding:8px 0;color:#829473;font-size:9px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}.metric-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.metric{background:#fff;border:1px solid var(--border);border-radius:14px;padding:17px 19px;min-width:0}.metric-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;color:#84927c;font-size:10px}.metric-icon{width:27px;height:27px;border-radius:8px;background:#f7f3e9;color:#b69961;display:grid;place-items:center}.metric-icon.green{background:#edf3e8;color:#8ca16b}.metric>strong{font-size:25px;letter-spacing:-.7px;font-weight:500;font-variant-numeric:tabular-nums;display:block;white-space:nowrap}.metric>small{font-size:8px;color:#98a18f;display:block;margin-top:9px}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:20px}.chart-legend{display:flex;gap:17px;font-size:9px;color:#95a18e;justify-content:flex-end;margin:-3px 0 4px}.chart-legend>span{display:flex;gap:6px;align-items:center}.legend-dot{width:7px;height:7px;border-radius:2px;display:inline-block}.legend-dot.planned{background:#dce4d8}.legend-dot.actual{background:#356555}.chart-container{height:205px;width:100%;min-width:0}.insight-card{position:relative;background:#fcfdf9}.insight-emblem{height:33px;width:33px;border-radius:10px;background:#f2ecdf;color:#b2925c;display:grid;place-items:center;margin:0 0 16px}.insight{display:flex;align-items:flex-start;gap:9px;width:100%;text-align:left;background:transparent;border:0;border-bottom:1px solid #e9eddf;padding:12px 0;font-size:11px;line-height:1.5;color:#64775a}.insight>span:nth-child(2){flex:1}.insight-dot{width:5px;height:5px;background:#b7a06a;border-radius:50%;margin-top:6px}.insight small{display:block;font-size:9px;color:#a2ab98;margin-top:3px}.quiet-insight h3{font-family:Georgia,serif;font-weight:400;font-size:20px;color:#71825d;margin-bottom:10px}.quiet-insight p{font-size:11px;color:#93a087;max-width:250px;line-height:1.8}.insight-foot{display:flex;align-items:center;gap:6px;font-size:8px;color:#9da58f;border-top:1px solid #e7ecdd;padding-top:15px;margin-top:18px}.upcoming-list{display:flex;flex-direction:column}.upcoming-row{display:flex;align-items:center;gap:15px;padding:13px 0;border-top:1px solid #f0f2eb}.date-tile{border:1px solid #e6eadf;border-radius:9px;background:#fafbf6;width:38px;height:43px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#617454}.date-tile strong{font-size:15px;font-weight:500}.date-tile small{font-size:8px;text-transform:lowercase;color:#9ba78e}.upcoming-row .grow>strong{font-size:11px;display:block}.upcoming-row .grow>small{display:block;font-size:9px;color:#a0aa95;margin-top:3px}.upcoming-amount{font-size:12px;font-variant-numeric:tabular-nums;padding-right:15px}.badge{display:inline-block;white-space:nowrap;border-radius:5px;padding:5px 8px;background:#eff1eb;color:#859475;font-size:9px;font-weight:500}.badge.approved,.badge.realized,.badge.matched,.badge.active,.badge.completed{background:#eaf3e5;color:#63824e}.badge.committed,.badge.in_review,.badge.pending,.badge.open{background:#f7f1df;color:#a98b4d}.badge.cancelled,.badge.revoked{background:#f8ece6;color:#b77b67}.data-footnote{display:flex;justify-content:center;align-items:center;gap:7px;font-size:9px;line-height:1.6;color:#9ca894;margin:17px 0 10px;text-align:center}.onboarding-tip{display:flex;align-items:center;gap:17px;border:1px dashed #cfdcc5;background:#f1f5e9;padding:20px;border-radius:13px;margin-bottom:21px;color:#6d8953}.onboarding-tip>div{flex:1}.onboarding-tip strong{font-size:12px}.onboarding-tip p{font-size:10px;color:#879b70;margin:5px 0 0}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 21px}.toolbar>select{padding:10px 12px;font-size:11px}.financial-filters>select{max-width:100%;min-width:0}.financial-filters .error-box{flex-basis:100%}.search-field{display:flex;align-items:center;gap:9px;background:#fff;border:1px solid var(--border);border-radius:9px;padding:0 12px;flex:1;min-width:180px;color:#9aa58e}.search-field input{border:0!important;background:transparent!important;padding:12px 0!important;width:100%;font-size:11px}.checkbox{display:flex;align-items:center;gap:8px;font-size:11px;color:#7c8972;line-height:1.5}.table-scroll{overflow:auto;max-width:100%}.data-table{width:100%;border-collapse:collapse;font-size:11px}.data-table th{text-align:left;font-size:9px;color:#94a089;font-weight:500;border-bottom:1px solid #e8ecdf;padding:0 13px 13px;white-space:nowrap}.data-table td{border-bottom:1px solid #eff2e9;padding:16px 13px;vertical-align:middle;white-space:nowrap}.data-table tbody tr:last-child td{border:0}.data-table small,.detail-row small{display:block;font-size:9px;color:#9aa58f;margin-top:4px}.numeric{text-align:right!important;font-variant-numeric:tabular-nums}.amount{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.transaction-title{display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:0;text-align:left;max-width:300px}.transaction-title strong{font-size:11px;display:block;white-space:normal;line-height:1.5}.transaction-title small{font-size:9px}.transaction-icon{width:34px;height:34px;background:#eff3e8;color:#879c6b;border-radius:10px;display:grid;place-items:center;flex-shrink:0}.transaction-icon.expense{background:#f8f1e7;color:#b69865}.transaction-icon.income{background:#eaf3e7;color:#72a06d}.cell-text{font-size:10px;font-weight:500}.pagination{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #edf1e5;margin-top:14px;padding-top:17px;font-size:10px;color:#9aa68c}.pagination>div{display:flex;align-items:center;gap:13px}.pagination .button{min-height:30px;font-size:10px;padding:8px 11px}.inline-field{display:flex;align-items:center;gap:10px;font-size:10px;color:#89977c}.inline-field select{font-size:11px;max-width:280px}.budget-caption{display:flex;justify-content:space-between;gap:20px;margin:-4px 0 14px;font-size:9px;color:#9ba88e;line-height:1.8}.budget-grid{border:1px solid var(--border);border-radius:14px;background:#fff;overflow:auto;max-height:72vh;max-width:100%}.budget-grid table{border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:10px;min-width:1520px;width:100%}.budget-grid th,.budget-grid td{border-bottom:1px solid #e9ede2;border-right:1px solid #edf0e7;padding:13px 8px;white-space:nowrap;text-align:right;min-width:90px;width:90px}.budget-grid th{font-weight:500;color:#8d9e7f;background:#fafcf6;font-size:9px}.budget-grid thead th{position:sticky;top:0;z-index:3}.budget-grid .sticky-col{position:sticky;left:0;z-index:2;width:210px;min-width:210px;text-align:left;padding-left:20px;background:#fff;box-shadow:4px 0 6px #223e2105}.budget-grid thead .sticky-col{z-index:5;background:#f5f8ef}.sticky-col span{font-weight:600;font-size:11px;display:block;max-width:190px;overflow:hidden;text-overflow:ellipsis;color:#536d44}.sticky-col small{display:block;color:#a1ae93;font-size:9px;margin-top:5px}.budget-grid input{width:100%;border:1px solid transparent!important;padding:6px 2px!important;font-size:10px;background:transparent!important;text-align:right;font-variant-numeric:tabular-nums;color:#718461!important;border-radius:3px!important}.budget-grid input:hover:not([readonly]){border-color:#cfdcbe!important;background:#f9fbf4!important}.budget-grid input[readonly]{cursor:default}.budget-grid .annual-total{font-weight:600;color:#5a7747;background:#f8faf3}.budget-grid tfoot th,.budget-grid tfoot td{background:#ecf2e3!important;color:#456836;font-weight:600;position:sticky;bottom:0;z-index:2}.budget-grid tfoot th{z-index:4}.budget-grid td:last-child,.budget-grid th:last-child{min-width:130px;width:130px}.budget-grid .row-actions{justify-content:center}.budget-grid .icon-button{padding:4px}.review-totals{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:13px;margin:23px 0}.review-totals>div{background:#f4f7ed;border-radius:10px;padding:14px}.review-totals span{display:block;font-size:9px;color:#91a17e;margin-bottom:8px}.review-totals strong{font-size:18px;letter-spacing:-.4px;font-weight:500}.reconciliation-steps{display:flex;align-items:center;justify-content:space-between;gap:23px;border:1px solid #e0e8d5;border-radius:14px;background:#eff4e6;padding:21px 28px;margin-bottom:24px;color:#a2b58b}.reconciliation-steps>div{position:relative;padding-left:38px}.reconciliation-steps>div>span{position:absolute;left:0;top:2px;font-size:19px;font-weight:300;color:#a6b795}.reconciliation-steps strong{font-size:11px;display:block;color:#6a8555}.reconciliation-steps small{font-size:9px;display:block;color:#9aad86;margin-top:5px}.batch-selector{display:flex;align-items:center;gap:15px;margin-bottom:19px}.batch-selector .field{max-width:470px;flex:1}.statement-row,.contract-row{display:flex;align-items:center;gap:15px;padding:18px 0;border-top:1px solid #edf1e5;font-size:11px}.statement-row strong,.contract-row strong{display:block;font-size:12px}.statement-row small,.contract-row small{display:block;font-size:9px;color:#9bab8e;margin-top:5px}.statement-preview{display:flex;justify-content:space-between;gap:20px;background:#f3f6ec;padding:18px;border-radius:12px;margin-bottom:22px}.reconciliation-history{padding:16px 0;border-top:1px solid var(--border, #e4e9dd);overflow-wrap:anywhere}.statement-row .grow .text-button{margin-top:6px;font-size:11px}.statement-preview p{font-size:11px;color:#8b9c7b;margin-bottom:0}.split-line{display:grid;grid-template-columns:1.4fr 1fr .7fr;gap:12px;border-top:1px solid #e8eede;padding:15px 0}.account-grid,.goal-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;margin-bottom:24px}.account-card{border:1px solid #dce6ce;background:linear-gradient(120deg,#fff,#f1f5e9);border-radius:17px;padding:23px}.account-card>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:21px}.account-icon{color:#8da474}.account-card .eyebrow{font-size:8px;letter-spacing:1px}.account-card h2{font-size:16px;font-weight:500;margin:7px 0 20px}.account-balance{font-weight:500;font-size:28px;letter-spacing:-.8px;display:block}.account-card>small{display:block;font-size:8px;color:#9bab8d;margin-top:7px}.account-bank{display:flex;justify-content:space-between;border-top:1px solid #e1e9d5;margin-top:19px;padding-top:13px;font-size:10px;color:#90a47a}.category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:30px}.category-row{display:flex;gap:12px;align-items:center;padding:16px 0;border-top:1px solid #edf1e5;font-size:11px}.category-row strong{font-size:12px}.category-row small{display:block;font-size:9px;color:#9cab8e;margin-top:4px}.category-dot{width:8px;height:8px;border-radius:50%;background:#b1be8f}.category-dot.income{background:#8aad8c}.category-dot.expense{background:#ccb586}.category-dot.investment{background:#8ba9ac}.inactive{opacity:.6}.contract-item-fields{border-top:1px solid #e2e9d7;margin-top:13px;padding:17px 0}.goal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.goal-icon{width:44px;height:44px;border-radius:13px;background:#eff3e5;color:#90a674;display:grid;place-items:center}.goal-amount{display:block;font-size:26px;font-weight:500;margin:28px 0 16px;letter-spacing:-.8px}.goal-amount>small{display:block;font-size:11px;font-weight:400;color:#97a78a;letter-spacing:0;margin-top:6px}progress{width:100%;height:6px;border:0;border-radius:4px;background:#edf2e3;accent-color:#71934f}progress::-webkit-progress-bar{background:#edf2e3;border-radius:4px}progress::-webkit-progress-value{background:#8daa6b;border-radius:4px}.goal-meta{display:flex;justify-content:space-between;font-size:9px;color:#8da076;margin:10px 0 20px}.goal-meta strong{font-size:10px;color:#607f46}.segmented{display:flex;border:1px solid #e0e7d6;background:#eff3e8;border-radius:9px;padding:3px;flex-wrap:wrap}.segmented button{border:0;padding:8px 12px;color:#8a9c77;background:transparent;font-size:10px;border-radius:6px}.segmented button.active{background:#fff;color:#5d7c43;box-shadow:0 1px 4px #273e2010}.report-context{display:flex;justify-content:space-between;gap:14px;margin-bottom:18px;font-size:9px;color:#91a17f;line-height:1.6}.result-statement{max-width:760px;margin:8px auto}.result-statement>div{display:flex;justify-content:space-between;padding:21px 12px;border-bottom:1px solid #e6ecdd;font-size:12px}.result-statement strong{font-size:18px;font-weight:500;font-variant-numeric:tabular-nums}.result-statement .result-total{background:#eef4e4;border-radius:10px;border:0;margin-top:18px;color:#658346}.member-row{display:flex;align-items:center;gap:15px;border-top:1px solid #e8eddf;padding:18px 0}.member-row strong{font-size:12px;display:block}.member-row small{font-size:10px;color:#95a586;display:block;margin-top:4px}.member-role{font-size:10px;color:#8da077}.invite-note{display:flex;align-items:center;gap:15px;background:#f2f6e9;padding:17px;border-radius:11px;color:#8fa372}.invite-note p{font-size:11px;margin:0}.success-box{border:1px solid #dbe9cd;background:#f1f8e8;padding:15px;border-radius:9px;color:#6d914d;font-size:11px}.modal{border:1px solid #e0e6d7;border-radius:20px;padding:25px;width:560px;max-width:calc(100vw - 28px);max-height:calc(100dvh - 35px);color:var(--ink);background:#fdfefa;box-shadow:0 30px 100px #152c2940;position:fixed}.modal::backdrop{background:#163b3260;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal.wide{width:780px}.modal-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:23px}.modal-heading h2{font-size:22px;font-weight:500;margin:0;letter-spacing:-.5px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:8px;min-width:0}.field>span{font-size:10px;font-weight:500;color:#7b9170}.field>small{font-size:9px;color:#9ba98e}.field input,.field select,.field textarea{width:100%;font-size:12px}.field input[type=file]{font-size:10px;padding:10px;border:1px dashed #cbd9be;background:#f4f8ed;border-radius:8px}.form-actions{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid #e6ecdc;padding-top:22px;margin-top:23px}.error-box{display:flex;align-items:flex-start;gap:10px;padding:17px;border:1px solid #efcfbf;background:#fcf4ef;border-radius:11px;color:#a46d50;margin:16px 0}.error-box strong{font-size:11px}.error-box p{font-size:11px;margin:5px 0 0;overflow-wrap:anywhere}.error-box svg{flex-shrink:0}.warning-box{padding:16px;border:1px solid #ecdfb9;background:#fbf8e9;border-radius:10px;color:#ac955b;font-size:11px}.warning-box ul{padding-left:20px;margin-top:0;line-height:1.9}.warning-box p{margin:0 0 12px}.field-error{font-size:11px;color:#b47157}.detail-list{margin:0}.detail-list>div{display:flex;justify-content:space-between;gap:25px;padding:14px 0;border-bottom:1px solid #e9eede;font-size:12px}.detail-list dt{color:#95a384;font-size:10px;flex-shrink:0}.detail-list dd{margin:0;text-align:right;overflow-wrap:anywhere}.detail-row{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #e7eddd;padding:17px 0;font-size:12px}.attachment-upload{padding-top:20px;display:flex;flex-direction:column;gap:13px;color:#91a578}.empty{text-align:center;padding:32px 22px 38px;color:#8c9e79}.empty-icon{display:grid;place-items:center;width:55px;height:55px;background:#f1f5e8;border-radius:17px;color:#a8bc8c;margin:0 auto 17px}.empty h3{font-size:14px;color:#7c9463;font-weight:500;margin-bottom:9px}.empty p{font-size:11px;max-width:440px;margin:0 auto 19px;color:#a4b091;line-height:1.8}.empty .button{font-size:10px}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.skeleton{background:linear-gradient(100deg,#eaf0e1 20%,#f3f7eb 40%,#eaf0e1 65%);background-size:200% 100%;animation:shimmer 1.4s ease-in-out infinite;border-radius:16px}.skeleton-stack{width:100%}.hero-skeleton{height:260px;margin-bottom:22px}.metric-skeleton{height:130px}.chart-skeleton{height:270px;margin-bottom:20px}@keyframes shimmer{to{background-position:-200% 0}}.initial-loading{max-width:850px;margin:55px auto;padding:30px}.initial-loading>.logo{margin-bottom:40px}.welcome{min-height:100vh;display:flex;flex-direction:column;background:#f5f7f0}.welcome>header{display:flex;align-items:center;justify-content:space-between;padding:33px 6vw}.welcome>header>span{font-size:11px;color:#9ca98c}.welcome-content{display:grid;grid-template-columns:1.15fr 1fr;max-width:1400px;padding:4vh 6vw 6vh;margin:auto;width:100%;align-items:center;gap:7vw}.welcome-content h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(38px,4.6vw,66px);line-height:1.13;letter-spacing:-2.2px;color:#3b6044;margin:23px 0 26px}.welcome-content h1 em{color:#9bac7a;font-style:normal}.welcome-content>div>p{max-width:420px;font-size:13px;color:#899d77;line-height:1.9}.welcome-actions{display:flex;align-items:center;gap:25px;margin:31px 0}.welcome-actions .button{padding:16px 20px;font-size:12px}.welcome-trust{display:flex;align-items:center;gap:8px;font-size:10px;color:#9fb18a;margin-top:35px}.welcome-art{height:520px;border-radius:220px 220px 22px 22px;background:#214d3a;position:relative;overflow:hidden;max-width:430px;width:100%;box-shadow:0 20px 60px #2b4c2315}.art-ring{border:1px solid #c4d6a426;position:absolute;border-radius:50%;width:560px;height:560px;left:-300px;top:120px}.art-ring.two{left:-235px;top:180px;width:500px;height:500px}.art-ring.three{left:-175px;top:240px;width:440px;height:440px;background:linear-gradient(40deg,#96b37226,transparent)}.art-leaf{width:150px;height:150px;border-radius:50%;border:1px solid #b7cc8a44;background:#8caa5922;display:grid;place-items:center;position:absolute;right:60px;top:115px;color:#a9bf85;box-shadow:0 0 0 30px #a4bf6c06}.art-caption{position:absolute;bottom:40px;left:35px;right:20px}.art-caption span{font-size:7px;letter-spacing:2px;color:#b0c38f;display:block;margin-bottom:20px}.art-caption strong{font-family:Georgia,serif;color:#e1e8d7;font-size:30px;font-weight:400;line-height:1.4;letter-spacing:-.6px}.art-dot{position:absolute;width:12px;height:12px;border-radius:50%;background:#c4ad73;top:74px;right:150px}.welcome>footer{padding:25px 6vw;color:#a4b394;font-size:9px;letter-spacing:.3px}.onboarding{min-height:100vh;padding:36px;background:radial-gradient(ellipse at top,#e8efdb,#f8faf3 70%)}.onboarding>.logo{justify-content:center;margin-bottom:45px}.onboarding-card{max-width:680px;margin:auto;background:#fff;padding:39px;border:1px solid #dce6cd;border-radius:24px;box-shadow:0 18px 60px #44602708}.onboarding-card h1{font-family:Georgia,serif;font-size:34px;line-height:1.3;font-weight:400;color:#587a45;letter-spacing:-.6px;margin-top:16px}.wizard-steps{display:flex;gap:24px;margin:30px 0;color:#b3bea5}.wizard-steps>span{display:flex;gap:8px;align-items:center;font-size:10px}.wizard-steps i{font-style:normal;width:23px;height:23px;border:1px solid #e0e7d6;display:grid;place-items:center;border-radius:50%;font-size:10px}.wizard-steps>span.active{color:#72914f}.wizard-steps>span.active i{background:#e6efda;border-color:#d1dfbc}.wizard-skip{display:flex;margin:24px auto 0;font-size:10px}.onboarding-footer{display:flex;justify-content:center;align-items:center;gap:7px;font-size:10px;color:#a1b288;margin:25px auto}@media(min-width:1600px){.main-content{padding-top:45px}.spend-card{min-height:315px}.spend-amount{font-size:55px}.spend-question{font-size:21px}.chart-container{height:250px}.metric>strong{font-size:30px}}@media(max-width:1200px){.sidebar{width:212px;padding-left:13px;padding-right:13px}.workspace{margin-left:212px;width:calc(100% - 212px)}.topbar{padding:0 25px}.main-content{padding:26px 25px 10px}h1{font-size:30px}.metric{padding:15px}.metric>strong{font-size:21px}.spend-card{padding:24px}.spend-amount{font-size:40px}.outlook-card{padding:23px 20px 0}.outlook-card h2{font-size:21px}.outlook-symbol{width:42px;height:42px;right:17px}.outlook-value strong{font-size:22px}.account-grid,.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.reconciliation-steps{gap:12px;padding:20px}.reconciliation-steps>div{padding-left:31px}.reconciliation-steps strong{font-size:10px}.reconciliation-steps small{font-size:8px}.toolbar.budget-toolbar{gap:8px}.budget-toolbar .button{padding:10px;font-size:10px}}@media(max-width:980px){.dashboard-grid{grid-template-columns:1fr}.insight-card{display:none}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric>strong{font-size:27px}.overview-hero{grid-template-columns:1fr}.outlook-card{display:none}.page-heading{align-items:flex-start}.page-heading>.button{font-size:10px}.category-list{grid-template-columns:1fr}.reconciliation-steps>svg{display:none}.reconciliation-steps{gap:15px}.reconciliation-steps>div{padding:0}.reconciliation-steps>div>span{display:none}.reconciliation-steps strong{font-size:10px}.reconciliation-steps small{font-size:8px}.member-row{flex-wrap:wrap}.member-role{flex-basis:25%}.contract-row{flex-wrap:wrap}.contract-row .grow{flex-basis:45%}.welcome-content{gap:4vw}.welcome-art{height:470px}.welcome-content h1{font-size:48px}.welcome-actions{gap:15px;flex-wrap:wrap}.report-context{flex-direction:column;gap:5px}}@media(max-width:760px){.mobile-only{display:block!important}.desktop-only{display:none!important}.sidebar{transform:translate(-100%);transition:transform .2s ease;width:252px;padding:26px 19px 0}.sidebar.open{transform:translate(0)}.sidebar-backdrop{position:fixed;inset:0;background:#19372a80;border:0;z-index:19;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.workspace{margin:0;width:100%}.topbar{height:66px;padding:0 19px;gap:11px;position:sticky;top:0;z-index:10;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.breadcrumb{display:none}.topbar-actions{gap:9px;margin-left:auto}.notification-button{padding-left:10px}.period-selector{padding:2px 4px}.period-selector select{font-size:10px}.topbar-avatar{width:27px;height:27px;font-size:10px}.main-content{padding:26px 18px 10px}.page-heading{margin-bottom:23px;gap:15px;flex-wrap:wrap}.page-heading .eyebrow{font-size:8px}h1{font-size:30px;letter-spacing:-1px}.page-heading p{font-size:11px;line-height:1.8}.page-heading>.button{min-height:36px;padding:10px 13px}.spend-card{padding:24px 23px 22px;min-height:290px}.spend-question{font-size:18px;margin-top:24px}.spend-amount{font-size:43px}.spend-note{font-size:9px}.composition summary{font-size:10px}.composition dl>div{font-size:10px}.metric-grid{gap:12px}.metric{padding:15px 14px}.metric-top{font-size:9px;gap:4px}.metric-icon{height:24px;width:24px;border-radius:7px}.metric-icon svg{height:15px;width:15px}.metric>strong{font-size:23px;letter-spacing:-.8px}.metric>small{font-size:8px;margin-top:8px}.card{padding:20px 17px;border-radius:15px;margin-bottom:17px}.card-heading{margin-bottom:20px}.card-heading h2{font-size:14px}.card-heading p{font-size:9px;line-height:1.7}.card-heading>.text-button{font-size:9px;white-space:nowrap}.chart-container{height:220px}.onboarding-tip{gap:12px;flex-wrap:wrap;padding:17px}.onboarding-tip>div{flex-basis:75%}.onboarding-tip>.button{font-size:10px;margin-left:32px}.upcoming-row{gap:10px;flex-wrap:wrap}.upcoming-row>.badge{display:none}.upcoming-row .grow>strong{font-size:11px;line-height:1.6}.upcoming-amount{font-size:11px;padding-right:0}.date-tile{width:34px;height:39px}.data-footnote{font-size:8px;flex-wrap:wrap;margin-bottom:16px}.app-footer{padding:18px;font-size:7px}.app-footer>span:last-child{display:none}.account-grid,.goal-grid{grid-template-columns:1fr}.account-card{padding:23px}.toolbar{gap:10px}.toolbar>select{flex:1;font-size:10px;min-width:120px}.search-field{flex-basis:100%}.toolbar .checkbox{font-size:10px}.data-table td{padding:14px 10px}.transaction-title{max-width:190px;min-width:150px}.transaction-title strong{font-size:10px}.transaction-title small{font-size:8px}.transaction-icon{width:29px;height:29px}.pagination{font-size:9px}.pagination>div{gap:8px}.pagination .button{font-size:9px;padding:8px}.budget-toolbar .inline-field{flex-basis:100%;margin-bottom:5px}.inline-field select{max-width:calc(100vw - 90px);flex:1}.budget-toolbar>.grow{display:none}.budget-caption{flex-direction:column;gap:5px;font-size:9px;margin-bottom:18px}.mobile-budget{display:flex;flex-direction:column;gap:0;margin-top:15px}.mobile-budget .card>strong{display:block;font-size:13px}.mobile-budget .card>p{color:#95a983;font-size:10px;margin-top:6px}.mobile-budget .field{flex-direction:row;justify-content:space-between;align-items:center}.mobile-budget .field>input{width:160px;text-align:right}.reconciliation-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:17px 13px}.reconciliation-steps strong{font-size:9px;line-height:1.6}.reconciliation-steps small{font-size:8px;line-height:1.6}.statement-row{flex-wrap:wrap;gap:11px;padding:17px 0}.statement-row>.grow{flex-basis:65%}.statement-row>.amount{margin-left:40px;margin-right:auto}.statement-row .button{font-size:10px;padding:8px 10px;min-height:32px}.statement-row strong{font-size:11px}.batch-selector{flex-wrap:wrap}.split-line{grid-template-columns:1fr 1fr}.split-line>.field:first-child{grid-column:1/-1}.contract-row{gap:12px}.contract-row .grow{flex-basis:65%}.contract-row>div:not(.grow){margin-left:45px}.member-row{gap:11px}.member-row>.grow{flex-basis:75%}.member-role{flex-basis:auto;margin-left:45px}.member-row .button{min-height:30px;font-size:9px;padding:8px}.metric-grid.three{grid-template-columns:1fr}.metric-grid.three .metric{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:6px}.metric-grid.three .metric-top{margin:0}.metric-grid.three .metric>small{grid-column:2;font-size:9px;margin:0}.metric-grid.three .metric-icon{display:none}.metric-grid.three .metric>strong{text-align:right}.segmented{width:100%}.segmented>button{flex:1;font-size:9px;padding:9px 5px}.report-context{font-size:8px}.review-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.review-totals strong{font-size:17px}.result-statement>div{font-size:11px;gap:12px}.result-statement strong{font-size:16px}.modal{padding:22px 20px;border-radius:17px}.modal-heading h2{font-size:20px}.form-grid{grid-template-columns:1fr;gap:16px}.field>span{font-size:11px}.field input,.field select,.field textarea{font-size:14px;padding:12px}.form-actions .button{flex:1}.detail-list>div{font-size:11px;gap:15px}.detail-row{gap:10px;font-size:11px;flex-wrap:wrap}.welcome>header{padding:25px}.welcome>header>span{display:none}.welcome-content{display:block;padding:4vh 25px}.welcome-content h1{font-size:46px;letter-spacing:-1.6px;line-height:1.17}.welcome-content .eyebrow{font-size:8px;letter-spacing:1.4px}.welcome-content>div>p{font-size:12px;line-height:1.9}.welcome-art{display:none}.welcome-trust{font-size:9px;line-height:1.6}.welcome>footer{padding:30px 25px;font-size:8px}.welcome-actions{flex-direction:column;align-items:stretch;gap:20px}.welcome-actions>.text-button{justify-content:center}.onboarding{padding:25px 16px}.onboarding>.logo{margin-bottom:30px}.onboarding-card{padding:28px 22px;border-radius:20px}.onboarding-card h1{font-size:29px}.wizard-steps{gap:13px}.wizard-steps>span{font-size:8px;gap:5px}.wizard-steps i{width:20px;height:20px;font-size:9px}.onboarding-footer{font-size:8px;line-height:1.8}.initial-loading{padding:20px;margin-top:30px}.hero-skeleton{height:290px}.chart-skeleton{height:230px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media print{.sidebar,.topbar,.app-footer,.page-heading>.button,.toolbar,.form-actions,.icon-button,.skip-link{display:none!important}.workspace{width:100%;margin:0}.main-content{padding:0}.card{break-inside:avoid;box-shadow:none}.table-scroll{overflow:visible}.report-context{color:#333}.app-layout{display:block}body{background:#fff}.data-table{font-size:10px}.modal{display:none}}.modal{overscroll-behavior:contain}.modal .form-actions{position:sticky;bottom:0;background:#fdfefa;z-index:5;padding-bottom:8px}.nav-item{font-size:12px}.page-heading p{font-size:12px;color:#6e7d66}.metric-top{font-size:11px;color:#6d7c62}.metric>small{font-size:10px;color:#728367}.breadcrumb{font-size:11px}.data-table{font-size:12px}.data-table th{font-size:10px}.data-table small,.transaction-title small{font-size:10px;color:#738668}.field>span{font-size:11px;color:#667d58}.card-heading p{font-size:11px;color:#718268}.quiet-insight p{color:#718265}.onboarding-tip p{color:#71845f}.muted{color:#6d7f60}.composition summary{font-size:11px}.spend-note{font-size:10px}.reconciliation-steps strong{font-size:11px}.reconciliation-steps small{font-size:10px;color:#71845e}.modal[open]{display:flex;flex-direction:column}.modal-heading{flex-shrink:0}.modal>form{min-height:0;max-height:calc(100dvh - 145px);overflow-y:auto;overscroll-behavior:contain;padding:2px 3px 0}.modal .form-grid{flex-shrink:0}.modal .form-actions{flex-shrink:0;padding-top:18px;margin-top:18px}@media(max-width:760px){.modal{inset:16px 14px auto;margin:0;width:calc(100vw - 28px)!important;max-height:calc(100dvh - 32px);overflow-y:auto}.modal>form{max-height:calc(100dvh - 130px)}.modal .field input,.modal .field select,.modal .field textarea{font-size:16px}.modal .form-actions{bottom:0}}html,body,#root{max-width:100%;overflow-x:clip}.mobile-transaction{padding:18px 0;border-bottom:1px solid var(--border)}.mobile-transaction:first-child{padding-top:0}.mobile-transaction:last-child{border-bottom:0}.mobile-transaction header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.mobile-transaction .transaction-title{max-width:none;min-width:0;flex:1}.mobile-transaction .transaction-title strong{font-size:12px;overflow-wrap:anywhere}.mobile-transaction-value{display:flex;justify-content:space-between;align-items:center;gap:14px;margin:20px 0 14px}.mobile-transaction-value>span{font-size:11px;color:#728367;min-width:0}.mobile-transaction-value small,.mobile-transaction footer small{display:block;font-size:9px;margin-top:4px}.mobile-transaction-value>strong{font-size:20px;letter-spacing:-.5px;font-weight:500;white-space:nowrap;font-variant-numeric:tabular-nums}.mobile-transaction footer{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:9px;color:#7c8b71}.mobile-transaction .row-actions{gap:8px}.mobile-transaction .icon-button{width:40px;height:40px;background:#f1f5e9}.modal-heading h2,.goal-grid h2,.contract-row .grow strong,.statement-row .grow strong{overflow-wrap:anywhere}.alert-rule-list{margin-top:1.25rem}.alert-rule-row{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--border)}.alert-rule-row:last-child{border-bottom:0}.alert-rule-row .grow{min-width:0}.alert-rule-row strong,.alert-rule-row small{display:block;overflow-wrap:anywhere}.alert-rule-row small{margin-top:.3rem;color:var(--muted)}@media(max-width:600px){.alert-rule-row{gap:.65rem}.alert-rule-row .button{padding-inline:.7rem}}
