.dispatch-hero{background:var(--forest);color:var(--white);padding:clamp(3rem,7vw,6rem) clamp(1.2rem,7vw,8rem);display:grid;grid-template-columns:1fr auto;gap:4rem;align-items:end}.dispatch-hero h1{font:clamp(4.5rem,11vw,9rem)/.82 "Archivo Black";letter-spacing:-.07em;text-transform:uppercase;margin:.8rem 0}.dispatch-hero>div>p:last-child{font-size:1.2rem;max-width:680px}.dispatch-hero .hero-stat{min-width:250px}.login-shell{padding:clamp(3rem,7vw,6rem) 1.2rem}.dispatch-login{max-width:560px;margin:auto;background:var(--ink);color:white;padding:clamp(1.5rem,5vw,3rem)}.dispatch-login h2,.panel-heading h2,.detail-empty h2,.person-heading h2,.templates-section h2{font:clamp(2rem,4vw,3.8rem)/.95 "Archivo Black";text-transform:uppercase;letter-spacing:-.04em;margin:.4rem 0 1.4rem}.dispatch-login .field input{background:#fff}.form-status{min-height:1.4em;font-weight:700;font-size:.85rem}.dispatch-shell{padding:clamp(2rem,5vw,4rem) clamp(1rem,4vw,4rem)}.dispatch-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.dispatch-toolbar>div{display:flex;align-items:center;gap:.7rem}.dispatch-toolbar span:last-child{color:var(--muted);font-size:.8rem}.live-dot{width:9px;height:9px;border-radius:50%;background:#3ab96b;box-shadow:0 0 0 5px rgba(58,185,107,.15)}.dispatch-grid{display:grid;grid-template-columns:minmax(270px,360px) 1fr;border:1px solid var(--line);min-height:650px}.people-panel{background:var(--forest);color:white}.panel-heading{padding:2rem;border-bottom:1px solid rgba(255,255,255,.18)}.people-list{display:flex;flex-direction:column}.person-row{appearance:none;border:0;border-bottom:1px solid rgba(255,255,255,.15);background:transparent;color:white;text-align:left;padding:1.2rem 1.5rem;cursor:pointer;display:grid;grid-template-columns:42px 1fr auto;gap:.8rem;align-items:center}.person-row:hover,.person-row.active{background:var(--lime);color:var(--ink)}.person-avatar{width:42px;height:42px;background:rgba(255,255,255,.13);display:grid;place-items:center;font:1.1rem "Archivo Black"}.person-row.active .person-avatar,.person-row:hover .person-avatar{background:var(--forest);color:white}.person-row strong,.person-row small{display:block}.person-row small{opacity:.65;text-transform:uppercase;font-size:.66rem;font-weight:700;letter-spacing:.08em;margin-top:.2rem}.person-time{font-size:.7rem;font-weight:700}.empty-state{padding:2rem;color:rgba(255,255,255,.7)}.person-detail{background:#fff;padding:clamp(1.3rem,4vw,3rem)}.detail-empty{max-width:590px;margin:8rem auto}.detail-empty p:last-child{color:var(--muted)}.person-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem}.person-heading h2{margin-bottom:.4rem}.person-heading>div>p:last-child{color:var(--muted)}.status-badge{background:var(--lime);padding:.35rem .65rem;font-size:.7rem;font-weight:700;text-transform:uppercase}.map-wrap{margin:2rem 0;border:1px solid var(--line);background:var(--cream)}.map-wrap iframe{width:100%;height:360px;border:0;display:block}.map-meta{display:flex;flex-wrap:wrap;gap:1.4rem;padding:.8rem 1rem;font-size:.78rem;font-weight:700}.action-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.action-card{border:1px solid var(--line);padding:1.5rem}.action-card h3{font:1.7rem "Archivo Black";text-transform:uppercase;margin:.4rem 0 1.5rem}.action-card.dark{background:var(--ink);color:white}.action-card.dark input,.action-card.dark textarea{color:var(--ink)}.templates-section{margin-top:4rem}.templates-section .section-head{align-items:center}.table-wrap{overflow-x:auto}.league-table td{vertical-align:top}.league-table td:last-child{min-width:300px}.templates-section .eyebrow,.panel-heading .eyebrow{margin:0}.field span{font-size:.76rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.field textarea,.field select{width:100%}@media(max-width:900px){.dispatch-grid{grid-template-columns:1fr}.people-panel{max-height:430px;overflow:auto}.action-grid{grid-template-columns:1fr}}@media(max-width:650px){.dispatch-hero{grid-template-columns:1fr}.dispatch-hero .hero-stat{min-width:0}.dispatch-toolbar>div span:last-child{display:none}.map-wrap iframe{height:290px}.person-heading{display:block}.status-badge{display:inline-block;margin-top:.5rem}}
