:root{color:#162029;background:#f4f7f8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{min-height:42px;border:1px solid #0f766e;border-radius:6px;padding:0 16px;color:#fff;background:#0f766e;cursor:pointer}button:disabled{cursor:wait;opacity:.58}.secondary-button{border-color:#bdcbd1;color:#24323c;background:#fff}.text-button{min-height:32px;border:0;padding:0 4px;color:#8a2d20;background:transparent}.danger-button{border-color:#a53a2c;color:#fff;background:#a53a2c}input,select{width:100%;min-height:42px;border:1px solid #bdcbd1;border-radius:6px;padding:0 11px;color:#162029;background:#fff}input:focus,select:focus,button:focus-visible{outline:3px solid rgba(15,118,110,.2);outline-offset:1px}.password-input{position:relative}.password-input input{padding-right:44px}.password-input button{position:absolute;top:1px;right:1px;width:40px;min-height:40px;border:0;padding:0;color:#45606d;background:transparent}.password-input button:hover{color:#0f766e}.app-shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:24px 0 56px}.topbar,.family-strip,.balance-band,.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar{min-height:68px;border-bottom:1px solid #d7e1e5;padding-bottom:18px}.top-actions{display:flex;align-items:center;gap:8px}.top-actions select{width:190px}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:1.8rem;letter-spacing:0}h2{margin-bottom:12px;font-size:1.15rem;letter-spacing:0}.eyebrow{margin-bottom:4px;color:#60727d;font-size:.78rem;font-weight:750;text-transform:uppercase}.panel,.activity-card{border:1px solid #d2dde2;border-radius:8px;background:#fff}.login-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;width:min(900px,100%);margin:48px auto 0}.login-panel{display:grid;gap:14px;align-content:start;padding:22px}.login-fields{display:grid;gap:14px}label{display:grid;min-width:0;gap:6px;color:#374955;font-size:.88rem;font-weight:650}.onboarding-band,.form-band{margin-top:22px;border-top:1px solid #d7e1e5;border-bottom:1px solid #d7e1e5;padding:22px 0}.onboarding-form,.inline-form{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,1fr) minmax(200px,1fr) auto;gap:14px;align-items:end}.family-onboarding-form{grid-template-columns:minmax(220px,.8fr) minmax(180px,.8fr) minmax(200px,.9fr) minmax(280px,1.4fr) auto}.starter-activities{display:grid;gap:8px;min-width:0;margin:0;border:1px solid #d2dde2;border-radius:8px;padding:12px;background:#fff}.starter-activities legend{padding:0 4px;color:#374955;font-size:.88rem;font-weight:750}.activity-option{display:grid;grid-template-columns:18px minmax(0,1fr);gap:9px;align-items:start;color:#2f424d;font-weight:500}.activity-option input{width:18px;min-height:18px;margin-top:2px}.activity-option span{display:grid;gap:2px}.activity-option small{color:#61737d;font-size:.78rem}.onboarding-locked{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(280px,1.2fr);gap:24px;align-items:center}.onboarding-locked h2,.onboarding-locked p{margin-bottom:0}.inline-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto}.family-strip{min-height:48px;border-bottom:1px solid #d7e1e5;color:#526570}.family-strip p{display:inline;margin-right:8px}.balance-band{margin-top:22px;padding:18px 0;border-top:1px solid #d7e1e5;border-bottom:1px solid #d7e1e5}.balance-band h2{margin:0}.balance-band strong{color:#0f766e;font-size:2rem}.balance-band strong.negative,.debit{color:#b33a2b}.message{margin:16px 0 0;border-radius:6px;padding:11px 13px}.error-message{color:#7c2d22;background:#ffede9}.neutral-message{color:#395564;background:#eaf3f5}.access-code{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) max-content;align-items:center;gap:14px;margin-top:16px;color:#32505e}.access-value{display:grid;gap:4px}.access-value strong{font-size:1.2rem;letter-spacing:0;overflow-wrap:anywhere}.access-code small{grid-column:1 / -1}@media(max-width:640px){.access-code{grid-template-columns:1fr 1fr}.access-code>button{grid-column:1 / -1}}.activity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:18px}.activity-card{display:grid;min-height:315px;gap:11px;align-content:start;padding:16px}.activity-card>button{align-self:end;margin-top:auto}.activity-heading{min-height:48px}.activity-heading h2{margin-bottom:3px}.activity-heading span{color:#71818a;font-size:.78rem;text-transform:capitalize}.fixed-value{margin:8px 0;color:#0f766e;font-size:1.4rem;font-weight:750}.two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}details{color:#61737d;font-size:.85rem}details input{margin-top:8px}.settings-section,.history-section,.family-management{margin-top:26px;border-top:1px solid #d7e1e5;padding-top:20px}.loading-inline{color:#61737d}.invitation-onboarding{grid-template-columns:minmax(260px,1fr) minmax(190px,.7fr) auto auto}.invitation-onboarding span,.invitation-expiry span{color:#61737d;font-size:.86rem}.invitation-expiry{display:grid;gap:5px}.invite-form{display:grid;grid-template-columns:minmax(240px,420px) max-content;gap:10px;align-items:end;margin-top:16px}.invitation-link{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:10px;align-items:end;margin-top:14px;border-top:1px solid #dfe7ea;border-bottom:1px solid #dfe7ea;padding:14px 0}.invitation-link small{grid-column:1 / -1;color:#61737d}.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;margin-top:20px}.management-list h3{margin:0;font-size:.95rem}.management-row{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;gap:10px;align-items:center;min-height:58px;border-bottom:1px solid #dfe7ea;padding:8px 0}.management-row>div{display:grid;min-width:0;gap:3px}.management-row span,.empty-message{color:#61737d;font-size:.82rem;overflow-wrap:anywhere}.status-label{text-transform:capitalize}.empty-message{margin:14px 0 0}.data-controls,.delete-family-form{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:end;margin-top:24px;border-top:1px solid #dfe7ea;padding-top:18px}.data-controls h3{margin:0;font-size:.95rem}.delete-family-form{grid-template-columns:minmax(240px,420px) max-content;margin-top:0;border-top:0;padding-top:14px}.settings-list{display:grid;gap:8px}.create-activity-form{display:grid;grid-template-columns:minmax(180px,1.4fr) minmax(150px,1fr) repeat(4,minmax(110px,.8fr)) auto;gap:10px;align-items:end;margin:16px 0 10px;border-top:1px solid #dfe7ea;border-bottom:1px solid #dfe7ea;padding:14px 0}.settings-row{display:grid;grid-template-columns:minmax(180px,2fr) 90px repeat(3,minmax(110px,1fr)) 90px auto;gap:10px;align-items:end;border-bottom:1px solid #e1e8eb;padding:12px 0}.toggle-label{display:flex;min-height:42px;align-items:center;gap:8px}.toggle-label input{width:18px;min-height:18px}.history-filter{width:min(320px,100%)}.transactions{display:grid;gap:6px;margin:14px 0 0;padding:0;list-style:none}.transactions li{display:grid;grid-template-columns:84px 170px 88px 90px minmax(130px,.8fr) minmax(220px,1.6fr) 76px;gap:10px;align-items:center;min-height:48px;border-bottom:1px solid #dfe7ea;padding:8px 4px}.transactions li.reversed{opacity:.58}.transactions li.reversal{background:#f8fbfc}.transactions time,.transactions span,.transactions small{color:#5f717b}.transactions .activity-id{color:#31444e;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.82rem;font-weight:700}.transactions .activity-label{color:#22343d;font-weight:700;overflow-wrap:anywhere}.transactions strong,.transactions b{font-size:.93rem}.transactions small{overflow-wrap:anywhere}.transactions button:disabled{cursor:not-allowed;opacity:.45}.empty-row{display:block!important;color:#6b7d86}.loading-state{padding:64px 0;color:#61737d;text-align:center}@media(max-width:1000px){.topbar,.section-heading{align-items:stretch;flex-direction:column}.top-actions{flex-wrap:wrap}.settings-row{grid-template-columns:repeat(2,minmax(0,1fr))}.create-activity-form{grid-template-columns:repeat(3,minmax(0,1fr))}.family-onboarding-form{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-activities{grid-column:1 / -1}.management-grid{grid-template-columns:1fr}.transactions li{grid-template-columns:78px 150px 80px 80px 1fr auto}.transactions small{grid-column:1 / -1}}.consent-band p{max-width:75ch}.consent-band form{display:grid;gap:16px;justify-items:start}.consent-check{display:flex;align-items:flex-start;gap:10px;max-width:75ch}.consent-check input{width:18px;height:18px;flex:0 0 18px;margin-top:3px}@media(max-width:700px){.app-shell{width:calc(100vw - 22px);padding-top:14px}.login-layout,.onboarding-form,.family-onboarding-form,.onboarding-locked,.inline-form,.two-column,.create-activity-form,.settings-row,.invitation-onboarding,.invite-form,.invitation-link,.data-controls,.delete-family-form{grid-template-columns:1fr}.top-actions,.balance-band,.family-strip{align-items:stretch;flex-direction:column}.top-actions select{width:100%}.activity-card{min-height:0}.transactions li{grid-template-columns:1fr auto}.transactions b,.transactions .text-button{text-align:right}.transactions time,.transactions .activity-label{grid-column:1 / -1}.transactions span,.transactions small{grid-column:1 / -1}}
