/* AC shell: functional records first, offline map with an independent fallback. */
body{background:#f5f6f8!important;color:#253340!important}
body header{background:#fff;color:#253340;border-bottom:1px solid #dde3e8;padding:16px 4%}
body header a{color:#35596b}body main{max-width:1240px;margin-top:26px}
body .card{box-shadow:0 2px 4px #172b3b04;border-color:#dfe5e9;padding:22px}
body nav[aria-label="Workspace navigation"]{background:#fff;border:1px solid #dfe5e9;border-radius:10px;padding:14px 18px;gap:12px 22px;font-size:14px}
.metric-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:22px 0}
.metric{display:flex;flex-direction:column;text-decoration:none;background:#fff;border:1px solid #dfe5e9;border-radius:12px;padding:18px;color:#253340;gap:8px}
.metric:hover{border-color:#46788d}.metric strong{font-size:34px;line-height:1.15}.metric small{font-size:12px}
.filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 18px}
.filters summary{font-weight:600;cursor:pointer}.filters label{font-size:13px}
.atlas-viewport{position:relative}.atlas-viewport canvas{display:block;width:100%;height:340px;max-height:45vh;border-radius:8px;background:#f6f9fb}
.atlas-viewport button{padding:6px 13px;font-size:13px}.atlas-viewport p{font-size:13px;color:#506879}
.attention-needs_reply{color:#824e14;background:#fff0d8}.attention-waiting{color:#22586d;background:#e5f1f5}
.attention-suppressed{color:#8f3434;background:#fcecec}body a:focus-visible,body button:focus-visible,body canvas:focus-visible{outline:3px solid #175e80;outline-offset:3px}
/* Retain the approved palette while making every keyboard control visible. */
body input:focus-visible,body select:focus-visible,body textarea:focus-visible,body summary:focus-visible,body [tabindex]:focus-visible{outline:3px solid #175e80;outline-offset:3px}
/* Two rings remain visible on both the white shell and dark header fallback. */
body header :focus-visible{outline:3px solid #175e80;outline-offset:3px;box-shadow:0 0 0 3px #fff}
.skip-link{position:absolute;left:16px;top:8px;z-index:1000;background:#fff;color:#175e80;padding:10px 16px;border:2px solid #175e80;transform:translateY(-160%)}
.skip-link:focus{transform:none}
.table-scroll:focus-visible{outline-offset:-3px}
.form-error-summary ul{padding-left:20px}
.grid,.grid>*,.filter-grid>*{min-width:0}
body .grid{grid-template-columns:repeat(auto-fit,minmax(min(290px,100%),1fr))}
body .filter-grid{grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}
@media(max-width:640px){body main{padding-left:14px;padding-right:14px}.card{min-width:0}button,.button{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media(max-width:640px){.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.metric{padding:14px}.metric strong{font-size:28px}.atlas-viewport canvas{height:260px}}
