
.fswc-page{min-height:60vh}
.fswc-hero-people{display:flex;align-items:end;justify-content:center}
.fswc-hero-people>*{margin-left:-22px;filter:drop-shadow(0 12px 22px rgba(27,67,50,.09))}
.fswc-hero-people>*:first-child{margin-left:0}
.fswc-app{display:grid;gap:28px}
.fswc-live-region:empty{display:none}
.fswc-live-region{padding:13px 15px;border-radius:13px;background:var(--fsw-warm-ivory)}
.fswc-live-region.is-success{border-left:5px solid var(--fsw-safe)}
.fswc-live-region.is-error{border-left:5px solid var(--fsw-critical)}

.fswc-overview{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.fswc-overview article{display:grid;grid-template-columns:52px 1fr;column-gap:12px;align-items:center;min-width:0;padding:17px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswc-overview article>span{grid-row:1/3;display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--fsw-warm-ivory)}
.fswc-overview strong{font-size:1.25rem;color:var(--fsw-primary-forest)}
.fswc-overview small{color:var(--fsw-muted)}

.fswc-peace-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-warm-ivory),rgba(82,183,136,.14))}
.fswc-peace-panel h2{margin:0 0 6px}
.fswc-peace-panel p:not(.fsw-kicker){margin:0;color:var(--fsw-muted)}

.fswc-section-heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:14px}
.fswc-section-heading h2{margin:0}
.fswc-dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}
.fswc-card-list,.fswc-checkin-list{display:grid;gap:12px}

.fswc-member-card{display:grid;grid-template-columns:78px 1fr;gap:14px;padding:17px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-md);background:var(--fsw-surface);box-shadow:var(--fsw-shadow-sm)}
.fswc-member-card--shared{border-left:5px solid var(--fsw-fresh-leaf)}
.fswc-member-card__visual{display:grid;place-items:center;width:78px;height:78px;border-radius:50%;background:var(--fsw-warm-ivory);overflow:hidden}
.fswc-member-card__visual img{max-width:100%;height:auto}
.fswc-avatar-fallback{display:grid;place-items:center;width:100%;height:100%;font-size:1.6rem;font-weight:800;color:var(--fsw-primary-forest)}
.fswc-member-card h3{margin:0}
.fswc-member-card p:not(.fsw-kicker){margin:3px 0;color:var(--fsw-muted)}
.fswc-member-card__meta{display:flex;gap:6px 12px;flex-wrap:wrap;margin-top:8px}
.fswc-member-card__meta span{font-size:.82rem;color:var(--fsw-muted)}
.fswc-member-card__actions{display:flex;gap:7px 12px;flex-wrap:wrap;margin-top:12px}
.fswc-member-card__actions button,.fswc-member-card__actions a{border:0;background:transparent;padding:0;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer}
.fswc-member-card__actions button:last-child{color:var(--fsw-critical)}

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

.fswc-recent-alerts{padding:22px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:var(--fsw-warm-ivory)}
.fswc-alert-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fswc-alert-card{display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center;padding:13px;border:1px solid var(--fsw-border);border-radius:14px;background:var(--fsw-surface)}
.fswc-alert-card strong,.fswc-alert-card small{display:block}
.fswc-alert-card small{margin-top:3px;color:var(--fsw-muted)}
.fswc-alert-card button{border:0;background:transparent;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer}

.fswc-checkin-card{display:grid;grid-template-columns:50px 1fr auto;gap:13px;align-items:center;padding:16px;border:1px solid var(--fsw-border);border-left:6px solid var(--fsw-warning);border-radius:var(--fsw-radius-md);background:var(--fsw-surface)}
.fswc-checkin-card h3{margin:0}
.fswc-checkin-card p:not(.fsw-kicker){margin:3px 0;color:var(--fsw-muted)}
.fswc-checkin-card small{display:block;color:var(--fsw-muted)}
.fswc-checkin-card__actions{display:flex;gap:8px 12px;flex-wrap:wrap;justify-content:flex-end}
.fswc-checkin-card__actions button,.fswc-checkin-card__actions a{border:0;background:transparent;padding:0;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer}

.fswc-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.fswc-history-item{display:flex;justify-content:space-between;gap:18px;padding:13px 14px;border:1px solid var(--fsw-border);border-left:5px solid var(--fsw-safe);border-radius:13px;background:var(--fsw-surface)}
.fswc-history-item--needs_help{border-left-color:var(--fsw-danger)}
.fswc-history-item--no_response{border-left-color:var(--fsw-warning)}
.fswc-history-item>div{display:grid;gap:2px}
.fswc-history-item span,.fswc-history-item small{color:var(--fsw-muted)}
.fswc-muted{color:var(--fsw-muted)}

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

.fswc-modal[hidden]{display:none}
.fswc-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:18px;background:rgba(20,38,30,.62);overflow:auto}
.fswc-modal__panel{width:min(920px,100%);max-height:calc(100vh - 36px);overflow:auto;border-radius:var(--fsw-radius-lg);background:var(--fsw-surface);box-shadow:0 24px 60px rgba(0,0,0,.24)}
.fswc-modal__panel--small{width:min(620px,100%)}
.fswc-modal__heading{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:20px;padding:22px 24px;border-bottom:1px solid var(--fsw-border);background:var(--fsw-warm-ivory)}
.fswc-modal__heading h2{margin:0}
.fswc-modal__heading button{border:0;background:transparent;color:var(--fsw-primary-forest);font-weight:700;text-decoration:underline;cursor:pointer}
.fswc-modal form{padding:24px}
.fswc-modal fieldset{border:0;padding:0;margin:0 0 26px}
.fswc-modal legend{font-size:1.25rem;font-weight:750;color:var(--fsw-primary-forest);margin-bottom:12px}
.fswc-form-note{margin:-5px 0 15px;color:var(--fsw-muted)}

.fswc-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.fswc-source-card{position:relative;display:flex;align-items:center;gap:10px;min-height:92px;padding:12px;border:1px solid var(--fsw-border);border-radius:15px;background:var(--fsw-surface);cursor:pointer}
.fswc-source-card:hover{background:var(--fsw-warm-ivory)}
.fswc-source-card:has(input:checked){border:2px solid var(--fsw-primary-forest);padding:11px;background:var(--fsw-warm-ivory)}
.fswc-source-card.is-added{opacity:.58;cursor:not-allowed}
.fswc-source-card input{position:absolute;opacity:0;pointer-events:none}
.fswc-source-card__visual{display:grid;place-items:center;flex:0 0 70px;width:70px;height:70px;border-radius:50%;background:var(--fsw-warm-ivory);overflow:hidden}
.fswc-source-card strong,.fswc-source-card small{display:block}
.fswc-source-card small{margin-top:3px;color:var(--fsw-muted)}

.fswc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fswc-field{display:grid;gap:6px;margin-bottom:15px;font-weight:700}
.fswc-field small{font-weight:400;color:var(--fsw-muted)}
.fswc-check{display:flex;align-items:flex-start;gap:9px;padding:10px 12px;margin-bottom:8px;border:1px solid var(--fsw-border);border-radius:12px;background:var(--fsw-warm-ivory)}
.fswc-check input{margin-top:5px}

.fswc-condition-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}
.fswc-condition-grid label,.fswc-action-grid label,.fswc-outcome-grid label{position:relative;cursor:pointer}
.fswc-condition-grid input,.fswc-action-grid input,.fswc-outcome-grid input{position:absolute;opacity:0;pointer-events:none}
.fswc-condition-grid label>span{display:flex;align-items:center;gap:8px;min-height:66px;padding:10px;border:1px solid var(--fsw-border);border-radius:13px;background:var(--fsw-surface)}
.fswc-condition-grid label:has(input:checked)>span{border:2px solid var(--fsw-primary-forest);padding:9px;background:var(--fsw-warm-ivory)}

.fswc-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.fswc-action-grid label>span{display:grid;grid-template-columns:44px 1fr;column-gap:10px;align-items:center;min-height:82px;padding:12px;border:1px solid var(--fsw-border);border-radius:14px;background:var(--fsw-surface)}
.fswc-action-grid label>span .fswds-icon{grid-row:1/3}
.fswc-action-grid strong,.fswc-action-grid small{display:block}
.fswc-action-grid small{color:var(--fsw-muted)}
.fswc-action-grid label:has(input:checked)>span{border:2px solid var(--fsw-primary-forest);padding:11px;background:var(--fsw-warm-ivory)}

.fswc-outcome-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.fswc-outcome-grid label>span{display:grid;place-items:center;min-height:62px;padding:12px;border:2px solid var(--fsw-border);border-radius:14px;background:var(--fsw-surface)}
.fswc-outcome-grid label:has(input:checked)>span{border-color:var(--fsw-primary-forest);background:var(--fsw-warm-ivory)}
.fswc-modal__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}

.fswc-invitation,.fswc-guest{display:grid;grid-template-columns:100px 1fr;gap:22px;align-items:center;padding:30px;border:1px solid var(--fsw-border);border-radius:var(--fsw-radius-lg);background:linear-gradient(135deg,var(--fsw-warm-ivory),rgba(82,183,136,.13))}
.fswc-invitation__icon{display:grid;place-items:center;width:100px;height:100px;border-radius:25px;background:var(--fsw-surface)}
.fswc-invitation h2,.fswc-guest h2{margin:0 0 10px}
.fswc-invitation p:not(.fsw-kicker),.fswc-guest p:not(.fsw-kicker){color:var(--fsw-muted)}
.fswc-guest{grid-template-columns:.9fr 1.1fr}
.fswc-guest__people{display:flex;align-items:end;justify-content:center}
.fswc-guest__people>*{margin-left:-20px}
.fswc-guest__people>*:first-child{margin-left:0}

.fswc-notice,.fswc-success{margin-bottom:20px;padding:18px 20px;border-radius:var(--fsw-radius-md);background:var(--fsw-warm-ivory)}
.fswc-notice{border-left:6px solid var(--fsw-warning)}
.fswc-notice--error{border-left-color:var(--fsw-critical)}
.fswc-success{border-left:6px solid var(--fsw-safe)}
.fswc-notice strong,.fswc-success strong{display:block;color:var(--fsw-primary-forest)}
.fswc-notice p,.fswc-success p{margin:4px 0 0;color:var(--fsw-muted)}

@media(max-width:1050px){
  .fswc-overview{grid-template-columns:1fr 1fr}
  .fswc-dashboard-grid{grid-template-columns:1fr}
  .fswc-alert-list{grid-template-columns:1fr}
}
@media(max-width:780px){
  .fswc-peace-panel{display:grid}
  .fswc-peace-panel .fsw-button{width:100%}
  .fswc-source-grid{grid-template-columns:1fr 1fr}
  .fswc-condition-grid{grid-template-columns:1fr 1fr}
  .fswc-history{grid-template-columns:1fr}
  .fswc-invitation,.fswc-guest{grid-template-columns:1fr}
}
@media(max-width:620px){
  .fswc-hero-people{min-height:170px;overflow:hidden}
  .fswc-overview{grid-template-columns:1fr}
  .fswc-section-heading{display:grid;align-items:start}
  .fswc-section-heading .fsw-button{width:100%}
  .fswc-member-card{grid-template-columns:66px 1fr}
  .fswc-member-card__visual{width:66px;height:66px}
  .fswc-checkin-card{grid-template-columns:44px 1fr}
  .fswc-checkin-card__actions{grid-column:2;justify-content:flex-start}
  .fswc-alert-card{grid-template-columns:44px 1fr}
  .fswc-alert-card button{grid-column:2;text-align:left}
  .fswc-history-item{display:grid}
  .fswc-source-grid,.fswc-form-grid,.fswc-condition-grid,.fswc-action-grid,.fswc-outcome-grid{grid-template-columns:1fr}
  .fswc-modal{padding:0}
  .fswc-modal__panel{min-height:100vh;max-height:none;border-radius:0}
  .fswc-modal__heading,.fswc-modal form{padding-left:18px;padding-right:18px}
  .fswc-modal__actions{display:grid}
  .fswc-modal__actions .fsw-button{width:100%}
  .fswc-boundary{grid-template-columns:1fr}
}
