:root {
  --brand-ink:#1a2b3c;
  --brand-primary:#06becd;
  --brand-primary-dark:#006a73;
  --brand-surface:#edf8fa;
  --brand-font:var(--mn-fuente);
  --ink:var(--brand-ink);
  --muted:#647586;
  --brand:var(--brand-primary);
  --brand-dark:var(--brand-primary-dark);
  --canvas:#f3f7f8;
  --line:#e2eaed;
  --occupied:#356775;
  --ready:#bdedf0;
  --blocked:#e8c99c;
  --radius:18px;
  --sidebar:244px;
  font-family:var(--mn-fuente);
  color:var(--ink);
  background:var(--canvas);
  font-synthesis:none;
}
* {
  box-sizing:border-box;
}
body {
  margin:0;
}
button,select {
  font:inherit;
}
button,a,select {
  -webkit-tap-highlight-color:transparent;
}
button {
  cursor:pointer;
}
a {
  color:var(--brand-dark);
}
:focus-visible {
  outline:3px solid var(--brand-dark);
  outline-offset:4px;
}
button:focus-visible {
  outline-offset:3px;
}
.skip-link {
  position:fixed;
  left:16px;
  top:-70px;
  padding:14px;
  background:white;
  z-index:100;
}
.skip-link:focus {
  top:12px;
}
.sidebar {
  position:fixed;
  inset:0 auto 0 0;
  width:var(--sidebar);
  background:#fff;
  border-right:1px solid var(--line);
  padding:34px 22px;
  display:flex;
  flex-direction:column;
}
.brand {
  display:flex;
  align-items:center;
  text-decoration:none;
  font-weight:750;
  font-size:var(--mn-texto-titulo);
  letter-spacing:-1px;
  color:var(--ink);
}
.brand-symbol {
  font-size:var(--mn-texto-titulo);
  letter-spacing:-4px;
  margin-right:12px;
  color:var(--brand-dark);
}
.brand-symbol span {
  color:var(--brand);
  font-size:var(--mn-texto-titulo);
  vertical-align:super;
}
.brand-dot {
  color:var(--brand);
}
.institution {
  display:flex;
  gap:11px;
  align-items:center;
  padding:22px 0 28px;
  margin-top:22px;
  border-top:1px solid var(--line);
}
.institution strong {
  font-size:var(--mn-texto-secundario);
}
.institution small,.sidebar-footer small {
  display:block;
  color:var(--muted);
  font-size:var(--mn-texto-secundario);
  margin-top:5px;
}
.institution-icon,.avatar {
  display:grid;
  place-items:center;
  width:34px;
  height:36px;
  border-radius:10px;
  background:#eaf6f7;
  color:var(--brand-dark);
  font-weight:650;
  flex-shrink:0;
}
.nav-caption,.eyebrow {
  font-size:var(--mn-texto-secundario);
  letter-spacing:1.7px;
  font-weight:750;
  color:var(--muted);
}
.nav-caption {
  margin:8px 10px 16px;
}
.nav-item {
  display:flex;
  align-items:center;
  gap:11px;
  padding:13px 12px;
  margin:5px 0;
  border-radius:10px;
  font-size:var(--mn-texto-secundario);
  text-decoration:none;
  font-weight:600;
  flex-wrap:wrap;
}
.nav-item>span {
  font-size:var(--mn-texto-secundario);
}
.prototype-label { display:block; font-size:var(--mn-texto-secundario); font-weight:500; color:var(--muted); margin-top:2px; }
.active {
  color:var(--brand-dark);
  background:#e7f7f8;
  border:1px solid #cdecef;
}
.unavailable {
  color:#677887;
}
.unavailable small {
  font-size:var(--mn-texto-secundario);
  font-weight:400;
  padding-left:31px;
}
.scope-note {
  margin-top:45px;
  border-left:2px solid #afe4e9;
  padding-left:14px;
}
.scope-note p {
  font-size:var(--mn-texto-secundario);
  line-height:1.65;
}
.scope-note small {
  font-size:var(--mn-texto-secundario);
  line-height:1.6;
  color:var(--muted);
}
.sidebar-footer {
  margin-top:auto;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:10px;
  padding-top:24px;
}
.workspace-user {
  display:flex;
  align-items:center;
  gap:10px;
}
.sidebar-footer strong {
  font-size:var(--mn-texto-secundario);
}
.logout-form button {
  width:100%;
  border:1px solid var(--line);
  border-radius:9px;
  padding:9px 11px;
  background:#fff;
  color:var(--brand-primary-dark);
  font-size:var(--mn-texto-secundario);
  font-weight:600;
  text-align:left;
}
.logout-form button:hover {
  border-color:var(--brand-primary);
  background:var(--brand-surface);
}
.avatar {
  background:#f1f4f6;
  font-size:var(--mn-texto-secundario);
}
.workspace {
  margin-left:var(--sidebar);
}
.technical-detail {
  margin-top:16px;
  padding:12px 14px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafb;
  color:var(--muted);
  font-size:var(--mn-texto-secundario);
}
.technical-detail summary {
  color:var(--brand-primary-dark);
  font-weight:700;
}
.technical-detail p:last-child { margin-bottom:0; }
.error-page { max-width:720px; padding:42px; }
.error-page h1 { margin:8px 0 12px; font-size:var(--mn-texto-titulo); }
.error-page .primary-button { display:inline-block; margin-top:14px; }
.topbar {
  height:72px;
  background:#fff;
  border-bottom:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 36px;
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
}
.separator {
  margin:0 13px;
  color:#9ca9b3;
}
.topbar strong {
  font-weight:500;
  color:var(--ink);
}
.preview-tag {
  border:1px solid var(--line);
  padding:8px 11px;
  border-radius:20px;
  font-size:var(--mn-texto-secundario);
}
.preview-tag span {
  color:var(--brand-dark);
  font-size:var(--mn-texto-secundario);
  margin-right:7px;
}
main {
  max-width:1620px;
  margin:auto;
  padding:24px 36px;
}
.demo-banner {
  display:flex;
  gap:12px;
  font-size:var(--mn-texto-secundario);
  align-items:center;
  color:#476772;
  border:1px solid #d5e9ed;
  background:var(--brand-surface);
  border-radius:8px;
  padding:10px 14px;
}
.demo-banner strong {
  color:var(--brand-dark);
}
.page-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin:32px 0 26px;
}
.eyebrow {
  margin:0 0 9px;
}
h1 {
  font-size:var(--mn-texto-titulo);
  font-weight:600;
  letter-spacing:-1.2px;
  margin:0 0 10px;
}
.subtitle {
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  margin:0;
  line-height:1.6;
}
.snapshot {
  display:flex;
  gap:8px;
  align-items:flex-start;
  flex-shrink:0;
}
.snapshot strong {
  font-size:var(--mn-texto-secundario);
  font-weight:550;
}
.snapshot small {
  display:block;
  font-size:var(--mn-texto-secundario);
  margin-top:5px;
  color:var(--muted);
}
.snapshot-dot {
  width:7px;
  height:7px;
  margin-top:6px;
  border-radius:50%;
  background:var(--brand);
}
.filter-bar {
  display:flex;
  align-items:center;
  gap:15px;
  margin-bottom:22px;
}
.filter-bar>div {
  display:flex;
  align-items:center;
  gap:10px;
}
.filter-bar label {
  font-size:var(--mn-texto-secundario);
  font-weight:550;
}
select {
  background:white;
  border:1px solid #cad8de;
  border-radius:8px;
  padding:10px 32px 10px 12px;
  color:var(--ink);
  font-size:var(--mn-texto-secundario);
  max-width:100%;
}
.text-button {
  background:transparent;
  border:0;
  color:var(--brand-dark);
  font-size:var(--mn-texto-secundario);
  padding:9px;
}
.filter-context {
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  margin-left:auto;
}
.metrics {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  margin-bottom:24px;
}
.metric {
  border-radius:var(--radius);
  border:1px solid var(--line);
  background:white;
  padding:21px;
  min-width:0;
}
.metric>span:first-child {
  font-size:var(--mn-texto-secundario);
  font-weight:550;
}
.metric-value {
  font-size:var(--mn-texto-titulo);
  letter-spacing:-1.5px;
  font-weight:650;
  margin:12px 0 4px;
  font-variant-numeric:tabular-nums;
}
.metric small {
  font-size:var(--mn-texto-secundario);
  line-height:1.6;
  color:var(--muted);
  display:block;
}
.metric-primary {
  background:var(--ink);
  color:white;
  border-color:var(--ink);
}
.metric-primary small {
  color:#c6dce1;
}
.mini-track {
  height:4px;
  background:#45606b;
  border-radius:5px;
  margin-top:20px;
  overflow:hidden;
}
.mini-track i {
  display:block;
  height:100%;
  background:var(--brand);
  transition:width .25s ease;
}
.metric-foot,.metric-link {
  display:flex;
  align-items:center;
  gap:7px;
  font-size:var(--mn-texto-secundario);
  margin-top:17px;
}
.metric-foot {
  color:var(--muted);
}
.metric-link {
  text-decoration:none;
  font-weight:600;
  justify-content:space-between;
}
.dot {
  display:inline-block;
  width:9px;
  height:9px;
  border-radius:3px;
  flex-shrink:0;
}
.occupied {
  background:var(--occupied);
}
.ready {
  background:var(--ready);
  border:1px solid #74c5cc;
}
.blocked {
  background:repeating-linear-gradient(135deg,var(--blocked),var(--blocked) 3px,#f5e5ce 3px,#f5e5ce 5px);
}
.content-grid {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(285px,1fr);
  gap:22px;
}
.panel {
  border:1px solid var(--line);
  background:#fff;
  border-radius:var(--radius);
  padding:25px;
  min-width:0;
}
.panel-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
h2 {
  font-size:var(--mn-texto-subtitulo);
  margin:0;
  font-weight:600;
  letter-spacing:-.5px;
}
.subtle-pill {
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  white-space:nowrap;
  padding:6px 9px;
  background:#f4f7f8;
  border-radius:5px;
}
.legend {
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  margin:23px 0 5px;
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
}
.legend span {
  display:flex;
  gap:6px;
  align-items:center;
}
.room-row {
  padding:20px 0;
  border-bottom:1px solid var(--line);
}
.room-row:last-child {
  border:0;
}
.room-heading {
  display:flex;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}
.room-monogram {
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  background:#f1f5f6;
  border-radius:8px;
  padding:9px;
}
.room-open {
  background:none;
  border:0;
  padding:3px 0;
  color:var(--ink);
  font-size:var(--mn-texto-secundario);
  font-weight:650;
  text-align:left;
}
.room-open:hover {
  color:var(--brand-dark);
  text-decoration:underline;
}
.room-percentage {
  margin-left:auto;
  font-size:var(--mn-texto-secundario);
  font-weight:650;
}
.bed-grid {
  display:grid;
  grid-template-columns:repeat(16,minmax(0,1fr));
  gap:4px;
}
.bed {
  height:13px;
  border-radius:3px;
}
.room-caption {
  display:flex;
  justify-content:space-between;
  margin-top:9px;
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  gap:10px;
}
.room-caption strong {
  color:var(--brand-dark);
  font-weight:550;
}
.panel-note {
  font-size:var(--mn-texto-secundario);
  line-height:1.7;
  color:var(--muted);
  margin:12px 0 0;
  border-top:1px solid var(--line);
  padding-top:15px;
}
.count-badge {
  background:#edf5f6;
  color:var(--brand-dark);
  font-size:var(--mn-texto-secundario);
  border-radius:8px;
  padding:7px 10px;
}
.section-description {
  font-size:var(--mn-texto-secundario);
  line-height:1.7;
  color:var(--muted);
  margin:14px 0 4px;
}
.task {
  display:block;
  width:100%;
  background:none;
  border:0;
  border-bottom:1px solid var(--line);
  padding:18px 0;
  text-align:left;
  color:var(--ink);
}
.task:hover .task-title {
  color:var(--brand-dark);
  text-decoration:underline;
}
.task-meta {
  font-size:var(--mn-texto-secundario);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:9px;
  color:var(--muted);
}
.status {
  font-size:var(--mn-texto-secundario);
  border-radius:5px;
  padding:4px 7px;
  background:#f9f0e3;
  color:#80531c;
  white-space:nowrap;
}
.status.progress {
  background:#e8f4f6;
  color:var(--brand-dark);
}
.task-title {
  display:block;
  font-size:var(--mn-texto-secundario);
  font-weight:550;
  line-height:1.6;
}
.task-team {
  display:block;
  margin-top:7px;
  color:var(--muted);
  font-size:var(--mn-texto-secundario);
}
.empty-state {
  background:#f3f9f9;
  padding:26px 18px;
  border-radius:12px;
  color:var(--brand-dark);
  line-height:1.6;
  margin-top:24px;
  font-size:var(--mn-texto-secundario);
}
.empty-state small {
  display:block;
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  margin-top:8px;
}
.page-footer {
  display:flex;
  justify-content:space-between;
  gap:16px;
  color:var(--muted);
  font-size:var(--mn-texto-secundario);
  margin:23px 0 5px;
  line-height:1.6;
}
dialog {
  border:1px solid var(--line);
  border-radius:20px;
  width:min(560px,calc(100% - 32px));
  padding:28px;
  color:var(--ink);
  box-shadow:0 24px 100px #0d141a26;
}
dialog::backdrop {
  background:#10283266;
  backdrop-filter:blur(3px);
}
.dialog-header {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}
.close-button {
  font-size:var(--mn-texto-titulo);
  border:0;
  background:#eff4f5;
  border-radius:50%;
  width:36px;
  height:36px;
  color:var(--ink);
}
.detail-stats {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin:25px 0;
}
.detail-stat {
  background:#f2f7f8;
  border-radius:12px;
  padding:15px;
}
.detail-stat strong {
  display:block;
  font-size:var(--mn-texto-titulo);
}
.detail-stat span {
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
}
.detail-task {
  font-size:var(--mn-texto-secundario);
  line-height:1.6;
  padding:14px 0;
  border-bottom:1px solid var(--line);
}
.detail-task small {
  display:block;
  color:var(--muted);
}
.dialog-footer {
  margin-top:26px;
  display:flex;
  align-items:center;
  gap:18px;
}
.dialog-footer small {
  font-size:var(--mn-texto-secundario);
  color:var(--muted);
  line-height:1.6;
}
.primary-button {
  background:var(--brand-dark);
  color:white;
  border:0;
  border-radius:9px;
  padding:11px 15px;
  font-size:var(--mn-texto-secundario);
  flex-shrink:0;
}
@media(min-width:1600px) {
  main {
    padding-top:32px;
  }
  .metric {
    padding:26px;
  }
  .bed {
    height:17px;
  }
  .room-row {
    padding:24px 0;
  }
}
@media(max-width:1150px) {
  :root {
    --sidebar:210px;
  }
  .sidebar {
    padding:26px 16px;
  }
  main {
    padding:22px;
  }
  .topbar {
    padding:0 22px;
  }
  .snapshot {
    display:none;
  }
  .content-grid {
    grid-template-columns:1fr;
  }
  .metrics {
    gap:10px;
  }
  .metric {
    padding:17px;
  }
  .metric-value {
    font-size:var(--mn-texto-titulo);
  }
}
@media(max-width:760px) {
  .sidebar {
    position:static;
    width:auto;
    padding:18px 20px;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line);
    border-right:0;
  }
  .brand {
    font-size:var(--mn-texto-titulo);
  }
  .institution,.nav-caption,.scope-note,.unavailable {
    display:none;
  }
  .sidebar-footer {
    width:100%;
    margin:0;
    padding:0;
    flex-direction:row;
    align-items:center;
    justify-content:space-between;
  }
  .logout-form button {
    width:auto;
    white-space:nowrap;
  }
  .nav-item {
    margin:0;
    padding:8px 10px;
    font-size:var(--mn-texto-secundario);
  }
  .workspace {
    margin:0;
  }
  .topbar {
    height:52px;
    font-size:var(--mn-texto-secundario);
    padding:0 20px;
  }
  .preview-tag {
    font-size:var(--mn-texto-secundario);
  }
  main {
    padding:18px;
  }
  .demo-banner {
    align-items:flex-start;
    flex-direction:column;
    gap:4px;
    font-size:var(--mn-texto-secundario);
  }
  .page-heading {
    margin:25px 0 20px;
  }
  h1 {
    font-size:var(--mn-texto-titulo);
  }
  .subtitle {
    font-size:var(--mn-texto-secundario);
  }
  .filter-bar {
    flex-wrap:wrap;
    gap:8px;
  }
  .filter-context {
    margin-left:0;
    width:100%;
  }
  .filter-bar>div {
    flex:1;
  }
  .filter-bar select {
    width:100%;
    min-width:0;
  }
  .metrics {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .metric {
    padding:16px;
  }
  .metric-value {
    font-size:var(--mn-texto-titulo);
  }
  .metric>span:first-child {
    font-size:var(--mn-texto-secundario);
  }
  .metric-foot,.metric-link {
    line-height:1.6;
    font-size:var(--mn-texto-secundario);
  }
  .panel {
    padding:19px;
  }
  .panel-heading {
    align-items:flex-start;
  }
  .subtle-pill {
    font-size:var(--mn-texto-secundario);
    padding:5px;
  }
  .page-footer {
    flex-direction:column;
    gap:4px;
  }
  .dialog-footer {
    flex-direction:column;
    align-items:stretch;
  }
  .room-caption {
    font-size:var(--mn-texto-secundario);
  }
  .legend {
    gap:12px;
  }
  .detail-stat {
    padding:10px;
  }
  .detail-stat span {
    font-size:var(--mn-texto-secundario);
  }
}
@media(prefers-reduced-motion:reduce) {
  * {
    transition:none;
    scroll-behavior:auto;
  }
}
@media(max-width:760px) {
  .filter-bar>div {
    flex:1 1 100%;
    min-width:0;
  }
  .filter-context {
    width:auto;
    flex:1;
    text-align:right;
  }
  .filter-bar select {
    flex:1;
  }
  .text-button {
    padding-left:0;
  }
}

/* Shared shell and management components */
[hidden] { display: none ; }
.no-script { margin: 20px; padding: 16px; background: #fff3db; color: #714b10; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.nav-item svg { flex-shrink: 0; }
.light-foot { color: #c6dce1; }
.direction-filters { flex-wrap: wrap; }
.direction-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(260px, .85fr); gap: 22px; margin-bottom: 22px; }
.trend-summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-top: 25px; font-size:var(--mn-texto-secundario); color: var(--muted); flex-wrap: wrap; }
.trend-summary strong { color: var(--ink); font-weight: 550; }
.occupancy-chart { width: 100%; margin-top: 20px; }
.occupancy-chart svg { display: block; width: 100%; height: auto; overflow: visible; }
.chart-grid { stroke: #e5edef; stroke-dasharray: 3 5; }
.chart-label { fill: #647586; font-size:var(--mn-texto-secundario); font-family: var(--mn-fuente); }
.chart-line { fill: none; stroke: #007985; stroke-width: 3; stroke-linejoin: round; stroke-linecap: round; }
.chart-point { fill: white; stroke: #007985; stroke-width: 2; pointer-events: none; }
.chart-point.selected { fill: var(--brand-primary); stroke: var(--brand-ink); stroke-width: 3; r: 6; }
.chart-target { fill: transparent; cursor: pointer; }
.day-controls { display: flex; gap: 5px; overflow-x: auto; padding: 6px 3px 10px; scrollbar-width: thin; }
.day-button { border: 1px solid var(--line); background: white; color: var(--muted); border-radius: 7px; padding: 7px; font-size:var(--mn-texto-secundario); white-space: nowrap; flex: 1 0 auto; min-height: 32px; }
.day-button[aria-pressed=true] { color: var(--brand-dark); border-color: #7ccbd2; background: #e8f7f8; font-weight: 700; }
.day-panel { background: linear-gradient(155deg, #ffffff 35%, #edf8f9); }
.selected-date { font-size:var(--mn-texto-secundario); color: var(--muted); margin: 24px 0 12px; }
.day-occupancy { display: flex; flex-direction: column; gap: 5px; }
.day-occupancy strong { font-size:var(--mn-texto-titulo); font-weight: 600; letter-spacing: -1.4px; }
.day-occupancy span { font-size:var(--mn-texto-secundario); color: var(--muted); }
.movement-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 22px; padding-top: 17px; border-top: 1px solid var(--line); }
.movement-pair div { display: flex; flex-direction: column; gap: 7px; }
.movement-pair span { font-size:var(--mn-texto-secundario); color: var(--muted); }
.movement-pair strong { font-size:var(--mn-texto-titulo); font-weight: 600; }
.day-balance { font-size:var(--mn-texto-secundario); margin: 15px 0 22px; color: var(--muted); }
.primary-link { display: flex; justify-content: space-between; align-items: center; text-decoration: none; padding: 12px 14px; background: var(--brand-primary-dark); color: white; border-radius: 9px; font-size:var(--mn-texto-secundario); }
.primary-link:hover { background: #00545c; }
.context-caveat { display: block; font-size:var(--mn-texto-secundario); line-height: 1.6; color: var(--muted); margin-top: 10px; }
.service-comparison { margin-bottom: 20px; }
.table-scroll { overflow-x: auto; }
.management-table { border-collapse: collapse; width: 100%; margin-top: 17px; font-size:var(--mn-texto-secundario); font-variant-numeric: tabular-nums; text-align: left; }
.management-table caption { text-align: left; color: var(--muted); font-size:var(--mn-texto-secundario); margin-bottom: 10px; }
.management-table thead th { padding: 13px 12px; font-size:var(--mn-texto-secundario); font-weight: 550; color: var(--muted); background: #f6f9fa; white-space: nowrap; }
.management-table td, .management-table tbody th { padding: 17px 12px; border-bottom: 1px solid var(--line); font-weight: 400; }
.management-table tbody tr:last-child td, .management-table tbody tr:last-child th { border-bottom: 0; }
.management-table td:not(:first-child) { white-space: nowrap; }
.service-choice { background: none; border: 0; color: var(--ink); text-align: left; padding: 3px 0; font-size:var(--mn-texto-secundario); font-weight: 550; cursor: pointer; }
.service-choice:hover { color: var(--brand-dark); text-decoration: underline; }
.service-choice span { color: var(--brand-dark); padding-left: 4px; }
.comparison-cell { display: flex; align-items: center; gap: 14px; }
.comparison-cell>span:first-child { width: 52px; }
.comparison-track { display: block; width: 110px; height: 5px; border-radius: 5px; background: #e7eff1; overflow: hidden; }
.comparison-track i { display: block; height: 100%; border-radius: 5px; background: #4a8994; }
.data-details { margin-bottom: 12px; padding: 18px 25px; }
.data-details summary { font-size:var(--mn-texto-secundario); font-weight: 550; cursor: pointer; }
.data-details summary span { float: right; color: var(--muted); font-size:var(--mn-texto-secundario); font-weight: 400; }
.definition-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; margin-top: 16px; }
.definition-grid p { font-size:var(--mn-texto-secundario); line-height: 1.7; color: var(--muted); }
.definition-grid strong { display: block; color: var(--ink); }
.preview-lab { margin-top: 24px; border-top: 1px dashed #cbd9de; padding-top: 16px; font-size:var(--mn-texto-secundario); color: var(--muted); }
.preview-lab summary { cursor: pointer; }
.preview-lab p { line-height: 1.6; }
.preview-lab div { display: flex; flex-wrap: wrap; gap: 8px; }
.preview-lab button { border: 1px solid #d2dfe3; color: #4b6473; background: white; padding: 8px 12px; border-radius: 7px; font-size:var(--mn-texto-secundario); }
.preview-lab button[aria-pressed=true] { background: #e6f5f6; border-color: #71c3cb; color: var(--brand-primary-dark); }
.state-notice { padding: 15px; border: 1px solid #e2c795; background: #fff6e8; color: #78551d; border-radius: 10px; font-size:var(--mn-texto-secundario); line-height: 1.6; margin-bottom: 18px; }
.state-panel { padding: 60px 28px; background: white; border: 1px solid var(--line); border-radius: 18px; text-align: center; min-height: 360px; }
.state-panel h2 { margin: 15px 0; }
.state-panel p { max-width: 520px; margin: 0 auto 24px; font-size:var(--mn-texto-secundario); color: var(--muted); line-height: 1.7; }
@media(max-width:1200px) {
  .direction-grid { grid-template-columns: minmax(0, 1.65fr) minmax(235px, 1fr); gap: 16px; }
  .comparison-track { width: 80px; }
}
@media(max-width:980px) {
  .direction-grid { grid-template-columns: 1fr; }
  .day-panel { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; }
  .day-panel .panel-heading, .day-panel .selected-date { grid-column: 1 / -1; }
  .day-panel .movement-pair { margin: 0; border: 0; padding: 0; grid-row: 3 / 5; grid-column: 2; }
  .day-panel .primary-link, .day-panel .context-caveat { grid-column: 1 / -1; }
  .definition-grid { grid-template-columns: 1fr; gap: 4px; }
}
@media(max-width:760px) {
  .sidebar { flex-wrap: wrap; gap: 16px; }
  .sidebar nav { display: flex; gap: 8px; width: 100%; }
  .sidebar .nav-item { flex: 1; justify-content: center; flex-wrap: nowrap; font-size:var(--mn-texto-secundario); padding: 10px 8px; }
  .direction-filters .period-filter { flex: 1 1 auto; }
  .direction-filters .filter-context { flex: 1 1 100%; text-align: left; font-size:var(--mn-texto-secundario); }
  .direction-filters .period-filter select { min-width: 110px; }
  .direction-filters .service-filter { flex: 1 1 100%; }
  .trend-summary { font-size:var(--mn-texto-secundario); gap: 10px; margin-top: 20px; }
  .day-occupancy strong { font-size:var(--mn-texto-titulo); }
  .management-table { min-width: 540px; }
  .management-table td, .management-table tbody th { padding: 14px 9px; }
  .data-details { padding: 17px; }
  .data-details summary span { display: block; float: none; margin: 8px 0 0 17px; font-size:var(--mn-texto-secundario); }
  .service-comparison .subtle-pill { white-space: normal; }
  .occupancy-chart { margin-top: 15px; }
}

/* Keep the skip link hidden without placing it outside the screenshot viewport. */
.skip-link { top: 12px; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); }
.skip-link:focus { width: auto; height: auto; padding: 14px; overflow: visible; clip-path: none; }
.scroll-hint { display: none; }
@media(max-width:760px) { .scroll-hint { display: block; font-size:var(--mn-texto-secundario); color: var(--muted); margin-top: 15px; } }

@media(max-width:760px){.sidebar nav{flex-wrap:wrap}.sidebar .nav-item{flex:1 1 125px}}
