:root{color:#17263a;font-synthesis:none;text-rendering:optimizelegibility;--navy-950:#071f39;--navy-900:#0b2f57;--navy-800:#124475;--blue-600:#1469aa;--blue-100:#e7f2fc;--red-600:#c93f45;--red-100:#fff0f0;--green-700:#157154;--green-100:#e7f7f1;--amber-700:#93620d;--amber-100:#fff7df;--slate-700:#40526a;--slate-500:#718096;--slate-300:#cbd5e1;--slate-200:#e2e8f0;--slate-100:#f1f5f9;--white:#fff;--shadow:0 8px 30px #0d2a4b12;--radius:16px;background:#f3f6fa;font-family:Noto Sans Thai,Leelawadee UI,Tahoma,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}html{background:#f3f6fa;min-width:320px}body{min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}h1,h2,h3,p{margin-top:0}.sr-only,.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{min-height:100vh}.sidebar{z-index:20;color:#fff;background:linear-gradient(165deg, var(--navy-950), var(--navy-900) 65%, #0d3d6d);flex-direction:column;width:268px;padding:28px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.association-logo{object-fit:contain;display:block}.brand{align-items:center;gap:12px;padding:0 4px 22px;display:flex}.brand-logo{filter:drop-shadow(0 5px 9px #0000003d);flex:none;width:52px;height:57px}.brand>div{min-width:0}.brand strong{letter-spacing:.005em;font-size:.84rem;line-height:1.45;display:block}.brand span{color:#b9cbe0;max-width:174px;margin-top:3px;font-size:.68rem;line-height:1.45;display:block}.brand.compact{padding:0}.demo-ribbon{color:#ffe4e4;background:#c93f4533;border:1px solid #ffa2a738;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.82rem;font-weight:700;display:flex}.status-dot{background:#ff8b90;border-radius:99px;width:7px;height:7px;box-shadow:0 0 0 4px #ff8b901f}.main-nav{flex-direction:column;gap:6px;margin-top:22px;display:flex}.nav-link{color:#c8d5e4;border-radius:10px;align-items:center;gap:13px;min-height:48px;padding:11px 14px;font-size:.92rem;font-weight:600;text-decoration:none;transition:background-color .15s,color .15s;display:flex}.nav-link:hover{color:#fff;background:#ffffff12}.nav-link.active{color:#fff;background:#ffffff21;box-shadow:inset 3px 0 #ef5a60}.sidebar-note{color:#b9cbe0;background:#ffffff0f;border:1px solid #ffffff14;border-radius:11px;align-items:flex-start;gap:10px;margin-top:auto;padding:14px;display:flex}.sidebar-note svg{flex:none;margin-top:1px}.sidebar-note strong,.sidebar-note span{display:block}.sidebar-note strong{color:#fff;font-size:.83rem}.sidebar-note span{margin-top:3px;font-size:.7rem;line-height:1.45}.main-area{min-height:100vh;margin-left:268px}.topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:1px solid #e7edf4;align-items:center;gap:18px;height:82px;padding:0 clamp(24px,4vw,56px);display:flex}.topbar h1{color:var(--navy-950);margin:0;font-size:1.2rem;line-height:1.25}.topbar-logo{flex:none;width:38px;height:42px;display:none}.eyebrow{color:var(--slate-500);margin-bottom:2px;font-size:.72rem;font-weight:600;display:block}.topbar-demo{color:#a32930;background:var(--red-100);border:1px solid #f7cfd1;border-radius:999px;margin-left:auto;padding:6px 11px;font-size:.76rem;font-weight:800}.icon-button{width:42px;height:42px;color:var(--navy-900);border:1px solid var(--slate-200);background:#fff;border-radius:10px;place-items:center;padding:0;display:grid}.menu-button{display:none}.page-content{width:100%;max-width:1480px;margin:0 auto;padding:34px clamp(24px,4vw,56px) 60px}.page-stack{flex-direction:column;gap:22px;display:flex}.narrow-page{max-width:1040px;margin:0 auto}.page-heading h2{color:var(--navy-950);margin-bottom:7px;font-size:clamp(1.45rem,2vw,1.85rem);line-height:1.3}.page-heading p:last-child{color:var(--slate-500);margin:0;font-size:.92rem}.page-kicker{letter-spacing:.04em;text-transform:uppercase;margin-bottom:5px;font-weight:800;color:var(--blue-600)!important;font-size:.74rem!important}.page-heading.with-action{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.button{border:0;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 17px;font-weight:800;text-decoration:none;display:inline-flex}.button.primary{color:#fff;background:var(--navy-900);box-shadow:0 6px 16px #0b2f572e}.button.primary:hover{background:var(--navy-800)}.button.secondary{color:var(--navy-900);border:1px solid var(--slate-200);background:#fff}.button.danger{color:#fff;background:var(--red-600)}.button:disabled{opacity:.65;cursor:wait}.button.large{min-height:48px;padding-inline:22px}.button.compact{min-height:40px;padding:8px 13px;font-size:.78rem}.button.disabled{opacity:.55;cursor:not-allowed}.demo-notice{color:#774f0b;background:var(--amber-100);border:1px solid #f2dfaa;border-radius:11px;align-items:flex-start;gap:10px;padding:12px 15px;display:flex}.demo-notice svg{flex:none;margin-top:1px}.demo-notice p{margin:0;font-size:.82rem;line-height:1.6}.demo-notice strong{margin-right:8px}.demo-notice.development{color:#125d4a;background:var(--green-100);border-color:#bee6d7}.topbar-demo.development{color:var(--green-700);background:var(--green-100);border-color:#bee6d7}.sidebar-signout{color:#dbe7f3;background:#ffffff12;border:1px solid #ffffff1f;border-radius:9px;justify-content:center;align-items:center;gap:8px;min-height:40px;margin-top:10px;display:flex}.card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;border:1px solid #e6ecf3}.summary-grid{grid-template-columns:1.25fr 1fr 1fr;gap:16px;display:grid}.summary-card{border-radius:var(--radius);min-width:0;box-shadow:var(--shadow);background:#fff;border:1px solid #e5ebf2;align-items:flex-start;gap:14px;padding:22px;display:flex}.summary-card.primary{color:#fff;background:linear-gradient(135deg, var(--navy-900), #12528b);border-color:#0000}.summary-icon{width:43px;height:43px;color:var(--navy-900);background:var(--blue-100);border-radius:12px;flex:none;place-items:center;display:grid}.summary-card.primary .summary-icon{color:#fff;background:#ffffff24}.summary-card>div:last-child{min-width:0}.summary-label,.summary-detail{display:block}.summary-label{color:var(--slate-500);font-size:.79rem;font-weight:650}.summary-card.primary .summary-label,.summary-card.primary .summary-detail{color:#c9dcf0}.summary-value{color:var(--navy-950);white-space:nowrap;margin:6px 0 5px;font-size:clamp(1.35rem,2.2vw,1.9rem);line-height:1.2;display:block}.summary-card.primary .summary-value{color:#fff}.summary-detail{color:var(--slate-500);font-size:.7rem}.month-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.metric-card{background:#fff;border:1px solid #e6ecf3;border-radius:13px;align-items:center;gap:13px;padding:17px 18px;display:flex}.metric-icon{border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.metric-card.income .metric-icon{color:var(--green-700);background:var(--green-100)}.metric-card.expense .metric-icon{color:var(--red-600);background:var(--red-100)}.metric-card.transfer .metric-icon{color:var(--blue-600);background:var(--blue-100)}.metric-card span,.metric-card small{color:var(--slate-500);font-size:.72rem;display:block}.metric-card strong{color:var(--navy-950);margin:2px 0;font-size:1.05rem;display:block}.metric-card>div:last-child{min-width:0}.metric-trend{align-items:center;gap:4px;margin-top:5px;line-height:1.35;display:flex!important}.metric-trend.positive{color:var(--green-700)}.metric-trend.negative{color:var(--red-600)}.metric-trend.neutral,.metric-trend.unavailable{color:var(--slate-500)}.dashboard-filter{padding:20px 22px}.filter-heading{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px;display:flex}.filter-heading>div{align-items:center;gap:10px;display:flex}.filter-heading svg{color:var(--blue-600);flex:none}.filter-heading h3{color:var(--navy-950);margin-bottom:2px;font-size:.96rem}.filter-heading p,.filter-heading>span{color:var(--slate-500);margin:0;font-size:.72rem;line-height:1.5}.filter-heading .period-notice{color:var(--slate-700);margin-top:3px;font-size:.69rem}.filter-heading>span{text-align:right}.period-options{background:var(--slate-100);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:5px;display:grid}.period-options button{min-height:42px;color:var(--slate-700);background:0 0;border:0;border-radius:9px;padding:7px 10px;font-size:.76rem;font-weight:800}.period-options button.selected{color:#fff;background:var(--navy-900);box-shadow:0 3px 10px #122a472b}.custom-date-range{grid-template-columns:repeat(2,minmax(0,220px));gap:14px;margin-top:15px;display:grid}.custom-date-range label{color:var(--slate-700);flex-direction:column;gap:5px;font-size:.72rem;font-weight:800;display:flex}.custom-date-range input{width:100%;height:42px;color:var(--navy-950);border:1px solid var(--slate-300);background:#fff;border-radius:9px;padding:0 10px}.analytics-card{overflow:hidden}.monthly-chart{padding:22px 24px 20px}.chart-scroll{overscroll-behavior-inline:contain;overflow-x:auto}.bar-chart{grid-template-columns:repeat(var(--chart-columns), minmax(56px, 1fr));min-width:max(100%, calc(var(--chart-columns) * 64px));border-bottom:1px solid var(--slate-200);gap:8px;height:250px;padding:8px 4px 0;display:grid}.bar-month{min-width:0;height:100%;color:var(--slate-500);background:0 0;border:0;border-radius:8px 8px 0 0;flex-direction:column;justify-content:flex-end;align-items:stretch;padding:0 3px 8px;display:flex}.bar-month:hover,.bar-month.selected{background:var(--slate-100)}.bar-pair{justify-content:center;align-items:flex-end;gap:5px;height:190px;display:flex}.chart-bar{border-radius:5px 5px 2px 2px;width:min(17px,38%);min-height:0;transition:height .2s;display:block}.chart-bar.income{background:var(--green-700)}.chart-bar.expense{background:var(--red-600)}.bar-label{text-align:center;text-overflow:ellipsis;white-space:nowrap;margin-top:8px;font-size:.67rem;font-weight:700;overflow:hidden}.chart-selection{color:var(--slate-700);background:var(--slate-100);border-radius:10px;align-items:center;gap:16px;margin-top:15px;padding:12px 14px;font-size:.74rem;display:flex}.chart-selection strong{color:var(--navy-950)}.chart-selection .income{color:var(--green-700)}.chart-selection .expense{color:var(--red-600)}.chart-legend{color:var(--slate-500);align-items:center;gap:16px;margin-top:13px;font-size:.7rem;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend i{border-radius:3px;width:10px;height:10px;display:block}.chart-legend i.income{background:var(--green-700)}.chart-legend i.expense{background:var(--red-600)}.chart-legend small{color:var(--slate-500);margin-left:auto}.chart-empty{min-height:190px;color:var(--slate-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:28px;display:flex}.chart-empty strong,.chart-empty span{display:block}.chart-empty strong{color:var(--slate-700);font-size:.9rem}.chart-empty span{max-width:480px;margin-top:6px;font-size:.74rem;line-height:1.6}.expense-chart{grid-template-columns:minmax(250px,.8fr) minmax(320px,1.2fr);gap:32px;padding:26px;display:grid}.donut-column{flex-direction:column;justify-content:center;align-items:center;display:flex}.donut-chart{background:var(--donut-segments);border-radius:50%;place-items:center;width:220px;height:220px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff73}.donut-chart:after{content:"";background:#fff;border-radius:50%;width:124px;height:124px;position:absolute;box-shadow:0 0 0 1px #e2e8f0bf}.donut-chart>div{z-index:1;text-align:center;max-width:110px;position:relative}.donut-chart span,.donut-chart strong{display:block}.donut-chart span{color:var(--slate-500);font-size:.7rem}.donut-chart strong{color:var(--navy-950);margin-top:4px;font-size:.9rem;line-height:1.3}.donut-selection{color:var(--slate-500);text-align:center;flex-direction:column;align-items:center;margin-top:15px;font-size:.72rem;display:flex}.donut-selection strong{color:var(--navy-950);margin:2px 0;font-size:.93rem}.donut-selection small{color:var(--slate-500)}.expense-legend{flex-direction:column;justify-content:center;gap:7px;display:flex}.expense-legend button{min-height:52px;color:var(--slate-700);border:1px solid var(--slate-200);text-align:left;background:#fff;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;padding:9px 12px;display:grid}.expense-legend button:hover,.expense-legend button.selected{background:var(--slate-100);border-color:var(--slate-300)}.expense-legend i{border-radius:5px;width:11px;height:34px}.expense-legend span,.expense-legend strong,.expense-legend small{min-width:0;display:block}.expense-legend strong{color:var(--navy-950);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;overflow:hidden}.expense-legend small{color:var(--slate-500);margin-top:2px;font-size:.67rem}.expense-legend b{color:var(--navy-900);font-size:.76rem}.section-heading{border-bottom:1px solid #e9eef4;justify-content:space-between;align-items:center;gap:16px;padding:21px 23px;display:flex}.section-heading h3{color:var(--navy-950);margin-bottom:3px;font-size:1rem}.section-heading p{color:var(--slate-500);margin:0;font-size:.76rem}.text-link{color:var(--blue-600);font-size:.8rem;font-weight:800;text-decoration:none}.transaction-list{padding:2px 23px 8px}.transaction-row{border-bottom:1px solid #edf1f5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:74px;padding:12px 0;display:grid}.transaction-row:last-child{border-bottom:0}.transaction-row-link{text-decoration:none}.transaction-row-link:hover{background:#f8fafc}.transaction-icon{border-radius:11px;place-items:center;width:38px;height:38px;display:grid}.transaction-icon.income{color:var(--green-700);background:var(--green-100)}.transaction-icon.expense{color:var(--red-600);background:var(--red-100)}.transaction-icon.transfer{color:var(--blue-600);background:var(--blue-100)}.transaction-main{min-width:0}.transaction-title-line{align-items:center;gap:9px;display:flex}.transaction-title-line strong{color:#203047;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;overflow:hidden}.transaction-main>span{color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:.71rem;display:block;overflow:hidden}.transaction-badge{border-radius:999px;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:.68rem;font-weight:800;display:inline-flex}.transaction-badge.income{color:var(--green-700);background:var(--green-100)}.transaction-badge.expense{color:#a83238;background:var(--red-100)}.transaction-badge.transfer{color:var(--blue-600);background:var(--blue-100)}.transaction-amount{white-space:nowrap;font-size:.86rem}.transaction-amount.income,.amount.income{color:var(--green-700)}.transaction-amount.expense,.amount.expense{color:var(--red-600)}.transaction-amount.transfer,.amount.transfer{color:var(--blue-600)}.form-card{padding:25px}.form-section{border:0;margin:0 0 25px;padding:0}.form-section legend,.report-options legend{color:#263951;margin-bottom:10px;font-size:.82rem;font-weight:800}.form-section legend span,.field>span b{color:var(--red-600)}.segmented-control{background:var(--slate-100);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;padding:5px;display:grid}.segmented-control button{min-height:56px;color:var(--slate-700);background:0 0;border:0;border-radius:9px;justify-content:center;align-items:center;gap:8px;padding:7px 10px;font-size:.84rem;font-weight:800;display:flex}.segmented-control button>span,.segmented-control button strong,.segmented-control button small{display:block}.segmented-control button>span{text-align:left}.segmented-control button small{color:var(--slate-500);margin-top:1px;font-size:.59rem;font-weight:600}.segmented-control button.selected small{color:#ffffffc7}.segmented-control button.income:not(.selected)>svg{color:var(--green-700)}.segmented-control button.expense:not(.selected)>svg{color:var(--red-600)}.segmented-control button.transfer:not(.selected)>svg{color:var(--blue-600)}.segmented-control button.selected{color:#fff;background:var(--navy-900);box-shadow:0 3px 10px #122a472b}.segmented-control button.selected.income{background:var(--green-700)}.segmented-control button.selected.expense{background:var(--red-600)}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.field{flex-direction:column;gap:7px;min-width:0;display:flex}.field.full-width{grid-column:1/-1}.field>span,.field>label,.reconcile-flow label{color:#344760;font-size:.78rem;font-weight:800}.field>span em{color:var(--slate-500);margin-left:6px;font-size:.7rem;font-style:normal;font-weight:500}.field input,.field select,.field textarea,.search-field input,.filter-selects select,.input-prefix input,.input-with-icon input{color:#1f324a;background:#fff;border:1px solid #cfd8e4;border-radius:9px;outline:none;width:100%;min-width:0}.field input,.field select,.filter-selects select,.input-prefix input,.input-with-icon input{height:45px;padding:0 12px}.field textarea{resize:vertical;padding:12px}.field input:focus,.field select:focus,.field textarea:focus,.search-field input:focus,.filter-selects select:focus,.input-prefix:focus-within,.input-with-icon:focus-within{border-color:var(--blue-600);box-shadow:0 0 0 3px #1469aa1f}.field small{color:var(--slate-500);align-self:flex-end;font-size:.67rem}.readonly-field{min-height:45px;color:var(--slate-700);background:var(--slate-100);border:1px solid var(--slate-200);border-radius:9px;align-items:center;padding:0 12px;display:flex}.phase-placeholder{color:var(--slate-500);border:1px dashed var(--slate-300);background:#f8fafc;border-radius:10px;align-items:center;gap:12px;padding:15px;display:flex}.phase-placeholder strong,.phase-placeholder span{display:block}.phase-placeholder strong{color:var(--slate-700);font-size:.78rem}.phase-placeholder span{margin-top:2px;font-size:.68rem}.input-prefix,.input-with-icon{background:#fff;border:1px solid #cfd8e4;border-radius:9px;align-items:center;display:flex;overflow:hidden}.input-prefix>span{color:var(--navy-900);background:var(--slate-100);border-right:1px solid #d7dfe9;align-self:stretch;place-items:center;padding:0 13px;font-weight:800;display:grid}.input-prefix input,.input-with-icon input{border:0;border-radius:0;box-shadow:none!important}.input-with-icon{color:var(--slate-500);padding-left:12px}.thai-date-input{width:100%;min-width:0;height:45px;color:var(--slate-500);background:#fff;border:1px solid #cfd8e4;border-radius:9px;align-items:center;gap:9px;padding:0 5px 0 12px;display:flex;position:relative}.thai-date-input:focus-within{border-color:var(--blue-600);box-shadow:0 0 0 3px #1469aa1f}.thai-date-input>span{color:#1f324a;text-overflow:ellipsis;white-space:nowrap;flex:auto;font-size:.8rem;font-weight:700;overflow:hidden}.thai-date-input>span.placeholder{color:var(--slate-500);font-weight:500}.thai-picker-button{width:35px;height:35px;color:var(--blue-600);cursor:pointer;background:#edf6fc;border:0;border-radius:7px;flex:0 0 35px;place-items:center;padding:0;display:grid}.thai-picker-button:hover{color:#fff;background:var(--blue-600)}.thai-picker-button:focus-visible{outline-offset:2px;outline:3px solid #1469aa52}.thai-picker-button:disabled{color:var(--slate-400);background:var(--slate-200);cursor:not-allowed}.thai-date-input input.thai-native-picker{clip-path:inset(50%);opacity:0;pointer-events:none;border:0;width:1px;min-width:1px;height:1px;padding:0;position:absolute;bottom:5px;right:5px}.thai-date-input:has(input:disabled){color:var(--slate-400);background:var(--slate-100);cursor:not-allowed}.thai-date-input:has(input:disabled)>span{color:var(--slate-400)}.upload-zone{min-height:135px;color:var(--slate-500);text-align:center;cursor:pointer;background:#f9fbfd;border:1.5px dashed #b7c5d5;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:22px;display:flex}.upload-zone:hover{border-color:var(--blue-600);background:#f2f7fc}.upload-zone input{opacity:0;width:1px;height:1px;position:absolute}.upload-zone strong{color:var(--navy-900);margin:7px 0 3px;font-size:.84rem}.upload-zone span{font-size:.7rem}.upload-icons{color:var(--blue-600);align-items:flex-end;gap:3px;display:flex}.file-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.file-list li{min-width:0;color:var(--slate-700);background:var(--slate-100);border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:.72rem;display:flex}.file-list li>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-list button{width:26px;height:26px;color:var(--red-600);background:0 0;border:0;flex:none;place-items:center;margin-left:auto;padding:0;display:grid}.form-message{border-radius:10px;align-items:flex-start;gap:10px;margin-top:20px;padding:13px 15px;font-size:.78rem;display:flex}.form-message strong,.form-message span{display:block}.form-message.error{color:#9c3036;background:var(--red-100);border:1px solid #f6cfd1}.form-message.error ul{margin:5px 0 0;padding-left:18px}.form-message.success{color:var(--green-700);background:var(--green-100);border:1px solid #c4eadc}.form-message.warning{color:#774f0b;background:var(--amber-100);border:1px solid #f2dfaa}.form-message.success span{margin-top:2px;font-size:.72rem}.form-actions{border-radius:0 0 var(--radius) var(--radius);background:#f7f9fc;border-top:1px solid #e5ebf2;align-items:center;gap:16px;margin:24px -25px -25px;padding:18px 25px;display:flex}.form-actions span{color:var(--slate-500);font-size:.7rem}.filter-card{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;padding:14px;display:grid}.search-field{color:var(--slate-500);flex:1;align-items:center;display:flex;position:relative}.search-field svg{position:absolute;left:13px}.search-field input{height:43px;padding:0 13px 0 41px}.filter-selects{gap:8px;display:flex}.filter-selects label{align-items:center;gap:5px;display:flex}.filter-selects select{width:auto;min-width:135px;padding:0 30px 0 10px}.history-date-filters,.history-sort-actions{align-items:end;gap:8px;display:flex}.history-date-filters label,.history-sort-actions label{color:var(--slate-600);gap:5px;font-size:.75rem;font-weight:700;display:grid}.history-date-filters input,.history-sort-actions select{color:#1f324a;background:#fff;border:1px solid #cfd8e4;border-radius:9px;outline:none;min-width:0;height:43px;padding:0 10px}.history-date-filters input:focus,.history-sort-actions select:focus{border-color:var(--blue-600);box-shadow:0 0 0 3px #1469aa1f}.history-sort-actions{justify-content:flex-end}.history-sort-actions select{min-width:205px}.result-summary{border-bottom:1px solid #e9eef4;justify-content:space-between;padding:17px 20px;font-size:.78rem;display:flex}.result-summary span{color:var(--slate-500)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.78rem}th{color:var(--slate-500);text-align:left;letter-spacing:.02em;background:#f7f9fc;padding:12px 16px;font-size:.68rem}td{color:var(--slate-700);vertical-align:middle;border-top:1px solid #edf1f5;padding:15px 16px}td strong,td small{display:block}td small{max-width:310px;color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.66rem;overflow:hidden}.align-right{text-align:right}td.amount{white-space:nowrap;font-weight:800}.table-link,.history-item-link{text-decoration:none;display:block}tr.cancelled{opacity:.58}.cancelled-label{color:var(--red-600);align-items:center;gap:3px;margin-top:5px;font-size:.65rem;font-weight:800;display:inline-flex}.mobile-history-list{display:none}.empty-state{min-height:250px;color:var(--slate-500);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-state strong{color:var(--slate-700)}.reconcile-card{overflow:hidden}.reconcile-inputs{border-bottom:1px solid #e8edf3;grid-template-columns:repeat(2,1fr);gap:18px;padding:24px;display:grid}.reconcile-flow{grid-template-columns:1fr auto 1fr auto 1fr;align-items:stretch;gap:12px;padding:28px 24px;display:grid}.reconcile-flow article{background:#f8fafc;border:1px solid #e6ecf3;border-radius:12px;align-items:flex-start;gap:11px;min-width:0;padding:17px;display:flex}.reconcile-flow article>div{flex:1;min-width:0}.reconcile-flow article span,.reconcile-flow article small{color:var(--slate-500);font-size:.68rem;display:block}.reconcile-flow article strong{color:var(--navy-950);white-space:nowrap;margin:5px 0;font-size:1.02rem;display:block}.reconcile-icon{border-radius:10px;flex:none;place-items:center;width:38px;height:38px;display:grid!important}.reconcile-icon.system{background:var(--blue-100);color:var(--blue-600)!important}.reconcile-icon.bank{background:#e8eef5;color:var(--navy-900)!important}.reconcile-flow article.matched{background:var(--green-100);border-color:#c1e7d8}.reconcile-flow article.different{background:var(--amber-100);border-color:#f0dda9}.reconcile-icon.result{background:#ffebaa;color:var(--amber-700)!important}.reconcile-flow article.matched .reconcile-icon.result{background:#c9ecdf;color:var(--green-700)!important}.flow-symbol{color:var(--slate-300);align-self:center;font-size:1.4rem;font-weight:300}.input-prefix.compact{margin-top:5px}.input-prefix.compact input{height:38px;padding:0 8px;font-size:.83rem}.input-prefix.compact>span{padding:0 9px}.reconcile-status{border-top:1px solid #e8edf3;align-items:flex-start;gap:10px;padding:16px 24px;display:flex}.reconcile-status.matched{color:var(--green-700);background:#f2fbf7}.reconcile-status.different{color:var(--amber-700);background:#fffbef}.reconcile-status strong,.reconcile-status span{display:block}.reconcile-status strong{font-size:.8rem}.reconcile-status span{margin-top:2px;font-size:.69rem}.reconciliation-page{max-width:1180px;margin:0 auto}.reconcile-card-heading{border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.reconcile-card-heading>div{align-items:flex-start;gap:10px;display:flex}.reconcile-card-heading svg{color:var(--blue-600);flex:none}.reconcile-card-heading strong,.reconcile-card-heading span{display:block}.reconcile-card-heading strong{color:var(--navy-950);font-size:.9rem}.reconcile-card-heading span{color:var(--slate-500);margin-top:3px;font-size:.7rem}.reconciliation-unavailable{color:var(--amber-700);background:var(--amber-100);border:1px solid #f0dda9;border-radius:11px;align-items:flex-start;gap:10px;margin:20px 24px 0;padding:14px 16px;display:flex}.reconciliation-unavailable svg{flex:none}.reconciliation-unavailable strong,.reconciliation-unavailable span{display:block}.reconciliation-unavailable strong{font-size:.8rem}.reconciliation-unavailable span{margin-top:3px;font-size:.7rem;line-height:1.5}.reconcile-message{margin:18px 24px 0}.reconcile-actions{background:#f8fafc;border-top:1px solid #e8edf3;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;padding:18px 24px;display:flex}.readonly-hint{color:var(--slate-500);margin-right:auto;font-size:.72rem}.reconciliation-movements,.reconciliation-history{overflow:hidden}.reconciliation-movements .section-heading h3,.reconciliation-history .section-heading h3{align-items:center;gap:7px;display:flex}.empty-state.compact{min-height:170px;padding:28px 18px}.empty-state.compact span{font-size:.72rem}.movement-list{margin:0;padding:0 22px 8px;list-style:none}.movement-list li{border-bottom:1px solid #edf1f5;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 0;display:grid}.movement-list li:last-child{border-bottom:0}.movement-list li.cancelled{opacity:.58}.movement-list div{min-width:0}.movement-list a{color:var(--navy-900);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;font-weight:800;text-decoration:none;display:block;overflow:hidden}.movement-list div span{color:var(--slate-500);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.68rem;display:block;overflow:hidden}.movement-list>li>strong{white-space:nowrap;font-size:.8rem}.reconciliation-history-heading label{flex:none}.reconciliation-history-heading select{min-width:160px;height:40px;color:var(--slate-700);border:1px solid var(--slate-200);background:#fff;border-radius:9px;padding:0 34px 0 11px}.reconciliation-history-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px 22px 22px;display:grid}.reconciliation-history-list>article{border:1px solid var(--slate-200);background:#fff;border-radius:12px;min-width:0;overflow:hidden}.reconciliation-history-list>article.needs-review{border-color:#e6c66c;box-shadow:inset 3px 0 #d79a22}.reconciliation-history-title{border-bottom:1px solid var(--slate-200);background:#f8fafc;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 15px;display:flex}.reconciliation-history-title strong,.reconciliation-history-title div span{display:block}.reconciliation-history-title strong{color:var(--navy-950);font-size:.84rem}.reconciliation-history-title div span{color:var(--slate-500);margin-top:3px;font-size:.67rem}.status-pill{border-radius:999px;flex:none;padding:4px 8px;font-size:.65rem;font-weight:800}.status-pill.matched{color:var(--green-700);background:var(--green-100)}.status-pill.different{color:var(--amber-700);background:var(--amber-100)}.reconciliation-history-list dl{grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.reconciliation-history-list dl>div{border-bottom:1px solid #edf1f5;min-width:0;padding:11px 14px}.reconciliation-history-list dt{color:var(--slate-500);font-size:.63rem;font-weight:700}.reconciliation-history-list dd{overflow-wrap:anywhere;color:var(--slate-700);margin:3px 0 0;font-size:.76rem;font-weight:750}.review-warning{color:var(--amber-700);background:var(--amber-100);border-radius:8px;align-items:flex-start;gap:7px;margin:12px 14px 0;padding:10px 11px;display:flex}.review-warning svg{flex:none}.review-warning span{font-size:.67rem;line-height:1.5}.reconciliation-history-actions{flex-wrap:wrap;gap:8px;padding:13px 14px;display:flex}.reconciliation-audit{color:var(--slate-500);border-top:1px solid var(--slate-200);background:#f8fafc;padding:12px 14px;font-size:.7rem}.reconciliation-audit ul{margin:0;padding:0;list-style:none}.reconciliation-audit li{border-bottom:1px solid var(--slate-200);padding:9px 0}.reconciliation-audit li:last-child{border-bottom:0}.reconciliation-audit strong,.reconciliation-audit span,.reconciliation-audit small{display:block}.reconciliation-audit strong{color:var(--slate-700);font-size:.73rem}.reconciliation-audit span,.reconciliation-audit small{margin-top:3px}.reconciliation-audit-changes{gap:7px;margin:10px 0 0;display:grid}.reconciliation-audit-changes>div{grid-template-columns:minmax(105px,.55fr) minmax(0,1fr);align-items:start;gap:10px;display:grid}.reconciliation-audit-changes dt{color:var(--slate-700);font-weight:700}.reconciliation-audit-changes dd{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin:0;display:grid}.reconciliation-audit-changes dd span{overflow-wrap:anywhere;min-width:0;color:var(--slate-700);margin:0}.reconciliation-audit-changes dd b{color:var(--slate-400);text-align:center}.report-card{overflow:hidden}.report-heading svg{color:var(--blue-600)}.report-options{flex-direction:column;gap:25px;padding:24px;display:flex}.report-options fieldset{border:0;margin:0;padding:0}.radio-cards{gap:10px;display:grid}.radio-cards.three-columns{grid-template-columns:repeat(3,1fr)}.radio-cards label{cursor:pointer;background:#fff;border:1px solid #d8e0e9;border-radius:10px;flex-direction:column;justify-content:center;min-height:78px;padding:14px;display:flex;position:relative}.radio-cards label.selected{border-color:var(--blue-600);box-shadow:inset 0 0 0 1px var(--blue-600);background:#f3f8fd}.radio-cards label:has(input:checked){border-color:var(--blue-600);box-shadow:inset 0 0 0 1px var(--blue-600);background:#f3f8fd}.radio-cards input{accent-color:var(--blue-600);position:absolute;top:12px;right:12px}.radio-cards strong{color:#263951;font-size:.82rem}.radio-cards span{color:var(--slate-500);margin-top:3px;font-size:.67rem}.report-date-fields{background:#f7f9fc;border-radius:11px;grid-template-columns:repeat(2,minmax(0,240px));gap:12px;padding:15px;display:grid}.report-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.report-checks label{border:1px solid var(--slate-200);background:#f8fafc;border-radius:10px;align-items:flex-start;gap:10px;min-width:0;padding:13px 14px;display:flex}.report-checks input{accent-color:var(--blue-600);flex:none;margin-top:3px}.report-checks strong,.report-checks span{display:block}.report-checks strong{color:var(--slate-700);font-size:.76rem}.report-checks span{color:var(--slate-500);font-size:.66rem;line-height:1.5}.report-preview-button{align-self:flex-start}.spin{animation:.8s linear infinite report-spin}@keyframes report-spin{to{transform:rotate(360deg)}}.report-preview{border-top:1px solid var(--slate-200);background:#fbfdff;padding:22px 24px}.report-preview-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:16px;display:flex}.report-preview-heading strong,.report-preview-heading div span{display:block}.report-preview-heading strong{color:var(--navy-950);font-size:.92rem}.report-preview-heading div span{color:var(--slate-500);margin-top:3px;font-size:.68rem}.report-source{color:var(--amber-700);background:var(--amber-100);border-radius:999px;flex:none;padding:5px 9px;font-size:.65rem;font-weight:800}.report-source.development{color:var(--green-700);background:var(--green-100)}.report-summary-grid{border:1px solid var(--slate-200);border-radius:11px;grid-template-columns:repeat(5,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.report-summary-grid>div{border-right:1px solid var(--slate-200);min-width:0;padding:13px}.report-summary-grid>div:last-child{border-right:0}.report-summary-grid dt{color:var(--slate-500);font-size:.64rem;font-weight:700}.report-summary-grid dd{overflow-wrap:anywhere;color:var(--navy-950);margin:5px 0 0;font-size:.8rem;font-weight:800}.report-summary-grid .closing{background:var(--blue-100)}.report-preview-list{margin-top:16px}.report-preview-list>strong{color:var(--slate-700);font-size:.75rem}.report-preview-list>p{color:var(--slate-500);margin:10px 0 0;font-size:.72rem}.report-preview-list ul{border-top:1px solid var(--slate-200);margin:9px 0 0;padding:0;list-style:none}.report-preview-list li{color:var(--slate-500);border-bottom:1px solid var(--slate-200);justify-content:space-between;align-items:center;gap:15px;padding:9px 0;font-size:.68rem;display:flex}.report-preview-list li span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.report-preview-list li strong{color:var(--slate-700);flex:none}.report-warning{color:var(--amber-700);background:var(--amber-100);border-radius:8px;margin:12px 0 0;padding:10px 12px;font-size:.68rem}.report-downloads{background:#f8fafc;border-top:1px solid #e4eaf1;justify-content:space-between;align-items:center;gap:18px;padding:20px 24px;display:flex}.download-intro{color:var(--slate-500);align-items:flex-start;gap:10px;display:flex}.download-intro strong,.download-intro span{display:block}.download-intro strong{color:var(--slate-700);font-size:.8rem}.download-intro span{margin-top:2px;font-size:.67rem}.download-buttons{gap:8px;display:flex}.button.disabled-action{color:#7d8999;cursor:not-allowed;background:#eef2f6;border:1px solid #dfe5ec;justify-content:flex-start;min-width:180px}.button.disabled-action>span{flex-direction:column;align-items:flex-start;font-size:.76rem;display:flex}.button.disabled-action small{font-size:.61rem;font-weight:500}.button.disabled-action>svg:last-child{margin-left:auto}.download-buttons .button>span{flex-direction:column;align-items:flex-start;font-size:.76rem;display:flex}.download-buttons .button small{font-size:.61rem;font-weight:500}.bottom-nav,.mobile-drawer-layer{display:none}.auth-page{background:radial-gradient(circle at top right, #dcecf9, transparent 38%), var(--slate-100);place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{background:#fff;border:1px solid #e1e8f0;border-radius:18px;width:min(460px,100%);padding:28px;box-shadow:0 22px 60px #0823421f}.auth-brand{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:0 0 25px;display:flex}.auth-logo{filter:drop-shadow(0 8px 14px #0823422e);width:112px;height:auto}.auth-brand-copy strong,.auth-brand-copy span{display:block}.auth-brand-copy strong{color:var(--navy-950);font-size:1.08rem;line-height:1.45}.auth-brand-copy span{color:var(--green-700);margin-top:4px;font-size:.78rem;font-weight:700;line-height:1.5}.auth-heading{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.auth-heading svg{color:var(--blue-600)}.auth-heading h1{color:var(--navy-950);margin-bottom:5px;font-size:1.35rem}.auth-heading p,.auth-footnote,.access-denied p{color:var(--slate-500);margin:0;font-size:.78rem;line-height:1.6}.auth-form{flex-direction:column;gap:16px;display:flex}.auth-form .form-message{margin:0}.auth-footnote{text-align:center;margin-top:18px}.access-denied{text-align:center}.access-denied>svg{color:var(--red-600)}.access-denied h1{color:var(--navy-950);margin:14px 0 8px;font-size:1.3rem}.access-denied .button{margin-top:20px}.error-copy{color:var(--red-600)!important;margin-top:8px!important}.loading-card{color:var(--slate-500);text-align:center;padding:28px}.detail-card{overflow:hidden}.detail-heading{border-bottom:1px solid #e8edf3;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.detail-heading>div{align-items:center;gap:8px;display:flex}.detail-amount{color:var(--navy-950);font-size:1.45rem}.detail-amount.income{color:var(--green-700)}.detail-amount.expense{color:var(--red-600)}.detail-grid{grid-template-columns:repeat(2,1fr);gap:0;margin:0;display:grid}.detail-grid>div{border-bottom:1px solid #edf1f5;padding:18px 24px}.detail-grid dt{color:var(--slate-500);font-size:.68rem;font-weight:700}.detail-grid dd{color:var(--slate-700);margin:5px 0 0;font-size:.86rem;font-weight:700}.detail-grid dd small{color:var(--amber-700);margin-top:4px;display:block}.detail-actions{background:#f8fafc;justify-content:flex-end;padding:18px 24px;display:flex}.cancel-card{flex-direction:column;gap:15px;padding:22px 24px;display:flex}.cancel-card h3{color:var(--navy-950);margin-bottom:4px}.cancel-card p{color:var(--slate-500);margin:0;font-size:.75rem}.cancel-card .button{align-self:flex-start}.audit-card{overflow:hidden}.audit-card .section-heading h3{align-items:center;gap:7px;display:flex}.audit-list{margin:0;padding:4px 24px 12px;list-style:none}.audit-list li{border-bottom:1px solid #edf1f5;align-items:flex-start;gap:10px;padding:14px 0;display:flex}.audit-list li:last-child{border:0}.audit-list svg{color:var(--blue-600)}.audit-list strong,.audit-list span{display:block}.audit-list strong{color:var(--slate-700);font-size:.8rem}.audit-list span{color:var(--slate-500);margin-top:3px;font-size:.68rem}.transaction-audit-changes{gap:7px;margin:10px 0 0;display:grid}.transaction-audit-changes>div{grid-template-columns:minmax(115px,.45fr) minmax(0,1fr);gap:10px;display:grid}.transaction-audit-changes dt{color:var(--slate-700);font-size:.7rem;font-weight:700}.transaction-audit-changes dd{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:7px;margin:0;display:grid}.transaction-audit-changes dd span{overflow-wrap:anywhere;min-width:0;color:var(--slate-700);margin:0}.transaction-audit-changes dd b{color:var(--slate-400);text-align:center}.pagination{border-top:1px solid var(--slate-200);background:#f8fafc;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 20px;display:grid}.pagination-size{color:var(--slate-600);align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:flex}.pagination-size select{width:auto;min-width:68px;padding:7px 28px 7px 9px}.pagination-range{min-width:0;color:var(--slate-500);text-align:center;font-size:.7rem}.pagination-navigation{justify-content:flex-end;align-items:center;gap:9px;display:flex}.pagination-navigation strong{min-width:88px;color:var(--slate-700);text-align:center;font-size:.72rem}.pagination-snapshot-note{color:var(--slate-500);border-top:1px solid var(--slate-200);background:#f8fafc;margin:0;padding:10px 14px;font-size:.66rem;line-height:1.5}.history-error,.audit-error{margin:16px 20px}.receipt-picker{background:#f8fafc;border:1px dashed #b9c7d7;border-radius:12px;min-width:0;padding:16px}.receipt-picker input.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;min-width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.receipt-picker-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.receipt-picker-heading strong,.receipt-picker-heading span{display:block}.receipt-picker-heading strong{color:var(--slate-700);font-size:.82rem}.receipt-picker-heading div span{color:var(--slate-500);margin-top:4px;font-size:.68rem;line-height:1.5}.receipt-picker-heading>span{color:var(--blue-600);flex:none;font-size:.72rem;font-weight:800}.receipt-picker-actions{flex-wrap:wrap;align-items:center;gap:9px;margin-top:13px;display:flex}.receipt-preparing{color:var(--slate-500);font-size:.72rem}.receipt-error{margin-top:12px}.receipt-preview-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:14px 0 0;padding:0;list-style:none;display:grid}.receipt-preview-list li{border:1px solid var(--slate-200);background:#fff;border-radius:10px;grid-template-columns:54px minmax(0,1fr) 36px;align-items:center;gap:10px;min-width:0;padding:8px;display:grid}.receipt-preview-list img,.receipt-preview-list li>svg{object-fit:cover;width:54px;height:54px;color:var(--slate-500);background:var(--slate-100);border-radius:7px}.receipt-preview-list strong,.receipt-preview-list span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.receipt-preview-list strong{color:var(--slate-700);font-size:.72rem}.receipt-preview-list span{color:var(--slate-500);margin-top:4px;font-size:.62rem}.receipt-file-information{min-width:0}.receipt-preview-list .receipt-saving,.receipt-preview-list .receipt-original-used{text-overflow:clip;white-space:normal;line-height:1.45;overflow:visible}.receipt-preview-list .receipt-saving{color:var(--green-700);font-weight:700}.receipt-preview-list .receipt-original-used{color:var(--slate-600)}.danger-icon{width:36px;height:36px;color:var(--red-600)}.receipt-card{overflow:hidden}.receipt-section-heading h3{align-items:center;gap:7px;display:flex}.receipt-count{color:var(--blue-600);background:var(--blue-100);border-radius:999px;flex:none;padding:5px 9px;font-size:.7rem;font-weight:800}.receipt-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:18px 22px 22px;list-style:none;display:grid}.receipt-gallery button{aspect-ratio:1;width:100%;color:var(--slate-500);background:var(--slate-100);border:1px solid var(--slate-200);border-radius:11px;place-items:center;padding:0;display:grid;position:relative;overflow:hidden}.receipt-gallery button:disabled{cursor:not-allowed}.receipt-gallery img{object-fit:cover;width:100%;height:100%}.receipt-gallery button>span{color:#fff;background:#071f39c7;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:6px;font-size:.64rem;font-weight:800;display:flex;position:absolute;inset:auto 7px 7px}.receipt-lightbox{z-index:100;background:#030e1be0;place-items:center;padding:56px 18px 18px;display:grid;position:fixed;inset:0}.receipt-lightbox img{object-fit:contain;max-width:min(1100px,100%);max-height:calc(100vh - 80px)}.receipt-lightbox-close{color:#fff;background:#ffffff1f;border:1px solid #ffffff47;border-radius:10px;place-items:center;width:42px;height:42px;padding:0;display:grid;position:absolute;top:14px;right:18px}.receipt-upload-card{flex-direction:column;gap:15px;padding:22px 24px;display:flex}.receipt-upload-card h3{color:var(--navy-950);margin-bottom:4px}.receipt-upload-card p{color:var(--slate-500);margin:0;font-size:.75rem}.receipt-upload-card>.button{align-self:flex-start}.saved-transaction-workflow{flex-direction:column;gap:18px;display:flex}.saved-transaction-banner{color:var(--green-700);background:var(--green-100);border:1px solid #c4eadc;border-radius:11px;align-items:flex-start;gap:11px;padding:14px 16px;display:flex}.saved-transaction-banner svg{flex:none}.saved-transaction-banner strong,.saved-transaction-banner span{display:block}.saved-transaction-banner span{color:#3f6f60;margin-top:3px;font-size:.72rem}.saved-transaction-summary{border:1px solid var(--slate-200);border-radius:11px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid;overflow:hidden}.saved-transaction-summary>div{border-bottom:1px solid var(--slate-200);background:#f8fafc;min-width:0;padding:13px 15px}.saved-transaction-summary dt{color:var(--slate-500);font-size:.66rem;font-weight:700}.saved-transaction-summary dd{overflow-wrap:anywhere;color:var(--slate-700);margin:4px 0 0;font-size:.82rem;font-weight:800}.saved-transaction-link{color:var(--slate-500);margin:0;font-size:.75rem}@media (width<=1120px){.summary-grid{grid-template-columns:1fr 1fr}.summary-card.primary{grid-column:1/-1}.month-grid{grid-template-columns:1fr 1fr}.metric-card.transfer{grid-column:1/-1}.reconcile-flow{grid-template-columns:1fr}.flow-symbol{justify-self:center;transform:rotate(90deg)}.reconciliation-history-list{grid-template-columns:1fr}}@media (width<=900px){.sidebar{display:none}.main-area{margin-left:0}.menu-button{display:grid}.topbar-logo{display:block}.topbar{z-index:15;height:72px;padding:0 18px;position:sticky;top:0}.page-content{padding:26px 18px 94px}.bottom-nav{z-index:18;height:67px;padding:5px 4px max(5px, env(safe-area-inset-bottom));background:#fffffff7;border-top:1px solid #dfe6ee;grid-template-columns:repeat(auto-fit,minmax(0,1fr));display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -8px 22px #0a254312}.bottom-nav a{min-width:0;color:var(--slate-500);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:.58rem;font-weight:700;text-decoration:none;display:flex}.bottom-nav a.active{color:var(--navy-900)}.bottom-nav a.active svg{color:var(--red-600)}.mobile-drawer-layer{z-index:50;display:block;position:fixed;inset:0}.drawer-backdrop{background:#06172a85;border:0;width:100%;padding:0;position:absolute;inset:0}.mobile-drawer{color:#fff;background:var(--navy-950);width:min(310px,88vw);padding:20px 17px;position:absolute;inset:0 auto 0 0;box-shadow:10px 0 30px #00000038}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.drawer-header .icon-button{color:#fff;background:#ffffff14;border-color:#ffffff26}}@media (width<=700px){.topbar-demo{display:none}.topbar h1{font-size:1.05rem}.eyebrow{font-size:.66rem}.page-heading.with-action{flex-direction:column;align-items:stretch}.page-heading.with-action .button{align-self:flex-start}.summary-grid,.month-grid{grid-template-columns:1fr}.summary-card.primary,.metric-card.transfer{grid-column:auto}.summary-card{padding:18px}.summary-value{font-size:1.45rem}.dashboard-filter{padding:17px}.filter-heading{flex-direction:column;align-items:stretch;gap:8px}.filter-heading>span{text-align:left}.period-options{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-date-range{grid-template-columns:1fr}.monthly-chart{padding:18px 15px}.chart-selection{flex-direction:column;align-items:flex-start;gap:5px}.chart-legend{flex-wrap:wrap}.chart-legend small{width:100%;margin-left:0}.expense-chart{grid-template-columns:1fr;gap:22px;padding:22px 16px}.donut-chart{width:190px;height:190px}.donut-chart:after{width:108px;height:108px}.transaction-list{padding-inline:16px}.transaction-row{grid-template-columns:auto minmax(0,1fr);gap:10px}.transaction-amount{grid-column:2;justify-self:start;margin-top:-7px}.transaction-title-line{flex-direction:column;align-items:flex-start;gap:5px}.transaction-title-line strong,.transaction-main>span{white-space:normal}.section-heading{padding:18px 16px}.form-card{padding:18px}.segmented-control,.form-grid,.reconcile-inputs{grid-template-columns:1fr}.form-actions{text-align:center;flex-direction:column;align-items:stretch;margin:22px -18px -18px;padding:16px 18px}.file-list{grid-template-columns:1fr}.filter-card{flex-direction:column;align-items:stretch;display:flex}.filter-selects{grid-template-columns:1fr 1fr;display:grid}.filter-selects label,.filter-selects select{width:100%;min-width:0}.history-date-filters{grid-template-columns:1fr 1fr;display:grid}.history-date-filters input{width:100%}.history-sort-actions{flex-direction:column;align-items:stretch}.history-sort-actions select,.history-sort-actions button{width:100%}.table-scroll{display:none}.mobile-history-list{padding:5px 15px 14px;display:block}.history-item{border-bottom:1px solid #e9eef4;padding:15px 0}.history-item-link{color:inherit}.history-item:last-child{border-bottom:0}.history-item.cancelled{opacity:.58}.history-item-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:9px;display:flex}.history-item>strong{color:#283b54;font-size:.84rem}.history-item>p{color:var(--slate-500);margin:3px 0 7px;font-size:.72rem;line-height:1.5}.history-meta{color:var(--slate-500);flex-wrap:wrap;justify-content:space-between;gap:5px 12px;font-size:.65rem;display:flex}.reconcile-flow{padding:20px 16px}.reconcile-inputs{padding:18px}.reconcile-status{padding-inline:18px}.reconcile-card-heading,.reconciliation-history-heading{flex-direction:column;align-items:stretch}.reconcile-card-heading,.reconcile-actions{padding-inline:18px}.reconciliation-unavailable,.reconcile-message{margin-inline:18px}.reconcile-actions{flex-direction:column;align-items:stretch}.reconcile-actions .button{width:100%}.reconciliation-audit-changes>div,.transaction-audit-changes>div{grid-template-columns:1fr;gap:3px}.pagination{grid-template-columns:1fr;justify-items:stretch;padding:14px 16px}.pagination-size{justify-content:space-between}.pagination-range{text-align:left}.pagination-navigation{justify-content:space-between}.pagination-navigation .button{width:auto}.readonly-hint{text-align:center;margin:0}.movement-list{padding-inline:16px}.movement-list li{grid-template-columns:auto minmax(0,1fr)}.movement-list>li>strong{grid-column:2}.movement-list a,.movement-list div span{white-space:normal}.reconciliation-history-heading label,.reconciliation-history-heading select{width:100%}.reconciliation-history-list{padding:14px 16px 18px}.radio-cards.three-columns{grid-template-columns:1fr}.report-options{padding:18px}.report-date-fields,.report-checks,.report-summary-grid{grid-template-columns:1fr}.report-summary-grid>div{border-right:0;border-bottom:1px solid var(--slate-200)}.report-summary-grid>div:last-child{border-bottom:0}.report-preview{padding:18px}.report-preview-heading{flex-direction:column}.report-downloads{flex-direction:column;align-items:stretch;padding:18px}.download-buttons{flex-direction:column}.button.disabled-action{width:100%}.detail-grid{grid-template-columns:1fr}.detail-heading{flex-direction:column;align-items:flex-start}.receipt-preview-list{grid-template-columns:1fr}.receipt-gallery{grid-template-columns:repeat(2,minmax(0,1fr));padding:14px 16px 18px}.receipt-picker-heading{flex-direction:column;gap:7px}.receipt-upload-card{padding:18px}.receipt-upload-card>.button{width:100%}.saved-transaction-summary{grid-template-columns:1fr}}@media (width<=420px){.page-content,.topbar{padding-inline:13px}.topbar{gap:11px}.topbar-logo{width:33px;height:36px}.topbar>div{min-width:0}.topbar h1,.eyebrow{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.page-heading h2{font-size:1.35rem}.summary-card{gap:11px}.summary-value{font-size:1.25rem}.demo-notice p{font-size:.76rem}.bottom-nav a{font-size:.54rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
