.public-section-page{min-height:100vh}
.public-section-header{margin-bottom:28px}
.public-section-main{width:100%;max-width:1200px;margin:0 auto 28px}
.public-section-intro{margin-bottom:16px}
.public-section-intro h2{font-size:23px}
.public-section-kicker{margin-bottom:5px;color:var(--accent2);font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.public-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.public-action-card{position:relative;display:flex;min-height:168px;flex-direction:column;align-items:flex-start;justify-content:flex-end;overflow:hidden;padding:22px;border:1px solid var(--border);border-radius:14px;background:linear-gradient(145deg,var(--panel2),var(--panel));color:var(--text);text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.public-action-card::after{position:absolute;inset:auto -34px -54px auto;width:148px;height:148px;border:24px solid rgba(255,255,255,.035);border-radius:50%;content:""}
.public-action-card:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(0,0,0,.24)}
.public-action-card strong{position:relative;z-index:1;max-width:92%;font-size:20px;line-height:1.25}
.public-action-card>span:last-child{position:relative;z-index:1;margin-top:8px;color:var(--muted);font-size:13px;line-height:1.4}
.public-action-number{position:absolute;top:17px;right:19px;color:rgba(255,255,255,.18);font-size:27px;font-weight:900;letter-spacing:.06em}
.public-action-team{border-color:#b64a53}.public-action-team:hover,.public-action-team[aria-expanded="true"]{border-color:#f06d76}
.public-action-resources{border-color:#4b7696}
.public-action-appeal{border-color:#a77a3d}.public-action-appeal:hover{border-color:#e5bc6b}
.public-action-documents{border-color:#66707a}
.public-action-card:disabled{cursor:not-allowed;opacity:.68}
.public-team-panel{margin-top:18px;animation:publicPanelIn .2s ease both}
.public-team-panel[hidden]{display:none}
.public-team-panel .panel-heading{align-items:flex-start}
.public-team-panel .panel-heading h2{font-size:19px}
.public-team-panel>.paramedics-list{display:block}
.public-staff-group+.public-staff-group{margin-top:20px;padding-top:20px;border-top:1px solid var(--border)}
.public-staff-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.public-staff-heading h3{font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.public-command-staff .public-staff-heading h3{color:#e5bc6b}
.public-field-staff .public-staff-heading h3{color:#8fc8ff}
.public-staff-heading span{display:grid;place-items:center;min-width:28px;height:28px;padding:0 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:800}
.public-staff-list{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.public-command-staff .paramedic-card{border-color:rgba(229,188,107,.55)}
.public-field-staff .paramedic-card{border-color:rgba(75,155,234,.45)}
.public-staff-empty{grid-column:1/-1;padding:14px;border:1px dashed var(--border);border-radius:9px;color:var(--muted);font-size:13px}
@keyframes publicPanelIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.public-dialog{width:min(680px,calc(100vw - 28px));padding:0;border:1px solid var(--border);border-radius:15px;background:var(--panel);color:var(--text);box-shadow:0 24px 80px rgba(0,0,0,.55)}
.public-dialog::backdrop{background:rgba(7,8,10,.8);backdrop-filter:blur(3px)}
.public-dialog-content{padding:24px}
.public-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:13px}
.public-dialog-heading h2{font-size:22px}
.public-dialog-close{width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--muted);font-size:25px;line-height:1}
.public-dialog-intro{margin-bottom:18px;padding:12px 14px;border-left:3px solid var(--accent2);background:var(--panel2);color:var(--muted);font-size:14px;line-height:1.5}
.public-dialog label{display:block;margin:12px 0 6px;color:var(--muted);font-size:13px;font-weight:700}
.public-dialog input,.public-dialog textarea{width:100%}
.public-dialog textarea{min-height:150px;resize:vertical}
.public-textarea-label{display:flex;align-items:end;justify-content:space-between;gap:12px}
.public-textarea-label span{color:var(--muted);font-size:11px}
.public-appeal-status{min-height:20px;margin-top:10px;color:#8de3a1;font-size:13px}
.public-appeal-status.error{color:#ff8d95}
.public-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:14px}
.public-dialog-actions button{width:auto;min-width:130px}
.public-success-dialog{width:min(520px,calc(100vw - 28px))}
.public-success-content{text-align:center}
.public-success-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border:3px solid #49bf72;border-radius:50%;color:#63db8b;font-size:35px;font-weight:900}
.public-success-content h2{margin-bottom:10px}
.public-success-content p{color:var(--muted);font-size:15px;line-height:1.55}
.public-success-content button{width:min(220px,100%);margin-top:20px}
@media(max-width:720px){.public-action-grid{grid-template-columns:1fr}.public-action-card{min-height:145px}.public-section-header{padding-top:58px}.public-dialog-actions{flex-direction:column}.public-dialog-actions button{width:100%}}
