@import url("./src/modules/operations-management/operationsManagement.css?v=20260712-operations-management-v1");
:root {
  color-scheme: dark;
  --bg: #07090B;
  --bg2: #E31B23;
  --bg2-dark: #07090B;
  --bg2-light: #F5F7FA;
  --surface: #111418;
  --surface-2: #171B20;
  --input: #0B0E12;
  --line: #2B3036;
  --text: #F5F7FA;
  --muted: #7D858F;
  --cyan: #FF2A32;
  --green: #2fa66a;
  --amber: #d69b2d;
  --red: #e31b23;
  --blue: #8fa3b4;
  --silver: #dce1e5;
  --charcoal: #111418;
  --tactical-grey: #747b82;
  --tactical-grey-dark: #2b323a;
  --tactical-grey-panel: #3a424b;
  --honeycomb-line: rgba(255, 255, 255, .105);
  --honeycomb-shadow: rgba(23, 29, 35, .32);
  --command-red: #E31B23;
  --command-red-hover: #FF2A32;
  --command-red-active: #B9151B;
  --command-red-dark: #7E0E13;
  --command-red-soft: rgba(227, 27, 35, .18);
  --button-bg: #111418;
  --button-bg-raised: #171B20;
  --button-border: #2B3036;
  --button-border-accent: #E31B23;
  --button-primary: #E31B23;
  --button-primary-hover: #FF2A32;
  --button-primary-active: #B9151B;
  --button-danger: #8F0D13;
  --button-danger-hover: #B9151B;
  --button-text: #F5F7FA;
  --button-disabled-bg: #15191E;
  --button-disabled-text: #7D858F;
  --button-radius: 10px;
  --button-shadow: 0 10px 22px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255, 255, 255, .06);
  --button-glow: 0 0 0 3px rgba(227, 27, 35, .22), 0 0 22px rgba(227, 27, 35, .2);
  --space-2xs: 4px;
  --space-xs: 8px;
  --space-sm: 12px;
  --space-md: 16px;
  --space-lg: 20px;
  --space-xl: 24px;
  --space-2xl: 32px;
  --space-3xl: 40px;
  --radius-sm: 8px;
  --radius-md: 10px;
  --radius-lg: 12px;
  --radius-pill: 999px;
  --type-page-title: 30px;
  --type-section-title: 14px;
  --type-body: 12px;
  --type-small: 10px;
  --font-normal: var(--type-body);
  --font-sub-window-title: var(--type-section-title);
  --font-main-window-title: var(--type-page-title);
  --quick-return-safe-left: 58px;
  --quick-return-header-size: 42px;
  --quick-return-header-gap: 8px;
  --header-drawer-top: 10px;
  --header-toolbar-right: 16px;
  --header-drawer-gap: 8px;
  --header-drawer-tab-width: 128px;
  --header-drawer-tab-height: 34px;
  --drawer-controls-right: var(--header-toolbar-right);
  --drawer-management-right: calc(var(--drawer-controls-right) + var(--header-drawer-tab-width) + var(--quick-return-header-gap) + var(--quick-return-header-size) + var(--header-drawer-gap));
  --drawer-site-right: calc(var(--drawer-management-right) + var(--header-drawer-tab-width) + var(--header-drawer-gap));
  --site-drawer-panel-width: 360px;
  --management-drawer-panel-width: 232px;
  --controls-drawer-panel-width: 420px;
  --left-tab-start: clamp(282px, 38vh, 330px);
  --management-tab-start: clamp(226px, 30vh, 270px);
  --left-tab-gap: 18px;
  --portal-tab-height: 128px;
  --soft-line: rgba(245, 247, 250, .18);
  --glass: rgba(31, 37, 44, .78);
  --glass-strong: rgba(29, 35, 42, .92);
  --glow-cyan: 0 0 24px rgba(88, 210, 208, .18);
  --glow-green: 0 0 24px rgba(126, 216, 137, .24);
  --glow-red: 0 0 24px rgba(240, 111, 111, .28);
}

* {
  box-sizing: border-box;
}

html {
  height: 100%;
  overflow: hidden;
}

body {
  margin: 0;
  min-width: 320px;
  height: 100%;
  overflow: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: Cambria, Georgia, "Times New Roman", serif;
  font-size: var(--font-normal);
  position: relative;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
}

body::before {
  z-index: -3;
  background:
    linear-gradient(90deg, rgba(38, 45, 53, .76), rgba(77, 84, 91, .5) 44%, rgba(22, 27, 33, .78)),
    linear-gradient(180deg, rgba(255, 255, 255, .12), rgba(0, 0, 0, .38)),
    radial-gradient(circle at 17% 18%, rgba(227, 27, 35, .2), transparent 27%),
    radial-gradient(circle at 84% 15%, rgba(227, 27, 35, .14), transparent 24%),
    url("Assets/tactical-honeycomb-command-background.webp"),
    linear-gradient(30deg, var(--honeycomb-line) 12%, transparent 12.5%, transparent 87%, var(--honeycomb-line) 87.5%, var(--honeycomb-line)),
    linear-gradient(150deg, var(--honeycomb-line) 12%, transparent 12.5%, transparent 87%, var(--honeycomb-line) 87.5%, var(--honeycomb-line)),
    linear-gradient(180deg, #8a9096, var(--tactical-grey) 48%, #626a72);
  background-size:
    cover,
    cover,
    auto,
    auto,
    cover,
    72px 126px,
    72px 126px,
    auto;
  background-position:
    center,
    center,
    center,
    center,
    center,
    0 0,
    0 0,
    center;
  filter: none;
}

body::after {
  z-index: -2;
  background:
    radial-gradient(circle at 18% 22%, rgba(227, 27, 35, .18), transparent 30%),
    radial-gradient(circle at 78% 16%, rgba(227, 27, 35, .12), transparent 26%),
    radial-gradient(circle at 50% 110%, rgba(227, 27, 35, .16), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(0, 0, 0, .18));
  background-size:
    auto,
    auto,
    auto,
    auto;
  background-position:
    center,
    center,
    center,
    center;
  mix-blend-mode: normal;
}

body.performance-lite::before {
  filter: none;
  background-size: cover;
}

body.performance-lite::after {
  mix-blend-mode: normal;
  background:
    linear-gradient(120deg, rgba(31, 37, 44, .44), rgba(31, 37, 44, .12) 50%, rgba(227, 27, 35, .08));
}

.performance-lite :where(.app-header, .panel, .login-card, .exam-popup-card, .system-controls-card) {
  backdrop-filter: none !important;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .14);
}

body.performance-lite *,
body.performance-lite *::before,
body.performance-lite *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}

.performance-lite :where(button, .file-button, .button-link, .filter, .menu-button)::after,
.performance-lite .popup-title::after {
  display: none !important;
}

.app-shell::before,
.login-screen::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(circle at 84% 14%, rgba(227, 27, 35, .12), transparent 26%),
    linear-gradient(90deg, rgba(255, 255, 255, .06), transparent 36%, transparent 70%, rgba(227, 27, 35, .04)),
    rgba(32, 38, 45, .12);
  background-size: auto, auto, auto;
  background-position: right 32px top 72px, center, center;
}

.hidden {
  display: none !important;
}

@keyframes commandPulse {
  0% {
    box-shadow: 0 0 0 rgba(65, 214, 208, 0), inset 0 1px 0 rgba(255, 255, 255, .08);
    transform: translateY(0) scale(1);
  }
  45% {
    box-shadow: 0 0 0 4px rgba(65, 214, 208, .18), 0 0 26px rgba(65, 214, 208, .28);
    transform: translateY(-1px) scale(1.015);
  }
  100% {
    box-shadow: var(--glow-cyan), inset 0 1px 0 rgba(255, 255, 255, .12);
    transform: translateY(0) scale(1);
  }
}

@keyframes commandScan {
  0% {
    opacity: 0;
    transform: translateX(-115%);
  }
  35% {
    opacity: .9;
  }
  100% {
    opacity: 0;
    transform: translateX(115%);
  }
}

@keyframes popupRise {
  from {
    opacity: 0;
    transform: translateY(18px) scale(.965);
    filter: blur(4px);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
  }
}

@keyframes popupHeaderScan {
  from {
    transform: translateX(-120%);
  }
  to {
    transform: translateX(120%);
  }
}

.login-screen {
  min-height: 100vh;
  height: 100vh;
  display: grid;
  place-items: center;
  padding: clamp(14px, 2vh, 24px) 24px;
  background: transparent;
  position: relative;
  z-index: 1;
  overflow: hidden;
  isolation: isolate;
  grid-template-rows: minmax(0, auto) auto;
}

.login-screen.authorization-sidebar-active {
  padding-right: clamp(320px, 31vw, 430px);
}

.login-screen.authorization-sidebar-collapsed {
  padding-right: 24px;
}

.login-screen {
  align-content: center;
  gap: 12px;
}

.login-screen::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  display: block;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 42%, rgba(227, 27, 35, .18), transparent 24%),
    linear-gradient(90deg, rgba(255, 255, 255, .08), transparent 28%, transparent 72%, rgba(227, 27, 35, .1)),
    linear-gradient(180deg, rgba(7, 9, 11, .14), rgba(7, 9, 11, .5));
  opacity: .95;
}

.app-shell {
  position: relative;
  z-index: 1;
  height: 100vh;
  width: 100vw;
  margin-left: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
}

.login-card {
  position: relative;
  overflow: hidden;
  width: min(820px, calc(100vw - 56px));
  background:
    radial-gradient(circle at 50% -8%, rgba(227, 27, 35, .24), transparent 38%),
    linear-gradient(180deg, rgba(245, 247, 250, .08), rgba(17, 20, 24, .94) 42%, rgba(7, 9, 11, .96)),
    rgba(17, 20, 24, .94);
  border: 1px solid rgba(245, 247, 250, .18);
  border-top-color: rgba(245, 247, 250, .32);
  border-bottom-color: rgba(227, 27, 35, .5);
  border-radius: 28px;
  padding: clamp(20px, 3vh, 30px) clamp(30px, 5vw, 54px) 22px;
  backdrop-filter: blur(18px);
  box-shadow:
    0 34px 86px rgba(0, 0, 0, .42),
    0 0 0 1px rgba(227, 27, 35, .22),
    inset 0 1px 0 rgba(255, 255, 255, .08);
  display: grid;
  gap: 10px;
}

.login-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent, rgba(227, 27, 35, .2), transparent),
    linear-gradient(30deg, rgba(255, 255, 255, .045) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, .045) 87.5%, rgba(255, 255, 255, .045)),
    linear-gradient(150deg, rgba(255, 255, 255, .035) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, .035) 87.5%, rgba(255, 255, 255, .035));
  background-size: auto, 56px 96px, 56px 96px;
  opacity: .72;
}

.login-card::after {
  content: "";
  position: absolute;
  left: clamp(34px, 5vw, 58px);
  right: clamp(34px, 5vw, 58px);
  bottom: 18px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, var(--command-red), rgba(255, 255, 255, .42), var(--command-red), transparent);
  opacity: .72;
}

.login-card > * {
  position: relative;
  z-index: 1;
}

.login-logo-lockup {
  width: min(300px, 62%);
  height: clamp(88px, 13vh, 116px);
  margin: 0 auto 8px;
  padding: 14px 20px;
  border-radius: 24px;
  border: 1px solid rgba(255, 255, 255, .42);
  background: rgba(255, 255, 255, .96);
  box-shadow:
    0 20px 42px rgba(0, 0, 0, .34),
    0 0 32px rgba(227, 27, 35, .2),
    inset 0 0 0 1px rgba(255, 255, 255, .6);
}

.login-logo-lockup img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.login-card h1,
.login-card p {
  text-align: center;
}

.login-card h1.login-title {
  margin: 0 0 14px;
  color: var(--text);
  line-height: 1.2;
  font-weight: 800;
  letter-spacing: 0;
  text-shadow: 0 10px 24px rgba(0, 0, 0, .42);
}

.login-card p {
  margin: 8px 0 22px;
  color: var(--muted);
}

.login-subtitle {
  margin: 4px 0 8px !important;
  color: var(--text) !important;
  font-size: var(--type-small);
  font-weight: 700;
}

.login-error {
  min-height: 22px;
  color: var(--red);
  margin: 6px 0 10px;
}

.login-error:empty {
  display: none;
}

.login-card label {
  display: grid;
  gap: 6px;
  margin-bottom: 4px;
  color: rgba(245, 247, 250, .78);
  font-weight: 700;
}

.login-card select,
.login-card input {
  min-height: 42px;
  border-radius: 999px;
  border-color: rgba(227, 27, 35, .42);
  background: rgba(7, 9, 11, .92);
  color: var(--text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 8px 20px rgba(0, 0, 0, .18);
}

.login-card select:focus,
.login-card input:focus {
  border-color: var(--command-red);
  box-shadow: 0 0 0 3px rgba(227, 27, 35, .24), inset 0 1px 0 rgba(255, 255, 255, .08);
}

.login-copyright {
  display: block;
  margin-top: 6px;
  padding-bottom: 8px;
  color: var(--muted);
  font-size: var(--type-small);
  line-height: 1.2;
  text-align: center;
}

.login-support-row {
  width: min(820px, calc(100vw - 56px));
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.login-support-row button {
  min-height: 42px;
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 58%),
    linear-gradient(180deg, rgba(25, 30, 36, .92), rgba(12, 15, 19, .94));
  color: var(--text);
  border-color: rgba(227, 27, 35, .48);
  backdrop-filter: blur(10px);
}

.login-support-row button:hover {
  border-color: rgba(255, 255, 255, .5);
  box-shadow: 0 0 18px rgba(227, 27, 35, .22);
}

.device-authorization-panel {
  position: fixed;
  top: 50%;
  right: clamp(16px, 3vw, 54px);
  z-index: 4;
  width: clamp(300px, 27vw, 390px);
  max-height: calc(100vh - 72px);
  transform: translateY(-50%);
  overflow: visible;
  display: grid;
  gap: 10px;
  padding: 16px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(227, 27, 35, .5);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 36%),
    linear-gradient(30deg, rgba(255, 255, 255, .045) 12%, transparent 12.5%, transparent 87%, rgba(255, 255, 255, .045) 87.5%, rgba(255, 255, 255, .045)),
    linear-gradient(180deg, rgba(39, 47, 56, .96), rgba(24, 31, 39, .96));
  background-size: 260px 260px, 42px 72px, auto;
  background-position: right -88px top -76px, 0 0, center;
  box-shadow: 0 26px 54px rgba(0, 0, 0, .28), 0 0 28px rgba(227, 27, 35, .18);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.login-screen.authorization-sidebar-collapsed .device-authorization-panel {
  transform: translateY(-50%) translateX(calc(100% + clamp(16px, 3vw, 54px)));
  border-color: transparent;
  background: transparent;
  box-shadow: none;
}

.login-screen.authorization-sidebar-collapsed .device-authorization-panel > :not(.device-authorization-tab) {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.device-authorization-panel.authorized {
  border-color: rgba(126, 216, 137, .58);
  box-shadow: 0 26px 54px rgba(0, 0, 0, .28), 0 0 28px rgba(126, 216, 137, .16);
}

.device-authorization-panel strong {
  color: #fff;
  font-size: var(--type-section-title);
  line-height: 1.2;
}

.device-authorization-panel small {
  display: block;
  color: var(--muted);
  line-height: 1.35;
}

.device-authorization-panel label {
  display: grid;
  gap: 6px;
  margin: 0;
}

.device-authorization-panel input {
  width: 100%;
}

.device-authorization-panel button {
  width: 100%;
  border-color: rgba(255, 255, 255, .24);
}

.device-authorization-tab {
  position: absolute;
  left: -48px;
  top: 16px;
  z-index: 2;
  width: 48px !important;
  min-height: 160px;
  padding: 12px 8px !important;
  display: grid;
  place-items: center;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  border: 1px solid rgba(227, 27, 35, .66) !important;
  border-left: 0 !important;
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .95), rgba(49, 57, 66, .96) 58%, rgba(143, 13, 19, .36)) !important;
  color: #fff;
  box-shadow: 10px 16px 28px rgba(0, 0, 0, .2), 0 0 22px rgba(227, 27, 35, .18);
  font-weight: 900;
  text-transform: uppercase;
}

.device-authorization-panel.authorized .device-authorization-tab {
  border-color: rgba(227, 27, 35, .72) !important;
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .95), rgba(17, 20, 24, .96) 58%, rgba(126, 14, 19, .42)) !important;
  box-shadow: 10px 16px 28px rgba(0, 0, 0, .24), 0 0 22px rgba(227, 27, 35, .18);
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
.file-button,
.button-link {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid var(--button-border);
  border-radius: var(--button-radius);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 58%),
    linear-gradient(180deg, var(--button-bg-raised), var(--button-bg));
  color: var(--button-text);
  min-height: 36px;
  padding: 8px 14px;
  cursor: pointer;
  font-weight: 600;
  text-decoration: none;
  box-shadow: var(--button-shadow);
  transition: background .2s ease-in-out, border-color .2s ease-in-out, color .2s ease-in-out, transform .2s ease-in-out, box-shadow .2s ease-in-out, opacity .2s ease-in-out;
}

button::after,
.file-button::after,
.button-link::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 42, 50, .3) 48%, transparent 100%);
  opacity: 0;
  transform: translateX(-115%);
}

button:not(:disabled):hover,
button.active:not(:disabled),
.file-button:not(.disabled):hover,
.button-link:hover {
  border-color: var(--button-border-accent);
  color: #fff;
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 42, 50, .2), transparent 58%),
    linear-gradient(180deg, #1C2026, #111418);
  box-shadow: var(--button-glow), var(--button-shadow);
  transform: translateY(-1px);
}

button:not(:disabled):active,
.file-button:not(.disabled):active,
.button-link:active {
  border-color: var(--button-primary-active);
  background: linear-gradient(180deg, #101317, #090B0E);
  box-shadow: inset 0 2px 7px rgba(0, 0, 0, .44), 0 0 0 2px rgba(185, 21, 27, .22);
  transform: translateY(0);
}

button:focus-visible,
.file-button:focus-visible,
.button-link:focus-visible {
  outline: 2px solid var(--button-primary-hover);
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(227, 27, 35, .26), var(--button-shadow);
}

.command-pulse {
  animation: commandPulse .48s ease;
}

.command-pulse::after {
  animation: commandScan .52s ease;
}

button:disabled,
.file-button.disabled {
  opacity: 1;
  cursor: not-allowed;
  color: var(--button-disabled-text);
  border-color: var(--button-border);
  background: var(--button-disabled-bg);
  box-shadow: none;
  transform: none;
}

.observer-readonly input:disabled,
.observer-readonly select:disabled,
.observer-readonly textarea:disabled {
  opacity: .72;
}

.primary {
  width: 100%;
}

.primary,
button[type="submit"] {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .16), transparent 48%),
    linear-gradient(180deg, var(--button-primary), var(--button-primary-active));
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 14px 30px rgba(0, 0, 0, .32), 0 0 18px rgba(227, 27, 35, .22);
}

.primary:not(:disabled):hover,
button[type="submit"]:not(:disabled):hover {
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .2), transparent 48%),
    linear-gradient(180deg, var(--button-primary-hover), var(--button-primary));
  border-color: rgba(255, 255, 255, .36);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .34), 0 0 28px rgba(255, 42, 50, .32);
}

.primary:not(:disabled):active,
button[type="submit"]:not(:disabled):active {
  background: linear-gradient(180deg, var(--button-primary-active), #7E0E13);
  box-shadow: inset 0 2px 8px rgba(0, 0, 0, .38), 0 0 0 2px rgba(185, 21, 27, .22);
}

.danger-button,
button[data-delete],
button[data-profile-delete],
button[data-document-delete],
button[data-planning-document-delete],
button[data-instructor-delete],
button[data-calendar-delete],
button[data-asset-delete],
button[data-site-delete],
#developerDeletePersonButton,
#developerClearRegistryButton,
#logoutButton {
  border-color: rgba(227, 27, 35, .55);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 255, 255, .1), transparent 50%),
    linear-gradient(180deg, var(--button-danger), #5F090D);
  color: #fff;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .32), 0 0 18px rgba(143, 13, 19, .22);
}

.danger-button:not(:disabled):hover,
button[data-delete]:not(:disabled):hover,
button[data-profile-delete]:not(:disabled):hover,
button[data-document-delete]:not(:disabled):hover,
button[data-planning-document-delete]:not(:disabled):hover,
button[data-instructor-delete]:not(:disabled):hover,
button[data-calendar-delete]:not(:disabled):hover,
button[data-asset-delete]:not(:disabled):hover,
button[data-site-delete]:not(:disabled):hover,
#developerDeletePersonButton:not(:disabled):hover,
#developerClearRegistryButton:not(:disabled):hover,
#logoutButton:not(:disabled):hover {
  border-color: rgba(255, 42, 50, .74);
  background: linear-gradient(180deg, var(--button-danger-hover), var(--button-danger));
  box-shadow: 0 14px 30px rgba(0, 0, 0, .34), 0 0 24px rgba(227, 27, 35, .3);
}

.back-button,
.module-hub-return,
button[id^="close"],
button[id^="cancel"],
button[id^="previous"] {
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 56%),
    linear-gradient(180deg, #171B20, #0D1014);
  border-color: var(--button-border);
  color: var(--button-text);
}

.app-header {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 0 calc(var(--drawer-site-right) + var(--header-drawer-tab-width) + 18px) 0 0;
  background:
    linear-gradient(90deg, #002c31 0 190px, rgba(246, 248, 250, .98) 190px, rgba(255, 255, 255, .96) 100%);
  border-bottom: 1px solid rgba(9, 22, 31, .12);
  position: relative;
  z-index: 20;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .12);
}

.app-header-logo {
  width: 190px;
  height: 56px;
  padding: 8px 18px;
  display: grid;
  place-items: center;
  align-self: center;
  overflow: hidden;
  border-radius: 0;
  border: 0;
  background:
    linear-gradient(135deg, rgba(0, 188, 212, .08), transparent 48%),
    #002c31;
  box-shadow:
    inset -1px 0 0 rgba(255, 255, 255, .12),
    0 8px 18px rgba(0, 0, 0, .14);
}

.app-header-logo img {
  display: block;
  max-width: 148px;
  max-height: 38px;
  object-fit: contain;
  padding: 5px 10px;
  border-radius: 9px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 8px 18px rgba(0, 0, 0, .16);
}

.app-header::before {
  content: "";
  position: absolute;
  left: 190px;
  right: 0;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(227, 27, 35, .86), rgba(9, 22, 31, .1));
  opacity: .9;
}

.header-title {
  text-align: left;
  justify-self: start;
  min-width: 0;
  padding: 0 0 0 18px;
  align-self: center;
}

.header-readiness-control {
  position: relative;
  justify-self: end;
  align-self: center;
  min-width: 0;
  display: flex;
  align-items: center;
}

.app-header .header-title h1 {
  color: #101820;
  font-size: var(--type-page-title);
  line-height: 1.1;
  letter-spacing: 0;
  text-shadow: none;
}

.copyright-line {
  display: block;
  margin-top: 2px;
  color: #70808e;
  font-size: var(--type-page-title);
  line-height: 1.1;
}

.standards-tagline {
  margin-top: 3px;
  color: #566574;
  font-size: var(--type-small);
  font-style: italic;
}

h1,
h2,
p {
  margin: 0;
}

h1 {
  font-size: var(--type-page-title);
  letter-spacing: 0;
}

h2 {
  font-size: var(--type-page-title);
}

.app-header p,
label,
td,
th,
.muted {
  color: var(--muted);
}

.site-context-bar {
  position: fixed;
  top: var(--header-drawer-top);
  right: var(--drawer-site-right);
  z-index: 38;
  display: block;
  width: var(--header-drawer-tab-width);
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  transform: none;
  pointer-events: none;
}

body:has(#managementSideDrawer.hidden) .site-context-bar {
  right: var(--drawer-management-right);
}

.site-context-bar.open {
  transform: none;
}

.site-drawer-tab {
  width: var(--header-drawer-tab-width);
  min-width: 0;
  max-width: var(--header-drawer-tab-width);
  min-height: var(--header-drawer-tab-height);
  padding: 8px 10px;
  pointer-events: auto;
  writing-mode: horizontal-tb;
  transform: none;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(227, 27, 35, .72);
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .94), rgba(17, 20, 24, .96) 58%, rgba(126, 14, 19, .36)),
    rgba(17, 20, 24, .96);
  color: var(--text);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .24), 0 0 22px rgba(227, 27, 35, .18);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}

.site-context-bar.open .site-drawer-tab {
  border-color: rgba(227, 27, 35, .72);
}

.site-drawer-panel {
  position: absolute;
  top: calc(var(--header-drawer-tab-height) + 8px);
  right: 0;
  width: min(var(--site-drawer-panel-width), calc(100vw - 24px));
  display: grid;
  gap: 10px;
  padding: 14px;
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .1), transparent 46%),
    linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(88, 210, 208, .04)),
    rgba(35, 42, 50, .96);
  border: 1px solid rgba(88, 210, 208, .42);
  border-radius: var(--radius-md);
  box-shadow: -18px 18px 34px rgba(0, 0, 0, .26);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.site-context-bar.open .site-drawer-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.site-context-bar label {
  display: grid;
  gap: 5px;
  font-size: var(--type-body);
  font-weight: 800;
  text-transform: uppercase;
}

.site-context-bar select {
  min-height: 38px;
}

.site-context-bar span {
  align-self: center;
  color: var(--text);
  font-size: var(--font-normal);
  line-height: 1.35;
}

.site-context-bar .button-link {
  justify-self: start;
  white-space: nowrap;
}

.footer-actions {
  display: grid;
  justify-content: center;
  gap: 8px;
  width: min(760px, 100%);
  margin: 0 auto;
}

.footer-action-row {
  display: grid;
  grid-template-columns: repeat(2, max-content);
  gap: 8px;
  justify-content: center;
}

.footer-action-row button,
.footer-action-row .file-button {
  white-space: nowrap;
}

.notification-button {
  display: inline-grid;
  grid-template-columns: auto minmax(26px, max-content);
  align-items: center;
  gap: 8px;
}

.notification-button strong {
  display: inline-grid;
  place-items: center;
  min-width: 26px;
  height: 26px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(65, 214, 208, .18);
  color: var(--bg2-light);
  border: 1px solid rgba(65, 214, 208, .42);
}

.notification-button.notification-critical strong {
  background: rgba(255, 93, 93, .18);
  color: #ffd6d6;
  border-color: rgba(255, 93, 93, .55);
}

.notification-button .empty-badge {
  background: rgba(226, 235, 240, .08);
  color: var(--muted);
  border-color: rgba(226, 235, 240, .18);
}

.notification-center-card {
  width: min(820px, calc(100vw - 30px));
}

.notification-list {
  max-height: min(62vh, 620px);
  overflow: auto;
  padding-right: 4px;
}

.notification-actions,
.task-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}

.notification-actions button,
.task-actions button {
  min-height: 32px;
  padding: 6px 12px;
}

.task-linked-note {
  color: var(--bg2-light);
}

.command-task-item {
  border-color: rgba(232, 186, 85, .3);
}

.global-search-card {
  width: min(900px, calc(100vw - 30px));
}

.global-search-results {
  max-height: min(64vh, 640px);
  overflow: auto;
  margin-top: 12px;
  padding-right: 4px;
}

.archive-grid {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: 14px;
}

.work-queue-grid {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: 14px;
}

.task-inbox-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.task-inbox-filters button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 12px;
}

.task-inbox-filters button span {
  display: inline-grid;
  min-width: 24px;
  height: 22px;
  place-items: center;
  border-radius: var(--radius-pill);
  background: rgba(245, 247, 250, .08);
  color: var(--text);
  font-size: var(--type-body);
}

.task-inbox-filters button.active {
  background: linear-gradient(180deg, var(--button-primary-hover), var(--button-primary-active));
  border-color: rgba(255, 255, 255, .28);
  color: #fff;
  box-shadow: var(--button-glow);
}

.role-inbox-actions {
  justify-content: flex-start;
}

.archive-control-panel .panel-actions {
  align-items: center;
}

.archive-control-panel .panel-search {
  min-width: min(320px, 100%);
}

.archive-results-panel .command-list {
  max-height: min(68vh, 720px);
  overflow: auto;
  padding-right: 4px;
}

.work-queue-list-panel .command-list {
  max-height: min(70vh, 720px);
  overflow: auto;
  padding-right: 4px;
}

.search-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 8px;
}

.search-actions button {
  min-height: 32px;
  padding: 6px 12px;
}

.action-time-retrieval-panel {
  display: grid;
  gap: 12px;
}

.action-time-grid {
  display: grid;
  grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.4fr) repeat(3, minmax(130px, .55fr));
  gap: 10px;
  align-items: end;
}

.action-time-grid label {
  margin-bottom: 0;
}

.action-time-results {
  max-height: min(48vh, 520px);
  overflow: auto;
  padding-right: 4px;
}

.action-time-item {
  border-left: 3px solid var(--cyan);
}

.action-time-item .button-link {
  margin-top: 6px;
}

.portfolio-control-panel .panel-actions {
  align-items: center;
}

.portfolio-shell {
  display: grid;
  gap: 14px;
}

.portfolio-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.portfolio-person-cell .person-photo {
  width: 86px;
  height: 86px;
}

.portfolio-qr-card {
  display: grid;
  justify-items: center;
  gap: 6px;
  color: var(--muted);
}

.portfolio-metric-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}

.portfolio-metric {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(15, 27, 36, .72);
}

.portfolio-metric span {
  display: block;
  color: var(--muted);
  font-size: var(--type-small);
}

.portfolio-metric strong {
  display: block;
  margin-top: 5px;
  font-size: var(--type-small);
}

.portfolio-metric.ok strong {
  color: var(--ok);
}

.portfolio-metric.warn strong {
  color: var(--warn);
}

.portfolio-metric.bad strong {
  color: var(--danger);
}

.portfolio-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.portfolio-panel {
  min-height: 180px;
}

.portfolio-line-list {
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow: auto;
}

.portfolio-line-list div {
  padding: 8px 10px;
  border: 1px solid rgba(226, 235, 240, .12);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, .035);
  color: var(--text);
  font-size: var(--type-section-title);
}

.footer-badge-row {
  display: grid;
  grid-template-columns: 1fr;
}

.user-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 0 8px;
  color: var(--muted);
  border: 1px solid var(--soft-line);
  border-radius: var(--radius-pill);
}

.file-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
}

.file-button input {
  display: none;
}

main {
  padding: 18px 22px 28px;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  overscroll-behavior: contain;
}

.app-footer {
  margin-top: 2rem;
  padding: 14px 22px 22px;
  background: rgba(18, 27, 34, .78);
  border-top: 1px solid var(--line);
  backdrop-filter: blur(12px);
}

.bottom-controls-drawer {
  position: fixed;
  top: var(--header-drawer-top);
  right: var(--drawer-controls-right);
  bottom: auto;
  left: auto;
  z-index: 40;
  display: block;
  width: var(--header-drawer-tab-width);
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  pointer-events: none;
  transform: none;
  transition: filter .24s ease;
}

.bottom-controls-drawer.open {
  transform: none;
  filter: drop-shadow(0 16px 34px rgba(0, 0, 0, .34));
}

.bottom-controls-tab {
  pointer-events: auto;
  width: var(--header-drawer-tab-width);
  min-width: 0;
  max-width: var(--header-drawer-tab-width);
  min-height: var(--header-drawer-tab-height);
  padding: 8px 10px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(227, 27, 35, .78);
  background:
    linear-gradient(180deg, var(--button-primary), var(--button-primary-active));
  color: #fff;
  font-size: var(--type-body);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: center;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .24), 0 0 22px rgba(227, 27, 35, .16);
  white-space: nowrap;
}

.bottom-controls-drawer.open .bottom-controls-tab {
  border-color: rgba(255, 255, 255, .2);
}

.bottom-controls-drawer .footer-actions {
  position: absolute;
  top: calc(var(--header-drawer-tab-height) + 8px);
  right: 0;
  pointer-events: auto;
  width: min(var(--controls-drawer-panel-width), calc(100vw - 24px));
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 52%),
    linear-gradient(180deg, rgba(37, 45, 53, .98), rgba(28, 35, 42, .98));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.bottom-controls-drawer.open .footer-actions {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.bottom-controls-drawer .footer-badge-row,
.bottom-controls-drawer .footer-action-row {
  width: 100%;
}

.bottom-controls-drawer .footer-badge-row {
  gap: 4px;
}

.bottom-controls-drawer .footer-action-row {
  grid-template-columns: 1fr 1fr;
}

.bottom-controls-drawer .footer-action-row button {
  min-width: 0;
}

.bottom-controls-drawer #openGlobalSearchButton {
  grid-template-columns: auto;
  justify-content: center;
}

.bottom-controls-drawer #openSystemControlsButton {
  grid-column: 1 / -1;
}

.view {
  display: none;
}

.view.active {
  display: block;
  height: 100%;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

.summary-grid,
.insight-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.readiness-summary-control {
  width: min(1220px, 100%);
  margin: 12px auto 0;
  display: grid;
  justify-items: center;
  gap: 10px;
}

.readiness-summary-toggle {
  width: min(440px, 100%);
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding-inline: 18px;
}

.header-readiness-control .readiness-summary-toggle {
  width: auto;
  min-width: 260px;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .18), transparent 56%),
    linear-gradient(180deg, rgba(17, 20, 24, .96), rgba(7, 9, 11, .96));
  border-color: rgba(227, 27, 35, .38);
  color: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18);
  white-space: nowrap;
}

.header-readiness-control .readiness-summary-toggle:hover {
  border-color: rgba(255, 42, 50, .74);
  background:
    radial-gradient(circle at 50% 0%, rgba(255, 42, 50, .22), transparent 56%),
    linear-gradient(180deg, rgba(28, 32, 38, .98), rgba(12, 14, 17, .98));
}

.header-readiness-control .readiness-summary-toggle > span:first-child {
  color: #fff;
  font-size: var(--type-body);
}

.readiness-summary-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 10px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(245, 247, 250, .2);
  background: rgba(7, 9, 11, .34);
  color: rgba(245, 247, 250, .9);
  font-size: var(--type-small);
  font-weight: 800;
  white-space: nowrap;
}

.summary-grid article,
.audit-summary-grid article,
.panel {
  background: rgba(22, 31, 38, .78);
  border: 1px solid var(--soft-line);
  border-radius: var(--radius-md);
  backdrop-filter: blur(12px);
  box-shadow: 0 12px 34px rgba(0, 0, 0, .12);
}

.summary-grid article {
  padding: 14px 16px;
}

.summary-grid span {
  display: block;
  color: var(--muted);
  font-size: var(--type-small);
}

.summary-grid strong {
  display: block;
  margin-top: 6px;
  font-size: var(--type-page-title);
}

.summary-grid small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.readiness-score-card {
  border-color: rgba(227, 27, 35, .38);
  background:
    radial-gradient(circle at 100% 0%, rgba(227, 27, 35, .16), transparent 44%),
    rgba(22, 31, 38, .82);
}

.readiness-summary-panel {
  width: 100%;
  justify-self: stretch;
  margin: 0;
}

#assetManagerView .summary-grid {
  display: none !important;
}

.header-readiness-control .readiness-summary-panel {
  position: absolute;
  top: calc(100% + 9px);
  right: 0;
  z-index: 60;
  width: min(760px, calc(100vw - 32px));
  display: grid;
  grid-template-columns: repeat(5, minmax(108px, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(227, 27, 35, .3);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 86% 0%, rgba(227, 27, 35, .18), transparent 36%),
    linear-gradient(180deg, rgba(17, 20, 24, .98), rgba(7, 9, 11, .98));
  box-shadow: 0 20px 42px rgba(0, 0, 0, .32);
}

.header-readiness-control .readiness-summary-panel.hidden {
  display: none !important;
}

.header-readiness-control .readiness-summary-panel article {
  min-height: 82px;
  padding: 10px;
}

.header-readiness-control .readiness-summary-panel span {
  font-size: var(--type-small);
}

.header-readiness-control .readiness-summary-panel strong {
  font-size: var(--type-section-title);
  line-height: 1;
}

.workbench {
  display: grid;
  grid-template-columns: 390px 1fr;
  gap: 14px;
  margin-top: 14px;
}

#dataEntryView .workbench,
#instructorView .workbench,
#examView .workbench,
#documentsView .workbench {
  grid-template-columns: 1fr;
}

.data-entry-stack {
  display: contents;
}

.profile-entry-launcher {
  align-self: start;
  display: grid;
  gap: 12px;
}

.inline-entry-launcher {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.profile-entry-popup {
  position: fixed;
  inset: 22px;
  z-index: 75;
  width: min(760px, calc(100vw - 44px));
  max-height: calc(100vh - 44px);
  margin: auto;
  overflow: auto;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .58), var(--glow-cyan);
}

.profile-entry-popup::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: rgba(2, 8, 12, .72);
  backdrop-filter: blur(10px);
}

#recordForm.profile-entry-popup {
  width: min(840px, calc(100vw - 44px));
}

#instructorForm.profile-entry-popup {
  width: min(900px, calc(100vw - 44px));
}

#examForm.profile-entry-popup,
#documentForm.profile-entry-popup {
  width: min(840px, calc(100vw - 44px));
}

#planningDocumentForm.profile-entry-popup {
  width: min(900px, calc(100vw - 44px));
}

.planning-document-form {
  display: grid;
  gap: 14px;
}

.planning-document-form label {
  display: grid;
  gap: 6px;
}

.planning-entry-brief {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid rgba(227, 27, 35, .34);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 0% 0%, rgba(227, 27, 35, .16), transparent 42%),
    linear-gradient(180deg, rgba(245, 247, 250, .055), rgba(17, 20, 24, .62));
}

.planning-entry-brief strong {
  color: var(--text);
  font-size: var(--font-sub-window-title);
}

.planning-entry-brief span,
.field-help {
  color: var(--muted);
  font-size: var(--type-small);
  line-height: 1.35;
}

.planning-document-form .field-row {
  align-items: start;
}

.planning-file-panel {
  align-items: center;
  padding: 10px;
  border: 1px dashed rgba(227, 27, 35, .42);
  border-radius: var(--radius-md);
  background: rgba(7, 9, 11, .26);
}

.planning-file-panel .registry-note {
  color: var(--text);
  font-weight: 700;
}

.planning-file-note {
  margin-top: -6px;
}

.planning-operational-fields {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(227, 27, 35, .32);
  border-radius: var(--radius-lg);
  background: rgba(7, 9, 11, .28);
}

.planning-operational-fields legend {
  padding: 0 8px;
  color: var(--text);
  font-weight: 800;
}

.planning-operational-fields select[multiple] {
  min-height: 104px;
  padding-block: 8px;
}

.planning-operational-summary {
  display: grid;
  gap: 4px;
  margin-top: 8px;
}

.planning-operational-summary small {
  color: var(--muted);
  line-height: 1.35;
}

.planning-linked-records {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.planning-linked-records span {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  padding: 4px 8px;
  border: 1px solid rgba(227, 27, 35, .35);
  border-radius: 999px;
  color: var(--text);
  background: rgba(227, 27, 35, .10);
}

.exam-workbench {
  align-items: start;
}

.exam-workbench #examForm:not(.profile-entry-popup) {
  position: relative;
  z-index: 2;
}

.exam-generator-panel {
  position: relative;
  z-index: 1;
}

.exam-workbench .list-panel {
  grid-column: 1 / -1;
}

.audit-command-panel {
  margin-top: 14px;
  gap: 14px;
}

.welcome-workbench {
  margin-top: 14px;
}

.portal-module-title {
  position: relative;
  width: min(960px, 100%);
  margin: 22px auto 14px;
  padding: 10px 16px 14px;
  text-align: center;
}

.portal-module-title::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: min(520px, 74%);
  height: 3px;
  transform: translateX(-50%);
  border-radius: var(--radius-pill);
  background: linear-gradient(90deg, transparent, var(--command-red), var(--silver), var(--command-red-dark), transparent);
  box-shadow: 0 0 24px rgba(227, 27, 35, .22);
}

.portal-module-title h2 {
  font-size: var(--type-section-title);
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0;
  text-shadow: 0 2px 20px rgba(0, 0, 0, .22);
}

.portal-overview-row {
  width: min(1120px, 100%);
  margin: 0 auto 14px;
  display: flex;
  justify-content: center;
}

.portal-overview-button {
  min-width: 240px;
  min-height: 46px;
  border-radius: var(--radius-pill);
  font-weight: 800;
  text-transform: uppercase;
  background:
    linear-gradient(180deg, var(--button-primary), var(--button-primary-active));
  border-color: rgba(255, 255, 255, .38);
  color: #fff;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .22), 0 0 24px rgba(227, 27, 35, .24);
}

.portal-hub-layout {
  position: relative;
  width: min(1040px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
}

.portal-hub-layout::before {
  display: none;
}

.ops-command-dashboard {
  width: min(1120px, calc(100vw - 44px));
  margin: 18px auto 34px;
  display: grid;
  gap: 12px;
}

.ops-command-topline,
.ops-overview-panel {
  border: 1px solid rgba(245, 247, 250, .14);
  border-radius: var(--radius-md);
  background:
    linear-gradient(135deg, rgba(245, 247, 250, .055), transparent 32%),
    linear-gradient(90deg, rgba(17, 20, 24, .92), rgba(31, 35, 41, .86) 54%, rgba(126, 14, 19, .26)),
    rgba(17, 20, 24, .92);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .05);
}

.ops-command-topline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 112px;
  padding: 18px 20px;
}

.ops-eyebrow {
  display: inline-flex;
  align-items: center;
  width: max-content;
  padding: 5px 10px;
  border: 1px solid rgba(227, 27, 35, .5);
  border-radius: var(--radius-pill);
  color: #fff;
  background: rgba(227, 27, 35, .18);
  font-size: var(--type-body);
  font-weight: 800;
  text-transform: uppercase;
}

.ops-command-topline h2 {
  margin: 10px 0 4px;
  font-size: var(--font-main-window-title);
  line-height: 1.05;
  color: #fff;
}

.ops-command-topline p {
  max-width: 760px;
  color: var(--muted);
}

.ops-report-button {
  min-width: 138px;
  min-height: 40px;
}

.ops-mode-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.ops-mode-tabs button {
  min-height: 34px;
  padding: 7px 18px;
  border-radius: 8px;
}

.ops-mode-tabs button.active {
  border-color: rgba(255, 255, 255, .42);
  background: linear-gradient(180deg, var(--button-primary), var(--button-primary-active));
  color: #fff;
  box-shadow: 0 12px 24px rgba(227, 27, 35, .2);
}

.ops-overview-panel {
  padding: 14px;
}

.ops-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.ops-panel-heading strong {
  color: #fff;
  text-transform: uppercase;
  font-size: var(--type-section-title);
}

.ops-panel-heading button {
  min-height: 32px;
  padding: 6px 13px;
  border-radius: var(--radius-pill);
}

.ops-live-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.ops-live-summary .portal-metric-card {
  min-height: 88px;
  height: 88px;
  padding: 10px 12px;
  overflow: hidden;
}

.ops-live-summary .portal-metric-card span {
  font-size: var(--type-small);
}

.ops-live-summary .portal-metric-card strong {
  font-size: var(--type-page-title);
  line-height: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ops-live-summary .portal-metric-card small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ops-dashboard-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  align-items: stretch;
}

.portal-management-panel,
.management-drawer-panel {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: var(--radius-md);
  background: rgba(34, 40, 47, .88);
  box-shadow: 0 20px 44px rgba(0, 0, 0, .24);
  align-self: center;
}

.management-side-drawer {
  position: fixed;
  top: var(--header-drawer-top);
  left: auto;
  right: var(--drawer-management-right);
  z-index: 39;
  display: block;
  width: var(--header-drawer-tab-width);
  transform: none;
  pointer-events: none;
}

.management-side-drawer.open {
  transform: none;
}

.management-drawer-panel {
  position: absolute;
  top: calc(var(--header-drawer-tab-height) + 8px);
  right: 0;
  width: min(var(--management-drawer-panel-width), calc(100vw - 24px));
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .13), transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, .055), rgba(227, 27, 35, .035), rgba(255, 255, 255, .03)),
    rgba(35, 42, 50, .96);
  box-shadow: -18px 22px 42px rgba(0, 0, 0, .24);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}

.management-side-drawer.open .management-drawer-panel {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}

.management-drawer-tab {
  pointer-events: auto;
  width: var(--header-drawer-tab-width);
  min-width: 0;
  max-width: var(--header-drawer-tab-width);
  min-height: var(--header-drawer-tab-height);
  margin-left: 0;
  padding: 8px 10px;
  writing-mode: horizontal-tb;
  transform: none;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(227, 27, 35, .58);
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .95), rgba(37, 44, 52, .95) 58%, rgba(143, 13, 19, .28)),
    rgba(37, 44, 52, .96);
  color: #fff;
  box-shadow: 0 12px 24px rgba(0, 0, 0, .24), 0 0 22px rgba(227, 27, 35, .18);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: uppercase;
  text-align: center;
  white-space: nowrap;
}

.management-side-drawer.open .management-drawer-tab {
  border-color: rgba(227, 27, 35, .72);
}

.portal-management-header {
  min-height: 46px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background:
    linear-gradient(90deg, rgba(227, 27, 35, .95), rgba(255, 255, 255, .16), rgba(143, 13, 19, .34)),
    rgba(42, 49, 57, .95);
  color: #fff;
  font-weight: 800;
}

.portal-management-panel button,
.management-drawer-panel button {
  width: 100%;
  min-height: 54px;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  gap: 10px;
  justify-content: start;
  padding: 10px 16px;
  border: 1px solid rgba(227, 27, 35, .18);
  border-radius: var(--button-radius);
  background:
    linear-gradient(90deg, rgba(227, 27, 35, .16), transparent 42%),
    linear-gradient(180deg, #171B20, #111418);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
  text-align: left;
  color: var(--text);
}

.portal-management-panel button:hover,
.management-drawer-panel button:hover {
  color: #fff;
  border-color: rgba(227, 27, 35, .56);
  background:
    linear-gradient(90deg, rgba(227, 27, 35, .3), transparent 48%),
    linear-gradient(180deg, #1C2026, #111418);
  transform: translateY(-1px);
}

.site-control-grid {
  display: grid;
  grid-template-columns: minmax(320px, .9fr) minmax(360px, 1.1fr);
  gap: 14px;
  margin: 14px 0;
}

.site-setup-workflow {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(227, 27, 35, .26);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 18% 0%, rgba(227, 27, 35, .16), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, .055), rgba(17, 20, 24, .82)),
    rgba(17, 20, 24, .82);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .18);
}

.site-management-lock-notice {
  margin-top: 12px;
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid rgba(227, 27, 35, .36);
  border-radius: var(--radius-md);
  background:
    linear-gradient(90deg, rgba(227, 27, 35, .18), rgba(17, 20, 24, .9)),
    rgba(17, 20, 24, .9);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .04);
}

.site-management-lock-notice strong,
.site-management-lock-notice small {
  display: block;
}

.site-management-lock-notice small {
  color: var(--muted);
  margin-top: 3px;
}

.site-management-lock-notice > span {
  padding: 7px 12px;
  border: 1px solid rgba(227, 27, 35, .42);
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(180deg, var(--danger), var(--danger-deep));
  font-weight: 800;
  white-space: nowrap;
}

.site-management-lock-notice.unlocked {
  border-color: rgba(69, 211, 128, .38);
  background:
    linear-gradient(90deg, rgba(69, 211, 128, .12), rgba(17, 20, 24, .9)),
    rgba(17, 20, 24, .9);
}

.site-management-lock-notice.unlocked > span {
  border-color: rgba(69, 211, 128, .5);
  background: linear-gradient(180deg, rgba(69, 211, 128, .34), rgba(24, 118, 66, .72));
}

.site-setup-head {
  align-items: start;
  gap: 12px;
}

.site-setup-toolbar {
  min-width: min(100%, 520px);
  display: grid;
  grid-template-columns: minmax(180px, 1fr) max-content max-content;
  gap: 8px;
  align-items: center;
}

.site-setup-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.site-setup-step {
  min-height: 150px;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius-md);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)),
    rgba(17, 20, 24, .72);
}

.site-setup-step.complete {
  border-color: rgba(47, 166, 106, .5);
  box-shadow: inset 0 0 0 1px rgba(47, 166, 106, .12);
}

.site-setup-step.pending {
  border-color: rgba(227, 27, 35, .36);
}

.site-setup-step > span {
  width: max-content;
  padding: 4px 8px;
  border-radius: var(--radius-pill);
  color: var(--text);
  background: rgba(227, 27, 35, .22);
  font-weight: 800;
}

.site-setup-step.complete > span {
  background: rgba(47, 166, 106, .24);
}

.site-setup-step strong {
  color: var(--text);
  font-size: var(--type-section-title);
}

.site-setup-step small {
  color: var(--muted);
  line-height: 1.35;
}

.site-map-upload-row {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 8px;
  margin-bottom: 10px;
}

.site-map-upload-row .file-button {
  justify-content: center;
}

.site-module-scope {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 10px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-md);
  background: rgba(7, 9, 11, .22);
}

.site-module-scope legend {
  padding: 0 6px;
  color: var(--text);
  font-weight: 800;
}

.site-module-scope label {
  display: flex;
  grid-template-columns: none;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.site-editor-card {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-lg);
  padding: 16px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .06), rgba(88, 210, 208, .04)),
    rgba(30, 36, 43, .78);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .2);
}

.site-editor-card label {
  display: grid;
  gap: 6px;
  margin-bottom: 10px;
}

.site-list-card {
  min-height: 100%;
}

.site-registry-list {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.site-registry-item {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius-md);
  padding: 11px 12px;
  background: rgba(18, 24, 31, .5);
}

.site-registry-item strong {
  display: block;
  color: var(--text);
  font-size: var(--type-section-title);
}

.site-registry-item small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  line-height: 1.35;
}

.site-registry-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.site-registry-actions button,
.site-registry-actions .button-link {
  min-height: 32px;
  padding: 6px 10px;
  font-size: var(--type-small);
}

.management-icon {
  width: 18px;
  height: 18px;
  position: relative;
  display: inline-block;
}

.site-icon {
  border: 2px solid currentColor;
  border-radius: 3px;
}

.site-icon::before,
.site-icon::after {
  content: "";
  position: absolute;
  background: currentColor;
}

.site-icon::before {
  width: 10px;
  height: 2px;
  left: 2px;
  top: 5px;
}

.site-icon::after {
  width: 2px;
  height: 14px;
  left: 7px;
  top: 0;
}

.user-icon::before,
.user-icon::after {
  content: "";
  position: absolute;
  border: 2px solid currentColor;
}

.user-icon::before {
  width: 7px;
  height: 7px;
  left: 5px;
  top: 0;
  border-radius: 50%;
}

.user-icon::after {
  width: 16px;
  height: 8px;
  left: 1px;
  bottom: 0;
  border-radius: 10px 10px 2px 2px;
}

.role-icon {
  border: 2px solid currentColor;
  border-radius: 3px;
}

.role-icon::before {
  content: "";
  position: absolute;
  width: 8px;
  height: 4px;
  border: 2px solid currentColor;
  border-bottom: 0;
  left: 3px;
  top: -6px;
  border-radius: 3px 3px 0 0;
}

.portal-module-grid {
  position: relative;
  width: 100%;
  min-height: 0;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: stretch;
}

.portal-hub-layout .portal-module-grid {
  width: 100%;
  min-height: 0;
}

.portal-module-button {
  min-height: clamp(164px, 22vh, 212px);
  padding: 16px 10px;
  border-radius: var(--radius-lg);
  display: grid;
  place-items: center;
  text-align: center;
  border-color: rgba(255, 255, 255, .22);
  background: var(--solid-button-bg, #242930);
  color: #f7f9fb;
  box-shadow: none;
}

.portal-module-button::before {
  display: none;
}

.portal-module-button::after {
  display: none;
}

.portal-module-button span {
  display: block;
  width: min(100%, 150px);
  font-size: var(--type-section-title);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.18;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
  margin-inline: auto;
}

.portal-module-button.compact-module-button span {
  width: min(100%, 154px);
  font-size: var(--type-section-title);
  line-height: 1.12;
}

.portal-module-button.primary-module span {
  width: min(100%, 178px);
  font-size: var(--type-section-title);
}

.portal-module-button:hover {
  color: #fff;
  border-color: rgba(227, 27, 35, .52);
  background: var(--solid-button-bg-hover, #2f363f);
  box-shadow: none;
}

.portal-module-button.primary-module {
  color: #fff;
  border-color: rgba(255, 255, 255, .44);
  background: var(--solid-button-bg, #242930);
  box-shadow: none;
}

.portal-module-button.primary-module::before {
  border-color: rgba(255, 255, 255, .38);
}

.portal-module-button.primary-module:hover {
  color: #fff;
  background: var(--solid-button-bg-hover, #2f363f);
}

.portal-return-bar {
  width: min(820px, 100%);
  margin: 14px auto 0;
}

#mainMenuView .portal-return-bar {
  display: none;
}

#mainMenuView .welcome-title {
  display: none;
}

#mainMenuView .welcome-title p {
  margin-top: 4px;
}

#mainMenuView .readiness-summary-control,
#mainMenuView .welcome-workbench {
  margin-top: 0;
}

.portal-management-window {
  width: min(1120px, 100%);
  margin: 18px auto 0;
}

.portal-management-window.map-only-window {
  width: min(1440px, calc(100% - 28px));
  height: calc(100vh - 92px);
  margin-top: 12px;
  padding: 10px;
  display: grid;
  grid-template-rows: minmax(420px, 1fr) auto;
  gap: 12px;
  min-height: 0;
  overflow: auto;
}

.portal-management-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.portal-overview-command {
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
}

.portal-overview-command.map-only-overview {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  min-height: 0;
}

.portal-overview-logo-stack {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 46%),
    rgba(9, 17, 22, .48);
}

.portal-overview-logo-stack img {
  display: block;
  width: min(220px, 100%);
  margin: 0 auto 4px;
  padding: 10px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .22);
}

.portal-overview-stats-cascade {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.portal-metric-card {
  min-height: 118px;
  padding: 14px;
  display: grid;
  align-content: center;
  gap: 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius-md);
  background: rgba(9, 17, 22, .48);
}

.portal-metric-card span {
  color: var(--muted);
  font-size: var(--type-small);
  text-transform: uppercase;
}

.portal-metric-card strong {
  font-size: var(--type-page-title);
  color: var(--text);
}

.portal-metric-card small {
  color: var(--muted);
}

.portal-overview-stats-cascade .portal-metric-card {
  min-height: 72px;
  padding: 10px;
  gap: 4px;
}

.portal-overview-stats-cascade .portal-metric-card span {
  font-size: var(--type-small);
}

.portal-overview-stats-cascade .portal-metric-card strong {
  font-size: var(--type-page-title);
  line-height: 1;
}

.overview-statistics-button {
  width: min(310px, 34vw);
  min-height: 42px;
  margin-left: auto;
}

.overview-command-button {
  width: min(250px, 28vw);
  min-height: 42px;
}

.embedded-live-site-map {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  background: #101419;
  filter: saturate(.9) contrast(1.03);
}

.asset-map-canvas.pin-capture-active .embedded-live-site-map {
  pointer-events: none;
}

.site-command-title {
  margin-top: 22px;
  align-items: end;
}

.site-command-dashboard {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 12px;
}

.site-command-panel {
  min-height: 0;
  padding: 12px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(227, 27, 35, .2);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .08), transparent 54%),
    rgba(9, 17, 22, .5);
}

.site-dashboard-focus {
  display: grid;
  gap: 12px;
}

.site-dashboard-focus-card {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(120px, 170px);
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(135deg, rgba(245, 247, 250, .07), transparent 35%),
    linear-gradient(90deg, rgba(17, 20, 24, .94), rgba(31, 35, 41, .88) 58%, rgba(126, 14, 19, .3)),
    rgba(17, 20, 24, .94);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .22), inset 0 1px 0 rgba(255, 255, 255, .05);
}

.site-dashboard-focus-card.ok {
  border-color: rgba(69, 211, 128, .36);
}

.site-dashboard-focus-card.warn {
  border-color: rgba(245, 176, 65, .45);
}

.site-dashboard-focus-card.bad {
  border-color: rgba(227, 27, 35, .55);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .24), 0 0 30px rgba(227, 27, 35, .12);
}

.site-dashboard-focus-main h3 {
  margin: 8px 0 4px;
  font-size: var(--type-section-title);
  line-height: 1.05;
  color: #fff;
}

.site-dashboard-focus-main p,
.site-dashboard-focus-main small {
  color: var(--muted);
}

.large-meter {
  height: 12px;
  margin: 12px 0 8px;
}

.site-dashboard-score {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 8px;
  min-height: 120px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius-md);
  background: rgba(7, 9, 11, .58);
}

.site-dashboard-score span {
  color: var(--muted);
  font-size: var(--type-small);
  text-transform: uppercase;
  font-weight: 800;
}

.site-dashboard-score strong {
  color: #fff;
  font-size: var(--type-small);
  line-height: 1;
}

.site-dashboard-components {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.site-dashboard-components div {
  min-height: 76px;
  padding: 9px 10px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius-md);
  background: rgba(7, 9, 11, .46);
}

.site-dashboard-components div.ok {
  border-color: rgba(69, 211, 128, .34);
}

.site-dashboard-components div.warn {
  border-color: rgba(245, 176, 65, .42);
}

.site-dashboard-components div.bad {
  border-color: rgba(227, 27, 35, .48);
}

.site-dashboard-components span,
.site-dashboard-components small {
  display: block;
  color: var(--muted);
  font-size: var(--type-small);
}

.site-dashboard-components strong {
  display: block;
  margin: 4px 0;
  color: #fff;
  font-size: var(--type-small);
}

.site-dashboard-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.site-command-card {
  display: grid;
  gap: 12px;
  padding: 15px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-lg);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .07), rgba(88, 210, 208, .04)),
    rgba(19, 26, 33, .72);
  box-shadow: 0 18px 36px rgba(0, 0, 0, .18);
}

.site-command-card.ok {
  border-color: rgba(75, 216, 151, .34);
}

.site-command-card.warn {
  border-color: rgba(255, 195, 87, .42);
}

.site-command-card.bad {
  border-color: rgba(255, 93, 93, .5);
}

.site-command-card-head,
.site-command-foot {
  display: grid;
  grid-template-columns: 1fr max-content;
  gap: 10px;
  align-items: start;
}

.site-command-foot {
  grid-template-columns: 1fr;
}

.site-command-foot .site-registry-actions {
  justify-content: flex-start;
}

.site-command-card-head strong {
  display: block;
  color: var(--text);
  font-size: var(--type-section-title);
  line-height: 1.25;
}

.site-command-card-head span,
.site-command-foot small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  line-height: 1.4;
}

.site-command-meter {
  height: 8px;
  overflow: hidden;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, .1);
}

.site-command-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--red), #ffc357, var(--green));
}

.site-command-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.site-command-metrics div {
  min-height: 76px;
  display: grid;
  align-content: center;
  gap: 3px;
  padding: 9px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--radius-md);
  background: rgba(7, 13, 18, .38);
}

.site-command-metrics span,
.site-command-metrics small {
  color: var(--muted);
  font-size: var(--type-small);
  line-height: 1.25;
}

.site-command-metrics strong {
  color: var(--text);
  font-size: var(--type-small);
  line-height: 1.2;
}

.site-command-empty {
  grid-column: 1 / -1;
}

.portal-management-table {
  max-height: calc(100vh - 260px);
  overflow: auto;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, .12);
}

.portal-management-table table {
  width: 100%;
  border-collapse: collapse;
}

.portal-management-table th,
.portal-management-table td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  text-align: left;
}

.audit-migration-panel {
  width: min(1280px, 100%);
  margin: 16px auto 0;
}

.audit-module-concern-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.audit-module-concern-grid article {
  min-height: 104px;
  padding: 14px;
  display: grid;
  align-content: center;
  gap: 8px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(255, 255, 255, .14);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .08), transparent 54%),
    rgba(255, 255, 255, .06);
}

.audit-module-concern-grid span {
  color: var(--muted);
  font-size: var(--type-small);
  text-transform: uppercase;
}

.audit-module-concern-grid strong {
  color: var(--text);
  font-size: var(--type-page-title);
}

.audit-module-concern-grid small {
  color: var(--muted);
}

.asset-manager-shell {
  width: min(1480px, 100%);
  height: calc(100vh - 152px);
  min-height: 0;
  margin: 8px auto 0;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, .14);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .08), transparent 48%),
    linear-gradient(180deg, rgba(242, 245, 247, .96), rgba(223, 228, 232, .94));
  background-size: 620px 620px, auto;
  background-position: right -210px top -160px, center;
  box-shadow: 0 28px 60px rgba(0, 0, 0, .28);
}

.asset-manager-sidebar {
  overflow: hidden;
  border-radius: 0;
  border: 0;
  border-right: 1px solid rgba(0, 0, 0, .1);
  background:
    linear-gradient(30deg, rgba(35, 43, 51, .035) 12%, transparent 12.5%, transparent 87%, rgba(35, 43, 51, .035) 87.5%, rgba(35, 43, 51, .035)),
    rgba(248, 250, 251, .96);
  background-size: 34px 58px, auto;
  box-shadow: none;
  align-self: stretch;
  display: grid;
  align-content: start;
}

.asset-manager-header {
  min-height: 48px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: linear-gradient(180deg, #1bb8c8, #0ca5b5);
  color: #fff;
  font-weight: 800;
}

.asset-manager-sidebar button {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
  gap: 3px;
  padding: 5px 4px;
  border: 1px solid rgba(227, 27, 35, .16);
  border-radius: var(--button-radius);
  background:
    linear-gradient(180deg, rgba(23, 27, 32, .88), rgba(17, 20, 24, .88));
  box-shadow: none;
  text-align: center;
  color: var(--button-text);
}

.asset-manager-sidebar button:hover,
.asset-manager-sidebar button.active {
  color: #fff;
  border-color: rgba(227, 27, 35, .62);
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .24), rgba(17, 20, 24, .94));
  box-shadow: 0 0 18px rgba(227, 27, 35, .18);
  transform: translateY(-1px);
}

.asset-manager-sidebar button span:last-child {
  font-size: var(--type-small);
  font-weight: 800;
  line-height: 1.15;
}

.asset-nav-icon {
  width: 18px;
  height: 18px;
  position: relative;
  display: inline-block;
  transform: scale(.82);
  transform-origin: center;
}

.dashboard-icon {
  border: 2px solid currentColor;
  box-shadow: 8px 0 0 -5px currentColor, 0 8px 0 -5px currentColor, 8px 8px 0 -5px currentColor;
}

.forms-icon,
.inventory-icon,
.qr-scan-icon,
.map-type-icon,
.risk-icon {
  border: 2px solid currentColor;
  border-radius: 3px;
}

.forms-icon::before,
.inventory-icon::before,
.layers-icon::before,
.assets-icon::before,
.qr-scan-icon::before,
.map-type-icon::before,
.risk-icon::before {
  content: "";
  position: absolute;
  background: currentColor;
}

.forms-icon::before {
  width: 10px;
  height: 2px;
  left: 2px;
  top: 5px;
  box-shadow: 0 5px 0 currentColor;
}

.layers-icon {
  transform: rotate(-35deg);
  border: 2px solid currentColor;
  border-radius: 4px;
}

.layers-icon::before {
  width: 16px;
  height: 2px;
  left: 0;
  bottom: -6px;
  box-shadow: 0 5px 0 currentColor;
}

.assets-icon {
  border: 2px solid currentColor;
  border-radius: 4px;
}

.assets-icon::before {
  width: 8px;
  height: 8px;
  left: 3px;
  top: 3px;
  border-radius: 2px;
}

.inventory-icon::before {
  width: 12px;
  height: 2px;
  left: 1px;
  top: 4px;
  box-shadow: 0 5px 0 currentColor, 0 10px 0 currentColor;
}

.risk-icon {
  border-radius: 50%;
}

.risk-icon::before {
  width: 3px;
  height: 10px;
  left: 6px;
  top: 2px;
  box-shadow: 0 12px 0 currentColor;
}

.qr-scan-icon {
  border-radius: 50%;
}

.qr-scan-icon::before {
  width: 6px;
  height: 6px;
  left: 4px;
  top: 4px;
  box-shadow: 6px 0 0 currentColor, 0 6px 0 currentColor, 6px 6px 0 currentColor;
}

.map-type-icon {
  border-radius: 2px;
  transform: rotate(-8deg);
}

.map-type-icon::before {
  width: 2px;
  height: 16px;
  left: 5px;
  top: -1px;
  box-shadow: 6px 0 0 currentColor;
}

.asset-manager-main {
  min-width: 0;
  padding: 0;
  border-radius: 0;
  border: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(223, 237, 240, .92)),
    #eef6f8;
  box-shadow: none;
}

.asset-manager-tab {
  display: none;
}

.asset-manager-tab.active {
  display: grid;
  height: 100%;
  min-height: 0;
  gap: 8px;
  align-content: start;
  overflow: hidden;
  padding: 10px;
}

.asset-manager-tab[data-asset-panel="dashboard"].active {
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: stretch;
}

.asset-manager-tab[data-asset-panel="forms"].active,
.asset-manager-tab[data-asset-panel="assets"].active,
.asset-manager-tab[data-asset-panel="inventory"].active,
.asset-manager-tab[data-asset-panel="layers"].active,
.asset-manager-tab[data-asset-panel="qrScan"].active,
.asset-manager-tab[data-asset-panel="mapType"].active,
.asset-manager-tab[data-asset-panel="defects"].active {
  overflow: auto;
}

.compact-title {
  margin-bottom: 0;
  color: #15242d;
}

#assetManagerView .module-bar {
  margin-top: 6px;
  padding: 4px 0;
}

#assetManagerView .module-bar strong {
  font-size: var(--type-section-title);
}

#assetManagerView .panel-title {
  margin-bottom: 6px;
}

#assetManagerView .compact-title h2 {
  font-size: var(--type-section-title);
}

.compact-title span {
  color: #667782;
  font-size: var(--type-section-title);
}

.asset-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}

.asset-status-card,
.asset-layer-card {
  min-height: 52px;
  padding: 6px 8px;
  display: grid;
  align-content: center;
  gap: 3px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 44, 52, .12);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 10px 24px rgba(16, 42, 50, .08);
}

.asset-status-card span,
.asset-layer-card span {
  color: #51626f;
  font-size: var(--type-small);
  line-height: 1.1;
  text-transform: uppercase;
}

.asset-status-card strong,
.asset-layer-card strong {
  color: #17242d;
  font-size: var(--type-section-title);
  line-height: 1;
}

.asset-status-card small,
.asset-layer-card small {
  color: #667782;
  font-size: var(--type-small);
  line-height: 1.2;
}

.asset-status-card.green {
  border-color: rgba(69, 213, 130, .45);
  background: rgba(25, 116, 71, .22);
}

.asset-status-card.amber {
  border-color: rgba(246, 180, 68, .54);
  background: rgba(128, 87, 24, .28);
}

.asset-status-card.red {
  border-color: rgba(239, 76, 85, .58);
  background: rgba(130, 26, 34, .3);
}

.asset-map-panel {
  margin-top: 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 44, 52, .14);
  overflow: hidden;
  background: #f6fafb;
  box-shadow: 0 18px 38px rgba(20, 39, 47, .12);
}

.asset-map-title {
  min-height: 34px;
  padding: 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  color: #687883;
  border-bottom: 1px solid rgba(0, 44, 52, .1);
  background: rgba(255, 255, 255, .78);
}

.asset-map-title strong {
  color: #17242d;
}

.asset-map-board {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

.asset-map-canvas {
  position: relative;
  min-height: 0;
  height: 100%;
  overflow: hidden;
  background:
    radial-gradient(circle at 72% 26%, rgba(242, 222, 184, .72), transparent 0 11%, rgba(81, 63, 44, .34) 12%, transparent 29%),
    radial-gradient(circle at 28% 72%, rgba(30, 155, 177, .32), transparent 0 14%, rgba(8, 54, 70, .2) 15%, transparent 34%),
    linear-gradient(90deg, rgba(9, 30, 42, .82), rgba(20, 69, 82, .62) 34%, rgba(170, 151, 118, .3) 35%, rgba(128, 107, 76, .36)),
    repeating-linear-gradient(0deg, rgba(255, 255, 255, .07) 0 1px, transparent 1px 78px),
    repeating-linear-gradient(90deg, rgba(255, 255, 255, .06) 0 1px, transparent 1px 78px);
}

.asset-map-stage {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.asset-map-viewport-layer {
  position: absolute;
  inset: 0;
  z-index: 2;
  transform: translate(var(--asset-map-pan-x, 0px), var(--asset-map-pan-y, 0px)) scale(var(--asset-map-zoom, 1));
  transform-origin: 0 0;
  transition: transform .18s ease;
}

.asset-map-stage img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  filter: saturate(.92) contrast(1.05);
}

.asset-map-canvas.has-uploaded-map::before,
.asset-map-canvas.map-image-missing::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .04), rgba(7, 9, 11, .2)),
    radial-gradient(circle at 72% 18%, rgba(227, 27, 35, .12), transparent 26%);
}

.asset-map-canvas.map-image-missing::after,
.asset-map-canvas.fallback-map::after {
  content: "Fallback site grid";
  position: absolute;
  inset: auto auto 14px 14px;
  left: 14px;
  bottom: 14px;
  z-index: 5;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: var(--radius-pill);
  background: rgba(7, 9, 11, .72);
  color: #fff;
  font-size: var(--type-small);
  font-weight: 900;
  text-transform: uppercase;
}

.asset-map-canvas::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(255, 255, 255, .12), transparent 22%, transparent 78%, rgba(0, 0, 0, .2));
}

.asset-map-canvas.map-standard {
  background:
    linear-gradient(115deg, rgba(28, 176, 194, .18), transparent 28%),
    radial-gradient(circle at 70% 24%, rgba(235, 222, 192, .72), transparent 0 12%, rgba(194, 181, 153, .52) 13%, transparent 31%),
    radial-gradient(circle at 28% 72%, rgba(35, 160, 184, .34), transparent 0 16%, rgba(17, 86, 104, .22) 17%, transparent 36%),
    linear-gradient(90deg, rgba(197, 220, 225, .94), rgba(222, 232, 228, .8) 43%, rgba(206, 190, 153, .52)),
    repeating-linear-gradient(0deg, rgba(12, 55, 65, .1) 0 1px, transparent 1px 78px),
    repeating-linear-gradient(90deg, rgba(12, 55, 65, .09) 0 1px, transparent 1px 78px);
}

.asset-map-canvas.map-satellite {
  background:
    radial-gradient(circle at 78% 26%, rgba(219, 201, 148, .68), transparent 0 14%, rgba(99, 82, 56, .34) 15%, transparent 34%),
    radial-gradient(circle at 21% 64%, rgba(9, 43, 64, .86), transparent 0 20%, rgba(18, 86, 103, .44) 21%, transparent 42%),
    linear-gradient(90deg, rgba(20, 37, 45, .96), rgba(74, 80, 72, .74) 42%, rgba(155, 139, 92, .55)),
    repeating-linear-gradient(35deg, rgba(255, 255, 255, .05) 0 2px, transparent 2px 18px);
}

.asset-map-canvas.map-hybrid {
  background:
    radial-gradient(circle at 78% 26%, rgba(219, 201, 148, .58), transparent 0 14%, rgba(99, 82, 56, .36) 15%, transparent 34%),
    radial-gradient(circle at 21% 64%, rgba(9, 43, 64, .9), transparent 0 20%, rgba(18, 86, 103, .48) 21%, transparent 42%),
    linear-gradient(90deg, rgba(16, 30, 38, .96), rgba(66, 75, 70, .76) 42%, rgba(145, 130, 88, .54)),
    repeating-linear-gradient(0deg, rgba(88, 210, 208, .2) 0 1px, transparent 1px 78px),
    repeating-linear-gradient(90deg, rgba(227, 27, 35, .14) 0 1px, transparent 1px 78px);
}

.asset-map-canvas.map-terrain {
  background:
    radial-gradient(circle at 72% 30%, rgba(180, 158, 104, .46), transparent 0 14%, rgba(95, 82, 57, .3) 15%, transparent 34%),
    radial-gradient(circle at 32% 70%, rgba(74, 116, 91, .35), transparent 0 18%, rgba(34, 67, 53, .28) 19%, transparent 38%),
    linear-gradient(90deg, rgba(39, 53, 46, .88), rgba(89, 93, 73, .5), rgba(124, 111, 78, .42)),
    repeating-linear-gradient(18deg, rgba(255, 255, 255, .055) 0 1px, transparent 1px 18px);
}

.asset-map-type-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 6;
  padding: 6px 10px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, .24);
  background: rgba(7, 18, 25, .72);
  color: var(--text);
  font-weight: 900;
  text-transform: uppercase;
}

.asset-map-floating-toolbar {
  position: absolute;
  right: 12px;
  top: 12px;
  z-index: 7;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: min(640px, calc(100% - 220px));
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .18);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .18), transparent 54%),
    rgba(17, 20, 24, .82);
  box-shadow: 0 16px 34px rgba(0, 0, 0, .24);
  backdrop-filter: blur(10px);
}

.asset-map-floating-toolbar button,
.asset-map-floating-toolbar .button-link {
  min-height: 30px;
  padding: 6px 10px;
  font-size: var(--type-small);
  border-color: rgba(227, 27, 35, .38);
}

.asset-map-floating-toolbar button.active {
  border-color: rgba(255, 255, 255, .42);
  background:
    linear-gradient(180deg, var(--button-primary), var(--button-primary-active)),
    rgba(227, 27, 35, .95);
  color: #fff;
}

.asset-map-status-legend {
  position: absolute;
  left: 12px;
  top: 52px;
  z-index: 6;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: 360px;
}

.asset-map-status-legend span {
  padding: 5px 8px;
  border-radius: var(--radius-pill);
  color: #fff;
  font-size: var(--type-small);
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.asset-map-status-legend .green {
  background: #139a55;
}

.asset-map-status-legend .amber {
  background: #c8861e;
}

.asset-map-status-legend .red {
  background: #c7232c;
}

.asset-map-status-legend .filtered {
  background: rgba(17, 20, 24, .88);
  border: 1px solid rgba(255, 255, 255, .2);
}

.asset-map-label {
  position: absolute;
  left: var(--label-x);
  top: var(--label-y);
  z-index: 5;
  transform: translate(-50%, -50%);
  padding: 3px 7px;
  border-radius: var(--radius-pill);
  border: 1px solid rgba(255, 255, 255, .42);
  background: rgba(6, 43, 47, .78);
  color: #fff;
  font-size: var(--type-small);
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .22);
}

.asset-map-marker {
  position: absolute;
  left: var(--marker-x);
  top: var(--marker-y);
  z-index: 4;
  min-width: 34px;
  min-height: 34px;
  padding: 5px;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 2px solid rgba(255, 255, 255, .82);
  color: #fff;
  font-size: var(--type-small);
  font-weight: 900;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, .12), 0 12px 24px rgba(0, 0, 0, .32);
}

.asset-map-marker.coordinate-pin {
  box-shadow: 0 0 0 6px rgba(255, 255, 255, .16), 0 0 0 11px rgba(227, 27, 35, .12), 0 12px 24px rgba(0, 0, 0, .32);
}

.asset-map-marker.fallback-pin {
  border-style: dashed;
}

.asset-map-marker span {
  max-width: 42px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.asset-map-marker.green {
  background: #139a55;
}

.asset-map-marker.amber {
  background: #c8861e;
}

.asset-map-marker.red {
  background: #c7232c;
}

.asset-map-canvas.has-live-map::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(90deg, rgba(7, 9, 11, .16), transparent 22%, transparent 78%, rgba(0, 0, 0, .12));
}

.asset-map-canvas.pin-capture-active {
  cursor: crosshair;
}

.asset-map-pending-pin {
  position: absolute;
  left: var(--marker-x);
  top: var(--marker-y);
  z-index: 8;
  transform: translate(-50%, -50%);
  min-width: 54px;
  min-height: 34px;
  padding: 7px 10px;
  display: grid;
  place-items: center;
  border-radius: var(--radius-pill);
  border: 2px solid rgba(255, 255, 255, .9);
  background: linear-gradient(180deg, #ff2a32, #b9151b);
  color: #fff;
  font-size: var(--type-small);
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 0 0 7px rgba(227, 27, 35, .18), 0 16px 30px rgba(0, 0, 0, .38);
  pointer-events: none;
}

.asset-form-inline-button {
  align-self: end;
  min-height: 42px;
  width: 100%;
}

.asset-map-empty {
  position: absolute;
  inset: 0;
  z-index: 4;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, .72);
  font-weight: 800;
}

.asset-map-list {
  max-height: min(46vh, 420px);
  overflow: auto;
  padding: 8px;
  display: grid;
  align-content: start;
  gap: 6px;
  background: rgba(255, 255, 255, .84);
}

.asset-map-floating-list {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 6;
  width: min(360px, calc(100% - 24px));
  max-height: min(42vh, 360px);
  border: 1px solid rgba(0, 44, 52, .16);
  border-radius: var(--radius-md);
  box-shadow: 0 18px 38px rgba(0, 0, 0, .22);
  backdrop-filter: blur(10px);
}

.asset-map-list-heading {
  color: #17242d;
  font-size: var(--type-body);
  text-transform: uppercase;
}

.asset-map-list article {
  padding: 8px;
  display: grid;
  gap: 4px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 44, 52, .1);
  background: #fff;
}

.asset-map-list strong {
  color: #17242d;
}

.asset-map-list span,
.asset-map-list small {
  color: #667782;
}

.asset-map-list-open {
  justify-self: start;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: var(--type-small);
}

.asset-form {
  display: grid;
  gap: 8px;
}

.asset-tool-panel {
  display: grid;
  gap: 8px;
  padding: 10px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 44, 52, .12);
  background: rgba(255, 255, 255, .88);
  box-shadow: 0 16px 32px rgba(20, 39, 47, .1);
}

.asset-inspection-layout {
  display: grid;
  grid-template-columns: minmax(320px, .72fr) minmax(0, 1.28fr);
  gap: 10px;
  min-height: 0;
}

.asset-inspection-form,
.asset-inspection-log-panel {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 44, 52, .12);
  background: rgba(255, 255, 255, .9);
  box-shadow: 0 16px 32px rgba(20, 39, 47, .1);
}

.asset-inspection-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.asset-inspection-evidence-row {
  gap: 8px;
}

.asset-inspection-log-list {
  max-height: calc(100vh - 254px);
  overflow: auto;
}

.asset-inspection-log-list td {
  vertical-align: top;
}

.asset-defect-workflow-panel {
  display: grid;
  gap: 10px;
  min-height: 0;
}

.asset-workflow-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.asset-workflow-steps article {
  min-height: 74px;
  padding: 8px;
  display: grid;
  align-content: center;
  gap: 4px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(227, 27, 35, .18);
  background: linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(245, 232, 233, .86));
  box-shadow: 0 12px 28px rgba(20, 39, 47, .1);
}

.asset-workflow-steps strong {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e31b23;
  color: #fff;
  font-size: var(--type-section-title);
}

.asset-workflow-steps span {
  color: #17242d;
  font-weight: 900;
  line-height: 1.15;
}

.asset-workflow-steps small {
  color: #667782;
  line-height: 1.2;
}

.asset-defect-workflow-list {
  max-height: calc(100vh - 350px);
  overflow: auto;
}

.asset-defect-workflow-list td {
  vertical-align: top;
}

.asset-defect-gap {
  color: #b9151b;
  font-weight: 900;
}

.asset-tool-input-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: end;
}

.asset-lookup-results {
  display: grid;
  gap: 10px;
}

.asset-qr-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.asset-lookup-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(0, 44, 52, .12);
  border-radius: var(--radius-md);
  background: #fff;
}

.asset-lookup-card strong,
.asset-lookup-card span,
.asset-lookup-card small {
  display: block;
}

.asset-lookup-card span,
.asset-lookup-card small {
  margin-top: 4px;
  color: #667782;
}

.asset-qr-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
  align-items: center;
}

.asset-qr-record-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(227, 27, 35, .22);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .95), rgba(244, 232, 234, .9)),
    #fff;
  box-shadow: 0 18px 40px rgba(20, 39, 47, .14);
}

.asset-qr-record-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 148px;
  gap: 16px;
  align-items: start;
}

.asset-qr-record-header span {
  color: #e31b23;
  font-weight: 900;
  text-transform: uppercase;
}

.asset-qr-record-header h3 {
  margin: 4px 0;
  color: #111820;
  font-size: var(--type-section-title);
  line-height: 1.1;
}

.asset-qr-record-header small {
  color: #667782;
}

.asset-qr-visual {
  display: grid;
  justify-items: center;
  gap: 6px;
}

.asset-qr-visual div {
  width: 128px;
  height: 128px;
  padding: 7px;
  display: grid;
  grid-template-columns: repeat(13, 1fr);
  grid-template-rows: repeat(13, 1fr);
  gap: 2px;
  border-radius: 12px;
  border: 2px solid #101820;
  background: #fff;
  box-shadow: 0 10px 24px rgba(16, 24, 32, .16);
}

.asset-qr-visual i {
  border-radius: 1px;
  background: #fff;
}

.asset-qr-visual i.on {
  background: #101820;
}

.asset-qr-visual strong {
  max-width: 148px;
  color: #17242d;
  font-size: var(--type-section-title);
  line-height: 1.2;
  text-align: center;
  word-break: break-word;
}

.asset-qr-record-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.asset-qr-record-grid div,
.asset-qr-record-notes {
  padding: 8px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(0, 44, 52, .1);
  background: rgba(255, 255, 255, .78);
}

.asset-qr-record-grid span,
.asset-qr-record-notes strong {
  display: block;
  color: #667782;
  font-size: var(--type-small);
  font-weight: 900;
  text-transform: uppercase;
}

.asset-qr-record-grid strong,
.asset-qr-record-notes span {
  display: block;
  margin-top: 4px;
  color: #17242d;
  line-height: 1.25;
}

.asset-map-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(92px, 112px));
  width: max-content;
  max-width: 100%;
  gap: 8px;
  align-items: start;
}

.asset-map-type-grid button {
  min-width: 92px;
  min-height: 42px;
  padding: 7px 16px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid var(--button-border);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 58%),
    linear-gradient(180deg, #171B20, #111418);
  color: var(--button-text);
  line-height: 1.1;
  box-shadow: var(--button-shadow);
}

.asset-map-type-grid button.active {
  color: #fff;
  border-color: rgba(227, 27, 35, .72);
  background:
    linear-gradient(180deg, var(--button-primary), var(--button-primary-active));
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .16), 0 12px 26px rgba(227, 27, 35, .2);
}

.asset-map-type-status {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(227, 27, 35, .18);
  border-radius: var(--radius-md);
  background: #f8fcfd;
  color: #17242d;
}

.asset-map-type-status span {
  color: #667782;
}

.asset-map-type-preview {
  margin-top: 0;
}

.asset-form-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.asset-utilization-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.asset-utilization-row button {
  min-height: 36px;
}

.asset-layer-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.asset-registry-table {
  max-height: calc(100vh - 236px);
  overflow: auto;
}

.asset-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  min-height: 24px;
  margin-right: 6px;
  padding: 2px 8px;
  border-radius: var(--radius-pill);
  font-size: var(--type-body);
  font-weight: 900;
  text-transform: uppercase;
}

.asset-status-pill.green {
  color: #071b10;
  background: #48d681;
}

.asset-status-pill.amber {
  color: #261603;
  background: #f5b744;
}

.asset-status-pill.red {
  color: #fff;
  background: #e31b23;
}

.asset-qr-code {
  display: inline-block;
  max-width: 150px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #18d3e5;
  font-family: Consolas, monospace;
  font-size: var(--type-body);
}

.action-cell {
  white-space: nowrap;
}

.action-cell button {
  min-height: 30px;
  padding: 5px 10px;
}

.action-cell .danger-button {
  border-color: rgba(227, 27, 35, .62);
  color: #fff;
  background: linear-gradient(180deg, var(--button-danger), #5F090D);
}

.welcome-title {
  position: relative;
  overflow: hidden;
  margin-top: 18px;
  padding: 22px 0 12px;
  text-align: center;
}

.welcome-title h2,
.welcome-title p {
  position: relative;
  z-index: 1;
}

.welcome-title h2 {
  font-size: var(--type-section-title);
  letter-spacing: 0;
  color: var(--text);
  text-transform: uppercase;
  text-shadow: 0 2px 18px rgba(65, 214, 208, .35);
}

.welcome-title p {
  margin-top: 8px;
  color: var(--bg2-light);
  font-size: var(--type-section-title);
  font-style: italic;
  letter-spacing: 0;
}

.data-entry-stack {
  display: grid;
  gap: 14px;
}

.data-review-stack {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.panel {
  padding: 14px;
}

.module-bar {
  width: min(1220px, calc(100% - 28px));
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  margin: 14px auto 0;
  padding: 7px 0;
}

.module-bar strong {
  min-width: 0;
  text-align: left;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.panel-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 12px;
  min-width: 0;
  flex-wrap: wrap;
}

.panel-title h2,
.panel-title strong {
  min-width: 0;
  overflow-wrap: break-word;
  line-height: 1.18;
}

.register-count {
  color: var(--bg2-light);
  font-size: var(--type-small);
  font-weight: 700;
  white-space: nowrap;
}

.panel-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}

.inline-actions,
.stacked-actions,
.search-actions,
.notification-actions,
.task-actions {
  align-items: center;
}

.compact-title {
  margin-bottom: 8px;
}

.profile-account-panel {
  margin: 12px 0;
  padding: 10px;
  border: 1px solid rgba(65, 214, 208, .34);
  background: rgba(18, 24, 32, .46);
}

.coverage-preview {
  margin: -4px 0 12px;
  padding: 10px;
  border: 1px solid rgba(65, 214, 208, .28);
  background: rgba(18, 24, 32, .42);
  color: var(--muted);
  line-height: 1.45;
}

.instructor-guide {
  margin: 0 0 12px;
  border: 1px solid rgba(65, 214, 208, .28);
  background: rgba(18, 24, 32, .42);
}

.instructor-guide summary {
  padding: 10px;
  color: var(--bg2-light);
  cursor: pointer;
  font-weight: 700;
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 10px 10px;
}

.guide-grid section {
  border: 1px solid rgba(255, 255, 255, .08);
  padding: 10px;
  background: rgba(11, 17, 23, .38);
}

.guide-grid h3 {
  margin: 0 0 8px;
  font-size: var(--type-section-title);
  color: var(--text);
}

.guide-grid strong {
  display: block;
  margin-top: 8px;
  color: var(--cyan);
}

.guide-grid p,
.guide-grid li {
  color: var(--muted);
  line-height: 1.4;
}

.guide-grid ul {
  margin: 6px 0 0 18px;
  padding: 0;
}

.guide-wide {
  grid-column: 1 / -1;
}

.dot-return {
  width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border-radius: 50%;
  position: relative;
}

.dot-return span {
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--button-text);
}

.dot-return span:nth-child(1) { left: 11px; top: 10px; }
.dot-return span:nth-child(2) { left: 25px; top: 10px; }
.dot-return span:nth-child(3) { left: 18px; top: 18px; }
.dot-return span:nth-child(4) { left: 11px; top: 26px; }
.dot-return span:nth-child(5) { left: 25px; top: 26px; }
.dot-return span:nth-child(n+6) { display: none !important; }

.dot-return:hover span {
  background: #fff;
  box-shadow: 0 0 8px rgba(255, 42, 50, .42);
}

form label {
  display: block;
  margin-bottom: 10px;
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  margin-top: 4px;
  padding: 8px 9px;
  border: 1px solid var(--line);
  background: var(--input);
  color: var(--text);
  outline: none;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--cyan);
}

.profile-source-summary {
  margin: -2px 0 12px;
  padding: 9px 10px;
  border: 1px solid rgba(65, 214, 208, .24);
  background: rgba(65, 214, 208, .08);
  color: var(--muted);
  font-size: var(--type-small);
  line-height: 1.35;
}

.profile-source-summary.loaded {
  color: var(--text);
  border-color: rgba(126, 216, 137, .38);
  background: rgba(126, 216, 137, .08);
}

.evidence-attachment-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  align-items: stretch;
  margin: 6px 0 12px;
}

.evidence-attachment-row .registry-note {
  display: block;
  min-height: 30px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, .08);
  background: rgba(255, 255, 255, .035);
}

.evidence-attachment-row .file-button,
.evidence-attachment-row button {
  width: 100%;
  min-width: 0;
  white-space: normal;
  text-align: center;
}

.behavior-observation-panel {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid var(--soft-line);
  border-radius: var(--radius-md);
  background: rgba(12, 24, 32, .34);
}

.behavior-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.checkbox-line {
  display: inline-grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  margin: 2px 0 12px;
}

.checkbox-line input {
  width: auto;
  margin: 0;
}

.credential-checklist {
  display: grid;
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid var(--line);
}

.credential-checklist legend {
  padding: 0 6px;
  font-weight: 700;
}

.credential-checklist label {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  margin: 0;
  font-weight: 600;
}

.credential-checklist input {
  width: auto;
  margin: 2px 0 0;
}

.profile-credential-control {
  display: grid;
  gap: 8px;
  margin: 4px 0 12px;
}

.profile-credential-control button {
  width: 100%;
}

.profile-credential-control small {
  max-height: 52px;
  overflow: auto;
}

.photo-attachment {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}

.photo-preview {
  width: 92px;
  height: 92px;
  border: 1px solid var(--line);
  background: var(--input);
  display: grid;
  place-items: center;
}

.photo-preview img,
.person-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.photo-preview img.empty-photo {
  display: none;
}

.photo-preview:has(img.empty-photo)::before {
  content: "Photo";
  color: var(--muted);
}

.person-cell {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 8px;
  align-items: center;
}

.personnel-hours-watch-row td {
  background: rgba(65, 214, 208, .12);
  color: #eafcff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
}

.personnel-cascade {
  position: relative;
}

.personnel-cascade.cascade-depth-0 {
  --cascade-indent: 0px;
}

.personnel-cascade.cascade-depth-1 {
  --cascade-indent: 18px;
  margin-left: 18px;
}

.personnel-cascade.cascade-depth-2 {
  --cascade-indent: 36px;
  margin-left: 36px;
}

.personnel-cascade.cascade-depth-3 {
  --cascade-indent: 54px;
  margin-left: 54px;
}

.cascade-role-label {
  display: block;
  margin-bottom: 2px;
  color: var(--cyan);
  font-size: var(--type-small);
  font-weight: 800;
  text-transform: uppercase;
}

.compact-person-cell {
  grid-template-columns: 34px 1fr;
  align-items: flex-start;
  margin: 4px 0;
}

.compact-person-cell .person-photo {
  width: 34px;
  height: 34px;
}

.calendar-owner-line {
  margin: 5px 0;
}

.instructor-cell {
  grid-template-columns: 52px 1fr;
}

.instructor-cell .person-photo {
  width: 52px;
  height: 52px;
}

.person-photo {
  width: 38px;
  height: 38px;
  border: 1px solid var(--line);
  background: var(--input);
}

.photo-initials {
  display: inline-grid;
  place-items: center;
  color: var(--cyan);
  font-size: var(--type-section-title);
  font-weight: 700;
}

.field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.field-row .full-field {
  grid-column: 1 / -1;
}

.scenario-objective-field {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  font-weight: 700;
}

.scenario-objective-checklist {
  max-height: 260px;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-md);
  background: rgba(8, 17, 22, .58);
}

.objective-category-box {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-md);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 54%),
    rgba(255, 255, 255, .045);
}

.objective-category-box legend {
  padding: 0 8px;
  color: var(--text);
  font-size: var(--type-section-title);
  font-weight: 800;
}

.objective-checkbox {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  margin: 8px 0 0;
  font-weight: 600;
  line-height: 1.3;
}

.objective-checkbox input {
  width: 16px;
  height: 16px;
  margin-top: 1px;
  accent-color: var(--command-red);
}

.objective-checkbox span {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.scenario-objective-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
}

.scenario-objective-footer button {
  min-height: 34px;
  padding: 7px 12px;
}

.objective-manager-card {
  width: min(980px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, .24);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 46%),
    linear-gradient(180deg, rgba(24, 30, 37, .98), rgba(12, 17, 22, .98));
  color: var(--text);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .46);
}

.objective-manager-card .single-record-header h2 {
  color: var(--text);
}

.objective-manager-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.objective-manager-actions:has(label:nth-of-type(2)) {
  grid-template-columns: minmax(180px, .8fr) minmax(260px, 1.2fr) auto;
}

.objective-manager-actions label {
  margin-bottom: 0;
}

.objective-manager-actions button {
  min-height: 38px;
  white-space: nowrap;
}

.objective-manager-list {
  display: grid;
  gap: 12px;
  max-height: min(56vh, 620px);
  overflow: auto;
  padding-right: 4px;
}

.objective-manager-category {
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .05);
  overflow: hidden;
}

.objective-manager-category-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 11px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .055);
}

.objective-manager-category-title strong,
.objective-manager-category-title span {
  min-width: 0;
}

.objective-manager-category-title span {
  color: var(--muted);
  font-size: var(--type-small);
}

.objective-manager-category-title button,
.objective-manager-objectives button {
  min-height: 30px;
  padding: 5px 10px;
}

.objective-manager-objectives {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 8px;
  padding: 12px;
}

.objective-manager-objectives > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 36px;
  padding: 8px 10px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: var(--radius-sm);
  background: rgba(0, 0, 0, .14);
}

.objective-manager-objectives span {
  min-width: 0;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.profile-form-actions {
  justify-content: flex-start;
  margin-top: 10px;
}

.restore-toolbar {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, max-content));
  gap: 10px;
  align-items: center;
  margin-bottom: 12px;
}

.restore-toolbar select {
  min-width: 0;
}

.restore-preview-list {
  margin-bottom: 12px;
}

.exam-meta {
  color: var(--muted);
  font-size: var(--type-small);
  margin: 8px 0 12px;
}

.exam-simulation-results {
  display: grid;
  gap: 10px;
  margin: 10px 0 12px;
  padding: 12px;
  border: 1px solid rgba(232, 186, 85, .38);
  border-radius: var(--radius-md);
  background: rgba(7, 18, 25, .56);
}

.simulation-header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  color: var(--amber);
}

.simulation-header span {
  color: var(--muted);
  font-size: var(--type-small);
}

.simulation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  padding-right: 4px;
}

.simulation-item {
  display: grid;
  gap: 6px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: rgba(18, 24, 32, .72);
}

.simulation-pass {
  border-color: rgba(126, 216, 137, .44);
}

.simulation-fail {
  border-color: rgba(240, 111, 111, .44);
}

.generated-exam-list {
  display: grid;
  gap: 10px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.exam-question-card {
  border: 1px solid var(--line);
  background: rgba(7, 18, 25, 0.72);
  padding: 12px;
}

.exam-question-card strong {
  display: block;
  margin-bottom: 8px;
}

.exam-question-card ol {
  margin: 0;
  padding-left: 22px;
}

.exam-question-card li {
  margin: 4px 0;
}

.answer-sheet-access {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.full-row-button {
  width: 100%;
  margin-top: 10px;
}

.exam-popup {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 22px;
  background:
    radial-gradient(circle at 50% 35%, rgba(65, 214, 208, .12), transparent 34%),
    rgba(2, 8, 12, 0.72);
  backdrop-filter: blur(12px) saturate(1.15);
}

.exam-popup-card {
  position: relative;
  overflow: hidden;
  width: min(920px, calc(100vw - 36px));
  max-height: min(760px, calc(100vh - 36px));
  display: grid;
  grid-template-rows: auto 1fr auto;
  border: 1px solid rgba(65, 214, 208, 0.68);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08), transparent 26%),
    var(--glass-strong);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.48), var(--glow-cyan);
  backdrop-filter: blur(18px) saturate(1.24);
  animation: popupRise .28s ease both;
}

.exam-popup-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  background:
    linear-gradient(90deg, rgba(65, 214, 208, .18), transparent 18%, transparent 82%, rgba(242, 178, 107, .14)),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 8px);
  opacity: .35;
}

.exam-popup-header {
  position: relative;
  overflow: hidden;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(90deg, rgba(65, 214, 208, .1), rgba(255, 255, 255, .035));
}

.exam-popup-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  animation: popupHeaderScan 2.2s linear infinite;
}

.exam-popup-header strong,
.exam-popup-header span {
  display: block;
}

.exam-popup-header strong {
  color: var(--cyan);
  font-size: var(--type-section-title);
}

.exam-popup-header span {
  color: var(--muted);
  font-size: var(--type-small);
  margin-top: 3px;
}

.exam-timer {
  min-width: 86px;
  padding: 10px 12px;
  border: 1px solid var(--cyan);
  border-radius: var(--radius-pill);
  background: rgba(65, 214, 208, .08);
  color: var(--cyan);
  text-align: center;
  font-size: var(--type-small);
  font-weight: 800;
}

.exam-popup-question {
  overflow: auto;
  padding: 18px;
  line-height: 1.45;
}

.statement-popup-card {
  width: min(820px, calc(100vw - 36px));
}

.statement-popup-content {
  overflow: auto;
  padding: 18px;
  line-height: 1.55;
}

.statement-popup-content p {
  margin-bottom: 14px;
}

.evidence-review-card {
  width: min(680px, calc(100vw - 36px));
}

.evidence-review-body {
  position: relative;
  padding: 18px;
  display: grid;
  gap: 10px;
}

.evidence-review-body label {
  color: var(--cyan);
  font-weight: 800;
}

.evidence-review-body textarea {
  width: 100%;
  min-height: 150px;
  resize: vertical;
  border: 1px solid rgba(65, 214, 208, .45);
  border-radius: var(--radius);
  padding: 12px;
  background: rgba(8, 18, 24, .9);
  color: var(--text);
  font: inherit;
  line-height: 1.45;
  outline: none;
}

.evidence-review-body textarea:focus {
  border-color: var(--cyan);
  box-shadow: 0 0 0 3px rgba(65, 214, 208, .14);
}

.watch-hierarchy-card {
  width: min(1120px, calc(100vw - 40px));
}

.watch-hierarchy-content {
  overflow-x: hidden;
  overflow-y: auto;
  max-height: min(64vh, 620px);
  min-height: 460px;
  padding: 0;
  background: #0a4461;
}

.hierarchy-window-panel {
  padding: 0;
  overflow: hidden;
}

.page-hierarchy-content {
  max-height: calc(100vh - 260px);
  min-height: 620px;
}

.page-hierarchy-content .watch-tree-board {
  min-width: 100%;
}

.watch-tree-board {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 520px;
  padding: 22px clamp(10px, 2vw, 24px) 34px;
  background: #0a4461;
  color: #dbe8ef;
}

.watch-tree-board h2 {
  margin: 0 0 28px;
  text-align: center;
  color: #e4ebef;
  font-size: var(--type-section-title);
  line-height: 1;
  text-shadow: 0 3px 0 rgba(0, 0, 0, .52);
}

.watch-tree-note {
  max-width: 780px;
  margin: -14px auto 24px;
  color: rgba(228, 235, 239, .82);
  text-align: center;
  font-size: var(--type-small);
}

.hierarchy-level-panel {
  width: 100%;
  margin: 0 auto 18px;
  padding: 18px;
  border: 1px solid rgba(222, 235, 242, .34);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(5, 38, 57, .48), rgba(4, 29, 45, .28));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

.hierarchy-level-panel h3 {
  margin: 0 0 14px;
  color: var(--cyan);
  text-align: center;
  font-size: var(--type-section-title);
  letter-spacing: 0;
  text-transform: uppercase;
}

.management-level-panel {
  max-width: 1000px;
}

.operational-level-panel {
  overflow-x: hidden;
  padding: 20px 18px 28px;
}

.watch-tree-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.watch-tree-panel {
  --watch-accent: #41d6d0;
  --watch-fill: rgba(10, 68, 97, .88);
  --watch-node: rgba(9, 61, 88, .94);
  --watch-text: #e5eef2;
  padding: 18px 14px 22px;
  min-width: 0;
  border: 1px solid rgba(222, 235, 242, .42);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, rgba(6, 40, 59, .42), rgba(6, 40, 59, .24));
}

.watch-theme-red {
  --watch-accent: #ff5d5d;
  --watch-fill: rgba(118, 26, 32, .92);
  --watch-node: rgba(72, 17, 24, .92);
  --watch-text: #fff2f2;
}

.watch-theme-blue {
  --watch-accent: #70b7ff;
  --watch-fill: rgba(31, 86, 140, .92);
  --watch-node: rgba(16, 49, 91, .92);
  --watch-text: #edf7ff;
}

.watch-theme-white {
  --watch-accent: #e9f3fa;
  --watch-fill: rgba(218, 232, 240, .92);
  --watch-node: rgba(190, 211, 224, .94);
  --watch-text: #102433;
}

.watch-theme-general {
  --watch-accent: #e8ba55;
  --watch-fill: rgba(118, 91, 37, .92);
  --watch-node: rgba(72, 55, 25, .92);
  --watch-text: #fff7df;
}

.watch-tree {
  --tree-line: rgba(226, 235, 240, .72);
  display: grid;
  justify-items: center;
  gap: 0;
}

.organization-tree {
  width: 100%;
  overflow: visible;
}

.command-tree {
  max-width: 980px;
  margin: 0 auto;
}

.watch-staffing-tree {
  max-width: 100%;
  min-width: 0;
  padding: 8px 8px 22px;
}

.watch-tree-fallback-note {
  width: min(100%, 720px);
  margin: 22px auto 8px;
  padding: 10px 14px;
  border: 1px solid rgba(232, 186, 85, .56);
  border-radius: var(--radius-sm);
  background: rgba(118, 91, 37, .18);
  color: #fff7df;
  font-size: var(--type-small);
  line-height: 1.45;
  text-align: center;
}

.watch-selector-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 6px 0 22px;
}

.watch-selector-button {
  --watch-accent: var(--button-primary);
  --watch-fill: rgba(227, 27, 35, .82);
  --watch-text: #e5eef2;
  min-width: 132px;
  padding: 10px 14px;
  border: 1px solid rgba(227, 27, 35, .58);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 58%),
    linear-gradient(180deg, #171B20, #111418);
  color: var(--watch-text);
  font-size: var(--type-body);
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.watch-selector-button.active,
.watch-selector-button:hover {
  color: #fff;
  border-color: color-mix(in srgb, var(--watch-accent) 72%, #E31B23);
  background:
    linear-gradient(180deg, var(--watch-fill), rgba(17, 20, 24, .92));
  box-shadow: 0 0 0 3px rgba(227, 27, 35, .22), 0 0 22px color-mix(in srgb, var(--watch-accent) 24%, transparent);
}

.tree-node {
  position: relative;
  min-width: 0;
  width: min(100%, 180px);
  max-width: 180px;
  padding: 8px 10px;
  border: 2px solid rgba(226, 235, 240, .78);
  border-radius: var(--radius-sm);
  background: var(--watch-node);
  color: var(--watch-text);
  text-align: center;
  box-shadow: 0 3px 0 rgba(0, 0, 0, .24);
}

.tree-node:has(+ .tree-level)::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -32px;
  height: 32px;
  border-left: 2px solid var(--tree-line);
  transform: translateX(-50%);
}

.tree-root-node {
  background: var(--watch-fill);
  border-color: var(--watch-accent);
}

.tree-program-node {
  min-width: 240px;
  background: rgba(8, 51, 73, .96);
  border-color: rgba(228, 235, 239, .86);
  color: #eef7fb;
}

.tree-watch-node {
  background: var(--watch-fill);
  border-color: var(--watch-accent);
  color: var(--watch-text);
}

.tree-node strong,
.tree-node span {
  display: block;
}

.tree-node strong {
  font-size: var(--type-section-title);
  line-height: 1.16;
  text-transform: uppercase;
}

.tree-node span {
  margin-top: 3px;
  color: currentColor;
  font-size: var(--type-section-title);
  opacity: .82;
}

.tree-role-node {
  min-width: 150px;
  background: rgba(220, 237, 248, .9);
  color: #071923;
  border-color: rgba(255, 255, 255, .78);
}

.tree-command-node {
  width: min(100%, 238px);
  max-width: 238px;
  background: rgba(220, 237, 248, .92);
  color: #071923;
  border-color: rgba(255, 255, 255, .82);
}

.tree-captain-node,
.tree-lieutenant-node {
  width: min(100%, 178px);
  max-width: 178px;
}

.tree-captain-node {
  background: var(--watch-fill);
  border-color: var(--watch-accent);
}

.tree-lieutenant-node {
  background: rgba(220, 237, 248, .9);
  color: #071923;
  border-color: rgba(255, 255, 255, .78);
}

.watch-staffing-tree .tree-captain-node,
.watch-staffing-tree .tree-lieutenant-node,
.watch-staffing-tree .tree-role-node,
.watch-staffing-tree .tree-person-node {
  background: var(--watch-fill);
  color: var(--watch-text);
  border-color: var(--watch-accent);
}

.watch-staffing-tree .tree-role-node {
  min-width: 0;
  width: min(100%, 114px);
  box-shadow: 0 3px 0 rgba(0, 0, 0, .24), inset 0 0 0 999px rgba(255, 255, 255, .08);
}

.watch-staffing-tree .tree-person-node {
  width: min(100%, 112px);
  box-shadow: 0 3px 0 rgba(0, 0, 0, .2), inset 0 0 0 999px rgba(0, 0, 0, .08);
}

.tree-person-node {
  min-width: 0;
  padding: 8px 10px;
}

.tree-person-node strong {
  font-size: var(--type-section-title);
}

.tree-vacant-node {
  background: rgba(255, 255, 255, .07);
  color: rgba(229, 238, 242, .62);
  border-color: rgba(229, 238, 242, .28);
  border-style: dashed;
  box-shadow: none;
}

.tree-level {
  --tree-gap: 10px;
  position: relative;
  display: flex;
  justify-content: center;
  flex-wrap: nowrap;
  gap: var(--tree-gap);
  width: 100%;
  margin: 32px 0 0;
  padding: 32px 0 0;
  list-style: none;
}

.tree-level-watch {
  align-items: start;
  gap: 18px;
}

.tree-level-watch > .watch-tree-panel {
  padding: 10px;
}

.tree-level > li {
  position: relative;
  display: grid;
  justify-items: center;
  min-width: 0;
  padding: 0 8px;
}

.tree-level > li::before {
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  height: 32px;
  border-left: 2px solid var(--tree-line);
}

.tree-level > li::after {
  content: "";
  position: absolute;
  top: -32px;
  left: calc(var(--tree-gap) / -2);
  right: calc(var(--tree-gap) / -2);
  border-top: 2px solid var(--tree-line);
}

.tree-level > li:first-child::after {
  left: 50%;
  right: calc(var(--tree-gap) / -2);
}

.tree-level > li:last-child::after {
  left: calc(var(--tree-gap) / -2);
  right: 50%;
}

.tree-level > li:only-child::after {
  display: none;
}

.tree-level-people {
  --tree-gap: 12px;
  flex-wrap: nowrap;
  max-width: 100%;
}

.tree-level-deputy {
  --tree-gap: 42px;
  display: flex;
  flex-wrap: nowrap;
  justify-items: center;
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.tree-level-deputy > li {
  flex: 1 1 0;
  width: 100%;
}

.tree-level-deputy .tree-command-node {
  width: min(100%, 278px);
  min-width: 0;
  max-width: none;
}

.tree-level-captain {
  align-items: start;
  --tree-gap: 14px;
}

.tree-level-lieutenant {
  align-items: start;
  --tree-gap: 22px;
  width: min(100%, 560px);
}

.tree-level-crew {
  align-items: start;
  --tree-gap: 14px;
}

.tree-level-crew > li {
  min-width: 0;
  width: 114px;
}

.tree-level-crew-people {
  display: flex;
  flex-direction: column;
  --tree-gap: 12px;
  gap: var(--tree-gap);
  padding-top: 24px;
  align-items: center;
}

.tree-level-crew-people::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  height: 24px;
  border-left: 2px solid var(--tree-line);
  transform: translateX(-50%);
}

.tree-level-crew-people > li {
  width: 100%;
}

.tree-level-crew-people > li::before {
  display: none;
}

.tree-level-crew-people > li::after {
  display: none;
}

.tree-level-people::before {
  height: 20px;
}

.tree-level-people > li::before {
  height: 20px;
  top: -20px;
}

.tree-level-people > li::after {
  top: -20px;
}

.watch-staffing-tree :is(.tree-node:has(+ .tree-level)::after, .tree-level > li::before, .tree-level > li::after, .tree-level-crew-people::before) {
  border-color: color-mix(in srgb, var(--watch-accent) 62%, rgba(255, 255, 255, .72));
}

.watch-staffing-tree .tree-level-captain {
  flex-direction: column;
  align-items: center;
}

.watch-staffing-tree .tree-level-captain > li {
  width: 100%;
}

.watch-staffing-tree .tree-level-captain > li::after {
  display: none;
}

.watch-staffing-tree .tree-level-lieutenant {
  display: grid;
  grid-template-columns: repeat(2, minmax(242px, 1fr));
  justify-content: center;
  align-items: start;
  max-width: 560px;
}

.watch-staffing-tree .tree-level-lieutenant > li {
  width: 100%;
  max-width: 250px;
  justify-self: center;
}

.watch-staffing-tree .tree-level-crew {
  display: grid;
  grid-template-columns: repeat(2, 114px);
  justify-content: center;
  width: min(100%, 242px);
}

.watch-staffing-tree .tree-level-crew-people {
  width: 100%;
}

.watch-staffing-tree .tree-person-node strong {
  font-size: var(--type-section-title);
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: none;
}

.watch-staffing-tree .tree-node span {
  font-size: var(--type-section-title);
}

.exam-popup-question strong {
  display: block;
  margin-bottom: 14px;
  font-size: var(--type-section-title);
}

.exam-answer-options {
  display: grid;
  gap: 10px;
}

.exam-answer-option {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: start;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  cursor: pointer;
}

.exam-answer-option input {
  width: auto;
  margin-top: 2px;
}

.exam-answer-option:has(input:checked) {
  border-color: var(--cyan);
  background: rgba(65, 214, 208, 0.12);
}

.exam-popup-actions {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 14px 16px;
  border-top: 1px solid var(--line);
  background: rgba(5, 17, 25, .86);
}

.system-controls-card {
  width: min(620px, calc(100vw - 32px));
}

.system-controls-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 16px;
}

.system-controls-grid button,
.system-controls-grid .file-button {
  width: 100%;
  justify-content: center;
  min-height: 42px;
}

.system-controls-grid #logoutButton {
  grid-column: 1 / -1;
}

.button-count-badge {
  display: inline-grid;
  min-width: 24px;
  height: 22px;
  margin-left: 8px;
  place-items: center;
  border: 1px solid rgba(245, 247, 250, .3);
  border-radius: var(--radius-pill);
  color: var(--muted);
  background: rgba(17, 20, 24, .78);
  font-size: var(--type-small);
  line-height: 1;
}

.button-count-badge.active {
  color: var(--text);
  border-color: rgba(227, 27, 35, .75);
  background: rgba(227, 27, 35, .35);
  box-shadow: 0 0 16px rgba(227, 27, 35, .2);
}

.offline-sync-card {
  width: min(920px, calc(100vw - 32px));
}

.offline-sync-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 10px;
  padding: 14px 16px 0;
}

.offline-sync-summary-card {
  min-height: 76px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(17, 20, 24, .78);
}

.offline-sync-summary-card span,
.offline-sync-summary-card small {
  display: block;
  color: var(--muted);
}

.offline-sync-summary-card strong {
  display: block;
  margin: 5px 0 2px;
  color: var(--text);
  font-size: var(--type-small);
}

.offline-sync-summary-card.ok {
  border-color: rgba(126, 216, 137, .45);
}

.offline-sync-summary-card.warn {
  border-color: rgba(232, 186, 85, .55);
}

.offline-sync-list {
  max-height: min(45vh, 460px);
  margin: 14px 16px 0;
  overflow: auto;
}

.data-health-warning-panel {
  border-color: rgba(232, 186, 85, .36);
  background:
    radial-gradient(circle at 100% 0%, rgba(232, 186, 85, .08), transparent 42%),
    rgba(17, 20, 24, .82);
}

.data-health-warning-panel .portfolio-metric.bad strong,
.data-health-warning-panel .portfolio-metric.warn strong {
  text-shadow: 0 0 14px currentColor;
}

.menu-panel {
  display: grid;
  gap: 10px;
}

.welcome-workbench .menu-panel {
  width: min(1040px, 100%);
  margin: 0 auto;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#mainMenuView.view.active {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding-top: 28px;
}

#mainMenuView .welcome-workbench {
  width: min(1120px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
}

#mainMenuView .welcome-workbench .menu-panel {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-radius: 14px;
  background: rgba(17, 20, 24, 0.72);
  border: 1px solid var(--border);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

#mainMenuView .menu-button {
  min-height: clamp(48px, 8vh, 68px);
  justify-content: center;
  text-align: center;
}

@media (max-width: 980px) {
  #mainMenuView .welcome-workbench .menu-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  #mainMenuView .welcome-workbench .menu-panel {
    grid-template-columns: 1fr;
  }
}

.integration-panel {
  width: min(820px, 100%);
  margin: 14px auto 0;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .08), rgba(255, 255, 255, .04)),
    rgba(15, 25, 31, .72);
}

.integration-panel div {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid rgba(65, 214, 208, .25);
  padding: 10px;
  background: rgba(7, 19, 27, .35);
}

.integration-panel span {
  color: var(--muted);
  font-size: var(--type-small);
  text-transform: uppercase;
}

.integration-panel strong {
  color: var(--cyan);
  font-size: var(--type-small);
}

.controls-integration-panel {
  width: 100%;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.controls-integration-panel div {
  min-height: 54px;
  padding: 10px 12px;
  border-color: rgba(227, 27, 35, .34);
  background:
    linear-gradient(135deg, rgba(227, 27, 35, .11), transparent 54%),
    rgba(17, 20, 24, .78);
}

.controls-integration-panel strong {
  color: var(--command-red-hover);
}

.menu-button {
  position: relative;
  min-height: 62px;
  font-weight: 700;
  text-transform: uppercase;
}

.menu-badge {
  position: absolute;
  right: 10px;
  top: 8px;
  min-width: 24px;
  padding: 2px 6px;
  border: 1px solid rgba(232, 186, 85, .72);
  color: var(--amber);
  background: rgba(7, 19, 27, .62);
  font-size: var(--type-small);
}

.menu-badge.empty-badge {
  color: var(--muted);
  border-color: rgba(159, 176, 189, .35);
}

.audit-command-panel .audit-documents-button {
  min-height: 38px;
  padding-right: 46px;
  text-transform: uppercase;
  white-space: nowrap;
}

.audit-command-panel .audit-documents-button .menu-badge {
  right: 8px;
  top: 7px;
}

.role-landing-panel {
  width: min(820px, 100%);
  margin: 14px auto 0;
}

.developer-window-shell {
  padding: 18px clamp(18px, 3vw, 34px) 36px;
}

.dynamic-command-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: min(1180px, 100%);
  margin: 14px auto 0;
}

.ai-query-panel,
.ai-results-panel,
.escalation-monitor-panel,
.corrective-action-panel,
.final-readiness-panel,
.deployment-checklist-panel,
.data-quality-panel,
.usb-readiness-panel,
.performance-control-panel,
.access-diagnostic-panel,
.migration-guard-panel,
.audit-hardening-panel {
  grid-column: 1 / -1;
}

.ai-results-panel .command-list {
  max-height: 380px;
}

.ai-results-panel .command-item {
  padding: 11px 0;
  background: linear-gradient(90deg, rgba(65, 214, 208, .09), rgba(255, 255, 255, 0));
}

.performance-control-panel .command-list {
  max-height: 360px;
}

.usb-readiness-panel .command-list {
  max-height: 340px;
}

.data-quality-panel .command-list {
  max-height: 420px;
}

.access-diagnostic-panel .command-list {
  max-height: 430px;
}

.migration-guard-panel .command-list {
  max-height: 300px;
}

.audit-hardening-panel .command-list {
  max-height: 340px;
}

.escalation-monitor-panel .command-list {
  max-height: 360px;
}

.corrective-action-panel .command-list {
  max-height: 400px;
}

.final-readiness-panel .command-list {
  max-height: 440px;
}

.deployment-checklist-panel .command-list {
  max-height: 440px;
}

.role-dashboard-list,
.calendar-comparison {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.role-dashboard-list div,
.calendar-comparison div {
  padding: 10px;
  border: 1px solid var(--line);
  background: rgba(7, 19, 27, .42);
}

.role-dashboard-list span,
.calendar-comparison span {
  display: block;
  color: var(--muted);
  font-size: var(--type-small);
  text-transform: uppercase;
}

.role-dashboard-list strong,
.calendar-comparison strong {
  display: block;
  margin-top: 4px;
  color: var(--cyan);
  font-size: var(--type-small);
}

.command-list {
  max-height: 310px;
  overflow: auto;
}

.command-item {
  display: grid;
  gap: 4px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.command-item:last-child {
  border-bottom: 0;
}

.command-item strong,
.command-item span {
  color: var(--text);
}

.watch-comparison-list .command-item {
  background: linear-gradient(90deg, rgba(65, 214, 208, .08), transparent);
}

.readiness-meter {
  display: grid;
  grid-template-columns: 150px 1fr 46px;
  gap: 10px;
  align-items: center;
  margin: 8px 0 12px;
  color: var(--muted);
  font-size: var(--type-small);
}

.readiness-meter div {
  height: 8px;
  border: 1px solid var(--line);
  background: rgba(7, 19, 27, .45);
  overflow: hidden;
}

.readiness-meter i {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--amber), var(--cyan));
}

.readiness-meter.complete i {
  background: var(--green);
}

.chain-status {
  display: inline-flex;
  gap: 4px;
  margin-top: 4px;
}

.chain-status i {
  min-width: 34px;
  padding: 2px 5px;
  border: 1px solid var(--line);
  color: var(--muted);
  font-style: normal;
  text-align: center;
  font-size: var(--type-small);
}

.chain-status i.done {
  color: var(--green);
  border-color: rgba(126, 216, 137, .6);
}

.save-status.status-ok {
  color: var(--green);
}

.save-status.status-warn {
  color: var(--amber);
}

.save-status.status-bad {
  color: var(--red);
}

.list-panel {
  min-width: 0;
}

.list-panel .panel-title input {
  max-width: 330px;
  margin-top: 0;
}

.registry-note {
  color: var(--muted);
  font-size: var(--type-small);
  line-height: 1.25;
}

.profile-missing-alert {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(232, 186, 85, .45);
  background: rgba(232, 186, 85, .09);
  color: var(--amber);
  font-size: var(--type-small);
  line-height: 1.35;
}

.profile-missing-alert.bad {
  border-color: rgba(255, 111, 97, .55);
  background: rgba(255, 111, 97, .10);
  color: var(--red);
}

.profile-missing-alert.ok {
  border-color: rgba(126, 216, 137, .5);
  background: rgba(126, 216, 137, .08);
  color: var(--green);
}

.profile-missing-line {
  color: var(--amber);
}

#personnelProfileList {
  flex: 2 1 0;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
  padding-right: 4px;
}

.profile-evidence-tools {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}

.profile-evidence-list {
  display: grid;
  align-content: start;
  flex: 1 1 auto;
  gap: 8px;
  max-height: none;
  min-height: 180px;
  overflow-y: auto;
  padding-right: 4px;
}

.profile-evidence-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(65, 214, 208, .22);
  background: rgba(18, 24, 32, .42);
}

.profile-evidence-item span,
.profile-evidence-item small {
  display: block;
}

.panel-search {
  width: 100%;
  margin: 0 0 10px;
}

.profile-qr-row {
  display: inline-grid;
  grid-template-columns: 44px auto;
  gap: 8px;
  align-items: center;
  margin: 7px 0;
}

.competency-qr {
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  background: white;
  padding: 2px;
}

.panel.locked {
  opacity: .72;
}

.panel.locked input,
.panel.locked select,
.panel.locked textarea,
.panel.locked button {
  cursor: not-allowed;
}

.compact-link {
  white-space: nowrap;
}

.filters {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
  flex-wrap: wrap;
}

.developer-tools {
  display: grid;
  gap: 10px;
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid rgba(232, 186, 85, .45);
  background: #1f2527;
}

.developer-tool-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto auto;
  gap: 8px;
  align-items: end;
}

.developer-tool-row + .developer-tool-row {
  grid-template-columns: minmax(220px, 1fr) auto 1fr 1fr;
}

.developer-tool-row label {
  margin-bottom: 0;
}

.developer-tools button {
  min-height: 38px;
}

.table-wrap {
  overflow: auto;
  max-height: 552px;
  border: 1px solid var(--line);
}

.table-wrap.tall {
  max-height: 670px;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 920px;
}

th,
td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #16202a;
  color: var(--text);
}

td {
  color: var(--text);
}

small {
  color: var(--muted);
}

.badge {
  display: inline-block;
  min-width: 92px;
  padding: 4px 7px;
  border: 1px solid var(--line);
  text-align: center;
}

.ok {
  color: var(--green);
  border-color: rgba(126, 216, 137, .6);
}

.warn {
  color: var(--amber);
  border-color: rgba(232, 186, 85, .65);
}

.bad {
  color: var(--red);
  border-color: rgba(240, 111, 111, .65);
}

.info {
  color: var(--blue);
  border-color: rgba(127, 183, 255, .65);
}

.row-actions {
  white-space: nowrap;
}

.row-actions button {
  min-height: 28px;
  padding: 4px 8px;
}

.insight-grid {
  grid-template-columns: 1fr 1fr;
  margin-top: 14px;
}

.audit-summary-grid,
.audit-grid {
  display: grid;
  gap: 12px;
}

.audit-summary-grid {
  grid-template-columns: repeat(4, 1fr);
}

.audit-summary-grid article {
  padding: 12px;
}

.audit-summary-grid span {
  display: block;
  color: var(--muted);
  font-size: var(--type-small);
}

.audit-summary-grid strong {
  display: block;
  margin-top: 4px;
  font-size: var(--type-page-title);
}

.audit-grid {
  grid-template-columns: 1fr 1fr;
  margin-top: 14px;
}

.audit-list {
  max-height: 320px;
  overflow: auto;
}

.audit-item {
  display: grid;
  gap: 4px;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.audit-item:last-child {
  border-bottom: 0;
}

.audit-item span {
  color: var(--text);
}

.bar-row {
  display: grid;
  grid-template-columns: 210px 1fr 58px;
  align-items: center;
  gap: 10px;
  margin: 10px 0;
  width: 100%;
  min-height: 34px;
  border: 0;
  background: transparent;
  color: var(--text);
  text-align: left;
  cursor: pointer;
}

.bar {
  height: 18px;
  border: 1px solid var(--line);
  background: #111820;
}

.bar span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--cyan), var(--green));
  transition: width .25s ease, filter .2s ease;
}

.bar-row:hover .bar span,
.bar-row.active .bar span {
  filter: brightness(1.35);
}

.bar-row.active .bar {
  border-color: var(--cyan);
  box-shadow: 0 0 18px rgba(65, 214, 208, .25);
}

.watch-item,
.document-item,
.promotion-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}

.promotion-card small {
  display: block;
  margin-top: 3px;
}

.promotion-review-note {
  color: var(--amber);
}

.promotion-decision {
  display: grid;
  justify-items: end;
  gap: 6px;
  min-width: 130px;
}

.promotion-decision strong {
  font-size: var(--type-small);
  color: var(--text);
}

.graph-detail-panel {
  grid-column: 1 / -1;
}

.graph-detail {
  display: grid;
  gap: 8px;
}

.graph-detail-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  border-bottom: 1px solid var(--line);
  padding-bottom: 8px;
}

.graph-detail-heading strong {
  color: var(--cyan);
}

.graph-detail-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid var(--line);
}

.graph-detail-row:last-child {
  border-bottom: 0;
}

.graph-detail-row button {
  min-height: 30px;
  padding: 5px 9px;
}

.watch-item:last-child,
.document-item:last-child,
.promotion-card:last-child {
  border-bottom: 0;
}

.query-panel {
  margin-bottom: 14px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--line);
}

.query-panel label {
  margin-bottom: 10px;
}

.planning-workbench {
  display: grid;
  gap: 16px;
}

.planning-command-panel {
  align-content: start;
}

.planning-navigation-panel {
  display: grid;
  gap: 12px;
}

.planning-module-menu {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.planning-module-menu .menu-button {
  min-height: 70px;
}

.planning-document-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.planning-document-stats article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .045);
}

.planning-document-stats span {
  color: var(--muted);
  font-size: var(--type-small);
  line-height: 1.25;
}

.planning-document-stats strong {
  color: var(--cyan);
  font-size: var(--type-small);
}

.planning-library-panel .panel-title {
  align-items: center;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 320px);
  gap: 12px;
}

.planning-library-panel select {
  width: min(320px, 100%) !important;
  max-width: 320px !important;
  justify-self: end;
}

@media (max-width: 720px) {
  .planning-library-panel .panel-title {
    grid-template-columns: 1fr;
  }

  .planning-library-panel select {
    justify-self: stretch;
    max-width: 100% !important;
  }
}

.planning-document-list {
  max-height: min(60vh, 680px);
  overflow: auto;
}

.query-summary {
  display: grid;
  grid-template-columns: repeat(3, auto 1fr);
  gap: 4px 8px;
  align-items: baseline;
  margin-bottom: 10px;
  color: var(--muted);
}

.query-summary strong {
  color: var(--text);
  font-size: var(--type-small);
}

.evidence-results h3 {
  margin: 12px 0 6px;
  font-size: var(--type-small);
  color: var(--cyan);
  text-transform: uppercase;
  letter-spacing: 0;
}

.evidence-item {
  display: grid;
  gap: 3px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.evidence-item:last-child {
  border-bottom: 0;
}

.evidence-item span {
  color: var(--text);
}

.evidence-quality-panel {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(227, 27, 35, .28);
}

.evidence-quality-summary {
  margin: 10px 0;
}

.evidence-quality-list {
  max-height: min(42vh, 430px);
  overflow: auto;
  padding-right: 4px;
}

.investigation-results {
  margin-top: 16px;
}

.investigation-trail {
  display: grid;
  gap: 8px;
  border-left: 2px solid rgba(65, 214, 208, .45);
  padding-left: 12px;
}

.investigation-item {
  display: grid;
  gap: 4px;
  position: relative;
  padding: 8px 10px;
  border: 1px solid var(--line);
  background: rgba(7, 19, 27, .5);
}

.investigation-item::before {
  content: "";
  position: absolute;
  left: -18px;
  top: 14px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 10px rgba(65, 214, 208, .8);
}

.investigation-item time,
.investigation-item span {
  color: var(--muted);
  font-size: var(--type-small);
}

.fade-transition {
  position: fixed;
  inset: 0;
  z-index: 80;
  pointer-events: none;
  background: rgba(7, 14, 18, .34);
  backdrop-filter: blur(3px);
  opacity: 0;
}

.fade-transition.fade-run {
  animation: fadeOverlay .42s ease-out both;
}

.view.fade-view-enter {
  animation: fadeViewEnter .34s ease-out both;
}

@keyframes fadeOverlay {
  0% {
    opacity: 0;
  }
  45% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes fadeViewEnter {
  0% {
    opacity: 0;
    transform: translateY(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.compact-empty {
  padding: 8px 0;
}

.calendar-shell {
  margin-top: 14px;
}

.calendar-hero {
  display: grid;
  grid-template-columns: 1fr 150px;
  align-items: center;
  min-height: 118px;
  overflow: hidden;
  position: relative;
  border-color: rgba(65, 214, 208, .45);
  background:
    linear-gradient(180deg, rgba(35, 55, 65, .88), rgba(13, 23, 30, .92)),
    repeating-linear-gradient(90deg, rgba(65, 214, 208, .1) 0 1px, transparent 1px 36px);
}

.calendar-kicker {
  color: var(--cyan);
  font-size: var(--type-body);
  font-weight: 800;
  text-transform: uppercase;
}

.calendar-hero h2 {
  margin-top: 8px;
  font-size: var(--type-section-title);
  color: var(--text);
}

.calendar-hero p {
  max-width: 720px;
  margin-top: 8px;
  color: var(--muted);
}

.calendar-orbit {
  position: relative;
  width: 128px;
  height: 128px;
  justify-self: end;
}

.calendar-orbit span {
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(65, 214, 208, .42);
  border-radius: 50%;
  box-shadow: 0 0 22px rgba(65, 214, 208, .2);
}

.calendar-orbit span:nth-child(2) {
  inset: 31px;
  border-color: rgba(232, 186, 85, .54);
}

.calendar-orbit span:nth-child(3) {
  inset: 54px;
  background: var(--cyan);
  box-shadow: 0 0 28px rgba(65, 214, 208, .75);
}

.calendar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(320px, .7fr);
  gap: 14px;
  margin-top: 14px;
}

.calendar-viewer :where(iframe, object.calendar-pdf-frame) {
  width: 100%;
  min-height: 760px;
  border: 1px solid var(--line);
  background: var(--input);
}

.calendar-pdf-frame {
  display: block;
}

.calendar-pdf-fallback {
  min-height: 520px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 12px;
  padding: 24px;
  border: 1px dashed rgba(245, 247, 250, .24);
  background:
    radial-gradient(circle at 50% 38%, rgba(227, 27, 35, .12), transparent 36%),
    rgba(17, 20, 24, .86);
  color: var(--text);
  text-align: center;
}

.calendar-pdf-fallback span {
  max-width: 48ch;
  color: var(--muted);
}

.button-link {
  min-height: 36px;
  padding: 8px 12px;
  border-color: var(--button-border);
  color: var(--button-text);
  font-weight: 700;
}

.answer-sheet-access {
  position: relative;
  z-index: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
}

.answer-sheet-access.hidden {
  display: none !important;
  pointer-events: none;
}

.button-link:hover {
  color: #fff;
  border-color: var(--button-border-accent);
}

.calendar-pdf-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.calendar-pdf-name {
  color: var(--muted);
  font-size: var(--type-small);
  font-weight: 800;
  text-transform: uppercase;
}

.calendar-side {
  display: grid;
  gap: 14px;
  align-content: start;
}

.calendar-command-panel {
  min-height: auto;
}

.stacked-actions {
  display: grid;
  gap: 8px;
}

.calendar-sync-panel .command-list {
  max-height: 238px;
  overflow: auto;
}

.calendar-editor.locked {
  display: none;
}

.calendar-timeline {
  max-height: 456px;
  overflow: auto;
}

.calendar-editor,
.calendar-import-panel {
  width: min(760px, calc(100vw - 32px));
}

.calendar-event {
  display: grid;
  grid-template-columns: 72px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.calendar-event:last-child {
  border-bottom: 0;
}

.calendar-date-tile {
  display: grid;
  place-items: center;
  min-height: 66px;
  border: 1px solid rgba(65, 214, 208, .42);
  background: rgba(65, 214, 208, .08);
  color: var(--cyan);
  text-align: center;
  font-weight: 800;
}

.calendar-date-tile span {
  display: block;
  color: var(--text);
  font-size: var(--type-page-title);
}

.calendar-event h3 {
  margin-bottom: 4px;
  font-size: var(--type-section-title);
  color: var(--text);
}

.calendar-event small {
  display: block;
  margin-top: 4px;
}

.calendar-event-actions {
  display: flex;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.calendar-event-actions button {
  min-height: 30px;
  padding: 5px 9px;
}

.single-record-extractor {
  margin: 12px 0;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, .05);
}

.single-record-filter-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) repeat(3, minmax(130px, .7fr));
  gap: 10px;
}

.single-record-actions {
  margin-top: 10px;
}

.single-record-card {
  width: min(620px, calc(100vw - 32px));
  max-height: calc(100vh - 48px);
  overflow: auto;
  padding: 22px;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(255, 255, 255, .26);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .97), rgba(235, 240, 244, .96)),
    #fff;
  color: #1b2329;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .4);
}

.single-record-header,
.single-record-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.single-record-header {
  margin-bottom: 16px;
}

.single-record-header h2 {
  color: #101820;
  font-size: var(--type-section-title);
}

.single-record-identity {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
  padding: 12px;
  border-radius: var(--radius-md);
  background: rgba(12, 165, 181, .08);
  border: 1px solid rgba(12, 165, 181, .18);
}

.single-record-identity .person-photo {
  width: 58px;
  height: 58px;
}

.single-record-identity strong,
.single-record-identity span,
.single-record-identity small {
  display: block;
}

.single-record-identity span,
.single-record-identity small {
  color: #55616a;
}

.single-record-log-grid {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 10px 18px;
  margin: 0;
}

.single-record-log-grid dt {
  margin: 0;
  color: #66727c;
  font-weight: 800;
}

.single-record-log-grid dd {
  margin: 0;
  color: #303a42;
  line-height: 1.45;
}

.single-record-log-grid pre {
  margin: 0;
  white-space: pre-wrap;
  font: inherit;
}

.single-record-footer {
  margin-top: 18px;
  justify-content: flex-end;
}

.detail-action {
  margin-top: 14px;
}

.detail-pane,
.note-box {
  line-height: 1.55;
}

.detail-grid {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 8px 14px;
}

.detail-photo {
  width: 110px;
  height: 110px;
  margin-bottom: 12px;
}

.detail-photo .person-photo {
  width: 110px;
  height: 110px;
}

.empty {
  color: var(--muted);
  padding: 22px 4px;
}

.card-list {
  display: grid;
  gap: 8px;
}

.simulation-formulation-panel {
  grid-column: 1 / -1;
}

.metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 10px;
  margin: 12px 0;
}

.metric-card {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: rgba(14, 27, 35, .78);
}

.metric-card strong {
  color: var(--cyan);
  font-size: var(--type-page-title);
}

.metric-card span {
  color: var(--muted);
  font-size: var(--type-page-title);
}

.compact-card-list {
  max-height: 460px;
  overflow: auto;
  padding-right: 4px;
}

.simulation-card {
  border: 1px solid rgba(65, 214, 208, .18);
  border-radius: 12px;
  padding: 12px;
  background: rgba(9, 22, 30, .72);
}

.action-popup {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  pointer-events: none;
  background: radial-gradient(circle at 50% 50%, rgba(65, 214, 208, .08), transparent 34%);
}

.fault-popup {
  pointer-events: auto;
}

.action-popup-card {
  position: relative;
  overflow: hidden;
  width: min(360px, calc(100vw - 40px));
  padding: 18px;
  border: 1px solid var(--cyan);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, .08), transparent 32%),
    var(--glass);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .38), var(--glow-cyan);
  backdrop-filter: blur(18px) saturate(1.22);
  text-align: center;
  font-size: var(--type-section-title);
  animation: popupRise .28s ease both;
}

.action-popup-card::before {
  content: "";
  position: absolute;
  left: -35%;
  right: -35%;
  top: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan), transparent);
  animation: popupHeaderScan 1.8s linear infinite;
}

.action-popup-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(180deg, rgba(255, 255, 255, .035) 0 1px, transparent 1px 9px);
  opacity: .24;
}

.action-popup-card strong {
  display: block;
  color: var(--cyan);
  font-size: var(--type-section-title);
  margin-bottom: 6px;
}

.action-popup-card p {
  color: var(--text);
  font-size: var(--type-section-title);
  line-height: 1.35;
}

.fault-popup-card {
  border-color: var(--red);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .38), var(--glow-red);
}

.fault-popup-card strong {
  color: var(--red);
}

.fault-popup-card button {
  margin-top: 10px;
}

.popup-success .action-popup-card {
  border-color: var(--green);
  box-shadow: 0 18px 40px rgba(0, 0, 0, .38), var(--glow-green);
}

.popup-success .action-popup-card strong {
  color: var(--green);
}

.popup-success .action-popup-card::before {
  background: linear-gradient(90deg, transparent, var(--green), transparent);
}

.popup-warning .action-popup-card {
  border-color: var(--cyan);
}

.popup-fault .action-popup-card::before {
  background: linear-gradient(90deg, transparent, var(--red), transparent);
}

/* Minimal rounded refinement */
:where(.panel, .login-card, .summary-grid article, .audit-summary-grid article, .promotion-card, .exam-question-card, .calendar-hero, .action-popup-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card, .photo-preview, .profile-source-summary, .coverage-preview, .developer-tools, .table-wrap, .document-list, .profile-evidence-list, .calendar-timeline, .graph-detail, .detail-pane, .list-panel) {
  border-radius: var(--radius-md);
  border-color: var(--soft-line);
}

:where(button, .file-button, .button-link, .filter, .compact-link) {
  border-radius: var(--button-radius);
}

:where(input, select, textarea, .user-badge, .badge, .menu-badge) {
  border-radius: var(--radius-pill);
}

:where(textarea, .detail-pane, .graph-detail, .profile-evidence-list, .document-list, .calendar-timeline, .command-list, .coverage-preview, .profile-source-summary) {
  border-radius: var(--radius-sm);
}

:where(input, select, textarea, .table-wrap, .calendar-viewer iframe, .calendar-viewer object.calendar-pdf-frame, .role-dashboard-list div, .calendar-comparison div, .command-item) {
  border-color: var(--soft-line);
}

:where(.panel, .summary-grid article, .audit-summary-grid article, .login-card, .promotion-card, .action-popup-card, .exam-popup-card) {
  box-shadow: 0 12px 34px rgba(0, 0, 0, .12);
}

:where(button, .file-button, .button-link) {
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 58%),
    linear-gradient(180deg, var(--button-bg-raised), var(--button-bg));
}

:where(button:hover, button.active, .file-button:hover, .button-link:hover) {
  transform: translateY(-1px);
}

/* Controlled workspace layout: the app shell stays fixed while large forms, lists, and PDFs scroll inside their own panels. */
#dataEntryView.view.active,
#instructorView.view.active,
#examView.view.active,
#documentsView.view.active,
#planningView.view.active,
#assetManagerView.view.active,
#personnelView.view.active,
#operationsDailyView.view.active,
#siteManagementView.view.active,
#userManagementView.view.active,
#roleManagementView.view.active {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow-x: hidden;
  overflow-y: auto;
}

#dataEntryView .module-bar,
#instructorView .module-bar,
#examView .module-bar,
#documentsView .module-bar,
#planningView .module-bar,
#trainingCalendarView .module-bar,
#assetManagerView .module-bar,
#personnelView .module-bar,
#operationsDailyView .module-bar,
#siteManagementView .module-bar,
#userManagementView .module-bar,
#roleManagementView .module-bar {
  flex: 0 0 auto;
  margin-top: 0;
}

#dataEntryView .workbench,
#instructorView .workbench,
#examView .workbench,
#documentsView .workbench,
#planningView .planning-workbench,
#assetManagerView .asset-manager-shell,
#personnelView > .panel {
  flex: 1 1 auto;
  min-height: 0;
  margin-top: 0;
}

#dataEntryView .workbench,
#instructorView .workbench,
#examView .workbench,
#documentsView .workbench,
#personnelView > .panel {
  overflow: visible;
}

#personnelProfileList .document-item {
  align-items: start;
  gap: 10px;
  padding: 8px 0;
}

#personnelProfileList .person-cell {
  align-items: start;
  grid-template-columns: 42px minmax(0, 1fr);
}

#personnelProfileList .person-cell > div {
  min-width: 0;
}

#personnelProfileList small,
#personnelProfileList span {
  line-height: 1.25;
}

#personnelProfileList .profile-qr-row {
  grid-template-columns: 36px auto;
  margin: 5px 0;
}

#personnelProfileList .competency-qr {
  width: 36px;
  height: 36px;
}

#personnelProfileList .panel-actions {
  align-self: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 124px;
}

#accountAccessTableWrap.hidden {
  display: none;
}

#accountAccessTableWrap:not(.hidden) {
  max-height: 150px;
  overflow: auto;
}

#auditDashboardView.view.active,
#promotionView.view.active,
#statisticsView.view.active,
#archiveView.view.active,
#watchHierarchyView.view.active,
#workQueueView.view.active,
#portfolioView.view.active,
#managementBoardView.view.active {
  overflow: auto;
  padding-right: 4px;
}

#dataEntryView .data-review-stack,
#instructorView .list-panel,
#examView .list-panel,
#documentsView .list-panel,
#planningView .planning-workbench {
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

#personnelView .table-wrap.tall,
#dataEntryView .table-wrap,
#examView .table-wrap {
  max-height: none;
}

#personnelView .table-wrap.tall {
  height: 100%;
}

#dataEntryView .table-wrap,
#examView .table-wrap {
  max-height: min(46vh, 540px);
}

.profile-entry-popup {
  display: block;
  padding: 14px;
  scrollbar-gutter: stable;
}

.profile-entry-popup > .panel-title,
.exam-popup-card > .exam-popup-header,
.exam-popup-card > .panel-title,
.single-record-card > .single-record-header,
.objective-manager-card > .single-record-header {
  position: sticky;
  top: -14px;
  z-index: 8;
  margin: -14px -14px 12px;
  padding: 14px;
  border-bottom: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .16), transparent 52%),
    linear-gradient(180deg, rgba(31, 37, 44, .98), rgba(17, 20, 24, .96));
  backdrop-filter: blur(12px);
}

.profile-entry-popup > button.primary[type="submit"],
.exam-popup-card > button.primary[type="submit"] {
  position: sticky;
  bottom: -14px;
  z-index: 7;
  width: 100%;
  margin-top: 10px;
  border-radius: var(--button-radius);
  box-shadow: 0 -10px 24px rgba(0, 0, 0, .28), 0 0 20px rgba(227, 27, 35, .16);
}

#personProfileForm > button.primary[type="submit"] {
  bottom: 48px;
}

#personProfileForm > .profile-form-actions {
  position: sticky;
  bottom: -14px;
  z-index: 7;
  margin: 10px -14px -14px;
  padding: 10px 14px 14px;
  border-top: 1px solid var(--line);
  background:
    radial-gradient(circle at 50% 0%, rgba(227, 27, 35, .12), transparent 56%),
    linear-gradient(180deg, rgba(31, 37, 44, .96), rgba(17, 20, 24, .98));
}

.profile-entry-popup label,
.planning-document-form label,
.calendar-editor label {
  margin-bottom: 8px;
}

.profile-entry-popup input,
.profile-entry-popup select,
.profile-entry-popup textarea,
.calendar-editor input,
.calendar-editor select,
.calendar-editor textarea,
.calendar-import-panel textarea {
  min-height: 34px;
  padding: 7px 9px;
}

.profile-entry-popup textarea,
.calendar-editor textarea,
.calendar-import-panel textarea {
  min-height: 76px;
  resize: vertical;
}

.field-row,
.behavior-grid,
.guide-grid,
.single-record-filter-grid,
.asset-form-grid,
.asset-inspection-grid,
.action-time-grid {
  gap: 8px;
}

.behavior-grid,
.guide-grid,
.asset-form-grid,
.asset-inspection-grid,
.action-time-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

#planningView .planning-workbench {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  align-content: stretch;
}

#planningView .planning-library-panel {
  display: flex;
  min-height: 0;
  flex-direction: column;
}

#planningDocumentList {
  flex: 1 1 auto;
  min-height: 0;
  max-height: none;
}

#trainingCalendarView.view.active {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-bottom: 42px;
}

#trainingCalendarView .calendar-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
  min-height: 0;
  overflow: visible;
}

#trainingCalendarView .calendar-hero {
  min-height: 96px;
}

#trainingCalendarView .calendar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.85fr) minmax(280px, .7fr);
  gap: 14px;
  min-height: 0;
  margin-top: 0;
  overflow: visible;
  align-items: start;
}

#trainingCalendarView .calendar-viewer {
  display: grid;
  grid-template-rows: auto minmax(420px, auto);
  gap: 12px;
  min-height: 0;
  overflow: visible;
}

#trainingCalendarView .calendar-side {
  display: grid;
  align-content: start;
  gap: 14px;
  min-height: 0;
  max-height: none;
  overflow: visible;
}

#trainingCalendarView .calendar-viewer :where(iframe, object.calendar-pdf-frame) {
  width: 100%;
  height: auto;
  min-height: min(62vh, 640px);
  overflow: auto;
}

#trainingCalendarView .calendar-pdf-fallback {
  min-height: min(58vh, 580px);
}

#assetManagerView .asset-manager-shell {
  height: auto;
  margin-top: 0;
}

/* Typography standard: normal text 11px, sub-window titles 14px, main window titles 30px. */
body,
button,
input,
select,
textarea,
table,
.command-item,
.document-item,
.registry-note,
.muted,
.badge,
.menu-badge,
.user-badge,
.button-link,
.file-button {
  font-size: var(--font-normal) !important;
}

h2,
h3,
.panel-title h2,
.panel-title h3,
.compact-title h2,
.asset-map-title strong,
.popup-title,
.action-popup-card h2,
.exam-popup-card h2,
.statement-popup-card h2,
.objective-manager-card .single-record-header h2,
.single-record-header h2,
.calendar-event h3,
.evidence-results h3,
.guide-grid h3,
.hierarchy-level-panel h3 {
  font-size: var(--font-sub-window-title) !important;
  line-height: 1.25;
}

h1,
.login-card h1,
.login-card h1.login-title,
.portal-module-title h2,
.welcome-title h2,
.portal-management-window > .panel-title > h2,
.calendar-hero h2,
.watch-tree-board h2 {
  font-size: var(--font-main-window-title) !important;
  line-height: 1.08;
}

@media (max-width: 920px) {
  :root {
    --header-toolbar-right: 10px;
    --header-drawer-gap: 6px;
    --header-drawer-tab-width: 108px;
    --header-drawer-tab-height: 32px;
  }

  .login-screen {
    padding: 12px;
  }

  .login-card,
  .login-support-row {
    width: min(100%, calc(100vw - 24px));
  }

  .login-card {
    border-radius: 22px;
    padding-inline: 18px;
  }

  .login-logo-lockup {
    width: min(260px, 76%);
    height: 86px;
  }

  .app-header {
    grid-template-columns: 142px minmax(0, 1fr) auto;
    padding-right: calc(var(--drawer-site-right) + var(--header-drawer-tab-width) + 8px);
  }

  .app-header-logo {
    width: 142px;
    padding-inline: 10px;
  }

  .app-header-logo img {
    max-width: 116px;
    max-height: 34px;
    padding: 4px 7px;
  }

  .app-header::before {
    left: 142px;
  }

  .header-title {
    padding-left: 10px;
  }

  .app-header .header-title h1 {
    font-size: var(--type-page-title);
  }

  .site-dashboard-focus-card,
  .site-dashboard-components {
    grid-template-columns: 1fr;
  }

  .header-readiness-control .readiness-summary-toggle {
    min-width: 0;
    max-width: 210px;
    gap: 7px;
    padding-inline: 9px;
  }

  .header-readiness-control .readiness-summary-toggle > span:first-child {
    max-width: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .header-readiness-control .readiness-summary-badge {
    padding-inline: 8px;
    font-size: var(--type-small);
  }

  .header-readiness-control .readiness-summary-panel {
    width: min(340px, calc(100vw - 24px));
    grid-template-columns: 1fr;
    right: 0;
  }

  .restore-toolbar {
    grid-template-columns: 1fr;
  }

  .workbench,
  .calendar-grid,
  .insight-grid,
  .audit-grid,
  .dynamic-command-grid,
  .site-context-bar,
  .site-control-grid,
  .site-setup-toolbar,
  .site-setup-steps,
  .site-module-scope,
  .site-map-upload-row,
  .asset-manager-shell,
  .asset-dashboard-grid,
  .asset-map-board,
  .portal-overview-command,
  .asset-form-grid,
  .asset-inspection-layout,
  .asset-inspection-grid,
  .asset-workflow-steps,
  .asset-qr-summary,
  .asset-qr-record-header,
  .asset-qr-record-grid,
  .asset-layer-grid,
  .audit-module-concern-grid,
  .single-record-filter-grid,
  .portfolio-grid,
  .portfolio-metric-grid,
  .archive-grid,
  .work-queue-grid,
  .planning-module-menu,
  .portal-module-grid,
  .summary-grid {
    grid-template-columns: 1fr;
  }

  .portfolio-hero {
    grid-template-columns: 1fr;
  }

  .site-context-bar {
    right: var(--drawer-site-right);
    transform: none;
  }

  .site-context-bar.open {
    transform: none;
  }

  .management-side-drawer {
    right: var(--drawer-management-right);
    transform: none;
  }

  .management-side-drawer.open {
    transform: none;
  }

  .management-drawer-panel {
    width: 210px;
  }

  .portal-hub-layout,
  .portal-hub-layout .portal-module-grid {
    min-height: 0;
  }

  .portal-module-button {
    min-height: 118px;
  }

  .site-registry-item {
    grid-template-columns: 1fr;
  }

  .site-registry-actions {
    justify-content: flex-start;
  }

  .site-command-card-head,
  .site-command-foot {
    grid-template-columns: 1fr;
  }

  .site-command-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .integration-panel {
    grid-template-columns: 1fr;
  }

  .role-dashboard-list,
  .calendar-comparison,
  .watch-tree-grid,
  .watch-hierarchy-content {
    grid-template-columns: 1fr;
  }

  .ai-query-panel {
    grid-column: auto;
  }

  .footer-action-row {
    grid-template-columns: repeat(2, max-content);
  }

  .calendar-hero {
    grid-template-columns: 1fr;
  }

  .asset-map-list {
    border-left: 0;
    border-top: 1px solid rgba(255, 255, 255, .12);
  }

  .asset-tool-input-row,
  .asset-lookup-card {
    grid-template-columns: 1fr;
  }

  .asset-map-type-grid {
    width: 100%;
    grid-template-columns: repeat(auto-fit, minmax(90px, 1fr));
  }

  .calendar-orbit {
    display: none;
  }

  .calendar-viewer :where(iframe, object.calendar-pdf-frame) {
    min-height: 460px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fade-transition,
  .view.fade-view-enter {
    animation: none !important;
  }
}

.operations-management-shell {
  display: grid;
  gap: 18px;
  padding: 0 22px 34px;
}

.operations-command-panel,
.operations-entry-form {
  border-color: rgba(227, 27, 35, .34);
  background:
    linear-gradient(145deg, rgba(17, 20, 24, .96), rgba(7, 9, 11, .9)),
    radial-gradient(circle at 80% 0%, rgba(227, 27, 35, .16), transparent 34%);
}

.operations-command-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
  overflow: visible;
}

.operations-command-panel .panel-title {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: start;
  margin-bottom: 0;
}

.operations-command-panel .panel-title > div:first-child {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.operations-command-panel .panel-title h2 {
  width: 100%;
  min-height: 30px;
  margin: 0;
  padding: 6px 14px;
  border: 1px solid rgba(227, 27, 35, .45);
  border-radius: var(--radius-pill);
  background: rgba(7, 9, 11, .86);
  color: var(--button-text);
  line-height: 1.15;
}

.operations-command-panel .panel-title .registry-note {
  display: block;
  color: rgba(245, 247, 250, .72);
  line-height: 1.35;
}

.operations-command-panel .panel-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 8px;
  width: min(420px, 100%);
  justify-self: end;
}

.operations-command-panel .panel-actions button {
  width: 100%;
  min-height: 36px;
  padding: 8px 12px;
  white-space: nowrap;
}

.operations-command-panel .panel-actions .primary {
  grid-column: 1 / -1;
  width: 100%;
}

.operations-filter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(130px, 1fr));
  gap: 12px;
  margin-top: 0;
  align-items: end;
}

.operations-filter-grid label,
.operations-entry-form label {
  min-width: 0;
}

.operations-filter-grid label {
  display: grid;
  gap: 6px;
  margin-bottom: 0;
}

.operations-filter-grid input,
.operations-filter-grid select {
  width: 100%;
}

.operations-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  gap: 12px;
}

.operations-metric-card {
  min-height: 86px;
  border: 1px solid rgba(227, 27, 35, .28);
  border-radius: 14px;
  padding: 14px;
  background:
    linear-gradient(160deg, rgba(17, 20, 24, .94), rgba(7, 9, 11, .84)),
    linear-gradient(90deg, rgba(227, 27, 35, .12), transparent);
  box-shadow: 0 14px 28px rgba(0, 0, 0, .24);
}

.operations-metric-card span,
.operations-metric-card small {
  display: block;
  color: var(--muted);
  font-size: var(--type-small);
}

.operations-metric-card strong {
  display: block;
  margin: 8px 0 4px;
  color: var(--button-text);
  font-size: var(--type-page-title);
}

.operations-dashboard-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.operations-summary-list {
  display: grid;
  gap: 10px;
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}

.operations-table-wrap {
  max-height: 430px;
}

.daily-operations-warning-panel {
  border-color: rgba(255, 196, 77, .55);
  background: linear-gradient(140deg, rgba(82, 52, 0, .34), rgba(17, 20, 24, .94));
}

.daily-operations-warning-panel ul {
  margin: 10px 0 0;
  padding-left: 20px;
}

@media (max-width: 1180px) {
  .operations-command-panel .panel-title {
    grid-template-columns: 1fr;
  }

  .operations-command-panel .panel-actions {
    width: 100%;
    justify-self: stretch;
    grid-template-columns: repeat(4, minmax(120px, 1fr));
  }

  .operations-command-panel .panel-actions .primary {
    grid-column: auto;
  }

  .operations-filter-grid,
  .operations-summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .operations-command-panel .panel-actions {
    grid-template-columns: 1fr;
  }

  .operations-filter-grid,
  .operations-summary-grid,
  .operations-dashboard-grid {
    grid-template-columns: 1fr;
  }
}

/* Global layout hardening: shared containment and scrolling rules for all module windows. */
:where(.app-shell, main, .view, .panel, .workbench, .list-panel, .detail-pane, .table-wrap, .document-list, .command-list, .module-bar, .panel-title, .panel-actions, .summary-grid, .insight-grid, .operations-management-shell, .operations-dashboard-grid, .operations-filter-grid, .operations-summary-grid) {
  min-width: 0;
  max-width: 100%;
}

:where(.view.active) {
  min-height: 0;
  contain: none;
}

:where(.panel, .workbench, .list-panel, .detail-pane, .document-list, .command-list, .profile-evidence-list, .calendar-timeline, .operations-table-wrap) {
  overflow-wrap: anywhere;
}

:where(.workbench, .planning-workbench, .asset-manager-shell, .calendar-shell, .operations-management-shell) {
  flex: 1 1 auto;
  min-height: 0;
}

:where(.panel, .list-panel, .detail-pane, .graph-detail, .calendar-viewer, .asset-map-panel, .operations-command-panel) {
  min-height: 0;
}

:where(.panel-title, .module-bar, .panel-actions, .inline-actions, .search-actions, .notification-actions, .task-actions, .footer-action-row) {
  min-width: 0;
  max-width: 100%;
}

:where(.module-bar, .panel-title) > * {
  min-width: 0;
}

:where(.module-bar button, .panel-actions button, .inline-actions button, .search-actions button, .task-actions button, .notification-actions button, .footer-action-row button, .asset-map-tools button) {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

:where(label, .form-label, .registry-note, .muted, .document-item, .command-item, td, th, small, span, p) {
  overflow-wrap: anywhere;
}

:where(input, select, textarea) {
  min-width: 0;
  max-width: 100%;
}

:where(.field-grid, .form-grid, .asset-form-grid, .site-form-grid, .operations-filter-grid, .operations-entry-form .form-grid, .exam-filter-grid, .planning-filter-grid, .document-filter-grid) {
  min-width: 0;
}

:where(.table-wrap, .operations-table-wrap) {
  width: 100%;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

:where(.table-wrap table, .operations-table-wrap table) {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

:where(th, td) {
  min-width: 0;
  overflow-wrap: anywhere;
  vertical-align: top;
}

:where(.action-popup-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card, .profile-form-panel, .operations-entry-form, .system-controls-card, .developer-auth-card, .evidence-review-card) {
  max-width: min(920px, calc(100vw - 28px));
  max-height: calc(100dvh - 70px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

:where(.site-drawer-panel, .management-drawer-panel, .bottom-controls-drawer .footer-actions) {
  max-height: calc(100dvh - var(--header-drawer-tab-height) - 34px);
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

#operationsDailyView .operations-management-shell,
#siteManagementView > .panel,
#userManagementView > .panel,
#roleManagementView > .panel {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  scrollbar-gutter: stable;
}

#operationsDailyView .operations-management-shell {
  padding-top: 0;
}

@media (max-width: 980px) {
  main {
    padding-inline: 12px;
  }

  :where(.workbench, .planning-workbench, .asset-manager-shell, .operations-dashboard-grid) {
    grid-template-columns: 1fr !important;
  }

  :where(.module-bar, .panel-title, .panel-actions) {
    align-items: stretch;
  }
}

@media print {
  body {
    min-width: 0;
    background: white;
    color: black;
  }

  .app-header,
  .app-footer,
  form,
  .filters,
  .row-actions,
  .menu-panel,
  .module-bar {
    display: none;
  }

  main,
  .panel {
    padding: 0;
  }

  .view {
    display: block;
  }

  .workbench,
  .insight-grid,
  .summary-grid {
    display: block;
  }
}



/* Form positioning pass: keep editable forms below the header, centered, and internally scrollable. */
body.modal-form-open {
  overflow: hidden;
}

body.modal-form-open main {
  overscroll-behavior: contain;
}

.profile-entry-popup:not(.hidden) {
  position: fixed !important;
  inset: auto !important;
  top: clamp(68px, 9vh, 92px) !important;
  left: 50% !important;
  z-index: 92 !important;
  display: block !important;
  width: min(900px, calc(100vw - 32px)) !important;
  max-width: calc(100vw - 32px) !important;
  max-height: calc(100dvh - clamp(86px, 12vh, 112px)) !important;
  margin: 0 !important;
  padding: 16px !important;
  transform: translateX(-50%) !important;
  overflow: auto !important;
  overscroll-behavior: contain;
  scrollbar-gutter: stable both-edges;
  border: 1px solid rgba(227, 27, 35, .44) !important;
  border-radius: var(--radius-lg) !important;
  background:
    radial-gradient(circle at 84% 0%, rgba(227, 27, 35, .16), transparent 36%),
    linear-gradient(180deg, rgba(24, 29, 35, .98), rgba(10, 13, 17, .98)) !important;
  box-shadow: 0 24px 72px rgba(0, 0, 0, .56), 0 0 0 1px rgba(245, 247, 250, .05), 0 0 36px rgba(227, 27, 35, .2) !important;
}

.profile-entry-popup:not(.hidden)::before {
  content: "" !important;
  position: fixed !important;
  inset: 56px 0 0 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 76% 20%, rgba(227, 27, 35, .14), transparent 28%),
    rgba(7, 9, 11, .72) !important;
  backdrop-filter: none !important;
}

#personProfileForm.profile-entry-popup:not(.hidden),
#recordForm.profile-entry-popup:not(.hidden) {
  width: min(980px, calc(100vw - 32px)) !important;
}

#instructorForm.profile-entry-popup:not(.hidden),
#planningDocumentForm.profile-entry-popup:not(.hidden) {
  width: min(940px, calc(100vw - 32px)) !important;
}

#examForm.profile-entry-popup:not(.hidden),
#documentForm.profile-entry-popup:not(.hidden) {
  width: min(880px, calc(100vw - 32px)) !important;
}

.profile-entry-popup:not(.hidden) > .panel-title {
  top: -16px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  margin: -16px -16px 14px !important;
  padding: 14px 16px !important;
}

.profile-entry-popup:not(.hidden) > .panel-title h2 {
  min-width: 0 !important;
  margin: 0 !important;
  overflow-wrap: anywhere;
}

.profile-entry-popup:not(.hidden) > .panel-title .panel-actions,
.profile-entry-popup:not(.hidden) .panel-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  min-width: 0 !important;
}

.profile-entry-popup:not(.hidden) > .panel-title button,
.profile-entry-popup:not(.hidden) .panel-actions button,
.profile-entry-popup:not(.hidden) .file-button {
  width: auto !important;
  min-width: 88px !important;
  max-width: 100% !important;
  min-height: 34px !important;
  padding: 8px 12px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

.profile-entry-popup:not(.hidden) label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.profile-entry-popup:not(.hidden) .field-row,
.profile-entry-popup:not(.hidden) .form-grid,
.profile-entry-popup:not(.hidden) .behavior-grid,
.profile-entry-popup:not(.hidden) .guide-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  align-items: start !important;
}

.profile-entry-popup:not(.hidden) .full-field,
.profile-entry-popup:not(.hidden) .guide-wide,
.profile-entry-popup:not(.hidden) fieldset,
.profile-entry-popup:not(.hidden) details,
.profile-entry-popup:not(.hidden) .photo-attachment,
.profile-entry-popup:not(.hidden) .profile-source-summary,
.profile-entry-popup:not(.hidden) .coverage-preview,
.profile-entry-popup:not(.hidden) .evidence-attachment-row,
.profile-entry-popup:not(.hidden) .planning-entry-brief,
.profile-entry-popup:not(.hidden) .profile-account-panel {
  grid-column: 1 / -1;
  min-width: 0;
}

.profile-entry-popup:not(.hidden) input,
.profile-entry-popup:not(.hidden) select,
.profile-entry-popup:not(.hidden) textarea {
  width: 100%;
}

.profile-entry-popup:not(.hidden) > button.primary[type="submit"] {
  bottom: 0 !important;
  margin: 14px 0 0 !important;
}

#personProfileForm.profile-entry-popup:not(.hidden) > button.primary[type="submit"] {
  bottom: 54px !important;
}

#personProfileForm.profile-entry-popup:not(.hidden) > .profile-form-actions {
  bottom: -16px !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  margin: 12px -16px -16px !important;
  padding: 10px 16px 14px !important;
}

#personProfileForm.profile-entry-popup:not(.hidden) > .profile-form-actions button {
  width: 100% !important;
}

.exam-popup:not(.hidden),
.popup-overlay:not(.hidden) {
  align-items: start !important;
  padding: clamp(68px, 9vh, 92px) 16px 16px !important;
  overflow: auto !important;
  overscroll-behavior: contain;
}

.exam-popup:not(.hidden) .exam-popup-card,
.popup-overlay:not(.hidden) .single-record-card,
.popup-overlay:not(.hidden) .objective-manager-card {
  max-height: calc(100dvh - clamp(86px, 12vh, 112px)) !important;
  overflow: auto !important;
  scrollbar-gutter: stable both-edges;
}

.site-editor-card,
.asset-form,
.asset-inspection-form {
  min-width: 0;
  max-width: 100%;
}

.site-editor-card .field-row,
.asset-form .field-row,
.asset-form-grid,
.asset-inspection-grid,
.site-form-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)) !important;
}

.site-editor-card .panel-actions,
.asset-form .panel-actions,
.asset-inspection-form .panel-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

@media (max-width: 720px) {
  .profile-entry-popup:not(.hidden) {
    top: 64px !important;
    width: calc(100vw - 20px) !important;
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 76px) !important;
    padding: 12px !important;
  }

  .profile-entry-popup:not(.hidden) > .panel-title {
    grid-template-columns: 1fr !important;
    margin: -12px -12px 12px !important;
    padding: 12px !important;
  }

  .profile-entry-popup:not(.hidden) .field-row,
  .profile-entry-popup:not(.hidden) .form-grid,
  .profile-entry-popup:not(.hidden) .behavior-grid,
  .profile-entry-popup:not(.hidden) .guide-grid {
    grid-template-columns: 1fr !important;
  }
}



/* Central analytics policy: Overview is the single visible dashboard surface. */
body.analytics-in-overview .header-readiness-control,
body.analytics-in-overview #moduleHubLiveSummary,
body.analytics-in-overview #assetManagerStats,
body.analytics-in-overview #assetDefectWorkflowStats,
body.analytics-in-overview #dailyOperationsSummary,
body.analytics-in-overview #operationsDailyView .operations-dashboard-grid,
body.analytics-in-overview #auditDashboardView .audit-summary-grid,
body.analytics-in-overview #planningDocumentStats {
  display: none !important;
}

.overview-analytics-hub {
  margin: 14px 0;
  padding: 14px;
  border: 1px solid rgba(227, 27, 35, .24);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 82% 0%, rgba(227, 27, 35, .12), transparent 44%),
    linear-gradient(135deg, rgba(245, 247, 250, .055), rgba(17, 20, 24, .66)),
    rgba(7, 9, 11, .42);
}

.overview-analytics-title {
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
}

.overview-analytics-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(168px, 1fr));
  gap: 10px;
}

.overview-analytics-card {
  min-height: 96px;
  border-color: rgba(255, 255, 255, .14);
  background:
    linear-gradient(160deg, rgba(255, 255, 255, .045), rgba(255, 255, 255, 0) 42%),
    rgba(11, 14, 18, .78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 12px 28px rgba(0, 0, 0, .16);
}

.overview-analytics-card strong {
  font-size: var(--type-section-title);
  line-height: 1.02;
}

.overview-analytics-card.ok {
  border-color: rgba(69, 211, 128, .34);
}

.overview-analytics-card.warn {
  border-color: rgba(245, 176, 65, .46);
}

.overview-analytics-card.bad {
  border-color: rgba(227, 27, 35, .62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 0 24px rgba(227, 27, 35, .12);
}

.overview-analytics-card.info {
  border-color: rgba(0, 174, 202, .34);
}

body.analytics-in-overview #operationsDailyView .operations-command-panel,
body.analytics-in-overview #assetManagerView .panel,
body.analytics-in-overview #planningView .panel,
body.analytics-in-overview #auditDashboardView .panel {
  scroll-margin-top: 86px;
}

/* Asset Management demo identity pass: dark command frame, light work surfaces, clear red outlines. */
#assetManagerView {
  --asset-red: #e31b23;
  --asset-red-dark: #b9151b;
  --asset-dark: #07090b;
  --asset-charcoal: #111418;
  --asset-panel: rgba(245, 247, 250, .96);
  --asset-panel-soft: rgba(232, 237, 241, .94);
  --asset-outline: rgba(227, 27, 35, .34);
  --asset-line: rgba(43, 48, 54, .62);
}

#assetManagerView .module-bar {
  min-height: 42px;
  padding: 6px 12px;
  border: 1px solid rgba(227, 27, 35, .4);
  border-radius: var(--radius-pill);
  background:
    linear-gradient(90deg, rgba(7, 9, 11, .96), rgba(17, 20, 24, .92) 58%, rgba(116, 13, 18, .62)),
    #111418;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 14px 30px rgba(0, 0, 0, .2);
}

#assetManagerView .module-bar strong {
  color: #fff;
  font-size: var(--type-section-title);
  letter-spacing: 0;
  text-transform: uppercase;
}

#assetManagerView .asset-manager-shell {
  border: 1px solid rgba(227, 27, 35, .46);
  border-radius: 16px;
  background:
    radial-gradient(circle at 12% 0%, rgba(227, 27, 35, .18), transparent 34%),
    radial-gradient(circle at 90% 12%, rgba(245, 247, 250, .08), transparent 32%),
    linear-gradient(135deg, rgba(7, 9, 11, .98), rgba(26, 30, 36, .96) 54%, rgba(56, 16, 20, .92)),
    #07090b;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .08),
    0 28px 64px rgba(0, 0, 0, .34),
    0 0 0 1px rgba(255, 255, 255, .04);
}

#assetManagerView .asset-manager-sidebar {
  padding: 8px 6px;
  gap: 7px;
  border-right: 1px solid rgba(227, 27, 35, .34);
  background:
    linear-gradient(180deg, rgba(7, 9, 11, .98), rgba(17, 20, 24, .94)),
    #07090b;
}

#assetManagerView .asset-manager-sidebar button {
  min-height: 50px;
  border: 1px solid rgba(245, 247, 250, .14);
  border-radius: 11px;
  background:
    linear-gradient(180deg, rgba(30, 35, 42, .96), rgba(13, 16, 20, .98));
  color: #f5f7fa;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}

#assetManagerView .asset-manager-sidebar button:hover,
#assetManagerView .asset-manager-sidebar button.active {
  border-color: rgba(227, 27, 35, .82);
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .92), rgba(185, 21, 27, .94));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 12px 26px rgba(227, 27, 35, .24);
}

#assetManagerView .asset-manager-sidebar button span:last-child {
  color: inherit;
  font-size: var(--type-small);
}

#assetManagerView .asset-manager-main {
  margin: 8px 8px 8px 0;
  overflow: hidden;
  border: 1px solid rgba(245, 247, 250, .16);
  border-left: 0;
  border-radius: 0 13px 13px 0;
  background:
    linear-gradient(180deg, rgba(245, 247, 250, .96), rgba(227, 232, 237, .95)),
    #eef2f4;
}

#assetManagerView .asset-manager-tab.active {
  padding: 12px;
  gap: 10px;
}

#assetManagerView .compact-title,
#assetManagerView .panel-title {
  padding: 10px 12px;
  border: 1px solid rgba(43, 48, 54, .18);
  border-left: 4px solid var(--asset-red);
  border-radius: 12px;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .96), rgba(241, 244, 247, .92));
  color: #111418;
  box-shadow: 0 10px 22px rgba(17, 20, 24, .08);
}

#assetManagerView .compact-title h2,
#assetManagerView .panel-title h2 {
  color: #111418;
  font-size: var(--type-section-title);
}

#assetManagerView .compact-title span,
#assetManagerView .panel-title span,
#assetManagerView .registry-note {
  color: #59636d;
}

#assetManagerView .asset-map-panel,
#assetManagerView .asset-tool-panel,
#assetManagerView .asset-inspection-form,
#assetManagerView .asset-inspection-log-panel,
#assetManagerView .asset-defect-workflow-panel,
#assetManagerView .asset-qr-record-card,
#assetManagerView .asset-map-type-status,
#assetManagerView .portal-management-table,
#assetManagerView .asset-lookup-card,
#assetManagerView .asset-workflow-steps article,
#assetManagerView .asset-qr-record-grid div,
#assetManagerView .asset-qr-record-notes {
  border: 1px solid rgba(43, 48, 54, .22);
  outline: 1px solid rgba(227, 27, 35, .08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(245, 247, 250, .94));
  box-shadow: 0 16px 36px rgba(17, 20, 24, .11);
}

#assetManagerView .asset-map-panel {
  border-color: rgba(227, 27, 35, .28);
}

#assetManagerView .asset-map-title {
  min-height: 38px;
  border-bottom: 1px solid rgba(227, 27, 35, .22);
  background:
    linear-gradient(90deg, rgba(17, 20, 24, .96), rgba(36, 40, 47, .9) 68%, rgba(227, 27, 35, .36));
  color: rgba(245, 247, 250, .78);
}

#assetManagerView .asset-map-title strong {
  color: #fff;
}

#assetManagerView .asset-map-board {
  border-top: 1px solid rgba(255, 255, 255, .12);
}

#assetManagerView .asset-map-canvas.has-uploaded-map::before,
#assetManagerView .asset-map-canvas.map-image-missing::before {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .02), rgba(7, 9, 11, .16)),
    radial-gradient(circle at 82% 18%, rgba(227, 27, 35, .18), transparent 28%),
    linear-gradient(90deg, rgba(7, 9, 11, .14), transparent 18%, transparent 82%, rgba(7, 9, 11, .18));
}

#assetManagerView label {
  color: #2b3036;
}

#assetManagerView input,
#assetManagerView select,
#assetManagerView textarea {
  border-color: rgba(43, 48, 54, .28);
  background: #fff;
  color: #111418;
}

#assetManagerView input:focus,
#assetManagerView select:focus,
#assetManagerView textarea:focus {
  border-color: var(--asset-red);
  box-shadow: 0 0 0 3px rgba(227, 27, 35, .16);
}

#assetManagerView .portal-management-table {
  overflow: auto;
  border-radius: 12px;
}

#assetManagerView .portal-management-table table {
  background: rgba(255, 255, 255, .98);
}

#assetManagerView .portal-management-table th {
  border-bottom: 1px solid rgba(227, 27, 35, .28);
  background:
    linear-gradient(180deg, #111418, #07090b);
  color: #f5f7fa;
}

#assetManagerView .portal-management-table td {
  border-color: rgba(43, 48, 54, .14);
  color: #17242d;
}

#assetManagerView .asset-status-card,
#assetManagerView .asset-layer-card {
  border-color: rgba(43, 48, 54, .2);
  outline: 1px solid rgba(227, 27, 35, .08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .95), rgba(244, 246, 248, .9));
}

#assetManagerView .asset-status-card.green {
  border-color: rgba(28, 151, 87, .58);
  background: linear-gradient(180deg, rgba(224, 246, 234, .98), rgba(191, 226, 207, .92));
}

#assetManagerView .asset-status-card.amber {
  border-color: rgba(200, 134, 30, .66);
  background: linear-gradient(180deg, rgba(255, 243, 221, .98), rgba(229, 213, 184, .92));
}

#assetManagerView .asset-status-card.red {
  border-color: rgba(227, 27, 35, .7);
  background: linear-gradient(180deg, rgba(255, 227, 229, .98), rgba(222, 186, 190, .92));
}

#assetManagerView .asset-map-type-grid button {
  min-width: 92px;
  min-height: 40px;
  border-color: rgba(227, 27, 35, .38);
}

.overview-map-upload-message {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: min(420px, calc(100% - 40px));
  padding: 16px 18px;
  transform: translate(-50%, -50%);
  border: 1px solid rgba(245, 247, 250, .2);
  border-radius: 14px;
  background: rgba(17, 20, 24, .58);
  color: rgba(245, 247, 250, .76);
  text-align: center;
  line-height: 1.35;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28);
  backdrop-filter: blur(10px);
}

#assetManagerView .asset-map-floating-toolbar {
  background: rgba(43, 48, 54, .42) !important;
  border-color: rgba(245, 247, 250, .18) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .18) !important;
}

#assetManagerView button:not(.danger-button):not(.asset-map-marker),
#assetManagerView .button-link,
#portalOverviewView button:not(.danger-button):not(.asset-map-marker),
#portalOverviewView .button-link {
  border-color: rgba(125, 133, 143, .38) !important;
  background: rgba(125, 133, 143, .16) !important;
  color: inherit !important;
  box-shadow: none !important;
}

#assetManagerView .asset-map-floating-toolbar button,
#assetManagerView .asset-map-floating-toolbar .button-link,
#assetManagerView .asset-map-detail-panel button:not(.danger-button) {
  color: #f5f7fa !important;
}

#assetManagerView button:not(.danger-button):not(.asset-map-marker):hover,
#assetManagerView .button-link:hover,
#portalOverviewView button:not(.danger-button):not(.asset-map-marker):hover,
#portalOverviewView .button-link:hover {
  border-color: rgba(245, 247, 250, .34) !important;
  background: rgba(125, 133, 143, .28) !important;
  transform: translateY(-1px);
}

#assetManagerView button.active:not(.danger-button):not(.asset-map-marker),
#assetManagerView .asset-map-floating-toolbar button.active,
#assetManagerView .asset-map-type-grid button.active,
#portalOverviewView button.active:not(.danger-button):not(.asset-map-marker) {
  border-color: rgba(245, 247, 250, .42) !important;
  background: rgba(125, 133, 143, .34) !important;
  color: #fff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

#assetManagerView .danger-button,
#assetManagerView button[data-asset-defect],
#assetManagerView button[data-asset-delete],
#assetManagerView button[data-asset-inspection-delete] {
  border-color: rgba(227, 27, 35, .55) !important;
  background: rgba(185, 21, 27, .86) !important;
  color: #fff !important;
}

.asset-area-layout {
  display: grid;
  gap: 16px;
  margin-bottom: 16px;
}

.overview-area-control-panel {
  border: 1px solid rgba(245, 247, 250, .14);
  border-radius: 18px;
  background: rgba(17, 20, 24, .34);
  padding: 16px;
  margin: 16px 0;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .16);
}

.overview-area-control-panel .asset-area-layout {
  margin-bottom: 0;
}

.asset-area-form {
  border: 1px solid rgba(245, 247, 250, .16);
  border-radius: 16px;
  background: rgba(17, 20, 24, .42);
  padding: 16px;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .18);
}

.asset-area-form-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.asset-area-registry table td:nth-child(4) {
  max-width: 360px;
  white-space: pre-wrap;
}

@media (max-width: 980px) {
  .asset-area-form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  .asset-area-form-grid {
    grid-template-columns: 1fr;
  }
}

/* Final solid-button pass: no gradients, no patterns, no shiny overlays. */
:root {
  --solid-button-bg: #242930;
  --solid-button-bg-hover: #2f363f;
  --solid-button-bg-active: #1b2026;
  --solid-button-border: #3a424c;
  --solid-button-border-accent: #e31b23;
  --solid-button-text: #f5f7fa;
  --solid-button-muted: #7d858f;
}

button:not(.asset-map-marker):not(.bar-row),
.button-link,
.file-button,
.detail-action,
.portal-module-button,
.menu-button,
.portal-overview-button,
.ops-mode-tabs button,
.bottom-controls-tab,
.site-drawer-tab,
.management-drawer-tab,
.device-authorization-tab,
#authorizeDeviceButton,
#operationsDailyView .response-module-sidebar button,
#assetManagerView .asset-manager-sidebar button,
#assetManagerView .asset-map-type-grid button {
  border: 1px solid var(--solid-button-border) !important;
  border-radius: 10px !important;
  background: var(--solid-button-bg) !important;
  background-image: none !important;
  color: var(--solid-button-text) !important;
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
}

button:not(.asset-map-marker):not(.bar-row)::before,
button:not(.asset-map-marker):not(.bar-row)::after,
.button-link::before,
.button-link::after,
.file-button::before,
.file-button::after,
.detail-action::before,
.detail-action::after,
.portal-module-button::before,
.portal-module-button::after,
.menu-button::before,
.menu-button::after,
.portal-overview-button::before,
.portal-overview-button::after,
.ops-mode-tabs button::before,
.ops-mode-tabs button::after,
.bottom-controls-tab::before,
.bottom-controls-tab::after,
.site-drawer-tab::before,
.site-drawer-tab::after,
.management-drawer-tab::before,
.management-drawer-tab::after,
.device-authorization-tab::before,
.device-authorization-tab::after {
  background: none !important;
  background-image: none !important;
  box-shadow: none !important;
}

button:not(.asset-map-marker):not(.bar-row):hover,
button.active:not(.asset-map-marker):not(.bar-row),
.button-link:hover,
.file-button:hover,
.detail-action:hover,
.portal-module-button:hover,
.portal-module-button.active,
.menu-button:hover,
.menu-button.active,
.portal-overview-button:hover,
.ops-mode-tabs button:hover,
.ops-mode-tabs button.active,
.bottom-controls-tab:hover,
.site-drawer-tab:hover,
.management-drawer-tab:hover,
.device-authorization-tab:hover,
#authorizeDeviceButton:hover,
#operationsDailyView .response-module-sidebar button:hover,
#operationsDailyView .response-module-sidebar button.active,
#assetManagerView .asset-manager-sidebar button:hover,
#assetManagerView .asset-manager-sidebar button.active,
#assetManagerView .asset-map-type-grid button:hover,
#assetManagerView .asset-map-type-grid button.active {
  border-color: var(--solid-button-border-accent) !important;
  background: var(--solid-button-bg-hover) !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

button:not(.asset-map-marker):not(.bar-row):active,
.button-link:active,
.file-button:active,
.detail-action:active,
.portal-module-button:active,
.menu-button:active,
.portal-overview-button:active,
.ops-mode-tabs button:active,
.bottom-controls-tab:active,
.site-drawer-tab:active,
.management-drawer-tab:active,
.device-authorization-tab:active,
#authorizeDeviceButton:active {
  border-color: var(--solid-button-border-accent) !important;
  background: var(--solid-button-bg-active) !important;
  background-image: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.primary,
button.primary,
button[type="submit"],
.portal-module-button.primary-module,
.danger-button,
button[data-delete],
button[data-profile-delete],
button[data-document-delete],
button[data-planning-document-delete],
button[data-instructor-delete],
button[data-calendar-delete],
button[data-asset-delete],
button[data-site-delete],
button[data-asset-inspection-delete],
button[data-asset-defect],
button[data-asset-defect-action],
button[data-asset-return-service] {
  border-color: var(--solid-button-border-accent) !important;
  background: var(--solid-button-bg) !important;
  background-image: none !important;
  color: var(--solid-button-text) !important;
  box-shadow: none !important;
}

button:disabled,
button[disabled],
.button-link.disabled,
.file-button.disabled {
  border-color: #2b3036 !important;
  background: #171b20 !important;
  background-image: none !important;
  color: var(--solid-button-muted) !important;
  box-shadow: none !important;
}

/* Current login layout: centered card, clean logo, attached auth tab. */
#loginView.login-screen,
#loginView.login-screen.authorization-sidebar-active,
#loginView.login-screen.authorization-sidebar-collapsed {
  display: grid !important;
  grid-template-rows: auto auto !important;
  justify-items: center !important;
  align-items: center !important;
  align-content: center !important;
  gap: 10px !important;
  width: 100vw !important;
  min-height: 100dvh !important;
  height: 100dvh !important;
  padding: 18px !important;
  overflow: hidden !important;
}

#loginView .login-card {
  position: relative !important;
  z-index: 2 !important;
  width: min(430px, calc(100vw - 86px)) !important;
  min-height: 0 !important;
  padding: 24px 32px 16px !important;
  gap: 12px !important;
  overflow: visible !important;
  border-radius: 18px !important;
  background:
    linear-gradient(180deg, rgba(28, 32, 38, .96), rgba(10, 12, 15, .98)),
    #111418 !important;
}

#loginView .login-card::before,
#loginView .login-card::after {
  display: none !important;
  content: none !important;
}

#loginView .login-logo-lockup {
  position: relative !important;
  z-index: 3 !important;
  width: 206px !important;
  height: 78px !important;
  margin: 0 auto 6px !important;
  padding: 9px 15px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 15px !important;
  background: #fff !important;
  box-shadow: 0 14px 28px rgba(0, 0, 0, .26) !important;
}

#loginView .login-logo-lockup img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  background: transparent !important;
}

#loginView .login-card h1.login-title {
  margin: 2px 0 0 !important;
  font-size: var(--type-page-title);
  line-height: 1.08 !important;
  text-align: center !important;
}

#loginView .login-card .login-subtitle {
  max-width: 330px !important;
  margin: 0 auto 8px !important;
  font-size: var(--type-body);
  line-height: 1.35 !important;
}

#loginView .login-card select,
#loginView .login-card input {
  min-height: 46px !important;
}

#loginView .login-card > button.primary[type="submit"] {
  min-height: 46px !important;
  margin-top: 0 !important;
}

.login-recovery-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.login-recovery-actions button {
  min-height: 36px;
  padding: 8px 10px;
  border-radius: 10px;
  background: #24282f;
  color: var(--text);
  border-color: rgba(255, 255, 255, .22);
  font-size: var(--type-body);
}

#loginView .login-support-row {
  z-index: 2 !important;
  width: min(430px, calc(100vw - 86px)) !important;
}

#loginView .device-authorization-panel {
  position: absolute !important;
  top: 50% !important;
  right: -188px !important;
  z-index: 7 !important;
  width: 180px !important;
  max-height: min(280px, calc(100dvh - 48px)) !important;
  padding: 10px !important;
  transform: translateY(-50%) !important;
  border-radius: 14px !important;
  background: rgba(17, 20, 24, .98) !important;
  overflow: visible !important;
}

#loginView.authorization-sidebar-collapsed .device-authorization-panel {
  right: 0 !important;
  transform: translate(100%, -50%) !important;
  border-color: transparent !important;
  background: transparent !important;
}

#loginView .device-authorization-tab {
  left: -36px !important;
  top: 50% !important;
  width: 36px !important;
  min-width: 36px !important;
  max-width: 36px !important;
  height: 96px !important;
  min-height: 96px !important;
  padding: 7px 4px !important;
  transform: translateY(-50%) rotate(180deg) !important;
  border-radius: 0 10px 10px 0 !important;
  font-size: var(--type-small);
  line-height: 1 !important;
  letter-spacing: 0 !important;
}

#loginView.authorization-sidebar-collapsed .device-authorization-panel > :not(.device-authorization-tab) {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 760px) {
  #loginView .login-card,
  #loginView .login-support-row {
    width: min(430px, calc(100vw - 56px)) !important;
  }

  #loginView .device-authorization-panel {
    right: 10px !important;
    width: min(220px, calc(100% - 20px)) !important;
  }

  #loginView.authorization-sidebar-collapsed .device-authorization-panel {
    right: 0 !important;
    transform: translate(100%, -50%) !important;
  }
}

body.login-active #appShell,
body.login-active .app-header,
body.login-active .shell-header,
body.login-active .site-context-bar,
body.login-active #siteContextBar,
body.login-active #managementSideDrawer,
body.login-active #bottomControlsDrawer,
body.login-active #bottomControlsDrawerToggle,
body.login-active #managementDrawerToggle,
body.login-active #toggleReadinessSummaryButton,
body.login-active #readinessSummaryPanel,
body.login-active #systemControlsPopup,
body.login-active #globalSearchPopup {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.login-active #loginView {
  position: fixed !important;
  inset: 0 !important;
  z-index: 9999 !important;
}

body.login-active #loginView.hidden {
  display: none !important;
}

body.logged-in #loginView,
body.logged-in #loginView.login-screen,
#loginView.login-screen.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.login-active #appShell,
body:not(.logged-in) #appShell {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}



/* Login support popups must sit above the login card, not behind it. */
body.login-active .exam-popup:not(.hidden),
body.login-active .popup-overlay:not(.hidden),
body.login-active .action-popup:not(.hidden) {
  z-index: 10050 !important;
}

body.login-active .exam-popup:not(.hidden) .exam-popup-card,
body.login-active .popup-overlay:not(.hidden) .single-record-card,
body.login-active .action-popup:not(.hidden) .action-popup-card {
  z-index: 10051 !important;
}



/* Typography System v2: four approved text levels only. */
:where(body, input, select, textarea, button, .button-link, .file-button, table, th, td, label, p, li, span, div) {
  font-size: var(--type-body) !important;
  line-height: 1.45;
}

:where(.login-title, .app-title h1, .hero-copy h1, .view > h1, .view-header h1, .window-title, .main-window-title, .portal-title, .section-hero h1) {
  font-size: var(--type-page-title) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}

:where(h1) {
  font-size: var(--type-page-title) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
}

:where(h2, h3, h4, h5, h6, legend, .panel-title, .panel-heading, .panel h2, .panel h3, .card-title, .section-title, .sub-window-title, .module-bar strong, .portal-module-button span, .metric-card span, .portal-metric-card span, .operations-metric-card span, .asset-status-card span, .asset-layer-card span, .site-setup-step strong, .command-alert strong, .profile-entry-launcher h3, .operations-command-panel h3, .response-sidebar-heading strong) {
  font-size: var(--type-section-title) !important;
  line-height: 1.22 !important;
  font-weight: 700 !important;
}

:where(button, .button-link, .file-button, input, select, textarea, label, td, th, .badge, .status-badge, .pill, .chip, .menu-button, .filter, .registry-item, .command-list, .document-list, .table-wrap, .operations-table-wrap, .profile-source-summary) {
  font-size: var(--type-body) !important;
  line-height: 1.4 !important;
  font-weight: 600;
}

:where(input, select, textarea, td, .registry-item, .command-list, .document-list, .table-wrap, .operations-table-wrap, .profile-source-summary) {
  font-weight: 500;
}

:where(small, .muted, .note, .helper-text, .registry-note, .form-hint, .field-hint, .validation-message, .copyright, .login-copyright, .footer-note, .status-detail, .timestamp, .meta, .profile-missing-line, .task-linked-note, .summary-grid small, .metric-card small, .portal-metric-card small, .operations-metric-card small, .asset-status-card small, .asset-layer-card small, .site-registry-item small, .asset-map-list small, .asset-lookup-card small, .asset-workflow-steps small, .site-management-lock-notice small, .site-setup-step small, .site-command-foot small, .site-command-metrics small) {
  font-size: var(--type-small) !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
}

:where(.login-subtitle, .app-title p, .view-subtitle, .section-subtitle, .panel-subtitle, .portal-subtitle, .module-description, .empty, .compact-empty) {
  font-size: var(--type-body) !important;
  line-height: 1.45 !important;
  font-weight: 500 !important;
}

:where(.metric-card strong, .portal-metric-card strong, .operations-metric-card strong, .audit-module-concern-grid strong, .site-dashboard-focus-main strong, .site-dashboard-components strong, .asset-status-card strong, .asset-layer-card strong, .summary-grid strong) {
  font-size: var(--type-page-title) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
}

:where(.asset-map-marker, .bar-row, .dot-return, .dot-return span, #globalModuleReturnButton, #globalModuleReturnButton span, svg, canvas) {
  font-size: var(--type-body);
  line-height: normal;
}

/* Operational layout smoothing: one spacing language for active modules. */
:where(.panel, .card, .portal-management-window, .profile-entry-launcher, .planning-command-panel, .planning-library-panel, .operations-command-panel, .response-main > section, .detail-pane) {
  border-radius: var(--radius-lg) !important;
}

:where(.panel, .profile-entry-popup, .portal-management-window, .operations-command-panel) {
  padding: var(--space-lg) !important;
}

:where(.panel-title, .compact-title, .module-bar, .inline-actions, .panel-actions, .detail-actions, .operations-command-actions) {
  gap: var(--space-sm) !important;
}

:where(.field-row, .form-grid, .asset-form-grid, .site-form-grid, .operations-filter-grid, .planning-filter-grid, .document-filter-grid) {
  gap: var(--space-sm) var(--space-md) !important;
}

:where(label, .planning-document-form label, .profile-entry-popup label) {
  gap: var(--space-xs) !important;
}

:where(th, td) {
  padding: 10px 12px !important;
  vertical-align: middle !important;
}

:where(.row-actions, .panel-actions, .inline-actions) {
  align-items: center !important;
}

/* Shared shell correction: Training and Standards uses the global header and 5-dot navigation only. */
body.logged-in #mainMenuView.view.active > .portal-return-bar,
body.logged-in #mainMenuView.view.active > .module-bar.portal-return-bar,
#mainMenuView.view.active > .portal-return-bar,
#mainMenuView.view.active > .module-bar.portal-return-bar {
  display: none !important;
}

/* Demo identity and space-fill pass: JNE-FTS logo mark, equal module cards, and fuller panels. */
.brand-initials {
  display: inline-grid !important;
  place-items: center !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 72px !important;
  min-height: 32px !important;
  border-radius: 10px !important;
  border: 1px solid rgba(227, 27, 35, .28) !important;
  color: #e31b23 !important;
  background: #ffffff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .7px !important;
  text-transform: uppercase !important;
  box-shadow: inset 0 0 0 1px rgba(17, 20, 24, .05) !important;
}

.login-logo-lockup {
  display: grid !important;
  place-items: center !important;
}

.login-logo-lockup .brand-initials {
  width: min(100%, 190px) !important;
  height: 76px !important;
  font-size: 24px !important;
  border-radius: 14px !important;
}

body.logged-in .app-header-logo {
  display: grid !important;
  place-items: center !important;
}

body.logged-in .app-header-logo .brand-initials {
  min-width: 0 !important;
  width: 100% !important;
  height: 100% !important;
  font-size: 16px !important;
  border-radius: 7px !important;
}

body.logged-in .app-header-logo img,
#loginView .login-logo-lockup img {
  display: block !important;
  width: 100% !important;
  max-width: 176px !important;
  height: auto !important;
  max-height: 86px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
}

body.logged-in .app-header-logo img {
  max-width: 104px !important;
  max-height: 46px !important;
  border-radius: 8px !important;
}

#moduleHubView .ops-command-dashboard {
  width: min(100%, calc(100vw - 72px)) !important;
  max-width: 1160px !important;
  margin: 18px auto 34px !important;
}

#moduleHubView .ops-dashboard-layout,
#moduleHubView .portal-module-grid {
  width: 100% !important;
  max-width: none !important;
}

#moduleHubView .portal-module-grid,
.portal-module-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: clamp(12px, 1.4vw, 18px) !important;
  align-items: stretch !important;
}

#moduleHubView .portal-module-button,
.portal-module-button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(132px, 21vh, 176px) !important;
  height: 100% !important;
  padding: clamp(12px, 1.2vw, 18px) !important;
}

#moduleHubView .portal-module-button span,
.portal-module-button span {
  width: 100% !important;
  max-width: 190px !important;
  margin-inline: auto !important;
  white-space: normal !important;
}

body.logged-in .view.active > :where(.panel, .workbench, .portal-management-window, .response-module-shell, .asset-manager-shell, .planning-dashboard, .audit-dashboard-shell, .dashboard-shell) {
  width: min(100%, calc(100vw - 72px)) !important;
  max-width: none !important;
}

:where(.summary-grid, .insight-grid, .operations-summary-grid, .asset-status-grid, .portal-metric-grid, .dashboard-grid) {
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
}

@media (max-width: 860px) {
  #moduleHubView .portal-module-grid,
  .portal-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  #moduleHubView .portal-module-grid,
  .portal-module-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 980px) {
  :root {
    --global-header-logo-width: 126px;
    --global-header-button-width: 104px;
    --global-header-dot-size: 34px;
  }

  body.logged-in .app-header {
    grid-template-columns: var(--global-header-logo-width) minmax(160px, 1fr) auto !important;
    padding-left: 10px !important;
  }

  body.logged-in .app-header-logo {
    width: 92px !important;
  }

  body.logged-in .app-header .header-title h1 {
    font-size: 20px !important;
  }

  body.logged-in .site-drawer-tab,
  body.logged-in .management-drawer-tab,
  body.logged-in .bottom-controls-tab {
    font-size: 10px !important;
    padding: 0 8px !important;
  }
}

/* Dashboard System v1: reusable shell, header, grid, card, and state components. */
:root {
  --dashboard-gap: var(--space-lg, 24px);
  --dashboard-card-min: 220px;
  --dashboard-card-pad: var(--space-lg, 24px);
  --dashboard-card-bg: rgba(17, 20, 24, 0.92);
  --dashboard-card-border: #2b3036;
  --dashboard-muted: #a6adb8;
}

.dashboard-shell {
  display: grid !important;
  grid-template-columns: minmax(156px, 190px) minmax(0, 1fr) !important;
  gap: var(--dashboard-gap) !important;
  align-items: start !important;
  width: min(100%, 1180px) !important;
  margin: 0 auto !important;
  padding: var(--space-lg, 24px) !important;
}

.dashboard-content {
  display: grid !important;
  gap: var(--dashboard-gap) !important;
  min-width: 0 !important;
}

.dashboard-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--space-md, 16px) !important;
  border: 1px solid rgba(227, 27, 35, 0.46) !important;
  border-radius: var(--radius-lg, 14px) !important;
  padding: var(--dashboard-card-pad) !important;
  background: linear-gradient(135deg, rgba(17, 20, 24, 0.96), rgba(7, 9, 11, 0.9)) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.28) !important;
}

.dashboard-header-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: var(--space-md, 16px) !important;
  align-items: start !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.dashboard-header-main h2 {
  margin: 0 !important;
  color: var(--text, #f5f7fa) !important;
}

.dashboard-header-main .registry-note {
  display: block !important;
  max-width: 78ch !important;
  margin-top: var(--space-xs, 4px) !important;
  color: var(--dashboard-muted) !important;
}

.dashboard-header-meta {
  display: grid !important;
  gap: 3px !important;
  justify-items: end !important;
  min-width: 150px !important;
  color: var(--dashboard-muted) !important;
  text-align: right !important;
  text-transform: uppercase !important;
}

.dashboard-header-meta strong {
  color: var(--primary-red, #e31b23) !important;
  letter-spacing: 0.02em !important;
}

.dashboard-header-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: var(--space-sm, 8px) !important;
  width: 100% !important;
  margin: 0 !important;
}

.dashboard-header-actions button {
  min-width: 132px !important;
  min-height: 38px !important;
  padding: 9px 14px !important;
}

.dashboard-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
  gap: var(--space-sm, 8px) var(--space-md, 16px) !important;
  align-items: end !important;
}

.dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(var(--dashboard-card-min), 1fr)) !important;
  gap: var(--dashboard-gap) !important;
  align-items: stretch !important;
}

.dashboard-kpi-grid {
  --dashboard-card-min: 160px;
}

.dashboard-card,
.operations-metric-card {
  min-height: 138px !important;
  display: grid !important;
  align-content: start !important;
  gap: var(--space-sm, 8px) !important;
  border: 1px solid var(--dashboard-card-border) !important;
  border-radius: 12px !important;
  padding: var(--dashboard-card-pad) !important;
  background: var(--dashboard-card-bg) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24) !important;
}

.dashboard-widget-card {
  min-height: 220px !important;
}

.dashboard-card .panel-title,
.dashboard-widget-card .panel-title {
  min-height: auto !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: var(--space-sm, 8px) !important;
  margin: 0 !important;
  padding: 0 0 var(--space-xs, 4px) !important;
  border: 0 !important;
}

.operations-metric-card span,
.dashboard-card h2 {
  color: var(--text, #f5f7fa) !important;
}

.operations-metric-card strong {
  color: var(--text, #f5f7fa) !important;
}

.operations-metric-card small,
.dashboard-card small {
  color: var(--dashboard-muted) !important;
}

.dashboard-empty-state,
.dashboard-loading-state,
.dashboard-error-state-content {
  min-height: 112px !important;
  display: grid !important;
  place-items: center !important;
  gap: var(--space-xs, 4px) !important;
  padding: var(--space-md, 16px) !important;
  border: 1px dashed rgba(166, 173, 184, 0.32) !important;
  border-radius: 12px !important;
  background: rgba(7, 9, 11, 0.42) !important;
  color: var(--dashboard-muted) !important;
  text-align: center !important;
}

.dashboard-empty-state::before {
  content: "";
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(166, 173, 184, 0.42);
  background:
    linear-gradient(90deg, transparent 47%, rgba(166, 173, 184, 0.5) 47% 53%, transparent 53%),
    linear-gradient(0deg, transparent 47%, rgba(166, 173, 184, 0.5) 47% 53%, transparent 53%);
}

.dashboard-empty-state strong,
.dashboard-loading-state strong,
.dashboard-error-state-content strong {
  color: var(--text, #f5f7fa) !important;
}

.dashboard-empty-state small,
.dashboard-loading-state small,
.dashboard-error-state-content small {
  max-width: 34ch !important;
  color: var(--dashboard-muted) !important;
}

.dashboard-loading-state {
  overflow: hidden !important;
}

.dashboard-loading-state::before {
  content: "";
  width: min(100%, 180px);
  height: 10px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(43, 48, 54, 0.9), rgba(166, 173, 184, 0.35), rgba(43, 48, 54, 0.9));
}

.dashboard-error-state-content {
  border-color: rgba(227, 27, 35, 0.42) !important;
}

.dashboard-chart-wrapper {
  min-height: 220px !important;
  display: grid !important;
  gap: var(--space-sm, 8px) !important;
  align-items: center !important;
}

.dashboard-chart-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--space-xs, 4px) var(--space-sm, 8px) !important;
  color: var(--dashboard-muted) !important;
}

#operationsDailyView .operations-summary-grid,
#operationsDailyView .operations-dashboard-grid {
  margin: 0 !important;
}

#operationsDailyView .operations-summary-list {
  display: grid !important;
  gap: var(--space-sm, 8px) !important;
  min-height: 112px !important;
}

#operationsDailyView .daily-operations-warning-panel {
  min-height: auto !important;
}

#operationsDailyView .daily-operations-warning-panel ul {
  margin: 0 !important;
  padding-left: 18px !important;
  color: var(--dashboard-muted) !important;
}

@media (max-width: 900px) {
  .dashboard-shell {
    grid-template-columns: 1fr !important;
    padding: var(--space-md, 16px) !important;
  }

  .dashboard-header-main {
    grid-template-columns: 1fr !important;
  }

  .dashboard-header-meta {
    justify-items: start !important;
    text-align: left !important;
  }

  .dashboard-header-actions {
    justify-content: flex-start !important;
  }
}

/* Professional Window Arrangement Pass v2: one dashboard-grade layout language after login. */
:root {
  --ops-layout-max: 1220px;
  --ops-layout-gap: clamp(10px, 1.1vw, 16px);
  --ops-panel-bg: rgba(17, 20, 24, 0.9);
  --ops-panel-bg-strong: rgba(7, 9, 11, 0.92);
  --ops-panel-border: rgba(245, 247, 250, 0.16);
  --ops-muted-text: #a6adb8;
}

body.logged-in main {
  background:
    linear-gradient(90deg, rgba(7, 9, 11, 0.78), rgba(7, 9, 11, 0.28) 48%, rgba(126, 14, 19, 0.34)),
    var(--page-bg);
}

body.logged-in .view.active {
  padding: clamp(10px, 1.4vw, 18px) clamp(12px, 1.6vw, 22px) 28px !important;
}

body.logged-in .view.active > :where(.panel, .workbench, .portal-management-window, .response-module-shell, .asset-manager-shell, .planning-dashboard, .audit-dashboard-shell, .dashboard-shell, .ops-command-dashboard) {
  width: min(var(--ops-layout-max), calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  margin-inline: auto !important;
}

#moduleHubView .ops-command-dashboard {
  display: grid !important;
  gap: var(--ops-layout-gap) !important;
  margin-top: 12px !important;
  margin-bottom: 28px !important;
}

#moduleHubView .ops-command-topline,
#moduleHubView .ops-overview-panel,
#moduleHubView .ops-dashboard-sidebar,
#moduleHubView .ops-dashboard-rail,
#moduleHubView .portal-module-button,
body.logged-in .panel,
body.logged-in .portal-management-window,
body.logged-in .asset-manager-shell,
body.logged-in .planning-dashboard,
body.logged-in .audit-dashboard-shell {
  border: 1px solid var(--ops-panel-border) !important;
  background: var(--ops-panel-bg) !important;
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.26) !important;
}

#moduleHubView .ops-command-topline {
  min-height: 86px !important;
  padding: clamp(14px, 1.4vw, 18px) clamp(16px, 1.8vw, 22px) !important;
  grid-template-columns: minmax(0, 1fr) minmax(120px, 150px) !important;
}

#moduleHubView .ops-command-topline h2 {
  margin: 8px 0 3px !important;
  font-size: var(--type-page-title) !important;
  line-height: 1.05 !important;
}

#moduleHubView .ops-command-topline p,
#moduleHubView .ops-live-summary .portal-metric-card small,
#moduleHubView .ops-dashboard-rail small {
  color: var(--ops-muted-text) !important;
}

#moduleHubView .ops-dashboard-board {
  display: grid !important;
  grid-template-columns: minmax(164px, 190px) minmax(0, 1fr) minmax(168px, 210px) !important;
  gap: var(--ops-layout-gap) !important;
  align-items: stretch !important;
  min-width: 0 !important;
}

#moduleHubView .ops-dashboard-work {
  display: grid !important;
  gap: var(--ops-layout-gap) !important;
  min-width: 0 !important;
  align-content: start !important;
}

#moduleHubView .ops-dashboard-sidebar,
#moduleHubView .ops-dashboard-rail {
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  min-width: 0 !important;
  padding: 12px !important;
  border-radius: 14px !important;
}

#moduleHubView .ops-dashboard-sidebar::before {
  content: "Navigation";
}

#moduleHubView .ops-dashboard-sidebar::before,
#moduleHubView .ops-dashboard-rail > strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: var(--ops-muted-text) !important;
  font-size: var(--type-small) !important;
  font-weight: 800 !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}

#moduleHubView .ops-dashboard-sidebar button,
#moduleHubView .ops-dashboard-rail button,
#moduleHubView .ops-mode-tabs button,
#moduleHubView .ops-panel-heading button,
#moduleHubView .ops-report-button {
  min-width: 0 !important;
  min-height: 34px !important;
  width: 100% !important;
  border-radius: 10px !important;
  border: 1px solid rgba(245, 247, 250, 0.18) !important;
  background: rgba(35, 39, 46, 0.92) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
  font-size: var(--type-body) !important;
  font-weight: 800 !important;
  line-height: 1.12 !important;
  text-align: center !important;
  text-transform: none !important;
}

#moduleHubView .ops-dashboard-sidebar button {
  justify-content: flex-start !important;
  text-align: left !important;
  padding-inline: 12px !important;
}

#moduleHubView .ops-dashboard-sidebar button:hover,
#moduleHubView .ops-dashboard-rail button:hover,
#moduleHubView .ops-mode-tabs button:hover,
#moduleHubView .ops-panel-heading button:hover,
#moduleHubView .ops-report-button:hover {
  border-color: rgba(227, 27, 35, 0.74) !important;
  background: rgba(48, 52, 60, 0.98) !important;
}

#moduleHubView .ops-dashboard-sidebar button.active,
#moduleHubView .ops-mode-tabs button.active {
  border-color: rgba(227, 27, 35, 0.9) !important;
  background: #242931 !important;
  color: #ffffff !important;
}

#moduleHubView .ops-mode-tabs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#moduleHubView .ops-overview-panel {
  padding: clamp(12px, 1.2vw, 16px) !important;
  border-radius: 14px !important;
}

#moduleHubView .ops-panel-heading {
  margin-bottom: 10px !important;
}

#moduleHubView .ops-live-summary {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

#moduleHubView .ops-live-summary .portal-metric-card {
  min-height: 82px !important;
  height: auto !important;
  padding: 10px !important;
  border-radius: 10px !important;
  background: rgba(7, 9, 11, 0.72) !important;
  border: 1px solid rgba(245, 247, 250, 0.12) !important;
}

#moduleHubView .ops-live-summary .portal-metric-card strong {
  font-size: clamp(20px, 2vw, 28px) !important;
}

#moduleHubView .portal-module-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: var(--ops-layout-gap) !important;
}

#moduleHubView .portal-module-button {
  min-height: clamp(132px, 18vh, 168px) !important;
  padding: 14px !important;
  border-radius: 14px !important;
  background: rgba(35, 39, 46, 0.88) !important;
}

#moduleHubView .portal-module-button.primary-module {
  border-color: rgba(227, 27, 35, 0.7) !important;
  background: rgba(78, 18, 24, 0.86) !important;
}

#moduleHubView .portal-module-button span {
  font-size: var(--type-section-title) !important;
  line-height: 1.18 !important;
  max-width: 180px !important;
}

body.logged-in .panel-title,
body.logged-in .module-bar,
body.logged-in .panel-actions,
body.logged-in .inline-actions,
body.logged-in .form-actions {
  gap: 8px !important;
}

body.logged-in .panel-actions,
body.logged-in .inline-actions,
body.logged-in .form-actions {
  align-items: stretch !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .form-actions) > button,
body.logged-in :where(.panel-actions, .inline-actions, .form-actions) > .button-link,
body.logged-in :where(.panel-actions, .inline-actions, .form-actions) > .file-button {
  min-height: 34px !important;
}

body.logged-in :where(.field-row, .form-grid, .field-grid, .operations-filter-grid, .planning-filter-grid, .document-filter-grid, .asset-form-grid, .site-form-grid) {
  gap: 10px !important;
}

body.logged-in :where(input, select, textarea) {
  border-radius: 10px !important;
}

body.logged-in :where(.table-wrap, .operations-table-wrap, .document-list, .command-list, .profile-evidence-list) {
  border-radius: 12px !important;
}

body.logged-in :where(.table-wrap table, .operations-table-wrap table) {
  table-layout: fixed !important;
}

body.logged-in :where(.table-wrap th, .table-wrap td, .operations-table-wrap th, .operations-table-wrap td) {
  padding: 8px 9px !important;
  font-size: var(--type-body) !important;
  line-height: 1.2 !important;
}

#operationsDailyView .response-module-shell {
  grid-template-columns: minmax(160px, 190px) minmax(0, 1fr) !important;
  gap: var(--ops-layout-gap) !important;
}

#operationsDailyView .response-main.operations-management-shell {
  gap: var(--ops-layout-gap) !important;
}

#operationsDailyView #responseDashboardPanel.operations-command-panel {
  padding: 14px !important;
  border-radius: 16px !important;
}

#operationsDailyView #responseDashboardPanel.operations-command-panel .operations-command-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#operationsDailyView #responseDashboardPanel.operations-command-panel .operations-filter-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
  #moduleHubView .ops-dashboard-board {
    grid-template-columns: minmax(150px, 176px) minmax(0, 1fr) !important;
  }

  #moduleHubView .ops-dashboard-rail {
    grid-column: 1 / -1 !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  #moduleHubView .ops-dashboard-rail > strong {
    grid-column: 1 / -1 !important;
  }

  #moduleHubView .ops-live-summary {
    grid-template-columns: repeat(auto-fit, minmax(138px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  #moduleHubView .ops-command-topline,
  #moduleHubView .ops-dashboard-board,
  #operationsDailyView .response-module-shell {
    grid-template-columns: 1fr !important;
  }

  #moduleHubView .ops-dashboard-sidebar,
  #moduleHubView .ops-dashboard-rail {
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  }

  #moduleHubView .ops-dashboard-sidebar::before,
  #moduleHubView .ops-dashboard-rail > strong {
    grid-column: 1 / -1 !important;
  }

  #moduleHubView .portal-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #operationsDailyView #responseDashboardPanel.operations-command-panel .operations-command-actions,
  #operationsDailyView #responseDashboardPanel.operations-command-panel .operations-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 560px) {
  #moduleHubView .portal-module-grid,
  #moduleHubView .ops-mode-tabs,
  #operationsDailyView #responseDashboardPanel.operations-command-panel .operations-command-actions,
  #operationsDailyView #responseDashboardPanel.operations-command-panel .operations-filter-grid {
    grid-template-columns: 1fr !important;
  }
}

/* Module Hub Space-Fill Pass: keep the four main module buttons occupying the available panel area. */
body.logged-in #moduleHubView .ops-command-dashboard {
  min-height: calc(100dvh - var(--global-content-top-offset) - 44px) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
}

body.logged-in #moduleHubView .ops-dashboard-board {
  min-height: clamp(430px, calc(100dvh - var(--global-content-top-offset) - 132px), 640px) !important;
}

body.logged-in #moduleHubView .ops-dashboard-work {
  height: 100% !important;
  align-content: stretch !important;
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

body.logged-in #moduleHubView .ops-dashboard-layout {
  display: grid !important;
  min-height: clamp(250px, calc(100dvh - var(--global-content-top-offset) - 330px), 460px) !important;
  height: 100% !important;
}

body.logged-in #moduleHubView .portal-module-grid {
  width: 100% !important;
  min-height: 100% !important;
  height: 100% !important;
  grid-auto-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
}

body.logged-in #moduleHubView .portal-module-button {
  min-height: 100% !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
}

body.logged-in #moduleHubView .portal-module-button span {
  max-width: min(210px, 100%) !important;
}

@media (max-width: 1180px) {
  body.logged-in #moduleHubView .ops-dashboard-board {
    min-height: auto !important;
  }

  body.logged-in #moduleHubView .ops-dashboard-layout {
    min-height: clamp(240px, 34dvh, 420px) !important;
  }
}

/* Form Arrangement Stabilization Pass v3: final responsive lock for active windows. */
body.logged-in,
body.logged-in #appShell,
body.logged-in main,
body.logged-in .view,
body.logged-in .view * {
  min-width: 0;
}

body.logged-in main {
  overflow-x: hidden !important;
}

body.logged-in .view.active {
  display: grid !important;
  align-content: start !important;
  gap: var(--ops-layout-gap, 14px) !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.logged-in .view.active > .module-bar {
  width: min(var(--ops-layout-max, 1220px), calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  min-height: 34px !important;
  margin: 0 auto 8px !important;
  padding: 6px 12px !important;
}

body.logged-in .view.active > .module-bar .dot-return:not(.header-dot-return) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.logged-in .view.active > :where(
  .panel,
  .workbench,
  .portal-management-window,
  .response-module-shell,
  .asset-manager-shell,
  .planning-dashboard,
  .audit-dashboard-shell,
  .dashboard-shell,
  .ops-command-dashboard,
  .developer-window-shell,
  .portfolio-shell,
  .work-queue-grid,
  .archive-grid,
  .hierarchy-window-panel
) {
  width: min(var(--ops-layout-max, 1220px), calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  margin-inline: auto !important;
  overflow-x: hidden !important;
}

body.logged-in :where(
  .asset-map-board,
  .map-preview,
  .site-map-preview,
  canvas
) {
  contain: layout paint;
}

body.logged-in :where(
  .panel-title,
  .dashboard-header-main,
  .operations-command-heading,
  .compact-title,
  .module-bar
) {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in :where(
  .panel-actions,
  .inline-actions,
  .form-actions,
  .operations-command-actions,
  .dashboard-header-actions,
  .restore-toolbar,
  .site-setup-toolbar,
  .calendar-pdf-actions,
  .asset-utilization-row,
  .asset-tool-input-row,
  .site-map-upload-row
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(142px, 100%), 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
  justify-content: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in :where(
  .panel-actions,
  .inline-actions,
  .form-actions,
  .operations-command-actions,
  .dashboard-header-actions,
  .restore-toolbar,
  .site-setup-toolbar,
  .calendar-pdf-actions,
  .asset-utilization-row,
  .asset-tool-input-row,
  .site-map-upload-row
) > :where(button, .button-link, .file-button, select, input) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 34px !important;
  height: auto !important;
  white-space: normal !important;
}

body.logged-in :where(
  .field-row,
  .field-grid,
  .form-grid,
  .asset-form-grid,
  .asset-inspection-grid,
  .asset-area-form-grid,
  .site-form-grid,
  .site-control-grid,
  .operations-filter-grid,
  .planning-filter-grid,
  .document-filter-grid,
  .dashboard-filter-grid,
  .exam-filter-grid
) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(168px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in :where(label, .field-row label, .form-grid label) {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in :where(input, select, textarea) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in :where(.table-wrap, .operations-table-wrap, .portal-management-table, .document-list, .command-list, .profile-evidence-list) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
}

body.logged-in :where(.table-wrap table, .operations-table-wrap table) {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
}

body.logged-in :where(.table-wrap th, .table-wrap td, .operations-table-wrap th, .operations-table-wrap td) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

#operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: minmax(152px, 190px) minmax(0, 1fr) !important;
  gap: var(--ops-layout-gap, 14px) !important;
  align-items: start !important;
}

#operationsDailyView .response-main.operations-management-shell,
#operationsDailyView #responseDashboardPanel.operations-command-panel {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

#operationsDailyView #responseDashboardPanel.operations-command-panel .operations-command-actions {
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr)) !important;
}

#operationsDailyView #responseDashboardPanel.operations-command-panel .operations-filter-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(130px, 100%), 1fr)) !important;
}

#operationsDailyView .response-module-sidebar {
  min-width: 0 !important;
  overflow: hidden !important;
}

#operationsDailyView .response-module-sidebar button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  justify-content: flex-start !important;
}

#moduleHubView .ops-dashboard-board,
#moduleHubView .ops-dashboard-work,
#moduleHubView .ops-dashboard-layout,
#moduleHubView .portal-module-grid {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

#moduleHubView .portal-module-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

#moduleHubView .portal-module-button {
  min-width: 0 !important;
  max-width: 100% !important;
}

@media (max-width: 1040px) {
  #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #operationsDailyView .response-module-sidebar {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(min(132px, 100%), 1fr)) !important;
  }
}

@media (max-width: 920px) {
  #moduleHubView .ops-dashboard-board {
    grid-template-columns: 1fr !important;
  }

  #moduleHubView .ops-dashboard-sidebar,
  #moduleHubView .ops-dashboard-rail {
    grid-template-columns: repeat(auto-fit, minmax(min(136px, 100%), 1fr)) !important;
  }
}

@media (max-width: 760px) {
  #moduleHubView .portal-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  #moduleHubView .portal-module-grid,
  body.logged-in :where(
    .panel-actions,
    .inline-actions,
    .form-actions,
    .operations-command-actions,
    .dashboard-header-actions,
    .restore-toolbar,
    .site-setup-toolbar,
    .calendar-pdf-actions
  ) {
    grid-template-columns: 1fr !important;
  }
}

/* Asset Management Layout Pass 2026-06-12: dashboard-reference structure with the existing asset color scheme. */
body.logged-in #assetManagerView.view.active {
  gap: var(--dash-space-4, 16px) !important;
  padding-top: 0 !important;
}

body.logged-in #assetManagerView .module-bar,
body.logged-in #assetManagerView .asset-manager-shell {
  width: var(--dash-shell-width, min(1540px, calc(100vw - 32px))) !important;
  max-width: var(--dash-shell-width, min(1540px, calc(100vw - 32px))) !important;
  margin-inline: auto !important;
}

body.logged-in #assetManagerView .module-bar {
  min-height: 42px !important;
  margin-bottom: 0 !important;
}

body.logged-in #assetManagerView .asset-manager-shell {
  height: auto !important;
  min-height: calc(100dvh - var(--rescue-content-top, 76px) - 62px) !important;
  display: grid !important;
  grid-template-columns: minmax(188px, 220px) minmax(0, 1fr) !important;
  gap: 0 !important;
  align-items: stretch !important;
  overflow: hidden !important;
  border-radius: 14px !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar {
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 12px !important;
  overflow: auto !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar::before {
  content: "Asset Manager";
  display: block;
  margin: 0 0 4px;
  color: rgba(245, 247, 250, .74);
  font-size: var(--type-small);
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

body.logged-in #assetManagerView .asset-manager-sidebar button {
  min-height: 42px !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  justify-items: start !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 12px !important;
  border-radius: 10px !important;
  text-align: left !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar button span:last-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: var(--type-body) !important;
  line-height: 1.1 !important;
}

body.logged-in #assetManagerView .asset-nav-icon {
  transform: none !important;
}

body.logged-in #assetManagerView .asset-manager-main {
  min-width: 0 !important;
  margin: 10px 10px 10px 0 !important;
  display: grid !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab.active {
  min-height: 0 !important;
  height: 100% !important;
  padding: 14px !important;
  gap: 12px !important;
  overflow: auto !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active {
  grid-template-rows: auto auto minmax(420px, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="forms"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="inspections"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="defects"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="layers"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="qrScan"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="mapType"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="assets"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="inventory"].active {
  align-content: start !important;
}

body.logged-in #assetManagerView .asset-manager-tab > .compact-title,
body.logged-in #assetManagerView .asset-manager-tab > .panel-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 64px !important;
}

body.logged-in #assetManagerView .asset-manager-tab > .compact-title > div,
body.logged-in #assetManagerView .asset-manager-tab > .panel-title > div {
  min-width: 0 !important;
}

body.logged-in #assetManagerView .asset-dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)) !important;
  gap: 10px !important;
}

body.logged-in #assetManagerView .asset-status-card,
body.logged-in #assetManagerView .asset-layer-card {
  min-height: 78px !important;
  padding: 12px !important;
  border-radius: 12px !important;
}

body.logged-in #assetManagerView .asset-status-card strong,
body.logged-in #assetManagerView .asset-layer-card strong {
  font-size: var(--type-page-title) !important;
}

body.logged-in #assetManagerView .asset-map-command-strip {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(130px, .7fr)) minmax(120px, auto) !important;
  gap: 10px !important;
  align-items: end !important;
  padding: 12px !important;
  border: 1px solid rgba(227, 27, 35, .28) !important;
  border-radius: 12px !important;
  background: rgba(17, 20, 24, .72) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 12px 28px rgba(0, 0, 0, .2) !important;
}

body.logged-in #assetManagerView .asset-map-command-strip label {
  min-width: 0 !important;
  display: grid !important;
  gap: 5px !important;
  color: var(--muted) !important;
  font-size: var(--type-small) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

body.logged-in #assetManagerView .asset-map-command-strip input,
body.logged-in #assetManagerView .asset-map-command-strip select {
  width: 100% !important;
  min-height: 34px !important;
  border-radius: 10px !important;
  background: rgba(7, 9, 11, .82) !important;
}

body.logged-in #assetManagerView .asset-map-command-strip button {
  min-height: 34px !important;
  padding: 7px 10px !important;
}

body.logged-in #assetManagerView .asset-map-panel {
  min-height: 420px !important;
  height: 100% !important;
  border-radius: 13px !important;
}

body.logged-in #assetManagerView .asset-map-board,
body.logged-in #assetManagerView .asset-map-canvas {
  min-height: 420px !important;
}

body.logged-in #assetManagerView .asset-map-title {
  min-height: 42px !important;
  padding-inline: 14px !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  max-width: min(620px, calc(100% - 190px)) !important;
  border-radius: 12px !important;
}

body.logged-in #assetManagerView .asset-tool-panel,
body.logged-in #assetManagerView .asset-inspection-form,
body.logged-in #assetManagerView .asset-inspection-log-panel,
body.logged-in #assetManagerView .asset-defect-workflow-panel,
body.logged-in #assetManagerView .portal-management-table,
body.logged-in #assetManagerView .asset-map-type-status {
  border-radius: 12px !important;
  padding: 14px !important;
}

body.logged-in #assetManagerView .asset-inspection-layout {
  display: grid !important;
  grid-template-columns: minmax(320px, .8fr) minmax(0, 1.2fr) !important;
  gap: 14px !important;
  align-items: start !important;
}

body.logged-in #assetManagerView .asset-tool-input-row {
  grid-template-columns: minmax(240px, 1fr) minmax(130px, 180px) !important;
}

body.logged-in #assetManagerView .asset-map-type-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
  gap: 12px !important;
}

body.logged-in #assetManagerView .asset-map-type-grid button {
  min-height: 42px !important;
}

body.logged-in #assetManagerView .asset-map-type-preview {
  min-height: 460px !important;
}

body.logged-in #assetManagerView .asset-map-type-preview .asset-map-board,
body.logged-in #assetManagerView .asset-map-type-preview .asset-map-canvas {
  min-height: 420px !important;
}

body.logged-in #assetManagerView .asset-registry-table,
body.logged-in #assetManagerView .asset-inspection-log-list,
body.logged-in #assetManagerView .asset-defect-workflow-list {
  max-height: calc(100dvh - var(--rescue-content-top, 76px) - 210px) !important;
  overflow: auto !important;
}

@media (max-width: 1120px) {
  body.logged-in #assetManagerView .asset-manager-shell {
    grid-template-columns: 1fr !important;
  }

  body.logged-in #assetManagerView .asset-manager-sidebar {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(227, 27, 35, .34) !important;
  }

  body.logged-in #assetManagerView .asset-manager-sidebar::before {
    grid-column: 1 / -1 !important;
  }

  body.logged-in #assetManagerView .asset-manager-main {
    margin: 0 10px 10px !important;
    border-radius: 12px !important;
  }

  body.logged-in #assetManagerView .asset-inspection-layout,
  body.logged-in #assetManagerView .asset-tool-input-row,
  body.logged-in #assetManagerView .asset-map-command-strip,
  body.logged-in #assetManagerView .asset-map-type-grid {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 680px) {
  body.logged-in #assetManagerView .asset-manager-sidebar {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.logged-in #assetManagerView .asset-manager-tab > .compact-title,
  body.logged-in #assetManagerView .asset-manager-tab > .panel-title {
    grid-template-columns: 1fr !important;
  }

  body.logged-in #assetManagerView .asset-map-floating-toolbar {
    position: static !important;
    max-width: 100% !important;
    margin: 8px !important;
  }
}

/* Main Launcher Simplification Pass 2026-06-12: after login shows only main module folders. */
body.logged-in #moduleHubView.view.active {
  min-height: calc(100dvh - var(--global-content-top-offset, 76px)) !important;
  width: min(1520px, calc(100vw - 24px)) !important;
  max-width: min(1520px, calc(100vw - 24px)) !important;
  display: grid !important;
  place-items: start center !important;
  padding: clamp(12px, 1.6vw, 24px) !important;
}

body.logged-in #moduleHubView .post-login-launcher {
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  display: grid !important;
  grid-template-rows: auto auto !important;
  gap: clamp(16px, 2vw, 22px) !important;
  align-content: start !important;
  padding: clamp(20px, 2.4vw, 32px) !important;
  border: 1px solid rgba(245, 247, 250, .14) !important;
  border-radius: 18px !important;
  background:
    linear-gradient(135deg, rgba(227, 27, 35, .1), transparent 36%),
    rgba(17, 20, 24, .78) !important;
  box-shadow: 0 24px 54px rgba(0, 0, 0, .28) !important;
}

body.logged-in #moduleHubView .launcher-status-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(138px, auto) !important;
  gap: 16px !important;
  align-items: center !important;
  padding: 0 0 18px !important;
  border-bottom: 1px solid rgba(227, 27, 35, .44) !important;
}

body.logged-in #moduleHubView .launcher-eyebrow {
  display: block !important;
  color: var(--muted) !important;
  font-size: var(--type-small) !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0 !important;
}

body.logged-in #moduleHubView .launcher-status-line h2 {
  margin: 4px 0 2px !important;
  color: var(--text) !important;
  font-size: var(--type-page-title) !important;
  line-height: 1.05 !important;
}

body.logged-in #moduleHubView .launcher-status-line p {
  margin: 0 !important;
  color: var(--muted) !important;
  font-size: var(--type-body) !important;
  line-height: 1.35 !important;
}

body.logged-in #moduleHubView .launcher-site-button {
  min-height: 40px !important;
  padding: 9px 16px !important;
  border-radius: 12px !important;
  white-space: nowrap !important;
}

body.logged-in #moduleHubView .main-module-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
  gap: clamp(14px, 1.8vw, 22px) !important;
  align-items: stretch !important;
  min-height: 0 !important;
  grid-auto-rows: clamp(220px, 34dvh, 320px) !important;
}

body.logged-in #moduleHubView .main-module-card {
  min-width: 0 !important;
  min-height: clamp(220px, 34dvh, 320px) !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(12px, 1.3vw, 18px) !important;
  padding: clamp(16px, 2.2vw, 26px) !important;
  border-radius: 18px !important;
  border: 1px solid rgba(245, 247, 250, .14) !important;
  background: rgba(32, 36, 42, .86) !important;
  color: var(--text) !important;
  text-align: center !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .24) !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease !important;
}

body.logged-in #moduleHubView .main-module-card:hover {
  transform: translateY(-3px) !important;
  border-color: rgba(227, 27, 35, .78) !important;
  background: rgba(39, 43, 50, .95) !important;
  box-shadow: 0 22px 42px rgba(0, 0, 0, .32), 0 0 0 1px rgba(227, 27, 35, .2) !important;
}

body.logged-in #moduleHubView .main-module-card.primary-module {
  border-color: rgba(227, 27, 35, .78) !important;
  background:
    linear-gradient(180deg, rgba(227, 27, 35, .2), rgba(185, 21, 27, .14)),
    rgba(35, 39, 46, .92) !important;
}

body.logged-in #moduleHubView .module-card-icon {
  width: 52px !important;
  height: 52px !important;
  flex: 0 0 52px !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 16px !important;
  border: 1px solid rgba(227, 27, 35, .5) !important;
  background: rgba(7, 9, 11, .58) !important;
  color: #F5F7FA !important;
  font-size: var(--type-section-title) !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

body.logged-in #moduleHubView .main-module-card strong {
  color: var(--text) !important;
  font-size: var(--type-section-title) !important;
  line-height: 1.12 !important;
  text-transform: uppercase !important;
}

body.logged-in #moduleHubView .main-module-card small {
  max-width: 220px !important;
  color: var(--muted) !important;
  font-size: var(--type-small) !important;
  line-height: 1.35 !important;
}

body.logged-in #moduleHubView .launcher-hidden-summary {
  display: none !important;
}

@media (max-width: 1180px) {
  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    min-height: auto !important;
  }

  body.logged-in #moduleHubView .main-module-card {
    min-height: 188px !important;
  }
}

@media (max-width: 760px) {
  body.logged-in #moduleHubView .post-login-launcher {
    width: min(100%, calc(100vw - 28px)) !important;
    padding: 18px !important;
  }

  body.logged-in #moduleHubView .launcher-status-line {
    grid-template-columns: 1fr !important;
  }

  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: 1fr !important;
  }

  body.logged-in #moduleHubView .main-module-card {
    min-height: 154px !important;
  }
}



/* Strict Overlap Prevention 2026-06-12:
   The final layout guard. It treats the header controls as one toolbar, keeps
   page content inside shared containers, and limits internal scrollbars to
   tables, long lists, drawers, maps, and modals only. */
:root {
  --contain-header-height: 58px;
  --contain-header-gap: 10px;
  --contain-toolbar-right: 16px;
  --contain-toolbar-button: clamp(92px, 8.5vw, 118px);
  --contain-toolbar-dot: 36px;
  --contain-toolbar-height: 34px;
  --contain-content-top: 76px;
  --contain-page-width: min(1240px, calc(100vw - 44px));
  --contain-wide-width: min(1480px, calc(100vw - 28px));
}

body.logged-in {
  overflow: hidden !important;
}

body.logged-in .app-shell {
  min-width: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  overflow: hidden !important;
}

body.logged-in .app-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  z-index: 9000 !important;
  min-height: var(--contain-header-height) !important;
  height: var(--contain-header-height) !important;
  display: grid !important;
  grid-template-columns: 150px minmax(240px, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 6px calc((var(--contain-toolbar-button) * 3) + var(--contain-toolbar-dot) + (var(--contain-header-gap) * 5) + var(--contain-toolbar-right)) 6px 14px !important;
  overflow: visible !important;
}

body.logged-in .app-header-logo {
  width: 118px !important;
  height: 38px !important;
  min-width: 0 !important;
  justify-self: start !important;
}

body.logged-in .app-header .header-title {
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 1px !important;
  overflow: hidden !important;
}

body.logged-in .app-header .header-title h1 {
  margin: 0 !important;
  color: #111418 !important;
  font-size: var(--type-page-title) !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.logged-in .app-header .standards-tagline,
body.logged-in .app-header .copyright-line {
  margin: 0 !important;
  max-width: 100% !important;
  color: #4f5964 !important;
  font-size: var(--type-small) !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.logged-in .header-readiness-control {
  display: none !important;
}

body.logged-in #siteContextBar,
body.logged-in #managementSideDrawer,
body.logged-in #bottomControlsDrawer,
body.logged-in #globalModuleReturnButton.header-dot-return {
  position: fixed !important;
  top: 10px !important;
  bottom: auto !important;
  left: auto !important;
  z-index: 9100 !important;
  width: auto !important;
  height: var(--contain-toolbar-height) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
  pointer-events: none !important;
}

body.logged-in #bottomControlsDrawer {
  right: var(--contain-toolbar-right) !important;
}

body.logged-in #managementSideDrawer {
  right: calc(var(--contain-toolbar-right) + var(--contain-toolbar-button) + var(--contain-header-gap)) !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return {
  right: calc(var(--contain-toolbar-right) + (var(--contain-toolbar-button) * 2) + (var(--contain-header-gap) * 2)) !important;
}

body.logged-in #siteContextBar {
  right: calc(var(--contain-toolbar-right) + (var(--contain-toolbar-button) * 2) + var(--contain-toolbar-dot) + (var(--contain-header-gap) * 3)) !important;
}

body.logged-in :where(.site-drawer-tab, .management-drawer-tab, .bottom-controls-tab) {
  pointer-events: auto !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: var(--contain-toolbar-button) !important;
  min-width: var(--contain-toolbar-button) !important;
  max-width: var(--contain-toolbar-button) !important;
  height: var(--contain-toolbar-height) !important;
  min-height: var(--contain-toolbar-height) !important;
  margin: 0 !important;
  padding: 0 8px !important;
  border-radius: 10px !important;
  border: 1px solid #39414b !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
  font-size: var(--type-small) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
  white-space: nowrap !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return {
  pointer-events: auto !important;
  display: inline-grid !important;
  grid-template-columns: repeat(2, 5px) !important;
  grid-template-rows: repeat(3, 5px) !important;
  place-content: center !important;
  gap: 4px !important;
  width: var(--contain-toolbar-dot) !important;
  min-width: var(--contain-toolbar-dot) !important;
  max-width: var(--contain-toolbar-dot) !important;
  height: var(--contain-toolbar-height) !important;
  min-height: var(--contain-toolbar-height) !important;
  border-radius: 10px !important;
  border: 1px solid #39414b !important;
  background: #20242a !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return.hidden {
  display: inline-grid !important;
  opacity: .42 !important;
  pointer-events: none !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return span {
  position: static !important;
  display: block !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 50% !important;
  background: #f5f7fa !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return span:nth-child(3) {
  grid-column: 1 / -1 !important;
  justify-self: center !important;
}

body.logged-in :where(.site-drawer-tab:hover, .management-drawer-tab:hover, .bottom-controls-tab:hover, #globalModuleReturnButton.header-dot-return:hover) {
  border-color: #e31b23 !important;
  background: #252a31 !important;
}

body.logged-in :where(.site-context-bar.open .site-drawer-tab, .management-side-drawer.open .management-drawer-tab, .bottom-controls-drawer.open .bottom-controls-tab) {
  border-color: #e31b23 !important;
  background: #e31b23 !important;
}

body.logged-in :where(.site-drawer-panel, .management-drawer-panel, .bottom-controls-drawer .footer-actions) {
  position: fixed !important;
  top: calc(var(--contain-header-height) + 12px) !important;
  right: var(--contain-toolbar-right) !important;
  left: auto !important;
  bottom: auto !important;
  display: none !important;
  width: min(390px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - var(--contain-header-height) - 28px) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  padding: 14px !important;
  border-radius: 14px !important;
  border: 1px solid #2b3036 !important;
  background: rgba(17, 20, 24, .98) !important;
  box-shadow: 0 22px 48px rgba(0, 0, 0, .42) !important;
  color: #f5f7fa !important;
  transform: none !important;
  z-index: 9200 !important;
}

body.logged-in .management-drawer-panel {
  width: min(260px, calc(100vw - 32px)) !important;
}

body.logged-in .bottom-controls-drawer .footer-actions {
  width: min(430px, calc(100vw - 32px)) !important;
}

body.logged-in :where(.site-context-bar.open .site-drawer-panel, .management-side-drawer.open .management-drawer-panel, .bottom-controls-drawer.open .footer-actions) {
  display: grid !important;
  gap: 10px !important;
}

body.logged-in main {
  position: fixed !important;
  inset: var(--contain-content-top) 0 0 0 !important;
  width: 100vw !important;
  min-width: 0 !important;
  height: calc(100dvh - var(--contain-content-top)) !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  overscroll-behavior: contain !important;
  scroll-padding-top: 16px !important;
}

body.logged-in .view {
  min-width: 0 !important;
}

body.logged-in .view.active {
  width: var(--contain-page-width) !important;
  max-width: var(--contain-page-width) !important;
  min-width: 0 !important;
  margin: 0 auto 30px !important;
  padding: 0 0 30px !important;
  display: grid !important;
  gap: 14px !important;
  align-content: start !important;
  overflow: visible !important;
}

body.logged-in :where(#moduleHubView, #portalOverviewView, #assetManagerView).view.active {
  width: var(--contain-wide-width) !important;
  max-width: var(--contain-wide-width) !important;
}

body.logged-in .view.active > .module-bar:first-child {
  position: sticky !important;
  top: 0 !important;
  z-index: 40 !important;
  min-width: 0 !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  border-radius: 999px !important;
  border: 1px solid rgba(43, 48, 54, .96) !important;
  background: rgba(17, 20, 24, .95) !important;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .22) !important;
  overflow: visible !important;
}

body.logged-in .view.active > .module-bar:first-child > strong {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.logged-in :where(.panel, .portal-management-window, .workbench, .list-panel, .dashboard-shell, .portfolio-shell, .planning-command-panel, .planning-navigation-panel, .planning-library-panel, .operations-command-panel, .response-main > section, .asset-tool-panel, .asset-map-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .developer-window-shell, .hierarchy-window-panel, .profile-entry-launcher) {
  position: relative !important;
  isolation: isolate !important;
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  border-radius: 14px !important;
}

body.logged-in :where(.panel-title, .compact-title, .dashboard-header-main, .operations-command-heading, .portal-overview-command, .asset-panel-title, .audit-panel-title) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
}

body.logged-in :where(.panel-title > *, .compact-title > *, .dashboard-header-main > *, .operations-command-heading > *) {
  min-width: 0 !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .operations-command-actions, .asset-map-command-strip, .document-actions, .footer-action-row, .system-controls-grid, .filters, .task-inbox-filters) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(160px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.logged-in :where(.panel-actions > *, .inline-actions > *, .operations-command-actions > *, .asset-map-command-strip > *, .document-actions > *, .footer-action-row > *, .system-controls-grid > *, .filters > *, .task-inbox-filters > *) {
  min-width: 0 !important;
  width: 100% !important;
}

body.logged-in :where(button, .button-link, .file-button, input, select, textarea) {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(button, .button-link, .file-button) {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-align: center !important;
}

body.logged-in :where(input, select, textarea) {
  min-width: 0 !important;
}

body.logged-in :where(.form-grid, .field-row, .asset-form-grid, .asset-inspection-grid, .planning-form-grid, .exam-grid, .profile-form-grid) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}

body.logged-in :where(.table-wrap, .portal-management-table, .document-list, .command-list, .audit-list, .card-list, .role-dashboard-list, .profile-evidence-list, .asset-registry-table, .asset-inspection-log-list, .asset-defect-workflow-list, .planning-document-list, .calendar-timeline, .exam-registry) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in :where(.document-list, .command-list, .audit-list, .card-list, .role-dashboard-list, .planning-document-list, .calendar-timeline, .exam-registry) {
  max-height: min(58dvh, 620px) !important;
}

body.logged-in :where(.portal-management-table, .table-wrap) table {
  width: 100% !important;
  table-layout: fixed !important;
}

body.logged-in :where(th, td, .document-item, .command-item, .task-card, .profile-card, .asset-layer-card, .asset-status-card, .portal-metric-card, .operations-metric-card, .summary-grid article, .menu-button, .asset-manager-sidebar button, .response-module-sidebar button) {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.logged-in :where(.summary-grid, .dashboard-grid, .audit-summary-grid, .portfolio-metric-grid, .planning-document-stats, .asset-dashboard-grid, .asset-layer-grid, .dynamic-command-grid, .work-queue-grid, .audit-grid, .operations-dashboard-grid, .module-card-grid, .portal-management-grid) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
}

body.logged-in :where(.summary-grid article, .portal-metric-card, .operations-metric-card, .asset-status-card, .asset-layer-card, .dashboard-card, .module-card, .work-queue-grid > .panel, .audit-grid > .panel) {
  min-width: 0 !important;
  min-height: 132px !important;
  max-width: 100% !important;
}

body.logged-in #planningView .planning-workbench,
body.logged-in #auditDashboardView .audit-dashboard-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #planningView :where(.planning-module-menu, .menu-panel, .planning-navigation-panel .planning-module-menu),
body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)) !important;
  gap: 10px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.logged-in #planningView :where(.planning-module-menu button, .menu-panel button, .planning-navigation-panel button),
body.logged-in #auditDashboardView .audit-module-menu button,
body.logged-in #assetManagerView .asset-manager-sidebar button,
body.logged-in #operationsDailyView .response-module-sidebar button {
  writing-mode: horizontal-tb !important;
  transform: none !important;
  min-width: 0 !important;
  width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
}

body.logged-in #assetManagerView .asset-manager-shell {
  display: grid !important;
  grid-template-columns: minmax(164px, 188px) minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView .asset-manager-main,
body.logged-in #assetManagerView .asset-manager-tab.active {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView :where(.asset-map-panel, .asset-map-board, .portal-overview-map-panel, .map-preview, .site-map-preview) {
  min-height: 420px !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body.logged-in #operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: minmax(164px, 190px) minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #operationsDailyView .response-main,
body.logged-in #operationsDailyView .operations-management-shell {
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  gap: 14px !important;
}

body.logged-in #operationsDailyView .operations-command-panel {
  overflow: visible !important;
}

body.logged-in #operationsDailyView .operations-command-actions {
  grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)) !important;
}

body.logged-in :where(.exam-popup, .modal-backdrop, .action-popup, .system-notice) {
  z-index: 20000 !important;
}

body.logged-in :where(.exam-popup-card, .system-controls-card, .modal-card) {
  max-width: min(780px, calc(100vw - 32px)) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

@media (max-width: 1050px) {
  :root {
    --contain-header-height: 96px;
    --contain-content-top: 108px;
    --contain-toolbar-button: clamp(92px, 22vw, 126px);
    --contain-toolbar-dot: 40px;
  }

  body.logged-in .app-header {
    grid-template-columns: 118px minmax(0, 1fr) !important;
    padding: 6px 12px 48px !important;
  }

  body.logged-in #siteContextBar,
  body.logged-in #managementSideDrawer,
  body.logged-in #bottomControlsDrawer,
  body.logged-in #globalModuleReturnButton.header-dot-return {
    top: 54px !important;
  }
}

@media (max-width: 760px) {
  :root {
    --contain-header-height: 132px;
    --contain-content-top: 144px;
    --contain-toolbar-button: calc((100vw - 86px) / 3);
  }

  body.logged-in .app-header {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    text-align: center !important;
    padding: 8px 10px 52px !important;
  }

  body.logged-in .app-header-logo {
    width: 104px !important;
  }

  body.logged-in .app-header .header-title h1 {
    font-size: var(--type-section-title) !important;
  }

  body.logged-in #siteContextBar {
    left: 10px !important;
    right: auto !important;
  }

  body.logged-in #globalModuleReturnButton.header-dot-return {
    left: calc(10px + var(--contain-toolbar-button) + 8px) !important;
    right: auto !important;
  }

  body.logged-in #managementSideDrawer {
    left: calc(10px + var(--contain-toolbar-button) + var(--contain-toolbar-dot) + 16px) !important;
    right: auto !important;
  }

  body.logged-in #bottomControlsDrawer {
    right: 10px !important;
  }

  body.logged-in #assetManagerView .asset-manager-shell,
  body.logged-in #operationsDailyView .response-module-shell,
  body.logged-in #workQueueView .work-queue-grid {
    grid-template-columns: 1fr !important;
  }

  body.logged-in #assetManagerView .asset-manager-sidebar,
  body.logged-in #operationsDailyView .response-module-sidebar {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
    gap: 8px !important;
    min-width: 0 !important;
  }
}

/* Module Containment Repair 2026-06-13:
   Final guard for the modules that still had older dashboard/layout rules
   fighting the current shell. Keep modules in one readable flow, allow only
   long tables/lists/forms to scroll, and prevent panels from floating over
   each other at normal or zoomed display scaling. */
body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView).view.active {
  width: min(1380px, calc(100vw - 44px)) !important;
  max-width: min(1380px, calc(100vw - 44px)) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  align-content: start !important;
  justify-items: stretch !important;
  overflow: visible !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView).view.active > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView) .module-bar {
  width: 100% !important;
  margin: 0 !important;
  min-height: 30px !important;
}

body.logged-in #operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: minmax(150px, 186px) minmax(0, 1fr) !important;
  gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .response-module-sidebar {
  position: sticky !important;
  top: calc(var(--contain-content-top, 76px) + 12px) !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: calc(100dvh - var(--contain-content-top, 76px) - 28px) !important;
  overflow: auto !important;
  align-self: start !important;
  display: grid !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 10px !important;
  border: 1px solid rgba(245, 247, 250, .14) !important;
  border-radius: 14px !important;
  background: rgba(17, 20, 24, .88) !important;
}

body.logged-in #operationsDailyView .response-sidebar-heading {
  min-height: 32px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 8px !important;
  border-radius: 10px !important;
  background: #E31B23 !important;
  color: #F5F7FA !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  text-align: left !important;
}

body.logged-in #operationsDailyView .response-nav-icon {
  display: none !important;
}

body.logged-in #operationsDailyView .operations-management-shell,
body.logged-in #operationsDailyView .response-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel.operations-command-panel {
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto !important;
  gap: 12px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 14px !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading h2 {
  margin: 0 !important;
  line-height: 1.2 !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .dashboard-header-meta {
  justify-self: end !important;
  max-width: 220px !important;
  text-align: right !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions > * {
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  align-items: end !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid label {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
  width: 100% !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid :where(input, select) {
  width: 100% !important;
  min-width: 0 !important;
  height: 34px !important;
  padding: 6px 10px !important;
}

body.logged-in #operationsDailyView :where(#dailyOperationsSummary, #responseRegisterPanel, #responseDetailPanel) {
  width: 100% !important;
  min-width: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .operations-table-wrap {
  width: 100% !important;
  max-height: min(42dvh, 380px) !important;
  overflow: auto !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table {
  min-width: 760px !important;
  table-layout: fixed !important;
}

body.logged-in #planningView .planning-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-areas:
    "command"
    "nav"
    "library" !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.logged-in #planningView .planning-command-panel {
  grid-area: command !important;
}

body.logged-in #planningView .planning-navigation-panel {
  grid-area: nav !important;
}

body.logged-in #planningView .planning-library-panel {
  grid-area: library !important;
}

body.logged-in #planningView :where(.planning-command-panel, .planning-navigation-panel, .planning-library-panel) {
  grid-column: auto !important;
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
}

body.logged-in #planningView .planning-document-stats {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

body.logged-in #planningView .planning-module-menu {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

body.logged-in #planningView .planning-library-panel .panel-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 420px) !important;
  align-items: end !important;
  gap: 12px !important;
}

body.logged-in #planningView .planning-library-panel .panel-title select,
body.logged-in #planningView .planning-library-panel .panel-search {
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #planningDocumentList.planning-document-list {
  width: 100% !important;
  max-height: min(54dvh, 540px) !important;
  overflow: auto !important;
}

body.logged-in #planningDocumentList.planning-document-list > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in #auditDashboardView.view.active {
  width: min(1380px, calc(100vw - 44px)) !important;
  max-width: min(1380px, calc(100vw - 44px)) !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-bottom: 42px !important;
}

body.logged-in #auditDashboardView.view.active > :where(.module-bar, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher, .audit-grid) {
  flex: 0 0 auto !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  clear: both !important;
  transform: none !important;
}

body.logged-in #auditDashboardView :where(.audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-content: start !important;
  overflow: hidden !important;
  padding: 16px !important;
}

body.logged-in #auditDashboardView .audit-command-panel .panel-title,
body.logged-in #auditDashboardView .action-time-launcher .panel-title,
body.logged-in #auditDashboardView .audit-migration-panel .panel-title,
body.logged-in #auditDashboardView .data-health-warning-panel .panel-title {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.logged-in #auditDashboardView .audit-command-panel .panel-actions,
body.logged-in #auditDashboardView .action-time-launcher .panel-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #auditDashboardView .audit-command-panel .registry-note {
  margin: 0 !important;
}

body.logged-in #auditDashboardView .audit-summary-grid {
  display: none !important;
}

body.logged-in #auditDashboardView .audit-module-concern-grid,
body.logged-in #auditDashboardView .portfolio-metric-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #auditDashboardView :where(.audit-module-concern-grid article, .portfolio-metric-grid > *) {
  min-height: 76px !important;
  padding: 10px !important;
  align-content: center !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu button {
  position: relative !important;
  min-height: 48px !important;
  padding: 9px 34px 9px 12px !important;
  display: grid !important;
  place-items: center !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-align: center !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu .menu-badge {
  position: absolute !important;
  top: 7px !important;
  right: 8px !important;
  min-width: 20px !important;
  height: 20px !important;
  padding: 1px 5px !important;
  display: inline-grid !important;
  place-items: center !important;
  line-height: 1 !important;
  pointer-events: none !important;
}

body.logged-in #auditDashboardView .audit-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body.logged-in #auditDashboardView .audit-grid > .panel {
  display: grid !important;
  grid-template-rows: auto minmax(112px, 1fr) !important;
  align-content: start !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 220px !important;
  overflow: hidden !important;
  padding: 16px !important;
}

body.logged-in #auditDashboardView .audit-grid > .panel h2 {
  margin: 0 0 10px !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

body.logged-in #auditDashboardView :where(.audit-list, .command-list, .action-time-results) {
  min-height: 0 !important;
  max-height: min(34dvh, 300px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #actionTimeRetrievalPanel {
  position: fixed !important;
  inset: 50% auto auto 50% !important;
  transform: translate(-50%, -50%) !important;
  width: min(980px, calc(100vw - 44px)) !important;
  max-width: min(980px, calc(100vw - 44px)) !important;
  max-height: calc(100dvh - 44px) !important;
  overflow: auto !important;
  z-index: 20010 !important;
}

body.logged-in #actionTimeRetrievalPanel.hidden {
  display: none !important;
}

/* Audit Relocation and Button Fit 2026-06-13:
   Audit owns audit/reporting command windows; Training keeps the remaining
   operational training windows in an even 3 x 3 button grid. */
body.logged-in #mainMenuView .welcome-workbench {
  width: min(1120px, calc(100vw - 48px)) !important;
}

body.logged-in #mainMenuView .welcome-workbench .menu-panel {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.logged-in #mainMenuView .menu-button {
  min-width: 0 !important;
  min-height: clamp(48px, 8vh, 68px) !important;
  height: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-items: center !important;
  gap: 8px !important;
  padding: 8px 12px !important;
  text-align: center !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu .menu-badge,
body.logged-in #mainMenuView .menu-button .menu-badge {
  justify-self: end !important;
}

body.logged-in :where(.site-drawer-tab, .management-drawer-tab, .bottom-controls-tab) {
  font-size: var(--type-small) !important;
  min-width: var(--contain-toolbar-button) !important;
  max-width: var(--contain-toolbar-button) !important;
  padding-inline: 8px !important;
}

@media (max-width: 980px) {
  body.logged-in #mainMenuView .welcome-workbench .menu-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 680px) {
  body.logged-in #mainMenuView .welcome-workbench .menu-panel,
  body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 1040px) {
  body.logged-in #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar {
    position: relative !important;
    top: auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)) !important;
    gap: 8px !important;
    max-height: none !important;
  }

  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading,
  body.logged-in #planningView .planning-library-panel .panel-title {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView #responseDashboardPanel .dashboard-header-meta {
    justify-self: start !important;
    text-align: left !important;
  }
}

@media (max-width: 720px) {
  body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView).view.active {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: min(100%, calc(100vw - 20px)) !important;
  }

  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions,
  body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid,
  body.logged-in #planningView .planning-module-menu,
  body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #auditDashboardView .audit-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Training Menu Fill Pass 2026-06-13:
   The Training and Standards landing menu owns 9 active windows, so it should
   fill the available content area as a balanced 3 x 3 command board. */
body.logged-in #mainMenuView.view.active {
  height: calc(100dvh - var(--contain-content-top, 76px)) !important;
  min-height: calc(100dvh - var(--contain-content-top, 76px)) !important;
  display: grid !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-content: stretch !important;
  padding: clamp(12px, 1.5vw, 20px) clamp(14px, 1.8vw, 24px) clamp(14px, 1.8vw, 24px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.logged-in #mainMenuView.view.active > .portal-return-bar {
  display: none !important;
}

body.logged-in #mainMenuView .welcome-workbench {
  width: min(1120px, calc(100vw - 48px)) !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  display: grid !important;
  align-items: stretch !important;
}

body.logged-in #mainMenuView .welcome-workbench .menu-panel {
  height: auto !important;
  min-height: min(520px, calc(100dvh - var(--contain-content-top, 76px) - 38px)) !important;
  max-height: calc(100dvh - var(--contain-content-top, 76px) - 28px) !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(10px, 1.2vw, 16px) !important;
  padding: clamp(14px, 1.5vw, 20px) !important;
  align-items: stretch !important;
}

body.logged-in #mainMenuView .menu-button {
  min-height: 0 !important;
  height: 100% !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  justify-items: center !important;
  line-height: 1.15 !important;
}

@media (max-width: 980px) {
  body.logged-in #mainMenuView.view.active {
    height: auto !important;
    min-height: calc(100dvh - var(--contain-content-top, 76px)) !important;
    overflow: auto !important;
  }

  body.logged-in #mainMenuView .welcome-workbench .menu-panel {
    max-height: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: repeat(auto-fit, minmax(82px, 1fr)) !important;
  }

  body.logged-in #mainMenuView .menu-button {
    min-height: 82px !important;
  }
}

@media (max-width: 680px) {
  body.logged-in #mainMenuView .welcome-workbench .menu-panel {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
  }
}

/* Main Module Neutral Color Lock 2026-06-13:
   Main launcher folders must look equal. Red is reserved for danger,
   warning, selected states, and true primary form actions only. */
body.logged-in #moduleHubView .main-module-card,
body.logged-in #moduleHubView .main-module-card.primary-module {
  color: var(--text) !important;
  border-color: rgba(245, 247, 250, .18) !important;
  background: rgba(35, 39, 46, .92) !important;
  box-shadow: 0 18px 36px rgba(0, 0, 0, .24) !important;
}

body.logged-in #moduleHubView .main-module-card:hover,
body.logged-in #moduleHubView .main-module-card.primary-module:hover {
  border-color: rgba(227, 27, 35, .45) !important;
  background: rgba(39, 43, 50, .95) !important;
  box-shadow: 0 22px 42px rgba(0, 0, 0, .32), 0 0 0 1px rgba(227, 27, 35, .12) !important;
}

/* Daily Actions Reference Pass 2026-06-13:
   Table-first Daily Activity view inspired by the provided Daily Actions
   reference while retaining the local Training and Standards theme. */
body.logged-in #operationsDailyView .response-module-shell {
  grid-template-columns: minmax(0, 1fr) !important;
  width: min(1180px, calc(100vw - 44px)) !important;
  max-width: min(1180px, calc(100vw - 44px)) !important;
  margin-inline: auto !important;
}

body.logged-in #operationsDailyView .response-module-sidebar {
  display: none !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel.operations-command-panel {
  padding: 14px !important;
  gap: 10px !important;
  border-color: rgba(227, 27, 35, .32) !important;
  background: rgba(17, 20, 24, .92) !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading {
  grid-template-columns: minmax(0, 1fr) !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .dashboard-header-meta {
  display: none !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading h2 {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--text) !important;
  font-size: var(--type-page-title) !important;
  text-transform: none !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions {
  grid-template-columns: repeat(4, minmax(118px, 1fr)) !important;
  gap: 8px !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions button {
  min-height: 34px !important;
  padding: 7px 10px !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid {
  grid-template-columns: minmax(130px, .75fr) minmax(140px, .85fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(140px, .85fr) minmax(220px, 1.4fr) !important;
  gap: 8px !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel {
  padding: 12px !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel .panel-title {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

body.logged-in #operationsDailyView .operations-table-wrap {
  max-height: min(58dvh, 540px) !important;
  overflow: auto !important;
  border-radius: 10px !important;
  border: 1px solid rgba(245, 247, 250, .12) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table {
  min-width: 0 !important;
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th:nth-child(1),
body.logged-in #operationsDailyView .operations-table-wrap td:nth-child(1) {
  width: 18% !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th:nth-child(2),
body.logged-in #operationsDailyView .operations-table-wrap td:nth-child(2) {
  width: 18% !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th:nth-child(4),
body.logged-in #operationsDailyView .operations-table-wrap td:nth-child(4) {
  width: 210px !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  background: rgba(7, 9, 11, .96) !important;
  color: var(--text) !important;
  border-bottom: 1px solid rgba(227, 27, 35, .38) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td {
  vertical-align: top !important;
  background: rgba(17, 20, 24, .74) !important;
  border-bottom: 1px solid rgba(245, 247, 250, .1) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap tr:nth-child(even) td {
  background: rgba(24, 29, 35, .78) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td strong,
body.logged-in #operationsDailyView .operations-table-wrap td small {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td small {
  color: var(--muted) !important;
  margin-top: 3px !important;
}

body.logged-in #operationsDailyView .daily-action-controls {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 6px !important;
  align-items: start !important;
}

body.logged-in #operationsDailyView .daily-action-controls button {
  min-height: 30px !important;
  padding: 5px 8px !important;
  font-size: var(--type-small) !important;
}

@media (max-width: 980px) {
  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions,
  body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.logged-in #operationsDailyView .operations-table-wrap table {
    min-width: 760px !important;
  }
}

/* Planning Library Containment Fix 2026-06-13:
   The Operational Reference Library must never collapse into a clipped strip.
   This final rule beats older Planning containment passes without changing
   active controls, filters, or document review actions. */
body.logged-in #planningView .planning-library-panel {
  display: grid !important;
  grid-template-rows: auto auto minmax(132px, 1fr) !important;
  align-content: start !important;
  gap: 12px !important;
  min-height: 240px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 16px !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(240px, 380px) !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title h2 {
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title select,
body.logged-in #planningView .planning-library-panel > .panel-search {
  align-self: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 38px !important;
}

body.logged-in #planningView #planningDocumentList.planning-document-list {
  min-height: 132px !important;
  max-height: min(56dvh, 560px) !important;
  overflow: auto !important;
  padding-right: 8px !important;
}

@media (max-width: 820px) {
  body.logged-in #planningView .planning-library-panel > .panel-title {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Layout Lock v1 2026-06-13:
   One shared post-login layout contract. Active windows use one readable
   document flow; only long lists, tables, maps, PDFs, and modal forms own
   internal scrolling. Broad hidden-overflow and panel containment blockers
   were removed above so future fixes do not fight old layout generations. */

:root {
  --layout-page-max: 1220px;
  --layout-wide-max: 1380px;
  --layout-gap: clamp(10px, 1.1vw, 16px);
  --layout-pad-x: clamp(12px, 1.7vw, 24px);
  --layout-panel-pad: clamp(12px, 1.3vw, 16px);
  --layout-control-min: 136px;
}

body.logged-in main {
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.logged-in .view.active {
  width: min(var(--layout-page-max), calc(100vw - 32px)) !important;
  max-width: min(var(--layout-page-max), calc(100vw - 32px)) !important;
  margin: 0 auto !important;
  padding: var(--layout-gap) var(--layout-pad-x) 42px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--layout-gap) !important;
  align-content: start !important;
  justify-items: stretch !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

body.logged-in :where(#moduleHubView, #portalOverviewView, #assetManagerView, #operationsDailyView, #planningView, #trainingCalendarView, #auditDashboardView).view.active {
  width: min(var(--layout-wide-max), calc(100vw - 32px)) !important;
  max-width: min(var(--layout-wide-max), calc(100vw - 32px)) !important;
}

body.logged-in #moduleHubView.view.active {
  width: min(1520px, calc(100vw - 24px)) !important;
  max-width: min(1520px, calc(100vw - 24px)) !important;
}

body.logged-in #moduleHubView.view.active,
body.logged-in #portalOverviewView.view.active,
body.logged-in #assetManagerView.view.active,
body.logged-in #operationsDailyView.view.active,
body.logged-in #planningView.view.active,
body.logged-in #trainingCalendarView.view.active,
body.logged-in #auditDashboardView.view.active {
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

body.logged-in :is(
  #moduleHubView,
  #portalOverviewView,
  #siteManagementView,
  #assetManagerView,
  #userManagementView,
  #roleManagementView,
  #operationsDailyView,
  #mainMenuView,
  #workQueueView,
  #portfolioView,
  #managementBoardView,
  #archiveView,
  #watchHierarchyView,
  #developerWindowView,
  #dataEntryView,
  #personnelView,
  #competencyAssessmentView,
  #promotionView,
  #examView,
  #statisticsView,
  #auditDashboardView,
  #instructorView,
  #documentsView,
  #planningView,
  #trainingCalendarView
).view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--layout-gap) !important;
  align-content: start !important;
  justify-items: stretch !important;
  overflow: visible !important;
  overflow-x: visible !important;
  overflow-y: visible !important;
}

body.logged-in .view.active > .module-bar:first-child {
  position: relative !important;
  top: auto !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 36px !important;
  margin: 0 !important;
  padding: 6px 12px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: visible !important;
}

body.logged-in .view.active > :where(.panel, .workbench, .portal-management-window, .response-module-shell, .asset-manager-shell, .planning-dashboard, .planning-workbench, .calendar-shell, .audit-dashboard-shell, .dashboard-shell, .ops-command-dashboard, .portfolio-shell, .work-queue-grid, .archive-grid, .hierarchy-window-panel, .developer-window-shell) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  contain: none !important;
}

body.logged-in :where(.panel, .list-panel, .detail-pane, .graph-detail, .profile-entry-launcher, .planning-command-panel, .planning-navigation-panel, .planning-library-panel, .operations-command-panel, .response-main > section, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .developer-window-shell, .hierarchy-window-panel) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  padding: var(--layout-panel-pad) !important;
  overflow: visible !important;
  contain: none !important;
}

body.logged-in :where(.panel-title, .compact-title, .dashboard-header-main, .operations-command-heading, .portal-overview-command, .asset-panel-title, .audit-panel-title) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}

body.logged-in :where(.panel-title > *, .compact-title > *, .dashboard-header-main > *, .operations-command-heading > *) {
  min-width: 0 !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .form-actions, .operations-command-actions, .dashboard-header-actions, .restore-toolbar, .site-setup-toolbar, .calendar-pdf-actions, .asset-utilization-row, .asset-tool-input-row, .site-map-upload-row, .document-actions, .footer-action-row, .system-controls-grid, .filters, .task-inbox-filters) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--layout-control-min), 100%), 1fr)) !important;
  gap: 8px !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in :where(button, .button-link, .file-button, input, select, textarea) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(button, .button-link, .file-button) {
  min-height: 34px !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  text-align: center !important;
}

body.logged-in :where(.form-grid, .field-row, .field-grid, .asset-form-grid, .asset-inspection-grid, .asset-area-form-grid, .site-form-grid, .site-control-grid, .operations-filter-grid, .planning-filter-grid, .document-filter-grid, .dashboard-filter-grid, .exam-filter-grid, .profile-form-grid, .action-time-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in :where(.summary-grid, .dashboard-grid, .audit-summary-grid, .portfolio-metric-grid, .planning-document-stats, .asset-dashboard-grid, .asset-layer-grid, .dynamic-command-grid, .work-queue-grid, .audit-grid, .operations-dashboard-grid, .module-card-grid, .portal-management-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(210px, 100%), 1fr)) !important;
  gap: var(--layout-gap) !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in :where(.table-wrap, .operations-table-wrap, .portal-management-table, .document-list, .command-list, .audit-list, .card-list, .role-dashboard-list, .profile-evidence-list, .asset-registry-table, .asset-inspection-log-list, .asset-defect-workflow-list, .planning-document-list, .calendar-timeline, .exam-registry, .action-time-results) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in :where(.asset-map-panel, .asset-map-board, .map-preview, .site-map-preview, .portal-overview-map-panel) {
  overflow: hidden !important;
  contain: layout paint !important;
}

body.logged-in :where(.popup-overlay:not(.hidden)) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 20000 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(14px, 2vw, 24px) !important;
  overflow: auto !important;
}

body.logged-in :where(.profile-entry-popup:not(.hidden), .single-record-card, .objective-manager-card, .action-popup-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card) {
  width: min(980px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  max-height: calc(100dvh - 40px) !important;
  overflow: auto !important;
}

@media (max-width: 920px) {
  body.logged-in .view.active {
    width: min(100%, calc(100vw - 20px)) !important;
    max-width: min(100%, calc(100vw - 20px)) !important;
    padding-inline: 10px !important;
  }

  body.logged-in :where(.panel-title, .compact-title, .dashboard-header-main, .operations-command-heading, .portal-overview-command, .asset-panel-title, .audit-panel-title) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Layout Lock v2 2026-06-14:
   Final containment layer for Training, Planning, and Audit after the EROMS
   alignment pass. This keeps panels in normal document flow, prevents
   action/filter rows from overlapping, and makes only tables/lists scroll. */
body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView).view.active {
  grid-auto-rows: auto !important;
  align-items: stretch !important;
  overflow-x: hidden !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.panel, .list-panel, .operations-command-panel, .planning-command-panel, .planning-navigation-panel, .planning-library-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-content: start !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.panel-title, .operations-command-heading, .compact-title) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  margin: 0 !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.panel-title h2, .operations-command-heading h2, .compact-title h2) {
  margin: 0 !important;
  min-width: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.panel-actions, .inline-actions, .operations-command-actions, .dashboard-header-actions, .audit-module-menu, .planning-module-menu) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: stretch !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.panel-actions button, .inline-actions button, .operations-command-actions button, .dashboard-header-actions button, .audit-module-menu button, .planning-module-menu button) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.operations-filter-grid, .dashboard-filter-grid, .planning-filter-grid, .action-time-grid, .single-record-filter-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  align-items: end !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.operations-filter-grid label, .dashboard-filter-grid label, .planning-filter-grid label, .action-time-grid label, .single-record-filter-grid label) {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}

body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
  :where(.table-wrap, .operations-table-wrap, .planning-document-list, .audit-list, .command-list, .action-time-results) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table {
  min-width: 680px !important;
}

body.logged-in #operationsDailyView .response-module-shell {
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
}

@media (max-width: 760px) {
  body.logged-in :where(#operationsDailyView, #planningView, #auditDashboardView)
    :where(.panel-title, .operations-command-heading, .compact-title) {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Asset Containment Lock 2026-06-14:
   Keep Asset Manager map-first, but prevent its light dashboard shell from
   adding horizontal width beyond the shared application page. */
body.logged-in #assetManagerView.view.active {
  overflow-x: hidden !important;
}

body.logged-in #assetManagerView .module-bar,
body.logged-in #assetManagerView .asset-manager-shell,
body.logged-in #assetManagerView .asset-manager-main,
body.logged-in #assetManagerView .asset-manager-tab.active,
body.logged-in #assetManagerView .asset-map-command-strip,
body.logged-in #assetManagerView .asset-dashboard-grid,
body.logged-in #assetManagerView .asset-map-panel,
body.logged-in #assetManagerView .asset-map-board {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.logged-in #assetManagerView .asset-manager-shell {
  grid-template-columns: minmax(148px, 176px) minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab.active {
  overflow-x: hidden !important;
}

body.logged-in #assetManagerView .asset-map-command-strip {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
  gap: 8px !important;
  align-items: end !important;
}

/* Surgical Layout Guard 2026-06-14:
   Inactive windows must never occupy document space. This final guard keeps
   old page-specific display rules from reintroducing stacked-window gaps. */
body.logged-in .view:not(.active),
body.login-active .app-shell .view:not(.active) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}

body.logged-in .view.active {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

/* Daily Activity Entry Lock 2026-06-15:
   Dedicated operational modal. It does not inherit the generic profile popup
   rules because those rules are shared by long personnel/profile forms. */
#dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
  position: fixed !important;
  top: calc(var(--app-header-height, 58px) + 14px) !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  z-index: 20020 !important;
  display: grid !important;
  align-content: start !important;
  gap: 12px !important;
  width: min(1160px, calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 30px) !important;
  margin: 0 !important;
  padding: 14px !important;
  transform: translateX(-50%) !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable both-edges !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden)::before {
  content: "" !important;
  position: fixed !important;
  inset: var(--app-header-height, 58px) 0 0 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: rgba(7, 9, 11, .52) !important;
  backdrop-filter: none !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -14px !important;
  z-index: 8 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  margin: -14px -14px 10px !important;
  padding: 12px 14px !important;
  border-bottom: 1px solid rgba(43, 48, 54, .95) !important;
  background: linear-gradient(180deg, rgba(31, 37, 44, .98), rgba(17, 20, 24, .96)) !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) .panel-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  justify-content: flex-end !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) .field-row {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 10px !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) label {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) input,
#dailyActivityForm.daily-activity-entry-popup:not(.hidden) select,
#dailyActivityForm.daily-activity-entry-popup:not(.hidden) textarea {
  width: 100% !important;
  min-height: 34px !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) .full-field,
#dailyActivityForm.daily-activity-entry-popup:not(.hidden) fieldset,
#dailyActivityForm.daily-activity-entry-popup:not(.hidden) details,
#dailyActivityForm.daily-activity-entry-popup:not(.hidden) .evidence-attachment-row {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"] {
  position: sticky !important;
  bottom: 0 !important;
  z-index: 7 !important;
  width: 100% !important;
  margin-top: 12px !important;
}

/* Personnel Profile Layout Lock 2026-06-15:
   The page now keeps only the data launcher and profile register in normal
   document flow. Evidence and assigned account review are controlled popups,
   which removes the old inline-panel overlap source completely. */
body.logged-in #profileView.view.active {
  width: min(1380px, calc(100vw - 32px)) !important;
  max-width: min(1380px, calc(100vw - 32px)) !important;
  margin-inline: auto !important;
  align-content: start !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-bottom: 24px !important;
}

body.logged-in #profileView.view.active > .module-bar,
body.logged-in #profileView.view.active > .workbench {
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in #profileView .workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 14px !important;
  align-content: start !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.logged-in #profileView .profile-entry-launcher.inline-entry-launcher {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .72fr) !important;
  gap: 10px 16px !important;
  align-items: center !important;
}

body.logged-in #profileView .profile-action-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
  gap: 8px !important;
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  width: 100% !important;
}

body.logged-in #profileView .profile-action-grid button {
  width: 100% !important;
}

body.logged-in #profileView .profile-register-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto minmax(420px, 1fr) !important;
  gap: 10px !important;
  min-height: 0 !important;
  overflow: visible !important;
}

body.logged-in #profileView .profile-register-panel > * {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in #profileView #profileSearchBox {
  display: block !important;
  width: 100% !important;
  justify-self: stretch !important;
}

body.logged-in #profileView #personnelProfileList {
  min-height: 420px !important;
  max-height: calc(100dvh - 330px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-right: 6px !important;
  scrollbar-gutter: stable !important;
}

.profile-evidence-popup-card {
  display: grid !important;
  grid-template-rows: auto auto minmax(180px, 1fr) auto !important;
  gap: 12px !important;
  width: min(940px, calc(100vw - 40px)) !important;
}

.profile-evidence-popup-card .profile-evidence-tools {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) !important;
  gap: 8px !important;
  min-width: 0 !important;
}

.profile-evidence-popup-card .profile-evidence-tools.hidden {
  display: none !important;
}

.profile-evidence-popup-card .profile-evidence-list {
  min-height: 180px !important;
  max-height: min(54dvh, 520px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding-right: 6px !important;
  scrollbar-gutter: stable !important;
}

.account-access-panel {
  width: min(1120px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 32px) !important;
  display: grid !important;
  grid-template-rows: auto auto minmax(220px, 1fr) auto !important;
  gap: 12px !important;
}

#accountAccessPopup #accountAccessTableWrap:not(.hidden) {
  max-height: min(54dvh, 520px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

@media (max-width: 900px) {
  body.logged-in #profileView .profile-entry-launcher.inline-entry-launcher {
    grid-template-columns: 1fr !important;
  }

  body.logged-in #profileView .profile-action-grid {
    grid-column: 1 !important;
    grid-row: auto !important;
    grid-template-columns: 1fr !important;
  }

  body.logged-in #profileView .profile-register-panel {
    grid-template-rows: auto auto minmax(260px, 1fr) !important;
  }
}

/* Personnel Profile CRUD Workspace Lock 2026-06-30
   Keeps profile management as an in-page CRUD workspace and prevents old popup/card rules
   from stretching rows, exposing hidden buttons, or creating overlapping panels. */
body.logged-in #profileView .workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 14px !important;
  align-content: start !important;
  overflow: visible !important;
}

body.logged-in #profileView .profile-crud-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

body.logged-in #profileView .profile-crud-tabs button {
  min-height: 38px !important;
  padding: 8px 12px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in #profileView .profile-crud-tabs button.active {
  border-color: rgba(227, 27, 35, .92) !important;
  background: rgba(227, 27, 35, .22) !important;
  color: var(--text) !important;
}

body.logged-in #profileView .profile-crud-panel {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #profileView .profile-crud-panel.hidden {
  display: none !important;
}

body.logged-in #profileView #personProfileForm.profile-crud-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: none !important;
  overflow: visible !important;
}

body.logged-in #profileView .profile-action-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

body.logged-in #profileView .profile-register-panel {
  display: grid !important;
  grid-template-rows: auto auto minmax(0, auto) !important;
  gap: 10px !important;
  overflow: visible !important;
}

body.logged-in #profileView #personnelProfileList {
  display: block !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 0 !important;
  background: transparent !important;
}

body.logged-in #profileView .profile-register-table-wrap,
body.logged-in #profileView .profile-account-table-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  max-height: min(62dvh, 680px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #profileView .profile-register-table {
  width: 100% !important;
  min-width: 980px !important;
  table-layout: auto !important;
}

body.logged-in #profileView .profile-register-table :where(th, td) {
  vertical-align: top !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in #profileView .profile-register-name {
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.logged-in #profileView .profile-register-name :where(img, .person-photo, .avatar, .initial-avatar) {
  width: 34px !important;
  height: 34px !important;
  max-width: 34px !important;
  max-height: 34px !important;
  object-fit: cover !important;
}

body.logged-in #profileView .profile-row-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
}

body.logged-in #profileView .profile-row-actions button {
  width: auto !important;
  min-width: 72px !important;
  min-height: 30px !important;
  padding: 6px 9px !important;
}

body.logged-in #profileView .profile-evidence-tools {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 8px !important;
}

body.logged-in #profileView .profile-evidence-list {
  max-height: min(58dvh, 620px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

/* Form Clarity Lock 2026-06-16:
   Final override for the current production layout. Older page generations
   left fixed widths, nested scroll regions, and popup rules that were still
   affecting active forms. This layer keeps module pages in one readable flow,
   opens data-entry forms as clean floating workspaces, and limits scrolling
   to long lists/tables only. */
:root {
  --form-page-max: 1480px;
  --form-dialog-max: 1240px;
  --form-control-min: 148px;
}

body.logged-in .view.active {
  width: min(var(--form-page-max), calc(100vw - 24px)) !important;
  max-width: min(var(--form-page-max), calc(100vw - 24px)) !important;
  padding-inline: clamp(10px, 1.2vw, 18px) !important;
  gap: 12px !important;
}

body.logged-in :where(
  #moduleHubView,
  #mainMenuView,
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #documentsView,
  #auditDashboardView,
  #trainingCalendarView,
  #assetManagerView
).view.active > :where(.panel, .workbench, .response-module-shell, .planning-workbench, .audit-dashboard-workbench, .calendar-shell, .asset-manager-shell) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

body.logged-in :where(.panel, .list-panel, .detail-pane, .profile-entry-launcher, .operations-command-panel, .planning-command-panel, .planning-library-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-content: start !important;
}

body.logged-in :where(.panel-title, .compact-title, .operations-command-heading) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body.logged-in :where(.panel-title h2, .compact-title h2, .operations-command-heading h2) {
  margin: 0 !important;
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .operations-command-actions, .form-actions, .document-actions, .calendar-pdf-actions, .audit-module-menu, .planning-module-menu) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--form-control-min), 100%), 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(.panel-actions button, .inline-actions button, .operations-command-actions button, .form-actions button, .document-actions button, .calendar-pdf-actions button, .audit-module-menu button, .planning-module-menu button) {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 7px 10px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
}

body.logged-in :where(.field-row, .form-grid, .field-grid, .operations-filter-grid, .planning-filter-grid, .document-filter-grid, .single-record-filter-grid, .action-time-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  width: 100% !important;
}

body.logged-in :where(label, .field-row > *, .form-grid > *, .field-grid > *) {
  min-width: 0 !important;
}

body.logged-in :where(input, select, textarea, button, .file-button) {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView .operations-command-panel {
  overflow: visible !important;
}

body.logged-in #operationsDailyView .operations-command-actions {
  grid-template-columns: repeat(4, minmax(120px, 1fr)) !important;
}

body.logged-in #operationsDailyView .operations-filter-grid {
  grid-template-columns: repeat(6, minmax(118px, 1fr)) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap {
  max-height: min(46dvh, 420px) !important;
  overflow: auto !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden),
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) {
  position: fixed !important;
  inset: calc(var(--app-header-height, 58px) + 12px) auto auto 50% !important;
  z-index: 22000 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: min(var(--form-dialog-max), calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 28px) !important;
  margin: 0 !important;
  padding: 14px !important;
  transform: translateX(-50%) !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable both-edges !important;
  background: rgba(17, 20, 24, .98) !important;
  border: 1px solid rgba(229, 57, 53, .48) !important;
  box-shadow: 0 22px 54px rgba(0, 0, 0, .42) !important;
  filter: none !important;
  opacity: 1 !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title,
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -14px !important;
  z-index: 2 !important;
  margin: -14px -14px 6px !important;
  padding: 12px 14px !important;
  background: rgba(31, 37, 44, .98) !important;
  border-bottom: 1px solid rgba(245, 247, 250, .12) !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) :where(.full-field, fieldset, details, .evidence-attachment-row),
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) :where(.full-field, fieldset, details, .photo-attachment, .evidence-attachment-row, .profile-account-panel, .planning-entry-brief) {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"],
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm).profile-entry-popup:not(.hidden) > button.primary[type="submit"] {
  position: static !important;
  inset: auto !important;
  z-index: auto !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  border-radius: 10px !important;
}

body.logged-in #profileView .profile-register-panel {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
}

body.logged-in #profileView #personnelProfileList {
  display: grid !important;
  gap: 10px !important;
  min-height: 360px !important;
  max-height: min(58dvh, 560px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.logged-in #personnelProfileList .document-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
}

body.logged-in #personnelProfileList .person-cell {
  min-width: 0 !important;
}

body.logged-in #personnelProfileList .panel-actions {
  justify-self: end !important;
  width: min(150px, 100%) !important;
  grid-template-columns: 1fr !important;
}

body.logged-in #auditDashboardView .audit-command-panel .panel-title {
  grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr) !important;
}

body.logged-in #auditDashboardView .audit-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  overflow: visible !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
}

body.logged-in #auditDashboardView .audit-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr)) !important;
  align-items: start !important;
}

body.logged-in #auditDashboardView .audit-grid > .panel {
  min-height: 180px !important;
  overflow: hidden !important;
}

body.logged-in #auditDashboardView .audit-list,
body.logged-in #auditDashboardView .command-list,
body.logged-in #auditDashboardView .action-time-results {
  max-height: min(42dvh, 380px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title {
  grid-template-columns: minmax(220px, 1fr) minmax(240px, 420px) !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title select {
  width: 100% !important;
  max-width: none !important;
  justify-self: stretch !important;
}

body.logged-in #planningView #planningDocumentList.planning-document-list {
  min-height: 220px !important;
  max-height: min(52dvh, 520px) !important;
  overflow: auto !important;
}

body.logged-in #trainingCalendarView .calendar-shell {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
}

body.logged-in #trainingCalendarView .calendar-preview,
body.logged-in #trainingCalendarView .calendar-pdf-frame {
  min-height: 420px !important;
  height: min(62dvh, 620px) !important;
}

@media (max-width: 1100px) {
  body.logged-in #operationsDailyView .operations-command-actions,
  body.logged-in #operationsDailyView .operations-filter-grid,
  body.logged-in #auditDashboardView .audit-command-panel .panel-title,
  body.logged-in #planningView .planning-library-panel > .panel-title,
  body.logged-in #trainingCalendarView .calendar-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Surgical Presentation Lock 2026-06-16:
   This is the active layout contract. It neutralizes older fixed/stacked
   rules by forcing one readable flow for pages, panels, actions, tables, and
   floating forms. Do not add page-specific layout hacks below this block. */
body.logged-in #loginView,
body.logged-in #loginView.login-screen,
body.logged-in #loginView * {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.logged-in #appShell {
  display: grid !important;
  grid-template-rows: var(--app-header-height, 58px) minmax(0, 1fr) !important;
  visibility: visible !important;
  pointer-events: auto !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}

body.logged-in main {
  display: block !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  height: calc(100dvh - var(--app-header-height, 58px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: clamp(10px, 1.2vw, 18px) !important;
  box-sizing: border-box !important;
}

body.logged-in .view:not(.active),
body.logged-in .view:not(.active) * {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.logged-in .view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 12px !important;
  width: min(1560px, 100%) !important;
  max-width: min(1560px, 100%) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.logged-in :where(.module-bar, .portal-return-bar) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 36px !important;
  padding: 6px 10px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.panel, .workbench, .response-module-shell, .operations-management-shell, .planning-workbench, .audit-dashboard-workbench, .calendar-shell, .asset-manager-shell, .list-panel, .detail-pane) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  contain: none !important;
}

body.logged-in :where(.panel, .list-panel, .detail-pane, .profile-entry-launcher, .operations-command-panel, .planning-command-panel, .planning-navigation-panel, .planning-library-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  align-content: start !important;
  padding: clamp(12px, 1.2vw, 16px) !important;
}

body.logged-in :where(.panel-title, .compact-title, .operations-command-heading, .dashboard-header-main) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(.panel-title h2, .compact-title h2, .operations-command-heading h2, .panel-title strong, .module-bar strong) {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .operations-command-actions, .dashboard-header-actions, .form-actions, .document-actions, .calendar-pdf-actions, .audit-module-menu, .planning-module-menu, .system-controls-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  align-items: stretch !important;
}

body.logged-in :where(.panel-actions button, .inline-actions button, .operations-command-actions button, .dashboard-header-actions button, .form-actions button, .document-actions button, .calendar-pdf-actions button, .audit-module-menu button, .planning-module-menu button, .system-controls-grid button, .button-link, .file-button) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 32px !important;
  padding: 7px 10px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in :where(.field-row, .form-grid, .field-grid, .operations-filter-grid, .planning-filter-grid, .document-filter-grid, .single-record-filter-grid, .action-time-grid, .asset-form-grid, .asset-inspection-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(170px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(label, .field-row > *, .form-grid > *, .field-grid > *) {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in :where(input, select, textarea) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in :where(.table-wrap, .operations-table-wrap, .portal-management-table, .document-list, .command-list, .audit-list, .card-list, .role-dashboard-list, .profile-evidence-list, .asset-registry-table, .asset-inspection-log-list, .asset-defect-workflow-list, .planning-document-list, .calendar-timeline, .exam-registry, .action-time-results) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #moduleHubView .post-login-launcher {
  width: min(1500px, 100%) !important;
  max-width: 100% !important;
  min-height: calc(100dvh - var(--app-header-height, 58px) - 36px) !important;
  margin-inline: auto !important;
}

body.logged-in #moduleHubView .main-module-grid {
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
  align-items: stretch !important;
}

body.logged-in #moduleHubView .main-module-card {
  min-height: clamp(180px, 28dvh, 300px) !important;
}

body.logged-in #operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: start !important;
}

body.logged-in #operationsDailyView .response-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body.logged-in #operationsDailyView .operations-command-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.logged-in #operationsDailyView .operations-filter-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap {
  max-height: min(44dvh, 420px) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table {
  min-width: 820px !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden),
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) {
  position: fixed !important;
  z-index: 24000 !important;
  top: calc(var(--app-header-height, 58px) + 12px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: min(1280px, calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 28px) !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  padding: 16px !important;
  margin: 0 !important;
  background: rgba(17, 20, 24, .99) !important;
  border: 1px solid rgba(229, 57, 53, .5) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .48) !important;
  opacity: 1 !important;
  filter: none !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title,
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -16px !important;
  z-index: 4 !important;
  margin: -16px -16px 4px !important;
  padding: 12px 16px !important;
  background: rgba(31, 37, 44, .99) !important;
  border-bottom: 1px solid rgba(245, 247, 250, .12) !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"],
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm).profile-entry-popup:not(.hidden) > button.primary[type="submit"] {
  position: static !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
}

body.logged-in #profileView .profile-entry-launcher.inline-entry-launcher {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) !important;
}

body.logged-in #profileView #personnelProfileList {
  min-height: 420px !important;
  max-height: min(64dvh, 680px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.logged-in #personnelProfileList .document-item {
  grid-template-columns: minmax(0, 1fr) minmax(92px, 128px) !important;
  align-items: center !important;
}

body.logged-in #auditDashboardView .audit-summary-grid,
body.logged-in #auditDashboardView .audit-module-concern-grid,
body.logged-in #auditDashboardView .portfolio-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
}

body.logged-in #auditDashboardView .audit-module-menu {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
}

body.logged-in #auditDashboardView .audit-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)) !important;
}

body.logged-in #auditDashboardView #auditModuleConcernList,
body.logged-in #auditDashboardView #auditDataHealthWarningList {
  display: grid !important;
  gap: 8px !important;
  min-height: 160px !important;
  max-height: min(34dvh, 360px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.logged-in #auditDashboardView .audit-migration-panel,
body.logged-in #auditDashboardView .audit-data-health-warning-panel,
body.logged-in #auditDashboardView .action-time-launcher {
  min-height: auto !important;
  overflow: visible !important;
}

body.logged-in #planningView .planning-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) !important;
}

body.logged-in #planningView #planningDocumentList {
  min-height: 260px !important;
  max-height: min(58dvh, 620px) !important;
}

body.logged-in #trainingCalendarView .calendar-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
  gap: 12px !important;
}

body.logged-in #trainingCalendarView .calendar-grid {
  display: contents !important;
}

body.logged-in #trainingCalendarView .calendar-pdf-frame,
body.logged-in #trainingCalendarView .calendar-pdf-fallback {
  min-height: min(64dvh, 640px) !important;
}

@media (max-width: 1180px) {
  body.logged-in #moduleHubView .main-module-grid,
  body.logged-in #operationsDailyView .response-module-shell,
  body.logged-in #operationsDailyView .operations-command-actions,
  body.logged-in #operationsDailyView .operations-filter-grid,
  body.logged-in #trainingCalendarView .calendar-shell,
  body.logged-in #planningView .planning-library-panel > .panel-title {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    width: 100% !important;
  }
}

/* FINAL Header and Overview Map Lock 2026-07-01:
   Restores horizontal header controls and keeps the Site Dashboard map readable.
   This neutralizes older side-tab and overview-map rules that caused clipped text. */
body.logged-in .app-header {
  min-height: var(--app-header-height, 58px) !important;
  height: var(--app-header-height, 58px) !important;
  padding-right: calc((var(--contain-toolbar-button, 128px) * 4) + var(--contain-toolbar-dot, 42px) + 72px) !important;
  overflow: visible !important;
}

body.logged-in :where(#siteContextBar, #managementSideDrawer, #taskInboxHeaderBar, #bottomControlsDrawer),
body.logged-in #globalModuleReturnButton.header-dot-return {
  position: fixed !important;
  top: 8px !important;
  bottom: auto !important;
  left: auto !important;
  height: 36px !important;
  min-height: 36px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 9400 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
  overflow: visible !important;
  pointer-events: none !important;
}

body.logged-in #bottomControlsDrawer {
  right: 16px !important;
}

body.logged-in #taskInboxHeaderBar {
  right: 146px !important;
}

body.logged-in #managementSideDrawer {
  right: 276px !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return {
  right: 406px !important;
}

body.logged-in #siteContextBar {
  right: 458px !important;
}

body.logged-in :where(.site-drawer-tab, .management-drawer-tab, .bottom-controls-tab, .task-inbox-header-tab),
body.logged-in #globalModuleReturnButton.header-dot-return {
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #39414b !important;
  border-radius: 10px !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
  font-size: var(--type-small) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 5px) !important;
  gap: 4px !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return span {
  width: 5px !important;
  height: 5px !important;
}

body.logged-in :where(#activeSiteDrawerPanel, #managementDrawerPanel, #bottomControlsPanel) {
  position: absolute !important;
  top: 44px !important;
  right: 0 !important;
  left: auto !important;
  z-index: 9500 !important;
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
  border-radius: 14px !important;
  transform: none !important;
}

body.logged-in #portalOverviewView.view.active {
  width: min(1480px, calc(100vw - 24px)) !important;
  max-width: min(1480px, calc(100vw - 24px)) !important;
  overflow: visible !important;
}

body.logged-in #portalOverviewView .asset-map-empty {
  max-width: min(360px, 72%) !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  background: rgba(7, 9, 11, .72) !important;
  color: rgba(245, 247, 250, .82) !important;
}

/* Performance Stabilization Lock 2026-07-09:
   Performance Lite is the default operating mode for laptop use. This final
   layer keeps the interface readable while removing expensive paint effects
   that increase CPU/GPU load on long-running local sessions. */
body.performance-lite *,
body.performance-lite *::before,
body.performance-lite *::after {
  animation: none !important;
  transition-duration: 80ms !important;
  scroll-behavior: auto !important;
}

body.performance-lite :where(
  .glass,
  .panel,
  .card,
  .sidebar,
  .modal,
  .modal-content,
  .map-panel,
  .geo-map-controls,
  .geo-control-section,
  .app-header,
  .login-card,
  .system-controls-card,
  .asset-live-controls,
  .asset-map-command-strip,
  .module-card,
  .portal-management-card,
  .command-item,
  .action-popup-card,
  .exam-popup-card,
  .statement-popup-card,
  .watch-hierarchy-card,
  .dashboard-card,
  .summary-grid article,
  .audit-summary-grid article
) {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  filter: none !important;
  box-shadow: none !important;
}

body.performance-lite :where(
  .glow,
  .pulse,
  .command-pulse,
  .animated-border,
  .scanline,
  .neon,
  .status-glow,
  .fade-overlay,
  .popup-title::after,
  .asset-maplibre-shell::before,
  .asset-maplibre-shell::after
) {
  animation: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* TRUE FILE-END Layout Containment Lock 2026-07-02.
   This block must remain last. It neutralizes older fixed widths, old popup
   sizing, old side rails, and page-specific overlap rules that appear above. */
:root {
  --layout-page-max: 1760px;
  --layout-gutter: clamp(12px, 1.5vw, 24px);
  --layout-rail: clamp(168px, 14vw, 230px);
  --layout-panel-bg: rgba(17, 20, 24, .94);
  --layout-panel-border: rgba(125, 133, 143, .38);
  --layout-red: #e31b23;
  --type-page-title: clamp(22px, 2vw, 32px);
  --type-section-title: 16px;
  --type-body: 12px;
  --type-small: 10px;
}

html,
body {
  overflow-x: hidden !important;
}

body.logged-in #appShell,
body.logged-in .app-shell {
  min-height: 100dvh !important;
  display: grid !important;
  grid-template-rows: var(--app-header-height, 56px) minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in .app-main,
body.logged-in main,
body.logged-in #viewHost {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

body.logged-in .view {
  display: none !important;
}

body.logged-in .view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 16px !important;
  width: min(var(--layout-page-max), calc(100vw - (var(--layout-gutter) * 2))) !important;
  max-width: min(var(--layout-page-max), calc(100vw - (var(--layout-gutter) * 2))) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 16px 0 28px !important;
  overflow: visible !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.logged-in :where(
  .module-bar,
  .panel,
  .list-panel,
  .detail-pane,
  .workbench,
  .planning-workbench,
  .audit-dashboard-workbench,
  .calendar-shell,
  .portfolio-shell,
  .developer-window-shell,
  .hierarchy-window-panel,
  .portal-management-window,
  .operations-command-panel,
  .ops-command-dashboard
) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  background: var(--layout-panel-bg) !important;
  border-color: var(--layout-panel-border) !important;
}

body.logged-in :where(.asset-manager-shell, .response-module-shell) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: var(--layout-rail) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
  width: 100% !important;
  max-width: var(--layout-rail) !important;
  min-width: 0 !important;
  display: grid !important;
  grid-auto-rows: minmax(42px, auto) !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 12px !important;
  overflow: visible !important;
  border-right: 6px solid var(--layout-red) !important;
  border-radius: 14px 0 0 14px !important;
  background: rgba(7, 9, 11, .92) !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 8px !important;
  padding: 9px 12px !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.2 !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  border: 1px solid #39414b !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) button.active {
  background: #8f151b !important;
  border-color: var(--layout-red) !important;
}

body.logged-in :where(.asset-manager-main, .response-main, .operations-management-shell) {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  align-content: start !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-tab, [data-response-panel], #responseDashboardPanel, #responseRegisterPanel, #responseDetailPanel, #dailyOperationsSummary, #responseEvidencePanel) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-tab.active, #operationsDailyView.response-window-dashboard #responseDashboardPanel, #operationsDailyView.response-window-dashboard #responseRegisterPanel, #operationsDailyView.response-window-dashboard #responseDetailPanel) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body.logged-in :where(.asset-manager-tab.hidden, [data-response-panel].hidden, #responseDashboardPanel.hidden, #responseRegisterPanel.hidden, #responseDetailPanel.hidden, #dailyOperationsSummary.hidden, #responseEvidencePanel.hidden) {
  display: none !important;
}

body.logged-in :where(.panel-title, .compact-title, .module-bar) {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  overflow: hidden !important;
}

body.logged-in :where(.panel-title h2, .compact-title h2, .module-bar strong) {
  font-size: var(--type-section-title) !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in :where(.field-row, .form-grid, .operations-filter-grid, .operations-command-actions, .asset-dashboard-grid, .audit-window-grid, .portal-module-grid, .quick-action-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(label, input, select, textarea, button, .button-link) {
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: var(--type-body) !important;
}

body.logged-in :where(input, select, textarea) {
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(button, .button-link) {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}

body.logged-in :where(.data-table, .portal-management-table, .table-wrap, .register-table, .audit-table, .training-table) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(table) {
  width: 100% !important;
  min-width: 720px !important;
  table-layout: auto !important;
}

body.logged-in :where(th, td) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  vertical-align: top !important;
}

body.logged-in :where(.action-popup-card, .single-record-card, .objective-manager-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card),
body.logged-in :where(.popup-overlay:not(.hidden), .modal-overlay:not(.hidden), .dialog-overlay:not(.hidden)) > :where(.panel, .card, .popup-card, .modal-card) {
  width: min(760px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  min-width: 0 !important;
  max-height: min(82dvh, 760px) !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#dailyActivityForm.daily-activity-entry-popup:not(.hidden), #personProfileForm.profile-entry-popup:not(.hidden), #recordForm.profile-entry-popup:not(.hidden), #instructorForm.profile-entry-popup:not(.hidden), #examForm.profile-entry-popup:not(.hidden), #documentForm.profile-entry-popup:not(.hidden), #planningDocumentForm.profile-entry-popup:not(.hidden), #actionTimeRetrievalPanel.profile-entry-popup:not(.hidden)) {
  position: fixed !important;
  z-index: 12000 !important;
  top: calc(var(--app-header-height, 56px) + 18px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  min-width: 0 !important;
  max-height: calc(100dvh - var(--app-header-height, 56px) - 40px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  background: rgba(17, 20, 24, .98) !important;
  border: 1px solid var(--layout-panel-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .46) !important;
}

body.logged-in :where(#dailyActivityForm, #personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel):not(.hidden) :where(.field-row, .form-grid, .behavior-grid, .guide-grid) {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

body.logged-in #assetManagerView .asset-dashboard-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

body.logged-in #assetManagerView .asset-map-panel {
  min-height: 620px !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-board {
  min-height: clamp(520px, 64dvh, 820px) !important;
  height: auto !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-canvas {
  min-height: clamp(500px, 60dvh, 780px) !important;
  height: auto !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  width: auto !important;
  max-width: min(760px, calc(100% - 28px)) !important;
  flex-wrap: wrap !important;
}

body.logged-in .asset-map-empty {
  max-width: min(420px, calc(100% - 32px)) !important;
  white-space: normal !important;
}

@media (max-width: 980px) {
  body.logged-in :where(.asset-manager-shell, .response-module-shell) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
    max-width: 100% !important;
    grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)) !important;
    border-right: 0 !important;
    border-bottom: 6px solid var(--layout-red) !important;
    border-radius: 14px !important;
  }
}

/* TRUE TERMINAL Layout Containment Lock 2026-07-02.
   This is intentionally the last CSS contract. Older module-specific layout
   blocks above are historical and must not control active workspaces anymore. */
:root {
  --layout-page-max: 1760px;
  --layout-gutter: clamp(12px, 1.5vw, 24px);
  --layout-rail: clamp(168px, 14vw, 230px);
  --layout-panel-bg: rgba(17, 20, 24, .94);
  --layout-panel-border: rgba(125, 133, 143, .38);
  --layout-red: #e31b23;
  --type-page-title: clamp(22px, 2vw, 32px);
  --type-section-title: 16px;
  --type-body: 12px;
  --type-small: 10px;
}

html,
body {
  overflow-x: hidden !important;
}

body.logged-in #appShell,
body.logged-in .app-shell {
  min-height: 100dvh !important;
  display: grid !important;
  grid-template-rows: var(--app-header-height, 56px) minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in .app-main,
body.logged-in main,
body.logged-in #viewHost {
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 0 !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

body.logged-in .view {
  display: none !important;
}

body.logged-in .view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 16px !important;
  width: min(var(--layout-page-max), calc(100vw - (var(--layout-gutter) * 2))) !important;
  max-width: min(var(--layout-page-max), calc(100vw - (var(--layout-gutter) * 2))) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 16px 0 28px !important;
  overflow: visible !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.logged-in :where(
  .module-bar,
  .panel,
  .list-panel,
  .detail-pane,
  .workbench,
  .planning-workbench,
  .audit-dashboard-workbench,
  .calendar-shell,
  .portfolio-shell,
  .developer-window-shell,
  .hierarchy-window-panel,
  .portal-management-window,
  .operations-command-panel,
  .ops-command-dashboard
) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
  background: var(--layout-panel-bg) !important;
  border-color: var(--layout-panel-border) !important;
}

body.logged-in :where(.asset-manager-shell, .response-module-shell) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: var(--layout-rail) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
  width: 100% !important;
  max-width: var(--layout-rail) !important;
  min-width: 0 !important;
  display: grid !important;
  grid-auto-rows: minmax(42px, auto) !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 12px !important;
  overflow: visible !important;
  border-right: 6px solid var(--layout-red) !important;
  border-radius: 14px 0 0 14px !important;
  background: rgba(7, 9, 11, .92) !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 8px !important;
  padding: 9px 12px !important;
  text-align: left !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.2 !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  border: 1px solid #39414b !important;
  border-radius: 9px !important;
  box-shadow: none !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) button.active {
  background: #8f151b !important;
  border-color: var(--layout-red) !important;
}

body.logged-in :where(.asset-manager-main, .response-main, .operations-management-shell) {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  align-content: start !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-tab, [data-response-panel], #responseDashboardPanel, #responseRegisterPanel, #responseDetailPanel, #dailyOperationsSummary, #responseEvidencePanel) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-tab.active, #operationsDailyView.response-window-dashboard #responseDashboardPanel, #operationsDailyView.response-window-dashboard #responseRegisterPanel, #operationsDailyView.response-window-dashboard #responseDetailPanel) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  overflow: visible !important;
}

body.logged-in :where(.asset-manager-tab.hidden, [data-response-panel].hidden, #responseDashboardPanel.hidden, #responseRegisterPanel.hidden, #responseDetailPanel.hidden, #dailyOperationsSummary.hidden, #responseEvidencePanel.hidden) {
  display: none !important;
}

body.logged-in :where(.panel-title, .compact-title, .module-bar) {
  min-height: 42px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  overflow: hidden !important;
}

body.logged-in :where(.panel-title h2, .compact-title h2, .module-bar strong) {
  font-size: var(--type-section-title) !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in :where(.field-row, .form-grid, .operations-filter-grid, .operations-command-actions, .asset-dashboard-grid, .audit-window-grid, .portal-module-grid, .quick-action-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(label, input, select, textarea, button, .button-link) {
  max-width: 100% !important;
  box-sizing: border-box !important;
  font-size: var(--type-body) !important;
}

body.logged-in :where(input, select, textarea) {
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(button, .button-link) {
  min-width: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}

body.logged-in :where(.data-table, .portal-management-table, .table-wrap, .register-table, .audit-table, .training-table) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(table) {
  width: 100% !important;
  min-width: 720px !important;
  table-layout: auto !important;
}

body.logged-in :where(th, td) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  vertical-align: top !important;
}

body.logged-in :where(.action-popup-card, .single-record-card, .objective-manager-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card),
body.logged-in :where(.popup-overlay:not(.hidden), .modal-overlay:not(.hidden), .dialog-overlay:not(.hidden)) > :where(.panel, .card, .popup-card, .modal-card) {
  width: min(760px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  min-width: 0 !important;
  max-height: min(82dvh, 760px) !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#dailyActivityForm.daily-activity-entry-popup:not(.hidden), #personProfileForm.profile-entry-popup:not(.hidden), #recordForm.profile-entry-popup:not(.hidden), #instructorForm.profile-entry-popup:not(.hidden), #examForm.profile-entry-popup:not(.hidden), #documentForm.profile-entry-popup:not(.hidden), #planningDocumentForm.profile-entry-popup:not(.hidden), #actionTimeRetrievalPanel.profile-entry-popup:not(.hidden)) {
  position: fixed !important;
  z-index: 12000 !important;
  top: calc(var(--app-header-height, 56px) + 18px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: min(1180px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  min-width: 0 !important;
  max-height: calc(100dvh - var(--app-header-height, 56px) - 40px) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  background: rgba(17, 20, 24, .98) !important;
  border: 1px solid var(--layout-panel-border) !important;
  border-radius: 16px !important;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .46) !important;
}

body.logged-in :where(#dailyActivityForm, #personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel):not(.hidden) :where(.field-row, .form-grid, .behavior-grid, .guide-grid) {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

body.logged-in #assetManagerView .asset-dashboard-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

body.logged-in #assetManagerView .asset-map-panel {
  min-height: 620px !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-board {
  min-height: clamp(520px, 64dvh, 820px) !important;
  height: auto !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-canvas {
  min-height: clamp(500px, 60dvh, 780px) !important;
  height: auto !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  width: auto !important;
  max-width: min(760px, calc(100% - 28px)) !important;
  flex-wrap: wrap !important;
}

body.logged-in .asset-map-empty {
  max-width: min(420px, calc(100% - 32px)) !important;
  white-space: normal !important;
}

@media (max-width: 980px) {
  body.logged-in :where(.asset-manager-shell, .response-module-shell) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
    max-width: 100% !important;
    grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)) !important;
    border-right: 0 !important;
    border-bottom: 6px solid var(--layout-red) !important;
    border-radius: 14px !important;
  }
}

/* ABSOLUTE END Layout Recovery Lock 2026-07-02:
   This is intentionally last. It overrides older "final" layout blocks left
   from previous redesign passes. It does not rename or remove controls; it only
   restores predictable containment, readable side navigation, sane popup sizes,
   and full-width module work areas. */
body.logged-in {
  --final-header-h: 58px;
  --final-page-max: 1720px;
  --final-gap: 16px;
  --final-rail: clamp(176px, 15vw, 220px);
  --final-panel: rgba(17, 20, 24, .95);
  --final-panel-strong: rgba(7, 9, 11, .94);
  --final-border: rgba(75, 85, 99, .74);
  --final-red: #E31B23;
}

body.logged-in #appShell:not(.hidden) {
  display: grid !important;
  grid-template-rows: var(--final-header-h) minmax(0, 1fr) !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}

body.logged-in .app-main,
body.logged-in main,
body.logged-in #viewHost {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  padding: 14px !important;
  box-sizing: border-box !important;
}

body.logged-in .view.active {
  width: min(var(--final-page-max), calc(100vw - 28px)) !important;
  max-width: min(var(--final-page-max), calc(100vw - 28px)) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--final-gap) !important;
  align-content: start !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in .view.active > :where(.panel, .module-window, .workbench, .list-panel, .detail-pane, .portal-management-window, .module-grid, .summary-grid) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 16px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-shell, .response-module-shell) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: var(--final-rail) minmax(0, 1fr) !important;
  grid-template-areas: "finalrail finalcontent" !important;
  gap: var(--final-gap) !important;
  align-items: stretch !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
  grid-area: finalrail !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
  background: var(--final-panel-strong) !important;
  border: 1px solid var(--final-border) !important;
  border-right: 6px solid var(--final-red) !important;
  border-radius: 14px 0 0 14px !important;
  z-index: 1 !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) :where(button, .response-sidebar-heading) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: start !important;
  gap: 9px !important;
  padding: 9px 10px !important;
  margin: 0 0 7px !important;
  border-radius: 9px !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: hidden !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  line-height: 1.18 !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) :where(button, .response-sidebar-heading) > span:not(.response-nav-icon) {
  min-width: 0 !important;
  max-width: 100% !important;
  display: block !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.18 !important;
}

body.logged-in :where(.asset-manager-main, .asset-manager-content, .response-main, .response-module-content, .operations-management-shell) {
  grid-area: finalcontent !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--final-gap) !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.asset-manager-tab.active, [data-response-panel], #responseDashboardPanel, #responseRegisterPanel, #responseDetailPanel, .operations-command-panel) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.panel-title, .command-header, .section-header, .compact-title, .card-header) {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.field-row, .form-grid, .filter-grid, .asset-filter-row, .operations-filter-grid, .planning-input-grid) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.panel-actions, .operations-command-actions, .button-row, .action-row) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.logged-in :where(input, select, textarea, button) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.table-wrap, .table-shell, .registry-table-wrap, .clean-table-wrap, .data-table-wrap) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
  box-sizing: border-box !important;
}

body.logged-in :where(table, .data-table, .clean-table) {
  width: 100% !important;
  min-width: 680px !important;
  table-layout: auto !important;
}

body.logged-in :where(.action-popup:not(.hidden), .popup-overlay:not(.hidden), .modal-overlay:not(.hidden), .exam-popup:not(.hidden)) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 30000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.action-popup-card, .fault-popup-card, .popup-card, .modal-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card, .task-inbox-popup-card, .system-controls-card) {
  width: min(720px, calc(100vw - 48px)) !important;
  max-width: min(720px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  max-height: calc(100dvh - 56px) !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden),
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
  position: fixed !important;
  top: calc(var(--final-header-h) + 14px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  z-index: 31000 !important;
  width: min(1280px, calc(100vw - 48px)) !important;
  max-width: min(1280px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  max-height: calc(100dvh - var(--final-header-h) - 32px) !important;
  margin: 0 !important;
  padding: 16px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
  background: rgba(17, 20, 24, .99) !important;
  border: 1px solid rgba(227, 27, 35, .62) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 80px rgba(0, 0, 0, .68) !important;
  color: #F5F7FA !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) *,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) > .panel-title,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -16px !important;
  z-index: 3 !important;
  margin: -16px -16px 4px !important;
  padding: 14px 16px !important;
  background: rgba(17, 20, 24, .99) !important;
  border-bottom: 1px solid rgba(75, 85, 99, .45) !important;
}

body.logged-in #assetManagerView .asset-dashboard-grid,
body.logged-in #assetManagerStats {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
  gap: 10px !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView .asset-status-card {
  min-width: 0 !important;
  min-height: 74px !important;
  padding: 10px 12px !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView :where(.asset-map-panel, .asset-map-board, .asset-map-canvas) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in #assetManagerView .asset-map-canvas {
  min-height: clamp(460px, 62dvh, 760px) !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  align-items: center !important;
  justify-content: flex-end !important;
  max-width: min(820px, calc(100% - 24px)) !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar button {
  width: auto !important;
  min-width: 0 !important;
  min-height: 30px !important;
  padding: 6px 9px !important;
  font-size: var(--type-small, 11px) !important;
  white-space: nowrap !important;
}

@media (max-width: 980px) {
  body.logged-in :where(.asset-manager-shell, .response-module-shell) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "finalrail"
      "finalcontent" !important;
    overflow: visible !important;
  }

  body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
    border-right: 0 !important;
    border-bottom: 6px solid var(--final-red) !important;
    border-radius: 14px !important;
  }

  body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden),
  body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
}

/* TRUE FINAL Workspace Containment and Form Repair 2026-07-02
   Purpose: neutralize older page-specific fixed/absolute sizing rules that were
   shrinking forms, creating horizontal scrollbars, and forcing panels to overlap.
   This is the active layout contract for post-login module windows. */
body.logged-in {
  --active-window-max: 1680px;
  --active-window-gap: 14px;
  --active-rail-width: 190px;
}

body.logged-in .app-main,
body.logged-in main,
body.logged-in #viewHost {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.logged-in .view.active {
  width: min(var(--active-window-max), calc(100vw - 28px)) !important;
  max-width: min(var(--active-window-max), calc(100vw - 28px)) !important;
  min-width: 0 !important;
  margin: 0 auto !important;
  padding-inline: 0 !important;
  overflow: visible !important;
}

body.logged-in :where(.panel, .module-window, .detail-pane, .table-wrap, .list-panel, .asset-manager-content, .response-module-content) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.module-window, .panel, .asset-manager-main, .response-module-main) {
  overflow-x: hidden !important;
}

body.logged-in :where(.asset-manager-shell, .response-module-shell) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(170px, var(--active-rail-width)) minmax(0, 1fr) !important;
  gap: var(--active-window-gap) !important;
  align-items: start !important;
}

body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: var(--active-rail-width) !important;
  overflow: hidden !important;
}

body.logged-in :where(.asset-manager-sidebar button, .response-module-sidebar button) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 38px !important;
  justify-content: flex-start !important;
  padding: 8px 12px !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  line-height: 1.15 !important;
  text-align: left !important;
}

body.logged-in :where(.asset-manager-content, .response-module-content) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView .asset-manager-shell {
  min-height: calc(100dvh - var(--app-header-height, 58px) - 94px) !important;
}

body.logged-in #assetManagerView .asset-map-canvas,
body.logged-in #assetManagerView .asset-map-board {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-canvas {
  min-height: clamp(430px, 58dvh, 720px) !important;
}

body.logged-in #assetManagerView .asset-map-toolbar,
body.logged-in #assetManagerView .asset-map-controls {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  max-width: 100% !important;
}

body.logged-in #assetManagerView .asset-map-toolbar button,
body.logged-in #assetManagerView .asset-map-controls button {
  width: auto !important;
  min-width: 0 !important;
  max-width: 150px !important;
  min-height: 30px !important;
  padding: 7px 10px !important;
  font-size: var(--type-small) !important;
  white-space: nowrap !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden),
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
  position: fixed !important;
  top: calc(var(--app-header-height, 58px) + 14px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: min(1320px, calc(100vw - 48px)) !important;
  max-width: min(1320px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 32px) !important;
  margin: 0 !important;
  padding: 18px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  z-index: 9800 !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) *,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) > .panel-title,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -18px !important;
  z-index: 2 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  width: 100% !important;
  margin: -18px -18px 4px !important;
  padding: 14px 18px !important;
}

body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) .field-row,
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) .form-grid,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .field-row,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .form-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
  width: 100% !important;
}

body.logged-in :where(input, select, textarea, button) {
  min-width: 0;
}

body.logged-in :where(select[size], .credential-list, .instructor-specialty-list, .checkbox-stack, .multi-select-list, .profile-selector-list) {
  max-height: min(360px, 42dvh) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.logged-in :where(.action-popup:not(.hidden), .popup-overlay:not(.hidden), .modal-overlay:not(.hidden), .exam-popup:not(.hidden)) {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  overflow: hidden !important;
  z-index: 9900 !important;
}

body.logged-in :where(.action-popup-card, .popup-card, .modal-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card, .task-inbox-popup-card, .system-controls-card) {
  width: min(760px, calc(100vw - 48px)) !important;
  max-width: min(760px, calc(100vw - 48px)) !important;
  min-width: 0 !important;
  max-height: calc(100dvh - 56px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.action-popup-card, .popup-card, .modal-card, .exam-popup-card, .statement-popup-card, .watch-hierarchy-card, .task-inbox-popup-card, .system-controls-card) * {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.table-wrap, .data-table-wrap, .record-table-wrap) {
  width: 100% !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

body.logged-in :where(table, .data-table) {
  width: 100% !important;
  min-width: 720px !important;
  table-layout: auto !important;
}

@media (max-width: 980px) {
  body.logged-in :where(.asset-manager-shell, .response-module-shell) {
    grid-template-columns: 1fr !important;
  }

  body.logged-in :where(.asset-manager-sidebar, .response-module-sidebar) {
    max-width: none !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  }

  body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden),
  body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 14px !important;
  }
}

/* FINAL TRUE-END Shell Visibility Lock 2026-07-02:
   If JavaScript has authenticated the operator and removed .hidden from the
   shell, no older login-active rule may collapse the app or map to zero size. */
body.logged-in #appShell.app-shell:not(.hidden),
body.logged-in.login-active #appShell.app-shell:not(.hidden),
body #appShell.app-shell:not(.hidden) {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  min-height: 100dvh !important;
}

body.logged-in #loginView.login-screen,
body.logged-in.login-active #loginView.login-screen,
body.logged-in #loginView.login-screen:not(.hidden) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 920px) {
  body.logged-in .app-header {
    height: auto !important;
    min-height: 92px !important;
    padding-right: 12px !important;
  }

  body.logged-in :where(#siteContextBar, #managementSideDrawer, #taskInboxHeaderBar, #bottomControlsDrawer),
  body.logged-in #globalModuleReturnButton.header-dot-return {
    position: relative !important;
    top: auto !important;
    right: auto !important;
  }
}

body.logged-in #auditDashboardView :where(
  .audit-navigation-panel,
  .audit-migration-panel,
  .data-health-warning-panel,
  .action-time-launcher
) {
  height: auto !important;
  min-height: max-content !important;
  max-height: none !important;
  overflow: visible !important;
}

body.logged-in #auditDashboardView :where(
  .audit-module-concern-grid,
  .portfolio-metric-grid,
  .audit-summary-grid
) {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}

/* Layout Lock v2 2026-06-16:
   Single terminal containment layer for the active application shell. This
   replaces the previous profile row blocker and normalizes major windows
   without changing handlers, IDs, records, or data services. */
:root {
  --lock-page-max: 1560px;
  --lock-gap: 12px;
  --lock-panel-pad: 14px;
  --lock-control-height: 34px;
  --lock-border: rgba(125, 133, 143, .24);
  --lock-panel-bg: rgba(17, 20, 24, .84);
}

body.logged-in #appShell {
  display: grid !important;
  grid-template-rows: var(--app-header-height, 58px) minmax(0, 1fr) !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}

body.logged-in main {
  height: calc(100dvh - var(--app-header-height, 58px)) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 14px clamp(14px, 1.7vw, 24px) !important;
  box-sizing: border-box !important;
}

body.logged-in .view:not(.active),
body.logged-in .view:not(.active) * {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.logged-in .view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: var(--lock-gap) !important;
  width: min(var(--lock-page-max), 100%) !important;
  max-width: min(var(--lock-page-max), 100%) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.logged-in .view.active > :where(.module-bar, .portal-return-bar) {
  display: flex !important;
  align-items: center !important;
  min-height: 36px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 6px 12px !important;
  overflow: hidden !important;
}

body.logged-in :where(.panel, .workbench, .response-module-shell, .operations-management-shell, .planning-workbench, .audit-dashboard-workbench, .calendar-shell, .asset-manager-shell, .list-panel, .detail-pane, .portal-management-window) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
}

body.logged-in :where(.panel, .list-panel, .detail-pane, .profile-entry-launcher, .operations-command-panel, .planning-command-panel, .planning-navigation-panel, .planning-library-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  align-content: start !important;
  padding: var(--lock-panel-pad) !important;
}

body.logged-in :where(.panel-title, .compact-title, .operations-command-heading, .dashboard-header-main) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body.logged-in :where(.panel-title h2, .compact-title h2, .operations-command-heading h2, .panel-title strong, .module-bar strong) {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .operations-command-actions, .dashboard-header-actions, .form-actions, .document-actions, .calendar-pdf-actions, .audit-module-menu, .planning-module-menu, .system-controls-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(136px, 100%), 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(.panel-actions button, .inline-actions button, .operations-command-actions button, .dashboard-header-actions button, .form-actions button, .document-actions button, .calendar-pdf-actions button, .audit-module-menu button, .planning-module-menu button, .system-controls-grid button, .button-link, .file-button) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: var(--lock-control-height) !important;
  padding: 7px 10px !important;
  line-height: 1.15 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in :where(.field-row, .form-grid, .field-grid, .operations-filter-grid, .planning-filter-grid, .document-filter-grid, .single-record-filter-grid, .action-time-grid, .asset-form-grid, .asset-inspection-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(172px, 100%), 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(label, .field-row > *, .form-grid > *, .field-grid > *, input, select, textarea) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(input, select, textarea) {
  width: 100% !important;
}

body.logged-in :where(.table-wrap, .operations-table-wrap, .portal-management-table, .document-list, .command-list, .audit-list, .card-list, .role-dashboard-list, .profile-evidence-list, .asset-registry-table, .asset-inspection-log-list, .asset-defect-workflow-list, .planning-document-list, .calendar-timeline, .exam-registry, .action-time-results) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #moduleHubView .post-login-launcher {
  width: min(1500px, 100%) !important;
  max-width: 100% !important;
  min-height: auto !important;
  margin-inline: auto !important;
}

body.logged-in #moduleHubView .main-module-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
  gap: clamp(14px, 1.8vw, 24px) !important;
  align-items: stretch !important;
}

body.logged-in #moduleHubView .main-module-card {
  min-height: clamp(190px, 30dvh, 330px) !important;
}

body.logged-in #operationsDailyView .response-module-shell,
body.logged-in #operationsDailyView .response-main,
body.logged-in #planningView .planning-workbench,
body.logged-in #auditDashboardView .audit-dashboard-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--lock-gap) !important;
  min-width: 0 !important;
  align-items: start !important;
}

body.logged-in #operationsDailyView .operations-command-actions {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.logged-in #operationsDailyView .operations-filter-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap {
  max-height: min(44dvh, 420px) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table {
  min-width: 820px !important;
}

body.logged-in #profileView .profile-entry-launcher.inline-entry-launcher {
  grid-template-columns: minmax(0, 1fr) minmax(260px, 420px) !important;
}

body.logged-in #profileView .profile-register-panel {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  min-height: 0 !important;
}

body.logged-in #profileView #personnelProfileList {
  display: block !important;
  align-content: start !important;
  gap: 10px !important;
  padding: 10px !important;
  min-height: 360px !important;
  max-height: min(60dvh, 640px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #profileView #personnelProfileList .document-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(92px, 118px) !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 112px !important;
  height: auto !important;
  padding: 12px !important;
  overflow: visible !important;
  border: 1px solid var(--lock-border) !important;
  border-radius: 10px !important;
  background: var(--lock-panel-bg) !important;
  margin: 0 0 10px !important;
}

body.logged-in #profileView #personnelProfileList .person-cell {
  display: grid !important;
  grid-template-columns: 38px minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #profileView #personnelProfileList .person-cell > div {
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #profileView #personnelProfileList strong,
body.logged-in #profileView #personnelProfileList small,
body.logged-in #profileView #personnelProfileList span:not(.badge) {
  display: block !important;
  line-height: 1.28 !important;
  white-space: normal !important;
  overflow: visible !important;
}

body.logged-in #profileView #personnelProfileList .badge {
  display: inline-flex !important;
  align-items: center !important;
  width: max-content !important;
  max-width: 100% !important;
  margin: 1px 3px 1px 0 !important;
  vertical-align: baseline !important;
}

body.logged-in #profileView #personnelProfileList :where(img, .person-photo, .avatar, .initial-avatar) {
  width: 38px !important;
  max-width: 38px !important;
  height: 38px !important;
  max-height: 38px !important;
  object-fit: cover !important;
}

body.logged-in #profileView #personnelProfileList .profile-qr-row {
  display: grid !important;
  grid-template-columns: 34px minmax(0, auto) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 8px !important;
  margin: 6px 0 !important;
  max-width: max-content !important;
}

body.logged-in #profileView #personnelProfileList .competency-qr {
  width: 34px !important;
  height: 34px !important;
}

body.logged-in #profileView #personnelProfileList .panel-actions {
  align-self: center !important;
  justify-self: end !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  width: 112px !important;
}

body.logged-in #auditDashboardView .audit-summary-grid,
body.logged-in #auditDashboardView .audit-module-concern-grid,
body.logged-in #auditDashboardView .portfolio-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)) !important;
}

body.logged-in #auditDashboardView .audit-module-menu {
  grid-template-columns: repeat(auto-fit, minmax(136px, 1fr)) !important;
}

body.logged-in #auditDashboardView .audit-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(292px, 100%), 1fr)) !important;
  align-items: start !important;
}

body.logged-in #auditDashboardView #auditModuleConcernList,
body.logged-in #auditDashboardView #auditDataHealthWarningList {
  display: grid !important;
  gap: 8px !important;
  min-height: 160px !important;
  max-height: min(34dvh, 360px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body.logged-in #planningView .planning-library-panel > .panel-title {
  grid-template-columns: minmax(0, 1fr) minmax(220px, 360px) !important;
}

body.logged-in #planningView #planningDocumentList {
  min-height: 260px !important;
  max-height: min(58dvh, 620px) !important;
}

body.logged-in #trainingCalendarView .calendar-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 340px) !important;
  gap: var(--lock-gap) !important;
}

body.logged-in #trainingCalendarView .calendar-grid {
  display: contents !important;
}

body.logged-in #trainingCalendarView .calendar-pdf-frame,
body.logged-in #trainingCalendarView .calendar-pdf-fallback {
  min-height: min(64dvh, 640px) !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden),
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) {
  position: fixed !important;
  z-index: 24000 !important;
  top: calc(var(--app-header-height, 58px) + 12px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  width: min(1280px, calc(100vw - 44px)) !important;
  max-width: calc(100vw - 44px) !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 28px) !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  padding: 16px !important;
  margin: 0 !important;
  background: rgba(17, 20, 24, .99) !important;
  border: 1px solid rgba(229, 57, 53, .5) !important;
  border-radius: 16px !important;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .48) !important;
  opacity: 1 !important;
  filter: none !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title,
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm, #actionTimeRetrievalPanel).profile-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -16px !important;
  z-index: 4 !important;
  margin: -16px -16px 4px !important;
  padding: 12px 16px !important;
  background: rgba(31, 37, 44, .99) !important;
  border-bottom: 1px solid rgba(245, 247, 250, .12) !important;
}

#dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"],
body.logged-in :where(#personProfileForm, #recordForm, #instructorForm, #examForm, #documentForm, #planningDocumentForm).profile-entry-popup:not(.hidden) > button.primary[type="submit"] {
  position: static !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
}

@media (max-width: 1180px) {
  body.logged-in #moduleHubView .main-module-grid,
  body.logged-in #operationsDailyView .operations-command-actions,
  body.logged-in #operationsDailyView .operations-filter-grid,
  body.logged-in #trainingCalendarView .calendar-shell,
  body.logged-in #planningView .planning-library-panel > .panel-title {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #profileView .profile-entry-launcher.inline-entry-launcher,
  body.logged-in #profileView #personnelProfileList .document-item {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #profileView #personnelProfileList .panel-actions {
    justify-self: stretch !important;
    width: 100% !important;
  }
}

/* True Tail Guard 2026-06-16:
   Keep this as the final rule. Hidden data-entry panels must never consume
   layout space after the shared panel grid rules. */
body.logged-in #dailyActivityForm.hidden,
body.logged-in #personProfileForm.hidden,
body.logged-in #recordForm.hidden,
body.logged-in #instructorForm.hidden,
body.logged-in #examForm.hidden,
body.logged-in #documentForm.hidden,
body.logged-in #planningDocumentForm.hidden,
body.logged-in #actionTimeRetrievalPanel.hidden,
body.logged-in .profile-entry-popup.hidden,
body.logged-in .daily-activity-entry-popup.hidden,
body.logged-in .exam-popup.hidden,
body.logged-in .popup-overlay.hidden,
body.logged-in .action-popup.hidden {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  inset: auto !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

body.logged-in #auditDashboardView .audit-navigation-panel,
body.logged-in #auditDashboardView .audit-migration-panel,
body.logged-in #auditDashboardView .data-health-warning-panel,
body.logged-in #auditDashboardView .action-time-launcher {
  height: auto !important;
  min-height: max-content !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Task Inbox Header Popup Lock 2026-06-17:
   The Role-Based Task Inbox is a header action, not a full module tile.
   This override keeps the five header controls in one predictable row. */
body.login-active #taskInboxHeaderBar {
  display: none !important;
}

body.logged-in .app-header {
  padding-right: calc((var(--contain-toolbar-button) * 4) + var(--contain-toolbar-dot) + (var(--contain-header-gap) * 6) + var(--contain-toolbar-right)) !important;
}

body.logged-in #taskInboxHeaderBar {
  position: fixed !important;
  top: 10px !important;
  right: calc(var(--contain-toolbar-right) + var(--contain-toolbar-button) + var(--contain-header-gap)) !important;
  z-index: 9100 !important;
  width: auto !important;
  height: var(--contain-toolbar-height) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
}

body.logged-in #managementSideDrawer {
  right: calc(var(--contain-toolbar-right) + (var(--contain-toolbar-button) * 2) + (var(--contain-header-gap) * 2)) !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return {
  right: calc(var(--contain-toolbar-right) + (var(--contain-toolbar-button) * 3) + (var(--contain-header-gap) * 3)) !important;
}

body.logged-in #siteContextBar {
  right: calc(var(--contain-toolbar-right) + (var(--contain-toolbar-button) * 3) + var(--contain-toolbar-dot) + (var(--contain-header-gap) * 4)) !important;
}

body.logged-in #taskInboxHeaderToggle.task-inbox-header-tab {
  pointer-events: auto !important;
  position: static !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: var(--contain-toolbar-button) !important;
  min-width: var(--contain-toolbar-button) !important;
  max-width: var(--contain-toolbar-button) !important;
  height: var(--contain-toolbar-height) !important;
  min-height: var(--contain-toolbar-height) !important;
  padding: 0 8px !important;
  margin: 0 !important;
  border-radius: 10px !important;
  border: 1px solid #39414b !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
  font-size: var(--type-small) !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.logged-in #taskInboxHeaderToggle.task-inbox-header-tab strong {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 18px !important;
  height: 18px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  border: 1px solid #e31b23 !important;
  color: #f5f7fa !important;
  background: rgba(227, 27, 35, .22) !important;
  font-size: var(--type-small) !important;
  line-height: 1 !important;
}

body.logged-in #taskInboxHeaderToggle.task-inbox-header-tab:hover,
body.logged-in #taskInboxHeaderToggle.task-inbox-header-tab[aria-expanded="true"] {
  border-color: #e31b23 !important;
  background: #252a31 !important;
}

body.logged-in #workQueuePopup.popup-overlay:not(.hidden) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px !important;
  z-index: 25000 !important;
  overflow: hidden !important;
}

body.logged-in #workQueuePopup .task-inbox-popup-card {
  display: grid !important;
  grid-template-rows: auto auto auto minmax(0, 1fr) !important;
  gap: 12px !important;
  width: min(920px, calc(100vw - 48px)) !important;
  max-height: min(78dvh, 720px) !important;
  padding: 16px !important;
  border-radius: 16px !important;
  border: 1px solid rgba(229, 57, 53, .45) !important;
  background: rgba(17, 20, 24, .98) !important;
  color: #f5f7fa !important;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .52) !important;
  overflow: hidden !important;
}

body.logged-in #workQueuePopup .task-inbox-popup-header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: start !important;
  gap: 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid rgba(245, 247, 250, .1) !important;
}

body.logged-in #workQueuePopup .task-inbox-popup-header h2,
body.logged-in #workQueuePopup .task-inbox-popup-header p {
  margin: 0 !important;
}

body.logged-in #workQueuePopup .task-inbox-popup-actions,
body.logged-in #workQueuePopup .task-inbox-filters {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
}

body.logged-in #workQueuePopup .task-inbox-popup-grid {
  display: grid !important;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr) !important;
  gap: 12px !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.logged-in #workQueuePopup .task-inbox-popup-grid > article {
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 12px !important;
  border: 1px solid #2b3036 !important;
  border-radius: 12px !important;
  background: rgba(23, 27, 32, .92) !important;
  overflow: hidden !important;
}

body.logged-in #workQueuePopup .role-dashboard-list,
body.logged-in #workQueuePopup .command-list {
  max-height: min(42dvh, 390px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

@media (max-width: 1050px) {
  body.logged-in #taskInboxHeaderBar {
    top: 54px !important;
  }

  body.logged-in #workQueuePopup .task-inbox-popup-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 760px) {
  body.logged-in #taskInboxHeaderBar {
    left: calc(10px + var(--contain-toolbar-button) + var(--contain-toolbar-dot) + var(--contain-toolbar-button) + 24px) !important;
    right: auto !important;
  }

  body.logged-in #workQueuePopup.popup-overlay:not(.hidden) {
    padding: 12px !important;
  }

body.logged-in #workQueuePopup .task-inbox-popup-card {
    width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - 24px) !important;
  }
}

/* Training Hub Layout Lock 2026-06-17:
   The Training Hub must read as one vertical workflow: launcher, register,
   extractor, table, and selected detail. This intentionally overrides older
   panel/grid rules that let the Selected Record Detail panel float over the
   Live Register at browser zoom changes. */
body.logged-in #dataEntryView.view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 12px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-bottom: 36px !important;
}

body.logged-in #dataEntryView > .workbench {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
  margin: 0 !important;
}

body.logged-in #dataEntryView .data-entry-stack {
  display: block !important;
}

body.logged-in #dataEntryView .data-review-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  position: static !important;
}

body.logged-in #dataEntryView .data-review-stack > .panel,
body.logged-in #dataEntryView .data-review-stack > .list-panel {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 0 !important;
  transform: none !important;
  z-index: auto !important;
}

body.logged-in #dataEntryView #trainingLiveRegisterPanel,
body.logged-in #dataEntryView #trainingRecordDetailPanel {
  contain: layout paint !important;
  isolation: isolate !important;
}

body.logged-in #dataEntryView #trainingLiveRegisterPanel {
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(260px, auto) !important;
  gap: 12px !important;
  align-content: start !important;
  overflow: hidden !important;
}

body.logged-in #dataEntryView #trainingRecordDetailPanel {
  display: grid !important;
  grid-template-rows: auto minmax(150px, auto) !important;
  gap: 12px !important;
  align-content: start !important;
  overflow: hidden !important;
}

body.logged-in #dataEntryView .profile-entry-launcher.inline-entry-launcher {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 56%) !important;
  align-items: center !important;
  gap: 12px !important;
}

body.logged-in #dataEntryView .profile-entry-launcher.inline-entry-launcher > .panel-title,
body.logged-in #dataEntryView .profile-entry-launcher.inline-entry-launcher > .registry-note {
  min-width: 0 !important;
}

body.logged-in #dataEntryView .profile-entry-launcher.inline-entry-launcher > button {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  width: 100% !important;
}

body.logged-in #dataEntryView .list-panel > .panel-title {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) minmax(260px, 420px) !important;
  align-items: center !important;
  gap: 12px !important;
}

body.logged-in #dataEntryView .filters {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(116px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

body.logged-in #dataEntryView .single-record-extractor {
  position: static !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  overflow: visible !important;
  transform: none !important;
  z-index: auto !important;
}

body.logged-in #dataEntryView .single-record-extractor .compact-title {
  display: grid !important;
  grid-template-columns: minmax(180px, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
}

body.logged-in #dataEntryView .single-record-filter-grid {
  display: grid !important;
  grid-template-columns: minmax(220px, 1.35fr) repeat(3, minmax(130px, .75fr)) !important;
  gap: 10px !important;
  align-items: end !important;
}

body.logged-in #dataEntryView .single-record-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.logged-in #dataEntryView .developer-tools.hidden {
  display: none !important;
}

body.logged-in #dataEntryView .developer-tools:not(.hidden) {
  display: grid !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in #dataEntryView .developer-tool-row,
body.logged-in #dataEntryView .developer-tool-row + .developer-tool-row {
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(120px, 150px)) !important;
  gap: 8px !important;
  align-items: end !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #dataEntryView .developer-tool-row label,
body.logged-in #dataEntryView .developer-tool-row button,
body.logged-in #dataEntryView .developer-tool-row select {
  min-width: 0 !important;
  width: 100% !important;
}

body.logged-in #dataEntryView .table-wrap {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 260px !important;
  max-height: min(38dvh, 380px) !important;
  overflow: auto !important;
  margin: 0 !important;
  transform: none !important;
  z-index: auto !important;
}

body.logged-in #dataEntryView .table-wrap table {
  width: 100% !important;
  min-width: 920px !important;
}

body.logged-in #dataEntryView #recordDetail.detail-pane {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  min-height: 150px !important;
  max-height: 34dvh !important;
  overflow: auto !important;
  margin: 0 !important;
  transform: none !important;
  z-index: auto !important;
}

@media (max-width: 980px) {
  body.logged-in #dataEntryView .profile-entry-launcher.inline-entry-launcher,
  body.logged-in #dataEntryView .list-panel > .panel-title,
  body.logged-in #dataEntryView .single-record-extractor .compact-title,
  body.logged-in #dataEntryView .single-record-filter-grid,
  body.logged-in #dataEntryView .single-record-actions,
  body.logged-in #dataEntryView .filters,
  body.logged-in #dataEntryView .developer-tool-row,
  body.logged-in #dataEntryView .developer-tool-row + .developer-tool-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #dataEntryView .profile-entry-launcher.inline-entry-launcher > button {
    grid-column: auto !important;
    grid-row: auto !important;
  }
}

/* System Layout Clean Guard 2026-06-17:
   One final containment contract for the screens that previously inherited
   competing layout generations. Panels stay in normal document flow. Only
   tables, long lists, PDF/map frames, and visible popups own scrolling. */
body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView
).view.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  align-content: start !important;
  gap: 14px !important;
  width: min(1560px, 100%) !important;
  max-width: min(1560px, 100%) !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView
) :where(
  .workbench,
  .panel,
  .list-panel,
  .detail-pane,
  .profile-register-panel,
  .training-live-register-panel,
  .training-record-detail-panel,
  .planning-workbench,
  .planning-command-panel,
  .planning-navigation-panel,
  .planning-library-panel,
  .audit-dashboard-workbench,
  .audit-command-panel,
  .audit-navigation-panel,
  .audit-migration-panel,
  .data-health-warning-panel,
  .action-time-launcher,
  .response-module-shell,
  .operations-management-shell,
  .operations-command-panel
) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.logged-in :where(#profileView, #dataEntryView, #planningView, #auditDashboardView)
  :where(.workbench, .data-review-stack, .planning-workbench, .audit-dashboard-workbench) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 14px !important;
  align-items: start !important;
  align-content: start !important;
  overflow: visible !important;
}

body.logged-in :where(#dataEntryView, #planningView, #auditDashboardView)
  :where(.panel-title, .compact-title) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(180px, auto) !important;
  align-items: center !important;
  gap: 10px !important;
  min-width: 0 !important;
}

body.logged-in :where(#dataEntryView, #planningView, #auditDashboardView)
  :where(.panel-title h2, .compact-title h2, .panel-title strong, .compact-title strong) {
  min-width: 0 !important;
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in #dataEntryView #trainingLiveRegisterPanel {
  display: grid !important;
  grid-template-rows: auto auto auto auto minmax(240px, auto) !important;
  gap: 12px !important;
  contain: none !important;
  isolation: isolate !important;
  overflow: visible !important;
}

body.logged-in #dataEntryView #trainingRecordDetailPanel {
  display: grid !important;
  grid-template-rows: auto minmax(150px, auto) !important;
  gap: 12px !important;
  contain: none !important;
  isolation: isolate !important;
  overflow: visible !important;
}

body.logged-in #dataEntryView :where(.single-record-extractor, .developer-tools, .developer-tool-row) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.logged-in #dataEntryView .developer-tools:not(.hidden) {
  display: grid !important;
  gap: 10px !important;
}

body.logged-in #dataEntryView .developer-tool-row {
  display: grid !important;
  grid-template-columns: minmax(240px, 1fr) repeat(3, minmax(120px, 160px)) !important;
  gap: 8px !important;
  align-items: end !important;
}

body.logged-in #dataEntryView .table-wrap,
body.logged-in #operationsDailyView .operations-table-wrap,
body.logged-in #profileView #personnelProfileList,
body.logged-in #planningView #planningDocumentList,
body.logged-in #auditDashboardView :where(.audit-list, .command-list, .action-time-results, #auditModuleConcernList, #auditDataHealthWarningList) {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #dataEntryView .table-wrap {
  min-height: 260px !important;
  max-height: min(44dvh, 460px) !important;
}

body.logged-in #dataEntryView #recordDetail.detail-pane {
  position: relative !important;
  display: block !important;
  min-height: 150px !important;
  max-height: min(36dvh, 380px) !important;
  overflow: auto !important;
}

body.logged-in #profileView .profile-register-panel {
  display: grid !important;
  grid-template-rows: auto auto minmax(360px, auto) !important;
  gap: 12px !important;
}

body.logged-in #profileView #personnelProfileList {
  max-height: min(62dvh, 700px) !important;
}

body.logged-in #profileView #personnelProfileList .document-item {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(96px, 126px) !important;
  gap: 12px !important;
  align-items: start !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

body.logged-in #planningView .planning-workbench,
body.logged-in #auditDashboardView .audit-dashboard-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 14px !important;
}

body.logged-in #auditDashboardView .audit-summary-grid,
body.logged-in #auditDashboardView .audit-module-concern-grid,
body.logged-in #auditDashboardView .portfolio-metric-grid,
body.logged-in #auditDashboardView .audit-navigation-panel .audit-module-menu {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)) !important;
  gap: 10px !important;
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

body.logged-in #auditDashboardView .audit-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)) !important;
  gap: 12px !important;
  align-items: start !important;
}

body.logged-in :where(
  #dailyActivityForm.hidden,
  #personProfileForm.hidden,
  #recordForm.hidden,
  #instructorForm.hidden,
  #examForm.hidden,
  #documentForm.hidden,
  #planningDocumentForm.hidden,
  #actionTimeRetrievalPanel.hidden,
  .profile-entry-popup.hidden,
  .daily-activity-entry-popup.hidden,
  .exam-popup.hidden,
  .popup-overlay.hidden,
  .action-popup.hidden
) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  inset: auto !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

@media (max-width: 1050px) {
  body.logged-in #dataEntryView .developer-tool-row,
  body.logged-in #dataEntryView .single-record-filter-grid,
  body.logged-in #dataEntryView .filters,
  body.logged-in #profileView #personnelProfileList .document-item {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Asset Manager Visual Lock 2026-06-18:
   Final asset styling pass. The active Asset Manager uses a dark grey command
   surface with readable panels and transparent-grey buttons. This neutralizes
   older light/white work-surface rules without changing handlers or data. */
body.logged-in #assetManagerView.view.active {
  width: min(1580px, 100%) !important;
  max-width: min(1580px, 100%) !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView .asset-manager-shell {
  display: grid !important;
  grid-template-columns: minmax(150px, 174px) minmax(0, 1fr) !important;
  gap: 0 !important;
  width: 100% !important;
  height: calc(100dvh - var(--app-header-height, 58px) - 92px) !important;
  min-height: 560px !important;
  max-height: none !important;
  margin: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(125, 133, 143, .34) !important;
  border-radius: 16px !important;
  background:
    radial-gradient(circle at 86% 16%, rgba(227, 27, 35, .12), transparent 32%),
    linear-gradient(135deg, rgba(7, 9, 11, .97), rgba(22, 27, 32, .96) 56%, rgba(42, 18, 22, .9)) !important;
  box-shadow: 0 28px 64px rgba(0, 0, 0, .36) !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar {
  display: grid !important;
  align-content: start !important;
  gap: 7px !important;
  padding: 10px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-right: 1px solid rgba(227, 27, 35, .42) !important;
  background: rgba(7, 9, 11, .88) !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar::before {
  content: "Asset Manager";
  display: block;
  margin: 0 0 4px;
  color: rgba(245, 247, 250, .78);
  font-size: var(--type-small);
  font-weight: 800;
  text-transform: uppercase;
}

body.logged-in #assetManagerView .asset-manager-sidebar button {
  width: 100% !important;
  min-height: 38px !important;
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
  justify-items: start !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 7px 9px !important;
  border: 1px solid rgba(125, 133, 143, .38) !important;
  border-radius: 9px !important;
  background: rgba(43, 48, 54, .46) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
  transform: none !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar button:hover,
body.logged-in #assetManagerView .asset-manager-sidebar button.active {
  border-color: rgba(227, 27, 35, .76) !important;
  background: rgba(63, 69, 77, .62) !important;
  color: #ffffff !important;
  box-shadow: inset 3px 0 0 rgba(227, 27, 35, .9) !important;
  transform: none !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar button span:last-child {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  font-size: var(--type-body) !important;
  line-height: 1.1 !important;
}

body.logged-in #assetManagerView .asset-nav-icon {
  width: 16px !important;
  height: 16px !important;
  transform: none !important;
}

body.logged-in #assetManagerView .asset-manager-main {
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 12px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    linear-gradient(180deg, rgba(17, 20, 24, .92), rgba(12, 15, 19, .94)),
    #111418 !important;
  box-shadow: none !important;
}

body.logged-in #assetManagerView .asset-manager-tab.active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 12px !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active,
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="mapType"].active {
  grid-template-rows: auto auto minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView :where(.compact-title, .panel-title) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  min-height: 56px !important;
  margin: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid rgba(125, 133, 143, .32) !important;
  border-left: 3px solid #e31b23 !important;
  border-radius: 12px !important;
  background: rgba(31, 37, 44, .72) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
}

body.logged-in #assetManagerView :where(.compact-title h2, .panel-title h2, .asset-map-title strong) {
  color: #f5f7fa !important;
}

body.logged-in #assetManagerView :where(.compact-title span, .panel-title span, .registry-note, .asset-map-title span) {
  color: rgba(245, 247, 250, .66) !important;
}

body.logged-in #assetManagerView :where(
  .asset-map-panel,
  .asset-tool-panel,
  .asset-inspection-form,
  .asset-inspection-log-panel,
  .asset-defect-workflow-panel,
  .asset-qr-record-card,
  .asset-map-type-status,
  .portal-management-table,
  .asset-lookup-card,
  .asset-workflow-steps article,
  .asset-qr-record-grid div,
  .asset-qr-record-notes
) {
  border: 1px solid rgba(125, 133, 143, .32) !important;
  outline: 0 !important;
  border-radius: 13px !important;
  background: rgba(17, 20, 24, .82) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
}

body.logged-in #assetManagerView .asset-map-panel {
  min-height: 0 !important;
  overflow: hidden !important;
  border-color: rgba(227, 27, 35, .36) !important;
}

body.logged-in #assetManagerView .asset-map-title {
  min-height: 38px !important;
  padding: 9px 12px !important;
  border-bottom: 1px solid rgba(227, 27, 35, .32) !important;
  background: rgba(17, 20, 24, .94) !important;
}

body.logged-in #assetManagerView .asset-map-board {
  min-height: 420px !important;
  height: 100% !important;
  border: 0 !important;
  background: rgba(7, 9, 11, .72) !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="mapType"].active .asset-map-board {
  min-height: 0 !important;
  height: auto !important;
}

body.logged-in #assetManagerView .asset-map-canvas {
  color: #f5f7fa !important;
}

body.logged-in #assetManagerView .asset-map-canvas.map-standard,
body.logged-in #assetManagerView .asset-map-canvas.map-satellite,
body.logged-in #assetManagerView .asset-map-canvas.map-hybrid,
body.logged-in #assetManagerView .asset-map-canvas.map-terrain {
  background:
    radial-gradient(circle at 24% 72%, rgba(125, 133, 143, .28), transparent 28%),
    radial-gradient(circle at 82% 24%, rgba(245, 247, 250, .18), transparent 20%),
    linear-gradient(90deg, rgba(18, 58, 62, .62), rgba(82, 78, 66, .5) 56%, rgba(42, 18, 22, .48)),
    #151a1f !important;
}

body.logged-in #assetManagerView .asset-map-canvas::after {
  opacity: .22 !important;
}

body.logged-in #assetManagerView :where(input, select, textarea) {
  border-color: rgba(125, 133, 143, .38) !important;
  background: rgba(7, 9, 11, .76) !important;
  color: #f5f7fa !important;
}

body.logged-in #assetManagerView label {
  color: rgba(245, 247, 250, .74) !important;
}

body.logged-in #assetManagerView .asset-map-command-strip,
body.logged-in #assetManagerView .asset-map-type-grid,
body.logged-in #assetManagerView :where(.panel-actions, .inline-actions, .form-actions, .asset-tool-input-row, .asset-utilization-row, .site-map-upload-row, .document-actions) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 8px !important;
  align-items: end !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in #assetManagerView .asset-map-type-grid {
  grid-template-columns: repeat(3, minmax(120px, 1fr)) !important;
}

body.logged-in #assetManagerView button:not(.danger-button):not(.asset-map-marker),
body.logged-in #assetManagerView .button-link,
body.logged-in #assetManagerView .file-button {
  min-height: 36px !important;
  border: 1px solid rgba(125, 133, 143, .42) !important;
  border-radius: 9px !important;
  background: rgba(43, 48, 54, .58) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
  transform: none !important;
}

body.logged-in #assetManagerView button:not(.danger-button):not(.asset-map-marker):hover,
body.logged-in #assetManagerView .button-link:hover,
body.logged-in #assetManagerView .file-button:hover {
  border-color: rgba(227, 27, 35, .72) !important;
  background: rgba(63, 69, 77, .7) !important;
  transform: none !important;
}

body.logged-in #assetManagerView button.active:not(.danger-button):not(.asset-map-marker),
body.logged-in #assetManagerView .asset-map-type-grid button.active,
body.logged-in #assetManagerView .asset-map-floating-toolbar button.active {
  border-color: rgba(227, 27, 35, .86) !important;
  background: rgba(80, 82, 88, .78) !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 rgba(227, 27, 35, .9) !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  border: 1px solid rgba(245, 247, 250, .16) !important;
  border-radius: 12px !important;
  background: rgba(43, 48, 54, .54) !important;
  backdrop-filter: none !important;
}

body.logged-in #assetManagerView .asset-map-status-legend span,
body.logged-in #assetManagerView .asset-map-type-badge,
body.logged-in #assetManagerView .asset-map-label {
  color: #f5f7fa !important;
  text-shadow: none !important;
}

body.logged-in #assetManagerView .portal-management-table table {
  background: transparent !important;
}

body.logged-in #assetManagerView .portal-management-table th {
  background: rgba(7, 9, 11, .92) !important;
  color: #f5f7fa !important;
}

body.logged-in #assetManagerView .portal-management-table td {
  color: rgba(245, 247, 250, .78) !important;
  border-color: rgba(125, 133, 143, .18) !important;
}

@media (max-width: 980px) {
  body.logged-in #assetManagerView .asset-manager-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.logged-in #assetManagerView .asset-manager-sidebar {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(227, 27, 35, .42) !important;
  }
}

/* Clean Registry Table Lock 2026-06-18:
   Daily Actions uses an EROMS-inspired register surface: one readable table,
   one scroll zone, real pagination, and no nested dark panel collision. */
body.logged-in #operationsDailyView #responseRegisterPanel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  gap: 8px !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 8px !important;
  border: 1px solid rgba(43, 48, 54, .72) !important;
  border-radius: 8px !important;
  background: rgba(221, 242, 246, .9) !important;
  color: #071016 !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel .panel-title {
  min-height: 40px !important;
  margin: 0 !important;
  padding: 0 2px !important;
  border: 0 !important;
  background: transparent !important;
  color: #071016 !important;
  box-shadow: none !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel .panel-title h2,
body.logged-in #operationsDailyView #responseRegisterPanel .register-count {
  color: #071016 !important;
}

body.logged-in #operationsDailyView .operations-table-wrap {
  min-height: 0 !important;
  max-height: min(58dvh, 590px) !important;
  overflow: auto !important;
  border: 1px solid rgba(0, 72, 88, .22) !important;
  border-radius: 6px 6px 0 0 !important;
  background: #ffffff !important;
  box-shadow: none !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table {
  width: 100% !important;
  min-width: 920px !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  color: #071016 !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th {
  position: sticky !important;
  top: 0 !important;
  z-index: 4 !important;
  padding: 11px 18px !important;
  border: 0 !important;
  background: #00576a !important;
  color: #f5f7fa !important;
  font-size: var(--type-body) !important;
  font-weight: 700 !important;
  text-align: left !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td {
  padding: 10px 18px !important;
  border: 0 !important;
  border-bottom: 1px solid #bfd2d8 !important;
  background: #ffffff !important;
  color: #071016 !important;
  font-size: var(--type-body) !important;
  line-height: 1.35 !important;
  vertical-align: middle !important;
}

body.logged-in #operationsDailyView .operations-table-wrap tr:nth-child(even) td {
  background: #eef8fa !important;
}

body.logged-in #operationsDailyView .operations-table-wrap tr:hover td {
  background: #dff2f6 !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td[colspan="4"] {
  padding: 8px 16px !important;
  background: #ffffff !important;
}

body.logged-in #operationsDailyView .operations-table-wrap .dashboard-empty-state {
  min-height: 112px !important;
  margin: 0 !important;
  border: 1px dashed rgba(0, 87, 106, .24) !important;
  border-radius: 8px !important;
  background: #f5fbfc !important;
  color: #071016 !important;
  box-shadow: none !important;
}

body.logged-in #operationsDailyView .operations-table-wrap .dashboard-empty-state::before {
  border-color: rgba(0, 87, 106, .18) !important;
  color: rgba(0, 87, 106, .28) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap .dashboard-empty-state strong {
  color: #071016 !important;
}

body.logged-in #operationsDailyView .operations-table-wrap .dashboard-empty-state small {
  color: #4e6570 !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td strong,
body.logged-in #operationsDailyView .operations-table-wrap td small {
  color: inherit !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td small {
  display: block !important;
  margin-top: 3px !important;
  color: #4e6570 !important;
  font-size: var(--type-small) !important;
  white-space: normal !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th:nth-child(1),
body.logged-in #operationsDailyView .operations-table-wrap td:nth-child(1) {
  width: 18% !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th:nth-child(2),
body.logged-in #operationsDailyView .operations-table-wrap td:nth-child(2) {
  width: 20% !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th:nth-child(4),
body.logged-in #operationsDailyView .operations-table-wrap td:nth-child(4) {
  width: 150px !important;
}

body.logged-in #operationsDailyView .daily-action-controls {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 5px !important;
}

body.logged-in #operationsDailyView .daily-action-controls button {
  min-height: 28px !important;
  padding: 4px 6px !important;
  border: 1px solid rgba(0, 87, 106, .28) !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: #00576a !important;
  box-shadow: none !important;
  font-size: var(--type-small) !important;
}

body.logged-in #operationsDailyView .daily-action-controls .danger-button {
  border-color: rgba(227, 27, 35, .32) !important;
  color: #e31b23 !important;
}

body.logged-in #operationsDailyView .registry-pagination {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  min-height: 44px !important;
  padding: 7px 10px !important;
  border: 1px solid rgba(0, 72, 88, .16) !important;
  border-top: 0 !important;
  border-radius: 0 0 6px 6px !important;
  background: #ffffff !important;
  color: #071016 !important;
}

body.logged-in #operationsDailyView .registry-pagination label,
body.logged-in #operationsDailyView .registry-pagination-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #071016 !important;
  font-size: var(--type-small) !important;
}

body.logged-in #operationsDailyView .registry-pagination select {
  width: 70px !important;
  min-height: 32px !important;
  border: 1px solid #9fb3ba !important;
  border-radius: 5px !important;
  background: #ffffff !important;
  color: #071016 !important;
}

body.logged-in #operationsDailyView .registry-pagination button {
  min-width: 44px !important;
  min-height: 32px !important;
  padding: 4px 8px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: #00576a !important;
  box-shadow: none !important;
}

body.logged-in #operationsDailyView .registry-pagination button:disabled {
  color: #9aa8ae !important;
  cursor: not-allowed !important;
}

@media (max-width: 820px) {
  body.logged-in #operationsDailyView .registry-pagination {
    align-items: stretch !important;
    flex-direction: column !important;
  }
}

/* Asset Dashboard Row Lock 2026-06-18:
   The dashboard has four real rows: title, filters, status cards, map.
   Older three-row rules made the map collide with the status cards. */
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto minmax(360px, 1fr) !important;
  grid-auto-rows: max-content !important;
  gap: 12px !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: auto !important;
  padding: 0 !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #assetManagerView .asset-dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(118px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView .asset-status-card {
  min-width: 0 !important;
  min-height: 82px !important;
  padding: 12px !important;
  border: 1px solid rgba(125, 133, 143, .34) !important;
  border-radius: 12px !important;
  background: rgba(31, 37, 44, .84) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
}

body.logged-in #assetManagerView .asset-status-card.green {
  border-color: rgba(42, 193, 101, .56) !important;
  background: rgba(28, 66, 48, .66) !important;
}

body.logged-in #assetManagerView .asset-status-card.amber {
  border-color: rgba(255, 180, 48, .62) !important;
  background: rgba(82, 64, 30, .66) !important;
}

body.logged-in #assetManagerView .asset-status-card.red {
  border-color: rgba(227, 27, 35, .7) !important;
  background: rgba(82, 30, 34, .68) !important;
}

body.logged-in #assetManagerView .asset-status-card span,
body.logged-in #assetManagerView .asset-status-card strong,
body.logged-in #assetManagerView .asset-status-card small {
  color: #f5f7fa !important;
}

body.logged-in #assetManagerView .asset-status-card strong {
  font-size: clamp(18px, 1.5vw, 26px) !important;
  line-height: 1 !important;
}

body.logged-in #assetManagerView .asset-status-card small {
  opacity: .7 !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active .asset-map-panel {
  min-height: 360px !important;
  height: auto !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active .asset-map-board {
  min-height: 360px !important;
  height: 100% !important;
}

@media (max-width: 1120px) {
  body.logged-in #assetManagerView .asset-dashboard-grid {
    grid-template-columns: repeat(3, minmax(130px, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  body.logged-in #assetManagerView .asset-dashboard-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Global Readability Layout Lock 2026-06-18:
   Final system pass for the active program screens. This neutralizes older
   fixed/absolute panel blockers and makes the page flow readable:
   section panels stay in document flow, only tables/lists/maps/popups own
   scrolling, and hidden forms cannot occupy space or cover content. */
body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView
).view.active {
  width: min(1500px, calc(100vw - 28px)) !important;
  max-width: none !important;
  min-height: auto !important;
  height: auto !important;
  margin: 0 auto 32px !important;
  padding: 12px 0 40px !important;
  overflow: visible !important;
}

body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView
) :where(.panel, .list-panel, .detail-pane, .dashboard-card, .dashboard-widget-card, .profile-entry-launcher, .operations-command-panel, .planning-command-panel, .planning-library-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher) {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: auto !important;
  transform: none !important;
  z-index: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView
) :where(.panel-title, .compact-title) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView
) :where(.table-wrap, .operations-table-wrap, .document-list, .command-list, .audit-list, .role-dashboard-list, .profile-evidence-list, .calendar-timeline, .exam-registry, .action-time-results, .profile-registry-scroll, .profile-list, .records-list) {
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in :where(
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView
) :where(.table-wrap, .document-list, .command-list, .audit-list, .profile-evidence-list, .calendar-timeline, .exam-registry, .action-time-results, .profile-registry-scroll, .profile-list, .records-list) {
  max-height: min(62dvh, 680px) !important;
}

body.logged-in :where(.profile-entry-popup.hidden, .daily-activity-entry-popup.hidden, .exam-popup.hidden, .popup-overlay.hidden, .action-popup.hidden) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
}

body.logged-in :where(#dailyActivityForm.daily-activity-entry-popup:not(.hidden), #personProfileForm.profile-entry-popup:not(.hidden), #recordForm.profile-entry-popup:not(.hidden), #instructorForm.profile-entry-popup:not(.hidden), #examForm.profile-entry-popup:not(.hidden), #documentForm.profile-entry-popup:not(.hidden), #planningDocumentForm.profile-entry-popup:not(.hidden), #actionTimeRetrievalPanel.profile-entry-popup:not(.hidden)) {
  position: fixed !important;
  z-index: 1300 !important;
  top: calc(var(--app-header-height, 58px) + 18px) !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  width: min(1120px, calc(100vw - 36px)) !important;
  max-width: min(1120px, calc(100vw - 36px)) !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 38px) !important;
  margin: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
  box-sizing: border-box !important;
}

body.logged-in :where(#dailyActivityForm.daily-activity-entry-popup:not(.hidden), #personProfileForm.profile-entry-popup:not(.hidden), #recordForm.profile-entry-popup:not(.hidden), #instructorForm.profile-entry-popup:not(.hidden), #examForm.profile-entry-popup:not(.hidden), #documentForm.profile-entry-popup:not(.hidden), #planningDocumentForm.profile-entry-popup:not(.hidden), #actionTimeRetrievalPanel.profile-entry-popup:not(.hidden)) > .panel-title {
  position: sticky !important;
  top: 0 !important;
  z-index: 2 !important;
  margin-bottom: 12px !important;
}

body.logged-in :where(.form-grid, .field-row, .filter-row, .operations-filter-grid, .planning-document-grid, .audit-module-concern-grid, .summary-grid, .asset-dashboard-grid) {
  min-width: 0 !important;
}

body.logged-in :where(input, select, textarea, button, .button-link, .file-button) {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 900px) {
  body.logged-in :where(
    #operationsDailyView,
    #profileView,
    #dataEntryView,
    #instructorView,
    #planningView,
    #auditDashboardView,
    #trainingCalendarView,
    #portfolioView,
    #examView,
    #competencyAssessmentView,
    #watchHierarchyView
  ).view.active {
    width: min(100%, calc(100vw - 16px)) !important;
    padding-inline: 0 !important;
  }
}

/* Final Module Shell Lock 2026-06-18:
   One authoritative containment layer for the active EROMS-inspired program
   screens. Older absolute/fixed/overflow rules are neutralized here so panels,
   buttons, tables, and popups stay in readable document flow. */
body.logged-in :where(
  #moduleHubView,
  #mainMenuView,
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #promotionView,
  #archiveView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView
).view.active {
  display: block !important;
  width: min(1560px, calc(100vw - 24px)) !important;
  max-width: none !important;
  min-height: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 10px 0 32px !important;
  overflow: visible !important;
  contain: none !important;
}

body.logged-in :where(
  #moduleHubView,
  #mainMenuView,
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #promotionView,
  #archiveView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView
) :where(.panel, .list-panel, .detail-pane, .dashboard-card, .dashboard-widget-card, .profile-entry-launcher, .operations-command-panel, .planning-command-panel, .planning-navigation-panel, .planning-library-panel, .audit-command-panel, .audit-navigation-panel, .audit-migration-panel, .data-health-warning-panel, .action-time-launcher, .response-main > section) {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: auto !important;
  display: block;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.logged-in :where(
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #promotionView,
  #archiveView,
  #portfolioView,
  #examView,
  #competencyAssessmentView
) :where(.module-bar, .portal-return-bar) {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 34px !important;
  margin: 0 0 14px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  overflow: visible !important;
}

body.logged-in .module-hub-return.dot-return {
  position: static !important;
  flex: 0 0 auto !important;
  width: 34px !important;
  height: 34px !important;
  min-width: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  transform: none !important;
}

body.logged-in #operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: clamp(160px, 15vw, 220px) minmax(0, 1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .response-module-sidebar {
  position: sticky !important;
  top: calc(var(--app-header-height, 58px) + 14px) !important;
  align-self: start !important;
  display: grid !important;
  grid-auto-rows: minmax(44px, auto) !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 220px !important;
  height: auto !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 32px) !important;
  padding: 0 !important;
  overflow: auto !important;
  border: 1px solid rgba(31, 184, 198, .32) !important;
  border-radius: 12px !important;
  background: rgba(3, 38, 43, .92) !important;
}

body.logged-in #operationsDailyView .response-sidebar-heading {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  background: linear-gradient(90deg, rgba(16, 176, 192, .98), rgba(8, 111, 122, .9)) !important;
  color: #f5f7fa !important;
  border: 0 !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button {
  display: grid !important;
  grid-template-columns: 24px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-content: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 44px !important;
  padding: 10px 12px !important;
  border: 0 !important;
  border-top: 1px solid rgba(245, 247, 250, .08) !important;
  border-radius: 0 !important;
  background: rgba(17, 20, 24, .68) !important;
  color: #f5f7fa !important;
  box-shadow: none !important;
  text-align: left !important;
  white-space: normal !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button.active,
body.logged-in #operationsDailyView .response-module-sidebar button:hover {
  background: rgba(16, 176, 192, .98) !important;
  color: #fff !important;
}

body.logged-in #operationsDailyView .response-main,
body.logged-in #operationsDailyView .operations-management-shell {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  align-content: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 12px !important;
  padding: 14px !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: start !important;
  min-width: 0 !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(130px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
}

body.logged-in :where(#operationsDailyView, #profileView, #dataEntryView, #instructorView, #planningView, #auditDashboardView, #trainingCalendarView, #promotionView, #archiveView, #portfolioView, #examView, #competencyAssessmentView) :where(.table-wrap, .operations-table-wrap, .document-list, .command-list, .audit-list, .role-dashboard-list, .profile-evidence-list, .calendar-timeline, .exam-registry, .action-time-results, .profile-registry-scroll, .profile-list, .records-list) {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in :where(#operationsDailyView, #profileView, #dataEntryView, #instructorView, #planningView, #auditDashboardView, #trainingCalendarView, #promotionView, #archiveView, #portfolioView, #examView, #competencyAssessmentView) :where(.table-wrap, .operations-table-wrap) table {
  width: 100% !important;
  min-width: 760px !important;
  table-layout: auto !important;
}

body.logged-in #moduleHubView .post-login-launcher {
  width: min(1540px, calc(100vw - 48px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
}

body.logged-in #moduleHubView .main-module-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
}

body.logged-in #moduleHubView .main-module-card {
  min-width: 0 !important;
  min-height: clamp(220px, 32vh, 360px) !important;
}

body.logged-in #planningView .planning-workbench,
body.logged-in #auditDashboardView .audit-dashboard-workbench {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  overflow: visible !important;
}

body.logged-in #planningView .planning-module-menu,
body.logged-in #auditDashboardView .audit-module-menu,
body.logged-in #mainMenuView .menu-panel {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  max-width: 100% !important;
}

body.logged-in #planningView .planning-module-menu .menu-button,
body.logged-in #auditDashboardView .audit-module-menu .menu-button,
body.logged-in #mainMenuView .menu-panel .menu-button {
  min-height: 44px !important;
  width: 100% !important;
  white-space: normal !important;
  text-align: center !important;
}

body.logged-in :where(#personProfileForm.profile-entry-popup:not(.hidden), #recordForm.profile-entry-popup:not(.hidden), #instructorForm.profile-entry-popup:not(.hidden), #dailyActivityForm.daily-activity-entry-popup:not(.hidden), #planningDocumentForm.profile-entry-popup:not(.hidden), #actionTimeRetrievalPanel.profile-entry-popup:not(.hidden)) {
  width: min(1180px, calc(100vw - 36px)) !important;
  max-width: min(1180px, calc(100vw - 36px)) !important;
  min-width: 0 !important;
  padding: 16px !important;
}

@media (max-width: 980px) {
  body.logged-in #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar {
    position: relative !important;
    top: auto !important;
    max-width: none !important;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
    grid-auto-rows: minmax(42px, auto) !important;
  }

  body.logged-in #operationsDailyView .response-sidebar-heading {
    grid-column: 1 / -1 !important;
  }

  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-heading,
  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions,
  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Post Login Presentation Lock 2026-06-18:
   Final presentation layer after the login window. The second screen and all
   major module windows use one predictable grid/flex layout, with no floating
   panels, no hidden overlap, and no unused oversized gaps. */
body.logged-in #appShell {
  display: grid !important;
  grid-template-rows: var(--app-header-height, 58px) minmax(0, 1fr) !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.logged-in main {
  display: block !important;
  min-height: 0 !important;
  height: calc(100dvh - var(--app-header-height, 58px)) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
  padding: 14px clamp(12px, 2vw, 28px) 28px !important;
}

body.logged-in .view:not(.active) {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.logged-in .view.active {
  box-sizing: border-box !important;
  max-width: none !important;
}

body.logged-in #moduleHubView.view.active {
  display: grid !important;
  place-items: stretch center !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100dvh - var(--app-header-height, 58px) - 28px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.logged-in #moduleHubView .post-login-launcher {
  display: grid !important;
  grid-template-rows: auto minmax(280px, 1fr) !important;
  gap: 22px !important;
  align-content: stretch !important;
  width: min(1680px, 100%) !important;
  max-width: none !important;
  min-height: min(760px, calc(100dvh - var(--app-header-height, 58px) - 48px)) !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: clamp(18px, 2.4vw, 34px) !important;
  border: 1px solid rgba(245, 247, 250, .14) !important;
  border-radius: 18px !important;
  background: linear-gradient(110deg, rgba(17, 20, 24, .90), rgba(17, 20, 24, .72)) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, .28) !important;
}

body.logged-in #moduleHubView .launcher-status-line {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid rgba(227, 27, 35, .68) !important;
}

body.logged-in #moduleHubView .launcher-status-line h2 {
  margin: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  line-height: 1.05 !important;
}

body.logged-in #moduleHubView .launcher-status-line p {
  margin: 4px 0 0 !important;
  max-width: 100% !important;
}

body.logged-in #moduleHubView .launcher-site-button {
  width: min(180px, 22vw) !important;
  min-width: 132px !important;
  min-height: 42px !important;
  margin: 0 !important;
  align-self: center !important;
}

body.logged-in #moduleHubView .main-module-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
  gap: clamp(14px, 1.8vw, 24px) !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 300px !important;
  align-items: stretch !important;
}

body.logged-in #moduleHubView .main-module-card {
  display: grid !important;
  grid-template-rows: auto auto minmax(40px, auto) !important;
  place-items: center !important;
  align-content: center !important;
  gap: 18px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(270px, 44vh, 520px) !important;
  height: 100% !important;
  margin: 0 !important;
  padding: clamp(18px, 2vw, 30px) !important;
  border-radius: 16px !important;
  overflow: hidden !important;
}

body.logged-in #moduleHubView .main-module-card strong,
body.logged-in #moduleHubView .main-module-card small {
  max-width: 100% !important;
  text-align: center !important;
  overflow-wrap: anywhere !important;
}

body.logged-in #moduleHubView .module-card-icon {
  display: grid !important;
  place-items: center !important;
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
}

body.logged-in :where(
  #mainMenuView,
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #promotionView,
  #archiveView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView,
  #assetManagerView,
  #portalOverviewView,
  #siteManagementView,
  #userManagementView,
  #roleManagementView
).view.active {
  width: min(1700px, 100%) !important;
  max-width: none !important;
  min-height: auto !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 0 0 24px !important;
  overflow: visible !important;
}

body.logged-in :where(.view.active > .module-bar, .view.active > .portal-return-bar) {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 0 14px !important;
  padding: 8px 12px !important;
  border-radius: 999px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.logged-in :where(
  #mainMenuView,
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #promotionView,
  #archiveView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView,
  #assetManagerView,
  #portalOverviewView,
  #siteManagementView,
  #userManagementView,
  #roleManagementView
) :where(.panel, .list-panel, .detail-pane, .workbench, .planning-workbench, .audit-dashboard-workbench, .asset-manager-shell, .response-module-shell, .calendar-shell, .portfolio-shell, .developer-window-shell, .hierarchy-window-panel) {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.panel-title, .compact-title, .operations-command-heading, .launcher-status-line) {
  min-width: 0 !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .operations-command-actions, .form-actions, .document-actions) {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}

body.logged-in :where(.panel-actions, .inline-actions, .operations-command-actions, .form-actions, .document-actions) > :where(button, .button-link, .file-button) {
  flex: 1 1 150px !important;
  min-width: 120px !important;
}

body.logged-in :where(.form-grid, .field-row, .filter-row, .operations-filter-grid, .planning-document-grid) {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in :where(.field-row) > :where(label, .full-field, fieldset) {
  min-width: 0 !important;
}

body.logged-in :where(input, select, textarea) {
  min-width: 0 !important;
  width: 100% !important;
}

@media (max-width: 1180px) {
  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.logged-in #moduleHubView .main-module-card {
    min-height: clamp(210px, 32vh, 340px) !important;
  }
}

@media (max-width: 720px) {
  body.logged-in main {
    padding: 10px 8px 24px !important;
  }

  body.logged-in #moduleHubView .post-login-launcher {
    padding: 16px !important;
  }

  body.logged-in #moduleHubView .launcher-status-line,
  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #moduleHubView .launcher-site-button {
    width: 100% !important;
  }
}

/* Dark Module Color Fit Lock 2026-06-18:
   Scoped final layer for every post-login window. It neutralizes light table
   leftovers, keeps sidebar labels horizontal, and makes major buttons/cards
   fit the dark JNE-FTS background without touching the login screen. */
body.logged-in {
  --post-bg: #07090b;
  --post-panel: rgba(17, 20, 24, .94);
  --post-panel-strong: rgba(25, 30, 36, .96);
  --post-panel-soft: rgba(31, 36, 43, .92);
  --post-border: rgba(166, 173, 184, .24);
  --post-border-red: rgba(227, 27, 35, .58);
  --post-text: #f5f7fa;
  --post-muted: #a6adb8;
  --post-table-head: #12181f;
  --post-table-row: rgba(17, 20, 24, .86);
  --post-table-row-alt: rgba(22, 27, 34, .88);
}

body.logged-in :where(
  #moduleHubView,
  #mainMenuView,
  #operationsDailyView,
  #profileView,
  #dataEntryView,
  #instructorView,
  #planningView,
  #auditDashboardView,
  #trainingCalendarView,
  #promotionView,
  #archiveView,
  #portfolioView,
  #examView,
  #competencyAssessmentView,
  #watchHierarchyView,
  #assetManagerView,
  #portalOverviewView,
  #siteManagementView,
  #userManagementView,
  #roleManagementView
) {
  color: var(--post-text) !important;
}

body.logged-in :where(
  .panel,
  .list-panel,
  .detail-pane,
  .workbench,
  .planning-workbench,
  .audit-dashboard-workbench,
  .asset-manager-shell,
  .response-module-shell,
  .calendar-shell,
  .portfolio-shell,
  .developer-window-shell,
  .hierarchy-window-panel,
  .portal-management-window,
  .post-login-launcher
) {
  background:
    linear-gradient(115deg, rgba(17, 20, 24, .96), rgba(17, 20, 24, .84)) !important;
  border-color: var(--post-border) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(
  .panel-title,
  .compact-title,
  .module-bar,
  .portal-return-bar,
  .operations-command-heading,
  .dashboard-header-main
) {
  background: rgba(17, 20, 24, .88) !important;
  border-color: var(--post-border) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(
  .registry-note,
  small,
  .muted,
  .helper-text,
  .dashboard-header-meta,
  .launcher-status-line p,
  .main-module-card small
) {
  color: var(--post-muted) !important;
}

body.logged-in :where(
  button,
  .button-link,
  .file-button,
  .menu-button,
  .main-module-card,
  .launcher-site-button
) {
  background: var(--post-panel-soft) !important;
  border: 1px solid var(--post-border) !important;
  color: var(--post-text) !important;
  box-shadow: none !important;
  text-transform: none !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: auto !important;
  line-height: 1.25 !important;
}

body.logged-in :where(
  button:hover,
  .button-link:hover,
  .file-button:hover,
  .menu-button:hover,
  .main-module-card:hover,
  .launcher-site-button:hover
) {
  background: rgba(37, 43, 51, .96) !important;
  border-color: var(--post-border-red) !important;
}

body.logged-in :where(
  button.active,
  .menu-button.active,
  .main-module-card.active,
  button.primary,
  .primary
) {
  background: rgba(31, 36, 43, .98) !important;
  border-color: var(--post-border-red) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(button:disabled, .disabled, [aria-disabled="true"]) {
  background: rgba(17, 20, 24, .62) !important;
  border-color: rgba(125, 133, 143, .24) !important;
  color: rgba(166, 173, 184, .58) !important;
  cursor: not-allowed !important;
}

body.logged-in :where(
  .response-module-sidebar,
  .asset-manager-sidebar,
  .planning-module-menu,
  .audit-module-menu
) {
  background: rgba(7, 9, 11, .86) !important;
  border: 1px solid var(--post-border) !important;
  border-radius: 14px !important;
  min-width: 190px !important;
  width: clamp(190px, 15vw, 240px) !important;
  max-width: 260px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

body.logged-in :where(
  .response-module-sidebar button,
  .asset-manager-sidebar button,
  .planning-module-menu .menu-button,
  .audit-module-menu .menu-button
) {
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: start !important;
  gap: 10px !important;
  min-height: 44px !important;
  width: 100% !important;
  padding: 10px 12px !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

body.logged-in #operationsDailyView .response-sidebar-heading,
body.logged-in #assetManagerView .asset-manager-sidebar > strong {
  display: block !important;
  padding: 8px 10px !important;
  color: var(--post-text) !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button span:not([aria-hidden="true"]),
body.logged-in #operationsDailyView .response-module-sidebar button,
body.logged-in #assetManagerView .asset-manager-sidebar button {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button {
  overflow: hidden !important;
}

body.logged-in #operationsDailyView .response-module-shell {
  grid-template-columns: minmax(190px, 240px) minmax(0, 1fr) !important;
  align-items: start !important;
}

body.logged-in :where(.table-wrap, .operations-table-wrap, .portal-management-table) {
  background: var(--post-panel) !important;
  border: 1px solid var(--post-border) !important;
  border-radius: 12px !important;
  overflow: auto !important;
  color: var(--post-text) !important;
}

body.logged-in :where(.table-wrap table, .operations-table-wrap table, .portal-management-table table) {
  width: 100% !important;
  min-width: 760px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: var(--post-panel) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(.table-wrap thead, .operations-table-wrap thead, .portal-management-table thead),
body.logged-in :where(.table-wrap th, .operations-table-wrap th, .portal-management-table th) {
  background: var(--post-table-head) !important;
  color: var(--post-text) !important;
  border-color: rgba(166, 173, 184, .18) !important;
}

body.logged-in :where(.table-wrap td, .operations-table-wrap td, .portal-management-table td) {
  background: var(--post-table-row) !important;
  color: #dce3ea !important;
  border-color: rgba(166, 173, 184, .13) !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in :where(.table-wrap tr:nth-child(even) td, .operations-table-wrap tr:nth-child(even) td, .portal-management-table tr:nth-child(even) td) {
  background: var(--post-table-row-alt) !important;
}

body.logged-in :where(.registry-pagination, .daily-activity-pagination) {
  background: rgba(17, 20, 24, .92) !important;
  border-color: var(--post-border) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(.empty-state, .table-empty, .no-records, .empty-row, .empty-message) {
  background: rgba(17, 20, 24, .72) !important;
  border-color: rgba(166, 173, 184, .22) !important;
  color: var(--post-muted) !important;
}

body.logged-in #responseRegisterPanel,
body.logged-in #responseRegisterPanel .table-wrap,
body.logged-in #responseRegisterPanel .registry-pagination {
  background: var(--post-panel) !important;
}

body.logged-in #moduleHubView .main-module-card {
  background: linear-gradient(145deg, rgba(31, 36, 43, .96), rgba(17, 20, 24, .94)) !important;
  color: var(--post-text) !important;
}

body.logged-in #moduleHubView .main-module-card strong {
  color: var(--post-text) !important;
  max-width: 100% !important;
  text-align: center !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  text-wrap: balance !important;
}

body.logged-in #moduleHubView .module-card-icon {
  background: rgba(7, 9, 11, .72) !important;
  border: 1px solid var(--post-border-red) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(input, select, textarea) {
  background: rgba(7, 9, 11, .92) !important;
  border-color: rgba(166, 173, 184, .28) !important;
  color: var(--post-text) !important;
}

body.logged-in :where(input::placeholder, textarea::placeholder) {
  color: rgba(166, 173, 184, .68) !important;
}

@media (max-width: 1180px) {
  body.logged-in #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Response Border and Text Fit Lock 2026-06-18:
   Highest-priority correction for the visible post-login Response/Daily
   Activity layout. The red command line is the module divider; sidebar text is
   never allowed to break letter-by-letter. */
body.logged-in #operationsDailyView .response-module-shell,
#appShell:not(.hidden) #operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: clamp(250px, 19vw, 310px) minmax(0, 1fr) !important;
  gap: 0 !important;
  width: min(1700px, 100%) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.logged-in #operationsDailyView .response-module-sidebar,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-content: start !important;
  gap: 0 !important;
  width: 100% !important;
  min-width: 250px !important;
  max-width: 310px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(166, 173, 184, .22) !important;
  border-right: 0 !important;
  border-radius: 10px 0 0 10px !important;
  background: rgba(7, 9, 11, .94) !important;
}

body.logged-in #operationsDailyView .response-main,
#appShell:not(.hidden) #operationsDailyView .response-main {
  min-width: 0 !important;
  width: 100% !important;
  padding-left: clamp(22px, 2.2vw, 34px) !important;
  border-left: clamp(12px, 1.1vw, 18px) solid #e31b23 !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView .response-sidebar-heading,
#appShell:not(.hidden) #operationsDailyView .response-sidebar-heading {
  min-height: 42px !important;
  padding: 10px 14px !important;
  display: flex !important;
  align-items: center !important;
  background: linear-gradient(90deg, rgba(227, 27, 35, .86), rgba(31, 36, 43, .98)) !important;
  color: #f5f7fa !important;
  border-bottom: 1px solid rgba(227, 27, 35, .42) !important;
  border-radius: 10px 0 0 0 !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: start !important;
  gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 54px !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(166, 173, 184, .16) !important;
  border-radius: 0 !important;
  background: rgba(17, 20, 24, .94) !important;
  color: #f5f7fa !important;
  text-align: left !important;
  overflow: hidden !important;
  writing-mode: horizontal-tb !important;
  transform: none !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button.active,
body.logged-in #operationsDailyView .response-module-sidebar button:hover,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button.active,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button:hover {
  background: linear-gradient(90deg, rgba(185, 21, 27, .88), rgba(37, 43, 51, .98)) !important;
  color: #ffffff !important;
  box-shadow: inset 4px 0 0 #e31b23 !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon),
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon) {
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: keep-all !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
  line-height: 1.22 !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel,
#appShell:not(.hidden) #operationsDailyView #responseRegisterPanel {
  background: rgba(17, 20, 24, .96) !important;
  border: 1px solid rgba(166, 173, 184, .24) !important;
  color: #f5f7fa !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel .panel-title,
#appShell:not(.hidden) #operationsDailyView #responseRegisterPanel .panel-title {
  background: transparent !important;
  color: #f5f7fa !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel .panel-title h2,
body.logged-in #operationsDailyView #responseRegisterPanel .register-count,
#appShell:not(.hidden) #operationsDailyView #responseRegisterPanel .panel-title h2,
#appShell:not(.hidden) #operationsDailyView #responseRegisterPanel .register-count {
  color: #f5f7fa !important;
}

body.logged-in #operationsDailyView .operations-table-wrap,
#appShell:not(.hidden) #operationsDailyView .operations-table-wrap {
  background: rgba(17, 20, 24, .96) !important;
  border: 1px solid rgba(166, 173, 184, .22) !important;
  border-radius: 10px !important;
}

body.logged-in #operationsDailyView .operations-table-wrap table,
#appShell:not(.hidden) #operationsDailyView .operations-table-wrap table {
  min-width: 760px !important;
  width: 100% !important;
  background: rgba(17, 20, 24, .96) !important;
  color: #f5f7fa !important;
}

body.logged-in #operationsDailyView .operations-table-wrap th,
#appShell:not(.hidden) #operationsDailyView .operations-table-wrap th {
  background: #101820 !important;
  color: #f5f7fa !important;
  border-bottom: 1px solid rgba(227, 27, 35, .45) !important;
}

body.logged-in #operationsDailyView .operations-table-wrap td,
#appShell:not(.hidden) #operationsDailyView .operations-table-wrap td {
  background: rgba(17, 20, 24, .88) !important;
  color: #dce3ea !important;
  border-bottom: 1px solid rgba(166, 173, 184, .14) !important;
}

body.logged-in #operationsDailyView .registry-pagination,
#appShell:not(.hidden) #operationsDailyView .registry-pagination {
  background: rgba(17, 20, 24, .94) !important;
  color: #f5f7fa !important;
  border-color: rgba(166, 173, 184, .18) !important;
}

@media (max-width: 980px) {
  body.logged-in #operationsDailyView .response-module-shell,
  #appShell:not(.hidden) #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView .response-main,
  #appShell:not(.hidden) #operationsDailyView .response-main {
    padding-left: 0 !important;
    padding-top: 18px !important;
    border-left: 0 !important;
    border-top: 10px solid #e31b23 !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar,
  #appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
    max-width: 100% !important;
    border-radius: 10px !important;
    border-right: 1px solid rgba(166, 173, 184, .22) !important;
  }
}

/* Response Sidebar Word Lock 2026-06-19:
   Final shared correction for the post-login Response rail. Earlier global
   span/table rules used overflow-wrap:anywhere, which made labels break into
   letter stacks. These rules keep labels readable and size buttons to text. */
body.logged-in #operationsDailyView .response-module-shell,
#appShell:not(.hidden) #operationsDailyView .response-module-shell {
  grid-template-columns: clamp(270px, 20vw, 330px) minmax(0, 1fr) !important;
}

body.logged-in #operationsDailyView .response-module-sidebar,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
  width: 100% !important;
  min-width: 270px !important;
  max-width: 330px !important;
  background: #07090b !important;
  border-color: rgba(227, 27, 35, .36) !important;
}

body.logged-in #operationsDailyView .response-sidebar-heading,
#appShell:not(.hidden) #operationsDailyView .response-sidebar-heading {
  min-height: 44px !important;
  background: linear-gradient(90deg, rgba(185, 21, 27, .98), rgba(47, 24, 28, .96)) !important;
  color: #f5f7fa !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  min-height: 48px !important;
  height: auto !important;
  padding: 11px 14px !important;
  background: #101418 !important;
  border-bottom: 1px solid rgba(166, 173, 184, .18) !important;
  color: #f5f7fa !important;
  text-align: left !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button.active,
body.logged-in #operationsDailyView .response-module-sidebar button:hover,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button.active,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button:hover {
  background: linear-gradient(90deg, rgba(145, 25, 32, .98), rgba(37, 43, 51, .98)) !important;
  border-color: rgba(227, 27, 35, .58) !important;
  box-shadow: inset 5px 0 0 #e31b23 !important;
}

body.logged-in #operationsDailyView .response-module-sidebar .response-nav-icon,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar .response-nav-icon {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon),
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon) {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  text-wrap: pretty !important;
  hyphens: none !important;
  line-height: 1.25 !important;
  text-align: left !important;
}

body.logged-in #operationsDailyView .response-window-panel,
#appShell:not(.hidden) #operationsDailyView .response-window-panel {
  background: rgba(17, 20, 24, .96) !important;
  border: 1px solid rgba(227, 27, 35, .34) !important;
  border-radius: 12px !important;
  color: #f5f7fa !important;
  padding: 16px !important;
}

body.logged-in #operationsDailyView .response-window-panel.hidden,
#appShell:not(.hidden) #operationsDailyView .response-window-panel.hidden {
  display: none !important;
}

body.logged-in #operationsDailyView .response-window-panel .panel-title,
#appShell:not(.hidden) #operationsDailyView .response-window-panel .panel-title {
  background: transparent !important;
  border: 0 !important;
  padding: 0 0 10px !important;
}

body.logged-in #operationsDailyView .response-window-panel .panel-actions,
#appShell:not(.hidden) #operationsDailyView .response-window-panel .panel-actions {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 12px !important;
}

body.logged-in #operationsDailyView .response-window-panel .panel-actions button,
#appShell:not(.hidden) #operationsDailyView .response-window-panel .panel-actions button {
  min-height: 40px !important;
  padding: 9px 14px !important;
  width: 100% !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel.hidden,
body.logged-in #operationsDailyView #dailyOperationsSummary.hidden,
body.logged-in #operationsDailyView #responseEvidencePanel.hidden,
body.logged-in #operationsDailyView [data-response-panel].hidden,
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel.hidden,
#appShell:not(.hidden) #operationsDailyView #dailyOperationsSummary.hidden,
#appShell:not(.hidden) #operationsDailyView #responseEvidencePanel.hidden,
#appShell:not(.hidden) #operationsDailyView [data-response-panel].hidden {
  display: none !important;
  visibility: hidden !important;
}

body.logged-in #operationsDailyView.response-window-patrolling #responseDashboardPanel,
body.logged-in #operationsDailyView.response-window-patrolling #dailyOperationsSummary,
body.logged-in #operationsDailyView.response-window-patrolling #responseEvidencePanel,
body.logged-in #operationsDailyView.response-window-equipment #responseDashboardPanel,
body.logged-in #operationsDailyView.response-window-equipment #dailyOperationsSummary,
body.logged-in #operationsDailyView.response-window-equipment #responseEvidencePanel,
body.logged-in #operationsDailyView.response-window-station #responseDashboardPanel,
body.logged-in #operationsDailyView.response-window-station #dailyOperationsSummary,
body.logged-in #operationsDailyView.response-window-station #responseEvidencePanel,
#appShell:not(.hidden) #operationsDailyView.response-window-patrolling #responseDashboardPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-patrolling #dailyOperationsSummary,
#appShell:not(.hidden) #operationsDailyView.response-window-patrolling #responseEvidencePanel,
#appShell:not(.hidden) #operationsDailyView.response-window-equipment #responseDashboardPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-equipment #dailyOperationsSummary,
#appShell:not(.hidden) #operationsDailyView.response-window-equipment #responseEvidencePanel,
#appShell:not(.hidden) #operationsDailyView.response-window-station #responseDashboardPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-station #dailyOperationsSummary,
#appShell:not(.hidden) #operationsDailyView.response-window-station #responseEvidencePanel {
  display: none !important;
}

body.logged-in #operationsDailyView.response-window-dashboard [data-response-panel],
#appShell:not(.hidden) #operationsDailyView.response-window-dashboard [data-response-panel] {
  display: none !important;
}

@media (max-width: 980px) {
  body.logged-in #operationsDailyView .response-module-shell,
  #appShell:not(.hidden) #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar,
  #appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

/* Root Response Layout Lock 2026-06-19:
   This is the final containment layer for Daily Activity / Response. Older
   page-specific rules above this point repeatedly forced dashboard panels and
   entry forms back into document flow. These rules keep selector tabs in the
   sidebar, keep selected content in the main panel only, and make the entry
   form a real modal instead of an in-flow blocker. */
body.logged-in #operationsDailyView,
#appShell:not(.hidden) #operationsDailyView {
  width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .response-module-shell,
#appShell:not(.hidden) #operationsDailyView .response-module-shell {
  display: grid !important;
  grid-template-columns: minmax(190px, 220px) minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 28px !important;
  width: min(100%, 1180px) !important;
  max-width: calc(100vw - 48px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .response-module-sidebar,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
  position: sticky !important;
  top: 84px !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  align-self: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  overflow: hidden !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button {
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 48px !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 10px 12px !important;
  border-radius: 0 !important;
  text-align: left !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon),
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: normal !important;
  line-height: 1.22 !important;
}

body.logged-in #operationsDailyView .response-main,
#appShell:not(.hidden) #operationsDailyView .response-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .response-main > :not(.hidden),
#appShell:not(.hidden) #operationsDailyView .response-main > :not(.hidden) {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel.hidden,
body.logged-in #operationsDailyView #dailyOperationsSummary.hidden,
body.logged-in #operationsDailyView #responseEvidencePanel.hidden,
body.logged-in #operationsDailyView [data-response-panel].hidden,
body.logged-in #dailyActivityForm.hidden,
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel.hidden,
#appShell:not(.hidden) #operationsDailyView #dailyOperationsSummary.hidden,
#appShell:not(.hidden) #operationsDailyView #responseEvidencePanel.hidden,
#appShell:not(.hidden) #operationsDailyView [data-response-panel].hidden,
#appShell:not(.hidden) #dailyActivityForm.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
}

body.logged-in #operationsDailyView.response-window-dashboard [data-response-panel],
#appShell:not(.hidden) #operationsDailyView.response-window-dashboard [data-response-panel] {
  display: none !important;
}

body.logged-in #operationsDailyView.response-window-patrolling :where(#responseDashboardPanel, #dailyOperationsSummary, #responseEvidencePanel),
body.logged-in #operationsDailyView.response-window-equipment :where(#responseDashboardPanel, #dailyOperationsSummary, #responseEvidencePanel),
body.logged-in #operationsDailyView.response-window-station :where(#responseDashboardPanel, #dailyOperationsSummary, #responseEvidencePanel),
#appShell:not(.hidden) #operationsDailyView.response-window-patrolling :where(#responseDashboardPanel, #dailyOperationsSummary, #responseEvidencePanel),
#appShell:not(.hidden) #operationsDailyView.response-window-equipment :where(#responseDashboardPanel, #dailyOperationsSummary, #responseEvidencePanel),
#appShell:not(.hidden) #operationsDailyView.response-window-station :where(#responseDashboardPanel, #dailyOperationsSummary, #responseEvidencePanel) {
  display: none !important;
}

body.logged-in #operationsDailyView.response-window-patrolling #responseIncidentPanel,
body.logged-in #operationsDailyView.response-window-equipment #responseExercisePanel,
body.logged-in #operationsDailyView.response-window-station #responseObjectivePanel,
#appShell:not(.hidden) #operationsDailyView.response-window-patrolling #responseIncidentPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-equipment #responseExercisePanel,
#appShell:not(.hidden) #operationsDailyView.response-window-station #responseObjectivePanel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden),
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
  position: fixed !important;
  inset: 72px auto auto 50% !important;
  transform: translateX(-50%) !important;
  z-index: 20000 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: min(1100px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  max-height: calc(100vh - 96px) !important;
  overflow: auto !important;
  padding: 18px !important;
  background: rgba(17, 20, 24, .98) !important;
  border: 1px solid rgba(227, 27, 35, .55) !important;
  border-radius: 14px !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .62) !important;
}

body.logged-in.modal-form-open::before {
  content: none !important;
  display: none !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -18px !important;
  z-index: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  background: rgba(17, 20, 24, .98) !important;
  border-bottom: 1px solid rgba(166, 173, 184, .18) !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
}

@media (max-width: 760px) {
  body.logged-in #operationsDailyView .response-module-shell,
  #appShell:not(.hidden) #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: calc(100vw - 24px) !important;
    gap: 16px !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar,
  #appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
    position: static !important;
  }
}

/* Root Asset Layout Lock 2026-06-19:
   Prevents the Asset Manager sidebar from overlapping the dashboard/map area.
   The shell owns two columns: tools on the left, active asset panel on the
   right. No child panel is allowed to slide under the sidebar. */
body.logged-in #assetManagerView.view.active,
#appShell:not(.hidden) #assetManagerView.view.active {
  width: min(100%, 1580px) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 auto !important;
  padding-inline: 0 !important;
  overflow: visible !important;
}

body.logged-in #assetManagerView .asset-manager-shell,
#appShell:not(.hidden) #assetManagerView .asset-manager-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 180px minmax(0, 1fr) !important;
  grid-template-areas: "assetnav assetmain" !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 14px 0 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar,
#appShell:not(.hidden) #assetManagerView .asset-manager-sidebar {
  grid-area: assetnav !important;
  position: relative !important;
  inset: auto !important;
  z-index: 1 !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  height: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  border-right: 6px solid rgba(227, 27, 35, .95) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}

body.logged-in #assetManagerView .asset-manager-main,
#appShell:not(.hidden) #assetManagerView .asset-manager-main {
  grid-area: assetmain !important;
  position: relative !important;
  z-index: 0 !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab,
#appShell:not(.hidden) #assetManagerView .asset-manager-tab {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in #assetManagerView .asset-manager-tab.active,
#appShell:not(.hidden) #assetManagerView .asset-manager-tab.active {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab.active > *,
#appShell:not(.hidden) #assetManagerView .asset-manager-tab.active > * {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar button,
#appShell:not(.hidden) #assetManagerView .asset-manager-sidebar button {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: 22px minmax(0, 1fr) !important;
}

body.logged-in #assetManagerView .asset-manager-sidebar button span:last-child,
#appShell:not(.hidden) #assetManagerView .asset-manager-sidebar button span:last-child {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

body.logged-in #assetManagerView :where(.asset-map-panel, .asset-map-board, .asset-dashboard-grid, .asset-map-command-strip, .panel-title, .compact-title),
#appShell:not(.hidden) #assetManagerView :where(.asset-map-panel, .asset-map-board, .asset-dashboard-grid, .asset-map-command-strip, .panel-title, .compact-title) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (max-width: 860px) {
  body.logged-in #assetManagerView .asset-manager-shell,
  #appShell:not(.hidden) #assetManagerView .asset-manager-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "assetnav"
      "assetmain" !important;
  }

  body.logged-in #assetManagerView .asset-manager-sidebar,
  #appShell:not(.hidden) #assetManagerView .asset-manager-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  }
}

/* Root Response Asset-Match Layout Lock 2026-06-19:
   Daily Activity / Response now uses the same stable containment pattern as
   Asset Manager: fixed readable left rail, red divider, and one protected
   right work area. This overrides older narrow/sidebar rules that clipped
   labels and squeezed the main panel. */
body.logged-in #operationsDailyView.view.active,
#appShell:not(.hidden) #operationsDailyView.view.active {
  width: min(100%, 1580px) !important;
  max-width: calc(100vw - 32px) !important;
  margin: 0 auto !important;
  padding-inline: 0 !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .response-module-shell,
#appShell:not(.hidden) #operationsDailyView .response-module-shell {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 250px minmax(0, 1fr) !important;
  grid-template-areas: "responsenav responsemain" !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 14px 0 0 !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView .response-module-sidebar,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
  grid-area: responsenav !important;
  position: relative !important;
  top: auto !important;
  inset: auto !important;
  z-index: 1 !important;
  width: 250px !important;
  min-width: 250px !important;
  max-width: 250px !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 10px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  border-right: 6px solid rgba(227, 27, 35, .95) !important;
  border-radius: 14px 0 0 14px !important;
  background: rgba(7, 9, 11, .78) !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView .response-sidebar-heading,
#appShell:not(.hidden) #operationsDailyView .response-sidebar-heading {
  width: 100% !important;
  min-height: 44px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  border-radius: 9px !important;
  background: rgba(139, 20, 28, .82) !important;
  color: var(--text-primary) !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button,
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 50px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr) !important;
  align-items: center !important;
  justify-items: stretch !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  border-radius: 9px !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
  line-height: 1.18 !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon),
#appShell:not(.hidden) #operationsDailyView .response-module-sidebar button span:not(.response-nav-icon) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  line-height: 1.18 !important;
}

body.logged-in #operationsDailyView .response-main,
#appShell:not(.hidden) #operationsDailyView .response-main,
body.logged-in #operationsDailyView .operations-management-shell,
#appShell:not(.hidden) #operationsDailyView .operations-management-shell {
  grid-area: responsemain !important;
  position: relative !important;
  z-index: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.logged-in #operationsDailyView .response-main > *,
#appShell:not(.hidden) #operationsDailyView .response-main > * {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel.operations-command-panel,
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel.operations-command-panel {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions,
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-command-actions {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid,
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-filter-grid {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: end !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid label,
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-filter-grid label {
  min-width: 0 !important;
}

body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid :where(input, select),
#appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-filter-grid :where(input, select) {
  width: 100% !important;
  min-width: 0 !important;
}

body.logged-in #operationsDailyView #responseRegisterPanel.hidden,
body.logged-in #operationsDailyView #responseDetailPanel.hidden,
#appShell:not(.hidden) #operationsDailyView #responseRegisterPanel.hidden,
#appShell:not(.hidden) #operationsDailyView #responseDetailPanel.hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

body.logged-in #operationsDailyView.response-window-dashboard #responseDashboardPanel,
body.logged-in #operationsDailyView.response-window-dashboard #responseRegisterPanel,
body.logged-in #operationsDailyView.response-window-dashboard #responseDetailPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-dashboard #responseDashboardPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-dashboard #responseRegisterPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-dashboard #responseDetailPanel {
  display: none !important;
}

body.logged-in #operationsDailyView.response-window-log #responseDashboardPanel,
body.logged-in #operationsDailyView.response-window-log #responseRegisterPanel,
body.logged-in #operationsDailyView.response-window-log #responseDetailPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-log #responseDashboardPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-log #responseRegisterPanel,
#appShell:not(.hidden) #operationsDailyView.response-window-log #responseDetailPanel {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

body.logged-in #operationsDailyView.response-window-log :where(#dailyOperationsSummary, #responseEvidencePanel, [data-response-panel]),
#appShell:not(.hidden) #operationsDailyView.response-window-log :where(#dailyOperationsSummary, #responseEvidencePanel, [data-response-panel]) {
  display: none !important;
}

@media (max-width: 1100px) {
  body.logged-in #operationsDailyView #responseDashboardPanel .operations-command-actions,
  #appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-command-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid,
  #appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 860px) {
  body.logged-in #operationsDailyView .response-module-shell,
  #appShell:not(.hidden) #operationsDailyView .response-module-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "responsenav"
      "responsemain" !important;
    row-gap: 14px !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  body.logged-in #operationsDailyView .response-module-sidebar,
  #appShell:not(.hidden) #operationsDailyView .response-module-sidebar {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    border-right: 0 !important;
    border-bottom: 6px solid rgba(227, 27, 35, .95) !important;
    border-radius: 14px 14px 0 0 !important;
  }

  body.logged-in #operationsDailyView #responseDashboardPanel .operations-filter-grid,
  #appShell:not(.hidden) #operationsDailyView #responseDashboardPanel .operations-filter-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Daily Activity modal containment final lock.
   This overrides older popup/page-layout rules that caused the entry form to
   blur, stretch behind side navigation, or show unreadable squeezed controls. */
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden),
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
  position: fixed !important;
  inset: calc(var(--app-header-height, 58px) + 14px) auto auto 50% !important;
  transform: translateX(-50%) !important;
  z-index: 22000 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  width: min(1160px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  max-height: calc(100dvh - var(--app-header-height, 58px) - 32px) !important;
  margin: 0 !important;
  padding: 16px !important;
  overflow: auto !important;
  overscroll-behavior: contain !important;
  scrollbar-gutter: stable !important;
  box-sizing: border-box !important;
  background: rgba(17, 20, 24, .99) !important;
  border: 1px solid rgba(227, 27, 35, .72) !important;
  border-radius: 16px !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .68) !important;
  color: var(--text, #f5f7fa) !important;
  filter: none !important;
  backdrop-filter: none !important;
  opacity: 1 !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden)::before,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden)::before {
  content: "" !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: rgba(7, 9, 11, .58) !important;
  backdrop-filter: none !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title {
  position: sticky !important;
  top: -16px !important;
  z-index: 3 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 12px !important;
  margin: -16px -16px 2px !important;
  padding: 14px 16px !important;
  background: rgba(17, 20, 24, .99) !important;
  border-bottom: 1px solid rgba(43, 48, 54, .98) !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title h2,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title h2 {
  margin: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .panel-actions,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .panel-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .field-row,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .field-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 12px !important;
  min-width: 0 !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) label,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) label {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) input,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) select,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) textarea,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) input,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) select,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) textarea {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > label,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .full-field,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) fieldset,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) details,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .evidence-attachment-row,
body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .daily-hours-note,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > label,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .full-field,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) fieldset,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) details,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .evidence-attachment-row,
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .daily-hours-note {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
}

body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"],
#appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"] {
  position: sticky !important;
  bottom: -16px !important;
  z-index: 3 !important;
  width: calc(100% + 32px) !important;
  margin: 4px -16px -16px !important;
  border-radius: 0 0 16px 16px !important;
}

@media (max-width: 900px) {
  body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden),
  #appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) {
    inset: calc(var(--app-header-height, 58px) + 10px) auto auto 50% !important;
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    max-height: calc(100dvh - var(--app-header-height, 58px) - 20px) !important;
    padding: 12px !important;
  }

  body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title,
  #appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > .panel-title {
    grid-template-columns: minmax(0, 1fr) !important;
    margin: -12px -12px 0 !important;
    padding: 12px !important;
  }

  body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .field-row,
  #appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) .field-row {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.logged-in #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"],
  #appShell:not(.hidden) #dailyActivityForm.daily-activity-entry-popup:not(.hidden) > button.primary[type="submit"] {
    bottom: -12px !important;
    width: calc(100% + 24px) !important;
    margin: 4px -12px -12px !important;
  }
}

/* System Layout Lock 2026-06-29:
   This is the authoritative post-login layout layer. It neutralizes older
   page-specific sizing/overflow rules that caused panels, buttons, rails,
   tables, and popups to overlap after repeated redesign passes. */
:root {
  --app-header-height: 58px;
  --layout-gap: 16px;
  --layout-radius: 14px;
  --layout-max: 1480px;
  --rail-width: 220px;
  --panel-bg: rgba(17, 20, 24, .94);
  --panel-border: rgba(75, 85, 99, .78);
  --panel-red-border: rgba(227, 27, 35, .68);
}

html,
body {
  min-width: 0 !important;
  overflow-x: hidden !important;
}

body.logged-in {
  min-height: 100dvh !important;
  overflow: hidden !important;
}

body.logged-in #appShell:not(.hidden) {
  min-height: 100dvh !important;
  display: grid !important;
  grid-template-rows: var(--app-header-height) minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in .app-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  min-height: var(--app-header-height) !important;
  height: var(--app-header-height) !important;
  display: grid !important;
  grid-template-columns: 156px minmax(220px, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 0 16px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in .app-header-logo {
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
}

body.logged-in .app-header-logo img {
  width: auto !important;
  max-width: 88px !important;
  height: 36px !important;
  object-fit: contain !important;
}

body.logged-in .header-title {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body.logged-in .header-title h1,
body.logged-in .header-title p,
body.logged-in .header-title small {
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.logged-in :where(.header-readiness-control, .header-actions, .top-actions) {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  flex-wrap: nowrap !important;
  overflow: visible !important;
}

body.logged-in :where(.header-readiness-control, .header-actions, .top-actions) > * {
  flex: 0 0 auto !important;
}

body.logged-in :where(.header-dot-return, #portalReturnButton, .dot-return) {
  width: 38px !important;
  min-width: 38px !important;
  height: 38px !important;
  min-height: 38px !important;
  max-width: 38px !important;
  padding: 0 !important;
  display: inline-grid !important;
  place-items: center !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: 2 !important;
}

body.logged-in :where(.menu-button, .summary-grid button, .panel-actions button, .operations-command-actions button, .module-card, .module-button, button, .btn) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
  line-height: 1.2 !important;
}

body.logged-in main,
body.logged-in .app-main,
body.logged-in #viewHost {
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: auto !important;
  overflow-x: hidden !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  scrollbar-gutter: stable !important;
}

body.logged-in .view {
  display: none !important;
}

body.logged-in .view.active {
  width: min(var(--layout-max), calc(100vw - 32px)) !important;
  max-width: min(var(--layout-max), calc(100vw - 32px)) !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--layout-gap) !important;
  align-content: start !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  contain: none !important;
  z-index: 0 !important;
}

body.logged-in .view.active > :where(.module-bar, .portal-return-bar) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 8px 14px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in .view.active > :where(
  .panel,
  .workbench,
  .planning-workbench,
  .audit-dashboard-workbench,
  .audit-dashboard-shell,
  .calendar-shell,
  .portfolio-shell,
  .developer-window-shell,
  .hierarchy-window-panel,
  .portal-management-window,
  .response-module-shell,
  .asset-manager-shell,
  .operations-management-shell,
  .list-panel,
  .detail-pane,
  .summary-grid,
  .module-grid
) {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 16px !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  z-index: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
  contain: none !important;
  background: var(--panel-bg) !important;
  border: 1px solid var(--panel-border) !important;
  border-radius: var(--layout-radius) !important;
}

body.logged-in :where(.response-module-shell, .asset-manager-shell) {
  display: grid !important;
  grid-template-columns: minmax(180px, var(--rail-width)) minmax(0, 1fr) !important;
  grid-template-areas: "rail content" !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

body.logged-in :where(.response-module-sidebar, .asset-manager-sidebar) {
  grid-area: rail !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 10px !important;
  position: sticky !important;
  top: 10px !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow: visible !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
  background: rgba(7, 9, 11, .94) !important;
  border: 1px solid var(--panel-border) !important;
  border-right: 6px solid rgba(227, 27, 35, .95) !important;
  border-radius: 14px !important;
}

body.logged-in :where(.response-main, .asset-manager-main, .operations-management-shell) {
  grid-area: content !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.response-module-sidebar, .asset-manager-sidebar) button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  min-height: 42px !important;
  height: auto !important;
  display: grid !important;
  grid-template-columns: 26px minmax(0, 1fr) !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 9px 10px !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
}

body.logged-in :where(.response-module-sidebar, .asset-manager-sidebar) button span:not(.response-nav-icon) {
  min-width: 0 !important;
  display: block !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

body.logged-in :where(.panel-title, .command-header, .section-header, .card-header) {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  overflow: visible !important;
}

body.logged-in :where(.field-row, .operations-filter-grid, .filter-grid, .asset-filter-row, .planning-input-grid) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)) !important;
  gap: 12px !important;
  align-items: end !important;
}

body.logged-in :where(.operations-command-actions, .panel-actions, .action-row, .button-row) {
  width: 100% !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

body.logged-in :where(input, select, textarea) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.table-wrap, .table-shell, .registry-table-wrap, .clean-table-wrap) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: auto !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in :where(table, .data-table, .clean-table) {
  width: 100% !important;
  min-width: 720px !important;
  table-layout: auto !important;
}

body.logged-in :where(.clean-table-empty, .empty-state) {
  min-height: 120px !important;
  display: grid !important;
  place-items: center !important;
  padding: 24px !important;
  text-align: center !important;
}

body.logged-in :where(.profile-registry-scroll, .document-list, .command-list, .calendar-pdf-frame, .profile-evidence-list, .exam-registry, .action-time-results, .site-registry-list, .audit-list-scroll) {
  max-height: min(58dvh, 640px) !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in :where(.asset-map-board, .portal-overview-map-board) {
  min-height: 420px !important;
  max-height: calc(100dvh - var(--app-header-height) - 150px) !important;
  overflow: hidden !important;
}

body.logged-in :where(.profile-card, .registry-item, .audit-card, .planning-card, .summary-card, .module-card, .metric-card) {
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  position: relative !important;
  inset: auto !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body.logged-in :where(
  .popup-overlay:not(.hidden),
  .modal-overlay:not(.hidden),
  .dialog-overlay:not(.hidden),
  .profile-entry-popup:not(.hidden),
  .exam-popup:not(.hidden)
) {
  position: fixed !important;
  inset: 0 !important;
  z-index: 21000 !important;
  display: grid !important;
  place-items: center !important;
  padding: 20px !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

body.logged-in :where(.modal, .dialog, .popup-card, .modal-card, .profile-entry-popup:not(.hidden) > *, .exam-popup:not(.hidden) > *) {
  width: min(1040px, calc(100vw - 48px)) !important;
  max-width: calc(100vw - 48px) !important;
  max-height: calc(100dvh - var(--app-header-height) - 48px) !important;
  overflow: auto !important;
  box-sizing: border-box !important;
}

@media (max-width: 1180px) {
  body.logged-in .app-header {
    grid-template-columns: 116px minmax(180px, 1fr) auto !important;
  }

  body.logged-in :where(.response-module-shell, .asset-manager-shell) {
    grid-template-columns: minmax(156px, 190px) minmax(0, 1fr) !important;
  }
}

@media (max-width: 900px) {
  body.logged-in #appShell:not(.hidden) {
    grid-template-rows: auto minmax(0, 1fr) !important;
  }

  body.logged-in .app-header {
    height: auto !important;
    min-height: var(--app-header-height) !important;
    grid-template-columns: 92px minmax(0, 1fr) !important;
    grid-template-areas:
      "logo title"
      "actions actions" !important;
    padding: 8px 12px !important;
  }

  body.logged-in .app-header-logo {
    grid-area: logo !important;
  }

  body.logged-in .header-title {
    grid-area: title !important;
  }

  body.logged-in :where(.header-readiness-control, .header-actions, .top-actions) {
    grid-area: actions !important;
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
  }

  body.logged-in main,
  body.logged-in .app-main,
  body.logged-in #viewHost {
    padding: 12px !important;
  }

  body.logged-in .view.active {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.logged-in :where(.response-module-shell, .asset-manager-shell) {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "rail"
      "content" !important;
  }

  body.logged-in :where(.response-module-sidebar, .asset-manager-sidebar) {
    position: relative !important;
    top: auto !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important;
    border-right: 0 !important;
    border-bottom: 6px solid rgba(227, 27, 35, .95) !important;
  }
}

/* FINAL Asset Map-First Workspace Lock 2026-07-01:
   Keep this at the file tail. It is the active layout contract for the Asset
   Manager map workspace and neutralizes older duplicate layout rules above. */
body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active {
  grid-template-rows: auto auto auto minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active .asset-dashboard-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(96px, 1fr)) !important;
  gap: 8px !important;
  min-height: 0 !important;
}

body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active .asset-status-card {
  min-height: 62px !important;
  padding: 8px 10px !important;
}

body.logged-in #assetManagerView .asset-map-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  min-height: 0 !important;
}

body.logged-in #assetManagerView .asset-map-first-workspace {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  gap: 12px !important;
  min-height: 0 !important;
  height: 100% !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-main-panel {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-safety-note {
  margin: 0 0 8px !important;
  padding: 8px 10px !important;
  border: 1px solid rgba(245, 247, 250, .12) !important;
  border-radius: 10px !important;
  background: rgba(7, 9, 11, .62) !important;
  color: rgba(245, 247, 250, .72) !important;
  font-size: var(--type-small) !important;
  line-height: 1.35 !important;
}

body.logged-in #assetManagerView .asset-map-board {
  min-height: 0 !important;
  height: 100% !important;
  max-height: none !important;
}

body.logged-in #assetManagerView .asset-map-canvas {
  height: 100% !important;
  min-height: 460px !important;
  overflow: hidden !important;
}

body.logged-in #assetManagerView .asset-map-selected-detail {
  min-width: 0 !important;
  min-height: 0 !important;
  height: 100% !important;
  overflow: auto !important;
  scrollbar-gutter: stable !important;
}

body.logged-in #assetManagerView .asset-map-selected-detail[hidden] {
  display: none !important;
}

body.logged-in #assetManagerView .asset-map-selected-detail .asset-map-detail-panel {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  border: 1px solid rgba(125, 133, 143, .34) !important;
  border-radius: 14px !important;
  background: rgba(17, 20, 24, .92) !important;
  box-shadow: none !important;
}

body.logged-in #assetManagerView .asset-map-floating-list {
  max-width: min(320px, 36%) !important;
  max-height: 46% !important;
  overflow: auto !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  max-width: min(560px, 70%) !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar button,
body.logged-in #assetManagerView .asset-map-floating-toolbar .button-link {
  min-height: 30px !important;
  padding: 6px 10px !important;
  font-size: var(--type-small) !important;
}

@media (max-width: 1180px) {
  body.logged-in #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active .asset-dashboard-grid {
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)) !important;
  }

  body.logged-in #assetManagerView .asset-map-first-workspace {
    grid-template-columns: minmax(0, 1fr) !important;
    overflow: auto !important;
  }

body.logged-in #assetManagerView .asset-map-selected-detail {
    height: auto !important;
    max-height: 420px !important;
  }
}

/* FINAL Asset EROMS-Style Editable Viewport 2026-07-01:
   Keeps the imported site map, labels, and asset pins together while zooming
   and panning, so marker records remain aligned with the visual map. */
body.logged-in #assetManagerView .asset-map-viewport-layer {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  transform: translate(var(--asset-map-pan-x, 0px), var(--asset-map-pan-y, 0px)) scale(var(--asset-map-zoom, 1)) !important;
  transform-origin: 0 0 !important;
  transition: transform .16s ease !important;
}

body.logged-in #assetManagerView .asset-map-viewport-layer .asset-map-stage,
body.logged-in #assetManagerView .asset-map-viewport-layer .asset-map-stage img,
body.logged-in #assetManagerView .asset-map-viewport-layer .embedded-live-site-map {
  width: 100% !important;
  height: 100% !important;
}

body.logged-in #assetManagerView .asset-map-viewport-layer .asset-map-stage img {
  object-fit: cover !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar {
  max-width: min(760px, calc(100% - 190px)) !important;
}

body.logged-in #assetManagerView .asset-map-floating-toolbar button[disabled] {
  opacity: .9 !important;
  color: #f5f7fa !important;
}

body.logged-in :where(#assetManagerView, #portalOverviewView) .map-window-status {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 6px 10px !important;
  border: 1px solid rgba(245, 247, 250, .18) !important;
  border-radius: 10px !important;
  background: rgba(7, 9, 11, .62) !important;
  color: rgba(245, 247, 250, .82) !important;
  font-size: var(--type-small) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
}

/* FINAL Overview Map and Header Containment Lock 2026-07-01:
   This terminal layer wins the cascade. It keeps the global header controls
   horizontal and gives the Site Dashboard map one clean, readable panel. */
body.logged-in .app-header {
  min-height: var(--app-header-height, 58px) !important;
  height: var(--app-header-height, 58px) !important;
  padding-right: 520px !important;
  overflow: visible !important;
}

body.logged-in :where(#siteContextBar, #managementSideDrawer, #taskInboxHeaderBar, #bottomControlsDrawer),
body.logged-in #globalModuleReturnButton.header-dot-return {
  position: fixed !important;
  top: 8px !important;
  bottom: auto !important;
  left: auto !important;
  height: 36px !important;
  min-height: 36px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 9400 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
  overflow: visible !important;
  pointer-events: none !important;
}

body.logged-in #bottomControlsDrawer { right: 16px !important; }
body.logged-in #taskInboxHeaderBar { right: 146px !important; }
body.logged-in #managementSideDrawer { right: 276px !important; }
body.logged-in #globalModuleReturnButton.header-dot-return { right: 406px !important; }
body.logged-in #siteContextBar { right: 458px !important; }

body.logged-in :where(.site-drawer-tab, .management-drawer-tab, .bottom-controls-tab, .task-inbox-header-tab),
body.logged-in #globalModuleReturnButton.header-dot-return {
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #39414b !important;
  border-radius: 10px !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
  font-size: var(--type-small) !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return {
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(3, 5px) !important;
  grid-auto-rows: 5px !important;
  gap: 4px !important;
}

body.logged-in #globalModuleReturnButton.header-dot-return span {
  width: 5px !important;
  height: 5px !important;
}

body.logged-in :where(#activeSiteDrawerPanel, #managementDrawerPanel, #bottomControlsPanel) {
  position: absolute !important;
  top: 44px !important;
  right: 0 !important;
  left: auto !important;
  width: min(360px, calc(100vw - 32px)) !important;
  max-width: min(360px, calc(100vw - 32px)) !important;
  border-radius: 14px !important;
  transform: none !important;
  z-index: 9500 !important;
}

body.logged-in #portalOverviewView.view.active {
  width: min(1480px, calc(100vw - 24px)) !important;
  max-width: min(1480px, calc(100vw - 24px)) !important;
  margin-inline: auto !important;
  overflow: visible !important;
}

body.logged-in #portalOverviewView.view.active > .portal-return-bar {
  position: static !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  min-height: 42px !important;
  margin: 0 0 10px !important;
  padding: 8px 12px !important;
  writing-mode: horizontal-tb !important;
  overflow: visible !important;
}

body.logged-in #portalOverviewView.view.active > .portal-return-bar .module-hub-return {
  display: none !important;
}

body.logged-in #portalOverviewView.view.active > .portal-return-bar :where(strong, button) {
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.logged-in #portalOverviewView .asset-map-empty {
  max-width: min(360px, 72%) !important;
  padding: 12px 16px !important;
  border-radius: 12px !important;
  background: rgba(7, 9, 11, .72) !important;
  color: rgba(245, 247, 250, .82) !important;
}

@media (max-width: 920px) {
  body.logged-in .app-header {
    height: auto !important;
    min-height: 92px !important;
    padding-right: 12px !important;
  }

  body.logged-in :where(#siteContextBar, #managementSideDrawer, #taskInboxHeaderBar, #bottomControlsDrawer),
  body.logged-in #globalModuleReturnButton.header-dot-return {
    position: relative !important;
    top: auto !important;
    right: auto !important;
  }

  body.logged-in #portalOverviewView .map-only-window {
    height: auto !important;
    min-height: 520px !important;
  }
}

/* GEO COMMAND MAP HARD LOCK 2026-07-11
   This supersedes old Asset Manager page/sidebar/card layout only while the
   live geospatial map dashboard is active. */
html.asset-command-map-active,
body.asset-command-map-active,
body.logged-in.asset-command-map-active {
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
}

body.logged-in.asset-command-map-active #appShell,
body.logged-in.asset-command-map-active #viewHost,
body.logged-in.asset-command-map-active .app-shell {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

body.logged-in.asset-command-map-active #assetManagerView.view.active.asset-dashboard-active {
  position: fixed !important;
  top: var(--app-header-height, 56px) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100vw !important;
  height: calc(100dvh - var(--app-header-height, 56px)) !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #07090b !important;
}

body.logged-in.asset-command-map-active #assetManagerView.view.active.asset-dashboard-active > :not(.asset-manager-shell),
body.logged-in.asset-command-map-active #assetManagerView.view.active.asset-dashboard-active > .module-return-bar,
body.logged-in.asset-command-map-active #assetManagerView .asset-panel-title,
body.logged-in.asset-command-map-active #assetManagerView .panel-title,
body.logged-in.asset-command-map-active #assetManagerView .asset-dashboard-grid,
body.logged-in.asset-command-map-active #assetManagerView .asset-safety-note,
body.logged-in.asset-command-map-active #assetManagerView .asset-map-title,
body.logged-in.asset-command-map-active #assetManagerView .asset-map-command-strip:not(.asset-live-controls .asset-map-command-strip) {
  display: none !important;
}

body.logged-in.asset-command-map-active #assetManagerView.view.active.asset-dashboard-active > .asset-manager-shell,
body.logged-in.asset-command-map-active #assetManagerView .asset-manager-content,
body.logged-in.asset-command-map-active #assetManagerView .asset-manager-main,
body.logged-in.asset-command-map-active #assetManagerView .asset-manager-tab[data-asset-panel="dashboard"].active,
body.logged-in.asset-command-map-active #assetManagerView .asset-map-panel,
body.logged-in.asset-command-map-active #assetManagerView .asset-map-first-workspace,
body.logged-in.asset-command-map-active #assetManagerView .asset-map-main-panel,
body.logged-in.asset-command-map-active #assetManagerView #assetMapBoard {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.logged-in.asset-command-map-active #assetManagerView .asset-manager-sidebar {
  display: none !important;
}

body.logged-in.asset-command-map-active #assetManagerView #assetMapBoard > .asset-map-canvas,
body.logged-in.asset-command-map-active #assetManagerView #assetMapBoard > .asset-maplibre-shell,
body.logged-in.asset-command-map-active #assetManagerView .asset-maplibre-map,
body.logged-in.asset-command-map-active #assetManagerView .maplibregl-map,
body.logged-in.asset-command-map-active #assetManagerView .maplibregl-canvas-container,
body.logged-in.asset-command-map-active #assetManagerView .maplibregl-canvas {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;
  overflow: hidden !important;
}

body.logged-in.asset-command-map-active #assetManagerView .asset-live-controls {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  width: min(420px, 92vw) !important;
  height: 100% !important;
  max-height: none !important;
  transform: translateX(-100%) !important;
  transition: transform .18s ease-in-out !important;
  z-index: 80 !important;
  overflow: hidden !important;
  border-radius: 0 14px 14px 0 !important;
  background: rgba(7, 9, 11, .96) !important;
  border: 1px solid rgba(245, 247, 250, .16) !important;
  border-left: 0 !important;
}

body.logged-in.asset-command-map-active #assetManagerView .asset-live-controls.open {
  transform: translateX(0) !important;
}

body.logged-in.asset-command-map-active #assetManagerView .asset-live-controls-toggle {
  position: absolute !important;
  top: 16px !important;
  left: 16px !important;
  z-index: 70 !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: 180px !important;
  height: 40px !important;
  padding: 0 14px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

body.logged-in.asset-command-map-active #assetManagerView.asset-controls-open #assetLiveMapControlsToggle,
body.logged-in.asset-command-map-active #assetManagerView .asset-live-controls.open + .asset-map-first-workspace ~ #assetLiveMapControlsToggle {
  display: none !important;
}

body.logged-in.asset-command-map-active #assetManagerView .geo-map-controls__body {
  height: calc(100% - 62px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding: 12px !important;
}

body.logged-in.asset-command-map-active #assetManagerView .asset-live-controls :where(button, select, input, label, .asset-live-controls-section, .asset-map-command-kpi, .asset-map-selected-detail, .asset-dashboard-grid, .asset-status-card) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* EOF Geo Command Map Surface Guard 2026-07-11.
   Prevents old local fallback/status panels from covering the live MapLibre map. */
body.logged-in.asset-command-map-active #assetManagerView .asset-map-dom-stage,
body.logged-in.asset-command-map-active #assetManagerView .asset-maplibre-shell::before,
body.logged-in.asset-command-map-active #assetManagerView .asset-maplibre-shell::after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
}

/* STABILIZATION FOUNDATION V1 - FINAL COMPATIBILITY GUARD
   Keeps the current legacy app usable while screens are migrated to src/ modules. */
html.stabilization-v1,
html.stabilization-v1 body {
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
}

html.stabilization-v1 body :where(
  .view,
  .module-page,
  .panel,
  .card,
  .section-card,
  .form-row,
  .input-row,
  .button-row,
  .toolbar,
  .table-shell,
  .data-table,
  .asset-manager-shell,
  .response-module-shell,
  .asset-live-map-shell,
  .asset-map-first-workspace
) {
  min-width: 0 !important;
}

html.stabilization-v1 body :where(
  button,
  .btn,
  .nav-item,
  .module-button,
  .window-button,
  .action-button,
  .portal-button,
  .asset-manager-sidebar button,
  .asset-live-controls button,
  .response-nav button,
  .top-actions button
) {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
  text-align: center !important;
}

html.stabilization-v1 body :where(
  .asset-manager-sidebar button,
  .response-nav button,
  .module-button,
  .window-button,
  .portal-button
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1.15 !important;
}

html.stabilization-v1 body :where(
  .helper-text,
  .muted,
  .file-name,
  .evidence-path,
  .record-id,
  .text-file-name,
  .text-url,
  .text-hash
) {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

html.stabilization-v1 body.asset-command-map-active,
html.stabilization-v1 body.asset-command-map-active #mainApp,
html.stabilization-v1 body.asset-command-map-active .app-shell,
html.stabilization-v1 body.asset-command-map-active .app-main {
  overflow: hidden !important;
}

html.stabilization-v1 body.asset-command-map-active #assetManagerView.view.active {
  overflow: hidden !important;
}

html.stabilization-v1 body.asset-command-map-active #assetManagerView :where(
  .asset-live-controls button,
  .asset-map-command-kpi,
  .asset-map-selected-detail,
  .asset-live-controls-section
) {
  overflow: hidden !important;
}

html.stabilization-v1 .maplibregl-ctrl button {
  min-width: 29px !important;
  width: 29px !important;
  min-height: 29px !important;
  height: 29px !important;
  padding: 0 !important;
  line-height: 29px !important;
}

/* Dashboard Five-Module + Header Logout Lock 2026-07-12:
   Final narrow override for the main launcher and top-right controls. It
   replaces older four-column dashboard rules and moves the visible far-right
   header action from Controls to Logout without removing the Controls popup. */
body.logged-in .app-header {
  padding-right: 650px !important;
}

body.logged-in :where(#siteContextBar, #managementSideDrawer, #taskInboxHeaderBar, #logoutHeaderBar),
body.logged-in #globalModuleReturnButton.header-dot-return {
  position: fixed !important;
  top: 8px !important;
  bottom: auto !important;
  left: auto !important;
  height: 36px !important;
  min-height: 36px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 9600 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  writing-mode: horizontal-tb !important;
  overflow: visible !important;
  pointer-events: none !important;
}

body.logged-in #logoutHeaderBar { right: 16px !important; }
body.logged-in #taskInboxHeaderBar { right: 146px !important; }
body.logged-in #managementSideDrawer { right: 276px !important; }
body.logged-in #globalModuleReturnButton.header-dot-return { right: 406px !important; }
body.logged-in #siteContextBar { right: 458px !important; }

body.logged-in #bottomControlsDrawer {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

body.logged-in :where(.site-drawer-tab, .management-drawer-tab, .task-inbox-header-tab, .header-logout-button),
body.logged-in #globalModuleReturnButton.header-dot-return {
  pointer-events: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: 120px !important;
  min-width: 120px !important;
  max-width: 120px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border: 1px solid #39414b !important;
  border-radius: 10px !important;
  background: #20242a !important;
  color: #f5f7fa !important;
  box-shadow: 0 8px 18px rgba(0, 0, 0, .18) !important;
  font-size: var(--type-small, 12px) !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-transform: uppercase !important;
  writing-mode: horizontal-tb !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  transform: none !important;
  cursor: pointer !important;
}

body.logged-in .header-logout-button {
  border-color: rgba(227, 27, 35, .85) !important;
  background: #1d242d !important;
}

body.logged-in .header-logout-button:hover,
body.logged-in .header-logout-button:focus-visible {
  background: #2a1114 !important;
  border-color: #ff2a32 !important;
  color: #ffffff !important;
  outline: 2px solid rgba(255, 42, 50, .45) !important;
  outline-offset: 2px !important;
}

body.logged-in #moduleHubView.view.active {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100dvh - var(--app-header-height, 58px) - 28px) !important;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

body.logged-in #moduleHubView .post-login-launcher {
  width: min(1840px, calc(100vw - 48px)) !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

body.logged-in #moduleHubView .main-module-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(160px, 1fr)) !important;
  gap: clamp(12px, 1.4vw, 22px) !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  align-items: stretch !important;
  overflow: visible !important;
}

body.logged-in #moduleHubView .main-module-card {
  position: relative !important;
  display: grid !important;
  grid-template-rows: auto auto auto !important;
  place-items: center !important;
  align-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: clamp(240px, 35vh, 410px) !important;
  height: auto !important;
  margin: 0 !important;
  overflow: hidden !important;
}

body.logged-in #moduleHubView .main-module-card strong,
body.logged-in #moduleHubView .main-module-card small {
  max-width: 92% !important;
  text-align: center !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
}

body.logged-in #moduleHubView .main-module-card small {
  line-height: 1.35 !important;
  font-size: var(--type-small, 12px) !important;
}

@media (max-width: 1280px) {
  body.logged-in .app-header {
    padding-right: 610px !important;
  }

  body.logged-in :where(.site-drawer-tab, .management-drawer-tab, .task-inbox-header-tab, .header-logout-button) {
    width: 112px !important;
    min-width: 112px !important;
    max-width: 112px !important;
    padding-inline: 8px !important;
  }

  body.logged-in #logoutHeaderBar { right: 12px !important; }
  body.logged-in #taskInboxHeaderBar { right: 132px !important; }
  body.logged-in #managementSideDrawer { right: 252px !important; }
  body.logged-in #globalModuleReturnButton.header-dot-return { right: 372px !important; }
  body.logged-in #siteContextBar { right: 422px !important; }

  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: repeat(3, minmax(200px, 1fr)) !important;
  }
}

@media (max-width: 980px) {
  body.logged-in .app-header {
    padding-right: 0 !important;
  }

  body.logged-in :where(#siteContextBar, #managementSideDrawer, #taskInboxHeaderBar, #logoutHeaderBar),
  body.logged-in #globalModuleReturnButton.header-dot-return {
    position: static !important;
    display: inline-flex !important;
    margin-left: 6px !important;
  }

  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: repeat(2, minmax(200px, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  body.logged-in #moduleHubView .main-module-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Final Hardening 2026-07-12:
   Operations Management gained the full selector set. Keep the selector rail
   readable and let only the rail body scroll when the viewport is short. */
body.logged-in #operationsDailyView .response-module-sidebar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: thin !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button {
  min-height: 42px !important;
  height: auto !important;
  padding: 9px 12px !important;
  gap: 10px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
  writing-mode: horizontal-tb !important;
  overflow: hidden !important;
}

body.logged-in #operationsDailyView .response-module-sidebar button span:last-child {
  min-width: 0 !important;
  white-space: normal !important;
  text-overflow: clip !important;
  overflow: visible !important;
}

body.logged-in #operationsDailyView .daily-activity-inline-status {
  display: block !important;
  min-height: 18px !important;
  margin-top: 8px !important;
  color: #a6adb8 !important;
}

body.logged-in #operationsDailyView .daily-activity-inline-status.status-ready {
  color: #4ade80 !important;
}

body.logged-in #operationsDailyView .daily-activity-inline-status.status-error {
  color: #ff6b72 !important;
}

/* Emergency Runtime Stabilization 2026-07-12:
   One session mode, one shell, one scroll owner. This block intentionally
   overrides older layout locks that allowed login/app classes and shell
   wrappers to fight each other after login or timeout. */
:root {
  --app-header-height: 58px;
}

html,
body {
  width: 100%;
  height: 100%;
  min-height: 100%;
}

body.login-active {
  overflow: hidden !important;
}

body.login-active.logged-in {
  overflow: hidden !important;
}

body.login-active #appShell,
body.login-active .app-shell {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

body.login-active #loginView {
  display: grid !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
}

body.logged-in {
  overflow: hidden !important;
}

body.logged-in.login-active {
  overflow: hidden !important;
}

body.logged-in #loginView {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  opacity: 0 !important;
}

body.logged-in #appShell.app-shell {
  position: fixed !important;
  inset: 0 !important;
  display: grid !important;
  grid-template-rows: var(--app-header-height) minmax(0, 1fr) !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  overflow: hidden !important;
  visibility: visible !important;
  pointer-events: auto !important;
  opacity: 1 !important;
  transform: none !important;
}

body.logged-in .app-header {
  position: relative !important;
  z-index: 1000 !important;
  height: var(--app-header-height) !important;
  min-height: var(--app-header-height) !important;
  max-height: var(--app-header-height) !important;
  overflow: hidden !important;
  transform: none !important;
}

body.logged-in #appShell > main {
  position: relative !important;
  grid-row: 2 !important;
  width: 100% !important;
  height: calc(100dvh - var(--app-header-height)) !important;
  min-height: 0 !important;
  overflow: auto !important;
  transform: none !important;
  contain: layout style !important;
}

body.logged-in #appShell > main > .view {
  display: none !important;
  position: relative !important;
  width: 100% !important;
  min-height: 100% !important;
  height: auto !important;
  overflow: visible !important;
  transform: none !important;
}

body.logged-in #appShell > main > .view.active {
  display: block !important;
}

body.logged-in #appShell > main > .view.active > :where(.module-bar, .portal-return-bar) {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: calc(100% - 32px) !important;
  margin: 16px auto 12px !important;
  transform: none !important;
}

body.logged-in :where(.popup-overlay, .action-popup, .exam-popup, .profile-entry-popup, .daily-activity-entry-popup) {
  z-index: 3000 !important;
}

body.logged-in :where(.panel, .workbench, .portal-management-window, .response-module-shell, .asset-manager-shell, .planning-dashboard, .audit-dashboard-shell, .dashboard-shell) {
  box-sizing: border-box !important;
  max-width: calc(100vw - 32px) !important;
}
