.ffm .dash-welcome{display:flex;align-items:center;gap:24px;padding:32px 0}.ffm .role-icon{font-size:48px;width:100px;height:100px;display:grid;place-items:center;background:#e7eee0;border-radius:35px;color:#30553c}.ffm .role-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.ffm .metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:24px 0}.ffm .metrics article{background:#f4eedc;border-radius:20px;padding:24px;display:flex;flex-direction:column;gap:8px}.ffm .metrics b{font-size:36px;color:#34573f}.ffm .dashboard-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:22px}.ffm .panel{margin-bottom:22px}.ffm .profile-grid,.ffm .member-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(270px,100%),1fr));gap:16px}.ffm .account-login{max-width:660px;margin:32px auto}.ffm form{display:grid;gap:18px}.ffm .journey li{padding:9px 0}.ffm .actions{flex-wrap:wrap}.ffm details{margin-top:20px}.ffm select[multiple]{min-height:150px}.ffm #account-message:empty{display:none}.ffm button.selected{outline:3px solid #ccaa54;outline-offset:2px}.ffm .subnav>div{display:flex;align-items:center;gap:14px}.ffm input,.ffm select{max-width:100%;min-width:0}.ffm h1{overflow-wrap:anywhere}.ffm .hint{font-size:.9rem}.ffm .child .icon{font-size:28px;color:#587a53}.ffm .profile-grid .child{margin:0}.ffm :focus-visible{outline:3px solid #906d10;outline-offset:3px}@media(max-width:640px){.ffm .dashboard-grid{grid-template-columns:1fr}.ffm .metrics{gap:8px}.ffm .metrics article{padding:13px;font-size:12px}.ffm .metrics b{font-size:27px}.ffm .dash-welcome{gap:14px}.ffm .role-icon{width:66px;height:66px;flex-shrink:0;font-size:34px}.ffm .subnav{flex-wrap:wrap;gap:14px}.ffm .panel{padding:20px}.ffm .actions button{width:100%}}

/* Admin-only management hub. All rules remain inside the account portal. */
.ffm .admin-hub{margin:12px 0 34px}.ffm .hub-intro{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:30px;padding:32px 38px;background:#eaf0e3;border:1px solid #dce5d4;border-radius:28px;overflow:hidden}.ffm .hub-intro h2{font-size:clamp(30px,3.4vw,46px);line-height:1.12;margin:12px 0 16px;color:#294b36}.ffm .hub-intro p{max-width:590px;line-height:1.65}.ffm .hub-intro>img{width:100%;height:220px;object-fit:cover;border-radius:90px 90px 26px 26px}.ffm .hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.ffm .hub-card{border:1px solid #e5deca;background:#fffdf7;border-radius:23px;overflow:hidden;display:flex;flex-direction:column}.ffm .hub-card-image{height:125px;position:relative;background:#e8eddf}.ffm .hub-card-image>img{height:100%;width:100%;object-fit:cover;object-position:50% 36%}.ffm .hub-icon{position:absolute;bottom:-21px;left:22px;background:#31563e;color:#fff;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;border:3px solid #fffdf7}.ffm .hub-icon svg{width:25px;height:25px}.ffm .hub-card-body{padding:29px 22px 22px;display:flex;flex-direction:column;flex:1}.ffm .hub-card h3{font-size:24px;line-height:1.2;margin:8px 0;color:#294b36}.ffm .hub-card p{font-size:14px;line-height:1.6;margin:6px 0 17px}.ffm .hub-tools{display:grid;gap:8px}.ffm .hub-tool{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;background:#f0f3e9;color:#294b36;text-align:left;text-decoration:none;border:1px solid #dde5d5;border-radius:11px;padding:12px 13px;font-size:14px;font-weight:650;line-height:1.35;cursor:pointer}.ffm .hub-tool:hover{background:#dfead7;color:#203e2b}.ffm .hub-tool span{flex-shrink:0}.ffm .hub-card .hub-note{font-size:12px;line-height:1.5;color:#625d4b;border-top:1px solid #e5deca;padding-top:12px;margin:16px 0 0}.ffm [id^="membership-"]{scroll-margin-top:100px}@media(max-width:980px){.ffm .hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.ffm .hub-intro{grid-template-columns:1fr;padding:24px;gap:20px}.ffm .hub-intro>img{height:160px;max-width:340px;justify-self:center}.ffm .hub-grid{grid-template-columns:1fr;gap:18px}.ffm .hub-card-image{height:135px}.ffm .hub-intro .btn{font-size:14px}.ffm .hub-card-body{padding:28px 20px 20px}}
.ffm:has(.admin-hub) .dash-welcome{padding:14px 0;gap:18px}.ffm:has(.admin-hub) .dash-welcome h1{font-size:34px;margin:8px 0}.ffm:has(.admin-hub) .dash-welcome p{margin:8px 0}.ffm:has(.admin-hub) .role-icon{width:68px;height:68px;font-size:32px;border-radius:22px}.ffm:has(.admin-hub) .role-tabs{margin-bottom:16px}.ffm:has(.admin-hub) .subnav{margin-bottom:12px}.ffm:has(.admin-hub) .hub-intro{padding:24px 30px}.ffm:has(.admin-hub) .hub-intro>img{height:180px}

/* Adult service applications */
.staff-application{max-width:920px;margin-inline:auto}.staff-application h2{margin-top:1.6rem}.staff-application fieldset{border:1px solid #d7ded5;border-radius:12px;padding:18px;margin:20px 0}.staff-classes{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px}.staff-classes[hidden]{display:none}.staff-summary dl{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:12px 24px;margin:24px 0}.staff-summary dt{font-weight:650}.staff-summary dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.staff-application textarea{width:100%;box-sizing:border-box}.staff-application .actions{flex-wrap:wrap}@media(max-width:600px){.staff-summary dl{grid-template-columns:1fr;gap:4px}.staff-summary dd{margin-bottom:16px}}

.staff-application textarea{font-family:inherit;font-weight:400;font-size:1rem;line-height:1.6;padding:12px;border:1px solid #ccd5ca;border-radius:10px;background:#fdfcf6;color:#234d3c;resize:vertical}.staff-application textarea:focus{outline:2px solid #587752;outline-offset:2px}

.signup-details{display:grid;grid-template-columns:minmax(150px,1fr) 2fr;gap:10px 24px;margin:24px 0}.signup-details dt{font-weight:650}.signup-details dd{margin:0;overflow-wrap:anywhere}@media(max-width:600px){.signup-details{grid-template-columns:1fr;gap:5px}.signup-details dd{margin-bottom:14px}}
