/* Role-specific Filhome workspaces. */
.dash-wrap.portal-ready{max-width:1440px;padding:28px 28px 80px}.portal-top{margin-bottom:26px}.portal-layout{grid-template-columns:218px minmax(0,1fr);gap:24px}.portal-side{background:#112e36;border:0;box-shadow:none;padding:16px 10px}.portal-nav-title{color:#95b9b7}.portal-nav button,.portal-nav a{color:#d3e3df;font-family:inherit;font-weight:500;padding:12px}.portal-nav button:hover{background:#21434b;color:white}.portal-nav button.active{background:#dff2cf;color:#173d35}.cc-nav-section{color:#8aa7ac;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:22px 12px 8px}.cc-nav-section:first-child{padding-top:10px}.portal-summary{gap:14px}.portal-stat{text-decoration:none;transition:transform .15s}.portal-stat:hover{transform:translateY(-2px);border-color:#a3c1b7}.portal-stat b{font-size:28px}.portal-stat span{font-size:12px}.cc-welcome{background:#e5eedf;border:1px solid #d5e0cf;border-radius:20px;padding:28px;margin-bottom:22px;display:flex;align-items:center;justify-content:space-between;gap:22px;background-image:radial-gradient(ellipse at top right,#c9dcb8 0,transparent 55%)}.cc-welcome h2{font-size:clamp(22px,2.5vw,31px);letter-spacing:-.04em;color:#173b32;margin:9px 0}.cc-welcome p{color:#4f685d;font-size:14px;margin:0;max-width:560px}.cc-eyebrow{font-size:10px;letter-spacing:.12em;font-weight:750;color:#668076}.cc-primary{background:#185f50;color:#fff;padding:12px 18px;border-radius:10px;text-decoration:none;white-space:nowrap;font-size:13px;font-weight:650}.cc-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:20px;margin-bottom:20px}.cc-card{background:#fff;border:1px solid #dde6e0;border-radius:18px;padding:24px;min-width:0;margin-bottom:20px}.cc-grid .cc-card{margin:0}.cc-card h2{font-size:18px;color:#183f39;margin:7px 0 16px;letter-spacing:-.02em}.cc-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.cc-heading a,.cc-link{font-size:12px;font-weight:700;color:#186650;text-decoration:none}.cc-heading>a{white-space:nowrap}.cc-application{padding:17px 0;border-top:1px solid #edf0e9;font-size:13px}.cc-application strong{color:#213e3a}.cc-application p,.cc-muted{font-size:12px;color:#708079;line-height:1.6}.cc-tag{font-size:10px;white-space:nowrap;border-radius:20px;padding:5px 9px;background:#edf5ed;color:#3d6954;text-transform:capitalize}.cc-steps{padding:0;list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:16px 0}.cc-steps li{border-top:4px solid #e9eee8;padding-top:7px;font-size:10px;color:#77867c}.cc-steps .done{border-color:#4c9278;color:#225b48}.cc-steps [aria-current]{font-weight:750}.cc-progress-label{display:flex;justify-content:space-between;align-items:baseline;font-size:12px;color:#78857b;margin:20px 0 8px}.cc-progress-label strong{font-size:27px;color:#194e3c}.cc-card progress{width:100%;height:8px;accent-color:#40856b;border:0;border-radius:8px}.cc-checks{list-style:none;padding:0;margin:18px 0}.cc-checks li{display:flex;align-items:center;gap:9px;padding:12px 0;border-bottom:1px solid #eff1eb;font-size:12px}.cc-checks a{color:#304b41;text-decoration:none}.cc-checks small{margin-left:auto;font-size:10px;color:#7c887f}.cc-tick{color:#26805e}.cc-todo{color:#b18643}.cc-empty{background:#f6f8f3;border-radius:12px;padding:22px;color:#657267;font-size:13px;line-height:1.7}.cc-empty h3{color:#234b3e;margin-top:0;font-size:16px}.cc-empty a{color:#216e54}.cc-perks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.cc-perk{background:#fafaf5;border:1px solid #e5e9dc;border-radius:14px;padding:19px;min-width:0}.cc-perk h3{font-size:16px;color:#20463a;margin:12px 0}.cc-perk>strong{display:block;color:#6c6b2c;font-size:18px;margin:12px 0}.cc-perk p{font-size:11px;color:#717c68;line-height:1.6}.cc-quick{display:flex;gap:16px;flex-wrap:wrap}.cc-quick a{color:#175f4b;font-size:13px}.cc-claim-row{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #e7eee6;font-size:12px}.cc-claim-row span{color:#6b8073}.cc-calendar-tools{display:flex;align-items:end;justify-content:space-between;gap:15px;margin:20px 0}.cc-calendar-tools label{font-size:12px;font-weight:650}.cc-calendar-tools select{display:block;padding:10px;border:1px solid #d4dfd5;border-radius:8px;max-width:100%;font:inherit;margin-top:6px}.cc-calendar-tools>div{display:flex;align-items:center;gap:14px;white-space:nowrap}.cc-calendar-tools button{background:#edf3e9;border:0;border-radius:8px;padding:10px 13px;cursor:pointer}.cc-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.cc-weekday{font-size:10px;color:#758779;text-align:center;padding:8px}.cc-day{min-height:83px;border:1px solid #e2e8df;background:#fff;border-radius:8px;padding:8px;text-align:left;font:inherit;color:#284c3d;cursor:pointer;display:flex;flex-direction:column;gap:5px;overflow:hidden}.cc-day:hover,.cc-day.selected{outline:2px solid #4a8566;outline-offset:-2px;background:#eff6e7}.cc-day span{font-size:9px;border-radius:4px;padding:3px;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cc-legend{display:flex;flex-wrap:wrap;gap:12px;font-size:11px;margin-bottom:15px}.cc-legend span{padding:5px 9px;border-radius:5px}.tentative{background:#fff3d7;color:#906817;border:1px dashed #c6a969}.reserved{background:#dcefe4;color:#23633f}.blocked{background:#e7eaf1;color:#45536a}.cc-events{font-size:12px;margin-top:14px;color:#54675b}.cc-events p{padding:6px 0;margin:0}.cc-claim-success{background:#e3f4df;border:2px solid #4b8b56;padding:25px;border-radius:16px;margin-bottom:24px}.cc-claim-success h2{color:#235b37;margin:0 0 10px}.cc-claim-success strong{font-size:19px}.cc-claim-success p{margin:8px 0}.cc-claim-button{border:0;background:#196652;color:white;font:600 14px inherit;padding:12px 18px;border-radius:9px;cursor:pointer}.cc-claim-button:disabled{opacity:.55;cursor:default}.cc-claim-dialog{max-width:440px;border:1px solid #d8e3d8;border-radius:18px;padding:25px;color:#224e3e}.cc-claim-dialog::backdrop{background:#102d35aa}.cc-claim-dialog button{margin-top:15px;margin-right:12px}.cc-claim-dialog h2{font-size:21px}.cc-claim-dialog p{line-height:1.6;font-size:14px}.cc-claim-cancel{padding:11px;border:1px solid #ccd9d0;background:white;border-radius:9px;cursor:pointer}.perk-card:target{outline:3px solid #8cae62;scroll-margin-top:90px}.cc-perk-type{font-size:12px;color:#637960;margin:10px 0}
@media(max-width:1100px){.cc-grid{grid-template-columns:1fr}.cc-perks{grid-template-columns:repeat(2,minmax(0,1fr))}.cc-welcome{align-items:start;flex-direction:column}.portal-layout{grid-template-columns:195px minmax(0,1fr)}}
@media(max-width:900px){.portal-layout{grid-template-columns:1fr}.portal-side{position:static;border-radius:12px}.cc-nav-section{display:none}.portal-nav button{padding:10px}.dash-wrap.portal-ready{padding:18px 15px 55px}.cc-welcome{padding:22px}.cc-calendar-tools{align-items:start;flex-direction:column}.portal-nav{overflow:auto}.cc-card{padding:19px}}
@media(max-width:520px){.cc-perks{grid-template-columns:1fr}.cc-heading{align-items:start}.cc-claim-row{align-items:start;flex-direction:column}.cc-day{min-height:61px;padding:5px;font-size:12px}.cc-day span{font-size:0;height:5px;padding:0;min-width:12px}.cc-calendar{gap:3px}.cc-card{padding:16px}.cc-tag{white-space:normal}.cc-calendar-tools select{width:100%}.cc-calendar-tools label{width:100%}}
@media(prefers-reduced-motion:reduce){.portal-stat{transition:none}}

.portal-stat b,.portal-nav-title{font-family:inherit}.cc-card progress::-webkit-progress-bar{background:#e9eee6;border-radius:8px}.cc-card progress::-webkit-progress-value{background:#4c9278;border-radius:8px}.cc-card progress::-moz-progress-bar{background:#4c9278;border-radius:8px}
