:root {
  --ink:#173044;
  --muted:#687985;
  --green:#075989;
  --green-dark:#064669;
  --mint:#e8f3f8;
  --peach:#fff0ed;
  --lavender:#eee9f6;
  --line:#dce7ec;
  --paper:#fff;
  --canvas:#f5f8fa
}
.geo-radius-note{margin:-8px 2px 14px;color:var(--muted);font-size:11px;line-height:1.5}

/* Geographic map layout. */
.geo-page{padding:2px 0 22px}.geo-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px}.geo-heading h1{font-size:29px;letter-spacing:-.8px}.geo-heading p{margin-top:7px;color:var(--muted);font-size:13px}.geo-demo-tag{white-space:nowrap;border-radius:30px;padding:8px 11px;background:#fff4e8;color:#855b26;font-size:10px;font-weight:750}.geo-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;padding:12px;background:white;border:1px solid var(--line);border-radius:14px;margin:18px 0}.geo-toolbar .mud-input-control{min-width:145px;flex:1}.geo-toolbar .mud-button-root{height:40px}.geo-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.geo-map-card,.geo-side-panel{background:#fff;border:1px solid var(--line);border-radius:15px;overflow:hidden}.geo-map-topline{height:46px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;font-size:11px;color:var(--muted)}.geo-map-topline strong{color:var(--ink)}.geo-live-note{display:flex;gap:6px;align-items:center;font-size:10px}.geo-live-note i{width:7px;height:7px;background:#d69c47;border-radius:50%}.geo-map-canvas{height:460px;position:relative;overflow:hidden;background:#e9f3f4}.geo-map-drawing{position:absolute;inset:0;width:100%;height:100%}.map-island{fill:#dbe9d9;stroke:#9dbda9;stroke-width:3}.map-road{fill:none;stroke:#fffefa;stroke-width:11;stroke-linecap:round}.map-road.secondary{stroke:#fbfaf4;stroke-width:7}.map-coast{fill:none;stroke:#a8d5d8;stroke-width:9;stroke-linecap:round;opacity:.7}.geo-pin{position:absolute;z-index:3;display:grid;place-items:center;transform:translate(-50%,-50%);width:34px;height:34px;border:3px solid white;border-radius:50% 50% 50% 7px;rotate:-45deg;box-shadow:0 2px 8px #17304442;cursor:pointer}.geo-pin span{rotate:45deg;font-size:16px;font-weight:800}.provider-pin{background:#075989;color:#fff}.incident-pin{background:#e35b4f;color:white}.geo-pin.active{outline:3px solid #07598955;scale:1.13}.geo-impact-radius{position:absolute;z-index:2;transform:translate(-50%,-50%);border-radius:50%;background:#e35b4f21;border:2px solid #d3665855;pointer-events:none}.geo-user-dot{position:absolute;z-index:4;width:18px;height:18px;border:4px solid white;border-radius:50%;background:#2984ff;box-shadow:0 0 0 8px #2984ff35;transform:translate(-50%,-50%)}.geo-weather-overlay{position:absolute;z-index:1;inset:0;background:radial-gradient(ellipse at 59% 43%,#7da8d877 0,transparent 34%),radial-gradient(ellipse at 37% 66%,#8da7c955 0,transparent 25%);pointer-events:none}.geo-traffic-overlay{position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(155deg,transparent 47%,#e6a63cbb 48%,#e6a63cbb 49%,transparent 50%),linear-gradient(9deg,transparent 59%,#ca544bcc 60%,#ca544bcc 61%,transparent 62%)}.geo-weather-overlay span,.geo-traffic-overlay span{position:absolute;top:12px;left:12px;background:#fff;border-radius:6px;padding:6px 8px;font-size:9px;color:#435b69;box-shadow:0 1px 4px #17304422}.geo-traffic-overlay span{top:42px}.geo-scale,.geo-map-attribution{position:absolute;bottom:9px;background:#ffffffdc;border-radius:5px;padding:5px 7px;font-size:8px;color:#52646d}.geo-scale{left:9px}.geo-map-attribution{right:9px}.geo-map-legend{display:flex;gap:14px;flex-wrap:wrap;padding:11px 13px;color:var(--muted);font-size:9px}.geo-map-legend span{display:flex;gap:5px;align-items:center}.geo-map-legend i{width:9px;height:9px;border-radius:50%;display:inline-block}.legend-provider{background:#075989}.legend-incident{background:#e35b4f}.legend-radius{background:#e35b4f33;border:1px solid #d36658}.legend-user{background:#2984ff}.geo-side-panel{display:grid}.geo-side-section{padding:14px;border-bottom:1px solid var(--line)}.geo-side-section:last-child{border:0}.geo-section-title{display:flex;align-items:center;justify-content:space-between}.geo-section-title .eyebrow,.geo-selected-card .eyebrow{margin:0 0 4px;font-size:8px}.geo-section-title h2,.geo-selected-card h2{font-size:15px;letter-spacing:-.2px}.geo-layer-row{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid #edf1f2;cursor:pointer}.geo-layer-row>span{display:flex;gap:9px;align-items:center}.geo-layer-row strong,.geo-layer-row small{display:block}.geo-layer-row strong{font-size:11px}.geo-layer-row small{margin-top:2px;color:var(--muted);font-size:9px}.geo-layer-icon{width:28px;height:28px;display:grid;place-items:center;background:#e8f3f8;border-radius:8px;color:#075989}.traffic-icon{background:#fff0ed;color:#b64840}.geo-layer-footnote{margin-top:9px;color:#89969d;font-size:9px;line-height:1.4}.geo-selected-card{background:#f8fbfc}.geo-kind{display:inline-block;margin:9px 0 4px;border-radius:20px;padding:4px 8px;background:#e8f3f8;color:#075989;font-size:9px;font-weight:700}.geo-kind.incident{background:#fff0ed;color:#ac493f}.geo-selected-card p{font-size:11px;line-height:1.5}.geo-selected-card small{display:block;color:var(--muted);font-size:9px;margin-top:7px}.geo-selected-card .mud-button-root{margin:6px 0 0 -8px;font-size:10px}.geo-count{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:#e8f3f8;color:#075989;font-size:10px;font-weight:700}.geo-place-list{display:grid;margin-top:8px}.geo-place-row{display:flex;align-items:center;gap:8px;text-align:left;border:0;border-radius:8px;background:transparent;padding:8px 5px;cursor:pointer;color:var(--ink);width:100%}.geo-place-row.active{background:#f0f6f8}.geo-place-symbol{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:#e8f3f8;color:#075989}.geo-place-symbol.incident{background:#fff0ed;color:#b64840}.geo-place-row span:nth-child(2){flex:1;min-width:0}.geo-place-row strong,.geo-place-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.geo-place-row strong{font-size:9px}.geo-place-row small{font-size:8px;color:var(--muted);margin-top:3px}.geo-place-arrow{color:#72848b;font-size:18px}.geo-disclaimer{margin:12px 2px 0;color:#7f8f96;font-size:9px;line-height:1.5}
@media(max-width:1100px){.geo-layout{grid-template-columns:minmax(0,1fr) 270px}.geo-map-canvas{height:400px}}
@media(max-width:850px){.geo-layout{grid-template-columns:1fr}.geo-side-panel{grid-template-columns:1fr 1fr}.geo-side-section{border-right:1px solid var(--line)}.geo-side-section:last-child{grid-column:1/-1}.geo-map-canvas{height:390px}}
@media(max-width:560px){.geo-page{padding-top:0}.geo-heading{display:block}.geo-heading h1{font-size:25px}.geo-demo-tag{display:inline-block;margin-top:10px}.geo-toolbar{display:grid;grid-template-columns:1fr 1fr;align-items:end;padding:10px}.geo-toolbar .mud-input-control{min-width:0}.geo-toolbar .mud-button-root{grid-column:1/-1;width:100%}.geo-map-topline{padding:0 10px}.geo-map-canvas{height:330px}.geo-side-panel{grid-template-columns:1fr}.geo-side-section,.geo-side-section:last-child{grid-column:auto;border-right:0}.geo-map-legend{gap:8px}.geo-map-legend span{font-size:8px}}
* {
  box-sizing:border-box
}
html,body {
  margin:0;
  color:var(--ink);
  background:var(--canvas);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  font-size:14px
}
a {
  color:inherit
}
h1,h2,h3,p {
  margin:0
}
h1 {
  font-size:30px;
  line-height:1.25;
  letter-spacing:-1px;
  font-weight:700
}
h2 {
  font-size:19px;
  line-height:1.4;
  font-weight:700;
  letter-spacing:-.35px
}
h3 {
  font-size:16px;
  margin:22px 0 12px;
  font-weight:700
}
p {
  line-height:1.7
}
.muted,.footnote,.small {
  color:var(--muted)
}
.small,.footnote {
  font-size:12px
}
.footnote {
  margin:20px 0
}
.eyebrow {
  font-size:10px;
  font-weight:700;
  letter-spacing:1.5px;
  color:var(--muted);
  margin-bottom:10px
}
.app-shell {
  display:flex;
  min-height:100vh
}
.sidebar {
  width:238px;
  flex:0 0 238px;
  background:#fff;
  border-right:1px solid var(--line);
  padding:28px 18px;
  position:fixed;
  inset:0 auto 0 0;
  display:flex;
  flex-direction:column;
  z-index:1200
}
.workspace {
  width:calc(100% - 238px);
  margin-left:238px;
  min-width:0
}
.brand {
  display:flex;
  gap:3px;
  flex-direction:column;
  align-items:flex-start;
  text-decoration:none;
  padding:0 12px 26px;
  font-size:19px;
  font-weight:750;
  letter-spacing:-.4px
}
.brand b {
  font-weight:400;
  color:var(--green)
}
.brand small {
  display:block;
  font-size:10px;
  letter-spacing:.5px;
  color:var(--muted);
  margin-top:3px
}
.brand-mark {
  display:block;
  flex:none;
  width:156px;
  height:46px;
  object-fit:contain
}
.sidebar-section {
  font-size:9px;
  letter-spacing:1.4px;
  color:#687985;
  font-weight:700;
  padding:20px 14px 10px
}
.portal-nav .mud-nav-link {
  border-radius:8px;
  margin:3px 0;
  padding:12px;
  font-size:12px;
  color:#4c6575
}
.portal-nav .mud-nav-link.active {
  color:var(--green);
  background:#e8f3f8;
  font-weight:700
}
.portal-nav .mud-nav-link-icon {
  font-size:20px
}
.sidebar-bottom {
  margin-top:auto;
  padding:32px 8px 0
}
.sidebar-bottom p {
  font-size:11px;
  margin:10px 0;
  color:var(--muted)
}
.demo-note {
  font-size:10px;
  font-weight:700;
  display:flex;
  align-items:center;
  gap:8px
}
.demo-dot {
  width:6px;
  height:6px;
  background:#d69a40;
  border-radius:50%
}
.topbar {
  height:77px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 36px;
  gap:16px
}
.topbar-context {
  font-size:12px;
  color:var(--muted)
}
.topbar-context span {
  color:#b7c2cc;
  padding:0 12px
}
.topbar-context strong {
  font-weight:500;
  color:var(--ink)
}
.topbar-actions {
  display:flex;
  align-items:center;
  gap:16px
}
.review-label {
  font-size:10px;
  color:var(--muted)
}
.avatar {
  display:grid;
  place-items:center;
  width:33px;
  height:33px;
  border-radius:50%;
  background:#e8f3f8;
  color:var(--green);
  font-size:10px;
  font-weight:700
}
.menu-toggle {
  display:none!important
}
.menu-scrim {
  display:none
}
main {
  max-width:1480px;
  margin:0 auto;
  padding:35px 36px 45px;
  min-height:calc(100vh - 138px)
}
.page-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-bottom:22px
}
.page-heading p {
  font-size:12px;
  margin-top:10px;
  color:var(--muted)
}
.page-heading .mud-button {
  font-size:11px;
  max-width:230px
}
.review-states {
  margin:0 0 22px;
  color:var(--muted);
  font-size:11px;
  border:1px dashed #dce7ec;
  border-radius:8px;
  padding:9px 12px
}
.review-states summary {
  cursor:pointer
}
.review-states[open] summary {
  margin-bottom:10px
}
.review-states small {
  display:block;
  padding-top:6px;
  font-size:10px
}
.state-buttons {
  display:flex;
  gap:5px;
  flex-wrap:wrap
}
.hero-panel {
  padding:32px 36px;
  border-radius:15px;
  background:#e8f2f7;
  border:1px solid #dce7ec;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  overflow:hidden
}
.hero-tag {
  font-size:9px;
  font-weight:700;
  letter-spacing:1.5px;
  color:#075989
}
.hero-panel h2,.admin-intro h2 {
  font-size:30px;
  line-height:1.25;
  letter-spacing:-1px;
  margin:12px 0
}
.hero-panel p {
  color:#4c6575;
  font-size:12px;
  max-width:400px;
  margin-bottom:20px
}
.hero-panel .mud-button {
  font-size:12px
}
.hero-mark {
  position:relative;
  display:grid;
  place-items:center;
  width:240px;
  height:200px;
  flex:0 0 240px
}
.mark-ring {
  position:absolute;
  width:170px;
  height:170px;
  border:1px solid #b9cedc;
  border-radius:50%;
  box-shadow:0 0 0 22px #dae7ef,0 0 0 23px #c5d6e2
}
.mark-core {
  z-index:1;
  display:grid;
  place-items:center;
  height:92px;
  width:92px;
  border-radius:27px;
  transform:rotate(-9deg);
  background:#075989;
  color:#f5f8fa;
  font-size:62px;
  font-weight:400;
  box-shadow:0 12px 24px #07598933
}
.mark-caption {
  position:absolute;
  bottom:0;
  background:#f5f8fa;
  padding:8px 15px;
  border-radius:25px;
  font-size:10px;
  box-shadow:0 5px 12px #07598922
}
.stat-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:17px;
  margin:22px 0 32px
}
.stat-grid.four {
  grid-template-columns:repeat(4,minmax(0,1fr))
}
.stat-card {
  background:white;
  border:1px solid var(--line);
  border-radius:12px;
  padding:21px 23px;
  display:flex;
  align-items:flex-start;
  flex-direction:column;
  gap:12px;
  min-width:0
}
.stat-card>span {
  color:var(--muted);
  font-size:11px
}
.stat-card>strong {
  font-size:32px;
  letter-spacing:-1px;
  line-height:1
}
.stat-card>.stat-text {
  font-size:17px;
  letter-spacing:-.4px;
  line-height:1.3
}
.stat-card>small {
  color:#687985;
  font-size:10px
}
.status-pill {
  display:inline-flex;
  gap:7px;
  align-items:center;
  padding:6px 9px;
  border-radius:6px;
  white-space:nowrap;
  font-size:10px;
  font-weight:600;
  background:#edf2f5;
  color:#687985
}
.status-dot {
  display:block;
  width:5px;
  height:5px;
  background:currentColor;
  border-radius:50%
}
.status-pill.operational,.status-pill.available,.status-pill.confirmed,.status-pill.completed {
  background:#e9f5ec;
  color:#2c7854
}
.status-pill.limited,.status-pill.acknowledged {
  background:#fcf1df;
  color:#936427
}
.status-pill.unavailable,.status-pill.declined {
  background:#faeae7;
  color:#a6574e
}
.status-pill.submitted {
  background:#e9f0f7;
  color:#3d6d96
}
.section-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin:24px 0 16px
}
.section-heading p {
  font-size:12px;
  color:var(--muted);
  margin-top:6px
}
.section-heading .mud-button {
  font-size:11px
}
.panel {
  padding:26px;
  border:1px solid var(--line);
  border-radius:12px!important
}
.panel>h2 {
  margin-bottom:12px
}
.panel>p {
  margin-bottom:18px
}
.table-panel {
  padding:5px 14px
}
.request-table .mud-table-cell {
  border-color:#dce7ec;
  font-size:11px;
  padding:18px 12px;
  vertical-align:middle
}
.request-table .mud-table-head .mud-table-cell {
  font-size:10px;
  color:var(--muted);
  font-weight:500
}
.table-description {
  display:block;
  font-size:10px;
  color:var(--muted);
  max-width:290px;
  margin-top:5px;
  line-height:1.6
}
.quick-links {
  display:flex;
  gap:20px;
  margin-top:20px;
  flex-wrap:wrap
}
.quick-links .mud-button {
  font-size:11px
}
.two-column {
  display:grid;
  grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);
  gap:22px
}
.two-column>.panel {
  align-self:start
}
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:5px 17px;
  margin-top:20px
}
.full-span {
  grid-column:1/-1
}
.mud-input-control {
  margin:10px 0
}
.mud-input-label {
  font-size:13px
}
.mud-input {
  font-size:13px
}
.mud-input-helper-text {
  font-size:11px
}
.form-actions {
  display:flex;
  gap:14px;
  align-items:center;
  margin-top:22px;
  flex-wrap:wrap
}
.form-actions .mud-button {
  font-size:12px
}
.guidance {
  background:#e8f3f8!important
}
.guidance h2 {
  margin:10px 0 15px
}
.guidance p {
  font-size:12px;
  margin:12px 0
}
.note-box {
  padding:16px;
  border:1px solid #dce7ec;
  border-radius:8px;
  font-size:12px;
  line-height:1.7;
  background:#ffffff80;
  margin-top:22px;
  color:#4c6575
}
.filter-row {
  display:flex;
  gap:18px;
  align-items:flex-start
}
.filter-row>.mud-input-control {
  flex:1;
  min-width:0
}
.filter-panel {
  padding:8px 20px
}
.provider-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px
}
.provider-card {
  padding:24px;
  border-color:var(--line)!important
}
.provider-card h2 {
  font-size:17px;
  margin:8px 0 12px
}
.provider-card p {
  font-size:12px
}
.provider-card .eyebrow {
  margin-top:20px;
  letter-spacing:1px;
  font-size:9px
}
.provider-card .mud-button {
  font-size:11px;
  margin-top:20px
}
.admin-provider-card {
  display:flex;
  align-items:center;
  gap:14px
}
.provider-card .provider-copy {
  flex:1;
  min-width:0
}
.provider-card .provider-copy .eyebrow {
  margin-top:8px
}
.section-actions {
  display:flex;
  align-items:center;
  gap:8px
}
.form-span {
  grid-column:1/-1
}
.card-top {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px
}
.provider-icon {
  display:grid;
  place-items:center;
  background:#e8f3f8;
  color:#075989;
  width:40px;
  height:40px;
  border-radius:10px
}
.confirmation {
  font-size:10px;
  color:#687985;
  padding:17px 0 0;
  margin-top:20px;
  border-top:1px solid var(--line);
  line-height:1.8
}
.confirmation small {
  color:#8796a0;
  font-size:10px
}
.timeline {
  list-style:none;
  margin:20px 0;
  padding:0
}
.timeline li {
  position:relative;
  padding:0 0 28px 28px;
  border-left:1px solid #dce7ec;
  margin-left:7px
}
.timeline li:before {
  content:'';
  position:absolute;
  width:9px;
  height:9px;
  border-radius:50%;
  background:var(--green);
  left:-5px;
  top:6px;
  box-shadow:0 0 0 4px #e8f3f8
}
.timeline strong {
  font-size:13px
}
.timeline small {
  display:block;
  font-size:10px;
  color:var(--muted);
  margin:7px 0
}
.timeline p {
  font-size:12px
}
.detail-list {
  display:grid;
  grid-template-columns:100px 1fr;
  gap:14px;
  font-size:12px;
  margin:24px 0;
  line-height:1.6
}
.detail-list dt {
  color:var(--muted)
}
.detail-list dd {
  margin:0
}
.request-body {
  font-size:16px!important;
  line-height:1.8;
  margin:24px 0!important
}
.service-line {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:18px 0;
  border-bottom:1px solid var(--line);
  font-size:12px
}
.service-line:last-of-type {
  margin-bottom:24px
}
.admin-intro {
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:8px 0 6px;
  gap:20px
}
.admin-intro h2 {
  font-size:29px
}
.admin-intro p {
  font-size:12px;
  color:var(--muted)
}
.bar-row {
  display:flex;
  align-items:center;
  gap:12px;
  margin:25px 0;
  font-size:12px
}
.bar-row>span {
  width:65px
}
.bar-row>strong {
  font-size:12px
}
.bar-track {
  flex:1;
  background:#edf2f5;
  border-radius:4px;
  height:12px;
  overflow:hidden
}
.bar-track>div {
  height:100%;
  background:#075989;
  border-radius:4px
}
.priority-row {
  display:flex;
  gap:13px;
  align-items:center;
  text-decoration:none;
  padding:22px 0;
  border-bottom:1px solid var(--line)
}
.priority-row strong {
  font-size:12px
}
.priority-row p {
  font-size:10px;
  color:var(--muted);
  margin-top:5px
}
.priority-row>svg {
  margin-left:auto
}
.priority-icon {
  background:#e8f3f8;
  padding:10px;
  border-radius:9px;
  color:#075989
}
.priority-icon.amber {
  background:#faf0df;
  color:#b18648
}
.access-grid {
  display:grid;
  grid-template-columns:1.2fr 1fr;
  min-height:460px;
  gap:25px
}
.app-shell.access-shell { display: block; }
.access-shell .workspace { width: 100%; margin-left: 0; min-height: 100vh; }
.access-shell main { width: min(1080px, calc(100% - 40px)); margin: 0 auto; padding-top: 38px; }
.access-form { display: grid; gap: 15px; margin-top: 22px; }
.access-recovery { margin: 5px 0 0; }
.access-panel .mud-divider { margin: 18px 0; }
@media(max-width:600px) { .access-shell main { width: calc(100% - 28px); padding-top: 20px; } .access-grid { grid-template-columns: 1fr; } .access-story { min-height: 280px; padding: 27px; } .access-art { margin: 20px 0 45px; } }
.access-story {
  background:#e8f2f7;
  border-radius:15px;
  padding:40px;
  position:relative;
  overflow:hidden
}
.access-story h2 {
  font-size:33px;
  line-height:1.3;
  margin:20px 0
}
.access-logo {
  display:block;
  width:240px;
  max-width:100%;
  height:auto;
  margin-bottom:24px
}
.access-story p {
  font-size:13px;
  color:#4c6575;
  max-width:360px
}
.access-story small {
  position:absolute;
  bottom:25px;
  color:#687985;
  font-size:11px
}
.access-art {
  display:flex;
  gap:10px;
  margin:35px 0 45px
}
.access-art span {
  display:grid;
  place-items:center;
  background:#c6dce8;
  border:1px solid #9fc9dc;
  width:70px;
  height:70px;
  border-radius:25px;
  color:#075989;
  font-size:34px;
  transform:rotate(-8deg)
}
.access-art span:nth-child(2) {
  background:#fff0ed;
  border-color:#ffd5d0;
  color:#FF584D;
  transform:rotate(7deg)
}
.access-panel {
  align-self:center
}
.access-panel h2 {
  font-size:24px
}
.access-panel>.mud-button {
  margin:14px 0
}
.access-panel .mud-divider {
  margin:24px 0
}
.access-panel>p.small {
  margin-top:15px
}
.state-panel {
  border:1px solid var(--line);
  text-align:center;
  padding:60px 25px;
  display:flex;
  align-items:center;
  flex-direction:column;
  gap:20px;
  border-radius:14px!important
}
.state-panel p {
  color:var(--muted);
  font-size:13px;
  max-width:470px
}
.empty-inline {
  padding:40px;
  color:var(--muted)
}
.app-footer {
  padding:20px 36px;
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  font-size:10px;
  color:#687985;
  gap:14px
}
.skip-link {
  position:fixed;
  top:-100px;
  left:20px;
  z-index:2000;
  background:#fff;
  padding:12px
}
.skip-link:focus {
  top:12px
}
.sr-only {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)
}
.boot {
  padding:40px;
  text-align:center;
  color:var(--green)
}
#blazor-error-ui {
  display:none;
  background:#fee;
  padding:16px;
  position:fixed;
  bottom:0;
  width:100%;
  z-index:2000
}
a:focus-visible,button:focus-visible,summary:focus-visible {
  outline:3px solid #d09d40;
  outline-offset:3px
}
h1:focus {
  outline:none
}
.mud-button {
  letter-spacing:0;
  text-transform:none;
  font-weight:600
}
.mud-alert {
  font-size:12px
}
.mud-select .mud-input {
  cursor:pointer
}
@media(min-width:1550px) {
  main {
    padding-top:45px
  }
  .hero-panel {
    min-height:270px
  }
  .hero-panel h2 {
    font-size:36px
  }
}
@media(max-width:1150px) {
  .provider-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .topbar {
    padding:0 24px
  }
  .review-label {
    display:none
  }
  main {
    padding:28px 24px
  }
  .two-column {
    grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)
  }
  .stat-grid.four {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .hero-mark {
    flex-basis:170px;
    width:170px
  }
  .mark-ring {
    width:125px;
    height:125px
  }
  .hero-panel h2 {
    font-size:26px
  }
}
@media(max-width:850px) {
  .sidebar {
    transform:translateX(-100%);
    transition:transform .2s
  }
  .sidebar.is-open {
    transform:translateX(0)
  }
  .workspace {
    width:100%;
    margin-left:0
  }
  .menu-toggle {
    display:inline-flex!important
  }
  .menu-scrim {
    display:block;
    position:fixed;
    inset:0;
    background:#1730444a;
    border:0;
    z-index:1190
  }
  .topbar {
    padding:0 18px;
    height:68px
  }
  .topbar-context {
    flex:1
  }
  .avatar {
    display:none
  }
  .two-column {
    grid-template-columns:1fr
  }
  .access-grid {
    grid-template-columns:1fr 1fr
  }
  .access-story {
    padding:25px
  }
  .access-story h2 {
    font-size:26px
  }
  .page-heading .mud-button {
    max-width:180px
  }
}
@media(max-width:600px) {
  h1 {
    font-size:25px
  }
  .topbar-context {
    font-size:10px
  }
  .topbar-context span {
    padding:0 6px
  }
  .topbar-actions .mud-button {
    font-size:9px;
    padding:6px
  }
  .page-heading {
    display:block
  }
  .page-heading>.mud-button {
    margin-top:15px;
    max-width:100%
  }
  main {
    padding:25px 16px
  }
  .hero-panel {
    padding:25px;
    position:relative
  }
  .hero-panel h2 {
    font-size:25px
  }
  .hero-mark {
    display:none
  }
  .hero-panel p {
    font-size:12px
  }
  .stat-grid {
    grid-template-columns:1fr;
    gap:10px
  }
  .stat-grid.four {
    grid-template-columns:1fr 1fr;
    gap:10px
  }
  .stat-card {
    padding:17px
  }
  .stat-card>strong {
    font-size:28px
  }
  .stat-card>.stat-text {
    font-size:16px
  }
  .section-heading {
    align-items:flex-start
  }
  .section-heading h2 {
    font-size:17px
  }
  .provider-grid,.form-grid {
    grid-template-columns:1fr
  }
  .panel {
    padding:20px
  }
  .table-panel {
    padding:0
  }
  .filter-row {
    flex-direction:column;
    gap:0
  }
  .filter-row>.mud-input-control {
    width:100%
  }
  .provider-card {
    padding:22px
  }
  .provider-card .mud-button {
    margin-top:8px
  }
  .admin-provider-card {
    align-items:flex-start;
    flex-wrap:wrap
  }
  .admin-provider-card .provider-copy {
    flex-basis:calc(100% - 70px)
  }
  .form-actions {
    gap:8px
  }
  .access-grid {
    grid-template-columns:1fr
  }
  .access-story {
    min-height:320px
  }
  .access-art {
    margin:25px 0 40px
  }
  .access-panel {
    padding:25px
  }
  .admin-intro {
    display:block
  }
  .admin-intro .mud-button {
    margin-top:20px
  }
  .admin-intro h2 {
    font-size:25px
  }
  .app-footer {
    padding:20px 16px;
    flex-direction:column;
    gap:5px
  }
  .quick-links {
    gap:8px
  }
  .detail-list {
    grid-template-columns:80px 1fr
  }
  .request-table .mud-table-cell {
    padding:10px 12px
  }
  .table-description {
    max-width:230px
  }
  .card-top .status-pill {
    font-size:10px
  }
  .sidebar-bottom {
    padding-top:20px
  }
}
