:root {
  --bg: #222f38;
  --bg-2: #1d2830;
  --panel: rgba(53, 66, 76, 0.88);
  --panel-2: rgba(29, 40, 48, 0.92);
  --line: rgba(233, 211, 166, 0.22);
  --text: #edf1f3;
  --muted: #aeb9c0;
  --amber: #e6ad43;
  --steel: #8d9aa3;
  --green: #74e078;
  --red: #ff8b73;
  --shadow: 0 20px 70px rgba(0,0,0,.32);
  --radius: 22px;
}
* { box-sizing: border-box; }
html, body { margin: 0; min-height: 100%; }
body {
  font-family: Arial, Helvetica, sans-serif;
  color: var(--text);
  background:
    linear-gradient(rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    radial-gradient(circle at top, rgba(231,173,67,.12), transparent 26rem),
    var(--bg);
  background-size: 28px 28px, 28px 28px, auto, auto;
}
a { color: inherit; }
button { font: inherit; }
code, pre { font-family: Consolas, Monaco, monospace; }
.overline {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .32em;
  font-weight: 700;
  color: var(--muted);
  font-size: .72rem;
}
.moon-login-page { display: grid; place-items: center; padding: 26px 8px 0; }
.login-shell { width: min(980px, 100%); }
.system-strip, .bbs-footer, .status-bar {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.14);
  background: var(--panel-2);
  color: var(--muted);
  border-radius: 999px;
  padding: 10px 16px;
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  letter-spacing: .08em;
  box-shadow: inset 0 1px rgba(255,255,255,.08);
}
.lamp { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 10px; vertical-align: -1px; }
.lamp-green { background: var(--green); box-shadow: 0 0 16px var(--green); }
.login-panel {
  margin: 34px auto 22px;
  text-align: center;
  padding: 38px min(56px, 5vw);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: var(--shadow);
}
.moon-mark { width: 54px; height: 54px; border-radius: 50%; margin: 0 auto 18px; background: var(--amber); position: relative; overflow: hidden; box-shadow: 0 0 50px rgba(231,173,67,.28); }
.moon-mark span { position: absolute; right: 8px; top: 5px; width: 22px; height: 44px; border-radius: 50%; background: var(--bg); }
.login-panel h1, .app-header h1, .gate-screen h1 {
  margin: 8px 0;
  text-transform: uppercase;
  letter-spacing: .03em;
  font-size: clamp(3rem, 10vw, 6.2rem);
  line-height: .9;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
}
.login-panel h2 { margin: 0; color: var(--amber); font-family: Consolas, Monaco, monospace; font-size: clamp(1rem, 3vw, 1.25rem); }
.tagline { color: var(--muted); font-style: italic; margin: 10px 0 22px; }
.logo-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin: 20px auto; max-width: 620px; }
.logo-badge { border: 1px solid var(--line); border-radius: 16px; padding: 14px; background: rgba(0,0,0,.16); color: var(--amber); font-weight: 800; letter-spacing: .16em; }
.mission-card, .control-card {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.mission-card { max-width: 760px; margin: 22px auto; padding: 22px; }
.mission-card h3, .control-card h2 { margin: 0 0 12px; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; letter-spacing: .04em; }
.mission-card p { margin: 0; line-height: 1.55; }
.google-button {
  border: 0;
  border-radius: 999px;
  padding: 14px 28px;
  background: #f4eddd;
  color: #18232b;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 28px rgba(0,0,0,.24);
}
.google-button:disabled { opacity: .6; cursor: wait; }
.google-dot { display: inline-grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: white; color: #4285f4; margin-right: 10px; }
.access-note { color: var(--muted); }
.login-status { min-height: 22px; font-family: Consolas, Monaco, monospace; color: var(--amber); }
.login-status.error { color: var(--red); }
.login-status.success { color: var(--green); }
.login-status.working { color: var(--amber); }
.bbs-footer { flex-wrap: wrap; justify-content: center; border-radius: 18px 18px 0 0; }
.app-shell { min-height: 100vh; padding: 16px 16px 54px; }
.app-header { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 18px; border: 1px solid rgba(255,255,255,.12); background: var(--panel-2); border-radius: 24px; }
.app-header h1 { font-size: clamp(2rem, 5vw, 3.2rem); }
.subline { margin: 0; color: var(--amber); font-family: Consolas, Monaco, monospace; }
.user-plate { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 18px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); }
.user-plate img { width: 42px; height: 42px; border-radius: 50%; }
.user-plate span { display: block; color: var(--muted); font-size: .9rem; }
.user-plate button, .nav-tab { border: 1px solid rgba(255,255,255,.14); background: rgba(0,0,0,.18); color: var(--text); border-radius: 999px; padding: 10px 14px; cursor: pointer; }
.app-nav { display: flex; gap: 10px; flex-wrap: wrap; margin: 14px 0; }
.nav-tab.is-active { color: #17212a; background: var(--amber); font-weight: 800; }
.dashboard-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; }
.control-card { grid-column: span 4; padding: 18px; min-height: 180px; }
.control-card.wide { grid-column: span 8; }
.control-card.tall { min-height: 270px; }
.card-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.card-head span { color: var(--muted); font-family: Consolas, Monaco, monospace; font-size: .8rem; }
.status-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.status-grid div { background: rgba(0,0,0,.16); border-radius: 16px; padding: 14px; border: 1px solid rgba(255,255,255,.09); }
.status-grid span { display: block; color: var(--muted); font-size: .82rem; }
.status-grid strong { color: var(--green); }
.weather-panel { display: grid; gap: 8px; }
.weather-panel strong { font-size: 3rem; color: var(--amber); }
.weather-panel span { color: var(--muted); }
.priority-list { margin: 0; padding-left: 22px; line-height: 1.9; }
.calendar-placeholder iframe { width: 100%; height: 140px; border: 1px solid rgba(255,255,255,.12); border-radius: 14px; background: rgba(0,0,0,.22); }
.job-row, .note-card { display: flex; justify-content: space-between; gap: 12px; padding: 12px; margin-bottom: 10px; border-radius: 14px; background: rgba(0,0,0,.14); border: 1px solid rgba(255,255,255,.09); }
.note-card { display: block; }
.note-card p { margin: 6px 0 0; color: var(--muted); }
.panel-highlight { outline: 2px solid var(--amber); }
.status-bar { position: fixed; left: 12px; right: 12px; bottom: 8px; border-radius: 999px; }
.gate-screen { min-height: 100vh; display: grid; place-content: center; text-align: center; padding: 24px; }
.gate-screen h1 { font-size: clamp(2rem, 6vw, 4rem); }
.gate-screen p { color: var(--muted); }
.gate-screen a { display: inline-block; margin: 0 auto; padding: 12px 18px; border-radius: 999px; background: var(--amber); color: #1b252d; font-weight: 800; text-decoration: none; }
pre { white-space: pre-wrap; overflow: auto; color: var(--green); }
@media (max-width: 900px) {
  .app-header, .user-plate { flex-direction: column; align-items: flex-start; }
  .control-card, .control-card.wide { grid-column: span 12; }
  .status-grid, .logo-row { grid-template-columns: 1fr 1fr; }
  .system-strip, .status-bar { align-items: flex-start; flex-direction: column; border-radius: 18px; }
  .status-bar { position: static; margin-top: 14px; }
}


/* MOON v0.2.1 refinement: cleaner header lockup and subtle instrument-panel polish */
.brand-lockup { display: flex; align-items: center; gap: 16px; }
.moon-mark-small { width: 44px; height: 44px; margin: 0; flex: 0 0 auto; }
.moon-mark-small span { width: 18px; height: 36px; right: 7px; top: 4px; }
.app-header h1 { text-transform: uppercase; letter-spacing: .035em; font-size: clamp(1.55rem, 3.8vw, 2.8rem); line-height: .95; }
.app-nav::before { content: "MODULE BUS"; align-self: center; color: var(--muted); font-family: Consolas, Monaco, monospace; font-size: .72rem; letter-spacing: .18em; margin-right: 4px; }
.control-card { position: relative; overflow: hidden; }
.control-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 3px; background: linear-gradient(90deg, transparent, rgba(230,173,67,.65), transparent); opacity: .65; }
.nav-tab { font-family: Consolas, Monaco, monospace; letter-spacing: .03em; }
@media (max-width: 900px) { .brand-lockup { align-items: flex-start; } }

/* MOON v0.3.0 tactical instrumentation + Shop Notes module */
.app-header .overline {
  color: var(--text);
  font-size: .9rem;
  letter-spacing: .28em;
}
.app-header .subline {
  color: var(--amber);
  font-size: 1rem;
  letter-spacing: .08em;
}
.moon-mark-tactical {
  background:
    radial-gradient(circle at 34% 32%, rgba(255,255,255,.92) 0 3px, transparent 4px),
    radial-gradient(circle at 62% 58%, rgba(0,0,0,.28) 0 5px, transparent 6px),
    radial-gradient(circle at 42% 70%, rgba(0,0,0,.22) 0 3px, transparent 4px),
    radial-gradient(circle at 58% 28%, rgba(255,255,255,.28), transparent 10px),
    radial-gradient(circle at 50% 50%, #d7c99f 0, #aa9b72 58%, #4c5c62 61%, #18222a 100%);
  border: 2px solid rgba(230,173,67,.65);
  box-shadow:
    inset 0 0 10px rgba(255,255,255,.24),
    inset 0 0 24px rgba(0,0,0,.46),
    0 0 0 4px rgba(0,0,0,.26),
    0 0 38px rgba(230,173,67,.18);
}
.moon-mark-tactical::before,
.moon-mark-tactical::after {
  content: "";
  position: absolute;
  inset: 50% auto auto 50%;
  width: 115%;
  height: 1px;
  background: rgba(230,173,67,.5);
  transform: translate(-50%, -50%);
}
.moon-mark-tactical::after {
  width: 1px;
  height: 115%;
}
.moon-mark-tactical span {
  display: none;
}
.note-form {
  display: grid;
  gap: 12px;
  padding: 14px;
  margin-bottom: 14px;
  border: 1px solid rgba(230,173,67,.22);
  border-radius: 18px;
  background: rgba(0,0,0,.18);
}
.form-grid {
  display: grid;
  grid-template-columns: 1fr 180px;
  gap: 12px;
}
.note-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.note-form input[type="text"],
.note-form select,
.note-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: var(--text);
  padding: 11px 12px;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
}
.note-form textarea { resize: vertical; min-height: 86px; }
.note-actions {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.pin-check {
  display: inline-flex !important;
  grid-auto-flow: column;
  align-items: center;
  gap: 8px !important;
}
.note-actions button,
.note-delete {
  border: 1px solid rgba(230,173,67,.38);
  border-radius: 999px;
  background: var(--amber);
  color: #17212a;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}
.note-actions button:disabled { opacity: .6; cursor: wait; }
.module-warning,
.empty-state {
  padding: 14px;
  border-radius: 14px;
  background: rgba(230,173,67,.12);
  border: 1px solid rgba(230,173,67,.25);
  color: var(--amber);
  margin-bottom: 14px;
}
.notes-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  letter-spacing: .06em;
  margin: 10px 0 12px;
}
.shop-notes-list {
  display: grid;
  gap: 12px;
  max-height: 580px;
  overflow: auto;
  padding-right: 4px;
}
.shop-note {
  border: 1px solid rgba(255,255,255,.10);
  border-left: 4px solid var(--steel);
  border-radius: 16px;
  background: rgba(0,0,0,.18);
  padding: 14px;
}
.shop-note.priority-important { border-left-color: var(--amber); }
.shop-note.priority-safety { border-left-color: var(--red); }
.shop-note.priority-schedule { border-left-color: #72b7ff; }
.note-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 8px;
  font-family: Consolas, Monaco, monospace;
  color: var(--muted);
  font-size: .76rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.note-pin {
  color: #17212a;
  background: var(--amber);
  border-radius: 999px;
  padding: 1px 8px;
  font-weight: 800;
}
.shop-note h3 {
  margin: 0 0 6px;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  letter-spacing: .03em;
  font-size: 1.3rem;
}
.shop-note p {
  margin: 0;
  color: var(--text);
  line-height: 1.5;
  white-space: pre-wrap;
}
.shop-note footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  color: var(--muted);
  font-size: .85rem;
}
.note-delete {
  padding: 7px 10px;
  background: rgba(255,139,115,.16);
  color: var(--red);
  border-color: rgba(255,139,115,.35);
}
@media (max-width: 720px) {
  .form-grid { grid-template-columns: 1fr; }
  .notes-toolbar, .shop-note footer { flex-direction: column; align-items: flex-start; }
}

/* MOON v0.4.0 readability pass + Calendar / TV Display */
:root {
  --heading-font: Arial, Helvetica, sans-serif;
}
.mission-card h3,
.control-card h2,
.shop-note h3 {
  font-family: var(--heading-font);
  font-weight: 800;
  letter-spacing: .015em;
  text-transform: uppercase;
  text-rendering: geometricPrecision;
}
.control-card h2 {
  font-size: 1.18rem;
  line-height: 1.15;
  color: #f7f0df;
}
.shop-note h3 {
  font-size: 1.12rem;
  line-height: 1.2;
}
.card-head span,
.notes-toolbar,
.note-meta,
.app-nav::before,
.subline {
  -webkit-font-smoothing: antialiased;
}
.nav-link {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.calendar-module {
  min-height: 250px;
}
.calendar-module iframe {
  width: 100%;
  height: 430px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(0,0,0,.22);
}
.calendar-setup {
  display: grid;
  gap: 8px;
  padding: 12px 0;
  color: var(--amber);
}
.calendar-setup span {
  color: var(--muted);
  line-height: 1.45;
}

.display-page {
  min-height: 100vh;
  overflow: hidden;
}
.display-shell {
  min-height: 100vh;
  padding: 18px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  gap: 14px;
}
.display-header,
.display-footer {
  border: 1px solid rgba(255,255,255,.12);
  background: var(--panel-2);
  border-radius: 22px;
  padding: 16px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.display-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}
.display-brand .overline {
  color: var(--text);
  font-size: .95rem;
}
.display-main {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 14px;
  min-height: 0;
}
.display-stack {
  display: grid;
  gap: 14px;
  min-height: 0;
}
.display-card {
  border: 1px solid var(--line);
  background: var(--panel);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding: 18px;
  overflow: hidden;
}
.display-card h2 {
  margin: 0 0 12px;
  font-family: var(--heading-font);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 1.2rem;
  letter-spacing: .015em;
}
.display-weather strong {
  display: block;
  font-size: clamp(3rem, 8vw, 5.5rem);
  line-height: .9;
  color: var(--amber);
}
.display-weather span {
  display: inline-block;
  margin: 8px 14px 0 0;
  color: var(--muted);
  font-size: 1.2rem;
}
.display-calendar iframe {
  width: 100%;
  height: 100%;
  min-height: 440px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: rgba(0,0,0,.22);
}
.display-notes {
  display: grid;
  gap: 12px;
  max-height: 50vh;
  overflow: auto;
}
.display-note {
  border-left: 4px solid var(--amber);
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(0,0,0,.18);
}
.display-note h3 {
  margin: 0 0 6px;
  font-family: var(--heading-font);
  font-size: 1.1rem;
  text-transform: uppercase;
}
.display-note p {
  margin: 0;
  color: var(--text);
  line-height: 1.45;
}
.display-note small,
.display-footer {
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
}
.display-jobs .job-row {
  font-size: 1.04rem;
}
@media (max-width: 1100px) {
  .display-main { grid-template-columns: 1fr; overflow: auto; }
  .display-page { overflow: auto; }
}

/* MOON v0.5.0 Administration Foundation */
.admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.settings-form {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(230,173,67,.22);
  border-radius: 18px;
  background: rgba(0,0,0,.18);
}
.settings-form h3 {
  margin: 0;
  font-family: var(--heading-font);
  font-size: 1rem;
  text-transform: uppercase;
  color: #f7f0df;
  letter-spacing: .02em;
}
.settings-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.settings-form input[type="text"],
.settings-form input[type="number"],
.settings-form select,
.settings-form textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  color: var(--text);
  padding: 11px 12px;
  font: inherit;
  text-transform: none;
  letter-spacing: normal;
}
.settings-form textarea { resize: vertical; }
.settings-form button {
  justify-self: start;
  border: 1px solid rgba(230,173,67,.38);
  border-radius: 999px;
  background: var(--amber);
  color: #17212a;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
}
.settings-form button:disabled { opacity: .6; cursor: wait; }
.check-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.check-grid label {
  display: flex;
  align-items: center;
  gap: 8px;
  text-transform: none;
  letter-spacing: normal;
}
.settings-status {
  margin: 14px 0;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(116,224,120,.10);
  border: 1px solid rgba(116,224,120,.24);
  color: var(--green);
  font-family: Consolas, Monaco, monospace;
}
.dev-details {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(0,0,0,.16);
}
.dev-details summary {
  cursor: pointer;
  color: var(--amber);
  font-family: Consolas, Monaco, monospace;
  text-transform: uppercase;
  letter-spacing: .08em;
  margin-bottom: 10px;
}
@media (max-width: 900px) {
  .admin-grid { grid-template-columns: 1fr; }
  .check-grid { grid-template-columns: 1fr; }
}

/* MOON v0.5.1 Calendar Enhancement */
.today-module iframe {
  min-height: 430px;
}
.settings-help {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .calendar-module iframe,
  .today-module iframe {
    height: 520px;
    min-height: 520px;
  }
  .app-nav {
    overflow-x: auto;
    flex-wrap: nowrap;
    padding-bottom: 4px;
  }
  .nav-tab {
    white-space: nowrap;
  }
}

/* MOON v0.6.1 Job Workflow */
.compact-form {
  display: grid;
  gap: 12px;
  padding: 14px;
  margin-bottom: 14px;
  border: 1px solid rgba(176, 141, 87, 0.32);
  border-radius: 18px;
  background: rgba(0,0,0,.16);
}
.compact-form textarea { min-height: 72px; }
.form-grid.four-up { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.priority-live-list,
.jobs-live-list { display: grid; gap: 10px; }
.priority-item,
.job-card-live {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 14px;
  align-items: start;
  padding: 14px;
  border-radius: 16px;
  background: rgba(0,0,0,.17);
  border: 1px solid rgba(255,255,255,.10);
}
.job-card-live { grid-template-columns: 1fr auto; }
.priority-rank {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  border: 1px solid var(--amber);
  color: var(--amber);
  font-weight: 900;
  font-size: 1.15rem;
  background: rgba(176,141,87,.12);
}
.priority-body h3,
.job-card-live h3 { margin-bottom: 6px; }
.priority-body p,
.job-card-live p { margin: 0; color: var(--muted); }
.job-card-live footer {
  margin-top: 10px;
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  color: var(--muted);
  font-size: .88rem;
}
.row-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.row-actions button {
  border: 1px solid rgba(255,255,255,.16);
  background: rgba(0,0,0,.18);
  color: var(--text);
  border-radius: 999px;
  padding: 8px 10px;
  cursor: pointer;
}
.row-actions button:hover { border-color: var(--amber); color: var(--amber); }
.priority-high { border-left: 4px solid var(--red); }
.priority-medium { border-left: 4px solid var(--amber); }
.priority-low { border-left: 4px solid var(--green); }
.status-quote { border-left: 4px solid #8aa0b7; }
.status-design { border-left: 4px solid #73a6ff; }
.status-approved { border-left: 4px solid var(--green); }
.status-material { border-left: 4px solid var(--amber); }
.status-fabrication { border-left: 4px solid #a9d8ff; }
.status-painting { border-left: 4px solid #d889ff; }
.status-install { border-left: 4px solid #ffcf6a; }
.status-on-hold { border-left: 4px solid var(--red); }
.status-completed { opacity: .72; border-left: 4px solid var(--green); }
@media (max-width: 900px) {
  .form-grid.four-up { grid-template-columns: 1fr; }
  .priority-item,
  .job-card-live { grid-template-columns: 1fr; }
  .row-actions { justify-content: flex-start; }
}
.display-jobs-list { display: grid; gap: 10px; }
.display-job-row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 8px 12px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.10);
}
.display-job-row strong { color: var(--text); }
.display-job-row span { color: var(--amber); }
.display-job-row small { grid-column: 1 / -1; color: var(--muted); }


/* MOON v0.6.1 Job Workflow Refinements */
.job-toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.job-toolbar select,
.job-controls select,
.job-controls input[type="checkbox"] {
  accent-color: var(--amber);
}
.job-toolbar select,
.job-controls select {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  color: var(--text);
  padding: 8px 10px;
}
.job-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.job-controls label {
  display: grid;
  gap: 5px;
  min-width: 120px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.job-controls .inline-check {
  display: inline-flex;
  align-items: center;
  min-width: auto;
  padding: 22px 8px 0;
  gap: 8px;
}
.job-card-live.is-top-priority,
.display-job-row.is-top-priority {
  border-color: rgba(230,173,67,.48);
  box-shadow: inset 0 0 0 1px rgba(230,173,67,.14), 0 0 22px rgba(230,173,67,.08);
}
.position-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.position-grid input {
  max-width: 90px;
}
@media (max-width: 900px) {
  .position-grid { grid-template-columns: 1fr; }
  .job-controls { display: grid; grid-template-columns: 1fr; }
  .job-controls .inline-check { padding: 0; }
}

/* MOON v0.6.2 Workflow Patch */
.form-grid.five-up {
  grid-template-columns: repeat(5, minmax(120px, 1fr));
}
select option {
  background: #f7f0df;
  color: #17212a;
}
.note-priority-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.priority-note-toggle {
  display: inline-flex !important;
  grid-auto-flow: column;
  align-items: center;
  gap: 6px !important;
  color: var(--text);
  font-family: var(--body-font);
  font-size: .82rem;
  letter-spacing: normal;
  text-transform: none;
}
.note-priority-controls select,
.job-controls input[type="text"] {
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  color: var(--text);
  padding: 8px 10px;
}
.note-priority-controls select:disabled {
  opacity: .45;
}
.forecast-strip {
  display: grid;
  gap: 4px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,.10);
}
.forecast-strip span {
  color: var(--text);
  font-size: .92rem;
}
.display-weather .forecast-strip span {
  font-size: 1.05rem;
}
@media (max-width: 980px) {
  .form-grid.five-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .form-grid.five-up {
    grid-template-columns: 1fr;
  }
}

/* MOON v0.6.3 Tasks + Users */
.note-form select,
.job-form select,
.job-toolbar select,
.job-controls select,
.note-priority-controls select,
.settings-form select,
.user-admin-controls select {
  background: #f7f0df;
  color: #17212a;
  font-weight: 650;
}

.job-controls select,
.note-priority-controls select {
  min-width: 150px;
}

.assign-caption {
  display: inline-flex;
  align-items: center;
  color: var(--brass);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.user-admin-list {
  display: grid;
  gap: 10px;
}

.user-admin-card {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 14px;
  align-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255,255,255,.045);
}

.user-admin-card.is-disabled {
  opacity: .58;
}

.user-admin-card h3 {
  margin: 0 0 4px;
  font-family: var(--heading-font);
  letter-spacing: .03em;
}

.user-admin-card p {
  margin: 0;
  color: var(--muted);
  font-size: .9rem;
}

.user-admin-controls {
  display: grid;
  grid-template-columns: 1fr 1fr auto auto auto;
  gap: 8px;
  align-items: end;
}

.user-admin-controls button {
  min-height: 42px;
  padding: 0 12px;
}

@media (max-width: 900px) {
  .user-admin-card,
  .user-admin-controls {
    grid-template-columns: 1fr;
  }
}


/* MOON v0.6.4 Editability Patch */
.inline-edit-panel {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(230,173,67,.22);
  border-radius: 14px;
  background: rgba(0,0,0,.20);
  display: grid;
  gap: 12px;
}
.inline-edit-panel[hidden] { display: none !important; }
.inline-edit-panel input,
.inline-edit-panel textarea {
  width: 100%;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
  color: var(--text);
  padding: 10px 12px;
}
.inline-edit-panel label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.inline-edit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.compact-inline-field {
  display: inline-grid;
  gap: 4px;
  color: var(--muted);
  font-family: Consolas, Monaco, monospace;
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.note-edit {
  border-color: rgba(230,173,67,.35);
}

/* MOON v0.7.0 workflow beta: modules/consoles, progress bars, resources */
.control-card { transition: opacity 160ms ease, transform 160ms ease; }
.resource-list { display: grid; gap: 12px; }
.resource-list article { padding: 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 14px; background: rgba(0,0,0,.16); }
.resource-list h3 { margin: 0 0 6px; color: var(--amber); font-family: Arial, Helvetica, sans-serif; letter-spacing: .02em; }
.resource-list p { margin: 0 0 8px; color: var(--muted); }
.resource-list a[aria-disabled="true"] { opacity: .65; pointer-events: none; }
.job-progress-bar { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 4px; margin: 10px 0 12px; }
.job-progress-segment { position: relative; min-height: 18px; border-radius: 999px; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.1); box-shadow: inset 0 1px rgba(255,255,255,.08); }
.job-progress-segment.is-lit { background: linear-gradient(90deg, rgba(116,224,120,.7), rgba(230,173,67,.75)); box-shadow: 0 0 12px rgba(230,173,67,.22), inset 0 1px rgba(255,255,255,.22); }
.job-progress-segment.is-current { outline: 2px solid rgba(255,255,255,.35); }
.job-progress-segment i { display: none; position: absolute; left: 50%; top: 24px; transform: translateX(-50%); white-space: nowrap; font-style: normal; font-size: .68rem; color: var(--muted); background: rgba(0,0,0,.58); padding: 2px 6px; border-radius: 999px; z-index: 4; }
.job-progress-segment:hover i { display: block; }
.dashboard-module-grid label, .position-grid label { background: rgba(0,0,0,.14); padding: 10px; border-radius: 12px; border: 1px solid rgba(255,255,255,.08); }
.dashboard-module-grid input[type="number"], .position-grid input[type="number"] { max-width: 80px; margin-left: 8px; }
.user-admin-controls-expanded { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
.settings-form h3::after { content: ""; display: block; width: 64px; height: 2px; margin-top: 8px; background: var(--amber); opacity: .75; }
@media (max-width: 900px) {
  .job-progress-bar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .job-progress-segment i { display: block; position: static; transform: none; background: transparent; padding: 2px 0; text-align: center; white-space: normal; font-size: .62rem; }
  .user-admin-controls-expanded { grid-template-columns: 1fr; }
}


/* MOON v0.7.1 consoles + segmented job status */
.console-card {
  border-color: rgba(124, 178, 255, .25);
  box-shadow: inset 0 0 0 1px rgba(124,178,255,.05), 0 20px 42px rgba(0,0,0,.18);
}
.console-card .card-head h2::before {
  content: "CONSOLE / ";
  color: rgba(124,178,255,.8);
  font-size: .76em;
}
.admin-console {
  border-color: rgba(230,173,67,.42);
}
.job-status-strip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
  margin: 10px 0 12px;
}
.job-progress-bar.labeled-progress {
  grid-template-columns: repeat(8, minmax(66px, 1fr));
  gap: 5px;
  margin: 0;
}
.job-progress-segment {
  min-height: 34px;
  border-radius: 8px;
  opacity: .45;
}
.job-progress-segment i {
  display: grid;
  place-items: center;
  position: static;
  transform: none;
  height: 100%;
  white-space: normal;
  background: transparent;
  padding: 2px 4px;
  font-size: .62rem;
  line-height: 1.05;
  text-align: center;
  color: rgba(255,255,255,.74);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.job-progress-segment.is-lit { opacity: 1; }
.segment-yellow.is-lit { background: linear-gradient(180deg, #ffd95b, #a97804); }
.segment-yellow-green.is-lit { background: linear-gradient(180deg, #d9f46a, #718b19); }
.segment-green.is-lit { background: linear-gradient(180deg, #73e06e, #236b2d); }
.segment-green-blue.is-lit { background: linear-gradient(180deg, #56d8c9, #116b79); }
.segment-gray.is-lit { background: linear-gradient(180deg, #aab2ba, #535b64); }
.segment-purple.is-lit { background: linear-gradient(180deg, #c283ff, #6730a7); }
.segment-blue.is-lit { background: linear-gradient(180deg, #7caeff, #1b5799); }
.segment-red.is-lit { background: linear-gradient(180deg, #ff6c5f, #9b1f1a); }
.job-progress-segment.is-current {
  outline: 2px solid rgba(255,255,255,.72);
  box-shadow: 0 0 18px rgba(230,173,67,.26), inset 0 1px rgba(255,255,255,.24);
}
.job-percent-readout {
  justify-self: end;
  min-width: 94px;
  padding: 6px 8px;
  border: 1px solid rgba(230,173,67,.28);
  border-radius: 10px;
  color: var(--amber);
  font-family: Consolas, Monaco, monospace;
  font-size: .78rem;
  text-align: center;
  background: rgba(0,0,0,.18);
}
.job-notes {
  margin: 8px 0;
  padding: 9px 10px;
  border-left: 3px solid rgba(230,173,67,.55);
  background: rgba(0,0,0,.18);
  color: var(--muted);
  border-radius: 10px;
}
.job-notes strong { color: var(--text); }
.job-notes.is-empty { opacity: .72; }
@media (max-width: 900px) {
  .job-status-strip { grid-template-columns: 1fr; }
  .job-progress-bar.labeled-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .job-percent-readout { justify-self: stretch; }
}


/* MOON v0.7.2 Command Center polish */
html { scroll-behavior: smooth; }
.app-header { position: relative; z-index: 50; }
.app-nav-bus {
  position: sticky;
  top: 10px;
  z-index: 45;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(29,40,48,.82);
  backdrop-filter: blur(12px);
  box-shadow: 0 14px 36px rgba(0,0,0,.24), inset 0 1px rgba(255,255,255,.08);
}
.app-nav-bus .nav-tab {
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .78rem;
  border-color: rgba(230,173,67,.18);
}
.app-nav-bus .nav-tab:hover,
.app-nav-bus .nav-tab.is-active {
  background: rgba(230,173,67,.90);
  color: #17212a;
}
.bus-heading {
  grid-column: 1 / -1;
  padding: 16px 18px;
  border-radius: 18px;
  background: linear-gradient(90deg, rgba(230,173,67,.14), rgba(255,255,255,.035));
  border: 1px solid rgba(230,173,67,.20);
  box-shadow: inset 0 1px rgba(255,255,255,.06);
}
.bus-heading h2 { margin: 2px 0 4px; font-size: clamp(1.35rem, 3vw, 2rem); font-family: Arial, Helvetica, sans-serif; letter-spacing: .02em; }
.bus-heading span { color: var(--muted); }
.console-bus-heading { background: linear-gradient(90deg, rgba(124,178,255,.12), rgba(255,255,255,.025)); border-color: rgba(124,178,255,.22); }
.console-card,
.admin-console {
  border-radius: 0;
  border-width: 1px 0;
  border-color: rgba(124,178,255,.22);
  background: linear-gradient(90deg, rgba(124,178,255,.055), rgba(0,0,0,.11));
  box-shadow: none;
}
.console-card .card-head,
.admin-console .card-head { border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 8px; }
.control-card:not(.console-card):not(.admin-console) { scroll-margin-top: 108px; }
#console-bus, #module-bus, #employee-resources-card { scroll-margin-top: 108px; }
.job-progress-bar.labeled-progress { grid-template-columns: repeat(8, minmax(72px, 1fr)); overflow-x: auto; padding-bottom: 3px; }
.job-progress-segment:not(.is-lit) { background: rgba(0,0,0,.34); }
.job-progress-segment.is-lit:not(.is-current) { filter: saturate(.9) brightness(.82); }
.job-progress-segment.is-current { filter: saturate(1.15) brightness(1.08); }
.job-card-live { padding: 16px; }
.job-main h3 { margin-top: 6px; }
.note-actions, .row-actions { gap: 8px; }
.form-grid.two-up { grid-template-columns: repeat(2, minmax(0,1fr)); }
.resource-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 1100px) {
  .dashboard-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .control-card, .control-card.wide { grid-column: span 6; }
  .resource-list { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .app-shell { padding: 10px 10px 70px; }
  .app-header { flex-direction: column; align-items: stretch; border-radius: 18px; }
  .brand-lockup, .user-plate { width: 100%; }
  .app-nav-bus { top: 4px; border-radius: 18px; justify-content: center; }
  .app-nav-bus .nav-tab { flex: 1 1 42%; text-align: center; padding: 11px 8px; }
  .dashboard-grid { grid-template-columns: 1fr; gap: 12px; }
  .control-card, .control-card.wide, .control-card.tall { grid-column: 1; min-height: auto; padding: 14px; }
  .status-grid, .form-grid, .form-grid.two-up { grid-template-columns: 1fr; }
  .card-head { align-items: flex-start; flex-direction: column; gap: 4px; }
  .job-controls { grid-template-columns: 1fr; }
  .job-progress-bar.labeled-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow-x: visible; }
  .row-actions, .note-actions, .inline-edit-actions { display: grid; grid-template-columns: 1fr; }
  .status-bar { position: static; border-radius: 14px; margin-top: 14px; flex-direction: column; align-items: flex-start; }
}


/* MOON v0.7.4 control view + console cleanup */
.bus-heading { display: none !important; }
#daily-command-card, #create-task-console, #employee-resources-card { scroll-margin-top: 108px; }
.console-subhead { margin: 6px 0 0; color: var(--amber); font-family: Arial, Helvetica, sans-serif; text-transform: uppercase; letter-spacing: .08em; font-size: .82rem; }
.compact-position-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 720px) { .compact-position-grid { grid-template-columns: 1fr; } }
.display-page { overflow: hidden; }
.display-shell { min-height: 100vh; display: grid; grid-template-rows: auto minmax(0, 1fr) auto; gap: 14px; padding: 16px; }
.display-main { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 14px; min-height: 0; align-items: stretch; }
.display-card { min-height: 0; }
.display-card[data-display-module="calendar"] { grid-column: span 5; }
.display-card[data-display-module="weekCalendar"] { grid-column: span 7; }
.display-card[data-display-module="weather"] { grid-column: span 4; }
.display-card[data-display-module="priorities"] { grid-column: span 4; }
.display-card[data-display-module="notes"] { grid-column: span 4; }
.display-card[data-display-module="jobs"] { grid-column: 1 / -1; }
.display-calendar iframe { min-height: 310px; height: 34vh; }
.display-jobs-list { max-height: 42vh; overflow: auto; }
.display-job-card { display: grid; gap: 8px; padding: 14px; border-radius: 16px; background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.10); }
.display-job-title-row { display: flex; justify-content: space-between; gap: 14px; align-items: start; }
.display-job-title-row strong { display: block; font-size: clamp(1.05rem, 1.5vw, 1.45rem); text-transform: uppercase; letter-spacing: .035em; }
.display-job-title-row small { display: block; margin-top: 4px; color: var(--muted); }
.display-job-detail, .display-job-notes { margin: 0; color: var(--text); font-size: clamp(.9rem, 1.1vw, 1.05rem); line-height: 1.35; }
.display-job-notes { color: var(--muted); border-left: 3px solid rgba(230,173,67,.55); padding-left: 10px; }
.display-job-status-strip .job-progress-bar.labeled-progress { grid-template-columns: repeat(8, minmax(86px, 1fr)); }
.display-job-status-strip .job-progress-segment { min-height: 42px; }
.display-job-status-strip .job-progress-segment i { font-size: .68rem; }
@media (min-width: 1500px) { .display-shell { padding: 22px; } .display-main { gap: 18px; } .display-card { padding: 22px; } .display-calendar iframe { min-height: 360px; } }
@media (max-width: 1100px) { .display-page { overflow: auto; } .display-shell { display: block; } .display-main { grid-template-columns: 1fr; overflow: visible; } .display-card[data-display-module] { grid-column: auto; margin-bottom: 14px; } .display-calendar iframe { height: 420px; } }

/* MOON v0.8.0 Operation: Steel Blue - dense operations layout */
:root {
  --radius: 8px;
  --radius-sm: 5px;
  --density-pad: 10px;
  --module-gap: 10px;
}
body { font-size: 14px; }
.app-shell { padding: 10px 10px 38px; }
.app-header { padding: 10px 14px; border-radius: 12px; min-height: 68px; }
.brand-lockup { gap: 10px; }
.app-header .overline { font-size: .78rem; letter-spacing: .30em; }
.app-header .subline { font-size: .82rem; }
.user-plate { padding: 6px 8px; border-radius: 10px; }
.user-plate img { width: 34px; height: 34px; }
.user-plate button, .nav-tab, button { border-radius: 5px; padding: 6px 10px; font-size: .82rem; }
.app-nav { position: sticky; top: 0; z-index: 50; margin: 8px 0 10px; padding: 7px 8px; border: 1px solid rgba(255,255,255,.1); background: rgba(25,36,44,.92); backdrop-filter: blur(10px); border-radius: 10px; }
.app-nav::before { font-size: .66rem; }
.dashboard-grid { grid-template-columns: repeat(24, minmax(0, 1fr)); gap: var(--module-gap); align-items: start; }
.control-card { padding: var(--density-pad); border-radius: var(--radius); min-height: 96px; box-shadow: 0 10px 30px rgba(0,0,0,.22); }
.control-card.tall { min-height: 175px; }
.control-card.wide { grid-column: span 12; }
.control-card h2 { font-family: Arial, Helvetica, sans-serif !important; font-weight: 900; font-size: 1.03rem; letter-spacing: .035em; margin: 0; }
.card-head { margin-bottom: 8px; }
.card-head span, .notes-toolbar, .note-meta, label { font-size: .72rem; }
.status-grid { gap: 7px; grid-template-columns: repeat(4, 1fr); }
.status-grid div { padding: 8px; border-radius: 7px; }
.weather-panel { gap: 4px; }
.weather-panel strong { font-size: 2.35rem; line-height: 1; }
.forecast-strip { margin-top: 6px; padding-top: 6px; }
/* fixed command-center module order */
[data-module="command"] { order: 1; grid-column: span 16; }
[data-module="weather"] { order: 2; grid-column: span 8; }
[data-module="calendar"] { order: 3; grid-column: span 8; }
[data-module="priorities"] { order: 4; grid-column: span 8; }
[data-module="jobs"] { order: 5; grid-column: span 16; }
[data-module="shopTasks"] { order: 6; grid-column: span 12; }
[data-module="today"] { order: 7; grid-column: span 12; }
[data-module="employeeResources"] { order: 8; grid-column: span 8; }
.console-break { order: 20; grid-column: 1 / -1; margin: 12px 0 2px; padding: 14px 10px; border-top: 2px solid rgba(230,173,67,.42); border-bottom: 1px solid rgba(255,255,255,.10); color: var(--muted); font-family: Consolas, Monaco, monospace; letter-spacing: .11em; text-transform: uppercase; }
.console-break span { color: #7fb2f0; margin-right: 12px; }
.console-break strong { color: var(--text); font-family: Arial, Helvetica, sans-serif; letter-spacing: .04em; }
.console-card, .admin-console { order: 30; grid-column: span 12; background: rgba(20,31,39,.30); box-shadow: none; border: 0; border-top: 1px solid rgba(230,173,67,.32); border-radius: 0; }
.console-card::before, .admin-console::before { display: none; }
.console-card .card-head, .admin-console .card-head { border-bottom: 1px solid rgba(255,255,255,.10); padding-bottom: 7px; }
/* dense live lists */
.priority-live-list, .shop-notes-list, .jobs-live-list { display: grid; gap: 7px; }
.priority-item { grid-template-columns: 34px 1fr auto; gap: 8px; padding: 7px 9px; min-height: 50px; border-radius: 7px; }
.priority-rank { width: 28px; height: 28px; border-radius: 5px; font-size: .85rem; }
.priority-body h3, .shop-note-card h3, .job-card-live h3 { font-size: .98rem; margin: 0 0 3px; line-height: 1.1; }
.priority-body p, .shop-note-card p, .job-card-live p { font-size: .82rem; line-height: 1.25; }
.shop-note-card { padding: 8px 9px; border-radius: 7px; display: grid; grid-template-columns: 1fr auto; gap: 8px; }
.note-actions, .row-actions { gap: 5px; }
.row-actions button, .note-actions button, .inline-edit-actions button { padding: 5px 8px; font-size: .78rem; border-radius: 5px; }
.job-card-live { padding: 8px 10px !important; border-radius: 7px; grid-template-columns: 1fr auto; gap: 8px; }
.job-card-live footer { padding-top: 5px; margin-top: 5px; gap: 10px; font-size: .75rem; }
.job-notes { padding: 5px 7px; margin: 5px 0; border-radius: 6px; font-size: .82rem; }
.job-controls { display: grid; grid-template-columns: 140px 86px 120px 160px 98px; gap: 7px; align-items: end; margin-top: 7px; }
.job-controls select, .job-controls input, input, select, textarea { border-radius: 5px !important; padding: 6px 8px !important; font-size: .84rem; }
.inline-edit-panel { margin-top: 8px; padding: 8px; border-radius: 7px; }
/* New process/status bar: Hold is independent and outside the percent total */
.job-status-strip { margin: 6px 0 4px; }
.job-status-strip.is-on-hold { outline: 1px solid rgba(255,91,82,.65); border-radius: 7px; padding: 4px; background: rgba(255,91,82,.06); }
.job-progress-bar.labeled-progress { display: grid; grid-template-columns: repeat(8, minmax(64px, 1fr)); gap: 4px; overflow-x: auto; padding-bottom: 2px; margin: 4px 0; }
.job-progress-segment { min-height: 28px !important; border-radius: 5px !important; opacity: .38; display: grid; place-items: center; padding: 2px 4px; }
.job-progress-segment i { display: block !important; position: static !important; transform: none !important; background: transparent !important; padding: 0 !important; color: rgba(255,255,255,.78) !important; font-size: .58rem !important; line-height: 1; text-align: center; text-transform: uppercase; letter-spacing: .035em; }
.job-progress-segment.is-lit { opacity: .95; }
.job-progress-segment.is-current { outline: 2px solid rgba(255,255,255,.65); filter: saturate(1.2) brightness(1.18); }
.segment-yellow.is-lit { background: linear-gradient(180deg, #f2c13e, #9b7819); }
.segment-yellow-green.is-lit { background: linear-gradient(180deg, #b8d452, #607a25); }
.segment-green.is-lit { background: linear-gradient(180deg, #65d15e, #2f762e); }
.segment-green-blue.is-lit { background: linear-gradient(180deg, #38bba7, #245f60); }
.segment-gray.is-lit { background: linear-gradient(180deg, #aeb7bd, #5b656c); }
.segment-purple.is-lit { background: linear-gradient(180deg, #a06ade, #5b3b88); }
.segment-blue.is-lit { background: linear-gradient(180deg, #5fa4ed, #2a5b94); }
.job-progress-summary { display: flex; justify-content: flex-end; align-items: center; gap: 8px; font-family: Consolas, Monaco, monospace; font-size: .72rem; }
.job-percent-readout { color: var(--amber); border: 1px solid rgba(230,173,67,.25); border-radius: 5px; padding: 3px 7px; white-space: nowrap; }
.hold-indicator { border: 1px solid rgba(255,255,255,.14); color: var(--muted); border-radius: 5px; padding: 3px 7px; white-space: nowrap; }
.hold-indicator.is-active { color: #fff; background: rgba(255,91,82,.78); border-color: rgba(255,91,82,.85); box-shadow: 0 0 14px rgba(255,91,82,.22); }
.hold-reason { font-size: .78rem; color: #ffd7d2; margin-top: 3px; }
/* Calendar/iframe compacting */
.calendar-module iframe { min-height: 315px; }
#today-card .calendar-module iframe { min-height: 290px; }
.resource-list { gap: 7px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resource-list article { padding: 8px 10px; border-radius: 7px; }
.resource-list h3 { font-size: .96rem; margin-bottom: 3px; }
.resource-list p { font-size: .8rem; line-height: 1.25; }
/* Control View: 55 inch 16:9 situation board */
.display-shell { padding: 10px 12px 28px; height: 100vh; overflow: hidden; }
.display-header { padding: 8px 12px; border-radius: 8px; min-height: 58px; }
.display-main { display: grid; grid-template-columns: repeat(24, minmax(0, 1fr)); gap: 9px; height: calc(100vh - 102px); overflow: hidden; }
.display-card { padding: 10px !important; border-radius: 7px !important; min-height: 0; }
.display-card h2 { font-size: clamp(.95rem, 1.2vw, 1.25rem) !important; margin-bottom: 6px; }
.display-card[data-display-module="calendar"] { grid-column: span 7; grid-row: span 2; }
.display-card[data-display-module="weekCalendar"] { grid-column: span 11; grid-row: span 2; }
.display-card[data-display-module="weather"] { grid-column: span 6; }
.display-card[data-display-module="priorities"] { grid-column: span 6; }
.display-card[data-display-module="jobs"] { grid-column: span 14; grid-row: span 3; }
.display-card[data-display-module="notes"] { grid-column: span 10; grid-row: span 2; }
.display-calendar iframe { height: 100%; min-height: 240px; }
.display-jobs-list { max-height: 100%; overflow: auto; gap: 6px; }
.display-job-card { padding: 7px 8px; border-radius: 6px; gap: 5px; }
.display-job-title-row strong { font-size: clamp(.86rem, .95vw, 1.05rem); }
.display-job-title-row small, .display-job-detail, .display-job-notes { font-size: clamp(.68rem, .78vw, .86rem); }
.display-job-status-strip .job-progress-bar.labeled-progress { grid-template-columns: repeat(8, minmax(52px, 1fr)); gap: 3px; }
.display-job-status-strip .job-progress-segment { min-height: 24px !important; }
.display-note { padding: 7px 8px; border-radius: 6px; }
.display-note h3 { font-size: .9rem; margin: 2px 0; }
.display-note p { font-size: .76rem; line-height: 1.22; }
@media (min-width: 1500px) {
  .dashboard-grid { gap: 10px; }
  [data-module="jobs"] { grid-column: span 16; }
  [data-module="calendar"], [data-module="priorities"] { grid-column: span 8; }
}
@media (max-width: 1200px) {
  [data-module], .control-card, .control-card.wide { grid-column: span 12; }
  [data-module="jobs"], [data-module="command"] { grid-column: span 24; }
  .console-card, .admin-console { grid-column: span 24; }
  .job-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .app-shell { padding: 7px 7px 20px; }
  .dashboard-grid { display: block; }
  .control-card { margin-bottom: 8px; min-height: auto; }
  .status-grid { grid-template-columns: repeat(2, 1fr); }
  .job-card-live { display: block; }
  .row-actions { margin-top: 6px; justify-content: flex-start; flex-wrap: wrap; }
  .job-progress-bar.labeled-progress { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .job-controls { grid-template-columns: 1fr; }
  .app-nav { overflow-x: auto; white-space: nowrap; flex-wrap: nowrap; }
}


/* PROJECT MOON v1.0.0 Production Release polish */
.app-nav { min-height: 36px; padding: 5px 7px; gap: 6px; border-radius: 7px; margin: 6px 0 8px; }
.app-nav::before { font-size: .58rem; letter-spacing: .14em; }
.app-nav-bus .nav-tab, .nav-tab { padding: 5px 10px; font-size: .76rem; border-radius: 5px; }
.control-card { border-radius: 6px; padding: 8px; }
.card-head { margin-bottom: 6px; }
.control-card h2, .display-card h2 { letter-spacing: .03em; }
.console-break { margin: 16px 0 6px; padding: 10px 8px; }
.split-console { grid-column: span 12; min-height: auto; }
.split-console.wide { grid-column: span 16; }
.split-console .settings-form { border: 0; background: transparent; padding: 0; }
#current-users-console { overflow: hidden; }
.user-admin-list { display: grid; gap: 8px; max-height: 520px; overflow: auto; padding-right: 4px; }
.user-admin-card { display: grid; grid-template-columns: 220px 1fr; gap: 10px; padding: 10px; border-radius: 6px; }
.user-admin-controls-expanded { display: grid; grid-template-columns: repeat(2, minmax(120px, 1fr)); gap: 7px; }
#user-admin-form input, #user-admin-form select { min-width: 0; }
.job-card-live { grid-template-columns: 1fr auto; }
.job-card-live .row-actions { min-width: 190px; display: flex; justify-content: flex-end; align-items: flex-start; flex-wrap: wrap; }
.job-status-strip { clear: both; width: 100%; }
.job-progress-bar.labeled-progress { overflow-x: visible; grid-template-columns: .75fr .85fr .85fr .95fr .75fr .72fr .72fr .85fr; min-width: 0; }
.job-progress-segment { min-width: 0; }
.job-progress-segment i { font-size: clamp(.46rem, .58vw, .58rem) !important; white-space: normal; overflow: hidden; text-overflow: ellipsis; }
.hold-indicator:not(.is-active) { color: #7bff8a; border-color: rgba(123,255,138,.28); }
/* Control View v1.0: 55 inch situation board, no calendars by default */
.display-shell { padding: 8px 10px 28px; gap: 7px; }
.display-header { min-height: 52px; padding: 7px 10px; }
.display-main { grid-template-columns: repeat(24, minmax(0, 1fr)); grid-auto-rows: minmax(0, auto); gap: 7px; height: calc(100vh - 86px); }
.display-card { padding: 8px !important; }
.display-command { grid-column: 1 / -1; min-height: 70px !important; }
.display-command-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.display-command-panel div { padding: 7px 9px; border-radius: 5px; background: rgba(0,0,0,.20); border: 1px solid rgba(255,255,255,.08); }
.display-command-panel span { display: block; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .08em; }
.display-command-panel strong { color: #7bff8a; font-size: 1.25rem; }
.display-card[data-display-module="jobs"] { grid-column: span 14; grid-row: span 7; }
.display-card[data-display-module="priorities"] { grid-column: span 6; grid-row: span 3; }
.display-card[data-display-module="weather"] { grid-column: span 4; grid-row: span 3; }
.display-card[data-display-module="notes"] { grid-column: span 10; grid-row: span 4; }
.display-card[data-display-module="calendar"], .display-card[data-display-module="weekCalendar"] { display: none !important; }
.display-weather #display-weather-panel strong, #display-weather-panel strong { font-size: clamp(2.1rem, 4vw, 4rem); line-height: .95; }
#display-weather-panel { display: grid; gap: 3px; }
.display-jobs-list { overflow: hidden; max-height: none; display: grid; gap: 5px; }
.display-job-card { padding: 5px 6px; gap: 4px; }
.display-job-title-row { display: grid; grid-template-columns: 190px 1fr auto; gap: 8px; align-items: center; }
.display-job-title-row strong { font-size: clamp(.8rem, .95vw, 1rem); }
.display-job-title-row small { font-size: clamp(.62rem, .72vw, .8rem); }
.display-job-status-strip .job-progress-bar.labeled-progress { grid-template-columns: .75fr .85fr .85fr .95fr .75fr .72fr .72fr .85fr; gap: 3px; }
.display-job-status-strip .job-progress-segment { min-height: 20px !important; }
.display-job-status-strip .job-progress-segment i { font-size: clamp(.42rem, .5vw, .56rem) !important; }
.display-job-notes { display: none; }
.display-note { padding: 5px 7px; }
.display-note h3 { font-size: .82rem; }
.display-note p { font-size: .70rem; }
@media (max-width: 1200px) { .split-console, .split-console.wide { grid-column: span 24; } .user-admin-card { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .app-nav { top: 0; } .display-command-panel { grid-template-columns: repeat(2, 1fr); } }


/* MOON v1.0.1 launch patch: full-width Command Board + Control View command-first */
#daily-command-card { grid-column: 1 / -1 !important; min-height: 82px; }
.command-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 7px; }
.command-grid div { padding: 7px 9px; border-radius: 5px; }
.command-grid span { font-size: .68rem; text-transform: uppercase; letter-spacing: .06em; }
.command-grid strong { font-size: .92rem; }
.display-command { grid-column: 1 / -1 !important; order: 1 !important; min-height: 72px !important; }
.display-main .display-card:not(.display-command) { min-height: 0; }
@media (max-width: 1100px) { .command-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 650px) { .command-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* MOON v1.0.2 production feedback patch */
.job-number-label {
  display: inline-block;
  margin-right: 6px;
  color: var(--amber);
  font-family: var(--mono);
  letter-spacing: .04em;
}
.shop-note.is-completed,
.display-note.is-completed {
  opacity: .62;
  filter: saturate(.65);
}
.shop-note.is-completed h3,
.display-note.is-completed h3 {
  text-decoration: line-through;
  text-decoration-thickness: 1px;
}
.resource-accordion {
  display: grid;
  gap: 8px;
}
.resource-accordion details {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.14);
  border-radius: 6px;
  padding: 0;
  overflow: hidden;
}
.resource-accordion summary {
  cursor: pointer;
  color: var(--amber);
  font-weight: 900;
  padding: 10px 12px;
  list-style-position: inside;
}
.resource-accordion a {
  display: block;
  padding: 7px 14px 9px 28px;
  color: var(--text);
  border-top: 1px solid rgba(255,255,255,.07);
}
.control-view-page { overflow: auto; }
.control-view-shell { min-height: 100vh; }
.control-view-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  padding-bottom: 72px;
}
.control-full { grid-column: 1 / -1; }
.control-view-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
}
.control-view-card-head h2 { margin: 0; }
.control-view-card-head label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--muted);
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.control-view-card-head select { min-width: 190px; }
.control-jobs-list {
  max-height: none;
  overflow: visible;
}
.control-jobs-list .display-job-row { margin-bottom: 8px; }
.control-notes-list {
  max-height: none;
  overflow: visible;
}
.hold-indicator:not(.is-active) {
  color: #53ff8b;
  border-color: rgba(83,255,139,.45);
}

/* MOON v1.0.3 launch polish */
#create-job-console,
#create-task-console,
#dashboard-settings-console {
  grid-column: 1 / -1;
}
#create-job-console {
  background: linear-gradient(135deg, rgba(29, 58, 75, 0.72), rgba(19, 34, 44, 0.94));
  border-color: rgba(93, 171, 205, 0.42);
}
#create-task-console {
  background: linear-gradient(135deg, rgba(62, 51, 28, 0.64), rgba(28, 33, 38, 0.94));
  border-color: rgba(231, 177, 64, 0.42);
}
#dashboard-settings-console {
  background: linear-gradient(135deg, rgba(42, 48, 58, 0.68), rgba(21, 30, 38, 0.94));
}
.console-card.split-console {
  align-self: start;
}
.dashboard-order-grid {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}
.control-job-columns {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}
.control-job-columns .display-card {
  min-width: 0;
}
.control-view-page,
.control-view-page .display-shell,
.control-view-page .control-view-main {
  min-height: 100vh;
}
.control-view-page .control-view-main {
  overflow: visible;
}
.control-view-page .display-footer {
  position: sticky;
  bottom: 0;
}
.display-page .display-command-panel {
  grid-template-columns: repeat(8, minmax(105px, 1fr));
}
.display-page .display-command-panel div {
  min-height: 38px;
  padding: 6px 8px;
}
.display-page .display-command-panel span {
  font-size: 10px;
}
.display-page .display-command-panel strong {
  font-size: 18px;
}
@media (max-width: 1100px) {
  .control-job-columns {
    grid-template-columns: 1fr;
  }
  .display-page .display-command-panel {
    grid-template-columns: repeat(4, minmax(120px, 1fr));
  }
}


/* MOON v1.0.4 hotfix: Control View ordering and production sorting */
.control-view-page .control-view-main > .display-command {
  order: -100 !important;
  grid-column: 1 / -1 !important;
}
.control-view-page .control-job-columns {
  order: 10 !important;
}
.control-view-page .display-footer,
.display-page .display-footer {
  display: none !important;
}


/* MOON v1.0.5 real-data hotfix: Control View scroll + Moon Station active jobs */
.control-view-page {
  height: auto !important;
  min-height: 100vh !important;
  overflow-y: auto !important;
}
.control-view-page .display-shell,
.control-view-page .control-view-shell {
  height: auto !important;
  min-height: 100vh !important;
  overflow: visible !important;
  display: block !important;
  padding-bottom: 24px !important;
}
.control-view-page .control-view-main {
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
}
.control-view-page .display-command {
  order: -1000 !important;
  grid-column: 1 / -1 !important;
  margin-top: 0 !important;
}
.control-view-page .control-job-columns {
  order: 1 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 10px !important;
  align-items: start !important;
}
.control-view-page .control-job-columns .display-card {
  min-height: 0 !important;
  overflow: visible !important;
}
.control-view-page .control-jobs-list {
  max-height: none !important;
  overflow: visible !important;
}
.control-view-page .display-footer,
.display-page .display-footer {
  display: none !important;
}
.display-page:not(.control-view-page) .display-jobs-list {
  overflow: hidden !important;
}
@media (max-width: 1100px) {
  .control-view-page .control-job-columns {
    grid-template-columns: 1fr !important;
  }
}


/* MOON v1.0.6 launch patch: dashboard task list, mobile menu, display job numbers */
.moon-app-page #shop-notes-card .shop-notes-list {
  max-height: none !important;
  overflow: visible !important;
  padding-right: 0 !important;
}
.display-job-number,
.control-view-page .display-job-number {
  color: var(--amber);
  font-family: var(--mono);
  letter-spacing: .04em;
  font-weight: 900;
}
@media (max-width: 760px) {
  .app-nav a[href="control.html"],
  .app-nav a[href="display.html"] {
    display: none !important;
  }
  .app-nav { overflow-x: visible !important; }
}

/* v3.1.0 Employee Time Foundation */
.time-clock-panel {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}
.time-clock-state {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border: 1px solid rgba(214,155,58,.24);
  border-radius: 6px;
  background: rgba(0,0,0,.18);
}
.time-clock-state span,
.time-week-head {
  color: var(--muted, #aeb7c1);
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .72rem;
}
.time-clock-state strong { color: var(--brass, #d69b3a); }
.time-clock-buttons,
.inline-edit-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.time-clock-buttons button,
.clock-out-panel button {
  border-radius: 5px;
  padding: 8px 10px;
}
.clock-out-panel {
  padding: 10px;
  border: 1px solid rgba(214,155,58,.25);
  border-radius: 6px;
  background: rgba(10,16,22,.72);
}
.clock-out-panel h3 { margin-top: 0; }
.employee-time-week { overflow-x: auto; }
.time-week-grid {
  display: grid;
  grid-template-columns: minmax(140px, 1.2fr) repeat(7, minmax(92px, 1fr));
  gap: 4px;
  min-width: 820px;
}
.time-week-head,
.time-employee-name,
.time-day-cell {
  padding: 7px 8px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 4px;
  background: rgba(255,255,255,.035);
}
.time-employee-name {
  border-left: 5px solid var(--employee-color, #d69b3a);
  font-weight: 700;
  color: #f4efe6;
}
.time-day-cell {
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.time-day-cell strong { color: #f4efe6; }
.time-day-cell span {
  color: #59d98e;
  font-size: .72rem;
  font-weight: 800;
}
.time-day-cell.is-open {
  border-color: rgba(89,217,142,.55);
  background: rgba(89,217,142,.08);
}
@media (max-width: 760px) {
  #employee-time-card .time-week-grid { min-width: 620px; grid-template-columns: minmax(120px, 1fr) repeat(7, minmax(70px, 1fr)); }
  .time-clock-buttons button { flex: 1 1 45%; }
}

/* v3.2.0 Time & Operations: Employee Time Calendar navigation */
.time-week-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 10px;
  margin: 4px 0 10px;
  border: 1px solid rgba(214,155,58,.22);
  border-radius: 6px;
  background: rgba(0,0,0,.18);
}
.time-week-toolbar strong {
  color: var(--brass, #d69b3a);
  font-family: var(--mono, ui-monospace, monospace);
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .82rem;
}
.time-week-toolbar button {
  border-radius: 5px;
  padding: 7px 9px;
  min-height: 34px;
}
.time-empty-state {
  margin-bottom: 8px;
  padding: 8px 10px;
  border-radius: 5px;
  background: rgba(214,155,58,.08);
  color: var(--muted, #aeb7c1);
}
@media (max-width: 760px) {
  .time-week-toolbar { justify-content: center; }
  .time-week-toolbar strong { flex: 1 1 100%; text-align: center; order: -1; }
  .time-week-toolbar button { flex: 1 1 auto; }
}

/* MOON v3.3.0 - Native Company Calendar Week View */
.moon-week-calendar-module { display: grid; gap: 8px; }
.calendar-week-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid rgba(230,173,67,.22);
  border-radius: 6px;
  background: rgba(0,0,0,.18);
}
.calendar-week-toolbar strong { color: var(--amber); font-family: Consolas, Monaco, monospace; font-size: .82rem; }
.calendar-week-toolbar button {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(0,0,0,.24);
  color: var(--text);
  border-radius: 4px;
  padding: 6px 8px;
  cursor: pointer;
  font-size: .78rem;
}
.company-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.company-day-card {
  min-height: 145px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px;
  background: rgba(0,0,0,.16);
  overflow: hidden;
}
.company-day-card h3 {
  margin: 0;
  padding: 6px 7px;
  background: rgba(0,0,0,.25);
  color: var(--amber);
  font-size: .76rem;
  font-family: Consolas, Monaco, monospace;
  letter-spacing: .04em;
}
.company-day-items { display: grid; gap: 5px; padding: 6px; }
.calendar-item {
  display: grid;
  gap: 2px;
  border-left: 3px solid var(--steel);
  padding: 5px 6px;
  background: rgba(255,255,255,.055);
  border-radius: 4px;
  font-size: .74rem;
  line-height: 1.2;
}
.calendar-item strong { color: var(--text); }
.calendar-item span { color: var(--muted); font-size: .7rem; }
.calendar-item-job { border-left-color: #e6ad43; }
.calendar-item-task { border-left-color: #74e078; }
.calendar-item-birthday { border-left-color: #9bc3ff; }
.calendar-item.is-priority { outline: 1px solid rgba(230,173,67,.35); background: rgba(230,173,67,.08); }
.calendar-empty { color: var(--muted); font-size: .72rem; padding: 4px; opacity: .72; }
.calendar-marquee {
  display: flex;
  gap: 10px;
  align-items: center;
  overflow: hidden;
  white-space: nowrap;
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(0,0,0,.2);
  border-radius: 6px;
  padding: 6px 8px;
  font-size: .78rem;
}
.calendar-marquee strong { color: var(--amber); flex: 0 0 auto; }
.calendar-marquee span { color: var(--muted); overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1200px) {
  .company-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .company-week-grid { grid-template-columns: 1fr; }
  .calendar-week-toolbar { justify-content: center; }
  .calendar-week-toolbar strong { flex: 1 1 100%; text-align: center; order: -1; }
}


/* MOON v3.4.0 - On-Duty Operations / Mobile Calendar Density */
.time-day-cell em {
  color: var(--muted);
  font-size: .64rem;
  font-style: normal;
  opacity: .72;
}
.time-day-cell[data-time-edit-record] { cursor: pointer; }
.time-day-cell[data-time-edit-record]:hover { border-color: rgba(230,173,67,.45); background: rgba(230,173,67,.06); }
.console-card.work-console-accent, #create-job-console, #create-task-console { background: linear-gradient(135deg, rgba(10,42,54,.78), rgba(44,38,22,.72)); }
#routine-task-console, #on-duty-time-console, #mobile-workstation-console { background: linear-gradient(135deg, rgba(26,36,44,.9), rgba(14,20,26,.82)); }
@media (max-width: 760px) {
  #calendar-card .company-week-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: auto; }
  #calendar-card .company-day-card { min-width: 170px; }
  #employee-time-card .time-week-grid { min-width: 380px; grid-template-columns: minmax(110px, 1fr) repeat(3, minmax(75px, 1fr)); }
  #employee-time-card .time-week-grid .time-week-head:nth-of-type(n+5),
  #employee-time-card .time-week-grid .time-day-cell:nth-child(8n+6),
  #employee-time-card .time-week-grid .time-day-cell:nth-child(8n+7),
  #employee-time-card .time-week-grid .time-day-cell:nth-child(8n+8) { display: none; }
}

/* -------------------------------------------------------------------------
   Project MOON v3.5.0 - Fixed Station Architecture
   ------------------------------------------------------------------------- */
:root { --station-gap: 10px; }
body.moon-app-page .dashboard-grid { grid-template-columns: repeat(24, minmax(0, 1fr)); gap: var(--station-gap); }
body.moon-app-page [data-module="command"] { grid-column: span 17 !important; }
body.moon-app-page [data-module="weather"] { grid-column: span 7 !important; }
body.moon-app-page [data-module="calendar"] { grid-column: span 24 !important; }
body.moon-app-page [data-module="jobs"] { grid-column: span 12 !important; }
body.moon-app-page [data-module="shopTasks"] { grid-column: span 12 !important; }
body.moon-app-page [data-module="employeeTime"] { grid-column: span 24 !important; }
body.moon-app-page [data-module="employeeResources"] { grid-column: span 24 !important; }
body.moon-app-page [data-module="priorities"] { display: none !important; }
body.moon-app-page #create-job-console,
body.moon-app-page #create-task-console,
body.moon-app-page #routine-task-console,
body.moon-app-page #calendar-console,
body.moon-app-page #on-duty-time-console,
body.moon-app-page #add-user-console,
body.moon-app-page #current-users-console,
body.moon-app-page #diagnostics-console { grid-column: span 24 !important; }
body.moon-app-page #command-station-console,
body.moon-app-page #control-view-console { grid-column: span 12 !important; }
body.moon-app-page .console-card { background: rgba(20,31,39,.30); border-radius: 0; }
body.moon-app-page .console-break { grid-column: span 24 !important; }

@media (max-width: 760px) {
  body.moon-app-page [data-module],
  body.moon-app-page .console-card,
  body.moon-app-page #command-station-console,
  body.moon-app-page #control-view-console { grid-column: 1 / -1 !important; }
}

/* Command Station fixed layout */
.control-view-page .control-view-main { display: grid; grid-template-columns: repeat(20, minmax(0,1fr)); gap: 12px; align-items: start; overflow: visible; }
.control-view-page [data-command-module="command"] { grid-column: span 14; }
.control-view-page [data-command-module="weather"] { grid-column: span 6; }
.control-view-page [data-command-module="calendar"] { grid-column: span 20; }
.control-view-page .control-job-columns { grid-column: span 20; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.control-view-page [data-command-module="time"] { grid-column: span 20; }
.control-view-page .control-view-shell { max-width: none; height: auto; min-height: 100vh; }
.control-view-page { overflow: auto; }
.control-time-week-grid { display: grid; grid-template-columns: 1.2fr repeat(7, minmax(0,1fr)); gap: 5px; font-size: .78rem; }
.control-time-week-grid > div { background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.08); padding: 5px; border-radius: 4px; min-height: 32px; }
.control-time-week-grid .time-week-head { color: var(--brass, #d69b3a); font-weight: 800; text-transform: uppercase; }
.control-time-week-grid .time-employee-name { border-left: 4px solid var(--employee-color, #d69b3a); font-weight: 800; }

/* Relay Station fixed layout */
.display-page:not(.control-view-page) .display-main { display: grid; grid-template-columns: repeat(20, minmax(0,1fr)); gap: 12px; }
.display-page:not(.control-view-page) [data-display-module="command"] { grid-column: span 14; order: 1 !important; }
.display-page:not(.control-view-page) [data-display-module="weather"] { grid-column: span 6; order: 2 !important; }
.display-page:not(.control-view-page) [data-display-module="jobs"] { grid-column: span 12; order: 3 !important; }
.display-page:not(.control-view-page) [data-display-module="notes"] { grid-column: span 8; order: 4 !important; }
.display-page:not(.control-view-page) [data-display-module="calendar"],
.display-page:not(.control-view-page) [data-display-module="weekCalendar"],
.display-page:not(.control-view-page) [data-display-module="priorities"] { display: none !important; }
.display-page:not(.control-view-page) .display-shell { height: 100vh; }
.display-page:not(.control-view-page) .display-main { overflow: hidden; }
.display-page:not(.control-view-page) .display-card { min-height: 0; }
@media (max-width: 1100px) {
  .control-view-page [data-command-module],
  .control-view-page .control-job-columns,
  .control-view-page [data-command-module="time"] { grid-column: span 20; }
  .control-view-page .control-job-columns { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Project MOON v3.5.1 - Fixed Station Layout Patch
   Locks Work/Command/Relay Station proportions and removes obsolete settings UI.
   ------------------------------------------------------------------------- */
body.moon-app-page .dashboard-grid {
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
}
body.moon-app-page [data-module="command"] { grid-column: span 7 !important; order: 1 !important; }
body.moon-app-page [data-module="weather"] { grid-column: span 3 !important; order: 2 !important; }
body.moon-app-page [data-module="calendar"] { grid-column: span 10 !important; order: 3 !important; }
body.moon-app-page [data-module="jobs"] { grid-column: span 6 !important; order: 4 !important; }
body.moon-app-page [data-module="shopTasks"] { grid-column: span 4 !important; order: 5 !important; }
body.moon-app-page [data-module="employeeTime"] { grid-column: span 10 !important; order: 6 !important; }
body.moon-app-page [data-module="employeeResources"] { grid-column: span 10 !important; order: 7 !important; }
body.moon-app-page #calendar-console { display: none !important; }
body.moon-app-page #shop-notes-list { max-height: none !important; overflow: visible !important; }
body.moon-app-page #employee-time-card .time-week-grid { grid-template-columns: 1.15fr repeat(14, minmax(72px, 1fr)); min-width: 1420px; }
body.moon-app-page #employee-time-card .employee-time-week { overflow-x: auto; }
body.moon-app-page .console-break { grid-column: span 10 !important; }
body.moon-app-page #create-job-console,
body.moon-app-page #create-task-console,
body.moon-app-page #routine-task-console,
body.moon-app-page #on-duty-time-console,
body.moon-app-page #add-user-console,
body.moon-app-page #current-users-console,
body.moon-app-page #diagnostics-console { grid-column: span 10 !important; }
body.moon-app-page #command-station-console,
body.moon-app-page #control-view-console { grid-column: span 5 !important; }

/* Command Station: 70/30 top row, calendar full, jobs 50/50, time below jobs. */
.control-view-page .control-view-main {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 10px;
  align-items: start;
  overflow: visible;
}
.control-view-page [data-command-module="command"] { grid-column: span 7 !important; order: 1 !important; }
.control-view-page [data-command-module="weather"] { grid-column: span 3 !important; order: 2 !important; }
.control-view-page [data-command-module="calendar"] { grid-column: span 10 !important; order: 3 !important; }
.control-view-page .control-job-columns { grid-column: span 10 !important; order: 4 !important; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; }
.control-view-page [data-command-module="time"] { grid-column: span 10 !important; order: 5 !important; }
.control-view-page .display-weather #control-weather-panel,
.control-view-page #control-weather-panel,
.display-page #display-weather-panel,
.weather-panel { display: grid; gap: 4px; }
.control-view-page #control-weather-panel strong,
.display-page #display-weather-panel strong { font-size: 2.35rem; line-height: 1; color: var(--amber); }

/* Relay Station: 70/30 top row and 60/40 operations row. */
.display-page:not(.control-view-page) .display-main {
  display: grid;
  grid-template-columns: repeat(10, minmax(0,1fr));
  gap: 10px;
  align-items: start;
  overflow: hidden;
}
.display-page:not(.control-view-page) [data-display-module="command"] { grid-column: span 7 !important; order: 1 !important; }
.display-page:not(.control-view-page) [data-display-module="weather"] { grid-column: span 3 !important; order: 2 !important; }
.display-page:not(.control-view-page) [data-display-module="jobs"] { grid-column: span 6 !important; order: 3 !important; }
.display-page:not(.control-view-page) [data-display-module="notes"] { grid-column: span 4 !important; order: 4 !important; }
.display-page:not(.control-view-page) .display-weather #display-weather-panel strong,
.display-page:not(.control-view-page) #display-weather-panel strong { font-size: 2.35rem !important; }

@media (max-width: 760px) {
  body.moon-app-page .dashboard-grid { grid-template-columns: 1fr; }
  body.moon-app-page [data-module],
  body.moon-app-page .control-card,
  body.moon-app-page .console-card,
  body.moon-app-page #command-station-console,
  body.moon-app-page #control-view-console { grid-column: 1 / -1 !important; }
  body.moon-app-page #employee-time-card .time-week-grid { min-width: 380px; grid-template-columns: minmax(110px, 1fr) repeat(3, minmax(75px, 1fr)); }
  .control-view-page .control-view-main,
  .display-page:not(.control-view-page) .display-main { grid-template-columns: 1fr; }
  .control-view-page [data-command-module],
  .control-view-page .control-job-columns,
  .display-page:not(.control-view-page) [data-display-module] { grid-column: 1 / -1 !important; }
  .control-view-page .control-job-columns { grid-template-columns: 1fr; }
}

/* -------------------------------------------------------------------------
   Project MOON v3.5.2 - Station Grid Containment Patch
   Fixes Work/Command/Relay Station row breaks and right-edge clipping.
   ------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { max-width: 100%; overflow-x: hidden; }
.app-shell,
.display-shell,
.control-view-shell { width: 100%; max-width: 100%; overflow-x: hidden; }
body.moon-app-page .dashboard-grid,
.control-view-page .control-view-main,
.display-page:not(.control-view-page) .display-main { width: 100%; max-width: 100%; min-width: 0; grid-auto-flow: row; }
body.moon-app-page .dashboard-grid > *,
.control-view-page .control-view-main > *,
.display-page:not(.control-view-page) .display-main > *,
.control-job-columns > * { min-width: 0; max-width: 100%; }
.status-grid,
.command-grid,
.display-command-panel,
.weather-panel,
#display-weather-panel,
#control-weather-panel { min-width: 0; max-width: 100%; }

/* Work Station permanent rows: Command+Weather, Calendar, Joblist+Tasks, On-Duty, Resources, Consoles. */
body.moon-app-page .dashboard-grid { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; }
body.moon-app-page [data-module="command"] { grid-column: 1 / span 7 !important; grid-row: auto !important; order: 1 !important; }
body.moon-app-page [data-module="weather"] { grid-column: 8 / span 3 !important; grid-row: auto !important; order: 2 !important; }
body.moon-app-page [data-module="calendar"] { grid-column: 1 / -1 !important; order: 3 !important; }
body.moon-app-page [data-module="jobs"] { grid-column: 1 / span 6 !important; order: 4 !important; }
body.moon-app-page [data-module="shopTasks"] { grid-column: 7 / span 4 !important; order: 5 !important; }
body.moon-app-page [data-module="employeeTime"] { grid-column: 1 / -1 !important; order: 6 !important; }
body.moon-app-page [data-module="employeeResources"] { grid-column: 1 / -1 !important; order: 7 !important; }
body.moon-app-page .control-card { min-width: 0; max-width: 100%; }
body.moon-app-page .status-grid.command-grid { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }

/* Keep wide embedded grids scrollable inside their module instead of pushing the whole station wider. */
body.moon-app-page #calendar-card,
body.moon-app-page #employee-time-card,
body.moon-app-page #shop-notes-card,
body.moon-app-page #jobs-card { overflow-x: hidden; }
body.moon-app-page .moon-week-calendar-module,
body.moon-app-page .employee-time-week,
body.moon-app-page #shop-notes-list,
body.moon-app-page #jobs-list { max-width: 100%; }
body.moon-app-page .company-week-grid { min-width: 0; }

/* Command Station fixed top row, calendar, jobs, on-duty. */
.control-view-page .control-view-main { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; }
.control-view-page [data-command-module="command"] { grid-column: 1 / span 7 !important; order: 1 !important; }
.control-view-page [data-command-module="weather"] { grid-column: 8 / span 3 !important; order: 2 !important; }
.control-view-page [data-command-module="calendar"] { grid-column: 1 / -1 !important; order: 3 !important; }
.control-view-page .control-job-columns { grid-column: 1 / -1 !important; order: 4 !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.control-view-page [data-command-module="time"] { grid-column: 1 / -1 !important; order: 5 !important; }
.control-view-page .display-command-panel { grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); }

/* Relay Station fixed rows: Command+Weather, then Active Jobs+Shop Tasks. */
.display-page:not(.control-view-page) .display-main { grid-template-columns: repeat(10, minmax(0, 1fr)) !important; grid-auto-flow: row !important; }
.display-page:not(.control-view-page) [data-display-module="command"] { grid-column: 1 / span 7 !important; order: 1 !important; }
.display-page:not(.control-view-page) [data-display-module="weather"] { grid-column: 8 / span 3 !important; order: 2 !important; }
.display-page:not(.control-view-page) [data-display-module="jobs"] { grid-column: 1 / span 6 !important; order: 3 !important; }
.display-page:not(.control-view-page) [data-display-module="notes"] { grid-column: 7 / span 4 !important; order: 4 !important; }
.display-page:not(.control-view-page) .display-command-panel { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); }
.display-page:not(.control-view-page) .display-weather #display-weather-panel,
.display-page:not(.control-view-page) #display-weather-panel { width: 100%; }

/* Mobile remains single-column and hides station links from the Work Station menu. */
@media (max-width: 760px) {
  body.moon-app-page .dashboard-grid,
  .control-view-page .control-view-main,
  .display-page:not(.control-view-page) .display-main { grid-template-columns: 1fr !important; }
  body.moon-app-page [data-module],
  body.moon-app-page .control-card,
  body.moon-app-page .console-card,
  .control-view-page [data-command-module],
  .control-view-page .control-job-columns,
  .display-page:not(.control-view-page) [data-display-module] { grid-column: 1 / -1 !important; }
  .control-view-page .control-job-columns { grid-template-columns: 1fr !important; }
  body.moon-app-page .app-nav [data-station="command"],
  body.moon-app-page .app-nav [data-station="relay"] { display: none !important; }
}


/* -------------------------------------------------------------------------
   Project MOON v3.6.0 - Station Layout Engine
   Purpose: replace brittle grid placement with explicit station row engine.
   Rows are controlled by flex-basis percentages and hard row-break modules.
   ------------------------------------------------------------------------- */
:root { --station-row-gap: 10px; }
html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
*, *::before, *::after { box-sizing: border-box; }
.app-shell,
.display-shell,
.control-view-shell {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
body.moon-app-page .app-shell { padding-left: 10px !important; padding-right: 10px !important; }
body.moon-app-page .app-header,
body.moon-app-page .app-nav {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}
body.moon-app-page .app-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 200 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  overflow-x: hidden !important;
}

/* Work Station row engine. */
body.moon-app-page .dashboard-grid {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: var(--station-row-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}
body.moon-app-page .dashboard-grid > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
body.moon-app-page [data-module="command"] { order: 1 !important; flex: 0 0 calc(70% - 5px) !important; width: calc(70% - 5px) !important; }
body.moon-app-page [data-module="weather"] { order: 2 !important; flex: 0 0 calc(30% - 5px) !important; width: calc(30% - 5px) !important; }
body.moon-app-page [data-module="calendar"] { order: 3 !important; flex: 0 0 100% !important; width: 100% !important; }
body.moon-app-page [data-module="jobs"] { order: 4 !important; flex: 0 0 calc(60% - 5px) !important; width: calc(60% - 5px) !important; }
body.moon-app-page [data-module="shopTasks"] { order: 5 !important; flex: 0 0 calc(40% - 5px) !important; width: calc(40% - 5px) !important; }
body.moon-app-page [data-module="employeeTime"] { order: 6 !important; flex: 0 0 100% !important; width: 100% !important; }
body.moon-app-page [data-module="employeeResources"] { order: 7 !important; flex: 0 0 100% !important; width: 100% !important; }
body.moon-app-page .console-break { order: 1000 !important; flex: 0 0 100% !important; width: 100% !important; }
body.moon-app-page #create-job-console,
body.moon-app-page #create-task-console,
body.moon-app-page #routine-task-console,
body.moon-app-page #on-duty-time-console,
body.moon-app-page #add-user-console,
body.moon-app-page #current-users-console,
body.moon-app-page #diagnostics-console { flex: 0 0 100% !important; width: 100% !important; }
body.moon-app-page #command-station-console,
body.moon-app-page #control-view-console { flex: 0 0 calc(50% - 5px) !important; width: calc(50% - 5px) !important; }
body.moon-app-page #calendar-console { display: none !important; }
body.moon-app-page [data-module="priorities"] { display: none !important; }

/* Contain module internals so tables/calendars scroll internally rather than expanding the station. */
.control-card,
.display-card,
.weather-panel,
#weather-panel,
#display-weather-panel,
#control-weather-panel,
.status-grid,
.command-grid,
.display-command-panel,
.moon-week-calendar-module,
.company-week-grid,
.employee-time-week,
.jobs-live-list,
.shop-notes-list { min-width: 0 !important; max-width: 100% !important; }
body.moon-app-page .company-week-grid { overflow-x: auto !important; }
body.moon-app-page #employee-time-card .employee-time-week { overflow-x: auto !important; }
body.moon-app-page .status-grid.command-grid { grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)) !important; }

/* Command Station row engine. */
.control-view-page .control-view-shell { padding-left: 10px !important; padding-right: 10px !important; height: auto !important; min-height: 100vh !important; overflow-x: hidden !important; overflow-y: auto !important; }
.control-view-page .control-view-main {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  gap: var(--station-row-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.control-view-page .control-view-main > * { min-width: 0 !important; max-width: 100% !important; }
.control-view-page [data-command-module="command"] { order: 1 !important; flex: 0 0 calc(70% - 5px) !important; width: calc(70% - 5px) !important; }
.control-view-page [data-command-module="weather"] { order: 2 !important; flex: 0 0 calc(30% - 5px) !important; width: calc(30% - 5px) !important; }
.control-view-page [data-command-module="calendar"] { order: 3 !important; flex: 0 0 100% !important; width: 100% !important; }
.control-view-page .control-job-columns {
  order: 4 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--station-row-gap) !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.control-view-page .control-job-columns > .display-card { flex: 0 0 calc(50% - 5px) !important; width: calc(50% - 5px) !important; min-width: 0 !important; }
.control-view-page [data-command-module="time"] { order: 5 !important; flex: 0 0 100% !important; width: 100% !important; }
.control-view-page .display-command-panel { grid-template-columns: repeat(auto-fit, minmax(115px, 1fr)) !important; }
.control-view-page .company-week-grid,
.control-view-page .control-time-week-grid { overflow-x: auto !important; }

/* Relay Station row engine. */
.display-page:not(.control-view-page) .display-shell { padding-left: 10px !important; padding-right: 10px !important; height: 100vh !important; overflow: hidden !important; }
.display-page:not(.control-view-page) .display-main {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  align-content: flex-start !important;
  gap: var(--station-row-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}
.display-page:not(.control-view-page) .display-main > * { min-width: 0 !important; max-width: 100% !important; }
.display-page:not(.control-view-page) [data-display-module="command"] { order: 1 !important; flex: 0 0 calc(70% - 5px) !important; width: calc(70% - 5px) !important; }
.display-page:not(.control-view-page) [data-display-module="weather"] { order: 2 !important; flex: 0 0 calc(30% - 5px) !important; width: calc(30% - 5px) !important; }
.display-page:not(.control-view-page) [data-display-module="jobs"] { order: 3 !important; flex: 0 0 calc(60% - 5px) !important; width: calc(60% - 5px) !important; }
.display-page:not(.control-view-page) [data-display-module="notes"] { order: 4 !important; flex: 0 0 calc(40% - 5px) !important; width: calc(40% - 5px) !important; }
.display-page:not(.control-view-page) [data-display-module="calendar"],
.display-page:not(.control-view-page) [data-display-module="weekCalendar"],
.display-page:not(.control-view-page) [data-display-module="priorities"] { display: none !important; }
.display-page:not(.control-view-page) .display-command-panel { grid-template-columns: repeat(auto-fit, minmax(105px, 1fr)) !important; }

/* Mobile Work Station: one column, no desktop-only stations in menu. */
@media (max-width: 760px) {
  body.moon-app-page .app-shell { padding-left: 7px !important; padding-right: 7px !important; }
  body.moon-app-page .app-nav { flex-wrap: nowrap !important; overflow-x: hidden !important; }
  body.moon-app-page .app-nav [data-station="command"],
  body.moon-app-page .app-nav [data-station="relay"] { display: none !important; }
  body.moon-app-page [data-module],
  body.moon-app-page .control-card,
  body.moon-app-page .console-card,
  body.moon-app-page #command-station-console,
  body.moon-app-page #control-view-console,
  .control-view-page [data-command-module],
  .control-view-page .control-job-columns,
  .control-view-page .control-job-columns > .display-card,
  .display-page:not(.control-view-page) [data-display-module] {
    flex: 0 0 100% !important;
    width: 100% !important;
  }
}


/* -------------------------------------------------------------------------
   Project MOON v3.6.1 - Station polish and bus navigation containment
   ------------------------------------------------------------------------- */
html, body { overflow-x: hidden !important; }
body.moon-app-page .app-shell { overflow: visible !important; max-width: 100vw !important; }
body.moon-app-page .app-nav::before { content: none !important; }
body.moon-app-page .app-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background: rgba(24, 35, 43, .96) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 8px !important;
  padding: 6px 8px !important;
  margin: 8px 0 10px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.22) !important;
}
body.moon-app-page .nav-tab { border-radius: 5px !important; padding: 7px 12px !important; }
.module-break {
  order: 0 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 0 2px !important;
  padding: 9px 10px !important;
  border-top: 1px solid rgba(230,173,67,.45) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  color: var(--muted) !important;
  font-family: Consolas, Monaco, monospace !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.module-break span { color: #6fb2ff !important; margin-right: 10px !important; }
.module-break strong { color: var(--text) !important; font-family: Arial, Helvetica, sans-serif !important; letter-spacing: .04em !important; }
body.moon-app-page [data-module="command"] { order: 1 !important; flex: 0 0 calc(70% - 5px) !important; width: calc(70% - 5px) !important; }
body.moon-app-page [data-module="weather"] { order: 2 !important; flex: 0 0 calc(30% - 5px) !important; width: calc(30% - 5px) !important; }
body.moon-app-page [data-module="command"],
body.moon-app-page [data-module="weather"],
.control-view-page [data-command-module="command"],
.control-view-page [data-command-module="weather"],
.display-page:not(.control-view-page) [data-display-module="command"],
.display-page:not(.control-view-page) [data-display-module="weather"] {
  min-height: 160px !important;
  max-height: 160px !important;
  overflow: hidden !important;
}
body.moon-app-page [data-module="command"] .card-head,
body.moon-app-page [data-module="weather"] .card-head { margin-bottom: 6px !important; }
body.moon-app-page .status-grid.command-grid,
.control-view-page .display-command-panel,
.display-page:not(.control-view-page) .display-command-panel {
  gap: 7px !important;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)) !important;
}
body.moon-app-page .status-grid.command-grid div,
.control-view-page .display-command-panel div,
.display-page:not(.control-view-page) .display-command-panel div {
  border-radius: 5px !important;
  padding: 7px 8px !important;
}
body.moon-app-page #weather-panel strong,
.control-view-page #control-weather-panel strong,
.display-page:not(.control-view-page) #display-weather-panel strong {
  font-size: 2.35rem !important;
  line-height: 1 !important;
}
body.moon-app-page #weather-panel,
.control-view-page #control-weather-panel,
.display-page:not(.control-view-page) #display-weather-panel { gap: 4px !important; }
/* Keep rows exact and prevent any module or console from pushing beyond the viewport. */
body.moon-app-page .dashboard-grid,
.control-view-page .control-view-main,
.display-page:not(.control-view-page) .display-main { column-gap: 10px !important; row-gap: 10px !important; }
body.moon-app-page .control-card,
body.moon-app-page .console-card,
.control-view-page .display-card,
.display-page:not(.control-view-page) .display-card { max-width: 100% !important; min-width: 0 !important; }
/* Command Station: same Command/Weather treatment, then full-width Calendar, two-column Jobs, full-width On-Duty. */
.control-view-page [data-command-module="command"] { order: 1 !important; flex: 0 0 calc(70% - 5px) !important; width: calc(70% - 5px) !important; }
.control-view-page [data-command-module="weather"] { order: 2 !important; flex: 0 0 calc(30% - 5px) !important; width: calc(30% - 5px) !important; }
.control-view-page [data-command-module="calendar"] { order: 3 !important; flex: 0 0 100% !important; width: 100% !important; }
.control-view-page .control-job-columns { order: 4 !important; flex: 0 0 100% !important; width: 100% !important; }
.control-view-page [data-command-module="time"] { order: 5 !important; flex: 0 0 100% !important; width: 100% !important; }
/* Relay Station: locked non-scroll 55in display. Command+Weather row, Active+Tasks row. */
body.display-page:not(.control-view-page) { height: 100vh !important; overflow: hidden !important; }
.display-page:not(.control-view-page) .display-shell { height: 100vh !important; max-height: 100vh !important; overflow: hidden !important; }
.display-page:not(.control-view-page) .display-main { height: calc(100vh - 86px) !important; overflow: hidden !important; align-content: flex-start !important; }
.display-page:not(.control-view-page) [data-display-module="command"] { order: 1 !important; flex: 0 0 calc(70% - 5px) !important; width: calc(70% - 5px) !important; }
.display-page:not(.control-view-page) [data-display-module="weather"] { order: 2 !important; flex: 0 0 calc(30% - 5px) !important; width: calc(30% - 5px) !important; }
.display-page:not(.control-view-page) [data-display-module="jobs"] { order: 3 !important; flex: 0 0 calc(60% - 5px) !important; width: calc(60% - 5px) !important; max-height: calc(100vh - 260px) !important; overflow: hidden !important; }
.display-page:not(.control-view-page) [data-display-module="notes"] { order: 4 !important; flex: 0 0 calc(40% - 5px) !important; width: calc(40% - 5px) !important; max-height: calc(100vh - 260px) !important; overflow: hidden !important; }
/* Mobile Work Station menu stays compact. */
@media (max-width: 760px) {
  body.moon-app-page .app-nav { position: sticky !important; top: 0 !important; flex-wrap: wrap !important; }
  body.moon-app-page .nav-tab { flex: 1 1 auto !important; text-align: center !important; }
  body.moon-app-page [data-module="command"],
  body.moon-app-page [data-module="weather"],
  body.moon-app-page [data-module="calendar"],
  body.moon-app-page [data-module="jobs"],
  body.moon-app-page [data-module="shopTasks"],
  body.moon-app-page [data-module="employeeTime"],
  body.moon-app-page [data-module="employeeResources"],
  body.moon-app-page #command-station-console,
  body.moon-app-page #control-view-console {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-height: none !important;
  }
}

/* -------------------------------------------------------------------------
   Project MOON v3.6.2 - station weather, sticky menu, time grid polish
   ------------------------------------------------------------------------- */
html, body { width: 100%; max-width: 100%; overflow-x: hidden !important; }
body.moon-app-page .app-shell { width: 100% !important; max-width: 100vw !important; overflow: visible !important; }
body.moon-app-page .app-nav {
  position: sticky !important;
  top: 0 !important;
  z-index: 5000 !important;
  isolation: isolate !important;
}
body.moon-app-page .app-nav .nav-tab:first-child::after { content: ""; }
body.moon-app-page .dashboard-grid,
.control-view-page .control-view-main,
.display-page:not(.control-view-page) .display-main {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}
/* Keep Command Board and Weather visually identical across Stations. */
body.moon-app-page [data-module="command"],
body.moon-app-page [data-module="weather"],
.control-view-page [data-command-module="command"],
.control-view-page [data-command-module="weather"],
.display-page:not(.control-view-page) [data-display-module="command"],
.display-page:not(.control-view-page) [data-display-module="weather"] {
  min-height: 168px !important;
  max-height: 168px !important;
  padding: 12px 14px !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
body.moon-app-page [data-module="command"] .card-head,
body.moon-app-page [data-module="weather"] .card-head,
.control-view-page [data-command-module="command"] .display-card-head,
.control-view-page [data-command-module="weather"] .display-card-head,
.display-page:not(.control-view-page) [data-display-module="command"] .display-card-head,
.display-page:not(.control-view-page) [data-display-module="weather"] .display-card-head {
  margin-bottom: 8px !important;
}
/* Two-column weather module used by all Stations. */
.weather-split {
  display: grid !important;
  grid-template-columns: minmax(110px, .82fr) minmax(130px, 1fr) !important;
  column-gap: 14px !important;
  align-items: start !important;
  width: 100% !important;
}
.weather-now, .weather-forecast { display: grid !important; gap: 4px !important; min-width: 0 !important; }
.weather-temp { color: var(--amber) !important; font-size: clamp(2.2rem, 3.2vw, 3.35rem) !important; line-height: .92 !important; font-weight: 900 !important; }
.weather-now span, .weather-forecast span { color: var(--text) !important; font-size: .92rem !important; line-height: 1.2 !important; }
.weather-forecast { border-left: 1px solid rgba(255,255,255,.13) !important; padding-left: 12px !important; }
body.moon-app-page #weather-panel strong,
.control-view-page #control-weather-panel strong,
.display-page:not(.control-view-page) #display-weather-panel strong { font-size: inherit !important; }
/* Command station full pay-period grid. */
.control-view-page .control-time-week-grid {
  display: grid !important;
  grid-template-columns: 1.15fr repeat(14, minmax(74px, 1fr)) !important;
  min-width: 1420px !important;
  gap: 5px !important;
}
.control-view-page [data-command-module="time"] { overflow-x: auto !important; }
.control-view-page [data-command-module="time"] .control-time-week-grid { overflow: visible !important; }
/* Module/Console heading bars. */
.module-break, .console-break {
  scroll-margin-top: 76px !important;
}
/* Resources link currently points at On-Duty Time per production request. */
#employee-time-card { scroll-margin-top: 76px !important; }
@media (max-width: 760px) {
  .weather-split { grid-template-columns: 1fr !important; }
  .weather-forecast { border-left: 0 !important; border-top: 1px solid rgba(255,255,255,.13) !important; padding-left: 0 !important; padding-top: 8px !important; }
  body.moon-app-page .app-nav { top: 0 !important; }
}


/* -------------------------------------------------------------------------
   Project MOON v3.6.3 - time punch workflow + sticky bus + calendar labels
   ------------------------------------------------------------------------- */
body.moon-app-page .app-shell { overflow: visible !important; contain: none !important; }
body.moon-app-page .app-nav {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 0 !important;
  z-index: 9000 !important;
  transform: translateZ(0);
}
body.moon-app-page .module-break,
body.moon-app-page .console-break,
#employee-time-card { scroll-margin-top: 84px !important; }
body.moon-app-page .time-day-cell[data-time-add-date] { cursor: pointer; }
body.moon-app-page .time-day-cell[data-time-add-date]:hover { border-color: rgba(230,173,67,.42); background: rgba(230,173,67,.05); }
body.moon-app-page .time-day-cell em { color: rgba(244,239,230,.55); font-size: .68rem; float: right; }
body.moon-app-page #clockout-jobs,
body.moon-app-page #clockout-tasks { min-height: 88px; }
.weather-split { grid-template-columns: minmax(120px, .85fr) minmax(170px, 1.15fr) !important; }
.weather-forecast span { white-space: nowrap; }
@media (max-width: 760px) {
  body.moon-app-page .app-nav {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
  }
}


/* -------------------------------------------------------------------------
   Project MOON v3.6.4 - job sorting + fixed sticky bus navigation
   ------------------------------------------------------------------------- */
body.moon-app-page .app-nav.is-fixed-sticky {
  position: fixed !important;
  top: 0 !important;
  right: auto !important;
  z-index: 20000 !important;
  margin: 0 !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.28);
}
body.moon-app-page #nav-sticky-placeholder {
  display: block;
}
body.moon-app-page .app-nav {
  will-change: transform;
}

/* Project MOON v3.7.0 - On-Duty Operations */
.time-employee-toolbar { display:flex; gap:14px; align-items:end; justify-content:space-between; flex-wrap:wrap; margin-bottom:12px; }
.time-employee-toolbar label { min-width:240px; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.time-employee-toolbar select { display:block; width:100%; margin-top:5px; }
.time-clock-buttons { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:10px; }
.time-clock-buttons button { min-height:48px; font-weight:800; text-transform:uppercase; }
.clock-out-panel { margin-top:14px; border:1px solid rgba(214,155,58,.45); background:rgba(9,19,26,.72); padding:14px; border-radius:6px; }
.work-log-table { display:grid; gap:4px; max-height:380px; overflow:auto; margin:10px 0 14px; }
.work-log-head,.work-log-row { display:grid; grid-template-columns:145px minmax(220px,1fr) 155px; gap:10px; align-items:center; }
.work-log-head { color:var(--brass,#d69b3a); font-weight:800; text-transform:uppercase; font-size:.72rem; padding:7px 9px; border-bottom:1px solid rgba(255,255,255,.12); }
.work-log-row { padding:8px 9px; margin:0; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.07); border-radius:4px; }
.work-log-row > input { justify-self:center; width:19px; height:19px; }
.work-log-complete { display:flex; align-items:center; gap:7px; font-size:.78rem; }
.work-log-complete input { width:18px; height:18px; }
.work-log-group-title { color:#fff; font-weight:800; margin-top:8px; padding:5px 0; text-transform:uppercase; letter-spacing:.06em; }
.time-day-cell small { display:block; opacity:.72; font-size:.62rem; line-height:1.25; }
.time-day-cell.is-complete { box-shadow:inset 0 0 0 1px rgba(72,180,110,.55); }
.time-day-cell.needs-log { box-shadow:inset 0 0 0 1px rgba(224,156,45,.75); }
.time-day-cell.is-corrected { border-color:#b46fe0 !important; }
.recovery-panel { width:min(980px,calc(100% - 28px)); margin:24px auto; padding:22px; border:1px solid rgba(214,155,58,.55); background:rgba(17,31,40,.96); border-radius:8px; }
.recovery-grid { display:grid; grid-template-columns:180px 1fr; gap:6px 12px; }
.recovery-grid dt,.recovery-grid dd { margin:0; padding:8px; background:rgba(255,255,255,.04); }
.recovery-grid dt { color:var(--brass,#d69b3a); font-weight:800; }
.recovery-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:16px; }
.recovery-actions a,.recovery-actions button { display:inline-flex; align-items:center; min-height:38px; padding:8px 12px; border:1px solid rgba(214,155,58,.55); background:#172934; color:#fff; text-decoration:none; border-radius:4px; }
@media (max-width:760px){
  .time-clock-buttons { grid-template-columns:repeat(2,minmax(120px,1fr)); }
  .time-employee-toolbar { align-items:stretch; }
  .time-employee-toolbar label { width:100%; min-width:0; }
  .work-log-head { display:none; }
  .work-log-row { grid-template-columns:34px 1fr; }
  .work-log-complete { grid-column:2; }
  .recovery-grid { grid-template-columns:1fr; }
  .recovery-grid dt { padding-bottom:2px; }
  .recovery-grid dd { padding-top:2px; }
}


/* v3.7.1 On-Duty UX Refinement */
.moon-modal-backdrop{position:fixed;inset:0;z-index:10000;background:rgba(3,9,13,.82);display:grid;place-items:center;padding:18px}.moon-modal-backdrop[hidden]{display:none}.moon-modal{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#111a20;border:1px solid #586b78;box-shadow:0 22px 70px rgba(0,0,0,.65);color:#e8edf0}.moon-modal-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;background:#18242c;border-bottom:1px solid #44535e}.moon-modal-head h3{margin:0;text-transform:uppercase;letter-spacing:.08em}.moon-modal-close{font-size:25px;line-height:1;background:transparent!important;border:0!important;color:#e8edf0!important;padding:2px 8px}.moon-modal-body{padding:18px}.moon-modal-lead{font-size:1.15rem}.moon-time-choice{display:flex;gap:20px;flex-wrap:wrap;margin:12px 0}.moon-date-time-grid,.day-punch-grid{display:grid;grid-template-columns:repeat(2,minmax(170px,1fr));gap:12px}.moon-date-time-grid input,.day-punch-grid input,.day-editor-date input{display:block;width:100%;margin-top:6px;padding:12px;background:#eff2f3;color:#111;border:1px solid #8e9aa2;font-size:1.05rem}.moon-modal-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid #35434c}.moon-modal-actions button{min-width:120px}.moon-modal-actions .danger{margin-right:auto;background:#66262a!important}.day-editor-date{display:flex;align-items:end;justify-content:space-between;gap:16px}.day-lock-state,.pending-indicator{font-size:.85rem;color:#d69b3a;text-transform:uppercase;letter-spacing:.08em}.day-punch-card,.day-work-details,.day-audit{margin-top:14px;padding:14px;border:1px solid #35434c;background:#0d151a}.day-work-details summary,.day-audit summary{cursor:pointer;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.day-work-head,.day-work-row{display:grid;grid-template-columns:110px 1fr 170px;gap:10px;align-items:center}.day-work-head{margin-top:14px;padding:7px 10px;color:#94a5af;font-size:.75rem;text-transform:uppercase}.day-work-row{padding:10px;border-top:1px solid #2e3b43}.day-work-row>input{justify-self:center;transform:scale(1.2)}.day-work-row>span:last-child{white-space:nowrap}.day-work-details textarea{width:100%;margin-top:6px}.day-audit pre{white-space:pre-wrap;color:#b6c2c9}.time-day-cell{cursor:pointer}.time-day-cell:hover{outline:1px solid #d69b3a}
@media(max-width:700px){.moon-modal-backdrop{padding:0;align-items:end}.moon-modal{width:100vw;max-height:96vh;border-radius:0}.moon-date-time-grid,.day-punch-grid{grid-template-columns:1fr 1fr}.day-work-head{display:none}.day-work-row{grid-template-columns:34px 1fr}.day-work-row>span:last-child{grid-column:2}.moon-modal-actions{position:sticky;bottom:0;background:#111a20;padding-bottom:8px}.moon-modal-actions button{flex:1}.day-editor-date{align-items:stretch;flex-direction:column}.day-lock-state{align-self:flex-start}}


/* Project MOON v4.0 Genesis - Operations Workspace */
.genesis-focus{display:grid;grid-template-columns:1fr 1fr minmax(210px,.8fr);gap:10px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(214,155,58,.22)}
.genesis-focus-column{min-width:0;background:rgba(0,0,0,.16);border:1px solid rgba(255,255,255,.07);padding:9px;border-radius:4px}
.genesis-focus-column h3{margin:0 0 7px;color:#d69b3a;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}
.genesis-focus-list{display:grid;gap:5px;max-height:108px;overflow:auto}
.genesis-focus-item{display:grid;grid-template-columns:auto 1fr;gap:7px;align-items:baseline;padding:5px 6px;background:rgba(255,255,255,.035);border-left:3px solid #6f8796;font-size:.77rem;cursor:pointer}
.genesis-focus-item:hover{background:rgba(214,155,58,.09);border-left-color:#d69b3a}
.genesis-focus-item strong{color:#e5a442;font-size:.7rem}.genesis-focus-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.genesis-focus-metrics{display:grid;grid-template-columns:1fr 1fr;align-content:start}.genesis-focus-metrics h3{grid-column:1/-1}.genesis-focus-metrics div{padding:4px 6px}.genesis-focus-metrics span{display:block;color:#93a4ae;font-size:.62rem;text-transform:uppercase}.genesis-focus-metrics strong{display:block;font-size:.85rem;margin-top:2px}
.genesis-workspace{width:min(1100px,97vw)}.workspace-kicker{display:block;color:#d69b3a;font-size:.67rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px}
.workspace-tabs{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:14px}.workspace-tab{background:#24323b!important;border:1px solid #445661!important;padding:7px 11px!important}.workspace-tab.is-active{background:#7a5222!important;border-color:#d69b3a!important}
.workspace-pane[hidden]{display:none}.workspace-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:11px}.workspace-grid .span-2{grid-column:span 2}.workspace-grid .span-all{grid-column:1/-1}.workspace-grid label{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:#aebbc2}.workspace-grid input,.workspace-grid select,.workspace-grid textarea{display:block;width:100%;margin-top:5px;background:#edf1f2;color:#111;border:1px solid #8898a1;padding:9px;font-size:.94rem}.workspace-checks{display:flex;gap:15px;flex-wrap:wrap;align-items:center;padding:9px 0}.workspace-checks label{display:flex;gap:7px;align-items:center;text-transform:none;font-size:.85rem}.workspace-checks input{width:auto;margin:0}.workspace-section{margin-top:14px;padding:13px;border:1px solid #35444d;background:#0d151a}.workspace-section h4{margin:0 0 10px;color:#d69b3a;text-transform:uppercase;letter-spacing:.08em}.process-deadline-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr));gap:9px}.process-deadline-grid label{font-size:.72rem;text-transform:uppercase}.process-deadline-grid input{display:block;width:100%;margin-top:4px;background:#edf1f2;color:#111;border:1px solid #8898a1;padding:8px}.workspace-assignees{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:7px}.workspace-assignees label{display:flex;align-items:center;gap:7px;padding:7px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.07);text-transform:none}.workspace-assignees input{width:auto;margin:0}.workspace-history{display:grid;gap:7px}.workspace-history-entry{padding:9px;border-left:3px solid #617786;background:rgba(255,255,255,.03)}.workspace-history-entry strong{color:#d69b3a}.workspace-readonly{color:#92a5af;font-size:.8rem}.workspace-footer-actions{position:sticky;bottom:-18px;display:flex;justify-content:flex-end;gap:9px;margin:18px -18px -18px;padding:13px 18px;background:#111a20;border-top:1px solid #3c4d57}.workspace-launch{font-weight:800}
@media(max-width:850px){.genesis-focus{grid-template-columns:1fr}.genesis-focus-list{max-height:none}.workspace-grid{grid-template-columns:1fr 1fr}.process-deadline-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.workspace-grid{grid-template-columns:1fr}.workspace-grid .span-2,.workspace-grid .span-all{grid-column:1}.process-deadline-grid{grid-template-columns:1fr 1fr}.genesis-workspace{max-height:96vh}.workspace-footer-actions{flex-wrap:wrap}.workspace-footer-actions button{flex:1}}


/* MOON v4.0.1 workspace refinement */
.retired-create-console{display:none!important}
.module-title-actions>div{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.module-create-button{padding:6px 12px!important;font-size:.72rem!important;letter-spacing:.06em;text-transform:uppercase;background:#d9a33d!important;color:#101820!important;border:1px solid #e8bd64!important}
.create-object-modal{width:min(1120px,97vw)}
.create-object-modal .job-form,.create-object-modal .note-form{display:block!important}
.command-head-actions{display:flex;align-items:center;gap:12px}
.compact-action{padding:5px 10px!important;font-size:.7rem!important}
.command-board-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(280px,3fr);gap:12px;align-items:stretch}
.command-board-main{min-width:0}
.command-board-weather{min-width:0;border-left:1px solid rgba(214,155,58,.35);padding-left:12px}
.weather-inline-head{padding:0 0 8px!important;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}
.weather-inline-head h2{font-size:1rem!important}
.job-title-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.job-customer-inline{font-size:.72em;color:#aebbc3;font-weight:500;padding:0 8px;border-left:1px solid #697984;border-right:1px solid #697984}
.job-title-text{min-width:0}
@media(max-width:900px){.command-board-layout{grid-template-columns:1fr}.command-board-weather{border-left:0;border-top:1px solid rgba(214,155,58,.35);padding-left:0;padding-top:10px}}
@media(max-width:700px){.module-title-actions>div{align-items:flex-start;flex-direction:column;gap:6px}.module-create-button{width:100%}.job-title-line{align-items:flex-start}.job-customer-inline{border-left:0;padding-left:0}}

/* MOON v4.0.2 Command Board accordion refinement */
body.moon-app-page #daily-command-card.command-board-full {
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-column: 1 / -1 !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}
.command-board-sections { display: grid; gap: 8px; }
.command-accordion {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 4px;
  background: rgba(10,18,23,.36);
  overflow: hidden;
}
.command-accordion > summary {
  cursor: pointer;
  list-style: none;
  padding: 9px 12px;
  color: var(--amber);
  background: rgba(255,255,255,.035);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  user-select: none;
}
.command-accordion > summary::-webkit-details-marker { display: none; }
.command-accordion > summary::before { content: "▸"; display: inline-block; margin-right: 8px; transition: transform .16s ease; }
.command-accordion[open] > summary::before { transform: rotate(90deg); }
.command-accordion-body { padding: 10px 12px 12px; }
.outlook-weather-grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(300px,3fr); gap: 14px; align-items: stretch; }
.command-outlook-grid { align-content: start; grid-template-columns: repeat(5,minmax(100px,1fr)); }
.command-board-weather { min-width: 0; border-left: 1px solid rgba(214,155,58,.35); padding-left: 14px; }
.command-assignment-grid { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
.command-flags-grid { grid-template-columns: repeat(4,minmax(140px,1fr)); }
.command-connections-grid { grid-template-columns: repeat(4,minmax(130px,1fr)); }
@media(max-width:1000px){
  .outlook-weather-grid { grid-template-columns: 1fr; }
  .command-board-weather { border-left: 0; border-top: 1px solid rgba(214,155,58,.35); padding-left: 0; padding-top: 10px; }
  .command-outlook-grid,.command-flags-grid,.command-connections-grid { grid-template-columns: repeat(2,minmax(120px,1fr)); }
}
@media(max-width:650px){
  .command-assignment-grid { grid-template-columns: 1fr !important; }
  .command-outlook-grid,.command-flags-grid,.command-connections-grid { grid-template-columns: 1fr 1fr; }
  .command-accordion > summary { font-size: .74rem; }
}


/* v4.0.3 Genesis workspace polish */
.field-with-action{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;align-items:center}.field-action-button{white-space:nowrap;padding:.55rem .7rem}.task-job-card{padding:.75rem .8rem;border-radius:8px}.task-card-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.task-card-head h3{margin:.2rem 0 0}.task-card-actions{display:flex;gap:.4rem;flex-wrap:wrap}.task-card-message{margin:.5rem 0;padding:.45rem .55rem;border-left:3px solid var(--gold,#d69b3a);background:rgba(0,0,0,.13);border-radius:4px}.task-card-info{display:flex;gap:.85rem;flex-wrap:wrap;padding:.35rem 0;border-top:1px solid rgba(255,255,255,.08);font-size:.86rem}.task-card-controls{display:grid;grid-template-columns:auto auto minmax(110px,.45fr) minmax(180px,.8fr);gap:.65rem;align-items:end;margin-top:.45rem}.task-card-controls label{margin:0}.user-admin-list{display:grid;gap:.65rem}.user-detail-card{padding:.75rem .85rem;border-radius:8px}.user-detail-heading{display:flex;justify-content:space-between;align-items:start;gap:1rem;border-bottom:1px solid rgba(255,255,255,.09);padding-bottom:.45rem;margin-bottom:.55rem}.user-detail-heading h3,.user-detail-heading p{margin:0}.user-role-badge{border:1px solid rgba(214,155,58,.55);border-radius:999px;padding:.25rem .55rem;color:#f2b43c}.user-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem}.user-detail-grid label{margin:0}.user-detail-actions{display:flex;justify-content:flex-end;align-items:center;gap:.55rem;margin-top:.65rem}.danger-button{border-color:#a85d56;color:#ff8d82}@media(max-width:900px){.task-card-controls,.user-detail-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.task-card-head{display:block}.task-card-actions{margin-top:.5rem}.task-card-controls,.user-detail-grid{grid-template-columns:1fr}.field-with-action{grid-template-columns:1fr}}

.relay-outlook-card{grid-column:1/-1}.relay-outlook-grid{display:grid;grid-template-columns:minmax(0,70fr) minmax(280px,30fr);gap:.65rem}.relay-outlook-grid .display-command-panel{align-content:start}@media(max-width:900px){.relay-outlook-grid{grid-template-columns:1fr}}


/* v4.0.4 Workspace Polish */
.genesis-focus-list{max-height:none!important;overflow:visible!important;}
.command-outlook-grid{grid-template-columns:repeat(5,minmax(0,1fr));}
.station-outlook-only{grid-column:1/-1!important;width:100%!important;max-width:none!important;}
.station-outlook-content{width:100%;}
.control-view-main>.station-outlook-only,.display-main>.station-outlook-only{grid-column:1/-1!important;}
.station-job-identity{display:grid;grid-template-columns:auto minmax(90px,.5fr) minmax(150px,1.25fr);align-items:baseline;column-gap:.45rem;row-gap:.15rem;min-width:0;}
.station-job-number{color:var(--amber)!important;white-space:nowrap;}
.station-job-customer{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-left:1px solid rgba(255,255,255,.18);padding-left:.45rem;}
.station-job-name{color:var(--text)!important;white-space:normal;overflow-wrap:anywhere;}
.station-job-identity small{grid-column:1/-1;margin-top:0!important;}
.station-job-stage{white-space:nowrap;}
.display-page:not(.control-view-page) .display-job-title-row{grid-template-columns:minmax(0,1fr) auto!important;}
.display-page:not(.control-view-page) .display-job-card{padding:8px 10px!important;gap:6px!important;}
.display-page:not(.control-view-page) .display-note.relay-task-card{padding:10px 12px!important;min-height:72px;border-radius:7px!important;}
.display-page:not(.control-view-page) .display-note.relay-task-card h3{font-size:clamp(.92rem,1.05vw,1.12rem)!important;margin:.2rem 0!important;}
.display-page:not(.control-view-page) .display-note.relay-task-card p{font-size:clamp(.75rem,.85vw,.94rem)!important;line-height:1.3!important;}
.display-page:not(.control-view-page) .display-note.relay-task-card small{font-size:clamp(.64rem,.72vw,.8rem)!important;}
.task-card-actions .workspace-button,.task-card-actions button,.task-card-actions .danger-button{min-height:32px;padding:5px 10px!important;border-radius:5px!important;font-size:.82rem!important;}
.job-controls{grid-template-columns:minmax(145px,.75fr) auto minmax(145px,.75fr) minmax(230px,1.25fr) auto!important;column-gap:12px!important;}
.job-controls label{min-width:0;}
.job-controls select{width:100%;min-width:0;}
@media(max-width:1200px){.command-outlook-grid{grid-template-columns:repeat(3,minmax(0,1fr));}.station-job-identity{grid-template-columns:auto minmax(80px,.45fr) minmax(130px,1fr)}.job-controls{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:700px){.command-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.station-job-identity{grid-template-columns:auto 1fr}.station-job-name{grid-column:1/-1}.job-controls{grid-template-columns:1fr!important;}}


/* v4.0.5 Common Display Command Board + standard controls */
.moon-standard-button,
.settings-form button.moon-standard-button,
.task-card-actions .moon-standard-button,
.user-detail-actions .moon-standard-button {
  min-height: 30px !important;
  padding: 5px 8px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 5px !important;
  background: rgba(0,0,0,.18) !important;
  color: var(--text) !important;
  font-size: .78rem !important;
  font-weight: 700 !important;
  line-height: 1.1 !important;
  cursor: pointer;
  white-space: nowrap;
}
.moon-standard-button:hover,
.settings-form button.moon-standard-button:hover { border-color: var(--amber) !important; color: var(--amber) !important; }
.task-card-actions{align-items:flex-start;}
.task-card-actions .moon-standard-button{margin:0!important;}
.user-detail-actions{justify-content:flex-start;}

.common-display-command-board{grid-column:1/-1!important;width:100%!important;max-width:none!important;padding:9px 11px!important;min-width:0;}
.common-display-command-layout{display:grid;grid-template-columns:minmax(0,70fr) minmax(300px,30fr);gap:12px;align-items:stretch;width:100%;}
.common-display-metrics{display:grid!important;grid-template-columns:repeat(5,minmax(105px,1fr))!important;gap:7px!important;align-content:start;}
.common-display-metrics .wide-metric{grid-column:span 2;}
.common-display-weather{min-width:0;border-left:1px solid rgba(214,155,58,.35);padding-left:12px;}
.common-display-weather .weather-inline-head{margin-bottom:5px;}
.common-display-weather .weather-inline-head h2{font-size:1rem;margin:0;}
.control-view-main>.common-display-command-board,.display-main>.common-display-command-board{grid-column:1/-1!important;}

/* Command and Relay share this board exactly. */
.control-view-page .common-display-command-board,
.display-page:not(.control-view-page) .common-display-command-board{min-height:0!important;}

/* Read-only station job identity: Job # -> Customer -> Job Name. */
.control-view-page .station-job-identity,
.display-page:not(.control-view-page) .station-job-identity{grid-template-columns:auto minmax(95px,.42fr) minmax(180px,1fr)!important;column-gap:8px!important;align-items:baseline!important;}
.control-view-page .station-job-number,
.display-page:not(.control-view-page) .station-job-number{color:var(--amber)!important;font-size:1rem;}
.control-view-page .station-job-customer,
.display-page:not(.control-view-page) .station-job-customer{color:#e0a640!important;font-size:.82rem;}
.control-view-page .station-job-name,
.display-page:not(.control-view-page) .station-job-name{font-size:1rem!important;line-height:1.05!important;}

@media(max-width:1050px){
  .common-display-command-layout{grid-template-columns:1fr;}
  .common-display-weather{border-left:0;border-top:1px solid rgba(214,155,58,.35);padding-left:0;padding-top:9px;}
  .common-display-metrics{grid-template-columns:repeat(3,minmax(110px,1fr))!important;}
}
@media(max-width:650px){.common-display-metrics{grid-template-columns:repeat(2,minmax(100px,1fr))!important}.common-display-metrics .wide-metric{grid-column:1/-1;}}


/* -------------------------------------------------------------------------
   Project MOON v4.0.6 - operations reporting, mobile/time and command polish
   ------------------------------------------------------------------------- */
body.moon-app-page .app-nav{position:fixed!important;top:0!important;left:8px!important;right:8px!important;width:auto!important;z-index:30000!important;margin:0!important;border-radius:0 0 7px 7px!important;}
body.moon-app-page .app-shell{padding-top:48px!important;}
.moon-standard-button,.module-create-button,#user-admin-form button[type="submit"]{min-height:30px!important;padding:5px 10px!important;border-radius:5px!important;font-size:.76rem!important;font-weight:700!important;line-height:1.1!important;}
.command-deadline-marquee{margin-top:8px;padding:6px 8px;border-top:1px solid rgba(230,173,67,.28);display:flex;gap:10px;min-width:0;overflow:hidden;white-space:nowrap;font-family:Consolas,monospace;font-size:.76rem;}
.command-deadline-marquee strong{color:var(--amber);flex:0 0 auto}.command-deadline-marquee span{display:inline-block;overflow:hidden;text-overflow:ellipsis;}
.genesis-focus-list{max-height:none!important;overflow:visible!important}.genesis-focus-item{grid-template-columns:minmax(55px,.55fr) minmax(80px,.85fr) minmax(140px,2fr)!important;display:grid!important;gap:8px!important;align-items:center!important}.genesis-focus-item .focus-customer{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.job-filter-toggles{display:flex;gap:5px;flex-wrap:wrap}.job-filter-toggles .is-active{border-color:var(--amber)!important;color:var(--amber)!important;box-shadow:0 0 0 1px rgba(230,173,67,.2) inset}
.report-modal{width:min(920px,calc(100vw - 28px))!important;max-height:90vh!important}.report-generated{padding:8px 14px;color:var(--muted);font:12px Consolas,monospace;border-bottom:1px solid rgba(255,255,255,.08)}.report-content{white-space:pre-wrap;overflow:auto;max-height:62vh;padding:16px;margin:0;color:var(--text);background:rgba(0,0,0,.16);font:13px/1.45 Consolas,monospace}.report-actions{display:flex;gap:7px;justify-content:flex-end;padding:12px 14px;flex-wrap:wrap}.management-flag-check{color:#ffcf63!important;font-weight:700!important}
/* Priority/status tabs on station cards. */
.control-job-item,.display-job-item,.display-job-card,.display-note-card{position:relative;padding-left:12px!important}.control-job-item::before,.display-job-item::before,.display-job-card::before,.display-note-card::before{content:"";position:absolute;left:0;top:5px;bottom:5px;width:4px;border-radius:4px;background:#8c98a3}.is-priority::before,.top-priority::before{background:#ff625d!important}.priority-rush::before{background:#ff625d!important}.priority-high::before{background:#f0a93b!important}.priority-normal::before{background:#67c97c!important}.priority-low::before{background:#8c98a3!important}
/* Relay remains a fixed, non-scroll presentation. */
.display-page:not(.control-view-page){overflow:hidden!important}.display-page:not(.control-view-page) .display-shell{height:100vh!important;overflow:hidden!important}.display-page:not(.control-view-page) .common-display-command-board{width:100%!important;grid-column:1/-1!important}
@media(max-width:760px){
 body.moon-app-page .app-nav{left:0!important;right:0!important;overflow-x:auto!important;white-space:nowrap!important;}
 body.moon-app-page .app-shell{padding-top:46px!important;}
 #calendar-card .company-week-grid{display:grid!important;grid-template-columns:1fr!important;overflow:visible!important;gap:6px!important;}
 #calendar-card .company-day-card{min-width:0!important;width:100%!important;min-height:92px!important;}
 #calendar-card .company-day-card:nth-child(n+4){display:none!important;}
 #employee-time-card .time-week-grid{display:grid!important;grid-template-columns:minmax(92px,.9fr) repeat(3,minmax(76px,1fr))!important;min-width:0!important;width:100%!important;overflow:visible!important;}
 #employee-time-card .time-day-cell,#employee-time-card .time-week-head,#employee-time-card .time-employee-name{min-width:0!important;font-size:.68rem!important;padding:5px!important;overflow:hidden!important;}
 #employee-time-card .time-day-cell small{font-size:.55rem!important;line-height:1.05!important;display:block!important;}
 .outlook-weather-grid{grid-template-columns:1fr!important}.command-board-weather{border-left:0!important;border-top:1px solid rgba(255,255,255,.12)!important;padding-left:0!important;padding-top:8px!important}
 .command-outlook-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .genesis-focus-item{grid-template-columns:52px minmax(70px,.8fr) minmax(120px,1.7fr)!important;font-size:.68rem!important}
}


/* v4.0.7 - Bid Disposition + Labor Allocation */
.job-card-live.is-unaccepted{opacity:.88;border-color:rgba(153,165,174,.7)!important;box-shadow:inset 4px 0 0 #75838d}
.job-card-live.is-unaccepted .job-number-label,.job-card-live.is-unaccepted .job-title-text{color:#c7d0d5}
.unaccepted-reason{margin:4px 0 8px;padding:7px 9px;border-left:3px solid #8c9aa3;background:rgba(255,255,255,.035);font-size:.78rem}
.disposition-button{border-color:#a98c4f!important}
.work-log-head,.work-log-row{grid-template-columns:145px minmax(220px,1fr) 105px 155px}
.work-hours-input,.day-work-hours{width:100%;min-width:78px;padding:7px 8px;background:#eff2f3;color:#111;border:1px solid #8e9aa2;border-radius:4px}
.work-hours-input:disabled,.day-work-hours:disabled{opacity:.38}
.work-log-allocation-summary{position:sticky;bottom:0;display:flex;gap:18px;flex-wrap:wrap;padding:10px 12px;margin-top:8px;background:#16232b;border:1px solid rgba(214,155,58,.35);font-size:.82rem;z-index:1}
.allocation-warning{color:#f0b24a;font-weight:800}.allocation-ok{color:#70e08a;font-weight:800}
.day-work-head,.day-work-row{grid-template-columns:110px 1fr 95px 170px}
@media(max-width:700px){
  .work-log-row,.day-work-row{grid-template-columns:34px minmax(0,1fr) 88px}
  .work-hours-input,.day-work-hours{grid-column:3}
  .work-log-complete,.day-work-row>span:last-child{grid-column:2 / 4}
  .work-log-allocation-summary{position:static;display:grid;grid-template-columns:1fr}
}
