/* Mobile presentation, deliberately scoped to the opted-in family application. */
.family-app{--forest:#213e33;--forest-dark:#213e33;--cream:#f7f2e6;--paper:#f7f2e6;--sun:#f2c94c;--terracotta:#b9532c;--sans:'DM Sans',Arial,sans-serif;background:var(--cream);color:var(--forest);font:16px/1.5 var(--sans);margin:0;padding-bottom:calc(92px + env(safe-area-inset-bottom));--admin-sidebar-width:0px;--admin-header-height:76px}
.family-app *{box-sizing:border-box}.family-app [hidden]{display:none!important}.family-app a,.family-app button{-webkit-tap-highlight-color:transparent}.family-app :focus-visible{outline:3px solid #244e70;outline-offset:4px}.family-app h1{font:500 2.1rem/1.12 var(--serif,Georgia,serif);letter-spacing:-.035em}.family-app h2{font:500 1.55rem/1.18 var(--serif,Georgia,serif);letter-spacing:-.02em}.family-app h3{font-size:1.3rem}.family-app p{overflow-wrap:anywhere}.family-app a{color:inherit}
.app-header{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:800px;margin:auto;padding:calc(16px + env(safe-area-inset-top)) 20px 15px;border-bottom:1px solid #213e3320}.app-brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:bold 1.1rem/1.2 var(--sans)}.app-brand img{object-fit:contain;border-radius:50%;background:white}.app-brand small{display:block;font:400 .72rem/1.5 var(--sans);color:#59695d}.app-help{width:44px;height:44px;display:grid;place-items:center;border:1px solid #213e3330;border-radius:50%;font-weight:bold;text-decoration:none}.app-skip{position:absolute;left:12px;top:-120px;padding:12px;background:white;z-index:2000}.app-skip:focus{top:12px}
.family-app>main,.family-app.admin-workspace>main{width:100%;max-width:800px;min-height:65vh;margin:0 auto;padding:26px 20px 20px}.family-app .family-dashboard{width:100%;margin:0;padding:0}.family-app .family-footer{max-width:800px;margin:0 auto;padding:24px 20px;font-size:.7rem;display:flex;flex-wrap:wrap;gap:8px}.family-app>.association-logo-row{display:none}.app-welcome{margin-bottom:22px}.app-welcome .family-eyebrow{margin-bottom:8px}.app-welcome h1{display:flex;align-items:center;gap:12px;margin:0;overflow-wrap:anywhere}.app-welcome>p:last-child{font-size:.93rem;color:#59695d;margin:12px 0 0}.app-sun{color:#b9532c;font:32px/1 Arial;flex-shrink:0}
.app-priority{position:relative;padding:24px;border-radius:24px 24px 24px 5px;background:#213e33;color:#fff9ec}.app-priority .app-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.14em;font-size:.68rem;color:#f2c94c;font-weight:bold}.app-priority h2{font-size:1.9rem;margin:0 0 10px;color:inherit}.app-priority p{font-size:.9rem;line-height:1.5}.app-priority a{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:44px;margin-top:18px;color:#f2c94c;text-decoration:none;font-weight:bold;font-size:.9rem}.app-priority a span{font-size:24px}
.app-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0 26px}.app-shortcuts a{display:grid;justify-items:start;gap:8px;border:1px solid #213e3328;border-radius:18px;padding:17px;background:#fffdf7;text-decoration:none}.app-shortcuts a:nth-child(2){background:#e4ebdf}.app-shortcuts strong{font-size:1rem}.app-shortcuts small{font-size:.72rem;color:#59695d}.app-card{padding:22px;background:#fffdf7;border:1px solid #213e3328;border-radius:18px;margin:24px 0}.app-card p{font-size:.93rem}.app-stays{margin:28px 0}
.family-app .family-section-heading{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:15px}.family-app .family-section-heading h2{margin:0;font-size:1.5rem}.family-app .family-section-heading a{font-size:.8rem;min-height:44px;display:inline-flex;align-items:center}.family-app .family-record-grid{grid-template-columns:1fr;gap:14px}.family-app .family-record{border:1px solid #213e3328;border-radius:20px;background:#fffdf7;padding:20px;box-shadow:none;overflow-wrap:anywhere}.family-app .family-record h3{font-size:1.45rem;margin:16px 0 6px}.family-app .family-record-camp{font-size:.95rem}.family-app .family-record-labels{flex-wrap:wrap;font-size:.7rem}.family-app .family-record .family-button{flex:1}.family-app .family-record-balance{font-size:.85rem}.family-app .family-actions-summary{border:1px solid #213e3328;border-radius:18px;background:#fffdf7;padding:18px;margin:26px 0;scroll-margin-top:16px}.family-app .family-actions-summary h2{margin:0;font-size:1.45rem}.family-app .family-action-detail summary{min-height:52px}.family-app .family-action-detail li{display:grid;gap:8px}.family-app .family-action-detail li a{min-height:44px;display:flex;align-items:center}.family-app .family-action-detail span{overflow-wrap:anywhere}.family-app .family-action-detail small{font-size:.75rem}
.app-prepare{display:flex;align-items:center;gap:14px;padding:20px;border-radius:18px;background:#f2c94c;text-decoration:none;margin:25px 0}.app-prepare-symbol{font:36px/1 Georgia}.app-prepare strong{font-size:.92rem}.app-prepare small{display:block;margin-top:5px;font-size:.76rem}.app-prepare>span:last-child{margin-left:auto}.app-home-links{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:16px 0;font-size:.8rem;font-weight:bold}.app-home-links a{display:inline-flex;align-items:center;min-height:44px}.app-install{margin:22px 0;padding:18px;border:1px dashed #7c897c;border-radius:16px}.app-install summary{min-height:44px;align-content:center;cursor:pointer;font-size:.9rem;font-weight:bold}.app-install p{font-size:.85rem}
.app-nav{position:fixed;z-index:1100;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:800px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:9px 8px calc(9px + env(safe-area-inset-bottom));border-top:1px solid #213e3320;background:#fffdf7;box-shadow:0 -5px 25px #213e3309}.app-nav a{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:56px;font-size:.7rem;text-decoration:none;color:#56665a;border-radius:13px;margin:0 3px}.app-nav a[aria-current=page]{background:#e4ebdf;color:#213e33;font-weight:bold}.app-badge{position:absolute;top:1px;left:calc(50% + 8px);min-width:18px;padding:1px 4px;border-radius:20px;background:#a54022;color:white;font-size:.6rem;text-align:center}
.family-app .family-page-heading{display:block;margin-bottom:22px}.family-app .family-page-heading h1{font-size:2rem}.family-app .family-page-heading>div>p:last-child{font-size:.9rem}.family-app .family-page-heading>.family-button{margin-top:12px}.family-app .family-prepare-banner{display:flex;flex-direction:column;align-items:stretch;padding:18px;border-radius:16px;background:#f2c94c}.family-app .family-prepare-banner p{margin:0}.family-app .family-prepare-banner .family-button{font-size:.8rem;background:#213e33;color:white}.family-app .family-message{font-size:.85rem;border-radius:4px 14px 14px 4px;line-height:1.5}.family-app .family-filter-form{display:flex;flex-wrap:wrap;align-items:end;gap:12px;padding:16px;border-radius:14px}.family-app .family-filter-form label{flex:1 1 140px;min-width:0}.family-app .family-filter-form select{max-width:100%;min-height:48px;font-size:16px}.family-app .family-filter-actions{flex-wrap:wrap}
.family-app .family-button{font-size:.85rem;letter-spacing:0;text-transform:none;min-height:48px;border-radius:12px;padding:12px 17px}.family-app .family-button:hover{transform:none}.family-app input,.family-app select,.family-app textarea{font-size:16px;max-width:100%}.family-app .family-form label{font-size:.85rem}.family-app .family-form fieldset{padding:16px;border-radius:14px;min-width:0}.family-app .family-form-grid,.family-app .family-account-settings-grid{grid-template-columns:1fr}.family-app .family-form-progress{grid-template-columns:repeat(3,minmax(0,1fr))}.family-app .family-form-progress button{font-size:.74rem;min-height:48px}.family-app .family-section{margin:24px 0 0;padding-top:18px}.family-app .family-section h2{font-size:1.6rem}.family-app .family-detail-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:static}.family-app .family-detail-tabs a{font-size:.8rem;min-height:48px;display:flex;align-items:center;justify-content:center;text-align:center}.family-app .family-document-list article{align-items:start;flex-direction:column}.family-app .family-document-list a,.family-app .family-document-list button{min-height:44px;display:inline-flex;align-items:center}.family-app .family-payment-methods{grid-template-columns:1fr}.family-app .family-payment-post{display:block}.family-app .family-main-card{padding:18px;border-radius:16px;min-width:0}.family-app .family-dashboard-heading{display:block;margin-bottom:24px}.family-app .family-dashboard-heading h1{font-size:2rem}.family-app .family-dashboard-guide{margin-top:16px}.family-app .family-form small{font-size:.77rem}.family-app .family-check{display:flex;align-items:start;gap:10px}.family-app .family-check input{width:22px;min-height:22px;flex-shrink:0}.family-app .family-auth-shell{display:flex;flex-direction:column;min-height:0}.family-app .family-auth-intro{padding:24px;border-radius:20px}.family-app .family-auth-intro h1{font-size:2.3rem}.family-app .family-auth-intro ol{display:none}.family-app .family-auth-card{padding:24px 0;width:100%}.family-app .family-auth-card h2{font-size:1.8rem}.family-app .family-login-links{flex-wrap:wrap}.family-app .family-auth-shell>.association-logo-row{display:none}
.app-account{margin:20px 0 30px}.app-account-identity{padding:20px;background:#e4ebdf;border-radius:16px;overflow-wrap:anywhere}.app-account-identity strong,.app-account-identity span{display:block}.app-account-identity span{font-size:.85rem;margin-top:6px}.app-account nav{overflow:hidden;border:1px solid #213e3328;border-radius:16px;background:#fffdf7;margin:20px 0}.app-account nav a{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px;font-size:.9rem;text-decoration:none;min-height:55px}.app-account nav a+a{border-top:1px solid #213e3318}.app-connectivity,.app-update{max-width:800px;margin:auto;padding:12px 20px;background:#fff0cd;color:#65351e;font-size:.85rem}.app-update{display:flex;align-items:center;justify-content:space-between;gap:12px}.app-update button{min-height:44px;background:#213e33;color:white;border:0;border-radius:8px;padding:8px 12px;font:inherit}
.app-landing{max-width:660px;margin:auto;padding:40px 20px}.app-landing h1{font-size:2.6rem}.app-landing .app-kicker{font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;font-weight:bold}.app-landing ol{padding-left:22px}.app-landing li{padding:5px 0}.app-landing .app-card h2{font-size:1.45rem}.app-landing .app-links{display:flex;flex-wrap:wrap;gap:12px}.app-landing p{font-size:1rem}.app-landing .app-lead{color:#59695d}.app-landing footer{font-size:.8rem;margin-top:24px}.family-app [id]{scroll-margin-bottom:120px}.family-app .support-widget,.family-app .support-fab{bottom:calc(100px + env(safe-area-inset-bottom))}
@media(min-width:640px){.family-app .family-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-app .family-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.family-app>main{padding:30px}.app-welcome h1{font-size:2.6rem}.app-nav{border-radius:20px 20px 0 0}.family-app .family-detail-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.family-app *{scroll-behavior:auto!important;transition:none!important}}
@media print{.app-nav,.app-header,.app-install,.app-connectivity,.app-update{display:none!important}.family-app{padding:0}.family-app>main{max-width:none}}

.family-app .app-nav a{font-size:.875rem}.app-brand small,.app-shortcuts small,.family-app .family-record-labels{font-size:.8125rem}.family-app .family-record-reference,.family-app .family-eyebrow{font-size:.75rem}.family-app .family-status{font-size:.8125rem}.app-home-links{font-size:.875rem}.family-app .family-record-labels span{white-space:normal}.family-app .support-fixed{bottom:calc(100px + env(safe-area-inset-bottom))}.family-app .family-prepare-banner p{color:#213e33}.family-app .family-prepare-banner{color:#213e33}.family-app .family-prepare-banner p{flex:none}
