/* HCYP Raiders: responsive, dependency-free UI, designed for volunteer admins and parents. */
:root{--navy:#060b14;--navy2:#111f34;--red:#093087;--red-dark:#071f61;--paper:#f7f8fb;--white:#fff;--ink:#192232;--muted:#647483;--line:#e4e9eb;--green:#21785f;--green-bg:#e9f4ee;--amber:#a1661c;--amber-bg:#fff5e2;--soft:#eef2f3;--radius:16px;--shadow:0 5px 25px rgba(20,38,58,.035)}
*{box-sizing:border-box}html{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}body{margin:0;background:var(--paper);color:var(--ink);line-height:1.48}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:default}input,select,textarea{max-width:100%;border:1px solid #d5dfe2;background:#fff;color:var(--ink);border-radius:10px;padding:12px 13px;outline:none;transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{border-color:#7d9ba8;box-shadow:0 0 0 3px rgba(43,102,123,.1)}input[type=file]{padding:10px;width:100%}textarea{resize:vertical;min-height:75px}input[type=radio]{width:auto}.app-shell{display:flex;min-height:100vh}.sidebar{width:254px;flex:0 0 254px;min-height:100vh;background:var(--navy);color:#e8eef2;display:flex;flex-direction:column;padding:26px 16px 18px;position:sticky;top:0;height:100vh}.brand{display:flex;align-items:center;gap:10px;padding:4px 10px 22px}.crest{background:linear-gradient(150deg,#093087,#061c55);color:#fff;box-shadow:0 4px 12px #0002;border:2px solid #ffffff44;width:40px;height:43px;display:inline-grid;place-items:center;font-size:28px;font-weight:1000;border-radius:9px 9px 15px 15px;transform:skewY(-2deg);font-style:italic;letter-spacing:-2px;position:relative;flex-shrink:0}.crest-stripe{position:absolute;height:3px;width:25px;background:#fff;bottom:7px;border-radius:10px;opacity:.8}.brand-name{font-size:19px;font-weight:900;letter-spacing:1px;line-height:1.05}.brand-name small{display:block;font-weight:600;font-size:9px;letter-spacing:2.6px;color:#a9bccb;margin-top:5px}.side-season{font-size:10px;font-weight:800;letter-spacing:1.3px;color:#bdd0dc;border:1px solid #3b5061;background:#122044;padding:9px 12px;border-radius:9px;display:flex;align-items:center;gap:8px;margin:0 8px 29px}.live-dot{background:#5ec3a0;width:7px;height:7px;border-radius:50%}.side-year{margin-left:auto;color:#8da3b4;font-weight:600}.side-nav{display:flex;flex-direction:column;gap:5px}.nav-link{padding:12px 12px;border-radius:10px;display:flex;align-items:center;gap:12px;color:#afc0ce;font-weight:580;font-size:13px;transition:background .15s,color .15s}.nav-link:hover{background:#142e5d;color:#fff}.nav-link.current{background:#e8eeed;color:#162b3b;font-weight:750}.nav-glyph{font-size:19px;line-height:1;width:22px;text-align:center;display:inline-block}.sidebar-bottom{margin-top:auto;display:flex;flex-direction:column;gap:17px}.privacy-note{background:#17213d;padding:14px 11px;border-radius:11px;display:flex;align-items:start;gap:10px}.privacy-note b,.profile-tile b{display:block;font-size:12px;color:#fff}.privacy-note small,.profile-tile small{color:#9cb0bf;display:block;font-size:10px;margin-top:3px}.shield{color:#8cbeaf;font-size:22px}.profile-tile{display:flex;align-items:center;padding:7px;gap:10px;border-top:1px solid #3a5060}.avatar{width:37px;height:37px;display:grid;place-items:center;flex-shrink:0;background:#233b76;color:#f1f4f6;border-radius:50%;font-weight:800;font-size:14px}.right-arrow{margin-left:auto;font-size:25px;color:#7f9aab}.mobile-top,.mobile-tabs{display:none}.content{flex:1;min-width:0;max-width:1510px;padding:36px clamp(24px,3.6vw,64px) 32px;margin:0 auto}.footer{border-top:1px solid var(--line);color:#8d9aa4;display:flex;justify-content:space-between;gap:14px;margin-top:55px;padding-top:20px;font-size:11px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:26px}.page-heading h1{font-size:clamp(27px,2.65vw,36px);letter-spacing:-1.2px;line-height:1.16;font-weight:850;margin:7px 0 8px}.page-heading p{color:var(--muted);margin:0;font-size:13px;max-width:650px}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.7px;color:var(--red);font-weight:850;text-transform:uppercase}.separator{color:#a8b7d2;padding:0 8px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:none;border-radius:10px;font-size:12.5px;font-weight:800;padding:12px 17px;text-align:center;white-space:normal;transition:transform .15s,background .15s}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--red);color:#fff;box-shadow:0 4px 12px #09308726}.button.primary:hover{background:var(--red-dark)}.button.outline{border:1px solid #ccdadb;background:#fff;color:var(--navy)}.button.ghost{color:var(--muted);background:#eff2f3}.button.full{width:100%}.plus{font-size:20px;font-weight:400;line-height:0}.metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px}.metric{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px 20px 18px;min-height:142px;box-shadow:var(--shadow)}.metric.featured{background:linear-gradient(136deg,#12254e,#060b14);border-color:transparent;color:#fff;box-shadow:0 8px 25px #09308717}.metric-label{font-size:11.5px;color:var(--muted);font-weight:650;display:flex;justify-content:space-between;align-items:center;gap:6px}.featured .metric-label,.featured .metric-caption{color:#bfd1da}.metric-icon{font-size:17px;color:#6486a1}.metric-icon.in{color:var(--green)}.metric-icon.out,.metric-icon.warn{color:var(--red)}.metric-value{font-weight:870;font-size:clamp(22px,2.0vw,30px);letter-spacing:-1px;margin-top:10px;white-space:nowrap}.metric-caption{font-size:10.5px;color:#90a0ab;margin-top:7px}.dashboard-grid{display:grid;grid-template-columns:1.23fr 1fr;gap:18px;margin-bottom:18px}.dashboard-grid.lower{grid-template-columns:1fr 1fr}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:23px 25px;box-shadow:var(--shadow);min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:21px}.panel-heading h2,.quick-panel h2{font-size:18px;letter-spacing:-.42px;margin:5px 0 0;line-height:1.2}.quiet-link{color:var(--red);font-size:11px;font-weight:800;white-space:nowrap}.quiet-link:hover{text-decoration:underline}.outlook-math{background:#f6f8f7;border:1px solid #ecf0f0;border-radius:12px;padding:10px 16px}.outlook-math>div{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 0;font-size:12px;color:#647581}.outlook-math>div+div{border-top:1px solid #e3e9e9}.outlook-math strong{font-size:15px;font-weight:850;color:#223647}.outlook-math strong.minus{color:var(--red)}.outlook-math .forecast-result span{font-size:12.5px;font-weight:800;color:#213544}.outlook-math .forecast-result strong{font-size:23px;color:#093087}.fineprint{font-size:11px;line-height:1.6;color:#84919b;margin-top:14px}.progress-wrap{margin-top:26px}.progress-head{display:flex;justify-content:space-between;gap:8px;color:#7a8893;font-size:10px}.progress-head b{color:#283e4e}.progress-track,.mini-track{height:8px;border-radius:99px;overflow:hidden;background:#edf0f1;margin-top:9px}.progress-fill{display:block;height:100%;background:linear-gradient(90deg,#5b87ce,#093087);border-radius:99px}.fact-row{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:13px 0;border-bottom:1px solid #edf1f1;font-size:12px;color:#687a87}.fact-row b{font-size:13px;color:#203648;white-space:nowrap}.estimate-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border-radius:10px;background:#f2f6f6;color:#667884;font-size:11px;line-height:1.65;margin:19px 0}.dot-info,.info-emblem{flex:0 0 20px;height:20px;width:20px;background:#d9e6e7;color:#4e7580;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:12px}.category-line{margin:14px 0 18px}.category-title{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:#607381}.category-title strong{color:#253b4b;font-size:12px}.mini-track{height:6px;margin-top:8px}.mini-track>span{height:100%;background:#627e90;display:block;border-radius:99px}.category-line:nth-of-type(3n+2) .mini-track>span{background:#1c52b6}.category-line:nth-of-type(3n+3) .mini-track>span{background:#76a29a}.upcoming-row{display:flex;align-items:center;gap:11px;border-bottom:1px solid #f0f2f2;padding:13px 0}.timeline-dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:#91aaa7}.upcoming-row:nth-child(odd) .timeline-dot{background:#4477c0}.upcoming-main{flex:1;min-width:0}.upcoming-main b{display:block;font-size:11.5px;line-height:1.4}.upcoming-main small{display:block;color:#90a1ab;font-size:10px;margin-top:4px}.upcoming-row>strong{font-size:12px;white-space:nowrap}.notice{border-radius:11px;padding:12px 14px;font-size:12px;line-height:1.55;margin:0 0 18px}.notice.success{background:var(--green-bg);color:var(--green);border:1px solid #cce9da}.notice.warning{background:var(--amber-bg);color:#8e5914;border:1px solid #f3dfaf}.notice.subtle{background:#f3f6f7;color:#617987;border:1px solid #e6edee;margin:16px 0 0;font-size:10.5px}.notice a{color:inherit;text-decoration:underline;font-weight:800}.quick-panel{display:flex;align-items:center;justify-content:space-between;gap:25px;background:#e9eeee;border:1px solid #dae4e5;border-radius:var(--radius);padding:22px 26px}.quick-panel p{font-size:11px;color:#7d8f9a;margin:8px 0 0}.quick-actions{display:flex;gap:8px;flex-wrap:wrap}.quick-actions a{display:flex;align-items:center;gap:7px;border-radius:9px;background:#fff;padding:11px 13px;font-size:11px;font-weight:750;color:#2b4553;box-shadow:0 3px 15px #132a3609}.quick-actions a:hover{background:#f8fbfb}.quick-actions a::first-letter{color:var(--red)}.back-link{display:inline-block;color:#093087;font-size:11px;font-weight:750;margin-bottom:14px}.summary-ribbon{display:flex;gap:35px;background:#eaf0f0;border-radius:12px;padding:17px 24px;margin-bottom:18px}.summary-ribbon>div{display:flex;flex-direction:column;gap:3px}.summary-ribbon span{color:#68808a;font-size:11px}.summary-ribbon b{color:#1a3847;font-size:20px}.filters{display:grid;grid-template-columns:minmax(180px,2fr) minmax(130px,1fr) minmax(110px,.8fr) auto;gap:11px;align-items:end;margin-bottom:17px}.filters label>span{font-size:10.5px;font-weight:700;color:#677987;display:block;margin-bottom:7px}.filters input,.filters select{width:100%;font-size:12px;padding:10px 12px}.transaction-item{display:flex;align-items:flex-start;gap:13px;padding:16px 1px;border-top:1px solid #edf1f2}.transaction-item.muted{opacity:.6}.transaction-symbol{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:#f8eee9;color:var(--red);font-size:21px;font-weight:700;flex-shrink:0}.transaction-symbol.income{background:#e9f5ef;color:#288267}.transaction-details{flex:1;min-width:0}.transaction-details strong{font-size:12.5px;display:block}.transaction-details>span{display:block;color:#8a98a1;font-size:10.5px;margin-top:4px}.row-chips{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-top:8px}.chip{background:#edf2f3;border-radius:99px;font-size:9px;color:#5e7888;font-weight:750;padding:4px 7px;display:inline-block;letter-spacing:.1px}.chip.ok{background:#e9f5ee;color:#277c61}.chip.waiting{background:#fff2dc;color:#a16b25}.chip.muted{background:#eee;color:#888}.tiny-link{font-size:10.5px;font-weight:750;color:var(--red);text-decoration:underline}.transaction-right{display:flex;align-items:flex-end;flex-direction:column;gap:8px;min-width:112px}.transaction-right>strong{font-size:13px}.positive,.settled{color:var(--green)!important}.due{color:var(--red)!important}.mini-button{border:1px solid #d8e0e1;background:#fff;border-radius:7px;color:#456272;padding:6px 8px;font-size:10px;font-weight:750}.mini-button.danger{color:#c34940;border-color:#edd4d3}.small-details{font-size:10px;color:#647b87}.small-details summary{cursor:pointer}.small-details form{display:flex;gap:5px;margin-top:6px;flex-direction:column;max-width:180px}.small-details input{font-size:10px;padding:8px}.help-line{color:#85939c;font-size:11px;line-height:1.6;margin:17px 6px}.help-line a{color:var(--red);text-decoration:underline}.empty{padding:25px;color:#899aa2;text-align:center;font-size:12px}.empty.friendly strong{color:var(--green);font-size:14px}.empty.friendly p{margin:8px 0 0}.spaced-top{margin-top:18px}.two-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.three-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.cost-item{border-top:1px solid #edf1f2;display:grid;grid-template-columns:120px minmax(0,1fr) 155px;align-items:center;gap:22px;padding:18px 1px}.cost-date{background:#edf1f3;border-radius:8px;padding:9px 11px;color:#587481;font-size:10px;font-weight:750}.cost-desc strong{display:block;font-size:12.5px;margin-bottom:7px}.cost-desc>div{display:flex;gap:6px;margin-bottom:7px;flex-wrap:wrap}.cost-desc small{font-size:10px;color:#84949e}.cost-money{text-align:right}.cost-money b{font-size:13px;display:block}.cost-money small{color:#9dabb3;display:block;font-size:10px}.cost-money a{display:inline-block;margin-top:5px}.note-panel{display:flex;align-items:flex-start;gap:11px;background:#edf2f2;padding:18px;border-radius:13px;margin-top:20px;color:#4b6674}.note-panel strong{font-size:12px}.note-panel p{font-size:11px;line-height:1.6;margin:5px 0}.family-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:20px}.family-card{display:flex;gap:12px;align-items:center;border:1px solid var(--line);background:#fff;border-radius:13px;padding:15px 14px;min-width:0;transition:transform .15s,border-color .15s}.family-card:hover{transform:translateY(-1px);border-color:#a9c3c8}.avatar.warm{background:#ede2dc;color:#9e5345}.family-card-name{flex:1;min-width:0}.family-card-name b{display:block;font-size:12px}.family-card-name small{color:#8999a2;font-size:10px;display:block;margin-top:3px}.family-card-amount{text-align:right}.family-card-amount strong{display:block;font-size:13px}.family-card-amount small{display:block;font-size:9px;color:#91a1aa}.family-chevron{color:#c8d0d3;font-size:21px}.assessment-row,.account-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-top:1px solid #edf1f2;padding:16px 0}.assessment-row>div:first-child,.account-row>div:first-of-type{flex:1;min-width:0}.assessment-row b,.account-row b{font-size:12px;display:block}.assessment-row small,.account-row small{display:block;color:#8c9da6;font-size:10px;margin-top:3px}.assessment-actions{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.fee-block{padding:15px 0;border-top:1px solid #edf1f2}.fee-block-title{display:flex;gap:10px;justify-content:space-between}.fee-figures{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:12px 0}.fee-figures>div{background:#f4f6f7;padding:10px;border-radius:8px}.fee-figures span{display:block;color:#91a0aa;font-size:10px}.fee-figures b{display:block;font-size:13px;margin-top:4px}.fee-block>small{font-size:10px;color:#92a2aa}.export-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.export-card{border:1px solid var(--line);border-radius:13px;background:#fff;padding:18px;display:flex;flex-direction:column;gap:6px}.export-card>span{color:var(--red);font-size:22px}.export-card b{font-size:13px}.export-card small{font-size:10px;color:#92a2a9}.statement-card{border-top:1px solid #edf1f2;padding-top:17px;margin-top:16px}.statement-header{display:flex;justify-content:space-between;gap:10px;align-items:center}.statement-header strong{font-size:13px}.statement-header small{display:block;font-size:10px;color:#98a4ab;margin-top:4px}.statement-grid{background:#f6f8f7;border-radius:10px;padding:12px 16px;display:grid;grid-template-columns:repeat(3,1fr);gap:16px 22px;margin-top:13px}.statement-grid span{font-size:10px;color:#96a4ad;display:block}.statement-grid b{font-size:13px}.audit-list{max-height:340px;overflow-y:auto}.audit-row{border-top:1px solid #edf1f2;display:flex;align-items:center;gap:12px;padding:12px 0}.audit-row b{display:block;font-size:11px}.audit-row small{font-size:10px;color:#9cabb3}.form-layout{display:grid;grid-template-columns:minmax(0,650px) 245px;gap:18px;align-items:start}.form-page{max-width:760px}.form-page.centered{max-width:920px;margin:55px auto}.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.form-card h2,.form-card h1{margin:0 0 12px;letter-spacing:-.5px}.form-card h2{font-size:18px}.form-card h1{font-size:28px}.form-intro{font-size:11.5px;color:#8496a0;line-height:1.7;margin-top:0;margin-bottom:22px}.form-intro a{color:var(--red);text-decoration:underline}.form-card label,.form-stack label,.inline-form label{display:flex;flex-direction:column;gap:7px;font-size:11.5px;font-weight:720;color:#4f6371}.form-card label small,.inline-form label small{font-size:10px;color:#97a4ac;font-weight:450;line-height:1.5}.form-card label+label,.form-card label+.form-grid,.form-grid+label,.form-grid+.form-grid{margin-top:17px}.form-card label input,.form-card label select,.form-card label textarea{width:100%;margin-top:1px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.form-actions{margin-top:27px;display:flex;justify-content:flex-end;gap:8px}.form-sidebar{display:flex;flex-direction:column;gap:13px}.form-tip{padding:20px;background:#21394c;color:#e9f1f4;border-radius:13px}.form-tip>span{display:block;color:#8bcbb5;font-size:22px;margin-bottom:12px}.form-tip b{font-size:12px}.form-tip p{font-size:11px;line-height:1.7;color:#a3bdc9}.form-tip.pale{background:#edf3f3;color:#345264}.form-tip.pale p{color:#6e8591}.segmented{display:flex;gap:8px;margin-bottom:18px}.segmented label{flex:1}.segmented input{position:absolute;opacity:0;pointer-events:none}.segmented label>span{display:block;padding:13px;text-align:center;border:1px solid #dbe4e6;border-radius:10px;color:#708491;background:#f5f8f8;font-size:12px;cursor:pointer}.segmented input:checked+span{border-color:#bb5351;color:#ad3e38;background:#fff0ef;box-shadow:0 0 0 1px #09308722}.form-stack{display:flex;flex-direction:column;gap:19px}.form-stack label+label{margin-top:0}.inline-form{display:flex;align-items:flex-end;gap:11px;flex-wrap:wrap}.inline-form label{flex:1 1 160px}.inline-form input,.inline-form select{width:100%}.inline-form button{min-height:43px}.conditional-field{display:none}.auth-wrapper{display:grid;grid-template-columns:1fr 1fr;min-height:500px;max-width:950px;margin:65px auto 90px;border:1px solid #dfe5e6;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 15px 60px #172f3b0d}.auth-banner{background:linear-gradient(150deg,#132b3d,#294e60);padding:52px 45px;color:#fff;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.auth-banner .section-kicker{color:#e49a82}.auth-banner h1{font-size:39px;letter-spacing:-2px;line-height:1.16;margin:18px 0}.auth-banner h1 em{color:#f0b1a1;font-style:normal}.auth-banner p{color:#b5cbd6;font-size:12px;max-width:285px}.auth-badge{border:1px solid #526b7d;border-radius:20px;font-size:10px;padding:8px 14px;margin-top:35px;color:#bad0d8}.auth-card{padding:46px 43px;display:flex;flex-direction:column;justify-content:center}.auth-card h2{font-size:26px;letter-spacing:-.7px;margin:11px 0 3px}.auth-card>p{color:#8496a1;font-size:12px;margin:5px 0 25px}.auth-card .form-stack{gap:20px}.auth-card label{display:flex;flex-direction:column;gap:8px;font-size:11.5px;font-weight:750}.auth-card .hint{font-size:10.5px;color:#90a0a9;line-height:1.65;margin-top:27px}.hint{font-size:11px;color:#90a0a9}.secret-code{word-break:break-all;font-family:ui-monospace,monospace;letter-spacing:2px;font-size:15px;background:#f2f4f4;border:1px dashed #a3b4bd;padding:15px;border-radius:9px;margin:15px 0}.account-row .avatar{background:#e2eced;color:#31505d}.account-row form{margin:0}
@media(max-width:1280px){.sidebar{width:224px;flex-basis:224px}.metrics{gap:10px}.metric{padding:17px}.metric-value{font-size:24px}.dashboard-grid{grid-template-columns:1.2fr 1fr}.quick-panel{display:block}.quick-actions{margin-top:18px}}
@media(max-width:1050px){.content{padding:30px 23px}.sidebar{width:200px;flex-basis:200px;padding:23px 10px}.brand{padding-left:7px}.brand-name{font-size:15px}.side-season{font-size:9px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:minmax(0,1fr)}.form-sidebar{flex-direction:row}.form-sidebar>*{flex:1}.filters{grid-template-columns:1fr 1fr}.cost-item{grid-template-columns:95px minmax(0,1fr) 110px;gap:12px}}
@media(max-width:780px){.app-shell{display:block}.sidebar{display:none}.mobile-top{display:flex;height:62px;background:var(--navy);padding:9px 18px;align-items:center;justify-content:space-between;color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 3px 8px #0001}.mobile-brand{display:flex;align-items:center;gap:9px;font-size:14px;letter-spacing:1.5px;font-weight:900}.mobile-brand small{font-size:8px;color:#9db4c2;display:block;letter-spacing:1.8px}.crest.mini{height:33px;width:33px;font-size:22px;border-radius:7px 7px 12px 12px}.avatar.tiny{height:30px;width:30px;font-size:12px}.mobile-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:20;height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#fff;box-shadow:0 -3px 20px #152c3e17;border-top:1px solid var(--line);align-items:stretch;justify-content:space-around}.mobile-tabs a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;font-weight:700;color:#92a3aa}.mobile-tabs span{font-size:21px;font-weight:500;line-height:1}.mobile-tabs a.current{color:var(--red)}.content{padding:26px 16px calc(100px + env(safe-area-inset-bottom))}.page-heading{margin-bottom:21px;align-items:flex-start}.page-heading h1{font-size:27px}.page-heading p{font-size:11.5px}.heading-action{margin-top:19px;font-size:11px}.footer{display:block;text-align:center;font-size:10px;line-height:2}.footer span{display:block}.metrics{gap:10px}.metric{min-height:125px;padding:15px}.metric-value{font-size:clamp(20px,4.8vw,27px)}.metric-caption{font-size:9.5px}.dashboard-grid,.dashboard-grid.lower{grid-template-columns:1fr}.panel{padding:20px 18px}.family-grid{grid-template-columns:1fr 1fr}.form-layout{grid-template-columns:1fr}.form-sidebar{display:none}.auth-wrapper{margin:15px auto;grid-template-columns:1fr;max-width:480px}.auth-banner{display:none}.auth-card{padding:37px 28px;min-height:390px}.export-grid{gap:8px}.export-card{padding:13px}.summary-ribbon{gap:20px}}
@media(max-width:540px){.page-heading{display:block}.page-heading h1{font-size:26px}.heading-action{margin-top:15px}.section-kicker{font-size:9px}.metric-label{font-size:10px}.metric-value{font-size:21px}.metric{min-height:112px}.panel-heading h2,.quick-panel h2{font-size:16px}.quick-panel{padding:18px}.quick-actions{display:grid;grid-template-columns:1fr 1fr}.quick-actions a{font-size:10px}.family-grid{grid-template-columns:1fr;gap:8px}.family-card{padding:12px}.family-card-name b{font-size:12px}.filters{grid-template-columns:1fr 1fr}.filters .search-field{grid-column:span 2}.filters button{grid-column:span 2}.transaction-details strong{font-size:11px}.transaction-right{min-width:87px}.transaction-right strong{font-size:11px}.transaction-symbol{height:31px;width:31px;font-size:18px}.summary-ribbon{padding:12px;gap:8px;justify-content:space-between}.summary-ribbon b{font-size:16px}.summary-ribbon span{font-size:9px}.cost-item{grid-template-columns:1fr auto;gap:8px}.cost-date{grid-column:span 2;max-width:max-content;padding:5px 8px}.cost-money{grid-column:2;grid-row:2}.cost-desc{grid-column:1;grid-row:2}.form-card{padding:19px}.form-grid{grid-template-columns:1fr}.form-actions{justify-content:stretch}.form-actions>*{flex:1}.form-page.centered{margin:20px 0}.statement-grid{grid-template-columns:repeat(2,1fr)}.export-grid{grid-template-columns:1fr}.export-card{display:grid;grid-template-columns:30px 1fr;column-gap:9px}.export-card small{grid-column:2}.fee-figures{grid-template-columns:1fr 1fr}.account-row{flex-wrap:wrap}.account-row .chip{margin-left:auto}.inline-form{display:flex;flex-direction:column;align-items:stretch}.inline-form>*{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;scroll-behavior:auto!important}}

/* Official HCYP Raiders identity. Artwork provided by the team; no third-party graphics. */
.sidebar{background:linear-gradient(160deg,#05070c 0%,#071538 100%)}
.brand-official{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;margin:0 4px 18px;padding:14px 10px 11px;background:#fff;border:1px solid rgba(255,255,255,.28);border-radius:17px;box-shadow:0 9px 26px rgba(0,0,0,.13)}
.brand-full-logo{width:min(155px,100%);height:auto;display:block;object-fit:contain}
.brand-caption{font-size:9px;letter-spacing:2.1px;font-weight:900;color:#093087;text-align:center}
.mobile-logo-plate{height:40px;width:43px;display:inline-flex;justify-content:center;align-items:center;background:#fff;border-radius:7px;padding:2px;box-shadow:0 2px 7px rgba(0,0,0,.15)}
.mobile-logo{display:block;width:100%;height:100%;object-fit:contain}
.mobile-top{background:#06132f}
.mobile-brand{letter-spacing:1.15px}
.login-logo-panel{background:#fff;border-radius:22px;padding:18px;max-width:245px;margin:0 auto 24px;box-shadow:0 12px 40px rgba(0,0,0,.1)}
.login-logo-panel img{width:100%;height:auto;max-height:205px;object-fit:contain;display:block}
.login-mobile-brand{display:none}
.login-mobile-brand img{max-height:138px;width:auto;max-width:100%;object-fit:contain;display:block;margin:0 auto}
.metric.featured{background:linear-gradient(140deg,#09266c 0%,#06132f 100%)}
.button.primary{background:#093087;box-shadow:0 4px 15px rgba(9,48,135,.18)}
.button.primary:hover{background:#071f61}
.nav-link.current{background:#eaf0ff;color:#09235c}
.progress-fill{background:linear-gradient(90deg,#4477c0,#093087)}
@media(max-width:1050px){.brand-official{padding:10px 8px}.brand-full-logo{max-width:125px}.brand-caption{font-size:8px;letter-spacing:1.2px}}
@media(max-width:780px){.login-mobile-brand{display:block;margin-bottom:14px}.auth-card{padding-top:20px}}
/* Final brand color sweep: no legacy coral or red login artwork. */
.auth-banner{background:linear-gradient(150deg,#06132f 0%,#0b327f 100%)}
.auth-banner .section-kicker{color:#c7d9ff}
.auth-banner h1 em{color:#b9d0ff}
.auth-banner p{color:#d7e1f8}
.auth-badge{border-color:#6684bf;color:#d2deff}

/* Shared-password access: parent / treasurer choice */
.access-choices { display:grid; grid-template-columns: 1fr 1fr; gap:10px; }
.access-choice { position:relative; display:block; cursor:pointer; }
.access-choice input { position:absolute; opacity:0; width:1px; height:1px; }
.access-choice span { display:flex; flex-direction:column; gap:4px; border:2px solid #d9e1ee; border-radius:12px; background:#f7f9fd; padding:12px 10px; min-height:86px; }
.access-choice b { color:#09245b; font-size:14px; }
.access-choice small { color:#576778; font-size:12px; line-height:1.35; }
.access-choice input:checked + span { border-color:#093087; background:#edf3ff; box-shadow:0 0 0 1px #093087; }
.access-choice input:focus-visible + span { outline:3px solid #6da8ff; outline-offset:2px; }
@media (max-width:420px) { .access-choices { grid-template-columns:1fr; } .access-choice span { min-height:62px; } }

/* A single spending panel fills the width on the shared parent dashboard. */
.dashboard-grid.single-panel { grid-template-columns: minmax(0, 1fr); }

/* Single-column money form after removing the repeated tips sidebar. */
.form-layout{grid-template-columns:minmax(0,1fr);max-width:800px}

/* v5: mobile-first parent transparency; no private record controls */
.budget-category-head,.budget-category-row{display:grid;grid-template-columns:minmax(165px,2fr) repeat(3,minmax(90px,1fr));gap:12px;align-items:center}
.budget-category-head{padding:9px 12px;background:#f4f6f8;border-radius:9px;font-size:10px;font-weight:800;color:#6f7d8a;letter-spacing:.4px}
.budget-category-head span:not(:first-child){text-align:right}
.budget-category-row{padding:16px 12px;border-bottom:1px solid #e9eef1;font-size:12px}
.budget-category-row strong{font-size:12.5px}
.budget-category-row>span{text-align:right;font-variant-numeric:tabular-nums;font-weight:750}
.budget-category-row small{display:none}
.budget-category-row em{display:block;font-size:9px;font-style:normal;color:#8d6870;font-weight:500}
.parent-plan-panel{margin-top:18px}
@media(max-width:650px){.budget-category-head{display:none}.budget-category-row{grid-template-columns:1fr 1fr 1fr;gap:10px 8px;padding:16px 0}.budget-category-row strong{grid-column:1/-1;font-size:13px}.budget-category-row>span{text-align:left;font-size:12px}.budget-category-row small{display:block;color:#8e9ba5;margin-bottom:3px;font-weight:500;font-size:10px}}

/* v6 · Clear, responsive budget categories and actual/plan line items. */
.budget-breakdown{padding:25px 27px 19px}
.budget-panel-title{margin-bottom:18px}
.budget-group-list{display:flex;flex-direction:column;gap:12px}
.budget-group{background:#fff;border:1px solid #dde5ef;border-radius:14px;overflow:hidden;box-shadow:0 3px 10px rgba(15,35,66,.025)}
.budget-group[open]{border-color:#bdcfe8;box-shadow:0 7px 22px rgba(19,54,104,.06)}
.budget-group-summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(200px,1.08fr) minmax(350px,1.55fr);gap:24px;align-items:center;padding:19px 22px;transition:background-color .15s}
.budget-group-summary::-webkit-details-marker{display:none}
.budget-group-summary:hover{background:#f7f9fd}
.budget-group-summary:focus-visible{outline:3px solid #3763ba;outline-offset:-3px}
.budget-group[open]>.budget-group-summary{background:#f4f7fc;border-bottom:1px solid #dbe5f2}
.budget-group-label{display:flex;align-items:center;gap:14px;min-width:0}
.budget-chevron{display:grid;place-items:center;flex:none;font-family:Arial,sans-serif;font-size:25px;font-weight:600;color:#183f93;background:#e9eef9;border:1px solid #d4ddf0;border-radius:50%;width:32px;height:32px;line-height:1;transition:transform .16s}
.budget-group[open] .budget-chevron{transform:rotate(90deg)}
.budget-group-name{display:block;font-size:16px;letter-spacing:-.25px;color:#172942;font-weight:820;overflow-wrap:anywhere;line-height:1.35}
.budget-group-name small{display:block;color:#8493a5;font-size:11px;font-weight:550;letter-spacing:0;margin-top:4px}
.budget-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;align-items:stretch}
.budget-total{display:flex;flex-direction:column;align-items:flex-end;gap:5px;padding:7px 0;color:#293c57}
.budget-total small{font-size:10px;color:#8995a7;font-weight:650;letter-spacing:.05px}
.budget-total strong{font-size:14px;line-height:1.3;font-weight:800;white-space:nowrap;font-variant-numeric:tabular-nums}
.budget-total-strong{border-left:1px solid #d7e0eb;padding-left:12px;color:#103f91}
.budget-total-strong strong{font-size:16px}
.budget-children{padding:6px 21px 14px}
.budget-child-heading{display:grid;grid-template-columns:minmax(220px,1fr) minmax(110px,.25fr) minmax(110px,.28fr);gap:18px;padding:13px 13px 7px;font-size:10px;text-transform:uppercase;letter-spacing:.9px;color:#8a98aa;font-weight:700}
.budget-child-heading span:not(:first-child){text-align:right}
.budget-child{display:grid;grid-template-columns:minmax(220px,1fr) minmax(110px,.25fr) minmax(110px,.28fr);gap:18px;align-items:center;padding:15px 13px;border-bottom:1px solid #edf0f6}
.budget-child:last-of-type{border-bottom:0}
.budget-child-main{min-width:0}
.budget-item-name{font-size:13px;font-weight:720;line-height:1.45;overflow-wrap:anywhere;color:#273c56}
.budget-item-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap;color:#8b98a6;font-size:10px;margin-top:5px}
.budget-item-chip{background:#eaf0fb;color:#315b9e;border-radius:99px;padding:3px 8px;font-weight:730;font-size:9px}
.budget-item-chip.posted{background:#e5f5ed;color:#226c54}
.budget-unpriced{color:#906b2d}
.budget-child-number{text-align:right;font-size:13px;font-weight:760;font-variant-numeric:tabular-nums;color:#2d415a;white-space:nowrap}
.budget-child-number small{display:none}
.budget-not-priced{font-size:11px;font-weight:550;color:#8a98a5;white-space:normal}
.budget-item-edit{display:inline-block;font-size:11px;color:#124fa5;font-weight:700;margin-top:7px;text-decoration:underline;text-underline-offset:2px}
.budget-add-item{padding:15px 13px 6px;font-size:12px;font-weight:750;color:#0a458e}
.budget-add-item a{display:inline-flex;gap:5px;align-items:center;border:1px solid #cbdbf1;background:#f4f8ff;border-radius:9px;padding:9px 12px}
.budget-add-item a:hover{background:#e6effe}
.budget-subnote{font-size:10.5px;color:#8492a2;margin:16px 3px 0;line-height:1.6}
.budget-link-form{display:flex;gap:6px;align-items:center;margin-top:9px;flex-wrap:wrap}
.budget-link-form label{font-size:10px;color:#6f8195;font-weight:650}
.budget-link-form select{font-size:11px;padding:6px 8px;min-width:128px;max-width:210px;border-radius:7px}
.budget-link-btn{background:#173e83;color:#fff;border:0;border-radius:7px;font-size:10px;font-weight:750;padding:8px 10px}
@media(max-width:950px){
 .budget-group-summary{grid-template-columns:1fr;gap:13px}
 .budget-totals{max-width:650px;margin-left:46px}
 .budget-total{align-items:flex-start}
 .budget-total-strong{border-left:1px solid #d7e0eb}
}
@media(max-width:650px){
 .budget-breakdown{padding:18px 13px}
 .budget-panel-title{padding:0 6px;gap:12px;align-items:flex-start}
 .budget-panel-title .button{font-size:10px;padding:9px 10px}
 .budget-group-list{gap:10px}
 .budget-group-summary{padding:15px 13px;gap:14px}
 .budget-group-label{gap:10px}
 .budget-group-name{font-size:14px}
 .budget-group-name small{font-size:10px}
 .budget-chevron{width:29px;height:29px;font-size:22px}
 .budget-totals{margin-left:0;gap:5px}
 .budget-total{padding:0 4px 0 0;gap:3px}
 .budget-total small{font-size:9px}
 .budget-total strong{font-size:12px}
 .budget-total-strong{padding-left:8px}
 .budget-total-strong strong{font-size:13px}
 .budget-children{padding:3px 12px 13px}
 .budget-child-heading{display:none}
 .budget-child{grid-template-columns:minmax(0,1fr) 1fr 1fr;gap:6px 9px;padding:13px 5px}
 .budget-child-main{grid-column:1/-1;padding-bottom:4px}
 .budget-child-number{text-align:left;font-size:12px;color:#293d55}
 .budget-child-number small{display:block;color:#8695a6;font-size:9px;margin-bottom:3px;font-weight:530}
 .budget-child-number:nth-of-type(2){grid-column:1/2}
 .budget-child-number:nth-of-type(3){grid-column:2/3}
 .budget-link-form{align-items:flex-start}
}

.budget-add-item{display:flex;flex-wrap:wrap;gap:9px}
.budget-add-item a+a{color:#334d70;background:#fff;border-color:#e1e7ed}

/* V7 — admin-only item removal; visually quiet until requested */
.budget-item-actions{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-top:8px}
.budget-item-actions .budget-item-edit{margin-top:0}
.budget-delete-details{font-size:11px;color:#a13c3c;position:relative}
.budget-delete-details>summary{cursor:pointer;list-style:none;text-decoration:underline;text-underline-offset:2px;font-weight:650}
.budget-delete-details>summary::-webkit-details-marker{display:none}
.budget-delete-details[open]{flex:1 1 230px;max-width:380px}
.budget-delete-details form{margin-top:9px;padding:13px;border:1px solid #f0d4d4;background:#fff9f8;border-radius:9px;display:grid;gap:9px}
.budget-delete-details p{margin:0;font-size:11px;line-height:1.5;color:#76575a}
.budget-delete-details input{min-width:0;font-size:12px;padding:9px}
.budget-delete-details button{justify-self:start}

/* V7 — conditional, compact planning alert: hidden when all items are priced */
.budget-attention{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;background:#f3f7fe;border:1px solid #dce6fb;color:#374b6d;border-radius:12px;font-size:12px;line-height:1.55;margin:15px 0 0}
.budget-attention strong{color:#0c337b}
.attention-symbol{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:50%;height:19px;width:19px;background:#e0e9fb;color:#123c9b;font-weight:800;font-size:12px}

/* v8: Fundraising landing page, readable on phones and desktop. */
.fundraising-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.fundraising-progress{padding:20px 24px;margin-top:16px}
.fundraising-admin-forms,.fundraiser-activities,.fundraising-pledges{margin-top:18px;padding:24px}
.fundraising-goal-form{display:flex;align-items:flex-end;gap:12px;flex-wrap:wrap}
.fundraising-goal-form label{max-width:280px;display:flex;flex-direction:column;gap:5px;font-weight:650;font-size:12px}
.fundraiser-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:17px 5px;border-top:1px solid #edf0f5}
.fundraiser-row-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:4px}
.fundraiser-row-main strong{font-size:15px;color:#1e3152}
.fundraiser-row-main>span,.fundraiser-row-right small,.pledge-row small{font-size:11px;color:#8491a2}
.fundraiser-row-main p{margin:5px 0 0;font-size:12px;color:#556677;overflow-wrap:anywhere}
.fundraiser-row-right{display:flex;flex-direction:column;align-items:flex-end;gap:5px}
.fundraiser-row-right strong{font-size:17px;font-variant-numeric:tabular-nums;color:#123f93}
.fundraiser-row-right .mini-button{margin-top:2px;white-space:nowrap}
.muted-copy{color:#667789;font-size:12px;margin:0 0 18px}
.pledge-entry{display:grid;grid-template-columns:1fr minmax(100px,.5fr) 1fr;gap:12px;align-items:end}
.pledge-entry label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:650;color:#394e64}
.pledge-entry button{justify-self:start}
.pledge-list{margin-top:18px;border-top:1px solid #e5ebf2}
.pledge-row{display:flex;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #edf1f5}
.pledge-row>div{display:flex;flex-direction:column;gap:5px}
.pledge-row>div:last-child{text-align:right}
.pledge-row strong{font-size:13px}
.pledge-row b{font-size:13px}
.plain-link{color:#a23434;border:0;background:transparent;padding:2px 0;font-size:11px;text-decoration:underline}
.fundraising-fields{padding:16px 17px;border:1px solid #d7e4f6;background:#f7faff;border-radius:12px;margin:10px 0 18px;display:grid;gap:13px}
.fundraising-fields h3{font-size:13px;color:#103779;margin:0}
.fundraising-fields small{font-size:11px;color:#64768d;line-height:1.5}
.fundraising-fields[hidden]{display:none!important}
.txn-edit-link{display:inline-block;color:#14418e;text-decoration:underline;text-underline-offset:2px;margin:5px 0 7px;font-size:11px}
.switch-line{display:flex!important;flex-direction:row!important;align-items:center;gap:10px}
.switch-line input{width:18px;height:18px;flex:none}
.form-divider{border:0;border-top:1px solid #e9eef4;margin:10px 0}
.required{color:#a22c2c}
@media(max-width:800px){.fundraising-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fundraising-metrics .metric:last-child{grid-column:1/-1}.pledge-entry{grid-template-columns:1fr 1fr}}
@media(max-width:580px){.fundraising-admin-forms,.fundraiser-activities,.fundraising-pledges{padding:17px 14px}.fundraiser-row{align-items:flex-start}.fundraiser-row-right{max-width:120px}.fundraiser-row-right strong{font-size:14px}.pledge-entry{grid-template-columns:1fr}.fundraising-goal-form label{width:100%;max-width:none}.fundraising-metrics .metric-value{font-size:22px}}
.fundraiser-delete-panel{margin-top:18px;padding:20px;max-width:800px}
.fundraiser-delete-panel .budget-delete-details[open]{max-width:600px}
