:root{--bg:#f4f7fa;--card:#fff;--line:#dce4ec;--text:#102033;--muted:#64748b;--brand:#006f68;--brand2:#004d48;--red:#c81e1e;--redbg:#fde8e8;--amber:#b77900;--amberbg:#fff4d6;--green:#07875c;--greenbg:#dcfce7;--shadow:0 12px 32px #0f172a14}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text)}button,input,select,textarea{font:inherit}button{cursor:pointer}.app{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.side{background:#fff;border-right:1px solid var(--line);padding:22px 16px;display:flex;flex-direction:column;gap:22px;position:sticky;top:0;height:100vh}.logo{border-bottom:1px solid var(--line);padding-bottom:22px}.logo b{font-family:Georgia,serif;font-size:42px;letter-spacing:-2px}.logo span{display:block;color:var(--brand);font-weight:900;font-size:12px;letter-spacing:1px}nav{display:grid;gap:8px}nav button{border:0;background:transparent;text-align:left;padding:13px 12px;border-radius:10px;font-weight:800;color:#334155}nav button.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 10px 22px #006f6840}.quick,.note,.panel{border:1px solid var(--line);background:#fff;border-radius:16px;padding:16px;box-shadow:var(--shadow)}.quick{margin-top:auto;background:#f8fafc}.quick button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:8px 0;font-weight:700;color:#334155}.note{font-size:13px;color:var(--muted);background:#f8fafc}main{min-width:0}header{background:#fffffff0;border-bottom:1px solid var(--line);min-height:90px;padding:18px 26px;display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;z-index:10}h1,h2,h3,p{margin-top:0}header p{margin:4px 0 0;color:var(--muted)}.top{display:flex;gap:10px;align-items:center}input,select,textarea{border:1px solid var(--line);border-radius:10px;padding:10px;min-height:40px}textarea{min-height:96px;resize:vertical}header input{min-width:330px}button,.btn{border:1px solid var(--line);border-radius:10px;background:#fff;padding:10px 14px;font-weight:800;color:#26384d;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent}.dangerBtn{background:var(--redbg);color:var(--red);border-color:#c81e1e40}#root{padding:24px 26px}.kpis{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:16px;margin-bottom:16px}.kpi{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow);text-align:left;min-height:118px}.kpi.active{outline:3px solid #006f6828;border-color:var(--brand)}.kpi span{color:var(--muted);font-weight:800}.kpi strong{display:block;font-size:32px;margin:8px 0}.red strong,.red span{color:var(--red)}.amber strong,.amber span{color:var(--amber)}.green strong,.green span{color:var(--green)}.grid{display:grid;grid-template-columns:minmax(0,2fr) 460px;gap:16px}.lower{display:grid;grid-template-columns:1fr 1fr 1fr 1.4fr;gap:16px;margin-top:16px}.head{display:flex;justify-content:space-between;gap:12px;margin-bottom:14px}.actions{display:flex;gap:8px;flex-wrap:wrap}.table{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th{background:#f8fafc;color:#475569;text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);white-space:nowrap}td{padding:12px 10px;border-bottom:1px solid #edf2f7;vertical-align:top}tr:hover td{background:#fbfdff}.id{color:var(--brand);font-weight:900;text-decoration:none}.badge{display:inline-block;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:850;background:#e2e8f0;color:#475569}.badge.Overdue{background:var(--redbg);color:var(--red)}.badge.DueSoon{background:var(--amberbg);color:var(--amber)}.badge.OK{background:var(--greenbg);color:var(--green)}.badge.NoDate,.badge.AsNeeded{background:#e2e8f0;color:#475569}form{display:grid;gap:10px}label{color:#475569;font-size:12px;font-weight:850}.two{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{width:100%}.list{display:grid;gap:10px}.item,.historyCard{border:1px solid #edf2f7;background:#fbfdff;border-radius:12px;padding:12px}.historyCard{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center}.meta{color:var(--muted);font-size:12px}.over{color:var(--red);font-weight:850;font-size:12px}.due{color:var(--amber);font-weight:850;font-size:12px}.donut{width:150px;height:150px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--green) 0deg 250deg,var(--amber) 250deg 290deg,var(--red) 290deg)}.donut:after{content:"";position:absolute;width:96px;height:96px;background:#fff;border-radius:50%}.donut span{z-index:1;font-size:24px;font-weight:900}.qrGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:14px}.qrCard{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.qrIn{display:grid;grid-template-columns:132px 1fr;gap:14px;padding:14px;text-decoration:none;color:var(--text)}.qrImg{width:132px;height:132px;border:1px solid var(--line);border-radius:10px;padding:6px;background:#fff;object-fit:contain}.hero{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-radius:20px;padding:22px;display:flex;justify-content:space-between;gap:14px;margin-bottom:14px;box-shadow:0 18px 40px #006f6838}.hero h1{font-size:clamp(26px,5vw,42px);margin:10px 0 6px}.pill{background:#ffffff2a;border:1px solid #ffffff44;border-radius:999px;padding:6px 10px;font-weight:900}.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.mini div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:var(--shadow)}.mini span{color:var(--muted);font-size:12px;font-weight:850;display:block;margin-bottom:7px}.modal{position:fixed;inset:0;background:#0f172a96;display:flex;align-items:flex-start;justify-content:center;padding:28px;z-index:50;overflow:auto}.modalCard{width:min(900px,100%);background:#fff;border-radius:18px;padding:18px}.toast{position:fixed;right:22px;bottom:22px;background:#0f172a;color:#fff;padding:12px 16px;border-radius:12px;z-index:60}.hide{display:none}.empty{text-align:center;color:var(--muted);padding:18px}.printNote{background:#fff8e6;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:16px;color:#5f4300}.printGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.printLabel{border:1.5px solid #111827;border-radius:14px;padding:14px;min-height:190px;display:grid;grid-template-columns:140px 1fr;gap:14px;background:#fff;break-inside:avoid}.printLabel .qrImg{width:140px;height:140px}@media(max-width:1200px){.app{grid-template-columns:1fr}.side{position:static;height:auto}.grid,.lower{grid-template-columns:1fr}.kpis{grid-template-columns:1fr 1fr}.top{flex-wrap:wrap}.mini{grid-template-columns:1fr 1fr}}@media(max-width:760px){.kpis,.two,.mini,.qrIn,.printLabel{grid-template-columns:1fr}header{align-items:flex-start;flex-direction:column}header input{min-width:0;width:100%}.top{width:100%}.top button{flex:1}}@media print{@page{size:letter portrait;margin:.4in}.side,header,.noPrint{display:none!important}.app{display:block}#root{padding:0}.panel{box-shadow:none;border:0;padding:0}.printGrid{gap:.15in}body{background:#fff}}

/* ------------------------------------------------------------
   Layout cleanup pass
   Fixes cramped KPI cards, overflowing Work Log panel, and table text wrapping.
------------------------------------------------------------ */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}

.app-shell {
  grid-template-columns: 250px minmax(0, 1fr);
}

.main {
  min-width: 0;
  overflow-x: hidden;
}

.content {
  padding: 22px;
  max-width: 100%;
}

.topbar {
  gap: 14px;
  align-items: flex-start;
}

.top-actions {
  min-width: 0;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.search-wrap {
  min-width: 260px;
  width: min(420px, 100%);
}

/* KPI cards: stop label/count/note from running together */
.kpis {
  grid-template-columns: repeat(5, minmax(170px, 1fr));
  gap: 14px;
}

.kpi {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  min-height: 112px;
  padding: 18px 20px;
  overflow: hidden;
}

.kpi > div {
  min-width: 0;
}

.kpi span,
.kpi small {
  display: block;
  line-height: 1.25;
  white-space: normal;
}

.kpi strong {
  display: block;
  line-height: 1;
  margin: 8px 0;
  font-size: clamp(28px, 2.2vw, 36px);
}

.kpi i {
  justify-self: end;
}

/* Main dashboard: give the Work Log enough room, but do not let it overflow */
.dashboard-grid {
  grid-template-columns: minmax(0, 1.65fr) minmax(380px, 0.85fr);
  gap: 18px;
}

.dashboard-grid > .panel,
.lower-grid > .panel {
  min-width: 0;
}

.panel {
  overflow: hidden;
}

.panel-head {
  align-items: center;
}

.panel-actions {
  flex-shrink: 0;
}

/* Work log form should stay inside its card */
form {
  min-width: 0;
}

.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

input, select, textarea {
  min-width: 0;
  max-width: 100%;
}

textarea {
  min-height: 92px;
}

/* The equipment table was the biggest overflow source */
.table-wrap {
  width: 100%;
  overflow-x: auto;
  border-radius: 12px;
}

table {
  table-layout: fixed;
  min-width: 980px;
}

th, td {
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: normal;
}

th:nth-child(1), td:nth-child(1) { width: 78px; }
th:nth-child(2), td:nth-child(2) { width: 250px; }
th:nth-child(3), td:nth-child(3) { width: 160px; }
th:nth-child(4), td:nth-child(4) { width: 110px; }
th:nth-child(5), td:nth-child(5) { width: 100px; }
th:nth-child(6), td:nth-child(6) { width: 118px; }
th:nth-child(7), td:nth-child(7) { width: 118px; }
th:nth-child(8), td:nth-child(8) { width: 90px; }
th:nth-child(9), td:nth-child(9) { width: 70px; }

.id-cell {
  white-space: normal;
}

.id-link {
  display: inline-block;
  max-width: 100%;
}

.badge {
  white-space: nowrap;
}

/* Make recent-history action buttons behave nicely */
.history-card {
  grid-template-columns: minmax(0, 1fr) auto;
}

.history-card > div:first-child {
  min-width: 0;
}

.history-card-actions {
  justify-content: flex-end;
}

/* Lower dashboard panels were too tight on medium screens */
.lower-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* QR cards and detail pages */
.qr-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.qr-card-inner {
  grid-template-columns: 120px minmax(0, 1fr);
}

.qr-card small {
  max-width: 100%;
}

.mobile-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Medium screens */
@media (max-width: 1450px) {
  .kpis {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
  }

  .dashboard-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .dashboard-grid > aside.panel {
    max-width: none;
  }

  table {
    min-width: 1040px;
  }
}

/* Tablet/mobile */
@media (max-width: 980px) {
  .app-shell {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
  }

  .topbar {
    position: static;
    flex-direction: column;
  }

  .top-actions,
  .search-wrap {
    width: 100%;
  }

  .kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .lower-grid,
  .two,
  .mobile-grid,
  .settings-grid {
    grid-template-columns: 1fr;
  }

  .panel-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .panel-actions {
    width: 100%;
  }

  .panel-actions > * {
    flex: 1;
  }
}

@media (max-width: 620px) {
  .content {
    padding: 14px;
  }

  .kpis {
    grid-template-columns: 1fr;
  }

  .kpi {
    min-height: 104px;
  }

  .qr-card-inner,
  .print-label {
    grid-template-columns: 1fr;
  }

  .qr-img {
    width: 180px;
    height: 180px;
  }

  .history-card {
    grid-template-columns: 1fr;
  }

  .history-card-actions {
    justify-content: flex-start;
  }
}


/* PM Frequencies tab and manager */
.freqTab {
  color: var(--brand) !important;
  font-weight: 950 !important;
}

.freqTable select {
  min-width: 150px;
}

.freqGuide {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 12px;
  margin-top: 12px;
}

.freqGuide div {
  border: 1px solid var(--line);
  background: var(--panel-soft);
  border-radius: 12px;
  padding: 14px;
}

.freqGuide b {
  display: block;
  margin-bottom: 6px;
}

.freqGuide span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.35;
}

.detail-actions {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}


/* Python CSV import area */
#pythonImportPanel p {
  margin-top: 0;
  color: var(--muted);
}
#pythonImportPanel .actions {
  margin: 12px 0;
}


/* Frequency save fix note */
.freqTable select,
.frequency-table select {
  border-color: var(--brand);
  background: #f8fffd;
}


/* Bottom dashboard spacing fix */
.lower {
  align-items: start;
}

.list {
  display: grid;
  gap: 10px;
}

.item {
  display: grid;
  gap: 5px;
  align-items: start;
  min-width: 0;
  line-height: 1.28;
}

.item b,
.item strong {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.25;
}

.item .meta {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.item .over,
.item .due,
.over,
.due {
  display: block;
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

/* Dashboard overdue / upcoming cards: force clean stacked text */
.lower .panel .item {
  grid-template-columns: 1fr;
}

.lower .panel .item span {
  max-width: 100%;
}

/* Keep the lower columns from becoming too skinny */
.lower {
  grid-template-columns: repeat(2, minmax(340px, 1fr));
}

@media (max-width: 1100px) {
  .lower {
    grid-template-columns: 1fr;
  }
}


/* Secure login screen */
.login-screen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 24px;
  background:
    radial-gradient(circle at top left, rgba(0,111,104,.16), transparent 34%),
    linear-gradient(135deg, #f8fafc, #e9f3f2);
}

.login-screen.hidden {
  display: none;
}

.app.locked {
  display: none;
}

.login-card {
  width: min(430px, 100%);
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 28px 90px rgba(15, 23, 42, .18);
  padding: 28px;
}

.login-brand {
  display: grid;
  gap: 4px;
  line-height: 1;
  margin-bottom: 24px;
}

.login-brand b {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 46px;
  color: #111827;
  letter-spacing: -2px;
}

.login-brand span {
  color: var(--brand);
  font-weight: 950;
  letter-spacing: 1.4px;
  font-size: 12px;
}

.login-card h1 {
  margin: 0 0 6px;
  font-size: 28px;
}

.login-card p {
  color: var(--muted);
  line-height: 1.4;
}

#loginMessage,
#passwordChangeMsg {
  min-height: 18px;
  color: var(--danger);
  font-size: 13px;
  font-weight: 750;
}

.login-note {
  display: block;
  margin-top: 16px;
  color: var(--muted);
  line-height: 1.35;
}

.hidden {
  display: none !important;
}


/* Login form alignment fix */
.login-card {
  overflow: hidden;
}

#loginForm {
  display: grid;
  gap: 10px;
}

#loginForm label {
  display: block;
  width: 100%;
  margin: 0;
}

#loginForm input {
  width: 100%;
  max-width: 100%;
  display: block;
}

#setupConfirmWrap {
  display: grid;
  gap: 10px;
  width: 100%;
}

#setupConfirmWrap.hidden {
  display: none !important;
}

#loginSubmitBtn {
  margin-top: 2px;
}

.login-card .full,
#loginForm .full {
  width: 100%;
}

@media (max-width: 520px) {
  .login-screen {
    padding: 14px;
  }

  .login-card {
    padding: 24px;
  }

  .login-brand b {
    font-size: 40px;
  }
}


/* Admin backend page */
.adminTab {
  color: var(--brand) !important;
  font-weight: 950 !important;
}

.adminGrid {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(220px, .65fr);
  gap: 18px;
  margin-top: 16px;
}

.adminGrid section,
.userCard {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-soft);
  padding: 14px;
}

.userList {
  display: grid;
  gap: 10px;
}

.userRow {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--panel-soft);
  padding: 14px;
}

.userRow b,
.userCard b {
  display: block;
  font-size: 16px;
}

.userRow span,
.userCard span,
.userRow small {
  display: block;
  color: var(--muted);
  margin-top: 3px;
  font-size: 12px;
}

.userRow .actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.userRow select {
  min-width: 110px;
}

#createUserMsg {
  min-height: 18px;
  color: var(--danger);
  font-size: 13px;
  font-weight: 750;
}

@media (max-width: 900px) {
  .adminGrid,
  .userRow {
    grid-template-columns: 1fr;
  }

  .userRow .actions {
    justify-content: flex-start;
  }
}


/* Quick Actions cleanup */
.quick,
.quick-box {
  display: grid;
  gap: 12px;
}

.quick h3,
.quick-box h3 {
  margin-bottom: 0;
}

.quickGroup {
  display: grid;
  gap: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}

.quickGroup:first-of-type {
  border-top: 0;
  padding-top: 0;
}

.quickGroup span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .7px;
  margin-bottom: 2px;
}

.quickGroup button {
  border: 0;
  background: transparent;
  color: #20324a;
  text-align: left;
  padding: 7px 4px;
  border-radius: 8px;
  font-weight: 800;
  width: 100%;
}

.quickGroup button:hover {
  background: #eef6f5;
  color: var(--brand);
}

.quickGroup.compact {
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.quickGroup.compact span {
  grid-column: 1 / -1;
}

.quickGroup.compact button {
  background: #fff;
  border: 1px solid var(--line);
  text-align: center;
  padding: 8px 6px;
  font-size: 13px;
}

.quickGroup.compact button:hover {
  border-color: var(--brand);
}


/* QR code page spacing cleanup */
.qrGrid,
.qr-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
  gap: 16px;
}

.qrCard,
.qr-card {
  min-width: 0;
  overflow: hidden;
}

.qrInner,
.qr-card-inner {
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.qrInner > div,
.qr-card-inner > div,
.qrText {
  min-width: 0;
  display: grid;
  gap: 6px;
  align-content: start;
}

.qrText h2,
.qrInner h2,
.qr-card h2 {
  margin: 0;
  line-height: 1.05;
  font-size: 28px;
}

.qrText b,
.qrInner b,
.qr-card strong {
  display: block;
  line-height: 1.25;
  font-size: 16px;
  overflow-wrap: anywhere;
  word-break: normal;
}

.qrArea,
.qrInner span:not(.badge),
.qr-meta {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.qrStatus {
  display: block;
  margin-top: 2px;
}

.qrStatus .badge {
  display: inline-block;
}

.qrText small,
.qrInner small,
.qr-card small {
  display: block;
  margin-top: 8px;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.qrImg,
.qr-img {
  flex: 0 0 auto;
}

@media (max-width: 760px) {
  .qrGrid,
  .qr-card-grid {
    grid-template-columns: 1fr;
  }

  .qrInner,
  .qr-card-inner {
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 12px;
  }

  .qrImg,
  .qr-img {
    width: 110px;
    height: 110px;
  }

  .qrText h2,
  .qrInner h2,
  .qr-card h2 {
    font-size: 24px;
  }
}


/* Check Requests area */
.requestList {
  display: grid;
  gap: 12px;
}

.requestCard {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 14px;
  padding: 14px;
  box-shadow: 0 6px 18px rgba(15,23,42,.04);
}

.requestCard.priorityHigh,
.requestCard.priorityUrgent {
  border-left: 5px solid var(--warning);
}

.requestCard.priorityUrgent {
  border-left-color: var(--danger);
}

.requestMain {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.requestTop {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: flex-start;
}

.requestTop strong {
  display: block;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.requestCard p {
  margin: 3px 0;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.requestActions {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.requestActions button {
  white-space: nowrap;
}

.requestNote {
  border: 1px solid var(--line);
  background: var(--panel-soft);
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 13px;
  line-height: 1.35;
}

.badge.reqOpen { background: #e0f2fe; color: #0369a1; }
.badge.reqInProgress { background: var(--warning-soft); color: var(--warning); }
.badge.reqCompleted { background: var(--good-soft); color: var(--good); }
.badge.reqRejected { background: var(--danger-soft); color: var(--danger); }

@media (max-width: 900px) {
  .requestCard {
    grid-template-columns: 1fr;
  }

  .requestActions {
    justify-content: flex-start;
  }

  .requestTop {
    flex-direction: column;
  }
}


/* Repaired Admin-only quick actions */
.quickGroup.adminOnly {
  border-top-color: rgba(0,111,104,.25);
  background: #f7fbfa;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px;
}

.quickGroup.adminOnly span::after {
  content: "  LOCKED";
  color: var(--brand);
  font-size: 10px;
  letter-spacing: .5px;
}


/* Dashboard check-request alert */
.requestAlert {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid #bae6fd;
  background: #eff6ff;
  color: #0f3f66;
  border-radius: 16px;
  padding: 14px 18px;
  margin-bottom: 16px;
  box-shadow: 0 8px 20px rgba(15,23,42,.05);
}

.requestAlert.critical {
  border-color: rgba(200,30,30,.25);
  background: var(--danger-soft);
  color: var(--danger);
}

.requestAlert strong {
  display: block;
  font-size: 16px;
}

.requestAlert span {
  display: block;
  margin-top: 3px;
  font-size: 13px;
}

.requestAlert button {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  padding: 10px 14px;
  font-weight: 900;
}

/* Audit Log */
.auditList {
  display: grid;
  gap: 10px;
}

.auditCard {
  border: 1px solid var(--line);
  background: var(--panel-soft);
  border-radius: 12px;
  padding: 12px;
  display: grid;
  gap: 5px;
}

.auditCard b {
  display: block;
}

.auditCard span {
  display: block;
  color: #334155;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .requestAlert {
    flex-direction: column;
    align-items: flex-start;
  }
}


/* CSS loaded warning control */
#styleFailWarning {
  display: none !important;
}

/* ============================================================
   GMP / Compliance Style Redesign - repaired package
============================================================ */

:root {
  --bg: #eef2f6;
  --panel: #ffffff;
  --panel-soft: #f8fafc;
  --line: #cfd8e3;
  --text: #0f1f33;
  --muted: #5f6f84;
  --brand: #005f5a;
  --brand-dark: #003f3c;
  --brand-soft: #e6f3f2;
  --danger: #b91c1c;
  --danger-soft: #fee2e2;
  --warning: #a16207;
  --warning-soft: #fef3c7;
  --good: #047857;
  --good-soft: #d1fae5;
  --shadow: 0 8px 22px rgba(15, 23, 42, 0.055);
}

body.compliance-theme {
  background:
    linear-gradient(90deg, rgba(255,255,255,.52) 0 1px, transparent 1px 100%),
    linear-gradient(180deg, rgba(255,255,255,.52) 0 1px, transparent 1px 100%),
    var(--bg);
  background-size: 28px 28px;
  color: var(--text);
}

.compliance-theme .app,
.compliance-theme .app-shell {
  grid-template-columns: 278px minmax(0, 1fr);
}

.compliance-theme .side,
.compliance-theme .sidebar {
  background: #ffffff;
  border-right: 1px solid var(--line);
  box-shadow: 4px 0 22px rgba(15,23,42,.04);
}

.compliance-theme .brand {
  border-bottom: 1px solid var(--line);
  padding-bottom: 18px;
}

.compliance-theme .brand b,
.compliance-theme .nuvita-wordmark strong,
.compliance-theme .login-brand b {
  font-family: Georgia, "Times New Roman", serif;
  letter-spacing: -1.8px;
}

.compliance-theme .brand span,
.compliance-theme .nuvita-wordmark span,
.compliance-theme .login-brand span {
  color: var(--brand);
  letter-spacing: 1.8px;
}

.compliance-theme nav button,
.compliance-theme .nav-item {
  border-radius: 6px;
  box-shadow: none;
  font-weight: 900;
  color: #25364d;
}

.compliance-theme nav button.active,
.compliance-theme .nav-item.active {
  background: #ffffff;
  color: var(--brand);
  border: 1px solid var(--brand);
  box-shadow: inset 5px 0 0 var(--brand);
}

.compliance-theme .quick,
.compliance-theme .quick-box {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 10px;
  box-shadow: none;
}

.compliance-theme .quick h3,
.compliance-theme .quick-box h3 {
  border-bottom: 1px solid var(--line);
  padding-bottom: 10px;
  letter-spacing: .2px;
}

.compliance-theme .quickGroup {
  border-top: 1px solid var(--line);
}

.compliance-theme .quickGroup span {
  color: #64748b;
  letter-spacing: .9px;
}

.compliance-theme .quickGroup button {
  border-radius: 6px;
  font-weight: 850;
}

.compliance-theme .quickGroup button:hover {
  background: var(--brand-soft);
}

.compliance-theme .help,
.compliance-theme .help-box {
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 10px;
}

.compliance-theme .top,
.compliance-theme .topbar {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 6px 18px rgba(15,23,42,.04);
}

.compliance-theme input,
.compliance-theme select,
.compliance-theme textarea {
  border-radius: 6px;
  background: #ffffff;
  border: 1px solid #cbd5e1;
}

.compliance-theme input:focus,
.compliance-theme select:focus,
.compliance-theme textarea:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 3px rgba(0,95,90,.12);
}

.compliance-theme button,
.compliance-theme .primary,
.compliance-theme .ghost-btn,
.compliance-theme .small-btn {
  border-radius: 6px;
}

.compliance-theme .primary {
  background: var(--brand);
  box-shadow: none;
}

.compliance-theme .primary:hover {
  background: var(--brand-dark);
}

.compliance-theme .content {
  padding: 22px 26px 32px;
}

.complianceStrip {
  display: grid;
  grid-template-columns: 1.4fr 1fr .75fr 1fr;
  gap: 12px;
  margin-bottom: 16px;
}

.complianceStrip div {
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 12px 14px;
  box-shadow: var(--shadow);
}

.complianceStrip span {
  display: block;
  color: var(--muted);
  text-transform: uppercase;
  font-size: 10px;
  letter-spacing: .9px;
  font-weight: 950;
  margin-bottom: 5px;
}

.complianceStrip strong {
  display: block;
  font-size: 13px;
}

.compliance-theme .kpi {
  border-radius: 10px;
  box-shadow: var(--shadow);
  border: 1px solid var(--line);
  background: #ffffff;
}

.compliance-theme .kpi.active {
  border-color: var(--brand);
  outline: 2px solid rgba(0,95,90,.14);
  box-shadow: inset 0 4px 0 var(--brand), var(--shadow);
}

.compliance-theme .kpi span {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: .7px;
  color: #526277;
}

.compliance-theme .panel {
  border-radius: 10px;
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.compliance-theme .head,
.compliance-theme .panel-head {
  border-bottom: 1px solid #e5eaf0;
  padding-bottom: 12px;
}

.compliance-theme th {
  background: #f1f5f9;
  color: #334155;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: 11px;
  border-bottom: 1px solid var(--line);
}

.compliance-theme td {
  border-bottom: 1px solid #e9eef5;
}

.compliance-theme tr:hover td {
  background: #f8fafc;
}

.compliance-theme .badge {
  border-radius: 999px;
  font-size: 11px;
  letter-spacing: .2px;
  border: 1px solid transparent;
}

.compliance-theme .requestAlert {
  border-radius: 8px;
  box-shadow: none;
  border-left: 5px solid #0ea5e9;
}

.compliance-theme .requestAlert.critical {
  border-left-color: var(--danger);
}

@media (max-width: 1250px) {
  .complianceStrip {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  .complianceStrip {
    grid-template-columns: 1fr;
  }
}


/* Account request / approval flow */
.login-secondary {
  width: 100%;
  margin-top: 8px;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--brand);
  border-radius: 6px;
  min-height: 40px;
  font-weight: 900;
}

#loginMessage.successMsg {
  color: var(--good);
}

.pendingUser {
  border-left: 5px solid var(--warning);
}

.pendingUser b::after {
  content: " Pending";
  display: inline-block;
  margin-left: 8px;
  color: var(--warning);
  background: var(--warning-soft);
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
}


/* Job-type maintenance templates */
.templateBox {
  border: 1px solid var(--line);
  background: var(--panel-soft);
  border-radius: 10px;
  padding: 12px;
}

.templateHead {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 8px;
}

.templateHead strong {
  color: var(--text);
}

.templateHead span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.templateItems {
  display: grid;
  gap: 7px;
}

.checkItem {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13px;
  color: #334155;
  font-weight: 750;
}

.checkItem input {
  width: auto;
  min-height: auto;
  margin-top: 2px;
}

/* Monthly compliance report */
.monthlyReport {
  display: grid;
  gap: 16px;
}

.reportTitle,
.reportGrid,
.reportStatusGrid {
  display: grid;
  gap: 12px;
}

.reportTitle {
  grid-template-columns: minmax(0,1fr) auto;
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding-bottom: 12px;
}

.reportTitle h2 {
  margin: 0;
}

.reportStamp {
  text-align: right;
  color: var(--muted);
  font-size: 12px;
}

.reportStamp span {
  display: block;
  text-transform: uppercase;
  letter-spacing: .7px;
  font-weight: 950;
}

.reportGrid {
  grid-template-columns: repeat(auto-fit,minmax(160px,1fr));
}

.reportGrid div,
.reportStatusGrid div {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 8px;
  padding: 12px;
}

.reportGrid span,
.reportStatusGrid span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .7px;
  font-weight: 950;
  margin-bottom: 5px;
}

.reportGrid strong,
.reportStatusGrid strong {
  font-size: 24px;
}

.reportStatusGrid {
  grid-template-columns: repeat(4,minmax(120px,1fr));
}

.reportStatusGrid .statusGood {
  border-left: 5px solid var(--good);
}

.reportStatusGrid .statusWarn {
  border-left: 5px solid var(--warning);
}

.reportStatusGrid .statusDanger {
  border-left: 5px solid var(--danger);
}

.reportSection h3 {
  margin: 0 0 10px;
}

@media print {
  .side,.sidebar,.top,.topbar,.quick,.no-print {
    display: none !important;
  }
  .app,.app-shell {
    display: block !important;
  }
  .content {
    padding: 0 !important;
  }
  .panel {
    box-shadow: none !important;
    border: 0 !important;
  }
}

@media (max-width: 760px) {
  .reportTitle,
  .reportStatusGrid {
    grid-template-columns: 1fr;
  }
  .reportStamp {
    text-align: left;
  }
}


/* Detailed audit field changes */
.auditChanges {
  display: grid;
  gap: 8px;
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 10px;
}

.auditChangeRow {
  display: grid;
  grid-template-columns: 180px minmax(0,1fr) minmax(0,1fr);
  gap: 10px;
  align-items: start;
  background: #fff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  padding: 8px 10px;
}

.auditChangeRow b {
  color: var(--brand);
}

.auditChangeRow span {
  font-size: 12px;
  overflow-wrap: anywhere;
}

.auditChangeRow em {
  color: var(--muted);
  font-style: normal;
  font-weight: 900;
}

@media (max-width: 900px) {
  .auditChangeRow {
    grid-template-columns: 1fr;
  }
}


/* Compact audit details */
.auditCard > div:first-child span {
  display: block;
  margin-top: 2px;
  color: #334155;
  line-height: 1.35;
}

.auditDetails {
  margin-top: 10px;
  border-top: 1px solid var(--line);
  padding-top: 8px;
}

.auditDetails summary {
  cursor: pointer;
  color: var(--brand);
  font-weight: 900;
  user-select: none;
}

.auditDetails summary:hover {
  text-decoration: underline;
}

.auditChanges {
  margin-top: 10px;
}

.auditChangeRow {
  grid-template-columns: 170px minmax(0,1fr) minmax(0,1fr);
}

.auditChangeRow span {
  max-height: 90px;
  overflow: auto;
  background: #f8fafc;
  border-radius: 6px;
  padding: 6px;
}


/* Record Review / Approval */
.reviewList {
  display: grid;
  gap: 12px;
}

.reviewCard {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 14px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  padding: 14px;
}

.reviewMain {
  min-width: 0;
  display: grid;
  gap: 6px;
}

.reviewTop {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.reviewTop strong {
  overflow-wrap: anywhere;
}

.reviewActions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-end;
}

.reviewNote {
  background: var(--warning-soft);
  border: 1px solid #fde68a;
  border-radius: 8px;
  padding: 8px 10px;
  line-height: 1.35;
}

.badge.reviewPendingReview { background: var(--warning-soft); color: var(--warning); border-color: #fde68a; }
.badge.reviewApproved { background: var(--good-soft); color: var(--good); border-color: rgba(4,120,87,.2); }
.badge.reviewNeedsCorrection { background: var(--danger-soft); color: var(--danger); border-color: rgba(185,28,28,.2); }

/* Improved filter bar */
.filterBar {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  background: var(--panel-soft);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  margin: 12px 0;
}

.filterBar label {
  display: block;
  color: var(--muted);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .7px;
  font-weight: 950;
  margin-bottom: 4px;
}

.filterBar select,
.filterBar button {
  width: 100%;
}

@media (max-width: 1100px) {
  .filterBar {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 700px) {
  .reviewCard,
  .filterBar {
    grid-template-columns: 1fr;
  }

  .reviewActions {
    justify-content: flex-start;
  }

  .reviewTop {
    flex-direction: column;
  }
}


/* Daily Clean & Use Log */
.cleanUseHero{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-radius:20px;padding:22px;display:flex;justify-content:space-between;gap:18px;margin-bottom:16px;box-shadow:0 18px 40px #006f6838}.cleanUseHero h1{margin:10px 0 6px;font-size:clamp(26px,4vw,42px)}.cleanUseHero p,.cleanUseHero small{color:#eefdfb}.cleanUseHeroActions{display:flex;gap:10px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}.cleanUseNote{background:#fff8e6;border:1px solid #f2d38b;border-radius:12px;padding:12px 14px;margin-bottom:14px;color:#5f4300;line-height:1.35}.cleanUseList{display:grid;gap:12px}.cleanUseCard{border:1px solid var(--line);background:#fff;border-radius:14px;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px}.cleanUseCardMain{display:grid;gap:8px;min-width:0}.cleanUseTop{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.cleanUseTop strong{font-size:18px;overflow-wrap:anywhere}.cleanUseGrid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:8px}.cleanUseGrid div{border:1px solid #edf2f7;background:#fbfdff;border-radius:10px;padding:9px 10px}.cleanUseGrid span{display:block;color:var(--muted);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.cleanUseGrid b{overflow-wrap:anywhere}.cleanUseChecks,.cleanUseChecksForm{display:flex;flex-wrap:wrap;gap:8px}.cleanUseChecks span,.cleanUseChecksForm .checkItem{background:#f8fafc;border:1px solid var(--line);border-radius:999px;padding:7px 10px;font-size:12px;font-weight:850;color:#334155}.cleanUseChecksForm .checkItem{border-radius:10px;cursor:pointer}.cleanUseChecksForm input{min-height:auto;width:auto;margin-right:6px}.cleanUseRecordNote{background:#f8fafc;border-left:4px solid var(--brand);border-radius:8px;padding:9px 10px;line-height:1.35;white-space:pre-wrap}.cleanUseRecordNote.issue{border-left-color:var(--red);background:var(--redbg)}.cleanUseActions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;justify-content:flex-end}.cleanUseModal{max-width:920px}.cleanUseFilters{grid-template-columns:minmax(220px,1fr) minmax(180px,240px) auto}@media(max-width:1000px){.cleanUseHero,.cleanUseCard,.cleanUseFilters{grid-template-columns:1fr;flex-direction:column}.cleanUseHeroActions,.cleanUseActions{justify-content:flex-start}.cleanUseGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.cleanUseGrid{grid-template-columns:1fr}.cleanUseTop{flex-direction:column}.cleanUseChecks,.cleanUseChecksForm{display:grid}}

/* Option 5 UI/UX Redesign */
body.compliance-theme{background:radial-gradient(circle at top left,rgba(0,111,104,.08),transparent 34rem),linear-gradient(180deg,#f8fbfd 0%,#eef3f7 100%)}.option5-shell{grid-template-columns:286px minmax(0,1fr)}.option5-side{background:#fff;border-right:1px solid #dbe5ee;padding:18px 14px;gap:14px}.option5-logo{padding:8px 8px 18px}.side-section{display:grid;gap:8px}.side-label{display:block;padding:0 10px;color:#64748b;font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.9px}.navGroup{display:grid;gap:6px}.navGroup button{border:1px solid transparent;background:transparent;text-align:left;padding:11px 12px;border-radius:12px;font-weight:900;color:#334155}.navGroup button:hover{background:#f1f8f7;border-color:#d0ebe8;color:var(--brand)}.navGroup button.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:0 12px 28px rgba(0,111,104,.24)}.option5-quick{margin-top:auto;padding:14px;border-radius:18px;background:#f8fafc}.option5-quick h3{margin-bottom:10px}.option5-quick .quickGroup{border-top:1px solid #e2e8f0;padding-top:10px;margin-top:10px}.option5-quick .quickGroup:first-of-type{border-top:0;padding-top:0;margin-top:0}.option5-quick .quickGroup span{display:block;color:#64748b;font-size:11px;text-transform:uppercase;letter-spacing:.7px;font-weight:950;margin-bottom:4px}.option5-quick button{padding:8px 6px;border-radius:10px}.option5-note{box-shadow:none;border-style:dashed}header{background:rgba(255,255,255,.86);backdrop-filter:blur(12px)}#root{padding:24px 28px 36px}.option5Hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:stretch;background:linear-gradient(135deg,rgba(0,111,104,.96),rgba(0,77,72,.96));color:#fff;border-radius:26px;padding:26px;margin-bottom:16px;box-shadow:0 22px 48px rgba(0,111,104,.24)}.option5Hero h1{font-size:clamp(32px,5vw,56px);line-height:.95;margin:12px 0 10px;letter-spacing:-.055em}.option5Hero p{max-width:850px;color:#e9fffc;font-size:16px;line-height:1.45}.option5User{min-width:220px;display:grid;align-content:center;gap:4px;padding:18px;border-radius:18px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.25)}.option5User span,.option5User small{color:#d8fffb;font-weight:850}.option5User strong{font-size:24px}.option5Tiles{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;margin-bottom:16px}.option5Tiles button{min-height:118px;border-radius:20px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-content:center;justify-content:start;gap:4px 12px;text-align:left;box-shadow:var(--shadow);background:#fff}.option5Tiles button:first-child{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent}.option5Tiles button:first-child small{color:#d8fffb}.option5Tiles button>:first-child{grid-row:1/span 2;font-size:28px}.option5Tiles span{font-size:17px;font-weight:950}.option5Tiles small{color:var(--muted);font-weight:800}.option5DailyCards{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:12px;margin-bottom:16px}.option5DailyCards button{min-height:94px;display:grid;align-content:center;text-align:left;border-radius:18px;background:#fff;box-shadow:var(--shadow)}.option5DailyCards span{color:var(--muted);font-size:12px;font-weight:950;text-transform:uppercase;letter-spacing:.6px}.option5DailyCards strong{font-size:34px;line-height:1;margin:6px 0}.option5DailyCards small{color:var(--muted);font-weight:800}.option5DailyCards .warn strong,.option5DailyCards .warn span{color:var(--amber)}.option5DailyCards .danger strong,.option5DailyCards .danger span{color:var(--red)}.option5MainGrid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr);gap:16px;margin-bottom:16px}.option5Queue{display:grid;gap:10px}.queueItem{width:100%;display:grid;text-align:left;gap:3px;border-radius:14px;border-left-width:6px;background:#fff;min-height:76px}.queueItem span{color:var(--muted);font-size:11px;font-weight:950;text-transform:uppercase;letter-spacing:.6px}.queueItem strong{color:#102033;overflow-wrap:anywhere}.queueItem small{color:var(--muted);font-weight:800}.queueItem.red{border-left-color:var(--red)}.queueItem.amber{border-left-color:var(--amber)}.queueItem.blue{border-left-color:#2563eb}.option5Empty{border:1px dashed #cbd5e1;background:#f8fafc;border-radius:14px;padding:22px;color:var(--muted);text-align:center;font-weight:850}.option5Score{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:center}.option5Score strong{display:block;font-size:26px;margin-bottom:5px}.option5Score small{color:var(--muted);font-weight:850;line-height:1.4}.option5MiniLinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.option5MiniLinks button{min-height:44px;background:#f8fafc}.option5SecondaryGrid{grid-template-columns:minmax(0,1.5fr) minmax(360px,.75fr)}.option5SecondaryGrid .panel{min-width:0}.cleanUseHero{border-radius:26px}.cleanUseCard{border-radius:18px;box-shadow:0 10px 26px rgba(15,23,42,.045)}@media(max-width:1280px){.option5Tiles,.option5DailyCards{grid-template-columns:repeat(2,minmax(0,1fr))}.option5MainGrid,.option5SecondaryGrid{grid-template-columns:1fr}}@media(max-width:980px){.option5-shell{grid-template-columns:1fr}.option5-side{position:static;height:auto}.option5Hero{grid-template-columns:1fr}.option5User{min-width:0}}@media(max-width:680px){#root{padding:18px}.option5Tiles,.option5DailyCards,.option5Score,.option5MiniLinks{grid-template-columns:1fr}.option5Tiles button{min-height:92px}.option5Hero{padding:20px}}


/* Option 5 Equipment Status filter repair */
.option5EquipmentFilters {
  grid-template-columns: repeat(4, minmax(135px, 1fr)) auto;
  align-items: end;
  margin: 12px 0 14px;
}

.option5EquipmentFilters label {
  display: block;
  margin-bottom: 4px;
}

.option5EquipmentFilters select,
.option5EquipmentFilters button {
  width: 100%;
}

@media(max-width:1100px){
  .option5EquipmentFilters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width:650px){
  .option5EquipmentFilters {
    grid-template-columns: 1fr;
  }
}


/* Option 5 Action Queue click fix / affordance */
.queueItem {
  cursor: pointer;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.queueItem:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 28px rgba(15,23,42,.09);
}

.queueItem:focus-visible {
  outline: 3px solid rgba(0,111,104,.28);
  outline-offset: 2px;
}
