.dashboard{grid-template-columns:1fr;grid-template-areas:"alerts""map""sidebar";gap:1rem;padding-top:1rem;padding-bottom:1rem;display:grid}.dashboard-alerts{grid-area:alerts}.dashboard-map{grid-area:map}.dashboard-sidebar{flex-direction:column;grid-area:sidebar;gap:.5rem;display:flex}.dashboard-scroll-hint{cursor:pointer;background:0 0;border:none;grid-area:hint;display:none}.dashboard-scroll-hint:hover{opacity:.8}.sector-grid{grid-template-columns:1fr;gap:.5rem;width:100%;display:grid}@media (min-width:480px){.sector-grid{grid-template-columns:1fr 1fr 1fr}}@media (min-width:1024px){.dashboard{grid-template:"alerts map""sidebar map"minmax(0,1fr)"hint hint"/minmax(260px,1fr) minmax(0,calc(92.8776dvh - 74.3021px));column-gap:6rem;min-height:calc(100dvh - 80px);position:relative}.dashboard-map{justify-content:end;align-items:flex-start;min-height:0;max-height:calc(100dvh - 80px - 2rem);margin:0;display:flex;position:sticky;top:80px}.sector-grid{grid-template-columns:1fr}.dashboard-scroll-hint{color:var(--color-text-muted);font-family:var(--font-mono);opacity:.5;justify-content:center;padding:.5rem;font-size:.75rem;display:flex;position:sticky;bottom:1.5rem}.hint-arrow{margin-top:-3px;margin-right:.25rem;font-size:1rem;animation:5s ease-in-out infinite hint-bob;display:inline-block}@keyframes hint-bob{0%,to{transform:translateY(-3px)}50%{transform:translateY(3px)}}}
.alerts{flex-direction:column;gap:.5rem;display:flex}@media (min-width:768px){.alerts{flex-direction:row;overflow-x:auto}.alert-banner{flex-shrink:0;min-width:220px}}.alert-banner{border:2px solid var(--color-danger);background:#770101e6;padding:.5rem .75rem;animation:2s infinite alert-pulse}@keyframes alert-pulse{0%,to{border-color:var(--color-danger)}50%{border-color:#ff00004d}}.alert-banner-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.alert-banner-type{font-family:var(--font-body);text-transform:uppercase;color:#fff;font-size:.75rem;font-weight:700}.alert-banner-icon{width:20px;height:20px}.alert-banner-body{color:#ffffffd9;font-size:.8125rem}.alert-banner-time{color:#fff9;margin-top:.125rem;font-size:.6875rem}.alert-banner-bar{background:#ffffff26;height:4px;margin-top:.375rem}.alert-banner-bar-fill{background:var(--color-primary);height:100%}
