:root{--ink: #171717;--muted: #6d6a63;--line: #ded7ca;--paper: #fbf8f1;--wash: #e9ece7;--charcoal: #24231f;--sage: #6f7c68;--sage-dark: #4f5e4b;--brass: #b08a3c;--clay: #8b3f36;--oxblood: #632f35;--mist: #d8e2df;--stone: #eee8dd;--sage-soft: #e4eadf;--brass-soft: #efe3c7;--clay-soft: #ead9d4;--mist-soft: #e7eeec;color:var(--ink);background:var(--wash);font-family:Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}.top-menu{display:flex;align-items:center;gap:6px;margin-left:auto}.top-menu>button,.minor-menu>button{min-height:40px;display:inline-flex;align-items:center;gap:7px;padding:0 12px;color:var(--muted);background:transparent;border-radius:8px;font-weight:800}.top-menu>button.active,.minor-menu.active>button,.top-menu>button:hover,.minor-menu>button:hover{color:var(--ink);background:var(--stone)}.minor-menu,.minor-alert-menu,.account-menu{position:relative}.minor-menu-panel,.minor-alert-panel,.account-menu-panel{position:absolute;top:calc(100% + 8px);right:0;z-index:60;min-width:220px;display:none;padding:8px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 48px #14201c29}.minor-menu:hover .minor-menu-panel,.minor-menu:focus-within .minor-menu-panel,.account-menu.open .account-menu-panel{display:grid;gap:4px}.minor-alert-menu.open .minor-alert-panel{display:grid;gap:6px}.minor-menu-panel button,.minor-menu-panel span,.account-menu-panel button{min-height:40px;display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--ink);background:transparent;border-radius:8px;font-weight:800;text-align:left}.minor-menu-panel button:hover,.account-menu-panel button:hover{background:var(--stone)}.initials-button{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:var(--charcoal);border:2px solid rgba(255,255,255,.8);border-radius:50%;font-weight:900}.initials-button.active{background:var(--sage-dark)}.top-actions{display:inline-flex;align-items:center;gap:8px}.alert-bell-button{position:relative;width:44px;height:44px;display:grid;place-items:center;color:var(--ink);background:var(--stone);border:1px solid var(--line);border-radius:50%}.alert-bell-button.has-alerts{color:#fff;background:var(--clay);border-color:var(--clay)}.alert-bell-button span{position:absolute;top:-4px;right:-3px;min-width:19px;height:19px;display:grid;place-items:center;padding:0 5px;color:#fff;background:var(--charcoal);border:2px solid #ffffff;border-radius:999px;font-size:11px;font-weight:900;line-height:1}.minor-alert-row{min-height:42px;display:flex;align-items:center;gap:9px;padding:0 10px;color:var(--ink);background:var(--sage-soft);border-radius:8px;font-weight:850}.empty-alerts{margin:0;padding:10px;color:var(--muted);font-size:13px;font-weight:750}.account-menu-id{display:grid;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--line)}.account-menu-id span,.member-card small{min-width:0;overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;display:grid;place-items:center;padding:18px;background:#14201c61}.modal-backdrop.stacked{z-index:90}.account-modal{width:min(100%,520px);max-height:min(820px,calc(100vh - 36px));overflow:auto;padding:20px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 30px 90px #14201c3d}.password-confirm{width:min(100%,440px)}.modal-heading,.section-heading,.minor-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.modal-heading{margin-bottom:16px}.modal-heading h2,.section-heading h1{margin:0;font-family:Iowan Old Style,New York,Georgia,serif;line-height:1.02;letter-spacing:0}.modal-heading h2{font-size:28px}.section-heading{margin-bottom:18px}.section-heading h1{font-size:clamp(36px,5vw,62px)}.modal-copy{margin:0 0 14px;color:var(--muted);font-weight:700;line-height:1.5}.notice.inline{margin:0}.profile-photo-row{display:flex;align-items:center;gap:14px}.upload-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 12px;color:var(--ink);background:var(--stone);border:1px solid var(--line);border-radius:8px;font-weight:800}.upload-button input{display:none}.member-avatar{width:58px;height:58px;flex:0 0 58px;display:grid;place-items:center;overflow:hidden;color:#fff;background:var(--charcoal);border:1px solid var(--line);border-radius:8px;font-weight:900}.member-avatar img{width:100%;height:100%;object-fit:cover}.exchange-example{min-height:44px;display:flex;align-items:center;gap:10px;padding:10px 12px;color:var(--sage-dark);background:var(--sage-soft);border:1px solid rgba(47,125,109,.16);border-radius:8px;font-weight:800}.overview-dashboard,.minor-account-dashboard,.family-dashboard{padding-top:28px}.minor-summary-grid{display:grid;gap:16px;margin-bottom:18px}.minor-summary-card{padding:18px;background:#ffffffe6;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #14201c12}.mini-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.secondary-action.compact,.primary-action.compact,.danger-action.compact{min-height:42px;width:auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;border-radius:8px;font-size:14px}.danger-action{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 14px;color:var(--oxblood);background:var(--clay-soft);border:1px solid rgba(118,57,66,.18);border-radius:8px;font-weight:900}.full-width{width:100%}.minor-account-layout,.family-layout{display:grid;gap:18px}.minor-account-main,.minor-account-side{min-width:0}.account-overview-panel{padding:18px}.minor-action-row{display:grid;gap:18px}.compact-request-row{grid-template-columns:minmax(0,1fr) auto}.statement-controls{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.manual-adjustments-grid{display:grid;gap:18px}.state-toggle{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:var(--sage-dark);background:var(--sage-soft);border-radius:8px;font-weight:900}.state-toggle.active{color:#fff;background:var(--charcoal)}.checkbox-field{min-height:54px;display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:800}.checkbox-field input{width:18px;height:18px}.member-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.family-members-panel .member-card-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.member-card{min-width:0;display:grid;gap:8px;align-content:start;padding:14px;background:#fff;border:1px solid var(--line);border-radius:8px;text-align:left}.member-card.clickable:hover{border-color:var(--sage);box-shadow:0 12px 32px #14201c1a}.member-card>span{color:var(--sage-dark);font-size:12px;font-weight:900;text-transform:uppercase}.member-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:18px}.member-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}@media(min-width:900px){.minor-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.minor-account-layout{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:start}.minor-action-row{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr)}.manual-adjustments-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.family-layout{grid-template-columns:minmax(320px,410px) minmax(0,1fr);align-items:start}.family-setup-panel{grid-column:1}.family-members-panel{grid-column:2}}@media(max-width:860px){.top-bar{flex-wrap:wrap}.top-menu{order:3;width:100%;overflow-x:auto;margin-left:0;padding-top:8px}.minor-menu-panel{left:0;right:auto}.mini-metrics,.manual-adjustments-grid,.statement-controls{grid-template-columns:1fr}.statement-table{overflow-x:auto}.statement-table-head,.statement-transaction-row{min-width:620px}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-width:320px}button,input,select{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.72}.shell{min-height:100vh;display:grid;place-items:center;padding:28px;background:var(--wash)}.device{position:relative;width:min(100%,430px);min-height:min(860px,calc(100vh - 56px));max-height:calc(100vh - 56px);overflow:hidden;background:var(--paper);border:1px solid rgba(36,35,31,.16);border-radius:24px;box-shadow:0 28px 80px #24231f2e}.auth-screen,.app-frame{height:100%;min-height:min(860px,calc(100vh - 56px))}.auth-screen{display:flex;flex-direction:column;justify-content:center;gap:22px;padding:max(24px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));background:var(--paper)}.restore-screen{min-height:min(860px,calc(100vh - 56px));display:grid;place-items:center;align-content:center;gap:18px;padding:max(24px,env(safe-area-inset-top)) 22px max(24px,env(safe-area-inset-bottom));text-align:center;background:var(--paper)}.restore-screen h1{margin:0;font-family:Iowan Old Style,New York,Georgia,serif;font-size:34px;font-weight:600;line-height:1;letter-spacing:0}.restore-screen p:last-child{margin:10px 0 0;color:var(--muted);font-weight:700}.brand-block{display:flex;align-items:center;gap:14px;padding-top:8px}.brand-block h1{margin:2px 0 0;font-family:Iowan Old Style,New York,Georgia,serif;font-size:34px;font-weight:600;line-height:1;letter-spacing:0}.more-info-link{min-height:38px;display:inline-flex;align-items:center;margin-top:12px;color:var(--sage-dark);font-weight:800;text-decoration:underline;text-underline-offset:4px}.eyebrow{margin:0 0 6px;color:var(--sage-dark);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.logo-mark{width:62px;height:62px;flex:0 0 auto;display:grid;place-items:center;position:relative;background:transparent;border-radius:18px;box-shadow:0 12px 24px #24231f1f}.logo-mark svg{width:72%;height:72%}.logo-field{fill:var(--charcoal)}.logo-rule{fill:none;stroke:var(--brass);stroke-width:2.2;stroke-linecap:round}.logo-type{fill:var(--paper);font-family:Iowan Old Style,New York,Georgia,serif;font-size:19px;font-weight:700}.auth-panel{padding:18px;background:#ffffff6b;border:1px solid var(--line);border-radius:8px;box-shadow:0 18px 42px #24231f17}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;height:44px;padding:4px;background:var(--stone);border-radius:8px}.segmented button,.text-tab{min-width:0;color:var(--muted);background:transparent;border-radius:6px;font-weight:700}.segmented button.active,.text-tab.active{color:var(--ink);background:var(--paper);box-shadow:0 8px 18px #24231f17}.mode-row{display:flex;gap:8px;padding:16px 0 12px}.text-tab{min-height:36px;padding:0 12px}.form-stack{display:grid;gap:12px}label{display:grid;gap:6px;color:var(--muted);font-size:13px;font-weight:700}input,select{width:100%;min-height:44px;padding:0 12px;color:var(--ink);background:#ffffff94;border:1px solid var(--line);border-radius:8px;outline:none}input:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6f7c6824}.primary-action,.secondary-action{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 14px;border-radius:8px;font-weight:700;letter-spacing:0}.primary-action{width:100%;color:var(--paper);background:var(--charcoal);box-shadow:0 12px 26px #24231f2e}.secondary-action{color:var(--ink);background:var(--stone)}.primary-action.compact{width:auto;min-height:40px;padding-inline:12px;white-space:nowrap}.child-signin-note{min-height:44px;display:flex;align-items:center;gap:8px;margin:16px 0 12px;padding:0 12px;color:var(--sage-dark);background:var(--sage-soft);border-radius:8px;font-size:13px;font-weight:700}.notice{margin:12px 0 0;padding:10px 12px;color:var(--sage-dark);background:var(--sage-soft);border-radius:8px;font-size:13px;font-weight:700}.notice.docked{position:sticky;bottom:0;z-index:3;margin:0}.app-frame{position:relative;display:flex;flex-direction:column;overflow:hidden;background:#f8fbff}.preview-screen{min-height:min(860px,calc(100vh - 56px));display:flex;flex-direction:column;overflow:hidden;background:#f8fbff}.preview-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:max(18px,env(safe-area-inset-top)) 16px 12px;background:var(--paper);border-bottom:1px solid var(--line)}.preview-header .logo-mark{width:46px;height:46px;border-radius:13px}.preview-header .logo-mark svg{width:25px;height:25px}.preview-header h1{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:Iowan Old Style,New York,Georgia,serif;font-size:22px;font-weight:600;line-height:1.1;letter-spacing:0}.preview-lock{display:flex;align-items:center;gap:8px;margin:12px 14px;padding:10px 12px;color:var(--sage-dark);background:var(--sage-soft);border:1px solid rgba(111,124,104,.22);border-radius:8px;font-size:13px;font-weight:700;line-height:1.35}.preview-content{flex:1 1 auto;overflow-y:auto;opacity:.94}.preview-card,.static-preview{position:relative}.preview-card:after,.static-preview:after{content:"Preview";position:absolute;top:10px;right:10px;min-height:24px;display:inline-flex;align-items:center;padding:0 9px;color:var(--sage-dark);background:#e4eadff0;border-radius:999px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0}.fake-action{min-height:40px;display:inline-flex;align-items:center;gap:8px;padding:0 12px;color:#ffffffc7;background:#24231f9e;border-radius:8px;font-weight:700}.preview-actions{display:grid;grid-template-columns:.78fr 1fr;gap:10px;padding:12px 14px max(14px,env(safe-area-inset-bottom));background:#fbf8f1f5;border-top:1px solid var(--line)}.top-bar{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(16px,env(safe-area-inset-top)) 16px 12px;background:#fffdf8f5;border-bottom:1px solid var(--line)}.top-brand{display:flex;align-items:center;gap:10px;min-width:0}.top-brand .logo-mark{width:42px;height:42px;border-radius:12px;border-width:2px}.top-brand p,.top-brand span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-brand p{margin:0;max-width:260px;font-family:Iowan Old Style,New York,Georgia,serif;font-size:16px;font-weight:600}.top-brand span{color:var(--muted);font-size:12px;font-weight:700}.icon-button{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;color:var(--ink);background:var(--stone);border-radius:8px}.dashboard{flex:1 1 auto;overflow-y:auto;padding-bottom:max(20px,env(safe-area-inset-bottom))}.summary-band{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:14px 14px 10px}.metric{min-height:88px;display:grid;align-content:space-between;gap:6px;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 20px #24231f0a}.metric svg{color:var(--sage-dark)}.metric span{color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0}.metric strong{min-width:0;overflow-wrap:anywhere;font-size:16px}.child-switcher{display:flex;gap:8px;overflow-x:auto;padding:0 14px 14px}.child-switcher button{min-width:104px;min-height:40px;color:var(--muted);background:var(--paper);border:1px solid var(--line);border-radius:8px;font-weight:700}.child-switcher button.active{color:var(--paper);background:var(--charcoal);border-color:var(--charcoal)}.panel{padding:16px 14px;border-top:1px solid var(--line);background:#fffdf8bd}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.panel-heading h2{margin:0;font-family:Iowan Old Style,New York,Georgia,serif;font-size:22px;font-weight:600;line-height:1.12;letter-spacing:0}.compact-heading{margin-bottom:10px}.compact-heading h2{font-size:18px}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.account-tile{min-height:104px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:12px;border-radius:8px;border:1px solid rgba(23,32,42,.08);text-align:left}.account-tile.current{background:var(--mist-soft)}.account-tile.savings{background:var(--brass-soft)}.account-tile.tax{background:var(--clay-soft)}button.account-tile{width:100%;color:inherit;cursor:pointer}button.account-tile.active{border-color:var(--sage-dark);box-shadow:inset 0 0 0 2px var(--sage-dark)}button.account-tile:focus-visible{outline:3px solid rgba(47,99,88,.28);outline-offset:3px}.account-tile span{display:block;color:var(--muted);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:0}.account-tile strong{display:block;min-width:0;margin-top:5px;overflow-wrap:anywhere;font-size:15px;line-height:1.18}.settings-form .primary-action,.panel .primary-action{margin-top:2px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.child-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:160px;padding:22px 18px;color:var(--paper);background:var(--charcoal)}.child-hero h2{margin:0;font-family:Iowan Old Style,New York,Georgia,serif;font-size:38px;font-weight:600;line-height:1;letter-spacing:0}.child-hero span{display:block;margin-top:7px;color:#ffffffb8;font-weight:700}.child-hero .eyebrow{color:var(--brass)}.child-hero svg{color:var(--brass);flex:0 0 auto}.split-panels{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line)}.split-panels .panel{border-top:0}.member-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.member-list span,.status,.rule-strip span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;color:var(--muted);background:var(--stone);border-radius:999px;font-size:12px;font-weight:700}.request-list,.payslip-list,.transaction-list{display:grid;gap:10px}.request-row,.payslip-row,.transaction-row{display:grid;gap:8px;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.transactions-panel{background:#ffffff57}.transaction-month-controls{display:inline-grid;grid-template-columns:38px minmax(140px,auto) 38px;align-items:center;gap:8px;width:fit-content;margin:0 0 12px;padding:5px;background:var(--paper);border:1px solid var(--line);border-radius:8px}.transaction-month-controls button{width:38px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--sage-dark);background:var(--stone);border-radius:7px}.transaction-month-controls button:disabled{color:#606f686b;cursor:not-allowed}.transaction-month-controls strong{text-align:center;font-size:13px;font-weight:900}.statement-table{display:grid;gap:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.statement-table-head,.statement-transaction-row{display:grid;grid-template-columns:minmax(82px,.76fr) minmax(150px,1.6fr) minmax(78px,.8fr) minmax(78px,.8fr) minmax(94px,.9fr);gap:10px;align-items:center}.statement-table-head{min-height:38px;padding:0 12px;color:var(--muted);background:#eee8ddb8;font-size:11px;font-weight:800;text-transform:uppercase}.statement-transaction-row{min-height:48px;padding:10px 12px;border-top:1px solid var(--line);font-size:13px}.statement-transaction-row time{color:var(--muted);font-weight:700}.statement-transaction-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.statement-table-head span:nth-child(n+3),.statement-transaction-row span,.statement-transaction-row b{text-align:right}.statement-transaction-row span,.statement-transaction-row b{white-space:nowrap}.statement-transaction-row .money-out{color:var(--clay);font-weight:800}.statement-transaction-row .money-in{color:var(--sage-dark);font-weight:800}.statement-empty{padding:14px 12px;border-top:1px solid var(--line)}.statement-placeholder{min-height:112px;display:grid;place-items:center;color:var(--muted);text-align:center;font-weight:800}.statement-placeholder p{margin:0}.account-filter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}.account-filter button{min-height:34px;padding:0 8px;color:var(--muted);background:var(--stone);border-radius:8px;font-size:12px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-filter button.active{color:#fff;background:var(--charcoal)}.preview-strip{width:fit-content;min-height:28px;display:inline-flex;align-items:center;margin-bottom:12px;padding:0 10px;color:var(--sage-dark);background:var(--sage-soft);border-radius:999px;font-size:12px;font-weight:700;text-transform:uppercase}.transaction-row{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.transaction-icon{width:38px;height:38px;display:grid;place-items:center;color:#fff;border-radius:8px;font-size:20px;font-weight:700}.transaction-icon.current{background:var(--sage)}.transaction-icon.savings{color:var(--ink);background:var(--brass)}.transaction-icon.tax{background:var(--clay)}.transaction-main{min-width:0}.transaction-main strong,.transaction-main span{display:block}.transaction-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transaction-main span{margin-top:3px;color:var(--muted);font-size:12px;font-weight:700}.transaction-row b{white-space:nowrap}.transaction-row b.credit{color:var(--sage-dark)}.transaction-row b.debit{color:var(--clay)}.request-row{grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center}.request-row strong,.request-row span{display:block}.request-row div:first-child{min-width:0}.request-row div:first-child span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.request-row b{white-space:nowrap}.request-row .status{display:inline-flex;align-items:center;justify-content:center;min-width:88px;line-height:1;text-align:center}.status.pending{color:#6e5522;background:var(--brass-soft)}.status.approved{color:var(--sage-dark);background:var(--sage-soft)}.status.rejected{color:var(--oxblood);background:var(--clay-soft)}.row-actions{display:flex;gap:6px}.icon-button.approve{color:var(--sage-dark);background:var(--sage-soft)}.icon-button.reject{color:var(--oxblood);background:var(--clay-soft)}.payslip-date{display:flex;align-items:center;gap:8px;font-weight:700}.payslip-date svg{color:var(--sage-dark)}.payslip-download-card{display:grid;gap:12px}.payslip-summary{display:grid;gap:6px;padding:14px;color:var(--paper);background:var(--charcoal);border-radius:8px}.payslip-summary span{display:inline-flex;align-items:center;gap:7px;color:#ffffffb8;font-size:12px;font-weight:800;text-transform:uppercase}.payslip-summary strong{overflow-wrap:anywhere;font-size:28px;line-height:1}.payslip-summary small{color:#ffffffb8;font-weight:800}.payslip-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:7px}.payslip-breakdown span{min-height:30px;padding:7px 9px;color:var(--muted);background:#eee8ddb8;border-radius:8px;font-size:12px;font-weight:700}.payslip-breakdown.compact span{min-height:34px;display:flex;align-items:center}.rule-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.empty-state{margin:0;color:var(--muted);font-weight:700}.first-child-panel{min-height:260px;display:grid;align-content:center}.first-child-panel p{max-width:560px;margin:0;color:var(--muted);font-size:17px;font-weight:650;line-height:1.55}.pay-burst{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;overflow:hidden}.pay-burst span{position:absolute;left:50%;top:46%;width:32px;height:32px;display:grid;place-items:center;color:var(--ink);background:var(--brass);border-radius:50%;font-weight:700;animation:coin-burst 1.05s ease-out forwards;animation-delay:calc(var(--i) * 18ms)}@keyframes coin-burst{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}12%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(calc(var(--i) * 22deg)) translateY(-230px) scale(1)}}@media(max-width:520px){.shell{padding:0;place-items:stretch}.device{width:100%;min-height:100vh;max-height:none;border:0;border-radius:0;box-shadow:none}.auth-screen,.app-frame,.preview-screen{min-height:100vh}}@media(min-width:900px){.shell{padding:32px}.device{width:min(100%,1120px);min-height:min(900px,calc(100vh - 64px));border-radius:18px}.auth-screen{width:min(100%,520px);margin:0 auto}.app-frame,.preview-screen{min-height:min(900px,calc(100vh - 64px))}.top-bar{padding:max(18px,env(safe-area-inset-top)) 24px 14px}.adult-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 372px;align-content:start;column-gap:0}.adult-dashboard .summary-band,.adult-dashboard .child-switcher{grid-column:1 / -1}.adult-dashboard .selected-account-panel,.adult-dashboard .transactions-panel{grid-column:1}.adult-dashboard .settings-form,.adult-dashboard .family-setup-panel,.adult-dashboard .requests-panel{grid-column:2;border-left:1px solid var(--line)}.adult-dashboard .settings-form{grid-row:3 / span 2}.adult-dashboard .family-setup-panel{grid-row:5}.adult-dashboard .requests-panel{grid-row:6}.empty-family-dashboard .first-child-panel,.empty-family-dashboard .family-setup-panel{grid-row:2}.summary-band{padding:18px 18px 12px}.child-switcher{padding:0 18px 16px}.panel{padding:18px}.account-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.transaction-list{grid-template-columns:repeat(2,minmax(0,1fr))}.transaction-row{min-height:78px}.child-dashboard{display:grid;grid-template-columns:minmax(0,1fr) 420px;align-content:start}.child-dashboard .child-hero,.child-dashboard>.account-grid,.child-dashboard .transactions-panel{grid-column:1}.child-dashboard .split-panels,.child-dashboard .payslips-panel{grid-column:2;border-left:1px solid var(--line)}.child-dashboard>.account-grid{padding:18px}}@media(max-width:390px){.brand-block h1{font-size:26px}.summary-band,.account-grid,.split-panels,.field-grid,.payslip-breakdown{grid-template-columns:1fr}.split-panels .panel+.panel{border-left:0;border-top:1px solid var(--line)}.request-row{grid-template-columns:1fr auto}.row-actions{grid-column:1 / -1}}:root{--ink: #14201c;--muted: #61706a;--line: #d8e2dc;--paper: #ffffff;--wash: #f3f6f1;--charcoal: #17251f;--sage: #2f7d6d;--sage-dark: #236356;--brass: #d0923f;--clay: #b65a45;--oxblood: #763942;--mist: #e1eef2;--stone: #edf1ec;--sage-soft: #dff1eb;--brass-soft: #f6e8cd;--clay-soft: #f1ddd6;--mist-soft: #e7f0f3}html,body,#root{min-height:100%}body{background:var(--wash)}.shell{min-height:100vh;display:block;padding:0;background:linear-gradient(90deg,rgba(20,32,28,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(20,32,28,.035) 1px,transparent 1px),var(--wash);background-size:48px 48px}.device{width:100%;min-height:100vh;max-height:none;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none}.auth-screen,.app-frame,.preview-screen{min-height:100vh;min-height:100dvh}.auth-screen{width:min(100%,1280px);min-height:100vh;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(360px,460px);align-items:center;gap:clamp(34px,6vw,92px);padding:calc(max(28px,env(safe-area-inset-top,0px)) + 10px) clamp(28px,5vw,72px) max(32px,env(safe-area-inset-bottom,0px));overflow-y:auto;-webkit-overflow-scrolling:touch;background:transparent}.restore-screen{min-height:100vh;display:grid;place-items:center;align-content:center;gap:20px;padding:clamp(28px,5vw,72px);text-align:center;background:linear-gradient(90deg,rgba(20,32,28,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(20,32,28,.035) 1px,transparent 1px),var(--wash);background-size:48px 48px}.restore-screen .logo-mark{width:72px;height:72px;border-radius:18px}.restore-screen h1{margin:0;font-size:clamp(34px,5vw,62px)}.restore-screen p:last-child{margin:12px 0 0;color:var(--muted);font-size:17px;font-weight:750}.brand-block{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:18px;padding:0}.brand-block .logo-mark{width:72px;height:72px;border-radius:18px}.brand-block h1{max-width:680px;margin-top:0;font-size:clamp(44px,7vw,86px);line-height:.95}.brand-lead{max-width:620px;margin:18px 0 0;color:#40504a;font-size:clamp(18px,2vw,22px);font-weight:600;line-height:1.45}.site-pills{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.site-pills span{min-height:34px;display:inline-flex;align-items:center;padding:0 12px;color:var(--sage-dark);background:#dff1ebe0;border:1px solid rgba(47,125,109,.2);border-radius:999px;font-size:13px;font-weight:800}.website-snapshot{grid-column:1 / -1;width:min(100%,660px);margin-top:34px;padding:18px;background:#ffffffc7;border:1px solid var(--line);border-radius:8px;box-shadow:0 22px 70px #14201c1f}.snapshot-header{min-height:116px;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px;color:#fff;background:var(--charcoal);border-radius:8px}.snapshot-header span,.snapshot-header strong,.snapshot-row span,.snapshot-row b,.snapshot-grid b{display:block}.snapshot-header span{color:#ffffffb8;font-size:13px;font-weight:800;text-transform:uppercase}.snapshot-header strong{margin-top:6px;font-family:Iowan Old Style,New York,Georgia,serif;font-size:42px;font-weight:600}.snapshot-header svg{color:var(--brass)}.snapshot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}.snapshot-grid span{min-height:82px;padding:13px;color:var(--muted);background:var(--stone);border-radius:8px;font-size:12px;font-weight:800;text-transform:uppercase}.snapshot-grid b{margin-top:9px;color:var(--ink);font-size:18px;text-transform:none}.snapshot-row{min-height:54px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:10px;padding:0 14px;background:var(--mist-soft);border-radius:8px}.snapshot-row svg{color:var(--sage-dark)}.snapshot-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-weight:800}.snapshot-row b{white-space:nowrap}.auth-panel{width:100%;padding:22px;background:#ffffffeb;box-shadow:0 22px 70px #14201c21}.app-frame,.preview-screen{min-height:100vh;overflow:visible;background:transparent}.top-bar,.preview-header{position:sticky;top:0;z-index:30;padding:calc(max(18px,env(safe-area-inset-top,0px)) + 8px) clamp(18px,4vw,48px) 16px;background:#ffffffe0;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.top-brand .logo-mark,.preview-header .logo-mark{width:48px;height:48px}.top-brand .logo-mark svg,.preview-header .logo-mark svg{width:30px;height:30px}.top-brand p{max-width:none;font-size:19px}.top-bar .icon-button{width:auto;min-width:0;height:42px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 13px;font-weight:800}.top-bar .icon-button span{display:inline}.dashboard,.preview-content{width:min(100%,1280px);margin:0 auto;padding:24px clamp(16px,3vw,34px) 44px;overflow:visible}.summary-band{gap:14px;padding:0;margin-bottom:18px}.metric{min-height:104px;padding:16px;background:#ffffffe6}.metric strong{font-size:20px}.child-switcher{padding:0;margin-bottom:18px}.child-switcher button{min-width:132px;background:#ffffffdb}.panel{margin-bottom:18px;padding:18px;background:#ffffffe0;border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 36px #14201c12}.panel-heading h2{font-size:24px}.selected-account-panel{border-top:1px solid var(--line)}.account-grid{gap:12px}.account-tile{min-height:128px;padding:16px}.account-tile strong{font-size:20px}.transactions-panel{background:#ffffffe0}.transaction-list{gap:12px}.transaction-row,.request-row,.payslip-row{background:#fff}.field-grid{gap:14px}.split-panels{gap:18px;border-top:0}.split-panels .panel{border-top:1px solid var(--line)}.split-panels .panel+.panel{border-left:1px solid var(--line)}.child-hero{min-height:220px;margin-bottom:18px;padding:30px;border-radius:8px;box-shadow:0 18px 48px #14201c29}.child-hero h2{font-size:clamp(42px,6vw,72px)}.preview-screen{background:linear-gradient(90deg,rgba(20,32,28,.035) 1px,transparent 1px),linear-gradient(180deg,rgba(20,32,28,.035) 1px,transparent 1px),var(--wash);background-size:48px 48px}.preview-lock{width:min(100% - 32px,1248px);margin:18px auto 0;background:#dff1ebf0}.preview-actions{position:sticky;bottom:0;width:100%;padding:14px clamp(16px,3vw,34px);background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}@media(min-width:980px){.adult-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-content:start;gap:0 18px}.adult-dashboard .summary-band,.adult-dashboard .child-switcher{grid-column:1 / -1}.adult-dashboard .selected-account-panel,.adult-dashboard .transactions-panel{grid-column:1}.adult-dashboard .settings-form,.adult-dashboard .family-setup-panel,.adult-dashboard .requests-panel{grid-column:2;border-left:1px solid var(--line)}.adult-dashboard .settings-form{grid-row:3 / span 2}.adult-dashboard .family-setup-panel{grid-row:5}.adult-dashboard .requests-panel{grid-row:6}.empty-family-dashboard .first-child-panel,.empty-family-dashboard .family-setup-panel{grid-row:2}.transaction-list{grid-template-columns:repeat(2,minmax(0,1fr))}.child-dashboard{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);align-content:start;gap:0 18px}.child-dashboard .child-hero,.child-dashboard>.account-grid,.child-dashboard .transactions-panel{grid-column:1}.child-dashboard .split-panels,.child-dashboard .payslips-panel{grid-column:2;border-left:1px solid var(--line)}.child-dashboard>.account-grid{padding:0;margin-bottom:18px}}@media(max-width:900px){.auth-screen{grid-template-columns:1fr;align-items:start;gap:28px;padding:calc(max(28px,env(safe-area-inset-top,0px)) + 12px) 18px calc(max(40px,env(safe-area-inset-bottom,0px)) + 8px)}.brand-block{max-width:720px}.auth-panel{max-width:560px}.website-snapshot{width:100%}}@media(max-width:680px){.shell,.preview-screen{background-size:36px 36px}.brand-block{grid-template-columns:1fr}.brand-block .logo-mark{width:58px;height:58px}.brand-block h1{font-size:clamp(36px,11vw,44px)}.brand-lead{font-size:17px}.website-snapshot{padding:12px}.snapshot-header{min-height:104px;padding:16px}.snapshot-header strong{font-size:34px}.snapshot-grid,.summary-band,.account-grid,.split-panels,.field-grid,.payslip-breakdown{grid-template-columns:1fr}.snapshot-row{grid-template-columns:auto minmax(0,1fr);padding:12px}.snapshot-row b{grid-column:2}.top-bar,.top-brand{align-items:flex-start}.top-brand p{max-width:180px}.top-bar .icon-button span{display:none}.dashboard,.preview-content{padding:18px 14px 34px}.child-hero{min-height:180px;padding:22px 18px}.split-panels .panel+.panel{border-left:1px solid var(--line);border-top:1px solid var(--line)}}.child-dashboard{display:block}.child-account-summary{display:grid;gap:18px;padding:20px;color:var(--paper);background:var(--charcoal);border:1px solid rgba(255,255,255,.08);border-radius:8px;box-shadow:0 18px 48px #14201c29}.child-summary-top{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px}.child-summary-top .member-avatar{background:#ffffff1f;border-color:#ffffff2e}.child-summary-top .eyebrow{color:var(--brass)}.child-summary-top h1{margin:0;overflow-wrap:anywhere;font-family:Iowan Old Style,New York,Georgia,serif;font-size:clamp(42px,8vw,76px);font-weight:600;line-height:.96;letter-spacing:0}.child-summary-top span{display:block;margin-top:7px;color:#ffffffb8;font-weight:800}.child-summary-meta span{color:#ffffffad;font-size:12px;font-weight:800}.child-summary-meta{display:flex;flex-wrap:wrap;gap:8px}.child-summary-meta span{min-height:32px;display:inline-flex;align-items:center;gap:7px;padding:0 10px;background:#ffffff14;border-radius:8px}.child-card-grid{display:grid;gap:18px;margin-top:18px}.child-account-overview-panel{margin-top:18px}.child-dashboard .account-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.child-account-summary .account-grid{gap:12px}.child-account-summary .account-tile{color:var(--ink);min-height:132px;border-color:#ffffff1f;box-shadow:0 12px 28px #0000001f}.child-account-summary .account-tile span,.child-account-summary .account-tile strong,.child-account-summary .account-tile svg{color:var(--ink)}.child-card-grid>.panel{min-width:0;height:100%}.child-card-grid>.statement-panel,.child-card-grid>.payslips-panel{grid-column:auto}.child-money-card{display:grid;gap:14px;align-content:start}.child-money-card .panel-heading{align-items:flex-start}.child-money-card h2{font-size:30px;line-height:1.05}.child-money-card label{display:grid;gap:8px}.child-money-card input{width:100%}.child-card-grid .statement-controls{grid-template-columns:1fr}.child-dashboard .transactions-panel,.child-dashboard .payslips-panel,.child-dashboard .statement-panel{border-left:1px solid var(--line)}@media(min-width:720px){.child-card-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start}}@media(min-width:980px){.child-card-grid{gap:14px;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch}.child-card-grid>.statement-panel,.child-card-grid>.payslips-panel{overflow:hidden}.child-card-grid>.statement-panel .panel-heading,.child-card-grid>.payslips-panel .panel-heading{margin-bottom:4px}.child-card-grid>.statement-panel .panel-heading h2,.child-card-grid>.payslips-panel .panel-heading h2{font-size:24px}.child-card-grid>.statement-panel .statement-controls,.child-card-grid>.payslips-panel .payslip-download-card{gap:8px}.child-card-grid>.payslips-panel .payslip-summary{padding:10px}.child-card-grid>.payslips-panel .payslip-summary strong{font-size:22px}.child-card-grid>.payslips-panel .payslip-breakdown{display:none}}@media(max-width:720px){.child-account-summary{padding:18px}.child-summary-top{grid-template-columns:1fr}.child-summary-top h1{font-size:46px}.child-dashboard .account-grid{grid-template-columns:1fr}.child-money-card h2{font-size:27px}}
