:root {
  --bg: #f4efe6;
  --bg-strong: #e7dcc8;
  --surface: rgba(255, 252, 245, 0.92);
  --surface-strong: #fffaf2;
  --ink: #1e1a17;
  --muted: #6d6359;
  --accent: #a63a1b;
  --accent-soft: #d57a45;
  --accent-deep: #6f2310;
  --console: #20343a;
  --console-soft: #375c64;
  --success: #26624b;
  --warning: #8f5a12;
  --danger: #922c2c;
  --line: rgba(62, 45, 34, 0.14);
  --shadow: 0 22px 60px rgba(68, 45, 24, 0.12);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  background:
    linear-gradient(180deg, rgba(248, 242, 232, 0.96) 0%, rgba(239, 227, 208, 0.98) 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

a {
  color: inherit;
}

.workspace {
  width: min(1380px, calc(100% - 32px));
  margin: 0 auto;
  padding: 28px 0 40px;
}

.workspace-header {
  display: grid;
  gap: 14px;
  margin-bottom: 24px;
}

.workspace-command-bar {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.8fr);
  gap: 14px;
  align-items: stretch;
}

.workspace-brand {
  display: grid;
  align-content: center;
  min-height: 216px;
  padding: 28px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(255, 248, 238, 0.98), rgba(242, 226, 202, 0.94));
  box-shadow: var(--shadow);
}

.workspace-brand p {
  margin: 0 0 10px;
  font-size: 0.78rem;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--accent);
}

.workspace-brand h1 {
  margin: 0;
  font-size: 3rem;
  line-height: 1;
  max-width: 16ch;
}

.workspace-brand span {
  display: block;
  margin-top: 12px;
  max-width: 820px;
  color: var(--muted);
  font-size: 1rem;
}

.workspace-command-summary {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(32, 52, 58, 0.14);
  border-radius: 8px;
  background: rgba(244, 248, 249, 0.94);
  box-shadow: var(--shadow);
}

.workspace-command-summary article {
  display: grid;
  align-content: center;
  gap: 6px;
  min-height: 58px;
  padding: 12px;
  border: 1px solid rgba(32, 52, 58, 0.1);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.86);
}

.workspace-command-summary span {
  color: var(--console-soft);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workspace-command-summary strong {
  color: var(--console);
  font-size: 1.45rem;
  line-height: 1;
}

.module-rail {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.module-rail a {
  display: grid;
  gap: 4px;
  min-height: 58px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 250, 242, 0.76);
  font-weight: 700;
  text-decoration: none;
  transition: transform 140ms ease, border-color 140ms ease, background 140ms ease;
}

.module-rail a:hover {
  background: rgba(255, 244, 231, 0.98);
  border-color: rgba(166, 58, 27, 0.32);
  transform: translateY(-1px);
}

.module-rail-link span {
  color: var(--console);
  font-size: 0.86rem;
  overflow-wrap: anywhere;
}

.module-rail-link em {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-rail-link-live {
  border-color: rgba(38, 98, 75, 0.24);
  background: rgba(237, 247, 241, 0.84);
}

.module-rail-link-live em {
  color: var(--success);
}

.module-rail-link-fallback {
  border-color: rgba(143, 90, 18, 0.2);
  background: rgba(255, 248, 236, 0.88);
}

.module-rail-link-fallback em {
  color: var(--warning);
}

.module-stack {
  display: grid;
  gap: 20px;
}

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

.status-card {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 252, 247, 0.92);
}

.status-card span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.status-card strong {
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.status-card-error {
  background: rgba(214, 110, 61, 0.14);
  border-color: rgba(166, 58, 27, 0.25);
}

.status-card-wide {
  grid-column: 1 / -1;
}

.endpoint-fallback-summary {
  margin-top: 12px;
  padding: 14px;
  border: 1px solid rgba(143, 90, 18, 0.2);
  border-radius: 18px;
  background: rgba(255, 248, 236, 0.92);
}

.endpoint-fallback-summary > strong {
  display: block;
  margin-bottom: 10px;
  color: var(--warning);
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.endpoint-fallback-summary li {
  grid-template-columns: minmax(90px, 160px) 1fr;
  align-items: baseline;
  gap: 12px;
}

.endpoint-fallback-summary span {
  color: var(--console);
  font-weight: 700;
}

.endpoint-fallback-summary em {
  overflow-wrap: anywhere;
}

.runtime-status-strip {
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(260px, 1.4fr) repeat(4, minmax(140px, 1fr));
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(32, 52, 58, 0.14);
  border-radius: 14px;
  background: rgba(245, 249, 249, 0.94);
}

.runtime-status-strip article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(32, 52, 58, 0.1);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.86);
}

.runtime-status-strip span {
  color: var(--console-soft);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.runtime-status-strip strong {
  color: var(--console);
  font-size: 0.9rem;
  overflow-wrap: anywhere;
}

.runtime-status-strip em {
  color: var(--muted);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.runtime-status-ready strong {
  color: var(--success);
}

.runtime-status-review strong {
  color: var(--warning);
}

.workflow-validation-summary {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 18px;
  background: rgba(250, 248, 243, 0.94);
}

.deployment-readiness-panel {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(32, 52, 58, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(244, 248, 249, 0.96), rgba(255, 252, 247, 0.94));
}

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

.readiness-card {
  display: grid;
  gap: 6px;
  min-height: 116px;
  padding: 14px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 16px;
  background: rgba(255, 253, 248, 0.94);
}

.readiness-card span {
  color: var(--console-soft);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  overflow-wrap: anywhere;
}

.readiness-card strong {
  color: var(--console);
  font-size: 1.25rem;
}

.readiness-card em {
  color: var(--muted);
  overflow-wrap: anywhere;
}

.readiness-card-ready {
  border-color: rgba(38, 98, 75, 0.22);
  background: rgba(237, 247, 241, 0.92);
}

.readiness-card-ready strong {
  color: var(--success);
}

.readiness-card-review {
  border-color: rgba(143, 90, 18, 0.24);
  background: rgba(255, 248, 236, 0.94);
}

.readiness-card-review strong {
  color: var(--warning);
}

.data-hygiene-triage {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  margin-top: 14px;
}

.data-hygiene-triage article {
  display: grid;
  gap: 5px;
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(32, 52, 58, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.data-hygiene-triage span {
  color: var(--console-soft);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.data-hygiene-triage strong {
  color: var(--console);
  font-size: 1.2rem;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.data-hygiene-triage em {
  color: var(--muted);
  font-size: 0.78rem;
  font-style: normal;
  overflow-wrap: anywhere;
}

.data-hygiene-triage-ready {
  border-color: rgba(38, 98, 75, 0.2);
}

.data-hygiene-triage-ready strong {
  color: var(--success);
}

.data-hygiene-triage-review {
  border-color: rgba(143, 90, 18, 0.24);
  background: rgba(255, 248, 236, 0.94);
}

.data-hygiene-triage-review strong {
  color: var(--warning);
}

.live-handoff-checklist {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(32, 52, 58, 0.12);
}

.live-handoff-checklist h3 {
  margin: 0;
  font-size: 0.98rem;
}

.live-handoff-checklist ul {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.handoff-check {
  display: grid;
  gap: 5px;
  min-height: 86px;
  padding: 11px 12px;
  border: 1px solid rgba(32, 52, 58, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.handoff-check span {
  color: var(--console-soft);
  font-size: 0.78rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}

.handoff-check strong {
  color: var(--console);
  font-size: 1rem;
  line-height: 1.1;
}

.handoff-check em {
  color: var(--muted);
  font-size: 0.78rem;
  font-style: normal;
  overflow-wrap: anywhere;
}

.handoff-check-ready {
  border-color: rgba(38, 98, 75, 0.2);
}

.handoff-check-ready strong {
  color: var(--success);
}

.handoff-check-review {
  border-color: rgba(143, 90, 18, 0.24);
  background: rgba(255, 248, 236, 0.94);
}

.handoff-check-review strong {
  color: var(--warning);
}

.database-model-readiness,
.data-hygiene-readiness {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid rgba(32, 52, 58, 0.12);
}

.database-model-readiness h3,
.data-hygiene-readiness h3 {
  margin: 0;
  font-size: 0.98rem;
}

.database-model-readiness ul,
.data-hygiene-readiness ul {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.database-model-readiness li,
.data-hygiene-readiness li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid rgba(32, 52, 58, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.68);
}

.database-model-readiness li span,
.data-hygiene-readiness li span {
  color: var(--console-soft);
  font-size: 0.82rem;
  font-weight: 700;
  overflow-wrap: anywhere;
}

.database-model-readiness li strong,
.data-hygiene-readiness li strong {
  color: var(--console);
  font-size: 1rem;
  white-space: nowrap;
}

.data-hygiene-readiness li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.data-hygiene-readiness li em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

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

.workflow-action-card {
  padding: 14px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 16px;
  background: rgba(255, 253, 248, 0.92);
}

.workflow-action-card header {
  display: grid;
  gap: 4px;
  margin-bottom: 10px;
}

.workflow-action-card header span {
  color: var(--console-soft);
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}

.workflow-action-card p {
  margin: 0 0 12px;
  font-size: 0.84rem;
}

.workflow-rule {
  padding: 10px 0 10px;
}

.workflow-rule strong,
.workflow-rule em {
  display: block;
}

.workflow-rule strong {
  margin-bottom: 6px;
}

.workflow-rule-ready strong {
  color: var(--success);
}

.workflow-rule-needs_input strong {
  color: var(--warning);
}

.workflow-rule-blocked strong {
  color: var(--danger);
}

.workflow-action-lab {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 18px;
  background: rgba(244, 248, 249, 0.92);
}

.workflow-action-lab p {
  margin: 0 0 12px;
}

.lab-command-group {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  align-items: stretch;
}

.lab-command-group button {
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid rgba(32, 52, 58, 0.16);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(32, 52, 58, 0.96), rgba(32, 52, 58, 0.88));
  color: #fffaf2;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: left;
  text-transform: uppercase;
}

.lab-command-group-warm button {
  border-color: rgba(166, 58, 27, 0.18);
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(248, 238, 225, 0.94));
  color: var(--console);
}

.lab-command-group button:disabled {
  opacity: 0.7;
}

.lab-command-group > span {
  align-self: center;
  color: var(--muted);
  font-size: 0.84rem;
}

.lab-result-pane {
  margin-top: 12px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 8px;
  background: rgba(32, 52, 58, 0.92);
  overflow: hidden;
}

.lab-result-pane > span {
  display: block;
  padding: 10px 14px;
  border-bottom: 1px solid rgba(255, 250, 242, 0.12);
  color: #f8f2e8;
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.workflow-lab-output {
  margin: 0;
  padding: 14px;
  background: transparent;
  color: #f8f2e8;
  font-size: 0.8rem;
  overflow: auto;
  max-height: 360px;
}

.reporting-action-lab {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.96), rgba(241, 246, 247, 0.94));
}

.reporting-action-lab p {
  margin: 0 0 12px;
  color: var(--muted);
}

.admin-policy-lab {
  margin-top: 12px;
  padding: 16px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(250, 248, 243, 0.98), rgba(236, 241, 243, 0.94));
}

.admin-policy-lab p {
  margin: 0 0 12px;
  color: var(--muted);
}

.module-card {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255, 250, 242, 0.86);
  box-shadow: var(--shadow);
  backdrop-filter: blur(8px);
}

.module-card > header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px 18px;
}

.module-card > header h2 {
  margin: 0;
  font-size: 1.15rem;
}

.module-card > header span {
  color: var(--muted);
  font-size: 0.9rem;
}

.module-source {
  display: grid;
  gap: 4px;
  min-width: min(220px, 100%);
  padding: 9px 12px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 16px;
  background: rgba(255, 253, 248, 0.72);
  text-align: right;
}

.module-source strong {
  font-size: 0.76rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.module-source span {
  font-size: 0.78rem;
  overflow-wrap: anywhere;
}

.module-source-live {
  border-color: rgba(38, 98, 75, 0.24);
  background: rgba(235, 247, 240, 0.86);
}

.module-source-live strong {
  color: var(--success);
}

.module-source-fallback {
  border-color: rgba(143, 90, 18, 0.2);
  background: rgba(255, 248, 236, 0.88);
}

.module-source-fallback strong {
  color: var(--warning);
}

main {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--surface);
  overflow: hidden;
}

.panel,
.module-card,
.runtime-status-strip article,
.readiness-card,
.module-command-strip article,
.lab-command-group button,
.lab-result-pane {
  min-width: 0;
}

.hero,
.admin-hero,
.clients-hero,
.warehouse-hero,
.kitchen-hero,
.dining-hero,
.ops-hero,
.sme-hero,
.recipes-hero,
.reports-hero,
.procurement-hero {
  display: grid;
  gap: 18px;
  padding: 24px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(140deg, rgba(245, 221, 194, 0.86), rgba(255, 248, 239, 0.96)),
    var(--surface-strong);
}

.hero,
.warehouse-hero,
.kitchen-hero {
  position: relative;
}

.hero::after,
.warehouse-hero::after,
.kitchen-hero::after {
  content: "";
  position: absolute;
  right: 22px;
  top: 22px;
  width: 96px;
  height: 96px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(32, 52, 58, 0.12), rgba(166, 58, 27, 0.08));
  transform: rotate(12deg);
}

.eyebrow,
.code {
  margin: 0;
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

h1,
h2,
h3,
strong {
  font-family: "Trebuchet MS", "Gill Sans", sans-serif;
}

h1 {
  margin: 0 0 8px;
  font-size: 2.4rem;
}

.subtitle {
  margin: 0;
  color: var(--muted);
}

.kpi-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
}

.kpi-strip article {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 253, 249, 0.96), rgba(246, 238, 227, 0.9));
}

.kpi-strip span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.kpi-strip strong {
  font-size: 1.55rem;
}

.operation-action-strip {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.operation-action-strip button {
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid rgba(32, 52, 58, 0.16);
  border-radius: 14px;
  background: rgba(32, 52, 58, 0.92);
  color: #fffaf2;
  font-family: "Trebuchet MS", "Gill Sans", sans-serif;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.operation-action-strip button:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

.operation-action-strip span {
  color: var(--muted);
  font-size: 0.84rem;
}

.module-command-strip {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.module-command-strip article {
  display: grid;
  gap: 6px;
  min-height: 88px;
  padding: 14px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.82);
}

.module-command-strip span {
  color: var(--console-soft);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-command-strip strong {
  color: var(--console);
  font-size: 1.25rem;
  line-height: 1;
  overflow-wrap: anywhere;
}

.module-command-strip em {
  color: var(--muted);
  font-size: 0.82rem;
  overflow-wrap: anywhere;
}

.module-command-strip-touch article {
  min-height: 104px;
  padding: 18px;
  background: rgba(255, 252, 247, 0.9);
}

.module-command-strip-touch strong {
  font-size: 1.45rem;
}

.module-command-strip-warm article {
  border-color: rgba(166, 58, 27, 0.14);
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.92), rgba(249, 239, 226, 0.9));
}

.module-command-strip-warm span {
  color: var(--accent-deep);
}

.workflow-readiness {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.workflow-readiness article {
  padding: 12px 14px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 16px;
  background: rgba(255, 253, 248, 0.78);
}

.workflow-readiness strong,
.workflow-readiness span {
  display: block;
}

.workflow-readiness strong {
  margin-bottom: 6px;
  font-size: 0.76rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.workflow-readiness span {
  color: var(--muted);
  font-size: 0.86rem;
}

.workflow-readiness .is-ready {
  border-color: rgba(38, 98, 75, 0.22);
  background: rgba(237, 247, 241, 0.88);
}

.workflow-readiness .is-ready strong {
  color: var(--success);
}

.workflow-readiness .needs-input {
  border-color: rgba(143, 90, 18, 0.22);
  background: rgba(255, 248, 236, 0.9);
}

.workflow-readiness .needs-input strong {
  color: var(--warning);
}

.panel {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 252, 247, 0.92);
}

.panel-heading,
.module-tile-head,
.module-tile-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.grid,
.admin-grid,
.clients-grid,
.warehouse-grid,
.kitchen-grid,
.dining-grid,
.ops-grid,
.sme-grid,
.recipes-grid,
.reports-grid,
.procurement-grid {
  display: grid;
  gap: 16px;
  padding: 20px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.tile,
.queue-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 250, 243, 0.96);
}

.module-tile {
  display: grid;
  gap: 14px;
  min-height: 208px;
  background:
    linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 238, 227, 0.96));
}

.module-priority {
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(32, 52, 58, 0.08);
  color: var(--console);
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.module-tile-foot {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed rgba(62, 45, 34, 0.15);
  color: var(--muted);
  font-size: 0.82rem;
}

.module-tile-foot strong {
  color: var(--accent-deep);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.landing-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.landing-meta article {
  padding: 14px 16px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.82);
}

.landing-meta span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.landing-meta strong {
  font-size: 1.5rem;
}

.warehouse-meta,
.dining-meta,
.ops-meta,
.admin-meta,
.reports-meta,
.clients-meta,
.recipes-meta,
.procurement-meta,
.sme-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.warehouse-meta article,
.dining-meta article,
.ops-meta article,
.admin-meta article,
.reports-meta article,
.clients-meta article,
.recipes-meta article,
.procurement-meta article,
.sme-meta article {
  padding: 14px 16px;
  border: 1px solid rgba(32, 52, 58, 0.12);
  border-radius: 18px;
  background: rgba(255, 253, 249, 0.82);
}

.warehouse-meta span,
.dining-meta span,
.ops-meta span,
.admin-meta span,
.reports-meta span,
.clients-meta span,
.recipes-meta span,
.procurement-meta span,
.sme-meta span,
.warehouse-panel-tag,
.dining-panel-tag,
.ops-panel-tag,
.admin-panel-tag,
.reports-panel-tag,
.recipes-panel-tag,
.procurement-panel-tag,
.sme-panel-tag {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.warehouse-meta strong,
.dining-meta strong,
.ops-meta strong,
.admin-meta strong,
.reports-meta strong,
.clients-meta strong,
.recipes-meta strong,
.procurement-meta strong,
.sme-meta strong {
  font-size: 1.35rem;
}

.ops-panel-tag,
.admin-panel-tag,
.reports-panel-tag,
.recipes-panel-tag,
.procurement-panel-tag,
.sme-panel-tag {
  padding: 7px 11px;
  border-radius: 999px;
  margin-bottom: 0;
  background: rgba(32, 52, 58, 0.08);
  color: var(--console);
  font-size: 0.72rem;
  font-weight: 700;
}

.notification-panel ul,
.panel ul {
  align-content: start;
}

.notification-card,
.timeline-card,
.shift-card,
.deviation-card,
.alert-card,
.prep-sheet-card,
.kitchen-item-card {
  padding: 14px 0 0;
}

.notification-card {
  gap: 6px;
}

.notification-card p,
.deviation-card p,
.alert-card p,
.prep-sheet-card p {
  margin: 0;
}

.notification-warning strong,
.alert-warning strong,
.deviation-medium strong {
  color: var(--warning);
}

.notification-info strong,
.kitchen-publish-state.is-live {
  color: var(--success);
}

.kitchen-menu-panel {
  background:
    linear-gradient(180deg, rgba(255, 248, 239, 0.98), rgba(249, 239, 226, 0.95));
}

.kitchen-publish-state {
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(32, 52, 58, 0.08);
  color: var(--console);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kitchen-publish-state.is-live {
  background: rgba(38, 98, 75, 0.12);
}

.kitchen-publish-state.is-held {
  background: rgba(143, 90, 18, 0.14);
  color: var(--warning);
}

.kitchen-item-card,
.timeline-card,
.shift-card,
.deviation-card,
.alert-card,
.prep-sheet-card {
  padding: 14px;
  border: 1px solid rgba(62, 45, 34, 0.1);
  border-radius: 16px;
  background: rgba(255, 253, 249, 0.86);
}

.timeline-card,
.shift-card {
  gap: 6px;
}

.timeline-card em,
.shift-card em,
.kitchen-item-card em {
  font-style: normal;
  color: var(--console-soft);
}

.deviation-card {
  gap: 6px;
}

.deviation-medium {
  border-color: rgba(143, 90, 18, 0.2);
  background: rgba(255, 246, 230, 0.96);
}

.prep-sheet-card {
  gap: 8px;
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(245, 239, 230, 0.96));
}

.warehouse-shell .stock-panel table {
  border-radius: 16px;
  overflow: hidden;
}

.stock-state,
.pr-state,
.session-state {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stock-state-ok,
.session-state-open {
  background: rgba(38, 98, 75, 0.12);
  color: var(--success);
}

.stock-state-alert,
.pr-state-pending {
  background: rgba(143, 90, 18, 0.14);
  color: var(--warning);
}

.pr-state-approved {
  background: rgba(38, 98, 75, 0.12);
  color: var(--success);
}

.warehouse-alert-card,
.movement-card,
.selection-card,
.order-card,
.menu-item-card,
.ops-assignment-card,
.ops-low-stock-card,
.ops-metric-card,
.ops-alert-card,
.admin-user-card,
.admin-site-card,
.audit-card,
.report-definition-card,
.report-result-card,
.procurement-basket-card,
.procurement-pr-card,
.procurement-price-card,
.recipe-card,
.recipe-history-card,
.client-site-card,
.sme-menu-card,
.sme-basket-card,
.sme-forecast-card {
  padding: 14px;
  border: 1px solid rgba(62, 45, 34, 0.1);
  border-radius: 16px;
  background: rgba(255, 253, 249, 0.9);
}

.warehouse-alert-card {
  gap: 6px;
}

.warehouse-flow-card {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 237, 226, 0.96));
}

.movement-card {
  gap: 6px;
}

.movement-out strong {
  color: var(--accent-deep);
}

.movement-in strong {
  color: var(--success);
}

.dining-session-panel,
.dining-menu-panel {
  background: linear-gradient(180deg, rgba(255, 249, 243, 0.98), rgba(246, 237, 226, 0.95));
}

.session-state-closed {
  background: rgba(32, 52, 58, 0.08);
  color: var(--console);
}

.menu-item-card,
.selection-card,
.order-card {
  gap: 6px;
}

.ops-cost-panel {
  background:
    linear-gradient(180deg, rgba(230, 239, 241, 0.95), rgba(245, 248, 247, 0.94));
  border-color: rgba(32, 52, 58, 0.18);
}

.ops-cost-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
}

.ops-cost-grid article {
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  border: 1px solid rgba(32, 52, 58, 0.12);
}

.ops-cost-grid span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ops-cost-grid strong {
  color: var(--console);
  font-size: 1.3rem;
}

.ops-assignment-card,
.ops-low-stock-card,
.ops-metric-card,
.ops-alert-card {
  gap: 6px;
}

.ops-assignment-card {
  background: linear-gradient(180deg, rgba(246, 250, 250, 0.96), rgba(235, 243, 244, 0.9));
}

.ops-low-stock-card {
  border-color: rgba(143, 90, 18, 0.18);
  background: rgba(255, 248, 236, 0.96);
}

.ops-metric-card {
  background: rgba(250, 247, 241, 0.96);
}

.ops-alert-card {
  border-left: 4px solid rgba(32, 52, 58, 0.18);
}

.ops-alert-warning {
  border-color: rgba(143, 90, 18, 0.24);
  border-left-color: var(--warning);
  background: rgba(255, 246, 230, 0.98);
}

.ops-alert-danger,
.ops-alert-critical {
  border-color: rgba(146, 44, 44, 0.24);
  border-left-color: var(--danger);
  background: rgba(253, 240, 240, 0.98);
}

.admin-user-card,
.admin-site-card,
.admin-policy-card,
.audit-card {
  gap: 6px;
}

.admin-user-card,
.admin-site-card,
.admin-policy-card {
  background: linear-gradient(180deg, rgba(250, 248, 243, 0.98), rgba(243, 238, 230, 0.95));
}

.audit-card {
  background: linear-gradient(180deg, rgba(244, 248, 249, 0.98), rgba(234, 241, 243, 0.95));
  border-color: rgba(32, 52, 58, 0.14);
}

.audit-card strong {
  color: var(--console);
}

.report-definition-card,
.report-result-card {
  gap: 6px;
}

.report-definition-card {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 238, 228, 0.95));
}

.report-result-card {
  background: linear-gradient(180deg, rgba(244, 248, 249, 0.98), rgba(234, 240, 242, 0.94));
  border-color: rgba(32, 52, 58, 0.14);
}

.report-result-card strong {
  color: var(--console);
}

.procurement-basket-card,
.procurement-pr-card,
.procurement-price-card,
.recipe-card,
.recipe-history-card,
.client-site-card,
.sme-menu-card,
.sme-basket-card,
.sme-forecast-card {
  gap: 6px;
}

.procurement-basket-card,
.procurement-pr-card {
  background: linear-gradient(180deg, rgba(255, 251, 245, 0.98), rgba(246, 238, 228, 0.95));
}

.procurement-price-card {
  background: linear-gradient(180deg, rgba(244, 248, 249, 0.98), rgba(233, 241, 242, 0.95));
  border-color: rgba(32, 52, 58, 0.14);
}

.procurement-price-card strong {
  color: var(--console);
}

.recipe-card,
.recipe-history-card {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(247, 239, 229, 0.95));
}

.recipe-card em,
.recipe-history-card em,
.procurement-basket-card em,
.procurement-pr-card em,
.procurement-price-card em {
  color: var(--console-soft);
}

.client-card {
  display: grid;
  gap: 14px;
  background:
    linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 238, 227, 0.95));
}

.client-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.client-status {
  display: inline-flex;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.74rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-status-active {
  background: rgba(38, 98, 75, 0.12);
  color: var(--success);
}

.client-status-inactive {
  background: rgba(32, 52, 58, 0.08);
  color: var(--console);
}

.client-site-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 12px;
}

.client-site-summary article {
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid rgba(32, 52, 58, 0.1);
  background: rgba(255, 255, 255, 0.66);
}

.client-site-summary span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-site-summary strong {
  color: var(--console);
  font-size: 1.2rem;
}

.client-site-list {
  gap: 12px;
}

.client-site-card {
  background: rgba(255, 255, 255, 0.72);
}

.sme-menu-card,
.sme-basket-card {
  background: linear-gradient(180deg, rgba(255, 252, 247, 0.98), rgba(246, 239, 228, 0.95));
}

.sme-forecast-card {
  background: linear-gradient(180deg, rgba(245, 248, 249, 0.98), rgba(235, 241, 242, 0.95));
  border-color: rgba(32, 52, 58, 0.14);
}

.sme-forecast-alert {
  border-color: rgba(143, 90, 18, 0.24);
  background: rgba(255, 247, 233, 0.98);
}

.sme-menu-card em,
.sme-basket-card em,
.sme-forecast-card em {
  color: var(--console-soft);
}

.menu-item-card em,
.order-card em {
  color: var(--console-soft);
}

.tile h2,
.panel h2,
.queue-card h3 {
  margin: 0 0 10px;
}

ul {
  display: grid;
  gap: 10px;
  padding: 0;
  margin: 0;
  list-style: none;
}

li {
  display: grid;
  gap: 4px;
  padding-bottom: 10px;
  border-bottom: 1px dashed rgba(62, 45, 34, 0.15);
}

li:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

li span,
li em,
td,
p {
  color: var(--muted);
}

em {
  font-style: normal;
}

table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.94rem;
}

th,
td {
  padding: 10px 8px;
  border-bottom: 1px solid rgba(62, 45, 34, 0.08);
  text-align: left;
  vertical-align: top;
}

.queue {
  display: grid;
  gap: 12px;
}

@media (pointer: coarse), (max-width: 1024px) {
  .workspace-command-bar {
    grid-template-columns: 1fr;
  }

  .workspace-command-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .warehouse-grid,
  .kitchen-grid,
  .dining-grid {
    grid-template-columns: 1fr;
  }

  .warehouse-alert-card,
  .warehouse-flow-card,
  .movement-card,
  .kitchen-item-card,
  .timeline-card,
  .shift-card,
  .deviation-card,
  .alert-card,
  .prep-sheet-card,
  .menu-item-card,
  .selection-card,
  .order-card {
    min-height: 72px;
    padding: 18px;
    border-radius: 20px;
  }

  .stock-state,
  .pr-state,
  .session-state,
  .kitchen-publish-state {
    min-height: 38px;
    padding-inline: 14px;
  }

  .operation-action-strip button {
    min-height: 52px;
    padding-inline: 18px;
  }

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

  .lab-command-group button {
    min-height: 54px;
  }

  .module-command-strip {
    grid-template-columns: 1fr;
  }

  .warehouse-shell table,
  .dining-shell table {
    font-size: 1rem;
  }

  th,
  td {
    padding: 14px 10px;
  }
}

@media (max-width: 720px) {
  .workspace {
    width: min(100% - 20px, 1380px);
    padding-top: 18px;
  }

  .workspace-brand,
  .module-card {
    border-radius: 22px;
  }

  .workspace-brand h1 {
    font-size: 2.15rem;
  }

  h1 {
    font-size: 1.75rem;
  }

  .module-rail {
    gap: 8px;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  }

  .module-rail a {
    width: 100%;
    text-align: left;
  }

  .module-card > header,
  .panel-heading,
  .module-tile-head,
  .module-tile-foot {
    display: grid;
  }

  .runtime-status-strip {
    grid-template-columns: 1fr;
  }

  .deployment-readiness-grid,
  .database-model-readiness ul,
  .workflow-validation-grid,
  .lab-command-group,
  .kpi-strip,
  .landing-meta,
  .warehouse-meta,
  .dining-meta,
  .ops-meta,
  .admin-meta,
  .reports-meta,
  .clients-meta,
  .recipes-meta,
  .procurement-meta,
  .sme-meta,
  .client-site-summary {
    grid-template-columns: 1fr;
  }

  .workspace-command-summary {
    grid-template-columns: 1fr;
  }

  .module-source {
    text-align: left;
  }

  .panel {
    padding: 16px;
  }

  table {
    display: block;
    overflow-x: auto;
    white-space: nowrap;
  }

  .workflow-lab-output {
    max-height: 260px;
  }

  .hero,
  .admin-hero,
  .clients-hero,
  .warehouse-hero,
  .kitchen-hero,
  .dining-hero,
  .ops-hero,
  .sme-hero,
  .recipes-hero,
  .reports-hero,
  .procurement-hero {
    padding: 20px;
  }

  .grid,
  .admin-grid,
  .clients-grid,
  .warehouse-grid,
  .kitchen-grid,
  .dining-grid,
  .ops-grid,
  .sme-grid,
  .recipes-grid,
  .reports-grid,
  .procurement-grid {
    padding: 14px;
    grid-template-columns: 1fr;
  }
}
