
.fswp-page{min-height:60vh}
.fswp-hero-icons{display:grid;grid-template-columns:82px 106px 82px;gap:10px;align-items:center;justify-content:center}
.fswp-hero-icons>*{display:grid;place-items:center;width:82px;height:82px;border-radius:22px;background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswp-hero-icons>*:nth-child(2){width:106px;height:106px;background:var(--fsw-warm-ivory)}

.fswp-live-region:empty{display:none}
.fswp-live-region{margin-bottom:18px;padding:13px 15px;border-radius:13px;background:var(--fsw-warm-ivory)}
.fswp-live-region.is-success{border-left:5px solid var(--fsw-safe)}
.fswp-live-region.is-error{border-left:5px solid var(--fsw-critical)}

.fswp-loading{display:flex;align-items:center;gap:12px;min-height:180px;padding:28px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-warm-ivory)}
.fswp-loading__dot{width:18px;height:18px;border-radius:50%;background:var(--fsw-fresh-leaf);animation:fswp-pulse 1.2s ease-in-out infinite}
@keyframes fswp-pulse{50%{opacity:.35;transform:scale(.8)}}

.fswp-brief-header,.fswp-plan-toolbar{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:20px}
.fswp-brief-header h2,.fswp-plan-toolbar h2{margin:0}
.fswp-brief-header p:not(.fsw-kicker),.fswp-plan-toolbar p:not(.fsw-kicker){margin:4px 0 0;color:var(--fsw-muted)}
.fswp-save-state{text-align:right}
.fswp-save-state strong,.fswp-save-state span{display:block}
.fswp-save-state span{margin-top:3px;color:var(--fsw-muted);font-size:.9rem}

.fswp-priority-card{display:grid;grid-template-columns:86px 1fr;gap:20px;padding:26px;border:1px solid var(--fsw-border);border-left:8px solid var(--fsw-safe);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-warm-ivory),var(--fsw-surface));box-shadow:var(--fsw-shadow-sm)}
.fswp-priority-card[data-level="moderate"],.fswp-priority-card[data-level="watch"]{border-left-color:var(--fsw-warning)}
.fswp-priority-card[data-level="unhealthy"],.fswp-priority-card[data-level="danger"],.fswp-priority-card[data-level="hazard"]{border-left-color:var(--fsw-critical)}
.fswp-priority-card__icon{display:grid;place-items:center;width:86px;height:86px;border-radius:24px;background:var(--fsw-surface)}
.fswp-priority-card h2{margin:0 0 8px}
.fswp-priority-card p:not(.fsw-kicker){margin:0;color:var(--fsw-muted);max-width:70ch}
.fswp-priority-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}

.fswp-condition-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:18px}
.fswp-condition-card{display:grid;grid-template-columns:46px 1fr;gap:10px;min-width:0;padding:14px;border:1px solid var(--fsw-border);border-top:5px solid var(--fsw-safe);border-radius:15px;background:var(--fsw-surface)}
.fswp-condition-card[data-level="moderate"],.fswp-condition-card[data-level="watch"]{border-top-color:var(--fsw-warning)}
.fswp-condition-card[data-level="unhealthy"],.fswp-condition-card[data-level="danger"],.fswp-condition-card[data-level="hazard"]{border-top-color:var(--fsw-critical)}
.fswp-condition-card span,.fswp-condition-card strong,.fswp-condition-card small{display:block}
.fswp-condition-card span{color:var(--fsw-muted);font-size:.82rem}
.fswp-condition-card strong{margin-top:2px;color:var(--fsw-primary-forest);overflow-wrap:anywhere}
.fswp-condition-card small{margin-top:5px;color:var(--fsw-muted);line-height:1.35}

.fswp-personal-note{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;margin-top:18px;padding:18px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-warm-ivory)}
.fswp-personal-note__avatars{display:flex;align-items:center;min-width:58px}
.fswp-personal-note__avatars img{margin-left:-13px;border-radius:50%;background:var(--fsw-surface)}
.fswp-personal-note__avatars img:first-child{margin-left:0}
.fswp-personal-note strong{display:block;color:var(--fsw-primary-forest)}

.fswp-today-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px;margin-top:22px}
.fswp-panel,.fswp-plan-section{padding:24px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswp-panel__heading{display:flex;justify-content:space-between;align-items:start;gap:18px;margin-bottom:16px}
.fswp-panel__heading h2{margin:0}
.fswp-panel__heading>span{white-space:nowrap;color:var(--fsw-muted);font-weight:700}

.fswp-daily-checklist,.fswp-plan-checklist{display:grid;gap:8px}
.fswp-daily-item,.fswp-plan-item{display:flex;align-items:flex-start;gap:11px;padding:12px 13px;border:1px solid var(--fsw-border);border-radius:13px;background:var(--fsw-surface)}
.fswp-daily-item.is-priority{background:var(--fsw-warm-ivory)}
.fswp-daily-item input,.fswp-plan-item input{margin-top:4px;flex:0 0 auto}
.fswp-daily-item strong,.fswp-daily-item small{display:block}
.fswp-daily-item small{margin-top:2px;color:var(--fsw-muted)}

.fswp-phase-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.fswp-phase-tabs label{position:relative;cursor:pointer}
.fswp-phase-tabs input{position:absolute;opacity:0;pointer-events:none}
.fswp-phase-tabs span{display:grid;place-items:center;min-height:46px;border:1px solid var(--fsw-border);border-radius:999px;background:var(--fsw-surface);font-weight:700}
.fswp-phase-tabs label:has(input:checked) span{border:2px solid var(--fsw-primary-forest);background:var(--fsw-warm-ivory)}
.fswp-phase-summary{margin:16px 0;padding:16px;border-left:5px solid var(--fsw-fresh-leaf);border-radius:12px;background:var(--fsw-warm-ivory)}
.fswp-phase-summary strong{display:block;color:var(--fsw-primary-forest)}
.fswp-phase-summary p{margin:4px 0 0;color:var(--fsw-muted)}

.fswp-action-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:22px}
.fswp-action-strip>a{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:15px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory);text-decoration:none}
.fswp-action-strip strong,.fswp-action-strip small{display:block}
.fswp-action-strip strong{color:var(--fsw-primary-forest)}
.fswp-action-strip small{margin-top:3px;color:var(--fsw-muted)}

.fswp-account-prompt{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:22px;padding:22px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-warm-ivory),rgba(82,183,136,.12))}
.fswp-account-prompt h2{margin:0 0 5px}
.fswp-account-prompt p:not(.fsw-kicker){margin:0;color:var(--fsw-muted)}

.fswp-safety-boundary{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;margin-top:22px;padding:17px;border-left:6px solid var(--fsw-danger);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswp-safety-boundary strong,.fswp-safety-boundary span{display:block}
.fswp-safety-boundary span{margin-top:3px;color:var(--fsw-muted)}

.fswp-plan-toolbar{padding:22px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-warm-ivory)}
.fswp-plan-toolbar__actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}
.fswp-danger-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border:2px solid var(--fsw-critical)!important;border-radius:999px;background:var(--fsw-surface)!important;color:var(--fsw-critical)!important;font-weight:700;cursor:pointer}

.fswp-plan-nav{display:flex;gap:8px;overflow-x:auto;margin-bottom:16px;padding:4px 1px 10px}
.fswp-plan-nav button{flex:0 0 auto;min-height:42px;padding:9px 14px;border:1px solid var(--fsw-border);border-radius:999px;background:var(--fsw-surface);color:var(--fsw-primary-forest);font-weight:700;cursor:pointer}
.fswp-plan-nav button.is-current{border:2px solid var(--fsw-primary-forest);background:var(--fsw-warm-ivory);padding:8px 13px}
.fswp-plan-section{scroll-margin-top:110px}
.fswp-section-intro{margin-bottom:20px}
.fswp-section-intro h2{margin:0 0 7px}
.fswp-section-intro p:not(.fsw-kicker){margin:0;color:var(--fsw-muted)}
.fswp-section-note{color:var(--fsw-muted);font-size:.9rem}

.fswp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.fswp-field{display:grid;gap:6px;margin-bottom:14px;font-weight:700}
.fswp-field--wide{grid-column:1/-1}
.fswp-field input,.fswp-field textarea,.fswp-field select{width:100%}
.fswp-field textarea{resize:vertical}
.fswp-check{display:flex;align-items:flex-start;gap:9px}
.fswp-check input{margin-top:4px}

.fswp-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fswp-choice-card{position:relative;cursor:pointer}
.fswp-choice-card input{position:absolute;opacity:0;pointer-events:none}
.fswp-choice-card>span{display:grid;grid-template-columns:52px 1fr;gap:10px;align-items:center;min-height:78px;padding:12px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-surface)}
.fswp-choice-card:has(input:checked)>span{border:2px solid var(--fsw-primary-forest);padding:11px;background:var(--fsw-warm-ivory)}

.fswp-contact-list{display:grid;gap:12px;margin-bottom:14px}
.fswp-contact-card{padding:16px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-warm-ivory)}
.fswp-contact-card>button{margin-top:10px;border:0;background:transparent;color:var(--fsw-critical);font-weight:700;text-decoration:underline;cursor:pointer}
.fswp-empty{padding:20px;border:1px dashed var(--fsw-border);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswp-empty strong{display:block;color:var(--fsw-primary-forest)}
.fswp-empty p{margin:4px 0 0;color:var(--fsw-muted)}

.fswp-phase-plan{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.fswp-phase-plan__card{padding:16px;border:1px solid var(--fsw-border);border-radius:16px;background:var(--fsw-surface)}
.fswp-phase-plan__heading{display:grid;grid-template-columns:50px 1fr;gap:10px;align-items:center;margin-bottom:14px}
.fswp-phase-plan__heading h3{margin:0}

.fswp-plan-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.fswp-plan-review article{display:grid;grid-template-columns:48px 1fr;gap:10px;align-items:center;padding:14px;border:1px solid var(--fsw-border);border-radius:14px;background:var(--fsw-warm-ivory)}
.fswp-plan-review strong,.fswp-plan-review span{display:block}
.fswp-plan-review span{margin-top:3px;color:var(--fsw-muted)}
.fswp-review-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}

.fswp-plan-bottom-nav{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px}
.fswp-plan-bottom-nav span{color:var(--fsw-muted);font-weight:700}
.fswp-notice{padding:18px 20px;border-left:6px solid var(--fsw-warning);border-radius:14px;background:var(--fsw-warm-ivory)}

@media(max-width:1080px){
  .fswp-condition-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .fswp-today-grid{grid-template-columns:1fr}
  .fswp-phase-plan{grid-template-columns:1fr}
}
@media(max-width:820px){
  .fswp-condition-row{grid-template-columns:1fr 1fr}
  .fswp-action-strip{grid-template-columns:1fr}
  .fswp-choice-grid{grid-template-columns:1fr 1fr}
  .fswp-account-prompt,.fswp-plan-toolbar{display:grid;align-items:start}
  .fswp-plan-toolbar__actions{justify-content:start}
}
@media(max-width:620px){
  .fswp-hero-icons{grid-template-columns:68px 88px 68px}
  .fswp-hero-icons>*{width:68px;height:68px}
  .fswp-hero-icons>*:nth-child(2){width:88px;height:88px}
  .fswp-brief-header{display:grid;align-items:start}
  .fswp-save-state{text-align:left}
  .fswp-priority-card{grid-template-columns:1fr;padding:20px}
  .fswp-priority-card__icon{width:68px;height:68px}
  .fswp-priority-actions{display:grid}
  .fswp-priority-actions .fsw-button{width:100%}
  .fswp-condition-row{grid-template-columns:1fr}
  .fswp-personal-note{grid-template-columns:1fr}
  .fswp-panel,.fswp-plan-section{padding:18px}
  .fswp-panel__heading{display:grid}
  .fswp-choice-grid,.fswp-form-grid,.fswp-plan-review{grid-template-columns:1fr}
  .fswp-field--wide{grid-column:auto}
  .fswp-plan-bottom-nav{display:grid;grid-template-columns:1fr 1fr}
  .fswp-plan-bottom-nav span{grid-column:1/-1;grid-row:1;text-align:center}
  .fswp-account-prompt .fsw-button,.fswp-plan-toolbar__actions .fsw-button,.fswp-plan-toolbar__actions button{width:100%}
  .fswp-safety-boundary{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .fswp-loading__dot{animation:none}
}
@media print{
  body.fsw-public-shell-active{background:#fff!important}
  .fsw-site-header,.fsw-site-footer,.fswp-plan-nav,.fswp-plan-bottom-nav,
  .fswp-plan-toolbar__actions,.fswp-account-prompt,.fswp-live-region{display:none!important}
  .fswp-plan-section[hidden]{display:block!important}
  .fswp-plan-section{box-shadow:none;break-inside:avoid;margin-bottom:16px;padding:16px}
  .fswp-page .fsw-section-hero{padding:18px 0!important}
  .fswp-plan-review,.fswp-phase-plan{grid-template-columns:1fr 1fr}
  a{color:#000!important;text-decoration:none!important}
}
