/* CASTLE v234 layout repair
   Restores stable shell/card layout after the admin inline script parse failure.
   This is a CSS-only final override; no font files are packaged here. */
html, body {
  min-height: 100%;
}
body {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--bg, #F5F4F0) !important;
  color: var(--ink, #111110) !important;
  font-family: var(--fb, 'Frutiger LT Pro', 'Helvetica Neue', Arial, sans-serif) !important;
}
body > .grid-bg {
  position: fixed !important;
  inset: 0 !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.nav {
  flex: 0 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}
.nav-logo,
.nav-right,
.room-pill-nav {
  min-width: 0 !important;
}
.nav-logo img,
.login-top img,
.c2c-link img,
.rns-c2c img {
  display: block !important;
  object-fit: contain !important;
}
.shell,
.main,
body > main {
  flex: 1 0 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.shell {
  position: relative !important;
  z-index: 1 !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body:not(.castle-home) .room-nav-tiles,
body:not(.castle-home) .room-nav-grid {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
}
.room-nav-sbar,
.status-bar,
.sbar {
  flex: 0 0 auto !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.admin-main {
  width: 100% !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  min-width: 0 !important;
}
.admin-results-meta {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;
  flex-wrap: wrap !important;
}
.admin-tile-grid,
#admin-tile-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  gap: 14px !important;
  align-items: start !important;
  min-width: 0 !important;
}
.admin-sim-tile,
.admin-tile,
.admin-sim-card {
  min-width: 0 !important;
  width: 100% !important;
}
.editor-workspace {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 260px) !important;
  gap: 22px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
}
#editor-panel,
#editor-body,
.panel,
.panel-b {
  min-width: 0 !important;
}
.editor-action-rail {
  min-width: 0 !important;
}
#editor-actions .btn {
  font-size: 13px !important;
  min-height: 38px !important;
  padding: 8px 12px !important;
  border-radius: 9px !important;
}
.inline-actions .btn,
.phase-actions .btn,
.inject-actions .btn,
.version-actions .btn {
  font-size: 13px !important;
  min-height: 34px !important;
  padding: 6px 14px !important;
}
.indicator-row,
.indicator-row-expanded,
.performance-grid,
.rating-defaults-row {
  min-width: 0 !important;
  overflow: visible !important;
}
.indicator-score-row {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 6px !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.indicator-score-row input,
.indicator-row input,
.indicator-row select {
  min-width: 0 !important;
  width: 100% !important;
}
.decision-map-overlay,
.ctc-artifact-modal,
.castle-modal-overlay {
  box-sizing: border-box !important;
}
@media (max-width: 1050px) {
  .editor-workspace { grid-template-columns: 1fr !important; }
  .editor-action-rail { position: static !important; order: -1 !important; }
}
@media (max-width: 760px) {
  .nav { flex-wrap: wrap !important; height: auto !important; min-height: 64px !important; }
  .room-pill-nav { position: static !important; transform: none !important; width: 100% !important; max-width: 100% !important; justify-content: center !important; margin-top: 8px !important; }
  .shell { padding-left: 16px !important; padding-right: 16px !important; }
}
