
.fswf-page{min-height:60vh}
.fswf-hero-people{display:flex;align-items:end;justify-content:center}
.fswf-hero-people>*{margin-left:-24px;filter:drop-shadow(0 12px 22px rgba(27,67,50,.09))}
.fswf-hero-people>*:first-child{margin-left:0}

.fswf-app{display:grid;gap:28px}
.fswf-live-region:empty{display:none}
.fswf-live-region{padding:12px 14px;border-radius:12px;background:var(--fsw-warm-ivory)}
.fswf-live-region.is-success{border-left:5px solid var(--fsw-safe)}
.fswf-live-region.is-error{border-left:5px solid var(--fsw-critical)}

.fswf-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.fswf-overview article{display:grid;grid-template-columns:58px 1fr;column-gap:14px;align-items:center;padding:18px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswf-overview__icon{grid-row:1/3;display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--fsw-warm-ivory)}
.fswf-overview strong{font-size:1.35rem;color:var(--fsw-primary-forest);font-variant-numeric:tabular-nums;line-height:1.25}
.fswf-overview>article>span:last-child{font-size:.88rem;color:var(--fsw-muted)}

.fswf-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px}
.fswf-toolbar h2{margin:0}
.fswf-toolbar__actions{display:flex;gap:8px;flex-wrap:wrap}

.fswf-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start}
.fswf-section-heading{margin-bottom:14px}
.fswf-section-heading h2{margin:0}
.fswf-card-list{display:grid;gap:13px}

.fswf-care-card,.fswf-place-card{display:grid;grid-template-columns:86px 1fr auto;gap:15px;align-items:center;padding:18px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswf-care-card__avatar{width:86px;height:86px;display:grid;place-items:center;border-radius:50%;background:var(--fsw-warm-ivory);overflow:hidden}
.fswf-care-card__avatar img{display:block;width:86px;height:86px;object-fit:contain}
.fswf-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:1.7rem;font-weight:800;color:var(--fsw-primary-forest)}
.fswf-care-card h3,.fswf-place-card h3{margin:0}
.fswf-care-card p,.fswf-place-card p{margin:3px 0;color:var(--fsw-muted)}
.fswf-care-card__conditions,.fswf-place-card__conditions{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px}
.fswf-care-card__conditions img,.fswf-place-card__conditions img{display:block;border-radius:9px}
.fswf-care-card__status{display:grid;gap:2px;margin-top:9px}
.fswf-care-card__status strong{font-size:.82rem;color:var(--fsw-primary-forest)}
.fswf-care-card__status span{font-size:.86rem;color:var(--fsw-muted)}
.fswf-place-card{grid-template-columns:66px 1fr auto}
.fswf-place-card__icon{display:grid;place-items:center;width:66px;height:66px;border-radius:17px;background:var(--fsw-warm-ivory)}
.fswf-place-card__fire{display:grid;gap:2px;margin-top:10px;padding:10px 12px;border-left:4px solid var(--fsw-smoke);border-radius:9px;background:var(--fsw-warm-ivory)}
.fswf-place-card__fire strong{font-size:.78rem;color:var(--fsw-primary-forest)}
.fswf-place-card__fire span{font-size:.86rem;color:var(--fsw-muted)}
.fswf-place-card__fire.fswf-level--good{border-left-color:var(--fsw-safe)}
.fswf-place-card__fire.fswf-level--danger{border-left-color:var(--fsw-danger)}
.fswf-remove{align-self:start;border:0;background:transparent;color:var(--fsw-critical);text-decoration:underline;cursor:pointer;padding:7px}

.fswf-empty{display:flex;gap:15px;align-items:center;padding:22px;border:1px dashed var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-warm-ivory)}
.fswf-empty img{flex:0 0 60px}
.fswf-empty strong{display:block;color:var(--fsw-primary-forest)}
.fswf-empty p{margin:4px 0 14px;color:var(--fsw-muted)}

.fswf-wizard{scroll-margin-top:110px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-md);overflow:hidden}
.fswf-wizard__header{display:flex;justify-content:space-between;align-items:start;gap:24px;padding:24px 26px;border-bottom:1px solid var(--fsw-border);background:var(--fsw-warm-ivory)}
.fswf-wizard__header h2{margin:0}
.fswf-wizard__close{border:0;background:transparent;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer;padding:8px}

.fswf-progress{display:grid;grid-template-columns:1fr auto;gap:8px 18px;padding:18px 26px;border-bottom:1px solid var(--fsw-border)}
.fswf-progress__bar{height:8px;border-radius:999px;background:var(--fsw-smoke);overflow:hidden}
.fswf-progress__bar span{display:block;height:100%;width:0;background:var(--fsw-fresh-leaf);transition:width .2s ease}
.fswf-progress>strong{font-size:.86rem;color:var(--fsw-primary-forest)}
.fswf-progress ol{grid-column:1/3;display:flex;justify-content:space-between;gap:6px;list-style:none;margin:5px 0 0;padding:0}
.fswf-progress li{display:flex;align-items:center;gap:5px;font-size:.76rem;color:var(--fsw-muted)}
.fswf-progress li span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--fsw-smoke);font-size:.72rem;font-weight:800}
.fswf-progress li.is-current{color:var(--fsw-primary-forest);font-weight:700}
.fswf-progress li.is-current span{background:var(--fsw-primary-forest);color:#fff}
.fswf-progress li.is-complete span{background:var(--fsw-safe);color:#fff}

.fswf-step{padding:28px 26px}
.fswf-step fieldset{border:0;padding:0;margin:0 0 26px}
.fswf-step legend{font-size:1.35rem;font-weight:750;color:var(--fsw-primary-forest);margin-bottom:5px}
.fswf-step__intro{margin:0 0 17px;color:var(--fsw-muted)}
.fswf-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.fswf-choice-grid--people{grid-template-columns:repeat(4,minmax(0,1fr))}
.fswf-choice-card{position:relative;display:flex;align-items:center;gap:11px;min-height:90px;padding:13px;border:1px solid var(--fsw-border);border-radius:16px;background:var(--fsw-surface);cursor:pointer}
.fswf-choice-card:hover{border-color:var(--fsw-pine);background:var(--fsw-warm-ivory)}
.fswf-choice-card:has(input:checked){border:2px solid var(--fsw-primary-forest);background:var(--fsw-warm-ivory);padding:12px}
.fswf-choice-card input{position:absolute;opacity:0;pointer-events:none}
.fswf-choice-card>span:last-child{font-weight:700;color:var(--fsw-primary-forest)}
.fswf-choice-card--condition>span:last-child,.fswf-choice-card--text>span:last-child{display:grid;gap:2px}
.fswf-choice-card small{display:block;color:var(--fsw-muted);font-weight:400;line-height:1.35}
.fswf-choice-card .fswds-avatar{flex:0 0 82px}
.fswf-choice-card .fswds-icon{flex:0 0 52px}

.fswf-field{display:grid;gap:6px;font-weight:700}
.fswf-field small{font-weight:400;color:var(--fsw-muted)}
.fswf-field--name{max-width:680px}
.fswf-form-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.fswf-field--country{max-width:160px}
.fswf-location-details{margin-top:18px;border:1px solid var(--fsw-border);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswf-location-details summary{cursor:pointer;padding:13px 15px;font-weight:700;color:var(--fsw-primary-forest)}
.fswf-location-details .fswf-form-grid{padding:0 15px 15px}
.fswf-lookup-status{margin-top:12px;color:var(--fsw-muted)}
.fswf-lookup-status strong{color:var(--fsw-primary-forest)}
.fswf-check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fswf-check{display:flex;align-items:flex-start;gap:8px;padding:10px 11px;border:1px solid var(--fsw-border);border-radius:12px;background:var(--fsw-surface)}
.fswf-check input{margin-top:5px}
.has-error{border-color:var(--fsw-critical)!important;box-shadow:0 0 0 3px rgba(180,35,24,.13)!important}

.fswf-confirm{max-width:760px;margin:auto;padding:24px;border-radius:18px;background:var(--fsw-warm-ivory)}
.fswf-confirm h3{margin:0 0 15px}
.fswf-confirm [data-review]{display:grid;gap:8px}
.fswf-confirm [data-review]>div{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:10px 0;border-bottom:1px solid var(--fsw-border)}
.fswf-confirm [data-review] span{color:var(--fsw-muted)}
.fswf-confirm__note{margin-top:16px;font-size:.9rem;color:var(--fsw-muted)}

.fswf-wizard__footer{display:flex;justify-content:space-between;gap:10px;padding:18px 26px;border-top:1px solid var(--fsw-border);background:var(--fsw-warm-ivory)}
.fswf-wizard__footer [data-next],.fswf-wizard__footer [data-save]{margin-left:auto}

.fswf-guest{display:grid;grid-template-columns:.9fr 1.1fr;gap:42px;align-items:center;padding:38px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-warm-ivory),rgba(149,184,161,.2))}
.fswf-guest__people{display:flex;align-items:end;justify-content:center}
.fswf-guest__people>*{margin-left:-22px}
.fswf-guest__people>*:first-child{margin-left:0}
.fswf-guest h2{margin:0 0 10px}
.fswf-guest p:not(.fsw-kicker){color:var(--fsw-muted)}
.fswf-notice{padding:20px;border-left:5px solid var(--fsw-warning);border-radius:var(--fsw-radius-md);background:var(--fsw-warm-ivory)}
.fswf-notice strong{color:var(--fsw-primary-forest)}

.fswf-compact-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:14px;border:1px solid var(--fsw-border);border-radius:14px;background:var(--fsw-surface)}
.fswf-compact-summary a{margin-left:auto;font-weight:700}

@media(max-width:1100px){
  .fswf-overview{grid-template-columns:1fr 1fr}
  .fswf-dashboard-grid{grid-template-columns:1fr}
  .fswf-choice-grid--people{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:820px){
  .fswf-toolbar{display:block}
  .fswf-toolbar__actions{margin-top:15px}
  .fswf-choice-grid,.fswf-choice-grid--people,.fswf-form-grid,.fswf-check-grid{grid-template-columns:1fr 1fr}
  .fswf-progress ol{overflow:auto;justify-content:flex-start;padding-bottom:4px}
  .fswf-progress li{min-width:max-content}
  .fswf-guest{grid-template-columns:1fr}
}
@media(max-width:620px){
  .fswf-overview{grid-template-columns:1fr}
  .fswf-toolbar__actions .fsw-button{width:100%}
  .fswf-care-card,.fswf-place-card{grid-template-columns:68px 1fr}
  .fswf-care-card__avatar{width:68px;height:68px}
  .fswf-care-card__avatar img{width:68px;height:68px}
  .fswf-place-card__icon{width:58px;height:58px}
  .fswf-remove{grid-column:2;text-align:left;padding-left:0}
  .fswf-choice-grid,.fswf-choice-grid--people,.fswf-form-grid,.fswf-check-grid{grid-template-columns:1fr}
  .fswf-choice-card .fswds-avatar{flex-basis:72px}
  .fswf-wizard__header,.fswf-step,.fswf-wizard__footer,.fswf-progress{padding-left:18px;padding-right:18px}
  .fswf-progress ol{display:none}
  .fswf-confirm [data-review]>div{grid-template-columns:1fr;gap:2px}
  .fswf-wizard__footer{flex-wrap:wrap}
  .fswf-wizard__footer .fsw-button{width:100%;margin-left:0}
  .fswf-hero-people{overflow:hidden}
}

@media(prefers-reduced-motion:reduce){
  .fswf-progress__bar span{transition:none}
}
