/* Home */
.page-home {
      --bg: #0b0f11;
      --panel: #0f1417;
      --panel-soft: #111719;
      --line: rgba(205, 242, 37, 0.14);
      --line-strong: rgba(205, 242, 37, 0.42);
      --text: #f2f4ee;
      --muted: #9da3a1;
      --lime: #d0f52c;
      --lime-soft: rgba(208, 245, 44, 0.18);
      --white-line: rgba(255, 255, 255, 0.08);
      font-family: "Arial Narrow", "Roboto Condensed", Arial, Helvetica, sans-serif;
      color: var(--text);
      background: var(--bg);
    }.page-home * {
      box-sizing: border-box;
    }body.page-home {
      min-height: 100vh;
      margin: 0;
      background:
        radial-gradient(circle at 74% 18%, rgba(208, 245, 44, 0.11), transparent 28%),
        radial-gradient(circle at 22% 74%, rgba(44, 163, 153, 0.07), transparent 34%),
        linear-gradient(180deg, #0c1113 0%, #070a0b 100%);
      color: var(--text);
    }body.page-home::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: 0.18;
      background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: linear-gradient(180deg, #000, transparent 72%);
    }.page-home a {
      color: inherit;
    }.page-home .page-shell {
      width: min(100% - 16px, 1680px);
      margin: 6px auto;
      border: 1px solid var(--white-line);
      background: rgba(8, 12, 13, 0.92);
      box-shadow: 0 24px 90px rgba(0, 0, 0, 0.34);
    }.page-home .site-header {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 16px clamp(22px, 5.4vw, 92px);
      border-bottom: 1px solid var(--white-line);
      background: rgba(11, 15, 17, 0.74);
      backdrop-filter: blur(18px);
    }.page-home .brand {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      text-decoration: none;
    }.page-home .brand-mark {
      width: 48px;
      height: 48px;
      display: block;
      object-fit: contain;
    }.page-home .brand-text {
      display: grid;
      gap: 2px;
      min-width: 0;
    }.page-home .brand-name {
      font-size: clamp(1.05rem, 1.7vw, 1.45rem);
      letter-spacing: 0.18em;
      line-height: 1;
      text-transform: uppercase;
    }.page-home .brand-subtitle {
      color: var(--muted);
      font-size: 0.72rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }.page-home .main-nav {
      min-width: min(42vw, 620px);
      min-height: 42px;
    }.page-home .hero {
      position: relative;
      min-height: 310px;
      display: grid;
      grid-template-columns: minmax(300px, 0.86fr) minmax(420px, 1.14fr);
      overflow: hidden;
      border-bottom: 1px solid var(--white-line);
      background:
        radial-gradient(circle at 84% 22%, rgba(208, 245, 44, 0.12), transparent 30%),
        linear-gradient(90deg, rgba(11, 15, 17, 0.98), rgba(11, 15, 17, 0.86) 48%, rgba(11, 15, 17, 0.62));
    }.page-home .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      opacity: 0.36;
      background:
        linear-gradient(90deg, transparent 0 49.8%, rgba(208, 245, 44, 0.07) 50%, transparent 50.2%),
        linear-gradient(0deg, transparent 0 49.8%, rgba(208, 245, 44, 0.05) 50%, transparent 50.2%);
      background-size: 68px 68px;
      mask-image: linear-gradient(90deg, transparent, #000 42%, #000);
    }.page-home .hero-copy {
      position: relative;
      z-index: 2;
      padding: clamp(38px, 5vw, 52px) 24px clamp(36px, 5vw, 48px) clamp(28px, 5.4vw, 92px);
    }.page-home h1 {
      max-width: 720px;
      margin: 0;
      color: var(--lime);
      font-family: Consolas, "Courier New", monospace;
      font-size: clamp(2.25rem, 4.5vw, 3.85rem);
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      text-shadow: 0 0 22px rgba(208, 245, 44, 0.24);
    }.page-home .hero-text {
      max-width: 580px;
      margin: 16px 0 0;
      color: rgba(242, 244, 238, 0.86);
      font-size: clamp(1rem, 1.35vw, 1.18rem);
      line-height: 1.55;
    }.page-home .visual-field {
      position: relative;
      min-height: 310px;
      isolation: isolate;
    }.page-home .visual-field::before,
.page-home .visual-field::after {
      content: "";
      position: absolute;
      border: 1px solid var(--line-strong);
      border-radius: 50%;
      opacity: 0.72;
    }.page-home .visual-field::before {
      width: 340px;
      height: 340px;
      top: 18px;
      right: -92px;
    }.page-home .visual-field::after {
      width: 410px;
      height: 410px;
      top: -12px;
      right: -132px;
      border-style: dashed;
      opacity: 0.36;
    }.page-home .network {
      position: absolute;
      inset: 0;
      z-index: 2;
      color: var(--lime);
      opacity: 0.76;
    }.page-home .network svg {
      width: 100%;
      height: 100%;
      display: block;
    }.page-home .network line,
.page-home .network polyline {
      stroke: currentColor;
      stroke-width: 1.1;
      stroke-opacity: 0.52;
      fill: none;
    }.page-home .network .dim {
      stroke-opacity: 0.22;
      stroke-dasharray: 3 5;
    }.page-home .network circle {
      fill: currentColor;
      opacity: 0.88;
    }.page-home .crosshair {
      position: absolute;
      width: 16px;
      height: 16px;
      color: var(--lime);
      opacity: 0.72;
    }.page-home .crosshair::before,
.page-home .crosshair::after {
      content: "";
      position: absolute;
      background: currentColor;
    }.page-home .crosshair::before {
      left: 7px;
      top: 2px;
      width: 1px;
      height: 12px;
    }.page-home .crosshair::after {
      left: 2px;
      top: 7px;
      width: 12px;
      height: 1px;
    }.page-home .crosshair.one {
      top: 114px;
      left: 22%;
    }.page-home .crosshair.two {
      top: 84px;
      left: 50%;
    }.page-home .crosshair.three {
      top: 202px;
      right: 18%;
    }.page-home .content-zone {
      min-height: 318px;
      display: grid;
      place-items: center;
      padding: 20px clamp(22px, 5.4vw, 92px);
      border-bottom: 1px solid var(--white-line);
      background:
        radial-gradient(circle at 50% 46%, rgba(208, 245, 44, 0.05), transparent 26%),
        var(--panel);
    }.page-home .reserved {
      width: 100%;
      min-height: 280px;
      display: grid;
      place-items: center;
      border: 1px dashed rgba(255, 255, 255, 0.14);
      border-radius: 6px;
      color: var(--muted);
      text-align: center;
    }.page-home .site-footer {
      background: rgba(9, 13, 14, 0.98);
    }.page-home .footer-inner {
      display: grid;
      grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(170px, 0.8fr));
      gap: clamp(24px, 5vw, 76px);
      padding: 28px clamp(22px, 5.4vw, 92px) 34px;
    }.page-home .footer-brand {
      display: grid;
      align-content: start;
      gap: 18px;
    }.page-home .footer-logo {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      color: var(--text);
      font-size: clamp(1.3rem, 2vw, 1.8rem);
      letter-spacing: 0.16em;
      text-transform: uppercase;
    }.page-home .footer-logo img {
      width: 52px;
      height: 52px;
      flex: 0 0 auto;
      object-fit: contain;
    }.page-home .copyright {
      color: var(--muted);
      margin: 0;
      line-height: 1.55;
    }.page-home .footer-block {
      color: var(--muted);
      font-size: 0.94rem;
      line-height: 1.72;
    }.page-home .footer-block h2 {
      margin: 0 0 12px;
      color: var(--lime);
      font-family: Consolas, "Courier New", monospace;
      font-size: 0.92rem;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }.page-home .footer-block p {
      margin: 0;
    }.page-home .footer-block a {
      color: var(--muted);
      text-decoration: none;
    }.page-home .footer-block a:hover,
.page-home .footer-block a:focus-visible {
      color: var(--lime);
      outline: none;
    }.page-home .login-link {
      color: inherit;
      text-decoration: none;
    }

    @media (max-width: 920px) {
.page-home .page-shell {
        width: 100%;
        margin: 0;
        border-left: 0;
        border-right: 0;
      }.page-home .site-header {
        min-height: 70px;
      }.page-home .main-nav {
        min-width: 64px;
      }.page-home .hero {
        min-height: auto;
        grid-template-columns: 1fr;
      }.page-home .hero-copy {
        padding-right: clamp(22px, 5.4vw, 92px);
      }.page-home .visual-field {
        min-height: 260px;
      }.page-home .footer-inner {
        grid-template-columns: 1fr 1fr;
      }
}

    @media (max-width: 620px) {
.page-home .brand-subtitle,
.page-home .main-nav {
        display: none;
      }.page-home .footer-inner {
        grid-template-columns: 1fr;
      }
}

/* Login */
.page-login {
      color-scheme: light dark;
      font-family: Arial, Helvetica, sans-serif;
    }.page-login * {
      box-sizing: border-box;
    }body.page-login {
      min-height: 100vh;
      margin: 0;
      display: grid;
      place-items: center;
      background: Canvas;
      color: CanvasText;
    }.page-login .login-panel {
      width: min(100% - 32px, 380px);
      padding: 28px;
      border: 1px solid color-mix(in srgb, CanvasText 18%, transparent);
      border-radius: 8px;
      background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
    }.page-login h1 {
      margin: 0 0 22px;
      font-size: 1.5rem;
      font-weight: 700;
      letter-spacing: 0;
    }.page-login label {
      display: block;
      margin-bottom: 8px;
      font-size: 0.92rem;
      font-weight: 700;
    }.page-login input {
      width: 100%;
      min-height: 44px;
      margin-bottom: 16px;
      padding: 10px 12px;
      border: 1px solid color-mix(in srgb, CanvasText 28%, transparent);
      border-radius: 6px;
      background: Canvas;
      color: CanvasText;
      font: inherit;
    }.page-login input:focus {
      border-color: CanvasText;
      outline: 2px solid color-mix(in srgb, CanvasText 22%, transparent);
      outline-offset: 2px;
    }.page-login button {
      width: 100%;
      min-height: 44px;
      border: 0;
      border-radius: 6px;
      background: CanvasText;
      color: Canvas;
      cursor: pointer;
      font: inherit;
      font-weight: 700;
    }.page-login button:hover,
.page-login button:focus-visible {
      opacity: 0.82;
      outline: none;
    }.page-login .error {
      margin: 0 0 16px;
      padding: 10px 12px;
      border-radius: 6px;
      background: #7f1d1d;
      color: #fff;
      font-size: 0.92rem;
    }

/* Dashboard */
.page-dashboard {
      color-scheme: dark;
      font-family: Arial, Helvetica, sans-serif;
      --admin-bg: #111;
      --admin-panel: #202020;
      --admin-line: #363636;
      --admin-line-strong: #4a4a4a;
      --admin-text: #f8fafc;
      --admin-muted: #cbd5e1;
      --admin-green: #16803a;
    }.page-dashboard * {
      box-sizing: border-box;
    }body.page-dashboard {
      min-height: 100vh;
      margin: 0;
      background: var(--admin-bg);
      color: var(--admin-text);
    }.page-dashboard header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      min-height: 50px;
      padding: 0 16px;
      border-bottom: 1px solid var(--admin-line);
      background: #121212;
    }.page-dashboard h1 {
      margin: 0;
      font-size: 1.12rem;
      letter-spacing: 0;
    }.page-dashboard a {
      color: inherit;
    }.page-dashboard main {
      width: calc(100% - 20px);
      margin: 28px 10px;
    }.page-dashboard .toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 12px;
      color: var(--admin-muted);
      font-size: 0.82rem;
    }.page-dashboard .dashboard-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 380px));
      gap: 12px;
    }.page-dashboard .dashboard-card {
      position: relative;
      display: grid;
      gap: 7px;
      min-height: 96px;
      padding: 16px 18px 16px 22px;
      overflow: hidden;
      border: 1px solid var(--admin-line);
      border-radius: 6px;
      background: var(--admin-panel);
      text-decoration: none;
    }.page-dashboard .dashboard-card::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 8px;
      background: var(--admin-green);
    }.page-dashboard .dashboard-card:hover,
.page-dashboard .dashboard-card:focus-visible {
      border-color: var(--admin-line-strong);
      background: #252525;
      outline: none;
    }.page-dashboard .card-title {
      color: var(--admin-text);
      font-size: 0.98rem;
      font-weight: 700;
    }.page-dashboard .card-text {
      color: var(--admin-muted);
      font-size: 0.86rem;
      line-height: 1.45;
    }

/* Monitor */
.page-monitor {
      color-scheme: light dark;
      font-family: Arial, Helvetica, sans-serif;
    }.page-monitor * {
      box-sizing: border-box;
    }body.page-monitor {
      min-height: 100vh;
      margin: 0;
      background: Canvas;
      color: CanvasText;
    }.page-monitor header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 18px 24px;
      border-bottom: 1px solid color-mix(in srgb, CanvasText 18%, transparent);
    }.page-monitor h1 {
      margin: 0;
      font-size: 1.35rem;
      letter-spacing: 0;
    }.page-monitor a {
      color: inherit;
    }.page-monitor main {
      width: calc(100% - 32px);
      margin: 32px 16px;
    }.page-monitor .toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 14px;
      font-size: 0.92rem;
      color: color-mix(in srgb, CanvasText 72%, transparent);
    }.page-monitor .table-wrap {
      overflow: hidden;
      border: 1px solid color-mix(in srgb, CanvasText 18%, transparent);
      border-radius: 8px;
      background: color-mix(in srgb, Canvas 94%, CanvasText 6%);
    }.page-monitor table {
      width: 100%;
      min-width: 0;
      border-collapse: collapse;
      table-layout: auto;
    }.page-monitor th,
.page-monitor td {
      padding: 9px 10px;
      border-bottom: 1px solid color-mix(in srgb, CanvasText 14%, transparent);
      text-align: left;
      white-space: nowrap;
      font-size: 0.84rem;
    }.page-monitor th {
      background: color-mix(in srgb, CanvasText 8%, transparent);
      font-weight: 700;
    }.page-monitor tbody tr:last-child td {
      border-bottom: 0;
    }.page-monitor th:nth-child(1),
.page-monitor td:nth-child(1) {
      min-width: 86px;
    }.page-monitor th:nth-child(2),
.page-monitor td:nth-child(2) {
      min-width: 90px;
    }.page-monitor th:nth-child(4),
.page-monitor td:nth-child(4),
.page-monitor th:nth-child(5),
.page-monitor td:nth-child(5) {
      min-width: 145px;
    }.page-monitor th:nth-child(6),
.page-monitor td:nth-child(6) {
      min-width: 140px;
    }.page-monitor .plc-cell {
      color: #fff;
      font-weight: 700;
    }.page-monitor .plc-cell.available {
      background: #16803a;
    }.page-monitor .plc-cell.unavailable {
      background: #6b7280;
    }.page-monitor .muted {
      color: color-mix(in srgb, CanvasText 55%, transparent);
    }.page-monitor .error {
      margin-top: 14px;
      padding: 10px 12px;
      border-radius: 6px;
      background: #7f1d1d;
      color: #fff;
      font-size: 0.92rem;
    }

/* Shared admin layout */
.page-login,
.page-dashboard,
.page-monitor {
      --bg: #0b0f11;
      --panel: #0f1417;
      --panel-soft: #111719;
      --line: rgba(205, 242, 37, 0.14);
      --line-strong: rgba(205, 242, 37, 0.42);
      --text: #f2f4ee;
      --muted: #9da3a1;
      --lime: #d0f52c;
      --white-line: rgba(255, 255, 255, 0.08);
      color-scheme: dark;
      font-family: "Arial Narrow", "Roboto Condensed", Arial, Helvetica, sans-serif;
      color: var(--text);
      background: var(--bg);
    }.page-login *,
.page-dashboard *,
.page-monitor * {
      box-sizing: border-box;
    }body.page-login,
body.page-dashboard,
body.page-monitor {
      min-height: 100vh;
      margin: 0;
      display: block;
      background:
        radial-gradient(circle at 74% 18%, rgba(208, 245, 44, 0.11), transparent 28%),
        radial-gradient(circle at 22% 74%, rgba(44, 163, 153, 0.07), transparent 34%),
        linear-gradient(180deg, #0c1113 0%, #070a0b 100%);
      color: var(--text);
    }body.page-login::before,
body.page-dashboard::before,
body.page-monitor::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: 0.18;
      background-image:
        linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
      background-size: 40px 40px;
      mask-image: linear-gradient(180deg, #000, transparent 72%);
    }.page-login a,
.page-dashboard a,
.page-monitor a {
      color: inherit;
    }.page-login .page-shell,
.page-dashboard .page-shell,
.page-monitor .page-shell {
      width: min(100% - 16px, 1680px);
      min-height: calc(100vh - 12px);
      margin: 6px auto;
      border: 1px solid var(--white-line);
      background: rgba(8, 12, 13, 0.92);
      box-shadow: 0 24px 90px rgba(0, 0, 0, 0.34);
    }.page-login .site-header,
.page-dashboard .site-header,
.page-monitor .site-header {
      min-height: 78px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 24px;
      padding: 16px clamp(22px, 5.4vw, 92px);
      border-bottom: 1px solid var(--white-line);
      background: rgba(11, 15, 17, 0.74);
      backdrop-filter: blur(18px);
    }.page-login .brand,
.page-dashboard .brand,
.page-monitor .brand {
      display: inline-flex;
      align-items: center;
      gap: 14px;
      text-decoration: none;
    }.page-login .brand-mark,
.page-dashboard .brand-mark,
.page-monitor .brand-mark {
      width: 48px;
      height: 48px;
      display: block;
      object-fit: contain;
    }.page-login .brand-text,
.page-dashboard .brand-text,
.page-monitor .brand-text {
      display: grid;
      gap: 2px;
      min-width: 0;
    }.page-login .brand-name,
.page-dashboard .brand-name,
.page-monitor .brand-name {
      font-size: clamp(1.05rem, 1.7vw, 1.45rem);
      letter-spacing: 0.18em;
      line-height: 1;
      text-transform: uppercase;
    }.page-login .brand-subtitle,
.page-dashboard .brand-subtitle,
.page-monitor .brand-subtitle {
      color: var(--muted);
      font-size: 0.72rem;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }.page-login .main-nav,
.page-dashboard .main-nav,
.page-monitor .main-nav {
      min-width: min(42vw, 620px);
      min-height: 42px;
    }.page-dashboard .admin-nav,
.page-monitor .admin-nav {
      display: inline-flex;
      align-items: center;
      justify-content: flex-end;
      gap: 10px;
    }.page-dashboard .admin-nav-link,
.page-monitor .admin-nav-link {
      display: inline-flex;
      align-items: center;
      min-height: 34px;
      padding: 0 12px;
      border: 1px solid rgba(255, 255, 255, 0.2);
      border-radius: 6px;
      text-decoration: none;
      font-size: 0.86rem;
      font-weight: 700;
    }.page-dashboard .admin-nav-link:hover,
.page-dashboard .admin-nav-link:focus-visible,
.page-monitor .admin-nav-link:hover,
.page-monitor .admin-nav-link:focus-visible {
      border-color: var(--line-strong);
      background: rgba(208, 245, 44, 0.08);
      outline: none;
    }.page-login .admin-content,
.page-dashboard .admin-content,
.page-monitor .admin-content {
      position: relative;
      z-index: 1;
      width: auto;
      min-height: 480px;
      margin: 0;
      padding: 28px clamp(22px, 5.4vw, 92px) 42px;
      border-bottom: 1px solid var(--white-line);
      background:
        radial-gradient(circle at 50% 46%, rgba(208, 245, 44, 0.05), transparent 26%),
        var(--panel);
    }

/* Login admin layout */
.page-login .login-content {
      display: grid;
      place-items: start center;
      padding-top: clamp(34px, 6vw, 76px);
    }.page-login .login-panel {
      width: min(100%, 380px);
      padding: 28px;
      border: 1px solid var(--white-line);
      border-radius: 6px;
      background: rgba(17, 23, 25, 0.95);
    }.page-login h1 {
      margin: 0 0 22px;
      color: var(--lime);
      font-family: Consolas, "Courier New", monospace;
      font-size: 1.35rem;
      font-weight: 700;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }.page-login label {
      display: block;
      margin-bottom: 8px;
      color: var(--muted);
      font-size: 0.92rem;
      font-weight: 700;
    }.page-login input {
      width: 100%;
      min-height: 44px;
      margin-bottom: 16px;
      padding: 10px 12px;
      border: 1px solid rgba(255, 255, 255, 0.18);
      border-radius: 6px;
      background: #0b0f11;
      color: var(--text);
      font: inherit;
    }.page-login input:focus {
      border-color: var(--line-strong);
      outline: 2px solid rgba(208, 245, 44, 0.2);
      outline-offset: 2px;
    }.page-login button {
      width: 100%;
      min-height: 44px;
      border: 0;
      border-radius: 6px;
      background: var(--lime);
      color: #0b0f11;
      cursor: pointer;
      font: inherit;
      font-weight: 700;
    }.page-login button:hover,
.page-login button:focus-visible {
      opacity: 0.86;
      outline: none;
    }.page-login .error {
      margin: 0 0 16px;
      padding: 10px 12px;
      border-radius: 6px;
      background: #7f1d1d;
      color: #fff;
      font-size: 0.92rem;
    }

/* Dashboard admin layout */
.page-dashboard .toolbar,
.page-monitor .toolbar {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      margin-bottom: 14px;
      color: var(--muted);
      font-size: 0.92rem;
    }.page-dashboard .dashboard-section h1,
.page-monitor .monitor-section h1 {
      margin: 0 0 18px;
      color: var(--lime);
      font-family: Consolas, "Courier New", monospace;
      font-size: clamp(1.3rem, 2vw, 1.8rem);
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }.page-dashboard .dashboard-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 380px));
      gap: 12px;
    }.page-dashboard .dashboard-card {
      position: relative;
      display: grid;
      gap: 7px;
      min-height: 96px;
      padding: 16px 18px 16px 22px;
      overflow: hidden;
      border: 1px solid var(--white-line);
      border-radius: 6px;
      background: var(--panel-soft);
      text-decoration: none;
    }.page-dashboard .dashboard-card::before {
      content: "";
      position: absolute;
      inset: 0 auto 0 0;
      width: 8px;
      background: #16803a;
    }.page-dashboard .dashboard-card:hover,
.page-dashboard .dashboard-card:focus-visible {
      border-color: var(--line-strong);
      background: #172023;
      outline: none;
    }.page-dashboard .card-title {
      color: var(--text);
      font-size: 0.98rem;
      font-weight: 700;
    }.page-dashboard .card-text {
      color: var(--muted);
      font-size: 0.86rem;
      line-height: 1.45;
    }

/* Monitor two-line records */
.page-monitor .monitor-head {
      display: grid;
      gap: 6px;
      margin-bottom: 14px;
    }.page-monitor .monitor-section h1 {
      margin-bottom: 0;
    }.page-monitor .table-wrap {
      overflow-x: auto;
      border: 1px solid var(--white-line);
      border-radius: 8px;
      background: rgba(17, 23, 25, 0.95);
    }.page-monitor .monitor-table {
      width: 100%;
      min-width: 860px;
      border-collapse: collapse;
      table-layout: fixed;
    }.page-monitor .monitor-table th,
.page-monitor .monitor-table td {
      min-width: 0;
      padding: 9px 10px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      text-align: left;
      white-space: nowrap;
      font-size: 0.84rem;
    }.page-monitor .monitor-table th {
      background: rgba(255, 255, 255, 0.08);
      border-bottom: 2px solid rgba(255, 255, 255, 0.86);
      color: var(--text);
      font-weight: 700;
    }.page-monitor .record-group:not(:last-child) .record-detail td {
      border-bottom: 2px solid rgba(255, 255, 255, 0.86);
    }.page-monitor .record-main td {
      background: rgba(255, 255, 255, 0.03);
      font-weight: 700;
    }.page-monitor .record-detail td {
      padding: 0;
      background: rgba(8, 12, 13, 0.7);
    }.page-monitor .plc-cell {
      color: #fff;
      font-weight: 700;
    }.page-monitor .plc-cell.available {
      background: #16803a;
    }.page-monitor .plc-cell.unavailable {
      background: #6b7280;
    }.page-monitor .record-detail-grid {
      display: grid;
      grid-template-columns: repeat(7, minmax(0, 1fr));
      margin: 0;
    }.page-monitor .record-detail-grid div {
      min-width: 0;
      padding: 8px 10px 9px;
      border-right: 1px solid rgba(255, 255, 255, 0.08);
    }.page-monitor .record-detail-grid div:last-child {
      border-right: 0;
    }.page-monitor .record-detail-grid dt {
      color: var(--muted);
      font-size: 0.68rem;
      font-weight: 700;
      letter-spacing: 0.06em;
      text-transform: uppercase;
    }.page-monitor .record-detail-grid dd {
      margin: 3px 0 0;
      overflow: hidden;
      color: var(--text);
      font-size: 0.82rem;
      text-overflow: ellipsis;
      white-space: nowrap;
    }.page-monitor .error {
      margin-top: 14px;
      padding: 10px 12px;
      border-radius: 6px;
      background: #7f1d1d;
      color: #fff;
      font-size: 0.92rem;
    }

@media (max-width: 920px) {
.page-login .page-shell,
.page-dashboard .page-shell,
.page-monitor .page-shell {
        width: 100%;
        min-height: 100vh;
        margin: 0;
        border-left: 0;
        border-right: 0;
      }.page-login .site-header,
.page-dashboard .site-header,
.page-monitor .site-header {
        min-height: 70px;
      }.page-login .main-nav,
.page-dashboard .main-nav,
.page-monitor .main-nav {
        min-width: 64px;
      }.page-login .admin-content,
.page-dashboard .admin-content,
.page-monitor .admin-content {
        padding-right: clamp(22px, 5.4vw, 92px);
        padding-left: clamp(22px, 5.4vw, 92px);
      }.page-monitor .record-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }
}

@media (max-width: 620px) {
.page-login .brand-subtitle,
.page-login .main-nav,
.page-dashboard .brand-subtitle,
.page-monitor .brand-subtitle {
        display: none;
      }.page-dashboard .admin-nav,
.page-monitor .admin-nav {
        min-width: 0;
      }.page-dashboard .admin-nav-link,
.page-monitor .admin-nav-link {
        min-height: 32px;
        padding: 0 10px;
      }.page-dashboard .dashboard-grid {
        grid-template-columns: 1fr;
      }.page-monitor .monitor-table {
        min-width: 760px;
      }
}
