:root {
  --bg: #f3f6f4;
  --surface: #ffffff;
  --surface-2: #f7faf8;
  --surface-3: #edf5f0;
  --ink: #101915;
  --muted: #5e6e65;
  --subtle: #8b9891;
  --line: #dfe8e3;
  --line-strong: #cbdad2;
  --green: #087a43;
  --green-deep: #06482d;
  --green-2: #e6f6ed;
  --gold: #bd7f06;
  --gold-2: #fff2ca;
  --blue: #2368bb;
  --blue-2: #e8f1ff;
  --red: #c93f35;
  --red-2: #ffe9e6;
  --shadow: 0 18px 48px rgba(21, 42, 31, 0.09);
  --shadow-soft: 0 8px 24px rgba(21, 42, 31, 0.06);
  --focus-ring: 0 0 0 3px rgba(8, 122, 67, 0.14);
}
* {
  box-sizing: border-box;
}
html,
body {
  margin: 0;
  min-width: 1240px;
  background:
    radial-gradient(circle at 78% -10%, rgba(255, 205, 64, 0.16), transparent 32%),
    radial-gradient(circle at 0% 0%, rgba(6, 72, 45, 0.08), transparent 34%),
    linear-gradient(180deg, #fbfcfb 0%, var(--bg) 42%, #eef3f0 100%);
  color: var(--ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  letter-spacing: 0;
}
button,
input,
select {
  font: inherit;
}
button {
  cursor: pointer;
}
.login-screen {
  display: grid;
  place-items: center;
  min-height: 100vh;
  padding: 34px;
  background: linear-gradient(180deg, #ffffff 0%, #edf6f1 100%);
}
.login-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 380px;
  gap: 34px;
  width: 980px;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.login-copy {
  display: grid;
  align-content: center;
}
.login-kicker,
.eyebrow {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.login-copy h1 {
  margin: 22px 0 12px;
  max-width: 520px;
  font-size: 40px;
  line-height: 1.16;
}
.login-copy p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.9;
}
.login-form {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}
.form-title {
  margin-bottom: 2px;
  font-size: 18px;
  font-weight: 900;
}
.login-form label,
.form-field {
  display: grid;
  gap: 7px;
}
.login-form span,
.form-field span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.field-required-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 999px;
  background: rgba(197, 61, 47, 0.1);
  color: #b53a2e;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.45;
}
.form-field-hint {
  margin-top: -2px;
  color: #6a7d77;
  font-size: 12px;
  line-height: 1.5;
}
.login-form input,
.form-field input,
.form-field select,
.panel-head select {
  width: 100%;
  height: 38px;
  padding: 0 11px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  outline: none;
}
.form-error {
  min-height: 18px;
  color: var(--red);
  font-size: 12px;
  font-weight: 800;
}
body.authenticated .login-screen {
  display: none;
}
body:not(.authenticated) .app-shell {
  display: none;
}
.app-shell {
  display: grid;
  grid-template-columns: 264px 1fr;
  min-height: 100vh;
}
.sidebar {
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
  padding: 18px 14px;
  border-right: 1px solid var(--line);
  background: #fff;
}
.logo-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 56px;
  padding: 8px 10px 14px;
  border-bottom: 1px solid var(--line);
}
.logo-lockup.large {
  border-bottom: 0;
  padding: 0;
  margin-bottom: 24px;
}
.logo-mark {
  display: grid;
  place-items: center;
  width: 78px;
  height: 42px;
  overflow: hidden;
  border: 1px solid rgba(8, 122, 67, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 8px 20px rgba(18, 76, 42, 0.06);
}
.logo-lockup.large .logo-mark {
  width: 220px;
  height: 58px;
}
.logo-mark img {
  width: 94%;
  height: 94%;
  object-fit: contain;
}
.logo-text {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.logo-text strong {
  color: var(--ink);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.1;
}
.logo-text small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.nav {
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding-bottom: 8px;
  overflow-y: auto;
  scrollbar-width: thin;
}
.nav-group {
  margin: 14px 10px 6px;
  color: var(--subtle);
  font-size: 11px;
  font-weight: 900;
}
.nav-button {
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 38px;
  gap: 10px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: #34443a;
  text-align: left;
}
.nav-button:hover {
  border-color: var(--line);
  background: var(--surface-2);
}
.nav-button.active {
  border-color: #cfe6d7;
  background: var(--green-2);
  color: var(--green);
}
.nav-icon {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: #edf2ef;
  color: #44544a;
  font-size: 11px;
  font-weight: 900;
  flex: 0 0 auto;
}
.nav-button.active .nav-icon {
  background: var(--green);
  color: #fff;
}
.sidebar-card {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  flex: 0 0 auto;
}
.sidebar-card div,
.sidebar-card small {
  color: var(--muted);
  font-size: 12px;
}
.sidebar-card strong {
  color: var(--green);
  font-size: 14px;
}
.main {
  min-width: 0;
  padding: 22px 28px 42px;
}
.topbar {
  position: sticky;
  top: 0;
  z-index: 3;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 0 18px;
  background: linear-gradient(180deg, var(--bg) 82%, rgba(246, 248, 251, 0));
}
h1 {
  margin: 4px 0 0;
  font-size: 28px;
  line-height: 1.14;
}
.topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.admin-user {
  min-width: 138px;
  padding: 6px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.admin-user strong,
.admin-user small {
  display: block;
}
.admin-user strong {
  font-size: 13px;
}
.admin-user small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 11px;
}
.primary-action,
.ghost-action,
.mini-action {
  height: 38px;
  border-radius: 8px;
  border: 1px solid var(--line-strong);
  background: #fff;
  color: var(--ink);
}
.primary-action {
  padding: 0 16px;
  border-color: var(--green);
  background: var(--green);
  color: #fff;
  font-weight: 900;
}
.ghost-action {
  padding: 0 14px;
  color: #314339;
  font-weight: 900;
}
.primary-action.compact,
.ghost-action.compact {
  height: 30px;
  padding: 0 9px;
  border-radius: 7px;
  font-size: 12px;
}
.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  min-width: 220px;
}
.mini-action {
  height: 30px;
  padding: 0 10px;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.content,
.stack {
  display: grid;
  gap: 16px;
}
.grid {
  display: grid;
  gap: 16px;
}
.module-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(25, 122, 75, 0.14);
  border-radius: 9px;
  background: rgba(248, 252, 249, 0.9);
}
.module-note strong {
  flex: 0 0 auto;
  color: var(--green);
  font-size: 14px;
}
.module-note span {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.customer-ops-hero {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(420px, 1fr);
  gap: 18px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(42, 66, 55, 0.1);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 247, 0.95)),
    radial-gradient(circle at 100% 0%, rgba(25, 122, 75, 0.12), transparent 36%);
  box-shadow: 0 14px 34px rgba(20, 42, 31, 0.07);
}
.customer-ops-hero h2 {
  margin: 8px 0;
  font-size: 28px;
  line-height: 1.16;
  letter-spacing: 0;
}
.customer-ops-hero p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.ops-checklist {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.ops-checklist div {
  display: grid;
  align-content: center;
  min-height: 118px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
}
.ops-checklist small,
.ops-checklist span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.ops-checklist strong {
  margin: 8px 0 4px;
  color: var(--ink);
  font-size: 26px;
  line-height: 1;
}
.ops-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.ops-flow-step {
  position: relative;
  min-height: 122px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
}
.ops-flow-step b {
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #edf6f0;
  color: var(--green);
  font-size: 13px;
}
.ops-flow-step strong {
  display: block;
  margin-top: 12px;
  color: var(--ink);
  font-size: 14px;
}
.ops-flow-step span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.customer-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.customer-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(17, 32, 24, 0.05);
}
.customer-card-head,
.customer-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.customer-card-head strong {
  display: block;
  color: var(--ink);
  font-size: 18px;
}
.customer-card-head span,
.customer-card-foot span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.customer-card-main {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.customer-card-main div {
  padding: 10px;
  border-radius: 8px;
  background: var(--surface-2);
}
.customer-card-main small {
  display: block;
  color: var(--muted);
  font-size: 11px;
}
.customer-card-main b {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1;
}
.customer-card-warn {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.preset-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.preset-card {
  display: grid;
  gap: 12px;
  min-height: 210px;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.13);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 248, 0.98)),
    radial-gradient(circle at 100% 0%, rgba(255, 211, 89, 0.14), transparent 30%);
  box-shadow: 0 10px 26px rgba(17, 32, 24, 0.045);
}
.preset-head,
.preset-foot,
.wave-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.preset-card h3 {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}
.preset-card p,
.preset-line span,
.preset-foot span {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.preset-line {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 8px;
  padding: 10px;
  border-radius: 8px;
  background: var(--surface-2);
}
.preset-line strong {
  color: var(--green);
  font-size: 12px;
}
.preset-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.sales-hero {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(360px, 1.2fr);
  gap: 18px;
  align-items: stretch;
  padding: 22px;
  border: 1px solid rgba(25, 122, 75, 0.16);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(235, 250, 241, 0.96), rgba(255, 255, 255, 0.98)),
    radial-gradient(circle at 95% 0%, rgba(255, 212, 79, 0.28), transparent 34%);
  box-shadow: 0 14px 34px rgba(31, 86, 58, 0.08);
}
.sales-hero h2 {
  margin: 8px 0 8px;
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: 0;
}
.sales-hero p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}
.stage-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.stage-chip {
  display: grid;
  align-content: center;
  min-height: 96px;
  padding: 12px;
  border: 1px solid rgba(25, 122, 75, 0.12);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.78);
}
.stage-chip strong {
  color: var(--green);
  font-size: 26px;
  line-height: 1;
}
.stage-chip span {
  margin-top: 8px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}
.stage-chip em {
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
.sales-workbench {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.opportunity-card {
  display: grid;
  gap: 13px;
  min-height: 238px;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.94)),
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.18), transparent 34%);
  box-shadow: var(--shadow-soft);
}
.opportunity-card.muted {
  opacity: 0.66;
}
.opportunity-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
}
.opportunity-top strong,
.opportunity-top span {
  display: block;
}
.opportunity-top strong {
  font-size: 17px;
}
.opportunity-top span {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.opportunity-score {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 12px;
  align-items: center;
}
.opportunity-score b {
  color: var(--green);
  font-size: 24px;
  line-height: 1;
}
.opportunity-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.opportunity-facts div {
  padding: 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}
.opportunity-facts small,
.opportunity-facts b {
  display: block;
}
.opportunity-facts small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.opportunity-facts b {
  margin-top: 4px;
  font-size: 14px;
}
.opportunity-card p {
  min-height: 38px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.panel,
.metric,
.flow-step,
.module-card,
.task-card,
.recipe-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}
.panel-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  min-height: 58px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--line);
}
.panel-title {
  font-size: 16px;
  font-weight: 900;
}
.panel-sub {
  max-width: 780px;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.panel-body {
  padding: 16px;
}
.metric {
  min-height: 112px;
  padding: 15px;
}
.metric.warn {
  border-color: #f0d48a;
  background: #fffdf5;
}
.metric.red {
  border-color: #f0bbb5;
  background: #fff8f7;
}
.metric-label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}
.metric-value {
  margin-top: 10px;
  font-size: 30px;
  font-weight: 900;
}
.metric-note {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.module-card {
  display: grid;
  gap: 12px;
  padding: 15px;
}
.module-card h3 {
  margin: 0;
  font-size: 15px;
}
.module-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.module-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.table {
  width: 100%;
  border-collapse: collapse;
}
.table th,
.table td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
  font-size: 13px;
}
.table th {
  color: var(--muted);
  background: #fbfcfd;
  font-size: 12px;
  font-weight: 900;
}
.row-title {
  font-weight: 900;
}
.row-sub {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.progress {
  width: 120px;
  height: 8px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eeeb;
}
.progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: var(--green);
}
.progress.warn span {
  background: var(--gold);
}
.recipe-card {
  display: grid;
  gap: 12px;
  min-height: 178px;
  padding: 15px;
  box-shadow: none;
}
.recipe-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.recipe-card-head strong,
.recipe-card-head small {
  display: block;
}
.recipe-card-head strong {
  font-size: 15px;
}
.recipe-card-head small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.recipe-cost {
  color: var(--ink);
  font-size: 28px;
  font-weight: 900;
}
.recipe-cost span {
  margin-left: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.cost-lines {
  display: grid;
  gap: 6px;
}
.cost-line {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 12px;
}
.cost-line strong {
  color: var(--ink);
}
.dish-image-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.dish-rule-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}
.dish-rule-pill {
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 10px 12px;
  border: 1px solid rgba(22, 163, 74, 0.14);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(240, 253, 244, 0.96), rgba(255, 255, 255, 0.96));
}
.dish-rule-pill strong {
  color: #047857;
  font-size: 13px;
  font-weight: 900;
}
.dish-rule-pill span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.menu-ops-overview {
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 20px;
  border: 1px solid rgba(8, 122, 67, .12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 94% 8%, rgba(255, 214, 73, .24), transparent 30%),
    linear-gradient(145deg, #ffffff 0%, #f2faf5 100%);
  box-shadow: var(--shadow-soft);
}
.menu-ops-copy {
  display: grid;
  align-content: center;
  gap: 12px;
}
.menu-ops-copy h2 {
  margin: 0;
  max-width: 720px;
  font-size: 30px;
  line-height: 1.12;
  letter-spacing: -.02em;
}
.menu-ops-copy p {
  margin: 0;
  max-width: 760px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}
.menu-ops-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.menu-ops-stats span {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid rgba(8, 122, 67, .12);
  border-radius: 10px;
  background: rgba(255, 255, 255, .78);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.menu-ops-stats b {
  color: var(--green-deep);
  font-size: 18px;
}
.menu-ops-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.menu-ops-card {
  display: grid;
  gap: 9px;
  min-height: 126px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, .11);
  border-radius: 14px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 12px 28px rgba(14, 59, 37, .05);
}
.menu-ops-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.menu-ops-card-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}
.menu-ops-card-head strong {
  color: var(--green);
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}
.menu-ops-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.menu-ops-card small {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
}
.menu-ops-entry {
  justify-self: start;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(211, 151, 28, .24);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(255, 245, 204, .92), rgba(255, 239, 174, .74));
  color: #855500;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.menu-ops-entry:hover {
  transform: translateY(-1px);
  border-color: rgba(194, 130, 0, .42);
  box-shadow: 0 10px 22px rgba(150, 100, 0, .12);
}
.menu-ops-entry:active {
  transform: translateY(0) scale(.98);
}
.dish-readiness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.dish-readiness-card {
  display: grid;
  gap: 11px;
  align-content: start;
  min-height: 212px;
  padding: 15px;
  border: 1px solid rgba(8, 122, 67, .13);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(248, 252, 249, .98)),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, .1), transparent 34%);
  box-shadow: 0 12px 28px rgba(14, 59, 37, .05);
}
.dish-readiness-card.warn {
  border-color: rgba(189, 127, 6, .24);
  background:
    linear-gradient(180deg, rgba(255, 252, 240, .98), rgba(255, 255, 255, .96)),
    radial-gradient(circle at 100% 0, rgba(245, 158, 11, .16), transparent 34%);
}
.dish-readiness-card.red {
  border-color: rgba(201, 63, 53, .26);
  background:
    linear-gradient(180deg, rgba(255, 246, 244, .98), rgba(255, 255, 255, .96)),
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, .13), transparent 34%);
}
.dish-readiness-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.dish-readiness-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.dish-readiness-head strong {
  color: var(--green);
  font-size: 26px;
  line-height: 1;
}
.dish-readiness-card.warn .dish-readiness-head strong {
  color: #bd7f06;
}
.dish-readiness-card.red .dish-readiness-head strong {
  color: #c93f35;
}
.dish-readiness-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.dish-readiness-list {
  display: grid;
  gap: 7px;
}
.dish-readiness-list button,
.dish-readiness-empty {
  display: grid;
  gap: 2px;
  min-height: 42px;
  padding: 8px 9px;
  border: 1px solid rgba(8, 72, 45, .08);
  border-radius: 9px;
  background: rgba(255, 255, 255, .76);
  color: var(--ink);
  text-align: left;
}
.dish-readiness-list button {
  cursor: pointer;
}
.dish-readiness-list button:hover {
  border-color: rgba(8, 122, 67, .22);
  transform: translateY(-1px);
}
.dish-readiness-list b {
  overflow: hidden;
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dish-readiness-list small,
.dish-readiness-empty {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.standardization-plan {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.standardization-plan li {
  display: grid;
  grid-template-columns: 30px 1fr;
  gap: 10px;
  align-items: start;
  padding: 11px 12px;
  border: 1px solid rgba(8, 122, 67, .12);
  border-radius: 12px;
  background: rgba(247, 251, 248, .86);
}
.standardization-plan b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}
.standardization-plan span {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.55;
}
.ops-tab-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.ops-tab {
  display: inline-grid;
  grid-template-columns: auto auto;
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: #fff;
  color: var(--muted);
  transition: .18s ease;
}
.ops-tab:hover {
  transform: translateY(-1px);
  border-color: rgba(8, 122, 67, .28);
}
.ops-tab.active {
  border-color: var(--green);
  background: var(--green-2);
  color: var(--green);
  box-shadow: 0 10px 22px rgba(8, 122, 67, .08);
}
.ops-tab.static .ops-tab,
.ops-tab-strip.static .ops-tab {
  pointer-events: none;
}
.ops-tab strong {
  font-size: 13px;
  font-weight: 900;
}
.ops-tab span {
  font-size: 12px;
  font-weight: 800;
}
.meal-box-grid {
  display: grid;
  gap: 14px;
}
.container-terminology-guide {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.container-terminology-card {
  min-height: 96px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, .12);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(244, 250, 246, .9));
  box-shadow: 0 10px 26px rgba(10, 82, 54, .06);
}
.container-terminology-card strong,
.container-terminology-card span {
  display: block;
}
.container-terminology-card strong {
  color: var(--green);
  font-size: 14px;
  font-weight: 950;
}
.container-terminology-card span {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
@media (max-width: 1320px) {
  .container-terminology-guide {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .container-terminology-guide,
  .container-meta-grid,
  .meal-box-slots {
    grid-template-columns: 1fr;
  }
}
.meal-box-card {
  display: grid;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, .11);
  border-radius: 16px;
  background: linear-gradient(180deg, #ffffff, #f8fbf8);
}
.meal-box-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.meal-box-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.meal-box-head strong,
.meal-box-head span {
  display: block;
}
.meal-box-head strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
}
.meal-box-head span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.container-business-hint {
  margin: -4px 0 0;
  padding: 10px 12px;
  border: 1px solid rgba(8, 122, 67, .1);
  border-radius: 14px;
  background: rgba(240, 249, 244, .72);
  color: #355c4d;
  font-size: 12px;
  line-height: 1.55;
}
.meal-box-slots {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.container-meta-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.container-meta-grid span {
  min-height: 48px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 122, 67, .1);
  border-radius: 12px;
  background: rgba(255, 255, 255, .74);
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.container-meta-grid b {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.meal-box-slot {
  min-height: 54px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--slot-color) 20%, #ffffff);
  border-radius: 12px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--slot-color) 9%, #ffffff), #ffffff);
}
.meal-box-slot b,
.meal-box-slot span {
  display: block;
}
.meal-box-slot b {
  color: var(--slot-color);
  font-size: 13px;
  font-weight: 900;
}
.meal-box-slot span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.meal-box-foot {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.empty-state.compact {
  grid-column: 1 / -1;
  min-height: 54px;
  display: grid;
  align-items: center;
  padding: 10px 12px;
  border: 1px dashed rgba(8, 122, 67, .18);
  border-radius: 12px;
  color: var(--muted);
  background: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 800;
}
.price-number {
  color: var(--green);
  font-size: 18px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.dish-bom-workbench {
  display: grid;
  gap: 16px;
}
.dish-bom-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 14px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, .12);
  border-radius: 16px;
  background: linear-gradient(145deg, #f7fbf8, #ffffff);
}
.dish-bom-hero h3 {
  margin: 8px 0 8px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.15;
}
.dish-bom-hero p {
  margin: 0 0 10px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.dish-bom-score {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border-radius: 14px;
  background: var(--green-2);
  color: var(--green);
}
.dish-bom-score strong {
  font-size: 28px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.dish-bom-score span,
.dish-bom-score small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.dish-image-card {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(16, 24, 40, 0.05);
}
.dish-image-card img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #eef5ef;
}
.dish-image-copy {
  display: grid;
  gap: 8px;
  padding: 14px;
}
.dish-image-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}
.dish-image-head strong {
  min-width: 0;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
}
.dish-image-copy p,
.dish-image-copy small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.dish-image-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.package-image-hero .refined-hero-copy p {
  max-width: 860px;
}
.package-image-hero.refined-ops-hero {
  grid-template-columns: 1fr;
}
.package-image-hero .refined-hero-copy {
  align-content: start;
}
.package-image-hero .refined-readiness-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}
.package-image-hero .refined-readiness-card {
  min-height: 96px;
}
.package-image-hero .refined-readiness-card strong {
  overflow-wrap: anywhere;
}
.package-template-actions {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(238px, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.package-template-group {
  display: grid;
  gap: 8px;
  align-content: start;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(24, 82, 46, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.7);
}
.package-template-group strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.package-template-group div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.package-template-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.package-template-list {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
  gap: 8px !important;
}
.package-template-pill {
  display: grid;
  grid-template-rows: auto auto minmax(30px, auto) auto;
  gap: 6px;
  min-width: 0;
  min-height: 164px;
  padding: 9px;
  border: 1px solid rgba(24, 82, 46, 0.1);
  border-radius: 10px;
  background: #fff;
}
.package-template-pill.is-inactive {
  opacity: .62;
  background: #f8fafc;
}
.package-template-pill > button {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.package-template-pill span,
.package-template-pill small {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.package-template-pill small {
  display: -webkit-box;
  color: #7b8984;
  font-weight: 700;
  line-height: 1.45;
  white-space: normal;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.package-template-pill-actions {
  display: flex !important;
  gap: 5px !important;
}
.package-template-pill-actions .mini-action {
  flex: 1 1 0;
  min-height: 26px;
  padding: 4px 6px;
  font-size: 11px;
}
.package-template-pill-actions .danger {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fff7f7;
}
.package-template-group .compact {
  min-height: 30px;
  padding-inline: 9px;
  white-space: nowrap;
}
.package-template-pill > .compact {
  font-size: 12px;
}
.package-image-toolbar {
  margin-top: 12px;
}
.package-image-upload-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
.package-image-upload-control input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.package-image-container-card {
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #fff;
}
.package-image-container-card.is-inactive {
  background: #f8fafc;
  opacity: .76;
}
.package-image-container-card .danger {
  border-color: #fecaca;
  color: #b91c1c;
  background: #fff7f7;
}
.package-image-container-card .refined-action-rail {
  gap: 8px;
  flex-wrap: wrap;
}
.package-image-container-card + .package-image-container-card {
  margin-top: 12px;
}
.package-image-thumb {
  display: grid;
  place-items: center;
  min-height: 96px;
  overflow: hidden;
  border-radius: 12px;
  background: #f4f7f3;
  border: 1px solid rgba(24, 82, 46, 0.1);
}
.package-image-thumb img {
  width: 100%;
  height: 100%;
  min-height: 96px;
  object-fit: cover;
}
.package-image-thumb.empty span {
  padding: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.package-image-chain {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.package-image-chain span {
  padding: 8px 10px;
  border-radius: 10px;
  background: #f4f7f3;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.package-image-chain b {
  color: var(--muted);
}
@media (max-width: 1180px) {
  .package-template-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 640px) {
  .package-template-actions {
    grid-template-columns: 1fr;
  }
  .package-image-container-card {
    grid-template-columns: 1fr;
  }
  .package-template-group .compact {
    flex: 1 1 auto;
  }
  .package-template-list {
    grid-template-columns: 1fr !important;
  }
}
.prompt-preview {
  max-height: 220px;
  overflow: auto;
  margin: 14px 0 0;
  padding: 12px;
  border-radius: 12px;
  background: #111827;
  color: #e5e7eb;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
}
.status,
.tag {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--green-2);
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.status.warn,
.tag.warn {
  background: var(--gold-2);
  color: var(--gold);
}
.status.blue,
.tag.blue {
  background: var(--blue-2);
  color: var(--blue);
}
.status.red,
.tag.red {
  background: var(--red-2);
  color: var(--red);
}
.status.gray,
.tag.gray {
  background: #eef1f0;
  color: #66736b;
}
.taste-tag,
.taste-summary-item {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.taste-tag.plain,
.taste-summary-item.plain {
  background: #edf7ef;
  color: #087a43;
}
.taste-tag.mild,
.taste-summary-item.mild {
  background: #fff2ca;
  color: #bd7f06;
}
.taste-tag.spicy,
.taste-summary-item.spicy {
  background: #ffe9e6;
  color: #c93f35;
}
.taste-tag.unknown,
.taste-summary-item.unknown {
  background: #eef1f0;
  color: #66736b;
}
.taste-summary,
.row-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.taste-summary.compact {
  gap: 4px;
}
.flow {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 10px;
}
.flow-step {
  min-height: 98px;
  padding: 13px;
}
.flow-step strong {
  display: block;
  margin-bottom: 8px;
  font-size: 13px;
}
.flow-step span {
  color: var(--muted);
  font-size: 12px;
}
.task-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.task-card {
  padding: 13px;
  box-shadow: none;
}
.task-card strong {
  display: block;
  margin-bottom: 7px;
}
.task-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.mono {
  color: var(--muted);
  font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  font-size: 12px;
  word-break: break-all;
}
.filter-board {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.confirm-box {
  display: grid;
  gap: 14px;
}
.confirm-box > strong {
  font-size: 17px;
}
.confirm-box p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.search-field {
  display: grid;
  gap: 7px;
  max-width: 360px;
}
.search-field span,
.filter-row strong,
.form-section-title {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.search-field input,
.edit-form input,
.edit-form select,
.edit-form textarea,
.confirm-box textarea {
  width: 100%;
  min-height: 38px;
  padding: 0 11px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  outline: none;
}
.edit-form textarea {
  min-height: 86px;
  padding-top: 10px;
  line-height: 1.55;
  resize: vertical;
}
.confirm-box textarea {
  min-height: 92px;
  padding-top: 10px;
  line-height: 1.55;
  resize: vertical;
}
.filter-row {
  display: grid;
  grid-template-columns: 86px 1fr;
  gap: 10px;
  align-items: start;
}
.filter-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.filter-chip {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 999px;
  background: #fff;
  color: #34443a;
  font-size: 12px;
  font-weight: 900;
}
.filter-chip span {
  margin-left: 4px;
  color: var(--muted);
  font-weight: 800;
}
.filter-chip.active {
  border-color: var(--green);
  background: var(--green-2);
  color: var(--green);
}
.filter-chip.active span {
  color: var(--green);
}
.edit-form {
  display: grid;
  gap: 16px;
}
.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.website-admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid rgba(18, 99, 66, .12);
  border-radius: 16px;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 216, 77, .24), transparent 32%),
    linear-gradient(145deg, rgba(237, 248, 241, .95), rgba(255, 255, 255, .96));
  box-shadow: 0 22px 58px rgba(26, 78, 54, .08);
}
.website-admin-hero h2 {
  margin: 8px 0 10px;
  max-width: 760px;
  font-size: 34px;
  line-height: 1.08;
  letter-spacing: -.04em;
}
.website-admin-hero p {
  margin: 0;
  max-width: 780px;
  color: var(--muted);
  line-height: 1.75;
}
.website-preview-card {
  min-height: 220px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 10px;
  overflow: hidden;
  padding: 14px;
  border-radius: 14px;
  background: #0b5f3d;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.28);
}
.website-preview-card img {
  width: 100%;
  height: 120px;
  object-fit: contain;
  border-radius: 10px;
  background: rgba(255,255,255,.16);
}
.website-preview-card strong {
  font-size: 18px;
  line-height: 1.18;
}
.website-preview-card span {
  color: rgba(255,255,255,.72);
  font-size: 13px;
  font-weight: 800;
}
.website-publish-board {
  display: grid;
  gap: 16px;
  margin-bottom: 18px;
  padding: 18px;
  border: 1px solid rgba(18, 99, 66, .12);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 42px rgba(26, 78, 54, .06);
}
.website-publish-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.website-publish-head h3 {
  margin: 6px 0 6px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.35;
}
.website-publish-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 820;
}
.website-preview-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.website-preview-metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.website-preview-metrics article {
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(18, 99, 66, .10);
  border-radius: 14px;
  background: linear-gradient(180deg, #f7fbf8, #fff);
}
.website-preview-metrics span,
.website-image-preview span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.website-preview-metrics strong {
  display: block;
  margin-top: 8px;
  color: var(--green);
  font-size: 24px;
  line-height: 1;
  letter-spacing: -.03em;
}
.website-preview-metrics small {
  display: block;
  margin-top: 7px;
  color: var(--subtle);
  font-size: 11px;
  line-height: 1.35;
}
.website-editor {
  gap: 18px;
}
.website-repeat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.website-repeat-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.website-repeat-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(18, 99, 66, .11);
  border-radius: 14px;
  background: linear-gradient(180deg, #fff, #f8fbf8);
}
.website-repeat-card.compact {
  align-content: start;
}
.website-repeat-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}
.website-repeat-head strong {
  color: var(--ink);
  font-size: 14px;
}
.website-repeat-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.website-mini-preview {
  height: 126px;
  overflow: hidden;
  border-radius: 10px;
  background: #ecf5ef;
}
.website-mini-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #f7fbf8;
}
.website-image-preview {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 96px;
  min-width: 0;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(18, 99, 66, .11);
  border-radius: 14px;
  background: #fff;
}
.website-image-preview > div {
  min-width: 0;
}
.form-grid > .website-image-preview {
  grid-column: 1 / -1;
}
.website-image-preview img {
  width: 112px;
  height: 76px;
  max-width: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 10px;
  background: #edf5f0;
}
.website-image-preview strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.3;
  word-break: break-all;
}
.website-image-preview small {
  display: block;
  margin-top: 4px;
  max-width: 100%;
  overflow: hidden;
  color: var(--subtle);
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-image-preview.empty {
  grid-template-columns: minmax(0, 1fr);
  border-style: dashed;
  background: #f8fbf8;
}
.wechat-service-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid rgba(18, 99, 66, .12);
  border-radius: 12px;
  background: #f7fbf8;
}
.wechat-service-status.warn {
  border-color: rgba(176, 116, 0, .24);
  background: #fff8e8;
}
.wechat-service-status.ready {
  border-color: rgba(18, 99, 66, .18);
  background: #f2faf4;
}
.wechat-service-status div:first-child {
  min-width: 0;
}
.wechat-service-status span,
.wechat-service-status small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.wechat-service-status strong {
  display: block;
  margin: 4px 0;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}
.wechat-service-status small {
  max-width: 720px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.website-image-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}
.website-image-tools a {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
}
.website-upload-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 9px 12px;
  border: 1px dashed rgba(12, 126, 74, .34);
  border-radius: 12px;
  background: rgba(240, 250, 244, .78);
  color: var(--green);
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}
.website-upload-control:hover {
  border-color: rgba(12, 126, 74, .62);
  background: rgba(230, 247, 237, .92);
  transform: translateY(-1px);
}
.website-upload-control input {
  display: none;
}
.website-upload-control small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  text-align: right;
}
.website-client-types {
  margin-top: 14px;
}
.form-field.full {
  grid-column: 1 / -1;
}
.switch-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 10px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: #fff;
}
.switch-field input {
  width: auto;
  min-height: auto;
}
.check-grid {
  display: grid;
  gap: 10px;
}
.check-grid.cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.check-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
  align-items: flex-start;
  min-height: 58px;
  padding: 12px;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  cursor: pointer;
}
.check-card input {
  width: 16px;
  min-height: 16px;
  margin-top: 2px;
  accent-color: var(--green);
}
.check-card strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
}
.check-card small {
  display: block;
  margin-top: 4px;
  color: var(--subtle);
  font-size: 12px;
  line-height: 1.45;
}
.permission-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  max-width: 520px;
}
.form-help {
  padding: 10px 12px;
  border: 1px solid #d7e6ee;
  border-radius: 8px;
  background: #f4fbff;
  color: #326070;
  font-size: 12px;
  line-height: 1.6;
}
.ui-copy-tight {
  max-width: 62ch;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.form-actions {
  position: sticky;
  bottom: 0;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 0 0;
  border-top: 1px solid var(--line);
  background: #fff;
}
.empty {
  padding: 34px;
  border: 1px dashed var(--line-strong);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
  text-align: center;
}
.toast {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 20;
  max-width: 380px;
  padding: 12px 16px;
  border-radius: 8px;
  background: #15231b;
  color: #fff;
  box-shadow: 0 18px 44px rgba(18, 56, 35, 0.2);
  font-size: 13px;
  font-weight: 900;
  opacity: 0;
  pointer-events: none;
  visibility: hidden;
  transform: translateY(12px);
  transition: opacity 180ms ease, transform 180ms ease, visibility 0s linear 180ms;
}
.toast.show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  transition: opacity 180ms ease, transform 180ms ease;
}
.drawer {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: none;
}
.drawer.open {
  display: block;
}
.drawer-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 32, 24, 0.22);
}
.drawer-panel {
  position: absolute;
  top: 0;
  right: 0;
  width: min(720px, 82vw);
  height: 100vh;
  overflow-y: auto;
  border-left: 1px solid var(--line);
  background: #fff;
  box-shadow: -18px 0 44px rgba(17, 32, 24, 0.14);
}
.drawer-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 22px;
  border-bottom: 1px solid var(--line);
  background: #fff;
}
.drawer-head h2 {
  margin: 4px 0 0;
  font-size: 24px;
}
.drawer-body {
  display: grid;
  gap: 14px;
  padding: 18px 22px 28px;
}
.drawer-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.detail-item {
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
}
.detail-item small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.detail-item strong {
  display: block;
  margin-top: 6px;
  line-height: 1.5;
}
.print-sheet {
  color: #111;
  background: #fff;
}
.print-sheet h2 {
  margin: 0 0 10px;
}
.print-sheet table {
  width: 100%;
  border-collapse: collapse;
}
.print-sheet th,
.print-sheet td {
  padding: 8px;
  border: 1px solid #999;
  text-align: left;
  font-size: 12px;
}
@media (max-width: 1100px) {
  .website-admin-hero,
  .website-repeat-grid,
  .website-repeat-grid.compact,
  .customer-ops-hero,
  .sales-hero,
  .cols-2,
  .cols-3,
  .cols-4 {
    grid-template-columns: 1fr;
  }
  .ops-checklist,
  .ops-flow,
  .stage-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .customer-card-grid {
    grid-template-columns: 1fr;
  }
  .sales-workbench {
    grid-template-columns: 1fr;
  }
  .website-preview-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .website-publish-head {
    flex-direction: column;
  }
  .wechat-service-status {
    align-items: flex-start;
    flex-direction: column;
  }
  .wechat-service-status small {
    max-width: 100%;
  }
  .website-preview-actions {
    justify-content: flex-start;
  }
}
@media (max-width: 720px) {
  .website-admin-hero {
    padding: 16px;
  }
  .website-admin-hero h2 {
    font-size: 26px;
  }
  .website-preview-metrics,
  .website-image-preview {
    grid-template-columns: 1fr;
  }
  .wechat-service-status small {
    white-space: normal;
    word-break: break-all;
  }
  .website-image-preview img {
    width: 100%;
    height: 140px;
  }
  .ops-checklist,
  .ops-flow,
  .stage-board {
    grid-template-columns: 1fr;
  }
  .drawer-panel {
    width: 100vw;
  }
}
/* Formal admin visual upgrade: stronger hierarchy, clearer risk states, calmer Apple-like surfaces. */
.login-screen {
  background:
    radial-gradient(circle at 76% 16%, rgba(255, 205, 64, 0.2), transparent 24%),
    radial-gradient(circle at 18% 78%, rgba(8, 122, 67, 0.13), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #edf5f0 100%);
}
.login-card {
  border-color: rgba(8, 72, 45, 0.12);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.94)),
    radial-gradient(circle at 0 0, rgba(8, 122, 67, 0.08), transparent 34%);
  box-shadow: 0 26px 70px rgba(18, 40, 29, 0.13);
}
.login-form {
  border-color: rgba(8, 72, 45, 0.1);
  background: rgba(255, 255, 255, 0.84);
  box-shadow: var(--shadow-soft);
}
.sidebar {
  border-right-color: rgba(8, 72, 45, 0.12);
  background:
    linear-gradient(180deg, #ffffff 0%, #f6faf7 58%, #eef6f1 100%);
  box-shadow: 10px 0 34px rgba(21, 42, 31, 0.04);
}
.nav-button {
  position: relative;
  color: #314138;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}
.nav-button:hover {
  border-color: rgba(8, 122, 67, 0.18);
  background: rgba(255, 255, 255, 0.72);
  transform: translateX(1px);
}
.nav-button.active {
  border-color: rgba(8, 122, 67, 0.24);
  background: linear-gradient(135deg, #0b8a4a, #07643a);
  color: #fff;
  box-shadow: 0 9px 18px rgba(8, 122, 67, 0.18);
}
.nav-button.active::before {
  content: "";
  position: absolute;
  left: -7px;
  top: 9px;
  bottom: 9px;
  width: 3px;
  border-radius: 999px;
  background: #ffd54d;
}
.nav-button.active .nav-icon {
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
}
.sidebar-card {
  border-color: rgba(8, 122, 67, 0.14);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(237, 247, 242, 0.96)),
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.24), transparent 34%);
  box-shadow: var(--shadow-soft);
}
.topbar {
  background: linear-gradient(180deg, rgba(243, 246, 244, 0.96) 78%, rgba(243, 246, 244, 0));
  backdrop-filter: blur(12px);
}
.admin-user {
  border-color: rgba(8, 72, 45, 0.12);
  background: rgba(255, 255, 255, 0.76);
  box-shadow: var(--shadow-soft);
}
.primary-action,
.ghost-action,
.mini-action {
  transition: transform 120ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}
.primary-action {
  background: linear-gradient(180deg, #0b8c4d, #07643a);
  box-shadow: 0 10px 20px rgba(8, 122, 67, 0.18);
}
.ghost-action {
  background: rgba(255, 255, 255, 0.78);
}
.primary-action:hover,
.ghost-action:hover,
.mini-action:hover {
  transform: translateY(-1px);
  box-shadow: var(--shadow-soft);
}
.primary-action:active,
.ghost-action:active,
.mini-action:active {
  transform: translateY(0);
}
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  border-color: var(--green) !important;
  box-shadow: var(--focus-ring);
  outline: none;
}
.operational-alert {
  display: grid;
  grid-template-columns: minmax(260px, 0.82fr) minmax(620px, 1.18fr);
  gap: 14px;
  align-items: stretch;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(240, 248, 244, 0.96)),
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.18), transparent 30%);
  box-shadow: var(--shadow);
}
.operational-alert.warn {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    linear-gradient(135deg, #fffdf5, #ffffff),
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.28), transparent 36%);
}
.operational-alert.critical {
  border-color: rgba(201, 63, 53, 0.24);
  background:
    linear-gradient(135deg, #fff6f2, #ffffff),
    radial-gradient(circle at 100% 0, rgba(201, 63, 53, 0.14), transparent 34%);
}
.alert-copy {
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 2px 6px;
}
.alert-copy span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.operational-alert.warn .alert-copy span {
  color: var(--gold);
}
.operational-alert.critical .alert-copy span {
  color: var(--red);
}
.alert-copy strong {
  font-size: 18px;
  line-height: 1.25;
}
.alert-items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.alert-item {
  display: grid;
  gap: 4px;
  min-height: 66px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  text-align: left;
}
.alert-item span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.alert-item strong {
  font-size: 24px;
  line-height: 1;
}
.alert-item.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background: var(--gold-2);
}
.alert-item.blue {
  border-color: rgba(35, 104, 187, 0.22);
  background: var(--blue-2);
}
.alert-item.red {
  border-color: rgba(201, 63, 53, 0.24);
  background: var(--red-2);
}
.alert-item.warn strong {
  color: var(--gold);
}
.alert-item.blue strong {
  color: var(--blue);
}
.alert-item.red strong {
  color: var(--red);
}
.panel,
.metric,
.flow-step,
.module-card,
.task-card,
.recipe-card {
  border-color: rgba(8, 72, 45, 0.11);
}
.panel-head {
  border-bottom-color: rgba(8, 72, 45, 0.09);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 253, 251, 0.92));
}
.metric {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, #ffffff, #fbfdfc);
}
.metric::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--green);
}
.metric.warn {
  border-color: rgba(189, 127, 6, 0.28);
  background: linear-gradient(180deg, #fffdf5, #ffffff);
}
.metric.warn::before {
  background: var(--gold);
}
.metric.red {
  border-color: rgba(201, 63, 53, 0.25);
  background: linear-gradient(180deg, #fff8f7, #ffffff);
}
.metric.red::before {
  background: var(--red);
}
.metric.blue {
  border-color: rgba(35, 104, 187, 0.22);
  background: linear-gradient(180deg, #f4f8ff, #ffffff);
}
.metric.blue::before {
  background: var(--blue);
}
.metric.warn .metric-value {
  color: var(--gold);
}
.metric.red .metric-value {
  color: var(--red);
}
.metric.blue .metric-value {
  color: var(--blue);
}
.module-card,
.task-card,
.recipe-card {
  box-shadow: var(--shadow-soft);
}
.table {
  border-collapse: separate;
  border-spacing: 0;
}
.table th {
  background: #f6faf8;
}
.table tbody tr {
  transition: background 140ms ease;
}
.table tbody tr:hover {
  background: #fbfdfb;
}
.table tbody tr.row-warn {
  background: #fffaf0;
}
.table tbody tr.row-blue {
  background: #f5f9ff;
}
.table tbody tr.row-red {
  background: #fff5f3;
}
.table tbody tr.row-warn td:first-child {
  border-left: 4px solid var(--gold);
}
.table tbody tr.row-blue td:first-child {
  border-left: 4px solid var(--blue);
}
.table tbody tr.row-red td:first-child {
  border-left: 4px solid var(--red);
}
.status,
.tag {
  gap: 6px;
}
.status::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.status.warn,
.tag.warn {
  box-shadow: inset 0 0 0 1px rgba(189, 127, 6, 0.12);
}
.status.blue,
.tag.blue {
  box-shadow: inset 0 0 0 1px rgba(35, 104, 187, 0.12);
}
.status.red,
.tag.red {
  box-shadow: inset 0 0 0 1px rgba(201, 63, 53, 0.12);
}
.menu-ai-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) 430px;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 243, 0.94)),
    radial-gradient(circle at 92% 8%, rgba(255, 214, 79, 0.22), transparent 28%);
  box-shadow: var(--shadow);
}
.menu-ai-hero h2 {
  max-width: 760px;
  margin: 10px 0 10px;
  font-size: 32px;
  line-height: 1.18;
}
.menu-ai-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.menu-rule-rail {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-content: center;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
}
.menu-rule-rail span {
  position: relative;
  min-height: 74px;
  padding: 12px 10px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7fbf9);
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 900;
}
.menu-rule-rail span::before {
  content: "";
  display: block;
  width: 18px;
  height: 4px;
  margin-bottom: 12px;
  border-radius: 4px;
  background: var(--green);
}
.benefit-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) 420px;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 18px;
  padding: 24px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.97), rgba(239, 248, 243, 0.94)),
    radial-gradient(circle at 90% 0, rgba(255, 214, 79, 0.2), transparent 30%);
  box-shadow: var(--shadow);
}
.benefit-hero h2 {
  max-width: 760px;
  margin: 10px 0;
  color: var(--green-deep);
  font-size: 31px;
  line-height: 1.16;
}
.benefit-hero p {
  max-width: 780px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}
.benefit-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  align-content: center;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
}
.benefit-flow span {
  min-height: 72px;
  padding: 12px 10px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f7fbf9);
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 900;
}
.benefit-flow span::before {
  content: "";
  display: block;
  width: 18px;
  height: 4px;
  margin-bottom: 12px;
  border-radius: 4px;
  background: var(--gold);
}
.master-menu-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}
.master-menu-card {
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 8px;
  background:
    linear-gradient(180deg, #ffffff, #fbfdfc),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.08), transparent 30%);
  box-shadow: var(--shadow-soft);
}
.master-menu-card.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background: linear-gradient(180deg, #fffdf5, #ffffff);
}
.master-menu-card.red {
  border-color: rgba(201, 63, 53, 0.24);
  background: linear-gradient(180deg, #fff7f5, #ffffff);
}
.master-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.master-card-head h3 {
  margin: 5px 0 0;
  font-size: 22px;
  line-height: 1.25;
}
.master-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.master-stats span {
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.master-stats strong {
  display: block;
  margin-bottom: 3px;
  color: var(--green-deep);
  font-size: 19px;
  line-height: 1;
}
.master-forms,
.master-dishes {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.master-dishes span {
  max-width: 154px;
  overflow: hidden;
  padding: 7px 9px;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.production-waves {
  display: grid;
  gap: 6px;
  padding-top: 4px;
  border-top: 1px solid var(--line);
}
.production-waves p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.production-break-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.production-break-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 220px;
  padding: 15px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.12), transparent 32%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
  box-shadow: var(--shadow-soft);
}
.production-break-card.warn {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 89, 0.18), transparent 32%),
    linear-gradient(180deg, #fffdf6, #ffffff);
}
.production-break-card.red {
  border-color: rgba(201, 63, 53, 0.3);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 32%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.production-break-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.production-break-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.production-break-head strong {
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}
.production-break-card.warn .production-break-head strong {
  color: #b87505;
}
.production-break-card.red .production-break-head strong {
  color: #c93f35;
}
.production-break-card p {
  min-height: 36px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.production-break-owner {
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.production-break-list {
  display: grid;
  gap: 6px;
}
.production-break-sample {
  display: grid;
  gap: 2px;
  min-height: 38px;
  padding: 7px 8px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  text-align: left;
}
button.production-break-sample {
  cursor: pointer;
}
button.production-break-sample:hover {
  border-color: rgba(8, 122, 67, 0.25);
  transform: translateY(-1px);
}
.production-break-sample b {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.production-break-sample span,
.production-break-sample.empty {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.wave-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.wave-card {
  display: grid;
  gap: 10px;
  min-height: 150px;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 10px;
  background:
    linear-gradient(180deg, #ffffff, #f8fbfa),
    radial-gradient(circle at 100% 0%, rgba(8, 122, 67, 0.1), transparent 30%);
  box-shadow: var(--shadow-soft);
}
.wave-card.warn {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    linear-gradient(180deg, #fffdf6, #ffffff),
    radial-gradient(circle at 100% 0%, rgba(255, 211, 89, 0.16), transparent 28%);
}
.wave-card strong {
  color: var(--ink);
  font-size: 20px;
  line-height: 1.2;
}
.wave-card p,
.wave-meta span {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.wave-meta {
  display: grid;
  gap: 5px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.production-check-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
  padding: 16px;
}
.production-check-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f8fbf8);
}
.production-check-card strong {
  display: block;
  color: var(--ink);
  font-size: 15px;
  font-weight: 900;
}
.production-check-card span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
}
.production-check-card ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.production-check-card li {
  position: relative;
  padding-left: 14px;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.45;
}
.production-check-card li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 7px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: #16a34a;
}
.control-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  padding: 16px;
}
.control-grid div {
  min-height: 128px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: linear-gradient(180deg, #ffffff, #f8fbfa);
}
.control-grid strong {
  display: block;
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}
.control-grid span {
  display: block;
  margin-top: 9px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 900;
}
.control-grid p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.delivery-proof-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.delivery-reconcile-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.delivery-reconcile-step {
  display: grid;
  gap: 8px;
  min-height: 112px;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, .12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(246, 251, 248, .9));
  box-shadow: 0 12px 28px rgba(14, 59, 37, .055);
}
.delivery-reconcile-step strong {
  color: var(--green-deep);
  font-size: 14px;
  font-weight: 900;
}
.delivery-reconcile-step span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.delivery-proof-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 166px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.15);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.12), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
  box-shadow: var(--shadow-soft);
}
.delivery-proof-card.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 89, 0.18), transparent 34%),
    linear-gradient(180deg, #fffdf6, #ffffff);
}
.delivery-proof-card.red {
  border-color: rgba(201, 63, 53, 0.3);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 34%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.delivery-proof-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.delivery-proof-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.delivery-proof-head strong {
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}
.delivery-proof-card.warn .delivery-proof-head strong {
  color: #b87505;
}
.delivery-proof-card.red .delivery-proof-head strong {
  color: #c93f35;
}
.delivery-proof-card p {
  min-height: 36px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.delivery-proof-card small {
  width: max-content;
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.delivery-decision-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}
.delivery-decision-card {
  display: grid;
  gap: 14px;
  align-content: start;
  min-height: 232px;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.1), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
  box-shadow: 0 14px 32px rgba(14, 59, 37, 0.06);
}
.delivery-decision-card.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 89, 0.17), transparent 34%),
    linear-gradient(180deg, #fffdf7, #ffffff);
}
.delivery-decision-card.red {
  border-color: rgba(201, 63, 53, 0.28);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.12), transparent 34%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.delivery-decision-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.delivery-decision-top span,
.delivery-decision-top strong {
  display: block;
}
.delivery-decision-top span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.delivery-decision-top strong {
  margin-top: 5px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.25;
}
.delivery-decision-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.delivery-decision-metrics span {
  display: grid;
  gap: 4px;
  min-height: 58px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}
.delivery-decision-metrics b {
  overflow: hidden;
  color: var(--green);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.delivery-decision-card.warn .delivery-decision-metrics b {
  color: #b87505;
}
.delivery-decision-card.red .delivery-decision-metrics b {
  color: #c93f35;
}
.delivery-decision-metrics small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.2;
}
.delivery-decision-card p {
  min-height: 42px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.finance-proof-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.finance-proof-card {
  display: grid;
  gap: 10px;
  min-height: 146px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(21, 142, 90, 0.1), transparent 35%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
  box-shadow: var(--shadow-soft);
}
.finance-proof-card.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 89, 0.18), transparent 35%),
    linear-gradient(180deg, #fffdf6, #ffffff);
}
.finance-proof-card.red {
  border-color: rgba(201, 63, 53, 0.3);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 35%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.finance-proof-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.finance-proof-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.finance-proof-head strong {
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}
.finance-proof-card.warn .finance-proof-head strong {
  color: #b87505;
}
.finance-proof-card.red .finance-proof-head strong {
  color: #c93f35;
}
.finance-proof-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.finance-proof-card small {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}
.danger-text {
  color: #c93f35 !important;
}
.inventory-stocktake-editor {
  margin-top: 14px;
  overflow-x: auto;
}
.inventory-stocktake-editor table {
  min-width: 860px;
}
.compact-input,
.compact-select {
  width: 100%;
  min-width: 92px;
  height: 36px;
  padding: 0 10px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--ink);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  outline: none;
}
.compact-select {
  min-width: 132px;
}
.compact-input:focus,
.compact-select:focus {
  border-color: rgba(8, 122, 67, 0.42);
  box-shadow: 0 0 0 3px rgba(8, 122, 67, 0.10);
}
.billing-decision-summary {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.10), transparent 36%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
}
.billing-decision-summary.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 89, 0.18), transparent 36%),
    linear-gradient(180deg, #fffdf6, #ffffff);
}
.billing-decision-summary.red {
  border-color: rgba(201, 63, 53, 0.30);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 36%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.billing-decision-copy span,
.billing-decision-copy strong {
  display: block;
}
.billing-decision-copy span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.billing-decision-copy strong {
  margin-top: 5px;
  color: var(--ink);
  font-size: 20px;
  font-weight: 950;
  line-height: 1.25;
}
.billing-decision-copy p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.billing-decision-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.billing-decision-kpis span {
  display: grid;
  gap: 5px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}
.billing-decision-kpis b {
  overflow: hidden;
  color: var(--green);
  font-size: 18px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.billing-decision-summary.warn .billing-decision-kpis b {
  color: #b87505;
}
.billing-decision-summary.red .billing-decision-kpis b {
  color: #c93f35;
}
.billing-decision-kpis small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.billing-decision-items {
  display: grid;
  gap: 10px;
}
.billing-decision-item {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 4px 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}
.billing-decision-item span,
.billing-decision-item strong {
  display: block;
}
.billing-decision-item span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.billing-decision-item strong {
  margin-top: 3px;
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.billing-decision-item b {
  color: var(--green);
  font-size: 18px;
  font-weight: 950;
}
.billing-decision-item.blocked b {
  color: #c93f35;
}
.billing-decision-item.review b {
  color: #b87505;
}
.billing-decision-item p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.exception-command-center {
  display: grid;
  grid-template-columns: 0.88fr 1.12fr;
  gap: 14px;
  margin: 16px 0;
}
.exception-sla-strip,
.exception-source-strip,
.exception-owner-grid {
  display: grid;
  gap: 10px;
}
.exception-sla-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.exception-sla-strip div,
.exception-source-chip,
.exception-owner-card {
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.exception-sla-strip div {
  min-height: 94px;
  padding: 13px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.1), transparent 36%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
}
.exception-sla-strip span,
.exception-sla-strip strong {
  display: block;
}
.exception-sla-strip span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.exception-sla-strip strong {
  margin-top: 12px;
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}
.exception-sla-strip .warn {
  border-color: rgba(189, 127, 6, 0.28);
}
.exception-sla-strip .warn strong {
  color: #b87505;
}
.exception-sla-strip .red {
  border-color: rgba(201, 63, 53, 0.3);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 36%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.exception-sla-strip .red strong {
  color: #c93f35;
}
.exception-source-strip {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.exception-source-chip {
  display: grid;
  gap: 6px;
  min-height: 94px;
  padding: 13px;
}
.exception-source-chip strong,
.exception-source-chip span,
.exception-source-chip em {
  display: block;
}
.exception-source-chip strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.exception-source-chip span {
  color: var(--green);
  font-size: 22px;
  font-weight: 950;
}
.exception-source-chip em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
}
.exception-source-chip.warn {
  border-color: rgba(189, 127, 6, 0.28);
}
.exception-source-chip.red {
  border-color: rgba(201, 63, 53, 0.3);
}
.exception-owner-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 16px;
}
.exception-owner-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 174px;
  padding: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.1), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fbfa);
}
.exception-owner-card.warn {
  border-color: rgba(189, 127, 6, 0.28);
}
.exception-owner-card.red {
  border-color: rgba(201, 63, 53, 0.3);
  background:
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 34%),
    linear-gradient(180deg, #fff8f7, #ffffff);
}
.exception-owner-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.exception-owner-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.exception-owner-head strong {
  color: var(--green);
  font-size: 28px;
  line-height: 1;
}
.exception-owner-card.red .exception-owner-head strong {
  color: #c93f35;
}
.exception-owner-card p {
  min-height: 40px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.5;
}
.exception-owner-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.menu-candidate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}
.menu-candidate-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #fbfdfc);
  box-shadow: var(--shadow-soft);
}
.menu-candidate-card.confirmed {
  border-color: rgba(8, 122, 67, 0.28);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 249, 245, 0.98)),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.1), transparent 30%);
}
.candidate-head,
.candidate-foot,
.candidate-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.candidate-head h3 {
  margin: 5px 0 0;
  font-size: 20px;
}
.candidate-meta {
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.candidate-intel {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.candidate-intel span,
.candidate-warning span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.candidate-intel span {
  color: #047857;
  background: rgba(16, 185, 129, 0.11);
}
.candidate-wave {
  display: grid;
  gap: 6px;
  padding: 10px 12px;
  border: 1px solid rgba(14, 165, 233, 0.16);
  border-radius: 8px;
  background: rgba(240, 249, 255, 0.72);
}
.candidate-wave p {
  margin: 0;
  color: #075985;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}
.candidate-warning {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.candidate-warning span {
  color: #b45309;
  background: rgba(245, 158, 11, 0.14);
}
.menu-candidate-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}
.menu-suggestion-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.menu-suggestion-list li {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 76px minmax(0, 180px);
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}
.menu-suggestion-list li span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.menu-suggestion-list li strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-suggestion-list li em {
  color: var(--gold);
  font-style: normal;
  font-weight: 900;
  text-align: right;
}
.menu-week-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}
.week-menu-card {
  display: grid;
  gap: 10px;
  min-height: 230px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #fbfdfc);
  box-shadow: var(--shadow-soft);
}
.week-date,
.menu-score {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.week-date strong {
  font-size: 18px;
}
.week-menu-card h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.3;
}
.week-menu-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.5;
}
.week-items {
  display: grid;
  gap: 6px;
}
.week-items span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  overflow: hidden;
  padding: 8px 10px;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.week-items span b {
  min-width: 0;
  overflow: hidden;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.row-tags {
  margin-top: 7px;
}
.menu-score > span,
.score-number {
  color: var(--green);
  font-size: 28px;
  font-weight: 950;
  line-height: 1;
}
.score-number.warn,
.menu-score > span.warn {
  color: var(--gold);
}
.score-number.red,
.menu-score > span.red {
  color: var(--red);
}
.score-number.blue,
.menu-score > span.blue {
  color: var(--blue);
}
.menu-score > div {
  flex: 1;
  min-width: 0;
}
.menu-score small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.week-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.menu-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.menu-flow-step {
  min-height: 154px;
  padding: 15px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f8fbf9);
}
.menu-flow-step span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  margin-bottom: 14px;
  border-radius: 50%;
  background: var(--green);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
}
.menu-flow-step strong {
  display: block;
  margin-bottom: 8px;
  font-size: 16px;
}
.menu-flow-step p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-menu-hero {
  grid-template-columns: minmax(0, 1.18fr) 460px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(238, 248, 242, 0.96)),
    radial-gradient(circle at 96% 4%, rgba(255, 214, 79, 0.24), transparent 26%),
    radial-gradient(circle at 84% 100%, rgba(8, 122, 67, 0.12), transparent 30%);
}
.smart-run-strip {
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
}
.smart-run-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff, #f8fbfa);
}
.smart-run-card span,
.smart-run-card p {
  color: var(--muted);
  font-size: 12px;
}
.smart-run-card strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 15px;
}
.smart-run-card p {
  grid-column: 1 / -1;
  margin: 0;
  line-height: 1.45;
}
.smart-menu-command-center {
  display: grid;
  grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.7fr) minmax(220px, 0.62fr);
  gap: 10px;
  margin: 10px 0;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(8, 72, 45, 0.06);
}
.smart-command-hero,
.smart-command-side {
  display: grid;
  gap: 12px;
  align-content: start;
}
.smart-menu-section-tabs {
  position: sticky;
  top: 64px;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(180px, 0.24fr) minmax(0, 1fr);
  gap: 8px;
  margin: 10px 0 12px;
  padding: 8px;
  border: 1px solid rgba(8, 72, 45, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 10px 28px rgba(8, 72, 45, 0.08);
  backdrop-filter: blur(18px);
}
.smart-menu-section-tabs > div {
  display: grid;
  gap: 5px;
  align-content: center;
  padding: 8px 10px;
  border-radius: 9px;
  background: #f7faf8;
}
.smart-menu-section-tabs > div span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-menu-section-tabs > div strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}
.smart-menu-section-tabs nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-menu-section-tabs button {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
  min-height: 58px;
  padding: 8px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease, box-shadow .18s ease;
}
.smart-menu-section-tabs button:hover {
  border-color: rgba(8, 122, 67, 0.25);
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(8, 72, 45, 0.09);
  transform: translateY(-1px);
}
.smart-menu-section-tabs button.active {
  border-color: rgba(8, 122, 67, 0.32);
  background: linear-gradient(180deg, #0d8f55, #087a43);
  color: #ffffff;
  box-shadow: 0 16px 40px rgba(8, 122, 67, 0.24);
}
.smart-menu-section-tabs button i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 7px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.smart-menu-section-tabs button.active i {
  background: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}
.smart-menu-section-tabs button span {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-menu-section-tabs button b {
  overflow: hidden;
  font-size: 13px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-menu-section-tabs button small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.smart-menu-section-tabs button.active small,
.smart-menu-section-tabs button.active em {
  color: rgba(255, 255, 255, 0.78);
}
.smart-menu-section-tabs button em {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}
.smart-menu-section-body {
  display: grid;
  gap: 16px;
}
.smart-command-hero {
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.74);
}
.smart-command-hero h2 {
  margin: 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.02;
  letter-spacing: 0;
  text-wrap: balance;
}
.smart-command-hero p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.72;
}
.smart-command-next {
  display: grid;
  gap: 7px;
  margin-top: 4px;
  padding: 13px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(247, 252, 249, 0.96), rgba(255, 255, 255, 0.96));
}
.smart-command-next.warn,
.smart-command-next.yellow {
  border-color: rgba(230, 159, 20, 0.26);
  background: linear-gradient(180deg, rgba(255, 250, 232, 0.98), rgba(255, 255, 255, 0.96));
}
.smart-command-next.red {
  border-color: rgba(201, 63, 53, 0.22);
  background: linear-gradient(180deg, rgba(255, 245, 242, 0.98), rgba(255, 255, 255, 0.96));
}
.smart-command-next > span,
.smart-command-focus > span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-command-next strong,
.smart-command-focus strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}
.smart-command-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.smart-command-lane {
  position: relative;
  display: grid;
  gap: 7px;
  align-content: start;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.11);
  border-radius: 11px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.smart-command-lane:hover {
  border-color: rgba(8, 122, 67, 0.30);
  background: #fff;
  box-shadow: 0 18px 44px rgba(8, 72, 45, 0.10);
  transform: translateY(-2px);
}
.smart-command-lane:active {
  transform: translateY(0) scale(0.99);
}
.smart-command-lane:disabled,
.smart-command-lane.disabled {
  cursor: not-allowed;
  opacity: 0.62;
  transform: none;
}
.smart-command-lane span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(8, 122, 67, 0.12);
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-command-lane.yellow span {
  background: rgba(244, 184, 40, 0.22);
  color: #936500;
}
.smart-command-lane.blue span {
  background: rgba(27, 123, 216, 0.12);
  color: #1b6ec6;
}
.smart-command-lane.red span {
  background: rgba(201, 63, 53, 0.10);
  color: var(--red);
}
.smart-command-lane strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.18;
}
.smart-command-lane em {
  align-self: end;
  color: var(--ink-soft);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.35;
}
.smart-command-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.smart-command-kpis span {
  display: grid;
  gap: 4px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
}
.smart-command-kpis b {
  color: var(--green);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-command-kpis small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.smart-command-path {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.80);
}
.smart-command-path > span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-command-path button {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 2px 9px;
  align-items: center;
  min-height: 54px;
  padding: 8px 9px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 13px;
  background: rgba(248, 252, 249, 0.92);
  color: var(--ink);
  text-align: left;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.smart-command-path button:hover:not(:disabled) {
  border-color: rgba(8, 122, 67, 0.25);
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(8, 72, 45, 0.08);
  transform: translateY(-1px);
}
.smart-command-path b {
  grid-row: 1 / span 2;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-command-path strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-command-path em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-command-path button:disabled,
.smart-command-path button.disabled {
  cursor: not-allowed;
  opacity: 0.62;
}
.smart-menu-task-console {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(520px, 1.35fr) minmax(320px, 0.88fr);
  gap: 14px;
  align-items: stretch;
  margin: 14px 0 16px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 22px 54px rgba(16, 43, 31, 0.08);
}
.smart-task-console-lead,
.smart-task-console-summary {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: linear-gradient(180deg, #fbfefc 0%, #f5fbf7 100%);
}
.smart-task-console-lead h2 {
  margin: 2px 0 0;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.12;
  letter-spacing: 0;
}
.smart-task-console-lead p,
.smart-task-console-summary p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.66;
}
.smart-task-console-process {
  display: grid;
  gap: 8px;
}
.smart-task-console-process span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  color: #1e4938;
  font-size: 12px;
  font-weight: 900;
}
.smart-task-console-process b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: #0b8f5a;
  color: #fff;
  font-size: 12px;
}
.smart-task-console-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.smart-task-console-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: 8px;
  min-height: 158px;
  padding: 15px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 18px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 12px 30px rgba(21, 42, 31, 0.06);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.smart-task-console-card:hover {
  transform: translateY(-2px);
  border-color: rgba(8, 143, 90, 0.34);
  box-shadow: 0 18px 42px rgba(8, 72, 45, 0.11);
}
.smart-task-console-card span {
  width: fit-content;
  max-width: 100%;
  padding: 4px 9px;
  border-radius: 999px;
  background: #eff8f2;
  color: #087a43;
  font-size: 11px;
  font-weight: 950;
}
.smart-task-console-card strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.22;
}
.smart-task-console-card em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.52;
}
.smart-task-console-card b {
  align-self: end;
  color: #087a43;
  font-size: 12px;
  font-weight: 950;
}
.smart-task-console-card.active {
  border-color: rgba(8, 143, 90, 0.36);
  background: linear-gradient(180deg, #ffffff 0%, #eefaf3 100%);
}
.smart-task-console-card.yellow span {
  background: #fff6d9;
  color: #946700;
}
.smart-task-console-card.yellow b {
  color: #a86f00;
}
.smart-task-console-card.blue span {
  background: #eef6ff;
  color: #1662a8;
}
.smart-task-console-card.blue b {
  color: #1662a8;
}
.smart-task-console-summary > div:first-child span {
  color: #087a43;
  font-size: 11px;
  font-weight: 950;
}
.smart-task-console-summary > div:first-child strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.16;
}
.smart-task-console-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-task-console-facts span {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
}
.smart-task-console-facts small {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
}
.smart-task-console-facts b {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}
.smart-task-console-quick {
  display: grid;
  gap: 8px;
  margin-top: auto;
}
.smart-task-console-quick .primary-action,
.smart-task-console-quick .ghost-action {
  width: 100%;
  min-height: 38px;
  justify-content: center;
}
.smart-manual-generator {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 14px;
  border: 1px solid rgba(18, 38, 29, 0.11);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(18, 38, 29, 0.06);
}
.smart-generator-workbook-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
  padding: 2px 2px 0;
}
.smart-generator-workbook-head h2 {
  max-width: 760px;
  margin: 3px 0 8px;
  color: var(--ink);
  font-size: clamp(24px, 2.2vw, 34px);
  line-height: 1.12;
  letter-spacing: 0;
  text-wrap: balance;
}
.smart-generator-workbook-head p {
  max-width: 840px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}
.smart-generator-workbook-status {
  display: grid;
  gap: 5px;
  min-width: 230px;
  padding: 11px 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 8px;
  background: #f8fbf9;
}
.smart-generator-workbook-status span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-generator-workbook-status strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.18;
}
.smart-generator-workbook-status em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}
.smart-generator-workbook-grid {
  display: grid;
  grid-template-columns: minmax(310px, 0.30fr) minmax(720px, 0.70fr);
  gap: 14px;
  align-items: start;
}
.smart-menu-task-picker {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(31, 79, 55, 0.12);
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(21, 42, 31, 0.08);
}
.smart-menu-task-picker-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: end;
}
.smart-menu-task-picker-head h3 {
  margin: 3px 0 4px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.16;
  letter-spacing: 0;
}
.smart-menu-task-picker-head p {
  max-width: 780px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-menu-role-map {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 24px minmax(0, 1fr) 24px minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: #f7faf8;
}
.smart-menu-role-map span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 12px;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
}
.smart-menu-role-map b {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.smart-menu-role-map em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.38;
}
.smart-menu-role-map i {
  align-self: center;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(8, 122, 67, 0.16), rgba(8, 122, 67, 0.48));
}
.smart-menu-task-picker-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.smart-menu-task-picker-grid button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 4px 11px;
  min-height: 154px;
  padding: 14px;
  border: 1px solid rgba(31, 79, 55, 0.12);
  border-radius: 16px;
  background: #f8fbf9;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.smart-menu-task-picker-grid button:hover {
  border-color: rgba(8, 122, 67, 0.32);
  box-shadow: 0 14px 30px rgba(21, 42, 31, 0.10);
  transform: translateY(-1px);
}
.smart-menu-task-picker-grid button.customer {
  background: #f7fbff;
  border-color: rgba(36, 104, 181, 0.16);
}
.smart-menu-task-picker-grid button.event {
  background: #fffaf0;
  border-color: rgba(198, 129, 25, 0.18);
}
.smart-menu-task-picker-grid span {
  display: grid;
  grid-row: 1 / span 5;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 13px;
  background: #087a43;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-menu-task-picker-grid button.customer span {
  background: #2468b5;
}
.smart-menu-task-picker-grid button.event span {
  background: #c68119;
}
.smart-menu-task-picker-grid strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.15;
}
.smart-menu-task-picker-grid em,
.smart-menu-task-picker-grid p,
.smart-menu-task-picker-grid b {
  min-width: 0;
  font-style: normal;
}
.smart-menu-task-picker-grid em {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
}
.smart-menu-task-picker-grid p {
  margin: 2px 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.48;
}
.smart-menu-task-picker-grid b {
  justify-self: start;
  padding: 5px 8px;
  border-radius: 10px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 11px;
}
.smart-generated-priority {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}
.smart-generated-priority-ribbon {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(8, 122, 67, 0.18);
  border-radius: 16px;
  background: linear-gradient(135deg, #f1fbf5 0%, #ffffff 72%);
  box-shadow: 0 14px 38px rgba(21, 42, 31, 0.07);
}
.smart-generated-priority-ribbon span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-generated-priority-ribbon strong {
  display: block;
  margin-top: 3px;
  color: #10261d;
  font-size: 17px;
  line-height: 1.28;
}
.smart-generated-priority .smart-generated-preview {
  margin: 0;
  border-radius: 18px;
  box-shadow: 0 30px 84px rgba(21, 42, 31, 0.13);
}
.smart-generated-priority .smart-generated-sheet-wrap {
  max-height: min(74vh, 760px);
}
.smart-generated-inline-guide {
  min-height: auto;
}
.smart-generated-inline-guide .smart-generated-empty-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.smart-generated-empty-grid button {
  min-height: 58px;
  border: 0;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 900;
}
.smart-generated-empty-grid button:hover {
  background: #f2faf5;
}
.smart-generator-conditions,
.smart-generator-result-pane {
  min-width: 0;
}
.smart-generator-conditions {
  display: grid;
  gap: 10px;
}
.smart-generator-conditions .smart-manual-form {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: #fbfdfb;
}
.smart-generator-result-pane {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
  position: sticky;
  top: 84px;
  max-height: calc(100dvh - 104px);
  overflow: auto;
}
.smart-result-pane-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 2px 2px 0;
}
.smart-result-pane-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-result-pane-head strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.2;
}
.smart-result-pane-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}
.smart-result-live-badge {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 999px;
  background: #f7faf8;
  color: #607567;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.smart-result-live-badge.fresh {
  border-color: rgba(8, 122, 67, 0.28);
  background: #e8f7ee;
  color: var(--green-deep);
}
.smart-generator-result-pane .smart-generated-preview {
  margin: 0;
  box-shadow: 0 12px 34px rgba(21, 42, 31, 0.06);
}
.smart-generator-result-pane .smart-generated-preview.empty {
  grid-template-columns: minmax(0, 1fr);
}
.smart-generator-result-pane .smart-generated-sheet-wrap {
  max-height: min(72dvh, 760px);
}
.smart-manual-generator.has-result .smart-generator-workbook-grid {
  grid-template-columns: minmax(340px, 400px) minmax(780px, 1fr);
}
.smart-manual-generator.has-result .smart-generator-workbook-head {
  display: flex;
}
.smart-manual-generator.has-result .smart-generator-workbook-head {
  margin-top: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: rgba(248, 252, 249, 0.82);
}
.smart-manual-generator.has-result .smart-generator-workbook-head h2 {
  font-size: 24px;
}
.smart-manual-generator.has-result .smart-generator-workbook-head p {
  max-width: 860px;
}
.smart-manual-generator.has-result .smart-generator-result-pane {
  display: grid;
  border-color: rgba(8, 122, 67, 0.20);
  background: #ffffff;
  box-shadow: 0 22px 70px rgba(21, 42, 31, 0.10);
}
.smart-manual-generator.has-result .smart-generator-conditions {
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.smart-manual-generator.has-result .smart-manual-copy.compact {
  display: none;
}
.smart-manual-generator.has-result .smart-generation-basis,
.smart-manual-generator.has-result .smart-sales-demand-bridge,
.smart-manual-generator.has-result .smart-manual-preview {
  display: none;
}
.smart-manual-generator.has-result .smart-manual-form {
  min-width: 0;
}
.smart-manual-generator.has-result .smart-generator-result-pane .smart-generated-sheet-wrap {
  max-height: 72vh;
}
@media (max-width: 1100px) {
  .smart-manual-generator.has-result .smart-generator-workbook-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .smart-manual-generator.has-result .smart-generator-result-pane {
    order: -1;
    position: static;
    max-height: none;
    overflow: visible;
  }
  .smart-manual-generator.has-result .smart-generator-conditions {
    order: 2;
  }
}
.smart-manual-copy {
  display: grid;
  gap: 12px;
  align-content: center;
  min-width: 0;
}
.smart-manual-copy.compact {
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.82);
}
.smart-selfservice-command {
  display: grid;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}
.smart-selfservice-command.compact {
  margin: 0 12px 12px;
  padding: 0;
  border: 0;
  background: transparent;
}
.smart-selfservice-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}
.smart-selfservice-title span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-selfservice-title strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}
.smart-preset-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.smart-preset-button {
  display: grid;
  gap: 5px;
  min-height: 56px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: none;
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.smart-preset-button:hover,
.smart-preset-button.active {
  border-color: rgba(8, 122, 67, 0.28);
  background: #f4fbf7;
  box-shadow: none;
  transform: none;
}
.smart-preset-button strong {
  color: var(--green-deep);
  font-size: 12px;
  line-height: 1.18;
}
.smart-preset-button span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 780;
  line-height: 1.35;
}
.smart-selfservice-kpis,
.smart-selfservice-output-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-selfservice-kpis span,
.smart-selfservice-output-strip span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 9px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.08);
}
.smart-selfservice-kpis b,
.smart-selfservice-output-strip b {
  color: var(--ink);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.smart-selfservice-kpis em,
.smart-selfservice-output-strip em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.2;
}
.smart-selfservice-output-strip {
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: #f6fbf8;
}
.smart-evolution-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(88, 64, 28, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 251, 240, 0.94), rgba(246, 251, 247, 0.96)),
    repeating-linear-gradient(0deg, rgba(88, 64, 28, 0.045) 0 1px, transparent 1px 10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.smart-evolution-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}
.smart-evolution-head span {
  color: #7c5a18;
  font-size: 11px;
  font-weight: 950;
}
.smart-evolution-head strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}
.smart-evolution-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.smart-evolution-grid span,
.smart-evolution-list span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 9px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: inset 0 0 0 1px rgba(88, 64, 28, 0.08);
}
.smart-evolution-grid b,
.smart-evolution-list strong {
  color: var(--ink);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  line-height: 1.08;
}
.smart-evolution-grid em,
.smart-evolution-list em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-evolution-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.smart-evolution-list b {
  overflow: hidden;
  color: #6d4c13;
  font-size: 12px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-evolution-list .steady {
  grid-column: 1 / -1;
}
.smart-evolution-reasons,
.smart-evolution-warnings {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-evolution-reasons span,
.smart-evolution-warnings span {
  max-width: 100%;
  padding: 6px 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  color: #74551b;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.25;
}
.smart-evolution-warnings span {
  background: rgba(255, 245, 225, 0.88);
  color: #8a4a12;
}
.smart-failure-fix {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, auto) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(189, 127, 6, 0.18);
  border-radius: 14px;
  background: #fff9e8;
}
.smart-failure-fix.steady {
  border-color: rgba(8, 122, 67, 0.13);
  background: #f5fbf7;
}
.smart-failure-fix.ready {
  border-color: rgba(189, 127, 6, 0.22);
}
.smart-failure-fix-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-failure-fix-main span {
  color: #8a5a00;
  font-size: 10px;
  font-weight: 950;
}
.smart-failure-fix-main strong,
.smart-failure-fix-main em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-failure-fix-main strong {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
}
.smart-failure-fix-main em {
  color: #6f5c2a;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
}
.smart-failure-fix-reasons {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 5px;
  min-width: 0;
}
.smart-failure-fix-reasons span {
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.76);
  color: #6b4a07;
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
.smart-failure-fix-reasons b {
  color: #10261d;
}
.smart-failure-fix-action {
  min-height: 34px;
  padding: 0 11px;
  border: 0;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease;
}
.smart-failure-fix-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(8, 122, 67, 0.18);
}
.smart-failure-fix-action:disabled {
  cursor: not-allowed;
  opacity: 0.54;
}
.smart-manual-reason-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.smart-manual-reason-map span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 8px;
  min-width: 0;
  padding: 8px 9px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.80);
}
.smart-manual-reason-map b {
  overflow: hidden;
  color: #245746;
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-manual-reason-map strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-manual-reason-map em {
  grid-column: 1 / -1;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-manual-reason-map .cost_control,
.smart-manual-reason-map .equipment_capacity,
.smart-manual-reason-map .production_process {
  border-color: rgba(189, 127, 6, 0.18);
  background: rgba(255, 249, 232, 0.86);
}
.smart-manual-reason-map .allergy_taboo,
.smart-manual-reason-map .stock_risk,
.smart-manual-reason-map .bom_quality {
  border-color: rgba(184, 67, 54, 0.16);
  background: rgba(255, 247, 245, 0.86);
}
.smart-learning-signals {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.smart-learning-signals span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px 9px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.08);
}
.smart-learning-signals b {
  overflow: hidden;
  color: #245746;
  font-size: 11px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-learning-signals strong {
  color: var(--ink);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  line-height: 1.08;
}
.smart-learning-signals em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-learning-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-learning-action {
  min-height: 36px;
  border: 1px solid rgba(8, 72, 45, 0.13);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  color: #245746;
  font-weight: 930;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.smart-learning-action:hover:not(:disabled),
.smart-learning-action.active {
  background: #eef8f3;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(21, 42, 31, 0.08);
}
.smart-learning-action:disabled {
  cursor: not-allowed;
  opacity: 0.54;
}
.smart-backend-learning-source {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(34, 197, 94, 0.28);
  border-radius: 12px;
  background: rgba(240, 253, 244, 0.82);
}
.smart-backend-learning-source span,
.smart-backend-learning-source em {
  overflow: hidden;
  color: #4b655b;
  font-size: 12px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-backend-learning-source strong {
  overflow: hidden;
  color: #14532d;
  font-size: 14px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-preference-rules {
  display: grid;
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.62);
}
.smart-preference-rules-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}
.smart-preference-rules-head b {
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
}
.smart-preference-rules-head span {
  overflow: hidden;
  color: #6f8278;
  font-size: 11px;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-stable-preference-rules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 7px;
  min-width: 0;
}
.smart-stable-preference-rule {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 76px;
  padding: 8px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 10px;
  background: #f7fcf9;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 0.16s ease, border-color 0.16s ease, background 0.16s ease;
}
.smart-stable-preference-rule:hover,
.smart-stable-preference-rule:focus-visible {
  border-color: rgba(8, 122, 67, 0.35);
  background: #e8f7ee;
  outline: 0;
  transform: translateY(-1px);
}
.smart-stable-preference-rule.strong {
  border-color: rgba(8, 122, 67, 0.28);
  background: #eefaf2;
}
.smart-stable-preference-rule span,
.smart-stable-preference-rule strong,
.smart-stable-preference-rule em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-stable-preference-rule span {
  color: var(--green-deep);
  font-size: 10px;
  font-weight: 950;
}
.smart-stable-preference-rule strong {
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
}
.smart-stable-preference-rule em {
  color: #607567;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.smart-preference-rule {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
}
.smart-preference-rule.ready {
  border-color: rgba(8, 122, 67, 0.16);
  background: #f7fcf9;
}
.smart-preference-rule-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-preference-rule-main em {
  justify-self: start;
  padding: 3px 6px;
  border-radius: 7px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
}
.smart-preference-rule-main strong,
.smart-preference-rule-main span,
.smart-preference-rule-main small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-preference-rule-main strong {
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-preference-rule-main span {
  color: #607567;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.3;
}
.smart-preference-rule-main small {
  color: #245746;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.25;
}
.smart-preference-rule-action {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid rgba(8, 72, 45, 0.13);
  border-radius: 10px;
  background: #ffffff;
  color: #245746;
  font-size: 11px;
  font-weight: 930;
  white-space: nowrap;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.smart-preference-rule-action:hover:not(:disabled),
.smart-preference-rule-action.active {
  background: #e8f7ee;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(21, 42, 31, 0.08);
}
.smart-preference-rule-action:disabled {
  cursor: not-allowed;
  opacity: 0.54;
}
.smart-evolution-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-evolution-action {
  min-height: 38px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--green-deep);
  font-weight: 950;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.smart-evolution-action.strong {
  border-color: rgba(8, 122, 67, 0.28);
  background: #e9f8ee;
}
.smart-evolution-action:hover:not(:disabled),
.smart-evolution-action.active {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(21, 42, 31, 0.10);
}
.smart-evolution-action:disabled {
  cursor: not-allowed;
  opacity: 0.54;
}
.smart-manual-copy h2 {
  max-width: 560px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.04;
  letter-spacing: 0;
  text-wrap: balance;
}
.smart-manual-copy h3 {
  margin: 0;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.12;
  letter-spacing: 0;
}
.smart-manual-copy p {
  max-width: 620px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.75;
}
.smart-manual-proof {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(106px, 1fr));
  gap: 8px;
}
.smart-manual-proof span {
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.88);
}
.smart-manual-proof b {
  color: var(--green-deep);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.smart-manual-proof small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.smart-manual-form {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.90);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
}
.smart-manual-task-switch {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 8px;
}
.smart-manual-task-switch button {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 3px 9px;
  align-content: start;
  min-height: 0;
  padding: 10px;
  border: 1px solid rgba(30, 64, 47, 0.12);
  border-radius: 12px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(21, 42, 31, 0.055);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.smart-manual-task-switch button:nth-child(2) {
  border-color: rgba(8, 72, 45, 0.12);
  background: #ffffff;
}
.smart-manual-task-switch button:nth-child(3) {
  border-color: rgba(8, 72, 45, 0.12);
  background: #ffffff;
}
.smart-manual-task-switch button:hover {
  border-color: rgba(8, 122, 67, 0.30);
  box-shadow: 0 16px 34px rgba(21, 42, 31, 0.10);
  transform: translateY(-1px);
}
.smart-manual-task-switch span {
  display: grid;
  grid-row: 1 / span 2;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: #0b7f49;
  color: #fff;
  font-size: 11px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-manual-task-switch button:nth-child(2) span {
  background: #0b7f49;
}
.smart-manual-task-switch button:nth-child(3) span {
  background: #0b7f49;
}
.smart-manual-task-switch strong {
  min-width: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
  line-height: 1.2;
}
.smart-manual-task-switch em {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}
.smart-generation-basis {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(248, 252, 249, 0.96), rgba(255, 255, 255, 0.98));
}
.smart-generation-basis > div {
  display: grid;
  gap: 5px;
  align-content: center;
}
.smart-generation-basis > div span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-generation-basis > div strong {
  min-width: 0;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.smart-generation-basis ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.smart-generation-basis li {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 8px;
  min-height: 0;
  padding: 8px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 10px;
  background: #ffffff;
}
.smart-generation-basis b {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.smart-generation-basis em {
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.smart-manual-form-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 10px;
}
.smart-manual-form-head strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}
.smart-manual-form-head span {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.4;
  text-align: right;
}
.smart-manual-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.smart-generator-conditions .smart-manual-grid {
  grid-template-columns: 1fr;
  gap: 8px;
}
.smart-generator-conditions .smart-manual-core-grid {
  padding: 0;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}
.smart-generator-conditions .smart-manual-core-grid .form-field {
  margin: 0;
}
.smart-generator-conditions .smart-manual-core-grid .form-field span {
  margin-bottom: 4px;
}
.smart-generator-conditions .smart-manual-grid.self-service-filters,
.smart-manual-grid.self-service-filters {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 8px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: #f8fbf9;
}
.smart-generator-conditions .smart-manual-quick-filters {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-color: rgba(8, 122, 67, 0.12);
  background: #f8fbf9;
}
.smart-manual-grid .form-field {
  min-width: 0;
}
.smart-manual-grid .form-field.full {
  grid-column: 1 / -1;
}
.smart-manual-form-head.compact {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-manual-grid .form-field span {
  color: #355445;
  font-size: 11px;
  font-weight: 900;
}
.smart-manual-preview {
  margin: 0;
  box-shadow: none;
}
.smart-generator-route {
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 9px;
  align-items: stretch;
  margin-top: -2px;
}
.smart-generator-route > strong {
  display: grid;
  place-items: center start;
  min-width: 112px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
}
.smart-sales-demand-bridge {
  display: grid;
  grid-template-columns: minmax(220px, 0.92fr) minmax(260px, 1.08fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 16px;
  background: #f5fbf7;
}
.smart-generator-conditions .smart-sales-demand-bridge {
  grid-template-columns: minmax(0, 1fr);
}
.smart-demand-select-row {
  margin-top: 10px;
}
.smart-demand-select-row .form-field {
  margin: 0;
}
.smart-sales-demand-bridge strong {
  display: block;
  margin: 5px 0 6px;
  color: #10261d;
  font-size: 15px;
  line-height: 1.32;
}
.smart-sales-demand-bridge p {
  margin: 0;
  color: #496457;
  font-size: 12px;
  line-height: 1.55;
}
.smart-sales-demand-list {
  display: grid;
  gap: 8px;
  align-content: start;
}
.smart-demand-card {
  display: grid;
  gap: 3px;
  width: 100%;
  padding: 10px 11px;
  border: 1px solid rgba(8, 122, 67, 0.13);
  border-radius: 13px;
  background: #ffffff;
  color: #10261d;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(8, 72, 45, 0.06);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.smart-demand-card:hover {
  border-color: rgba(8, 122, 67, 0.30);
  box-shadow: 0 14px 28px rgba(8, 72, 45, 0.10);
  transform: translateY(-1px);
}
.smart-demand-card::after {
  content: "带入条件";
  justify-self: start;
  margin-top: 3px;
  padding: 4px 7px;
  border-radius: 8px;
  background: #e8f6ee;
  color: #087a43;
  font-size: 10px;
  font-weight: 950;
}
.smart-demand-card span {
  color: #0b8f55;
  font-size: 11px;
  font-weight: 900;
}
.smart-demand-card strong {
  margin: 0;
  color: #10261d;
  font-size: 13px;
  line-height: 1.25;
}
.smart-demand-card em,
.smart-demand-card small {
  color: #607567;
  font-style: normal;
  font-size: 11px;
  line-height: 1.35;
}
.smart-demand-empty {
  display: grid;
  min-height: 68px;
  place-items: center;
  border: 1px dashed rgba(8, 122, 67, 0.22);
  border-radius: 13px;
  color: #607567;
  font-size: 12px;
  font-weight: 850;
  text-align: center;
}
.smart-week-preview-head.demand {
  border-color: rgba(8, 122, 67, 0.18);
  background: #f6fbf8;
}
.smart-manual-condition-pack {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(249, 252, 250, 0.96));
}
.smart-manual-condition-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}
.smart-manual-condition-head strong {
  color: #10261d;
  font-size: 15px;
  line-height: 1.2;
}
.smart-manual-condition-head span {
  max-width: 360px;
  color: #607567;
  font-size: 12px;
  line-height: 1.45;
  text-align: right;
}
.smart-menu-advanced-box,
.smart-internal-split-details {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: #ffffff;
}
.smart-menu-advanced-box summary,
.smart-internal-split-details summary {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  min-height: 40px;
  padding: 8px 10px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.smart-menu-advanced-box summary::-webkit-details-marker,
.smart-internal-split-details summary::-webkit-details-marker {
  display: none;
}
.smart-menu-advanced-box summary::after,
.smart-internal-split-details summary::after {
  content: '+';
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-weight: 950;
}
.smart-menu-advanced-box[open] summary::after,
.smart-internal-split-details[open] summary::after {
  content: '-';
}
.smart-menu-advanced-box summary strong,
.smart-internal-split-details summary strong {
  font-size: 12px;
  font-weight: 950;
}
.smart-menu-advanced-box summary span,
.smart-internal-split-details summary span {
  flex: 1;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}
.smart-menu-advanced-box .smart-sales-demand-bridge,
.smart-menu-advanced-box .smart-manual-condition-pack {
  margin: 0 12px 12px;
}
.smart-menu-advanced-box .smart-advanced-filter-grid {
  margin: 0 12px 12px;
}
.smart-advanced-filter-brief {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0 12px 10px;
}
.smart-advanced-filter-brief span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(189, 127, 6, 0.16);
  border-radius: 12px;
  background: #fffaf0;
}
.smart-advanced-filter-brief b {
  color: #7a4a00;
  font-size: 12px;
  font-weight: 950;
}
.smart-advanced-filter-brief em {
  color: #6f6046;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.38;
}
.smart-internal-split-details {
  margin: 14px 16px 16px;
  padding: 0;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 249, 0.92));
}
.smart-internal-diagnostic-box {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}
.smart-internal-diagnostic-copy {
  display: grid;
  gap: 5px;
  padding: 11px 12px;
  border: 1px solid rgba(189, 127, 6, 0.18);
  border-radius: 12px;
  background: #fff9e8;
}
.smart-internal-diagnostic-copy strong {
  color: #7a4a00;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-internal-diagnostic-copy p {
  margin: 0;
  color: #806333;
  font-size: 12px;
  font-weight: 780;
  line-height: 1.5;
}
.smart-internal-diagnostic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-internal-diagnostic-grid span {
  display: grid;
  gap: 4px;
  min-height: 82px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-internal-diagnostic-grid b {
  color: #10261d;
  font-size: 20px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-internal-diagnostic-grid strong {
  color: #253d31;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-internal-diagnostic-grid em {
  color: #708075;
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.35;
}
.smart-internal-diagnostic-table {
  width: 100%;
  min-width: 760px;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-internal-diagnostic-table th,
.smart-internal-diagnostic-table td {
  padding: 10px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
  color: #24382f;
  font-size: 12px;
  line-height: 1.45;
  text-align: left;
  vertical-align: top;
}
.smart-internal-diagnostic-table th {
  background: #f4f8f5;
  color: #5f7067;
  font-size: 11px;
  font-weight: 950;
}
.smart-internal-diagnostic-table tr:last-child td {
  border-bottom: 0;
}
.smart-review-package-strip {
  display: grid;
  grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 14px;
  background: rgba(232, 247, 239, 0.72);
}
.smart-review-package-strip strong {
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
}
.smart-review-package-strip span {
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 760;
  line-height: 1.55;
}
.smart-manual-submit-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.smart-human-filter-gate {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  max-width: 360px;
  padding: 7px 10px;
  border: 1px solid rgba(189, 127, 6, 0.18);
  border-radius: 10px;
  background: #fff8e8;
  color: #7b4e00;
  font-size: 11px;
  font-weight: 880;
  line-height: 1.35;
}
.smart-human-filter-gate.ready {
  border-color: rgba(8, 122, 67, 0.18);
  background: #eef8f2;
  color: #087a43;
}
.form-actions .smart-human-filter-gate {
  margin-right: auto;
}
.smart-manual-route {
  display: grid;
  gap: 9px;
  align-content: start;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.86), rgba(248, 252, 249, 0.88));
}
.smart-manual-route > strong {
  color: var(--ink);
  font-size: 17px;
}
.smart-manual-route button {
  display: grid;
  gap: 4px;
  width: 100%;
  padding: 11px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 14px;
  background: #fff;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.smart-manual-route button:hover {
  border-color: rgba(8, 122, 67, 0.28);
  box-shadow: 0 12px 26px rgba(8, 72, 45, 0.10);
  transform: translateY(-1px);
}
.smart-manual-route span {
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
}
.smart-manual-route em {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
  font-style: normal;
}
.event-request-source-card {
  display: grid;
  gap: 8px;
  margin: 4px 0 14px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff 0%, #f4fbf7 100%);
}
.event-request-source-card span {
  color: #0b8f55;
  font-size: 12px;
  font-weight: 950;
}
.event-request-source-card strong {
  color: #10261d;
  font-size: 20px;
  line-height: 1.22;
}
.event-request-source-card p {
  margin: 0;
  color: #496457;
  font-size: 13px;
  line-height: 1.65;
}
.event-request-source-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.event-request-source-card b {
  padding: 6px 10px;
  border-radius: 999px;
  background: #e8f6ee;
  color: #0c6d43;
  font-size: 12px;
  font-weight: 950;
}
.sales-menu-action {
  border-color: rgba(8, 122, 67, 0.22) !important;
  background: #e9f7ef !important;
  color: #09653f !important;
  white-space: nowrap;
}
.smart-generation-process {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 24px;
  background:
    radial-gradient(circle at 4% 0, rgba(255, 216, 89, 0.22), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f7fcf9 58%, #eef8f2 100%);
  box-shadow: 0 22px 62px rgba(8, 72, 45, 0.09);
}
.smart-process-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: end;
}
.smart-process-head h3 {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: clamp(24px, 2.7vw, 38px);
  line-height: 1.08;
  letter-spacing: 0;
  text-wrap: balance;
}
.smart-process-head p {
  max-width: 780px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.smart-process-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.smart-process-use-bar {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(360px, 1.3fr) minmax(260px, 0.8fr);
  gap: 10px;
}
.smart-process-use-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.11);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(247, 252, 249, 0.86));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
}
.smart-process-use-card > span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-process-input-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-process-input-facts b {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 14px;
  background: #fff;
}
.smart-process-input-facts small,
.smart-process-checklist em,
.smart-process-result-links small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.45;
}
.smart-process-input-facts em {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-process-checklist {
  display: grid;
  gap: 7px;
}
.smart-process-checklist i {
  display: grid;
  grid-template-columns: 28px minmax(86px, 0.26fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid rgba(8, 122, 67, 0.08);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.8);
  font-style: normal;
}
.smart-process-checklist b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-process-checklist strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-process-result-links {
  display: grid;
  gap: 8px;
}
.smart-process-result-links .mini-action {
  display: grid !important;
  justify-items: start;
  gap: 3px;
  width: 100% !important;
  min-width: 0 !important;
  height: auto;
  min-height: 46px;
  padding: 9px 10px;
  text-align: left;
  white-space: normal !important;
}
.smart-process-result-links .mini-action strong {
  color: var(--green);
  font-size: 13px;
  white-space: nowrap;
}
.smart-process-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.smart-audit-sheet {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(249, 253, 250, 0.94));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 16px 42px rgba(8, 72, 45, 0.08);
}
.smart-audit-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.32fr);
  gap: 16px;
  align-items: end;
}
.smart-audit-head h4 {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: 0;
  text-wrap: balance;
}
.smart-audit-head p {
  max-width: 780px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.smart-audit-status {
  display: grid;
  gap: 6px;
  justify-items: end;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 16px;
  background: #f7fcf9;
}
.smart-audit-status strong {
  color: var(--green-deep);
  font-size: 15px;
  font-weight: 950;
}
.smart-audit-status span {
  overflow: hidden;
  max-width: 100%;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.45;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-audit-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.smart-audit-summary-grid span {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 14px;
  background: #ffffff;
}
.smart-audit-summary-grid b,
.smart-audit-panel-head span,
.smart-audit-next span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-audit-summary-grid em {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-audit-main-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
  gap: 10px;
}
.smart-audit-panel {
  display: grid;
  align-content: start;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
}
.smart-audit-panel-head {
  display: grid;
  gap: 4px;
}
.smart-audit-panel-head strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
  text-wrap: balance;
}
.smart-audit-panel p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.smart-audit-source-chain {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.smart-audit-source-chain span {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: 9px;
  border-radius: 13px;
  background: #f6fbf8;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}
.smart-audit-source-chain b {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.11);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-audit-funnel {
  display: grid;
  gap: 7px;
}
.smart-audit-funnel div {
  display: grid;
  grid-template-columns: 28px minmax(80px, 0.7fr) auto minmax(140px, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 13px;
  background: #f8fcf9;
}
.smart-audit-funnel i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.smart-audit-funnel b,
.smart-audit-selection b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
.smart-audit-funnel strong,
.smart-audit-selection em {
  color: var(--green-deep);
  font-size: 15px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-audit-funnel em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
.smart-audit-selection {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.smart-audit-selection span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 9px;
  border-radius: 13px;
  background: #f8fcf9;
}
.smart-audit-selection em {
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-audit-candidates {
  display: grid;
  gap: 7px;
}
.smart-audit-candidate {
  display: grid;
  grid-template-columns: 26px minmax(110px, 1fr) auto minmax(150px, 0.9fr);
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 13px;
  background: #ffffff;
}
.smart-audit-candidate i {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 9px;
  background: rgba(255, 216, 89, 0.28);
  color: #8a6400;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.smart-audit-candidate strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-audit-candidate span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-audit-candidate em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-audit-empty {
  padding: 13px;
  border: 1px dashed rgba(8, 72, 45, 0.16);
  border-radius: 14px;
  background: #f8fcf9;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.smart-audit-next {
  display: grid;
  grid-template-columns: minmax(180px, 0.22fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: #f7fcf9;
}
.smart-audit-next > div {
  display: grid;
  gap: 4px;
}
.smart-audit-next strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}
.smart-audit-next nav {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.smart-audit-next button {
  display: grid;
  justify-items: start;
  gap: 4px;
  min-width: 0;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 14px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  transition: transform 180ms ease, border-color 180ms ease, background 180ms ease;
}
.smart-audit-next button:hover {
  border-color: rgba(8, 122, 67, 0.24);
  background: #f5fbf7;
  transform: translateY(-1px);
}
.smart-audit-next button:active {
  transform: translateY(0) scale(0.99);
}
.smart-audit-next button.primary {
  border-color: rgba(8, 122, 67, 0.28);
  background: #087a43;
  color: #ffffff;
}
.smart-audit-next button b {
  font-size: 13px;
  line-height: 1.2;
}
.smart-audit-next button em {
  color: inherit;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  line-height: 1.35;
  opacity: 0.78;
}
.smart-process-step {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 9px;
  min-height: 138px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.smart-process-step span {
  display: grid;
  place-items: center;
  width: 31px;
  height: 31px;
  border-radius: 11px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-process-step.warn span {
  background: rgba(244, 184, 40, 0.22);
  color: #9a6900;
}
.smart-process-step.done {
  border-color: rgba(8, 122, 67, 0.18);
}
.smart-process-step div {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.smart-process-step strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.18;
}
.smart-process-step em {
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.25;
}
.smart-process-step p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}
.smart-process-evidence-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.15fr) minmax(280px, 0.85fr);
  gap: 12px;
}
.smart-process-evidence-card {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
}
.smart-process-evidence-card.wide {
  grid-column: 1 / -1;
}
.smart-process-card-head {
  display: grid;
  gap: 4px;
}
.smart-process-card-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-process-card-head strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.22;
  text-wrap: balance;
}
.smart-process-funnel {
  display: grid;
  gap: 7px;
}
.smart-process-funnel div {
  display: grid;
  grid-template-columns: minmax(72px, 0.7fr) auto minmax(120px, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: #f8fcf9;
}
.smart-process-funnel span,
.smart-process-funnel em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.smart-process-funnel strong {
  color: var(--ink);
  font-size: 17px;
  font-variant-numeric: tabular-nums;
}
.smart-process-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.smart-process-weights,
.smart-process-decision {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-process-weights span,
.smart-process-decision span {
  display: grid;
  gap: 4px;
  min-height: 58px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 13px;
  background: #f8fcf9;
}
.smart-process-weights b,
.smart-process-decision b {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.2;
}
.smart-process-weights small,
.smart-process-decision small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.smart-process-candidate-list {
  display: grid;
  gap: 7px;
}
.smart-process-candidate-row {
  display: grid;
  grid-template-columns: 28px minmax(120px, 1fr) auto minmax(160px, 1fr);
  gap: 9px;
  align-items: center;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 13px;
  background: #ffffff;
}
.smart-process-candidate-row i {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.smart-process-candidate-row strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}
.smart-process-candidate-row span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-process-candidate-row em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-process-evidence-card.trace {
  gap: 14px;
}
.smart-process-trace-list {
  display: grid;
  gap: 10px;
}
.smart-process-trace-row {
  display: grid;
  grid-template-columns: 108px minmax(260px, 1.15fr) minmax(250px, 0.95fr) minmax(220px, 0.8fr);
  gap: 12px;
  align-items: stretch;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 17px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 249, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.96);
}
.smart-process-trace-row.focused {
  border-color: rgba(8, 122, 67, 0.28);
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.96),
    0 14px 34px rgba(8, 122, 67, 0.10);
}
.smart-process-trace-row.missing {
  border-color: rgba(217, 92, 92, 0.24);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 246, 0.96));
}
.smart-process-trace-index {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}
.smart-process-trace-index span {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-process-trace-index strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.28;
}
.smart-process-trace-main {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
}
.smart-process-trace-main > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.smart-process-trace-main b {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.24;
}
.smart-process-trace-main em {
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.smart-process-trace-main p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-process-trace-filter {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-process-trace-filter span {
  display: grid;
  gap: 3px;
  min-height: 50px;
  padding: 8px 9px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(248, 252, 249, 0.88);
}
.smart-process-trace-filter b {
  color: var(--ink);
  font-size: 16px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
  line-height: 1.1;
}
.smart-process-trace-filter small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  line-height: 1.2;
}
.smart-process-trace-candidates {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}
.smart-process-trace-candidates > small {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-process-trace-candidates span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  min-height: 30px;
  padding: 6px 8px;
  border-radius: 10px;
  background: #f8fcf9;
}
.smart-process-trace-candidates b {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-process-trace-candidates em {
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-process-empty {
  padding: 14px;
  border: 1px dashed rgba(8, 72, 45, 0.16);
  border-radius: 14px;
  background: rgba(248, 252, 249, 0.74);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.smart-fold-section {
  margin: 16px 0;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: var(--shadow-soft);
}
.smart-fold-section > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  color: var(--ink);
  cursor: pointer;
  list-style: none;
}
.smart-fold-section > summary::-webkit-details-marker {
  display: none;
}
.smart-fold-section > summary strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.18;
}
.smart-fold-section > summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-fold-section > summary::after {
  content: '+';
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border-radius: 12px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 20px;
  font-weight: 900;
}
.smart-fold-section[open] > summary::after {
  content: '-';
}
.smart-fold-section > *:not(summary) {
  margin-left: 14px;
  margin-right: 14px;
}
.smart-fold-section > *:last-child {
  margin-bottom: 14px;
}
.smart-page-map {
  display: grid;
  grid-template-columns: minmax(280px, 0.82fr) 1.18fr;
  gap: 16px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 224, 103, 0.22), transparent 28%),
    linear-gradient(135deg, #ffffff, #f6fbf8);
  box-shadow: var(--shadow-soft);
}
.smart-page-map.warn,
.smart-page-map.yellow {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    radial-gradient(circle at 0 0, rgba(255, 211, 89, 0.28), transparent 30%),
    linear-gradient(135deg, #ffffff, #fffdf6);
}
.smart-page-map.blue {
  border-color: rgba(42, 111, 198, 0.2);
  background:
    radial-gradient(circle at 0 0, rgba(42, 111, 198, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f7fbff);
}
.smart-task-console {
  grid-template-columns: minmax(260px, 0.78fr) minmax(430px, 1.36fr) minmax(260px, 0.86fr);
  align-items: stretch;
  gap: 14px;
  padding: 14px;
}
.smart-task-console.red,
.smart-task-console.warn {
  border-color: rgba(201, 63, 53, 0.22);
  background:
    radial-gradient(circle at 3% 0, rgba(255, 105, 81, 0.14), transparent 28%),
    radial-gradient(circle at 86% 4%, rgba(255, 210, 82, 0.18), transparent 26%),
    linear-gradient(135deg, #ffffff, #fffaf8);
}
.smart-task-lead {
  align-content: start;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(246, 252, 248, 0.90));
}
.smart-task-lead strong {
  font-size: 26px;
  line-height: 1.12;
}
.smart-task-route {
  display: grid;
  gap: 7px;
  margin: 2px 0 4px;
}
.smart-task-route span {
  display: grid;
  grid-template-columns: 44px 1fr;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.smart-task-route b {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-task-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.smart-task-mode {
  position: relative;
  display: grid;
  gap: 8px;
  min-height: 184px;
  padding: 15px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.94), rgba(248, 252, 249, 0.96));
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.smart-task-mode:hover {
  border-color: rgba(8, 122, 67, 0.30);
  box-shadow: 0 18px 42px rgba(8, 72, 45, 0.10);
  transform: translateY(-2px);
}
.smart-task-mode:active {
  transform: translateY(0) scale(0.99);
}
.smart-task-mode span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-task-mode em {
  position: absolute;
  top: 14px;
  right: 14px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.smart-task-mode.yellow em {
  background: rgba(255, 214, 79, 0.22);
  color: #976400;
}
.smart-task-mode.red em {
  background: rgba(201, 63, 53, 0.10);
  color: var(--red);
}
.smart-task-mode strong {
  max-width: 80%;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.18;
}
.smart-task-mode p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-task-mode b {
  align-self: end;
  justify-self: start;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  box-shadow: 0 10px 20px rgba(8, 122, 67, 0.16);
}
.smart-task-mode.yellow b {
  background: #f4b828;
  color: #3f2b00;
}
.smart-task-mode.blue b {
  background: #1b7bd8;
}
.smart-task-mode.red b {
  background: var(--red);
}
.smart-task-queue {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 15px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.88), rgba(248, 252, 249, 0.92));
}
.smart-task-queue > div:first-child {
  display: grid;
  gap: 7px;
}
.smart-task-queue strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.22;
}
.smart-task-queue p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-use-navigator {
  display: grid;
  grid-template-columns: minmax(240px, 0.42fr) minmax(0, 1fr);
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.10), transparent 26%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.98));
  box-shadow: var(--shadow-soft);
}
.smart-use-navigator-head {
  display: grid;
  gap: 8px;
  align-content: start;
  padding: 14px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}
.smart-use-navigator-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 23px;
  line-height: 1.16;
  letter-spacing: 0;
}
.smart-use-navigator-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}
.smart-use-navigator-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.smart-use-navigator-grid article {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 220px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.84);
}
.smart-use-navigator-grid article span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-use-navigator-grid article strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.18;
}
.smart-use-navigator-grid article p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-use-navigator-grid .actions {
  align-self: end;
  gap: 6px;
}
.smart-use-navigator-grid .mini-action {
  padding: 7px 9px;
  font-size: 11px;
}
.smart-operator-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, 0.92fr);
  gap: 16px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 224, 103, 0.18), transparent 24%),
    radial-gradient(circle at 100% 8%, rgba(8, 122, 67, 0.10), transparent 26%),
    linear-gradient(135deg, #ffffff, #f7fbf9);
  box-shadow: var(--shadow-soft);
}
.smart-operator-main,
.smart-operator-side {
  display: grid;
  gap: 14px;
  align-content: start;
}
.smart-operator-main .section-title {
  max-width: 760px;
}
.smart-operator-main .section-title h3 {
  margin: 6px 0 8px;
  color: var(--ink);
  font-size: 25px;
  line-height: 1.18;
  letter-spacing: 0;
}
.smart-operator-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.smart-operator-step {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 230px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.smart-operator-step-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.smart-operator-step-head b {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 11px;
  background: #087a43;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}
.smart-operator-step-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
  text-align: right;
  line-height: 1.25;
}
.smart-operator-step strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.18;
}
.smart-operator-step p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-operator-step em {
  align-self: end;
  color: var(--ink-soft);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.smart-operator-step .mini-action {
  align-self: end;
  justify-content: center;
  min-height: 34px;
}
.smart-operator-box {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
}
.smart-operator-box-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.smart-operator-box-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-operator-box-head strong {
  color: var(--ink);
  font-size: 16px;
  text-align: right;
}
.smart-library-grid,
.smart-result-grid {
  display: grid;
  gap: 8px;
}
.smart-library-tile,
.smart-result-tile {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 3px 10px;
  align-items: center;
  width: 100%;
  padding: 10px 11px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(247, 252, 249, 0.92);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.smart-library-tile:hover,
.smart-result-tile:hover {
  border-color: rgba(8, 122, 67, 0.30);
  background: #ffffff;
  transform: translateY(-1px);
}
.smart-library-tile:active,
.smart-result-tile:active {
  transform: translateY(0);
}
.smart-library-tile strong,
.smart-result-tile strong {
  grid-row: 1 / 3;
  color: var(--green);
  font-size: 22px;
  line-height: 1;
}
.smart-library-tile span,
.smart-result-tile span {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.smart-library-tile em,
.smart-result-tile em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
.smart-weekly-board,
.smart-event-project-sheets {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 224, 103, 0.18), transparent 26%),
    radial-gradient(circle at 100% 8%, rgba(8, 122, 67, 0.12), transparent 28%),
    linear-gradient(135deg, #ffffff, #f6fbf8 62%, #eef8f2);
  box-shadow: var(--shadow-soft);
}
.smart-menu-main-stage {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 16px;
  margin: 16px 0;
  padding: 18px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 96% 0, rgba(255, 216, 89, 0.26), transparent 28%),
    radial-gradient(circle at 2% 16%, rgba(8, 122, 67, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fcf9 58%, #eef8f2 100%);
  box-shadow: 0 24px 70px rgba(8, 72, 45, 0.10);
}
.smart-menu-stage-copy {
  display: grid;
  gap: 13px;
  align-content: center;
  min-height: 220px;
  padding: 10px 8px;
}
.smart-menu-stage-copy h2 {
  max-width: 660px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(30px, 4.2vw, 54px);
  line-height: 1.02;
  letter-spacing: 0;
  text-wrap: balance;
}
.smart-menu-stage-copy p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}
.smart-menu-stage-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 4px;
}
.smart-menu-stage-side {
  display: grid;
  gap: 13px;
  align-content: start;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.smart-menu-stage-side > strong {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.2;
}
.smart-menu-stage-side ol {
  display: grid;
  gap: 8px;
  margin: 0;
  padding-left: 18px;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}
.smart-menu-stage-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-menu-stage-stats span {
  display: grid;
  gap: 4px;
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(247, 252, 249, 0.94), rgba(255, 255, 255, 0.94));
}
.smart-menu-stage-stats strong {
  color: var(--green);
  font-size: 26px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-menu-stage-stats b {
  color: var(--ink);
  font-size: 12px;
}
.smart-menu-stage-stats em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
.smart-menu-shortcut-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}
.smart-menu-shortcut-strip button {
  display: grid;
  gap: 7px;
  min-height: 92px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 249, 0.96));
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.smart-menu-shortcut-strip button:hover {
  border-color: rgba(8, 122, 67, 0.26);
  box-shadow: 0 18px 44px rgba(8, 72, 45, 0.10);
  transform: translateY(-2px);
}
.smart-menu-shortcut-strip button:active {
  transform: translateY(0) scale(0.99);
}
.smart-menu-shortcut-strip span {
  color: var(--green);
  font-size: 13px;
  font-weight: 950;
}
.smart-menu-shortcut-strip strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
}
.smart-menu-preview-export {
  display: grid;
  gap: 14px;
}
.smart-preview-export-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 22px;
  background: linear-gradient(135deg, #ffffff, #f3faf6);
  box-shadow: 0 18px 46px rgba(8, 72, 45, 0.08);
}
.smart-preview-export-head h3 {
  margin: 4px 0 0;
  color: var(--ink);
  font-size: 25px;
  font-weight: 950;
  line-height: 1.16;
  letter-spacing: 0;
}
.smart-preview-export-head p {
  max-width: 760px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-preview-export-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.smart-preview-export-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.smart-preview-export-stats span {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 76px;
  align-content: center;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: #ffffff;
}
.smart-preview-export-stats b {
  overflow: hidden;
  color: var(--green-deep);
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.smart-preview-export-stats em {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-readonly-preview-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(8, 72, 45, 0.06);
}
.smart-readonly-preview-card.compact {
  gap: 9px;
  padding: 12px;
}
.smart-readonly-preview-card-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.smart-readonly-preview-card-head span {
  display: block;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
}
.smart-readonly-preview-card-head strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 17px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-readonly-preview-card-head em {
  flex: 0 0 auto;
  max-width: 360px;
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-readonly-table-wrap {
  overflow: auto;
  border: 1px solid #d3dfda;
  border-radius: 12px;
  background: #ffffff;
}
.smart-readonly-menu-table {
  min-width: 1380px;
}
.smart-readonly-menu-table .smart-preview-cell {
  min-width: 178px;
  padding: 8px;
  background: #ffffff;
}
.smart-readonly-menu-table .smart-preview-cell.empty {
  background: #fafbf9;
}
.smart-preview-cell-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  min-width: 0;
  margin-bottom: 7px;
}
.smart-preview-cell-head span,
.smart-preview-cell-head em {
  overflow: hidden;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-preview-cell-head span {
  color: var(--green-deep);
}
.smart-preview-cell-head em {
  color: var(--muted);
}
.smart-preview-dish-summary {
  display: -webkit-box;
  min-height: 38px;
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
  line-height: 1.45;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.smart-preview-cell-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 8px;
}
.smart-preview-cell-meta span {
  max-width: 100%;
  overflow: hidden;
  padding: 3px 6px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 7px;
  background: #f4faf6;
  color: #315743;
  font-size: 10px;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-preview-dish-list {
  display: grid;
  gap: 5px;
  min-height: 148px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.smart-preview-dish-list li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 3px 7px;
  align-items: start;
  min-height: 34px;
  padding: 5px 0;
  border-bottom: 1px solid rgba(8, 72, 45, 0.07);
}
.smart-preview-dish-list li:last-child {
  border-bottom: 0;
}
.smart-preview-dish-list b {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 5px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green-deep);
  font-size: 10px;
  font-weight: 950;
  line-height: 1;
}
.smart-preview-dish-list strong,
.smart-preview-dish-list em {
  overflow: hidden;
  text-overflow: ellipsis;
}
.smart-preview-dish-list strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
  line-height: 1.22;
  white-space: nowrap;
}
.smart-preview-dish-list em {
  grid-column: 2;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.2;
  white-space: nowrap;
}
.smart-preview-dish-list .taste {
  grid-column: 2;
  justify-self: start;
}
.smart-preview-dish-list li.more,
.smart-preview-dish-list li.empty {
  border-bottom: 0;
  border-radius: 8px;
  background: #f8faf8;
}
.smart-preview-month-index {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
}
.smart-preview-month-index span {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 58px;
  padding: 7px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 9px;
  background: #fafbf9;
}
.smart-preview-month-index span.filled {
  border-color: rgba(8, 122, 67, 0.18);
  background: #f2faf5;
}
.smart-preview-month-index b,
.smart-preview-month-index strong,
.smart-preview-month-index em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-preview-month-index b {
  color: var(--ink);
  font-size: 15px;
  font-weight: 950;
  line-height: 1;
}
.smart-preview-month-index strong {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  line-height: 1.1;
}
.smart-preview-month-index em {
  color: #607567;
  font-size: 10px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.15;
}
.smart-preview-month-index .filled em {
  color: var(--green-deep);
}
.smart-preview-line-list {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}
.smart-readonly-menu-line {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 9px;
  background: #f8fbf9;
}
.smart-readonly-menu-line strong,
.smart-readonly-menu-line span,
.smart-readonly-menu-line p {
  overflow: hidden;
  text-overflow: ellipsis;
}
.smart-readonly-menu-line strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-readonly-menu-line span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}
.smart-readonly-menu-line p {
  display: -webkit-box;
  margin: 0;
  color: #365148;
  font-size: 11px;
  line-height: 1.4;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.smart-readonly-more,
.smart-preview-empty {
  padding: 10px;
  border: 1px dashed rgba(8, 72, 45, 0.14);
  border-radius: 9px;
  background: #fbfbfa;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-preview-empty strong,
.smart-preview-empty span {
  display: block;
}
.smart-preview-customer-export-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.smart-preview-customer-export-list > span {
  padding: 10px 12px;
  border: 1px dashed rgba(8, 72, 45, 0.16);
  border-radius: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-event-readonly-table {
  min-width: 980px;
}
.smart-event-readonly-table td {
  padding: 10px;
  vertical-align: top;
}
.smart-event-readonly-table td strong,
.smart-event-readonly-table td span {
  display: block;
}
.smart-event-readonly-table td strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.smart-event-readonly-table td span {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.smart-preview-menu-text {
  max-width: 460px;
  color: #20372c;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.55;
}
.smart-excel-forward-center {
  display: grid;
  grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.13);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 221, 92, 0.22), transparent 30%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(245, 252, 248, 0.98));
  box-shadow: 0 20px 54px rgba(8, 72, 45, 0.09);
}
.smart-excel-forward-copy {
  display: grid;
  gap: 10px;
  align-content: center;
}
.smart-excel-forward-copy h3 {
  margin: 0;
  color: var(--ink);
  font-size: 25px;
  line-height: 1.16;
  letter-spacing: 0;
}
.smart-excel-forward-copy p {
  max-width: 540px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.smart-excel-forward-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.smart-excel-forward-tags span {
  padding: 6px 9px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.07);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-excel-template-strip {
  display: grid;
  gap: 6px;
  margin-top: 2px;
  padding: 12px 13px;
  border: 1px solid rgba(189, 127, 6, 0.20);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255, 251, 235, 0.96), rgba(255, 255, 255, 0.88));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.smart-excel-template-strip strong {
  color: #7a4a00;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.35;
}
.smart-excel-template-strip span {
  color: #6b5a38;
  font-size: 12px;
  line-height: 1.5;
}
.smart-excel-forward-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.smart-excel-action-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 192px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.smart-excel-action-card.primary {
  border-color: rgba(8, 122, 67, 0.22);
  background: linear-gradient(180deg, rgba(238, 250, 243, 0.96), rgba(255, 255, 255, 0.92));
}
.smart-excel-action-card.internal {
  background: linear-gradient(180deg, rgba(255, 250, 235, 0.96), rgba(255, 255, 255, 0.9));
}
.smart-excel-action-card > span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
}
.smart-excel-action-card strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.18;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-excel-action-card p {
  min-height: 46px;
  margin: 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.55;
}
.smart-excel-action-card .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-self: end;
}
.event-excel-export {
  border-color: rgba(189, 127, 6, 0.18);
  background: rgba(255, 247, 222, 0.92);
  color: #8a5a00;
}
.smart-excel-action-card .disabled,
.smart-excel-action-card button:disabled {
  border-color: rgba(15, 23, 42, 0.08);
  background: rgba(241, 245, 249, 0.78);
  color: #94a3b8;
  cursor: not-allowed;
  box-shadow: none;
}
.primary-action.compact,
.ghost-action.compact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 14px;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1;
  white-space: nowrap;
}
.smart-generated-preview {
  display: grid;
  gap: 10px;
  margin: 14px 0 18px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(250, 253, 251, 0.98));
  box-shadow: 0 20px 56px rgba(21, 42, 31, 0.08);
  scroll-margin-top: 96px;
}
.smart-generated-preview.just-generated-workbook {
  border-color: rgba(8, 122, 67, 0.26);
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
}
.smart-generated-preview.table-first {
  gap: 8px;
  padding: 12px;
}
.smart-generated-preview.table-first .smart-generated-decision-bar {
  margin-top: 2px;
}
.smart-generated-preview.overview-first {
  gap: 10px;
  padding: 12px;
}
.smart-generated-preview.overview-first .smart-generated-decision-bar {
  margin-top: 2px;
}
.smart-generated-preview.review-first {
  gap: 12px;
  padding: 12px;
  border-radius: 14px;
}
.smart-generated-readonly-preview {
  display: grid;
  gap: 0;
  overflow: hidden;
  border: 1px solid #b7c5bd;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(21, 42, 31, 0.07);
}
.smart-generated-readonly-preview > .smart-generated-sheet-title {
  position: static;
  min-width: 0;
  border-bottom-color: #b7c5bd;
  background: #f1f6f3;
}
.smart-generated-sheet-wrap.readonly-workbook {
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.smart-generated-readonly-sheet .smart-sheet-meal-summary.readonly {
  cursor: default;
  min-height: 100%;
}
.smart-generated-readonly-sheet .smart-sheet-meal-summary.readonly:hover,
.smart-generated-readonly-sheet .smart-sheet-meal-summary.readonly:focus-visible,
.smart-generated-readonly-sheet .smart-sheet-meal-summary.readonly:active {
  background: #ffffff;
  box-shadow: none;
  outline: 0;
}
.smart-generated-readonly-sheet .smart-sheet-open-hint {
  color: #6f8278;
  opacity: 1;
}
.smart-generated-readonly-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
  padding: 10px 12px;
  border-top: 1px solid #d7e0da;
  background: #fbfcfb;
}
.smart-generated-review-detail {
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: #ffffff;
}
.smart-generated-review-detail > summary {
  display: grid;
  grid-template-columns: minmax(120px, 0.35fr) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}
.smart-generated-review-detail > summary::-webkit-details-marker {
  display: none;
}
.smart-generated-review-detail > summary span,
.smart-generated-review-detail > summary strong,
.smart-generated-review-detail > summary em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-review-detail > summary span {
  color: #607567;
  font-size: 12px;
  font-weight: 900;
}
.smart-generated-review-detail > summary strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-generated-review-detail > summary em {
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.smart-generated-review-detail[open] > summary {
  border-bottom: 1px solid rgba(8, 72, 45, 0.10);
  background: #f8fbf9;
}
.smart-generated-review-detail .smart-generated-review-workbench {
  margin: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.smart-generated-preview.event {
  border-color: rgba(189, 127, 6, 0.20);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 239, 0.94));
}
.smart-generated-preview.empty {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  align-items: center;
  border-style: dashed;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(239, 248, 242, 0.92));
}
.smart-generated-preview h3 {
  margin: 2px 0 8px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.18;
  letter-spacing: 0;
}
.smart-generated-preview p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.smart-generated-preview.just-focused {
  animation: smart-generated-focus 1.3s ease both;
}
@keyframes smart-generated-focus {
  0% {
    border-color: rgba(8, 122, 67, 0.46);
    box-shadow: 0 0 0 4px rgba(8, 122, 67, 0.10), 0 24px 70px rgba(21, 42, 31, 0.12);
  }
  100% {
    border-color: rgba(8, 72, 45, 0.14);
    box-shadow: 0 20px 56px rgba(21, 42, 31, 0.08);
  }
}
.smart-generated-workbook-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 14px;
  background: #f4faf6;
}
.smart-generated-workbook-bar strong {
  margin-right: 2px;
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
}
.smart-generated-workbook-bar span {
  padding: 4px 8px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 999px;
  background: #ffffff;
  color: #496457;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.smart-generated-preview-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}
.smart-generated-result-topline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 4px 2px 2px;
}
.smart-generated-result-topline h3 {
  margin: 2px 0 5px;
  font-size: 23px;
}
.smart-generated-result-topline p {
  max-width: 860px;
  line-height: 1.55;
}
.smart-generated-preview-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(86px, 1fr));
  gap: 8px;
  min-width: 410px;
}
.smart-generated-preview-kpis span {
  display: grid;
  gap: 3px;
  min-height: 60px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(247, 250, 248, 0.92);
}
.smart-generated-preview-kpis b {
  color: var(--green);
  font-size: 20px;
  line-height: 1;
}
.smart-generated-preview-kpis small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.smart-generated-table-status-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-generated-table-status-strip strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-generated-table-status-strip span {
  flex: 1 1 360px;
  min-width: 220px;
  overflow: hidden;
  color: #607567;
  font-size: 12px;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-table-status-strip em {
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 7px;
  background: #f3faf6;
  color: #087a43;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 22px;
  white-space: nowrap;
}
.smart-generated-result-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.74fr);
  gap: 14px;
  align-items: stretch;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-generated-result-hero > div:first-child {
  display: grid;
  gap: 6px;
  align-content: center;
  min-width: 0;
}
.smart-generated-result-hero span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
}
.smart-generated-result-hero strong {
  color: #10261d;
  font-size: 24px;
  font-weight: 950;
  line-height: 1.12;
}
.smart-generated-result-hero p {
  max-width: 720px;
  color: #5f7269;
  font-size: 13px;
  line-height: 1.55;
}
.smart-generated-result-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  align-self: stretch;
}
.smart-generated-result-metrics span {
  display: grid;
  gap: 4px;
  align-content: center;
  min-width: 0;
  min-height: 70px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: #f7fbf8;
  color: inherit;
}
.smart-generated-result-metrics b {
  overflow: hidden;
  color: #087a43;
  font-size: 22px;
  font-weight: 950;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-result-metrics em {
  overflow: hidden;
  color: #607567;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-source-mix,
.smart-generated-production-timing {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-generated-source-mix > div:first-child,
.smart-generated-production-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}
.smart-generated-source-mix > div:first-child div,
.smart-generated-production-head div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-generated-source-mix span,
.smart-generated-production-head span {
  color: #607567;
  font-size: 12px;
  font-weight: 900;
}
.smart-generated-source-mix strong,
.smart-generated-production-head strong {
  overflow: hidden;
  color: #10261d;
  font-size: 16px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-source-mix p {
  max-width: 980px;
  color: #607567;
  font-size: 12px;
  line-height: 1.55;
}
.smart-generated-source-mix-grid,
.smart-generated-production-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}
.smart-generated-source-mix-grid span,
.smart-generated-production-list span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 10px;
  background: #f8fbf9;
}
.smart-generated-source-mix-grid b,
.smart-generated-production-list b {
  overflow: hidden;
  color: #087a43;
  font-size: 20px;
  font-weight: 950;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-source-mix-grid em,
.smart-generated-production-list em,
.smart-generated-production-head em {
  overflow: hidden;
  color: #6f8278;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
}
.smart-generated-production-head em {
  flex: 0 1 420px;
  text-align: right;
}
.smart-generated-production-list strong {
  overflow: hidden;
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-plan-compare {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-plan-compare-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
}
.smart-plan-compare-head div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-plan-compare-head span {
  color: #607567;
  font-size: 12px;
  font-weight: 900;
}
.smart-plan-compare-head strong {
  overflow: hidden;
  color: #10261d;
  font-size: 16px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-plan-compare-head em {
  flex: 0 0 auto;
  max-width: 240px;
  overflow: hidden;
  padding: 6px 9px;
  border-radius: 9px;
  background: #e8f7ee;
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-plan-compare-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 9px;
  min-width: 0;
}
.smart-generated-plan-actionbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: #f7fbf8;
}
.smart-generated-plan-actionbar span {
  display: grid;
  gap: 2px;
  min-width: 180px;
  margin-right: auto;
}
.smart-generated-plan-actionbar b,
.smart-generated-plan-actionbar em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-plan-actionbar b {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-generated-plan-actionbar em {
  color: #6d7e73;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}
.smart-plan-compare-card {
  display: grid;
  gap: 8px;
  min-width: 0;
  min-height: 142px;
  padding: 11px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 11px;
  background: #f8fbf9;
  color: inherit;
  text-align: left;
  transition: border-color 0.18s ease, transform 0.18s ease, background 0.18s ease;
}
.smart-plan-compare-card:hover,
.smart-plan-compare-card:focus-visible {
  border-color: rgba(8, 122, 67, 0.34);
  background: #f1faf5;
  outline: 0;
  transform: translateY(-1px);
}
.smart-plan-compare-card.warn {
  border-color: rgba(189, 127, 6, 0.25);
  background: #fffaf0;
}
.smart-plan-compare-card.best {
  border-color: rgba(8, 122, 67, 0.32);
  background: linear-gradient(180deg, #f7fff9 0%, #edf9f1 100%);
}
.smart-plan-compare-card.active {
  border-color: rgba(8, 122, 67, 0.48);
  background: #eaf7ef;
  box-shadow: 0 10px 24px rgba(8, 72, 45, 0.10);
}
.smart-plan-compare-card span,
.smart-plan-compare-card strong,
.smart-plan-compare-card em {
  overflow: hidden;
  text-overflow: ellipsis;
}
.smart-plan-compare-card span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-plan-compare-card strong {
  display: -webkit-box;
  min-height: 38px;
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.smart-plan-compare-card div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}
.smart-plan-compare-card b {
  overflow: hidden;
  min-width: 0;
  padding: 5px 6px;
  border-radius: 7px;
  background: rgba(255, 255, 255, 0.72);
  color: #254437;
  font-size: 11px;
  font-weight: 950;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-plan-compare-card em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 830;
  line-height: 1.35;
  white-space: nowrap;
}
.smart-generated-review-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.42fr);
  gap: 12px;
  align-items: start;
}
.smart-generated-review-main,
.smart-generated-task-queue {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-generated-review-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.smart-generated-review-flow span {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 2px 8px;
  align-items: center;
  min-width: 0;
  min-height: 70px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 10px;
  background: #f8fbf9;
}
.smart-generated-review-flow b {
  display: grid;
  grid-row: span 2;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: #e8f7ee;
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-generated-review-flow strong {
  overflow: hidden;
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-review-flow em {
  overflow: hidden;
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-review-flow span.warn {
  border-color: rgba(189, 127, 6, 0.24);
  background: #fffaf0;
}
.smart-generated-review-flow span.warn b {
  background: #fff0c7;
  color: #7a4a00;
}
.smart-generated-review-flow span.muted {
  opacity: 0.72;
}
.smart-generated-review-picker {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  justify-content: space-between;
  min-width: 0;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-generated-review-picker label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.smart-generated-review-picker span,
.smart-generated-review-picker em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.smart-generated-review-picker select {
  min-width: min(420px, 64vw);
  max-width: 100%;
  height: 38px;
  padding: 0 34px 0 10px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 9px;
  background: #ffffff;
  color: #10261d;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}
.smart-generated-review-picker select:focus-visible {
  border-color: rgba(8, 122, 67, 0.42);
  outline: 3px solid rgba(8, 122, 67, 0.12);
}
.smart-generated-meal-focus {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
}
.smart-generated-meal-focus.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background: linear-gradient(180deg, #ffffff 0%, #fffaf0 100%);
}
.smart-generated-meal-focus.empty {
  border-style: dashed;
  background: #fbfbfa;
}
.smart-generated-meal-focus-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  min-width: 0;
}
.smart-generated-meal-focus-head div {
  min-width: 0;
}
.smart-generated-meal-focus-head span {
  display: block;
  color: #607567;
  font-size: 12px;
  font-weight: 850;
}
.smart-generated-meal-focus-head strong {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #10261d;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.08;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-meal-focus-head em {
  flex: 0 0 auto;
  max-width: 150px;
  overflow: hidden;
  padding: 6px 9px;
  border-radius: 9px;
  background: #e8f7ee;
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-meal-focus.warn .smart-generated-meal-focus-head em {
  background: #fff0c7;
  color: #7a4a00;
}
.smart-generated-meal-focus-meta {
  color: #607567;
  font-size: 13px;
  font-weight: 850;
  line-height: 1.45;
}
.smart-generated-meal-dishes {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  min-width: 0;
}
.smart-generated-meal-dishes span,
.smart-generated-meal-dishes em {
  max-width: 100%;
  padding: 7px 9px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 8px;
  background: #ffffff;
  color: #20372c;
  font-size: 13px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.smart-generated-meal-dishes .muted {
  color: #78827c;
}
.smart-generated-meal-focus-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.smart-generated-task-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}
.smart-generated-task-head span {
  color: #607567;
  font-size: 12px;
  font-weight: 850;
}
.smart-generated-task-head strong {
  color: #10261d;
  font-size: 15px;
  font-weight: 950;
}
.smart-generated-task-list {
  display: grid;
  gap: 8px;
  max-height: 430px;
  overflow: auto;
  padding-right: 2px;
}
.smart-generated-task-item {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 9px;
  background: #fbfdfb;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}
.smart-generated-task-item:hover,
.smart-generated-task-item:focus-visible {
  border-color: rgba(8, 122, 67, 0.28);
  background: #ffffff;
  outline: none;
  transform: translateY(-1px);
}
.smart-generated-task-item.warn {
  border-color: rgba(189, 127, 6, 0.22);
  background: #fffaf0;
}
.smart-generated-task-item.ready {
  border-color: rgba(8, 122, 67, 0.18);
}
.smart-generated-task-item span,
.smart-generated-task-item strong,
.smart-generated-task-item em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-task-item span {
  color: #607567;
  font-size: 11px;
  font-weight: 850;
}
.smart-generated-task-item strong {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
}
.smart-generated-task-item em {
  color: #607567;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.smart-generated-task-empty {
  display: grid;
  gap: 5px;
  min-height: 110px;
  align-content: center;
  padding: 12px;
  border: 1px dashed rgba(21, 42, 31, 0.14);
  border-radius: 10px;
  background: #fbfbfa;
  text-align: center;
}
.smart-generated-task-empty strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-generated-task-empty span {
  color: #78827c;
  font-size: 12px;
  font-weight: 820;
}
.smart-generated-task-more {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border: 1px dashed rgba(8, 72, 45, 0.16);
  border-radius: 9px;
  background: #ffffff;
}
.smart-generated-task-more strong {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
}
.smart-generated-task-more span {
  color: #607567;
  font-size: 11px;
  font-weight: 820;
  line-height: 1.4;
}
.smart-generated-primary-toolbar {
  justify-content: flex-start;
}
.smart-generated-advanced-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px 12px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
  background: #ffffff;
}
.smart-generated-advanced-actions > span {
  color: #78827c;
  font-size: 12px;
  font-weight: 850;
}
.smart-generated-week-overview {
  display: grid;
  gap: 12px;
}
.smart-generated-week-select-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #f7f8f4;
}
.smart-generated-week-select-row label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.smart-generated-week-select-row span,
.smart-generated-week-select-row em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.smart-generated-week-select-row select {
  min-width: 210px;
  max-width: 100%;
  height: 36px;
  padding: 0 34px 0 10px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 9px;
  background: #ffffff;
  color: #10261d;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}
.smart-generated-week-select-row select:focus-visible {
  border-color: rgba(8, 122, 67, 0.42);
  outline: 3px solid rgba(8, 122, 67, 0.12);
}
.smart-generated-week-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #f7f8f4;
}
.smart-generated-week-day-button {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 66px;
  padding: 8px 6px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #607567;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.smart-generated-week-day-button:hover,
.smart-generated-week-day-button:focus-visible {
  border-color: rgba(8, 122, 67, 0.22);
  background: #ffffff;
  color: #245746;
  outline: none;
}
.smart-generated-week-day-button:active {
  transform: translateY(1px);
}
.smart-generated-week-day-button.active {
  border-color: rgba(8, 122, 67, 0.35);
  background: #ffffff;
  color: #10261d;
  box-shadow: 0 8px 18px rgba(21, 42, 31, 0.08);
}
.smart-generated-week-day-button span,
.smart-generated-week-day-button em {
  overflow: hidden;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-week-day-button strong {
  overflow: hidden;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-week-day-button.filled em {
  color: var(--green-deep);
}
.smart-generated-week-day-button.empty {
  opacity: 0.72;
}
.smart-generated-day-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  min-height: 180px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(21, 42, 31, 0.05);
}
.smart-generated-day-focus {
  min-height: 0;
}
.smart-generated-day-card.filled {
  border-color: rgba(8, 122, 67, 0.18);
  background:
    linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
}
.smart-generated-day-card.empty {
  border-style: dashed;
  background: #fbfbfa;
  color: var(--muted);
}
.smart-generated-day-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
}
.smart-generated-focus-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-generated-day-head div {
  min-width: 0;
}
.smart-generated-focus-head div,
.smart-generated-day-head div {
  min-width: 0;
}
.smart-generated-day-head span,
.smart-generated-focus-head span {
  display: block;
  color: #607567;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}
.smart-generated-day-head strong,
.smart-generated-focus-head strong {
  display: block;
  margin-top: 2px;
  color: #10261d;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
}
.smart-generated-day-head em,
.smart-generated-focus-head em {
  flex: 0 1 auto;
  max-width: 150px;
  overflow: hidden;
  padding: 5px 8px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 9px;
  background: #f1faf5;
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-day-card.empty .smart-generated-day-head em,
.smart-generated-day-card.empty .smart-generated-focus-head em {
  border-color: rgba(21, 42, 31, 0.10);
  background: #f2f2ef;
  color: #78827c;
}
.smart-generated-day-meals {
  display: grid;
  gap: 8px;
}
.smart-generated-day-meal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
}
.smart-generated-day-meal-main {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-generated-day-meal-main b {
  color: #245746;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}
.smart-generated-day-meal-main strong {
  overflow: hidden;
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-day-meal-main span {
  overflow: hidden;
  color: #6f8278;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-day-meal-actions {
  display: flex;
  align-items: center;
}
.smart-generated-day-empty {
  display: grid;
  gap: 10px;
  align-content: center;
  min-height: 112px;
  padding: 12px;
  border: 1px dashed rgba(21, 42, 31, 0.14);
  border-radius: 12px;
  background: #ffffff;
  text-align: center;
}
.smart-generated-day-empty span {
  color: #7a857f;
  font-size: 13px;
  font-weight: 850;
}
.smart-generated-source-strip {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background: rgba(8, 72, 45, 0.12);
}
.smart-generated-source-strip span {
  display: grid;
  gap: 5px;
  min-height: 58px;
  padding: 10px 12px;
  background: #ffffff;
}
.smart-generated-source-strip b {
  color: #6f8278;
  font-size: 11px;
  font-weight: 850;
}
.smart-generated-source-strip em {
  overflow: hidden;
  color: #10261d;
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-decision-bar {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 248, 0.96));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.smart-generated-decision-details {
  display: grid;
  gap: 12px;
}
.smart-generated-decision-details > summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  min-height: 42px;
  cursor: pointer;
  list-style: none;
}
.smart-generated-decision-details > summary::-webkit-details-marker {
  display: none;
}
.smart-generated-decision-details > summary span {
  padding: 5px 8px;
  border-radius: 8px;
  background: #e8f7ee;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-generated-decision-details > summary strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-generated-decision-details > summary em {
  color: #7b8b83;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}
.smart-generated-decision-details[open] > summary {
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.10);
}
.smart-generated-decision-bar.event {
  border-color: rgba(35, 104, 187, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.98));
}
.smart-generated-decision-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}
.smart-generated-decision-head strong {
  display: block;
  margin-top: 3px;
  color: #10261d;
  font-size: 16px;
  line-height: 1.35;
}
.smart-generated-decision-grid {
  display: grid;
  grid-template-columns: minmax(340px, 1.02fr) minmax(300px, 0.98fr);
  gap: 10px;
  align-items: stretch;
}
.smart-generated-decision-grid.event {
  grid-template-columns: minmax(340px, 0.88fr) minmax(360px, 1.12fr);
}
.smart-generated-decision-card {
  display: grid;
  gap: 9px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: #ffffff;
}
.smart-generated-decision-card.process {
  grid-column: 1 / -1;
}
.smart-generated-decision-card-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: baseline;
}
.smart-generated-decision-card-head b {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
}
.smart-generated-decision-card-head em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.smart-generated-source-strip.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-radius: 12px;
}
.smart-generated-source-strip.compact span {
  min-height: 48px;
  padding: 8px 10px;
}
.smart-generated-source-strip.compact b {
  font-size: 10px;
}
.smart-generated-source-strip.compact em {
  font-size: 12px;
}
.smart-generated-decision-card .smart-generated-criteria {
  grid-template-columns: minmax(160px, 0.42fr) minmax(0, 0.58fr);
  padding: 8px;
  border-radius: 12px;
  background: #fbfdfb;
}
.smart-generated-decision-card .smart-generated-criteria-head {
  padding: 8px 9px;
  border-radius: 10px;
}
.smart-generated-decision-card .smart-generated-criteria-grid {
  gap: 6px;
}
.smart-generated-decision-card .smart-generated-criteria-grid span {
  min-height: 42px;
  padding: 8px 9px;
  border-radius: 10px;
}
.smart-generated-process-inline.compact {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.smart-generated-process-inline.compact span {
  min-height: 58px;
  padding: 8px;
  border-radius: 12px;
}
.smart-generated-process-inline.compact b {
  width: 22px;
  height: 22px;
  border-radius: 8px;
  font-size: 11px;
}
.smart-generated-process-inline.compact strong {
  font-size: 11px;
}
.smart-generated-process-inline.compact em {
  font-size: 10px;
  line-height: 1.35;
}
.smart-generated-criteria {
  display: grid;
  grid-template-columns: minmax(220px, 0.32fr) minmax(0, 0.68fr);
  gap: 10px;
  align-items: stretch;
  padding: 10px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(240, 250, 244, 0.95), rgba(255, 255, 255, 0.98));
}
.smart-generated-criteria.empty {
  border-color: rgba(8, 72, 45, 0.10);
  background: #fbfdfb;
}
.smart-generated-criteria-head {
  display: grid;
  gap: 3px;
  align-content: start;
  padding: 10px 12px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.08);
}
.smart-generated-criteria-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-generated-criteria-head strong {
  color: #10261d;
  font-size: 15px;
  line-height: 1.25;
}
.smart-generated-criteria-head em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}
.smart-generated-criteria-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-content: flex-start;
}
.smart-generated-criteria-grid span {
  display: grid;
  gap: 3px;
  min-width: 136px;
  max-width: 100%;
  padding: 8px 10px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 12px;
  background: #ffffff;
}
.smart-generated-criteria-grid b {
  color: #087a43;
  font-size: 10px;
  font-weight: 950;
}
.smart-generated-criteria-grid em {
  overflow-wrap: anywhere;
  color: #20372c;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.35;
}
.smart-generated-criteria-warnings {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-generated-criteria-warnings span {
  padding: 6px 9px;
  border: 1px solid rgba(189, 127, 6, 0.18);
  border-radius: 999px;
  background: #fff8e6;
  color: #7a4a00;
  font-size: 11px;
  font-weight: 900;
}
.smart-generated-process-inline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.smart-generated-process-inline span {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr);
  gap: 3px 8px;
  align-items: start;
  min-height: 74px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
}
.smart-generated-process-inline b {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 9px;
  background: #0b8a58;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-generated-process-inline strong {
  color: #10261d;
  font-size: 12px;
  line-height: 1.2;
}
.smart-generated-process-inline em {
  color: #6f8278;
  font-size: 11px;
  font-style: normal;
  line-height: 1.45;
}
.smart-generated-sheet-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: #fbfdfb;
}
.smart-generated-sheet-tabs strong {
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
}
.smart-generated-sheet-tabs span,
.smart-generated-sheet-tabs button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 10px;
  background: #ffffff;
  color: #496457;
  font-size: 12px;
  font-weight: 900;
}
.smart-generated-sheet-tabs span {
  display: inline-flex;
  align-items: center;
}
.smart-generated-sheet-tabs .active {
  border-color: rgba(8, 122, 67, 0.26);
  background: #e8f7ee;
  color: var(--green-deep);
}
.smart-generated-sheet-tabs button:hover {
  border-color: rgba(8, 122, 67, 0.32);
  background: #f2faf5;
  transform: translateY(-1px);
}
.smart-generated-sheet-tabs em {
  flex: 1 1 220px;
  color: #7b8b83;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}
.smart-generated-meal-coverage {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-generated-meal-coverage span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-generated-meal-coverage span.filled {
  border-color: rgba(8, 122, 67, 0.18);
  background: #f1faf5;
}
.smart-generated-meal-coverage span.empty {
  background: #fafafa;
}
.smart-generated-meal-coverage b {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
}
.smart-generated-meal-coverage em {
  color: #6f8278;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.smart-generated-meal-coverage span.filled em {
  color: var(--green-deep);
}
.smart-generated-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: #f7faf8;
}
.smart-generated-toolbar .internal-summary-export {
  border-color: rgba(189, 127, 6, 0.24);
  background: #fff9e8;
  color: #7a4a00;
}
.smart-generated-export-panel {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background: #fbfdfb;
}
.smart-generated-export-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  min-width: 0;
}
.smart-generated-export-head div {
  min-width: 0;
}
.smart-generated-export-head span {
  display: block;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-generated-export-head strong {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #10261d;
  font-size: 15px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-export-head em {
  flex: 0 0 auto;
  max-width: 360px;
  overflow: hidden;
  color: #6f8278;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-excel-detail {
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background: #fbfdfb;
}
.smart-generated-excel-detail > summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  min-height: 46px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}
.smart-generated-excel-detail > summary::-webkit-details-marker {
  display: none;
}
.smart-generated-excel-detail > summary span {
  padding: 5px 8px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 8px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-generated-excel-detail > summary strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-generated-excel-detail > summary em {
  color: #6f8278;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
}
.smart-generated-excel-detail[open] > summary {
  border-bottom: 1px solid rgba(8, 72, 45, 0.10);
}
.smart-generated-sheet-wrap {
  overflow: auto;
  border: 1px solid #b7c5bd;
  border-radius: 6px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.72), 0 8px 18px rgba(21, 42, 31, 0.04);
}
.smart-generated-sheet-wrap.secondary-excel {
  border-width: 0;
  border-radius: 0;
  box-shadow: none;
}
.smart-generated-sheet-title {
  position: sticky;
  left: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  min-width: 980px;
  padding: 10px 12px;
  border-bottom: 1px solid #c8d5ce;
  background: #f4f7f5;
}
.smart-generated-sheet-title strong {
  display: block;
  color: #10261d;
  font-size: 16px;
  font-weight: 950;
}
.smart-generated-sheet-title span {
  display: block;
  margin-top: 3px;
  color: #6f8278;
  font-size: 12px;
  font-weight: 760;
}
.smart-generated-sheet-title em {
  flex: 0 0 auto;
  padding: 6px 10px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 999px;
  background: #f2faf5;
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}
.smart-generated-sheet-quickbar {
  position: sticky;
  left: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-width: 980px;
  border-bottom: 1px solid #d7e0da;
  background: #d7e0da;
}
.smart-generated-sheet-quickbar span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 7px 10px;
  background: #fbfcfb;
}
.smart-generated-sheet-quickbar b {
  overflow: hidden;
  color: #10261d;
  font-size: 11px;
  font-weight: 950;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-sheet-quickbar em {
  overflow: hidden;
  color: #6b7d73;
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generated-sheet-title.event em {
  border-color: rgba(189, 127, 6, 0.18);
  background: #fff8e6;
  color: #7a4a00;
}
.smart-generated-sheet {
  width: 100%;
  min-width: 1280px;
  border-collapse: separate;
  border-spacing: 0;
  color: var(--ink);
  table-layout: fixed;
  font-variant-numeric: tabular-nums;
}
.smart-generated-sheet.weekly-excel-sheet {
  min-width: 1680px;
}
.smart-generated-table-caption {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.smart-generated-sheet th,
.smart-generated-sheet td {
  border-right: 1px solid #d7e0da;
  border-bottom: 1px solid #d7e0da;
  vertical-align: top;
}
.smart-generated-sheet th:last-child,
.smart-generated-sheet td:last-child {
  border-right: 0;
}
.smart-generated-sheet tr:last-child th,
.smart-generated-sheet tr:last-child td {
  border-bottom: 0;
}
.smart-generated-sheet thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 9px 8px;
  background: #eef3f0;
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
  text-align: center;
}
.smart-generated-sheet thead th strong {
  display: block;
  color: #10261d;
  font-size: 13px;
  line-height: 1.15;
}
.smart-generated-sheet thead th span {
  display: block;
  margin-top: 3px;
  color: #6f8278;
  font-size: 11px;
  font-weight: 850;
}
.smart-generated-sheet thead th:first-child {
  left: 0;
  z-index: 4;
  width: 112px;
  background: #e3ece7;
  text-align: left;
  box-shadow: 7px 0 12px rgba(21, 42, 31, 0.05);
}
.smart-generated-sheet tbody th {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 112px;
  padding: 10px 9px;
  background: #f6f8f7;
  box-shadow: 7px 0 12px rgba(21, 42, 31, 0.035);
}
.smart-generated-sheet tbody th strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
}
.smart-generated-sheet tbody th span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.smart-generated-sheet td {
  min-width: 278px;
  min-height: 126px;
  padding: 0;
  background: #fff;
}
.smart-generated-sheet.weekly-excel-sheet td {
  min-width: 224px;
}
.smart-generated-sheet td.has-menu {
  background: #ffffff;
}
.smart-generated-sheet td.empty {
  background: #fafafa;
}
.smart-sheet-menu-block {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 9px 10px 10px;
  border: 0;
  border-bottom: 1px solid #e1e9e4;
  border-left: 3px solid rgba(8, 122, 67, 0.64);
  border-radius: 0;
  background: #ffffff;
  box-shadow: none;
}
.smart-sheet-cell-head {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  min-height: 34px;
  padding: 6px 8px;
  border-bottom: 1px solid #d9e4dd;
  background: #f3faf6;
}
.smart-sheet-cell-head span {
  min-width: 0;
  overflow: hidden;
  color: #496457;
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-cell-head button {
  flex: 0 0 auto;
  min-height: 24px;
  padding: 0 8px;
  border: 1px solid rgba(8, 122, 67, 0.18);
  border-radius: 6px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-sheet-cell-head button:hover {
  border-color: rgba(8, 122, 67, 0.34);
  background: #e8f7ee;
}
.smart-sheet-meal-summary {
  display: grid;
  gap: 9px;
  min-height: 100%;
  padding: 9px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdfb 100%);
}
.smart-sheet-meal-summary.excel-cell {
  gap: 5px;
  padding: 6px;
  background: #ffffff;
}
.smart-sheet-clickable {
  cursor: pointer;
  transition: background 160ms ease, box-shadow 160ms ease, outline-color 160ms ease;
}
.smart-sheet-clickable:hover {
  background: #fbfffd;
  box-shadow: inset 0 0 0 2px rgba(8, 122, 67, 0.18);
}
.smart-sheet-clickable:focus-visible {
  outline: 2px solid rgba(8, 122, 67, 0.72);
  outline-offset: -2px;
  background: #f4fbf7;
}
.smart-sheet-clickable:active {
  background: #eef8f2;
}
.smart-sheet-summary-head.excel-title {
  padding-bottom: 4px;
  border-bottom-color: #d9e4dd;
}
.smart-sheet-summary-head.excel-title strong {
  font-size: 12px;
}
.smart-sheet-summary-head.excel-title span {
  margin-top: 2px;
  color: #7a8b82;
  font-size: 9px;
}
.smart-sheet-summary-head.excel-title em {
  min-height: 20px;
  padding: 0 6px;
  border-radius: 4px;
  font-size: 10px;
  line-height: 18px;
}
.smart-sheet-cell-note {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  overflow: hidden;
  border: 1px solid #e4ebe7;
  border-radius: 3px;
  background: #f8faf9;
}
.smart-sheet-cell-note span {
  min-width: 0;
  max-width: 100%;
  padding: 3px 6px;
  border-right: 1px solid #e4ebe7;
  color: #607567;
  font-size: 9px;
  font-weight: 850;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}
.smart-sheet-cell-note span:last-child {
  border-right: 0;
  color: #087a43;
  font-weight: 950;
}
.smart-sheet-excel-cell-bar {
  display: flex;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #e3ebe6;
  border-radius: 3px;
  background: #f8faf9;
}
.smart-sheet-excel-cell-bar span {
  display: grid;
  gap: 1px;
  min-width: 0;
  flex: 1 1 0;
  min-height: 32px;
  padding: 4px 6px;
  border: 0;
  border-right: 1px solid #e3ebe6;
  border-radius: 0;
  background: transparent;
}
.smart-sheet-excel-cell-bar span:last-child {
  border-right: 0;
}
.smart-sheet-excel-cell-bar b {
  overflow: hidden;
  color: #7b8d84;
  font-size: 9px;
  font-weight: 900;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-excel-cell-bar em {
  overflow: hidden;
  color: #10261d;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.12;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-summary-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: start;
  padding-bottom: 5px;
  border-bottom: 1px solid #e2e9e5;
}
.smart-sheet-summary-head strong {
  display: block;
  color: #10261d;
  font-size: 13px;
  line-height: 1.2;
  font-weight: 950;
}
.smart-sheet-summary-head span {
  display: block;
  margin-top: 3px;
  color: #71867a;
  font-size: 10px;
  font-weight: 780;
  line-height: 1.35;
}
.smart-sheet-summary-head em {
  flex: 0 0 auto;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 6px;
  background: #eef8f2;
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  line-height: 20px;
  white-space: nowrap;
}
.smart-sheet-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}
.smart-sheet-summary-strip span {
  min-height: 22px;
  padding: 0 6px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 3px;
  background: #f8faf9;
  color: #496457;
  font-size: 10px;
  font-weight: 850;
  line-height: 20px;
  white-space: nowrap;
}
.smart-sheet-summary-strip span:first-child {
  border-color: rgba(8, 122, 67, 0.16);
  background: #eef8f2;
  color: #087a43;
  font-weight: 950;
}
.smart-sheet-summary-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
}
.smart-sheet-summary-metrics span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 6px;
  border: 1px solid rgba(8, 72, 45, 0.07);
  border-radius: 7px;
  background: #f7fbf8;
}
.smart-sheet-summary-metrics b {
  overflow: hidden;
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-summary-metrics em {
  overflow: hidden;
  color: #7b8b83;
  font-size: 9px;
  font-style: normal;
  font-weight: 820;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-dish-lines.summary {
  gap: 0;
  border-top: 1px solid #edf2ef;
}
.smart-sheet-dish-lines.summary li {
  grid-template-columns: 18px 44px minmax(0, 1fr) minmax(48px, 0.44fr) auto;
  min-height: 24px;
  padding: 3px 4px;
  border-radius: 0;
  background: #ffffff;
}
.smart-sheet-dish-role {
  overflow: hidden;
  color: #087a43;
  font-size: 10px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-dish-lines.summary .smart-sheet-dish-more {
  background: #f5faf7;
}
.smart-sheet-customer-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
  padding-top: 2px;
}
.smart-sheet-customer-tags.compact {
  max-height: 48px;
  overflow: hidden;
}
.smart-sheet-customer-tags strong {
  color: #6f8278;
  font-size: 10px;
  font-weight: 950;
}
.smart-sheet-customer-tags span,
.smart-sheet-customer-tags i {
  min-height: 20px;
  padding: 0 6px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 5px;
  background: #f7faf8;
  color: #496457;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
  line-height: 18px;
}
.smart-sheet-customer-tags i {
  border-color: rgba(8, 122, 67, 0.13);
  background: #eef8f2;
  color: var(--green-deep);
}
.smart-sheet-row-actions.summary-actions {
  padding-top: 5px;
  border-top: 1px solid #edf2ef;
}
.smart-sheet-cell-footer {
  display: flex;
  justify-content: space-between;
  gap: 7px;
  align-items: center;
  padding-top: 5px;
  border-top: 1px solid #edf2ef;
}
.smart-sheet-open-hint {
  flex: 0 0 auto;
  color: #087a43;
  font-size: 10px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.2;
  opacity: 0.72;
  white-space: nowrap;
}
.smart-sheet-clickable:hover .smart-sheet-open-hint,
.smart-sheet-clickable:focus-visible .smart-sheet-open-hint {
  opacity: 1;
}
.smart-sheet-taste-summary {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  min-width: 0;
  align-items: center;
}
.smart-generated-preview.just-generated-workbook .smart-sheet-menu-block {
  border-left-color: rgba(8, 122, 67, 0.78);
}
.smart-sheet-menu-block:last-child {
  border-bottom: 0;
}
.smart-sheet-menu-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}
.smart-sheet-menu-head strong {
  min-width: 0;
  overflow: hidden;
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-menu-head span {
  flex: 0 0 auto;
  min-height: 20px;
  padding: 0 6px;
  border: 1px solid rgba(8, 122, 67, 0.13);
  border-radius: 4px;
  background: #f2faf5;
  color: var(--green-deep);
  font-size: 10px;
  font-weight: 900;
  white-space: nowrap;
}
.smart-sheet-menu-meta {
  display: block;
  overflow: hidden;
  color: #6f8278;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-dish-list {
  display: block;
  min-width: 0;
}
.smart-sheet-dish-lines {
  display: grid;
  gap: 3px;
  padding: 0;
  margin: 0;
  list-style: none;
}
.smart-sheet-dish-lines li {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto auto;
  gap: 6px;
  align-items: center;
  min-height: 25px;
  padding: 3px 5px;
  border: 0;
  border-bottom: 1px solid #edf2ef;
  border-radius: 0;
  background: #ffffff;
}
.smart-sheet-dish-lines li:last-child {
  border-bottom: 0;
}
.smart-sheet-dish-lines.empty li {
  border-style: dashed;
  background: #f7faf8;
}
.smart-sheet-dish-lines strong {
  min-width: 0;
  overflow: hidden;
  color: #20372c;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-dish-lines em {
  overflow: hidden;
  max-width: 72px;
  color: #6f8278;
  font-size: 10px;
  font-style: normal;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-sheet-dish-index {
  display: inline-grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 3px;
  background: #eef3f0;
  color: #496457;
  font-size: 10px;
  font-weight: 950;
}
.smart-sheet-dish-more {
  color: #496457;
}
.smart-sheet-dish-lines .taste-tag {
  min-height: 18px;
  padding: 0 5px;
  border-radius: 5px;
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-sheet-reason {
  display: block;
  color: #84948c;
  font-size: 10px;
  font-weight: 760;
  line-height: 1.3;
}
.smart-sheet-review-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.smart-sheet-review-strip .state {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  padding: 0 6px;
  border-radius: 4px;
  background: #eef3f0;
  color: #607567;
  font-size: 10px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}
.smart-sheet-review-strip .state.ok {
  background: #e9f7ee;
  color: var(--green-deep);
}
.smart-sheet-review-strip .state.warn {
  background: #fff4d8;
  color: #8a5b00;
}
.smart-sheet-review-strip .state.red {
  background: #ffe9e6;
  color: #c93f35;
}
.smart-sheet-review-strip .state.muted {
  background: #f1f3f2;
  color: #6f8278;
}
.smart-sheet-row-actions {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: flex-end;
  padding-top: 2px;
}
.smart-sheet-row-actions > span {
  min-width: 0;
}
.smart-sheet-quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  justify-content: flex-end;
  min-width: 118px;
}
.smart-generated-menu-line {
  display: grid;
  gap: 6px;
  margin-bottom: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 8px 20px rgba(21, 42, 31, 0.04);
}
.smart-generated-menu-line strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
}
.smart-generated-menu-line em {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
.smart-generated-menu-line p {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.5;
}
.smart-generated-menu-line .taste {
  margin-right: 4px;
}
.smart-generated-empty-cell {
  width: 100%;
  border: 1px dashed rgba(8, 72, 45, 0.14);
  border-radius: 10px;
  background: #fbfbfa;
}
.smart-generated-empty-cell span {
  color: var(--subtle);
  font-size: 12px;
  font-weight: 780;
}
.smart-generated-empty-cell strong {
  margin-top: 4px;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-generated-empty-cell em {
  display: block;
  margin-top: 3px;
  color: #7b8b83;
  font-size: 10px;
  font-style: normal;
  font-weight: 760;
}
.smart-generated-empty-cell:hover {
  border-color: rgba(8, 122, 67, 0.30);
  background: #f2faf5;
}
.smart-generated-empty-cell {
  display: grid;
  min-height: 70px;
  place-items: center;
}
.smart-generated-more,
.smart-generated-cell-action {
  width: 100%;
  min-height: 28px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 7px;
  background: rgba(8, 122, 67, 0.06);
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.smart-generated-cell-action {
  width: auto;
  min-width: 44px;
  min-height: 26px;
  padding: 0 8px;
  margin-top: 0;
  background: #ffffff;
  border-radius: 4px;
  font-size: 11px;
  white-space: nowrap;
}
.smart-generated-cell-action.primary-mini {
  border-color: rgba(8, 122, 67, 0.26);
  background: #0b8a58;
  color: #fff;
}
.smart-generated-evidence-panel {
  display: grid;
  padding: 0;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 12px;
  background: #fbfdfb;
}
.smart-generated-evidence-details {
  display: grid;
}
.smart-generated-evidence-details > summary {
  display: grid;
  grid-template-columns: minmax(150px, 0.24fr) minmax(0, 1fr) minmax(130px, auto) auto;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}
.smart-generated-evidence-details > summary::-webkit-details-marker {
  display: none;
}
.smart-generated-evidence-details > summary span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-generated-evidence-details > summary strong {
  color: #10261d;
  font-size: 14px;
  line-height: 1.3;
}
.smart-generated-evidence-details > summary em {
  color: #6f8278;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.smart-generated-evidence-details > summary::after {
  content: "展开";
  justify-self: end;
  padding: 5px 8px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 7px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-generated-evidence-details[open] > summary {
  border-bottom: 1px solid rgba(8, 72, 45, 0.10);
}
.smart-generated-evidence-details[open] > summary::after {
  content: "收起";
}
.smart-generated-evidence-details > *:not(summary) {
  margin: 10px 12px 0;
}
.smart-generated-evidence-details > *:last-child {
  margin-bottom: 12px;
}
.smart-generated-evidence-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.smart-generated-evidence-head strong {
  display: block;
  margin-top: 3px;
  color: #10261d;
  font-size: 15px;
  font-weight: 950;
  line-height: 1.3;
}
.smart-generated-evidence-head em {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 7px;
  background: #ffffff;
  color: #4d6658;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.smart-generated-footnote {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 14px;
  background: rgba(230, 246, 237, 0.62);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.smart-generated-footnote strong {
  color: var(--green-deep);
}
.smart-generated-sheet.event {
  min-width: 980px;
  table-layout: auto;
}
.smart-generated-sheet.event td,
.smart-generated-sheet.event th {
  padding: 12px;
}
.smart-generated-sheet.event td strong {
  display: inline-block;
  margin-right: 8px;
}
.smart-generated-event-checklist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.smart-generated-event-checklist span {
  padding: 7px 10px;
  border: 1px solid rgba(189, 127, 6, 0.16);
  border-radius: 999px;
  background: rgba(255, 247, 222, 0.9);
  color: #7a4a00;
  font-size: 12px;
  font-weight: 900;
}
.smart-generated-empty-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--line);
}
.smart-generated-empty-grid span {
  min-height: 58px;
  display: grid;
  place-items: center;
  background: #fff;
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}
.smart-generated-empty-head {
  display: grid;
  gap: 7px;
  align-content: center;
}
.smart-generated-empty-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.smart-generated-empty-actions button {
  display: grid;
  gap: 6px;
  min-height: 96px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 15px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(21, 42, 31, 0.055);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.smart-generated-empty-actions button:nth-child(2) {
  border-color: rgba(36, 104, 181, 0.16);
  background: linear-gradient(180deg, #ffffff, #f7fbff);
}
.smart-generated-empty-actions button:nth-child(3) {
  border-color: rgba(198, 129, 25, 0.18);
  background: linear-gradient(180deg, #ffffff, #fffaf0);
}
.smart-generated-empty-actions button:hover {
  border-color: rgba(8, 122, 67, 0.30);
  box-shadow: 0 16px 30px rgba(21, 42, 31, 0.10);
  transform: translateY(-1px);
}
.smart-generated-empty-actions strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.22;
}
.smart-generated-empty-actions span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 760;
  line-height: 1.45;
}
.smart-generated-empty-basis {
  display: grid;
  grid-template-columns: minmax(98px, 1fr) 14px minmax(98px, 1fr) 14px minmax(98px, 1fr) 14px minmax(98px, 1fr);
  gap: 6px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 15px;
  background: #ffffff;
}
.smart-generated-empty-basis span {
  display: grid;
  gap: 3px;
  min-height: 52px;
  padding: 8px 9px;
  border-radius: 12px;
  background: #f8fcf9;
}
.smart-generated-empty-basis b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
.smart-generated-empty-basis em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.25;
}
.smart-generated-empty-basis i {
  display: block;
  height: 1px;
  background: rgba(8, 122, 67, 0.32);
}
.smart-relation-hub {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 0 0, rgba(8, 122, 67, 0.12), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f8fcf9 58%, #eff8f2 100%);
  box-shadow: var(--shadow-soft);
}
.smart-relation-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: 16px;
  align-items: end;
}
.smart-relation-head > div:first-child {
  display: grid;
  gap: 7px;
  max-width: 820px;
}
.smart-relation-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 27px;
  line-height: 1.12;
  letter-spacing: 0;
}
.smart-relation-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-relation-chain {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}
.smart-relation-chain span {
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-relation-chain i {
  align-self: center;
  width: 12px;
  height: 1px;
  background: rgba(8, 122, 67, 0.32);
}
.smart-relation-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.smart-relation-card {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 5px 10px;
  align-content: start;
  min-height: 168px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: 0 12px 32px rgba(8, 72, 45, 0.06);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.smart-relation-card:hover {
  border-color: rgba(8, 122, 67, 0.30);
  box-shadow: 0 18px 44px rgba(8, 72, 45, 0.10);
  transform: translateY(-1px);
}
.smart-relation-card:active {
  transform: translateY(0) scale(0.99);
}
.smart-relation-card span {
  grid-row: 1 / 4;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}
.smart-relation-card strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-relation-card em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-relation-card b {
  color: var(--green);
  font-size: 18px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.smart-relation-card small {
  justify-self: start;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  font-size: 10px;
  font-weight: 950;
}
.smart-relation-card p {
  grid-column: 1 / -1;
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-library-panel {
  display: grid;
  gap: 14px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 224, 103, 0.20), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f7fcf9 64%, #eef8f2 100%);
  box-shadow: var(--shadow-soft);
}
.smart-library-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.smart-library-panel-head > div {
  display: grid;
  gap: 7px;
  max-width: 760px;
}
.smart-library-panel-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 26px;
  line-height: 1.12;
  letter-spacing: 0;
}
.smart-library-panel-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}
.smart-library-scope-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}
.smart-library-scope-grid button {
  display: grid;
  gap: 7px;
  min-height: 104px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.smart-library-scope-grid button:hover {
  border-color: rgba(8, 122, 67, 0.30);
  background: #fff;
  transform: translateY(-1px);
}
.smart-library-scope-grid span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-library-scope-grid strong {
  color: var(--ink);
  font-size: 24px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-library-scope-grid em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.38;
}
.smart-library-readiness-grid {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 10px;
}
.smart-library-readiness-grid article {
  display: grid;
  gap: 11px;
  min-height: 144px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.86);
}
.smart-library-readiness-grid article.warning {
  border-color: rgba(230, 150, 0, 0.22);
  background: rgba(255, 250, 235, 0.78);
}
.smart-library-readiness-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.smart-library-readiness-head span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.smart-library-readiness-head strong {
  color: var(--green);
  font-size: 26px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-library-readiness-grid article.warning .smart-library-readiness-head strong {
  color: #b36b00;
}
.smart-library-sample-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-library-sample-list span {
  display: grid;
  gap: 4px;
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 13px;
  background: rgba(247, 252, 249, 0.88);
}
.smart-library-sample-list strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-library-sample-list em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 4px 2px 0;
}
.smart-week-head > div:first-child {
  display: grid;
  gap: 7px;
  max-width: 760px;
}
.smart-week-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 27px;
  line-height: 1.12;
  letter-spacing: 0;
}
.smart-week-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}
.smart-week-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  min-width: 260px;
}
.smart-week-actions strong {
  flex-basis: 100%;
  color: var(--ink);
  font-size: 13px;
  font-variant-numeric: tabular-nums;
  text-align: right;
}
.smart-menu-use-path {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
}
.smart-menu-use-path button {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 3px 9px;
  align-items: center;
  min-height: 72px;
  padding: 11px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.smart-menu-use-path button:hover {
  border-color: rgba(8, 122, 67, 0.28);
  background: #ffffff;
  transform: translateY(-1px);
}
.smart-menu-use-path button:active {
  transform: translateY(0) scale(0.99);
}
.smart-menu-use-path span {
  grid-row: 1 / 3;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}
.smart-menu-use-path strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.18;
}
.smart-menu-use-path em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
}
.smart-menu-use-path.compact {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.smart-week-planner {
  gap: 16px;
}
.smart-week-table-wrap {
  overflow-x: auto;
  padding: 2px 2px 6px;
}
.smart-week-table {
  width: 100%;
  min-width: 1180px;
  border-collapse: separate;
  border-spacing: 0;
}
.smart-week-table th,
.smart-week-table td {
  vertical-align: top;
}
.smart-week-table thead th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px 9px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.10);
  background: rgba(246, 251, 248, 0.98);
  color: var(--ink);
  text-align: left;
}
.smart-week-table thead th:first-child {
  width: 116px;
  border-radius: 16px 0 0 0;
}
.smart-week-table thead th:last-child {
  border-radius: 0 16px 0 0;
}
.smart-week-table thead strong {
  display: block;
  color: var(--green);
  font-size: 18px;
  line-height: 1.05;
  font-variant-numeric: tabular-nums;
}
.smart-week-table thead span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.smart-week-table tbody th {
  width: 116px;
  padding: 12px 9px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
  background: rgba(255, 255, 255, 0.84);
}
.smart-week-table tbody th strong {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.15;
}
.smart-week-table tbody th span {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.smart-plan-cell {
  width: calc((100% - 116px) / 7);
  padding: 8px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
  background: rgba(255, 255, 255, 0.56);
}
.smart-plan-cell.empty {
  background: rgba(247, 249, 246, 0.38);
}
.smart-plan-cell.job {
  background: rgba(255, 251, 235, 0.60);
}
.smart-plan-cell-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  min-height: 28px;
  margin-bottom: 7px;
}
.smart-plan-cell-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-plan-cell.job .smart-plan-cell-head span {
  color: #a06b00;
}
.smart-plan-cell-head button,
.smart-plan-more,
.smart-plan-empty-btn {
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  cursor: pointer;
  font-size: 11px;
  font-weight: 950;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.smart-plan-cell-head button {
  padding: 5px 8px;
  white-space: nowrap;
}
.smart-plan-cell-head button:hover,
.smart-plan-more:hover,
.smart-plan-empty-btn:hover {
  border-color: rgba(8, 122, 67, 0.34);
  background: rgba(8, 122, 67, 0.14);
  transform: translateY(-1px);
}
.smart-plan-lines {
  display: grid;
  gap: 7px;
}
.smart-plan-line {
  display: grid;
  gap: 7px;
  min-height: 116px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92);
}
.smart-plan-line.job {
  border-color: rgba(244, 184, 40, 0.26);
  background: linear-gradient(180deg, #fffdf4, #ffffff);
}
.smart-plan-line strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
}
.smart-plan-line span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.smart-plan-line p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 11px;
  line-height: 1.48;
}
.smart-plan-line-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.smart-plan-line-foot .mini-action {
  min-height: 26px;
  padding: 5px 8px;
  font-size: 10px;
}
.smart-plan-more {
  justify-self: start;
  padding: 6px 9px;
  background: rgba(8, 72, 45, 0.06);
  color: var(--ink-soft);
}
.smart-plan-empty-btn {
  display: grid;
  gap: 3px;
  width: 100%;
  min-height: 86px;
  padding: 12px;
  border-style: dashed;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.54);
  text-align: left;
}
.smart-plan-empty-btn span {
  color: var(--muted);
  font-size: 11px;
}
.smart-plan-empty-btn strong {
  color: var(--green);
  font-size: 13px;
}
.smart-week-overview {
  display: grid;
  gap: 12px;
}
.smart-week-select-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #f7f8f4;
}
.smart-week-select-row label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.smart-week-select-row span,
.smart-week-select-row em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  white-space: nowrap;
}
.smart-week-select-row select {
  min-width: 210px;
  max-width: 100%;
  height: 36px;
  padding: 0 34px 0 10px;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 9px;
  background: #ffffff;
  color: #10261d;
  font: inherit;
  font-size: 13px;
  font-weight: 850;
}
.smart-week-select-row select:focus-visible {
  border-color: rgba(8, 122, 67, 0.42);
  outline: 3px solid rgba(8, 122, 67, 0.12);
}
.smart-week-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 6px;
  padding: 7px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #f7f8f4;
}
.smart-week-day-button {
  display: grid;
  gap: 3px;
  min-width: 0;
  min-height: 66px;
  padding: 8px 6px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #607567;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}
.smart-week-day-button:hover,
.smart-week-day-button:focus-visible {
  border-color: rgba(8, 122, 67, 0.22);
  background: #ffffff;
  color: #245746;
  outline: none;
}
.smart-week-day-button:active {
  transform: translateY(1px);
}
.smart-week-day-button.active {
  border-color: rgba(8, 122, 67, 0.35);
  background: #ffffff;
  color: #10261d;
  box-shadow: 0 8px 18px rgba(21, 42, 31, 0.08);
}
.smart-week-day-button span,
.smart-week-day-button em {
  overflow: hidden;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-day-button strong {
  overflow: hidden;
  font-size: 15px;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  line-height: 1.05;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-day-button.filled em {
  color: var(--green-deep);
}
.smart-week-day-button.empty {
  opacity: 0.72;
}
.smart-week-overview-card {
  display: grid;
  gap: 10px;
  min-width: 0;
  min-height: 168px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(21, 42, 31, 0.05);
}
.smart-week-focus-card {
  min-height: 0;
}
.smart-week-overview-card.filled {
  border-color: rgba(8, 122, 67, 0.18);
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
}
.smart-week-overview-card.empty {
  border-style: dashed;
  background: #fbfbfa;
}
.smart-week-overview-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
  min-width: 0;
}
.smart-week-overview-head div {
  min-width: 0;
}
.smart-week-overview-head span {
  display: block;
  color: #607567;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
}
.smart-week-overview-head strong {
  display: block;
  margin-top: 2px;
  color: #10261d;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  line-height: 1.05;
}
.smart-week-overview-head em {
  flex: 0 1 auto;
  max-width: 160px;
  overflow: hidden;
  padding: 5px 8px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 9px;
  background: #f1faf5;
  color: var(--green-deep);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-overview-card.empty .smart-week-overview-head em {
  border-color: rgba(21, 42, 31, 0.10);
  background: #f2f2ef;
  color: #78827c;
}
.smart-week-overview-meals {
  display: grid;
  gap: 8px;
}
.smart-week-overview-meal {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 58px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
}
.smart-week-overview-meal.job {
  border-color: rgba(189, 127, 6, 0.18);
  background: #fffaf0;
}
.smart-week-overview-meal div {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.smart-week-overview-meal b {
  color: #245746;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}
.smart-week-overview-meal strong {
  overflow: hidden;
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-overview-meal span {
  overflow: hidden;
  color: #6f8278;
  font-size: 11px;
  font-weight: 800;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-overview-empty {
  display: grid;
  gap: 10px;
  align-content: center;
  min-height: 100px;
  padding: 12px;
  border: 1px dashed rgba(21, 42, 31, 0.14);
  border-radius: 12px;
  background: #ffffff;
  text-align: center;
}
.smart-week-overview-empty span {
  color: #7a857f;
  font-size: 13px;
  font-weight: 850;
}
.smart-week-table-detail {
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background: #fbfdfb;
}
.smart-week-table-detail > summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  min-height: 46px;
  padding: 10px 12px;
  cursor: pointer;
  list-style: none;
}
.smart-week-table-detail > summary::-webkit-details-marker {
  display: none;
}
.smart-week-table-detail > summary span {
  padding: 5px 8px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 8px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-week-table-detail > summary strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
}
.smart-week-table-detail > summary em {
  color: #6f8278;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
}
.smart-week-table-detail[open] > summary {
  border-bottom: 1px solid rgba(8, 72, 45, 0.10);
}
.smart-week-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(150px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 3px;
}
.smart-day-card {
  display: grid;
  gap: 10px;
  min-width: 150px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}
.smart-day-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-day-head strong {
  color: var(--green);
  font-size: 19px;
  font-variant-numeric: tabular-nums;
}
.smart-day-head span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.smart-meal-stack {
  display: grid;
  gap: 9px;
}
.smart-meal-row {
  display: grid;
  gap: 8px;
  padding: 9px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(247, 252, 249, 0.96), rgba(255, 255, 255, 0.92));
}
.smart-meal-row.empty {
  border-style: dashed;
  background: rgba(247, 249, 246, 0.58);
}
.smart-meal-row.empty p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.smart-meal-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}
.smart-meal-title b {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.smart-meal-title span {
  color: var(--green);
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-meal-edit-link {
  justify-self: start;
  min-height: 26px;
  padding: 5px 9px;
  border: 1px solid rgba(8, 122, 67, 0.18);
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  cursor: pointer;
  font-size: 11px;
  font-weight: 950;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}
.smart-meal-edit-link:hover {
  border-color: rgba(8, 122, 67, 0.36);
  background: rgba(8, 122, 67, 0.14);
  transform: translateY(-1px);
}
.smart-meal-row.empty .smart-meal-title span {
  color: var(--muted);
}
.smart-meal-cards {
  display: grid;
  gap: 7px;
}
.smart-menu-mini-card {
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-menu-mini-card.job {
  border-color: rgba(244, 184, 40, 0.28);
  background: linear-gradient(180deg, #fffdf4, #ffffff);
}
.smart-menu-mini-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}
.smart-menu-mini-head strong {
  color: var(--ink);
  font-size: 12px;
  line-height: 1.25;
}
.smart-menu-mini-head span {
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green);
  font-size: 10px;
  font-weight: 950;
}
.smart-menu-mini-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.smart-menu-mini-meta em,
.taste {
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}
.taste.spicy {
  background: rgba(201, 63, 53, 0.10);
  color: var(--red);
}
.taste.calm {
  background: rgba(18, 120, 92, 0.10);
  color: #087a43;
}
.taste.muted {
  background: rgba(8, 72, 45, 0.06);
  color: var(--muted);
}
.smart-menu-mini-card p {
  margin: 0;
  color: var(--ink);
  font-size: 11px;
  line-height: 1.45;
}
.smart-menu-mini-actions,
.smart-event-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-menu-mini-actions .mini-action,
.smart-event-actions .mini-action {
  min-height: 28px;
  padding: 6px 8px;
  font-size: 10px;
}
.smart-menu-more {
  padding: 7px 9px;
  border-radius: 10px;
  background: rgba(8, 72, 45, 0.06);
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.menu-publish-closure {
  display: grid;
  gap: 14px;
}
.menu-publish-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 14px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 225, 92, 0.48), transparent 24%),
    linear-gradient(135deg, rgba(230, 248, 239, 0.96), rgba(255, 253, 242, 0.92));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.78);
}
.menu-publish-hero.draft {
  background:
    radial-gradient(circle at 92% 12%, rgba(255, 190, 92, 0.40), transparent 24%),
    linear-gradient(135deg, rgba(255, 249, 230, 0.96), rgba(255, 255, 255, 0.94));
}
.menu-publish-hero span,
.menu-publish-preview span {
  color: var(--brand);
  font-size: 12px;
  font-weight: 800;
}
.menu-publish-hero h3 {
  margin: 7px 0 8px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.08;
}
.menu-publish-hero p {
  margin: 0;
  max-width: 520px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.menu-publish-hero strong {
  flex: 0 0 auto;
  min-width: 74px;
  padding: 10px 12px;
  border-radius: 999px;
  background: #fff3b8;
  color: #755300;
  text-align: center;
  font-size: 18px;
  box-shadow: 0 10px 24px rgba(117, 83, 0, 0.12);
}
.menu-publish-preview {
  display: grid;
  gap: 6px;
  padding: 13px 14px;
  border-radius: 16px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  background: rgba(255, 255, 255, 0.78);
}
.menu-publish-preview strong {
  color: var(--ink);
  font-size: 13px;
  line-height: 1.55;
}
.menu-publish-actions,
.menu-publish-secondary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.menu-publish-step-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.menu-publish-step-card {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 154px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(248, 252, 249, 0.86));
  box-shadow: 0 12px 30px rgba(8, 72, 45, 0.06);
}
.menu-publish-step-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 10px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--brand);
  font-size: 12px;
  font-weight: 900;
}
.menu-publish-step-card strong {
  color: var(--ink);
  font-size: 15px;
}
.menu-publish-step-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.62;
}
.menu-publish-step-card .mini-action {
  justify-self: start;
}
.smart-event-project-sheets {
  display: grid;
  gap: 16px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(18, 38, 29, 0.10);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(18, 38, 29, 0.05);
}
.smart-event-workbook-tabs {
  display: grid;
  grid-template-columns: auto repeat(4, auto) minmax(0, 1fr);
  gap: 4px;
  align-items: center;
  padding: 6px;
  border: 1px solid #e7eee9;
  border-radius: 8px;
  background: #f8fbf9;
}
.smart-event-workbook-tabs strong {
  padding: 0 10px;
  color: #405149;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.smart-event-workbook-tabs span,
.smart-event-workbook-tabs button {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: #4f6258;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.smart-event-workbook-tabs span {
  display: inline-flex;
  align-items: center;
}
.smart-event-workbook-tabs .active {
  border-color: rgba(8, 120, 70, 0.22);
  background: #ffffff;
  color: #063b27;
  box-shadow: inset 0 -2px 0 var(--green);
}
.smart-event-workbook-tabs button:hover {
  border-color: rgba(8, 120, 70, 0.16);
  background: #ffffff;
}
.smart-event-workbook-tabs em {
  justify-self: end;
  min-width: 0;
  overflow: hidden;
  color: #73827b;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-event-project-status {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid #e3ece7;
  border-radius: 8px;
  background: #e3ece7;
}
.smart-event-project-status span {
  display: grid;
  gap: 3px;
  min-height: 56px;
  padding: 10px 12px;
  background: #ffffff;
}
.smart-event-project-status b {
  color: #12251d;
  font-size: 18px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.smart-event-project-status em {
  color: #6c7b74;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
}
.smart-event-sheet-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
}
.smart-event-sheet,
.smart-event-empty {
  display: grid;
  grid-template-columns: minmax(220px, .95fr) minmax(260px, 1.25fr) auto;
  gap: 14px;
  align-items: center;
  min-width: 0;
  min-height: 116px;
  padding: 14px;
  border: 1px solid #e1ebe5;
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}
.smart-event-empty {
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 1fr) auto;
  min-height: 180px;
  align-content: center;
  justify-items: stretch;
}
.smart-event-sheet-head {
  display: grid;
  gap: 7px;
  align-self: start;
}
.smart-event-sheet-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-event-sheet-head strong,
.smart-event-empty strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.24;
}
.smart-event-sheet-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-event-sheet-meta em {
  padding: 5px 7px;
  border-radius: 6px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.smart-event-sheet p,
.smart-event-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.58;
  align-self: start;
}
.smart-event-menu-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-content: start;
  min-width: 0;
  min-height: 40px;
}
.smart-event-menu-list span {
  padding: 6px 8px;
  border: 1px solid #e0ebe5;
  border-radius: 7px;
  background: #f8fbf9;
  color: #1f2d27;
  font-size: 12px;
  font-weight: 820;
}
.smart-event-menu-list span.empty {
  border-style: dashed;
  color: var(--muted);
  font-weight: 800;
}
.weekly-meal-editor {
  display: grid;
  gap: 14px;
}
.weekly-editor-overview,
.weekly-editor-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 224, 103, 0.12), transparent 28%),
    linear-gradient(180deg, #ffffff, #f7fbf8);
}
.weekly-editor-overview {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}
.weekly-editor-overview h3 {
  margin: 4px 0 6px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.15;
}
.weekly-editor-overview p,
.weekly-editor-card.empty p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}
.weekly-editor-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(88px, 1fr));
  gap: 8px;
  min-width: 210px;
}
.weekly-editor-kpis span {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.8);
}
.weekly-editor-kpis strong {
  color: var(--green);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}
.weekly-editor-kpis em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.weekly-editor-toolbar,
.weekly-editor-actions,
.weekly-editor-item-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.weekly-editor-cockpit {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.10), transparent 34%),
    linear-gradient(180deg, #ffffff, #f6fbf8);
}
.weekly-editor-cockpit-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  min-width: 0;
}
.weekly-editor-cockpit-head div {
  min-width: 0;
}
.weekly-editor-cockpit-head strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.22;
}
.weekly-editor-cockpit-head em {
  flex: 0 0 auto;
  max-width: 140px;
  overflow: hidden;
  padding: 6px 9px;
  border-radius: 9px;
  background: #e8f7ee;
  color: var(--green-deep);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weekly-editor-cockpit-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.weekly-editor-cockpit-metrics span {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.84);
}
.weekly-editor-cockpit-metrics b {
  color: var(--green);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
  font-weight: 950;
  line-height: 1;
}
.weekly-editor-cockpit-metrics em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weekly-editor-cockpit-metrics span.red {
  border-color: rgba(201, 63, 53, 0.18);
  background: #fff6f4;
}
.weekly-editor-cockpit-metrics span.red b {
  color: #b63d34;
}
.weekly-editor-cockpit-metrics span.warn {
  border-color: rgba(189, 127, 6, 0.22);
  background: #fff8df;
}
.weekly-editor-cockpit-metrics span.warn b {
  color: #9a6500;
}
.weekly-editor-task-list {
  display: grid;
  gap: 8px;
}
.weekly-editor-task {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: #ffffff;
}
.weekly-editor-task.red {
  border-color: rgba(201, 63, 53, 0.22);
  background: #fff7f5;
}
.weekly-editor-task.warn {
  border-color: rgba(189, 127, 6, 0.24);
  background: #fffaf0;
}
.weekly-editor-task.ready {
  border-color: rgba(8, 122, 67, 0.18);
  background: #f8fcfa;
}
.weekly-editor-task-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.weekly-editor-task-main span {
  overflow: hidden;
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weekly-editor-task.red .weekly-editor-task-main span {
  color: #b63d34;
}
.weekly-editor-task.warn .weekly-editor-task-main span {
  color: #8d5b00;
}
.weekly-editor-task-main strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weekly-editor-task-main p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.weekly-editor-task-main em {
  overflow: hidden;
  color: #41574d;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weekly-editor-task-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 7px;
  max-width: 260px;
}
.weekly-editor-excel-brief {
  display: grid;
  gap: 7px;
  padding: 14px 16px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-left: 5px solid var(--green);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 214, 79, 0.18), transparent 30%),
    linear-gradient(135deg, #ffffff, #eefaf3);
}
.weekly-editor-excel-brief span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.weekly-editor-excel-brief strong {
  color: var(--green-deep);
  font-size: 16px;
  line-height: 1.35;
}
.weekly-editor-excel-brief p {
  max-width: 860px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.weekly-editor-focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 15px 16px;
  border: 1px solid rgba(8, 122, 67, 0.24);
  border-left: 5px solid var(--green);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.12), transparent 32%),
    linear-gradient(135deg, #ffffff, #eefaf3);
  box-shadow: 0 14px 36px rgba(8, 72, 45, 0.10);
}
.weekly-editor-focus h3 {
  margin: 4px 0 6px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}
.weekly-editor-focus p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.65;
}
.weekly-editor-focus-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
  max-width: 360px;
}
.customer-excel-export {
  border-color: rgba(189, 127, 6, 0.28);
  background: #fff7d7;
  color: #7a4a00;
  font-weight: 950;
}
.weekly-editor-card.focused {
  border-color: rgba(8, 122, 67, 0.34);
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.14), transparent 32%),
    linear-gradient(180deg, #ffffff, #effaf4);
  box-shadow: 0 18px 46px rgba(8, 72, 45, 0.13);
}
.weekly-editor-card.candidate {
  border-color: rgba(244, 184, 40, 0.24);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 224, 103, 0.18), transparent 32%),
    linear-gradient(180deg, #fffdf5, #ffffff);
}
.weekly-editor-card.empty {
  border-style: dashed;
  background: rgba(247, 249, 246, 0.62);
}
.weekly-editor-card.empty strong {
  color: var(--ink);
  font-size: 18px;
}
.weekly-editor-menu-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
}
.weekly-editor-menu-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.weekly-editor-menu-head strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.18;
}
.weekly-editor-menu-head p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.weekly-editor-menu-status,
.weekly-editor-item-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.weekly-editor-item-list {
  display: grid;
  gap: 9px;
}
.weekly-editor-item,
.weekly-editor-candidate {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.84);
}
.weekly-editor-item.disabled,
.weekly-editor-candidate.missing {
  border-color: rgba(201, 63, 53, 0.16);
  background: rgba(255, 246, 244, 0.82);
}
.weekly-editor-item-main {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.weekly-editor-item-main span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.weekly-editor-item-main strong {
  color: var(--ink);
  font-size: 16px;
  line-height: 1.24;
}
.weekly-editor-item-main p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.weekly-editor-item-meta {
  justify-content: flex-start;
}
.weekly-editor-item-meta em {
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(8, 72, 45, 0.06);
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.weekly-editor-candidate-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  max-width: 310px;
}
.weekly-editor-candidate-list span,
.weekly-editor-empty {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.weekly-editor-empty {
  padding: 12px;
  border: 1px dashed rgba(8, 72, 45, 0.14);
  border-radius: 13px;
  background: rgba(247, 249, 246, 0.66);
}
.weekly-menu-preflight {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0, rgba(14, 141, 74, 0.08), transparent 34%),
    #fbfefb;
}
.weekly-menu-preflight.warn {
  border-color: rgba(213, 140, 20, 0.28);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 211, 101, 0.22), transparent 34%),
    #fffdf5;
}
.weekly-menu-preflight.red {
  border-color: rgba(201, 63, 53, 0.22);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 122, 101, 0.16), transparent 34%),
    #fff8f7;
}
.weekly-preflight-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}
.weekly-preflight-head span {
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.weekly-preflight-head strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.18;
}
.weekly-preflight-head p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.48;
}
.weekly-preflight-head em {
  display: inline-grid;
  place-items: center;
  min-width: 52px;
  height: 52px;
  border-radius: 16px;
  background: #0f8d4a;
  color: #fff;
  font-style: normal;
  font-size: 18px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.weekly-menu-preflight.warn .weekly-preflight-head em {
  background: #d58c14;
}
.weekly-menu-preflight.red .weekly-preflight-head em {
  background: #c93f35;
}
.weekly-preflight-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.weekly-preflight-metrics span {
  display: grid;
  gap: 3px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}
.weekly-preflight-metrics b {
  color: var(--ink);
  font-size: 14px;
  font-variant-numeric: tabular-nums;
}
.weekly-preflight-metrics small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.weekly-preflight-risk-list {
  display: grid;
  gap: 7px;
}
.weekly-preflight-risk {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.74);
}
.weekly-preflight-risk.red {
  box-shadow: inset 3px 0 #c93f35;
}
.weekly-preflight-risk.warn {
  box-shadow: inset 3px 0 #d58c14;
}
.weekly-preflight-risk strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
}
.weekly-preflight-risk span,
.weekly-preflight-clear {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.weekly-preflight-clear {
  margin: 0;
  padding: 10px;
  border-radius: 12px;
  background: rgba(15, 141, 74, 0.07);
  color: #277048;
  font-weight: 800;
}
.weekly-preflight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.menu-item-editor-form {
  display: grid;
  gap: 16px;
}
.menu-item-editor-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 224, 103, 0.18), transparent 30%),
    linear-gradient(180deg, #f8fff8, #ffffff);
}
.menu-item-editor-guide h3 {
  margin: 4px 0 6px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.18;
}
.menu-item-editor-guide p {
  margin: 0;
  max-width: 62ch;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}
.menu-item-editor-guide-tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}
.menu-item-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.menu-item-editor-grid .field.full {
  grid-column: 1 / -1;
}
.menu-item-editor-grid small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.menu-reuse-panel {
  display: grid;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 10px 24px rgba(18, 43, 29, 0.06);
}
.menu-reuse-panel.warn {
  border-color: rgba(223, 151, 25, 0.28);
  background: linear-gradient(180deg, #fffaf0, #ffffff 72%);
}
.menu-reuse-panel.linked {
  border-color: rgba(8, 122, 67, 0.22);
  background: linear-gradient(180deg, #f1fbf5, #ffffff 74%);
}
.menu-reuse-panel.empty {
  background: linear-gradient(180deg, #f8faf9, #ffffff 74%);
}
.menu-reuse-panel strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.28;
}
.menu-reuse-panel p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.menu-reuse-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 8px;
}
.menu-reuse-candidate {
  min-height: 86px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.13);
  border-radius: 12px;
  background: #ffffff;
  color: var(--ink);
  text-align: left;
  box-shadow: 0 6px 16px rgba(18, 43, 29, 0.05);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background 160ms ease;
}
.menu-reuse-candidate:hover {
  transform: translateY(-1px);
  border-color: rgba(8, 122, 67, 0.34);
  background: #f7fcf9;
  box-shadow: 0 12px 24px rgba(18, 43, 29, 0.09);
}
.menu-reuse-candidate:active {
  transform: translateY(0);
}
.menu-reuse-candidate strong {
  margin: 0;
  font-size: 14px;
}
.menu-reuse-candidate span,
.menu-reuse-candidate small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.menu-reuse-candidate small {
  color: #5f7468;
}
.mini-action.primary-mini,
.mini-action.danger {
  border-color: transparent;
}
.mini-action.primary-mini {
  background: var(--green);
  color: #fff;
}
.mini-action.danger {
  background: rgba(201, 63, 53, 0.1);
  color: var(--red);
}
.smart-map-head {
  display: grid;
  align-content: center;
  gap: 10px;
  padding: 16px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
}
.smart-map-head span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.smart-map-head strong {
  color: var(--ink);
  font-size: 24px;
  letter-spacing: 0;
}
.smart-map-head p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.55;
}
.smart-map-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.smart-map-steps button {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 7px 10px;
  align-content: start;
  min-height: 132px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}
.smart-map-steps button:hover {
  border-color: rgba(8, 122, 67, 0.32);
  transform: translateY(-1px);
}
.smart-map-steps b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--green);
  color: #fff;
  font-size: 13px;
}
.smart-map-steps strong {
  align-self: center;
  font-size: 16px;
  font-weight: 950;
}
.smart-map-steps span {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.smart-condition-console {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(340px, 0.82fr);
  gap: 16px;
  margin: 16px 0;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 20px;
  background:
    radial-gradient(circle at 4% 8%, rgba(255, 214, 79, 0.20), transparent 26%),
    radial-gradient(circle at 98% 4%, rgba(8, 122, 67, 0.12), transparent 24%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 247, 0.98));
  box-shadow: var(--shadow-soft);
}
.smart-condition-main,
.smart-condition-side {
  display: grid;
  gap: 14px;
  align-content: start;
}
.smart-condition-main .section-title {
  max-width: 760px;
}
.smart-condition-main .section-title h3 {
  margin: 6px 0 8px;
  color: var(--ink);
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: 0;
}
.smart-condition-main .section-title p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-condition-facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.smart-condition-fact {
  min-height: 86px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.86);
}
.smart-condition-fact span,
.smart-condition-mode-card span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.smart-condition-fact strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}
.smart-condition-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-condition-flow-step {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 150px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
}
.smart-condition-flow-step b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font-size: 13px;
}
.smart-condition-flow-step strong {
  color: var(--ink);
  font-size: 15px;
}
.smart-condition-flow-step span {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-condition-mode-grid {
  display: grid;
  gap: 10px;
}
.smart-condition-mode-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.11);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
}
.smart-condition-mode-card.green {
  border-color: rgba(8, 122, 67, 0.18);
}
.smart-condition-mode-card.yellow {
  border-color: rgba(189, 127, 6, 0.24);
  background: rgba(255, 252, 241, 0.88);
}
.smart-condition-mode-card.red {
  border-color: rgba(201, 63, 53, 0.22);
  background: rgba(255, 246, 244, 0.90);
}
.smart-condition-mode-card strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 17px;
}
.smart-condition-mode-card p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-condition-mode-card em {
  justify-self: end;
  color: var(--green);
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}
.smart-condition-mode-card .mini-action {
  grid-column: 1 / -1;
  justify-self: start;
}
.smart-condition-rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-condition-rules div,
.smart-condition-gate {
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
}
.smart-condition-rules strong,
.smart-condition-gate strong {
  display: block;
  color: var(--ink);
  font-size: 13px;
}
.smart-condition-rules span,
.smart-condition-gate span {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-condition-gate {
  border-color: rgba(189, 127, 6, 0.22);
  background:
    linear-gradient(135deg, rgba(255, 250, 231, 0.94), rgba(255, 255, 255, 0.86));
}
.smart-decision-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.smart-decision-card {
  display: grid;
  gap: 11px;
  align-content: start;
  min-height: 210px;
  padding: 17px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 249, 0.98)),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.1), transparent 32%);
  box-shadow: var(--shadow-soft);
}
.smart-decision-card.yellow {
  border-color: rgba(189, 127, 6, 0.22);
  background:
    linear-gradient(180deg, rgba(255, 254, 248, 0.98), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 100% 0, rgba(255, 205, 64, 0.17), transparent 32%);
}
.smart-decision-card.blue {
  border-color: rgba(20, 119, 204, 0.18);
  background:
    linear-gradient(180deg, rgba(248, 252, 255, 0.98), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 100% 0, rgba(20, 119, 204, 0.12), transparent 32%);
}
.smart-decision-card span {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.1);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.smart-decision-card.yellow span {
  background: rgba(255, 205, 64, 0.18);
  color: #9a6200;
}
.smart-decision-card.blue span {
  background: rgba(20, 119, 204, 0.1);
  color: #1263a8;
}
.smart-decision-card h3 {
  margin: 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.2;
}
.smart-decision-card p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-decision-card div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.smart-decision-card em {
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(248, 251, 249, 0.88);
  color: var(--ink);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.smart-decision-card .mini-action {
  width: fit-content;
  margin-top: auto;
}
.smart-master-grid,
.smart-candidate-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}
.smart-master-card,
.smart-candidate-card {
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 10px;
  background:
    linear-gradient(180deg, #ffffff, #fbfdfc),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.08), transparent 30%);
  box-shadow: var(--shadow-soft);
}
.smart-master-card.warn,
.smart-candidate-card.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background: linear-gradient(180deg, #fffdf5, #ffffff);
}
.smart-master-card.red,
.smart-candidate-card.red {
  border-color: rgba(201, 63, 53, 0.26);
  background: linear-gradient(180deg, #fff7f5, #ffffff);
}
.smart-candidate-card.confirmed {
  border-color: rgba(8, 122, 67, 0.3);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(240, 249, 245, 0.98));
}
.smart-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.smart-card-head h3 {
  margin: 5px 0 0;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.24;
}
.smart-score {
  display: grid;
  place-items: center;
  min-width: 48px;
  height: 48px;
  border-radius: 999px;
  color: #ffffff;
  font-size: 19px;
  font-weight: 950;
}
.smart-score.blue {
  background: #087a43;
}
.smart-score.warn {
  background: #bd7f06;
}
.smart-score.red {
  background: #c93f35;
}
.smart-master-metrics,
.smart-candidate-line {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-candidate-line {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.smart-master-metrics span,
.smart-candidate-line span {
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.smart-master-metrics b {
  display: block;
  margin-bottom: 3px;
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1;
}
.smart-tags,
.smart-dish-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.smart-dish-cloud span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 210px;
  min-height: 30px;
  overflow: hidden;
  padding: 6px 9px;
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-dish-cloud small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.smart-wave {
  display: grid;
  gap: 4px;
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.smart-wave strong {
  color: var(--green);
  font-size: 13px;
}
.smart-wave span,
.smart-wave em,
.smart-candidate-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-wave em {
  color: #b45309;
  font-style: normal;
  font-weight: 850;
}
.candidate-release-readiness {
  display: grid;
  gap: 11px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(240, 249, 245, 0.94), rgba(255, 255, 255, 0.9)),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.12), transparent 34%);
}
.candidate-release-readiness.warn {
  border-color: rgba(189, 127, 6, 0.25);
  background:
    linear-gradient(135deg, rgba(255, 248, 226, 0.96), rgba(255, 255, 255, 0.92)),
    radial-gradient(circle at 100% 0, rgba(245, 158, 11, 0.16), transparent 34%);
}
.candidate-release-readiness.red {
  border-color: rgba(201, 63, 53, 0.28);
  background:
    linear-gradient(135deg, rgba(255, 242, 239, 0.96), rgba(255, 255, 255, 0.92)),
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.14), transparent 34%);
}
.candidate-release-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.candidate-release-head span {
  display: block;
  margin-bottom: 3px;
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.candidate-release-head strong {
  color: var(--ink);
  font-size: 16px;
  font-weight: 950;
}
.candidate-release-head em {
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #087a43;
  color: #ffffff;
  font-style: normal;
  font-weight: 950;
}
.candidate-release-readiness.warn .candidate-release-head em {
  background: #bd7f06;
}
.candidate-release-readiness.red .candidate-release-head em {
  background: #c93f35;
}
.candidate-release-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.candidate-release-grid span {
  min-height: 56px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}
.candidate-release-grid b {
  display: block;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.1;
}
.candidate-release-grid small,
.candidate-release-steps small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.candidate-release-steps {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.candidate-release-steps span {
  position: relative;
  min-height: 70px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.62);
}
.candidate-release-steps b {
  display: block;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
}
.candidate-release-note {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.candidate-release-warnings {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.candidate-release-warnings span {
  padding: 6px 8px;
  border: 1px solid rgba(189, 127, 6, 0.18);
  border-radius: 999px;
  background: rgba(255, 248, 226, 0.9);
  color: #925b00;
  font-size: 11px;
  font-weight: 850;
}
.candidate-release-readiness.red .candidate-release-warnings span {
  border-color: rgba(201, 63, 53, 0.18);
  background: rgba(255, 242, 239, 0.92);
  color: #a93226;
}
.smart-customer-review-cockpit {
  display: grid;
  gap: 14px;
  padding: 16px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 224, 103, 0.18), transparent 30%),
    linear-gradient(180deg, rgba(247, 252, 249, 0.94), rgba(255, 255, 255, 0.96));
}
.smart-review-cockpit-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.smart-review-cockpit-head > div:first-child {
  display: grid;
  gap: 6px;
  max-width: 760px;
}
.smart-review-cockpit-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 25px;
  line-height: 1.14;
  letter-spacing: 0;
}
.smart-review-cockpit-head p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.62;
}
.smart-review-cockpit-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(74px, 1fr));
  gap: 8px;
  min-width: 260px;
}
.smart-review-cockpit-metrics span {
  display: grid;
  gap: 4px;
  min-height: 68px;
  padding: 11px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
}
.smart-review-cockpit-metrics b {
  color: var(--green-deep);
  font-size: 22px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-review-cockpit-metrics small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.smart-review-customer-tabs {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.smart-customer-package-board {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(36, 104, 181, 0.14);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(247, 251, 255, 0.96), rgba(255, 255, 255, 0.94));
}
.smart-customer-package-head {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}
.smart-customer-package-head h3 {
  margin: 4px 0 5px;
  color: var(--ink);
  font-size: 21px;
  line-height: 1.2;
  letter-spacing: 0;
}
.smart-customer-package-head p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.62;
}
.smart-customer-package-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 210px;
}
.smart-customer-package-legend span {
  padding: 6px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 900;
}
.smart-customer-package-legend .ready {
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
}
.smart-customer-package-legend .pending {
  background: rgba(36, 104, 181, 0.10);
  color: #225a9f;
}
.smart-customer-package-legend .warn {
  background: rgba(255, 244, 212, 0.88);
  color: #906100;
}
.smart-customer-scope-facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-customer-scope-facts span {
  display: grid;
  gap: 4px;
  min-height: 82px;
  padding: 10px;
  border: 1px solid rgba(36, 104, 181, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-customer-scope-facts b {
  color: #10261d;
  font-size: 22px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.smart-customer-scope-facts strong {
  color: #24382f;
  font-size: 12px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-customer-scope-facts em {
  color: #6f8278;
  font-size: 11px;
  font-style: normal;
  font-weight: 780;
  line-height: 1.35;
}
.smart-customer-coverage-strip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 12px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 12px;
  background: rgba(246, 251, 247, 0.94);
}
.smart-customer-coverage-strip.warn {
  border-color: rgba(189, 127, 6, 0.22);
  background: rgba(255, 248, 232, 0.92);
}
.smart-customer-coverage-strip div {
  display: grid;
  gap: 3px;
}
.smart-customer-coverage-strip strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.smart-customer-coverage-strip span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}
.smart-customer-coverage-strip em {
  min-width: 48px;
  color: var(--green-deep);
  font-size: 18px;
  font-style: normal;
  font-weight: 950;
  text-align: right;
}
.smart-customer-coverage-strip.warn em {
  color: #906100;
}
.smart-customer-gap-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 10px 11px;
  border: 1px dashed rgba(189, 127, 6, 0.28);
  border-radius: 12px;
  background: rgba(255, 252, 244, 0.86);
}
.smart-customer-gap-list.muted {
  border-color: rgba(36, 104, 181, 0.18);
  background: rgba(247, 251, 255, 0.92);
}
.smart-customer-gap-list strong {
  color: #7a5200;
  font-size: 12px;
  font-weight: 950;
}
.smart-customer-gap-list.muted strong {
  color: #225a9f;
}
.smart-customer-gap-list span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 260px;
  padding: 5px 7px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.smart-customer-gap-list.muted span {
  color: #20374d;
}
.smart-customer-gap-list small {
  overflow: hidden;
  max-width: 120px;
  color: #906100;
  font-size: 10px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-customer-gap-list.muted small {
  color: #225a9f;
}
.smart-customer-package-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 8px;
  max-height: 330px;
  overflow: auto;
  padding: 2px;
  scrollbar-width: thin;
}
.smart-customer-package-card {
  display: grid;
  gap: 5px;
  min-height: 118px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94);
  transition: transform 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease;
}
.smart-customer-package-main {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.smart-customer-package-card:hover {
  border-color: rgba(36, 104, 181, 0.28);
  box-shadow: 0 12px 26px rgba(21, 42, 31, 0.08);
  transform: translateY(-1px);
}
.smart-customer-package-card.active {
  border-color: rgba(36, 104, 181, 0.42);
  background: #f3f8ff;
  box-shadow: 0 14px 30px rgba(36, 104, 181, 0.12);
}
.smart-customer-package-card.warn {
  border-color: rgba(189, 127, 6, 0.20);
}
.smart-customer-package-card span {
  justify-self: start;
  padding: 4px 7px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-customer-package-card.pending span {
  background: rgba(36, 104, 181, 0.10);
  color: #225a9f;
}
.smart-customer-package-card.warn span {
  background: rgba(255, 244, 212, 0.90);
  color: #906100;
}
.smart-customer-package-card.warn em {
  color: #8a5a05;
}
.smart-customer-package-card strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  line-height: 1.24;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-customer-package-card p,
.smart-customer-package-card em {
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  line-height: 1.42;
  text-overflow: ellipsis;
}
.smart-customer-package-card p {
  white-space: nowrap;
}
.smart-customer-package-cost-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  min-width: 0;
  margin-top: 2px;
}
.smart-customer-package-cost-grid span {
  display: grid;
  gap: 2px;
  min-width: 0;
  min-height: 42px;
  padding: 6px 7px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 8px;
  background: #f7faf8;
}
.smart-customer-package-cost-grid span.warn {
  border-color: rgba(189, 127, 6, 0.18);
  background: #fff8e8;
}
.smart-customer-package-cost-grid b,
.smart-customer-package-cost-grid strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-customer-package-cost-grid b {
  color: #708075;
  font-size: 10px;
  font-weight: 850;
}
.smart-customer-package-cost-grid strong {
  color: #15231d;
  font-size: 11.5px;
  font-weight: 930;
}
.smart-customer-package-cost-grid.empty {
  grid-template-columns: minmax(0, 1fr);
}
.smart-customer-package-actions {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-top: 4px;
  padding-top: 8px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-customer-package-actions button {
  min-width: 0;
  min-height: 30px;
  padding: 0 6px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 9px;
  background: #f8fbfa;
  color: #143628;
  font-size: 11px;
  font-weight: 900;
  cursor: pointer;
  white-space: nowrap;
}
.smart-customer-package-actions button:hover {
  border-color: rgba(8, 122, 67, 0.32);
  background: #edf8f2;
}
.smart-customer-package-actions button:disabled {
  border-color: rgba(151, 164, 157, 0.24);
  background: #f4f6f5;
  color: #8b9891;
  cursor: not-allowed;
}
.smart-customer-package-empty {
  display: grid;
  grid-column: 1 / -1;
  justify-items: start;
  gap: 8px;
  padding: 18px;
  border: 1px dashed rgba(8, 72, 45, 0.16);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
}
.smart-customer-package-empty strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
}
.smart-customer-package-empty span {
  max-width: 540px;
  color: var(--muted);
  line-height: 1.5;
}
.smart-review-customer-tab {
  flex: 0 0 178px;
  display: grid;
  gap: 5px;
  min-height: 82px;
  padding: 12px 13px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}
.smart-review-customer-tab:hover {
  border-color: rgba(8, 122, 67, 0.26);
  background: #fff;
  transform: translateY(-1px);
}
.smart-review-customer-tab.active {
  border-color: rgba(8, 122, 67, 0.35);
  background: #0b6b3f;
  color: #fff;
  box-shadow: 0 18px 34px rgba(8, 72, 45, 0.14);
}
.smart-review-customer-tab strong {
  overflow: hidden;
  font-size: 14px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-review-customer-tab span,
.smart-review-customer-tab em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-review-customer-tab.active span,
.smart-review-customer-tab.active em {
  color: rgba(255, 255, 255, 0.78);
}
.smart-review-work-order {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(8, 122, 67, 0.18);
  border-radius: 20px;
  background:
    radial-gradient(circle at 0 0, rgba(255, 216, 89, 0.18), transparent 28%),
    linear-gradient(135deg, rgba(238, 250, 243, 0.96), rgba(255, 255, 255, 0.94));
  box-shadow: 0 18px 48px rgba(8, 72, 45, 0.08);
}
.smart-review-work-order h3 {
  margin: 5px 0 6px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: 0;
}
.smart-review-work-order p {
  max-width: 900px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-review-work-order-actions {
  display: grid;
  gap: 8px;
  min-width: 190px;
}
.smart-review-work-order-actions .primary-action,
.smart-review-work-order-actions .ghost-action {
  justify-content: center;
  width: 100%;
  white-space: nowrap;
}
.smart-review-confirm-sheet {
  display: grid;
  grid-template-columns: minmax(260px, 0.92fr) minmax(360px, 1.08fr);
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(241, 250, 245, 0.94)),
    radial-gradient(circle at 100% 0, rgba(255, 214, 79, 0.16), transparent 34%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 14px 34px rgba(8, 72, 45, 0.07);
}
.smart-review-confirm-main {
  display: grid;
  gap: 7px;
  align-content: start;
}
.smart-review-confirm-main h3 {
  margin: 0;
  color: var(--green-deep);
  font-size: 23px;
  line-height: 1.15;
  letter-spacing: 0;
}
.smart-review-confirm-main p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-review-confirm-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 3px;
}
.smart-review-confirm-flow span {
  padding: 6px 9px;
  border: 1px solid rgba(8, 122, 67, 0.12);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.75);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.smart-review-confirm-flow span.done {
  border-color: rgba(8, 122, 67, 0.20);
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
}
.smart-review-confirm-flow span.warn {
  border-color: rgba(189, 127, 6, 0.22);
  background: rgba(255, 244, 212, 0.74);
  color: #906100;
}
.smart-review-confirm-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-review-confirm-stats span {
  display: grid;
  gap: 4px;
  min-height: 64px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.78);
}
.smart-review-confirm-stats b {
  color: var(--green-deep);
  font-size: 20px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-review-confirm-stats small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.smart-review-confirm-stats .warn {
  border-color: rgba(189, 127, 6, 0.20);
  background: rgba(255, 250, 238, 0.86);
}
.smart-review-confirm-stats .warn b {
  color: #976400;
}
.smart-review-confirm-stats .red {
  border-color: rgba(201, 63, 53, 0.18);
  background: rgba(255, 246, 244, 0.86);
}
.smart-review-confirm-stats .red b {
  color: var(--red);
}
.smart-review-confirm-actions {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  padding-top: 2px;
}
.smart-review-excel-pack {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(300px, 0.9fr) auto;
  gap: 12px;
  align-items: stretch;
  padding: 15px;
  border: 1px solid rgba(10, 132, 80, 0.18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(6, 111, 68, 0.94), rgba(16, 139, 82, 0.88)),
    radial-gradient(circle at 100% 0, rgba(255, 219, 91, 0.32), transparent 34%);
  color: #fff;
  box-shadow: 0 18px 40px rgba(8, 72, 45, 0.14);
}
.smart-review-excel-copy {
  display: grid;
  gap: 6px;
  align-content: center;
}
.smart-review-excel-copy .eyebrow {
  color: rgba(255, 233, 151, 0.92);
}
.smart-review-excel-copy h3 {
  margin: 0;
  color: #fff;
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: 0;
}
.smart-review-excel-copy p {
  max-width: 720px;
  margin: 0;
  color: rgba(255, 255, 255, 0.78);
  font-size: 12px;
  line-height: 1.65;
}
.smart-review-excel-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-review-excel-checklist span {
  display: grid;
  gap: 5px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.10);
  backdrop-filter: blur(12px);
}
.smart-review-excel-checklist b {
  color: rgba(255, 233, 151, 0.96);
  font-size: 12px;
  line-height: 1;
}
.smart-review-excel-checklist small {
  overflow: hidden;
  color: rgba(255, 255, 255, 0.86);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-review-excel-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
  justify-content: center;
  min-width: 188px;
}
.smart-review-excel-actions .primary-action,
.smart-review-excel-actions .ghost-action {
  width: 100%;
  min-height: 40px;
  justify-content: center;
  white-space: nowrap;
}
.smart-review-excel-actions .primary-action {
  background: #ffd84d;
  color: #18351f;
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.16);
}
.smart-review-excel-actions .ghost-action {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.10);
  color: #fff;
}
.smart-review-readable-week {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 248, 0.94)),
    radial-gradient(circle at 5% 0, rgba(8, 122, 67, 0.08), transparent 30%);
  box-shadow: 0 18px 42px rgba(8, 72, 45, 0.07);
}
.smart-review-readable-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}
.smart-review-readable-head h3 {
  margin: 4px 0 4px;
  color: var(--green-deep);
  font-size: 22px;
  line-height: 1.18;
  letter-spacing: 0;
}
.smart-review-readable-head p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.smart-review-readable-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.smart-review-workbook-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 14px;
  background: #ffffff;
}
.smart-review-workbook-tabs strong {
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
}
.smart-review-workbook-tabs span,
.smart-review-workbook-tabs button {
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 10px;
  background: #ffffff;
  color: #496457;
  font-size: 12px;
  font-weight: 900;
}
.smart-review-workbook-tabs span {
  display: inline-flex;
  align-items: center;
}
.smart-review-workbook-tabs .active {
  border-color: rgba(8, 122, 67, 0.26);
  background: #e8f7ee;
  color: var(--green-deep);
}
.smart-review-workbook-tabs button:hover {
  border-color: rgba(8, 122, 67, 0.32);
  background: #f2faf5;
  transform: translateY(-1px);
}
.smart-review-workbook-tabs em {
  flex: 1 1 230px;
  color: #7b8b83;
  font-size: 12px;
  font-style: normal;
  font-weight: 760;
  line-height: 1.45;
}
.smart-review-meal-coverage {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-review-meal-coverage span {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 12px;
  background: #ffffff;
}
.smart-review-meal-coverage span.filled {
  border-color: rgba(8, 122, 67, 0.18);
  background: #f1faf5;
}
.smart-review-meal-coverage span.empty {
  background: #fafafa;
}
.smart-review-meal-coverage b {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
}
.smart-review-meal-coverage em {
  color: #6f8278;
  font-size: 12px;
  font-style: normal;
  font-weight: 850;
}
.smart-review-meal-coverage span.filled em {
  color: var(--green-deep);
}
.smart-review-readable-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(180px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 2px;
}
.smart-readable-day {
  min-width: 180px;
  border: 1px solid rgba(8, 72, 45, 0.10);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.82);
  overflow: hidden;
}
.smart-readable-day-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 10px 11px;
  background: rgba(8, 122, 67, 0.08);
  color: var(--green-deep);
}
.smart-readable-day-head strong,
.smart-readable-day-head span {
  font-size: 12px;
  font-weight: 950;
}
.smart-readable-meals {
  display: grid;
  gap: 7px;
  padding: 9px;
}
.smart-readable-meal {
  display: grid;
  gap: 5px;
  width: 100%;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 12px;
  background: rgba(248, 251, 249, 0.94);
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.smart-readable-meal:hover {
  border-color: rgba(8, 122, 67, 0.24);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(8, 72, 45, 0.08);
}
.smart-readable-meal.selected {
  border-color: rgba(8, 122, 67, 0.34);
  background: rgba(232, 247, 239, 0.96);
  box-shadow: inset 4px 0 0 var(--green);
}
.smart-readable-meal.published {
  background: rgba(239, 249, 244, 0.98);
}
.smart-readable-meal.warn {
  border-color: rgba(189, 127, 6, 0.22);
  background: rgba(255, 250, 238, 0.96);
}
.smart-readable-meal.red {
  border-color: rgba(201, 63, 53, 0.22);
  background: rgba(255, 246, 244, 0.96);
}
.smart-readable-meal.empty {
  min-height: 54px;
  color: var(--muted);
  cursor: pointer;
  background: rgba(245, 247, 246, 0.72);
}
.smart-readable-meal.empty:hover {
  border-color: rgba(8, 122, 67, 0.22);
  background: #f2faf5;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(8, 72, 45, 0.06);
}
.smart-readable-meal div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.smart-readable-meal b {
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
}
.smart-readable-meal em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.smart-readable-meal p {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.5;
}
.smart-readable-meal small {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.smart-readable-empty {
  grid-column: 1 / -1;
  display: grid;
  place-items: start;
  gap: 8px;
  padding: 20px;
  border: 1px dashed rgba(8, 122, 67, 0.20);
  border-radius: 16px;
  background: rgba(248, 251, 249, 0.88);
}
.smart-readable-empty strong {
  color: var(--green-deep);
  font-size: 16px;
}
.smart-readable-empty p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}
.smart-review-steps-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.smart-review-steps-strip span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(8, 122, 67, 0.10);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.smart-review-steps-strip b {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 8px;
  background: rgba(8, 122, 67, 0.10);
  color: var(--green-deep);
  font-size: 11px;
}
.smart-review-focus-layout {
  display: grid;
  grid-template-columns: minmax(340px, 0.72fr) minmax(0, 1.28fr);
  gap: 12px;
  align-items: stretch;
}
.smart-review-hero-card,
.smart-review-week-table-wrap {
  border: 1px solid rgba(8, 72, 45, 0.11);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 38px rgba(8, 72, 45, 0.07);
}
.smart-review-hero-card {
  display: grid;
  gap: 12px;
  padding: 15px;
}
.smart-review-hero-card.warn {
  border-color: rgba(189, 127, 6, 0.24);
  background: #fffdf5;
}
.smart-review-hero-card.red {
  border-color: rgba(201, 63, 53, 0.24);
  background: #fff8f6;
}
.smart-review-hero-card.empty {
  align-content: center;
  min-height: 280px;
  background: #f8fcf9;
}
.smart-review-hero-card.empty strong {
  color: var(--ink);
  font-size: 18px;
}
.smart-review-hero-card.empty p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}
.smart-review-hero-head,
.smart-review-hero-actions {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.smart-review-hero-head span,
.smart-review-hero-actions span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.smart-review-hero-head h3 {
  margin: 5px 0 5px;
  color: var(--ink);
  font-size: 20px;
  line-height: 1.18;
  letter-spacing: 0;
}
.smart-review-hero-head p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.45;
}
.smart-review-hero-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 112px;
}
.smart-review-hero-status strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
}
.smart-review-hero-dishes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-review-hero-dishes span,
.smart-review-hero-slot {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: #fff;
}
.smart-review-hero-slot {
  width: 100%;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.smart-review-hero-slot:hover {
  border-color: rgba(8, 122, 67, 0.28);
  box-shadow: 0 12px 26px rgba(8, 72, 45, 0.09);
  transform: translateY(-1px);
}
.smart-review-hero-slot:active {
  transform: translateY(0) scale(.99);
}
.smart-review-hero-slot:disabled {
  cursor: default;
  opacity: .78;
  transform: none;
}
.smart-review-hero-slot > span {
  display: grid;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
}
.smart-review-hero-slot small {
  justify-self: start;
  margin-top: 3px;
  padding: 4px 7px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.09);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-review-hero-dishes span.missing,
.smart-review-hero-slot.missing {
  border-color: rgba(201, 63, 53, 0.18);
  background: #fff7f5;
}
.smart-review-hero-slot.manual-fill {
  border-color: rgba(189, 127, 6, 0.24);
  background: #fff9e9;
}
.smart-review-hero-slot.manual-fill em {
  color: #8a5a05;
  font-weight: 850;
}
.smart-review-hero-dishes b,
.smart-review-hero-slot b {
  justify-self: start;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.09);
  color: var(--green);
  font-size: 10px;
  font-weight: 950;
}
.smart-review-hero-dishes strong,
.smart-review-hero-slot strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-review-hero-dishes em,
.smart-review-hero-slot em {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-review-hero-actions {
  align-items: center;
  padding-top: 3px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-review-hero-actions > div:first-child {
  display: grid;
  gap: 3px;
}
.smart-review-hero-actions strong {
  color: var(--green-deep);
  font-size: 13px;
  line-height: 1.35;
}
.smart-review-week-table-wrap {
  overflow: hidden;
  align-self: stretch;
}
.smart-review-week-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 14px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
  background: rgba(248, 252, 249, 0.86);
}
.smart-review-week-title strong {
  color: var(--ink);
  font-size: 16px;
}
.smart-review-week-title span {
  overflow: hidden;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-review-week-table {
  width: 100%;
  border-collapse: collapse;
}
.smart-review-week-table th,
.smart-review-week-table td {
  padding: 10px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.07);
  border-right: 1px solid rgba(8, 72, 45, 0.06);
  vertical-align: top;
}
.smart-review-week-table th:last-child,
.smart-review-week-table td:last-child {
  border-right: 0;
}
.smart-review-week-table thead th {
  background: #f1f8f4;
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  text-align: left;
}
.smart-review-week-table tbody th {
  width: 92px;
  background: rgba(248, 252, 249, 0.78);
}
.smart-review-week-table tbody th strong {
  display: block;
  color: var(--ink);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
}
.smart-review-week-table tbody th span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.smart-review-meal {
  display: grid;
  gap: 6px;
  width: 100%;
  min-width: 138px;
  padding: 9px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: #f8fcf9;
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.smart-review-meal:hover {
  border-color: rgba(8, 122, 67, 0.28);
  background: #ffffff;
  box-shadow: 0 10px 20px rgba(8, 72, 45, 0.08);
  transform: translateY(-1px);
}
.smart-review-meal.selected {
  border-color: rgba(8, 122, 67, 0.42);
  background: #0b6b3f;
  box-shadow: 0 14px 26px rgba(8, 72, 45, 0.16);
}
.smart-review-meal.selected strong,
.smart-review-meal.selected p,
.smart-review-meal.selected small {
  color: #ffffff;
}
.smart-review-meal.selected .status {
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}
.smart-review-meal.published {
  background: #eefaf3;
}
.smart-review-meal.warn {
  background: #fff7e8;
}
.smart-review-meal.red {
  background: #fff1ee;
}
.smart-review-meal.selected.published,
.smart-review-meal.selected.warn,
.smart-review-meal.selected.red {
  background: #0b6b3f;
}
.smart-review-meal > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
}
.smart-review-meal strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
.smart-review-meal p {
  display: -webkit-box;
  min-height: 34px;
  margin: 0;
  overflow: hidden;
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.42;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.smart-review-meal small,
.smart-review-empty {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.smart-review-empty.as-action {
  display: grid;
  width: 100%;
  min-height: 58px;
  place-items: center;
  border: 1px dashed rgba(8, 72, 45, 0.14);
  border-radius: 10px;
  background: #fbfbfa;
  color: var(--green);
  cursor: pointer;
}
.smart-review-empty.as-action:hover {
  border-color: rgba(8, 122, 67, 0.30);
  background: #f2faf5;
}
.smart-split-review-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 16px;
}
.smart-week-export-actions {
  display: grid;
  gap: 8px;
  justify-items: end;
  min-width: min(620px, 100%);
}
.smart-week-export-group {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 7px;
}
.smart-week-export-group > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.customer-week-export {
  border-color: rgba(17, 131, 75, 0.24);
  background: #eefaf3;
  color: #0b6b3f;
  font-weight: 900;
}
.smart-split-review-card {
  display: grid;
  gap: 13px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 12px;
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.08), transparent 34%);
  box-shadow: var(--shadow-soft);
}
.smart-split-review-card.warn {
  border-color: rgba(189, 127, 6, 0.25);
  background:
    linear-gradient(180deg, #fffdf5 0%, #ffffff 100%),
    radial-gradient(circle at 100% 0, rgba(245, 158, 11, 0.12), transparent 32%);
}
.smart-split-review-card.red {
  border-color: rgba(201, 63, 53, 0.26);
  background:
    linear-gradient(180deg, #fff7f5 0%, #ffffff 100%),
    radial-gradient(circle at 100% 0, rgba(239, 68, 68, 0.10), transparent 32%);
}
.split-review-head,
.split-review-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.split-review-head span,
.split-review-foot > span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.split-review-head h3 {
  margin: 5px 0 4px;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.16;
  letter-spacing: 0;
}
.split-review-head p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
}
.split-review-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  min-width: 120px;
}
.split-review-status strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 48px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: #087a43;
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
}
.smart-split-review-card.warn .split-review-status strong {
  background: #bd7f06;
}
.smart-split-review-card.red .split-review-status strong {
  background: #c93f35;
}
.split-review-menu {
  display: grid;
  gap: 10px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 10px;
  background: rgba(248, 252, 249, 0.78);
}
.split-review-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.split-review-title strong {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.split-review-title span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  text-align: right;
}
.split-review-dishes {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.split-review-dishes span {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 2px 8px;
  min-height: 56px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 9px;
  background: #ffffff;
}
.split-review-dishes b {
  grid-row: span 2;
  align-self: center;
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.09);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  text-align: center;
}
.split-review-dishes strong {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.split-review-dishes em {
  min-width: 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.split-review-dishes span.missing {
  border-color: rgba(201, 63, 53, 0.18);
  background: rgba(255, 247, 245, 0.92);
}
.split-review-dishes span.missing b {
  background: rgba(201, 63, 53, 0.10);
  color: #c93f35;
}
.split-review-metrics,
.split-review-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.split-review-steps {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.split-review-metrics span,
.split-review-steps span {
  min-height: 62px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.76);
}
.split-review-metrics b {
  display: block;
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}
.split-review-metrics small,
.split-review-steps small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.38;
}
.split-review-steps span {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 2px 8px;
}
.split-review-steps i {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--green);
  color: #ffffff;
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.split-review-steps b {
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
.split-review-warnings {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.split-review-foot {
  align-items: center;
  padding-top: 2px;
}
.smart-control-room {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 16px;
  margin: 16px 0;
}
.smart-control-main,
.smart-task-board,
.smart-use-steps,
.smart-policy-summary,
.smart-policy-card {
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 249, 0.96)),
    radial-gradient(circle at 100% 0, rgba(255, 214, 79, 0.16), transparent 28%);
  box-shadow: var(--shadow-soft);
}
.smart-control-main {
  padding: 20px;
}
.smart-control-main h3 {
  max-width: 780px;
  margin: 6px 0 8px;
  color: var(--ink);
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: 0;
}
.smart-control-main p {
  max-width: 760px;
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.smart-workflow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.smart-work-card {
  position: relative;
  display: grid;
  gap: 14px;
  align-content: space-between;
  min-height: 180px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 12px;
  background: #ffffff;
}
.smart-work-card::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -44px;
  width: 118px;
  height: 118px;
  border-radius: 40px;
  background: rgba(8, 122, 67, 0.08);
  transform: rotate(12deg);
}
.smart-work-card.green::after {
  background: rgba(8, 122, 67, 0.12);
}
.smart-work-card.yellow::after {
  background: rgba(245, 185, 28, 0.18);
}
.smart-work-card.red::after {
  background: rgba(220, 38, 38, 0.12);
}
.smart-work-card.blue::after {
  background: rgba(3, 105, 161, 0.12);
}
.smart-work-card span,
.smart-policy-head span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.smart-work-card strong {
  display: block;
  margin-top: 8px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}
.smart-work-card p {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.smart-work-card .mini-action {
  position: relative;
  z-index: 1;
  justify-self: start;
}
.smart-task-board {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 18px;
}
.smart-task-board > div:first-child {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 10px;
}
.smart-task-board strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}
.smart-task-list {
  display: grid;
  gap: 8px;
}
.smart-task-item,
.smart-task-empty {
  width: 100%;
  min-height: 62px;
  padding: 11px 12px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  text-align: left;
}
.smart-task-item {
  display: grid;
  gap: 4px;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.smart-task-item:hover {
  border-color: rgba(8, 122, 67, 0.32);
  box-shadow: 0 12px 28px rgba(8, 72, 45, 0.1);
  transform: translateY(-1px);
}
.smart-task-item strong {
  color: var(--green-deep);
  font-size: 13px;
}
.smart-task-item span,
.smart-task-empty {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}
.smart-use-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0 0 16px;
  overflow: hidden;
}
.smart-use-steps div {
  min-height: 78px;
  padding: 14px 15px;
  border-right: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-use-steps div:last-child {
  border-right: 0;
}
.smart-use-steps strong,
.smart-use-steps span {
  display: block;
}
.smart-use-steps strong {
  color: var(--green-deep);
  font-size: 13px;
  font-weight: 950;
}
.smart-use-steps span {
  margin-top: 7px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
}
.smart-policy-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
  padding: 13px 15px;
}
.smart-policy-summary strong {
  color: var(--green-deep);
  font-size: 17px;
}
.smart-policy-summary span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-policy-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.smart-policy-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 220px;
  padding: 14px;
}
.smart-policy-head {
  display: grid;
  gap: 5px;
}
.smart-policy-head strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.3;
}
.smart-policy-card p {
  min-height: 38px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-policy-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.smart-policy-metrics span {
  min-height: 48px;
  padding: 8px;
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.07);
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.smart-policy-metrics b {
  display: block;
  margin-bottom: 3px;
  color: var(--green-deep);
  font-size: 15px;
}
.smart-policy-slots,
.smart-policy-focus {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-policy-slots em,
.smart-policy-focus span {
  max-width: 100%;
  min-height: 25px;
  padding: 5px 7px;
  border-radius: 999px;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}
.smart-policy-slots em {
  background: rgba(8, 122, 67, 0.1);
  color: var(--green-deep);
}
.smart-policy-focus span {
  background: rgba(245, 185, 28, 0.14);
  color: #92400e;
}
.smart-policy-editor {
  display: grid;
  gap: 14px;
}
.smart-policy-editor-card {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 249, 0.96)),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.08), transparent 24%);
}
.smart-policy-editor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-policy-editor-head span,
.smart-policy-editor-head em {
  color: var(--muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}
.smart-policy-editor-head strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 16px;
  line-height: 1.25;
}
.hidden-field {
  display: none;
}
.form-help.strong {
  border-color: rgba(8, 122, 67, 0.2);
  background: rgba(8, 122, 67, 0.08);
  color: var(--green-deep);
  font-weight: 900;
}
.smart-generate-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.smart-generate-guide div {
  min-height: 116px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 249, 0.96)),
    radial-gradient(circle at 100% 0, rgba(255, 214, 79, 0.14), transparent 28%);
}
.smart-generate-guide span,
.smart-generate-guide small,
.smart-generate-impact em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.45;
}
.smart-generate-guide strong {
  display: block;
  margin: 8px 0 7px;
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1.25;
}
.smart-week-preview {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, 0.18);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 251, 247, 0.96)),
    radial-gradient(circle at 100% 0, rgba(8, 122, 67, 0.1), transparent 30%);
}
.smart-week-preview-head,
.smart-week-preview-rule {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.smart-week-preview-head span,
.smart-week-preview-rule span,
.smart-week-preview-row span,
.smart-week-preview-row em,
.smart-week-preview-row small {
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.5;
}
.smart-week-preview-head strong,
.smart-week-preview-rule strong {
  display: block;
  margin-top: 4px;
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1.2;
}
.smart-week-preview-head em {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 214, 79, 0.28);
  color: #735100;
  font-size: 12px;
  font-style: normal;
  font-weight: 950;
}
.smart-week-preview-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-week-preview-stats span {
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-week-preview-stats b {
  display: block;
  margin-bottom: 2px;
  color: var(--green-deep);
  font-size: 20px;
  line-height: 1;
}
.smart-week-preview-customers,
.smart-week-preview-warnings {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-week-preview-customers span,
.smart-week-preview-warnings span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.1);
}
.smart-week-preview-warnings span {
  background: #fff7df;
  color: #8a5b00;
  box-shadow: inset 0 0 0 1px rgba(189, 127, 6, 0.16);
}
.smart-manual-criteria {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 12px;
  background: #ffffff;
}
.smart-manual-criteria.empty {
  background: #f8fbf9;
}
.smart-manual-criteria strong {
  color: #10261d;
  font-size: 13px;
  line-height: 1.25;
}
.smart-manual-criteria > span,
.smart-manual-criteria em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}
.smart-criteria-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-criteria-chip-row span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  max-width: 100%;
  padding: 6px 8px;
  border-radius: 9px;
  background: #eef8f2;
  color: #214b37;
  font-size: 11px;
  font-weight: 850;
  box-shadow: inset 0 0 0 1px rgba(8, 122, 67, 0.11);
}
.smart-criteria-chip-row b {
  color: #087a43;
  font-size: 10px;
  font-weight: 950;
  white-space: nowrap;
}
.smart-generation-preflight {
  display: grid;
  gap: 9px;
  padding: 11px;
  border: 1px solid rgba(8, 122, 67, 0.15);
  border-radius: 12px;
  background: #f7fcf9;
}
.smart-generation-preflight-slot {
  display: grid;
  min-width: 0;
}
.smart-generation-preflight.warn {
  border-color: rgba(189, 127, 6, 0.20);
  background: #fff9e8;
}
.smart-generation-preflight.red {
  border-color: rgba(201, 63, 53, 0.18);
  background: #fff5f2;
}
.smart-generation-preflight-head {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.smart-generation-preflight-head span {
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-generation-preflight-head strong {
  color: #10261d;
  font-size: 14px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-generation-preflight-head em {
  color: #607567;
  font-size: 12px;
  font-style: normal;
  font-weight: 820;
  line-height: 1.45;
}
.smart-generation-preflight-decision {
  display: grid;
  grid-template-columns: minmax(92px, 0.4fr) minmax(0, 1fr) minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
  padding: 9px 10px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.08);
}
.smart-generation-preflight-decision.warn {
  box-shadow: inset 0 0 0 1px rgba(189, 127, 6, 0.16);
}
.smart-generation-preflight-decision.red {
  box-shadow: inset 0 0 0 1px rgba(201, 63, 53, 0.16);
}
.smart-generation-preflight-decision strong,
.smart-generation-preflight-decision span,
.smart-generation-preflight-decision em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generation-preflight-decision strong {
  color: #10261d;
  font-size: 12px;
  font-weight: 950;
}
.smart-generation-preflight-decision span {
  color: #244b3b;
  font-size: 12px;
  font-weight: 900;
}
.smart-generation-preflight-decision em {
  color: #6f8077;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
}
.smart-generation-preflight-roles {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.smart-generation-preflight-roles span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.08);
}
.smart-generation-preflight-roles span.warn {
  box-shadow: inset 0 0 0 1px rgba(189, 127, 6, 0.18);
}
.smart-generation-preflight-roles span.red {
  box-shadow: inset 0 0 0 1px rgba(201, 63, 53, 0.18);
}
.smart-generation-preflight-roles b,
.smart-generation-preflight-roles em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generation-preflight-roles b {
  color: #245746;
  font-size: 11px;
  font-weight: 950;
}
.smart-generation-preflight-roles strong {
  color: #10261d;
  font-size: 18px;
  font-weight: 950;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.smart-generation-preflight-roles em {
  color: #607567;
  font-size: 11px;
  font-style: normal;
  font-weight: 800;
}
.smart-generation-preflight-rejects {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-generation-preflight-rejects span {
  padding: 6px 8px;
  border-radius: 999px;
  background: #ffffff;
  color: #6b4a07;
  font-size: 11px;
  font-weight: 900;
  box-shadow: inset 0 0 0 1px rgba(189, 127, 6, 0.14);
}
.smart-generation-preflight-rejects b {
  color: #10261d;
}
.smart-generation-preflight-impact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.smart-generation-preflight-impact span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.08);
}
.smart-generation-preflight-impact span.block {
  box-shadow: inset 0 0 0 1px rgba(189, 127, 6, 0.16);
}
.smart-generation-preflight-impact b,
.smart-generation-preflight-impact em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-generation-preflight-impact b {
  color: #245746;
  font-size: 11px;
  font-weight: 950;
}
.smart-generation-preflight-impact em {
  color: #607567;
  font-size: 11px;
  font-style: normal;
  font-weight: 820;
}
.smart-generation-preflight-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.smart-generation-preflight-action {
  min-height: 34px;
  padding: 0 11px;
  border: 0;
  border-radius: 10px;
  background: var(--green);
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}
.smart-generation-preflight-action.ghost {
  border: 1px solid rgba(8, 122, 67, 0.16);
  background: #ffffff;
  color: var(--green-deep);
}
.smart-generation-preflight-action:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(8, 122, 67, 0.14);
}
.smart-generation-preflight-action:disabled {
  cursor: not-allowed;
  opacity: 0.54;
}
.smart-candidate-pool-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-candidate-pool-summary span {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 10px;
  background: #ffffff;
}
.smart-candidate-pool-summary b,
.smart-candidate-pool-summary em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-candidate-pool-summary b {
  color: #355445;
  font-size: 11px;
  font-weight: 950;
}
.smart-candidate-pool-summary strong {
  color: var(--green-deep);
  font-size: 18px;
  line-height: 1;
}
.smart-candidate-pool-summary em {
  color: #6f8276;
  font-size: 11px;
  font-style: normal;
  font-weight: 850;
}
.smart-candidate-pool-summary.empty {
  grid-template-columns: 1fr;
}
.smart-week-preview-rows {
  display: grid;
  gap: 8px;
}
.smart-week-preview-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) minmax(120px, 1fr) 120px;
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
}
.smart-week-preview-row strong {
  color: var(--ink);
  font-size: 14px;
}
.smart-week-preview-row em {
  overflow: hidden;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-week-preview-empty {
  padding: 14px;
  border-radius: 10px;
  background: rgba(255, 247, 223, 0.7);
  color: #8a5b00;
  font-size: 13px;
  font-weight: 900;
}
.smart-generate-impact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 12px;
  background: rgba(8, 122, 67, 0.05);
}
.smart-generate-impact strong {
  width: 100%;
  color: var(--ink);
  font-size: 13px;
}
.smart-generate-impact span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(8, 72, 45, 0.1);
}
.smart-generate-impact em {
  width: 100%;
  font-style: normal;
}
.event-request-guide {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}
.event-request-guide div {
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(118, 85, 13, 0.14);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 237, 0.94)),
    radial-gradient(circle at 92% 10%, rgba(255, 214, 79, 0.2), transparent 28%);
}
.event-request-guide span,
.event-request-guide small,
.event-request-impact em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
  line-height: 1.45;
}
.event-request-guide strong {
  display: block;
  margin: 8px 0 7px;
  color: #76550d;
  font-size: 18px;
  line-height: 1.25;
}
.event-request-impact {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
  padding: 13px;
  border: 1px solid rgba(118, 85, 13, 0.13);
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255, 251, 237, 0.86), rgba(255, 255, 255, 0.96));
}
.event-request-impact strong {
  width: 100%;
  color: var(--ink);
  font-size: 13px;
}
.event-request-impact span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #ffffff;
  color: #76550d;
  font-size: 11px;
  font-weight: 950;
  box-shadow: inset 0 0 0 1px rgba(118, 85, 13, 0.13);
}
.event-request-impact em {
  width: 100%;
  font-style: normal;
}
.smart-anchor-panel {
  scroll-margin-top: 88px;
}
.smart-rule-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(360px, 0.88fr);
  gap: 16px;
  padding: 16px;
}
.smart-rule-main,
.smart-rule-weights {
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 10px;
  background:
    linear-gradient(180deg, #ffffff, #f8fbf9),
    radial-gradient(circle at 100% 0, rgba(255, 214, 79, 0.16), transparent 28%);
  box-shadow: var(--shadow-soft);
}
.smart-rule-main {
  padding: 20px;
}
.smart-rule-main h3 {
  margin: 6px 0 8px;
  color: var(--ink);
  font-size: 24px;
  letter-spacing: 0;
}
.smart-rule-main p {
  max-width: 760px;
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.smart-proof-strip {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0 0 14px;
}
.smart-proof-strip span {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 9px;
  background: rgba(8, 122, 67, 0.06);
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
}
.smart-proof-strip b {
  display: grid;
  place-items: center;
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: #0a7a46;
  color: #ffffff;
  font-size: 11px;
}
.smart-rule-steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.smart-rule-steps span {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  min-height: 54px;
  padding: 11px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.55;
}
.smart-rule-steps b {
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--green);
  color: #ffffff;
  font-size: 12px;
}
.smart-rule-weights {
  display: grid;
  gap: 0;
  overflow: hidden;
}
.smart-rule-weights div {
  position: relative;
  display: grid;
  gap: 5px;
  padding: 14px 56px 14px 15px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.08);
}
.smart-rule-weights div:last-child {
  border-bottom: 0;
}
.smart-rule-weights strong {
  color: var(--green-deep);
  font-size: 14px;
}
.smart-rule-weights p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.smart-rule-weights em {
  position: absolute;
  top: 14px;
  right: 14px;
  min-width: 38px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(8, 122, 67, 0.1);
  color: var(--green-deep);
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
  text-align: center;
}
.smart-job-summary {
  padding: 11px 12px;
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(8, 122, 67, 0.06), rgba(255, 255, 255, 0.72));
}
.smart-job-proof,
.smart-slot-block {
  display: grid;
  gap: 11px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 249, 0.96)),
    radial-gradient(circle at 100% 0, rgba(255, 214, 79, 0.13), transparent 26%);
}
.smart-proof-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.smart-proof-title span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 7px;
  border-radius: 7px;
  background: rgba(8, 122, 67, 0.1);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 950;
}
.smart-proof-title strong {
  max-width: 520px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
  text-align: right;
}
.smart-proof-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.smart-proof-grid span {
  min-width: 0;
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.82);
}
.smart-proof-grid em {
  display: block;
  margin-bottom: 4px;
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  font-weight: 850;
}
.smart-proof-grid b {
  display: -webkit-box;
  overflow: hidden;
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
  line-height: 1.35;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.smart-slot-map {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.smart-slot {
  appearance: none;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-height: 58px;
  padding: 9px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 10px;
  background: #ffffff;
  color: inherit;
  cursor: pointer;
  text-align: left;
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease, background .16s ease;
}
.smart-slot:hover:not(:disabled) {
  border-color: rgba(8, 122, 67, 0.34);
  box-shadow: 0 10px 24px rgba(8, 72, 45, 0.08);
  transform: translateY(-1px);
}
.smart-slot:focus-visible {
  outline: 3px solid rgba(8, 122, 67, 0.22);
  outline-offset: 2px;
}
.smart-slot i {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: rgba(8, 122, 67, 0.1);
  color: var(--green-deep);
  font-style: normal;
  font-size: 12px;
  font-weight: 950;
}
.smart-slot strong,
.smart-slot span {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-slot strong {
  color: var(--ink);
  font-size: 12px;
}
.smart-slot span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}
.smart-slot em {
  min-width: 42px;
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--surface-2);
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  font-weight: 950;
  text-align: center;
}
.smart-slot small {
  grid-column: 2 / -1;
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}
.smart-slot.strong {
  border-color: rgba(8, 122, 67, 0.18);
  background: linear-gradient(180deg, #ffffff, #f0faf5);
}
.smart-slot.strong em {
  background: rgba(8, 122, 67, 0.12);
  color: var(--green-deep);
}
.smart-slot.weak {
  border-color: rgba(189, 127, 6, 0.22);
  background: linear-gradient(180deg, #fffdf5, #ffffff);
}
.smart-slot.weak em {
  background: rgba(189, 127, 6, 0.12);
  color: #9a5b00;
}
.smart-slot.missing {
  border-color: rgba(201, 63, 53, 0.22);
  background: linear-gradient(180deg, #fff8f6, #ffffff);
}
.smart-slot.missing i,
.smart-slot.missing em {
  background: rgba(201, 63, 53, 0.1);
  color: #b42318;
}
.smart-slot-empty {
  padding: 12px;
  border: 1px dashed rgba(8, 72, 45, 0.16);
  border-radius: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.smart-explain-list {
  display: grid;
  gap: 9px;
}
.smart-explain-item {
  display: grid;
  gap: 8px;
  padding: 11px;
  border: 1px solid rgba(8, 72, 45, 0.1);
  border-radius: 9px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 251, 248, 0.96));
}
.smart-explain-item.missing {
  border-color: rgba(201, 63, 53, 0.22);
  background: linear-gradient(180deg, #fff8f6, #ffffff);
}
.smart-explain-title {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}
.smart-explain-title strong {
  padding: 4px 7px;
  border-radius: 7px;
  background: rgba(8, 122, 67, 0.1);
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 900;
}
.smart-explain-title span {
  min-width: 0;
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.smart-explain-title em {
  color: var(--muted);
  font-style: normal;
  font-size: 11px;
  font-weight: 850;
}
.smart-explain-item p,
.smart-filter-line,
.smart-explain-empty {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.candidate-slot-review-btn {
  justify-self: start;
  min-width: 0 !important;
  min-height: 30px;
  height: auto;
  padding: 0 10px;
  border: 1px solid rgba(8, 122, 67, 0.22);
  border-radius: 8px;
  background: #ffffff;
  color: var(--green-deep);
  cursor: pointer;
  font-size: 12px;
  font-weight: 950;
}
.candidate-slot-review-btn:hover {
  background: rgba(8, 122, 67, 0.1);
}
.score-factor-row,
.smart-candidate-rank {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.score-factor,
.smart-candidate-rank span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 7px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.score-factor.good {
  background: rgba(8, 122, 67, 0.1);
  color: var(--green-deep);
}
.score-factor.bad {
  background: rgba(201, 63, 53, 0.1);
  color: #b42318;
}
.score-factor.muted,
.smart-candidate-rank span {
  background: var(--surface-2);
  color: var(--muted);
}
.smart-candidate-rank span {
  gap: 6px;
}
.candidate-replace-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 0 7px;
  border: 1px solid rgba(8, 122, 67, 0.24);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--green-deep);
  cursor: pointer;
  font-size: 11px;
  font-weight: 900;
  transition: transform 0.16s ease, background 0.16s ease, border-color 0.16s ease;
}
.candidate-replace-btn:hover {
  border-color: rgba(8, 122, 67, 0.42);
  background: rgba(8, 122, 67, 0.1);
  transform: translateY(-1px);
}
.candidate-replace-btn:active {
  transform: translateY(0);
}
.candidate-replace-btn:disabled {
  border-color: rgba(8, 72, 45, 0.08);
  background: rgba(8, 72, 45, 0.04);
  color: var(--muted);
  cursor: not-allowed;
  transform: none;
}
.smart-missing-slot-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) repeat(4, auto);
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(201, 63, 53, 0.16);
  border-radius: 10px;
  background: #fff8f6;
}
.smart-missing-slot-actions div {
  min-width: 0;
}
.smart-missing-slot-actions strong,
.smart-missing-slot-actions span {
  display: block;
}
.smart-missing-slot-actions strong {
  color: #8f241c;
  font-size: 12px;
  font-weight: 950;
}
.smart-missing-slot-actions span {
  margin-top: 3px;
  color: #7a4b46;
  font-size: 12px;
  line-height: 1.45;
}
.menu-slot-review {
  display: grid;
  gap: 14px;
}
.menu-slot-review-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid rgba(8, 122, 67, .16);
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f2fbf6);
}
.menu-slot-review-head.missing {
  border-color: rgba(201, 63, 53, .24);
  background: linear-gradient(180deg, #fff8f6, #ffffff);
}
.menu-slot-review-head span,
.menu-slot-choice span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
}
.menu-slot-review-head strong,
.menu-slot-choice strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}
.menu-slot-review-head p,
.menu-slot-choice p,
.menu-slot-review-alert span {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.menu-slot-choice small {
  display: block;
  margin-top: 6px;
  color: #607567;
  font-size: 11px;
  font-weight: 780;
  line-height: 1.42;
}
.menu-slot-choice-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 7px;
}
.menu-slot-choice-tags i {
  min-height: 20px;
  padding: 0 6px;
  border: 1px solid rgba(8, 72, 45, .09);
  border-radius: 6px;
  background: #f6fbf8;
  color: #365e4b;
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
  line-height: 18px;
}
.menu-slot-review-head em {
  min-width: 64px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(8, 122, 67, .12);
  color: var(--green-deep);
  font-style: normal;
  font-weight: 950;
  text-align: center;
}
.menu-slot-review-head.missing em {
  background: rgba(201, 63, 53, .12);
  color: #b42318;
}
.menu-slot-review-alert {
  padding: 11px 12px;
  border: 1px solid rgba(8, 122, 67, .13);
  border-radius: 10px;
  background: #f6fbf8;
}
.menu-slot-review-alert.warn {
  border-color: rgba(189, 127, 6, .24);
  background: #fff9ec;
}
.menu-slot-review-alert strong {
  color: var(--ink);
  font-size: 13px;
}
.menu-slot-decision-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-start;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, .10);
  border-radius: 10px;
  background: #ffffff;
}
.ghost-action.danger {
  border-color: rgba(201, 63, 53, .22);
  background: rgba(201, 63, 53, .06);
  color: #9d2b22;
}
.ghost-action.danger:hover {
  border-color: rgba(201, 63, 53, .34);
  background: rgba(201, 63, 53, .10);
}
.menu-slot-filter {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(8, 72, 45, .10);
  border-radius: 12px;
  background: #fff;
}
.menu-slot-filter span {
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 950;
  white-space: nowrap;
}
.menu-slot-filter input {
  width: 100%;
  min-width: 0;
  height: 34px;
  padding: 0 10px;
  border: 1px solid rgba(8, 72, 45, .12);
  border-radius: 9px;
  background: #f8fcfa;
  color: var(--ink);
  font: inherit;
  font-size: 13px;
}
.menu-slot-filter input:focus {
  border-color: rgba(8, 122, 67, .36);
  outline: 3px solid rgba(8, 122, 67, .10);
}
.menu-slot-choice-list {
  display: grid;
  gap: 8px;
}
.menu-slot-choice {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, .1);
  border-radius: 10px;
  background: #fff;
}
.menu-slot-choice.disabled {
  opacity: .68;
}
.menu-slot-choice[hidden] {
  display: none;
}
.menu-slot-choice em {
  color: var(--muted);
  font-style: normal;
  font-size: 12px;
  font-weight: 850;
}
.menu-slot-review-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}
.compact-text {
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.toast {
  background: #102018;
  box-shadow: 0 22px 54px rgba(18, 56, 35, 0.25);
}
/* Slash Admin inspired middle-platform polish. */
:root {
  --slash-bg: #f7faf8;
  --slash-card: #ffffff;
  --slash-green: #2f9d67;
  --slash-green-dark: #167348;
  --slash-green-soft: #dff2e8;
  --slash-teal: #48a4b8;
  --slash-text: #17231d;
  --slash-muted: #7a8b82;
  --slash-border: #e8efeb;
}
html,
body {
  background: var(--slash-bg);
}
.app-shell {
  grid-template-columns: 188px minmax(0, 1fr);
  background: var(--slash-bg);
}
.sidebar {
  padding: 16px 10px;
  border-right: 1px dashed #dce8e1;
  background: #ffffff;
  box-shadow: none;
}
.logo-lockup {
  gap: 8px;
  min-height: 50px;
  padding: 4px 8px 14px;
  border-bottom: 1px dashed var(--slash-border);
}
.logo-mark {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  box-shadow: none;
}
.logo-lockup.large .logo-mark {
  width: 250px;
  height: 64px;
  border-radius: 0;
}
.logo-lockup:not(.large) .logo-mark img {
  width: 148px;
  height: 34px;
  max-width: none;
  object-fit: contain;
  object-position: left center;
}
.logo-lockup.large .logo-mark img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.logo-lockup.large .logo-text {
  display: none;
}
.logo-text strong {
  font-size: 15px;
  font-weight: 850;
}
.logo-text small {
  color: var(--slash-muted);
  font-size: 11px;
  font-weight: 760;
}
.nav {
  gap: 3px;
  margin-top: 10px;
}
.nav-group {
  margin: 16px 12px 7px;
  color: #93a098;
  font-size: 10px;
  letter-spacing: 0;
}
.nav-button {
  min-height: 34px;
  gap: 8px;
  padding: 0 8px;
  border-radius: 6px;
  color: #687a70;
  font-size: 12px;
  font-weight: 760;
}
.nav-button:hover {
  border-color: transparent;
  background: #f3f8f5;
  color: var(--slash-green-dark);
  transform: none;
}
.nav-button.active {
  border-color: transparent;
  background: #dcefe5;
  color: var(--slash-green-dark);
  box-shadow: none;
}
.nav-button.active::before {
  display: none;
}
.nav-icon {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: #eef3f0;
  color: #95a39a;
  font-size: 10px;
}
.nav-button.active .nav-icon {
  background: rgba(47, 157, 103, 0.14);
  color: var(--slash-green-dark);
}
.sidebar-card {
  margin-top: auto;
  padding: 12px;
  border-color: var(--slash-border);
  border-radius: 8px;
  background: #f8fbf9;
  box-shadow: none;
}
.sidebar-card strong {
  color: var(--slash-green-dark);
}
.main {
  min-width: 0;
  padding: 0;
}
.topbar {
  min-height: 62px;
  padding: 14px 24px;
  border-bottom: 1px solid var(--slash-border);
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
}
h1 {
  margin-top: 3px;
  color: var(--slash-text);
  font-size: 18px;
  font-weight: 850;
}
.eyebrow {
  color: var(--slash-muted);
  font-size: 11px;
  font-weight: 760;
}
.topbar-actions {
  gap: 8px;
}
.topbar-search {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: center;
  width: 244px;
  height: 34px;
  padding: 0 10px;
  border: 1px solid var(--slash-border);
  border-radius: 8px;
  background: #f7faf8;
  color: #9aa8a0;
}
.topbar-search input {
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  color: var(--slash-text);
  outline: none;
}
.topbar-search input::placeholder {
  color: #9aa8a0;
}
.admin-user {
  min-width: 118px;
  padding: 5px 10px;
  border-color: var(--slash-border);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: none;
}
.primary-action,
.ghost-action,
.mini-action {
  height: 34px;
  border-radius: 8px;
  box-shadow: none;
}
.primary-action {
  border-color: var(--slash-green-dark);
  background: var(--slash-green-dark);
}
.primary-action.yellow {
  border-color: rgba(197, 142, 18, 0.26);
  background: linear-gradient(135deg, #ffe46b, #f4b83f);
  color: #17331f;
}
.ghost-action {
  border-color: var(--slash-border);
  background: #ffffff;
}
.primary-action:hover,
.ghost-action:hover,
.mini-action:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(27, 58, 42, 0.08);
}
.content {
  gap: 14px;
  max-width: 1260px;
  padding: 18px 24px 34px;
}
.operational-alert {
  grid-template-columns: minmax(230px, 0.78fr) minmax(520px, 1.22fr);
  gap: 12px;
  padding: 12px;
  border-color: var(--slash-border);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(25, 49, 35, 0.04);
}
.operational-alert.warn {
  border-color: #f2dfad;
  background: linear-gradient(135deg, #fff9e8, #ffffff);
}
.operational-alert.compact-alert {
  grid-template-columns: 1fr;
  margin: 2px 0 4px;
  padding: 12px 14px;
  box-shadow: none;
}
.operational-alert.critical {
  border-color: #f0c4bd;
  background: linear-gradient(135deg, #fff4f0, #ffffff);
}
.alert-copy strong {
  font-size: 16px;
}
.alert-item {
  min-height: 58px;
  border-color: var(--slash-border);
  border-radius: 8px;
  background: #f8fbf9;
}
.alert-item strong {
  font-size: 21px;
}
.panel,
.metric,
.flow-step,
.module-card,
.task-card,
.recipe-card,
.chart-card {
  border: 1px solid var(--slash-border);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 10px 28px rgba(25, 49, 35, 0.04);
}
.panel-head {
  min-height: 56px;
  padding: 14px 15px;
  border-bottom: 1px solid var(--slash-border);
  background: #ffffff;
}
.panel-title {
  font-size: 15px;
}
.panel-sub {
  color: var(--slash-muted);
}
.metric {
  min-height: 104px;
  padding: 14px;
  background: #ffffff;
}
.metric::before {
  height: 0;
}
.metric-label {
  color: var(--slash-muted);
  font-size: 12px;
}
.metric-value {
  margin-top: 11px;
  font-size: 26px;
  font-weight: 900;
}
.metric-note {
  color: var(--slash-muted);
}
.metric.warn {
  border-color: #f1dfaa;
  background: #fffaf0;
}
.metric.red {
  border-color: #f1c3bc;
  background: #fff7f4;
}
.metric.blue {
  border-color: #cfe5ee;
  background: #f4fbfd;
}
.tag,
.status {
  border-radius: 999px;
}
.table th {
  background: #f8fbf9;
  color: var(--slash-muted);
}
.table td {
  border-bottom-color: var(--slash-border);
}
.cols-5 {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.slash-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 12px;
}
.slash-welcome {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  min-height: 176px;
  overflow: hidden;
  padding: 28px;
  border-radius: 12px;
  background:
    radial-gradient(circle at 86% 24%, rgba(47, 157, 103, 0.14), transparent 26%),
    linear-gradient(135deg, #dff2e8, #f5fbf8);
  box-shadow: 0 12px 28px rgba(26, 72, 45, 0.06);
}
.slash-copy {
  position: relative;
  z-index: 1;
  align-self: center;
}
.slash-kicker {
  color: var(--slash-green-dark);
  font-size: 12px;
  font-weight: 850;
}
.slash-welcome h2 {
  margin: 8px 0 10px;
  max-width: 520px;
  color: var(--slash-green-dark);
  font-size: 24px;
  line-height: 1.22;
}
.slash-welcome p {
  max-width: 640px;
  margin: 0;
  color: #3f6d54;
  font-size: 13px;
  line-height: 1.75;
}
.slash-action-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.slash-illustration {
  position: relative;
  min-height: 130px;
}
.plate-orbit {
  position: absolute;
  right: 16px;
  top: 10px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.38);
}
.plate-orbit span,
.plate-orbit i,
.plate-orbit b {
  position: absolute;
  display: block;
  border-radius: 999px;
}
.plate-orbit span {
  left: 34px;
  top: 42px;
  width: 74px;
  height: 48px;
  background: #ffffff;
  box-shadow: inset 0 -8px 0 #dff2e8;
}
.plate-orbit i {
  left: 52px;
  top: 34px;
  width: 18px;
  height: 18px;
  background: #f1c84b;
}
.plate-orbit b {
  left: 78px;
  top: 56px;
  width: 34px;
  height: 14px;
  background: var(--slash-green);
  transform: rotate(-18deg);
}
.paper-card {
  position: absolute;
  right: 42px;
  bottom: 12px;
  display: grid;
  gap: 2px;
  min-width: 112px;
  padding: 14px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 30px rgba(25, 70, 43, 0.12);
}
.paper-card strong {
  color: var(--slash-green-dark);
  font-size: 24px;
}
.paper-card small {
  color: var(--slash-muted);
  font-weight: 760;
}
.slash-stat-stack {
  display: grid;
  gap: 12px;
}
.slash-stat-card {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 16px;
  border: 0;
  border-radius: 10px;
  color: #ffffff;
  text-align: left;
  box-shadow: 0 12px 24px rgba(26, 72, 45, 0.1);
}
.slash-stat-card.green {
  background: #33855b;
}
.slash-stat-card.blue {
  background: #4a9db6;
}
.slash-stat-card strong,
.slash-stat-card small {
  display: block;
}
.slash-stat-card strong {
  font-size: 20px;
  line-height: 1;
}
.slash-stat-card small {
  margin-top: 5px;
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-weight: 760;
}
.stat-ring {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  background:
    radial-gradient(circle at center, #33855b 57%, transparent 59%),
    conic-gradient(#ffffff var(--value), rgba(255, 255, 255, 0.25) 0);
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
}
.slash-stat-card.blue .stat-ring {
  background:
    radial-gradient(circle at center, #4a9db6 57%, transparent 59%),
    conic-gradient(#ffffff var(--value), rgba(255, 255, 255, 0.25) 0);
}
.dashboard-strip {
  align-items: stretch;
}
.slash-chart-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.82fr) minmax(460px, 1.18fr);
  gap: 12px;
}
.chart-card {
  min-height: 238px;
  padding: 16px;
}
.chart-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}
.chart-head strong,
.chart-head span {
  display: block;
}
.chart-head strong {
  color: var(--slash-text);
  font-size: 15px;
}
.chart-head span {
  margin-top: 4px;
  color: var(--slash-muted);
  font-size: 12px;
}
.chart-head select {
  height: 30px;
  padding: 0 8px;
  border: 1px solid var(--slash-border);
  border-radius: 7px;
  background: #ffffff;
  color: var(--slash-muted);
  outline: none;
}
.segment-cloud {
  display: grid;
  gap: 8px;
}
.segment-pill {
  display: grid;
  grid-template-columns: 26px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 9px;
  border: 1px solid var(--slash-border);
  border-radius: 8px;
  background: #f8fbf9;
  color: var(--slash-text);
  text-align: left;
}
.segment-pill.active {
  border-color: rgba(47, 157, 103, 0.2);
  background: #eef8f3;
}
.segment-pill span {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 7px;
  background: #e4f2ea;
  color: var(--slash-green-dark);
  font-size: 11px;
  font-weight: 900;
}
.segment-pill strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.segment-pill em {
  color: var(--slash-muted);
  font-size: 11px;
  font-style: normal;
  font-weight: 760;
}
.load-bars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
  gap: 12px;
  min-height: 166px;
  padding: 8px 8px 2px;
  border-radius: 10px;
  background:
    linear-gradient(#eef4f0 1px, transparent 1px) 0 28px / 100% 32px,
    #ffffff;
}
.load-bar {
  display: grid;
  justify-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  color: var(--slash-muted);
}
.load-bar span {
  width: 52%;
  min-width: 34px;
  border-radius: 10px 10px 4px 4px;
  background: var(--slash-green);
}
.load-bar.blue span {
  background: #4a9db6;
}
.load-bar.teal span {
  background: #6fc0aa;
}
.load-bar.red span {
  background: #d75b4e;
}
.load-bar.muted span {
  background: #d7e0da;
}
.load-bar strong {
  color: var(--slash-text);
  font-size: 16px;
}
.load-bar em {
  font-size: 12px;
  font-style: normal;
}
.front-entry-grid .module-card {
  min-height: 132px;
  box-shadow: none;
}
.supply-command-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 12px;
  padding: 15px;
}
.supply-command-card {
  display: grid;
  gap: 13px;
  min-height: 176px;
  padding: 14px;
  border: 1px solid rgba(28, 72, 49, 0.1);
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 249, 0.98)),
    #ffffff;
  box-shadow: 0 10px 24px rgba(23, 54, 36, 0.05);
}
.supply-command-card.critical {
  border-color: rgba(215, 91, 78, 0.25);
  background:
    linear-gradient(180deg, rgba(255, 247, 245, 0.98), rgba(255, 255, 255, 0.98)),
    #ffffff;
}
.supply-command-card.warning {
  border-color: rgba(190, 131, 11, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 250, 236, 0.98), rgba(255, 255, 255, 0.98)),
    #ffffff;
}
.supply-command-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.supply-command-head strong,
.supply-command-head span {
  display: block;
}
.supply-command-head strong {
  color: var(--slash-text);
  font-size: 15px;
  font-weight: 900;
}
.supply-command-head span {
  margin-top: 5px;
  color: var(--slash-muted);
  font-size: 12px;
  line-height: 1.45;
}
.supply-command-values {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.supply-command-values div {
  min-height: 58px;
  padding: 9px;
  border: 1px solid rgba(28, 72, 49, 0.08);
  border-radius: 8px;
  background: rgba(248, 251, 249, 0.88);
}
.supply-command-values span,
.supply-command-values strong {
  display: block;
}
.supply-command-values span {
  color: var(--slash-muted);
  font-size: 11px;
  font-weight: 850;
}
.supply-command-values strong {
  margin-top: 5px;
  color: var(--slash-text);
  font-size: 15px;
  font-weight: 950;
}
.supply-command-card p {
  margin: 0;
  color: var(--slash-muted);
  font-size: 12px;
  line-height: 1.65;
}
@media (max-width: 1100px) {
  .app-shell {
    grid-template-columns: 1fr;
  }
  .sidebar {
    position: static;
    height: auto;
  }
  .topbar-search {
    display: none;
  }
  .slash-hero-grid,
  .slash-welcome,
  .slash-chart-grid,
  .operational-alert {
    grid-template-columns: 1fr;
  }
  .slash-illustration {
    display: none;
  }
  .cols-5,
  .front-entry-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .menu-ai-hero,
  .benefit-hero,
  .smart-menu-command-center,
  .smart-menu-task-picker-head,
  .smart-menu-task-picker-grid,
  .smart-preview-export-head,
  .smart-generator-workbook-head,
  .smart-generator-workbook-grid,
  .smart-manual-generator.has-result .smart-generator-conditions,
  .smart-generated-preview-head,
  .smart-generated-result-hero,
  .smart-generated-review-workbench,
  .smart-generated-review-flow,
  .smart-generated-export-head,
  .smart-generated-criteria,
  .smart-result-pane-head,
  .smart-generator-route,
  .smart-process-head,
  .smart-menu-section-tabs,
  .smart-menu-main-stage,
  .smart-control-room,
  .smart-rule-layout,
  .smart-page-map,
  .smart-use-navigator,
  .smart-operator-workbench,
  .smart-relation-head,
  .smart-library-panel-head,
  .smart-excel-forward-center,
  .smart-review-cockpit-head,
  .smart-review-work-order,
  .smart-review-workbook-tabs,
  .smart-review-excel-pack,
  .smart-review-confirm-sheet,
  .smart-review-readable-head,
  .smart-review-focus-layout,
  .smart-week-head,
  .smart-event-workbook-tabs,
  .smart-event-sheet-grid,
  .weekly-editor-overview,
  .weekly-editor-cockpit-head,
  .weekly-editor-menu-head,
  .weekly-editor-item,
  .weekly-editor-candidate,
  .weekly-editor-task,
  .weekly-preflight-head,
  .weekly-preflight-risk,
  .menu-item-editor-guide,
  .menu-item-editor-grid,
  .smart-condition-console,
  .exception-command-center,
  .smart-workflow-grid,
  .smart-policy-grid,
  .smart-decision-guide,
  .smart-generate-guide,
  .smart-week-preview-stats,
  .smart-manual-task-switch,
  .smart-generation-basis,
  .smart-generated-empty-actions,
  .smart-generated-empty-basis,
  .event-request-guide,
  .master-menu-grid,
  .menu-candidate-grid,
  .smart-master-grid,
  .smart-candidate-grid,
  .smart-split-review-grid,
  .smart-process-use-bar,
  .smart-process-evidence-grid,
  .smart-process-trace-row,
  .candidate-release-steps,
  .menu-week-grid,
  .preset-grid,
  .production-break-grid,
  .delivery-reconcile-steps,
  .delivery-decision-grid,
  .delivery-proof-grid,
  .finance-proof-grid,
  .exception-owner-grid,
  .exception-source-strip,
  .exception-sla-strip,
  .wave-grid,
  .control-grid,
  .menu-flow,
  .supply-command-grid {
    grid-template-columns: 1fr;
  }
  .smart-generated-week-overview {
    grid-template-columns: 1fr;
  }
  .smart-condition-facts,
  .smart-process-flow,
  .smart-process-input-facts,
  .smart-process-weights,
  .smart-process-decision,
  .smart-menu-section-tabs nav,
  .smart-command-lanes,
  .smart-menu-task-picker-grid,
  .smart-command-kpis,
  .smart-preset-grid,
  .smart-selfservice-kpis,
  .smart-selfservice-output-strip,
  .smart-evolution-grid,
  .smart-evolution-list,
  .smart-failure-fix,
  .smart-manual-reason-map,
  .smart-evolution-actions,
  .smart-customer-scope-facts,
  .smart-review-cockpit-metrics,
  .smart-review-confirm-stats,
  .smart-review-excel-checklist,
  .smart-review-readable-grid,
  .smart-review-meal-coverage,
  .smart-review-hero-dishes,
  .smart-event-project-status,
  .smart-menu-stage-stats,
  .smart-menu-shortcut-strip,
  .smart-library-readiness-grid,
  .smart-library-scope-grid,
  .smart-excel-forward-actions,
  .smart-result-pane-actions,
  .smart-generated-result-metrics,
  .smart-generation-preflight-decision,
  .smart-generation-preflight-impact,
  .smart-preview-export-stats,
  .smart-preview-month-index,
  .smart-generation-preflight-roles,
  .smart-generated-source-strip,
  .smart-generated-criteria,
  .smart-generated-process-inline,
  .smart-candidate-pool-summary,
  .smart-generated-meal-coverage,
  .smart-generation-basis ol,
  .smart-use-navigator-grid,
  .smart-operator-steps,
  .smart-menu-use-path,
  .smart-week-overview,
  .smart-week-grid,
  .smart-generator-conditions .smart-manual-grid,
  .smart-generator-conditions .smart-manual-grid.self-service-filters,
  .smart-condition-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .benefit-flow {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .operational-alert {
    grid-template-columns: 1fr;
  }
  .alert-items {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dish-readiness-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .smart-plan-compare-head {
    display: grid;
    align-items: start;
  }
  .smart-plan-compare-head em {
    max-width: none;
    justify-self: start;
  }
  .smart-plan-compare-grid {
    grid-template-columns: 1fr;
  }
  .smart-proof-strip,
  .smart-proof-grid,
  .smart-slot-map,
  .smart-rule-steps,
  .smart-process-head,
  .smart-process-use-bar,
  .smart-process-input-facts,
  .smart-process-checklist i,
  .smart-process-flow,
  .smart-process-evidence-grid,
  .smart-process-weights,
  .smart-process-decision,
  .smart-process-candidate-row,
  .smart-process-trace-row,
  .smart-process-trace-filter,
  .smart-process-trace-candidates span,
  .smart-process-funnel div,
  .smart-map-steps,
  .smart-command-lanes,
  .smart-menu-task-picker-head,
  .smart-menu-task-picker-grid,
  .smart-preset-grid,
  .smart-selfservice-kpis,
  .smart-selfservice-output-strip,
  .smart-evolution-grid,
  .smart-evolution-list,
  .smart-failure-fix,
  .smart-manual-reason-map,
  .smart-evolution-actions,
  .smart-learning-signals,
  .smart-learning-actions,
  .smart-stable-preference-rules,
  .smart-preference-rule,
  .smart-customer-scope-facts,
  .smart-generator-workbook-head,
  .smart-generated-result-hero,
  .smart-generated-result-metrics,
  .smart-preview-export-head,
  .smart-preview-export-stats,
  .smart-preview-month-index,
  .smart-generation-preflight-roles,
  .smart-readonly-preview-card-head,
  .smart-generated-review-workbench,
  .smart-generator-workbook-grid,
  .smart-generated-preview-head,
  .smart-generated-review-picker,
  .smart-generated-review-flow,
  .smart-generated-meal-focus-head,
  .smart-generated-meal-focus-actions,
  .smart-generated-export-head,
  .smart-generated-primary-toolbar,
  .smart-generated-advanced-actions,
  .smart-generated-source-strip,
  .smart-generated-process-inline,
  .smart-candidate-pool-summary,
  .smart-generated-week-overview,
  .smart-generated-day-meal,
  .smart-week-overview,
  .smart-week-overview-meal,
  .smart-generated-meal-coverage,
  .smart-generated-sheet-tabs,
  .smart-result-pane-head,
  .smart-result-pane-actions,
  .smart-generator-route,
  .smart-menu-section-tabs,
  .smart-command-kpis,
  .smart-condition-facts,
  .smart-condition-flow,
  .smart-condition-rules,
  .smart-task-mode-grid,
  .smart-menu-stage-stats,
  .smart-menu-shortcut-strip,
  .smart-library-readiness-grid,
  .smart-library-scope-grid,
  .smart-excel-forward-actions,
  .smart-generator-conditions .smart-manual-grid,
  .smart-generator-conditions .smart-manual-grid.self-service-filters,
  .smart-use-navigator-grid,
  .smart-operator-steps,
  .smart-use-steps,
  .smart-generate-guide,
  .smart-week-preview-stats,
  .smart-manual-task-switch,
  .smart-generation-basis,
  .smart-generation-basis ol,
  .smart-generated-empty-actions,
  .smart-generated-empty-basis,
  .smart-week-preview-row,
  .smart-review-work-order,
  .smart-review-workbook-tabs,
  .smart-library-sample-list,
  .smart-review-cockpit-metrics,
  .smart-review-confirm-stats,
  .smart-review-excel-checklist,
  .smart-review-readable-grid,
  .smart-review-meal-coverage,
  .smart-review-hero-dishes,
  .smart-event-workbook-tabs,
  .smart-event-project-status,
  .smart-relation-grid,
  .event-request-guide,
  .weekly-editor-kpis,
  .weekly-editor-cockpit-metrics,
  .weekly-editor-item,
  .weekly-editor-candidate,
  .weekly-editor-task,
  .weekly-preflight-metrics,
  .weekly-preflight-head,
  .weekly-preflight-risk,
  .menu-item-editor-guide,
  .menu-item-editor-grid,
  .smart-policy-metrics,
  .smart-master-metrics,
  .smart-candidate-line,
  .split-review-dishes,
  .split-review-metrics,
  .split-review-steps,
  .candidate-release-grid,
  .candidate-release-steps {
    grid-template-columns: 1fr;
  }
  .smart-failure-fix-reasons {
    justify-content: flex-start;
  }
  .smart-missing-slot-actions,
  .menu-slot-choice,
  .menu-slot-review-head {
    grid-template-columns: 1fr;
  }
  .weekly-editor-task-actions {
    width: 100%;
    max-width: none;
  }
  .smart-missing-slot-actions .mini-action,
  .menu-slot-choice .candidate-replace-btn,
  .weekly-editor-task-actions .mini-action,
  .menu-slot-review-actions .primary-action,
  .menu-slot-review-actions .ghost-action {
    width: 100%;
  }
  .smart-menu-section-tabs {
    position: static;
  }
  .smart-menu-section-tabs nav {
    display: flex;
    overflow-x: auto;
    padding-bottom: 2px;
    scroll-snap-type: x mandatory;
  }
  .smart-menu-section-tabs button {
    min-width: 230px;
    scroll-snap-align: start;
  }
  .smart-policy-summary {
    display: grid;
  }
  .dish-readiness-grid {
    grid-template-columns: 1fr;
  }
  .smart-review-hero-head,
  .smart-review-hero-actions,
  .smart-review-week-title {
    display: grid;
  }
  .smart-review-week-table-wrap {
    overflow-x: auto;
  }
  .smart-generator-workbook-head,
  .smart-result-pane-head {
    display: grid;
    align-items: start;
  }
  .smart-generated-day-head,
  .smart-generated-focus-head,
  .smart-generated-excel-detail > summary,
  .smart-generated-decision-details > summary {
    display: grid;
    align-items: start;
  }
  .smart-generated-week-strip {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    overflow-x: visible;
    padding: 5px;
  }
  .smart-generated-week-select-row,
  .smart-week-select-row {
    display: grid;
    align-items: start;
  }
  .smart-generated-week-select-row label,
  .smart-week-select-row label {
    display: grid;
    gap: 6px;
  }
  .smart-generated-week-select-row select,
  .smart-week-select-row select {
    width: 100%;
    min-width: 0;
  }
  .smart-generated-week-select-row em,
  .smart-week-select-row em {
    white-space: normal;
  }
  .smart-generated-review-picker,
  .smart-generated-meal-focus-head,
  .smart-generated-primary-toolbar,
  .smart-generated-advanced-actions {
    display: grid;
    align-items: start;
  }
  .smart-generated-review-picker label {
    display: grid;
    gap: 6px;
    width: 100%;
  }
  .smart-generated-review-picker select {
    width: 100%;
    min-width: 0;
  }
  .smart-generated-result-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .smart-generated-task-list {
    max-height: none;
  }
  .smart-week-strip {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    overflow-x: visible;
    padding: 5px;
  }
  .smart-generated-week-day-button {
    min-height: 58px;
    padding: 6px 3px;
  }
  .smart-week-day-button {
    min-height: 58px;
    padding: 6px 3px;
  }
  .smart-generated-week-day-button span,
  .smart-generated-week-day-button em,
  .smart-week-day-button span,
  .smart-week-day-button em {
    font-size: 10px;
  }
  .smart-generated-week-day-button strong,
  .smart-week-day-button strong {
    font-size: 12px;
  }
  .smart-generated-day-head em {
    max-width: 100%;
    white-space: normal;
  }
  .smart-generated-focus-head em {
    max-width: 100%;
    white-space: normal;
  }
  .smart-generated-day-meal-actions .smart-generated-cell-action {
    width: 100%;
  }
  .smart-week-overview-head,
  .smart-week-table-detail > summary {
    display: grid;
    align-items: start;
  }
  .smart-week-overview-head em {
    max-width: 100%;
    white-space: normal;
  }
  .smart-week-overview-meal .mini-action {
    width: 100%;
  }
  .smart-preference-rules-head {
    display: grid;
    align-items: start;
  }
  .smart-preference-rules-head span,
  .smart-preference-rule-main strong,
  .smart-preference-rule-main span,
  .smart-preference-rule-main small {
    white-space: normal;
  }
  .smart-preference-rule-action {
    width: 100%;
  }
  .smart-result-pane-actions {
    justify-content: stretch;
  }
  .smart-result-pane-actions .compact {
    width: 100%;
  }
  .smart-review-workbook-tabs {
    display: grid;
  }
  .smart-review-workbook-tabs span,
  .smart-review-workbook-tabs button {
    width: 100%;
  }
  .smart-event-workbook-tabs {
    display: grid;
  }
  .smart-event-workbook-tabs span,
  .smart-event-workbook-tabs button {
    width: 100%;
  }
  .smart-review-excel-actions {
    min-width: 0;
  }
  .smart-use-steps div {
    border-right: 0;
    border-bottom: 1px solid rgba(8, 72, 45, 0.08);
  }
  .smart-use-steps div:last-child {
    border-bottom: 0;
  }
  .smart-proof-title {
    display: grid;
  }
  .smart-week-preview-head,
  .smart-week-preview-rule {
    display: grid;
  }
  .smart-proof-title strong {
    text-align: left;
  }
  .smart-explain-title {
    grid-template-columns: 1fr;
  }
}
/* Refined brand and CRM pages. */
:root {
  --ref-bg: #f5f8f6;
  --ref-ink: #13221a;
  --ref-muted: #65766d;
  --ref-faint: #93a49b;
  --ref-border: #e3ece7;
  --ref-green: #0f8a52;
  --ref-green-deep: #075f3a;
  --ref-green-soft: #e7f6ee;
  --ref-blue: #2876b9;
  --ref-blue-soft: #e7f2fb;
  --ref-gold: #be830b;
  --ref-gold-soft: #fff3d6;
  --ref-red: #c94b3e;
  --ref-red-soft: #fff0ed;
  --ref-shadow: 0 18px 42px rgba(21, 49, 33, 0.07);
  --ref-soft-shadow: 0 10px 28px rgba(21, 49, 33, 0.045);
}
body {
  background:
    radial-gradient(circle at 78px 24px, rgba(16, 138, 82, 0.08), transparent 34px),
    radial-gradient(circle at 90% 0%, rgba(248, 201, 70, 0.12), transparent 280px),
    var(--ref-bg);
  color: var(--ref-ink);
}
.app-shell {
  grid-template-columns: 226px minmax(0, 1fr);
}
.sidebar {
  padding: 18px 14px;
  border-right: 1px solid var(--ref-border);
  background: rgba(255, 255, 255, 0.96);
}
.logo-lockup {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  min-height: 72px;
  padding: 4px 4px 16px;
  border-bottom: 1px solid var(--ref-border);
}
.logo-lockup.large {
  min-height: 0;
  margin-bottom: 26px;
  padding: 0;
  border: 0;
}
.logo-mark,
.logo-lockup.large .logo-mark {
  width: 100%;
  height: auto;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}
.logo-mark img,
.logo-lockup:not(.large) .logo-mark img,
.logo-lockup.large .logo-mark img {
  display: block;
  width: 188px;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  object-position: left center;
}
.logo-lockup.large .logo-mark img {
  width: 360px;
}
.logo-text {
  padding-left: 3px;
}
.logo-text strong {
  display: none;
}
.logo-text small {
  color: #5d6e65;
  font-size: 12px;
  font-weight: 780;
}
.login-card {
  width: min(1080px, calc(100vw - 64px));
  border: 1px solid rgba(8, 95, 58, 0.11);
  background:
    radial-gradient(circle at 96% 14%, rgba(255, 219, 83, 0.18), transparent 180px),
    linear-gradient(135deg, #ffffff, #f7fbf8);
  box-shadow: 0 28px 70px rgba(18, 54, 34, 0.13);
}
.login-copy h1 {
  color: var(--ref-green-deep);
}
.nav-button {
  min-height: 36px;
  padding: 0 10px;
  border-radius: 8px;
}
.nav-button.active {
  background: linear-gradient(135deg, #e5f4ec, #f4faf7);
  color: var(--ref-green-deep);
}
.nav-button.active .nav-icon {
  background: var(--ref-green);
  color: #fff;
}
.content {
  max-width: 1320px;
}
.topbar {
  border-bottom: 1px solid var(--ref-border);
  background: rgba(255, 255, 255, 0.9);
}
.primary-action {
  border-color: var(--ref-green-deep);
  background: linear-gradient(135deg, var(--ref-green), var(--ref-green-deep));
}
.ghost-action,
.mini-action {
  border-color: var(--ref-border);
}
.status.warn,
.tag.warn {
  background: var(--ref-gold-soft);
  color: var(--ref-gold);
}
.status.red,
.tag.red {
  background: var(--ref-red-soft);
  color: var(--ref-red);
}
.status.blue,
.tag.blue {
  background: var(--ref-blue-soft);
  color: var(--ref-blue);
}
.refined-ops-hero,
.refined-sales-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(430px, 0.96fr);
  gap: 18px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(15, 138, 82, 0.14);
  border-radius: 14px;
  box-shadow: var(--ref-shadow);
}
.refined-ops-hero {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(243, 251, 247, 0.96)),
    radial-gradient(circle at 95% 0%, rgba(15, 138, 82, 0.16), transparent 310px);
}
.refined-sales-hero {
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.98)),
    radial-gradient(circle at 92% 4%, rgba(255, 210, 70, 0.22), transparent 300px);
}
.sales-commission-admin {
  display: grid;
  gap: 16px;
  margin: 18px 0;
}
.refined-hero-copy {
  display: grid;
  align-content: center;
}
.refined-hero-copy h2,
.refined-section-title h2 {
  margin: 8px 0 10px;
  color: var(--ref-green-deep);
  font-size: 27px;
  line-height: 1.18;
}
.refined-hero-copy p {
  max-width: 760px;
  margin: 0;
  color: var(--ref-muted);
  font-size: 14px;
  line-height: 1.8;
}
.refined-action-rail {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}
.refined-readiness-grid,
.refined-sales-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.refined-readiness-card {
  display: grid;
  gap: 8px;
  min-height: 104px;
  padding: 15px;
  border: 1px solid rgba(15, 138, 82, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: var(--ref-soft-shadow);
}
.refined-readiness-card span {
  color: var(--ref-muted);
  font-size: 12px;
  font-weight: 850;
}
.refined-readiness-card strong {
  color: var(--ref-green-deep);
  font-size: 28px;
  line-height: 1;
}
.refined-readiness-card small {
  color: var(--ref-faint);
  font-size: 12px;
  line-height: 1.35;
}
.refined-readiness-card.warn {
  border-color: rgba(190, 131, 11, 0.25);
  background: #fffaf0;
}
.refined-readiness-card.warn strong {
  color: var(--ref-gold);
}
.refined-readiness-card.blue {
  border-color: rgba(40, 118, 185, 0.18);
  background: #f4fbff;
}
.refined-readiness-card.blue strong {
  color: var(--ref-blue);
}
.mini-program-config-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.mini-program-config-card {
  display: grid;
  gap: 16px;
  min-height: 176px;
  padding: 18px;
  border: 1px solid rgba(15, 138, 82, 0.12);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 250, 0.96));
  box-shadow: var(--ref-soft-shadow);
}
.mini-program-config-card h3 {
  margin: 6px 0 8px;
  color: var(--ref-green-deep);
  font-size: 18px;
  line-height: 1.25;
}
.mini-program-config-card p {
  margin: 0;
  color: var(--ref-ink);
  font-size: 13px;
  line-height: 1.65;
}
.mini-program-config-foot {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
  padding-top: 12px;
  border-top: 1px solid rgba(15, 138, 82, 0.1);
}
.mini-program-config-foot small {
  max-width: 260px;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.45;
}
.mini-program-segment-editor-list {
  display: grid;
  gap: 12px;
}
.mini-program-segment-editor {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(15, 138, 82, 0.14);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(247, 253, 250, 0.98), rgba(255, 255, 255, 0.96));
}
.mini-program-segment-editor strong {
  display: block;
  margin-top: 4px;
  color: var(--ref-green-deep);
  font-size: 16px;
}
.mini-ops-step-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.mini-ops-step-card {
  display: grid;
  gap: 10px;
  min-height: 188px;
  padding: 16px;
  border: 1px solid rgba(15, 138, 82, 0.14);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 253, 251, 0.96));
  box-shadow: var(--ref-soft-shadow);
}
.mini-ops-step-card > span {
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(15, 138, 82, 0.1);
  color: var(--ref-green-deep);
  font-size: 14px;
  font-weight: 950;
}
.mini-ops-step-card strong {
  color: var(--ref-ink);
  font-size: 16px;
  line-height: 1.3;
}
.mini-ops-step-card p {
  min-height: 58px;
  margin: 0;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.55;
}
.mini-ops-step-card .mini-action {
  align-self: end;
}
.mini-scenario-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(226px, 1fr));
  gap: 12px;
}
.mini-scenario-card {
  position: relative;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 12px;
  min-width: 0;
  min-height: 304px;
  padding: 16px;
  border: 1px solid rgba(15, 138, 82, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 253, 250, 0.96));
  box-shadow: var(--ref-soft-shadow);
}
.mini-scenario-card.ready {
  border-color: rgba(15, 138, 82, 0.22);
}
.mini-scenario-card.warn {
  border-color: rgba(190, 131, 11, 0.26);
  background:
    linear-gradient(180deg, rgba(255, 252, 244, 0.99), rgba(255, 250, 240, 0.94));
}
.mini-scenario-index {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--ref-green-deep);
  color: #fff;
  font-size: 14px;
  font-weight: 950;
}
.mini-scenario-card.warn .mini-scenario-index {
  background: var(--ref-gold);
}
.mini-scenario-main {
  min-width: 0;
  display: grid;
  gap: 11px;
}
.mini-scenario-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}
.mini-scenario-head span {
  min-width: 0;
  overflow: hidden;
  color: var(--ref-green-deep);
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mini-scenario-card h3 {
  margin: 0;
  color: var(--ref-ink);
  font-size: 18px;
  line-height: 1.25;
}
.mini-scenario-card p {
  margin: 0;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.55;
}
.mini-scenario-facts {
  display: grid;
  gap: 8px;
}
.mini-scenario-facts span {
  display: grid;
  grid-template-columns: minmax(54px, auto) minmax(0, 1fr);
  gap: 8px;
  align-items: baseline;
  min-width: 0;
  max-width: 100%;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.35;
}
.mini-scenario-card,
.mini-scenario-card * {
  overflow-wrap: anywhere;
}
.mini-scenario-card .tag {
  max-width: 100%;
  white-space: normal;
}
.mini-scenario-facts b {
  color: var(--ref-faint);
  font-size: 11px;
  font-weight: 900;
}
.mini-scenario-risks {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.mini-scenario-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: auto;
}
@media (max-width: 1320px) {
  .mini-ops-step-grid,
  .mini-scenario-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 720px) {
  .mini-ops-step-grid,
  .mini-scenario-grid {
    grid-template-columns: 1fr;
  }
  .mini-scenario-card {
    min-height: auto;
  }
}
.refined-section-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-top: 4px;
}
.refined-section-title h2 {
  font-size: 20px;
}
.refined-customer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.refined-customer-card,
.refined-lead-card {
  display: grid;
  gap: 14px;
  min-height: 286px;
  padding: 16px;
  border: 1px solid var(--ref-border);
  border-radius: 14px;
  background: #ffffff;
  box-shadow: var(--ref-soft-shadow);
}
.refined-customer-card.warn,
.refined-lead-card.warn {
  border-color: rgba(190, 131, 11, 0.24);
}
.refined-lead-card.muted {
  opacity: 0.62;
}
.refined-card-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.refined-card-top h3 {
  margin: 5px 0 6px;
  color: var(--ref-ink);
  font-size: 18px;
  line-height: 1.25;
}
.refined-card-top p {
  margin: 0;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.55;
}
.refined-mini-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.refined-mini-metrics span {
  min-height: 58px;
  padding: 9px;
  border-radius: 10px;
  background: #f7faf8;
}
.refined-mini-metrics b,
.refined-mini-metrics small {
  display: block;
}
.refined-mini-metrics b {
  color: var(--ref-green-deep);
  font-size: 17px;
  line-height: 1.1;
}
.refined-mini-metrics small {
  margin-top: 5px;
  color: var(--ref-faint);
  font-size: 11px;
}
.refined-card-line {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-radius: 10px;
  background: #f8fbf9;
}
.refined-card-line strong {
  color: var(--ref-green-deep);
  font-size: 12px;
}
.refined-card-line span {
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.5;
}
.refined-chip-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.refined-stage-board {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.refined-stage-card {
  display: grid;
  gap: 6px;
  min-height: 128px;
  padding: 14px;
  border: 1px solid rgba(15, 138, 82, 0.13);
  border-radius: 14px;
  background: #ffffff;
  color: var(--ref-ink);
  text-align: left;
  box-shadow: var(--ref-soft-shadow);
}
.refined-stage-card.warn {
  border-color: rgba(190, 131, 11, 0.22);
  background: #fffaf0;
}
.refined-stage-card.blue {
  border-color: rgba(40, 118, 185, 0.18);
  background: #f5fbff;
}
.refined-stage-card strong {
  color: var(--ref-green-deep);
  font-size: 28px;
  line-height: 1;
}
.refined-stage-card span {
  font-size: 14px;
  font-weight: 900;
}
.refined-stage-card small,
.refined-stage-card em {
  color: var(--ref-muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}
.refined-lead-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.refined-score-line {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.refined-score-line b {
  color: var(--ref-green-deep);
  font-size: 24px;
}
.refined-note {
  min-height: 40px;
  margin: 0;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.65;
}
.refined-tool-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.refined-tool-card {
  min-height: 118px;
  padding: 15px;
  border: 1px solid var(--ref-border);
  border-radius: 12px;
  background:
    linear-gradient(180deg, #ffffff, #f8fbf9),
    radial-gradient(circle at 100% 0%, rgba(15, 138, 82, 0.08), transparent 120px);
}
.refined-tool-card strong {
  color: var(--ref-green-deep);
  font-size: 15px;
}
.refined-tool-card p {
  margin: 9px 0 0;
  color: var(--ref-muted);
  font-size: 12px;
  line-height: 1.65;
}
@media (max-width: 1320px) {
  .refined-customer-grid,
  .mini-program-config-grid,
  .refined-lead-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 1100px) {
  .app-shell {
    grid-template-columns: 1fr;
  }
  .refined-ops-hero,
  .refined-sales-hero,
  .refined-stage-board,
  .refined-customer-grid,
  .mini-program-config-grid,
  .refined-lead-grid,
  .refined-tool-grid {
    grid-template-columns: 1fr;
  }
  .refined-readiness-grid,
  .refined-sales-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.scan-op-grid,
.ops-bi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  padding: 16px;
}
.scan-op-card,
.ops-bi-card {
  min-height: 118px;
  padding: 16px;
  border: 1px solid rgba(15, 138, 82, 0.14);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 253, 250, 0.96)),
    radial-gradient(circle at 100% 0%, rgba(15, 138, 82, 0.1), transparent 110px);
  box-shadow: 0 16px 40px rgba(21, 68, 45, 0.08);
  text-align: left;
}
.scan-op-card {
  cursor: pointer;
}
.scan-op-card:hover {
  transform: translateY(-1px);
  border-color: rgba(15, 138, 82, 0.28);
  box-shadow: 0 20px 46px rgba(21, 68, 45, 0.12);
}
.scan-op-card strong,
.ops-bi-card strong {
  display: block;
  color: var(--ref-green-deep, #064d32);
  font-size: 28px;
  line-height: 1;
}
.scan-op-card span,
.ops-bi-card span {
  display: block;
  margin-top: 12px;
  color: #1f332a;
  font-size: 14px;
  font-weight: 900;
}
.ops-bi-card small {
  display: block;
  margin-top: 10px;
  color: var(--ref-muted, #68736d);
  font-size: 12px;
  line-height: 1.45;
}
.ops-bi-card.warn {
  border-color: rgba(190, 131, 11, 0.24);
  background: linear-gradient(180deg, #fffdf4, #fff9e8);
}
.ops-bi-card.red {
  border-color: rgba(197, 58, 48, 0.22);
  background: linear-gradient(180deg, #fff8f7, #fff1ef);
}
.ops-bi-card.blue {
  border-color: rgba(40, 118, 185, 0.18);
  background: linear-gradient(180deg, #f7fcff, #eef8ff);
}
.business-review-grid,
.business-budget-grid,
.business-action-strip {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.business-review-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.business-budget-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 0;
}
.business-action-strip {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.business-review-card,
.business-budget-card,
.business-action-card {
  min-width: 0;
  padding: 15px;
  border: 1px solid rgba(15, 138, 82, 0.14);
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(21, 68, 45, 0.06);
}
.business-review-card span,
.business-budget-card span {
  display: block;
  color: var(--ref-muted, #68736d);
  font-size: 12px;
  font-weight: 900;
}
.business-review-card strong,
.business-budget-card strong {
  display: block;
  margin-top: 8px;
  color: var(--ref-green-deep, #064d32);
  font-size: 24px;
  line-height: 1.05;
}
.business-review-card p,
.business-review-card small,
.business-budget-card small,
.business-action-card small,
.business-action-payback {
  display: block;
  margin: 8px 0 0;
  color: var(--ref-muted, #68736d);
  font-size: 12px;
  line-height: 1.45;
}
.business-budget-card.warn,
.business-action-card.warn {
  border-color: rgba(190, 131, 11, 0.24);
  background: linear-gradient(180deg, #fffdf4, #fff9e8);
}
.business-budget-card.red,
.business-action-card.red {
  border-color: rgba(197, 58, 48, 0.22);
  background: linear-gradient(180deg, #fff8f7, #fff1ef);
}
.business-action-card p {
  margin: 10px 0 0;
  color: #1f332a;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}
.business-action-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.business-action-head strong {
  min-width: 0;
  color: var(--ink);
  font-size: 12px;
  text-align: right;
}
@media (max-width: 1320px) {
  .scan-op-grid,
  .ops-bi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .business-review-grid,
  .business-budget-grid,
  .business-action-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .scan-op-grid,
  .ops-bi-grid {
    grid-template-columns: 1fr;
  }
  .business-review-grid,
  .business-budget-grid,
  .business-action-strip {
    grid-template-columns: 1fr;
  }
}
.qms-command {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  min-height: 190px;
  margin-bottom: 18px;
  padding: 30px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 24px;
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 221, 92, 0.36), transparent 20%),
    linear-gradient(135deg, rgba(231, 247, 238, 0.96), rgba(255, 255, 255, 0.92) 52%, rgba(235, 248, 241, 0.96));
  box-shadow: 0 24px 64px rgba(6, 72, 45, 0.12);
  overflow: hidden;
}
.qms-command.warning {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 211, 73, 0.42), transparent 21%),
    linear-gradient(135deg, #fff8df, rgba(255, 255, 255, 0.95) 54%, #eef8f3);
}
.qms-command.critical {
  border-color: rgba(201, 63, 53, 0.3);
  background:
    radial-gradient(circle at 82% 18%, rgba(255, 179, 128, 0.32), transparent 21%),
    linear-gradient(135deg, #fff1ee, rgba(255, 255, 255, 0.95) 54%, #eef8f3);
}
.qms-command .eyebrow {
  color: var(--green);
  font-size: 13px;
  font-weight: 900;
}
.qms-command h2 {
  margin: 8px 0 10px;
  max-width: 620px;
  font-size: 34px;
  line-height: 1.12;
  letter-spacing: 0;
}
.qms-command p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.75;
}
.qms-command-meta,
.qms-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.qms-command-meta span {
  padding: 8px 12px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--green-deep);
  font-size: 12px;
  font-weight: 800;
}
.qms-command-actions {
  justify-content: flex-end;
  min-width: 320px;
}
.qms-grid {
  display: grid;
  grid-template-columns: 1.35fr 0.65fr;
  gap: 18px;
  margin-bottom: 18px;
}
.qms-card-wrap {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.qms-card,
.qms-next {
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: var(--shadow-soft);
}
.qms-card {
  position: relative;
  min-height: 132px;
  padding: 18px;
  overflow: hidden;
}
.qms-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 5px;
  background: var(--green);
}
.qms-card.warning::before {
  background: var(--gold);
}
.qms-card.critical::before {
  background: var(--red);
}
.qms-card-label {
  color: var(--muted);
  font-size: 13px;
  font-weight: 900;
}
.qms-card-value {
  margin-top: 10px;
  color: var(--ink);
  font-size: 32px;
  font-weight: 950;
}
.qms-card-note {
  margin-top: 6px;
  color: var(--subtle);
  font-size: 12px;
  font-weight: 700;
}
.qms-next {
  padding: 18px 20px;
}
.qms-next ul {
  display: grid;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}
.qms-next li {
  position: relative;
  padding: 10px 12px 10px 28px;
  border-radius: 14px;
  background: var(--surface-2);
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
}
.qms-next li::before {
  content: "";
  position: absolute;
  left: 12px;
  top: 16px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--gold);
}
.settings-value {
  max-width: 360px;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(9, 117, 73, 0.06);
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.55;
  word-break: break-word;
}
.order-command-center {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.45fr);
  gap: 14px;
  margin: 0 0 16px;
  padding: 18px;
  border: 1px solid rgba(9, 117, 73, 0.14);
  border-radius: 22px;
  background:
    radial-gradient(circle at 6% 0, rgba(255, 213, 77, 0.20), transparent 25%),
    radial-gradient(circle at 100% 4%, rgba(9, 117, 73, 0.13), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(244, 250, 247, 0.96));
  box-shadow: 0 18px 42px rgba(31, 85, 58, 0.08);
}
.order-command-center.red {
  border-color: rgba(201, 63, 53, 0.24);
  background:
    radial-gradient(circle at 5% 0, rgba(255, 213, 77, 0.18), transparent 24%),
    radial-gradient(circle at 100% 0, rgba(201, 63, 53, 0.13), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 246, 244, 0.95));
}
.order-command-center.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background:
    radial-gradient(circle at 5% 0, rgba(255, 213, 77, 0.22), transparent 24%),
    radial-gradient(circle at 100% 0, rgba(189, 127, 6, 0.14), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(255, 251, 238, 0.96));
}
.order-command-main {
  display: grid;
  align-content: center;
  gap: 10px;
}
.order-command-main h3 {
  max-width: 720px;
  margin: 0;
  color: var(--ink);
  font-size: 27px;
  line-height: 1.15;
  letter-spacing: 0;
}
.order-command-main p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.order-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 4px;
}
.order-next-action {
  display: grid;
  gap: 9px;
  align-content: start;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}
.order-next-action span,
.order-command-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.order-next-action strong {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.25;
}
.order-next-action p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.order-command-grid {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.order-command-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-content: start;
  min-height: 168px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.84);
}
.order-command-card.warn {
  border-color: rgba(189, 127, 6, 0.24);
  background: rgba(255, 251, 236, 0.88);
}
.order-command-card.red {
  border-color: rgba(201, 63, 53, 0.22);
  background: rgba(255, 246, 244, 0.90);
}
.order-command-card strong {
  display: block;
  margin-top: 5px;
  color: var(--ink);
  font-size: 16px;
}
.order-command-card p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.order-command-card em {
  justify-self: end;
  color: var(--green);
  font-size: 24px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.order-command-card.warn em {
  color: #a96905;
}
.order-command-card.red em {
  color: #b33424;
}
.order-command-card .mini-action {
  grid-column: 1 / -1;
  justify-self: start;
}
.order-execution-map {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 16px 38px rgba(31, 85, 58, 0.07);
}
.order-execution-head,
.order-execution-body {
  display: grid;
  gap: 14px;
}
.order-execution-head {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}
.order-execution-head h3 {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.2;
}
.order-execution-head p {
  max-width: 780px;
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.6;
}
.order-execution-body {
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.55fr);
  align-items: stretch;
}
.order-execution-flow {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(247, 252, 249, 0.92), rgba(255, 255, 255, 0.96));
}
.order-flow-step {
  position: relative;
  display: grid;
  gap: 9px;
  min-height: 174px;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.88);
}
.order-flow-step::after {
  content: "";
  position: absolute;
  top: 26px;
  right: -9px;
  width: 10px;
  height: 2px;
  background: rgba(9, 117, 73, 0.18);
}
.order-flow-step:last-child::after {
  display: none;
}
.order-flow-step.warn {
  border-color: rgba(189, 127, 6, 0.26);
  background: rgba(255, 251, 236, 0.92);
}
.order-flow-step.green {
  border-color: rgba(9, 117, 73, 0.2);
  background: rgba(244, 252, 247, 0.95);
}
.order-flow-step.muted {
  opacity: 0.72;
}
.order-flow-index {
  width: 32px;
  height: 24px;
  border-radius: 10px;
  background: rgba(9, 117, 73, 0.10);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  line-height: 24px;
  text-align: center;
}
.order-flow-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}
.order-flow-copy span {
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.order-flow-copy strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.25;
}
.order-flow-copy p {
  min-height: 34px;
  margin: 0;
  color: var(--subtle);
  font-size: 11px;
  line-height: 1.45;
}
.order-flow-step em {
  align-self: end;
  color: var(--green);
  font-size: 28px;
  font-style: normal;
  font-weight: 950;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.order-flow-step.warn em {
  color: #a96905;
}
.order-flow-sample {
  min-height: 32px;
  padding: 7px 8px;
  border: 1px solid rgba(9, 117, 73, 0.10);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--ink);
  font-size: 11px;
  font-weight: 850;
  line-height: 1.35;
  text-align: left;
}
button.order-flow-sample {
  cursor: pointer;
}
button.order-flow-sample:hover {
  border-color: rgba(9, 117, 73, 0.28);
  transform: translateY(-1px);
}
.order-flow-sample.empty {
  color: var(--muted);
}
.order-execution-focus {
  display: grid;
  gap: 11px;
  align-content: start;
  padding: 15px;
  border: 1px solid rgba(9, 117, 73, 0.14);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(9, 117, 73, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 252, 248, 0.94));
}
.order-execution-focus.warn {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.22), transparent 32%),
    linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 248, 229, 0.9));
}
.order-execution-focus.red {
  border-color: rgba(201, 63, 53, 0.24);
  background:
    radial-gradient(circle at 100% 0, rgba(201, 63, 53, 0.14), transparent 32%),
    linear-gradient(180deg, rgba(255, 248, 246, 0.98), rgba(255, 238, 235, 0.9));
}
.order-execution-focus > span {
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
}
.order-execution-focus strong {
  color: var(--ink);
  font-size: 19px;
  line-height: 1.25;
}
.order-execution-focus p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.order-execution-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.order-execution-counts span {
  display: grid;
  gap: 3px;
  padding: 8px 6px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
  text-align: center;
}
.order-execution-counts b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.order-execution-counts small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.order-execution-focus ul {
  display: grid;
  gap: 5px;
  min-height: 52px;
  margin: 0;
  padding-left: 16px;
  color: #805000;
  font-size: 12px;
  line-height: 1.45;
}
.order-execution-focus.red ul {
  color: #b33424;
}
.order-execution-focus .actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
}
.menu-confirmation-summary {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.14);
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f7fbf8);
  box-shadow: 0 14px 34px rgba(19, 78, 52, 0.08);
}
.menu-confirmation-summary-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.menu-confirmation-summary-head div {
  display: grid;
  min-width: 0;
  gap: 5px;
}
.menu-confirmation-summary-head strong {
  color: var(--ink);
  font-size: 20px;
  font-weight: 950;
  line-height: 1.22;
}
.menu-confirmation-summary-head p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.65;
}
.menu-confirmation-summary-head em {
  flex: 0 0 auto;
  min-width: 64px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.10);
  color: var(--green);
  font-size: 13px;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}
.menu-confirmation-summary.danger {
  border-color: rgba(201, 63, 53, 0.18);
  background: linear-gradient(180deg, #ffffff, #fff8f6);
}
.menu-confirmation-summary.danger .menu-confirmation-summary-head em {
  background: rgba(201, 63, 53, 0.10);
  color: #9d2b22;
}
.menu-confirmation-warning {
  padding: 9px 12px;
  border: 1px solid rgba(215, 154, 24, 0.18);
  border-radius: 12px;
  background: rgba(255, 247, 226, 0.82);
  color: #7c4f00;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.55;
}
.menu-publish-risk-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin: 12px 0 2px;
}
.menu-publish-risk-strip span {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 2px 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(189, 127, 6, 0.20);
  border-radius: 14px;
  background: #fff9e9;
}
.menu-publish-risk-strip span.red {
  border-color: rgba(201, 63, 53, 0.20);
  background: #fff7f5;
}
.menu-publish-risk-strip b {
  grid-row: span 2;
  min-width: 36px;
  color: #906100;
  font-size: 24px;
  line-height: 1;
}
.menu-publish-risk-strip .red b {
  color: #b4322b;
}
.menu-publish-risk-strip strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.menu-publish-risk-strip em {
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  font-weight: 750;
}
.menu-confirmation-scope-list {
  display: grid;
  overflow: hidden;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 14px;
  background: #ffffff;
}
.menu-confirmation-scope-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(8, 72, 45, 0.07);
}
.menu-confirmation-scope-row:last-child {
  border-bottom: 0;
}
.menu-confirmation-scope-row div {
  display: grid;
  min-width: 0;
  gap: 3px;
}
.menu-confirmation-scope-row strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.menu-confirmation-scope-row p {
  overflow: hidden;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.menu-confirmation-scope-row span {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.08);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
  white-space: nowrap;
}
.menu-confirmation-scope-more {
  padding: 9px 12px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.menu-confirmation-file-field input[type="file"] {
  padding: 11px;
  border-style: dashed;
  background: #fff;
}
.menu-confirmation-file-field small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.55;
}
.order-change-review-summary {
  display: grid;
  gap: 13px;
  padding: 14px;
  border: 1px solid rgba(215, 154, 24, 0.20);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.20), transparent 32%),
    linear-gradient(180deg, #ffffff, #fffaf0);
  box-shadow: 0 14px 34px rgba(110, 72, 0, 0.08);
}
.order-change-review-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.order-change-review-head div {
  display: grid;
  min-width: 0;
  gap: 5px;
}
.order-change-review-head strong {
  color: var(--ink);
  font-size: 20px;
  font-weight: 950;
  line-height: 1.22;
}
.order-change-review-head p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.order-change-impact-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.order-change-impact-grid div {
  display: grid;
  gap: 5px;
  min-height: 58px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
}
.order-change-impact-grid span,
.order-change-review-copy span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.order-change-impact-grid strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.purchase-form-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}
.purchase-form-summary > div {
  display: grid;
  gap: 5px;
  min-height: 68px;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(248, 251, 249, 0.9);
}
.purchase-form-summary span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.purchase-form-summary strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 15px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.purchase-form-summary em {
  overflow: hidden;
  color: #496457;
  font-size: 12px;
  font-style: normal;
  font-weight: 780;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.order-change-review-copy {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border: 1px solid rgba(8, 72, 45, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.78);
}
.order-change-review-copy.warn {
  border-color: rgba(215, 154, 24, 0.22);
  background: rgba(255, 247, 226, 0.78);
}
.order-change-review-copy p {
  margin: 0;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.6;
}
.confirmed-menu-order-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.confirmed-menu-order-card {
  display: grid;
  gap: 12px;
  min-height: 214px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.14);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(9, 117, 73, 0.12), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 249, 0.95));
  box-shadow: 0 14px 30px rgba(31, 85, 58, 0.07);
}
.confirmed-menu-order-card.warn {
  border-color: rgba(189, 127, 6, 0.28);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.20), transparent 30%),
    linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 249, 231, 0.92));
}
.confirmed-menu-order-card.red {
  border-color: rgba(201, 63, 53, 0.24);
  background:
    radial-gradient(circle at 100% 0, rgba(201, 63, 53, 0.14), transparent 30%),
    linear-gradient(180deg, rgba(255, 248, 246, 0.98), rgba(255, 240, 237, 0.92));
}
.confirmed-menu-order-head,
.confirmed-menu-order-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.confirmed-menu-order-head div {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.confirmed-menu-order-head span {
  overflow: hidden;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.confirmed-menu-order-head strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.25;
}
.confirmed-menu-order-head p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.confirmed-menu-order-head em {
  flex: 0 0 auto;
  max-width: 116px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.10);
  color: var(--green);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
  line-height: 1.25;
  text-align: right;
}
.confirmed-menu-order-card.warn .confirmed-menu-order-head em {
  background: rgba(255, 213, 77, 0.22);
  color: #a96905;
}
.confirmed-menu-order-card.red .confirmed-menu-order-head em {
  background: rgba(201, 63, 53, 0.11);
  color: #b33424;
}
.confirmed-menu-order-body {
  display: grid;
  gap: 10px;
  align-content: start;
}
.confirmed-menu-order-body p,
.confirmed-menu-order-foot small {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.confirmed-menu-order-body div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.confirmed-menu-order-body span {
  max-width: 100%;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.08);
  color: #12583c;
  font-size: 11px;
  font-weight: 900;
}
.confirmed-menu-order-foot {
  align-items: center;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
}
.confirmed-menu-order-foot .actions {
  flex: 0 0 auto;
}
.confirmed-menu-order-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(9, 117, 73, 0.14);
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(248, 253, 250, 0.98), rgba(255, 255, 255, 0.96));
}
.confirmed-menu-order-summary small,
.confirmed-menu-order-site-head label > span,
.confirmed-menu-order-item small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
}
.confirmed-menu-order-summary strong {
  display: block;
  margin-top: 4px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
}
.confirmed-menu-order-note {
  padding: 12px 14px;
  border: 1px solid rgba(189, 127, 6, 0.22);
  border-radius: 14px;
  background: rgba(255, 249, 231, 0.76);
  color: #77510d;
  font-size: 13px;
  font-weight: 760;
  line-height: 1.7;
}
.confirmed-menu-order-site-list {
  display: grid;
  gap: 12px;
}
.confirmed-menu-order-site {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.98);
}
.confirmed-menu-order-site-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 128px;
  gap: 12px;
  align-items: end;
}
.confirmed-menu-order-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
}
.confirmed-menu-order-toggle input {
  width: 18px;
  height: 18px;
  accent-color: var(--green);
}
.confirmed-menu-order-site-head strong,
.confirmed-menu-order-item strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.confirmed-menu-order-site-head label:last-child {
  display: grid;
  gap: 6px;
}
.confirmed-menu-order-site-head input[type="number"],
.confirmed-menu-order-item input,
.confirmed-menu-order-remark {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(8, 72, 45, 0.14);
  border-radius: 10px;
  background: #fff;
  color: var(--ink);
  font-weight: 820;
}
.confirmed-menu-order-item-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.confirmed-menu-order-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 104px;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(8, 72, 45, 0.09);
  border-radius: 12px;
  background: rgba(247, 251, 248, 0.92);
}
.confirmed-menu-order-remark {
  padding: 10px 12px;
  font-size: 13px;
  font-weight: 720;
}
.order-chain-health-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.order-chain-health-card {
  display: grid;
  gap: 12px;
  min-height: 238px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.13);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(9, 117, 73, 0.10), transparent 30%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 252, 249, 0.94));
  box-shadow: 0 14px 30px rgba(31, 85, 58, 0.07);
}
.order-chain-health-card.warn {
  border-color: rgba(189, 127, 6, 0.27);
  background:
    radial-gradient(circle at 100% 0, rgba(255, 213, 77, 0.20), transparent 30%),
    linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 248, 229, 0.88));
}
.order-chain-health-card.red {
  border-color: rgba(201, 63, 53, 0.24);
  background:
    radial-gradient(circle at 100% 0, rgba(201, 63, 53, 0.14), transparent 30%),
    linear-gradient(180deg, rgba(255, 248, 246, 0.98), rgba(255, 238, 235, 0.9));
}
.order-chain-health-head,
.order-chain-health-foot {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}
.order-chain-health-head div {
  display: grid;
  min-width: 0;
  gap: 4px;
}
.order-chain-health-head span {
  overflow: hidden;
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.order-chain-health-head strong {
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}
.order-chain-health-head p {
  margin: 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.45;
}
.order-chain-health-head em {
  flex: 0 0 auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.10);
  color: var(--green);
  font-size: 11px;
  font-style: normal;
  font-weight: 950;
}
.order-chain-health-card.warn .order-chain-health-head em {
  background: rgba(255, 213, 77, 0.22);
  color: #a96905;
}
.order-chain-health-card.red .order-chain-health-head em {
  background: rgba(201, 63, 53, 0.11);
  color: #b33424;
}
.order-chain-health-counts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.order-chain-health-counts span {
  display: grid;
  gap: 3px;
  padding: 8px 6px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.76);
  text-align: center;
}
.order-chain-health-counts b {
  color: var(--ink);
  font-size: 18px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.order-chain-health-counts small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
}
.order-chain-health-body {
  display: grid;
  gap: 8px;
  align-content: start;
  min-height: 70px;
}
.order-chain-health-body ul {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 16px;
  color: #8f4c00;
  font-size: 12px;
  line-height: 1.45;
}
.order-chain-health-card.red .order-chain-health-body ul {
  color: #b33424;
}
.order-chain-health-body p,
.order-chain-health-body span,
.order-chain-health-foot span {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.order-chain-health-body div {
  display: grid;
  gap: 4px;
}
.order-chain-health-foot {
  align-items: center;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px solid rgba(8, 72, 45, 0.08);
}
.fulfillment-stage-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.fulfillment-stage-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 210px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.13);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0, rgba(23, 140, 85, 0.13), transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.94));
  box-shadow: 0 16px 32px rgba(32, 78, 52, 0.07);
}
.fulfillment-stage-card.warn {
  border-color: rgba(196, 132, 26, 0.28);
  background:
    radial-gradient(circle at 100% 0, rgba(238, 181, 63, 0.18), transparent 32%),
    linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 248, 230, 0.9));
}
.fulfillment-stage-card.green {
  border-color: rgba(9, 117, 73, 0.2);
  background:
    radial-gradient(circle at 100% 0, rgba(16, 185, 129, 0.15), transparent 32%),
    linear-gradient(180deg, rgba(248, 255, 251, 0.98), rgba(239, 250, 244, 0.92));
}
.fulfillment-stage-top {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.fulfillment-stage-top span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.fulfillment-stage-top strong {
  color: var(--green);
  font-size: 30px;
  line-height: 1;
}
.fulfillment-stage-card.warn .fulfillment-stage-top strong {
  color: #b87505;
}
.fulfillment-stage-card p {
  min-height: 38px;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.fulfillment-stage-meta {
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
}
.fulfillment-stage-meta em,
.fulfillment-stage-meta small {
  font-style: normal;
  font-size: 11px;
  line-height: 1.35;
}
.fulfillment-stage-meta em {
  color: var(--green);
  font-weight: 950;
}
.fulfillment-stage-meta small {
  color: var(--muted);
  font-weight: 800;
}
.fulfillment-stage-samples {
  display: grid;
  gap: 6px;
}
.stage-sample {
  display: grid;
  gap: 2px;
  min-height: 38px;
  padding: 7px 8px;
  border: 1px solid rgba(9, 117, 73, 0.09);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.76);
  text-align: left;
}
button.stage-sample {
  cursor: pointer;
}
button.stage-sample:hover {
  border-color: rgba(9, 117, 73, 0.24);
  transform: translateY(-1px);
}
.stage-sample b {
  overflow: hidden;
  color: var(--ink);
  font-size: 11px;
  font-weight: 950;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.stage-sample span,
.stage-sample.empty {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.35;
}
.order-date-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  gap: 10px;
}
.order-date-chip {
  display: grid;
  gap: 5px;
  padding: 12px 13px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 250, 244, 0.78));
  box-shadow: 0 12px 28px rgba(31, 85, 58, 0.07);
}
.order-date-chip strong {
  color: var(--ink);
  font-size: 15px;
  font-weight: 950;
}
.order-date-chip span {
  color: var(--subtle);
  font-size: 12px;
  font-weight: 800;
}
.order-date-chip small {
  color: var(--fresh);
  font-size: 12px;
  font-weight: 900;
}
.order-date-chip.warn {
  border-color: rgba(204, 138, 25, 0.28);
  background: linear-gradient(180deg, rgba(255, 253, 242, 0.98), rgba(255, 246, 221, 0.86));
}
.order-date-chip.warn small {
  color: #a96905;
}
.order-date-chip.danger {
  border-color: rgba(192, 57, 43, 0.28);
  background: linear-gradient(180deg, rgba(255, 248, 247, 0.98), rgba(255, 235, 232, 0.84));
}
.order-date-chip.danger small {
  color: #b33424;
}
.access-command-center {
  display: grid;
  gap: 18px;
  margin: 0 0 18px;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 0, rgba(255, 214, 79, 0.22), transparent 28%),
    radial-gradient(circle at 8% 10%, rgba(9, 117, 73, 0.12), transparent 24%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 250, 245, 0.94));
  box-shadow: 0 20px 48px rgba(32, 78, 52, 0.09);
}
.access-command-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.access-command-head span {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.1);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.access-command-head h2 {
  margin: 0;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: 0;
}
.access-command-head p {
  max-width: 760px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.access-alert-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.access-alert-card {
  display: grid;
  gap: 6px;
  min-height: 112px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.11);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.78);
}
.access-alert-card span,
.access-scope-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
}
.access-alert-card strong,
.access-scope-card strong {
  color: var(--ink);
  font-size: 28px;
  line-height: 1;
}
.access-alert-card p,
.access-scope-card p {
  margin: 0;
  color: var(--subtle);
  font-size: 11px;
  line-height: 1.45;
}
.access-alert-card.warn {
  border-color: rgba(204, 138, 25, 0.28);
  background: rgba(255, 251, 234, 0.9);
}
.access-alert-card.red {
  border-color: rgba(192, 57, 43, 0.28);
  background: rgba(255, 243, 240, 0.92);
}
.access-alert-card.blue {
  border-color: rgba(16, 98, 142, 0.18);
  background: rgba(242, 249, 252, 0.88);
}
.access-role-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.access-role-card {
  position: relative;
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 268px;
  padding: 16px;
  overflow: hidden;
  border: 1px solid rgba(9, 117, 73, 0.11);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.95)),
    radial-gradient(circle at 100% 0, rgba(9, 117, 73, 0.12), transparent 30%);
  box-shadow: 0 14px 34px rgba(32, 78, 52, 0.07);
}
.access-role-card::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -44px;
  width: 124px;
  height: 124px;
  border-radius: 44px;
  background: rgba(9, 117, 73, 0.06);
  transform: rotate(12deg);
}
.access-role-card.is-missing {
  border-color: rgba(204, 138, 25, 0.28);
  background: linear-gradient(180deg, rgba(255, 253, 244, 0.98), rgba(255, 249, 231, 0.94));
}
.access-role-top,
.access-role-facts {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.access-role-top span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #087a43;
  color: #ffffff;
  font-weight: 950;
}
.access-role-card h3 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: var(--ink);
  font-size: 17px;
  line-height: 1.25;
}
.access-role-card p,
.access-role-card small,
.access-role-card em {
  position: relative;
  z-index: 1;
  margin: 0;
  font-style: normal;
  line-height: 1.55;
}
.access-role-card p {
  min-height: 56px;
  color: var(--muted);
  font-size: 12px;
}
.access-role-card small {
  padding: 8px 9px;
  border-radius: 12px;
  background: rgba(9, 117, 73, 0.06);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 850;
}
.access-role-card em {
  color: var(--subtle);
  font-size: 11px;
}
.access-role-facts {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.access-role-facts b {
  padding: 5px 7px;
  border: 1px solid rgba(9, 117, 73, 0.1);
  border-radius: 999px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 900;
}
.access-role-card .mini-action {
  position: relative;
  z-index: 1;
  justify-self: start;
  margin-top: auto;
}
.access-scope-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.access-scope-card {
  display: grid;
  gap: 8px;
  min-height: 120px;
  padding: 16px;
  border: 1px solid rgba(9, 117, 73, 0.1);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(32, 78, 52, 0.06);
}
.settings-command-center {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 16px;
  margin: 0 0 18px;
  padding: 22px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 8%, rgba(255, 214, 79, 0.24), transparent 28%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(240, 250, 245, 0.94));
  box-shadow: 0 20px 48px rgba(32, 78, 52, 0.09);
}
.settings-command-copy span {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.1);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.settings-command-copy h2 {
  max-width: 780px;
  margin: 0;
  color: var(--ink);
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: 0;
}
.settings-command-copy p {
  max-width: 780px;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.settings-score-card {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 8px;
  min-height: 154px;
  padding: 18px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.76);
}
.settings-score-card span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
}
.settings-score-card strong {
  color: var(--green);
  font-size: 48px;
  line-height: 0.95;
}
.settings-score-card.warn strong {
  color: #b87505;
}
.settings-score-card.red strong {
  color: #b33424;
}
.settings-score-card p {
  margin: 0;
  color: var(--subtle);
  font-size: 12px;
  font-weight: 850;
}
.settings-warning-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 12px 0 18px;
}
.settings-warning-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid rgba(204, 138, 25, 0.24);
  border-radius: 999px;
  background: rgba(255, 250, 232, 0.95);
  color: #8d5b05;
  font-size: 12px;
  font-weight: 850;
}
.settings-warning-chip strong {
  color: #b87505;
  font-size: 11px;
  font-weight: 950;
}
.settings-category-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.settings-category-card {
  display: grid;
  gap: 10px;
  min-height: 168px;
  padding: 16px;
  border: 1px solid rgba(9, 117, 73, 0.1);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 12px 30px rgba(32, 78, 52, 0.06);
}
.settings-category-card.red {
  border-color: rgba(192, 57, 43, 0.18);
}
.settings-category-card.yellow {
  border-color: rgba(204, 138, 25, 0.2);
}
.settings-category-head,
.settings-category-facts,
.settings-impact-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.settings-category-head span {
  color: var(--ink);
  font-size: 15px;
  font-weight: 950;
}
.settings-category-card p,
.settings-impact-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.55;
}
.settings-category-facts {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.settings-category-facts b {
  padding: 5px 7px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.07);
  color: var(--green-deep);
  font-size: 11px;
  font-weight: 900;
}
.settings-category-card small,
.settings-impact-card small {
  color: var(--subtle);
  font-size: 11px;
  line-height: 1.4;
}
.settings-impact-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}
.settings-impact-card {
  display: grid;
  gap: 10px;
  align-content: start;
  min-height: 194px;
  padding: 15px;
  border: 1px solid rgba(9, 117, 73, 0.1);
  border-radius: 20px;
  background:
    radial-gradient(circle at 100% 0, rgba(9, 117, 73, 0.08), transparent 34%),
    #ffffff;
  box-shadow: 0 12px 28px rgba(32, 78, 52, 0.06);
}
.settings-impact-card span {
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
}
.settings-impact-card .mini-action {
  justify-self: start;
  margin-top: auto;
}
.production-readiness-panel {
  display: grid;
  gap: 14px;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(246, 251, 248, 0.98));
  box-shadow: 0 18px 44px rgba(32, 78, 52, 0.08);
}
.production-readiness-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}
.production-readiness-head span:first-child {
  display: inline-flex;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(9, 117, 73, 0.1);
  color: var(--green);
  font-size: 11px;
  font-weight: 950;
}
.production-readiness-head h3 {
  margin: 0;
  color: var(--ink);
  font-size: 22px;
  line-height: 1.2;
}
.production-readiness-head p {
  max-width: 880px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.production-readiness-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.production-readiness-card {
  display: grid;
  gap: 8px;
  min-height: 142px;
  padding: 16px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 20px;
  background: #ffffff;
}
.production-readiness-card.pass {
  border-color: rgba(9, 117, 73, 0.2);
  background: linear-gradient(180deg, #ffffff, rgba(239, 249, 244, 0.9));
}
.production-readiness-card.warn {
  border-color: rgba(207, 143, 24, 0.24);
  background: linear-gradient(180deg, #ffffff, rgba(255, 250, 232, 0.9));
}
.production-readiness-card.fail {
  border-color: rgba(179, 52, 36, 0.22);
  background: linear-gradient(180deg, #ffffff, rgba(255, 244, 240, 0.92));
}
.production-readiness-card span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.production-readiness-card strong {
  color: var(--ink);
  font-size: 25px;
  line-height: 1.1;
}
.production-readiness-card.pass strong {
  color: var(--green);
}
.production-readiness-card.warn strong {
  color: #b87505;
}
.production-readiness-card.fail strong {
  color: #b33424;
}
.production-readiness-card p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}
.production-readiness-card small {
  overflow-wrap: anywhere;
  color: var(--subtle);
  font-size: 11px;
  line-height: 1.35;
}
.production-readiness-note {
  padding: 10px 12px;
  border: 1px solid rgba(207, 143, 24, 0.2);
  border-radius: 14px;
  background: rgba(255, 250, 232, 0.9);
  color: #8d5b05;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.5;
}
.production-env-handoff {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.production-env-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  min-height: 126px;
  padding: 14px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 252, 249, 0.94));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.production-env-card b {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: rgba(9, 117, 73, 0.1);
  color: var(--green);
  font-size: 12px;
  font-weight: 950;
  font-variant-numeric: tabular-nums;
}
.production-env-card div {
  display: grid;
  gap: 7px;
  min-width: 0;
}
.production-env-card strong {
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
  font-weight: 950;
}
.production-env-card code {
  display: block;
  overflow-wrap: anywhere;
  padding: 8px 10px;
  border: 1px solid rgba(9, 117, 73, 0.12);
  border-radius: 10px;
  background: #ffffff;
  color: var(--green-deep);
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
  line-height: 1.35;
}
.production-env-card span {
  color: var(--subtle);
  font-size: 12px;
  line-height: 1.55;
}
.production-readiness-body {
  align-items: stretch;
}
.production-runbook-panel {
  min-height: 100%;
}
.production-runbook-steps {
  display: grid;
  gap: 10px;
}
.production-runbook-step {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(9, 117, 73, 0.1);
  border-radius: 16px;
  background: rgba(248, 252, 250, 0.92);
}
.production-runbook-step b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 999px;
  background: var(--green);
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
}
.production-runbook-step div {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.production-runbook-step strong {
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.production-runbook-step code {
  display: block;
  overflow-wrap: anywhere;
  padding: 7px 8px;
  border: 1px solid rgba(9, 117, 73, 0.1);
  border-radius: 10px;
  background: #ffffff;
  color: var(--green-deep);
  font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace;
  font-size: 11px;
}
.production-runbook-step span {
  color: var(--subtle);
  font-size: 11px;
  font-weight: 850;
}
@media (max-width: 1380px) {
  .access-alert-grid,
  .access-role-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .access-scope-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .settings-impact-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .production-readiness-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .production-env-handoff {
    grid-template-columns: 1fr;
  }
  .settings-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .confirmed-menu-order-grid,
  .order-command-grid,
  .order-execution-flow,
  .order-chain-health-grid,
  .fulfillment-stage-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .order-command-center,
  .order-execution-body {
    grid-template-columns: 1fr;
  }
  .qms-command {
    align-items: flex-start;
    flex-direction: column;
  }
  .qms-command-actions {
    justify-content: flex-start;
    min-width: 0;
  }
  .qms-grid {
    grid-template-columns: 1fr;
  }
  .qms-card-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .access-command-head {
    flex-direction: column;
  }
  .access-alert-grid,
  .access-role-grid,
  .access-scope-grid {
    grid-template-columns: 1fr;
  }
  .settings-command-center,
  .settings-impact-grid,
  .settings-category-grid,
  .production-readiness-grid,
  .production-readiness-body {
    grid-template-columns: 1fr;
  }
  .production-readiness-head {
    flex-direction: column;
  }
  .order-command-grid,
  .order-execution-flow,
  .order-execution-head,
  .confirmed-menu-order-grid,
  .order-chain-health-grid,
  .fulfillment-stage-grid {
    grid-template-columns: 1fr;
  }
  .order-flow-step::after {
    display: none;
  }
}
/* Tech cockpit visual refresh */
:root {
  --bg: #06100d;
  --surface: rgba(9, 23, 19, 0.9);
  --surface-2: rgba(12, 34, 27, 0.92);
  --surface-3: rgba(16, 48, 38, 0.88);
  --ink: #eefcf5;
  --muted: #a8bbb2;
  --subtle: #6f857a;
  --line: rgba(141, 220, 184, 0.16);
  --line-strong: rgba(127, 236, 188, 0.3);
  --green: #2fe6a1;
  --green-deep: #0b7d57;
  --green-2: rgba(47, 230, 161, 0.12);
  --gold: #f6ca4e;
  --blue: #55b5ff;
  --red: #ff6b73;
  --shadow: 0 24px 70px rgba(0, 0, 0, 0.42);
  --shadow-soft: 0 18px 44px rgba(0, 0, 0, 0.28);
  --radius: 18px;
  --radius-lg: 26px;
  --radius-xl: 34px;
}
html,
body {
  background:
    radial-gradient(circle at 78% -12%, rgba(47, 230, 161, 0.22), transparent 34%),
    radial-gradient(circle at 8% 6%, rgba(85, 181, 255, 0.16), transparent 29%),
    radial-gradient(circle at 50% 112%, rgba(246, 202, 78, 0.08), transparent 34%),
    linear-gradient(180deg, #07130f 0%, #091613 45%, #06100d 100%);
  color: var(--ink);
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(127, 236, 188, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(127, 236, 188, 0.06) 1px, transparent 1px),
    radial-gradient(circle at 65% 14%, rgba(47, 230, 161, 0.14), transparent 26%);
  background-size: 36px 36px, 36px 36px, 100% 100%;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.72), rgba(0, 0, 0, 0.18));
}
body::after {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background:
    linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.04) 42%, transparent 68%),
    repeating-linear-gradient(180deg, rgba(255, 255, 255, 0.018) 0 1px, transparent 1px 7px);
  opacity: 0.32;
}
.login-screen,
.app-shell,
.drawer,
.toast-stack {
  position: relative;
  z-index: 1;
}
.login-screen {
  background:
    radial-gradient(circle at 68% 18%, rgba(47, 230, 161, 0.24), transparent 26%),
    radial-gradient(circle at 22% 80%, rgba(85, 181, 255, 0.16), transparent 28%),
    linear-gradient(145deg, rgba(5, 18, 15, 0.96), rgba(7, 34, 26, 0.92));
}
.login-card {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(164, 255, 213, 0.18);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(12, 45, 34, 0.94), rgba(8, 22, 19, 0.94) 55%, rgba(14, 35, 30, 0.96)),
    radial-gradient(circle at 78% 22%, rgba(246, 202, 78, 0.18), transparent 22%);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.46), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}
.login-card::before {
  content: "";
  position: absolute;
  inset: -1px;
  pointer-events: none;
  background:
    linear-gradient(120deg, rgba(47, 230, 161, 0.22), transparent 28%, transparent 70%, rgba(85, 181, 255, 0.18)),
    linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.07), transparent);
  opacity: 0.68;
}
.login-copy,
.login-form {
  position: relative;
  z-index: 1;
}
.login-copy h1,
.login-copy p,
.login-form label,
.form-field,
.login-form span,
.form-field span {
  color: var(--ink);
}
.login-copy p,
.login-form span,
.form-field span {
  color: var(--muted);
}
.login-form {
  border: 1px solid rgba(141, 220, 184, 0.18);
  border-radius: 24px;
  background: rgba(5, 17, 14, 0.66);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.app-shell {
  background: transparent;
}
.sidebar {
  background: linear-gradient(180deg, rgba(5, 17, 15, 0.92), rgba(7, 18, 16, 0.96));
  border-right: 1px solid rgba(141, 220, 184, 0.14);
  box-shadow: 16px 0 54px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(18px);
}
.logo-lockup {
  border: 1px solid rgba(141, 220, 184, 0.16);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(47, 230, 161, 0.1), rgba(85, 181, 255, 0.05));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.logo-mark {
  background: linear-gradient(135deg, #2fe6a1, #55b5ff);
  color: #03110c;
  box-shadow: 0 12px 34px rgba(47, 230, 161, 0.28);
}
.brand-text strong,
.section-title,
.panel-title,
.customer-card-head strong,
.meal-box-head strong,
.metric-value,
.drawer-head h2,
.topbar-title strong {
  color: var(--ink);
}
.brand-text span,
.section-subtitle,
.panel-sub,
.customer-card-head span,
.customer-card-foot span,
.meal-box-head span,
.metric-note,
.metric-label,
.module-note,
.drawer-head span,
.topbar-title span {
  color: var(--muted);
}
.nav-button {
  border: 1px solid transparent;
  color: var(--muted);
  background: transparent;
  transition:
    transform 0.24s cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 0.24s ease,
    background 0.24s ease,
    color 0.24s ease,
    box-shadow 0.24s ease;
}
.nav-button:hover {
  color: var(--ink);
  border-color: rgba(141, 220, 184, 0.16);
  background: rgba(47, 230, 161, 0.08);
  transform: translateX(2px);
}
.nav-button.active {
  color: #edfff7;
  border-color: rgba(47, 230, 161, 0.28);
  background:
    linear-gradient(90deg, rgba(47, 230, 161, 0.22), rgba(85, 181, 255, 0.08)),
    rgba(47, 230, 161, 0.08);
  box-shadow: inset 3px 0 0 var(--green), 0 12px 28px rgba(47, 230, 161, 0.12);
}
.nav-icon {
  color: currentColor;
}
.sidebar-card,
.admin-user,
.topbar-search,
.module-note,
.panel,
.metric,
.customer-card,
.preset-card,
.meal-box-card,
.drawer-panel,
.table,
.qms-card,
.settings-impact-card,
.access-role-card,
.order-command-card,
.confirmed-menu-order-card,
.fulfillment-stage-card {
  border: 1px solid rgba(141, 220, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(13, 34, 29, 0.86), rgba(8, 22, 19, 0.9)),
    radial-gradient(circle at 92% 0%, rgba(47, 230, 161, 0.1), transparent 24%);
  box-shadow: var(--shadow-soft), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}
.sidebar-card {
  background:
    linear-gradient(145deg, rgba(47, 230, 161, 0.13), rgba(85, 181, 255, 0.06)),
    rgba(8, 22, 19, 0.88);
}
.main {
  background: transparent;
}
.topbar {
  border-bottom: 1px solid rgba(141, 220, 184, 0.14);
  background: rgba(5, 16, 14, 0.72);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(18px);
}
.topbar::after {
  content: "";
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: -1px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(47, 230, 161, 0.55), transparent);
}
.primary-action,
.ghost-action,
.mini-action {
  transition:
    transform 0.22s cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 0.22s ease,
    border-color 0.22s ease,
    background 0.22s ease;
}
.primary-action {
  border: 1px solid rgba(47, 230, 161, 0.42);
  background: linear-gradient(135deg, #2fe6a1, #0ea66e 58%, #0b7d57);
  color: #03110c;
  box-shadow: 0 16px 34px rgba(47, 230, 161, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}
.primary-action.yellow {
  border-color: rgba(246, 202, 78, 0.5);
  background: linear-gradient(135deg, #ffe176, #f6ca4e 60%, #b98216);
  color: #211605;
  box-shadow: 0 16px 34px rgba(246, 202, 78, 0.2);
}
.ghost-action,
.mini-action {
  border: 1px solid rgba(141, 220, 184, 0.18);
  background: rgba(8, 24, 20, 0.82);
  color: var(--ink);
}
.primary-action:hover,
.ghost-action:hover,
.mini-action:hover,
.customer-card:hover,
.meal-box-card:hover,
.preset-card:hover {
  transform: translateY(-1px);
  border-color: rgba(47, 230, 161, 0.42);
  box-shadow: 0 20px 46px rgba(0, 0, 0, 0.32), 0 0 0 1px rgba(47, 230, 161, 0.06);
}
.primary-action:active,
.ghost-action:active,
.mini-action:active {
  transform: translateY(0) scale(0.985);
}
input,
select,
textarea,
.login-form input,
.form-field input,
.form-field select,
.form-field textarea,
.panel-head select,
.topbar-search input {
  border: 1px solid rgba(141, 220, 184, 0.16);
  background: rgba(4, 17, 14, 0.72);
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}
input::placeholder,
textarea::placeholder,
.topbar-search input::placeholder {
  color: rgba(168, 187, 178, 0.62);
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  border-color: rgba(47, 230, 161, 0.72);
  box-shadow: 0 0 0 4px rgba(47, 230, 161, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}
.panel,
.metric,
.customer-card,
.meal-box-card,
.drawer-panel {
  border-radius: 20px;
}
.panel-head,
.customer-card-head,
.customer-card-foot,
.meal-box-head,
.drawer-head,
.drawer-actions {
  border-color: rgba(141, 220, 184, 0.14);
}
.table {
  overflow: hidden;
  border-radius: 18px;
}
.table th {
  background: rgba(47, 230, 161, 0.08);
  color: #dffced;
}
.table td {
  border-color: rgba(141, 220, 184, 0.1);
  color: rgba(238, 252, 245, 0.9);
}
.table tbody tr {
  background: rgba(9, 24, 20, 0.34);
}
.table tbody tr:hover {
  background: rgba(47, 230, 161, 0.08);
}
.metric::before,
.customer-card::before,
.meal-box-card::before,
.panel::before {
  opacity: 0.5;
}
.status-pill,
.badge,
.tag,
.pill {
  border-color: rgba(141, 220, 184, 0.18);
  background: rgba(47, 230, 161, 0.1);
  color: #dffced;
}
.drawer-backdrop {
  background: rgba(0, 0, 0, 0.62);
  backdrop-filter: blur(10px);
}
.drawer-panel {
  background:
    linear-gradient(180deg, rgba(12, 32, 27, 0.98), rgba(5, 17, 15, 0.98)),
    radial-gradient(circle at 90% 8%, rgba(85, 181, 255, 0.12), transparent 24%);
}
.empty-state,
.empty-state.compact {
  border: 1px dashed rgba(141, 220, 184, 0.22);
  background: rgba(8, 24, 20, 0.5);
  color: var(--muted);
}
.smart-map-head,
.smart-map-steps button,
.smart-condition-console,
.smart-condition-fact,
.smart-condition-flow-step,
.smart-condition-mode-card,
.smart-condition-rules div,
.smart-condition-gate,
.menu-publish-hero,
.menu-publish-preview,
.menu-publish-step-card,
.smart-event-project-sheets,
.smart-event-sheet,
.smart-event-empty,
.smart-event-menu-list span,
.weekly-editor-overview,
.weekly-editor-card,
.weekly-editor-excel-brief,
.weekly-editor-kpis span,
.weekly-editor-item,
.weekly-editor-candidate,
.weekly-editor-empty,
.weekly-menu-preflight,
.weekly-preflight-metrics span,
.weekly-preflight-risk,
.menu-item-editor-guide,
.smart-review-card,
.smart-review-summary,
.smart-review-meal-card,
.smart-customer-menu-card,
.smart-result-card,
.menu-export-card {
  border-color: rgba(141, 220, 184, 0.16);
  background:
    linear-gradient(180deg, rgba(13, 34, 29, 0.84), rgba(6, 18, 16, 0.9)),
    radial-gradient(circle at 100% 0%, rgba(47, 230, 161, 0.09), transparent 28%);
  color: var(--ink);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(255, 255, 255, 0.055);
}
.smart-condition-mode-card.yellow,
.weekly-menu-preflight.warn,
.menu-publish-hero.draft,
.weekly-editor-card.candidate {
  border-color: rgba(246, 202, 78, 0.28);
  background:
    linear-gradient(180deg, rgba(40, 33, 13, 0.86), rgba(12, 22, 18, 0.9)),
    radial-gradient(circle at 100% 0%, rgba(246, 202, 78, 0.18), transparent 28%);
}
.smart-condition-mode-card.red,
.weekly-menu-preflight.red,
.weekly-editor-item.disabled,
.weekly-editor-candidate.missing {
  border-color: rgba(255, 107, 115, 0.24);
  background:
    linear-gradient(180deg, rgba(42, 18, 20, 0.82), rgba(12, 19, 18, 0.9)),
    radial-gradient(circle at 100% 0%, rgba(255, 107, 115, 0.12), transparent 28%);
}
.smart-map-head strong,
.smart-map-steps strong,
.smart-condition-main .section-title h3,
.smart-condition-fact strong,
.smart-condition-flow-step strong,
.smart-condition-mode-card strong,
.smart-condition-rules strong,
.smart-condition-gate strong,
.menu-publish-hero h3,
.menu-publish-preview strong,
.menu-publish-step-card strong,
.smart-event-sheet-head strong,
.smart-event-empty strong,
.smart-event-menu-list span,
.weekly-editor-overview h3,
.weekly-editor-card.empty strong,
.weekly-editor-menu-head strong,
.weekly-editor-item-main strong,
.weekly-preflight-head strong,
.weekly-preflight-metrics b,
.weekly-preflight-risk strong,
.menu-item-editor-guide h3,
.smart-review-card strong,
.smart-customer-menu-card strong,
.smart-result-card strong,
.menu-export-card strong {
  color: var(--ink);
}
.smart-map-head p,
.smart-map-steps span,
.smart-condition-main .section-title p,
.smart-condition-fact span,
.smart-condition-flow-step span,
.smart-condition-mode-card p,
.smart-condition-rules span,
.smart-condition-gate span,
.menu-publish-hero p,
.menu-publish-step-card p,
.smart-event-sheet p,
.smart-event-empty p,
.weekly-editor-overview p,
.weekly-editor-card.empty p,
.weekly-editor-menu-head p,
.weekly-editor-item-main p,
.weekly-editor-empty,
.weekly-preflight-head p,
.weekly-preflight-metrics small,
.weekly-preflight-risk span,
.weekly-preflight-clear,
.menu-item-editor-guide p,
.smart-review-card p,
.smart-customer-menu-card p,
.smart-result-card p,
.menu-export-card p {
  color: var(--muted);
}
.smart-map-steps b,
.smart-condition-flow-step b,
.weekly-preflight-head em {
  background: linear-gradient(135deg, var(--green), var(--blue));
  color: #03110c;
  box-shadow: 0 12px 28px rgba(47, 230, 161, 0.18);
}
.menu-publish-hero span,
.menu-publish-preview span,
.smart-event-sheet-head span,
.weekly-editor-excel-brief span,
.weekly-editor-menu-head span,
.weekly-editor-item-main span,
.weekly-preflight-head span,
.smart-condition-mode-card em,
.smart-condition-mode-card span {
  color: var(--green);
}
.menu-publish-hero strong,
.weekly-editor-excel-brief,
.customer-excel-export {
  border-color: rgba(246, 202, 78, 0.28);
  background: rgba(246, 202, 78, 0.12);
  color: #ffe89a;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.055);
}
.weekly-preflight-clear {
  border: 1px solid rgba(47, 230, 161, 0.16);
  background: rgba(47, 230, 161, 0.08);
  color: #b8f9dc;
}
.weekly-editor-item-meta em,
.smart-event-sheet-meta em {
  background: rgba(47, 230, 161, 0.1);
  color: #b8f9dc;
}
.smart-event-menu-list span.empty,
.weekly-editor-candidate-list span {
  border-color: rgba(141, 220, 184, 0.16);
  background: rgba(8, 24, 20, 0.62);
  color: var(--muted);
}
.mini-action.primary-mini {
  background: linear-gradient(135deg, var(--green), var(--green-deep));
  color: #03110c;
}
.mini-action.danger {
  background: rgba(255, 107, 115, 0.12);
  color: #ffb6bb;
}
/* 2026-06-13 refined tech operations skin v2
   Direction: light command center, dark precision sidebar, strong operational hierarchy. */
:root {
  --bg: #f4f7f8;
  --surface: #ffffff;
  --surface-2: #f8fbfb;
  --surface-3: #edf5f4;
  --ink: #10201c;
  --muted: #5f716c;
  --subtle: #90a09b;
  --line: #dfe8e6;
  --line-strong: #cad9d5;
  --green: #087a55;
  --green-deep: #04553c;
  --green-2: #e7f6ef;
  --blue: #126fb3;
  --blue-2: #e8f3fb;
  --cyan: #0e9faa;
  --cyan-2: #e5f7f8;
  --gold: #b97706;
  --gold-2: #fff3d0;
  --red: #c24136;
  --red-2: #ffe8e5;
  --shadow: 0 24px 64px rgba(28, 62, 55, 0.10);
  --shadow-soft: 0 12px 34px rgba(28, 62, 55, 0.075);
  --focus-ring: 0 0 0 4px rgba(8, 122, 85, 0.16);
}
html,
body {
  background:
    linear-gradient(rgba(14, 159, 170, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14, 159, 170, 0.03) 1px, transparent 1px),
    radial-gradient(circle at 86% -6%, rgba(14, 159, 170, 0.12), transparent 30%),
    radial-gradient(circle at 5% 2%, rgba(8, 122, 85, 0.10), transparent 28%),
    linear-gradient(180deg, #fbfdfd 0%, #f4f7f8 48%, #edf3f2 100%);
  background-size: 32px 32px, 32px 32px, auto, auto, auto;
  color: var(--ink);
  font-family: "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;
  font-variant-numeric: tabular-nums;
}
body::before,
body::after,
body.authenticated::before {
  display: none;
}
.login-screen {
  background:
    radial-gradient(circle at 78% 18%, rgba(14, 159, 170, 0.16), transparent 28%),
    linear-gradient(135deg, #f9fcfb 0%, #edf7f4 100%);
}
.login-card {
  border: 1px solid rgba(202, 217, 213, 0.72);
  border-radius: 28px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 251, 0.92)),
    radial-gradient(circle at 14% 12%, rgba(8, 122, 85, 0.09), transparent 26%);
  box-shadow: 0 34px 90px rgba(31, 68, 59, 0.16);
  overflow: hidden;
}
.login-card::before {
  opacity: 0.45;
  background:
    linear-gradient(90deg, rgba(8, 122, 85, 0.24), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), transparent);
}
.login-form,
.login-copy {
  border-radius: 22px;
}
.app-shell {
  background: transparent;
}
.sidebar {
  border-right: 0;
  background:
    radial-gradient(circle at 18% 8%, rgba(18, 111, 179, 0.24), transparent 28%),
    linear-gradient(180deg, #10221f 0%, #081815 100%);
  box-shadow: 22px 0 70px rgba(20, 48, 43, 0.16);
}
.logo-lockup {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
.logo-text strong,
.admin-user strong,
.sidebar-card strong {
  color: #f5fffb;
}
.logo-text span,
.admin-user span,
.sidebar-card small {
  color: rgba(221, 242, 236, 0.62);
}
.logo-mark {
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}
.nav-section-title {
  color: rgba(221, 242, 236, 0.45);
}
.nav-button {
  border: 1px solid transparent;
  border-radius: 14px;
  color: rgba(221, 242, 236, 0.72);
  background: transparent;
  transition:
    transform 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.28s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.28s cubic-bezier(0.22, 1, 0.36, 1);
}
.nav-button:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.10);
  background: rgba(255, 255, 255, 0.07);
  transform: translateX(3px);
  box-shadow: none;
}
.nav-button.active {
  color: #ffffff;
  border-color: rgba(94, 234, 212, 0.22);
  background:
    linear-gradient(90deg, rgba(15, 185, 129, 0.26), rgba(18, 111, 179, 0.14)),
    rgba(255, 255, 255, 0.07);
  box-shadow:
    inset 3px 0 0 #45d69a,
    0 14px 32px rgba(0, 0, 0, 0.16);
}
.nav-button.active::before {
  opacity: 0;
}
.nav-icon,
.nav-button.active .nav-icon {
  color: currentColor;
}
.sidebar-card,
.admin-user {
  border: 1px solid rgba(255, 255, 255, 0.10);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.10), rgba(255, 255, 255, 0.045)),
    rgba(255, 255, 255, 0.035);
  box-shadow: none;
}
.main {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0)),
    transparent;
}
.topbar {
  border-bottom: 1px solid rgba(202, 217, 213, 0.72);
  background: rgba(250, 253, 252, 0.90);
  box-shadow: 0 14px 40px rgba(30, 68, 60, 0.08);
  backdrop-filter: blur(18px);
}
.topbar::after {
  display: none;
}
.topbar-title strong,
.page-title,
.section-title h3,
.panel-title,
.customer-card-head strong,
.row-title,
.metric-value,
.drawer-head h2 {
  color: var(--ink);
  letter-spacing: -0.01em;
}
.topbar-title span,
.panel-sub,
.row-sub,
.metric-label,
.metric-note,
.customer-card-head span,
.customer-card-foot span,
.drawer-head span,
.module-note {
  color: var(--muted);
}
.topbar-search,
.login-form,
.panel,
.metric,
.customer-card,
.preset-card,
.meal-box-card,
.drawer-panel,
.table,
.qms-card,
.settings-impact-card,
.access-role-card,
.order-command-card,
.confirmed-menu-order-card,
.fulfillment-stage-card,
.smart-map-head,
.smart-map-steps button,
.smart-condition-console,
.smart-condition-fact,
.smart-condition-flow-step,
.smart-condition-mode-card,
.smart-condition-rules div,
.smart-condition-gate,
.menu-publish-hero,
.menu-publish-preview,
.menu-publish-step-card,
.smart-event-project-sheets,
.smart-event-sheet,
.smart-event-empty,
.weekly-editor-overview,
.weekly-editor-card,
.weekly-editor-excel-brief,
.weekly-editor-kpis span,
.weekly-editor-item,
.weekly-editor-candidate,
.weekly-editor-empty,
.weekly-menu-preflight,
.weekly-preflight-metrics span,
.weekly-preflight-risk,
.menu-item-editor-guide,
.smart-review-card,
.smart-review-summary,
.smart-review-meal-card,
.smart-customer-menu-card,
.smart-result-card,
.menu-export-card,
.smart-review-work-order,
.smart-review-confirm-sheet,
.smart-review-excel-pack,
.smart-review-readable-week,
.smart-review-hero-card,
.smart-review-week-table-wrap {
  border: 1px solid rgba(202, 217, 213, 0.78);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 251, 250, 0.96));
  color: var(--ink);
  box-shadow: var(--shadow-soft);
}
.panel,
.metric,
.customer-card,
.meal-box-card,
.preset-card,
.smart-condition-console,
.smart-review-work-order,
.smart-review-confirm-sheet,
.smart-review-excel-pack,
.smart-review-readable-week,
.smart-review-hero-card,
.smart-review-week-table-wrap {
  border-radius: 20px;
}
.panel::before,
.metric::before,
.customer-card::before,
.meal-box-card::before {
  opacity: 0;
}
.panel-head,
.customer-card-head,
.customer-card-foot,
.meal-box-head,
.drawer-head,
.drawer-actions {
  border-color: rgba(202, 217, 213, 0.72);
}
.metric {
  position: relative;
  overflow: hidden;
}
.metric::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 18px;
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(8, 122, 85, 0.08);
}
.metric.warn {
  border-color: rgba(245, 158, 11, 0.34);
  background: linear-gradient(180deg, #fffaf0, #fff6de);
}
.metric.red {
  border-color: rgba(194, 65, 54, 0.26);
  background: linear-gradient(180deg, #fff7f5, #ffebe8);
}
.metric.blue {
  border-color: rgba(18, 111, 179, 0.24);
  background: linear-gradient(180deg, #f2f8ff, #e8f3fb);
}
.metric.warn .metric-value,
.tag.warn,
.status-pill.warn {
  color: #9a5b05;
}
.metric.red .metric-value,
.tag.red,
.status-pill.red {
  color: #ad2e25;
}
.metric.blue .metric-value,
.tag.blue,
.status-pill.blue {
  color: #125f9a;
}
.primary-action {
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #0fa36b, #087a55);
  color: #ffffff;
  box-shadow: 0 14px 30px rgba(8, 122, 85, 0.24);
}
.primary-action.yellow {
  background: linear-gradient(135deg, #f6c34f, #c9830a);
  color: #201303;
  box-shadow: 0 14px 28px rgba(185, 119, 6, 0.20);
}
.ghost-action,
.mini-action {
  border: 1px solid rgba(202, 217, 213, 0.84);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.82);
  color: var(--ink);
  box-shadow: none;
}
.primary-action:hover,
.ghost-action:hover,
.mini-action:hover,
.customer-card:hover,
.meal-box-card:hover,
.preset-card:hover {
  transform: translateY(-1px);
  border-color: rgba(8, 122, 85, 0.30);
  box-shadow: 0 18px 42px rgba(28, 62, 55, 0.12);
}
.primary-action:active,
.ghost-action:active,
.mini-action:active {
  transform: translateY(0) scale(0.985);
}
input,
select,
textarea,
.login-form input,
.form-field input,
.form-field select,
.form-field textarea,
.panel-head select,
.topbar-search input {
  border: 1px solid rgba(202, 217, 213, 0.88);
  border-radius: 12px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
input::placeholder,
textarea::placeholder,
.topbar-search input::placeholder {
  color: #9aa9a4;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  border-color: rgba(8, 122, 85, 0.66);
  box-shadow: var(--focus-ring);
}
.table {
  border-radius: 18px;
  overflow: hidden;
}
.table th,
.smart-review-week-table thead th {
  background: #eef6f4;
  color: #425853;
}
.table td,
.smart-review-week-table th,
.smart-review-week-table td {
  border-color: rgba(223, 232, 230, 0.92);
  color: var(--ink);
}
.table tbody tr,
.smart-review-week-table tbody tr {
  background: rgba(255, 255, 255, 0.72);
}
.table tbody tr:hover,
.smart-review-week-table tbody tr:hover {
  background: #f2faf7;
}
.tag,
.badge,
.pill,
.status-pill,
.smart-review-meal .status {
  border: 1px solid rgba(8, 122, 85, 0.15);
  background: #e8f6ef;
  color: #087a55;
}
.tag.warn,
.badge.warn,
.pill.warn,
.status-pill.warn,
.smart-condition-mode-card.yellow,
.weekly-menu-preflight.warn,
.menu-publish-hero.draft,
.weekly-editor-card.candidate,
.smart-review-hero-card.warn,
.smart-review-meal.warn {
  border-color: rgba(245, 158, 11, 0.32);
  background: linear-gradient(180deg, #fff9ea, #fff3d0);
  color: #7c4a03;
}
.tag.red,
.badge.red,
.pill.red,
.status-pill.red,
.smart-condition-mode-card.red,
.weekly-menu-preflight.red,
.weekly-editor-item.disabled,
.weekly-editor-candidate.missing,
.smart-review-hero-card.red,
.smart-review-meal.red {
  border-color: rgba(194, 65, 54, 0.26);
  background: linear-gradient(180deg, #fff7f5, #ffe8e5);
  color: #a9362d;
}
.drawer-backdrop {
  background: rgba(16, 32, 28, 0.38);
  backdrop-filter: blur(12px);
}
.drawer-panel {
  background: #fbfdfc;
  box-shadow: -24px 0 80px rgba(25, 56, 49, 0.18);
}
.empty-state,
.empty-state.compact {
  border: 1px dashed rgba(8, 122, 85, 0.26);
  background: #f3faf7;
  color: var(--muted);
}
.smart-map-head strong,
.smart-map-steps strong,
.smart-condition-main .section-title h3,
.smart-condition-fact strong,
.smart-condition-flow-step strong,
.smart-condition-mode-card strong,
.smart-condition-rules strong,
.smart-condition-gate strong,
.menu-publish-hero h3,
.menu-publish-preview strong,
.menu-publish-step-card strong,
.smart-event-sheet-head strong,
.smart-event-empty strong,
.weekly-editor-overview h3,
.weekly-editor-card.empty strong,
.weekly-editor-menu-head strong,
.weekly-editor-item-main strong,
.weekly-preflight-head strong,
.weekly-preflight-metrics b,
.weekly-preflight-risk strong,
.menu-item-editor-guide h3,
.smart-review-card strong,
.smart-customer-menu-card strong,
.smart-result-card strong,
.menu-export-card strong,
.smart-review-cockpit-head h3,
.smart-review-work-order h3,
.smart-review-confirm-main h3,
.smart-review-excel-copy h3,
.smart-review-readable-head h3,
.smart-review-hero-head h3,
.smart-review-week-title strong,
.smart-review-meal strong {
  color: var(--ink);
}
.smart-map-head p,
.smart-map-steps span,
.smart-condition-main .section-title p,
.smart-condition-fact span,
.smart-condition-flow-step span,
.smart-condition-mode-card p,
.smart-condition-rules span,
.smart-condition-gate span,
.menu-publish-hero p,
.menu-publish-step-card p,
.smart-event-sheet p,
.smart-event-empty p,
.weekly-editor-overview p,
.weekly-editor-card.empty p,
.weekly-editor-menu-head p,
.weekly-editor-item-main p,
.weekly-editor-empty,
.weekly-preflight-head p,
.weekly-preflight-metrics small,
.weekly-preflight-risk span,
.weekly-preflight-clear,
.menu-item-editor-guide p,
.smart-review-card p,
.smart-customer-menu-card p,
.smart-result-card p,
.menu-export-card p,
.smart-review-cockpit-head p,
.smart-review-work-order p,
.smart-review-confirm-main p,
.smart-review-excel-copy p,
.smart-review-readable-head p,
.smart-review-hero-head p,
.smart-review-week-title span,
.smart-review-meal p,
.smart-review-meal small {
  color: var(--muted);
}
.smart-map-steps b,
.smart-condition-flow-step b,
.weekly-preflight-head em {
  background: linear-gradient(135deg, #0fa36b, #0e9faa);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(8, 122, 85, 0.18);
}
.menu-publish-hero span,
.menu-publish-preview span,
.smart-event-sheet-head span,
.weekly-editor-excel-brief span,
.weekly-editor-menu-head span,
.weekly-editor-item-main span,
.weekly-preflight-head span,
.smart-condition-mode-card em,
.smart-condition-mode-card span,
.smart-review-hero-head span,
.smart-review-hero-actions span,
.smart-review-cockpit-metrics small,
.smart-review-confirm-stats small {
  color: var(--green);
}
.menu-publish-hero strong,
.weekly-editor-excel-brief,
.customer-excel-export,
.smart-review-excel-pack {
  border-color: rgba(245, 158, 11, 0.26);
  background: #fff8e7;
  color: #7a4a05;
  box-shadow: var(--shadow-soft);
}
.weekly-preflight-clear,
.smart-review-meal.selected {
  border-color: rgba(8, 122, 85, 0.25);
  background: #e8f6ef;
  color: var(--green-deep);
}
.weekly-editor-item-meta em,
.smart-event-sheet-meta em {
  background: #eef6f4;
  color: var(--green-deep);
}
.smart-event-menu-list span.empty,
.weekly-editor-candidate-list span {
  border-color: rgba(202, 217, 213, 0.86);
  background: #f8fbfb;
  color: var(--muted);
}
.mini-action.primary-mini {
  background: linear-gradient(135deg, #0fa36b, #087a55);
  color: #ffffff;
  border-color: transparent;
}
.mini-action.danger {
  background: #fff0ee;
  color: #b4352c;
  border-color: rgba(194, 65, 54, 0.18);
}
/* 2026-06-13 final visual direction: precision light-tech operations console.
   This intentionally overrides the earlier dark neon experiment. */
:root {
  --bg: #f5f7f9;
  --surface: #ffffff;
  --surface-2: #f9fbfb;
  --surface-3: #eef5f4;
  --ink: #12201d;
  --ink-2: #20342f;
  --muted: #62736f;
  --subtle: #94a19e;
  --line: #dde7e5;
  --line-strong: #c6d5d1;
  --green: #087a55;
  --green-deep: #054f3a;
  --green-2: #e8f6ef;
  --blue: #1d72b8;
  --blue-2: #e7f2fb;
  --cyan: #0f9ea8;
  --cyan-2: #e6f7f8;
  --gold: #b97807;
  --gold-2: #fff4d7;
  --red: #c0392f;
  --red-2: #ffe9e6;
  --shadow: 0 24px 70px rgba(28, 56, 51, 0.10);
  --shadow-soft: 0 12px 36px rgba(28, 56, 51, 0.075);
  --shadow-tiny: 0 6px 18px rgba(28, 56, 51, 0.055);
  --focus-ring: 0 0 0 4px rgba(8, 122, 85, 0.16);
}
html,
body {
  min-width: 1180px;
  background:
    linear-gradient(rgba(15, 158, 168, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 158, 168, 0.03) 1px, transparent 1px),
    linear-gradient(180deg, #fbfdfd 0%, #f5f7f9 52%, #edf3f2 100%);
  background-size: 36px 36px, 36px 36px, auto;
  color: var(--ink);
  font-family: "HarmonyOS Sans SC", "MiSans", "PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0;
}
body::before,
body::after,
body.authenticated::before {
  display: none !important;
}
button,
input,
select,
textarea {
  font: inherit;
}
button {
  border-radius: 12px;
}
.app-shell {
  grid-template-columns: 272px minmax(0, 1fr);
  background: transparent;
}
.sidebar {
  padding: 18px 14px;
  border-right: 0;
  background:
    linear-gradient(180deg, rgba(20, 47, 43, 0.96), rgba(8, 24, 22, 0.99)),
    linear-gradient(135deg, rgba(20, 115, 84, 0.34), transparent 42%);
  box-shadow: 22px 0 70px rgba(13, 33, 30, 0.20);
}
.logo-lockup {
  min-height: 62px;
  padding: 8px 10px 16px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.10);
}
.logo-mark {
  width: 84px;
  height: 44px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}
.logo-mark img {
  width: 92%;
  height: 92%;
  object-fit: contain;
}
.logo-text strong,
.admin-user strong,
.sidebar-card strong {
  color: #f7fffc;
}
.logo-text small,
.admin-user span,
.sidebar-card div,
.sidebar-card small {
  color: rgba(222, 244, 238, 0.62);
}
.nav {
  gap: 5px;
  margin-top: 16px;
}
.nav-group,
.nav-section-title {
  margin: 16px 10px 7px;
  color: rgba(222, 244, 238, 0.46);
  font-size: 11px;
  letter-spacing: 0.04em;
}
.nav-button {
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: rgba(235, 250, 246, 0.76);
  background: transparent;
  transition:
    transform 0.24s cubic-bezier(0.22, 1, 0.36, 1),
    background 0.24s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.24s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.24s cubic-bezier(0.22, 1, 0.36, 1);
}
.nav-button:hover {
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.11);
  background: rgba(255, 255, 255, 0.075);
  transform: translateX(3px);
  box-shadow: none;
}
.nav-button.active {
  color: #ffffff;
  border-color: rgba(83, 223, 172, 0.24);
  background:
    linear-gradient(90deg, rgba(8, 122, 85, 0.50), rgba(29, 114, 184, 0.16)),
    rgba(255, 255, 255, 0.065);
  box-shadow: inset 3px 0 0 #56d99d, 0 12px 28px rgba(0, 0, 0, 0.14);
}
.nav-button.active::before {
  opacity: 0;
}
.nav-icon,
.nav-button.active .nav-icon {
  background: rgba(255, 255, 255, 0.10);
  color: currentColor;
}
.sidebar-card,
.admin-user {
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: 16px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.105), rgba(255, 255, 255, 0.045));
  box-shadow: none;
}
.main {
  padding: 22px 30px 46px;
  background: transparent;
}
.topbar {
  top: 0;
  margin: -2px -4px 22px;
  padding: 14px 18px;
  border: 1px solid rgba(221, 231, 229, 0.88);
  border-radius: 22px;
  background: rgba(255, 255, 255, 0.90);
  box-shadow: 0 18px 48px rgba(33, 66, 59, 0.10);
  backdrop-filter: blur(18px);
}
.topbar::after {
  display: none;
}
.content {
  width: min(100%, 1720px);
  margin: 0 auto;
  gap: 22px;
}
.eyebrow,
.login-kicker {
  color: var(--green);
  letter-spacing: 0.05em;
}
.topbar-title strong,
.page-title,
.section-title h3,
.panel-title,
.customer-card-head strong,
.row-title,
.metric-value,
.drawer-head h2,
h1,
h2,
h3 {
  color: var(--ink);
  letter-spacing: -0.01em;
}
.topbar-title span,
.panel-sub,
.row-sub,
.metric-label,
.metric-note,
.customer-card-head span,
.customer-card-foot span,
.drawer-head span,
.module-note,
.section-title p {
  color: var(--muted);
}
.login-card,
.login-form,
.topbar-search,
.panel,
.metric,
.customer-card,
.preset-card,
.meal-box-card,
.table,
.qms-card,
.settings-impact-card,
.access-role-card,
.order-command-card,
.confirmed-menu-order-card,
.fulfillment-stage-card,
.dashboard-strip,
.menu-ai-hero,
.smart-use-navigator-card,
.smart-operator-panel,
.smart-map-head,
.smart-map-steps button,
.smart-condition-console,
.smart-condition-fact,
.smart-condition-flow-step,
.smart-condition-mode-card,
.smart-condition-rules div,
.smart-condition-gate,
.menu-publish-hero,
.menu-publish-preview,
.menu-publish-step-card,
.smart-event-project-sheets,
.smart-event-sheet,
.smart-event-empty,
.weekly-editor-overview,
.weekly-editor-card,
.weekly-editor-excel-brief,
.weekly-editor-kpis span,
.weekly-editor-item,
.weekly-editor-candidate,
.weekly-editor-empty,
.weekly-menu-preflight,
.weekly-preflight-metrics span,
.weekly-preflight-risk,
.menu-item-editor-guide,
.smart-review-card,
.smart-review-summary,
.smart-review-meal-card,
.smart-customer-menu-card,
.smart-result-card,
.menu-export-card,
.smart-review-cockpit-head,
.smart-review-work-order,
.smart-review-confirm-sheet,
.smart-review-excel-pack,
.smart-review-readable-week,
.smart-review-readable-head,
.smart-review-hero-card,
.smart-review-week-table-wrap,
.drawer-panel {
  border: 1px solid rgba(202, 217, 213, 0.82);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 251, 0.96));
  color: var(--ink);
  box-shadow: var(--shadow-soft);
}
.panel,
.metric,
.customer-card,
.preset-card,
.meal-box-card,
.menu-ai-hero,
.smart-condition-console,
.smart-review-cockpit-head,
.smart-review-work-order,
.smart-review-confirm-sheet,
.smart-review-excel-pack,
.smart-review-readable-week,
.smart-review-hero-card,
.smart-review-week-table-wrap {
  border-radius: 22px;
}
.panel::before,
.metric::before,
.customer-card::before,
.meal-box-card::before {
  display: none;
}
.panel-head,
.customer-card-head,
.customer-card-foot,
.meal-box-head,
.drawer-head,
.drawer-actions {
  border-color: rgba(221, 231, 229, 0.92);
}
.metric {
  position: relative;
  overflow: hidden;
}
.metric::after {
  content: "";
  position: absolute;
  top: 16px;
  right: 18px;
  width: 44px;
  height: 44px;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(8, 122, 85, 0.10), rgba(29, 114, 184, 0.08));
}
.metric.warn,
.weekly-menu-preflight.warn,
.smart-condition-mode-card.yellow,
.menu-publish-hero.draft,
.weekly-editor-card.candidate,
.smart-review-hero-card.warn,
.smart-review-meal.warn {
  border-color: rgba(185, 120, 7, 0.30);
  background: linear-gradient(180deg, #fffaf0, #fff4d7);
}
.metric.red,
.weekly-menu-preflight.red,
.smart-condition-mode-card.red,
.weekly-editor-item.disabled,
.weekly-editor-candidate.missing,
.smart-review-hero-card.red,
.smart-review-meal.red {
  border-color: rgba(192, 57, 47, 0.26);
  background: linear-gradient(180deg, #fff7f5, #ffe9e6);
}
.metric.blue {
  border-color: rgba(29, 114, 184, 0.25);
  background: linear-gradient(180deg, #f3f9ff, #e7f2fb);
}
.primary-action {
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #109a6d, #087a55);
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(8, 122, 85, 0.22);
}
.primary-action.yellow {
  background: linear-gradient(135deg, #f3c44e, #bd7f06);
  color: #231603;
  box-shadow: 0 14px 28px rgba(185, 120, 7, 0.20);
}
.ghost-action,
.mini-action {
  border: 1px solid rgba(202, 217, 213, 0.90);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.84);
  color: var(--ink-2);
  box-shadow: var(--shadow-tiny);
}
.primary-action:hover,
.ghost-action:hover,
.mini-action:hover,
.customer-card:hover,
.meal-box-card:hover,
.preset-card:hover,
.smart-map-steps button:hover,
.smart-review-customer-tab:hover {
  transform: translateY(-1px);
  border-color: rgba(8, 122, 85, 0.32);
  box-shadow: 0 18px 42px rgba(28, 56, 51, 0.13);
}
.primary-action:active,
.ghost-action:active,
.mini-action:active {
  transform: translateY(0) scale(0.985);
}
input,
select,
textarea,
.login-form input,
.form-field input,
.form-field select,
.form-field textarea,
.panel-head select,
.topbar-search input {
  border: 1px solid rgba(202, 217, 213, 0.92);
  border-radius: 12px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}
input::placeholder,
textarea::placeholder,
.topbar-search input::placeholder {
  color: #9aa9a4;
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
button:focus-visible {
  outline: none;
  border-color: rgba(8, 122, 85, 0.62);
  box-shadow: var(--focus-ring);
}
.table,
.smart-review-week-table-wrap {
  overflow: hidden;
  border-radius: 18px;
}
.table th,
.smart-review-week-table thead th {
  background: #eef6f4;
  color: #3f5852;
  font-size: 12px;
  font-weight: 900;
}
.table td,
.smart-review-week-table th,
.smart-review-week-table td {
  border-color: rgba(221, 231, 229, 0.94);
  color: var(--ink);
}
.table tbody tr,
.smart-review-week-table tbody tr {
  background: rgba(255, 255, 255, 0.76);
}
.table tbody tr:hover,
.smart-review-week-table tbody tr:hover {
  background: #f1faf7;
}
.tag,
.badge,
.pill,
.status-pill,
.smart-review-meal .status {
  border: 1px solid rgba(8, 122, 85, 0.16);
  background: #e8f6ef;
  color: #087a55;
  font-weight: 900;
}
.tag.warn,
.badge.warn,
.pill.warn,
.status-pill.warn,
.metric.warn .metric-value,
.smart-review-confirm-stats .warn b {
  color: #965a05;
}
.tag.red,
.badge.red,
.pill.red,
.status-pill.red,
.metric.red .metric-value,
.smart-review-confirm-stats .red b {
  color: #a9342b;
}
.tag.blue,
.badge.blue,
.pill.blue,
.status-pill.blue,
.metric.blue .metric-value {
  color: #145f98;
}
.drawer-backdrop {
  background: rgba(14, 32, 28, 0.38);
  backdrop-filter: blur(12px);
}
.drawer-panel {
  background: #fbfdfc;
  box-shadow: -28px 0 90px rgba(25, 55, 49, 0.18);
}
.empty-state,
.empty-state.compact {
  border: 1px dashed rgba(8, 122, 85, 0.28);
  background: #f2faf7;
  color: var(--muted);
}
.smart-map-head strong,
.smart-map-steps strong,
.smart-condition-main .section-title h3,
.smart-condition-fact strong,
.smart-condition-flow-step strong,
.smart-condition-mode-card strong,
.smart-condition-rules strong,
.smart-condition-gate strong,
.menu-publish-hero h3,
.menu-publish-preview strong,
.menu-publish-step-card strong,
.smart-event-sheet-head strong,
.smart-event-empty strong,
.weekly-editor-overview h3,
.weekly-editor-card.empty strong,
.weekly-editor-menu-head strong,
.weekly-editor-item-main strong,
.weekly-preflight-head strong,
.weekly-preflight-metrics b,
.weekly-preflight-risk strong,
.menu-item-editor-guide h3,
.smart-review-card strong,
.smart-customer-menu-card strong,
.smart-result-card strong,
.menu-export-card strong,
.smart-review-cockpit-head h3,
.smart-review-work-order h3,
.smart-review-confirm-main h3,
.smart-review-excel-copy h3,
.smart-review-readable-head h3,
.smart-review-hero-head h3,
.smart-review-week-title strong,
.smart-review-meal strong {
  color: var(--ink);
}
.smart-map-head p,
.smart-map-steps span,
.smart-condition-main .section-title p,
.smart-condition-fact span,
.smart-condition-flow-step span,
.smart-condition-mode-card p,
.smart-condition-rules span,
.smart-condition-gate span,
.menu-publish-hero p,
.menu-publish-step-card p,
.smart-event-sheet p,
.smart-event-empty p,
.weekly-editor-overview p,
.weekly-editor-card.empty p,
.weekly-editor-menu-head p,
.weekly-editor-item-main p,
.weekly-editor-empty,
.weekly-preflight-head p,
.weekly-preflight-metrics small,
.weekly-preflight-risk span,
.weekly-preflight-clear,
.menu-item-editor-guide p,
.smart-review-card p,
.smart-customer-menu-card p,
.smart-result-card p,
.menu-export-card p,
.smart-review-cockpit-head p,
.smart-review-work-order p,
.smart-review-confirm-main p,
.smart-review-excel-copy p,
.smart-review-readable-head p,
.smart-review-hero-head p,
.smart-review-week-title span,
.smart-review-meal p,
.smart-review-meal small {
  color: var(--muted);
}
.smart-map-steps b,
.smart-condition-flow-step b,
.weekly-preflight-head em {
  background: linear-gradient(135deg, #109a6d, #0f9ea8);
  color: #ffffff;
  box-shadow: 0 12px 24px rgba(8, 122, 85, 0.18);
}
.menu-publish-hero span,
.menu-publish-preview span,
.smart-event-sheet-head span,
.weekly-editor-excel-brief span,
.weekly-editor-menu-head span,
.weekly-editor-item-main span,
.weekly-preflight-head span,
.smart-condition-mode-card em,
.smart-condition-mode-card span,
.smart-review-hero-head span,
.smart-review-hero-actions span,
.smart-review-cockpit-metrics small,
.smart-review-confirm-stats small {
  color: var(--green);
}
.weekly-editor-excel-brief,
.customer-excel-export,
.smart-review-excel-pack,
.menu-publish-hero strong {
  border-color: rgba(185, 120, 7, 0.26);
  background: #fff8e8;
  color: #7c4a05;
  box-shadow: var(--shadow-soft);
}
.weekly-preflight-clear,
.smart-review-meal.selected {
  border-color: rgba(8, 122, 85, 0.24);
  background: #e8f6ef;
  color: var(--green-deep);
}
.weekly-editor-item-meta em,
.smart-event-sheet-meta em,
.smart-review-hero-dishes em {
  background: #eef6f4;
  color: var(--green-deep);
}
.smart-event-menu-list span.empty,
.weekly-editor-candidate-list span {
  border-color: rgba(202, 217, 213, 0.88);
  background: #f9fbfb;
  color: var(--muted);
}
.mini-action.primary-mini {
  border-color: transparent;
  background: linear-gradient(135deg, #109a6d, #087a55);
  color: #ffffff;
}
.mini-action.danger {
  border-color: rgba(192, 57, 47, 0.20);
  background: #fff0ee;
  color: #a9342b;
}
.login-screen {
  background:
    linear-gradient(rgba(15, 158, 168, 0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(15, 158, 168, 0.03) 1px, transparent 1px),
    linear-gradient(135deg, #fbfdfd 0%, #edf7f4 100%);
  background-size: 36px 36px, 36px 36px, auto;
}
.login-card {
  width: min(980px, calc(100vw - 64px));
  border-radius: 28px;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 34px 88px rgba(31, 68, 59, 0.16);
}
.login-card::before {
  background: linear-gradient(90deg, rgba(8, 122, 85, 0.22), rgba(15, 158, 168, 0.10), transparent);
  opacity: 0.5;
}
.topbar .admin-user {
  min-width: 126px;
  border: 1px solid rgba(202, 217, 213, 0.88);
  background: #ffffff;
  color: var(--ink);
  box-shadow: var(--shadow-tiny);
}
.topbar .admin-user strong {
  color: var(--ink);
}
.topbar .admin-user span {
  color: var(--muted);
}
.topbar-search {
  height: 42px;
  border-radius: 15px;
  box-shadow: none;
}
.topbar-search span {
  color: var(--muted);
}
.topbar-search input {
  height: 34px;
  min-width: 230px;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.slash-hero {
  border: 0;
  border-radius: 24px;
  background:
    linear-gradient(135deg, #e7f6ef 0%, #effaf6 52%, #f8fbfb 100%);
  box-shadow: var(--shadow-soft);
}
.slash-kicker {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.slash-hero h2 {
  margin-top: 10px;
  color: #0d3f30;
  font-size: 27px;
  line-height: 1.18;
}
.slash-hero p {
  color: #4f6760;
  line-height: 1.8;
}
.slash-hero .primary-action,
.slash-hero .ghost-action,
.slash-hero .mini-action {
  height: 36px;
  border-radius: 12px;
}
.slash-illustration {
  opacity: 0.95;
  filter: saturate(0.92);
}
.slash-stat-card {
  border: 0;
  border-radius: 18px;
  background: linear-gradient(135deg, #2f8b60, #2f7d58);
  box-shadow: 0 18px 42px rgba(47, 125, 88, 0.22);
}
.slash-stat-card.blue {
  background: linear-gradient(135deg, #4aa0b8, #3a8fab);
  box-shadow: 0 18px 42px rgba(58, 143, 171, 0.20);
}
.metric {
  min-height: 112px;
}
.metric-label {
  color: #4e625d;
  font-size: 12px;
}
.metric-value {
  font-size: 30px;
  line-height: 1.05;
}
.metric-note {
  max-width: 260px;
  line-height: 1.5;
}
.module-readiness-panel,
.release-warning-bar {
  border-radius: 20px;
}
.table-actions,
.actions {
  gap: 8px;
}
.row-title {
  font-weight: 900;
}
.row-sub {
  margin-top: 4px;
  line-height: 1.45;
}
.login-card {
  grid-template-columns: minmax(0, 1.16fr) 360px;
  gap: 32px;
  padding: 34px;
}
.login-copy .logo-lockup.large {
  width: fit-content;
  padding: 10px 14px;
  border: 1px solid rgba(202, 217, 213, 0.72);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(232, 246, 239, 0.92), rgba(255, 255, 255, 0.74));
}
.login-copy h1 {
  max-width: 590px;
  font-size: 38px;
  line-height: 1.18;
  letter-spacing: -0.03em;
}
.login-copy p {
  max-width: 610px;
  color: #536762;
}
.login-form {
  align-self: center;
  padding: 24px;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 251, 251, 0.96));
}
.login-form .primary-action {
  height: 42px;
}
.ops-command-panel {
  margin: 26px 0;
  padding: 22px;
  border: 1px solid rgba(202, 217, 213, 0.72);
  border-radius: 24px;
  background:
    radial-gradient(circle at 96% 0%, rgba(15, 158, 168, 0.10), transparent 34%),
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(248, 251, 250, 0.92));
  box-shadow: var(--shadow-soft);
}
.ops-command-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 18px;
}
.ops-command-head span {
  display: inline-flex;
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
}
.ops-command-head strong {
  display: block;
  margin-top: 6px;
  color: var(--ink);
  font-size: 19px;
  line-height: 1.25;
}
.ops-command-head p {
  max-width: 660px;
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.7;
}
.ops-command-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.ops-command-card {
  position: relative;
  min-height: 122px;
  padding: 17px;
  overflow: hidden;
  text-align: left;
  border: 1px solid rgba(202, 217, 213, 0.74);
  border-radius: 18px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: var(--shadow-tiny);
  transition:
    transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 220ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.ops-command-card::after {
  content: "";
  position: absolute;
  right: 14px;
  top: 14px;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #edf5f2;
}
.ops-command-card span,
.ops-command-card strong,
.ops-command-card em {
  position: relative;
  z-index: 1;
}
.ops-command-card span {
  display: block;
  color: #536762;
  font-size: 12px;
  font-weight: 800;
}
.ops-command-card strong {
  display: block;
  margin-top: 12px;
  color: var(--ink);
  font-size: 32px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}
.ops-command-card em {
  display: block;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.55;
}
.ops-command-card:hover {
  transform: translateY(-3px);
  border-color: rgba(8, 122, 85, 0.22);
  box-shadow: 0 18px 36px rgba(31, 68, 59, 0.12);
}
.ops-command-card:active {
  transform: translateY(-1px) scale(0.99);
}
.ops-command-card.ok {
  background: linear-gradient(180deg, #ffffff, #fbfdfc);
}
.ops-command-card.ok strong {
  color: var(--green);
}
.ops-command-card.ok::after {
  background: #e8f6ef;
}
.ops-command-card.blue {
  border-color: rgba(74, 160, 184, 0.28);
  background: linear-gradient(180deg, #ffffff, #f1f9fb);
}
.ops-command-card.blue strong {
  color: #2c7f99;
}
.ops-command-card.blue::after {
  background: #dff2f7;
}
.ops-command-card.warn {
  border-color: rgba(185, 120, 7, 0.28);
  background: linear-gradient(180deg, #ffffff, #fff8e8);
}
.ops-command-card.warn strong {
  color: #b97807;
}
.ops-command-card.warn::after {
  background: #ffe9b8;
}
.ops-command-card.red {
  border-color: rgba(192, 57, 47, 0.28);
  background: linear-gradient(180deg, #ffffff, #fff1ef);
}
.ops-command-card.red strong {
  color: #b13b32;
}
.ops-command-card.red::after {
  background: #ffd8d2;
}
@media (max-width: 1280px) {
  .ops-command-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 860px) {
  .ops-command-head {
    flex-direction: column;
  }
  .ops-command-grid {
    grid-template-columns: 1fr;
  }
}
/* Sidebar brand correction: keep the official logo visible without making it
   feel like a pasted white sticker. */
.app-shell {
  grid-template-columns: 258px minmax(0, 1fr);
}
.sidebar {
  padding: 16px 12px 16px;
  background:
    radial-gradient(circle at 24px 18px, rgba(79, 209, 151, 0.18), transparent 32px),
    linear-gradient(180deg, #14332d 0%, #0d251f 46%, #081a17 100%);
  box-shadow: 20px 0 56px rgba(12, 34, 29, 0.18);
}
.sidebar > .logo-lockup {
  display: block;
  min-height: 0;
  margin: 0 0 14px;
  padding: 8px 8px 17px;
  border-bottom: 1px solid rgba(229, 250, 244, 0.12);
  background: transparent;
  box-shadow: none;
}
.sidebar > .logo-lockup .logo-mark {
  display: block;
  width: 176px;
  height: 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sidebar > .logo-lockup .logo-mark img {
  display: block;
  width: 176px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 9px 18px rgba(0, 0, 0, 0.20));
}
.sidebar > .logo-lockup .logo-text {
  display: block;
  margin-top: 11px;
}
.sidebar > .logo-lockup .logo-text strong {
  display: none;
}
.sidebar > .logo-lockup .logo-text small {
  display: inline-flex;
  align-items: center;
  min-height: 25px;
  padding: 0 10px;
  border: 1px solid rgba(229, 250, 244, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.075);
  color: rgba(235, 255, 249, 0.82);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.sidebar .nav {
  gap: 4px;
  margin-top: 8px;
  overflow-y: auto;
  scrollbar-width: none;
}
.sidebar .nav::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.sidebar .nav-group,
.sidebar .nav-section-title {
  margin: 15px 10px 7px;
  color: rgba(229, 250, 244, 0.44);
  font-size: 10.5px;
  font-weight: 800;
  letter-spacing: 0.08em;
}
.sidebar .nav-button {
  min-height: 38px;
  padding: 0 9px;
  border-radius: 12px;
  color: rgba(240, 253, 249, 0.74);
  font-size: 13px;
  font-weight: 760;
}
.sidebar .nav-button:hover {
  transform: translateX(2px);
  background: rgba(255, 255, 255, 0.065);
}
.sidebar .nav-button.active {
  border-color: rgba(80, 224, 166, 0.22);
  background:
    linear-gradient(90deg, rgba(9, 145, 99, 0.66), rgba(42, 111, 93, 0.34)),
    rgba(255, 255, 255, 0.055);
  box-shadow: inset 3px 0 0 #62e4a5, 0 10px 22px rgba(0, 0, 0, 0.13);
}
.sidebar .nav-icon,
.sidebar .nav-button.active .nav-icon {
  width: 25px;
  height: 25px;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.095);
  color: currentColor;
  font-size: 12px;
}
.sidebar .sidebar-card {
  margin: 18px 2px 0;
  padding: 13px 12px;
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.085), rgba(255, 255, 255, 0.035));
}
.sidebar .sidebar-card div {
  font-size: 11px;
  color: rgba(229, 250, 244, 0.52);
}
.sidebar .sidebar-card strong {
  margin-top: 5px;
  color: #f5fffb;
  font-size: 13px;
}
.sidebar .sidebar-card small {
  color: rgba(229, 250, 244, 0.58);
  font-size: 11px;
  line-height: 1.55;
}
/* Final sidebar direction requested by product owner: white base, official logo,
   calm SaaS navigation, no dark-tech treatment. */
.sidebar {
  padding: 18px 14px 16px;
  border-right: 1px solid rgba(214, 226, 223, 0.86);
  background:
    linear-gradient(180deg, #ffffff 0%, #fbfdfc 48%, #f4f8f6 100%);
  box-shadow: 14px 0 42px rgba(31, 68, 59, 0.055);
  scrollbar-width: thin;
  scrollbar-color: rgba(8, 122, 85, 0.22) transparent;
}
.sidebar::-webkit-scrollbar {
  width: 5px;
}
.sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(8, 122, 85, 0.20);
}
.sidebar > .logo-lockup {
  margin: 0 0 16px;
  padding: 4px 8px 16px;
  border: 0;
  border-bottom: 1px solid rgba(214, 226, 223, 0.86);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sidebar > .logo-lockup .logo-mark {
  width: 158px;
  height: 36px;
  margin: 0;
  padding: 0;
}
.sidebar > .logo-lockup .logo-mark img {
  width: 158px;
  filter: none;
}
.sidebar > .logo-lockup .logo-text small {
  min-height: 24px;
  margin-top: 2px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #5b706a;
  font-size: 11px;
  font-weight: 800;
}
.sidebar .nav-group,
.sidebar .nav-section-title {
  color: #8a9b96;
}
.nav-domain {
  display: grid;
  gap: 6px;
  margin: 0 0 7px;
}
.nav-domain-toggle {
  display: grid;
  grid-template-columns: 1fr 18px;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 8px 9px 8px 10px;
  border: 1px solid transparent;
  border-radius: 12px;
  background: transparent;
  color: #314b44;
  text-align: left;
  transition:
    background-color .18s cubic-bezier(.2, .8, .2, 1),
    border-color .18s cubic-bezier(.2, .8, .2, 1),
    transform .18s cubic-bezier(.2, .8, .2, 1);
}
.nav-domain-toggle:hover {
  border-color: rgba(8, 122, 85, 0.11);
  background: #f1f7f4;
}
.nav-domain-toggle:active {
  transform: translateY(1px);
}
.nav-domain.active .nav-domain-toggle {
  border-color: rgba(8, 122, 85, 0.16);
  background: #edf7f2;
}
.nav-domain-copy {
  display: grid;
  gap: 3px;
  min-width: 0;
}
.nav-domain-copy strong,
.nav-domain-copy small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-domain-copy strong {
  font-size: 12px;
  font-weight: 950;
  line-height: 1.2;
}
.nav-domain-copy small {
  color: #758883;
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.2;
}
.nav-domain-chevron {
  position: relative;
  width: 18px;
  height: 18px;
  border-radius: 7px;
  background: rgba(8, 122, 85, 0.08);
}
.nav-domain-chevron::before {
  content: "";
  position: absolute;
  top: 6px;
  left: 5px;
  width: 7px;
  height: 7px;
  border-right: 2px solid #557069;
  border-bottom: 2px solid #557069;
  transform: rotate(45deg);
  transition: transform .18s cubic-bezier(.2, .8, .2, 1);
}
.nav-domain.open .nav-domain-chevron::before {
  top: 7px;
  transform: rotate(225deg);
}
.nav-domain-items {
  display: grid;
  gap: 3px;
  padding-left: 6px;
}
.nav-domain.collapsed .nav-domain-items {
  display: none;
}
.nav-domain-items .nav-button {
  position: relative;
  margin-left: 6px;
}
.nav-domain-items .nav-button::after {
  content: "";
  position: absolute;
  left: -7px;
  top: 8px;
  bottom: 8px;
  width: 1px;
  border-radius: 999px;
  background: rgba(135, 154, 148, 0.22);
}
.sidebar .nav-button {
  min-height: 37px;
  color: #48615b;
  font-size: 12.5px;
  background: transparent;
}
.sidebar .nav-button:hover {
  color: #0d3f30;
  border-color: rgba(8, 122, 85, 0.10);
  background: #eef7f3;
}
.sidebar .nav-button.active {
  color: #087a55;
  border-color: rgba(8, 122, 85, 0.14);
  background:
    linear-gradient(90deg, rgba(8, 122, 85, 0.12), rgba(15, 158, 168, 0.055)),
    #eef8f4;
  box-shadow: inset 3px 0 0 #0a9868, 0 10px 22px rgba(8, 122, 85, 0.08);
}
.sidebar .nav-icon,
.sidebar .nav-button.active .nav-icon {
  background: #e9f3ef;
  color: currentColor;
}
.topbar-breadcrumb-domain,
.topbar-breadcrumb-page,
.topbar-breadcrumb-divider,
.topbar-breadcrumb-summary {
  display: inline-flex;
  align-items: center;
  min-width: 0;
}
.topbar-breadcrumb-domain {
  color: #087a55;
}
.topbar-breadcrumb-divider {
  margin: 0 6px;
  color: #9badA6;
}
.topbar-breadcrumb-page {
  color: #49605a;
}
.topbar-breadcrumb-summary {
  display: block;
  max-width: 680px;
  margin-top: 3px;
  color: #71837d;
  font-size: 11px;
  font-weight: 760;
  letter-spacing: 0;
  line-height: 1.35;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: none;
}
.sidebar .nav-button.active .nav-icon {
  background: #d9f0e6;
}
.sidebar .sidebar-card {
  border: 1px solid rgba(214, 226, 223, 0.90);
  background:
    linear-gradient(135deg, #ffffff, #f0f8f4);
  box-shadow: 0 12px 26px rgba(31, 68, 59, 0.065);
}
.sidebar .sidebar-card div {
  color: #70847e;
}
.sidebar .sidebar-card strong {
  color: #0d3f30;
}
.sidebar .sidebar-card small {
  color: #6b7f79;
}
/* Final component polish for the formal operations front end. */
.sidebar {
  scrollbar-width: none;
}
.sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
}
.topbar {
  border-color: rgba(211, 224, 221, 0.92);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 253, 252, 0.94));
  box-shadow: 0 16px 42px rgba(31, 68, 59, 0.075);
}
.topbar h1 {
  color: #0c2d25;
  font-size: 21px;
  font-weight: 900;
  letter-spacing: -0.01em;
}
.eyebrow,
.topbar .eyebrow {
  color: #087a55;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.02em;
}
.topbar-search {
  border: 1px solid rgba(202, 217, 213, 0.88);
  background: #ffffff;
}
.topbar-search:focus-within,
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus,
.panel-head select:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: rgba(8, 122, 85, 0.44);
  box-shadow: 0 0 0 4px rgba(8, 122, 85, 0.12);
}
.primary-action,
.ghost-action,
.mini-action {
  border-radius: 11px;
  font-weight: 850;
  transition:
    transform 180ms cubic-bezier(0.2, 0.8, 0.2, 1),
    box-shadow 180ms cubic-bezier(0.2, 0.8, 0.2, 1),
    background 180ms cubic-bezier(0.2, 0.8, 0.2, 1),
    border-color 180ms cubic-bezier(0.2, 0.8, 0.2, 1);
}
.primary-action {
  border-color: transparent;
  background: linear-gradient(135deg, #109a6d, #087a55);
  color: #ffffff;
  box-shadow: 0 12px 26px rgba(8, 122, 85, 0.18);
}
.primary-action:hover {
  background: linear-gradient(135deg, #13a977, #087a55);
  box-shadow: 0 14px 30px rgba(8, 122, 85, 0.22);
}
.ghost-action,
.mini-action {
  border-color: rgba(202, 217, 213, 0.92);
  background: #ffffff;
  color: #173b33;
  box-shadow: 0 5px 14px rgba(31, 68, 59, 0.045);
}
.ghost-action:hover,
.mini-action:hover {
  border-color: rgba(8, 122, 85, 0.22);
  background: #eef7f3;
  color: #087a55;
  box-shadow: 0 10px 22px rgba(8, 122, 85, 0.08);
}
.primary-action:active,
.ghost-action:active,
.mini-action:active,
.nav-button:active,
.segment-pill:active,
.metric:active {
  transform: translateY(1px) scale(0.99);
}
.panel,
.metric,
.chart-card,
.ops-command-panel,
.drawer-panel,
.table-wrap,
.smart-review-cockpit,
.smart-condition-panel,
.weekly-editor-shell,
.menu-export-card {
  border-color: rgba(211, 224, 221, 0.88);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(249, 252, 251, 0.96));
  box-shadow: 0 14px 34px rgba(31, 68, 59, 0.065);
}
.panel:hover,
.metric:hover,
.chart-card:hover,
.ops-command-panel:hover {
  border-color: rgba(8, 122, 85, 0.16);
}
.panel-title,
.chart-head strong,
.drawer-head h2,
.form-title {
  color: #0c2d25;
  font-weight: 900;
  letter-spacing: -0.01em;
}
.panel-sub,
.metric-note,
.row-sub,
.drawer-head span,
.form-help,
.empty,
.empty-state {
  color: #62776f;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  color: #173b33;
}
thead th,
table th {
  background: #eef6f3;
  color: #49635c;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.01em;
}
tbody td,
table td {
  border-bottom-color: rgba(214, 226, 223, 0.78);
}
tbody tr:hover td,
table tr:hover td {
  background: rgba(238, 247, 243, 0.62);
}
.status-pill,
.tag {
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}
.status-pill,
.tag,
.status-pill.gray,
.tag.gray {
  border-color: rgba(202, 217, 213, 0.90);
  background: #eef3f1;
  color: #536762;
}
.status-pill.blue,
.tag.blue {
  border-color: rgba(29, 114, 184, 0.22);
  background: #e7f2fb;
  color: #1d639b;
}
.status-pill.warn,
.tag.warn {
  border-color: rgba(185, 120, 7, 0.24);
  background: #fff4d7;
  color: #956006;
}
.status-pill.red,
.tag.red {
  border-color: rgba(192, 57, 47, 0.22);
  background: #ffe9e6;
  color: #a9342b;
}
.status-pill.green,
.tag.green {
  border-color: rgba(8, 122, 85, 0.20);
  background: #e8f6ef;
  color: #087a55;
}
.drawer-backdrop {
  background: rgba(14, 32, 28, 0.26);
  backdrop-filter: blur(6px);
}
.drawer-panel {
  border-left: 1px solid rgba(211, 224, 221, 0.88);
}
.form-field input,
.form-field select,
.form-field textarea,
.panel-head select,
input,
select,
textarea {
  border-color: rgba(202, 217, 213, 0.92);
  background: #ffffff;
  color: #173b33;
}
.form-field input::placeholder,
.form-field textarea::placeholder,
input::placeholder,
textarea::placeholder {
  color: #9aa9a5;
}
.metric-value,
.ops-command-card strong {
  font-variant-numeric: tabular-nums;
}
/* 2026-06-13 owner lock: white canvas, clean official-logo sidebar.
   Keep this at the end so older dark-tech experiments cannot leak back. */
html,
body {
  background: #ffffff;
}
body.authenticated,
.app-shell {
  background: #ffffff;
}
.app-shell {
  grid-template-columns: 252px minmax(0, 1fr);
}
.sidebar {
  padding: 18px 14px 16px;
  border-right: 1px solid #dce9e4;
  background: #ffffff;
  box-shadow: 10px 0 30px rgba(31, 68, 59, 0.045);
}
.sidebar > .logo-lockup {
  display: block;
  min-height: 0;
  margin: 0 0 16px;
  padding: 2px 8px 16px;
  border: 0;
  border-bottom: 1px solid #e1ece8;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sidebar > .logo-lockup .logo-mark {
  display: block;
  width: 164px;
  height: 38px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.sidebar > .logo-lockup .logo-mark img {
  display: block;
  width: 164px;
  height: auto;
  object-fit: contain;
  filter: none;
}
.sidebar > .logo-lockup .logo-text {
  display: block;
  margin-top: 8px;
}
.sidebar > .logo-lockup .logo-text strong {
  display: none;
}
.sidebar > .logo-lockup .logo-text small {
  display: block;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #667a74;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: 0;
}
.sidebar .nav {
  margin-top: 8px;
}
.sidebar .nav-button {
  border-radius: 12px;
  color: #435b55;
  background: transparent;
}
.sidebar .nav-button:hover {
  color: #0b513a;
  background: #edf7f2;
}
.sidebar .nav-button.active {
  color: #087a55;
  border-color: rgba(8, 122, 85, 0.16);
  background: #eaf7f1;
  box-shadow: inset 3px 0 0 #087a55;
}
.sidebar .nav-icon,
.sidebar .nav-button.active .nav-icon {
  background: #e7f2ed;
  color: currentColor;
}
.sidebar .sidebar-card {
  border: 1px solid #dce9e4;
  background: #f8fbf9;
  box-shadow: none;
}
.sidebar .sidebar-card strong {
  color: #0d3f30;
}
.sidebar .sidebar-card div,
.sidebar .sidebar-card small {
  color: #6a7d77;
}
.main {
  background: #ffffff;
}
.content {
  background: #ffffff;
}
/* Topbar control sizing lock: search, actions and user chip share one rhythm. */
.topbar-actions {
  align-items: center;
  gap: 8px;
  height: 44px;
}
.topbar-actions .topbar-search,
.topbar-actions .ghost-action,
.topbar-actions .primary-action,
.topbar-actions .admin-user {
  box-sizing: border-box;
  height: 42px;
  min-height: 42px;
  max-height: 42px;
  border-radius: 14px;
  border-width: 1px;
  line-height: 1;
  box-shadow: none;
}
.topbar-actions .topbar-search {
  display: inline-flex;
  align-items: center;
  width: 286px;
  min-width: 286px;
  padding: 0 12px;
  border-color: #d7e5df;
}
.topbar-actions .topbar-search span {
  width: 22px;
  color: #6a7d77;
  font-size: 13px;
  font-weight: 850;
  text-align: center;
}
.topbar-actions .topbar-search input {
  height: 40px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  line-height: 40px;
}
.topbar-actions .ghost-action,
.topbar-actions .primary-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 68px;
  padding: 0 15px;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0;
  white-space: nowrap;
}
.topbar-actions #primaryBtn {
  min-width: 100px;
}
.topbar-actions .admin-user {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 124px;
  padding: 0 13px;
  border: 1px solid #d9e6e1;
  background: #ffffff;
  box-shadow: none;
  overflow: hidden;
}
.topbar-actions .admin-user strong,
.topbar-actions .admin-user span,
.topbar-actions .admin-user small {
  display: block;
  margin: 0;
  line-height: 1.12;
}
.topbar-actions .admin-user strong {
  color: #10251f;
  font-size: 12px;
  font-weight: 900;
}
.topbar-actions .admin-user span,
.topbar-actions .admin-user small {
  margin-top: 2px;
  color: #60736d;
  font-size: 10px;
  font-weight: 750;
}
.data-hygiene-task-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 16px 0;
}
.data-hygiene-task {
  display: grid;
  gap: 10px;
  min-height: 188px;
  padding: 16px;
  border: 1px solid rgba(12, 94, 62, 0.12);
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(247, 251, 248, 0.92)),
    radial-gradient(circle at 100% 0, rgba(7, 120, 72, 0.1), transparent 38%);
  box-shadow: 0 16px 34px rgba(15, 45, 32, 0.07);
}
.data-hygiene-task.red {
  border-color: rgba(193, 52, 52, 0.22);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 246, 244, 0.94)),
    radial-gradient(circle at 100% 0, rgba(220, 38, 38, 0.14), transparent 38%);
}
.data-hygiene-task.warn {
  border-color: rgba(190, 123, 20, 0.24);
  background:
    linear-gradient(145deg, rgba(255, 255, 255, 0.96), rgba(255, 250, 235, 0.94)),
    radial-gradient(circle at 100% 0, rgba(217, 119, 6, 0.15), transparent 38%);
}
.data-hygiene-task-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.data-hygiene-task-owner {
  display: inline-flex;
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.data-hygiene-task h4 {
  margin: 0;
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  letter-spacing: 0;
}
.data-hygiene-task-count {
  min-width: 72px;
  text-align: right;
}
.data-hygiene-task-count b {
  display: block;
  color: var(--green-deep);
  font-size: 28px;
  line-height: 1;
}
.data-hygiene-task.red .data-hygiene-task-count b {
  color: #b42318;
}
.data-hygiene-task.warn .data-hygiene-task-count b {
  color: #b45309;
}
.data-hygiene-task-count span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.data-hygiene-task p,
.data-hygiene-task-action {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.65;
}
.data-hygiene-task-action {
  padding: 10px 12px;
  border: 1px solid rgba(12, 94, 62, 0.1);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  font-weight: 850;
}
.data-hygiene-task-examples {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.data-hygiene-task-examples li {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.66);
}
.data-hygiene-task-examples strong,
.data-hygiene-task-examples span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.data-hygiene-task-examples strong {
  color: var(--ink);
  font-size: 12px;
  font-weight: 900;
}
.data-hygiene-task-examples span {
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}
@media (max-width: 980px) {
  .data-hygiene-task-grid {
    grid-template-columns: 1fr;
  }
}
/* 2026-06-13 final interaction sizing lock.
   Prevent Chinese action labels such as "新增容器" from being squeezed into
   two-line buttons by later page-level layouts. */
.primary-action,
.ghost-action,
.mini-action {
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: max-content;
  max-width: min(100%, calc(100vw - 32px));
  line-height: 1 !important;
  text-align: center;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  hyphens: none;
  text-wrap: nowrap;
  writing-mode: horizontal-tb !important;
  vertical-align: middle;
}
.primary-action > *,
.ghost-action > *,
.mini-action > * {
  min-width: 0;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
}
.primary-action,
.ghost-action {
  min-width: 86px;
  min-height: 40px;
  padding-right: 16px;
  padding-left: 16px;
}
.primary-action.compact,
.ghost-action.compact {
  min-width: 66px;
  min-height: 32px;
  padding-right: 11px;
  padding-left: 11px;
}
.mini-action {
  min-width: 54px;
  min-height: 30px;
  padding-right: 10px;
  padding-left: 10px;
}
.mini-action.primary-mini,
.mini-action.danger {
  min-width: 58px;
}
.panel-head,
.drawer-head,
.drawer-actions,
.table-actions,
.actions,
.meal-box-actions,
.container-actions,
.smart-week-actions,
.smart-event-actions,
.smart-menu-mini-actions,
.smart-review-work-order-actions,
.smart-review-excel-actions,
.smart-week-export-actions,
.weekly-editor-toolbar,
.smart-process-actions {
  align-items: center;
  min-width: 0;
}
.panel-head,
.drawer-head,
.drawer-actions,
.actions,
.panel-actions,
.table-actions {
  flex-wrap: wrap;
}
.panel-head button,
.panel-actions button,
.drawer-head button,
.drawer-actions button,
.actions button,
.table-actions button,
.meal-box-actions button,
.container-actions button {
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  writing-mode: horizontal-tb !important;
}
.panel-head > div:first-child,
.drawer-head > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}
.panel-actions {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: max-content;
  max-width: 100%;
}
.panel-actions > * {
  flex: 0 0 auto;
}
.panel-head > .primary-action,
.panel-head > .ghost-action,
.panel-head > .mini-action,
.panel-actions > .primary-action,
.panel-actions > .ghost-action,
.panel-actions > .mini-action,
.drawer-head > .primary-action,
.drawer-head > .ghost-action,
.drawer-head > .mini-action {
  flex: 0 0 auto;
  min-width: max-content;
}
.topbar-actions {
  flex-wrap: nowrap;
}
.topbar-actions .ghost-action,
.topbar-actions .primary-action {
  min-width: 74px;
}
.topbar-actions #primaryBtn {
  min-width: 104px;
}
.topbar-actions #logoutBtn {
  min-width: 68px;
}
/* 2026-06-15 supplier management action guide.
   Supplier maintenance is a high-frequency operation area; make the next
   valid actions explicit and keep every action inside the in-app drawer. */
.supplier-action-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  margin: 16px 0;
  padding: 18px;
  border: 1px solid rgba(8, 122, 67, 0.18);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(242, 250, 246, 0.96)),
    radial-gradient(circle at 100% 0%, rgba(8, 122, 67, 0.11), transparent 36%);
  box-shadow: 0 14px 34px rgba(21, 42, 31, 0.07);
}
.supplier-action-copy {
  display: grid;
  gap: 6px;
  min-width: 0;
}
.supplier-action-copy span {
  color: var(--green);
  font-size: 12px;
  font-weight: 900;
}
.supplier-action-copy strong {
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.25;
}
.supplier-action-copy p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.75;
}
.supplier-action-buttons {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
}
.supplier-action-buttons .primary-action,
.supplier-action-buttons .ghost-action {
  min-height: 38px;
}
.supplier-flow-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.supplier-flow-card {
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  min-height: 184px;
  padding: 16px;
  border: 1px solid rgba(8, 122, 67, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}
.supplier-flow-card.primary {
  border-color: rgba(8, 122, 67, 0.22);
  background: linear-gradient(180deg, rgba(238, 250, 244, 0.96), rgba(255, 255, 255, 0.92));
}
.supplier-flow-card > span {
  color: rgba(8, 122, 67, 0.72);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0;
}
.supplier-flow-card > strong {
  margin-top: 8px;
  color: var(--ink);
  font-size: 16px;
  font-weight: 950;
  line-height: 1.2;
}
.supplier-flow-card > p {
  margin: 8px 0 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.65;
}
.supplier-flow-card .primary-action,
.supplier-flow-card .ghost-action {
  justify-self: start;
}
.supplier-risk-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 12px 0 18px;
}
.supplier-risk-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 12px;
  align-items: center;
  min-height: 112px;
  padding: 15px 16px;
  border: 1px solid rgba(8, 122, 67, 0.13);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
}
.supplier-risk-card.warn {
  border-color: rgba(212, 142, 12, 0.34);
  background: linear-gradient(180deg, rgba(255, 250, 235, 0.98), rgba(255, 255, 255, 0.95));
}
.supplier-risk-card.red {
  border-color: rgba(198, 40, 40, 0.26);
  background: linear-gradient(180deg, rgba(255, 244, 241, 0.98), rgba(255, 255, 255, 0.95));
}
.supplier-risk-card.ok {
  border-color: rgba(8, 122, 67, 0.13);
}
.supplier-risk-card div {
  min-width: 0;
}
.supplier-risk-card span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 850;
}
.supplier-risk-card strong {
  display: block;
  margin-top: 4px;
  color: var(--green);
  font-size: 24px;
  font-weight: 950;
  line-height: 1;
}
.supplier-risk-card.warn strong {
  color: #b97600;
}
.supplier-risk-card.red strong {
  color: #b92d25;
}
.supplier-risk-card p {
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.55;
}
.supplier-action-router {
  display: grid;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid rgba(8, 122, 67, 0.16);
  border-radius: 16px;
  background:
    linear-gradient(135deg, rgba(238, 250, 244, 0.96), rgba(255, 255, 255, 0.96)),
    radial-gradient(circle at 92% 18%, rgba(255, 212, 64, 0.16), transparent 34%);
}
.supplier-action-router strong {
  color: var(--ink);
  font-size: 18px;
  font-weight: 950;
  line-height: 1.2;
}
.supplier-action-router p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.7;
}
@media (max-width: 1280px) {
  .supplier-flow-grid,
  .supplier-risk-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .supplier-flow-grid,
  .supplier-risk-strip {
    grid-template-columns: 1fr;
  }
}
/* Card-style navigation buttons are not normal CTAs, but they must obey the
   same no-character-break rule so menu workbench tiles stay readable. */
.smart-menu-shortcut-strip button,
.smart-library-scope-grid button,
.smart-menu-use-path button,
.smart-map-steps button,
.smart-command-path button,
.segment-pill,
.filter-chip,
.nav-button,
.smart-plan-cell-head button,
.smart-plan-more,
.smart-plan-empty-btn {
  min-width: 0;
  word-break: keep-all;
  overflow-wrap: normal;
}
.smart-menu-shortcut-strip button > *,
.smart-library-scope-grid button > *,
.smart-menu-use-path button > *,
.smart-map-steps button > *,
.smart-command-path button > *,
.segment-pill > *,
.nav-button > *,
.smart-plan-cell-head button,
.smart-plan-more,
.smart-plan-empty-btn {
  min-width: 0;
  max-width: 100%;
}
.smart-menu-shortcut-strip strong,
.smart-menu-shortcut-strip span,
.smart-library-scope-grid span,
.smart-library-scope-grid strong,
.smart-library-scope-grid em,
.smart-menu-use-path strong,
.smart-menu-use-path em,
.smart-map-steps strong,
.smart-map-steps span,
.smart-command-path strong,
.smart-command-path em,
.segment-pill span,
.segment-pill strong,
.segment-pill em,
.nav-button span,
.filter-chip,
.smart-plan-cell-head button,
.smart-plan-more,
.smart-plan-empty-btn {
  overflow: hidden;
  text-overflow: ellipsis;
  word-break: keep-all;
  overflow-wrap: normal;
}
.smart-menu-use-path strong,
.smart-map-steps strong,
.smart-command-path strong,
.segment-pill strong,
.filter-chip,
.smart-plan-cell-head button,
.smart-plan-more,
.smart-plan-empty-btn {
  white-space: nowrap;
}
/* 2026-06-14 commercial admin button no-wrap hard stop.
   Buttons in panel/tool/card action zones must never split Chinese labels
   into vertical fragments such as "新增容/器"; horizontal overflow is safer
   than misleading broken controls in an operation console. */
button.primary-action,
button.ghost-action,
button.mini-action,
.panel-actions button,
.panel-head button,
.topbar-actions button,
.drawer-actions button,
.table-actions button,
.actions button,
.meal-box-actions button,
.container-actions button {
  display: inline-flex !important;
  flex: 0 0 auto !important;
  flex-shrink: 0 !important;
  align-items: center !important;
  justify-content: center !important;
  width: fit-content !important;
  min-width: max-content !important;
  max-width: none !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  text-wrap: nowrap !important;
  writing-mode: horizontal-tb !important;
}
.panel-head {
  column-gap: 16px;
}
.panel-actions select,
.panel-actions input {
  flex: 0 1 180px;
  min-width: 140px;
}
/* 2026-06-14 menu module entry refinement.
   These cards are operators' map buttons, not marketing tiles. Keep the
   target, data count and next step readable at a glance. */
.menu-ops-overview {
  border-color: rgba(10, 112, 76, 0.14) !important;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 249, 0.96)),
    radial-gradient(circle at 98% 0%, rgba(24, 152, 96, 0.1), transparent 32%) !important;
  box-shadow: 0 18px 42px rgba(20, 52, 38, 0.08) !important;
}
.menu-ops-card {
  min-height: 152px !important;
  align-content: start;
  border-color: rgba(14, 92, 67, 0.13) !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 14px 30px rgba(21, 53, 40, 0.06) !important;
}
.menu-ops-card-head span {
  color: #10251f !important;
  font-size: 15px !important;
  letter-spacing: 0 !important;
}
.menu-ops-card-head strong {
  color: #078655 !important;
  font-size: 22px !important;
}
.menu-ops-card p {
  min-height: 58px;
  color: #536861 !important;
  line-height: 1.62 !important;
}
.menu-ops-card small {
  display: block;
  min-height: 34px;
  color: #7a8c85 !important;
  font-size: 12px !important;
  line-height: 1.45;
  font-weight: 760 !important;
}
.menu-ops-entry {
  justify-self: start;
  min-width: 120px !important;
  min-height: 36px !important;
  padding: 0 15px !important;
  border: 1px solid rgba(5, 128, 82, 0.18) !important;
  border-radius: 12px !important;
  background: #0b8a59 !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(7, 125, 79, 0.16) !important;
}
.menu-ops-entry:hover {
  border-color: rgba(5, 128, 82, 0.32) !important;
  background: #07784e !important;
  box-shadow: 0 14px 28px rgba(7, 125, 79, 0.2) !important;
}
.menu-ops-entry:focus-visible {
  outline: 3px solid rgba(10, 136, 88, 0.2);
  outline-offset: 2px;
}
.smart-process-result-links .mini-action {
  display: grid !important;
  justify-items: start !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 46px !important;
  white-space: normal !important;
  text-align: left !important;
}
.smart-process-result-links .mini-action strong {
  white-space: nowrap !important;
}
.smart-process-result-links .mini-action small {
  max-width: 100%;
  white-space: normal !important;
}
/* 2026-06-14 menu tag color lock.
   Menu review tags are reading aids, not alarms. Keep dish names light,
   calm and legible on the white admin surface. */
.smart-excel-forward-tags,
.smart-tags,
.row-tags,
.preset-tags,
.refined-chip-row,
.permission-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.tag,
.badge,
.pill,
.status-pill,
.smart-excel-forward-tags span,
.smart-tags .tag,
.row-tags .tag,
.preset-tags .tag,
.refined-chip-row .tag,
.permission-list .tag {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 9px;
  border: 1px solid rgba(22, 118, 77, 0.14);
  background: #edf8f1;
  color: #0a6949;
  box-shadow: none;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.2;
  white-space: nowrap;
  word-break: keep-all;
}
.tag.warn,
.badge.warn,
.pill.warn,
.status-pill.warn {
  border-color: rgba(184, 122, 0, 0.2);
  background: #fff6df;
  color: #7a4c04;
}
.tag.red,
.badge.red,
.pill.red,
.status-pill.red {
  border-color: rgba(190, 61, 52, 0.18);
  background: #fff0ed;
  color: #a9342b;
}
.tag.blue,
.badge.blue,
.pill.blue,
.status-pill.blue {
  border-color: rgba(20, 95, 152, 0.16);
  background: #edf6ff;
  color: #145f98;
}
.tag.gray,
.badge.gray,
.pill.gray,
.status-pill.gray {
  border-color: rgba(94, 111, 104, 0.16);
  background: #f3f6f5;
  color: #5e6f68;
}
.smart-review-hero-dishes span,
.split-review-dishes span {
  border-color: rgba(23, 78, 49, 0.1);
  background: linear-gradient(180deg, #ffffff, #f8fbf8);
  color: var(--ink);
  box-shadow: 0 8px 22px rgba(25, 62, 38, 0.05);
}
.smart-review-hero-dishes b,
.split-review-dishes b {
  background: #edf8f1;
  color: #0a6949;
}
.smart-review-hero-dishes em,
.split-review-dishes em {
  background: transparent;
  color: #63746b;
}
.smart-review-hero-dishes span.missing,
.split-review-dishes span.missing {
  border-color: rgba(190, 61, 52, 0.18);
  background: #fff6f4;
}
/* 2026-06-14 Excel forward readability lock.
   Customer-facing export panels must look like business documents, not pale banners.
   Keep all copy dark and legible even if theme skins are changed later. */
.smart-excel-forward-center {
  border: 1px solid rgba(8, 72, 45, 0.12) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 216, 89, 0.16), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fbfdfb 58%, #f4faf6 100%) !important;
  box-shadow: 0 20px 54px rgba(8, 72, 45, 0.09) !important;
}
.smart-excel-forward-copy h3,
.smart-excel-action-card strong,
.smart-excel-template-strip strong {
  color: #10261d !important;
}
.smart-excel-forward-copy p,
.smart-excel-action-card p,
.smart-excel-template-strip span {
  color: #496457 !important;
}
.smart-excel-action-card,
.smart-excel-action-card.primary,
.smart-excel-action-card.internal {
  border-color: rgba(8, 72, 45, 0.10) !important;
  background: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.94), 0 10px 24px rgba(8, 72, 45, 0.06) !important;
}
.smart-excel-action-card > span {
  color: #0b7a4d !important;
}
.smart-excel-template-strip {
  border-color: rgba(189, 127, 6, 0.16) !important;
  background: #fffaf0 !important;
}
@media (max-width: 1280px) {
  .smart-menu-task-console {
    grid-template-columns: 1fr;
  }
  .smart-menu-role-map {
    grid-template-columns: 1fr;
  }
  .smart-menu-role-map i {
    display: none;
  }
  .smart-task-console-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .smart-manual-generator {
    grid-template-columns: 1fr;
  }
  .smart-manual-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .smart-sales-demand-bridge {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .smart-task-console-actions,
  .smart-task-console-facts {
    grid-template-columns: 1fr;
  }
  .smart-menu-task-console,
  .smart-task-console-lead,
  .smart-task-console-summary {
    border-radius: 18px;
  }
  .smart-manual-grid,
  .smart-manual-proof {
    grid-template-columns: 1fr;
  }
  .smart-manual-form-head,
  .smart-manual-submit-row {
    align-items: stretch;
    flex-direction: column;
  }
  .smart-manual-submit-row .primary-action,
  .smart-manual-submit-row .ghost-action,
  .smart-manual-submit-row .smart-human-filter-gate {
    width: 100%;
    max-width: none;
  }
  .event-request-source-card div {
    display: grid;
  }
}
/* 2026-06-14 admin drawer overlay final lock.
   Later theme skins must not turn the global drawer into a relative element.
   Several master-data actions, including BOM category maintenance, depend on
   this drawer being a fixed overlay above the app shell. */
.drawer {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2000 !important;
  display: none;
}
.drawer.open {
  display: block !important;
}
.drawer-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
}
.drawer-panel {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1 !important;
  width: min(760px, 92vw) !important;
  max-width: 100vw !important;
  height: 100vh !important;
  overflow-y: auto !important;
}
/* 2026-06-15 topbar final sizing lock.
   The global no-wrap button guard intentionally protects dense operation
   tables, but the topbar needs a stricter fixed rhythm so search, action
   buttons and the user chip do not appear as mismatched controls. */
.topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 44px !important;
  min-height: 44px !important;
  flex-wrap: nowrap !important;
}
.topbar-actions .topbar-search,
.topbar-actions .ghost-action,
.topbar-actions .primary-action,
.topbar-actions .admin-user {
  box-sizing: border-box !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 14px !important;
}
.topbar-actions .topbar-search {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 0 286px !important;
  width: 286px !important;
  min-width: 286px !important;
  max-width: 286px !important;
  padding: 0 12px !important;
}
.topbar-actions .ghost-action,
.topbar-actions .primary-action {
  width: auto !important;
  min-width: 68px !important;
  max-width: 132px !important;
  padding: 0 15px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
}
.topbar-actions #primaryBtn {
  min-width: 100px !important;
  max-width: 116px !important;
}
.topbar-actions #logoutBtn,
.topbar-actions #refreshBtn {
  min-width: 68px !important;
  max-width: 76px !important;
}
.topbar-actions .admin-user {
  display: flex !important;
  flex: 0 0 124px !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
  padding: 0 13px !important;
  overflow: hidden !important;
}
/* 2026-06-16 sidebar brand polish.
   Align the platform subtitle to the visual center of the official logo and
   make it one step larger so the lockup reads as a single brand block. */
.sidebar > .logo-lockup {
  text-align: center !important;
}
.sidebar > .logo-lockup .logo-mark {
  margin: 0 auto !important;
  width: 172px !important;
  height: 40px !important;
}
.sidebar > .logo-lockup .logo-mark img {
  width: 172px !important;
  max-width: 100% !important;
}
.sidebar > .logo-lockup .logo-text {
  margin-top: 7px !important;
  width: 172px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.sidebar > .logo-lockup .logo-text small {
  color: #47665d !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  text-align: center !important;
}
/* 2026-06-16 supplier clean-veg supply-chain tag alignment */
.inline-tags {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.bom-ingredient-context {
  margin: 10px 0 18px !important;
  padding: 14px 16px !important;
  border: 1px solid rgba(18, 102, 83, 0.14) !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, rgba(248, 253, 250, 0.96), rgba(240, 249, 246, 0.92)) !important;
  color: #17382f !important;
  box-shadow: 0 14px 34px rgba(13, 78, 60, 0.08) !important;
}
.bom-ingredient-context.clean-veg {
  border-color: rgba(0, 144, 112, 0.28) !important;
  background:
    radial-gradient(circle at 92% 16%, rgba(57, 190, 146, 0.22), transparent 28%),
    linear-gradient(135deg, rgba(237, 252, 246, 0.98), rgba(246, 255, 252, 0.94)) !important;
}
.bom-ingredient-context.muted {
  color: #60756f !important;
}
.bom-ingredient-context > div {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.bom-ingredient-context strong {
  font-size: 15px !important;
  line-height: 1.35 !important;
}
.bom-ingredient-context p {
  margin: 8px 0 0 !important;
  color: #44635a !important;
  line-height: 1.65 !important;
}
.bom-ingredient-context small {
  display: block !important;
  margin-top: 8px !important;
  color: #00785e !important;
  font-weight: 800 !important;
  line-height: 1.55 !important;
}
/* 2026-06-16 production empty-db onboarding */
.module-empty-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 16px 0;
  padding: 17px 18px;
  border: 1px solid rgba(20, 118, 88, 0.14);
  border-radius: 20px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 252, 250, 0.98)),
    radial-gradient(circle at 100% 8%, rgba(255, 214, 73, 0.14), transparent 30%);
  box-shadow: 0 16px 38px rgba(24, 72, 52, 0.07);
}
.module-empty-guide h3 {
  margin: 4px 0 6px;
  color: #102f27;
  font-size: 18px;
  line-height: 1.3;
  letter-spacing: 0;
}
.module-empty-guide p {
  max-width: 940px;
  margin: 0;
  color: #5d746b;
  font-size: 13px;
  line-height: 1.7;
}
.module-empty-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.module-empty-actions .primary-action,
.module-empty-actions .ghost-action {
  min-height: 36px !important;
  white-space: nowrap;
}
.module-empty-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
  justify-content: flex-end;
}
.module-empty-stats span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(20, 118, 88, 0.12);
  border-radius: 999px;
  background: #f7fbf9;
  color: #5d746b;
  font-size: 12px;
  font-weight: 850;
  white-space: nowrap;
}
.module-empty-stats b {
  color: #087a55;
  font-size: 15px;
}
.bom-empty-guide {
  grid-template-columns: minmax(0, 1fr) minmax(260px, auto) auto;
}
.smart-menu-prereq {
  display: grid;
  gap: 14px;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid rgba(20, 118, 88, 0.14);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 250, 0.98)),
    radial-gradient(circle at 94% 12%, rgba(255, 214, 73, 0.16), transparent 28%);
  box-shadow: 0 16px 40px rgba(24, 72, 52, 0.07);
}
.smart-menu-prereq-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}
.smart-menu-prereq-head h3 {
  margin: 4px 0 6px;
  color: #102f27;
  font-size: 19px;
  line-height: 1.3;
  letter-spacing: 0;
}
.smart-menu-prereq-head p {
  max-width: 980px;
  margin: 0;
  color: #5d746b;
  font-size: 13px;
  line-height: 1.72;
}
.smart-menu-prereq-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.smart-menu-prereq-grid article {
  display: grid;
  gap: 9px;
  min-height: 158px;
  padding: 13px;
  border: 1px solid rgba(20, 118, 88, 0.12);
  border-radius: 16px;
  background: #ffffff;
}
.smart-menu-prereq-grid article.warn {
  border-color: rgba(214, 151, 45, 0.22);
  background: linear-gradient(180deg, #ffffff, #fffaf0);
}
.smart-menu-prereq-grid article > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.smart-menu-prereq-grid strong {
  color: #102f27;
  font-size: 13px;
}
.smart-menu-prereq-grid b {
  color: #087a55;
  font-size: 22px;
  line-height: 1;
}
.smart-menu-prereq-grid p {
  margin: 0;
  color: #5d746b;
  font-size: 12px;
  line-height: 1.55;
}
.smart-menu-prereq-grid .mini-action {
  justify-self: start;
  min-height: 30px;
  padding: 0 10px !important;
  border-radius: 10px !important;
}
.first-run-setup {
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(20, 118, 88, 0.14);
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(248, 252, 250, 0.98)),
    radial-gradient(circle at 96% 0%, rgba(255, 214, 73, 0.18), transparent 34%);
  box-shadow: 0 18px 45px rgba(24, 72, 52, 0.08);
}
.first-run-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
}
.first-run-head h2 {
  margin: 4px 0 6px;
  color: #0f2f27;
  font-size: 22px;
  line-height: 1.22;
  letter-spacing: 0;
}
.first-run-head p {
  max-width: 860px;
  margin: 0;
  color: #5d746b;
  font-size: 13px;
  line-height: 1.7;
}
.first-run-score {
  display: grid;
  place-items: center;
  min-width: 118px;
  min-height: 78px;
  padding: 10px 14px;
  border: 1px solid rgba(20, 118, 88, 0.14);
  border-radius: 18px;
  background: #ffffff;
}
.first-run-score strong {
  color: #087a55;
  font-size: 26px;
  line-height: 1;
}
.first-run-score span {
  margin-top: 6px;
  color: #5d746b;
  font-size: 12px;
  font-weight: 800;
}
.first-run-empty-banner {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  padding: 12px 14px;
  border: 1px solid rgba(209, 142, 32, 0.22);
  border-radius: 16px;
  background: #fff9e8;
  color: #5e4514;
}
.first-run-empty-banner strong {
  flex: 0 0 auto;
  font-size: 13px;
  font-weight: 950;
}
.first-run-empty-banner span {
  color: #7b6128;
  font-size: 12px;
  line-height: 1.55;
}
.first-run-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.first-run-step {
  display: grid;
  grid-template-rows: auto auto 1fr auto auto;
  gap: 10px;
  min-height: 236px;
  padding: 14px;
  border: 1px solid rgba(20, 118, 88, 0.12);
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 28px rgba(28, 82, 58, 0.06);
}
.first-run-step.pending {
  border-color: rgba(214, 151, 45, 0.24);
}
.first-run-step.done {
  background: linear-gradient(180deg, #ffffff, #f3fbf7);
}
.first-run-step-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.first-run-step-top b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: #eef7f2;
  color: #087a55;
  font-size: 13px;
  font-weight: 950;
}
.first-run-step h3 {
  margin: 0;
  color: #102f27;
  font-size: 15px;
  line-height: 1.35;
}
.first-run-step p {
  margin: 0;
  color: #5d746b;
  font-size: 12px;
  line-height: 1.62;
}
.first-run-counts,
.first-run-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.first-run-counts span {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 0 9px;
  border: 1px solid rgba(20, 118, 88, 0.11);
  border-radius: 999px;
  background: #f7fbf9;
  color: #21443a;
  font-size: 11px;
  font-weight: 850;
  white-space: nowrap;
}
.first-run-actions .mini-action {
  min-height: 30px;
  padding: 0 10px !important;
  border-radius: 10px !important;
  white-space: nowrap;
}
@media (max-width: 1500px) {
  .smart-menu-prereq-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .first-run-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 980px) {
  .module-empty-guide,
  .bom-empty-guide {
    grid-template-columns: 1fr;
  }
  .module-empty-actions,
  .module-empty-stats {
    justify-content: flex-start;
  }
  .smart-menu-prereq-head {
    flex-direction: column;
  }
  .smart-menu-prereq-grid {
    grid-template-columns: 1fr;
  }
  .first-run-head,
  .first-run-empty-banner {
    flex-direction: column;
    align-items: stretch;
  }
  .first-run-grid {
    grid-template-columns: 1fr;
  }
}
/* 2026-06-17 Week 1 Design Tokens.
   This is the stable token layer for the formal operation console. It is kept
   at the end of the file because earlier iterations contain several theme
   overrides and emergency no-wrap locks. New UI work should reference the
   semantic tokens below instead of hard-coded colors, radii or durations. */
:root {
  /* Primitives */
  --green-50: #edf8f1;
  --green-100: #d8f0e3;
  --green-200: #b7e2cb;
  --green-500: #087a55;
  --green-600: #066a49;
  --green-700: #05563c;
  --green-900: #102f27;
  --mint-50: #f6fbf8;
  --mint-100: #eef7f2;
  --neutral-0: #ffffff;
  --neutral-50: #f8faf8;
  --neutral-100: #edf4ef;
  --neutral-200: #d9e6e1;
  --neutral-300: #c5d5cf;
  --neutral-400: #94aaa1;
  --neutral-500: #6a7d77;
  --neutral-600: #4d6259;
  --neutral-700: #30483e;
  --neutral-900: #0f241d;
  --gold-50: #fff8e4;
  --gold-100: #ffefbf;
  --gold-500: #c48412;
  --gold-600: #9a6508;
  --blue-50: #edf6ff;
  --blue-500: #256fae;
  --red-50: #fff0ed;
  --red-500: #c93f35;
  --red-600: #a9342b;
  /* Semantics */
  --color-bg-base: #fbfcfb;
  --color-bg-canvas: #f5f8f6;
  --color-bg-surface: var(--neutral-0);
  --color-bg-surface-secondary: var(--neutral-50);
  --color-bg-surface-tertiary: var(--neutral-100);
  --color-text-primary: var(--neutral-900);
  --color-text-secondary: var(--neutral-600);
  --color-text-tertiary: var(--neutral-500);
  --color-text-disabled: var(--neutral-400);
  --color-border-subtle: rgba(20, 72, 52, 0.08);
  --color-border-default: var(--neutral-200);
  --color-border-strong: var(--neutral-300);
  --color-brand-primary: var(--green-500);
  --color-brand-primary-hover: var(--green-600);
  --color-brand-primary-active: var(--green-700);
  --color-brand-bg-subtle: var(--green-50);
  --color-feedback-success: var(--green-500);
  --color-feedback-warning: var(--gold-500);
  --color-feedback-error: var(--red-500);
  --color-feedback-info: var(--blue-500);
  /* Legacy aliases kept for the existing giant CSS/JS surface. */
  --bg: var(--color-bg-canvas);
  --surface: var(--color-bg-surface);
  --surface-2: var(--color-bg-surface-secondary);
  --surface-3: var(--color-bg-surface-tertiary);
  --ink: var(--color-text-primary);
  --muted: var(--color-text-secondary);
  --subtle: var(--color-text-tertiary);
  --line: var(--color-border-default);
  --line-strong: var(--color-border-strong);
  --green: var(--color-brand-primary);
  --green-deep: var(--color-brand-primary-active);
  --green-2: var(--color-brand-bg-subtle);
  --gold: var(--color-feedback-warning);
  --gold-2: var(--gold-50);
  --blue: var(--color-feedback-info);
  --blue-2: var(--blue-50);
  --red: var(--color-feedback-error);
  --red-2: var(--red-50);
  /* Typography */
  --font-family-base: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  --font-size-xs: 11px;
  --font-size-sm: 12px;
  --font-size-md: 13px;
  --font-size-base: 14px;
  --font-size-lg: 16px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-weight-normal: 400;
  --font-weight-medium: 600;
  --font-weight-semibold: 750;
  --font-weight-bold: 900;
  --line-height-tight: 1.24;
  --line-height-normal: 1.55;
  --line-height-relaxed: 1.75;
  /* Spacing */
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  /* Shape */
  --radius-xs: 6px;
  --radius-sm: 9px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 22px;
  --radius-full: 999px;
  /* Elevation and motion */
  --shadow-xs: 0 1px 2px rgba(21, 42, 31, 0.04);
  --shadow-sm: 0 7px 18px rgba(21, 42, 31, 0.055);
  --shadow-md: 0 14px 34px rgba(21, 42, 31, 0.075);
  --shadow-lg: 0 22px 58px rgba(21, 42, 31, 0.11);
  --shadow-xl: 0 34px 84px rgba(21, 42, 31, 0.16);
  --shadow: var(--shadow-lg);
  --shadow-soft: var(--shadow-md);
  --duration-fast: 150ms;
  --duration-base: 240ms;
  --duration-slow: 360ms;
  --easing-default: cubic-bezier(0.2, 0, 0, 1);
  --easing-soft: cubic-bezier(0.2, 0.8, 0.2, 1);
  --focus-ring: 0 0 0 4px rgba(8, 122, 85, 0.13);
}
html {
  background: var(--color-bg-base);
  scroll-behavior: smooth;
}
body {
  background:
    radial-gradient(circle at 88% -14%, rgba(255, 214, 73, 0.13), transparent 30%),
    radial-gradient(circle at 5% -8%, rgba(8, 122, 85, 0.07), transparent 30%),
    linear-gradient(180deg, var(--color-bg-base) 0%, var(--color-bg-canvas) 100%) !important;
  color: var(--color-text-primary) !important;
  font-family: var(--font-family-base) !important;
  font-size: var(--font-size-base);
  line-height: var(--line-height-normal);
  letter-spacing: 0 !important;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  font-variant-numeric: tabular-nums;
}
::selection {
  background: rgba(8, 122, 85, 0.16);
}
.main,
.content {
  background: transparent !important;
}
.app-shell {
  grid-template-columns: 260px minmax(0, 1fr) !important;
}
.sidebar {
  border-right: 1px solid var(--color-border-default) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  box-shadow: 16px 0 42px rgba(21, 42, 31, 0.055) !important;
}
.sidebar > .logo-lockup {
  display: block !important;
  margin: 0 0 var(--space-4) !important;
  padding: var(--space-3) var(--space-2) var(--space-4) !important;
  border-bottom: 1px solid var(--color-border-default) !important;
  background: transparent !important;
  text-align: center !important;
}
.sidebar > .logo-lockup .logo-mark {
  width: 182px !important;
  height: 43px !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.sidebar > .logo-lockup .logo-mark img {
  width: 182px !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
}
.sidebar > .logo-lockup .logo-text {
  width: 182px !important;
  margin: 8px auto 0 !important;
}
.sidebar > .logo-lockup .logo-text strong {
  display: none !important;
}
.sidebar > .logo-lockup .logo-text small {
  display: block !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--color-text-secondary) !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-semibold) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}
.sidebar .nav {
  gap: var(--space-1) !important;
  padding-right: 2px;
}
.sidebar .nav-group,
.sidebar .nav-section-title {
  color: var(--color-text-tertiary) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0 !important;
}
.sidebar .nav-button {
  min-height: 38px !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-text-secondary) !important;
  transition:
    background var(--duration-fast) var(--easing-default),
    color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default),
    transform var(--duration-fast) var(--easing-default);
}
.sidebar .nav-button:hover {
  background: var(--color-bg-surface-secondary) !important;
  color: var(--color-brand-primary) !important;
}
.sidebar .nav-button.active {
  color: var(--color-brand-primary) !important;
  border-color: rgba(8, 122, 85, 0.14) !important;
  background: linear-gradient(180deg, #f3fbf7, #eaf6f0) !important;
  box-shadow: inset 3px 0 0 var(--color-brand-primary), 0 8px 20px rgba(8, 122, 85, 0.07) !important;
}
.sidebar .nav-icon,
.sidebar .nav-button.active .nav-icon {
  background: var(--color-brand-bg-subtle) !important;
  color: currentColor !important;
}
.sidebar .sidebar-card {
  border-color: var(--color-border-default) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-bg-surface-secondary) !important;
  box-shadow: none !important;
}
.topbar {
  border-color: var(--color-border-default) !important;
  background: rgba(255, 255, 255, 0.92) !important;
  box-shadow: 0 12px 32px rgba(21, 42, 31, 0.055) !important;
  backdrop-filter: blur(16px);
}
.topbar h1,
.topbar-title strong,
.panel-title {
  color: var(--color-text-primary) !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0 !important;
  line-height: var(--line-height-tight) !important;
}
.topbar h1 {
  font-size: 21px !important;
}
.topbar-title span,
.panel-sub,
.topbar .eyebrow,
.eyebrow {
  color: var(--color-text-secondary) !important;
  letter-spacing: 0 !important;
}
.topbar .eyebrow,
.eyebrow {
  color: var(--color-brand-primary) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: var(--font-weight-bold) !important;
}
.topbar-actions {
  display: flex !important;
  align-items: center !important;
  gap: var(--space-2) !important;
  min-height: 44px !important;
  flex-wrap: nowrap !important;
}
.topbar-actions .topbar-search,
.topbar-actions .ghost-action,
.topbar-actions .primary-action,
.topbar-actions .admin-user {
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  border-radius: 15px !important;
}
.topbar-actions .topbar-search {
  flex: 0 0 300px !important;
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
  padding: 0 13px !important;
  border: 1px solid var(--color-border-default) !important;
  background: var(--color-bg-surface) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85) !important;
}
.topbar-actions .topbar-search span {
  color: var(--color-text-tertiary) !important;
}
.topbar-actions .topbar-search input {
  color: var(--color-text-primary) !important;
}
.topbar-actions .topbar-search input::placeholder {
  color: var(--color-text-tertiary) !important;
}
.topbar-actions .ghost-action,
.topbar-actions .primary-action {
  min-width: 76px !important;
  max-width: 146px !important;
  padding: 0 16px !important;
  font-size: var(--font-size-md) !important;
  font-weight: var(--font-weight-bold) !important;
}
.topbar-actions #primaryBtn {
  min-width: 108px !important;
  max-width: 124px !important;
}
.topbar-actions #logoutBtn,
.topbar-actions #refreshBtn {
  min-width: 76px !important;
  max-width: 88px !important;
}
.topbar-actions .admin-user {
  flex: 0 0 154px !important;
  width: 154px !important;
  min-width: 154px !important;
  max-width: 154px !important;
  border: 1px solid var(--color-border-default) !important;
  background: var(--color-bg-surface) !important;
}
.topbar-actions .admin-user strong,
.topbar-actions .admin-user span,
.topbar-actions .admin-user small {
  letter-spacing: 0 !important;
}
.topbar-actions .admin-user strong {
  color: var(--color-text-primary) !important;
  font-size: var(--font-size-md) !important;
}
.topbar-actions .admin-user span,
.topbar-actions .admin-user small {
  color: var(--color-text-tertiary) !important;
  font-size: var(--font-size-xs) !important;
}
.primary-action,
.ghost-action,
.mini-action,
.segment-pill,
.filter-chip {
  border-radius: var(--radius-md) !important;
  font-weight: var(--font-weight-semibold) !important;
  letter-spacing: 0 !important;
  transition:
    transform var(--duration-fast) var(--easing-soft),
    box-shadow var(--duration-fast) var(--easing-soft),
    background var(--duration-fast) var(--easing-default),
    border-color var(--duration-fast) var(--easing-default),
    color var(--duration-fast) var(--easing-default) !important;
}
.primary-action {
  border-color: transparent !important;
  background: linear-gradient(180deg, #12946a 0%, var(--color-brand-primary) 100%) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(8, 122, 85, 0.18) !important;
}
.primary-action:hover {
  background: linear-gradient(180deg, #159f72 0%, var(--color-brand-primary-hover) 100%) !important;
  box-shadow: 0 15px 32px rgba(8, 122, 85, 0.23) !important;
  transform: translateY(-1px);
}
.primary-action:active {
  background: var(--color-brand-primary-active) !important;
}
.primary-action.yellow {
  background: linear-gradient(180deg, #ffd95b 0%, #f2b82c 100%) !important;
  color: #3a2a08 !important;
  box-shadow: 0 12px 26px rgba(196, 132, 18, 0.18) !important;
}
.ghost-action,
.mini-action {
  border-color: var(--color-border-default) !important;
  background: var(--color-bg-surface) !important;
  color: var(--color-text-primary) !important;
  box-shadow: var(--shadow-xs) !important;
}
.ghost-action:hover,
.mini-action:hover {
  border-color: rgba(8, 122, 85, 0.24) !important;
  background: var(--color-brand-bg-subtle) !important;
  color: var(--color-brand-primary) !important;
  box-shadow: var(--shadow-sm) !important;
  transform: translateY(-1px);
}
.mini-action.primary-mini {
  border-color: transparent !important;
  background: var(--color-brand-primary) !important;
  color: #ffffff !important;
}
.mini-action.danger {
  border-color: rgba(201, 63, 53, 0.22) !important;
  background: var(--red-50) !important;
  color: var(--red-600) !important;
}
.primary-action.disabled,
.ghost-action.disabled,
.mini-action.disabled,
.primary-action:disabled,
.ghost-action:disabled,
.mini-action:disabled {
  cursor: not-allowed !important;
  opacity: 0.54 !important;
  transform: none !important;
  box-shadow: none !important;
}
.panel,
.metric,
.chart-card,
.ops-command-panel,
.drawer-panel,
.table-wrap,
.smart-review-cockpit,
.smart-condition-panel,
.weekly-editor-shell,
.menu-export-card,
.module-empty-guide,
.smart-menu-prereq,
.first-run-setup {
  border-color: var(--color-border-default) !important;
  border-radius: var(--radius-xl) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(252, 254, 253, 0.96)) !important;
  box-shadow: var(--shadow-md) !important;
}
.panel:hover,
.metric:hover,
.chart-card:hover,
.ops-command-panel:hover,
.menu-ops-card:hover,
.first-run-step:hover {
  border-color: rgba(8, 122, 85, 0.18) !important;
  box-shadow: var(--shadow-lg) !important;
}
.panel-head {
  gap: var(--space-4) !important;
  border-color: var(--color-border-subtle) !important;
}
.panel-head select,
.panel-actions select,
.panel-actions input,
.form-field input,
.form-field select,
.form-field textarea,
input,
select,
textarea {
  border-color: var(--color-border-default) !important;
  border-radius: var(--radius-md) !important;
  background: var(--color-bg-surface) !important;
  color: var(--color-text-primary) !important;
  transition:
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default),
    background var(--duration-fast) var(--easing-default) !important;
}
.topbar-search:focus-within,
.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus,
.panel-head select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: rgba(8, 122, 85, 0.44) !important;
  box-shadow: var(--focus-ring) !important;
}
button:focus-visible,
.nav-button:focus-visible,
.segment-pill:focus-visible,
.filter-chip:focus-visible,
.smart-generated-cell-action:focus-visible,
.smart-generated-empty-cell:focus-visible {
  outline: 0 !important;
  box-shadow: var(--focus-ring) !important;
}
.table th,
thead th {
  background: var(--color-bg-surface-tertiary) !important;
  color: var(--color-text-secondary) !important;
  font-size: var(--font-size-xs) !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0 !important;
}
.table td,
tbody td {
  color: var(--color-text-primary) !important;
}
.table tbody tr,
tbody tr {
  transition:
    background var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-default) !important;
}
.table tbody tr:hover,
tbody tr:hover {
  background: #f6fbf8 !important;
}
.tag,
.badge,
.pill,
.status,
.status-pill,
.smart-excel-forward-tags span,
.smart-tags .tag,
.row-tags .tag,
.preset-tags .tag,
.refined-chip-row .tag,
.permission-list .tag {
  min-height: 28px !important;
  padding: 0 10px !important;
  border-radius: var(--radius-sm) !important;
  border: 1px solid rgba(8, 122, 85, 0.14) !important;
  background: var(--color-brand-bg-subtle) !important;
  color: var(--color-brand-primary) !important;
  box-shadow: none !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-semibold) !important;
  letter-spacing: 0 !important;
}
.tag.gray,
.badge.gray,
.pill.gray,
.status.gray,
.status-pill.gray {
  border-color: rgba(77, 98, 89, 0.14) !important;
  background: var(--color-bg-surface-tertiary) !important;
  color: var(--color-text-secondary) !important;
}
.tag.blue,
.badge.blue,
.pill.blue,
.status.blue,
.status-pill.blue {
  border-color: rgba(37, 111, 174, 0.16) !important;
  background: var(--blue-50) !important;
  color: var(--blue-500) !important;
}
.tag.warn,
.badge.warn,
.pill.warn,
.status.warn,
.status-pill.warn {
  border-color: rgba(196, 132, 18, 0.2) !important;
  background: var(--gold-50) !important;
  color: var(--gold-600) !important;
}
.tag.red,
.badge.red,
.pill.red,
.status.red,
.status-pill.red {
  border-color: rgba(201, 63, 53, 0.18) !important;
  background: var(--red-50) !important;
  color: var(--red-600) !important;
}
.tag.green,
.badge.green,
.pill.green,
.status.green,
.status-pill.green {
  border-color: rgba(8, 122, 85, 0.16) !important;
  background: var(--color-brand-bg-subtle) !important;
  color: var(--color-brand-primary) !important;
}
.menu-ops-overview,
.smart-excel-forward-center {
  border-color: rgba(8, 122, 85, 0.12) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 214, 73, 0.13), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #fbfdfb 58%, #f5faf7 100%) !important;
  box-shadow: var(--shadow-md) !important;
}
.menu-ops-card,
.first-run-step,
.smart-menu-prereq-grid article {
  border-color: var(--color-border-default) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-bg-surface) !important;
  box-shadow: var(--shadow-sm) !important;
}
.smart-excel-forward-copy h3,
.smart-excel-action-card strong,
.smart-excel-template-strip strong,
.module-empty-guide h3,
.smart-menu-prereq-head h3,
.first-run-head h2,
.first-run-step h3,
.menu-ops-card-head span {
  color: var(--color-text-primary) !important;
  letter-spacing: 0 !important;
}
.smart-excel-forward-copy p,
.smart-excel-action-card p,
.smart-excel-template-strip span,
.module-empty-guide p,
.smart-menu-prereq-head p,
.first-run-head p,
.first-run-step p,
.menu-ops-card p,
.menu-ops-card small {
  color: var(--color-text-secondary) !important;
}
/* 2026-06-17 Week 1 high-frequency module components.
   These are the areas operators complained about most: menu center entry
   cards, supplier action routing, delivery reconciliation, and generated-menu
   next-step buttons. Keep them tokenized and visually clickable. */
.menu-ops-entry,
.smart-menu-shortcut-strip button,
.smart-manual-route button,
.smart-generator-route button,
.smart-library-scope-grid button,
.smart-use-navigator-grid button,
.smart-command-lane,
.smart-work-card .mini-action {
  border-color: rgba(8, 122, 85, 0.16) !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(247, 252, 250, 0.98)) !important;
  color: var(--color-text-primary) !important;
  box-shadow: var(--shadow-sm) !important;
  transition:
    transform var(--duration-fast) var(--easing-soft),
    border-color var(--duration-fast) var(--easing-default),
    background var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-soft) !important;
}
.menu-ops-entry {
  min-height: 34px !important;
  min-width: 116px !important;
  padding: 0 13px !important;
  border-radius: var(--radius-md) !important;
  color: var(--color-brand-primary) !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-bold) !important;
}
.menu-ops-entry:hover,
.smart-menu-shortcut-strip button:hover,
.smart-manual-route button:hover,
.smart-generator-route button:hover,
.smart-library-scope-grid button:hover,
.smart-use-navigator-grid button:hover,
.smart-command-lane:hover {
  border-color: rgba(8, 122, 85, 0.3) !important;
  background:
    linear-gradient(180deg, #ffffff, var(--color-brand-bg-subtle)) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
}
.menu-ops-entry:active,
.smart-menu-shortcut-strip button:active,
.smart-manual-route button:active,
.smart-generator-route button:active,
.smart-library-scope-grid button:active,
.smart-use-navigator-grid button:active,
.smart-command-lane:active {
  transform: translateY(0) scale(0.99);
}
.smart-menu-shortcut-strip span,
.smart-manual-route button span,
.smart-generator-route button span,
.smart-library-scope-grid button span,
.smart-use-navigator-grid button span,
.smart-command-lane span {
  color: var(--color-brand-primary) !important;
  font-weight: var(--font-weight-bold) !important;
}
.smart-menu-shortcut-strip strong,
.smart-manual-route button strong,
.smart-generator-route button strong,
.smart-library-scope-grid button strong,
.smart-use-navigator-grid button strong,
.smart-command-lane strong {
  color: var(--color-text-primary) !important;
  letter-spacing: 0 !important;
}
.smart-manual-route button em,
.smart-generator-route button em,
.smart-library-scope-grid button em,
.smart-use-navigator-grid button em,
.smart-command-lane em {
  color: var(--color-text-secondary) !important;
  font-style: normal !important;
  line-height: var(--line-height-normal) !important;
}
.supplier-action-guide {
  border-color: rgba(8, 122, 85, 0.14) !important;
  border-radius: var(--radius-xl) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 214, 73, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #fbfdfb 58%, #f4faf7 100%) !important;
  box-shadow: var(--shadow-md) !important;
}
.supplier-action-copy span,
.supplier-flow-card > span,
.supplier-action-router strong {
  color: var(--color-brand-primary) !important;
  letter-spacing: 0 !important;
}
.supplier-action-copy strong,
.supplier-flow-card > strong {
  color: var(--color-text-primary) !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0 !important;
}
.supplier-action-copy p,
.supplier-flow-card > p,
.supplier-action-router p {
  color: var(--color-text-secondary) !important;
  font-weight: var(--font-weight-medium) !important;
}
.supplier-flow-card,
.supplier-action-router {
  border-color: var(--color-border-default) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-bg-surface) !important;
  box-shadow: var(--shadow-sm) !important;
  transition:
    border-color var(--duration-fast) var(--easing-default),
    box-shadow var(--duration-fast) var(--easing-soft),
    transform var(--duration-fast) var(--easing-soft) !important;
}
.supplier-flow-card.primary {
  border-color: rgba(8, 122, 85, 0.22) !important;
  background: linear-gradient(180deg, #ffffff, #f3fbf7) !important;
}
.supplier-flow-card:hover {
  border-color: rgba(8, 122, 85, 0.24) !important;
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
}
.supplier-action-buttons .primary-action,
.supplier-action-buttons .ghost-action,
.supplier-flow-card .primary-action,
.supplier-flow-card .ghost-action {
  min-height: 38px !important;
  border-radius: var(--radius-md) !important;
}
.billing-decision-summary {
  border-color: rgba(8, 122, 85, 0.14) !important;
  border-radius: var(--radius-xl) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(8, 122, 85, 0.08), transparent 34%),
    linear-gradient(180deg, #ffffff, #f8fbfa) !important;
  box-shadow: var(--shadow-md) !important;
}
.billing-decision-summary.warn {
  border-color: rgba(196, 132, 18, 0.24) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(255, 214, 73, 0.18), transparent 34%),
    linear-gradient(180deg, #fffdf6, #ffffff) !important;
}
.billing-decision-summary.red {
  border-color: rgba(201, 63, 53, 0.24) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(201, 63, 53, 0.12), transparent 34%),
    linear-gradient(180deg, #fff8f7, #ffffff) !important;
}
.billing-decision-copy span {
  color: var(--color-brand-primary) !important;
  letter-spacing: 0 !important;
}
.billing-decision-copy strong {
  color: var(--color-text-primary) !important;
  font-weight: var(--font-weight-bold) !important;
  letter-spacing: 0 !important;
}
.billing-decision-copy p {
  color: var(--color-text-secondary) !important;
}
.billing-decision-kpis span,
.billing-decision-item {
  border-color: var(--color-border-default) !important;
  border-radius: var(--radius-lg) !important;
  background: rgba(255, 255, 255, 0.88) !important;
  box-shadow: var(--shadow-xs) !important;
}
.billing-decision-kpis b {
  color: var(--color-brand-primary) !important;
}
.billing-decision-summary.warn .billing-decision-kpis b,
.billing-decision-item.review b {
  color: var(--color-feedback-warning) !important;
}
.billing-decision-summary.red .billing-decision-kpis b,
.billing-decision-item.blocked b {
  color: var(--color-feedback-error) !important;
}
.billing-decision-item span {
  color: var(--color-text-tertiary) !important;
}
.billing-decision-item strong {
  color: var(--color-text-primary) !important;
}
.billing-decision-item p {
  color: var(--color-text-secondary) !important;
}
/* Week 1 layout containment: data-heavy modules may contain wide internal
   tables, but they must never widen the whole admin canvas. */
.content {
  grid-template-columns: minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 1720px !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.content > *,
.smart-menu-prereq,
.smart-menu-command-center,
.smart-task-console,
.smart-menu-task-console,
.smart-menu-section-tabs,
.smart-menu-section-body,
.smart-anchor-panel,
.smart-generated-preview,
.smart-generated-sheet-wrap,
.smart-week-table-wrap,
.smart-review-week-table-wrap,
.smart-excel-forward-center,
.menu-ops-overview,
.supplier-action-guide,
.billing-decision-summary {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}
.smart-menu-prereq-grid,
.smart-command-lanes,
.smart-command-side,
.smart-menu-stage-copy,
.smart-menu-stage-side,
.smart-menu-section-tabs nav,
.smart-generated-preview > *,
.smart-generated-sheet-wrap > * {
  min-width: 0 !important;
}
.smart-menu-command-center {
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.7fr) minmax(220px, .62fr) !important;
  grid-template-areas: "hero lanes side" !important;
  align-items: start !important;
}
.smart-menu-command-center > * {
  min-width: 0 !important;
  max-width: 100% !important;
}
.smart-command-hero {
  grid-area: hero !important;
}
.smart-command-lanes {
  grid-area: lanes !important;
}
.smart-command-side {
  grid-area: side !important;
}
.smart-command-lanes {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}
.smart-command-lane,
.smart-command-path button,
.smart-command-kpis span {
  min-width: 0 !important;
  max-width: 100% !important;
}
.smart-command-lane p,
.smart-command-lane em {
  overflow-wrap: anywhere !important;
}
@media (max-width: 1500px) {
  .smart-menu-command-center {
    grid-template-columns: minmax(180px, .72fr) minmax(0, 1.7fr) !important;
    grid-template-areas:
      "hero lanes"
      "side lanes" !important;
  }
  .smart-command-lanes {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
  .smart-command-side {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
}
@media (max-width: 1180px) {
  .smart-menu-command-center {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-areas:
      "hero"
      "lanes"
      "side" !important;
  }
  .smart-command-hero,
  .smart-command-lanes,
  .smart-command-side {
    grid-column: auto;
    grid-row: auto;
  }
  .smart-command-lanes,
  .smart-command-side {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
.smart-task-console,
.smart-menu-task-console {
  grid-template-columns: minmax(220px, 0.84fr) minmax(0, 1.28fr) minmax(220px, 0.88fr) !important;
}
.smart-task-console-summary,
.smart-task-console-lead,
.smart-task-console-actions,
.smart-task-console-card {
  min-width: 0 !important;
}
.smart-generator-workbook-grid,
.smart-manual-generator.has-result .smart-generator-workbook-grid {
  grid-template-columns: minmax(280px, 380px) minmax(0, 1fr) !important;
}
@media (max-width: 1100px) {
  .smart-generator-workbook-grid,
  .smart-manual-generator.has-result .smart-generator-workbook-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-manual-generator.has-result .smart-generator-result-pane,
  .smart-manual-generator.has-result .smart-generator-conditions {
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}
.smart-generated-preview-kpis {
  min-width: 0 !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.smart-generated-decision-grid,
.smart-generated-decision-grid.event {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
.smart-generated-sheet-wrap {
  overflow-x: auto !important;
  overflow-y: visible !important;
  overscroll-behavior-x: contain;
  contain: inline-size paint;
}
.smart-week-table-wrap,
.smart-review-week-table-wrap {
  overflow-x: auto !important;
  overscroll-behavior-x: contain;
  contain: inline-size paint;
}
.smart-generated-sheet-title,
.smart-generated-sheet-quickbar {
  width: max(100%, 980px) !important;
  box-sizing: border-box !important;
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
}
/* External website order intake detail */
.detail-action-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 14px 0;
}
.external-order-target,
.external-order-payload {
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-lg);
  background: var(--surface-muted);
  padding: 16px;
  margin-top: 14px;
}
.external-order-target span {
  display: block;
  color: var(--text-muted);
  font-size: 12px;
  margin-bottom: 4px;
}
.external-order-target strong {
  color: var(--text-strong);
  font-size: 18px;
}
.external-order-target p {
  margin: 8px 0 0;
  color: var(--text-muted);
}
.external-order-payload pre {
  max-height: 280px;
  overflow: auto;
  margin: 10px 0 0;
  padding: 12px;
  border-radius: var(--radius-md);
  background: rgba(12, 31, 26, 0.06);
  color: var(--text-strong);
  font: 12px/1.55 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  white-space: pre-wrap;
  word-break: break-word;
}
/* 2026-06-17 Week 1.1 Design Token consolidation.
   This layer is intentionally last: it makes the current monolithic admin UI
   obey one rhythm while the older module CSS is gradually retired. */
:root {
  --control-height-sm: 34px;
  --control-height-md: 42px;
  --control-height-lg: 46px;
  --control-pad-x-sm: 12px;
  --control-pad-x-md: 16px;
  --control-pad-x-lg: 20px;
  --surface-muted: var(--color-bg-surface-secondary);
  --border-strong: var(--color-border-strong);
  --text-strong: var(--color-text-primary);
  --text-muted: var(--color-text-secondary);
  --text-subtle: var(--color-text-tertiary);
  --brand: var(--color-brand-primary);
  --brand-soft: var(--color-brand-bg-subtle);
  --warning-soft: var(--gold-50);
  --danger-soft: var(--red-50);
}
button,
.primary-action,
.ghost-action,
.mini-action,
.segment-pill,
.filter-chip {
  appearance: none;
  min-width: max-content;
  white-space: nowrap !important;
  word-break: keep-all !important;
  line-height: 1 !important;
  text-align: center;
}
.primary-action,
.ghost-action {
  min-height: var(--control-height-md) !important;
  height: var(--control-height-md) !important;
  padding: 0 var(--control-pad-x-md) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-md) !important;
}
.mini-action {
  min-height: var(--control-height-sm) !important;
  height: var(--control-height-sm) !important;
  padding: 0 var(--control-pad-x-sm) !important;
  border-radius: var(--radius-sm) !important;
  font-size: var(--font-size-sm) !important;
}
.panel-head button,
.panel-actions button,
.drawer-actions button,
.actions button,
.table-actions button,
.meal-box-actions button,
.container-actions button,
.supplier-action-buttons button,
.module-empty-actions button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--space-2) !important;
  min-height: var(--control-height-md) !important;
  border-radius: var(--radius-md) !important;
  font-size: var(--font-size-md) !important;
}
.panel-head .mini-action,
.panel-actions .mini-action,
.drawer-actions .mini-action,
.actions .mini-action,
.table-actions .mini-action {
  min-height: var(--control-height-sm) !important;
  height: var(--control-height-sm) !important;
  font-size: var(--font-size-sm) !important;
}
.topbar-actions {
  align-items: center !important;
  gap: var(--space-2) !important;
}
.topbar-actions .topbar-search,
.topbar-actions .ghost-action,
.topbar-actions .primary-action,
.topbar-actions .admin-user {
  height: var(--control-height-md) !important;
  min-height: var(--control-height-md) !important;
  max-height: var(--control-height-md) !important;
  border-radius: var(--radius-lg) !important;
}
.topbar-actions .topbar-search {
  width: 300px !important;
  min-width: 300px !important;
  max-width: 300px !important;
}
.topbar-actions .ghost-action,
.topbar-actions .primary-action {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 var(--control-pad-x-md) !important;
}
.topbar-actions .admin-user {
  display: grid !important;
  align-content: center !important;
  gap: 2px !important;
  padding: 0 var(--control-pad-x-md) !important;
  overflow: hidden !important;
}
.smart-slot,
.candidate-slot-review-btn,
.menu-slot-choice .candidate-replace-btn,
.smart-missing-slot-actions .mini-action,
.menu-slot-review-actions .primary-action,
.menu-slot-review-actions .ghost-action {
  min-width: 0 !important;
  max-width: 100% !important;
}
.smart-slot,
.candidate-slot-review-btn {
  white-space: normal !important;
  line-height: 1.25 !important;
  text-align: left !important;
}
.tag,
.badge,
.pill,
.status,
.status-pill,
.smart-excel-forward-tags span,
.smart-tags .tag,
.row-tags .tag,
.preset-tags .tag,
.inline-tags span,
.refined-chip-row .tag,
.permission-list .tag {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 26px !important;
  padding: 0 10px !important;
  border-radius: var(--radius-full) !important;
  border: 1px solid rgba(8, 122, 85, 0.16) !important;
  background: var(--color-brand-bg-subtle) !important;
  color: var(--color-brand-primary) !important;
  box-shadow: none !important;
  font-size: var(--font-size-sm) !important;
  font-weight: var(--font-weight-semibold) !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
}
.tag.warn,
.badge.warn,
.pill.warn,
.status.warn,
.status-pill.warn {
  border-color: rgba(196, 132, 18, 0.28) !important;
  background: var(--warning-soft) !important;
  color: var(--gold-600) !important;
}
.tag.red,
.badge.red,
.pill.red,
.status.red,
.status-pill.red {
  border-color: rgba(201, 63, 53, 0.24) !important;
  background: var(--danger-soft) !important;
  color: var(--red-600) !important;
}
.tag.blue,
.badge.blue,
.pill.blue,
.status.blue,
.status-pill.blue {
  border-color: rgba(37, 111, 174, 0.2) !important;
  background: var(--blue-50) !important;
  color: var(--blue-500) !important;
}
.tag.gray,
.badge.gray,
.pill.gray,
.status.gray,
.status-pill.gray {
  border-color: rgba(77, 98, 89, 0.16) !important;
  background: var(--color-bg-surface-tertiary) !important;
  color: var(--color-text-secondary) !important;
}
.panel,
.metric,
.chart-card,
.ops-command-panel,
.drawer-panel,
.table-wrap,
.menu-ops-card,
.supplier-flow-card,
.supplier-action-router,
.billing-decision-item,
.external-order-target,
.external-order-payload {
  border-radius: var(--radius-xl) !important;
  border-color: var(--color-border-default) !important;
  background: var(--color-bg-surface) !important;
}
.panel-head,
.panel-actions,
.drawer-head,
.drawer-actions,
.actions,
.table-actions,
.supplier-action-buttons,
.module-empty-actions {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: var(--space-2) !important;
}
input,
select,
textarea,
.topbar-search,
.form-field input,
.form-field select,
.form-field textarea,
.panel-head select,
.panel-actions select,
.panel-actions input {
  min-height: var(--control-height-md);
  border-radius: var(--radius-md) !important;
}
.external-order-target,
.external-order-payload {
  background: var(--surface-muted) !important;
  box-shadow: var(--shadow-xs) !important;
}
/* 2026-06-17 traceability chain visualization.
   The traceability report keeps raw tables, but first presents the food-safety evidence chain. */
.trace-chain-panel {
  border-color: rgba(13, 148, 136, 0.24) !important;
  background:
    linear-gradient(135deg, rgba(236, 253, 245, 0.92), rgba(255, 255, 255, 0.96) 54%, rgba(255, 251, 235, 0.72)),
    var(--color-bg-surface, #fff) !important;
}
.trace-chain-panel-warning {
  border-color: rgba(217, 119, 6, 0.34) !important;
}
.trace-chain-panel-missing {
  border-color: rgba(220, 38, 38, 0.34) !important;
}
.trace-chain-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0 var(--space-3, 12px);
  border-radius: 999px;
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-bold, 700);
  white-space: nowrap;
}
.trace-chain-badge-complete {
  background: rgba(16, 185, 129, 0.12);
  color: #047857;
}
.trace-chain-badge-warning {
  background: rgba(245, 158, 11, 0.14);
  color: #92400e;
}
.trace-chain-badge-missing {
  background: rgba(239, 68, 68, 0.12);
  color: #b91c1c;
}
.trace-chain {
  display: grid;
  gap: 0;
}
.trace-chain-item {
  position: relative;
}
.trace-chain-row {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--space-3, 12px);
  padding: var(--space-4, 16px);
  border: 1px solid var(--color-border-default, #d8e7df);
  border-left-width: 4px;
  border-radius: var(--radius-lg, 16px);
  background: rgba(255, 255, 255, 0.92);
  box-shadow: var(--shadow-xs, 0 1px 2px rgba(15, 23, 42, 0.05));
}
.trace-chain-complete .trace-chain-row {
  border-left-color: var(--color-feedback-success, #059669);
}
.trace-chain-warning .trace-chain-row {
  border-left-color: var(--color-feedback-warning, #d97706);
  background: linear-gradient(135deg, rgba(255, 251, 235, 0.95), rgba(255, 255, 255, 0.95));
}
.trace-chain-missing .trace-chain-row {
  border-left-color: var(--color-feedback-error, #dc2626);
  background: linear-gradient(135deg, rgba(254, 242, 242, 0.96), rgba(255, 255, 255, 0.95));
}
.trace-chain-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(5, 150, 105, 0.12);
  color: #047857;
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-bold, 700);
}
.trace-chain-warning .trace-chain-index {
  background: rgba(245, 158, 11, 0.16);
  color: #92400e;
}
.trace-chain-missing .trace-chain-index {
  background: rgba(239, 68, 68, 0.14);
  color: #b91c1c;
}
.trace-chain-main {
  min-width: 0;
}
.trace-chain-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3, 12px);
}
.trace-chain-title strong {
  color: var(--color-text-primary, #10231b);
  font-size: var(--font-size-lg, 18px);
  line-height: 1.25;
}
.trace-chain-title span {
  flex: 0 0 auto;
  padding: 3px 9px;
  border-radius: 999px;
  background: rgba(5, 150, 105, 0.1);
  color: #047857;
  font-size: 12px;
  font-weight: var(--font-weight-bold, 700);
}
.trace-chain-warning .trace-chain-title span {
  background: rgba(245, 158, 11, 0.15);
  color: #92400e;
}
.trace-chain-missing .trace-chain-title span {
  background: rgba(239, 68, 68, 0.13);
  color: #b91c1c;
}
.trace-chain-summary,
.trace-chain-evidence {
  margin-top: var(--space-1, 4px);
  color: var(--color-text-secondary, #50645a);
  font-size: var(--font-size-sm, 13px);
  line-height: 1.55;
}
.trace-chain-evidence {
  color: var(--color-text-muted, #6b7d73);
}
.trace-chain-missing-hint {
  margin-top: var(--space-2, 8px);
  padding: 9px 11px;
  border-radius: var(--radius-md, 12px);
  background: rgba(239, 68, 68, 0.09);
  color: #b91c1c;
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-semibold, 600);
}
.trace-chain-warning .trace-chain-missing-hint {
  background: rgba(245, 158, 11, 0.11);
  color: #92400e;
}
.trace-chain-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2, 8px);
  margin-top: var(--space-3, 12px);
}
.trace-chain-metrics span {
  display: inline-flex;
  align-items: baseline;
  gap: 4px;
  padding: 6px 10px;
  border: 1px solid rgba(13, 148, 136, 0.16);
  border-radius: 999px;
  background: rgba(240, 253, 244, 0.72);
  color: var(--color-text-secondary, #50645a);
  font-size: 12px;
  line-height: 1;
}
.trace-chain-metrics b {
  color: var(--color-text-primary, #10231b);
  font-size: 14px;
}
.trace-chain-details {
  margin-top: var(--space-3, 12px);
  border-top: 1px solid var(--color-border-default, #d8e7df);
  padding-top: var(--space-2, 8px);
}
.trace-chain-details > summary,
.trace-raw-detail > summary {
  width: max-content;
  cursor: pointer;
  color: var(--color-brand-primary, #00845f);
  font-size: var(--font-size-sm, 13px);
  font-weight: var(--font-weight-bold, 700);
  list-style-position: inside;
}
.trace-chain-detail-body {
  margin-top: var(--space-3, 12px);
}
.trace-chain-nested {
  margin-top: var(--space-3, 12px);
}
.trace-chain-connector {
  width: 2px;
  height: 22px;
  margin-left: calc(var(--space-4, 16px) + 17px);
  background: linear-gradient(to bottom, rgba(5, 150, 105, 0.5), rgba(5, 150, 105, 0.08));
}
.trace-chain-warning .trace-chain-connector {
  background: linear-gradient(to bottom, rgba(245, 158, 11, 0.58), rgba(245, 158, 11, 0.1));
}
.trace-chain-missing .trace-chain-connector {
  background: linear-gradient(to bottom, rgba(239, 68, 68, 0.58), rgba(239, 68, 68, 0.1));
}
.trace-raw-detail {
  margin-top: var(--space-4, 16px);
  padding: var(--space-3, 12px);
  border: 1px dashed var(--color-border-strong, #b9d2c6);
  border-radius: var(--radius-lg, 16px);
  background: rgba(255, 255, 255, 0.72);
}
/* 2026-06-17 mobile command-center foundation.
   Keep desktop unchanged, but let operations use the command center on phones. */
.mobile-nav-toggle,
.nav-backdrop {
  display: none;
}
@media (max-width: 1023px) {
  html,
  body {
    min-width: 0 !important;
    overflow-x: hidden;
  }
  body.authenticated {
    background: var(--color-bg-canvas) !important;
  }
  .app-shell {
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
    min-width: 0 !important;
  }
  .sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 80 !important;
    width: min(84vw, 286px) !important;
    height: 100dvh !important;
    transform: translateX(-104%);
    transition: transform var(--duration-base) var(--easing-default), box-shadow var(--duration-base) var(--easing-default);
    box-shadow: none !important;
  }
  .app-shell.nav-open .sidebar {
    transform: translateX(0);
    box-shadow: var(--shadow-xl) !important;
  }
  .nav-backdrop {
    position: fixed;
    inset: 0;
    z-index: 70;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(10, 24, 18, 0.42);
    backdrop-filter: blur(2px);
  }
  .app-shell.nav-open .nav-backdrop {
    display: block;
  }
  .main {
    width: 100%;
    min-width: 0 !important;
  }
  .topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    display: grid !important;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: var(--space-3);
    align-items: center !important;
    min-width: 0 !important;
    padding: var(--space-3) var(--space-4) !important;
    border-bottom: 1px solid var(--color-border-default);
    background: rgba(255, 255, 255, 0.94) !important;
    backdrop-filter: blur(14px);
  }
  .mobile-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-md);
    background: var(--color-bg-surface);
    color: var(--color-text-primary);
    box-shadow: var(--shadow-xs);
    font-size: 20px;
    font-weight: var(--font-weight-bold);
    line-height: 1;
  }
  .topbar h1,
  .topbar-title strong {
    max-width: 100%;
    overflow: hidden;
    font-size: var(--font-size-xl) !important;
    line-height: 1.18 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar .eyebrow,
  .topbar-title span {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar-actions {
    grid-column: 1 / -1;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    gap: var(--space-2) !important;
  }
  .topbar-actions .topbar-search {
    grid-column: 1 / -1;
    display: flex !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .topbar-actions .ghost-action,
  .topbar-actions .primary-action,
  .topbar-actions .admin-user {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .topbar-actions .admin-user {
    grid-column: 1 / 2;
  }
  .content {
    min-width: 0 !important;
    padding: var(--space-4) !important;
  }
  .panel,
  .metric,
  .chart-card,
  .ops-command-panel,
  .table-wrap,
  .drawer-panel,
  .order-command-card,
  .order-chain-health-card,
  .production-break-card,
  .fulfillment-stage-card {
    min-width: 0 !important;
  }
  .grid,
  .cols-2,
  .cols-3,
  .cols-4,
  .cols-5,
  .order-command-grid,
  .order-chain-health-grid,
  .production-break-grid,
  .finance-proof-grid,
  .delivery-proof-grid,
  .exception-owner-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .fulfillment-stage-grid {
    display: flex !important;
    gap: var(--space-3) !important;
    overflow-x: auto;
    padding-bottom: var(--space-2);
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
  }
  .fulfillment-stage-grid > * {
    flex: 0 0 min(82vw, 360px);
    scroll-snap-align: start;
  }
  .order-next-action button,
  .order-command-card button,
  .workflow-actions button,
  .mobile-nav-toggle {
    min-height: 44px !important;
  }
  .table-wrap,
  .smart-generated-sheet-wrap,
  .smart-week-table-wrap,
  .scroll-table {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .smart-generated-sheet {
    min-width: 980px !important;
  }
  .drawer-panel {
    width: min(100vw, 720px) !important;
  }
}
@media (max-width: 640px) {
  .topbar-actions {
    grid-template-columns: 1fr !important;
  }
  .topbar-actions .admin-user {
    grid-column: auto;
  }
  .topbar-actions #primaryBtn,
  .topbar-actions #logoutBtn,
  .topbar-actions #refreshBtn {
    min-height: 44px !important;
  }
}
/* 2026-06-17 kitchen screen realtime front-end */
.kitchen-screen-page {
  display: grid;
  gap: 18px;
}
.kitchen-screen-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 24px;
  border: 1px solid rgba(0, 112, 74, 0.14);
  border-radius: 22px;
  background:
    radial-gradient(circle at 88% 8%, rgba(255, 221, 87, 0.22), transparent 28%),
    linear-gradient(135deg, rgba(232, 247, 238, 0.96), rgba(255, 255, 255, 0.98));
  box-shadow: 0 20px 55px rgba(8, 53, 41, 0.08);
}
.kitchen-screen-hero h1 {
  margin: 8px 0 10px;
  font-size: clamp(32px, 4vw, 58px);
  line-height: 1.04;
  letter-spacing: 0;
  color: #073e2c;
}
.kitchen-screen-hero p {
  max-width: 720px;
  margin: 0;
  color: #517063;
  font-size: 16px;
  line-height: 1.7;
}
.kitchen-screen-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 340px;
}
.kitchen-screen-date {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(0, 112, 74, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.86);
  color: #426456;
  font-size: 13px;
  font-weight: 700;
}
.kitchen-screen-date input {
  border: 0;
  outline: 0;
  background: transparent;
  color: #082f23;
  font: inherit;
}
.kitchen-screen-scoreboard {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.kitchen-screen-alert-strip {
  display: grid;
  grid-template-columns: minmax(180px, 240px) 1fr;
  gap: 16px;
  align-items: stretch;
  padding: 18px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  border-radius: 20px;
  background: #fff9eb;
}
.kitchen-screen-alert-strip.calm {
  border-color: rgba(0, 112, 74, 0.16);
  background: #f2fbf5;
}
.kitchen-screen-alert-strip > div:first-child span,
.kitchen-screen-alert-strip > div:first-child strong {
  display: block;
}
.kitchen-screen-alert-strip > div:first-child span {
  color: #8a6a1f;
  font-size: 12px;
  font-weight: 800;
}
.kitchen-screen-alert-strip > div:first-child strong {
  margin-top: 6px;
  color: #17231e;
  font-size: 22px;
}
.kitchen-screen-alert-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.kitchen-screen-alert-item {
  min-height: 82px;
  padding: 12px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.9);
}
.kitchen-screen-alert-item.red {
  border-color: rgba(220, 38, 38, 0.25);
  background: #fff3f1;
}
.kitchen-screen-alert-item span,
.kitchen-screen-alert-item strong,
.kitchen-screen-alert-item em {
  display: block;
  font-style: normal;
}
.kitchen-screen-alert-item span {
  color: #7b8f86;
  font-size: 12px;
  font-weight: 800;
}
.kitchen-screen-alert-item strong {
  margin-top: 6px;
  color: #12261e;
  font-size: 15px;
}
.kitchen-screen-alert-item em {
  margin-top: 5px;
  color: #6f7f78;
  font-size: 12px;
  line-height: 1.45;
}
.kitchen-screen-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(240px, 1fr));
  gap: 14px;
}
.kitchen-screen-station {
  min-height: 520px;
  padding: 18px;
  border: 1px solid rgba(0, 112, 74, 0.14);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 18px 46px rgba(8, 53, 41, 0.07);
}
.kitchen-screen-station.warn {
  border-color: rgba(245, 158, 11, 0.28);
  background: #fffaf0;
}
.kitchen-screen-station.red {
  border-color: rgba(220, 38, 38, 0.24);
  background: #fff7f5;
}
.kitchen-screen-station.blue {
  border-color: rgba(37, 99, 235, 0.18);
  background: #f8fbff;
}
.kitchen-screen-station-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.kitchen-screen-station-head span {
  color: #7b8f86;
  font-size: 12px;
  font-weight: 800;
}
.kitchen-screen-station-head h2 {
  margin: 6px 0 0;
  color: #082f23;
  font-size: 28px;
  line-height: 1.12;
}
.kitchen-screen-station-head strong {
  min-width: 62px;
  text-align: right;
  color: #00875f;
  font-size: 46px;
  line-height: 0.95;
}
.kitchen-screen-station.red .kitchen-screen-station-head strong {
  color: #d92d20;
}
.kitchen-screen-station.warn .kitchen-screen-station-head strong {
  color: #b7791f;
}
.kitchen-screen-station-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin: 18px 0 12px;
}
.kitchen-screen-station-metrics span {
  padding: 10px 8px;
  border-radius: 12px;
  background: rgba(0, 112, 74, 0.07);
  text-align: center;
}
.kitchen-screen-station-metrics b,
.kitchen-screen-station-metrics em {
  display: block;
  font-style: normal;
}
.kitchen-screen-station-metrics b {
  color: #082f23;
  font-size: 20px;
}
.kitchen-screen-station-metrics em {
  margin-top: 4px;
  color: #668077;
  font-size: 11px;
  font-weight: 700;
}
.kitchen-screen-task-list {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}
.kitchen-screen-task {
  padding: 12px;
  border: 1px solid rgba(0, 112, 74, 0.12);
  border-radius: 14px;
  background: #fbfffd;
}
.kitchen-screen-task.warn {
  border-color: rgba(245, 158, 11, 0.22);
  background: #fff8e8;
}
.kitchen-screen-task.red {
  border-color: rgba(220, 38, 38, 0.22);
  background: #fff1ef;
}
.kitchen-screen-task.blue {
  border-color: rgba(37, 99, 235, 0.18);
  background: #f2f7ff;
}
.kitchen-screen-task-main,
.kitchen-screen-task-side,
.kitchen-screen-task-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.kitchen-screen-task-main strong {
  color: #10231d;
  font-size: 16px;
  line-height: 1.25;
}
.kitchen-screen-task-main span,
.kitchen-screen-task-meta span,
.kitchen-screen-task p {
  color: #6c8177;
  font-size: 12px;
}
.kitchen-screen-task-side {
  margin-top: 10px;
}
.kitchen-screen-task-side b {
  color: #00875f;
  font-size: 24px;
}
.kitchen-screen-task-side em {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(0, 112, 74, 0.08);
  color: #0d6148;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}
.kitchen-screen-task-meta {
  justify-content: flex-start;
  flex-wrap: wrap;
  margin-top: 8px;
}
.kitchen-screen-task p {
  margin: 8px 0 0;
  line-height: 1.5;
}
.screen-chip {
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(0, 112, 74, 0.08);
  color: #0d6148 !important;
  font-weight: 800;
}
.screen-chip.warn {
  background: rgba(245, 158, 11, 0.14);
  color: #9a5a00 !important;
}
.screen-chip.blue {
  background: rgba(37, 99, 235, 0.1);
  color: #2354b8 !important;
}
.kitchen-screen-empty {
  display: grid;
  min-height: 190px;
  place-items: center;
  border: 1px dashed rgba(0, 112, 74, 0.14);
  border-radius: 14px;
  color: #7a9187;
  font-weight: 800;
}
.kitchen-screen-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border: 1px solid rgba(0, 112, 74, 0.12);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.9);
  color: #607a70;
}
@media (max-width: 1500px) {
  .kitchen-screen-grid {
    grid-template-columns: repeat(3, minmax(240px, 1fr));
  }
  .kitchen-screen-scoreboard {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  .kitchen-screen-hero,
  .kitchen-screen-alert-strip,
  .kitchen-screen-footer {
    display: grid;
  }
  .kitchen-screen-toolbar {
    min-width: 0;
    justify-content: flex-start;
  }
  .kitchen-screen-alert-list,
  .kitchen-screen-grid,
  .kitchen-screen-scoreboard {
    grid-template-columns: 1fr;
  }
  .kitchen-screen-station {
    min-height: 0;
  }
}
/* 2026-06-28 official logo aspect lock.
   Keep the horizontal official logo from being compressed into a square icon box. */
.logo-lockup .logo-mark,
.sidebar > .logo-lockup .logo-mark,
.login-copy .logo-lockup.large .logo-mark {
  aspect-ratio: 1075 / 248 !important;
  width: 96px !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.logo-lockup .logo-mark img,
.sidebar > .logo-lockup .logo-mark img,
.login-copy .logo-lockup.large .logo-mark img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: 1075 / 248 !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.sidebar > .logo-lockup {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  align-items: start !important;
  gap: 8px !important;
  min-height: 82px !important;
  padding: 10px 8px 15px !important;
}
.login-copy .logo-lockup.large .logo-mark {
  width: clamp(96px, 14vw, 148px) !important;
}
/* 2026-06-28 menu IA correction: put the real hierarchy in the left current-item tree.
   The top strip now only shows the current object and its local work tabs. */
.sidebar-current-subnav.menu-tree {
  margin-left: 38px !important;
  padding-left: 10px !important;
}
.sidebar-menu-tree,
.sidebar-menu-group {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}
.sidebar-menu-group {
  padding-left: 8px !important;
  border-left: 1px solid rgba(8, 120, 70, 0.14) !important;
}
.sidebar-menu-group.active {
  border-left-color: rgba(8, 120, 70, 0.42) !important;
}
.sidebar-menu-tree-item {
  display: grid !important;
  align-content: center !important;
  gap: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 6px 9px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  color: #4c5b55 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.sidebar-menu-tree-item.child {
  min-height: 30px !important;
  padding: 5px 8px 5px 14px !important;
  border-radius: 7px !important;
}
.sidebar-menu-tree-item:hover {
  border-color: rgba(8, 120, 70, 0.14) !important;
  background: #fff !important;
  color: #17231f !important;
}
.sidebar-menu-tree-item.active {
  border-color: rgba(8, 120, 70, 0.24) !important;
  background: #eaf6ef !important;
  color: #063b27 !important;
}
.sidebar-menu-tree-item span,
.sidebar-menu-tree-item small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.sidebar-menu-tree-item span {
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.sidebar-menu-tree-item small {
  color: #7b8984 !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.sidebar-menu-tree-item.active small {
  color: currentColor !important;
  opacity: .78 !important;
}
.context-subnav.menu-context-tabs.smart-menu-section-tabs {
  grid-template-columns: minmax(220px, .28fr) minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 10px !important;
}
.context-subnav.menu-context-tabs .menu-route-current {
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  min-height: 40px !important;
  padding: 8px 10px !important;
  border: 1px solid #d9e5df !important;
  border-radius: 8px !important;
  background: #f7faf8 !important;
}
.context-subnav.menu-context-tabs .menu-route-current span,
.context-subnav.menu-context-tabs .menu-route-current strong {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.context-subnav.menu-context-tabs .menu-route-current span {
  color: #66766f !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}
.context-subnav.menu-context-tabs .menu-route-current strong {
  color: #12251d !important;
  font-size: 13px !important;
  font-weight: 930 !important;
}
.context-subnav.menu-context-tabs .context-step-tabs {
  align-self: center !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(92px, 1fr)) !important;
  overflow: visible !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 36px !important;
}
@media (max-width: 900px) {
  .smart-event-project-sheets {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    overflow: hidden !important;
  }
  .context-subnav.menu-context-tabs.smart-menu-section-tabs {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .context-subnav.menu-context-tabs .menu-route-current {
    min-height: 36px !important;
  }
  .smart-event-project-sheets .smart-week-head,
  .smart-weekly-board .smart-week-head,
  .smart-menu-preview-export .smart-preview-export-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
  }
  .smart-event-project-sheets .smart-week-head h3,
  .smart-weekly-board .smart-week-head h3,
  .smart-menu-preview-export .smart-preview-export-head h3 {
    max-width: 100% !important;
    font-size: 22px !important;
    line-height: 1.2 !important;
    text-wrap: balance !important;
  }
  .smart-event-project-sheets .smart-week-actions,
  .smart-weekly-board .smart-week-actions {
    justify-content: stretch !important;
    min-width: 0 !important;
  }
  .smart-event-project-sheets .smart-week-actions button,
  .smart-weekly-board .smart-week-actions button {
    width: 100% !important;
  }
  .smart-event-workbook-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .smart-event-workbook-tabs strong,
  .smart-event-workbook-tabs em {
    grid-column: 1 / -1 !important;
    min-width: 0 !important;
    padding: 0 !important;
    text-align: left !important;
    white-space: normal !important;
  }
  .smart-event-project-status {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .smart-event-sheet,
  .smart-event-empty {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px !important;
  }
  .smart-event-sheet .primary-action,
  .smart-event-sheet .ghost-action,
  .smart-event-empty .primary-action,
  .smart-event-empty .ghost-action {
    width: 100% !important;
    justify-content: center !important;
  }
  .smart-event-sheet-head strong,
  .smart-event-empty strong,
  .smart-event-sheet p,
  .smart-event-empty p,
  .smart-event-menu-list span {
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
}
/* 2026-06-28 final official logo aspect lock.
   This must stay at EOF so later legacy logo overrides cannot squash the horizontal mark. */
.logo-lockup .logo-mark,
.sidebar > .logo-lockup .logo-mark,
.login-copy .logo-lockup.large .logo-mark {
  aspect-ratio: 1075 / 248 !important;
  width: 96px !important;
  height: auto !important;
  min-height: 0 !important;
  flex: 0 0 auto !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}
.logo-lockup .logo-mark img,
.sidebar > .logo-lockup .logo-mark img,
.login-copy .logo-lockup.large .logo-mark img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: 1075 / 248 !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.sidebar > .logo-lockup {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.login-copy .logo-lockup.large .logo-mark {
  width: clamp(96px, 14vw, 148px) !important;
}
/* 2026-06-28 final visual fit pass.
   Keep this at EOF: older menu-card and logo rules above are very broad. */
.sidebar > .logo-lockup {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: start !important;
  align-content: center !important;
  gap: 6px !important;
  min-height: 66px !important;
  padding: 10px 10px 12px !important;
}
.sidebar > .logo-lockup .logo-mark {
  width: 136px !important;
  height: auto !important;
  aspect-ratio: 1075 / 248 !important;
}
.sidebar > .logo-lockup .logo-mark img {
  width: 136px !important;
  height: auto !important;
  max-width: 136px !important;
  aspect-ratio: 1075 / 248 !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.sidebar > .logo-lockup .logo-text {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.sidebar > .logo-lockup .logo-text strong {
  display: none !important;
}
.sidebar > .logo-lockup .logo-text small {
  display: block !important;
  width: 100% !important;
  color: #2f3d37 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.topbar {
  background: #ffffff !important;
  border-bottom: 1px solid #e4ece7 !important;
  box-shadow: 0 10px 26px rgba(19, 45, 34, 0.06) !important;
}
.topbar > div:first-of-type {
  padding: 2px 0 !important;
}
.topbar h1,
.topbar-title strong {
  color: #101c17 !important;
  font-size: 22px !important;
  line-height: 1.18 !important;
}
.topbar #pageKicker,
.topbar .eyebrow {
  color: #50625a !important;
  font-size: 12px !important;
  line-height: 1.3 !important;
}
.smart-customer-review-cockpit.compact {
  align-items: center !important;
  padding: 20px !important;
  border-color: #dfeae4 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fcfa 100%) !important;
  box-shadow: 0 16px 36px rgba(16, 38, 29, 0.06) !important;
}
.smart-customer-review-cockpit .smart-cockpit-title h2 {
  color: #10231c !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
}
.smart-customer-review-cockpit .smart-cockpit-title p {
  max-width: 52ch !important;
  color: #607269 !important;
  line-height: 1.55 !important;
}
.smart-customer-review-cockpit.compact .smart-cockpit-stats {
  grid-template-columns: repeat(3, minmax(118px, 1fr)) !important;
  gap: 10px !important;
}
.smart-customer-review-cockpit.compact .smart-cockpit-stats span {
  min-height: 64px !important;
  padding: 12px 14px !important;
  border-color: #dfe9e4 !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.smart-customer-package-board {
  padding: 16px !important;
  border-color: #dfeae4 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(14, 35, 26, 0.06) !important;
}
.smart-customer-package-head {
  align-items: center !important;
  padding-bottom: 4px !important;
}
.smart-customer-scope-facts {
  gap: 10px !important;
}
.smart-customer-scope-facts span {
  min-height: 78px !important;
  padding: 14px !important;
  border-color: #e2ebe6 !important;
  background: #fbfdfc !important;
  box-shadow: none !important;
}
.smart-customer-package-grid {
  gap: 10px !important;
  max-height: min(56vh, 540px) !important;
  padding: 3px 4px 8px !important;
}
.smart-customer-package-card {
  grid-template-columns: minmax(0, 1fr) 168px !important;
  align-items: stretch !important;
  min-height: 118px !important;
  height: auto !important;
  padding: 14px !important;
  border-color: #e1e9e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  overflow: visible !important;
}
.smart-customer-package-card.warn {
  border-color: #ead9ad !important;
  background: #fffaf0 !important;
}
.smart-customer-package-card.active {
  background: #f6fbf8 !important;
}
.smart-customer-package-main {
  grid-template-columns: 92px minmax(190px, .9fr) minmax(280px, 1.05fr) !important;
  grid-template-rows: auto auto 1fr !important;
  align-items: start !important;
  gap: 6px 14px !important;
  min-height: 88px !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #13231d !important;
  text-align: left !important;
  overflow: visible !important;
}
.smart-customer-package-main > span,
.smart-customer-package-card span {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.smart-customer-package-main > span {
  grid-row: 1 / span 3 !important;
  min-height: 34px !important;
  padding: 7px 9px !important;
  border-radius: 7px !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.25 !important;
}
.smart-customer-package-main > strong {
  grid-column: 2 !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.smart-customer-package-main > p,
.smart-customer-package-main > em {
  grid-column: 2 !important;
  max-width: 100% !important;
  color: #5d6c65 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.smart-customer-package-main > em {
  color: #2f463b !important;
  font-style: normal !important;
  font-weight: 760 !important;
}
.smart-customer-package-cost-grid {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  min-height: 86px !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}
.smart-customer-package-cost-grid span,
.smart-customer-package-card .smart-customer-package-cost-grid span {
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  min-height: 38px !important;
  height: auto !important;
  padding: 7px 9px !important;
  border: 1px solid #e3ebe6 !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .78) !important;
  color: #24362f !important;
  overflow: visible !important;
  white-space: normal !important;
}
.smart-customer-package-cost-grid b {
  color: #7a8a83 !important;
  font-size: 10.5px !important;
  font-weight: 780 !important;
  line-height: 1.1 !important;
}
.smart-customer-package-cost-grid strong {
  color: #172720 !important;
  font-size: 12px !important;
  font-weight: 880 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.smart-customer-package-actions {
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 168px !important;
}
.smart-customer-package-actions button {
  min-height: 40px !important;
  height: auto !important;
  padding: 7px 8px !important;
  border-radius: 8px !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}
@media (max-width: 1180px) {
  .smart-customer-package-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-actions {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .sidebar > .logo-lockup .logo-mark,
  .sidebar > .logo-lockup .logo-mark img {
    width: 118px !important;
    max-width: 118px !important;
  }
  .smart-customer-review-cockpit.compact .smart-cockpit-stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-main > span,
  .smart-customer-package-main > strong,
  .smart-customer-package-main > p,
  .smart-customer-package-main > em,
  .smart-customer-package-cost-grid {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .smart-customer-package-cost-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.sidebar > .logo-lockup .logo-mark {
  width: 124px !important;
}
.sidebar > .logo-lockup .logo-text {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
}
.sidebar > .logo-lockup .logo-text strong {
  display: none !important;
}
.sidebar > .logo-lockup .logo-text small {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #21362d !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}
/* 2026-06-28 visual hierarchy correction.
   Top page title and menu customer package views should read like an ERP work surface,
   not pale banners and crowded cards. Keep this block at EOF. */
.topbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 13px 24px 15px !important;
  border-bottom: 1px solid #dce7e1 !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fbf9 100%) !important;
  box-shadow: 0 1px 0 rgba(255, 255, 255, 0.85) inset !important;
}
.topbar > div:first-of-type {
  display: grid !important;
  gap: 4px !important;
  min-width: 0 !important;
}
.topbar #pageKicker,
.topbar .eyebrow {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 7px !important;
  max-width: min(980px, 100%) !important;
  color: #687a70 !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
}
.topbar-breadcrumb-domain,
.topbar-breadcrumb-page {
  color: #0b7f4a !important;
  font-weight: 900 !important;
}
.topbar-breadcrumb-divider {
  color: #aab7b1 !important;
}
.topbar-breadcrumb-summary {
  color: #718078 !important;
  font-size: 12px !important;
  font-weight: 720 !important;
}
.topbar h1,
.topbar-title strong {
  margin: 0 !important;
  color: #10231c !important;
  font-size: clamp(22px, 1.75vw, 28px) !important;
  font-weight: 950 !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}
.smart-menu-section-body {
  gap: 14px !important;
  padding-top: 0 !important;
}
.smart-customer-review-cockpit.compact {
  padding: 0 !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 14px !important;
  background:
    linear-gradient(180deg, #ffffff 0%, #f7faf8 100%) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.smart-customer-review-cockpit.compact .smart-review-cockpit-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px) !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 18px 20px !important;
  border: 0 !important;
  background: transparent !important;
}
.smart-customer-review-cockpit.compact .eyebrow {
  color: #0b7f4a !important;
  font-size: 12px !important;
  font-weight: 880 !important;
  line-height: 1.2 !important;
}
.smart-customer-review-cockpit.compact h3 {
  margin: 5px 0 5px !important;
  color: #10231c !important;
  font-size: clamp(22px, 1.6vw, 28px) !important;
  font-weight: 950 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
}
.smart-customer-review-cockpit.compact p {
  max-width: 760px !important;
  margin: 0 !important;
  color: #62746c !important;
  font-size: 13px !important;
  font-weight: 680 !important;
  line-height: 1.55 !important;
}
.smart-review-cockpit-metrics {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}
.smart-review-cockpit-metrics span {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  min-height: 64px !important;
  padding: 10px 12px !important;
  border: 1px solid #d9e7e0 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.smart-review-cockpit-metrics b {
  color: #0b3024 !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  font-variant-numeric: tabular-nums !important;
}
.smart-review-cockpit-metrics small {
  color: #0b7f4a !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}
.smart-customer-package-board {
  gap: 12px !important;
  padding: 14px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 14px !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.smart-customer-package-head {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: end !important;
  gap: 16px !important;
}
.smart-customer-package-head h3 {
  margin: 2px 0 0 !important;
  color: #10231c !important;
  font-size: 18px !important;
  font-weight: 930 !important;
  line-height: 1.18 !important;
}
.smart-customer-package-legend {
  justify-content: end !important;
  min-width: 0 !important;
}
.smart-customer-package-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 8px !important;
  max-height: min(58vh, 560px) !important;
  overflow: auto !important;
  padding: 2px !important;
}
.smart-customer-package-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 12px !important;
  align-items: center !important;
  min-height: 0 !important;
  padding: 12px 14px !important;
  border: 1px solid #dce8e2 !important;
  border-radius: 12px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transform: none !important;
}
.smart-customer-package-card:hover {
  border-color: #bdd8ca !important;
  background: #fbfdfc !important;
  box-shadow: none !important;
  transform: none !important;
}
.smart-customer-package-card.active {
  border-color: #0b7f4a !important;
  background: #f4faf7 !important;
  box-shadow: inset 4px 0 0 #0b7f4a !important;
}
.smart-customer-package-card.warn {
  border-color: #e7d3a4 !important;
  background: #fffdf7 !important;
}
.smart-customer-package-main {
  display: grid !important;
  grid-template-columns: 112px minmax(220px, 1fr) minmax(300px, .88fr) !important;
  grid-template-rows: auto auto auto !important;
  column-gap: 14px !important;
  row-gap: 3px !important;
  align-items: center !important;
  min-width: 0 !important;
}
.smart-customer-package-main > span {
  grid-row: 1 / span 3 !important;
  align-self: center !important;
  justify-self: stretch !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 30px !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  background: #e9f5ee !important;
  color: #0b7f4a !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  white-space: nowrap !important;
}
.smart-customer-package-card.pending .smart-customer-package-main > span {
  background: #eef5ff !important;
  color: #225a9f !important;
}
.smart-customer-package-card.warn .smart-customer-package-main > span {
  background: #fff2c7 !important;
  color: #805600 !important;
}
.smart-customer-package-main > strong {
  grid-column: 2 !important;
  min-width: 0 !important;
  color: #10231c !important;
  font-size: 15px !important;
  font-weight: 930 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.smart-customer-package-main > p,
.smart-customer-package-main > em {
  grid-column: 2 !important;
  min-width: 0 !important;
  margin: 0 !important;
  color: #62746c !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 720 !important;
  line-height: 1.32 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.smart-customer-package-cost-grid {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 6px !important;
  margin: 0 !important;
  align-self: stretch !important;
}
.smart-customer-package-cost-grid span {
  min-height: 48px !important;
  padding: 7px 8px !important;
  border: 1px solid #e0e9e4 !important;
  border-radius: 9px !important;
  background: #f8fbf9 !important;
}
.smart-customer-package-cost-grid b {
  color: #75857d !important;
  font-size: 10.5px !important;
  font-weight: 760 !important;
}
.smart-customer-package-cost-grid strong {
  color: #10231c !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
.smart-customer-package-actions {
  display: grid !important;
  grid-template-columns: repeat(2, 72px) !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
.smart-customer-package-actions button {
  min-height: 32px !important;
  padding: 0 8px !important;
  border-radius: 8px !important;
  font-size: 11px !important;
}
@media (max-width: 1180px) {
  .smart-customer-package-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-main {
    grid-template-columns: 104px minmax(0, 1fr) !important;
  }
  .smart-customer-package-cost-grid {
    grid-column: 1 / -1 !important;
    grid-row: auto !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    margin-top: 6px !important;
  }
  .smart-customer-package-actions {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .topbar {
    grid-template-columns: auto minmax(0, 1fr) !important;
    min-height: 70px !important;
    padding: 10px 12px !important;
  }
  .topbar h1,
  .topbar-title strong {
    font-size: 21px !important;
  }
  .topbar-breadcrumb-summary {
    display: none !important;
  }
  .smart-customer-review-cockpit.compact .smart-review-cockpit-head {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 14px !important;
  }
  .smart-review-cockpit-metrics,
  .smart-customer-scope-facts,
  .smart-customer-package-cost-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .smart-customer-package-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-main > span,
  .smart-customer-package-main > strong,
  .smart-customer-package-main > p,
  .smart-customer-package-main > em {
    grid-column: 1 !important;
    grid-row: auto !important;
    justify-self: start !important;
  }
  .smart-customer-package-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
/* 2026-06-23 full-factory functional area screens */
.bom-flow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.bom-flow-card {
  display: grid;
  gap: 8px;
  min-height: 230px;
  padding: 16px;
  border: 1px solid rgba(18, 102, 83, 0.18);
  border-radius: 14px;
  background: #f8fcfa;
}
.bom-flow-card span {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #0f7a43;
  color: #fff;
  font-size: 18px;
  font-weight: 900;
  line-height: 34px;
  text-align: center;
}
.bom-flow-card strong {
  color: #12352f;
  font-size: 20px;
  line-height: 1.2;
}
.bom-flow-card em,
.bom-flow-card b {
  color: #526a70;
  font-style: normal;
  font-size: 13px;
}
.bom-flow-card p {
  margin: 0;
  color: #40585e;
  font-size: 13px;
  line-height: 1.55;
}
.bom-flow-ledger,
.bom-package-rules {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  margin-top: 12px;
}
.bom-flow-ledger span,
.bom-package-rules span {
  min-height: 52px;
  padding: 11px 12px;
  border: 1px solid rgba(15, 72, 92, 0.12);
  border-radius: 12px;
  background: #fff;
  color: #355158;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.bom-package-rules b {
  display: block;
  margin-bottom: 4px;
  color: #0e3440;
}
.bom-layer-boundary {
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid rgba(15, 72, 92, 0.13);
  border-radius: 14px;
  background: #fff;
}
.bom-layer-boundary.ingredient {
  border-left: 5px solid #2563eb;
}
.bom-layer-boundary.dish {
  border-left: 5px solid #0f7a43;
}
.bom-layer-boundary.package {
  border-left: 5px solid #b45309;
}
.bom-layer-title {
  display: grid;
  align-content: center;
  gap: 6px;
}
.bom-layer-title span {
  color: #647b81;
  font-size: 12px;
  font-weight: 900;
}
.bom-layer-title strong {
  color: #0e3440;
  font-size: 20px;
  line-height: 1.25;
}
.bom-layer-title p {
  margin: 0;
  color: #526a70;
  font-size: 13px;
  line-height: 1.45;
}
.bom-layer-list {
  min-width: 0;
  padding: 12px;
  border-radius: 12px;
  background: #f7fbff;
}
.bom-layer-list.muted {
  background: #fff8e8;
}
.bom-layer-list b {
  display: block;
  margin-bottom: 7px;
  color: #0e3440;
  font-size: 13px;
}
.bom-layer-list ul {
  display: grid;
  gap: 4px;
  margin: 0;
  padding-left: 17px;
  color: #40585e;
  font-size: 12px;
  line-height: 1.45;
}
.bom-layer-boundary > button {
  align-self: center;
  white-space: nowrap;
}
.ingredient-sku-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(37, 99, 235, 0.18);
  border-left: 6px solid #2563eb;
  border-radius: 14px;
  background: #f7fbff;
}
.ingredient-sku-hero h2 {
  margin: 6px 0;
  color: #0e3440;
  font-size: 24px;
  line-height: 1.25;
}
.ingredient-sku-hero p {
  max-width: 820px;
  margin: 0;
  color: #526a70;
  font-size: 14px;
  line-height: 1.5;
}
.ingredient-sku-summary .metric {
  border-left: 4px solid #2563eb;
}
.bom-dish-summary .metric {
  border-left: 4px solid #0f7a43;
}
.operating-screen-page {
  display: grid;
  gap: 16px;
}
.operating-screen-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
  padding: 22px;
  border: 1px solid rgba(15, 72, 92, 0.16);
  border-radius: 18px;
  background: linear-gradient(135deg, #f3f8f9, #ffffff);
  box-shadow: 0 18px 45px rgba(20, 60, 72, 0.08);
}
.operating-screen-hero h1 {
  margin: 8px 0 8px;
  color: #0e3440;
  font-size: clamp(30px, 3.4vw, 52px);
  line-height: 1.06;
  letter-spacing: 0;
}
.operating-screen-hero p {
  max-width: 620px;
  margin: 0;
  color: #526a70;
  font-size: 15px;
  line-height: 1.6;
}
.operating-screen-toolbar {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
  min-width: 360px;
}
.operating-screen-toolbar label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid rgba(15, 72, 92, 0.14);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.9);
  color: #526a70;
  font-size: 13px;
  font-weight: 800;
}
.operating-screen-toolbar input,
.operating-screen-toolbar select {
  border: 0;
  outline: 0;
  background: transparent;
  color: #0e3440;
  font: inherit;
}
.operating-screen-selector {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}
.operating-screen-selector button {
  position: relative;
  min-height: 74px;
  padding: 12px 34px 12px 12px;
  border: 1px solid rgba(15, 72, 92, 0.14);
  border-radius: 14px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease;
}
.operating-screen-selector button:hover,
.operating-screen-selector button.active {
  border-color: rgba(0, 112, 74, 0.36);
  box-shadow: 0 14px 32px rgba(20, 60, 72, 0.08);
}
.operating-screen-selector button:active {
  transform: translateY(1px);
}
.operating-screen-selector button span,
.operating-screen-selector button small {
  display: block;
}
.operating-screen-selector button span {
  color: #0e3440;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
}
.operating-screen-selector button small {
  margin-top: 6px;
  color: #647b81;
  font-size: 12px;
  line-height: 1.35;
}
.operating-screen-selector button em {
  position: absolute;
  top: 10px;
  right: 10px;
  min-width: 22px;
  height: 22px;
  padding: 0 7px;
  border-radius: 999px;
  background: #d92d20;
  color: #fff;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  line-height: 22px;
  text-align: center;
}
.operating-screen-selector-empty {
  min-height: 74px;
  display: grid;
  place-items: center;
  border: 1px dashed rgba(15, 72, 92, 0.18);
  border-radius: 14px;
  color: #647b81;
  font-weight: 800;
}
.operating-screen-scoreboard {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}
.operating-screen-metric {
  min-height: 104px;
  padding: 15px;
  border: 1px solid rgba(15, 72, 92, 0.12);
  border-radius: 16px;
  background: #fff;
}
.operating-screen-metric span,
.operating-screen-metric strong {
  display: block;
}
.operating-screen-metric span {
  color: #647b81;
  font-size: 12px;
  font-weight: 900;
}
.operating-screen-metric strong {
  margin-top: 10px;
  color: #0e3440;
  font-size: 30px;
  line-height: 1;
}
.operating-screen-metric em {
  margin-left: 4px;
  color: #647b81;
  font-style: normal;
  font-size: 13px;
}
.operating-screen-metric.blue {
  border-color: rgba(37, 99, 235, 0.18);
  background: #f7fbff;
}
.operating-screen-metric.warn {
  border-color: rgba(245, 158, 11, 0.26);
  background: #fff8e8;
}
.operating-screen-metric.red {
  border-color: rgba(220, 38, 38, 0.24);
  background: #fff4f1;
}
.operating-screen-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 400px);
  gap: 14px;
  align-items: start;
}
.operating-screen-main,
.operating-screen-side > section {
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(15, 72, 92, 0.12);
  border-radius: 16px;
  background: #fff;
}
.operating-screen-side {
  display: grid;
  gap: 14px;
  min-width: 0;
}
.operating-screen-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}
.operating-screen-section-head span {
  color: #647b81;
  font-size: 12px;
  font-weight: 900;
}
.operating-screen-section-head strong {
  color: #0e3440;
  font-size: 18px;
}
.operating-screen-risk-list,
.operating-screen-chip-list,
.operating-screen-action-list {
  display: grid;
  gap: 10px;
}
.operating-screen-risk {
  position: relative;
  min-height: 104px;
  padding: 12px 12px 32px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  border-radius: 14px;
  background: #fff8e8;
}
.operating-screen-risk.red {
  border-color: rgba(220, 38, 38, 0.24);
  background: #fff4f1;
}
.operating-screen-risk.blue {
  border-color: rgba(37, 99, 235, 0.18);
  background: #f7fbff;
}
.operating-screen-risk span,
.operating-screen-risk strong,
.operating-screen-risk p,
.operating-screen-risk em {
  display: block;
}
.operating-screen-risk span {
  color: #7b6a31;
  font-size: 12px;
  font-weight: 900;
}
.operating-screen-risk strong {
  margin-top: 6px;
  color: #17231e;
  font-size: 15px;
  line-height: 1.35;
}
.operating-screen-risk p {
  margin: 6px 0 0;
  color: #62747a;
  font-size: 12px;
  line-height: 1.45;
}
.operating-screen-risk em {
  position: absolute;
  right: 10px;
  bottom: 9px;
  color: #9a5a00;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}
.operating-screen-risk.red em {
  color: #b42318;
}
.operating-screen-chip-list {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
}
.operating-screen-chip-list span {
  min-height: 36px;
  padding: 9px 10px;
  border-radius: 999px;
  background: #eef7f5;
  color: #0d6148;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}
.operating-screen-action-list {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr));
}
.operating-touch-dock {
  display: grid;
  grid-template-columns: minmax(210px, 0.32fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  padding: 16px;
  border: 1px solid rgba(18, 102, 83, 0.18);
  border-radius: 16px;
  background: #f4fbf7;
}
.operating-touch-dock > div:first-child {
  display: grid;
  align-content: center;
  gap: 6px;
}
.operating-touch-dock span {
  color: #526a70;
  font-size: 12px;
  font-weight: 900;
}
.operating-touch-dock strong {
  color: #12352f;
  font-size: 18px;
  line-height: 1.3;
}
.operating-touch-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.operating-touch-action {
  min-height: 88px;
  padding: 14px;
  border: 1px solid rgba(15, 72, 92, 0.14);
  border-radius: 14px;
  background: #fff;
  text-align: left;
  cursor: pointer;
}
.operating-touch-action strong,
.operating-touch-action span {
  display: block;
}
.operating-touch-action strong {
  color: #0e3440;
  font-size: 18px;
}
.operating-touch-action span {
  margin-top: 8px;
  color: #647b81;
  font-size: 12px;
  line-height: 1.35;
}
.operating-screen-page:fullscreen {
  overflow: auto;
  min-height: 100vh;
  padding: 18px;
  background: #eef6f4;
}
.operating-screen-page:fullscreen .operating-touch-action {
  min-height: 116px;
}
.iot-disabled-banner {
  display: grid;
  gap: 6px;
  margin-bottom: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(245, 158, 11, 0.28);
  border-radius: 14px;
  background: #fff8e8;
}
.iot-disabled-banner.wide {
  margin-bottom: 16px;
}
.iot-disabled-banner strong {
  color: #7a4b00;
  font-size: 15px;
}
.iot-disabled-banner span {
  color: #5d4b24;
  font-size: 13px;
  line-height: 1.55;
}
.operating-screen-main .table {
  min-width: 640px;
}
@media (max-width: 1100px) {
  .operating-screen-body {
    grid-template-columns: 1fr;
  }
  .operating-screen-toolbar {
    min-width: 0;
    justify-content: flex-start;
  }
}
@media (max-width: 760px) {
  .operating-screen-hero {
    display: grid;
    padding: 18px;
  }
  .operating-screen-toolbar,
  .operating-screen-toolbar label {
    width: 100%;
  }
  .operating-screen-toolbar .ghost-action,
  .operating-screen-toolbar .primary-action {
    width: 100%;
    justify-content: center;
  }
  .operating-screen-selector {
    grid-template-columns: 1fr;
  }
  .operating-screen-main {
    overflow-x: auto;
  }
  .bom-flow-grid,
  .bom-layer-boundary,
  .ingredient-sku-hero,
  .operating-touch-dock,
  .operating-touch-actions {
    grid-template-columns: 1fr;
  }
  .ingredient-sku-hero {
    display: grid;
  }
}
/* 2026-06-18 operations resource center */
.resource-command-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: stretch;
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid rgba(18, 102, 83, 0.14);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(243, 250, 247, 0.96)),
    linear-gradient(90deg, rgba(36, 99, 235, 0.06), rgba(19, 128, 97, 0.08));
  box-shadow: 0 18px 42px rgba(24, 72, 52, 0.08);
}
.resource-command-copy {
  min-width: 0;
}
.resource-command-copy h2 {
  max-width: 780px;
  margin: 6px 0 8px;
  color: #102f27;
  font-size: clamp(24px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: 0;
}
.resource-command-copy p {
  max-width: 780px;
  margin: 0;
  color: #536d63;
  font-size: 14px;
  line-height: 1.7;
}
.foundation-handoff-card {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
  max-width: 780px;
  margin-top: 14px;
  padding: 10px 14px;
  border: 1px solid rgba(189, 109, 20, 0.24);
  border-radius: 8px;
  background: #fff8e8;
}
.foundation-handoff-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.foundation-handoff-head span {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: #8d4d10;
  color: #fff7e6;
  font-size: 12px;
  font-weight: 800;
}
.foundation-handoff-card ol {
  display: grid;
  gap: 3px;
  margin: 0;
  padding-left: 18px;
  color: #7a5b35;
}
.foundation-handoff-card li {
  font-size: 13px;
  line-height: 1.28;
}
.foundation-handoff-card strong {
  color: #653a0f;
  margin-right: 6px;
}
.foundation-handoff-card small {
  display: inline;
  color: #7a5b35;
  overflow-wrap: anywhere;
}
.foundation-handoff-card b {
  color: #653a0f;
}
.resource-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-content: stretch;
}
.resource-card-grid .metric {
  min-height: 116px;
}
.resource-card-grid .metric-value {
  overflow-wrap: anywhere;
}
.resource-workspace-tabs {
  display: grid;
  grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid rgba(16, 25, 21, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 10px 26px rgba(21, 42, 31, .06);
}
.resource-workspace-tabs > div {
  display: grid;
  align-content: center;
  gap: 4px;
  min-width: 0;
}
.resource-workspace-tabs > div strong {
  color: var(--ink);
  font-size: 15px;
  line-height: 1.35;
}
.resource-workspace-tabs nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}
.resource-workspace-tabs button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2px 8px;
  min-width: 0;
  min-height: 74px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbf9;
  color: var(--ink);
  text-align: left;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease, background .18s ease;
}
.resource-workspace-tabs button:hover {
  transform: translateY(-1px);
  border-color: rgba(8, 122, 67, .26);
  background: #fff;
  box-shadow: 0 12px 26px rgba(21, 42, 31, .08);
}
.resource-workspace-tabs button.active {
  border-color: rgba(8, 122, 67, .42);
  background: linear-gradient(180deg, #f4fbf7, #ffffff);
  box-shadow: inset 0 3px 0 var(--green), 0 14px 30px rgba(8, 122, 67, .1);
}
.resource-workspace-tabs button span,
.resource-workspace-tabs button b,
.resource-workspace-tabs button small {
  min-width: 0;
}
.resource-workspace-tabs button span {
  overflow: hidden;
  font-size: 13px;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.resource-workspace-tabs button b {
  color: var(--green-deep);
  font-size: 17px;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.resource-workspace-tabs button small {
  grid-column: 1 / -1;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.35;
}
.resource-domain-workspace {
  display: grid;
  gap: 14px;
  min-width: 0;
  scroll-margin-top: 18px;
}
.resource-ops-drawer {
  margin-top: 14px;
  border: 1px solid rgba(16, 25, 21, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
}
.resource-ops-drawer summary {
  padding: 12px 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 850;
  cursor: pointer;
}
.resource-ops-drawer-body {
  display: grid;
  gap: 12px;
  padding: 0 14px 14px;
}
@media (max-width: 1180px) {
  .resource-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .foundation-handoff-card {
    grid-template-columns: 1fr;
  }
  .resource-workspace-tabs {
    grid-template-columns: 1fr;
  }
  .resource-workspace-tabs nav {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 760px) {
  .topbar {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 12px !important;
  }
  .topbar > div:first-of-type {
    min-width: 0 !important;
  }
  .topbar .eyebrow {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  .topbar h1 {
    font-size: 28px !important;
    line-height: 1.1 !important;
  }
  .topbar-actions {
    grid-column: 1 / -1 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    align-items: stretch !important;
    flex: none !important;
    flex-wrap: initial !important;
  }
  .topbar-search,
  .topbar-actions .admin-user {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: none !important;
  }
  .topbar-actions > button,
  .topbar-actions .topbar-search,
  .topbar-actions .admin-user {
    width: 100% !important;
    height: auto !important;
    min-height: 42px !important;
    max-height: none !important;
    max-width: none !important;
    flex: none !important;
  }
  .topbar-actions .admin-user {
    grid-column: 1 / -1 !important;
    padding: 8px 12px !important;
  }
  .topbar-actions #refreshBtn,
  .topbar-actions #logoutBtn {
    min-width: 0 !important;
    max-width: none !important;
  }
  .topbar-actions > [hidden] {
    display: none !important;
  }
  .resource-command-hero {
    padding: 14px;
    border-radius: 14px;
  }
  .resource-card-grid {
    grid-template-columns: 1fr;
  }
  .resource-workspace-tabs nav {
    grid-template-columns: 1fr;
  }
  .foundation-handoff-card {
    padding: 12px;
  }
  .foundation-handoff-head {
    align-items: flex-start;
    flex-direction: column;
  }
  .resource-command-copy h2 {
    font-size: 24px;
  }
  .table {
    width: 100% !important;
    max-width: 100% !important;
    table-layout: fixed !important;
  }
  .table th,
  .table td,
  .row-title,
  .row-sub {
    overflow-wrap: anywhere;
    word-break: break-word;
  }
  .table th,
  .table td {
    padding: 10px 8px;
  }
}
/* 2026-06-18 daily meal readiness command */
.daily-readiness {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 260px);
  gap: 16px;
  align-items: stretch;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(15, 23, 42, .1);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(248, 250, 252, .98), rgba(236, 253, 245, .74)),
    #fff;
  box-shadow: 0 14px 38px rgba(15, 23, 42, .08);
}
.daily-readiness.warn {
  background:
    linear-gradient(135deg, rgba(255, 251, 235, .96), rgba(255, 247, 237, .78)),
    #fff;
  border-color: rgba(245, 158, 11, .32);
}
.daily-readiness.red {
  background:
    linear-gradient(135deg, rgba(254, 242, 242, .96), rgba(255, 247, 237, .78)),
    #fff;
  border-color: rgba(239, 68, 68, .32);
}
.daily-readiness.empty {
  grid-template-columns: minmax(0, 1fr) auto;
  background: #fff;
}
.daily-readiness-copy {
  min-width: 0;
}
.daily-readiness-copy h2 {
  margin: 6px 0 8px;
  color: #0f172a;
  font-size: clamp(24px, 4vw, 42px);
  line-height: 1.08;
  letter-spacing: 0;
}
.daily-readiness-copy p {
  max-width: 880px;
  margin: 0;
  color: #475569;
  line-height: 1.7;
}
.daily-readiness-verdict {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 14px;
}
.daily-readiness-verdict strong {
  color: #0f172a;
  font-size: 20px;
}
.daily-readiness-verdict span {
  color: #64748b;
  font-size: 13px;
}
.daily-readiness-score {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  padding: 16px;
  border: 1px solid rgba(15, 23, 42, .08);
  border-radius: 8px;
  background: rgba(255, 255, 255, .72);
}
.daily-readiness-score strong {
  color: #0f172a;
  font-size: 34px;
  line-height: 1;
  overflow-wrap: anywhere;
}
.daily-readiness-score span {
  color: #64748b;
  line-height: 1.5;
}
.daily-readiness-metrics {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin-bottom: 16px;
}
.daily-readiness-body {
  align-items: start;
}
@media (max-width: 900px) {
  .daily-readiness,
  .daily-readiness.empty {
    grid-template-columns: 1fr;
  }
  .daily-readiness-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .daily-readiness-score {
    min-height: 112px;
  }
}
@media (max-width: 520px) {
  .daily-readiness {
    padding: 14px;
  }
  .daily-readiness-metrics {
    grid-template-columns: 1fr;
  }
  .daily-readiness-copy h2 {
    font-size: 26px;
  }
  .daily-readiness-score strong {
    font-size: 28px;
  }
}
/* 2026-06-18 global search usability lock.
   The topbar search is a real global-search control, so it owns a fixed
   shell, an absolute result layer and a non-text search glyph. */
.topbar-actions .topbar-search-wrap {
  position: relative !important;
  flex: 0 0 320px !important;
  width: 320px !important;
  min-width: 260px !important;
  max-width: 360px !important;
  height: var(--control-height-md) !important;
  min-height: var(--control-height-md) !important;
  z-index: 90 !important;
}
.topbar-actions .topbar-search {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: var(--control-height-md) !important;
  min-height: var(--control-height-md) !important;
  max-height: var(--control-height-md) !important;
  padding: 0 11px !important;
  border: 1px solid var(--color-border-default) !important;
  border-radius: var(--radius-lg) !important;
  background: var(--color-bg-surface) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), var(--shadow-xs) !important;
}
.topbar-search-wrap.open .topbar-search,
.topbar-search:focus-within {
  border-color: rgba(8, 122, 85, .38) !important;
  box-shadow: 0 0 0 3px rgba(8, 122, 85, .1), var(--shadow-xs) !important;
}
.topbar-search-icon {
  position: relative !important;
  flex: 0 0 16px !important;
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  overflow: hidden !important;
  color: var(--color-text-tertiary) !important;
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: -999px !important;
}
.topbar-search-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 1px !important;
  top: 1px !important;
  width: 9px !important;
  height: 9px !important;
  border: 2px solid currentColor !important;
  border-radius: 50% !important;
}
.topbar-search-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  top: 11px !important;
  width: 6px !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: currentColor !important;
  transform: rotate(45deg) !important;
  transform-origin: left center !important;
}
.topbar-actions .topbar-search input {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: calc(var(--control-height-md) - 2px) !important;
  padding: 0 8px 0 4px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--color-text-primary) !important;
  box-shadow: none !important;
  font-size: var(--font-size-md) !important;
  line-height: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.topbar-actions .topbar-search input[type="search"] {
  appearance: none !important;
  -webkit-appearance: none !important;
}
.topbar-actions .topbar-search input[type="search"]::-webkit-search-decoration,
.topbar-actions .topbar-search input[type="search"]::-webkit-search-cancel-button,
.topbar-actions .topbar-search input[type="search"]::-webkit-search-results-button,
.topbar-actions .topbar-search input[type="search"]::-webkit-search-results-decoration {
  display: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}
.topbar-actions .topbar-search input::placeholder {
  color: var(--color-text-tertiary) !important;
}
.topbar-actions .topbar-search .topbar-search-clear {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 22px !important;
  flex-shrink: 0 !important;
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  max-width: 22px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: rgba(77, 98, 89, .1) !important;
  color: var(--color-text-secondary) !important;
  box-shadow: none !important;
  font-size: 18px !important;
  line-height: 1 !important;
}
.topbar-actions .topbar-search .topbar-search-clear[hidden] {
  display: none !important;
}
.topbar-search-results {
  position: absolute !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  z-index: 120 !important;
  width: min(460px, 86vw) !important;
  max-height: min(420px, 68vh) !important;
  overflow: auto !important;
  padding: 8px !important;
  border: 1px solid rgba(202, 217, 213, .92) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, .98) !important;
  box-shadow: 0 22px 56px rgba(15, 23, 42, .16) !important;
}
.topbar-search-results[hidden] {
  display: none !important;
}
.topbar-search-result {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) auto !important;
  gap: 10px !important;
  align-items: center !important;
  width: 100% !important;
  min-height: 56px !important;
  padding: 9px 10px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: transparent !important;
  color: var(--color-text-primary) !important;
  text-align: left !important;
  box-shadow: none !important;
}
.topbar-search-result:hover,
.topbar-search-result.active {
  background: rgba(8, 122, 85, .08) !important;
}
.topbar-search-result-type {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 28px !important;
  border-radius: 999px !important;
  background: var(--color-brand-bg-subtle) !important;
  color: var(--color-brand-primary) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
.topbar-search-result-copy {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.topbar-search-result-copy strong,
.topbar-search-result-copy small,
.topbar-search-result-meta {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.topbar-search-result-copy strong {
  font-size: 14px !important;
  font-weight: 850 !important;
}
.topbar-search-result-copy small,
.topbar-search-result-meta,
.topbar-search-empty {
  color: var(--color-text-secondary) !important;
  font-size: 12px !important;
}
.topbar-search-result-meta {
  max-width: 116px !important;
}
.topbar-search-empty {
  padding: 12px 14px !important;
  line-height: 1.6 !important;
}
.resource-search-focus-banner {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  margin: 2px 0 10px;
  padding: 9px 10px;
  border: 1px solid rgba(8, 122, 85, .2);
  border-radius: 12px;
  background: rgba(232, 247, 239, .78);
  color: var(--color-text-primary);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .84);
}
.resource-search-focus-banner strong {
  color: var(--color-brand-primary);
  font-size: 12px;
  font-weight: 900;
}
.resource-search-focus-banner span {
  min-width: 0;
  max-width: min(560px, 100%);
  overflow: hidden;
  color: var(--color-text-secondary);
  font-size: 12px;
  font-weight: 760;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.resource-search-hit {
  position: relative;
  outline: 2px solid rgba(8, 122, 85, .58) !important;
  outline-offset: -2px;
  background: rgba(232, 247, 239, .86) !important;
  box-shadow: inset 4px 0 0 var(--color-brand-primary);
}
.resource-search-hit td {
  background: rgba(232, 247, 239, .86) !important;
}
.resource-search-hit .row-title {
  color: var(--color-brand-primary) !important;
}
@media (max-width: 760px) {
  .topbar-actions {
    grid-template-columns: minmax(0, 1fr) auto auto auto !important;
    align-items: center !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .topbar-actions .topbar-search-wrap {
    grid-column: 1 / -1 !important;
    flex: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
  }
  .topbar-search-results {
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
  }
  .topbar-search-result {
    grid-template-columns: 38px minmax(0, 1fr) !important;
  }
  .topbar-search-result-meta {
    display: none !important;
  }
  .topbar-actions > button,
  .topbar-actions .admin-user {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: var(--control-height-md) !important;
    min-height: var(--control-height-md) !important;
    max-height: var(--control-height-md) !important;
  }
  .topbar-actions #refreshBtn,
  .topbar-actions #logoutBtn {
    min-width: 64px !important;
    min-height: var(--control-height-md) !important;
    max-height: var(--control-height-md) !important;
    padding: 0 12px !important;
  }
  .topbar-actions #primaryBtn {
    min-width: 96px !important;
    min-height: var(--control-height-md) !important;
    max-height: var(--control-height-md) !important;
    padding: 0 12px !important;
  }
  .topbar-actions #refreshBtn {
    grid-column: 2 !important;
    grid-row: 2 !important;
  }
  .topbar-actions #primaryBtn {
    grid-column: 3 !important;
    grid-row: 2 !important;
  }
  .topbar-actions #logoutBtn {
    grid-column: 4 !important;
    grid-row: 2 !important;
  }
  .topbar-actions .admin-user {
    grid-column: 1 !important;
    grid-row: 2 !important;
    min-width: 118px !important;
    width: 100% !important;
    padding: 0 12px !important;
  }
  .resource-search-focus-banner {
    width: 100%;
  }
  .resource-search-focus-banner span {
    white-space: normal;
  }
}
@media (max-width: 420px) {
  .topbar-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .topbar-actions > button,
  .topbar-actions .admin-user {
    width: 100% !important;
  }
  .topbar-actions #refreshBtn,
  .topbar-actions #primaryBtn,
  .topbar-actions #logoutBtn,
  .topbar-actions .admin-user {
    grid-column: auto !important;
    grid-row: auto !important;
  }
  .topbar-actions .admin-user {
    grid-column: 1 / -1 !important;
  }
}
/* 2026-06-19 mobile topbar compact lock.
   Phone operators need search, refresh, production and logout visible without
   spending half the first viewport on account chrome. */
@media (max-width: 420px) {
  .topbar-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    align-items: stretch !important;
    gap: 8px !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
  .topbar-actions .topbar-search-wrap {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }
  .topbar-actions #refreshBtn,
  .topbar-actions #primaryBtn,
  .topbar-actions #logoutBtn {
    grid-row: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
  }
  .topbar-actions #refreshBtn {
    grid-column: 1 !important;
  }
  .topbar-actions #primaryBtn {
    grid-column: 2 !important;
  }
  .topbar-actions #logoutBtn {
    grid-column: 3 !important;
  }
  .topbar-actions .admin-user {
    display: none !important;
  }
}
/* 2026-06-19 mobile login compact lock.
   The admin login is a field tool entry point; at 375px it must read as a
   single usable sign-in screen, not a squeezed desktop hero. */
@media (max-width: 640px) {
  .login-screen {
    place-items: start center !important;
    min-height: 100svh !important;
    padding: 18px 14px 24px !important;
    overflow-x: hidden !important;
  }
  .login-card {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 430px !important;
    min-width: 0 !important;
    padding: 18px !important;
    border-radius: 22px !important;
  }
  .login-copy {
    align-content: start !important;
    min-width: 0 !important;
  }
  .login-copy .logo-lockup.large {
    width: 100% !important;
    min-height: 50px !important;
    padding: 8px 10px !important;
    border-radius: 16px !important;
  }
  .login-kicker {
    margin-top: 12px !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    word-break: normal !important;
    writing-mode: horizontal-tb !important;
  }
  .login-copy h1 {
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    font-size: clamp(23px, 6.4vw, 29px) !important;
    line-height: 1.18 !important;
    letter-spacing: 0 !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance !important;
    writing-mode: horizontal-tb !important;
  }
  .login-copy p {
    display: none !important;
  }
  .login-form {
    align-self: stretch !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 16px !important;
    gap: 12px !important;
    border-radius: 18px !important;
  }
  .login-form label {
    min-width: 0 !important;
  }
  .login-form input {
    width: 100% !important;
    min-width: 0 !important;
    height: 42px !important;
  }
  .login-form .primary-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
}
/* 2026-06-22 two-level SaaS navigation lock.
   Daily operators need a stable business-domain rail first, then task pages.
   The sidebar should read as hierarchy, not a long manual-like module list. */
.sidebar .nav {
  gap: 6px !important;
  margin-top: 8px !important;
  padding-right: 1px !important;
}
.sidebar .nav-domain {
  display: grid !important;
  gap: 5px !important;
  margin: 0 0 6px !important;
}
.sidebar .nav-domain-toggle {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 18px !important;
  gap: 8px !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 44px !important;
  padding: 8px 9px 8px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 12px !important;
  background: transparent !important;
  color: #314b44 !important;
  text-align: left !important;
  white-space: normal !important;
  transition:
    background-color var(--duration-fast, 150ms) var(--easing-soft, cubic-bezier(.2, .8, .2, 1)),
    border-color var(--duration-fast, 150ms) var(--easing-soft, cubic-bezier(.2, .8, .2, 1)),
    transform var(--duration-fast, 150ms) var(--easing-soft, cubic-bezier(.2, .8, .2, 1)) !important;
}
.sidebar .nav-domain-toggle:hover,
.sidebar .nav-domain.active .nav-domain-toggle {
  border-color: rgba(8, 122, 85, 0.14) !important;
  background: #eef8f4 !important;
}
.sidebar .nav-domain-toggle:active {
  transform: translateY(1px) !important;
}
.sidebar .nav-domain-copy {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.sidebar .nav-domain-copy strong,
.sidebar .nav-domain-copy small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  word-break: keep-all !important;
}
.sidebar .nav-domain-copy strong {
  color: #263d36 !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  line-height: 1.2 !important;
}
.sidebar .nav-domain-copy small {
  color: #758883 !important;
  font-size: 10.5px !important;
  font-weight: 760 !important;
  line-height: 1.2 !important;
}
.sidebar .nav-domain-chevron {
  position: relative !important;
  width: 18px !important;
  height: 18px !important;
  border-radius: 7px !important;
  background: rgba(8, 122, 85, 0.08) !important;
}
.sidebar .nav-domain-chevron::before {
  content: "" !important;
  position: absolute !important;
  top: 6px !important;
  left: 5px !important;
  width: 7px !important;
  height: 7px !important;
  border-right: 2px solid #557069 !important;
  border-bottom: 2px solid #557069 !important;
  transform: rotate(45deg) !important;
  transition: transform var(--duration-fast, 150ms) var(--easing-soft, cubic-bezier(.2, .8, .2, 1)) !important;
}
.sidebar .nav-domain.open .nav-domain-chevron::before {
  top: 7px !important;
  transform: rotate(225deg) !important;
}
.sidebar .nav-domain-items {
  display: grid !important;
  gap: 3px !important;
  padding-left: 6px !important;
}
.sidebar .nav-domain.collapsed .nav-domain-items {
  display: none !important;
}
.sidebar .nav-domain-items .nav-button {
  position: relative !important;
  margin-left: 6px !important;
  min-height: 36px !important;
}
.sidebar .nav-domain-items .nav-button::after {
  content: "" !important;
  position: absolute !important;
  left: -7px !important;
  top: 8px !important;
  bottom: 8px !important;
  width: 1px !important;
  border-radius: 999px !important;
  background: rgba(135, 154, 148, 0.22) !important;
}
.sidebar-current-subnav {
  display: grid !important;
  gap: 8px !important;
  margin: 2px 0 10px 42px !important;
  padding: 8px 0 8px 10px !important;
  border-left: 1px solid rgba(8, 120, 70, 0.22) !important;
}
.sidebar-subnav-label {
  color: #7b8984 !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.sidebar-subnav-list {
  display: grid !important;
  gap: 5px !important;
  min-width: 0 !important;
}
.sidebar-subnav-item {
  display: grid !important;
  align-content: center !important;
  gap: 2px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 34px !important;
  padding: 6px 9px !important;
  border: 1px solid transparent !important;
  border-radius: var(--radius-md) !important;
  background: transparent !important;
  color: #4c5b55 !important;
  text-align: left !important;
  cursor: pointer !important;
}
.sidebar-subnav-item:hover {
  border-color: rgba(8, 120, 70, 0.14) !important;
  background: #fff !important;
  color: #17231f !important;
}
.sidebar-subnav-item.active {
  border-color: rgba(8, 120, 70, 0.22) !important;
  background: #eaf6ef !important;
  color: #063b27 !important;
}
.sidebar-subnav-item span,
.sidebar-subnav-item small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.sidebar-subnav-item span {
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.sidebar-subnav-item small {
  color: #7b8984 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
}
.sidebar-subnav-item.active small {
  color: currentColor !important;
  opacity: 0.78 !important;
}
.topbar-breadcrumb-summary {
  text-transform: none !important;
  letter-spacing: 0 !important;
}
@media (max-width: 900px) {
  .topbar-breadcrumb-summary {
    max-width: 100% !important;
    white-space: normal !important;
  }
}
/* 2026-06-22 commercial SaaS shell lock.
   Taste pass for a serious operator admin: object, state, action and error stay visible;
   support copy and diagnostic density should never dominate the daily work surface. */
:root {
  --bg: #f5f7f6 !important;
  --surface: #ffffff !important;
  --surface-2: #f8faf9 !important;
  --surface-3: #eef4f1 !important;
  --ink: #111916 !important;
  --muted: #5d6b66 !important;
  --subtle: #899692 !important;
  --line: #dce5e1 !important;
  --line-strong: #c6d4ce !important;
  --green: #087846 !important;
  --green-deep: #06472d !important;
  --green-2: #e8f5ee !important;
  --gold: #a86f05 !important;
  --gold-2: #fff3d0 !important;
  --blue: #1f66b1 !important;
  --blue-2: #e9f2ff !important;
  --red: #bc3f35 !important;
  --red-2: #ffebe8 !important;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 10px;
  --control-height-md: 38px;
  --shadow: 0 18px 42px rgba(18, 38, 29, 0.08) !important;
  --shadow-soft: 0 8px 20px rgba(18, 38, 29, 0.06) !important;
  --focus-ring: 0 0 0 3px rgba(8, 120, 70, 0.16) !important;
}
html,
body {
  background: #f5f7f6 !important;
  min-width: 0 !important;
}
body {
  overflow-x: hidden !important;
}
.app-shell {
  grid-template-columns: 276px minmax(0, 1fr) !important;
  min-width: 0 !important;
  background: #f5f7f6 !important;
}
.sidebar {
  z-index: 12 !important;
  padding: 14px 12px !important;
  border-right-color: #d8e3dd !important;
  background: #fbfcfb !important;
  box-shadow: none !important;
}
.logo-lockup {
  min-width: 0 !important;
  min-height: 50px !important;
  padding: 6px 8px 12px !important;
}
.logo-mark {
  width: 56px !important;
  height: 34px !important;
  border-radius: var(--radius-md) !important;
  box-shadow: none !important;
}
.logo-text strong,
.logo-text small {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.logo-text strong {
  font-size: 15px !important;
  letter-spacing: 0 !important;
}
.logo-text small {
  font-size: 10.5px !important;
}
.main {
  min-width: 0 !important;
  padding: 0 24px 40px !important;
}
.topbar {
  z-index: 20 !important;
  display: grid !important;
  grid-template-columns: minmax(220px, 1fr) minmax(360px, auto) !important;
  gap: 14px !important;
  align-items: center !important;
  min-height: 76px !important;
  padding: 14px 0 12px !important;
  border-bottom: 1px solid rgba(214, 226, 220, 0.8) !important;
  background: rgba(245, 247, 246, 0.94) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}
.topbar > div:first-of-type {
  min-width: 0 !important;
}
.topbar h1 {
  max-width: 100% !important;
  margin-top: 4px !important;
  overflow: hidden !important;
  color: #111916 !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  line-height: 1.16 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.eyebrow,
.topbar #pageKicker {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: 6px !important;
  color: #63736d !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
.topbar-breadcrumb-domain {
  flex: 0 0 auto !important;
  color: #087846 !important;
  font-weight: 900 !important;
}
.topbar-breadcrumb-divider {
  flex: 0 0 auto !important;
  color: #9aa8a3 !important;
}
.topbar-breadcrumb-page {
  flex: 0 0 auto !important;
  color: #253832 !important;
  font-weight: 900 !important;
}
.topbar-breadcrumb-summary {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #6f7f79 !important;
  font-weight: 700 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.topbar-actions {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  min-width: 0 !important;
  gap: 8px !important;
}
.topbar-actions .topbar-search-wrap {
  width: clamp(280px, 30vw, 430px) !important;
  min-width: 240px !important;
  z-index: 25 !important;
}
.topbar-actions .topbar-search {
  height: var(--control-height-md) !important;
  border-radius: var(--radius-md) !important;
  border-color: #cddbd4 !important;
  background: #fff !important;
  box-shadow: none !important;
}
.topbar-search-results {
  z-index: 90 !important;
  top: calc(100% + 8px) !important;
  right: 0 !important;
  left: auto !important;
  width: min(520px, calc(100vw - 320px)) !important;
  max-height: min(560px, calc(100vh - 128px)) !important;
  border-radius: var(--radius-lg) !important;
  border-color: #cad8d1 !important;
  background: #fff !important;
  box-shadow: 0 22px 54px rgba(17, 34, 25, 0.16) !important;
}
.topbar-search-result {
  min-width: 0 !important;
  padding: 10px 12px !important;
}
.primary-action,
.ghost-action,
.mini-action,
.candidate-replace-btn,
.smart-slot-action,
.resource-workspace-tabs nav button,
.smart-menu-section-tabs button,
.smart-menu-task-picker button {
  border-radius: var(--radius-md) !important;
  letter-spacing: 0 !important;
}
.primary-action,
.candidate-replace-btn,
.smart-slot-action.primary {
  border-color: #087846 !important;
  background: #087846 !important;
  color: #fff !important;
  box-shadow: none !important;
}
.primary-action:hover,
.ghost-action:hover,
.mini-action:hover,
.candidate-replace-btn:hover,
.smart-slot-action:hover {
  transform: none !important;
  box-shadow: 0 0 0 3px rgba(8, 120, 70, 0.08) !important;
}
.primary-action:active,
.ghost-action:active,
.mini-action:active,
.candidate-replace-btn:active,
.smart-slot-action:active {
  transform: translateY(1px) !important;
}
.admin-user {
  min-width: 118px !important;
  border-radius: var(--radius-md) !important;
  box-shadow: none !important;
}
.content {
  align-content: start !important;
  max-width: 1560px !important;
  margin: 0 auto !important;
  padding-top: 18px !important;
}
.content > *,
.stack > *,
.grid > *,
.module-card,
.task-card,
.recipe-card,
.customer-card,
.preset-card,
.opportunity-card,
.wave-card,
.check-card,
.master-menu-card,
.production-break-card,
.delivery-proof-card,
.delivery-decision-card,
.finance-proof-card,
.dish-readiness-card,
.resource-card,
.resource-domain-workspace,
.resource-ops-drawer,
.smart-menu-command-center,
.smart-menu-task-picker,
.smart-menu-section-tabs,
.smart-menu-section-body,
.customer-menu-board,
.customer-week-workbook,
.customer-package-board,
.customer-menu-work-order,
.smart-fold-section {
  min-width: 0 !important;
}
.module-card,
.task-card,
.recipe-card,
.customer-card,
.preset-card,
.opportunity-card,
.wave-card,
.check-card,
.master-menu-card,
.production-break-card,
.delivery-proof-card,
.delivery-decision-card,
.finance-proof-card,
.dish-readiness-card,
.resource-card {
  border-radius: var(--radius-lg) !important;
  border-color: #dce5e1 !important;
  box-shadow: none !important;
}
.module-card:hover,
.task-card:hover,
.recipe-card:hover,
.customer-card:hover,
.preset-card:hover,
.opportunity-card:hover,
.master-menu-card:hover,
.resource-card:hover {
  border-color: #bfd4c9 !important;
  box-shadow: 0 10px 24px rgba(18, 38, 29, 0.06) !important;
}
.panel,
.table-wrap,
.smart-generated-sheet-wrap,
.smart-week-table-wrap,
.smart-review-week-table-wrap {
  border-radius: var(--radius-lg) !important;
}
table {
  min-width: 0 !important;
}
th,
td {
  vertical-align: top !important;
}
.table-actions,
.drawer-actions,
.menu-slot-review-actions,
.website-preview-actions,
.preset-foot,
.customer-card-foot {
  align-items: center !important;
}
.table-actions {
  min-width: 0 !important;
}
.tag,
.badge,
.status-pill,
.status {
  border-radius: 999px !important;
}
.drawer {
  z-index: 80 !important;
}
.drawer-backdrop {
  background: rgba(15, 24, 20, 0.42) !important;
}
.drawer-panel {
  width: min(780px, calc(100vw - 36px)) !important;
  border-left: 1px solid #d4e0da !important;
  background: #fff !important;
  box-shadow: -18px 0 48px rgba(17, 34, 25, 0.16) !important;
}
.drawer-head {
  min-width: 0 !important;
  border-bottom: 1px solid #dce5e1 !important;
  background: #fff !important;
}
.drawer-head h2 {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.drawer-body {
  min-width: 0 !important;
}
.menu-slot-choice-list,
.customer-readable-week,
.customer-review-meal-list,
.resource-table-wrap {
  min-width: 0 !important;
}
.menu-slot-choice,
.customer-package-card,
.customer-readable-meal,
.customer-review-meal {
  min-width: 0 !important;
}
.menu-slot-choice strong,
.customer-package-card strong,
.customer-readable-meal strong,
.customer-review-meal strong {
  overflow-wrap: anywhere !important;
}
.smart-fold-section > summary,
details > summary {
  cursor: pointer !important;
}
.sidebar-card {
  margin-top: auto !important;
  border-radius: var(--radius-lg) !important;
  background: #f8faf9 !important;
  box-shadow: none !important;
}
.nav-backdrop {
  z-index: 10 !important;
}
@media (max-width: 1180px) {
  .app-shell {
    grid-template-columns: 248px minmax(0, 1fr) !important;
  }
  .main {
    padding-inline: 18px !important;
  }
  .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
  }
  .topbar-actions {
    justify-content: stretch !important;
  }
  .topbar-actions .topbar-search-wrap {
    flex: 1 1 320px !important;
    width: auto !important;
  }
  .topbar-search-results {
    width: min(520px, calc(100vw - 64px)) !important;
  }
}
@media (max-width: 760px) {
  .app-shell {
    display: block !important;
    grid-template-columns: minmax(0, 1fr) !important;
    overflow-x: hidden !important;
  }
  .sidebar {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: min(312px, 86vw) !important;
    max-width: 86vw !important;
    transform: translateX(-105%) !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transition: transform 180ms ease !important;
  }
  .app-shell.nav-open .sidebar {
    transform: translateX(0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  .app-shell .nav-backdrop {
    display: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
  }
  .app-shell.nav-open .nav-backdrop {
    display: block !important;
    opacity: 1 !important;
    pointer-events: auto !important;
  }
  .main {
    padding: 0 14px 28px !important;
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .topbar {
    position: sticky !important;
    top: 0 !important;
    min-height: 0 !important;
    padding: 10px 0 12px !important;
  }
  .topbar h1 {
    font-size: 21px !important;
    white-space: normal !important;
  }
  .topbar-breadcrumb-summary {
    display: none !important;
  }
  .mobile-nav-toggle {
    display: inline-grid !important;
    place-items: center !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    border-radius: var(--radius-md) !important;
  }
  .topbar-actions {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }
  .topbar-actions .topbar-search-wrap {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .topbar-search-results {
    left: 0 !important;
    right: auto !important;
    width: 100% !important;
    max-height: min(460px, calc(100vh - 168px)) !important;
  }
  .topbar-actions #refreshBtn,
  .topbar-actions #primaryBtn,
  .topbar-actions #logoutBtn {
    width: 100% !important;
    min-width: 0 !important;
  }
  .admin-user {
    display: none !important;
  }
  .content {
    padding-top: 12px !important;
  }
  .drawer-panel {
    width: 100vw !important;
    max-width: 100vw !important;
  }
}
/* 2026-06-22 mobile menu usability lock.
   The phone view must not squeeze Chinese menu titles into vertical columns.
   Wide menu objects use local horizontal scroll, while the active customer work area stacks. */
@media (max-width: 760px) {
  .smart-menu-section-tabs {
    position: static !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    overflow: hidden !important;
    padding: 8px !important;
  }
  .smart-menu-section-tabs > div {
    min-width: 0 !important;
    padding: 10px 12px !important;
  }
  .smart-menu-section-tabs > div span,
  .smart-menu-section-tabs > div strong {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
  .smart-menu-section-tabs nav {
    display: flex !important;
    grid-template-columns: none !important;
    gap: 8px !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding: 0 2px 6px !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .smart-menu-section-tabs button {
    flex: 0 0 min(268px, 78vw) !important;
    min-width: min(268px, 78vw) !important;
    max-width: min(268px, 78vw) !important;
    min-height: 78px !important;
    padding: 10px !important;
    scroll-snap-align: start !important;
  }
  .smart-menu-section-tabs button b,
  .smart-menu-section-tabs button small,
  .smart-menu-section-tabs button em {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
  }
  .smart-customer-review-cockpit,
  .smart-customer-package-board,
  .smart-review-confirm-sheet,
  .smart-review-excel-pack,
  .smart-review-readable-week,
  .smart-review-hero-card,
  .smart-review-work-order {
    width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border-radius: var(--radius-lg) !important;
  }
  .smart-review-cockpit-head,
  .smart-customer-package-head,
  .smart-review-work-order,
  .smart-review-readable-head,
  .smart-review-hero-head,
  .smart-review-hero-actions,
  .smart-review-excel-pack,
  .smart-review-confirm-sheet {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: start !important;
  }
  .smart-review-cockpit-head > *,
  .smart-customer-package-head > *,
  .smart-review-work-order > *,
  .smart-review-readable-head > *,
  .smart-review-hero-head > *,
  .smart-review-hero-actions > *,
  .smart-review-excel-pack > *,
  .smart-review-confirm-sheet > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .smart-review-cockpit-head h3,
  .smart-customer-package-head h3,
  .smart-review-work-order h3,
  .smart-review-readable-head h3,
  .smart-review-hero-head h3,
  .smart-review-excel-copy h3,
  .smart-review-confirm-main h3 {
    margin-top: 4px !important;
    font-size: 21px !important;
    line-height: 1.22 !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    writing-mode: horizontal-tb !important;
  }
  .smart-review-readable-head p,
  .smart-review-cockpit-head p,
  .smart-customer-package-head p,
  .smart-review-work-order p,
  .smart-review-hero-head p,
  .smart-review-excel-copy p,
  .smart-review-confirm-main p {
    max-width: 100% !important;
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
    writing-mode: horizontal-tb !important;
  }
  .smart-review-cockpit-metrics,
  .smart-customer-scope-facts,
  .smart-review-confirm-stats,
  .smart-review-excel-checklist,
  .smart-review-meal-coverage,
  .smart-review-hero-dishes {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .smart-review-readable-actions,
  .smart-review-work-order-actions,
  .smart-review-excel-actions,
  .smart-review-confirm-actions,
  .smart-review-hero-actions .actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .smart-review-readable-actions .primary-action,
  .smart-review-readable-actions .ghost-action,
  .smart-review-work-order-actions .primary-action,
  .smart-review-work-order-actions .ghost-action,
  .smart-review-excel-actions .primary-action,
  .smart-review-excel-actions .ghost-action,
  .smart-review-confirm-actions .primary-action,
  .smart-review-confirm-actions .ghost-action,
  .smart-review-hero-actions .mini-action {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .smart-review-workbook-tabs,
  .smart-review-customer-tabs {
    display: flex !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    padding-bottom: 6px !important;
    -webkit-overflow-scrolling: touch !important;
  }
  .smart-review-workbook-tabs strong,
  .smart-review-workbook-tabs span,
  .smart-review-workbook-tabs button,
  .smart-review-workbook-tabs em,
  .smart-review-customer-tab {
    flex: 0 0 auto !important;
    min-width: max-content !important;
    writing-mode: horizontal-tb !important;
  }
  .smart-customer-package-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    max-height: 420px !important;
  }
  .smart-customer-package-card strong,
  .smart-customer-package-card p,
  .smart-customer-package-card em {
    white-space: normal !important;
    word-break: keep-all !important;
    overflow-wrap: anywhere !important;
  }
  .smart-review-readable-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .smart-readable-day,
  .smart-readable-meals,
  .smart-readable-meal {
    min-width: 0 !important;
  }
  .smart-readable-meals {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 8px !important;
  }
  .smart-readable-meal {
    width: 100% !important;
  }
}
/* 2026-06-22 current-item second-level IA lock.
   Second level means the selected module exposes child workspaces; it is not a folded sidebar or in-page anchor strip. */
.context-subnav {
  position: sticky;
  top: 76px;
  z-index: 16;
  display: grid;
  grid-template-columns: minmax(190px, .24fr) minmax(0, 1fr);
  gap: 10px;
  align-items: stretch;
  margin: 0 auto 14px;
  max-width: 1560px;
  padding: 8px;
  border: 1px solid #d7e2dd;
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, .96);
  box-shadow: 0 10px 26px rgba(18, 38, 29, .07);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.context-subnav-current {
  display: grid;
  align-content: center;
  gap: 3px;
  min-width: 0;
  padding: 8px 10px;
  border-radius: var(--radius-md);
  background: #f4f8f6;
}
.context-subnav-current span {
  color: var(--green);
  font-size: 11px;
  font-weight: 900;
}
.context-subnav-current strong {
  overflow: hidden;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.context-subnav.smart-menu-section-tabs {
  grid-template-columns: minmax(168px, .18fr) minmax(0, 1fr);
}
.context-subnav.menu-context-tabs {
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 8px;
  padding: 10px;
  overflow: visible;
}
.context-subnav-object-row {
  min-width: 0;
}
.context-object-switch {
  display: grid;
  grid-template-columns: minmax(92px, .85fr) repeat(2, minmax(112px, 1.1fr)) minmax(126px, 1.2fr);
  align-items: stretch;
  gap: 6px;
  min-width: 0;
  overflow: visible;
  padding: 4px;
  border: 1px solid #dce5e1;
  border-radius: var(--radius-md);
  background: #f7faf8;
}
.context-object-switch button,
.context-object-switch .menu-hierarchy-node {
  display: grid;
  align-content: center;
  gap: 2px;
  min-width: 0;
  min-height: 46px;
  padding: 7px 8px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}
.context-object-switch button {
  cursor: pointer;
}
.context-object-switch button:hover {
  border-color: rgba(8, 120, 70, .20);
  background: #ffffff;
}
.context-object-switch button.active,
.context-object-switch .menu-hierarchy-node.active {
  border-color: rgba(8, 120, 70, .38);
  background: #eaf6ef;
  box-shadow: inset 0 3px 0 var(--green);
}
.context-object-switch strong,
.context-object-switch span,
.context-object-switch em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.context-object-switch strong {
  font-size: 12px;
  line-height: 1.2;
}
.context-object-switch span,
.context-object-switch em {
  color: var(--muted);
  font-size: 10.5px;
  font-weight: 760;
  line-height: 1.2;
}
.context-object-switch em {
  font-style: normal;
}
.context-subnav nav {
  display: flex;
  min-width: 0;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
  scrollbar-width: thin;
}
.context-subnav nav button {
  display: grid;
  align-content: center;
  flex: 0 0 clamp(132px, 14vw, 188px);
  min-height: 54px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid #dce5e1;
  border-radius: var(--radius-md);
  background: #fff;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
}
.context-subnav nav button b,
.context-subnav nav button small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.context-subnav nav button b {
  font-size: 13px;
  line-height: 1.25;
}
.context-subnav nav button small {
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
}
.context-subnav nav button.active {
  border-color: rgba(8, 120, 70, .45);
  background: #eaf6ef;
  box-shadow: inset 0 3px 0 var(--green);
}
.context-subnav.menu-context-tabs .context-step-tabs {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(138px, 1fr));
  gap: 8px;
  overflow: visible;
  padding-bottom: 0;
}
.context-subnav.menu-context-tabs .context-step-tabs button {
  flex: none;
  min-width: 0;
  min-height: 48px;
}
.context-subnav.mirror {
  position: static;
  top: auto;
  margin: 0 0 14px;
  max-width: none;
  box-shadow: none;
}
@media (min-width: 901px) {
  .context-subnav.mirror {
    display: none !important;
  }
}
.smart-customer-subview {
  display: grid;
  gap: 14px;
}
.smart-customer-review-cockpit.compact {
  padding: 14px;
}
.smart-customer-review-cockpit.compact .smart-review-cockpit-head {
  margin-bottom: 10px;
}
.smart-customer-subview[data-customer-subview="packages"] .smart-customer-review-cockpit.compact {
  display: none;
}
.smart-customer-subview .smart-review-readable-week,
.smart-customer-subview .smart-review-hero-card,
.smart-customer-subview .smart-review-confirm-sheet,
.smart-customer-subview .smart-review-excel-pack,
.smart-customer-subview .smart-excel-forward-center,
.smart-customer-subview .smart-customer-package-board {
  margin-top: 0;
}
.smart-customer-subview[data-customer-subview="review"] .smart-review-hero-card {
  border-color: rgba(8, 120, 70, 0.28) !important;
  background: #fff !important;
}
.smart-review-hero-dishes {
  align-items: stretch !important;
}
.smart-review-hero-slot {
  min-width: 0 !important;
  min-height: 104px !important;
}
.smart-review-hero-slot span,
.smart-review-hero-slot b,
.smart-review-hero-slot strong,
.smart-review-hero-slot em,
.smart-review-hero-slot small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.smart-review-hero-slot strong {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.smart-review-hero-slot small {
  justify-self: start !important;
  padding: 4px 7px !important;
  border-radius: var(--radius-sm) !important;
  background: #eaf6ef !important;
  color: #087846 !important;
  font-weight: 900 !important;
}
@media (max-width: 900px) {
  .context-subnav {
    position: static;
    grid-template-columns: minmax(0, 1fr);
    margin-bottom: 10px;
  }
  .context-subnav.smart-menu-section-tabs {
    grid-template-columns: minmax(0, 1fr);
  }
  .context-subnav.menu-context-tabs {
    grid-template-columns: minmax(0, 1fr);
  }
  .context-subnav nav button {
    flex-basis: min(176px, 46vw);
  }
  .context-object-switch {
    display: flex;
    align-items: stretch;
    min-height: 60px;
  }
  .context-object-switch button {
    flex: 0 0 min(132px, 40vw);
    min-height: 48px;
  }
}
.context-subnav.smart-menu-section-tabs .context-object-switch {
  display: flex;
}
.context-subnav.smart-menu-section-tabs .context-object-switch button {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 48px !important;
}
@media (max-width: 900px) {
  .context-subnav.smart-menu-section-tabs .context-object-switch button {
    flex: 0 0 min(132px, 40vw) !important;
    min-width: min(132px, 40vw) !important;
    max-width: min(132px, 40vw) !important;
    min-height: 52px !important;
  }
}
.context-subnav.menu-context-tabs.smart-menu-section-tabs .context-object-switch {
  display: grid;
}
.context-subnav.menu-context-tabs.smart-menu-section-tabs .context-object-switch button {
  flex: none !important;
  min-width: 0 !important;
  max-width: none !important;
}
@media (max-width: 900px) {
  .context-subnav.menu-context-tabs.smart-menu-section-tabs .context-object-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .context-subnav.menu-context-tabs.smart-menu-section-tabs .context-object-switch button {
    flex: none !important;
    min-width: 0 !important;
    max-width: none !important;
  }
}
@media (max-width: 560px) {
  .context-subnav {
    padding: 7px;
  }
  .context-subnav nav button {
    flex-basis: min(158px, 72vw);
  }
}
/* 2026-06-28 menu commercial UX polish.
   The menu workspace should read like a professional ERP path, not a stack of explanation cards. */
.sidebar > .logo-lockup {
  min-height: 58px !important;
  padding: 8px 8px 14px !important;
  gap: 10px !important;
  border-bottom: 1px solid #d9e3de !important;
}
.sidebar > .logo-lockup .logo-mark {
  width: 44px !important;
  height: 36px !important;
  flex: 0 0 44px !important;
  border: 0 !important;
  background: transparent !important;
}
.sidebar > .logo-lockup .logo-mark img {
  width: 44px !important;
  height: 36px !important;
  object-fit: contain !important;
}
.sidebar > .logo-lockup .logo-text {
  gap: 2px !important;
}
.sidebar > .logo-lockup .logo-text strong {
  color: #07834f !important;
  font-size: 16px !important;
  font-weight: 950 !important;
  line-height: 1.15 !important;
}
.sidebar > .logo-lockup .logo-text small {
  color: #506159 !important;
  font-size: 11px !important;
  font-weight: 760 !important;
  line-height: 1.25 !important;
}
.topbar {
  min-height: 68px !important;
  padding: 10px 0 9px !important;
}
.topbar h1 {
  margin-top: 2px !important;
  font-size: 23px !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
}
.topbar #pageKicker {
  font-size: 11.5px !important;
  font-weight: 780 !important;
}
.topbar-breadcrumb-summary {
  color: #6f7e77 !important;
  font-weight: 650 !important;
}
.context-subnav.menu-context-tabs.smart-menu-section-tabs {
  position: sticky !important;
  top: 68px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 1560px !important;
  margin-bottom: 12px !important;
  padding: 8px 10px !important;
  border: 1px solid #d8e3de !important;
  border-radius: 12px !important;
  background: rgba(250, 252, 251, .96) !important;
  box-shadow: 0 8px 18px rgba(21, 43, 32, .06) !important;
}
.context-subnav.menu-context-tabs .context-subnav-object-row {
  min-width: 0 !important;
}
.context-subnav.menu-context-tabs .context-object-switch {
  display: grid !important;
  grid-template-columns: minmax(118px, .78fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(170px, 1.08fr) !important;
  gap: 0 !important;
  min-height: 42px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.context-subnav.menu-context-tabs .context-object-switch button,
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node {
  position: relative !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  column-gap: 8px !important;
  row-gap: 1px !important;
  align-content: center !important;
  min-height: 42px !important;
  padding: 6px 12px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.context-subnav.menu-context-tabs .context-object-switch button::after,
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node::after {
  content: "" !important;
  position: absolute !important;
  top: 12px !important;
  right: -1px !important;
  width: 1px !important;
  height: 20px !important;
  background: #dbe5e0 !important;
}
.context-subnav.menu-context-tabs .context-object-switch button:last-child::after {
  display: none !important;
}
.context-subnav.menu-context-tabs .context-object-switch span {
  grid-row: 1 / span 2 !important;
  align-self: center !important;
  min-width: 34px !important;
  padding: 3px 5px !important;
  border-radius: 6px !important;
  background: #edf4f0 !important;
  color: #66766f !important;
  font-size: 10px !important;
  font-weight: 850 !important;
  text-align: center !important;
}
.context-subnav.menu-context-tabs .context-object-switch strong {
  color: #14251d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}
.context-subnav.menu-context-tabs .context-object-switch em {
  color: #687a72 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
}
.context-subnav.menu-context-tabs .context-object-switch button:hover {
  background: #f1f7f4 !important;
}
.context-subnav.menu-context-tabs .context-object-switch button.active,
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.active {
  background: #0b7f4a !important;
}
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.root.active {
  background: #eef6f1 !important;
}
.context-subnav.menu-context-tabs .context-object-switch button.active span,
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.active span {
  background: rgba(255,255,255,.18) !important;
  color: #ffffff !important;
}
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.root.active span {
  background: #dcefe5 !important;
  color: #0b7f4a !important;
}
.context-subnav.menu-context-tabs .context-object-switch button.active strong,
.context-subnav.menu-context-tabs .context-object-switch button.active em,
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.active strong,
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.active em {
  color: #ffffff !important;
}
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.root.active strong {
  color: #173329 !important;
}
.context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node.root.active em {
  color: #687a72 !important;
}
.context-subnav.menu-context-tabs .context-step-tabs {
  display: flex !important;
  gap: 6px !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  padding: 2px 0 1px !important;
  scrollbar-width: thin !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button {
  flex: 0 0 auto !important;
  min-width: 116px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  border: 1px solid transparent !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow: none !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button b {
  color: #21372d !important;
  font-size: 12px !important;
  font-weight: 880 !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button small {
  color: #72817b !important;
  font-size: 10.5px !important;
  font-weight: 650 !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button:hover {
  background: #f3f8f5 !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button.active {
  border-color: #bcd9ca !important;
  background: #ffffff !important;
  box-shadow: inset 0 -2px 0 #0b7f4a !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-shell {
  display: grid !important;
  grid-template-columns: minmax(190px, .82fr) minmax(260px, 1.2fr) minmax(190px, .86fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
  min-width: 0 !important;
  padding: 2px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root,
.context-subnav.menu-context-tabs .menu-hierarchy-branch,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream {
  min-width: 0 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root {
  display: grid !important;
  align-content: center !important;
  gap: 2px !important;
  min-height: 54px !important;
  padding: 10px 12px !important;
  border: 1px solid #d6e3dd !important;
  border-radius: 10px !important;
  background: linear-gradient(180deg, #f5faf7 0%, #edf6f1 100%) !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root span,
.context-subnav.menu-context-tabs .menu-hierarchy-label {
  color: #0b7f4a !important;
  font-size: 10.5px !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root strong {
  color: #12251d !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root em {
  overflow: hidden !important;
  color: #657770 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 680 !important;
  line-height: 1.25 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream {
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr) !important;
  gap: 5px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-label {
  padding-left: 2px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  min-height: 38px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  gap: 2px !important;
  align-content: center !important;
  min-height: 38px !important;
  padding: 8px 10px !important;
  border: 1px solid #d7e4de !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  box-shadow: none !important;
  transition: background-color .18s ease, border-color .18s ease, transform .18s ease !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button::after,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button::after {
  display: none !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button:hover,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button:hover {
  border-color: #bcd9ca !important;
  background: #f3f8f5 !important;
  transform: translateY(-1px) !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button.active,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button.active {
  border-color: #0b7f4a !important;
  background: #0b7f4a !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button strong,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button strong {
  color: #183229 !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button em,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button em {
  overflow: hidden !important;
  color: #6b7b74 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 650 !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button.active strong,
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button.active em,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button.active strong,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button.active em {
  color: #ffffff !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button {
  width: 100% !important;
}
@media (max-width: 900px) {
  .context-subnav.menu-context-tabs .menu-hierarchy-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-root em {
    white-space: normal !important;
  }
  .context-subnav.menu-context-tabs .context-step-tabs {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(142px, 1fr)) !important;
    overflow: visible !important;
  }
  .context-subnav.menu-context-tabs .context-step-tabs button {
    width: 100% !important;
  }
}
.smart-customer-package-board {
  border-radius: 12px !important;
  border-color: #d7e3de !important;
  background: #ffffff !important;
  box-shadow: none !important;
}
.smart-customer-package-head h3 {
  margin: 2px 0 0 !important;
  font-size: 19px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
}
.smart-customer-package-head .eyebrow {
  color: #0b7f4a !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
.smart-customer-package-card strong,
.smart-readable-meal b,
.smart-review-hero-head h3 {
  letter-spacing: 0 !important;
}
.smart-review-cost-strip {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin: 8px 0 12px !important;
  padding: 10px !important;
  border: 1px solid #d8e5df !important;
  border-radius: 10px !important;
  background: #f7faf8 !important;
}
.smart-review-cost-strip span {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.smart-review-cost-strip b {
  color: #718079 !important;
  font-size: 10.5px !important;
  font-weight: 800 !important;
}
.smart-review-cost-strip strong {
  min-width: 0 !important;
  overflow: hidden !important;
  color: #16271f !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.smart-review-cost-strip span.warn strong {
  color: #9a6405 !important;
}
.smart-review-cost-strip span.red strong {
  color: #b7342c !important;
}
.smart-review-container-panel {
  display: grid !important;
  gap: 9px !important;
  padding: 12px !important;
  border: 1px solid #d8e5df !important;
  border-radius: 10px !important;
  background: #ffffff !important;
}
.smart-review-container-head {
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 12px !important;
}
.smart-review-container-head > div {
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
}
.smart-review-container-head span {
  color: #0b7f4a !important;
  font-size: 11px !important;
  font-weight: 850 !important;
}
.smart-review-container-head strong {
  overflow: hidden !important;
  color: #16271f !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.smart-review-container-head em {
  flex: 0 0 auto !important;
  max-width: 46% !important;
  color: #4f6459 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 780 !important;
  line-height: 1.4 !important;
  text-align: right !important;
}
.smart-review-container-slots {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
}
.smart-review-container-slots span {
  position: relative !important;
  display: grid !important;
  gap: 3px !important;
  min-width: 0 !important;
  min-height: 72px !important;
  padding: 9px 44px 9px 9px !important;
  border: 1px solid #e3ece7 !important;
  border-radius: 8px !important;
  background: #f8faf9 !important;
}
.smart-review-container-slots span.warn {
  border-color: #edc87a !important;
  background: #fff9e9 !important;
}
.smart-review-container-slots span.empty {
  grid-column: 1 / -1 !important;
}
.smart-review-container-slots b,
.smart-review-container-slots strong,
.smart-review-container-slots em,
.smart-review-container-slots small {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.smart-review-container-slots b {
  color: #0b7f4a !important;
  font-size: 10.5px !important;
  font-weight: 850 !important;
}
.smart-review-container-slots strong {
  color: #16271f !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
}
.smart-review-container-slots em {
  color: #64766d !important;
  font-size: 10.5px !important;
  font-style: normal !important;
  font-weight: 760 !important;
}
.smart-review-container-slots small {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  max-width: 38px !important;
  padding: 3px 5px !important;
  border-radius: 6px !important;
  background: #eef8f2 !important;
  color: #087a43 !important;
  font-size: 9.5px !important;
  font-weight: 900 !important;
  text-align: center !important;
}
.smart-review-container-warnings {
  display: grid !important;
  gap: 5px !important;
}
.smart-review-container-warnings span {
  padding: 7px 8px !important;
  border: 1px solid rgba(201, 63, 53, 0.16) !important;
  border-radius: 7px !important;
  background: #fff8f6 !important;
  color: #9f2f27 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}
.smart-review-hero-slot i {
  display: block !important;
  min-width: 0 !important;
  overflow: hidden !important;
  color: #4f6459 !important;
  font-size: 11px !important;
  font-style: normal !important;
  font-weight: 780 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
@media (max-width: 900px) {
  .context-subnav.menu-context-tabs.smart-menu-section-tabs {
    position: static !important;
    padding: 8px !important;
  }
  .context-subnav.menu-context-tabs .context-object-switch {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
  .context-subnav.menu-context-tabs .context-object-switch button,
  .context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node {
    border: 1px solid #dbe6e0 !important;
  }
  .context-subnav.menu-context-tabs .context-object-switch button::after,
  .context-subnav.menu-context-tabs .context-object-switch .menu-hierarchy-node::after {
    display: none !important;
  }
  .smart-review-cost-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .smart-review-container-head {
    display: grid !important;
  }
  .smart-review-container-head em {
    max-width: none !important;
    text-align: left !important;
  }
  .smart-review-container-slots {
    grid-template-columns: 1fr !important;
  }
}
/* Menu IA refinement: keep the hierarchy visible, but make it behave like a
   route strip instead of a training manual. */
.context-subnav.menu-context-tabs {
  gap: 9px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-shell {
  grid-template-columns: minmax(180px, .72fr) minmax(300px, 1.16fr) minmax(170px, .72fr) !important;
  gap: 8px !important;
  padding: 0 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root,
.context-subnav.menu-context-tabs .menu-hierarchy-branch,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream {
  min-height: 44px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-content: center !important;
  column-gap: 8px !important;
  min-height: 44px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root span {
  grid-row: 1 / span 2 !important;
  display: grid !important;
  place-items: center !important;
  height: 28px !important;
  padding: 0 6px !important;
  border-radius: 7px !important;
  background: #dff1e8 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root strong {
  font-size: 13px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-root em {
  font-size: 10.5px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream {
  grid-template-columns: 44px minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) !important;
  align-items: stretch !important;
  gap: 8px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-label {
  display: grid !important;
  place-items: center !important;
  min-height: 44px !important;
  padding: 0 6px !important;
  border: 1px solid #d7e4de !important;
  border-radius: 8px !important;
  background: #f7faf8 !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch {
  min-height: 44px !important;
  gap: 6px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button {
  min-height: 44px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button strong,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button strong {
  font-size: 12.5px !important;
}
.context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button em,
.context-subnav.menu-context-tabs .menu-hierarchy-downstream button em {
  font-size: 10.5px !important;
}
.context-subnav.menu-context-tabs .context-step-tabs {
  gap: 6px !important;
  grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)) !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button {
  min-height: 38px !important;
  padding: 7px 9px !important;
  border-radius: 8px !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button b {
  font-size: 12px !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button small {
  font-size: 10px !important;
}
.smart-menu-task-picker-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
.smart-menu-task-picker-grid button {
  min-height: 118px !important;
}
.smart-menu-task-picker-grid button.employee {
  background: #f6fbf8 !important;
  border-color: rgba(8, 122, 67, 0.18) !important;
}
.smart-menu-task-picker-grid button.employee span {
  background: #0b7f4a !important;
}
@media (max-width: 1120px) {
  .smart-menu-task-picker-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 900px) {
  .context-subnav.menu-context-tabs .menu-hierarchy-shell {
    grid-template-columns: minmax(0, 1.34fr) minmax(148px, .66fr) !important;
    gap: 7px !important;
    overflow: hidden !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-root {
    grid-column: 1 / -1 !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-branch {
    grid-column: 1 !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-downstream {
    grid-column: 2 !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-downstream button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .context-subnav.menu-context-tabs .context-step-tabs {
    grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
    gap: 5px !important;
  }
  .context-subnav.menu-context-tabs .context-step-tabs button {
    min-height: 32px !important;
    padding: 6px 8px !important;
  }
  .context-subnav.menu-context-tabs .context-step-tabs button small {
    display: none !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-root,
  .context-subnav.menu-context-tabs .menu-hierarchy-branch,
  .context-subnav.menu-context-tabs .menu-hierarchy-downstream,
  .context-subnav.menu-context-tabs .menu-hierarchy-label,
  .context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch,
  .context-subnav.menu-context-tabs .menu-hierarchy-branch .context-object-switch button,
  .context-subnav.menu-context-tabs .menu-hierarchy-downstream button {
    min-height: 40px !important;
  }
}
@media (max-width: 420px) {
  .context-subnav.menu-context-tabs .menu-hierarchy-shell {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .context-subnav.menu-context-tabs .menu-hierarchy-root,
  .context-subnav.menu-context-tabs .menu-hierarchy-branch,
  .context-subnav.menu-context-tabs .menu-hierarchy-downstream {
    grid-column: 1 !important;
  }
}
@media (max-width: 560px) {
  .smart-menu-task-picker-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* 2026-06-28 EOF visual lock: fixes the live screenshot issues where the
   sidebar mark stayed horizontal-with-text and customer cards collapsed. */
.sidebar > .logo-lockup {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: start !important;
  align-content: center !important;
  gap: 6px !important;
  min-height: 70px !important;
  padding: 10px 10px 12px !important;
}
.sidebar > .logo-lockup .logo-mark,
.sidebar > .logo-lockup .logo-mark img {
  width: 136px !important;
  max-width: 136px !important;
  height: auto !important;
  aspect-ratio: 1075 / 248 !important;
  object-fit: contain !important;
  object-position: left center !important;
}
.sidebar > .logo-lockup .logo-text {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
}
.sidebar > .logo-lockup .logo-text strong {
  display: none !important;
}
.sidebar > .logo-lockup .logo-text small {
  display: block !important;
  color: #2f3d37 !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.topbar {
  background: #ffffff !important;
  border-bottom: 1px solid #e4ece7 !important;
  box-shadow: 0 10px 26px rgba(19, 45, 34, 0.06) !important;
}
.smart-customer-review-cockpit.compact {
  padding: 20px !important;
  border-color: #dfeae4 !important;
  background: linear-gradient(180deg, #ffffff 0%, #f9fcfa 100%) !important;
  box-shadow: 0 16px 36px rgba(16, 38, 29, 0.06) !important;
}
.smart-customer-package-board {
  padding: 16px !important;
  border-color: #dfeae4 !important;
  background: #ffffff !important;
  box-shadow: 0 18px 40px rgba(14, 35, 26, 0.06) !important;
}
.smart-customer-package-card {
  grid-template-columns: minmax(0, 1fr) 168px !important;
  align-items: stretch !important;
  min-height: 118px !important;
  height: auto !important;
  padding: 14px !important;
  border-color: #e1e9e5 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  overflow: visible !important;
}
.smart-customer-package-card.warn {
  border-color: #ead9ad !important;
  background: #fffaf0 !important;
}
.smart-customer-package-main {
  grid-template-columns: 92px minmax(190px, .9fr) minmax(280px, 1.05fr) !important;
  grid-template-rows: auto auto 1fr !important;
  align-items: start !important;
  gap: 6px 14px !important;
  min-height: 88px !important;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
  overflow: visible !important;
}
.smart-customer-package-main > span,
.smart-customer-package-card span {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
.smart-customer-package-main > span {
  grid-row: 1 / span 3 !important;
  min-height: 34px !important;
  padding: 7px 9px !important;
  border-radius: 7px !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.25 !important;
}
.smart-customer-package-main > strong,
.smart-customer-package-main > p,
.smart-customer-package-main > em {
  grid-column: 2 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.smart-customer-package-main > strong {
  font-size: 16px !important;
  line-height: 1.25 !important;
}
.smart-customer-package-main > p,
.smart-customer-package-main > em {
  color: #5d6c65 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
}
.smart-customer-package-cost-grid {
  grid-column: 3 !important;
  grid-row: 1 / span 3 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 7px !important;
  min-height: 86px !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}
.smart-customer-package-cost-grid span,
.smart-customer-package-card .smart-customer-package-cost-grid span {
  display: grid !important;
  align-content: center !important;
  gap: 3px !important;
  min-height: 38px !important;
  height: auto !important;
  padding: 7px 9px !important;
  border: 1px solid #e3ebe6 !important;
  border-radius: 8px !important;
  background: rgba(255, 255, 255, .78) !important;
  white-space: normal !important;
  overflow: visible !important;
}
.smart-customer-package-cost-grid strong {
  font-size: 12px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
.smart-customer-package-actions {
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 168px !important;
}
.smart-customer-package-actions button {
  min-height: 40px !important;
  height: auto !important;
  padding: 7px 8px !important;
  border-radius: 8px !important;
  white-space: normal !important;
  line-height: 1.2 !important;
}
@media (max-width: 1180px) {
  .smart-customer-package-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-actions {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 760px) {
  .sidebar > .logo-lockup .logo-mark,
  .sidebar > .logo-lockup .logo-mark img {
    width: 118px !important;
    max-width: 118px !important;
  }
  .smart-customer-package-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-main > span,
  .smart-customer-package-main > strong,
  .smart-customer-package-main > p,
  .smart-customer-package-main > em,
  .smart-customer-package-cost-grid {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .smart-customer-package-cost-grid,
  .smart-customer-package-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    width: 100% !important;
  }
}
/* 2026-06-28 topbar readability lock.
   Keeps the page title visually separated from the app background. */
.main {
  background:
    linear-gradient(180deg, #eef5f1 0, #f7faf8 132px, #f7faf8 100%) !important;
}
.topbar {
  background-color: #ffffff !important;
  isolation: isolate !important;
  position: sticky !important;
  top: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) auto !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 72px !important;
  margin: 0 -24px 18px !important;
  padding: 12px 24px !important;
  border: 1px solid rgba(209, 225, 216, .92) !important;
  border-top: 0 !important;
  border-radius: 0 0 24px 24px !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(252, 255, 253, .96)) !important;
  box-shadow: 0 14px 34px rgba(20, 44, 34, .075) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
}
.topbar > div:first-of-type {
  display: grid !important;
  align-content: center !important;
  gap: 5px !important;
  min-width: 0 !important;
}
.topbar #pageKicker,
.topbar .eyebrow {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: 7px !important;
  min-width: 0 !important;
  max-width: min(780px, 100%) !important;
  color: #64746e !important;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
.topbar-breadcrumb-domain,
.topbar-breadcrumb-page {
  display: inline-flex !important;
  align-items: center !important;
  max-width: 180px !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.topbar-breadcrumb-domain {
  color: #047a49 !important;
  font-weight: 900 !important;
}
.topbar-breadcrumb-page {
  color: #233a31 !important;
  font-weight: 850 !important;
}
.topbar-breadcrumb-divider {
  color: #9aaaa3 !important;
  font-weight: 700 !important;
}
.topbar-breadcrumb-summary {
  display: none !important;
  min-width: 0 !important;
  max-width: min(420px, 42vw) !important;
  overflow: hidden !important;
  color: #697b74 !important;
  font-weight: 650 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.topbar h1,
.topbar-title strong {
  margin: 0 !important;
  max-width: min(760px, 100%) !important;
  overflow: hidden !important;
  color: #0d1713 !important;
  font-size: clamp(22px, 2vw, 28px) !important;
  font-weight: 920 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-overflow: ellipsis !important;
  text-wrap: balance !important;
  white-space: nowrap !important;
}
@media (max-width: 1180px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }
  .topbar-actions {
    justify-content: flex-start !important;
    width: 100% !important;
  }
}
@media (max-width: 1440px) {
  .topbar {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
  }
  .topbar-actions {
    justify-content: flex-start !important;
    width: 100% !important;
  }
}
@media (max-width: 760px) {
  .main {
    padding-inline: 12px !important;
  }
  .topbar {
    margin: 0 -12px 14px !important;
    padding: 10px 12px 12px !important;
    border-radius: 0 0 18px 18px !important;
  }
  .topbar h1,
  .topbar-title strong {
    font-size: 22px !important;
    white-space: normal !important;
  }
  .topbar #pageKicker,
  .topbar .eyebrow {
    flex-wrap: wrap !important;
    row-gap: 3px !important;
  }
.topbar-breadcrumb-summary {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}
.smart-explain-title .sc-packaged-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 22px !important;
  padding: 3px 7px !important;
  border: 1px solid #cfe2d7 !important;
  border-radius: 7px !important;
  background: #f4fbf7 !important;
  color: #087846 !important;
  font-size: 11px !important;
  font-weight: 850 !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
}
.smart-multi-filter-field {
  gap: 8px !important;
}
.smart-multi-filter-field > span {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 8px !important;
}
.field-optional-badge {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 18px !important;
  padding: 2px 6px !important;
  border-radius: 6px !important;
  background: #eef7f1 !important;
  color: #0f7a43 !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}
.smart-multi-filter-options {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.smart-multi-filter-options label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 30px !important;
  padding: 5px 8px !important;
  border: 1px solid #d8e7dd !important;
  border-radius: 7px !important;
  background: #fbfdfb !important;
  color: #244033 !important;
  cursor: pointer !important;
  transition: background 160ms ease, border-color 160ms ease, color 160ms ease !important;
}
.smart-multi-filter-options label:has(input:checked) {
  border-color: #0f8a55 !important;
  background: #edf8f1 !important;
  color: #075d38 !important;
}
.smart-multi-filter-options input {
  width: 14px !important;
  min-height: 14px !important;
  accent-color: #087a43 !important;
}
.smart-multi-filter-options b {
  font-size: 12px !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
  white-space: nowrap !important;
}
@media (max-width: 760px) {
  .smart-explain-title {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-explain-title strong,
  .smart-explain-title span,
  .smart-explain-title em,
  .smart-explain-title .sc-packaged-badge {
    justify-self: start !important;
    max-width: 100% !important;
  }
  .smart-multi-filter-options label {
    flex: 1 1 calc(50% - 6px) !important;
  }
  .smart-multi-filter-options b {
    white-space: normal !important;
  }
}
@media (max-width: 760px) {
  .smart-generator-workbook-head,
  .smart-manual-generator.has-result .smart-generator-workbook-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 10px !important;
  }
  .smart-generator-workbook-head > div,
  .smart-manual-generator.has-result .smart-generator-workbook-head > div {
    min-width: 0 !important;
    width: 100% !important;
  }
  .smart-generator-workbook-head h2,
  .smart-manual-generator.has-result .smart-generator-workbook-head h2 {
    max-width: 100% !important;
    font-size: 24px !important;
    line-height: 1.18 !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-wrap: pretty !important;
  }
  .smart-generator-workbook-head p,
  .smart-manual-generator.has-result .smart-generator-workbook-head p {
    max-width: 100% !important;
  }
  .smart-generator-workbook-status {
    min-width: 0 !important;
    width: 100% !important;
  }
}
@media (max-width: 760px) {
  .smart-generated-sheet-wrap,
  .smart-generated-sheet-wrap.readonly-workbook,
  .smart-week-table-wrap,
  .smart-review-week-table-wrap {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: auto !important;
    overscroll-behavior-x: contain !important;
    contain: layout paint !important;
  }
  .smart-generated-readonly-preview,
  .smart-generated-preview,
  .smart-generated-preview > *,
  .smart-manual-generator,
  .smart-manual-generator > *,
  .smart-generator-workbook,
  .smart-generator-workbook > * {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .smart-generated-readonly-preview,
  .smart-generated-preview,
  .smart-generated-evidence-panel,
  .smart-generator-result-pane {
    overflow-x: hidden !important;
    contain: layout paint !important;
  }
  #content strong,
  #content em,
  #content p,
  #content b,
  #content span {
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-wrap: anywhere !important;
  }
  .smart-generated-sheet-title {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .smart-generated-readonly-preview > .smart-generated-sheet-title {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .smart-generated-criteria-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
  }
  .smart-generated-criteria-grid span,
  .smart-generated-decision-card,
  .smart-generated-criteria {
    min-width: 0 !important;
    max-width: 100% !important;
  }
  .smart-generated-criteria-grid b,
  .smart-generated-criteria-grid em,
  .smart-generated-decision-card strong,
  .smart-generated-decision-card em {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
}
.context-subnav.menu-context-tabs .context-step-tabs {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)) !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}
.context-subnav.menu-context-tabs .context-step-tabs button {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
}
@media (max-width: 760px) {
  .context-subnav.menu-context-tabs .context-step-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
.package-menu-badge {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  padding: 2px 8px;
  border-radius: 999px;
  background: #edf7f1;
  color: #0b6b3f;
  border: 1px solid #cfe9d8;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
.smart-slot-block.package-mode {
  gap: 12px;
}
.smart-package-slot-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.smart-package-column {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #d7e8de;
  border-radius: 8px;
  background: #fbfdfb;
}
.smart-package-column header,
.smart-event-segment-panel header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
  min-width: 0;
}
.smart-package-column header b,
.smart-event-segment-panel header b {
  color: #073b2a;
  font-size: 14px;
  line-height: 1.3;
}
.smart-package-column header em,
.smart-event-segment-panel header em {
  color: #60766a;
  font-style: normal;
  font-size: 12px;
  white-space: nowrap;
}
.smart-package-slot {
  display: grid;
  grid-template-columns: minmax(54px, auto) minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-width: 0;
  padding: 8px 10px;
  border-radius: 7px;
  border: 1px solid #d9e6de;
  background: #fff;
  color: #123c2a;
  text-align: left;
}
.smart-package-slot span,
.smart-package-slot strong,
.smart-package-slot em {
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.35;
}
.smart-package-slot span {
  color: #0b6b3f;
  font-size: 12px;
  font-weight: 800;
}
.smart-package-slot strong {
  font-size: 13px;
}
.smart-package-slot em {
  color: #6d8076;
  font-size: 12px;
  font-style: normal;
  justify-self: end;
}
.smart-event-segment-panel {
  display: grid;
  gap: 12px;
  margin: 12px 0;
  padding: 12px;
  border: 1px solid #d7e8de;
  border-radius: 8px;
  background: #fbfdfb;
}
.smart-event-segment-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 10px;
}
.smart-event-segment-grid section {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  border: 1px solid #dce7e0;
  border-radius: 8px;
  background: #fff;
}
.smart-event-segment-grid section.night {
  background: #f7fbff;
  border-color: #d5e6f8;
}
.smart-event-segment-grid p {
  margin: 0;
  color: #587064;
  font-size: 12px;
  line-height: 1.45;
}
.smart-event-segment-grid section > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.smart-event-segment-grid section > div span {
  max-width: 100%;
  padding: 3px 7px;
  border-radius: 999px;
  background: #eef6f1;
  color: #24523c;
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.json-preview {
  max-height: 360px;
  overflow: auto;
  padding: 12px;
  border: 1px solid rgba(8, 72, 45, 0.12);
  border-radius: 8px;
  background: #f7faf8;
  color: #14342a;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .smart-package-slot {
    grid-template-columns: minmax(0, 1fr);
  }
  .smart-package-slot em {
    justify-self: start;
  }
}
/* 2026-06-28 customer menu cost cards readability lock.
   Cost, container and margin values must remain fully visible in compact cards. */
.smart-customer-package-main .smart-customer-package-cost-grid {
  grid-column: 1 / -1 !important;
  grid-row: auto !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin-top: 8px !important;
  overflow: visible !important;
}
.smart-customer-package-main .smart-customer-package-cost-grid span,
.smart-customer-package-card .smart-customer-package-main .smart-customer-package-cost-grid span {
  display: grid !important;
  grid-template-rows: auto minmax(18px, auto) !important;
  align-content: start !important;
  justify-items: start !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 56px !important;
  height: auto !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  border: 1px solid #dbe8e1 !important;
  border-radius: 8px !important;
  background: #fbfdfb !important;
  white-space: normal !important;
  overflow: visible !important;
}
.smart-customer-package-main .smart-customer-package-cost-grid b,
.smart-customer-package-main .smart-customer-package-cost-grid strong {
  display: block !important;
  max-width: 100% !important;
  min-width: 0 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}
.smart-customer-package-main .smart-customer-package-cost-grid b {
  color: #60746a !important;
  font-size: 11px !important;
  font-weight: 780 !important;
  line-height: 1.25 !important;
}
.smart-customer-package-main .smart-customer-package-cost-grid strong {
  color: #10231c !important;
  font-size: 12.5px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
}
@media (max-width: 760px) {
  .smart-customer-package-main .smart-customer-package-cost-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 420px) {
  .smart-customer-package-main .smart-customer-package-cost-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}
/* 2026-06-28 weekly A/B package selector.
   A/B meal mode is a core menu-making decision, not an advanced hidden filter. */
.smart-package-mode-field {
  gap: 8px !important;
}
.smart-package-mode-field > span {
  align-items: center !important;
}
.smart-package-mode-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  width: 100%;
  min-width: 0;
}
.smart-package-mode-picker label {
  display: grid;
  min-width: 0;
  cursor: pointer;
}
.smart-package-mode-picker input {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  opacity: 0;
  pointer-events: none;
}
.smart-package-mode-picker span {
  display: grid !important;
  gap: 3px !important;
  min-height: 58px;
  padding: 10px 11px;
  border: 1px solid #d7e7de;
  border-radius: 10px;
  background: #fbfdfb;
  color: #17362a;
  transition: border-color 0.18s ease, background 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}
.smart-package-mode-picker strong {
  color: #10261d;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.25;
}
.smart-package-mode-picker small {
  color: #65786e;
  font-size: 11px;
  font-weight: 760;
  line-height: 1.35;
}
.smart-package-mode-picker label:hover span {
  border-color: rgba(8, 122, 67, 0.32);
  background: #f5fbf7;
  box-shadow: 0 10px 24px rgba(8, 72, 45, 0.08);
  transform: translateY(-1px);
}
.smart-package-mode-picker input:focus-visible + span {
  outline: 3px solid rgba(8, 122, 67, 0.18);
  outline-offset: 2px;
}
.smart-package-mode-picker input:checked + span {
  border-color: rgba(8, 122, 67, 0.58);
  background: #eaf7ef;
  box-shadow: inset 0 0 0 1px rgba(8, 122, 67, 0.12), 0 12px 28px rgba(8, 72, 45, 0.10);
}
.smart-package-mode-picker input:checked + span strong {
  color: #087a43;
}
@media (max-width: 760px) {
  .smart-package-mode-picker {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* 2026-06-29 customer package card layout fix.
   These cards must never clip cost chips or let the next card cover them. */
.smart-customer-package-board .smart-customer-package-grid {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 14px !important;
  max-height: none !important;
  overflow: visible !important;
  padding: 2px !important;
}
.smart-customer-package-board .smart-customer-package-card {
  position: relative !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 176px !important;
  gap: 18px !important;
  align-items: stretch !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  contain: layout paint !important;
}
.smart-customer-package-board .smart-customer-package-hitarea {
  position: absolute !important;
  inset: 0 194px 0 0 !important;
  z-index: 1 !important;
  display: block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: inherit !important;
  background: transparent !important;
  cursor: pointer !important;
}
.smart-customer-package-board .smart-customer-package-hitarea:focus-visible {
  outline: 3px solid rgba(8, 122, 67, 0.28) !important;
  outline-offset: 2px !important;
}
.smart-customer-package-board .smart-customer-package-main {
  position: relative !important;
  z-index: 0 !important;
  display: grid !important;
  grid-template-columns: 92px minmax(0, 1fr) !important;
  grid-template-rows: auto auto auto auto !important;
  gap: 6px 14px !important;
  align-content: start !important;
  align-items: start !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  overflow: visible !important;
}
.smart-customer-package-board .smart-customer-package-main > span {
  grid-column: 1 !important;
  grid-row: 1 / span 4 !important;
  align-self: start !important;
  width: 92px !important;
  min-width: 0 !important;
  max-width: 92px !important;
  min-height: 38px !important;
  box-sizing: border-box !important;
}
.smart-customer-package-board .smart-customer-package-main > strong,
.smart-customer-package-board .smart-customer-package-main > p,
.smart-customer-package-board .smart-customer-package-main > em,
.smart-customer-package-board .smart-customer-package-main > .smart-customer-package-cost-grid {
  grid-column: 2 !important;
  grid-row: auto !important;
  min-width: 0 !important;
}
.smart-customer-package-board .smart-customer-package-main > strong {
  display: block !important;
  margin: 0 !important;
  color: #10231c !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.smart-customer-package-board .smart-customer-package-main > p,
.smart-customer-package-board .smart-customer-package-main > em {
  display: block !important;
  margin: 0 !important;
  max-width: 100% !important;
  color: #546960 !important;
  font-size: 12px !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.smart-customer-package-board .smart-customer-package-main > em {
  color: #243d32 !important;
  font-weight: 780 !important;
}
.smart-customer-package-board .smart-customer-package-cost-grid,
.smart-customer-package-board .smart-customer-package-main .smart-customer-package-cost-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(112px, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 6px 0 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}
.smart-customer-package-board .smart-customer-package-cost-grid span,
.smart-customer-package-board .smart-customer-package-main .smart-customer-package-cost-grid span {
  display: grid !important;
  grid-template-rows: auto auto !important;
  align-content: start !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 58px !important;
  height: auto !important;
  padding: 8px 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.smart-customer-package-board .smart-customer-package-cost-grid b,
.smart-customer-package-board .smart-customer-package-cost-grid strong {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  overflow-wrap: anywhere !important;
}
.smart-customer-package-board .smart-customer-package-cost-grid strong {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}
.smart-customer-package-board .smart-customer-package-actions {
  position: relative !important;
  z-index: 2 !important;
  align-self: stretch !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 176px !important;
  min-width: 0 !important;
  height: auto !important;
}
.smart-customer-package-board .smart-customer-package-actions button {
  min-width: 0 !important;
  min-height: 40px !important;
  height: auto !important;
  padding: 8px 10px !important;
  white-space: normal !important;
  line-height: 1.2 !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 1320px) {
  .smart-customer-package-board .smart-customer-package-cost-grid,
  .smart-customer-package-board .smart-customer-package-main .smart-customer-package-cost-grid {
    grid-template-columns: repeat(2, minmax(128px, 1fr)) !important;
  }
}
@media (max-width: 980px) {
  .smart-customer-package-board .smart-customer-package-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-board .smart-customer-package-actions {
    width: 100% !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .smart-customer-package-board .smart-customer-package-hitarea {
    inset: 0 0 58px 0 !important;
  }
}
@media (max-width: 620px) {
  .smart-customer-package-board .smart-customer-package-main {
    grid-template-columns: minmax(0, 1fr) !important;
  }
  .smart-customer-package-board .smart-customer-package-main > span,
  .smart-customer-package-board .smart-customer-package-main > strong,
  .smart-customer-package-board .smart-customer-package-main > p,
  .smart-customer-package-board .smart-customer-package-main > em,
  .smart-customer-package-board .smart-customer-package-main > .smart-customer-package-cost-grid {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: auto !important;
    max-width: 100% !important;
  }
  .smart-customer-package-board .smart-customer-package-actions,
  .smart-customer-package-board .smart-customer-package-cost-grid,
  .smart-customer-package-board .smart-customer-package-main .smart-customer-package-cost-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .smart-customer-package-board .smart-customer-package-hitarea {
    inset: 0 0 104px 0 !important;
  }
}
/* 2026-06-29 admin layout regression lock.
   Keep marketing/admin cards readable on phones without changing desktop density. */
@media (max-width: 640px) {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  html,
  body,
  #app,
  .admin-shell,
  .admin-main,
  .content,
  #content {
    max-width: 100vw !important;
    overflow-x: hidden !important;
  }
  .slash-hero-grid,
  .slash-welcome {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .slash-welcome {
    padding: 18px !important;
    overflow: hidden !important;
  }
  .slash-copy,
  .slash-welcome h2,
  .slash-welcome p,
  .slash-action-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
  }
  .slash-welcome h2 {
    font-size: clamp(20px, 6vw, 22px) !important;
    text-wrap: pretty;
  }
  .slash-action-row {
    flex-wrap: wrap !important;
  }
  .slash-illustration {
    min-height: 86px !important;
    opacity: .72;
    overflow: hidden !important;
  }
  .plate-orbit {
    right: 0 !important;
    top: -8px !important;
    transform: scale(.72);
    transform-origin: top right;
  }
  .panel-actions,
  .refined-action-rail,
  .table-actions,
  .actions {
    display: flex !important;
    flex-wrap: wrap !important;
    max-width: 100% !important;
    min-width: 0 !important;
    justify-content: flex-start !important;
    overflow: visible !important;
  }
  .panel-actions .primary-action,
  .panel-actions .ghost-action,
  .panel-actions .mini-action,
  .refined-action-rail .primary-action,
  .refined-action-rail .ghost-action,
  .refined-action-rail .mini-action,
  .table-actions .primary-action,
  .table-actions .ghost-action,
  .table-actions .mini-action,
  .actions .primary-action,
  .actions .ghost-action,
  .actions .mini-action {
    flex: 1 1 112px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }
  .table .primary-action,
  .table .ghost-action,
  .table .mini-action {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    line-height: 1.18 !important;
    overflow-wrap: anywhere !important;
  }
  .website-image-preview {
    grid-template-columns: 96px minmax(0, 1fr) !important;
  }
  .website-image-preview img {
    width: 96px !important;
    height: 72px !important;
    object-fit: contain !important;
  }
  .website-image-preview,
  .website-preview-card,
  .website-editor,
  .website-editor * {
    max-width: 100% !important;
    min-width: 0 !important;
  }
  .website-preview-card img,
  .wechat-preview-card img,
  img[src*="logo-transparent"],
  img[src*="meal-boxes"] {
    object-fit: contain !important;
  }
}
/* 2026-06-29 thermal box and label operations. */
.thermal-hero .refined-hero-copy p {
  max-width: 760px;
}
.thermal-flow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 14px 0 18px;
  padding: 12px 14px;
  border: 1px solid var(--line, #e5e7eb);
  border-radius: 8px;
  background: #fff;
  color: #334155;
  font-size: 13px;
}
.thermal-flow span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 6px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  font-weight: 700;
  white-space: nowrap;
}
.thermal-flow b {
  color: #94a3b8;
}
.thermal-template-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.thermal-template-card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #fff;
}
.thermal-template-card h3 {
  margin: 4px 0 6px;
  font-size: 15px;
  line-height: 1.25;
}
.thermal-template-card p {
  margin: 0;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}
.thermal-label-preview {
  width: 96px;
  min-height: 132px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px;
  border: 1px solid #0f172a;
  border-radius: 4px;
  background: #fff;
  color: #0f172a;
  box-shadow: 0 8px 24px rgb(15 23 42 / 10%);
  overflow: hidden;
}
.thermal-label-preview .thermal-label-brand {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
}
.thermal-label-preview strong {
  font-size: 14px;
  line-height: 1.1;
}
.thermal-label-preview span,
.thermal-label-preview p {
  margin: 0;
  font-size: 10px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.thermal-label-foot {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  border-top: 1px solid #cbd5e1;
  padding-top: 5px;
  font-size: 10px;
}
.thermal-label-foot b {
  display: inline-grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid #0f172a;
  font-size: 9px;
}
@media (max-width: 720px) {
  .thermal-flow {
    align-items: stretch;
  }
  .thermal-flow span {
    flex: 1 1 128px;
    justify-content: center;
    text-align: center;
    white-space: normal;
  }
  .thermal-flow b {
    display: none;
  }
  .thermal-template-card {
    grid-template-columns: minmax(0, 1fr);
  }
  .thermal-label-preview {
    width: 100%;
    min-height: 120px;
  }
}
.customer-special-service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid rgba(14, 116, 144, 0.2);
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fbfb 0%, #eef8f5 100%);
}
.customer-special-service-hero h3 {
  margin: 4px 0 8px;
  font-size: 22px;
  color: #102a24;
}
.customer-special-service-hero p {
  max-width: 900px;
  margin: 0;
  color: #51655f;
  line-height: 1.7;
}
.customer-special-service-status {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.special-service-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.special-service-card {
  display: grid;
  gap: 8px;
  min-height: 132px;
  padding: 14px;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  background: #ffffff;
}
.special-service-card span {
  color: #087a43;
  font-size: 12px;
  font-weight: 900;
}
.special-service-card strong {
  color: #102a24;
  font-size: 16px;
}
.special-service-card p {
  margin: 0;
  color: #5b6f69;
  line-height: 1.55;
}
.special-monitor-board {
  display: grid;
  gap: 14px;
}
.special-monitor-map-panel {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid #cfe2dc;
  border-radius: 8px;
  background: #ffffff;
}
.special-monitor-map-title {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.special-monitor-map-title strong {
  color: #102a24;
  font-size: 16px;
}
.special-monitor-map-title span {
  max-width: 58%;
  color: #52675f;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
  text-align: right;
}
.special-monitor-city-map {
  position: relative;
  min-height: 246px;
  overflow: hidden;
  border: 1px solid #d8e7e2;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(8, 122, 67, 0.07) 1px, transparent 1px),
    linear-gradient(0deg, rgba(8, 122, 67, 0.07) 1px, transparent 1px),
    linear-gradient(135deg, #eef8f3 0%, #f8fbf9 48%, #eaf4f0 100%);
  background-size: 34px 34px, 34px 34px, auto;
}
.map-road,
.map-route,
.map-point,
.map-zone,
.map-scale {
  position: absolute;
}
.map-road {
  border-radius: 999px;
  background: rgba(126, 148, 139, 0.38);
}
.road-a {
  left: -12%;
  top: 42%;
  width: 126%;
  height: 16px;
  transform: rotate(-9deg);
}
.road-b {
  left: 18%;
  top: -10%;
  width: 14px;
  height: 122%;
  transform: rotate(19deg);
}
.road-c {
  left: 4%;
  bottom: 18%;
  width: 92%;
  height: 10px;
  transform: rotate(12deg);
  background: rgba(126, 148, 139, 0.25);
}
.map-route {
  left: 17%;
  top: 58%;
  width: 64%;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(90deg, #087a43 0%, #17a663 48%, #bd7f06 100%);
  transform: rotate(-16deg);
  box-shadow: 0 0 0 4px rgba(8, 122, 67, 0.12);
}
.map-point {
  z-index: 2;
  padding: 6px 9px;
  border: 2px solid #ffffff;
  border-radius: 999px;
  box-shadow: 0 8px 20px rgba(16, 42, 36, 0.16);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}
.point-start {
  left: 11%;
  top: 61%;
  background: #e9f4ef;
  color: #315248;
}
.point-live {
  left: 48%;
  top: 42%;
  background: #087a43;
  color: #ffffff;
}
.point-live::after {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: -1;
  width: 42px;
  height: 42px;
  border: 2px solid rgba(8, 122, 67, 0.26);
  border-radius: 999px;
  content: "";
  transform: translate(-50%, -50%);
}
.point-end {
  right: 8%;
  top: 28%;
  background: #fff4d8;
  color: #7a4d00;
}
.map-zone {
  padding: 7px 9px;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.92);
  color: #20362f;
  font-size: 12px;
  font-weight: 900;
}
.zone-kitchen {
  left: 6%;
  bottom: 12%;
}
.zone-customer {
  right: 5%;
  top: 12%;
}
.map-scale {
  right: 12px;
  bottom: 10px;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(16, 42, 36, 0.78);
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
}
.special-monitor-map-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.special-monitor-map-summary span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 8px;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  background: #f8fbf9;
  color: #182d26;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.special-monitor-map-summary b {
  color: #7a8b85;
  font-size: 11px;
}
.special-monitor-grid {
  display: grid;
  gap: 12px;
}
.special-monitor-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d8e7e2;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffffff 0%, #f6fbf8 100%);
}
.special-monitor-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.special-monitor-head strong {
  display: block;
  color: #102a24;
  font-size: 18px;
}
.special-monitor-head span {
  display: block;
  margin-top: 2px;
  color: #60736d;
  font-size: 13px;
}
.special-monitor-head em {
  flex: 0 0 auto;
  padding: 4px 9px;
  border: 1px solid #bfe1d3;
  border-radius: 999px;
  background: #e8f7ef;
  color: #087a43;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}
.special-monitor-map {
  display: grid;
  grid-template-columns: auto minmax(32px, 1fr) auto minmax(32px, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid #dfeae5;
  border-radius: 8px;
  background: #eef7f3;
}
.special-monitor-line {
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #087a43 0%, #30a46c 100%);
}
.special-monitor-pin {
  min-width: 42px;
  padding: 5px 7px;
  border-radius: 999px;
  background: #ffffff;
  color: #315248;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
  box-shadow: 0 1px 0 rgba(16, 42, 36, 0.08);
}
.special-monitor-pin.live {
  background: #087a43;
  color: #ffffff;
}
.special-monitor-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}
.special-monitor-facts div {
  min-width: 0;
  padding: 8px;
  border: 1px solid #e1ebe7;
  border-radius: 8px;
  background: #ffffff;
}
.special-monitor-facts dt {
  margin: 0 0 3px;
  color: #7a8b85;
  font-size: 11px;
  font-weight: 900;
}
.special-monitor-facts dd {
  margin: 0;
  color: #162c25;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}
.special-monitor-card p {
  margin: 0;
  padding: 8px 10px;
  border-left: 3px solid #087a43;
  border-radius: 6px;
  background: #f0f8f4;
  color: #4c625b;
  font-size: 13px;
  line-height: 1.5;
}
.special-mobile-portal {
  display: grid;
  grid-template-columns: 170px 240px minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}
.special-mobile-qr {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  align-content: center;
  min-height: 220px;
  padding: 16px;
  border: 1px solid #d4e4de;
  border-radius: 8px;
  background:
    linear-gradient(90deg, #102a24 10px, transparent 10px) 0 0 / 24px 24px,
    linear-gradient(#102a24 10px, transparent 10px) 0 0 / 24px 24px,
    #ffffff;
}
.special-mobile-qr span {
  min-height: 54px;
  border: 7px solid #102a24;
  border-radius: 4px;
  background: #ffffff;
}
.special-mobile-qr b {
  grid-column: 1 / -1;
  padding: 8px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.92);
  color: #102a24;
  font-size: 12px;
  text-align: center;
}
.special-mobile-phone {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 8px solid #102a24;
  border-radius: 22px;
  background: #f6fbf8;
  box-shadow: 0 14px 30px rgba(16, 42, 36, 0.12);
}
.phone-top {
  padding: 10px;
  border-radius: 12px;
  background: #087a43;
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  text-align: center;
}
.phone-line {
  display: grid;
  gap: 4px;
  padding: 9px;
  border: 1px solid #dce8e4;
  border-radius: 10px;
  background: #ffffff;
}
.phone-line strong {
  color: #70837b;
  font-size: 11px;
}
.phone-line span {
  color: #102a24;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.45;
}
.special-mobile-copy {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 14px;
  border: 1px solid #dce8e4;
  border-radius: 8px;
  background: #ffffff;
}
.special-mobile-copy h4 {
  margin: 0;
  color: #102a24;
  font-size: 18px;
}
.special-mobile-copy p {
  margin: 0;
  color: #52675f;
  line-height: 1.6;
}
.special-mobile-copy dl {
  display: grid;
  gap: 8px;
  margin: 0;
}
.special-mobile-copy dl div {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 10px;
}
.special-mobile-copy dt {
  color: #7a8b85;
  font-size: 12px;
  font-weight: 900;
}
.special-mobile-copy dd {
  margin: 0;
  color: #1e332c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.5;
}
@media (max-width: 980px) {
  .customer-special-service-hero {
    grid-template-columns: 1fr;
  }
  .customer-special-service-status {
    justify-content: flex-start;
  }
  .special-service-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .special-monitor-facts {
    grid-template-columns: 1fr;
  }
  .special-mobile-portal {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 620px) {
  .special-service-grid {
    grid-template-columns: 1fr;
  }
}

/* Driver dispatch acceptance: keep topbar commands touch-safe without enlarging dense table actions. */
.topbar-actions > #refreshBtn.ghost-action,
.topbar-actions > #primaryBtn.primary-action,
.topbar-actions > #logoutBtn.ghost-action,
.topbar-actions > .primary-action,
.topbar-actions > .ghost-action {
  --control-height-md: 44px;
  height: 44px !important;
  min-height: 44px !important;
  max-height: 44px !important;
}
