/* Final, reusable visual refinement layer. Uses the existing FHPC tokens and classes. */

/* Dashboard hierarchy and structured maintenance totals. */
.fhpc-body .fhpc-dashboard-greeting h2{font-size:clamp(24px,2.3vw,32px);font-weight:760;line-height:1.15}
.fhpc-body .fhpc-dashboard-greeting p{color:#52677f;font-size:14px;line-height:1.5}
.fhpc-body .fhpc-dashboard-stat{border:1px solid var(--fhpc-border);box-shadow:0 4px 15px rgba(16,40,70,.045)}
.fhpc-body .fhpc-dashboard-stat-copy span{color:#405772;font-size:11px;font-weight:700;line-height:1.35}
.fhpc-body .fhpc-dashboard-stat-copy strong{color:var(--fhpc-navy);font-size:26px;font-weight:750}
.fhpc-body .fhpc-dashboard-stat-copy small{color:#5f7289;font-size:10px;line-height:1.4}
.fhpc-body .fhpc-dashboard-panel-heading h3{font-size:16px;font-weight:700;line-height:1.3}
.fhpc-body .fhpc-dashboard-panel-heading>a{font-size:12px}
.fhpc-body .fhpc-dashboard-section-label{color:#64768b;font-size:10px;letter-spacing:.09em}
.fhpc-body .fhpc-dashboard-panels{align-items:start}
.fhpc-body .fhpc-dashboard-empty{min-height:148px}
.fhpc-body .fhpc-recent-job-copy strong{color:var(--fhpc-ink);font-size:12px;font-weight:700}
.fhpc-body .fhpc-recent-job-copy small{color:#5f7187;font-size:11px}
.fhpc-body .fhpc-job-state{min-height:24px;padding:4px 9px;font-size:10px;line-height:1.2}
.fhpc-body .fhpc-dashboard-property-info strong{font-size:12px;font-weight:700}
.fhpc-body .fhpc-dashboard-property-info small{color:#5f7187;font-size:11px}
.fhpc-body .fhpc-dashboard-property-meta{flex-wrap:wrap;gap:5px 10px;color:#536880;font-size:10px;line-height:1.35}
.fhpc-body .fhpc-maint-dashboard{margin-bottom:16px;padding:18px}
.fhpc-body .fhpc-maint-dashboard .fhpc-dashboard-panel-heading{margin-bottom:13px}
.fhpc-body .fhpc-maint-dashboard-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:0 0 8px}
.fhpc-body .fhpc-dashboard-work-stat{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:11px 12px;border:1px solid #e8eef5;border-radius:12px;background:#f9fbfe}
.fhpc-body .fhpc-dashboard-work-stat>span{color:#52677f;font-size:12px;font-weight:600;line-height:1.35}
.fhpc-body .fhpc-dashboard-work-stat>strong{color:var(--fhpc-navy);font-size:18px;font-weight:750;line-height:1}

/* Sharper public hero and feature typography, without changing its structure or content. */
.fhpc-public-body{font-size:16px;font-weight:400;line-height:1.55;color:var(--fhpc-public-ink)}
.fhpc-public-body .fhpc-public-hero-copy{max-width:680px}
.fhpc-public-body .fhpc-public-hero h1{max-width:710px;font-size:clamp(36px,3.6vw,54px);font-weight:760;line-height:1.04;letter-spacing:-.045em}
.fhpc-public-body .fhpc-public-hero-copy>p{color:#425b79;font-weight:450;line-height:1.55}
.fhpc-public-body .fhpc-public-section-heading h2,.fhpc-public-body .fhpc-public-services-intro h2,.fhpc-public-body .fhpc-public-contact h2{font-weight:740;line-height:1.15}
.fhpc-public-body .fhpc-public-property-body h3,.fhpc-public-body .fhpc-public-property-copy h2{color:#102846;font-weight:700}
.fhpc-public-body .fhpc-public-property-body p,.fhpc-public-body .fhpc-public-property-copy>p{color:#526780;font-size:12px;font-weight:500}
.fhpc-public-body .fhpc-public-property-area{color:#526780;font-size:11px;font-weight:500}
.fhpc-public-body .fhpc-public-services-intro p,.fhpc-public-body .fhpc-public-service p{color:#536b86;font-size:11px;line-height:1.5}
.fhpc-public-body .fhpc-public-service h3{color:#102846;font-size:13px;font-weight:700}
.fhpc-public-body .fhpc-public-service-icon{border:1px solid rgba(211,225,241,.7);box-shadow:0 4px 12px rgba(28,70,112,.055)}
.fhpc-public-body .fhpc-public-featured-empty{border-color:#d8e3f0;background:#f8fbff}
.fhpc-public-body .fhpc-public-property-link{display:inline-flex;align-items:center;gap:6px;min-height:38px;margin-top:8px;color:var(--fhpc-public-blue);font-size:12px;font-weight:700;text-decoration:none}
.fhpc-public-body .fhpc-public-property-link:hover{color:#1258c8;text-decoration:none}

/* Homepage featured cards: fixed columns at every viewport width. */
@media(min-width:1024px){
 .fhpc-public-body.fhpc-home-showcase .fhpc-public-featured{width:min(1200px,calc(100% - 64px));margin-inline:auto}
 .fhpc-public-body.fhpc-home-showcase .fhpc-public-property-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 22px}
}
@media(min-width:768px) and (max-width:1023px){
 .fhpc-public-body.fhpc-home-showcase .fhpc-public-property-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media(max-width:767px){
 .fhpc-public-body.fhpc-home-showcase .fhpc-public-featured{width:calc(100% - 32px);margin-inline:auto}
 .fhpc-public-body.fhpc-home-showcase .fhpc-public-property-grid{grid-template-columns:minmax(0,1fr);gap:15px}
}
.fhpc-public-body .fhpc-public-contact p,.fhpc-public-body .fhpc-public-contact-details{color:#526780}
.fhpc-public-body .fhpc-public-footer{color:#526780}
.fhpc-public-body .fhpc-public-footer nav a{font-size:11px;font-weight:600}
.fhpc-public-body .fhpc-public-footer>span,.fhpc-public-body .fhpc-public-footer small{color:#5e7188;font-size:11px}

/* Keep operational filters, job states and optional review tools legible and touch-friendly. */
.fhpc-body .fhpc-maint-status-filter{display:flex;flex-wrap:wrap;gap:7px;margin:2px 0 0;min-width:0}
.fhpc-body .fhpc-maint-status-filter a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;max-width:100%;padding:8px 12px;border:1px solid #dce6f1;border-radius:999px;background:#fff;color:#435a75;font-size:12px;font-weight:650;line-height:1.25;text-decoration:none;overflow-wrap:anywhere;transition:background-color .16s ease,border-color .16s ease,color .16s ease}
.fhpc-body .fhpc-maint-status-filter a:hover,.fhpc-body .fhpc-maint-status-filter a:focus-visible{border-color:#a9c9f3;background:#f2f7ff;color:#1258c8}
.fhpc-body .fhpc-maint-status-filter a.is-active{border-color:#145ecb;background:#145ecb;color:#fff}
.fhpc-body .fhpc-job-status.status-open{border-color:#cfe0f5;background:#edf5ff;color:#245e9f}
.fhpc-body .fhpc-job-status.status-in_progress{border-color:#cfe0f5;background:#edf5ff;color:#245e9f}
.fhpc-body .fhpc-job-status.status-waiting{border-color:#ddd3f7;background:#f4f0ff;color:#6745a4}
.fhpc-body .fhpc-job-status.status-completed{border-color:#f0d9a8;background:#fff6e7;color:#90600e}
.fhpc-body .fhpc-job-status.status-verified{border-color:#bfe7d5;background:#e9f8f1;color:#18734f}
.fhpc-body .fhpc-job-priority{display:inline-flex;align-items:center;min-height:27px;padding:4px 9px;border:1px solid #e2e8f0;border-radius:999px;background:#f6f8fb;color:#586a80;font-size:10px;font-weight:700;line-height:1.25;white-space:nowrap}
.fhpc-body .fhpc-job-priority.priority-low,.fhpc-body .fhpc-job-priority.priority-normal{border-color:#d9e9df;background:#eef8f1;color:#32704b}
.fhpc-body .fhpc-job-priority.priority-medium{border-color:#f4dfb7;background:#fff6e7;color:#95600b}
.fhpc-body .fhpc-job-priority.priority-high,.fhpc-body .fhpc-job-priority.priority-urgent{border-color:#f1cccc;background:#fff0f0;color:#a83a3a}
.fhpc-body .fhpc-paste-review{padding:0;overflow:hidden}
.fhpc-body .fhpc-paste-review>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:14px 17px;color:#142d4b;font-size:14px;font-weight:700;cursor:pointer;list-style:none}
.fhpc-body .fhpc-paste-review>summary::-webkit-details-marker{display:none}
.fhpc-body .fhpc-paste-review>summary:after{content:'+';display:grid;place-items:center;width:28px;height:28px;flex:0 0 28px;border-radius:9px;background:#eef5ff;color:#1769e8;font-size:19px;font-weight:500}
.fhpc-body .fhpc-paste-review[open]>summary{border-bottom:1px solid #e5ebf2}
.fhpc-body .fhpc-paste-review[open]>summary:after{content:'−'}
.fhpc-body .fhpc-paste-review>p,.fhpc-body .fhpc-paste-review>form{margin:15px 17px}
.fhpc-body .fhpc-paste-review>p{color:#64748b;font-size:12px;line-height:1.55}
.fhpc-body .fhpc-paste-review>form{display:grid;gap:12px;padding-bottom:17px}
.fhpc-body .fhpc-paste-review>form>.fhpc-button{justify-self:start}
.fhpc-body .fhpc-paste-review>summary:focus-visible{outline:3px solid rgba(23,105,232,.28);outline-offset:-3px}
.fhpc-body .fhpc-property-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
.fhpc-body .fhpc-danger-zone{min-width:0;padding:11px;border:1px solid #f1d2d2;border-radius:12px;background:#fffafa}
.fhpc-body .fhpc-danger-zone>summary{display:flex;align-items:center;min-height:44px;color:#8f3131;font-size:12px;font-weight:750;cursor:pointer;list-style:none}
.fhpc-body .fhpc-danger-zone>summary::-webkit-details-marker{display:none}
.fhpc-body .fhpc-danger-zone>summary:focus-visible{outline:3px solid rgba(180,35,24,.2);outline-offset:2px;border-radius:5px}
.fhpc-body .fhpc-danger-zone>p{color:#6b4a4a;font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.fhpc-body .fhpc-danger-zone>form{display:grid;gap:10px}
.fhpc-body .fhpc-danger-zone .fhpc-button-danger{min-height:44px;border:1px solid #b42318;border-radius:10px;background:#b42318;color:#fff;font:inherit;font-size:12px;font-weight:750;cursor:pointer}
.fhpc-body .fhpc-danger-zone .fhpc-button-danger:hover,.fhpc-body .fhpc-danger-zone .fhpc-button-danger:focus-visible{background:#901c14}
.fhpc-public-body .fhpc-public-section-description{max-width:660px;margin:8px 0 0;color:#536b86;font-size:14px;line-height:1.55}

@media(max-width:639px){
	.fhpc-body .fhpc-maint-status-filter{gap:6px}
	.fhpc-body .fhpc-maint-status-filter a{flex:1 1 auto;padding-inline:10px;font-size:11px}
	.fhpc-body .fhpc-paste-review>summary{padding:13px 14px}
	.fhpc-body .fhpc-paste-review>p,.fhpc-body .fhpc-paste-review>form{margin-inline:14px}
}

@media(min-width:1200px){
	.fhpc-body .fhpc-property-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(min-width:640px){
	.fhpc-body .fhpc-maint-dashboard{padding:19px}
	.fhpc-body .fhpc-maint-dashboard-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
}

@media(max-width:639px){
	.fhpc-body .fhpc-dashboard-stat-copy span{font-size:10px}
	.fhpc-body .fhpc-dashboard-stat-copy strong{font-size:23px}
	.fhpc-body .fhpc-dashboard-work-stat{padding:10px}
	.fhpc-body .fhpc-dashboard-work-stat>span{font-size:11px}
	.fhpc-public-body .fhpc-public-hero-copy{max-width:470px}
	.fhpc-public-body .fhpc-public-hero h1{font-size:clamp(34px,9vw,45px);line-height:1.06}
	.fhpc-public-body .fhpc-public-service p{font-size:10px}
}
