@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700;800&display=swap";:root{font-family:Be Vietnam Pro,system-ui,sans-serif;color:#243c38;background:#f5f7f6;font-synthesis:none;--green: #164e45;--muted: #5b6d68;--line: #dce5e0;--white: #fff;--soft: #edf4ef;--red: #a12c35;font-size:calc(18px * var(--text-scale, 1))}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,label.upload-button{touch-action:manipulation}button{cursor:pointer;min-height:44px;padding:10px 16px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .18s}button:hover{background:var(--soft)}button:disabled{opacity:.55;cursor:wait}button.primary{color:#fff;background:var(--green);border-color:var(--green)}button.primary:hover{background:#103c35}button.text-button{border:0;background:transparent;padding:8px;color:var(--green);font-size:.7778rem}button.icon-button{padding:10px;min-width:44px}button.full{width:100%}a{color:var(--green)}:focus-visible{outline:3px solid #ae7820;outline-offset:3px}h1,h2,p{margin:0}h1{font-size:1.6667rem;line-height:1.35;letter-spacing:-1px}h2{font-size:1rem;line-height:1.5}p{line-height:1.65}small{font-size:.6667rem;line-height:1.6}.muted{color:var(--muted)}.eyebrow{font-size:.6111rem;font-weight:700;letter-spacing:1.5px;color:var(--muted);margin-bottom:10px}.brand-mark{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:var(--green);color:#fff;flex-shrink:0}.login-page{min-height:100dvh;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;max-width:1260px;margin:auto;align-items:center;padding:70px}.login-art{padding:36px 0}.login-art .eyebrow{margin-top:48px}.login-art h1{font-size:2.8889rem;line-height:1.3;letter-spacing:-2px;margin:24px 0}.login-art>p:not(.eyebrow){color:var(--muted);max-width:430px;font-size:1rem}.art-note{margin-top:50px;display:flex;gap:12px;align-items:center;color:var(--green);font-size:.7778rem}.login-card{padding:38px;background:#fff;border-radius:20px;box-shadow:0 18px 60px #164e4510;border:1px solid var(--line)}.login-card h2{font-size:1.3889rem;margin-bottom:12px}.login-card form{margin-top:24px}.privacy-note{margin-top:28px;font-size:.6667rem;color:var(--muted);border-top:1px solid var(--line);padding-top:20px}.demo-buttons{display:grid;gap:12px;margin-top:20px}.demo-buttons button{justify-content:space-between}.app-shell{display:flex;min-height:100dvh}.sidebar{width:240px;flex-shrink:0;position:fixed;inset:0 auto 0 0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:32px 20px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:1.1111rem;font-weight:800}.brand small{display:block;font-weight:500;color:var(--muted);margin-top:3px}.nav-caption{font-size:.5556rem;letter-spacing:1.2px;font-weight:700;color:var(--muted);margin:44px 12px 16px}.sidebar nav{display:grid;gap:9px}.sidebar nav button{border:0;background:transparent;justify-content:flex-start;padding:13px 16px;color:var(--muted);font-size:.7778rem}.sidebar nav button.active{background:var(--soft);color:var(--green)}.count{margin-left:auto;background:var(--green);color:#fff;padding:1px 7px;border-radius:8px;font-size:.6667rem}.sidebar-bottom{margin-top:auto;border-top:1px solid var(--line);padding-top:20px}.role-card{display:flex;align-items:center;gap:10px;font-size:.7222rem;padding:12px 8px}.role-card small{display:block;color:var(--muted);font-size:.5556rem;margin-top:2px}.sidebar-bottom>button{border:0;width:100%;justify-content:flex-start;color:var(--muted)}.workspace{margin-left:240px;width:calc(100% - 240px)}.topbar{min-height:83px;background:#fff;border-bottom:1px solid var(--line);padding:16px 40px;display:flex;align-items:center;justify-content:space-between;gap:10px}.class-label{font-weight:700;font-size:.8333rem}.class-label span{font-weight:400;color:var(--muted)}.top-actions{display:flex;gap:10px;align-items:center}.top-actions select{max-width:175px}.demo-bar{background:#fff4d9;color:#6a4a0d;display:flex;align-items:center;justify-content:space-between;padding:9px 40px;font-size:.6111rem;gap:12px;font-weight:600}.demo-bar select{width:auto;font-size:.6667rem;min-height:36px;background:#fffaf0}.main-content{padding:36px 40px;max-width:1470px;margin:auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.page-heading .muted{font-size:.7778rem;margin-top:9px}.heading-actions{display:flex;gap:8px;flex-shrink:0}.panel{background:#fff;border:1px solid var(--line);border-radius:13px;padding:24px;margin-bottom:20px}.panel-title{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px}.stat-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:18px;margin-bottom:26px}.stat{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}.stat>div{display:flex;justify-content:space-between;gap:10px;font-size:.7222rem;font-weight:500;color:var(--muted)}.stat strong{display:block;font-size:1.5556rem;letter-spacing:-1px;margin:18px 0 8px;font-variant-numeric:tabular-nums}.stat small{color:var(--muted);font-size:.6111rem}.stat.balance{background:var(--green);color:#fff;border:0}.stat.balance>div,.stat.balance small{color:#d3e6dd}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.dashboard-grid .panel{min-width:0}.month-row{margin:22px 0}.month-row>div:first-child{display:flex;justify-content:space-between;gap:8px;font-size:.7222rem;margin-bottom:12px}.month-row strong{font-variant-numeric:tabular-nums}.bar{height:9px;border-radius:5px;background:#edf2ef;overflow:hidden}.bar span{display:block;height:100%;border-radius:5px;background:#558a71}.section-note{font-size:.6667rem;color:var(--muted);margin:16px 0;line-height:1.7}.pill{display:inline-block;background:var(--soft);color:var(--green);font-size:.6111rem;font-weight:600;border-radius:6px;padding:5px 9px}.pill.pending{background:#fff0d0;color:#775008}.pill.rejected,.pill.voided{background:#fff0ed;color:var(--red)}.mini-entry{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid #edf1ee;font-size:.6667rem}.mini-entry:last-child{border-bottom:0}.mini-entry>div{flex:1;min-width:0}.mini-entry strong{font-size:.6667rem;line-height:1.6;display:block}.mini-entry small{display:block;color:var(--muted);font-size:.6111rem;margin-top:4px}.mini-entry b{white-space:nowrap;font-size:.6667rem}.mini-icon{width:32px;height:32px;background:#f3f6f4;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.empty{text-align:center;padding:30px 12px;color:var(--muted)}.empty svg{color:#698378}.empty p{font-size:.7222rem;margin-top:12px}.pending-strip{background:#fff8e8;border:1px solid #e8d7ad;border-radius:12px;padding:18px 22px;margin-bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.7778rem}.pending-strip p{font-size:.6667rem;color:#6b582e;margin-top:4px}.tool-row{display:flex;gap:10px;flex-wrap:wrap}.tool-row button{font-size:.6667rem}.updated{font-size:.6111rem;color:var(--muted);margin-top:10px}.toolbar{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:16px 22px;font-size:.7222rem}.search{display:flex;align-items:center;gap:10px;width:360px;max-width:100%}.search input{border:0;padding:8px;min-width:0;background:transparent}.entry-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.entry-heading h2{margin:12px 0 8px}.entry-heading .muted{font-size:.7222rem}.entry-amount{font-size:1.2222rem;white-space:nowrap;font-variant-numeric:tabular-nums}.entry-actions{border-top:1px solid #edf1ee;padding-top:18px;margin-top:18px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.entry-actions button{font-size:.6667rem}.entry-actions small{display:block;width:100%;color:var(--muted)}.content-text{white-space:pre-wrap;margin:20px 0}.vote-results{display:flex;flex-wrap:wrap;gap:12px;background:var(--soft);border-radius:8px;padding:12px;font-size:.7222rem}.summary-row{display:flex;justify-content:space-between;gap:12px;padding:20px 0;border-bottom:1px solid var(--line)}.callout{padding:14px 16px;background:#fff7e5;border:1px solid #ebd9ad;color:#6b4e14;border-radius:10px;font-size:.6667rem;line-height:1.8;margin-bottom:20px}.error{padding:14px;background:#fff0ed;border:1px solid #f0c9c3;border-radius:9px;color:var(--red);font-size:.7222rem;margin-bottom:16px;overflow-wrap:anywhere}.notice{padding:14px;background:#e7f2eb;color:var(--green);border:1px solid #b8d1c3;border-radius:9px;font-size:.7222rem;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between}.notice button{background:transparent;border:0;padding:4px;min-height:32px}.loading{font-size:.7222rem;padding:10px;color:var(--muted)}input,select,textarea{display:block;width:100%;padding:11px 12px;min-height:44px;border:1px solid #bdccc3;border-radius:8px;background:#fff;color:#243c38}textarea{min-height:100px;resize:vertical}.field{display:block;margin-bottom:18px;font-size:.7222rem}.field>span{display:block;font-weight:600;margin-bottom:8px}.field small{display:block;color:var(--muted);margin-top:7px;font-size:.6111rem}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.checkbox{display:flex;align-items:flex-start;gap:12px;margin:20px 0;font-size:.7222rem;line-height:1.7}.checkbox input{width:19px;min-height:19px;margin-top:3px;flex-shrink:0}dialog{border:1px solid var(--line);border-radius:16px;padding:24px;max-width:540px;width:calc(100% - 32px);max-height:calc(100dvh - 48px);color:inherit;background:#fff}dialog::backdrop{background:#102f29a6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px}.dialog-footer{display:flex;justify-content:flex-end;gap:12px;margin-top:24px;border-top:1px solid var(--line);padding-top:18px}details{margin-top:16px}summary{cursor:pointer;font-weight:500;min-height:44px;display:flex;align-items:center;font-size:.7222rem}summary:before{content:"›";padding-right:10px;font-weight:700}details[open]>summary:before{content:"⌄"}.audit-row{font-size:.6111rem;padding:10px 0;border-bottom:1px solid var(--line)}.receipt-table{width:100%;border-collapse:collapse;font-size:.7222rem;text-align:left}.receipt-table th{font-size:.6111rem;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line)}.receipt-table td{padding:14px 12px;border-bottom:1px solid #edf1ee;vertical-align:top}.receipt-table td:not(:first-child){white-space:nowrap;font-variant-numeric:tabular-nums}.receipt-table details{margin:0}.receipt-detail{max-width:370px;white-space:normal;font-size:.6111rem}.receipt-detail>div{padding:12px 0}.receipt-detail button{font-size:.6111rem}.table-wrap{overflow-x:auto}.upload-button{display:inline-flex;border:1px solid var(--line);border-radius:9px;padding:12px;font-size:.6667rem;font-weight:600;color:var(--green);cursor:pointer}.upload-button input{width:1px;height:1px;opacity:0;position:absolute;padding:0;min-height:0}.upload-button:focus-within{outline:3px solid #ae7820;outline-offset:3px}.file-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.file-list button{font-size:.6667rem;max-width:100%;overflow-wrap:anywhere}@media(min-width:1600px){.main-content{padding-top:46px}.stat strong{font-size:1.8333rem}}@media(max-width:1150px){.sidebar{width:210px;padding:28px 15px}.workspace{margin-left:210px;width:calc(100% - 210px)}.main-content{padding:28px}.topbar,.demo-bar{padding-left:28px;padding-right:28px}.stat{padding:20px}.stat strong{font-size:1.3333rem}.dashboard-grid{gap:16px}.mini-entry{flex-wrap:wrap}.mini-entry b{margin-left:44px}.entry-amount{font-size:1.0556rem}}@media(max-width:800px){.login-page{grid-template-columns:1fr;padding:32px 24px;gap:18px;max-width:580px}.login-art{padding:0}.login-art h1{font-size:1.9444rem;margin:14px 0}.login-art .eyebrow{margin-top:22px}.login-art>p:not(.eyebrow){font-size:.8333rem}.art-note{display:none}.login-card{padding:26px}.sidebar{width:0;padding:0;border:0;position:static}.brand,.nav-caption,.sidebar-bottom{display:none}.sidebar nav{position:fixed;bottom:0;left:0;right:0;z-index:10;display:flex;background:#fff;border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom))}.sidebar nav button{flex:1;flex-direction:column;padding:8px 0;gap:5px;font-size:.5556rem;border-radius:8px}.count{display:none}.workspace{width:100%;margin:0}.topbar{min-height:70px;padding:12px 20px}.class-label{font-size:.7778rem}.class-label span{display:none}.top-actions select{font-size:.6667rem;max-width:140px}.demo-bar{padding:8px 20px;font-size:.5rem}.demo-bar select{max-width:120px}.main-content{padding:26px 20px 110px}.page-heading{align-items:flex-start;gap:10px}.page-heading .muted{font-size:.6667rem}.page-heading h1{font-size:1.5rem}.heading-actions{gap:4px}.heading-actions .primary{font-size:.6667rem;padding:10px}.stat-grid{gap:10px;grid-template-columns:1fr 1fr}.stat.balance{grid-column:1/-1;padding:24px}.stat.balance strong{font-size:1.9444rem}.stat strong{font-size:1.2222rem}.stat{padding:18px 14px}.stat>div{font-size:.6111rem}.stat small{font-size:.5556rem}.dashboard-grid{grid-template-columns:1fr;gap:0}.panel{padding:20px}.panel-title h2{font-size:.8889rem}.mini-entry b{margin-left:0}.toolbar{flex-direction:column;align-items:stretch;gap:10px}.search{width:100%}.entry-heading{flex-direction:column;gap:12px}.entry-heading h2{font-size:.8889rem}.entry-amount{font-size:1.2778rem}.entry-actions button{font-size:.6111rem}.pending-strip{padding:16px;font-size:.6667rem;align-items:flex-start}.pending-strip button{font-size:.6111rem;flex-shrink:0}.receipt-table thead{display:none}.receipt-table,.receipt-table tbody,.receipt-table tr,.receipt-table td{display:block;width:100%}.receipt-table tr{border-bottom:1px solid var(--line);padding:12px 0}.receipt-table td{border:0;padding:7px 0}.receipt-table td:not(:first-child){display:flex;align-items:center;justify-content:space-between;font-size:.6667rem}.receipt-table td:not(:first-child):before{content:attr(data-label);color:var(--muted)}.table-wrap{overflow:visible}.form-grid{gap:8px}.form-grid .field{font-size:.6111rem}.form-grid input{padding:8px}.tool-row button{width:100%;justify-content:flex-start}}.attachment-area{margin-top:18px}.attachment-area>.upload-button{margin-top:10px}.file-item{display:flex;gap:8px;flex-wrap:wrap}.file-item button{font-size:.6111rem}.mobile-logout{display:none!important}@media(max-width:800px){.mobile-logout{display:inline-flex!important}}.release-version{font-size:.6111rem;color:var(--muted);margin-top:20px}@media(max-width:375px){.stat:not(.balance) strong{font-size:1.0556rem}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}.install-app{margin-top:16px;border-top:1px solid var(--line, #dce5df);padding-top:12px}.install-app button{display:inline-flex;align-items:center;gap:8px;min-height:44px}.install-help{text-align:left;font-size:.7778rem;line-height:1.6}h2{font-size:1.2222rem}.section-note,.muted,.mini-entry small{font-size:.8333rem;line-height:1.6}.fund-donut{width:240px;height:240px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.fund-donut>div{width:182px;height:182px;border-radius:50%;background:#fff;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:12px}.fund-donut strong{font-size:1.2222rem;margin-top:8px}.fund-donut span{font-size:.8333rem;color:var(--muted)}.donut-layout{display:flex;align-items:center;justify-content:center;gap:24px;flex-wrap:wrap;margin-top:24px}.dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:5px}.spent{background:#c43d3d}.remaining{background:#258477}.chart-legend{font-size:.8889rem;line-height:1.8}.chart-legend b{display:block}.chart-legend.inline{display:flex;gap:20px;margin:16px 0}.columns-chart{display:flex;gap:20px;overflow-x:auto;padding:14px 4px}.column-month{flex:1;min-width:140px;text-align:center}.column-pair{height:170px;display:flex;align-items:flex-end;justify-content:center;gap:10px}.chart-column{width:38px;border-radius:6px 6px 0 0}.chart-column.income{background:#258477}.chart-column.expense{background:#c43d3d}.column-month small{display:block;font-size:.7778rem;line-height:1.7}.announcements-panel{margin:24px 0}.announcement{padding:20px 0;border-top:1px solid var(--line)}.announcement p{white-space:pre-wrap;margin:12px 0;font-size:1rem;line-height:1.8}.announcement h3{margin:0;font-size:1.1667rem}.accounts-dialog{width:min(850px,calc(100% - 24px));max-height:90vh;overflow:auto}.accounts-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.account-card{padding:16px;border:1px solid var(--line);border-radius:12px}.account-card label,.account-create label{display:grid;gap:6px;margin:12px 0}.account-card input,.account-create input,.account-card select,.account-create select{width:100%}.account-create input[type=checkbox]{width:auto}.account-create label:has(input[type=checkbox]){display:flex;align-items:center}.dashboard-grid>.panel:only-child{grid-column:1 / -1}.top-actions .text-button{white-space:nowrap}.account-card input[type=checkbox]{width:auto}.account-card label:has(input[type=checkbox]){display:flex;align-items:center}@media(max-width:600px){.fund-donut{width:220px;height:220px}.fund-donut>div{width:166px;height:166px}.top-actions{gap:4px}.top-actions .text-button{font-size:.7222rem;padding:4px}.finance-charts .panel{padding:20px}}.expense-money{color:#b42323!important}.payments-panel{margin:20px 0}.payment-form{display:grid;gap:14px;margin:16px 0;max-width:640px}.payment-form label{display:grid;gap:6px}.payment-form input,.payment-form select,.payment-form textarea{width:100%;min-width:0;box-sizing:border-box}.payment-form input[type=checkbox]{width:auto}.payment-notices{display:grid;gap:12px}.payment-qr{text-align:center;overflow-wrap:anywhere}.payment-qr img{display:block;width:300px;max-width:100%;margin:16px auto}.payments-panel details{margin:16px 0}.payments-panel select{max-width:100%}.brand-mark img{width:100%;height:100%;object-fit:contain;border-radius:inherit}.login-art .brand-mark{width:88px;height:88px;background:#fff}:root{--green: #00584f;--soft: #e9f3ef;--logo-deep: #00483f;--logo-gold: #c49a6c;--logo-cream: #ffddb0}.text-size{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:.78rem}.text-size button{min-width:44px;min-height:44px;padding:6px 10px;font-size:inherit}.text-size button[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}.login-card>.text-size{margin-bottom:20px}.topbar,.top-actions,.page-heading,.heading-actions,.panel-title{flex-wrap:wrap}.top-actions{min-width:0}button{white-space:normal;overflow-wrap:anywhere}button svg{flex-shrink:0}input,select,textarea{max-width:100%;min-width:0}.general-notices{margin-bottom:28px;padding:28px;border-radius:24px;background:linear-gradient(125deg,var(--logo-deep),#005c53);color:#fff7ed}.notice-heading{display:flex;align-items:center;gap:14px;margin-bottom:22px}.notice-heading>svg{color:var(--logo-cream);flex-shrink:0}.notice-heading h2{color:var(--logo-cream);font-size:1.55rem}.notice-heading p{color:#e1eee8;font-size:.9rem;margin-top:4px}.general-notices .panel{margin:16px 0 0;padding:22px;background:#ffffff0f;border:1px solid #50857a;box-shadow:none;color:inherit}.general-notices h3{color:var(--logo-cream);margin:0 0 12px;font-size:1.15rem}.general-notices small,.general-notices .section-note,.general-notices .empty{color:#e1eee8}.general-notices .entry-card{background:#ffffff0d;border-color:#50857a;padding:18px}.general-notices .announcement{border-color:#50857a}.general-notices input,.general-notices textarea,.general-notices select{background:#fff;color:#203b35}.general-notices button{background:var(--logo-cream);border-color:var(--logo-cream);color:#00483f}.general-notices button:hover{background:#fff0d8}.general-notices .callout,.general-notices .notice,.general-notices .error{background:#fff7ed;color:#203b35;border-radius:12px;padding:14px}.general-notices .error{color:#9c2531}.general-notices .payment-qr{background:#fff;color:#203b35;border-radius:16px;padding:20px}.general-notices .payment-qr .section-note{color:#4e635c}.general-notices summary{cursor:pointer;font-weight:600;padding:10px 0}.sidebar nav .tab-overview{--tab-color:#00584f;--tab-soft:#e5f2ed}.sidebar nav .tab-receipts{--tab-color:#207360;--tab-soft:#e7f4ec}.sidebar nav .tab-expenses{--tab-color:#a12c35;--tab-soft:#fcebee}.sidebar nav .tab-activities{--tab-color:#866039;--tab-soft:#faf0e1}.sidebar nav .tab-decisions{--tab-color:#42647a;--tab-soft:#ecf2f5}.sidebar nav .nav-tab{color:var(--tab-color);background:var(--tab-soft)}.sidebar nav .nav-tab.active{box-shadow:inset 4px 0 var(--tab-color);border:1px solid var(--tab-color);font-weight:800}.main-content,.workspace,.panel,.stat,.entry-card{min-width:0}.stat strong,.mini-entry b{overflow-wrap:anywhere}@media(max-width:600px){.general-notices{padding:18px;border-radius:18px}.general-notices .panel{padding:16px}.topbar{align-items:flex-start;gap:12px}.top-actions{width:100%;flex-wrap:wrap;justify-content:flex-start}.sidebar nav .nav-tab.active{box-shadow:inset 0 -3px var(--tab-color)}}html:not([data-text-scale="1"]) .app-shell{display:block}html:not([data-text-scale="1"]) .sidebar{position:static;width:100%;padding:16px}html:not([data-text-scale="1"]) .sidebar .brand,html:not([data-text-scale="1"]) .nav-caption,html:not([data-text-scale="1"]) .sidebar-bottom{display:none}html:not([data-text-scale="1"]) .sidebar nav{position:static;display:grid;grid-template-columns:1fr;padding:0}html:not([data-text-scale="1"]) .sidebar nav button{flex-direction:row;justify-content:flex-start;padding:12px;font-size:.8rem}html:not([data-text-scale="1"]) .workspace{width:100%;margin:0}html:not([data-text-scale="1"]) .topbar{position:static;height:auto;flex-direction:column;align-items:flex-start}html:not([data-text-scale="1"]) .top-actions{flex-wrap:wrap;width:100%}html:not([data-text-scale="1"]) .top-actions .text-button{white-space:normal}html:not([data-text-scale="1"]) .stat-grid,html:not([data-text-scale="1"]) .dashboard-grid,html:not([data-text-scale="1"]) .form-grid,html:not([data-text-scale="1"]) .accounts-list{grid-template-columns:minmax(0,1fr)}html:not([data-text-scale="1"]) .main-content{padding:20px 12px 40px}html:not([data-text-scale="1"]) .login-page{display:block;padding:20px 12px}html:not([data-text-scale="1"]) .login-art{display:none}html:not([data-text-scale="1"]) .login-card{width:100%;max-width:none;padding:20px}html:not([data-text-scale="1"]) .mini-entry{display:flex;flex-wrap:wrap}html:not([data-text-scale="1"]) .fund-donut>div>*{display:none}html:not([data-text-scale="1"]) .columns-chart{flex-direction:column;overflow:visible}html:not([data-text-scale="1"]) .column-month{width:100%;min-width:0}html:not([data-text-scale="1"]) .payment-form{max-width:100%}html:not([data-text-scale="1"]) .panel-title,html:not([data-text-scale="1"]) .page-heading,html:not([data-text-scale="1"]) .pending-strip{flex-direction:column;align-items:flex-start}html:not([data-text-scale="1"]) .chart-legend.inline{flex-wrap:wrap}html:not([data-text-scale="1"]) .general-notices{padding:18px 12px}html:not([data-text-scale="1"]) .general-notices .panel{padding:16px 10px}html:not([data-text-scale="1"]) .notice-heading{align-items:flex-start}html:not([data-text-scale="1"]) h1,html:not([data-text-scale="1"]) h2,html:not([data-text-scale="1"]) h3,html:not([data-text-scale="1"]) p,html:not([data-text-scale="1"]) strong,html:not([data-text-scale="1"]) label{overflow-wrap:anywhere}html:not([data-text-scale="1"]) .app-shell,html:not([data-text-scale="1"]) .login-card{overflow-wrap:anywhere}html:not([data-text-scale="1"]) .column-month small{white-space:normal;overflow-wrap:anywhere}html:not([data-text-scale="1"]) .entry-heading{flex-direction:column}html:not([data-text-scale="1"]) .entry-heading>*{min-width:0;max-width:100%}html:not([data-text-scale="1"]) .entry-amount{white-space:normal;overflow-wrap:anywhere}button{position:relative;isolation:isolate;border-radius:14px;box-shadow:inset 0 1px #ffffffd9,inset 0 -1px #00483f0f,0 3px 8px #00483f12;transition:box-shadow .18s ease,background-color .18s ease,transform .1s ease;-webkit-backdrop-filter:blur(10px) saturate(130%);backdrop-filter:blur(10px) saturate(130%)}button:before,button:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1}button:before{background:linear-gradient(155deg,#ffffff47,#fff0 45%,#ffddb01a);box-shadow:inset 0 0 0 1px #ffffff6b}button:after{background:radial-gradient(ellipse at var(--glass-x,50%) var(--glass-y,0%),rgba(255,255,255,.4),rgba(255,255,255,0) 62%);opacity:0;transition:opacity .14s ease}button:not(:disabled):hover:after,button:focus-visible:after{opacity:1}button:not(:disabled):hover{box-shadow:inset 0 1px #fffffff2,inset 0 0 0 1px #ffffff5c,0 5px 13px #00483f1f}button:not(:disabled):active{transform:scale(.975);box-shadow:inset 0 2px 5px #00483f26,0 1px 3px #00483f14}button:focus-visible{outline:3px solid #9d6a32;outline-offset:3px}button:disabled{cursor:not-allowed;box-shadow:inset 0 1px #ffffff73}button:disabled:after{opacity:0}button.primary{background:linear-gradient(145deg,#086b5f,#004c43);border-color:#00584f}button.primary:hover{background:linear-gradient(145deg,#0b7467,#00544a)}button.primary:before{box-shadow:inset 0 1px #fff6,inset 0 0 0 1px #ffddb033}button.text-button{box-shadow:none;border-radius:12px;-webkit-backdrop-filter:none;backdrop-filter:none}button.text-button:before{opacity:0}button.text-button:not(:disabled):hover{background:#e9f3efbf;box-shadow:inset 0 1px #fff,0 2px 8px #00483f0f}.text-size button[aria-pressed=true]{background:linear-gradient(145deg,#086b5f,#004c43)}.sidebar nav .nav-tab{border:1px solid rgba(255,255,255,.85);border-radius:16px;background:var(--tab-soft);box-shadow:inset 0 1px #fff,0 3px 8px #00483f0d}.sidebar nav .nav-tab:before{background:linear-gradient(145deg,#fff9,#ffffff08 50%,#ffddb01f)}.sidebar nav .nav-tab.active{border-color:var(--tab-color);box-shadow:inset 4px 0 var(--tab-color),inset 0 1px #fffffff2,0 5px 12px #00483f21}.general-notices button{background:linear-gradient(145deg,#ffe8c8,#ffddb0);color:#00483f;border-color:#ffe6c2}.general-notices button:hover{background:linear-gradient(145deg,#fff0da,#ffe0b7)}@supports (backdrop-filter:blur(1px)){button:not(.primary):not(.text-button){background-color:#ffffffd1}.sidebar nav .nav-tab{background:color-mix(in srgb,var(--tab-soft) 85%,transparent)}.sidebar nav{-webkit-backdrop-filter:blur(16px) saturate(125%);backdrop-filter:blur(16px) saturate(125%)}}@media(max-width:600px){.sidebar nav{background:#fafdfbeb;border-top:1px solid rgba(255,255,255,.95);box-shadow:0 -3px 20px #00483f12}.sidebar nav .nav-tab{border-radius:14px}.sidebar nav .nav-tab.active{box-shadow:inset 0 -3px var(--tab-color),inset 0 1px #fff,0 3px 8px #00483f1a}}@media(prefers-reduced-motion:reduce){button,button:before,button:after{transition:none!important;animation:none!important}button:not(:disabled):active{transform:none}button:after{display:none}}@media(forced-colors:active){button{background:ButtonFace!important;color:ButtonText!important;border:1px solid ButtonText!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}button:before,button:after{display:none}.sidebar nav .nav-tab.active,.text-size button[aria-pressed=true]{border:3px solid Highlight!important}button:focus-visible{outline-color:Highlight}}:root{background:#d9dcf0}body{position:relative;isolation:isolate;min-height:100dvh;background:transparent}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(#ffffff1f,#ffffff1f),url(/backgrounds/liquid-pastel.png) center / cover no-repeat}.sidebar{background:#f9fffca8;border-right-color:#ffffffb3;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.topbar{background:#fafffca8;border-color:#fffc;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.login-art{background:#ffffffa8;border:1px solid rgba(255,255,255,.85);border-radius:28px;padding:32px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.login-card{background:#fffc;border-color:#ffffffe6;box-shadow:0 20px 50px #16393d26,inset 0 1px #fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.glass-surface{position:relative;isolation:isolate;border:1px solid rgba(255,255,255,.85);border-radius:22px;background:#ffffffc2;box-shadow:0 12px 30px #0e3a3a1f,inset 0 1px #fffffff2,inset 0 -1px #00483f0f;-webkit-backdrop-filter:blur(16px) saturate(115%);backdrop-filter:blur(16px) saturate(115%)}.glass-surface:before,.glass-surface:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1}.glass-surface:before{background:linear-gradient(135deg,rgba(255,255,255,.24),transparent 45%,rgba(255,255,255,.08));box-shadow:inset 0 0 0 1px #ffffff57}.glass-surface:after{background:radial-gradient(ellipse at var(--glass-x,50%) var(--glass-y,0%),rgba(255,255,255,.24),transparent 60%);opacity:0;transition:opacity .18s ease}@media(hover:hover){.glass-surface:hover:after{opacity:1}}.section-heading{display:flex;align-items:flex-start;gap:12px;color:var(--green)}.section-heading>svg{flex-shrink:0;margin-top:.13em}.stat>div{justify-content:flex-start;align-items:center;gap:12px;color:var(--green);font-size:.94rem;font-weight:600}.stat.balance{background:#f1fff9c9;color:var(--green);border:1px solid rgba(255,255,255,.85)}.stat.balance>div,.stat.balance small{color:var(--green)}.stat strong{color:var(--green)}.stat strong.expense-money{color:var(--red)}.stat small{font-size:.78rem}.general-notices.glass-surface{background:#00483fe0;border-color:#dfffef94;box-shadow:0 18px 40px #00383133,inset 0 1px #ffffff52}.general-notices .glass-surface{background:#ffffff12;border-color:#dfffef61;box-shadow:inset 0 1px #ffffff24;-webkit-backdrop-filter:none;backdrop-filter:none}.general-notices .section-heading,.notice-heading h2,.notice-heading>svg{color:#fff1db}.sidebar nav .nav-tab{--tab-color:#00584f;--tab-soft:#e5f2ed;color:#00584f;background:#f2fff8a6;border-color:#fffffff2}.sidebar nav .nav-tab.active{background:linear-gradient(145deg,#076c5ff0,#004b42f7);color:#fff;border-color:#ebfff6e6;box-shadow:inset 0 1px #ffffff80,0 5px 14px #00483f33}.sidebar nav .nav-tab.active:before{background:linear-gradient(145deg,rgba(255,255,255,.24),transparent 65%)}.sidebar nav .nav-tab svg{stroke-width:1.6}@media(max-width:800px){.sidebar{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}html[data-text-scale="1"] .sidebar nav{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));padding:7px;gap:5px;border:1px solid rgba(255,255,255,.95);border-radius:24px;background:#eefff6ba;box-shadow:0 8px 30px #0039333b,inset 0 1px #fff;-webkit-backdrop-filter:blur(20px) saturate(120%);backdrop-filter:blur(20px) saturate(120%)}html[data-text-scale="1"] .sidebar nav .nav-tab{min-width:0;min-height:56px;padding:8px 2px;border-radius:17px;font-size:.56rem;font-weight:600;gap:5px;background:transparent;border-color:transparent;box-shadow:none}html[data-text-scale="1"] .sidebar nav .nav-tab.active{background:linear-gradient(145deg,#076c5ff0,#004b42f7);border-color:#fffc;box-shadow:inset 0 1px #ffffff73,0 3px 9px #00483f33}html[data-text-scale="1"] .main-content{padding-bottom:calc(130px + env(safe-area-inset-bottom))}.login-art{padding:22px}}html:not([data-text-scale="1"]) .sidebar{background:#f9fffca8}html:not([data-text-scale="1"]) .sidebar nav{background:transparent;box-shadow:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none}@media(prefers-reduced-motion:reduce){.glass-surface:after{display:none;transition:none}}.parent-students label{display:grid;gap:8px}.parent-student-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:340px;overflow:auto;margin-top:14px;padding:4px}.parent-student-choice{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;text-align:left}.parent-student-choice span{overflow-wrap:anywhere}.parent-student-choice svg{flex-shrink:0}.parent-student-choice[aria-pressed=true]{background:#d7efe6;color:#00483f;border:2px solid #00695c}.parent-greeting{font-weight:700;color:#00594f}.share-notice textarea{width:100%;min-height:180px;margin:12px 0}@media(max-width:650px){.parent-student-list{grid-template-columns:1fr}}html:not([data-text-scale="1"]) .parent-student-list{grid-template-columns:1fr;max-height:50vh}@supports not (backdrop-filter:blur(1px)){.glass-surface,.login-card,.topbar,.sidebar{background:#fffffff0}.general-notices.glass-surface{background:#00483f}.general-notices .glass-surface{background:#ffffff0f}}@media(prefers-reduced-transparency:reduce){.glass-surface,.login-card,.sidebar,.topbar{background:#f7fcfa;backdrop-filter:none;-webkit-backdrop-filter:none}.general-notices.glass-surface{background:#00483f}.general-notices .glass-surface{background:#0b5a4f}}@media(forced-colors:active){body:before,.glass-surface:before,.glass-surface:after{display:none}.glass-surface,.general-notices.glass-surface,.general-notices .glass-surface,.sidebar,.topbar,.login-card{background:Canvas;color:CanvasText;border:1px solid CanvasText;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none}.section-heading,.general-notices .section-heading,.notice-heading h2,.notice-heading>svg,.stat strong,.stat>div,.stat.balance small{color:CanvasText}}
