:root {
  --yr-primary: #DF3716;
  --yr-primary-hover: #C92E10;
  --yr-primary-active: #B8270D;
  --yr-primary-soft: #FFF0E8;
  --yr-primary-subtle: #FFF7F2;
  --yr-brown: #322314;
  --yr-cream: #FFECDA;
  --yr-gold-gray: #C2AB8B;
  --yr-dark-red: #800000;
  --yr-orange: #FF7A32;
  --yr-bg: #F7F4EF;
  --yr-card: #FFFFFF;
  --yr-elevated: #FFFFFF;
  --yr-table-header: #FAF3EC;
  --yr-hover: #FFF7F0;
  --yr-border: #E8DDD0;
  --yr-border-light: #F0E6DA;
  --yr-text: #322314;
  --yr-text-body: #4A382B;
  --yr-text-secondary: #8A7565;
  --yr-text-tertiary: #B09A87;
  --yr-text-white: #FFFFFF;
  --yr-success: #2F855A;
  --yr-success-bg: #EDF8F1;
  --yr-warning: #D97706;
  --yr-warning-bg: #FFF6E6;
  --yr-error: #800000;
  --yr-error-bg: #FFF1F1;
  --yr-info: #FF7A32;
  --yr-info-bg: #FFF0E8;
  --yr-shadow-card: 0 12px 30px rgba(50, 35, 20, 0.06);
  --yr-shadow-lift: 0 18px 42px rgba(50, 35, 20, 0.09);
  --yr-radius-card: 12px;
  --yr-radius-control: 8px;
  --yr-font-family: "HONOR Sans CN", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
}

.app-loading-shell,
.app-runtime-error {
  padding: 24px;
  font-family: Arial, sans-serif;
  color: #172026;
}

.app-runtime-error {
  color: #991b1b;
}

body {
  font-family: var(--yr-font-family);
}


:root {
  --yr-ink: var(--yr-text);
  --yr-muted: var(--yr-text-secondary);
  --yr-accent: var(--yr-primary);
  --yr-accent-soft: var(--yr-primary-soft);
  --yr-sage: var(--yr-success);
  --yr-danger: var(--yr-error);
  --yr-surface: var(--yr-elevated);
  --yr-surface-muted: var(--yr-primary-subtle);
  --yr-shadow-soft: 0 14px 34px rgba(47, 38, 30, 0.06);
  --yr-shadow-lift: 0 18px 42px rgba(47, 38, 30, 0.1);
  --yr-control-height: 38px;
  --yr-row-height: 42px;
  --yr-red: var(--yr-primary);
  --yr-orange: var(--yr-info);
  --yr-cream: var(--yr-bg);
  --yr-cream-2: var(--yr-primary-subtle);
  --yr-warm-gray: var(--yr-gold-gray);
  --sidebar-width: clamp(168px, 10vw, 232px);
  color: var(--yr-text);
  background: var(--yr-cream);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Source Han Sans SC", "Noto Sans CJK SC", "Microsoft YaHei UI", sans-serif;
  line-height: 1.5;
}

.employee-monthly-basic-grid .system-generated,
.employee-monthly-result-grid .system-generated {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.employee-monthly-basic-grid .system-generated strong,
.employee-monthly-result-grid .system-generated strong {
  display: flex;
  min-height: 40px;
  align-items: center;
  box-sizing: border-box;
  border: 1px solid #e7ddd2;
  border-radius: 8px;
  padding: 0 11px;
  background: #f8f5f0;
  color: #30251f;
  overflow-wrap: anywhere;
}

.employee-monthly-basic-grid .system-generated small,
.employee-monthly-result-grid .system-generated small {
  color: #8a776b;
  font-size: 11px;
}

.employee-review-matrix-row.pending {
  background: #fffdf9;
}

/* Graphite analytics template: image-led material and scoped dark chart theme. */
.app-shell:has(.analytics-texture-template) .app-sidebar {
  border-color: rgba(216, 190, 154, 0.12);
  background: #0a0e0f;
  color: #e9e3da;
  box-shadow: 12px 0 34px rgba(0, 0, 0, 0.24);
}

.app-shell:has(.analytics-texture-template) .brand-logo {
  border: 1px solid rgba(216, 190, 154, 0.2);
  background: #171c1d;
  color: #e9e3da;
  box-shadow: none;
}

.app-shell:has(.analytics-texture-template) .brand-block strong,
.app-shell:has(.analytics-texture-template) .nav-section-title,
.app-shell:has(.analytics-texture-template) .operator-card strong {
  color: #e9e3da;
}

.app-shell:has(.analytics-texture-template) .brand-block span,
.app-shell:has(.analytics-texture-template) .operator-card span,
.app-shell:has(.analytics-texture-template) .operator-card small,
.app-shell:has(.analytics-texture-template) .nav-section-title i {
  color: #7f8986;
}

.app-shell:has(.analytics-texture-template) .nav-mode-badge,
.app-shell:has(.analytics-texture-template) .operator-card {
  border-color: rgba(216, 190, 154, 0.14);
  background: rgba(255, 255, 255, 0.025);
}

.app-shell:has(.analytics-texture-template) .nav-section-title:hover,
.app-shell:has(.analytics-texture-template) .nav-section-title.active {
  background: #b93e2c;
  color: #fff8f3;
  box-shadow: 0 10px 24px rgba(114, 28, 18, 0.24);
}

.workspace:has(.analytics-texture-template) {
  background: #080b0c;
}

.workspace:has(.analytics-texture-template) .workspace-header {
  border-color: rgba(216, 190, 154, 0.14);
  background: #0b0f10;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

.workspace:has(.analytics-texture-template) .page-title h1 {
  color: #f1ece4;
}

.workspace:has(.analytics-texture-template) .page-title .eyebrow,
.analytics-texture-template .eyebrow {
  color: #cf735d;
}

.workspace:has(.analytics-texture-template) .backend-status.online {
  border: 1px solid rgba(121, 153, 116, 0.22);
  background: rgba(85, 112, 83, 0.18);
  color: #a8bea0;
}

.workspace:has(.analytics-texture-template) .command-bar label,
.workspace:has(.analytics-texture-template) .command-bar label span {
  color: #8f9995;
}

.workspace:has(.analytics-texture-template) .command-bar select,
.workspace:has(.analytics-texture-template) .command-bar .ghost-btn {
  border-color: rgba(216, 190, 154, 0.18);
  background: #111617;
  color: #e0d9ce;
}

.visual-uplift-strong .workspace-body:has(.analytics-texture-template) {
  padding: 18px;
  background: #080b0c;
}

.analytics-texture-template {
  --analytics-bg: #090c0d;
  --analytics-panel: rgba(15, 19, 20, 0.94);
  --analytics-panel-raised: rgba(20, 24, 24, 0.94);
  --analytics-line: rgba(216, 190, 154, 0.15);
  --analytics-line-strong: rgba(216, 190, 154, 0.27);
  --analytics-text: #eee9e0;
  --analytics-muted: #8a9591;
  --analytics-dim: #626c69;
  --analytics-red: #d9573f;
  --analytics-amber: #c48a4d;
  --analytics-green: #7f9d6a;
  position: relative;
  isolation: isolate;
  width: min(100%, 1540px);
  margin: 0 auto;
  padding: 14px;
  border: 1px solid rgba(216, 190, 154, 0.13);
  border-radius: 14px;
  overflow: hidden;
  color: var(--analytics-text);
  background-color: var(--analytics-bg);
  background-image: url("/public/assets/design-preview/analytics-graphite-texture.webp");
  background-repeat: repeat;
  background-size: 720px 720px;
  background-blend-mode: normal;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 28px 70px rgba(0, 0, 0, 0.32);
}

.analytics-texture-template::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  pointer-events: none;
  opacity: 0.34;
  background-image: url("/assets/design-preview/analytics-graphite-texture.webp");
  background-size: 480px 480px;
  mix-blend-mode: soft-light;
}

.visual-uplift-strong .analytics-texture-template .module {
  border-color: var(--analytics-line);
  background-color: var(--analytics-panel);
  background-image: url("/assets/design-preview/analytics-graphite-texture.webp");
  background-repeat: repeat;
  background-size: 860px 860px;
  background-blend-mode: soft-light;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.035),
    0 18px 38px rgba(0, 0, 0, 0.2);
  backdrop-filter: blur(8px) saturate(0.88);
}

.visual-uplift-strong .analytics-texture-template .analytics-v2-hero {
  border-color: var(--analytics-line-strong);
  background: rgba(12, 16, 17, 0.95);
}

.analytics-texture-template .module-head {
  border-color: var(--analytics-line);
}

.analytics-texture-template h2,
.analytics-texture-template h3,
.analytics-texture-template strong,
.analytics-texture-template b {
  color: var(--analytics-text);
}

.analytics-texture-template .module-head p,
.analytics-texture-template p,
.analytics-texture-template small,
.analytics-texture-template span {
  color: var(--analytics-muted);
}

.analytics-texture-template .analytics-commandbar h2 {
  font-size: clamp(24px, 2vw, 32px);
  font-weight: 760;
  letter-spacing: 0.02em;
}

.analytics-texture-template .analytics-commandbar .module-head {
  padding-bottom: 12px;
  border-bottom: 1px solid var(--analytics-line);
}

.visual-uplift-strong .analytics-texture-template .ghost-btn {
  border-color: var(--analytics-line);
  background: rgba(255, 255, 255, 0.025);
  color: #c9c2b8;
  box-shadow: none;
}

.visual-uplift-strong .analytics-texture-template .solid-btn {
  border: 1px solid rgba(223, 87, 61, 0.42);
  background: #b93e2c;
  color: #fff8f3;
  box-shadow: 0 10px 24px rgba(114, 28, 18, 0.24);
}

.visual-uplift-strong .analytics-texture-template .ghost-btn:hover,
.visual-uplift-strong .analytics-texture-template .solid-btn:hover {
  border-color: rgba(222, 163, 108, 0.48);
  filter: brightness(1.08);
}

.analytics-texture-template .analytics-v2-brief {
  border-color: var(--analytics-line);
  background: rgba(203, 133, 71, 0.055);
}

.analytics-texture-template .analytics-v2-brief strong {
  color: #e8c49c;
}

.analytics-texture-template .analytics-v2-brief span {
  color: var(--analytics-dim);
}

.analytics-texture-template .analytics-mode-tabs {
  gap: 6px;
  padding: 5px;
  border: 1px solid var(--analytics-line);
  border-radius: 9px;
  background: rgba(4, 7, 8, 0.38);
}

.analytics-texture-template .analytics-mode-tabs button {
  min-height: 54px;
  border-color: transparent;
  border-radius: 6px;
  background: transparent;
  color: #c5beb4;
  box-shadow: none;
}

.analytics-texture-template .analytics-mode-tabs button:hover {
  border-color: var(--analytics-line);
  background: rgba(255, 255, 255, 0.025);
}

.analytics-texture-template .analytics-mode-tabs button.is-active {
  border-color: rgba(218, 100, 75, 0.36);
  background: rgba(173, 57, 38, 0.12);
  box-shadow: inset 0 -2px 0 var(--analytics-red);
}

.analytics-texture-template .analytics-mode-tabs button.is-active strong {
  color: #f0d8cb;
}

.analytics-texture-template .analytics-mode-tabs span {
  color: var(--analytics-dim);
}

.analytics-texture-template .analytics-executive-strip {
  gap: 8px;
}

.analytics-texture-template .analytics-executive-strip article {
  position: relative;
  min-height: 104px;
  grid-template-columns: auto 1fr;
  align-content: center;
  gap: 5px 10px;
  padding: 14px;
  border-color: var(--analytics-line);
  border-radius: 7px;
  overflow: hidden;
  background: rgba(19, 24, 24, 0.84);
}

.analytics-texture-template .analytics-executive-strip article::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 2px;
  background: var(--analytics-amber);
  opacity: 0.58;
}

.analytics-texture-template .analytics-executive-strip article.needs-action {
  border-color: rgba(217, 87, 63, 0.34);
  background: rgba(75, 27, 21, 0.24);
}

.analytics-texture-template .analytics-executive-strip article.needs-action::after {
  background: var(--analytics-red);
  opacity: 0.86;
}

.analytics-texture-template .analytics-metric-code {
  align-self: center;
  grid-row: 1 / span 3;
  width: 28px;
  color: #806c57;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.analytics-texture-template .analytics-metric-label {
  color: #a39b91;
  font-size: 12px;
  font-weight: 700;
}

.analytics-texture-template .analytics-executive-strip strong {
  color: #f2ede6;
  font-size: clamp(20px, 2vw, 28px);
  font-variant-numeric: tabular-nums;
}

.analytics-texture-template .analytics-executive-strip small {
  color: var(--analytics-dim);
}

.analytics-texture-template .analytics-store-list,
.analytics-texture-template .analytics-diagnosis-list,
.analytics-texture-template .analytics-reconcile-list,
.analytics-texture-template .analytics-latest-list,
.analytics-texture-template .analytics-playbook-steps,
.analytics-texture-template .analytics-daily-ledger,
.analytics-texture-template .analytics-exception-queue-list {
  gap: 6px;
}

.analytics-texture-template .analytics-store-list article,
.analytics-texture-template .analytics-diagnosis-list article,
.analytics-texture-template .analytics-reconcile-list article,
.analytics-texture-template .analytics-latest-list article,
.analytics-texture-template .analytics-playbook-steps article,
.analytics-texture-template .analytics-ledger-row,
.analytics-texture-template .analytics-exception-queue-list article,
.analytics-texture-template .analytics-ledger-section {
  border-color: var(--analytics-line);
  border-radius: 6px;
  background: rgba(13, 17, 18, 0.74);
}

.analytics-texture-template .analytics-store-list article:hover,
.analytics-texture-template .analytics-diagnosis-list article:hover,
.analytics-texture-template .analytics-latest-list article:hover {
  border-color: var(--analytics-line-strong);
  background: var(--analytics-panel-raised);
}

.analytics-texture-template .analytics-store-list em {
  border: 1px solid rgba(196, 138, 77, 0.25);
  background: rgba(196, 138, 77, 0.1);
  color: #d8af7f;
}

.analytics-texture-template .analytics-store-progress {
  height: 4px;
  background: #272e2d;
}

.analytics-texture-template .analytics-store-progress::-webkit-progress-bar {
  background: #272e2d;
}

.analytics-texture-template .analytics-store-progress::-webkit-progress-value,
.analytics-texture-template .analytics-store-progress::-moz-progress-bar {
  background: var(--analytics-amber);
  box-shadow: 0 0 12px rgba(196, 138, 77, 0.28);
}

.analytics-texture-template .analytics-store-list article > b {
  color: #e9dfd1;
  font-variant-numeric: tabular-nums;
}

.analytics-texture-template .analytics-store-list strong,
.analytics-texture-template .analytics-diagnosis-list strong,
.analytics-texture-template .analytics-reconcile-list strong,
.analytics-texture-template .analytics-latest-list strong,
.analytics-texture-template .analytics-playbook-steps strong,
.analytics-texture-template .analytics-ledger-row strong,
.analytics-texture-template .analytics-exception-queue-list strong {
  color: #e7e0d6;
}

.analytics-texture-template .analytics-store-list span,
.analytics-texture-template .analytics-diagnosis-list span,
.analytics-texture-template .analytics-diagnosis-list p,
.analytics-texture-template .analytics-reconcile-list span,
.analytics-texture-template .analytics-reconcile-list p,
.analytics-texture-template .analytics-latest-list span,
.analytics-texture-template .analytics-playbook-steps p,
.analytics-texture-template .analytics-ledger-row span,
.analytics-texture-template .analytics-ledger-row small,
.analytics-texture-template .analytics-exception-queue-list span,
.analytics-texture-template .analytics-exception-queue-list p {
  color: #858f8b;
}

.analytics-texture-template .analytics-diagnosis-list i {
  border: 1px solid rgba(217, 87, 63, 0.3);
  border-radius: 5px;
  background: rgba(217, 87, 63, 0.12);
  color: #e17962;
}

.analytics-texture-template .analytics-diagnosis-list article.needs-action,
.analytics-texture-template .analytics-exception-queue-list article.is-danger {
  border-color: rgba(217, 87, 63, 0.3);
  background: rgba(79, 28, 21, 0.2);
}

.analytics-texture-template .analytics-advice-list span,
.analytics-texture-template .empty-state {
  border: 1px solid var(--analytics-line);
  background: rgba(255, 255, 255, 0.02);
  color: var(--analytics-muted);
}

.analytics-texture-template .bars {
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--analytics-line);
  border-radius: 7px;
  background: rgba(5, 8, 9, 0.34);
}

.analytics-texture-template .bar-row span {
  color: #9ea6a2;
  font-size: 11px;
}

.analytics-texture-template .bar-row div,
.analytics-texture-template .bar-row-progress {
  height: 4px;
  overflow: visible;
  background: #28302e;
}

.analytics-texture-template .bar-row-progress::-webkit-progress-bar {
  background: #28302e;
}

.analytics-texture-template .bar-row-progress::-webkit-progress-value,
.analytics-texture-template .bar-row-progress::-moz-progress-bar {
  background: var(--analytics-amber);
  box-shadow: 0 0 14px rgba(196, 138, 77, 0.32);
}

.analytics-texture-template .bar-row strong,
.analytics-texture-template .analytics-latest-list em {
  color: #ded5c9;
  font-variant-numeric: tabular-nums;
}

.analytics-texture-template .analytics-ledger-head {
  border: 1px solid var(--analytics-line);
  background: rgba(196, 138, 77, 0.07);
  color: #9b9185;
}

.analytics-texture-template .analytics-ledger-row em {
  background: rgba(127, 157, 106, 0.12);
  color: #a6bd94;
}

.analytics-texture-template .analytics-playbook-steps article > span {
  border: 1px solid rgba(196, 138, 77, 0.28);
  background: rgba(196, 138, 77, 0.12);
  color: #d8ad79;
}

@media (max-width: 900px) {
  .visual-uplift-strong .workspace-body:has(.analytics-texture-template) {
    padding: 10px;
  }

  .analytics-texture-template {
    padding: 10px;
    border-radius: 10px;
  }

  .analytics-texture-template .analytics-executive-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .analytics-texture-template .analytics-cockpit-grid,
  .analytics-texture-template .analytics-cockpit-grid.is-exception-mode,
  .analytics-texture-template .analytics-ledger-split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .analytics-texture-template {
    padding: 8px;
    background-size: 520px 520px;
  }

  .analytics-texture-template .analytics-v2-brief {
    align-items: flex-start;
  }

  .analytics-texture-template .analytics-v2-brief span {
    white-space: normal;
  }

  .analytics-texture-template .analytics-mode-tabs {
    display: flex;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
  }

  .analytics-texture-template .analytics-mode-tabs button {
    min-width: 154px;
  }

  .analytics-texture-template .analytics-executive-strip,
  .analytics-texture-template .analytics-reconcile-list {
    grid-template-columns: 1fr;
  }

  .analytics-texture-template .analytics-store-list article {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .analytics-texture-template .bar-row {
    grid-template-columns: minmax(0, 1fr) 88px;
  }

  .analytics-texture-template .bar-row div {
    grid-column: 1 / -1;
    grid-row: 2;
  }
}

/* Operations command center V3: structural rebuild against the selected AIGC reference. */
.app-shell:has(.analytics-command-center-v3) .workspace-header {
  min-height: 66px;
  padding-block: 10px;
}

.app-shell:has(.analytics-command-center-v3) .workspace-body {
  padding: 12px;
}

.analytics-command-center-v3 {
  --v3-bg: #080c0e;
  --v3-panel: rgba(13, 20, 24, 0.94);
  --v3-panel-raised: rgba(17, 27, 32, 0.96);
  --v3-line: rgba(151, 179, 188, 0.16);
  --v3-line-strong: rgba(185, 206, 210, 0.27);
  --v3-text: #edf0ed;
  --v3-muted: #879397;
  --v3-dim: #58666a;
  --v3-red: #f04a2e;
  --v3-amber: #d18a37;
  --v3-green: #79a75e;
  width: min(100%, 1500px);
  padding: 0;
  border-color: var(--v3-line);
  border-radius: 10px;
  background-color: var(--v3-bg);
  background-image: url("/assets/design-preview/analytics-graphite-texture.webp");
  background-size: 760px 760px;
  color: var(--v3-text);
}

.analytics-command-center-v3 button {
  font: inherit;
}

.analytics-v3-topbar {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(200px, 0.72fr) minmax(340px, 1.15fr) auto;
  align-items: center;
  gap: 18px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--v3-line);
  background: rgba(7, 11, 13, 0.9);
}

.analytics-v3-title-block > span {
  display: block;
  margin-bottom: 3px;
  color: #c96450;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.17em;
}

.analytics-v3-title-block > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.analytics-v3-title-block h2 {
  margin: 0;
  color: var(--v3-text);
  font-size: 20px;
  letter-spacing: 0.02em;
}

.analytics-v3-title-block em {
  padding: 3px 7px;
  border: 1px solid rgba(121, 167, 94, 0.28);
  border-radius: 999px;
  color: #9ec58c;
  background: rgba(80, 118, 65, 0.14);
  font-size: 10px;
  font-style: normal;
}

.analytics-command-center-v3 .analytics-mode-tabs {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.analytics-command-center-v3 .analytics-mode-tabs button {
  min-height: 42px;
  padding: 5px 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  text-align: center;
}

.analytics-command-center-v3 .analytics-mode-tabs button strong {
  display: block;
  color: #aeb7b8;
  font-size: 12px;
}

.analytics-command-center-v3 .analytics-mode-tabs button span {
  display: block;
  color: var(--v3-dim);
  font-size: 9px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.analytics-command-center-v3 .analytics-mode-tabs button.is-active {
  border-color: var(--v3-red);
  background: rgba(240, 74, 46, 0.06);
  box-shadow: none;
}

.analytics-command-center-v3 .analytics-mode-tabs button.is-active strong {
  color: #ff6b52;
}

.analytics-v3-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
}

.analytics-v3-top-actions > span {
  color: var(--v3-dim);
  font-size: 10px;
  white-space: nowrap;
}

.analytics-v3-top-actions button,
.analytics-v3-section-head + button,
.analytics-v3-focus-panel > header button,
.analytics-v3-owner-card button,
.analytics-v3-rail header button,
.analytics-v3-risk-filter button,
.analytics-v3-quick-commands button,
.analytics-v3-dock button {
  min-height: 34px;
  border: 1px solid var(--v3-line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.025);
  color: #c9d0ce;
}

.analytics-v3-top-actions button {
  padding-inline: 11px;
}

.analytics-v3-top-actions button.is-primary,
.analytics-v3-owner-card button {
  border-color: rgba(240, 74, 46, 0.55);
  background: #d63f26;
  color: #fff;
}

.analytics-v3-layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 238px;
  align-items: stretch;
}

.analytics-v3-main {
  min-width: 0;
  padding: 12px;
}

.analytics-v3-signal-strip {
  min-width: 0;
  min-height: 102px;
  display: grid;
  grid-template-columns: minmax(240px, 1.05fr) minmax(400px, 2fr);
  border: 1px solid var(--v3-line);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(12, 20, 24, 0.88);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.analytics-v3-signal-chart {
  min-width: 0;
  padding: 10px 12px 7px;
  border-right: 1px solid var(--v3-line);
}

.analytics-v3-signal-chart header,
.analytics-v3-signal-chart footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.analytics-v3-signal-chart header strong {
  margin-right: auto;
  color: #cbd2d0;
  font-size: 11px;
}

.analytics-v3-signal-chart header span {
  color: var(--v3-dim);
  font-size: 8px;
}

.analytics-v3-signal-chart header span::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  margin-right: 4px;
  border-radius: 50%;
  background: var(--v3-red);
}

.analytics-v3-signal-chart header span:nth-child(3)::before { background: var(--v3-amber); }
.analytics-v3-signal-chart header span:nth-child(4)::before { background: var(--v3-green); }

.analytics-v3-signal-chart canvas {
  display: block;
  width: 100%;
  height: 50px;
}

.analytics-v3-signal-chart footer span {
  color: #455255;
  font-size: 8px;
}

.analytics-v3-signal-metrics {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.analytics-v3-signal-metrics article {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px;
  border-right: 1px solid var(--v3-line);
}

.analytics-v3-signal-metrics article:last-child { border-right: 0; }
.analytics-v3-signal-metrics article span { color: var(--v3-muted); font-size: 9px; }
.analytics-v3-signal-metrics article strong { margin: 3px 0; color: var(--v3-text); font-size: clamp(16px, 1.7vw, 24px); font-variant-numeric: tabular-nums; white-space: nowrap; }
.analytics-v3-signal-metrics article small { color: var(--v3-dim); font-size: 8px; }
.analytics-v3-signal-metrics article.is-risk strong { color: #f3664d; }

.analytics-v3-overview {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.analytics-v3-matrix,
.analytics-v3-focus-panel {
  min-width: 0;
  border: 1px solid var(--v3-line);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(12, 20, 24, 0.91);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.analytics-v3-section-head {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 9px 14px;
  border-bottom: 1px solid var(--v3-line);
}

.analytics-v3-section-head > div { display: flex; align-items: center; gap: 12px; }
.analytics-v3-section-head span { color: #d6dcda; font-size: 12px; font-weight: 800; }
.analytics-v3-section-head strong { color: var(--v3-dim); font-size: 9px; }
.analytics-v3-section-head small { color: var(--v3-dim); font-size: 9px; }

.analytics-v3-matrix-scroll {
  min-width: 0;
  overflow-x: auto;
}

.analytics-v3-matrix-head,
.analytics-v3-matrix-row {
  min-width: 760px;
  display: grid;
  grid-template-columns: 150px repeat(5, minmax(110px, 1fr));
}

.analytics-v3-matrix-head {
  min-height: 46px;
  align-items: center;
  border-bottom: 1px solid var(--v3-line);
  background: rgba(16, 27, 32, 0.72);
}

.analytics-v3-matrix-head > span {
  padding: 0 12px;
  border-right: 1px solid var(--v3-line);
  color: #aab4b5;
  font-size: 10px;
  font-weight: 800;
  text-align: center;
}

.analytics-v3-matrix-head > span:first-child { text-align: left; }

.analytics-v3-matrix-row {
  width: 100%;
  min-height: 72px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid var(--v3-line);
  border-radius: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}

.analytics-v3-matrix-row:last-child { border-bottom: 0; }
.analytics-v3-matrix-row:hover { background: rgba(255, 255, 255, 0.025); }
.analytics-v3-matrix-row.is-selected { background: rgba(240, 74, 46, 0.065); box-shadow: inset 3px 0 var(--v3-red); }

.analytics-v3-store-cell,
.analytics-v3-metric-cell {
  min-width: 0;
  display: flex;
  align-items: center;
  padding: 9px 12px;
  border-right: 1px solid var(--v3-line);
}

.analytics-v3-store-cell { gap: 9px; }
.analytics-v3-store-cell > em { flex: 0 0 20px; height: 20px; display: grid; place-items: center; border-radius: 4px; color: #ead2b0; background: rgba(209, 138, 55, 0.23); font-size: 10px; font-style: normal; }
.analytics-v3-store-cell > span { min-width: 0; display: grid; grid-template-columns: 1fr auto; gap: 2px 6px; }
.analytics-v3-store-cell strong { color: #e2e6e3; font-size: 11px; white-space: nowrap; }
.analytics-v3-store-cell small { color: var(--v3-dim); font-size: 8px; }
.analytics-v3-store-cell i { grid-row: 2; grid-column: 2; padding: 1px 4px; border-radius: 3px; color: var(--v3-green); background: rgba(121, 167, 94, 0.14); font-size: 8px; font-style: normal; white-space: nowrap; }
.analytics-v3-store-cell i.is-high { color: #ff7157; background: rgba(240, 74, 46, 0.13); }
.analytics-v3-store-cell i.is-medium { color: #dda45e; background: rgba(209, 138, 55, 0.13); }

.analytics-v3-metric-cell {
  position: relative;
  align-content: center;
  display: grid;
  grid-template-columns: 1fr;
  overflow: hidden;
}

.analytics-v3-metric-cell strong { position: relative; z-index: 1; color: #d9dfdd; font-size: 14px; font-variant-numeric: tabular-nums; }
.analytics-v3-metric-cell small { position: relative; z-index: 1; color: var(--v3-dim); font-size: 8px; }
.analytics-v3-metric-cell.is-risk strong { color: #ff684f; }
.analytics-v3-metric-cell canvas { position: absolute; right: 6px; bottom: 8px; width: 56%; height: 24px; opacity: 0.72; }

.analytics-v3-focus-panel > header {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--v3-line);
}

.analytics-v3-focus-panel > header > div { display: flex; align-items: center; gap: 9px; min-width: 0; }
.analytics-v3-focus-panel > header strong { color: #e4e8e5; font-size: 12px; }
.analytics-v3-focus-panel > header span { color: var(--v3-dim); font-size: 9px; }
.analytics-v3-focus-panel > header i { padding: 2px 6px; border: 1px solid rgba(240, 74, 46, 0.25); border-radius: 4px; color: #ff745c; background: rgba(240, 74, 46, 0.09); font-size: 8px; font-style: normal; }
.analytics-v3-focus-panel > header button { padding-inline: 10px; }

.analytics-v3-focus-grid {
  min-height: 254px;
  display: grid;
  grid-template-columns: 1.06fr 1.25fr 1.04fr 1.06fr;
  gap: 9px;
  padding: 10px;
}

.analytics-v3-focus-grid > article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--v3-line);
  border-radius: 7px;
  background: rgba(16, 25, 29, 0.82);
}

.analytics-v3-focus-grid > article > span,
.analytics-v3-pending-card > div span { color: #cdd4d2; font-size: 10px; font-weight: 800; }

.analytics-v3-impact-card dl { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin: 12px 0; }
.analytics-v3-impact-card dl > div { padding: 7px; border: 1px solid var(--v3-line); border-radius: 5px; }
.analytics-v3-impact-card dt { color: var(--v3-dim); font-size: 8px; }
.analytics-v3-impact-card dd { margin: 2px 0 0; color: #e8ece8; font-size: 13px; font-weight: 800; }
.analytics-v3-impact-card canvas { width: 100%; height: 82px; }
.analytics-v3-impact-card footer { display: flex; justify-content: space-between; color: var(--v3-dim); font-size: 8px; }
.analytics-v3-impact-card footer strong { color: #b1bbba; font-size: 8px; }

.analytics-v3-pending-card > div { display: flex; justify-content: space-between; }
.analytics-v3-pending-card > div small { color: var(--v3-dim); font-size: 8px; }
.analytics-v3-pending-card ul { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.analytics-v3-pending-card li { display: grid; grid-template-columns: 1fr auto; gap: 2px 8px; padding: 7px 9px; border: 1px solid var(--v3-line); border-radius: 5px; background: rgba(255, 255, 255, 0.018); }
.analytics-v3-pending-card li span { color: #bfc7c5; font-size: 9px; }
.analytics-v3-pending-card li strong { color: #ff674e; font-size: 11px; }
.analytics-v3-pending-card li small { color: var(--v3-dim); font-size: 8px; }

.analytics-v3-flow-card ol { display: grid; gap: 0; margin: 11px 0 0; padding: 0; list-style: none; }
.analytics-v3-flow-card li { position: relative; min-height: 46px; padding: 0 0 8px 24px; }
.analytics-v3-flow-card li::before { content: ""; position: absolute; left: 4px; top: 4px; width: 8px; height: 8px; border: 2px solid #435055; border-radius: 50%; background: #10191d; }
.analytics-v3-flow-card li::after { content: ""; position: absolute; left: 8px; top: 15px; bottom: 0; width: 1px; background: #344146; }
.analytics-v3-flow-card li:last-child::after { display: none; }
.analytics-v3-flow-card li.is-done::before { border-color: var(--v3-amber); background: var(--v3-amber); }
.analytics-v3-flow-card li.is-current::before { border-color: var(--v3-red); box-shadow: 0 0 8px rgba(240, 74, 46, 0.5); }
.analytics-v3-flow-card li strong { display: block; color: #bdc5c3; font-size: 9px; }
.analytics-v3-flow-card li small { color: var(--v3-dim); font-size: 8px; }

.analytics-v3-owner-card { display: flex; flex-direction: column; }
.analytics-v3-owner-card > div { margin: 12px 0 9px; padding: 9px; border: 1px solid var(--v3-line); border-radius: 5px; }
.analytics-v3-owner-card > div small { display: block; color: var(--v3-dim); font-size: 8px; }
.analytics-v3-owner-card > div strong { display: block; margin: 3px 0; color: #d8dedb; font-size: 11px; }
.analytics-v3-owner-card > div em { color: #b27859; font-size: 8px; font-style: normal; }
.analytics-v3-owner-card p { margin: 0 0 12px; color: var(--v3-muted); font-size: 9px; line-height: 1.55; }
.analytics-v3-owner-card button { width: 100%; margin-top: auto; }

.analytics-v3-rail {
  min-width: 0;
  padding: 12px;
  border-left: 1px solid var(--v3-line);
  background: rgba(12, 20, 24, 0.92);
}

.analytics-v3-rail > header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.analytics-v3-rail > header > div { display: flex; align-items: center; gap: 8px; }
.analytics-v3-rail > header span { color: #d4dad8; font-size: 12px; font-weight: 800; }
.analytics-v3-rail > header strong { min-width: 20px; height: 20px; display: grid; place-items: center; border-radius: 5px; background: var(--v3-red); color: #fff; font-size: 10px; }
.analytics-v3-rail > header button { min-height: 28px; padding-inline: 7px; color: var(--v3-muted); font-size: 9px; }

.analytics-v3-risk-filter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; margin: 10px 0; }
.analytics-v3-risk-filter button { min-height: 29px; padding: 0 5px; color: var(--v3-muted); font-size: 9px; }
.analytics-v3-risk-filter button.is-active { border-color: rgba(240, 74, 46, 0.42); color: #ff7258; background: rgba(240, 74, 46, 0.09); }

.analytics-v3-warning-list { display: grid; gap: 7px; }
.analytics-v3-warning-list article { padding: 9px; border: 1px solid var(--v3-line); border-radius: 6px; background: rgba(255, 255, 255, 0.018); }
.analytics-v3-warning-list article.is-high { border-color: rgba(240, 74, 46, 0.25); }
.analytics-v3-warning-list article > div { display: flex; justify-content: space-between; gap: 8px; }
.analytics-v3-warning-list article strong { color: #c9d0ce; font-size: 9px; }
.analytics-v3-warning-list article em { color: var(--v3-red); font-size: 8px; font-style: normal; }
.analytics-v3-warning-list article.is-medium em { color: var(--v3-amber); }
.analytics-v3-warning-list article p { margin: 5px 0; color: var(--v3-muted); font-size: 8px; line-height: 1.45; }
.analytics-v3-warning-list article > span { color: var(--v3-dim); font-size: 8px; }

.analytics-v3-quick-commands { display: grid; gap: 6px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--v3-line); }
.analytics-v3-quick-commands > span { color: var(--v3-dim); font-size: 9px; }
.analytics-v3-quick-commands button { min-height: 48px; display: grid; align-content: center; justify-items: start; padding: 7px 10px; text-align: left; }
.analytics-v3-quick-commands button:hover { border-color: rgba(209, 138, 55, 0.45); background: rgba(209, 138, 55, 0.09); }
.analytics-v3-quick-commands button strong { color: #d3d9d6; font-size: 10px; }
.analytics-v3-quick-commands button small { color: var(--v3-dim); font-size: 8px; }
.analytics-v3-quick-commands button.is-command { border-color: rgba(209, 138, 55, 0.32); background: rgba(209, 138, 55, 0.08); }

.analytics-command-center-v3.is-rail-collapsed .analytics-v3-layout { grid-template-columns: minmax(0, 1fr) 58px; }
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-rail { padding-inline: 8px; }
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-rail > header > div span,
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-rail > header button,
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-risk-filter,
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-warning-list,
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-quick-commands { display: none; }
.analytics-command-center-v3.is-rail-collapsed .analytics-v3-rail > header { justify-content: center; }

.analytics-v3-dock {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  border-top: 1px solid var(--v3-line);
  background: rgba(10, 17, 20, 0.97);
}

.analytics-v3-dock > span { margin-right: 4px; color: var(--v3-muted); font-size: 9px; white-space: nowrap; }
.analytics-v3-dock button { min-height: 36px; padding: 0 10px; white-space: nowrap; font-size: 9px; }
.analytics-v3-dock kbd { margin-right: 6px; padding: 2px 5px; border: 1px solid var(--v3-line); border-radius: 4px; color: #9fa9a8; background: rgba(255, 255, 255, 0.035); font: inherit; }
.analytics-v3-dock label { min-width: 180px; min-height: 36px; flex: 1; display: flex; align-items: center; justify-content: space-between; padding: 0 10px; border: 1px solid var(--v3-line); border-radius: 6px; color: var(--v3-dim); font-size: 9px; }
.analytics-v3-dock label kbd { margin: 0; }
.analytics-v3-dock em { color: #7f9f72; font-size: 8px; font-style: normal; white-space: nowrap; }

.analytics-command-center-v3 .analytics-cockpit-grid,
.analytics-command-center-v3 .analytics-drilldown-grid {
  margin-top: 12px;
}

@media (max-width: 1100px) {
  .analytics-v3-topbar { grid-template-columns: 180px 1fr; }
  .analytics-v3-top-actions { grid-column: 1 / -1; justify-content: flex-end; margin-top: -6px; }
  .analytics-v3-signal-strip { grid-template-columns: 220px minmax(390px, 1fr); }
  .analytics-v3-focus-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .analytics-v3-layout { grid-template-columns: 1fr; }
  .analytics-v3-rail { border-top: 1px solid var(--v3-line); border-left: 0; }
  .analytics-command-center-v3.is-rail-collapsed .analytics-v3-layout { grid-template-columns: 1fr; }
  .analytics-command-center-v3.is-rail-collapsed .analytics-v3-rail { display: none; }
  .analytics-v3-signal-strip { grid-template-columns: 1fr; }
  .analytics-v3-signal-chart { border-right: 0; border-bottom: 1px solid var(--v3-line); }
  .analytics-v3-dock { overflow-x: auto; }
  .analytics-v3-dock label { display: none; }
  .analytics-v3-dock em { margin-left: auto; }
}

@media (max-width: 640px) {
  .app-shell:has(.analytics-command-center-v3) .workspace-body { padding: 8px; }
  .analytics-command-center-v3 { border-radius: 8px; }
  .analytics-v3-topbar { display: grid; grid-template-columns: 1fr; gap: 8px; padding: 11px; }
  .analytics-v3-top-actions { grid-column: auto; justify-content: stretch; margin: 0; }
  .analytics-v3-top-actions > span { display: none; }
  .analytics-v3-top-actions button { flex: 1; }
  .analytics-command-center-v3 .analytics-mode-tabs { order: 3; }
  .analytics-command-center-v3 .analytics-mode-tabs button { min-width: 105px; }
  .analytics-command-center-v3 .analytics-mode-tabs button span { display: none; }
  .analytics-v3-main { padding: 8px; }
  .analytics-v3-signal-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .analytics-v3-signal-metrics article { min-height: 72px; border-bottom: 1px solid var(--v3-line); }
  .analytics-v3-signal-metrics article:last-child { grid-column: 1 / -1; }
  .analytics-v3-section-head small { display: none; }
  .analytics-v3-matrix-head,
  .analytics-v3-matrix-row { min-width: 790px; }
  .analytics-v3-focus-panel > header { align-items: flex-start; }
  .analytics-v3-focus-panel > header > div { display: grid; gap: 3px; }
  .analytics-v3-focus-grid { grid-template-columns: 1fr; }
  .analytics-v3-focus-grid > article { min-height: 190px; }
  .analytics-v3-rail { padding: 10px; }
  .analytics-v3-warning-list { grid-template-columns: 1fr; }
  .analytics-v3-quick-commands { grid-template-columns: 1fr 1fr; }
  .analytics-v3-quick-commands > span { grid-column: 1 / -1; }
  .analytics-v3-dock { padding: 8px; }
  .analytics-v3-dock > span,
  .analytics-v3-dock em { display: none; }
}

.source-ledger-page {
  display: grid;
  gap: 16px;
  max-width: none;
  padding: 28px 32px 42px;
}

.source-ledger-hero,
.source-ledger-filter,
.source-ledger-workspace > .module,
.source-ledger-usage > .module {
  border: 1px solid #eee4d8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(50, 35, 20, 0.05);
}

.source-ledger-summary,
.source-ledger-usage {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.source-ledger-head-actions,
.template-page-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.source-ledger-summary article {
  display: grid;
  gap: 4px;
  min-height: 88px;
  padding: 14px;
  border: 1px solid #f1e8dd;
  border-radius: 8px;
  background: #fffaf5;
}

.source-ledger-summary span,
.source-ledger-usage span,
.source-ledger-filter label span {
  color: #7a6a59;
  font-size: 12px;
  font-weight: 800;
}

.source-ledger-summary strong {
  color: var(--yr-ink);
  font-size: 18px;
}

.source-ledger-summary small,
.source-ledger-usage p {
  margin: 0;
  color: #66594b;
  font-size: 13px;
}

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

.source-ledger-usage .module {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
}

.source-ledger-filter {
  display: flex;
  gap: 16px;
  align-items: end;
  justify-content: space-between;
  padding: 16px;
}

.source-ledger-filter-fields {
  display: grid;
  grid-template-columns: 180px 160px minmax(220px, 1fr);
  gap: 12px;
  flex: 1;
}

.source-ledger-filter label,
.source-ledger-form label {
  display: grid;
  gap: 6px;
}

.source-ledger-filter select,
.source-ledger-filter input,
.source-ledger-form select,
.source-ledger-form input {
  min-height: 38px;
  border: 1px solid #e8ddd0;
  border-radius: 8px;
  background: #fffdf9;
  color: var(--yr-ink);
  padding: 0 12px;
}

.source-ledger-filter-result {
  display: grid;
  justify-items: end;
  min-width: 96px;
}

.source-ledger-filter-result strong {
  color: var(--yr-red);
  font-size: 20px;
}

.source-ledger-filter-result span {
  color: #7a6a59;
  font-size: 12px;
}

.source-ledger-workspace {
  display: grid;
  grid-template-columns: minmax(280px, 360px) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.source-ledger-editor,
.source-ledger-table-panel {
  min-width: 0;
  padding: 18px;
}

.source-ledger-form {
  display: grid;
  gap: 12px;
}

.source-ledger-form .wide {
  grid-column: 1 / -1;
}

.source-ledger-table {
  overflow-x: auto;
}

.source-ledger-head,
/* Obsidian operations system V4: faithful layout for the selected reference. */
.app-shell:has(.analytics-obsidian-v4) {
  display: block;
  min-height: 100vh;
  background: #030607;
}

.app-shell:has(.analytics-obsidian-v4) > .app-sidebar,
.app-shell:has(.analytics-obsidian-v4) > .workspace > .workspace-header {
  display: none;
}

.app-shell:has(.analytics-obsidian-v4) > .workspace,
.app-shell:has(.analytics-obsidian-v4) .workspace-body {
  width: 100%;
  min-height: 100vh;
  padding: 0;
  background: #030607;
}

.analytics-workspace.analytics-obsidian-v4 {
  --obsidian-red: #ef482c;
  --obsidian-amber: #cb812c;
  --obsidian-green: #79a650;
  --obsidian-text: #d7d4cf;
  --obsidian-muted: #777b7b;
  --obsidian-dim: #464c4d;
  --obsidian-line: rgba(148, 167, 168, 0.16);
  width: 100%;
  min-height: 100vh;
  display: block;
  gap: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: #030607;
  color: var(--obsidian-text);
  box-shadow: none;
}

.analytics-obsidian-v4 button {
  font: inherit;
}

.analytics-obsidian-topbar {
  height: 73px;
  display: grid;
  grid-template-columns: 265px minmax(540px, 1fr) 560px;
  align-items: center;
  gap: 12px;
  padding: 0 28px;
  border-bottom: 1px solid rgba(167, 183, 182, 0.11);
  background: rgba(1, 3, 4, 0.96);
}

.analytics-obsidian-brand {
  display: grid;
  gap: 2px;
}

.analytics-obsidian-brand strong {
  color: #d8d7d3;
  font-size: 18px;
  font-weight: 620;
  letter-spacing: 0.07em;
}

.analytics-obsidian-brand span {
  color: #686d6c;
  font-size: 9px;
  letter-spacing: 0.28em;
}

.analytics-obsidian-topbar nav {
  height: 100%;
  display: flex;
  align-items: stretch;
  gap: 18px;
}

.analytics-obsidian-topbar nav button {
  position: relative;
  min-width: 76px;
  min-height: 100%;
  padding: 0 10px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #858886;
  font-size: 13px;
}

.analytics-obsidian-topbar nav button:hover,
.analytics-obsidian-topbar nav button.is-active {
  color: #eeeae3;
}

.analytics-obsidian-topbar nav button.is-active::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 10px;
  left: 10px;
  height: 2px;
  background: var(--obsidian-red);
  box-shadow: 0 0 9px rgba(239, 72, 44, 0.7);
}

.analytics-obsidian-meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
}

.analytics-obsidian-meta span,
.analytics-obsidian-meta strong {
  color: #777b79;
  font-size: 10px;
  font-weight: 500;
  white-space: nowrap;
}

.analytics-obsidian-meta button {
  min-width: 160px;
  min-height: 34px;
  padding: 0 16px;
  border: 1px solid rgba(162, 180, 179, 0.18);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.015);
  color: #bbbcb8;
}

.analytics-obsidian-admin {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 9px;
  min-width: 150px;
  padding-left: 2px;
  border-left: 1px solid rgba(162, 180, 179, 0.12);
}

.analytics-obsidian-admin > i {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(203, 129, 44, 0.58);
  border-radius: 50%;
  color: #d2c4b5;
  font-size: 11px;
  font-style: normal;
}

.analytics-obsidian-admin > span { display: grid; gap: 2px; }
.analytics-obsidian-admin strong { color: #aaa9a4; font-size: 10px; }
.analytics-obsidian-admin small { color: #626765; font-size: 8px; white-space: nowrap; }

.analytics-obsidian-stage {
  height: 700px;
  display: grid;
  grid-template-columns: minmax(570px, 47.3%) minmax(390px, 33.4%) minmax(250px, 19.3%);
  border-bottom: 1px solid rgba(151, 170, 169, 0.12);
  background: #05090a;
}

.analytics-obsidian-topology {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border-right: 1px solid rgba(151, 170, 169, 0.08);
}

.analytics-obsidian-topology > header {
  position: absolute;
  z-index: 3;
  top: 17px;
  left: 28px;
  display: grid;
  gap: 2px;
}

.analytics-obsidian-topology > header strong {
  color: #dedbd4;
  font-size: 17px;
  font-weight: 580;
}

.analytics-obsidian-topology > header span {
  color: #707676;
  font-size: 9px;
  letter-spacing: 0.12em;
}

.analytics-obsidian-risk-summary {
  position: absolute;
  z-index: 3;
  top: 88px;
  left: 28px;
  width: 116px;
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid rgba(167, 181, 178, 0.13);
  border-radius: 7px;
  background: rgba(11, 16, 18, 0.86);
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.025);
}

.analytics-obsidian-risk-summary > span {
  color: #aaa9a5;
  font-size: 9px;
}

.analytics-obsidian-risk-summary b {
  display: flex;
  justify-content: space-between;
  padding: 3px 7px;
  border: 1px solid rgba(239, 72, 44, 0.2);
  border-radius: 4px;
  color: #bd5d48;
  background: rgba(239, 72, 44, 0.08);
  font-size: 8px;
}

.analytics-obsidian-risk-summary b:nth-of-type(2) { border-color: rgba(203, 129, 44, 0.25); color: #c28c4c; background: rgba(203, 129, 44, 0.08); }
.analytics-obsidian-risk-summary b:nth-of-type(3) { border-color: rgba(121, 166, 80, 0.25); color: #7fa761; background: rgba(121, 166, 80, 0.08); }
.analytics-obsidian-risk-summary em { font-style: normal; }

.analytics-obsidian-orbit {
  position: absolute;
  inset: 28px 4px 22px 8px;
}

.analytics-obsidian-orbit > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  filter: saturate(0.98) contrast(1.14) brightness(1.08);
  transform: scaleY(1.17);
  transform-origin: 50% 13%;
}

.analytics-obsidian-hub {
  position: absolute;
  top: 49.8%;
  left: 50%;
  width: 118px;
  height: 78px;
  display: grid;
  place-content: center;
  gap: 2px;
  transform: translate(-50%, -50%);
  text-align: center;
  pointer-events: none;
}

.analytics-obsidian-hub strong { color: #cfcbc4; font-size: 10px; }
.analytics-obsidian-hub span { color: #777b79; font-size: 8px; }
.analytics-obsidian-hub canvas { width: 84px; height: 24px; }

.analytics-obsidian-node {
  position: absolute;
  z-index: 4;
  width: 118px;
  min-height: 62px;
  display: grid;
  place-content: center;
  gap: 2px;
  padding: 4px 8px;
  border: 0;
  border-radius: 50%;
  background: rgba(4, 7, 8, 0.42);
  color: #c9c6c0;
  text-align: center;
  cursor: pointer;
}

.analytics-obsidian-node:hover,
.analytics-obsidian-node.is-selected { background: rgba(41, 17, 13, 0.34); }
.analytics-obsidian-node img { width: 18px; height: 18px; margin: 0 auto 1px; object-fit: contain; }
.analytics-obsidian-node.is-left img,
.analytics-obsidian-node.is-bottom img { filter: sepia(1) saturate(1.4) hue-rotate(348deg) brightness(1.12); }
.analytics-obsidian-node.is-right img { filter: sepia(1) saturate(1.25) hue-rotate(52deg) brightness(1.05); }
.analytics-obsidian-node strong { color: #e2ddd5; font-size: 10px; }
.analytics-obsidian-node span { color: #c4743f; font-size: 8px; }
.analytics-obsidian-node small { color: #777973; font-size: 7px; white-space: nowrap; }
.analytics-obsidian-node.is-top { top: 10.5%; left: 50%; transform: translateX(-50%); }
.analytics-obsidian-node.is-left { top: 49.5%; left: 9.5%; transform: translateY(-50%); }
.analytics-obsidian-node.is-right { top: 49.5%; right: 7.5%; transform: translateY(-50%); }
.analytics-obsidian-node.is-bottom { bottom: 12%; left: 50%; transform: translateX(-50%); }

.analytics-obsidian-heat {
  position: absolute;
  z-index: 3;
  bottom: 107px;
  left: 26px;
  width: 118px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}

.analytics-obsidian-heat span,
.analytics-obsidian-heat small { grid-column: 1 / -1; color: #6c7271; font-size: 8px; }
.analytics-obsidian-heat i { height: 3px; background: var(--obsidian-red); box-shadow: 0 0 7px rgba(239, 72, 44, 0.55); }
.analytics-obsidian-heat i:nth-of-type(2) { background: var(--obsidian-amber); box-shadow: none; }
.analytics-obsidian-heat i:nth-of-type(3) { background: var(--obsidian-green); box-shadow: none; }

.analytics-obsidian-focus {
  position: relative;
  z-index: 2;
  isolation: isolate;
  min-width: 0;
  margin: 24px 13px 20px 18px;
  padding: 25px 60px 22px 33px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.analytics-obsidian-focus::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 18px -1px 0 -70px;
  background: url("/public/assets/design-preview/analytics-obsidian-focus-frame.png?v=obsidian-2") center / 100% 100% no-repeat;
  pointer-events: none;
}

.analytics-obsidian-focus > header {
  display: block;
  padding: 0;
  border: 0;
}

.analytics-obsidian-focus > header span { color: #a47a68; font-size: 9px; letter-spacing: 0.05em; }

.analytics-obsidian-alert {
  min-height: 36px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding: 0 13px;
  border-top: 1px solid rgba(239, 72, 44, 0.2);
  border-bottom: 1px solid rgba(239, 72, 44, 0.12);
  background: linear-gradient(90deg, rgba(128, 36, 22, 0.66), rgba(36, 17, 14, 0.12));
}

.analytics-obsidian-alert strong { color: #e3c0af; font-size: 12px; }
.analytics-obsidian-alert em { padding: 3px 8px; border: 1px solid rgba(239, 72, 44, 0.28); border-radius: 999px; color: #eb5b42; font-size: 9px; font-style: normal; }

.analytics-obsidian-focus-meta {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px 18px;
  padding: 12px 0 48px;
}
.analytics-obsidian-focus-meta span { display: grid; grid-template-columns: 72px auto 1fr; align-items: center; gap: 7px; color: #6f7674; font-size: 8px; }
.analytics-obsidian-focus-meta span:first-child { grid-column: 1 / -1; }
.analytics-obsidian-focus-meta small { color: #6b716f; font-size: 8px; }
.analytics-obsidian-focus-meta strong { color: #bc6b50; font-size: 10px; }
.analytics-obsidian-focus-meta em { color: #777c79; font-size: 8px; font-style: normal; }

.analytics-obsidian-impact,
.analytics-obsidian-evidence,
.analytics-obsidian-owner {
  margin-top: 8px;
  padding: 11px;
  border: 1px solid rgba(153, 171, 170, 0.13);
  border-radius: 7px;
  background: rgba(17, 24, 27, 0.74);
}

.analytics-obsidian-focus h3 { margin: 0; color: #c7c5c0; font-size: 10px; font-weight: 700; }
.analytics-obsidian-impact > div { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 8px; }
.analytics-obsidian-impact > div > span { display: grid; gap: 2px; padding: 2px 9px; border-right: 1px solid rgba(154, 172, 171, 0.11); color: #777e7c; font-size: 8px; }
.analytics-obsidian-impact > div > span:last-child { border-right: 0; }
.analytics-obsidian-impact strong { color: #e1dbd3; font-size: 18px; font-weight: 520; }
.analytics-obsidian-impact small { color: #666d6b; font-size: 8px; }

.analytics-obsidian-evidence h3 small { color: #656b6a; font-weight: 400; }
.analytics-obsidian-evidence { padding: 8px; }
.analytics-obsidian-evidence > div { margin-top: 7px; }
.analytics-obsidian-evidence p { display: grid; grid-template-columns: 1fr 55px 12px 1fr; gap: 5px; margin: 0; padding: 3px 8px; background: rgba(255, 255, 255, 0.012); color: #7b817e; font-size: 8px; }
.analytics-obsidian-evidence p strong { color: #a7aaa6; font-size: 9px; }
.analytics-obsidian-evidence p i { color: #777c7a; font-style: normal; }
.analytics-obsidian-evidence p em { color: #777c79; font-style: normal; }
.analytics-obsidian-evidence > button { width: 100%; min-height: 24px; margin-top: 5px; border: 1px solid rgba(151, 170, 169, 0.13); border-radius: 5px; background: rgba(255, 255, 255, 0.015); color: #a3a5a1; font-size: 9px; }

.analytics-obsidian-owner { min-height: 120px; display: grid; grid-template-columns: 1fr 1.3fr; gap: 0; }
.analytics-obsidian-owner > div { padding: 0 9px; border-right: 1px solid rgba(151, 170, 169, 0.11); }
.analytics-obsidian-owner > div:last-child { border-right: 0; }
.analytics-obsidian-owner p { margin: 5px 0; color: #808582; font-size: 8px; line-height: 1.45; }
.analytics-obsidian-owner button { width: 100%; min-height: 34px; margin-top: 7px; border: 1px solid rgba(239, 72, 44, 0.48); border-radius: 5px; background: #d43e25; color: #fff5ef; font-size: 10px; }

.analytics-obsidian-focus > footer { display: grid; gap: 6px; margin-top: 15px; }
.analytics-obsidian-focus > footer > span { color: #808582; font-size: 9px; }
.analytics-obsidian-focus > footer ol { display: grid; grid-template-columns: repeat(4, 1fr); gap: 7px; margin: 0; padding: 0; list-style: none; }
.analytics-obsidian-focus > footer li { position: relative; padding: 4px 7px; border: 1px solid rgba(151, 170, 169, 0.12); border-radius: 999px; color: #6d7471; font-size: 8px; text-align: center; }
.analytics-obsidian-focus > footer li.is-current { border-color: rgba(239, 72, 44, 0.35); color: #e85b42; background: rgba(239, 72, 44, 0.07); }

.analytics-obsidian-timeline {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr auto;
  margin: 24px 12px 20px 0;
  padding: 13px;
  border: 1px solid rgba(157, 175, 174, 0.14);
  border-radius: 9px;
  background: rgba(10, 16, 19, 0.93);
}

.analytics-obsidian-timeline > header { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.analytics-obsidian-timeline > header strong { color: #cccbc6; font-size: 11px; }
.analytics-obsidian-timeline > header button { min-height: 26px; padding: 0 9px; border: 1px solid rgba(151, 170, 169, 0.13); border-radius: 999px; background: transparent; color: #777d7b; font-size: 7px; }
.analytics-obsidian-timeline > div { display: grid; align-content: start; gap: 0; margin-top: 10px; }
.analytics-obsidian-timeline > div > button { position: relative; min-height: 78px; display: grid; grid-template-columns: 42px 1fr; gap: 6px; padding: 5px 4px 5px 12px; border: 0; border-left: 1px solid #434b4b; border-radius: 0; background: transparent; text-align: left; }
.analytics-obsidian-timeline > div > button::before { content: ""; position: absolute; left: -4px; top: 14px; width: 7px; height: 7px; border: 1px solid #a8663b; border-radius: 50%; background: #cf7828; }
.analytics-obsidian-timeline > div > button.is-high::before { border-color: #e3492d; background: #e3492d; }
.analytics-obsidian-timeline > div > button.is-low::before { border-color: #76a24f; background: #76a24f; }
.analytics-obsidian-timeline > div > button.is-active { background: rgba(239, 72, 44, 0.035); }
.analytics-obsidian-timeline time { color: #747b78; font-size: 9px; }
.analytics-obsidian-timeline > div > button > span { display: grid; align-content: start; gap: 3px; }
.analytics-obsidian-timeline em { width: max-content; padding: 1px 5px; border-radius: 3px; color: #c07d3d; background: rgba(203, 129, 44, 0.1); font-size: 7px; font-style: normal; }
.analytics-obsidian-timeline .is-high em { color: #e75b42; background: rgba(239, 72, 44, 0.1); }
.analytics-obsidian-timeline strong { color: #d0cec8; font-size: 10px; font-weight: 600; }
.analytics-obsidian-timeline small { max-height: 30px; overflow: hidden; color: #707674; font-size: 8px; line-height: 1.45; }
.analytics-obsidian-timeline > footer { color: #717775; font-size: 8px; text-align: center; }

.analytics-obsidian-taskdock {
  height: 188px;
  display: grid;
  grid-template-columns: 207px 150px minmax(0, 1fr);
  grid-template-rows: 126px;
  align-content: center;
  gap: 10px;
  padding: 14px 26px;
  border-top: 1px solid rgba(164, 180, 177, 0.11);
  border-bottom: 1px solid rgba(164, 180, 177, 0.1);
  background: rgba(6, 10, 12, 0.95);
  overflow: hidden;
}

.analytics-obsidian-report-orb,
.analytics-obsidian-alltasks {
  border: 1px solid rgba(169, 183, 179, 0.18);
  background-color: rgba(13, 18, 20, 0.9);
  color: #d1cec8;
}

.analytics-obsidian-report-orb {
  width: 204px;
  height: 204px;
  place-self: center;
  display: grid;
  place-content: center;
  gap: 3px;
  border-radius: 50%;
  background-image: url("/public/assets/design-preview/analytics-obsidian-orbit.png");
  background-size: 220%;
  background-position: center;
  box-shadow: inset 0 0 28px rgba(239, 72, 44, 0.14), 0 0 28px rgba(0, 0, 0, 0.5);
  transform: translate(-26px, -24px);
}
.analytics-obsidian-report-orb strong { color: #e0d9d1; font-size: 14px; }
.analytics-obsidian-report-orb span { color: #7a7773; font-size: 8px; }

.analytics-obsidian-alltasks {
  display: grid;
  place-content: center start;
  gap: 5px;
  padding: 20px;
  border-radius: 8px;
  text-align: left;
  transform: translateY(-5px);
}
.analytics-obsidian-alltasks strong { font-size: 15px; }
.analytics-obsidian-alltasks span { color: #817e78; font-size: 9px; }

.analytics-obsidian-taskrail {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(150px, 1fr));
  gap: 10px;
  margin-left: 34px;
  transform: translateY(-5px);
  overflow-x: auto;
}
.analytics-obsidian-taskrail button { min-width: 0; display: grid; align-content: start; gap: 6px; padding: 14px; border: 1px solid rgba(164, 180, 177, 0.14); border-radius: 7px; background: rgba(26, 24, 18, 0.74); text-align: left; }
.analytics-obsidian-taskrail em { width: max-content; padding: 2px 5px; border-radius: 3px; color: #e65a42; background: rgba(239, 72, 44, 0.1); font-size: 7px; font-style: normal; }
.analytics-obsidian-taskrail strong { color: #d7d2ca; font-size: 11px; }
.analytics-obsidian-taskrail small { min-height: 34px; max-height: 34px; overflow: hidden; color: #77756f; font-size: 8px; line-height: 1.5; }
.analytics-obsidian-taskrail span { margin-top: auto; padding-top: 8px; border-top: 1px solid rgba(203, 129, 44, 0.22); color: #c98b42; font-size: 9px; }

.analytics-obsidian-commandbar {
  position: relative;
  height: 70px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 20px;
  padding: 0 28px;
  background: rgba(2, 5, 6, 0.98);
}
.analytics-obsidian-commandbar label { position: absolute; left: 50%; width: min(520px, 60vw); min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 18px; transform: translateX(-50%); border: 1px solid rgba(167, 183, 180, 0.24); border-radius: 999px; background: rgba(255, 255, 255, 0.018); color: #707674; font-size: 9px; }
.analytics-obsidian-commandbar p { grid-column: 2; justify-self: end; }
.analytics-obsidian-commandbar kbd { color: #8a8d89; font: inherit; }
.analytics-obsidian-commandbar p { display: flex; gap: 28px; margin: 0; color: #6c726f; font-size: 8px; }
.analytics-obsidian-commandbar p span::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: var(--obsidian-green); box-shadow: 0 0 7px rgba(121, 166, 80, 0.5); }

.analytics-obsidian-ledger { display: grid; grid-template-rows: auto 1fr auto; }
.analytics-obsidian-ledger-list { display: grid; align-content: start; gap: 5px; margin-top: 10px; overflow: auto; }
.analytics-obsidian-ledger-list article { display: grid; grid-template-columns: 64px 1fr 86px; gap: 4px 8px; padding: 8px; border: 1px solid rgba(151, 170, 169, 0.11); border-radius: 5px; }
.analytics-obsidian-ledger-list time,
.analytics-obsidian-ledger-list small { color: #686f6d; font-size: 7px; }
.analytics-obsidian-ledger-list strong { color: #bfc1bd; font-size: 9px; }
.analytics-obsidian-ledger-list span { color: #c9c6bf; font-size: 9px; text-align: right; }
.analytics-obsidian-ledger-list em { color: #7d9f68; font-size: 7px; font-style: normal; }
.analytics-obsidian-ledger-action { min-height: 36px; border: 1px solid rgba(239, 72, 44, 0.35); border-radius: 5px; background: rgba(239, 72, 44, 0.1); color: #e66750; }

@media (max-width: 1100px) {
  .analytics-obsidian-topbar { grid-template-columns: 220px 1fr auto; padding-inline: 16px; }
  .analytics-obsidian-topbar nav { gap: 4px; }
  .analytics-obsidian-topbar nav button { min-width: 64px; padding-inline: 5px; }
  .analytics-obsidian-meta span { display: none; }
  .analytics-obsidian-stage { height: auto; min-height: 700px; grid-template-columns: 1fr 1fr; }
  .analytics-obsidian-topology { min-height: 650px; }
  .analytics-obsidian-timeline { grid-column: 1 / -1; min-height: 360px; margin: 0 16px 16px; }
  .analytics-obsidian-timeline > div { grid-template-columns: repeat(3, 1fr); gap: 8px; }
  .analytics-obsidian-timeline > div > button { border: 1px solid rgba(151, 170, 169, 0.11); border-radius: 6px; }
  .analytics-obsidian-taskdock { grid-template-columns: 150px 150px minmax(0, 1fr); }
  .analytics-obsidian-report-orb { width: 140px; height: 140px; }
  .analytics-obsidian-taskrail { grid-template-columns: repeat(5, 170px); }
}

@media (max-width: 720px) {
  .analytics-obsidian-topbar { height: auto; min-height: 162px; grid-template-columns: 1fr; gap: 8px; padding: 12px; }
  .analytics-obsidian-brand strong { font-size: 15px; white-space: nowrap; }
  .analytics-obsidian-meta { grid-row: 2; width: 100%; justify-content: flex-start; }
  .analytics-obsidian-meta button { min-width: 160px; }
  .analytics-obsidian-admin { min-width: 34px; border-left: 0; }
  .analytics-obsidian-admin > span { display: none; }
  .analytics-obsidian-topbar nav { grid-column: 1 / -1; order: 3; height: 42px; overflow-x: auto; }
  .analytics-obsidian-topbar nav button { min-width: 72px; }
  .analytics-obsidian-meta button { padding-inline: 10px; }
  .analytics-obsidian-meta strong { display: none; }
  .analytics-obsidian-stage { display: grid; grid-template-columns: 1fr; }
  .analytics-obsidian-topology { min-height: 560px; border-right: 0; }
  .analytics-obsidian-risk-summary { top: 76px; left: 14px; }
  .analytics-obsidian-orbit { inset: 58px -70px 0 -70px; }
  .analytics-obsidian-node { width: 100px; }
  .analytics-obsidian-node.is-left { left: 2%; }
  .analytics-obsidian-node.is-right { right: 2%; }
  .analytics-obsidian-heat { left: 14px; bottom: 12px; }
  .analytics-obsidian-focus { min-height: 650px; margin: 8px; }
  .analytics-obsidian-impact > div { grid-template-columns: 1fr; gap: 6px; }
  .analytics-obsidian-impact > div > span { border-right: 0; border-bottom: 1px solid rgba(151, 170, 169, 0.11); }
  .analytics-obsidian-owner { grid-template-columns: 1fr; }
  .analytics-obsidian-owner > div { padding: 8px 0; border-right: 0; border-bottom: 1px solid rgba(151, 170, 169, 0.11); }
  .analytics-obsidian-timeline { min-height: 540px; margin: 8px; }
  .analytics-obsidian-timeline > div { grid-template-columns: 1fr; }
  .analytics-obsidian-taskdock { height: auto; grid-template-columns: 1fr 1fr; padding: 12px; }
  .analytics-obsidian-report-orb { width: 150px; height: 150px; }
  .analytics-obsidian-taskrail { grid-column: 1 / -1; grid-template-columns: repeat(5, 180px); min-height: 150px; }
  .analytics-obsidian-commandbar { height: 74px; grid-template-columns: 1fr; padding: 10px 12px; }
  .analytics-obsidian-commandbar label { width: 100%; }
  .analytics-obsidian-commandbar p { display: none; }
}

.source-ledger-row {
  display: grid;
  grid-template-columns: 140px repeat(6, minmax(118px, 1fr)) 108px 190px;
  gap: 10px;
  align-items: center;
  min-width: 1120px;
  padding: 0 12px;
}

.source-ledger-head {
  min-height: 42px;
  border-radius: 8px;
  background: #f7f1e9;
  color: #7a6a59;
  font-size: 12px;
  font-weight: 900;
}

.source-ledger-row {
  min-height: 68px;
  border-bottom: 1px solid #f1e8dd;
}

.source-ledger-row.warn,
.source-ledger-row.warning {
  background: #fffaf2;
}

.source-ledger-row.danger {
  background: #fff5f1;
}

.source-ledger-row div:first-child,
.source-ledger-row span {
  min-width: 0;
}

.source-ledger-row strong,
.source-ledger-row span:not(.status-pill) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.source-ledger-row small {
  display: block;
  color: #8b7a68;
  font-size: 12px;
}

.source-ledger-row .table-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.source-ledger-row .solid-btn,
.source-ledger-row .ghost-btn {
  min-height: 32px;
  padding: 0 10px;
  white-space: nowrap;
}

.production-duration-page,
.inspection-console-page {
  display: grid;
  gap: 16px;
  max-width: none;
  padding: 28px 32px 42px;
}

.production-duration-hero,
.inspection-console-hero,
.production-duration-layout > .module,
.production-duration-side > .module,
.inspection-console-layout > .module,
.inspection-console-side > .module {
  border: 1px solid #eee4d8;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(50, 35, 20, 0.05);
}

.production-duration-kpis,
.inspection-score-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.inspection-score-board {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.production-duration-kpis article,
.inspection-score-board article {
  display: grid;
  gap: 4px;
  min-height: 86px;
  align-content: center;
  border: 1px solid #f1e8dd;
  border-radius: 8px;
  padding: 14px;
  background: #fffaf5;
}

.inspection-score-board article.warn {
  border-color: rgba(223, 55, 22, 0.18);
  background: #fff5ee;
}

.production-duration-kpis span,
.inspection-score-board span {
  color: #7a6a59;
  font-size: 12px;
  font-weight: 900;
}

.production-duration-kpis strong,
.inspection-score-board strong {
  color: #22170f;
  font-size: 24px;
  font-weight: 950;
}

.production-duration-kpis small,
.inspection-score-board small {
  color: #776655;
  font-size: 12px;
}

.production-duration-layout,
.inspection-console-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 380px);
  gap: 16px;
  align-items: start;
}

.production-duration-rank,
.inspection-issue-panel,
.production-duration-side > .module,
.inspection-console-side > .module {
  min-width: 0;
  padding: 18px;
}

.production-duration-side,
.inspection-console-side {
  display: grid;
  gap: 16px;
}

.production-duration-rank-list,
.inspection-issue-list,
.production-duration-focus-list,
.inspection-type-list {
  display: grid;
  gap: 10px;
}

.production-duration-rank-row {
  display: grid;
  grid-template-columns: 28px minmax(110px, 1fr) 64px 48px 82px 56px minmax(84px, 112px);
  gap: 8px;
  align-items: center;
  min-height: 70px;
  border: 1px solid #f0e5d8;
  border-radius: 8px;
  padding: 10px 12px;
  background: #fffdf9;
}

.production-duration-rank-row.warn,
.production-duration-rank-row.danger {
  border-color: rgba(223, 55, 22, 0.18);
  background: #fff6ef;
}

.production-duration-rank-row.warning {
  background: #fffaf1;
}

.rank-index {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: #f2e7d9;
  color: #6d5847;
  font-weight: 950;
}

.duration-dish {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.duration-dish strong,
.duration-dish small,
.production-duration-rank-row > span:not(.rank-index):not(.status-pill) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.duration-dish small,
.production-duration-rank-row > span {
  color: #776655;
  font-size: 12px;
}

.duration-value,
.inspection-score {
  color: #22170f;
  font-size: 22px;
  font-weight: 950;
  text-align: right;
}

.duration-value small,
.inspection-score small {
  margin-left: 2px;
  color: #776655;
  font-size: 12px;
}

.production-duration-rank-row .table-actions,
.inspection-issue-row .table-actions {
  display: grid;
  gap: 6px;
  justify-items: stretch;
  min-width: 0;
}

.production-duration-rank-row .solid-btn,
.production-duration-rank-row .ghost-btn,
.inspection-issue-row .solid-btn,
.inspection-issue-row .ghost-btn {
  min-height: 32px;
  padding: 0 9px;
  white-space: nowrap;
}

.production-duration-focus-list div,
.inspection-type-list div {
  display: grid;
  gap: 3px;
  border: 1px solid #f0e5d8;
  border-radius: 8px;
  padding: 10px;
  background: #fffaf5;
}

.production-duration-focus-list strong,
.inspection-type-list strong {
  color: #22170f;
}

.production-duration-focus-list span,
.inspection-type-list span {
  color: #776655;
  font-size: 12px;
}

.production-duration-form,
.inspection-form {
  grid-template-columns: 1fr;
}

.inspection-issue-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 64px minmax(126px, 190px);
  gap: 14px;
  align-items: center;
  min-height: 92px;
  border: 1px solid #f0e5d8;
  border-radius: 8px;
  padding: 12px 14px;
  background: #fffdf9;
}

.inspection-issue-row.warn,
.inspection-issue-row.danger {
  border-color: rgba(223, 55, 22, 0.18);
  background: #fff6ef;
}

.inspection-issue-row.warning {
  background: #fffaf1;
}

.inspection-issue-main {
  display: grid;
  gap: 7px;
  min-width: 0;
}

.inspection-issue-title {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

.inspection-issue-title > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.inspection-issue-title .status-pill {
  flex: 0 0 auto;
}

.inspection-issue-meta {
  display: flex;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.inspection-issue-meta span {
  max-width: 220px;
  border-radius: 999px;
  padding: 3px 9px;
  background: #fff7ed;
  color: #7a5139;
  font-size: 12px;
  font-weight: 800;
}

.inspection-issue-main p {
  margin: 0;
  color: #776655;
  font-size: 12px;
}

.inspection-issue-title strong,
.inspection-issue-title small,
.inspection-issue-meta span,
.inspection-issue-main p {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.inspection-issue-title small {
  color: #776655;
  font-size: 12px;
}

.inspection-issue-row .table-actions {
  display: grid;
  justify-items: stretch;
}

.source-ledger-notice,
.operations-notice {
  margin: 0 0 14px;
  border: 1px solid rgba(24, 128, 88, 0.2);
  border-radius: 8px;
  padding: 10px 12px;
  background: #f1f8f3;
  color: #176a4e;
  font-size: 13px;
  font-weight: 800;
}

.source-ledger-notice.is-error,
.operations-notice.is-error {
  border-color: rgba(211, 47, 31, 0.22);
  background: #fff4ee;
  color: #a72a1d;
}

.source-ledger-backflow {
  color: #176a4e !important;
  font-weight: 800;
  white-space: normal !important;
}

.source-ledger-task-link {
  width: 100%;
  max-width: 190px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.operations-task-backflow {
  display: grid;
  gap: 5px;
  justify-items: start;
}

.operations-task-backflow span {
  color: #176a4e;
  font-size: 12px;
  font-weight: 900;
}

.operations-task-backflow strong {
  color: #453426;
  font-size: 12px;
}

@media (max-width: 900px) {
  .source-ledger-page {
    padding: 18px 14px 32px;
  }

  .production-duration-page,
  .inspection-console-page {
    padding: 18px 14px 32px;
  }

  .source-ledger-summary,
  .source-ledger-usage,
  .source-ledger-workspace,
  .source-ledger-filter,
  .source-ledger-filter-fields,
  .production-duration-kpis,
  .inspection-score-board,
  .production-duration-layout,
  .inspection-console-layout {
    grid-template-columns: 1fr;
  }

  .production-duration-rank-row,
  .inspection-issue-row {
    grid-template-columns: 1fr;
  }

  .duration-value,
  .inspection-score {
    text-align: left;
  }

  .source-ledger-filter {
    display: grid;
    align-items: stretch;
  }

  .source-ledger-filter-result {
    justify-items: start;
  }
}

/* 2026-06-01 high-frequency sample workflow: review matrix + payroll template table */
.employee-review-matrix-page {
  max-width: none;
  padding: 28px 32px 42px;
  background: var(--yr-bg);
}

.employee-review-command {
  padding: 0 0 18px;
  border-bottom: 1px solid #eee8df;
}

.employee-review-command p {
  margin-top: 8px;
}

.employee-review-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.employee-review-kpi-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 22px 0 16px;
}

.employee-review-kpi-row article {
  min-height: 108px;
  align-content: center;
  border-color: #ece7df;
  background: #fff;
}

.employee-review-kpi-row article.needs-action {
  border-color: rgba(219, 59, 34, 0.22);
  background: #fff7f1;
}

.employee-review-kpi-row small {
  color: #667085;
  font-size: 12px;
}

.employee-review-matrix-shell {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(33, 22, 12, 0.06);
}

.employee-review-matrix-shell .employee-review-ledger-filters {
  margin: 0;
  padding: 0 0 16px;
  border-bottom: 1px solid #f0ebe4;
  background: transparent;
}

.employee-review-matrix-table {
  overflow-x: auto;
}

.employee-review-matrix-head,
.employee-review-matrix-row {
  display: grid;
  grid-template-columns: 170px 190px 104px 92px 92px 76px 110px 92px 128px;
  column-gap: 12px;
  align-items: center;
  min-width: 1120px;
  padding: 0 14px;
}

.employee-review-matrix-head {
  min-height: 44px;
  border-radius: 8px;
  background: #f6f2ed;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.employee-review-matrix-row {
  position: relative;
  min-height: 76px;
  border-bottom: 1px solid #f0ebe4;
  background: #fff;
}

.employee-review-matrix-row.warn {
  background: #fffbf5;
}

.employee-review-matrix-row.warn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 3px;
  border-radius: 999px;
  background: var(--yr-red);
}

.employee-review-person,
.employee-review-store {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.employee-review-person strong,
.employee-review-store strong {
  overflow: hidden;
  color: #101828;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-review-person span,
.employee-review-store span,
.employee-review-matrix-row > span {
  overflow: hidden;
  color: #667085;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-review-matrix-head > span:nth-child(n + 3),
.employee-review-matrix-row > strong,
.employee-review-matrix-row > span:nth-child(n + 3),
.employee-review-matrix-row .status-pill,
.employee-review-row-actions {
  justify-self: center;
  text-align: center;
}

.employee-review-row-actions {
  display: flex;
  gap: 6px;
}

.employee-review-row-actions .ghost-btn {
  min-height: 32px;
  padding: 0 10px;
}

.employee-review-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  justify-content: end;
}

.employee-review-drawer-backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(16, 24, 40, 0.38);
}

.employee-review-drawer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(520px, 100vw);
  height: 100vh;
  border-left: 1px solid #e9e2d8;
  background: #fff;
  box-shadow: -24px 0 58px rgba(16, 24, 40, 0.18);
}

.employee-review-editor-drawer {
  width: min(760px, 100vw);
}

.employee-review-drawer-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 74px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid #eee8df;
}

.employee-review-drawer-head h3 {
  margin: 0;
  color: #101828;
  font-size: 20px;
}

.employee-review-drawer-head p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

.employee-review-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 18px 24px 24px;
}

.employee-review-drawer-profile {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fffdf9;
}

.employee-review-drawer-profile div {
  display: grid;
  gap: 4px;
}

.employee-review-drawer-profile span {
  color: #667085;
  font-size: 13px;
}

.employee-review-score-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.employee-review-score-card article {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 12px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
}

.employee-review-score-card span,
.employee-review-drawer-section h4 {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.employee-review-score-card strong {
  color: #101828;
  font-size: 22px;
}

.employee-review-drawer-section {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.employee-review-drawer-section h4 {
  margin: 0;
  color: #101828;
  font-size: 15px;
}

.employee-review-trace-grid.compact {
  grid-template-columns: 1fr;
}

.employee-review-standard-list {
  display: grid;
  gap: 8px;
}

.employee-review-standard-list article {
  display: grid;
  grid-template-columns: 86px 112px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #ece7df;
  border-radius: 8px;
}

.employee-review-drawer-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 16px 24px;
  border-top: 1px solid #eee8df;
  background: #fff;
}

.employee-review-editor-drawer .employee-review-drawer-body {
  padding: 0;
}

.employee-review-editor-drawer .employee-monthly-sheet {
  background: #fff;
}

.employee-review-editor-drawer .employee-monthly-actions {
  position: sticky;
  bottom: 0;
  padding: 14px 24px 18px;
  border-top: 1px solid #eee8df;
  background: #fff;
}

.payroll-c-import-input {
  display: none;
}

.payroll-template-table {
  padding: 0 18px 18px;
}

.payroll-template-table .payroll-c-table-head,
.payroll-template-table .payroll-c-row {
  grid-template-columns:
    142px 150px 82px
    96px 96px 88px 92px 112px
    84px 92px 108px 84px 92px
    90px 98px 98px 92px 86px
    118px 112px 92px 190px;
  min-width: 2230px;
}

.payroll-template-table .payroll-c-row {
  min-height: 78px;
}

.payroll-template-table .payroll-c-table-head > span:nth-child(n + 3),
.payroll-template-table .payroll-c-row > strong,
.payroll-template-table .payroll-c-input-cell,
.payroll-template-table .payroll-c-status,
.payroll-template-table .payroll-c-action-cell,
.payroll-template-table .payroll-c-remark {
  justify-self: center;
  text-align: center;
}

.payroll-template-table .payroll-c-payable {
  color: #101828;
  font-size: 15px;
}

.payroll-template-table .payroll-c-remark {
  overflow: hidden;
  max-width: 106px;
  color: #667085;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-template-table .payroll-c-action-cell .ghost-btn {
  min-height: 32px;
  padding: 0 10px;
}

.payroll-template-table .payroll-c-action-cell {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}

.payroll-template-table .payroll-c-table-head > span:nth-last-child(2),
.payroll-template-table .payroll-c-row > .payroll-c-status {
  position: sticky;
  right: 190px;
  z-index: 4;
  align-self: stretch;
  display: grid;
  align-items: center;
  width: 92px;
  min-width: 92px;
  box-sizing: border-box;
  background: inherit;
}

.payroll-template-table .payroll-c-table-head > span:last-child,
.payroll-template-table .payroll-c-row > .payroll-c-action-cell {
  position: sticky;
  right: -18px;
  z-index: 5;
  align-self: stretch;
  width: 190px;
  min-width: 190px;
  box-sizing: border-box;
  background: inherit;
  padding-right: 18px;
  box-shadow: -28px 0 32px rgba(255, 255, 255, 0.96);
}

.payroll-template-table .payroll-c-row > .payroll-c-status,
.payroll-template-table .payroll-c-row > .payroll-c-action-cell {
  background: #fff;
}

.payroll-template-table .payroll-c-row.warn > .payroll-c-status,
.payroll-template-table .payroll-c-row.warn > .payroll-c-action-cell {
  background: #fffdf8;
}

.payroll-template-table .payroll-c-table-head > span:nth-last-child(2),
.payroll-template-table .payroll-c-table-head > span:last-child {
  background: #f6f2ed;
}

@media (max-width: 1180px) {
  .employee-review-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payroll-c-main {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .employee-review-matrix-page,
  .yr-payroll-c {
    padding: 18px 14px 28px;
  }

  .employee-review-command,
  .payroll-c-header.payroll-command {
    display: grid;
    grid-template-columns: 1fr;
  }

  .employee-review-command-actions,
  .payroll-c-actions {
    justify-content: stretch;
  }

  .employee-review-command-actions button,
  .payroll-c-actions button {
    flex: 1 1 130px;
  }

  .employee-review-kpi-row,
  .payroll-c-metrics,
  .payroll-c-checks,
  .payroll-c-filter {
    grid-template-columns: 1fr;
  }

  .employee-review-matrix-shell,
  .payroll-c-shell {
    padding: 16px;
  }

  .employee-review-drawer,
  .employee-review-editor-drawer {
    width: 100vw;
  }

  .employee-review-score-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .employee-review-matrix-head,
  .employee-review-matrix-row {
    grid-template-columns: 170px 190px 104px 92px 92px 76px 110px 92px 128px;
    min-width: 1120px;
  }

  .payroll-template-table .payroll-c-table-head,
  .payroll-template-table .payroll-c-row {
    grid-template-columns:
      150px 168px 82px
      104px 104px 104px 92px 92px
      92px 100px 116px 92px 100px
      104px 92px 92px 116px 104px 100px
      116px 132px 92px 92px 92px;
    min-width: 2600px;
  }
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-width: 320px;
  background-color: var(--yr-cream);
  background-image: linear-gradient(180deg, rgba(247, 243, 236, 0.96), rgba(247, 243, 236, 1));
  overflow-x: hidden;
}

html,
body,
#app {
  width: 100%;
  min-height: 100%;
}

.site-filing {
  padding: 24px 16px;
  text-align: center;
  background: var(--yr-bg);
  border-top: 1px solid var(--yr-border);
  font-size: 12px;
}

.site-filing a {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: var(--yr-text-body);
  text-underline-offset: 3px;
}

.site-filing a:focus-visible {
  outline: 2px solid var(--yr-primary);
  outline-offset: 3px;
  border-radius: 4px;
}

button,
input,
select,
textarea {
  font: inherit;
  max-width: 100%;
}

button {
  border: 0;
  cursor: pointer;
}

.login-page {
  min-height: calc(100vh - 93px);
  display: grid;
  place-items: center;
  padding: clamp(16px, 3vw, 36px);
  background:
    radial-gradient(circle at 18% 12%, rgba(196, 90, 46, 0.12), transparent 30%),
    linear-gradient(135deg, #23170f 0%, #5a311b 42%, #f7efe7 42%, #fff8f1 100%);
}

.creative-login {
  color: #2b1a10;
}

.login-panel {
  width: min(1480px, calc(100vw - 48px));
  min-height: min(720px, calc(100vh - 48px));
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 360px);
  gap: 0;
  align-items: stretch;
  overflow: visible;
  background: #fff6ee;
  border: 1px solid rgba(96, 59, 35, 0.16);
  border-radius: 8px;
  padding: 28px;
  box-shadow: 0 24px 70px rgba(35, 23, 15, 0.24);
}

.login-visual-stage {
  position: relative;
  min-height: 620px;
  overflow: hidden;
  background: #23170f;
}

.login-visual-image {
  width: 100%;
  height: 100%;
  min-height: inherit;
  display: block;
  object-fit: contain;
  object-position: center center;
  image-rendering: auto;
  transform: none;
  transition: opacity 120ms ease;
  backface-visibility: hidden;
}

.login-visual-caption {
  position: absolute;
  left: 28px;
  top: 26px;
  display: grid;
  gap: 6px;
  color: #ffefe1;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.42);
}

.login-visual-caption strong {
  font-size: 19px;
  font-weight: 800;
  letter-spacing: 0;
}

.login-feature-row {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.login-feature-row span {
  min-height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(242, 175, 104, 0.34);
  border-radius: 8px;
  color: #ffead7;
  background: rgba(29, 18, 11, 0.42);
  backdrop-filter: blur(8px);
  font-size: 13px;
  font-weight: 800;
}

.login-form p,
.login-form h1,
.login-copy p,
.login-form-head p {
  margin: 0;
}

.login-form {
  display: grid;
  gap: 14px;
  align-content: center;
  padding: clamp(28px, 4vw, 58px);
  border-left: 1px solid rgba(96, 59, 35, 0.12);
  background:
    linear-gradient(180deg, rgba(255, 249, 244, 0.95), rgba(255, 243, 235, 0.98)),
    #fff7f0;
}

.login-form-head {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
  text-align: center;
}

.login-form-head h1 {
  color: #2b1a10;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.12;
  letter-spacing: 0;
}

.login-form-head p,
.login-hint {
  color: #776456;
}

.login-form label,
.store-filter-label {
  display: grid;
  gap: 6px;
  color: #3a2a20;
  font-size: 12px;
  font-weight: 800;
}

.login-form input,
.store-filter-label select {
  min-height: 44px;
  border: 1px solid rgba(96, 59, 35, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
  padding: 0 14px;
  color: #25170f;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.login-form input:focus {
  border-color: #b6632f;
  outline: 3px solid rgba(196, 90, 46, 0.14);
}

.login-account-chips {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.login-account-chips .ghost-btn {
  min-height: 38px;
  border: 1px solid rgba(96, 59, 35, 0.16);
  background: rgba(255, 255, 255, 0.6);
  color: #5f3925;
  font-size: 12px;
  font-weight: 800;
}

.login-options {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.login-remember {
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px !important;
  color: #4d3a2e !important;
}

.login-remember input {
  width: 16px;
  height: 16px;
  min-height: 16px;
  accent-color: #b6632f;
}

.link-btn {
  padding: 0;
  background: transparent;
  color: #b6632f;
  font-size: 13px;
  font-weight: 800;
}

.login-submit {
  min-height: 46px;
  margin-top: 4px;
  font-size: 16px;
}

.login-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 12px;
  color: #9b897a;
  font-size: 12px;
}

.login-divider::before,
.login-divider::after {
  content: "";
  height: 1px;
  background: rgba(96, 59, 35, 0.14);
}

.wechat-login {
  min-height: 46px;
  border: 1px solid rgba(96, 59, 35, 0.16);
  background: rgba(255, 255, 255, 0.62);
  color: #2f6f35;
  font-weight: 900;
}

.login-help {
  display: flex;
  justify-content: flex-end;
}

.login-preload {
  display: none;
}

.login-form em {
  min-height: 20px;
  color: #b34024;
  font-style: normal;
  font-size: 13px;
  font-weight: 700;
}

.is-login-error .login-form input[aria-invalid="true"] {
  border-color: #b34024;
  outline: 3px solid rgba(179, 64, 36, 0.12);
}

.ops-layout {
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  min-height: 100vh;
  position: relative;
  width: 100%;
  overflow-x: clip;
}

.app-shell {
  background: var(--yr-bg);
}

.final-visual-system {
  color: var(--yr-text);
  font-size: 14px;
}

.responsive-acceptance {
  min-width: 0;
}

.ui-density-final .module,
.ui-density-final .data-card,
.ui-density-final .dashboard-summary-card,
.ui-density-final .quick-action,
.ui-density-final .action-card {
  border-radius: 8px;
  border-color: var(--yr-border);
  box-shadow: var(--yr-shadow-soft);
}

.touch-safe-target button,
.touch-safe-target .ghost-btn,
.touch-safe-target .solid-btn,
.touch-safe-target select,
.touch-safe-target input {
  min-height: var(--yr-control-height);
}

.visual-uplift-strong .workspace-body {
  background:
    linear-gradient(180deg, rgba(255, 253, 249, 0.88) 0%, rgba(247, 243, 236, 0.96) 42%, rgba(247, 243, 236, 1) 100%);
  border-top: 1px solid rgba(230, 221, 210, 0.72);
}

.visual-uplift-strong .module {
  background: linear-gradient(180deg, var(--yr-card) 0%, #fffdf9 100%);
  border: 1px solid rgba(230, 221, 210, 0.96);
  box-shadow: 0 16px 38px rgba(47, 38, 30, 0.07);
}

.visual-uplift-strong .module-head h2 {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.visual-uplift-strong .module-head h2::before {
  content: "";
  width: 4px;
  height: 18px;
  border-radius: 999px;
  background: var(--yr-accent);
  flex: 0 0 auto;
}

.visual-uplift-strong .data-card,
.visual-uplift-strong .dashboard-summary-card,
.visual-uplift-strong .employee-archive-summary article,
.visual-uplift-strong .store-workbook-summary article,
.visual-uplift-strong .store-management-scope-card {
  border-left: 4px solid rgba(47, 143, 107, 0.74);
  background: linear-gradient(180deg, var(--yr-card) 0%, #fffdf8 100%);
}

.visual-uplift-strong .table-shell {
  border: 1px solid var(--yr-border);
  background: var(--yr-card);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.visual-uplift-strong th {
  background: #f4efe7;
  color: #5e5147;
}

.visual-uplift-strong .ghost-btn {
  background: var(--yr-card);
}

.visual-uplift-strong input,
.visual-uplift-strong select,
.visual-uplift-strong textarea {
  border-color: rgba(214, 201, 187, 0.98);
  background: var(--yr-card);
}

.nav-drawer-backdrop,
.nav-drawer-toggle {
  display: none;
}

.app-sidebar {
  background: var(--yr-surface);
  color: var(--yr-text);
  padding: 16px 12px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-right: 1px solid var(--yr-border);
  box-shadow: 10px 0 30px rgba(31, 26, 23, 0.035);
  min-width: 0;
}

.meituan-side-nav {
  color: var(--yr-text);
}

.brand-block {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 58px;
  min-width: 0;
}

.brand-block > div {
  min-width: 0;
}

.brand-logo {
  width: 38px;
  height: 38px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--yr-ink);
  color: var(--yr-card);
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(31, 26, 23, 0.16);
}

.brand-block strong,
.brand-block span,
.operator-card span,
.operator-card strong,
.operator-card small {
  display: block;
}

.brand-block strong {
  font-size: 15px;
  overflow-wrap: anywhere;
}

.brand-block span,
.operator-card span,
.operator-card small {
  color: var(--yr-muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.side-nav {
  display: grid;
  gap: 8px;
}

.nav-section {
  display: grid;
  gap: 0;
}

.nav-section-title {
  min-height: 44px;
  border-radius: 8px;
  background: transparent;
  color: var(--yr-text);
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  padding: 0 12px;
  font-size: 15px;
  font-weight: 900;
  text-align: left;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.nav-section-title:hover,
.nav-section-title.active {
  background: var(--yr-accent);
  color: var(--yr-card);
  box-shadow: 0 10px 22px rgba(196, 90, 46, 0.18);
}

.nav-section-title i {
  font-style: normal;
  color: var(--yr-muted);
  font-size: 18px;
  font-weight: 900;
}

.nav-section-title.active i,
.nav-section-title:hover i {
  color: var(--yr-card);
}

.side-nav button {
  min-height: 42px;
  border-radius: 8px;
  background: transparent;
  color: #c6d2cf;
  display: grid;
  grid-template-columns: 28px 1fr;
  align-items: center;
  text-align: left;
  padding: 0 12px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
}

.side-nav button:hover,
.side-nav button.active {
  background: var(--yr-red);
  color: var(--yr-card);
}

.side-nav i {
  font-style: normal;
  color: #5f666f;
  font-size: 12px;
  font-weight: 900;
}

.operator-card {
  margin-top: auto;
  border: 1px solid var(--yr-border);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.62);
}

.operator-card strong {
  color: var(--yr-text);
}

.mega-menu-panel {
  position: fixed;
  z-index: 42;
  left: calc(var(--sidebar-width) + 8px);
  top: var(--mega-menu-top, 96px);
  width: min(400px, calc(100vw - var(--sidebar-width) - 24px));
  max-height: min(560px, calc(100vh - var(--mega-menu-top, 96px) - 16px));
  overflow: auto;
  border-radius: 8px;
  background: var(--yr-card);
  border: 1px solid var(--yr-border);
  box-shadow: var(--yr-shadow-lift);
}

.mega-menu-panel::before {
  content: "";
  position: fixed;
  left: var(--sidebar-width);
  top: var(--mega-menu-top, 96px);
  width: 18px;
  height: min(560px, calc(100vh - var(--mega-menu-top, 96px) - 16px));
  pointer-events: auto;
}

.mobile-mega-menu {
  display: none;
}

.mega-menu-head {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--yr-border);
}

.mega-menu-head strong {
  font-size: 16px;
}

.mega-menu-head span {
  color: #8a9099;
  font-size: 13px;
}

.mega-menu-list {
  display: grid;
}

.mega-menu-row {
  display: grid;
  grid-template-columns: 88px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px 18px;
  border-bottom: 1px solid #f0e5d6;
}

.mega-menu-row > span {
  color: #8a9099;
  font-weight: 800;
}

.mega-menu-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.mega-menu-row button {
  min-height: 30px;
  background: #fffaf6;
  color: #252a31;
  padding: 0 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  font-size: 13px;
  line-height: 1.25;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
}

.mega-menu-row button:first-child {
  padding-left: 12px;
}

.mega-menu-row button:last-child {
  border-right: 1px solid #f0e1d0;
}

.mega-menu-row button:hover,
.mega-menu-row button.active {
  background: var(--yr-accent-soft);
  border-color: rgba(196, 90, 46, 0.34);
  color: var(--yr-accent);
  font-weight: 900;
}

.workspace {
  min-width: 0;
  background: var(--yr-cream);
  width: 100%;
  overflow-x: hidden;
}

.workspace-header {
  background: rgba(255, 253, 249, 0.92);
  border-bottom: 1px solid var(--yr-border);
  padding: 22px 28px 18px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px 24px;
  min-width: 0;
}

.page-title h1,
.page-title p {
  margin: 0;
}

.page-title h1 {
  font-size: 26px;
  letter-spacing: 0;
}

.eyebrow {
  display: block;
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 4px;
}

.page-title p,
.module-head p,
.data-card small,
.mini-stat span {
  color: #667773;
}

.command-bar {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  min-width: 0;
}

.backend-status {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 0 10px;
  background: #f3f6f5;
  color: #667773;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.backend-status.online {
  background: #e5f4f1;
  color: var(--yr-success);
}

.backend-status.local {
  background: #fff7ed;
  color: #b45309;
}

.store-scope {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border-radius: 8px;
  padding: 0 12px;
  background: #f3f6f5;
  border: 1px solid #d8e1dd;
  color: #263633;
  font-weight: 900;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
}

.command-bar select,
.entry-form input,
.entry-form select,
.entry-form textarea,
.file-box input {
  height: var(--yr-control-height);
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  padding: 0 12px;
  min-width: 150px;
  width: 100%;
}

.ghost-btn,
.solid-btn {
  min-height: var(--yr-control-height);
  border-radius: 8px;
  padding: 0 14px;
  font-weight: 800;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  text-align: center;
  max-width: 100%;
  white-space: nowrap;
  overflow-wrap: normal;
  line-height: 1.25;
}

.ghost-btn {
  color: #23312e;
  background: #fbfaf6;
  border: 1px solid var(--yr-border);
}

.solid-btn {
  color: var(--yr-card);
  background: var(--yr-red);
  box-shadow: 0 8px 18px rgba(196, 90, 46, 0.16);
}

.ghost-btn:hover,
.solid-btn:hover,
.table-action:hover {
  transform: translateY(-1px);
}

.ghost-btn:disabled,
.solid-btn:disabled,
.table-action:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  filter: saturate(0.45);
  box-shadow: none;
  transform: none;
}

.mini-stat {
  border: 1px solid #e1e8e5;
  border-radius: 8px;
  background: #f8fbfa;
  padding: 10px 12px;
}

.mini-stat strong {
  display: block;
  font-size: 18px;
}

.workspace-body {
  padding: 22px 28px 32px;
  display: grid;
  gap: 18px;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.data-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.data-card-grid.compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.data-card,
.module {
  background: var(--yr-card);
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  box-shadow: var(--yr-shadow-soft);
  min-width: 0;
}

.data-card {
  padding: 14px;
  border-top: 3px solid #9fb3ad;
  background: var(--yr-card);
}

.data-card.up {
  border-top-color: var(--yr-success);
}

.data-card.warn {
  border-top-color: var(--yr-warning);
}

.data-card span,
.data-card strong,
.data-card small {
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.data-card span {
  color: #667773;
  font-size: 13px;
}

.data-card strong {
  font-size: 25px;
  margin: 5px 0;
}

.business-flow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.business-flow div,
.source-card,
.data-lane-grid article {
  border: 1px solid #dde6e2;
  border-radius: 8px;
  background: var(--yr-card);
  box-shadow: 0 8px 22px rgba(28, 43, 39, 0.05);
}

.business-flow div {
  display: grid;
  gap: 7px;
  padding: 14px;
}

.business-flow span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: var(--yr-success);
  color: var(--yr-card);
  font-weight: 900;
}

.business-flow p,
.source-card p,
.data-lane-grid p {
  margin: 0;
  color: #667773;
  font-size: 13px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.source-map {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.source-card {
  padding: 16px;
  display: grid;
  gap: 10px;
  align-content: space-between;
}

.source-card span,
.data-lane-grid span {
  color: var(--yr-success);
  font-size: 12px;
  font-weight: 900;
}

.source-card strong,
.data-lane-grid strong {
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.source-card button,
.data-lane-grid button {
  justify-self: start;
}

.data-lane-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.data-lane-grid article {
  display: grid;
  gap: 9px;
  padding: 16px;
}

.system-section {
  display: grid;
  gap: 16px;
}

.command-center {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.6fr) minmax(260px, 0.6fr);
  gap: 16px;
}

.command-primary,
.command-side,
.quick-action,
.analysis-narrative .module {
  background: var(--yr-card);
  border: 1px solid #dde6e2;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(28, 43, 39, 0.05);
  min-width: 0;
}

.command-primary {
  padding: 22px;
  background: #12211e;
  color: #f6fbf9;
}

.command-primary h2,
.command-primary p,
.command-side p,
.analysis-narrative p {
  margin: 0;
}

.command-primary h2 {
  font-size: 26px;
}

.command-primary p {
  margin-top: 8px;
  color: #b8c9c4;
  max-width: 760px;
}

.decision-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 20px;
}

.decision-row div {
  border: 1px solid #2d423e;
  border-radius: 8px;
  padding: 12px;
  background: #192c28;
}

.decision-row strong,
.decision-row span,
.command-side strong,
.command-side p {
  display: block;
}

.decision-row strong {
  font-size: 22px;
}

.decision-row span {
  color: #9eb0ab;
  font-size: 12px;
}

.command-side {
  padding: 18px;
  display: grid;
  gap: 14px;
  align-content: space-between;
}

.command-side p {
  color: #667773;
}

.quick-action-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.quick-action-grid.compact-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quick-action {
  min-height: 118px;
  padding: 16px;
  display: grid;
  gap: 14px;
  align-content: space-between;
  min-width: 0;
}

.quick-action strong,
.quick-action span {
  display: block;
}

.quick-action span {
  margin-top: 5px;
  color: #667773;
  font-size: 13px;
}

.quick-action button {
  justify-self: start;
}

.entry-console {
  background: #f8fbfa;
}

.workflow-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}

.workflow-steps div {
  display: grid;
  gap: 6px;
  border: 1px solid #dce7e3;
  border-radius: 8px;
  padding: 14px;
  background: var(--yr-card);
}

.workflow-steps span {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  background: var(--yr-success);
  color: var(--yr-card);
  font-weight: 900;
}

.workflow-steps p {
  margin: 0;
  color: #667773;
  font-size: 13px;
}

.analysis-narrative {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.analysis-narrative .module {
  display: grid;
  gap: 8px;
}

.analysis-narrative span {
  color: var(--yr-success);
  font-size: 12px;
  font-weight: 900;
}

.analysis-narrative strong {
  font-size: 18px;
}

.analysis-narrative p {
  color: #667773;
}

.insight-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.insight-card {
  display: grid;
  gap: 10px;
  border: 1px solid #e2e9e6;
  border-top: 4px solid #9fb3ad;
  border-radius: 8px;
  padding: 14px;
  background: #f8fbfa;
}

.insight-card.p1 {
  border-top-color: var(--yr-error);
}

.insight-card.p2 {
  border-top-color: var(--yr-warning);
}

.insight-card h3,
.insight-card p {
  margin: 0;
}

.insight-card h3 {
  font-size: 16px;
}

.insight-card p,
.insight-action span {
  color: #667773;
  font-size: 13px;
}

.insight-head,
.insight-card footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.insight-head span,
.insight-head strong {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
}

.insight-head span {
  background: #e5f4f1;
  color: var(--yr-success);
  font-weight: 900;
}

.insight-head strong {
  background: #fff7ed;
  color: #b45309;
}

.insight-action {
  border-radius: 8px;
  background: var(--yr-card);
  border: 1px solid #e2e9e6;
  padding: 10px;
}

.insight-action strong,
.insight-action span {
  display: block;
}

.insight-card footer em {
  color: var(--yr-success);
  font-style: normal;
  font-weight: 900;
}

.insight-card footer b {
  color: #263633;
}

.insight-summary-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.insight-summary-list div {
  display: grid;
  gap: 6px;
  border: 1px solid #e2e9e6;
  border-left: 4px solid var(--yr-success);
  border-radius: 8px;
  padding: 12px;
  background: #f8fbfa;
}

.insight-summary-list strong,
.insight-summary-list span,
.insight-summary-list em {
  display: block;
}

.insight-summary-list span {
  color: #667773;
  font-size: 13px;
}

.insight-summary-list em {
  color: var(--yr-success);
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
}

.dashboard-grid,
.two-column {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.8fr);
  gap: 16px;
}

.dashboard-analysis-row,
.file-draft-legacy-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.48fr);
  gap: 16px;
  align-items: start;
}

.dashboard-analysis-row.secondary {
  grid-template-columns: minmax(320px, 0.56fr) minmax(0, 1fr);
}

.dashboard-summary {
  display: grid;
  gap: 16px;
}

.task-center-list {
  display: grid;
  gap: 16px;
}

.ops-management-page {
  width: 100%;
  min-width: 0;
}

.ops-page-hero {
  align-items: center;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(246, 237, 226, 0.92));
  border: 1px solid var(--yr-border);
  box-shadow: 0 12px 30px rgba(82, 54, 32, 0.07);
}

.task-center-workspace,
.file-draft-workspace {
  display: grid;
  gap: 12px;
}

.task-center-command,
.file-draft-command {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
}

.task-center-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.32fr);
  gap: 16px;
  align-items: start;
}

.task-center-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.task-center-metrics article {
  display: grid;
  gap: 5px;
  min-height: 94px;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf8;
}

.task-center-metrics article.is-warning {
  border-color: rgba(196, 74, 42, 0.26);
  background: #fff4ed;
}

.task-center-metrics article.is-done {
  background: #f5fbf6;
}

.task-center-metrics article.is-focus {
  background: #fffaf0;
}

.task-center-metrics span,
.task-center-metrics small {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.task-center-metrics strong {
  color: var(--yr-text);
  font-size: 24px;
  line-height: 1.12;
}

.task-center-main,
.task-center-side {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.task-center-main {
  overflow: hidden;
}

.task-filter-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
}

.task-filter-bar label {
  display: grid;
  gap: 5px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.task-filter-bar select {
  min-height: 38px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  color: var(--yr-text);
}

.task-filter-bar strong {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0 12px;
  background: var(--yr-primary-subtle);
  color: var(--yr-text);
  white-space: nowrap;
}

.task-center-board {
  display: grid;
  grid-template-columns: repeat(3, minmax(220px, 1fr));
  gap: 12px;
  align-items: start;
}

.task-ops-board {
  display: grid;
  gap: 8px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 4px;
}

.task-ops-head,
.task-ops-row {
  display: grid;
  grid-template-columns: 46px minmax(190px, 1fr) 72px 128px 92px minmax(120px, 0.72fr) 118px;
  gap: 8px;
  align-items: center;
  min-width: 780px;
}

.task-ops-head {
  min-height: 42px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  padding: 0 12px;
  background: #f7f2ec;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.task-ops-row {
  min-height: 86px;
  border: 1px solid var(--yr-border-light);
  border-left: 4px solid transparent;
  border-radius: 8px;
  padding: 10px 12px 10px 8px;
  background: #fff;
}

.task-ops-row.p1 {
  border-left-color: var(--yr-red);
  background: var(--yr-warning-bg);
}

.task-ops-row.doing {
  border-left-color: #1f8f5f;
}

.task-ops-row.done {
  opacity: 0.78;
  background: #f7fbf7;
}

.task-priority-badge {
  width: fit-content;
  border-radius: 999px;
  padding: 5px 8px;
  background: #fff3eb;
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 950;
}

.task-ops-title {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.task-ops-title strong,
.task-ops-title em,
.task-ops-progress small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.task-ops-title strong {
  color: var(--yr-text);
  font-size: 14px;
}

.task-ops-title small {
  display: flex;
  min-width: 0;
  gap: 8px;
  align-items: center;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.task-ops-title .task-source-link {
  min-height: 26px;
  padding: 0 8px;
}

.task-ops-owner select {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: #fffaf7;
  font-weight: 800;
}

.task-ops-progress {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.task-ops-progress strong {
  color: #1f8f5f;
  font-size: 13px;
}

.task-ops-progress small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.task-ops-actions {
  display: flex;
  gap: 6px;
  justify-content: flex-end;
}

.task-ops-actions .ghost-btn,
.task-ops-actions .solid-btn {
  min-height: 32px;
  padding: 0 10px;
  white-space: nowrap;
}

.task-create-form {
  grid-template-columns: repeat(2, minmax(160px, 1fr));
}

.task-create-panel .task-create-form {
  grid-template-columns: repeat(2, minmax(160px, 1fr));
}

.task-lane {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 10px;
  background: var(--yr-bg);
}

.task-lane-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 34px;
  padding: 0 2px;
}

.task-lane-head strong {
  color: var(--yr-text);
  font-size: 14px;
  font-weight: 900;
}

.task-lane-head span {
  border-radius: 999px;
  padding: 4px 8px;
  background: var(--yr-card);
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.task-lane-body {
  display: grid;
  gap: 10px;
  max-height: 680px;
  overflow: auto;
  padding-right: 2px;
}

.task-lane-empty {
  min-height: 120px;
  display: grid;
  place-items: center;
  border: 1px dashed var(--yr-border);
  border-radius: 8px;
  color: var(--yr-text-secondary);
  font-size: 13px;
  background: var(--yr-card);
}

.task-kanban-card {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  box-shadow: 0 10px 24px rgba(60, 42, 26, 0.06);
}

.task-kanban-card.p1 {
  border-color: rgba(223, 55, 22, 0.42);
}

.task-kanban-card.done {
  opacity: 0.72;
}

.task-card-top,
.task-card-title {
  min-width: 0;
}

.task-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.task-card-top span,
.task-card-top em {
  border-radius: 999px;
  padding: 4px 8px;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.task-card-top span {
  color: var(--yr-danger);
  background: var(--yr-warning-bg);
}

.task-card-top em {
  color: var(--yr-text-secondary);
  background: var(--yr-bg);
}

.task-card-title {
  display: grid;
  gap: 3px;
}

.task-card-title strong {
  color: var(--yr-text);
  font-size: 15px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.task-card-title small,
.task-kanban-card p {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.task-kanban-card p {
  margin: 0;
}

.task-log-preview {
  display: grid;
  gap: 3px;
  padding: 8px 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 250, 245, 0.92);
}

.task-log-preview span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.task-log-preview strong {
  color: var(--yr-text);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.task-log-preview.empty strong {
  color: var(--yr-text-secondary);
}

.task-center-focus {
  position: sticky;
  top: 16px;
}

.task-focus-list {
  display: grid;
  gap: 8px;
}

.task-focus-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-bg);
}

.task-focus-list article div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.task-focus-list strong,
.task-focus-list span {
  overflow-wrap: anywhere;
}

.task-focus-list strong {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 900;
}

.task-focus-list span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 70;
  background: rgba(33, 23, 16, 0.22);
}

.task-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  width: min(620px, 100vw);
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: var(--yr-card);
  border-left: 1px solid var(--yr-border);
  box-shadow: -24px 0 48px rgba(50, 34, 22, 0.16);
}

.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
  border-bottom: 1px solid var(--yr-border);
}

.drawer-head h3 {
  margin: 3px 0 0;
  color: var(--yr-text);
  font-size: 20px;
  line-height: 1.2;
}

.drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 18px;
  background: var(--yr-bg);
}

.task-log-list {
  display: grid;
  gap: 6px;
  padding: 10px;
  border-radius: 8px;
  background: var(--yr-bg);
  border: 1px solid var(--yr-border);
}

.task-source-link {
  justify-self: start;
  min-height: 32px;
  border-radius: 8px;
  padding: 0 10px;
  color: var(--yr-success);
  background: var(--yr-success-bg);
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  line-height: 1.25;
}

.task-source-link.muted {
  color: var(--yr-text-secondary);
  background: transparent;
  padding: 0;
}

.task-log-list.empty {
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.task-log-list div {
  display: grid;
  gap: 3px;
}

.task-log-list strong,
.task-log-list span,
.task-log-list small {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.task-log-list small {
  color: var(--yr-text-secondary);
}

.task-log-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.task-log-form input {
  min-width: 0;
  height: 36px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 0 10px;
}

.task-log-form button {
  min-height: 36px;
  border-radius: 8px;
  padding: 0 12px;
  background: var(--yr-success);
  color: var(--yr-card);
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
}

.task-process-list {
  display: grid;
  gap: 10px;
  margin-bottom: 12px;
}

.task-process-item {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
}

.task-process-item > div:first-child {
  display: grid;
  gap: 4px;
}

.task-process-item > div:first-child strong {
  color: var(--yr-text);
  overflow-wrap: anywhere;
}

.task-process-item > div:first-child span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.task-center-table {
  overflow: auto;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.task-center-table table {
  min-width: 760px;
}

.task-history-ledger {
  display: grid;
  gap: 10px;
}

.task-history-list {
  display: grid;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  overflow: hidden;
}

.task-history-head,
.task-history-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(120px, 0.7fr) 82px minmax(110px, 0.62fr) 94px;
  gap: 10px;
  align-items: center;
  padding: 0 12px;
  min-height: 46px;
}

.task-history-head {
  background: #fbf3eb;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.task-history-row {
  border-top: 1px solid var(--yr-border);
  background: var(--yr-card);
}

.task-history-row.p1 {
  background: #fff7f1;
}

.task-history-row strong,
.task-history-row small,
.task-history-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

.task-history-row small {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
}

.task-history-row em {
  width: fit-content;
  border-radius: 999px;
  background: #eef7f1;
  color: #16735f;
  padding: 3px 8px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.task-history-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  padding-top: 10px;
}

.task-history-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.task-history-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.task-detail-panel {
  display: grid;
  gap: 14px;
}

.task-detail-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.task-detail-summary article,
.task-detail-body {
  display: grid;
  gap: 5px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 12px;
  background: #fffaf5;
}

.task-detail-summary span,
.task-detail-body span,
.task-detail-body small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.task-detail-summary strong,
.task-detail-body strong {
  color: var(--yr-text);
}

.task-detail-body p {
  margin: 8px 0 0;
  color: var(--yr-text);
  line-height: 1.55;
}

.task-detail-log-form {
  margin-top: 2px;
}

.task-detail-actions {
  display: flex;
  justify-content: flex-end;
}

.phase-f-visual.visual-uplift-strong .dashboard-hero {
  border-color: rgba(223, 55, 22, 0.18);
  background-color: var(--yr-card);
  background-image: linear-gradient(180deg, rgba(255, 248, 239, 0.96), rgba(255, 253, 249, 0.98));
  box-shadow: 0 18px 42px rgba(81, 49, 24, 0.08);
}

.dashboard-hero > .module-head {
  padding: 4px 2px 2px;
}

.dashboard-hero > .module-head h2 {
  font-size: 28px;
  line-height: 1.2;
}

.dashboard-hero > .module-head p {
  max-width: 720px;
  font-size: 14px;
}

.dashboard-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-summary-card {
  min-height: 124px;
  display: grid;
  align-content: start;
  gap: 8px;
  border: 1px solid var(--yr-border);
  border-left: 4px solid var(--yr-sage);
  border-radius: 8px;
  padding: 13px;
  background: var(--yr-card);
}

.dashboard-summary-card .ghost-btn {
  justify-self: start;
}

.dashboard-task-link {
  justify-self: start;
  margin-top: 14px;
}

.dashboard-summary-card span,
.dashboard-summary-card p,
.dashboard-list div,
.status-state span {
  color: #667773;
}

.dashboard-summary-card strong {
  font-size: 24px;
}

.dashboard-summary-card p {
  margin: 0;
  font-size: 13px;
}

.dashboard-section {
  box-shadow: none;
}

.management-overview-section {
  border-color: #f1c6b8;
  background: #fffaf5;
}

.management-overview-section .dashboard-list div {
  background: var(--yr-card);
  border-left: 3px solid var(--yr-accent);
}

.ai-office-page {
  display: grid;
  gap: 18px;
}

.ai-office-hero {
  overflow: hidden;
  min-height: auto;
}

.phase-f-visual.visual-uplift-strong .ai-agent-hero {
  background-color: var(--yr-text);
  background-image: linear-gradient(135deg, rgba(31, 26, 23, 0.96), rgba(71, 48, 31, 0.92));
  color: #fffaf2;
  border-color: rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 42px rgba(49, 34, 25, 0.18);
}

.ai-agent-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.28fr);
  gap: 20px;
  align-items: start;
}

.ai-agent-hero .eyebrow {
  color: #f7c9aa;
}

.ai-agent-hero p {
  max-width: 760px;
  color: rgba(255, 250, 242, 0.76);
}

.ai-agent-status-stack {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.08);
}

.ai-agent-status-stack strong {
  font-size: 18px;
}

.ai-agent-status-stack small {
  color: rgba(255, 250, 242, 0.7);
}

.ai-office-hero h2,
.ai-office-hero p {
  margin: 0;
}

.ai-workspace-metrics,
.ai-workspace-console {
  display: grid;
  gap: 14px;
}

.ai-workspace-metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
}

.ai-workspace-metrics article {
  display: grid;
  gap: 4px;
  min-height: 96px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
}

.ai-workspace-metrics article strong {
  font-size: 22px;
  line-height: 1.2;
}

.ai-workspace-metrics span,
.ai-workspace-metrics small,
.ai-capability-list span {
  color: rgba(255, 250, 242, 0.68);
}

.ai-workspace-console {
  grid-template-columns: minmax(220px, 0.26fr) minmax(0, 1fr) minmax(280px, 0.32fr);
  align-items: start;
}

.ai-agent-layout {
  align-items: stretch;
}

.ai-agent-rail,
.ai-agent-approval-wall {
  position: sticky;
  top: 16px;
}

.ai-office-grid {
  display: grid;
  gap: 10px;
}

.ai-agent-space-list {
  grid-template-columns: 1fr;
}

.ai-space-card {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 128px;
  border: 1px solid var(--yr-border);
  border-left: 4px solid var(--yr-success);
  border-radius: 8px;
  padding: 13px;
  background: var(--yr-card);
  color: var(--yr-text);
  text-align: left;
  cursor: pointer;
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.ai-space-card:hover {
  border-color: rgba(47, 143, 107, 0.44);
  box-shadow: 0 12px 26px rgba(49, 34, 25, 0.08);
  transform: translateY(-1px);
}

.ai-space-card span {
  width: fit-content;
  border-radius: 999px;
  background: rgba(47, 143, 107, 0.12);
  color: var(--yr-success);
  padding: 4px 8px;
  font-size: 12px;
  font-weight: 900;
}

.ai-space-card strong {
  font-size: 15px;
}

.ai-space-card p {
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.ai-space-card em {
  align-self: end;
  color: var(--yr-success);
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
}

.ai-capability-list {
  display: grid;
  gap: 10px;
}

.ai-capability-list article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.ai-agent-orchestrator {
  display: grid;
  gap: 16px;
  background:
    linear-gradient(180deg, #fffdf9 0%, #f8f0e8 100%);
}

.ai-agent-workflow {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ai-agent-workflow article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  min-height: 156px;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
}

.ai-agent-workflow b {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--yr-text);
  color: #fff8ee;
  font-size: 13px;
}

.ai-agent-workflow strong,
.ai-agent-roster strong {
  display: block;
  color: var(--yr-text);
}

.ai-agent-workflow p,
.ai-agent-roster p {
  margin: 6px 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.ai-agent-workflow article span {
  display: inline-flex;
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--yr-accent-soft);
  color: var(--yr-accent);
  font-size: 12px;
  font-weight: 800;
}

.ai-composer-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(49, 34, 25, 0.06);
}

.ai-composer-head,
.ai-composer-footer {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.ai-composer-head h3 {
  margin: 3px 0 4px;
  color: var(--yr-text);
}

.ai-composer-head p,
.ai-composer-footer small,
.ai-composer-body label span,
.ai-output-selector > span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ai-composer-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.34fr);
  gap: 12px;
}

.ai-composer-body label,
.ai-output-selector {
  display: grid;
  gap: 7px;
}

.ai-composer-body textarea {
  width: 100%;
  resize: vertical;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
  color: var(--yr-text-secondary);
  padding: 10px 12px;
  font: inherit;
}

.ai-output-selector div {
  display: grid;
  gap: 6px;
}

.ai-output-selector button {
  min-height: 34px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
  color: var(--yr-text);
  font-weight: 800;
}

.ai-output-selector button.is-active {
  border-color: rgba(223, 55, 22, 0.24);
  background: var(--yr-primary-subtle);
  color: var(--yr-primary);
}

.ai-composer-footer {
  align-items: center;
  padding-top: 2px;
}

.ai-agent-roster {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.ai-agent-roster article {
  display: grid;
  gap: 5px;
  padding: 14px;
  border-radius: 8px;
  border: 1px solid var(--yr-border);
  background: var(--yr-card);
}

.ai-agent-roster span {
  color: var(--yr-accent);
  font-size: 12px;
  font-weight: 900;
}

.ai-agent-approval-wall {
  display: grid;
  gap: 14px;
}

.ai-agent-gate-list strong {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.ai-agent-gate-list small {
  border-radius: 999px;
  background: #f3eadf;
  color: var(--yr-text-secondary);
  padding: 3px 8px;
  font-size: 11px;
}

.ai-agent-gate-list span {
  color: var(--yr-text-secondary);
}

.ai-agent-output-tray {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px dashed rgba(194, 90, 46, 0.38);
  border-radius: 8px;
  background: #fffaf5;
}

.ai-agent-output-tray button {
  justify-content: center;
  min-height: 38px;
}

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

.dashboard-list div {
  border: 1px solid #e2e9e6;
  border-radius: 8px;
  background: #f8fbfa;
  padding: 12px;
}

.status-state {
  min-height: 86px;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 6px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-surface);
  padding: 16px;
}

.status-state strong,
.status-state span {
  display: block;
}

.status-state.loading {
  border-left: 4px solid var(--yr-success);
}

.status-state.empty,
.status-state.building {
  border-left: 4px solid #9fb3ad;
}

.status-state.error {
  border-left: 4px solid var(--yr-error);
  background: #fff7f7;
}

.status-state.forbidden {
  border-left: 4px solid var(--yr-warning);
  background: #fffaf2;
}

.module {
  min-width: 0;
  padding: 16px;
}

.foundation-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.foundation-grid article {
  border: 1px solid #dde6e2;
  border-radius: 8px;
  padding: 14px;
  background: #f8fbfa;
  display: grid;
  gap: 6px;
}

.foundation-grid span {
  color: #667773;
}

.foundation-grid strong {
  font-size: 22px;
}

.foundation-grid p {
  margin: 0;
}

.route-fallback-console {
  display: grid;
  gap: 16px;
}

.route-fallback-hero {
  background: linear-gradient(135deg, #fffdf8 0%, #f7eee5 58%, #edf6f2 100%);
}

.route-fallback-summary,
.route-fallback-grid {
  display: grid;
  gap: 16px;
}

.route-fallback-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.route-fallback-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.route-fallback-summary article,
.route-fallback-card {
  display: grid;
  gap: 5px;
  border: 1px solid var(--yr-border);
  border-radius: 10px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.74);
}

.route-fallback-summary span,
.route-fallback-summary small,
.route-fallback-card span,
.route-fallback-card p {
  color: var(--yr-text-secondary);
}

.route-fallback-summary strong,
.route-fallback-card strong {
  color: var(--yr-text);
}

.route-fallback-card {
  min-height: 150px;
  text-align: left;
}

.route-fallback-card span {
  font-weight: 900;
}

.route-fallback-card p {
  margin: 0;
  line-height: 1.55;
}

.receiving-inspection-page {
  display: grid;
  gap: 14px;
  width: 100%;
  min-width: 0;
}

.receiving-inspection-hero {
  background: #fffaf5;
}

.receiving-inspection-toolbar {
  display: flex;
  align-items: end;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.receiving-inspection-toolbar label,
.receiving-entry-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.receiving-inspection-toolbar label span,
.receiving-entry-form label > span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.receiving-inspection-toolbar input,
.receiving-inspection-toolbar select,
.receiving-entry-form input,
.receiving-entry-form select {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(50, 35, 20, 0.14);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fff;
  color: var(--yr-text);
  font: inherit;
}

.receiving-inspection-toolbar strong {
  margin-left: auto;
  align-self: center;
  color: var(--yr-text);
  font-size: 14px;
}

.receiving-template-panel,
.receiving-entry-panel {
  min-width: 0;
}

.receiving-template-table-shell {
  overflow: auto;
  max-width: 100%;
}

.receiving-template-table-shell .receiving-template-table {
  width: 100%;
  min-width: 1280px;
  border-collapse: separate;
  border-spacing: 0;
}

.receiving-template-table th {
  padding: 10px 9px;
  border-right: 1px solid rgba(50, 35, 20, 0.12);
  border-bottom: 1px solid rgba(50, 35, 20, 0.14);
  background: #eee9e2;
  color: var(--yr-text);
  font-size: 12px;
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.receiving-template-table thead tr:first-child th {
  border-top: 1px solid rgba(50, 35, 20, 0.14);
}

.receiving-template-table th:first-child,
.receiving-template-table td:first-child {
  border-left: 1px solid rgba(50, 35, 20, 0.14);
}

.receiving-template-table td {
  min-width: 92px;
  padding: 10px 9px;
  border-right: 1px solid rgba(50, 35, 20, 0.1);
  border-bottom: 1px solid rgba(50, 35, 20, 0.1);
  background: #fff;
  color: var(--yr-text);
  font-size: 12px;
  text-align: center;
  vertical-align: middle;
}

.receiving-template-table td:nth-child(4),
.receiving-template-table td:nth-child(10) {
  min-width: 150px;
}

.receiving-template-table td:last-child {
  min-width: 210px;
}

.receiving-template-table tr.warn td {
  background: #fff9f1;
}

.receiving-evidence-thumb {
  width: 46px;
  height: 46px;
  border-radius: 7px;
  object-fit: cover;
}

.receiving-evidence-empty,
.receiving-evidence-file {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.receiving-evidence-file {
  color: var(--yr-red);
  font-weight: 700;
}

.receiving-template-table .source-ledger-backflow {
  display: block;
  margin-top: 4px;
}

.receiving-template-table .table-actions {
  margin-top: 7px;
  justify-content: center;
}

.receiving-entry-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.receiving-entry-form .wide,
.receiving-entry-form .store-workbook-form-actions {
  grid-column: 1 / -1;
}

.receiving-photo-uploader {
  grid-column: span 2;
}

.receiving-photo-uploader .tableware-photo-upload-row {
  min-height: 116px;
}

@media (max-width: 680px) {
  .receiving-inspection-toolbar {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .receiving-inspection-toolbar strong {
    grid-column: 1 / -1;
    margin-left: 0;
  }

  .receiving-entry-form {
    grid-template-columns: 1fr;
  }

  .receiving-entry-form .wide,
  .receiving-entry-form .store-workbook-form-actions,
  .receiving-photo-uploader {
    grid-column: 1;
  }
}

.module-large {
  min-height: 320px;
}

.module-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}

.module-head > div {
  min-width: 0;
}

.module-head h2,
.module-head p {
  margin: 0;
  overflow-wrap: anywhere;
}

.module-head h2 {
  font-size: 17px;
}

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

.module-actions label {
  min-width: 150px;
}

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

.bar-row {
  display: grid;
  grid-template-columns: 96px minmax(120px, 1fr) 100px;
  align-items: center;
  gap: 12px;
}

.bar-row span {
  color: #42534f;
}

.bar-row div {
  height: 10px;
  background: #edf3f1;
  border-radius: 999px;
  overflow: hidden;
}

.bar-row-progress {
  width: 100%;
  height: 10px;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #edf3f1;
  appearance: none;
}

.bar-row-progress::-webkit-progress-bar {
  background: #edf3f1;
}

.bar-row-progress::-webkit-progress-value,
.bar-row-progress::-moz-progress-bar {
  background: var(--yr-success);
}

.bar-row strong {
  text-align: right;
}

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

.task-item,
.alert-item {
  display: grid;
  gap: 6px;
  padding: 12px;
  border-radius: 8px;
  background: #f8fbfa;
  border: 1px solid #e2e9e6;
  border-left: 4px solid var(--yr-success);
}

.task-item.warning,
.alert-item {
  border-left-color: var(--yr-warning);
}

.task-item.danger {
  border-left-color: var(--yr-error);
}

.task-item span,
.alert-item span {
  color: #667773;
  font-size: 13px;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.task-item strong,
.alert-item strong {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.task-item button {
  justify-self: start;
  padding: 0;
  color: var(--yr-success);
  background: transparent;
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: left;
  line-height: 1.25;
}

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

.rank-list div {
  display: grid;
  grid-template-columns: 30px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 8px;
  background: #f8fbfa;
}

.rank-list span {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: grid;
  place-items: center;
  background: #dce9e5;
  color: var(--yr-success);
  font-weight: 900;
}

.rank-list em {
  font-style: normal;
  font-weight: 800;
}

.entry-form {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 12px;
}

.responsive-form-grid,
.entry-form,
.employee-form,
.employee-form-section-grid,
.store-workbook-form,
.filter-bar,
.employee-filter-bar,
.work-record-filters {
  min-width: 0;
}

.entry-form label,
.employee-form label,
.file-box {
  display: grid;
  gap: 6px;
  color: #42534f;
  font-weight: 800;
  font-size: 13px;
}

.employee-form,
.employee-form-section-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
}

.employee-form-section {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 12px;
  background: #fffdf8;
}

.employee-form-section h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 15px;
}

.employee-form input,
.employee-form select,
.employee-form textarea {
  height: 38px;
  border: 1px solid #d5dfdb;
  border-radius: 8px;
  background: #fff;
  padding: 0 12px;
}

.table-action {
  min-height: 32px;
  border-radius: 8px;
  padding: 0 10px;
  color: var(--yr-success);
  background: #e5f4f1;
  font-weight: 900;
  white-space: normal;
  overflow-wrap: anywhere;
  line-height: 1.25;
}

.table-action.danger {
  color: #b45309;
  background: #fff7ed;
}

.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  min-width: 150px;
}

.table-actions .ghost-btn,
.table-actions .table-action {
  min-height: 32px;
  padding: 0 9px;
}

.form-action {
  align-self: end;
}

.form-notice {
  grid-column: 1 / -1;
  padding: 10px 12px;
  border: 1px solid rgba(223, 55, 22, 0.18);
  border-radius: 8px;
  background: #fff7f1;
  color: #7a3018;
  font-weight: 700;
}

.form-validation-summary {
  grid-column: 1 / -1;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid #d8a08f;
  border-radius: 10px;
  background: #fff4f0;
  color: #8b2f20;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
}

.table-shell {
  overflow-x: auto;
  overflow-y: hidden;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  overscroll-behavior-inline: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(111, 98, 88, 0.42) transparent;
  border-radius: 8px;
}

.table-shell table {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.table-shell table {
  width: max-content;
  min-width: 100%;
  max-width: none;
}

th,
td {
  text-align: left;
  white-space: nowrap;
  border-bottom: 1px solid #edf2f0;
  padding: 9px 10px;
  vertical-align: top;
  max-width: 280px;
  overflow-wrap: anywhere;
  line-height: 1.35;
}

th {
  color: var(--yr-muted);
  background: var(--yr-surface-muted);
  font-size: 12px;
  font-weight: 900;
}

tbody tr:hover td {
  background: #fffaf5;
}

.table-number-input {
  width: 96px;
  height: 34px;
  border: 1px solid #d4e1dd;
  border-radius: 8px;
  padding: 0 8px;
  font: inherit;
  color: #10201d;
  background: var(--yr-card);
}

.table-number-input:focus {
  outline: 2px solid rgba(15, 118, 110, 0.18);
  border-color: var(--yr-success);
}

.permission-management td:first-child strong,
.permission-management td:first-child span {
  display: block;
}

.permission-management-table {
  overflow: auto;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.store-management-table {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.store-management-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.store-management-scope-card {
  display: grid;
  gap: 5px;
  padding: 14px;
  background: #fffdf8;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.store-management-scope-card span,
.store-management-scope-card small {
  color: #667773;
  overflow-wrap: anywhere;
}

.store-management-scope-card span {
  font-size: 12px;
  font-weight: 800;
}

.store-management-scope-card strong {
  font-size: 20px;
  color: var(--yr-text);
  overflow-wrap: anywhere;
}

.store-management-table table {
  min-width: 640px;
}

.store-control-workbench {
  gap: 16px;
}

.store-control-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.36fr);
  gap: 16px;
  align-items: start;
}

.store-control-directory,
.store-control-side,
.store-control-table-panel {
  overflow: hidden;
}

.store-control-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.store-directory-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.store-directory-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.store-directory-toolbar select {
  min-height: 38px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  color: var(--yr-text);
}

.store-directory-toolbar strong {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0 12px;
  background: var(--yr-primary-subtle);
  color: var(--yr-text);
  white-space: nowrap;
}

.store-control-card {
  display: grid;
  gap: 14px;
  min-height: 176px;
  padding: 16px;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 10px;
  background: #fffaf5;
}

.store-control-card.needs-action {
  border-color: rgba(211, 47, 31, 0.28);
  background: #fff7f1;
}

.store-control-card.is-selected {
  border-color: var(--yr-primary);
  box-shadow: 0 0 0 2px rgba(223, 55, 22, 0.08);
}

.store-control-card header,
.store-control-actions {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  justify-content: space-between;
}

.store-control-card header div {
  display: grid;
  gap: 4px;
}

.store-control-card strong {
  color: var(--yr-text);
  font-size: 18px;
}

.store-control-card span,
.store-control-card small,
.store-control-rules span,
.store-control-ledger-main span,
.store-control-ledger-metrics span {
  color: var(--yr-text-secondary);
}

.store-control-card em {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 4px 9px;
  color: var(--yr-red);
  background: rgba(211, 47, 31, 0.08);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.store-control-card.ok em {
  color: var(--yr-success);
  background: rgba(15, 118, 110, 0.08);
}

.store-control-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.store-control-kpis span {
  display: grid;
  gap: 2px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.store-control-kpis b {
  color: var(--yr-text);
  font-size: 20px;
}

.store-control-actions {
  flex-wrap: wrap;
  justify-content: flex-start;
}

.store-control-rules {
  display: grid;
  gap: 10px;
}

.store-control-inspector {
  display: grid;
  gap: 14px;
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
}

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

.store-inspector-head h2 {
  margin: 4px 0 2px;
  color: var(--yr-text);
}

.store-inspector-head p,
.store-inspector-kpis span,
.store-inspector-kpis small {
  color: var(--yr-text-secondary);
}

.store-inspector-kpis {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.store-inspector-kpis article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.store-inspector-kpis strong {
  color: var(--yr-text);
  font-size: 22px;
}

.store-inspector-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.store-control-rules article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.store-control-ledger {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.store-control-ledger-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.72fr) minmax(320px, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.store-control-ledger-row.needs-action {
  border-color: rgba(211, 47, 31, 0.24);
  background: #fff7f1;
}

.store-control-ledger-main,
.store-control-ledger-actions {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.store-control-ledger-main strong {
  overflow: hidden;
  color: var(--yr-text);
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-control-ledger-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.store-control-ledger-metrics div {
  min-width: 0;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.74);
}

.store-control-ledger-metrics span,
.store-control-ledger-metrics strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-control-ledger-metrics strong {
  margin-top: 3px;
  color: var(--yr-text);
}

.store-control-ledger-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.store-control-ledger-actions .ghost-btn {
  min-height: 34px;
  white-space: nowrap;
}

.store-management-tabs {
  display: inline-flex;
  width: max-content;
  max-width: 100%;
  gap: 4px;
  padding: 4px;
  border: 1px solid var(--yr-border);
  border-radius: 10px;
  background: #fffaf5;
}

.store-management-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  padding: 0 18px;
  background: transparent;
  color: var(--yr-text-secondary);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.store-management-tabs button.is-active {
  background: var(--yr-card);
  color: var(--yr-primary);
  box-shadow: 0 1px 4px rgba(50, 35, 20, 0.12);
}

.station-dish-workspace {
  display: grid;
  gap: 16px;
  overflow: hidden;
}

.station-dish-head {
  margin: 0;
}

.station-dish-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.station-dish-summary.is-compact {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.station-dish-summary article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 13px 14px;
  border: 1px solid rgba(50, 35, 20, 0.09);
  border-radius: 10px;
  background: #fffaf5;
}

.station-dish-summary article.needs-action {
  border-color: rgba(211, 47, 31, 0.2);
  background: #fff7f1;
}

.station-dish-summary span,
.station-dish-summary small {
  color: var(--yr-text-secondary);
}

.station-dish-summary span {
  font-size: 12px;
  font-weight: 800;
}

.station-dish-summary strong {
  color: var(--yr-text);
  font-size: 23px;
}

.station-dish-filter {
  display: grid;
  grid-template-columns: minmax(130px, 0.8fr) minmax(140px, 0.9fr) minmax(120px, 0.7fr) minmax(180px, 1.2fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.station-dish-filter label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.station-dish-filter input,
.station-dish-filter select {
  width: 100%;
  min-height: 38px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 0 10px;
  background: var(--yr-card);
  color: var(--yr-text);
  font: inherit;
}

.station-dish-filter-actions,
.station-dish-actions,
.station-dish-footer div {
  display: flex;
  gap: 7px;
  align-items: center;
}

.station-dish-list-head,
.station-dish-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.5fr) minmax(160px, 0.9fr) minmax(160px, 0.9fr) auto;
  gap: 12px;
  align-items: center;
}

.station-dish-list-head {
  padding: 0 13px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.station-dish-list {
  display: grid;
  gap: 8px;
}

.station-dish-row {
  min-height: 76px;
  padding: 12px 13px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffdf9;
}

.station-dish-row.scheduled {
  border-color: rgba(173, 117, 28, 0.22);
  background: #fffaf0;
}

.station-dish-row.inactive {
  background: #faf8f4;
}

.station-dish-name,
.station-dish-station,
.station-dish-status {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.station-dish-name strong,
.station-dish-station strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.station-dish-name small,
.station-dish-station span,
.station-dish-status small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.station-dish-status .status-pill {
  width: max-content;
}

.station-dish-links {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.station-dish-links span {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 999px;
  padding: 3px 7px;
  background: rgba(255, 255, 255, 0.75);
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.station-dish-actions {
  justify-content: flex-end;
}

.station-dish-actions .ghost-btn {
  min-height: 34px;
  white-space: nowrap;
}

.station-dish-footer {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  padding-top: 12px;
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.station-dish-boundary {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid rgba(15, 118, 110, 0.14);
  border-radius: 10px;
  background: rgba(15, 118, 110, 0.05);
}

.station-dish-boundary strong {
  flex: 0 0 auto;
  color: var(--yr-success);
}

.station-dish-boundary span {
  color: var(--yr-text-secondary);
}

.station-dish-drawer .drawer-body {
  display: grid;
  grid-auto-rows: max-content;
  gap: 14px;
  align-content: start;
}

.station-dish-drawer {
  width: min(680px, 100vw);
}

.station-dish-form input[readonly] {
  background: #f6f2eb;
  color: var(--yr-text-secondary);
}

.store-directory-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  border-top: 1px solid var(--yr-border);
  padding-top: 12px;
}

.store-directory-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.store-directory-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.permission-management-table table {
  min-width: 980px;
}

.compact-table table {
  min-width: 760px;
}

.standard-table table {
  min-width: 720px;
}

.payroll-editable-table,
.employee-dynamic-table {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.payroll-editable-table table,
.employee-dynamic-table table {
  min-width: 920px;
}

.muted-text {
  color: #667773;
  font-size: 12px;
  margin-top: 3px;
}

.switch-control {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 72px;
  font-size: 12px;
  color: #667773;
}

.switch-control input {
  width: 34px;
  height: 18px;
  accent-color: #df6b22;
}

.permission-scope-select {
  display: block;
  min-width: 150px;
}

.permission-scope-select select {
  width: 100%;
  min-height: 34px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf8;
  color: var(--yr-text);
  font-weight: 800;
  padding: 0 10px;
}

.notice {
  margin: 8px 0 12px;
  padding: 10px 12px;
  border-radius: 8px;
  font-weight: 800;
}

.status-state {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-surface);
}

.empty-state {
  border-radius: 8px;
  background: var(--yr-surface-muted);
  border: 1px dashed var(--yr-border);
}

.notice.success {
  color: var(--yr-success);
  background: #e5f4f1;
}

.notice.error {
  color: #9a3412;
  background: #fff7ed;
}

.notice.warning {
  color: #8a5b17;
  background: #fff8e7;
}

.data-governance-page {
  display: grid;
  gap: 16px;
}

.data-governance-hero {
  background: linear-gradient(135deg, #fffdf9 0%, #f7eee5 62%, #eef6f2 100%);
}

.data-governance-lanes {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.data-governance-lanes article {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.74);
}

.data-governance-lanes p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.data-governance-lanes button {
  align-self: end;
  justify-self: start;
}

.data-governance-pipeline,
.template-command-strip,
.resource-flow-map {
  display: grid;
  gap: 10px;
}

.data-governance-pipeline {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 12px;
}

.data-governance-pipeline article,
.template-command-strip article,
.resource-flow-map article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.82);
}

.data-governance-pipeline span,
.data-governance-pipeline small,
.template-command-strip span,
.template-command-strip small,
.resource-flow-map span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.data-governance-pipeline strong,
.template-command-strip strong,
.resource-flow-map strong {
  color: var(--yr-text);
  font-size: 18px;
}

.data-governance-console,
.template-workbench,
.resource-workbench {
  display: grid;
  gap: 16px;
}

.template-workbench {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  align-items: start;
}

.template-intake-panel,
.template-routing-panel,
.resource-command-panel,
.resource-ledger-panel,
.resource-priority-panel {
  min-width: 0;
  overflow: hidden;
}

.template-upload-action {
  position: relative;
  overflow: hidden;
  cursor: pointer;
}

.template-upload-action input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.template-command-strip {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 12px 0;
}

.template-intake-table {
  display: grid;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  overflow: hidden;
}

.template-center-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 10px;
  background: #fffaf5;
}

.template-center-toolbar label {
  display: grid;
  gap: 5px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.template-center-toolbar select {
  min-height: 38px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  color: var(--yr-text);
}

.template-center-toolbar strong {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  padding: 0 12px;
  background: var(--yr-primary-subtle);
  color: var(--yr-text);
  white-space: nowrap;
}

.template-intake-head,
.template-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 120px 150px 88px;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 0 12px;
}

.template-intake-head {
  background: #fbf3eb;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.template-zone {
  display: grid;
  gap: 12px;
}

.template-zone > div:first-child {
  padding: 16px;
  border-radius: 8px;
  background: #f8fbfa;
  border: 1px dashed #b7c7c2;
}

.template-zone p {
  margin: 6px 0 0;
  color: #667773;
}

.template-row {
  border-top: 1px solid var(--yr-border);
  background: var(--yr-card);
}

.template-row.is-selected {
  background: #fff4e8;
}

.template-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

.template-row em {
  width: fit-content;
  border-radius: 999px;
  background: var(--yr-accent-soft);
  color: var(--yr-accent);
  padding: 3px 8px;
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}

.template-row small {
  color: var(--yr-text-secondary);
}

.template-row button {
  min-height: 32px;
  padding: 0 10px;
  justify-content: center;
}

.template-center-inspector {
  display: grid;
  gap: 12px;
  margin-bottom: 12px;
  padding: 14px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
}

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

.template-inspector-head h3 {
  margin: 4px 0 2px;
  color: var(--yr-text);
}

.template-inspector-head p,
.template-inspector-flow span,
.template-inspector-flow small {
  color: var(--yr-text-secondary);
}

.template-inspector-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.template-inspector-flow article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.template-inspector-flow strong {
  color: var(--yr-text);
}

.template-inspector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.template-checklist {
  display: grid;
  gap: 8px;
}

.template-checklist div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
}

.template-checklist b {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--yr-text);
  color: #fff8ee;
}

.template-routing-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
  flex-wrap: wrap;
}

.template-center-pagination,
.resource-ledger-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 12px;
  border-top: 1px solid var(--yr-border);
  padding-top: 12px;
}

.template-center-pagination span,
.resource-ledger-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.template-center-pagination div,
.resource-ledger-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

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

.template-mapping-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

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

.resource-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.resource-workbench {
  grid-template-columns: minmax(240px, 0.32fr) minmax(0, 1fr) minmax(280px, 0.35fr);
  align-items: start;
}

.resource-command-panel {
  grid-column: 1 / -1;
}

.resource-main-column {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.resource-command-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.resource-command-metrics article {
  display: grid;
  gap: 4px;
  min-height: 86px;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
}

.resource-command-metrics span,
.resource-command-metrics small {
  color: var(--yr-text-secondary);
}

.resource-module-rail {
  grid-template-columns: 1fr;
  gap: 10px;
}

.resource-module-rail .resource-card {
  min-height: auto;
  padding: 14px;
}

.resource-center-inspector {
  display: grid;
  gap: 14px;
  min-width: 0;
  border-color: rgba(224, 55, 28, 0.18);
  background: linear-gradient(180deg, #fff8f1 0%, #fff 100%);
}

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

.resource-inspector-head h2 {
  margin: 4px 0;
}

.resource-inspector-head p,
.resource-inspector-route span,
.resource-inspector-route small {
  color: var(--yr-text-secondary);
}

.resource-inspector-route {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.resource-inspector-route article {
  display: grid;
  gap: 4px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.resource-inspector-route strong,
.resource-inspector-route small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.resource-inspector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.resource-ledger-table {
  display: grid;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  overflow: hidden;
}

.resource-ledger-head,
.resource-ledger-row {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 130px minmax(220px, 1.4fr) 72px 76px;
  gap: 10px;
  align-items: center;
  padding: 0 12px;
  min-height: 46px;
}

.resource-ledger-head {
  background: #fbf3eb;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.resource-ledger-row {
  border-top: 1px solid var(--yr-border);
  background: var(--yr-card);
}

.resource-ledger-row.is-selected {
  background: #fff4e8;
}

.resource-ledger-row strong,
.resource-ledger-row span,
.resource-ledger-row small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

.resource-ledger-row small {
  color: var(--yr-text-secondary);
}

.resource-ledger-row button {
  min-height: 32px;
  padding: 0 10px;
  justify-content: center;
}

.template-map-card {
  display: grid;
  gap: 14px;
}

.template-map-footer {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding-top: 10px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
}

.template-map-footer span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.resource-flow-map {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 12px;
}

.resource-card ul {
  margin: 0;
  padding-left: 18px;
  color: #263633;
}

.resource-card li {
  margin: 6px 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.status-pill {
  white-space: nowrap;
  border-radius: 999px;
  background: #fff1e8;
  color: var(--yr-red);
  padding: 5px 10px;
  font-size: 12px;
}

.mapping-section {
  border-radius: 8px;
  background: #f8fbfa;
  border: 1px solid #e2e9e6;
  padding: 12px;
}

.mapping-section span,
.mapping-columns span {
  display: block;
  color: #667773;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 6px;
}

.mapping-section p,
.mapping-use {
  margin: 0;
  color: #263633;
}

.mapping-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.mapping-columns ul {
  margin: 0;
  padding-left: 18px;
  color: #263633;
}

.mapping-columns li {
  margin: 4px 0;
}

.mapping-use {
  border-top: 1px solid #e2e9e6;
  padding-top: 12px;
}

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

.checklist div {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
  background: #f8fbfa;
  min-width: 0;
}

.checklist i {
  font-style: normal;
  color: var(--yr-success);
  font-weight: 900;
}

.checklist span {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.action-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.filter-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 1fr)) auto;
  align-items: end;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px;
  border-radius: 8px;
  background: #f8fbfa;
  border: 1px solid #e2e9e6;
}

.filter-bar label {
  display: grid;
  gap: 6px;
  color: #42534f;
  font-size: 13px;
  font-weight: 800;
}

.filter-bar select {
  height: 36px;
  border: 1px solid #d5dfdb;
  border-radius: 8px;
  background: #fff;
  padding: 0 10px;
}

.filter-bar strong {
  white-space: nowrap;
  color: var(--yr-success);
}

.employee-filter-bar {
  display: grid;
  grid-template-columns: minmax(128px, 0.55fr) minmax(126px, 0.55fr) minmax(220px, 1fr) auto auto;
  align-items: end;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.employee-filter-bar label {
  display: grid;
  gap: 6px;
  color: var(--yr-muted);
  font-size: 13px;
  font-weight: 800;
}

.employee-filter-bar input,
.employee-filter-bar select {
  height: 34px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf8;
  padding: 0 12px;
  min-width: 0;
  color: var(--yr-text);
}

.employee-filter-bar strong {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  color: var(--yr-red);
  font-weight: 900;
  white-space: nowrap;
}

.employee-archive-page {
  display: grid;
  gap: 10px;
  width: 100%;
  min-width: 0;
}

.employee-archive-template {
  align-content: start;
}

.employee-archive-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  background: linear-gradient(135deg, var(--yr-card) 0%, #fff8ee 62%, #f8eadb 100%);
  padding-top: 14px;
  padding-bottom: 14px;
}

.employee-archive-command-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.employee-archive-command-bar span {
  color: var(--yr-muted);
  font-size: 12px;
  font-weight: 800;
  background: var(--yr-accent-soft);
  border: 1px solid var(--yr-border);
  border-radius: 999px;
  padding: 6px 10px;
}

.employee-archive-hero h2 {
  margin: 0;
  font-size: 23px;
  color: var(--yr-text);
}

.employee-archive-hero p {
  margin: 5px 0 0;
  max-width: 860px;
  color: var(--yr-muted);
}

.employee-archive-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.employee-archive-summary article {
  display: grid;
  gap: 2px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.76);
  box-shadow: 0 12px 28px rgba(75, 46, 24, 0.05);
}

.employee-archive-summary span,
.employee-archive-summary small {
  color: var(--yr-muted);
}

.employee-archive-summary strong {
  color: var(--yr-text);
  font-size: 18px;
}

.employee-archive-filter-panel,
.employee-archive-main,
.employee-detail-panel,
.employee-archive-maintenance {
  border-color: var(--yr-border);
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 34px rgba(75, 46, 24, 0.06);
}

.employee-archive-shell {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(340px, 0.72fr);
  gap: 16px;
  align-items: start;
}

.employee-archive-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.employee-archive-list-zone,
.employee-archive-reminder-zone {
  min-width: 0;
}

.employee-archive-list-zone {
  display: grid;
  gap: 10px;
}

.employee-archive-side,
.employee-archive-reminder-zone {
  min-width: 0;
}

.employee-archive-table table {
  min-width: 980px;
  width: 100%;
}

.employee-archive-table th,
.employee-archive-table td {
  white-space: nowrap;
}

.employee-archive-table [data-employee-col="store"],
.employee-archive-table [data-employee-col="department"],
.employee-archive-table [data-employee-col="status"] {
  width: 74px;
}

.employee-archive-table [data-employee-col="level"],
.employee-archive-table [data-employee-col="phone"],
.employee-archive-table [data-employee-col="actions"] {
  width: 118px;
}

.employee-archive-table [data-employee-col="workflowActions"] {
  width: 152px;
}

.employee-archive-table th[data-employee-col="workflowActions"],
.employee-archive-table td[data-employee-col="workflowActions"],
.employee-archive-table th[data-employee-col="actions"],
.employee-archive-table td[data-employee-col="actions"] {
  position: sticky;
  background: #fffdf9;
}

.employee-archive-table th[data-employee-col="workflowActions"],
.employee-archive-table td[data-employee-col="workflowActions"] {
  right: 118px;
  z-index: 3;
}

.employee-archive-table th[data-employee-col="actions"],
.employee-archive-table td[data-employee-col="actions"] {
  right: 0;
  z-index: 4;
}

.employee-archive-table thead th[data-employee-col="workflowActions"],
.employee-archive-table thead th[data-employee-col="actions"] {
  z-index: 6;
}

.employee-archive-table [data-employee-col="workflowActions"] .employee-workflow-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  width: 128px;
}

.employee-archive-table [data-employee-col="workflowActions"] .employee-workflow-actions .table-action {
  width: 100%;
}

.employee-archive-table [data-employee-col="baseSalary"],
.employee-archive-table [data-employee-col="positionSalary"],
.employee-archive-table [data-employee-col="socialSubsidy"] {
  width: 86px;
}

.employee-archive-table .table-actions {
  min-width: 112px;
  gap: 4px;
  flex-wrap: nowrap;
}

.employee-archive-table .table-action {
  min-height: 28px;
  padding: 0 7px;
}

.employee-archive-table tr.selected {
  background: #fff4e9;
}

.employee-mobile-cards {
  display: none;
}

.employee-mobile-card {
  display: grid;
  gap: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf9;
  padding: 12px;
}

.employee-mobile-card.selected {
  border-color: rgba(196, 90, 46, 0.45);
  background: #fff7ef;
}

.employee-mobile-card > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.employee-mobile-card strong {
  color: var(--yr-text);
  font-size: 16px;
}

.employee-mobile-card dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.employee-mobile-card dl div {
  display: grid;
  gap: 2px;
}

.employee-mobile-card dt {
  color: var(--yr-muted);
  font-size: 11px;
  font-weight: 800;
}

.employee-mobile-card dd {
  margin: 0;
  color: var(--yr-text);
  overflow-wrap: anywhere;
}

.employee-detail-panel {
  display: grid;
  gap: 12px;
}

.employee-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.employee-detail-card {
  display: grid;
  gap: 8px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf8;
  padding: 12px;
}

.employee-detail-card h3 {
  margin: 0;
  font-size: 15px;
}

.employee-detail-card div {
  display: grid;
  gap: 2px;
  padding-top: 7px;
  border-top: 1px solid #f0e5d6;
}

.employee-detail-card span {
  color: var(--yr-muted);
  font-size: 12px;
}

.employee-detail-card strong {
  color: var(--yr-text);
  font-size: 14px;
  overflow-wrap: anywhere;
}

.employee-detail-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.employee-detail-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(50, 35, 20, 0.34);
}

.employee-detail-modal {
  width: min(960px, 100%);
  max-height: min(86vh, 760px);
  overflow: auto;
  border-radius: 10px;
  box-shadow: 0 28px 68px rgba(50, 35, 20, 0.24);
}

.employee-detail-modal .employee-detail-panel {
  border-color: #f0d7c7;
  background: #fffdf8;
}

.employee-form-modal-backdrop,
.employee-reminder-detail-backdrop {
  position: fixed;
  inset: 0;
  z-index: 82;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(50, 35, 20, 0.34);
}

.employee-form-modal {
  width: min(1040px, 100%);
  max-height: min(88vh, 780px);
  overflow: auto;
  border-radius: 10px;
  box-shadow: 0 28px 68px rgba(50, 35, 20, 0.24);
}

.employee-form-modal .employee-archive-maintenance {
  border-color: #f0d7c7;
  background: #fffdf8;
}

.employee-form-modal-footer {
  position: sticky;
  bottom: 0;
  z-index: 1;
  grid-column: 1 / -1;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 0 0;
  background: linear-gradient(180deg, rgba(255, 253, 248, 0), #fffdf8 32%);
}

.employee-reminder-center {
  display: grid;
  gap: 10px;
  padding: 12px;
  max-height: none;
  overflow: visible;
}

.employee-reminder-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.employee-reminder-item {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf8;
}

.employee-reminder-summary {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 10px;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 8px 10px;
  color: var(--yr-text);
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.employee-reminder-summary span,
.employee-reminder-summary strong,
.employee-reminder-summary small {
  overflow-wrap: anywhere;
}

.employee-reminder-summary.active {
  border-color: rgba(196, 90, 46, 0.42);
  background: #fff3ea;
}

.employee-reminder-summary span {
  color: var(--yr-text);
  font-weight: 900;
}

.employee-reminder-summary strong {
  color: var(--yr-red);
}

.employee-reminder-summary small {
  grid-column: 1 / -1;
  color: var(--yr-muted);
  font-size: 12px;
}

.employee-reminder-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.employee-reminder-actions .ghost-btn.active {
  border-color: rgba(196, 90, 46, 0.4);
  background: #fff3ea;
  color: var(--yr-red);
}

.employee-reminder-priority {
  display: grid;
  gap: 10px;
}

.employee-reminder-priority-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.employee-reminder-priority-head strong {
  color: var(--yr-text);
  font-size: 15px;
}

.employee-reminder-priority-head span {
  color: var(--yr-muted);
  font-size: 12px;
}

.employee-reminder-priority-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.employee-reminder-priority-list article {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf4;
}

.employee-reminder-priority-list article > div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}

.employee-reminder-priority-list strong {
  color: var(--yr-text);
}

.employee-reminder-priority-list span {
  color: var(--yr-muted);
  font-size: 12px;
}

.employee-reminder-priority-list p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}

.employee-reminder-priority-list em {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--yr-card);
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-style: normal;
}

.employee-reminder-detail-list {
  display: grid;
  gap: 8px;
  max-height: min(58vh, 520px);
  overflow: auto;
  padding: 0 8px 12px;
}

.employee-reminder-detail-modal {
  width: min(680px, 100%);
  max-height: min(82vh, 680px);
  overflow: auto;
  border-color: #f0d7c7;
  background: #fffdf8;
}

.employee-reminder-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px 12px;
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff5ec;
  color: var(--yr-text);
  text-align: left;
}

.employee-reminder-row > div {
  min-width: 0;
}

.employee-reminder-row:hover {
  background: #ffe9dc;
}

.employee-reminder-row strong,
.employee-reminder-row span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.employee-reminder-row strong {
  white-space: nowrap;
}

.employee-reminder-row span {
  color: var(--yr-muted);
  font-size: 12px;
  white-space: normal;
}

.compact-head {
  margin-bottom: 10px;
}

.status-pill.ok {
  color: #1f7a50;
  background: #edf8f1;
}

.status-pill.warn {
  color: #b45309;
  background: #fff5df;
}

.status-pill.muted {
  color: var(--yr-muted);
  background: #f7f0e7;
}

.status-pill.neutral {
  color: var(--yr-text);
  background: #fff7ed;
  border: 1px solid rgba(223, 55, 22, 0.12);
}

.audit-log-table td {
  vertical-align: top;
  overflow-wrap: anywhere;
}

.store-workbook-page {
  display: grid;
  gap: 16px;
}

@media (max-width: 1440px) {
  :root {
    --sidebar-width: clamp(168px, 10vw, 220px);
  }

  .workspace-header,
  .workspace-body {
    padding-left: 22px;
    padding-right: 22px;
  }

  .dashboard-card-grid,
  .employee-archive-summary,
  .store-workbook-summary,
  .data-card-grid {
    gap: 10px;
  }

  .module {
    padding: 15px;
  }
}

.ops-management-page {
  width: 100%;
  display: grid;
  gap: 12px;
  align-content: start;
}

.ops-pro-page {
  gap: 14px;
}

.ops-pro-header {
  border-radius: var(--yr-radius-card);
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
  box-shadow: var(--yr-shadow-card);
}

.ops-pro-header .module-head h2 {
  font-size: 24px;
  letter-spacing: 0;
}

.ops-pro-header .module-head p,
.ops-pro-form-panel .module-head p,
.ops-pro-table-panel .module-head p,
.ops-pro-process p {
  color: var(--yr-text-secondary);
}

.ops-pro-header .module-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.ops-pro-header .store-filter-label {
  min-width: 168px;
  color: var(--yr-text-secondary);
}

.ops-pro-form-panel,
.ops-pro-table-panel,
.ops-pro-process {
  border-radius: var(--yr-radius-card);
  background: var(--yr-card);
  box-shadow: var(--yr-shadow-card);
}

.ops-pro-form-panel .entry-form {
  grid-template-columns: repeat(3, minmax(128px, 1fr));
}

.attendance-entry-panel.ops-pro-form-panel .entry-form {
  grid-template-columns: repeat(5, minmax(112px, 1fr));
}

.ops-pro-form-panel .entry-form label {
  min-width: 0;
  color: var(--yr-text-secondary);
}

.ops-pro-form-panel .entry-form input,
.ops-pro-form-panel .entry-form select,
.ops-pro-form-panel .entry-form textarea {
  min-height: var(--yr-control-height);
  border-color: var(--yr-border);
  background: var(--yr-card);
  color: var(--yr-text-body);
}

.ops-pro-form-panel .entry-form .form-action {
  min-width: 112px;
  white-space: nowrap;
}

.ops-pro-table-panel .table-shell {
  border-radius: var(--yr-radius-card);
}

.payroll-editable-table table {
  min-width: 1120px;
}

.payroll-base-panel .table-shell table {
  min-width: 840px;
}

.payroll-action-panel .compact-table table {
  min-width: 760px;
}

.ops-pro-table-panel th,
.ops-pro-table-panel td {
  padding: 10px 12px;
}

.ops-pro-table-panel td:last-child,
.ops-pro-table-panel th:last-child {
  min-width: 104px;
}

.attendance-workspace,
.payroll-workspace,
.operations-workspace,
.store-management-workspace,
.system-admin-workspace,
.audit-log-workspace,
.dashboard-workspace,
.analytics-workspace {
  max-width: min(100%, 1680px);
}

.attendance-command,
.payroll-command,
.operations-command,
.store-management-command,
.system-admin-command,
.permission-management-command,
.audit-log-command,
.dashboard-command,
.analytics-command {
  display: grid;
  gap: 12px;
  padding: 18px;
  background: linear-gradient(135deg, var(--yr-card) 0%, #fff8f0 62%, #f3e6da 100%);
  border: 1px solid var(--yr-border);
  box-shadow: 0 14px 34px rgba(47, 38, 30, 0.05);
}

.attendance-command .module-head,
.payroll-command .module-head,
.operations-command .module-head,
.store-management-command .module-head,
.system-admin-command .module-head,
.audit-log-command .module-head,
.dashboard-command .module-head,
.analytics-command .module-head {
  align-items: flex-start;
  gap: 12px;
}

.attendance-command .module-actions,
.payroll-command .module-actions {
  align-items: end;
}

.attendance-summary-row,
.payroll-summary-row {
  margin-top: 2px;
}

.attendance-grid,
.operations-grid,
.store-management-grid,
.dashboard-ops-grid,
.analytics-table-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.system-admin-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: start;
}

.system-admin-grid article,
.audit-log-summary article {
  min-width: 0;
}

.system-admin-grid article {
  display: grid;
  gap: 5px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.82);
}

.system-admin-control-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.system-admin-zone {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  min-height: 180px;
  padding: 14px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.system-admin-zone em {
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  background: rgba(15, 118, 110, 0.08);
  color: var(--yr-success);
  font-style: normal;
  font-weight: 900;
}

.system-admin-zone div {
  display: grid;
  gap: 6px;
}

.system-admin-zone strong {
  color: var(--yr-text);
  font-size: 18px;
}

.system-admin-zone span {
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.system-admin-hub {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr) minmax(320px, 0.42fr);
  gap: 16px;
  align-items: start;
}

.system-admin-hub-rail {
  position: sticky;
  top: 16px;
  display: grid;
  gap: 8px;
}

.system-admin-hub-rail span {
  display: grid;
  gap: 3px;
  min-height: 62px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: rgba(255, 250, 245, 0.82);
}

.system-admin-hub-rail span.active {
  border-color: rgba(211, 59, 26, 0.32);
  background: #fff4eb;
  box-shadow: inset 3px 0 0 var(--yr-red);
}

.system-admin-hub-rail strong {
  color: var(--yr-text);
}

.system-admin-hub-rail em {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-style: normal;
  line-height: 1.35;
}

.system-admin-hub-main,
.system-admin-hub-side {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.system-admin-boundary-panel {
  background: linear-gradient(135deg, #fffdf8 0%, #f5fbf8 100%);
}

.system-admin-boundary-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.system-admin-boundary-list span,
.system-platform-snapshot-list span {
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(15, 118, 110, 0.07);
  color: var(--yr-success);
  font-size: 12px;
  font-weight: 900;
}

.system-admin-hub .permission-management-workspace {
  grid-column: auto;
}

.system-admin-hub .permission-management-command {
  padding: 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}

.system-admin-hub .function-entry-panel,
.system-admin-hub .release-readiness-checklist,
.system-admin-hub .system-platform-snapshot {
  margin: 0;
}

.system-admin-hub .release-readiness-grid {
  grid-template-columns: 1fr;
}

.system-admin-hub .release-readiness-card {
  min-height: 0;
}

.system-platform-snapshot-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.system-admin-grid article span,
.system-admin-grid article small {
  color: var(--yr-muted);
}

.system-admin-grid article span {
  font-size: 12px;
  font-weight: 900;
}

.system-admin-grid article strong {
  color: var(--yr-text);
  overflow-wrap: anywhere;
}

.system-admin-note {
  grid-column: span 1;
}

.function-entry-panel {
  align-content: start;
}

.function-entry-grid {
  display: grid;
  gap: 8px;
}

.function-entry-catalog {
  display: grid;
  gap: 14px;
}

.function-entry-group {
  display: grid;
  gap: 8px;
  padding-top: 10px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
}

.function-entry-group:first-child {
  padding-top: 0;
  border-top: 0;
}

.function-entry-group > div:first-child {
  display: grid;
  gap: 3px;
}

.function-entry-group > div:first-child strong {
  color: var(--yr-text);
}

.function-entry-group > div:first-child span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.function-entry {
  display: grid;
  gap: 4px;
  width: 100%;
  min-height: 56px;
  padding: 10px 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-surface);
  color: var(--yr-text);
  text-align: left;
  cursor: pointer;
}

.function-entry:hover,
.function-entry:focus-visible {
  border-color: rgba(211, 59, 26, 0.38);
  box-shadow: 0 8px 18px rgba(73, 44, 24, 0.08);
}

.function-entry span {
  font-size: 12px;
  line-height: 1.45;
  color: var(--yr-muted);
}

.business-import-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 14px;
}

.business-import-entry h3 {
  margin: 2px 0 4px;
  color: var(--yr-text);
}

.business-import-entry p {
  margin: 0;
  color: var(--yr-muted);
  line-height: 1.6;
}

.business-import-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: min(420px, 100%);
}

.business-import-actions span {
  max-width: 220px;
  color: var(--yr-muted);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

@media (max-width: 720px) {
  .business-import-entry {
    grid-template-columns: 1fr;
  }

  .business-import-actions {
    min-width: 0;
    justify-content: stretch;
  }

  .business-import-actions .ghost-btn {
    flex: 1 1 150px;
  }
}

.permission-management-workspace {
  grid-column: span 2;
  min-width: 0;
}

.rbac-workbench {
  display: grid;
  gap: 14px;
}

.rbac-console {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.rbac-user-list {
  display: grid;
  gap: 12px;
}

.rbac-side-panel {
  position: sticky;
  top: 16px;
  min-width: 0;
}

.rbac-user-card,
.rbac-matrix-panel {
  display: grid;
  gap: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  padding: 14px;
}

.rbac-user-card.needs-review {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.rbac-user-card.is-selected {
  border-color: var(--yr-primary);
  box-shadow: 0 0 0 2px rgba(223, 55, 22, 0.08);
}

.rbac-user-head,
.rbac-scope-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.rbac-user-head strong {
  display: block;
  color: var(--yr-text);
  font-size: 16px;
}

.rbac-user-head span,
.rbac-scope-row > span,
.rbac-permission-group span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.rbac-user-head em {
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--yr-primary-subtle);
  color: var(--yr-primary);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

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

.rbac-policy-strip article,
.rbac-account-inspector,
.rbac-impact-panel {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  padding: 12px;
}

.rbac-policy-strip article.needs-review {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.rbac-policy-strip span,
.rbac-policy-strip small,
.rbac-user-summary span,
.rbac-risk-tags span,
.rbac-account-inspector p,
.rbac-inspector-scope span,
.rbac-impact-panel small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.rbac-policy-strip strong {
  display: block;
  margin: 4px 0;
  color: var(--yr-text);
  font-size: 20px;
}

.rbac-user-summary,
.rbac-risk-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.rbac-risk-tags span {
  border-radius: 999px;
  background: #fff;
  border: 1px solid rgba(50, 35, 20, 0.08);
  color: var(--yr-text);
  font-weight: 800;
  padding: 5px 8px;
}

.rbac-permission-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.rbac-permission-group {
  display: grid;
  gap: 10px;
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-bg);
}

.rbac-permission-group strong {
  display: block;
  color: var(--yr-text);
  font-size: 13px;
}

.rbac-toggle-list {
  display: grid;
  gap: 7px;
}

.rbac-toggle-list label {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.rbac-toggle-list label > span {
  color: var(--yr-text);
  font-weight: 800;
}

.rbac-matrix-panel .module-head {
  margin-bottom: 0;
}

.rbac-side-panel {
  display: grid;
  gap: 12px;
}

.rbac-account-inspector {
  display: grid;
  gap: 12px;
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
}

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

.rbac-inspector-head h3 {
  margin: 4px 0 2px;
  color: var(--yr-text);
  font-size: 20px;
}

.rbac-inspector-scope {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.44fr);
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
  padding: 10px;
}

.rbac-inspector-scope strong,
.rbac-impact-panel strong {
  display: block;
  color: var(--yr-text);
}

.rbac-inspector-groups {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.rbac-impact-panel {
  display: grid;
  gap: 4px;
  background: #fffaf5;
}

.permission-risk-preview {
  display: grid;
  gap: 12px;
  margin-bottom: 14px;
}

.permission-risk-head h3 {
  margin: 4px 0 6px;
  color: var(--yr-text);
}

.permission-risk-head p {
  margin: 0;
  color: var(--yr-muted);
  line-height: 1.6;
}

.permission-group-grid,
.permission-risk-grid {
  display: grid;
  gap: 10px;
}

.permission-group-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.permission-risk-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.permission-group-grid article,
.permission-risk-card {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
  padding: 12px;
}

.permission-risk-card.needs-review {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.permission-group-grid span,
.permission-group-grid small,
.permission-risk-card span,
.permission-risk-card small {
  color: var(--yr-muted);
}

.permission-group-grid span,
.permission-risk-card span {
  font-size: 12px;
  font-weight: 900;
}

.permission-group-grid strong,
.permission-risk-card strong {
  display: block;
  color: var(--yr-text);
}

.permission-risk-card p {
  margin: 8px 0;
  color: var(--yr-text);
  line-height: 1.5;
}

.release-readiness-checklist {
  margin-top: 12px;
}

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

.release-readiness-card {
  display: grid;
  gap: 10px;
  min-height: 190px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
  padding: 14px;
}

.release-readiness-card span {
  color: var(--yr-muted);
  font-size: 12px;
  font-weight: 900;
}

.release-readiness-card strong {
  display: block;
  margin-top: 4px;
  color: var(--yr-text);
}

.release-readiness-card p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.6;
}

.release-readiness-card div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-self: end;
}

.release-readiness-card em {
  border-radius: 999px;
  background: var(--yr-bg);
  color: var(--yr-text-secondary);
  font-style: normal;
  font-size: 12px;
  padding: 5px 8px;
}

.audit-log-list-panel,
.permission-management-workspace {
  overflow: hidden;
}

.dashboard-command-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.34fr);
  gap: 14px;
  align-items: stretch;
  margin-top: 0;
}

.dashboard-command-center {
  gap: 14px;
}

.dashboard-commandbar {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  background: #fffdf9;
}

.dashboard-commandbar-title {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.dashboard-commandbar-title h2 {
  margin: 0;
  color: var(--yr-text);
  font-size: 26px;
  letter-spacing: 0;
}

.dashboard-commandbar-title p {
  margin: 0;
  color: var(--yr-text-secondary);
}

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

.dashboard-commandbar-metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
}

.dashboard-commandbar-metrics article {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fff;
}

.dashboard-commandbar-metrics article {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 12px;
}

.dashboard-commandbar-metrics article.needs-action {
  border-color: rgba(211, 59, 26, 0.2);
  background: #fff7f1;
}

.dashboard-commandbar-metrics span,
.dashboard-commandbar-metrics small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.dashboard-commandbar-metrics strong {
  color: var(--yr-text);
  font-size: 24px;
  line-height: 1;
}

.dashboard-command-main,
.dashboard-command-side {
  display: grid;
  gap: 12px;
  height: 100%;
  min-width: 0;
}

.dashboard-todo-panel,
.dashboard-side-panel {
  min-width: 0;
  border-radius: 8px;
  background: #fff;
}

.dashboard-todo-panel {
  min-height: 100%;
}

.dashboard-risk-panel,
.dashboard-shortcut-panel {
  align-content: start;
}

.dashboard-panel-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.dashboard-panel-head.compact {
  min-height: 52px;
}

.dashboard-panel-head h3 {
  margin: 2px 0 0;
  color: var(--yr-text);
  font-size: 18px;
  line-height: 1.25;
  letter-spacing: 0;
}

.dashboard-panel-head p {
  margin: 4px 0 0;
  color: var(--yr-text-secondary);
  line-height: 1.45;
}

.dashboard-todo-table {
  display: grid;
  gap: 0;
  margin-top: 12px;
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
}

.dashboard-todo-head,
.dashboard-todo-row {
  display: grid;
  grid-template-columns: 72px minmax(170px, 1fr) 78px minmax(220px, 1fr) 112px;
  gap: 10px;
  align-items: center;
}

.dashboard-todo-head {
  min-height: 38px;
  padding: 0 12px;
  background: #fbf3eb;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.dashboard-todo-row {
  min-height: 84px;
  padding: 10px 12px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  background: #fff;
}

.dashboard-todo-row.is-high {
  background: #fff7f1;
}

.dashboard-todo-row.is-clear {
  background: #fbfdfb;
}

.dashboard-todo-row.is-clear .dashboard-todo-rank {
  background: #e7f4ec;
  color: #167047;
}

.dashboard-todo-row.is-clear .dashboard-todo-count {
  color: #167047;
}

.dashboard-todo-rank {
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 8px;
  background: #2f251f;
  color: #fff;
  font-weight: 900;
}

.dashboard-todo-title {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.dashboard-todo-title strong,
.dashboard-todo-title small,
.dashboard-todo-row p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.dashboard-todo-title strong {
  color: var(--yr-text);
  font-size: 14px;
}

.dashboard-todo-title small,
.dashboard-todo-row p {
  color: var(--yr-text-secondary);
}

.dashboard-todo-count {
  color: var(--yr-text);
  font-size: 16px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.dashboard-todo-row p {
  margin: 0;
  line-height: 1.45;
}

.dashboard-risk-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.dashboard-risk-list article {
  display: grid;
  gap: 8px;
  min-height: 96px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.dashboard-risk-list article.needs-action {
  border-color: rgba(211, 59, 26, 0.2);
  background: #fff7f1;
}

.dashboard-risk-list article div {
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.dashboard-risk-list strong {
  color: var(--yr-text);
}

.dashboard-risk-list span,
.dashboard-risk-list p {
  color: var(--yr-text-secondary);
}

.dashboard-risk-list p {
  margin: 0;
  line-height: 1.45;
}

.dashboard-risk-list button {
  justify-self: stretch;
}

.dashboard-shortcut-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.dashboard-shortcut {
  min-height: 38px;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 8px;
  background: #fffaf5;
  color: var(--yr-text);
  font-weight: 900;
  cursor: pointer;
}

.dashboard-shortcut:hover,
.dashboard-shortcut:focus-visible {
  border-color: rgba(211, 59, 26, 0.32);
  background: #fff4eb;
}

.dashboard-snapshot-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-surface);
  box-shadow: var(--yr-shadow-sm);
}

.dashboard-snapshot-list {
  display: grid;
  gap: 8px;
}

.dashboard-snapshot-list article {
  display: grid;
  grid-template-columns: minmax(74px, 0.7fr) minmax(92px, 0.7fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px 0;
  border-bottom: 1px solid var(--yr-border-light);
}

.dashboard-snapshot-list article:last-child {
  border-bottom: 0;
}

.dashboard-snapshot-list span,
.dashboard-snapshot-list small {
  color: var(--yr-text-secondary);
}

.dashboard-snapshot-list strong {
  color: var(--yr-text);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.dashboard-payroll-strip {
  display: grid;
  grid-template-columns: minmax(70px, 0.5fr) minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(217, 61, 32, 0.16);
  border-radius: 8px;
  background: rgba(217, 61, 32, 0.06);
}

.dashboard-payroll-strip span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-payroll-strip strong {
  color: var(--yr-text);
  font-variant-numeric: tabular-nums;
}

.analytics-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.72fr);
  gap: 12px;
  align-items: start;
}

.analytics-grid > .module:first-child {
  grid-column: 1 / -1;
}

.analytics-cockpit {
  gap: 16px;
}

.analytics-v2 {
  align-items: stretch;
}

.analytics-cockpit-hero {
  background: #fffdf9;
}

.analytics-v2-hero {
  border-color: rgba(36, 94, 72, 0.16);
  background:
    linear-gradient(180deg, rgba(255, 253, 249, 0.98), rgba(255, 248, 241, 0.96)),
    #fffdf9;
}

.analytics-v2-brief {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin: 6px 0 12px;
  padding: 12px 14px;
  border: 1px solid rgba(36, 94, 72, 0.14);
  border-radius: 8px;
  background: #f7fbf7;
}

.analytics-v2-brief strong {
  color: var(--yr-text);
  font-size: 16px;
}

.analytics-v2-brief span {
  color: var(--yr-text-secondary);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.operations-analysis-dashboard {
  gap: 14px;
}

.analytics-commandbar .module-head {
  align-items: flex-start;
}

.analytics-commandbar .module-actions {
  align-items: center;
}

.analytics-commandbar h2 {
  font-size: 26px;
  letter-spacing: 0;
}

.analytics-mode-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 4px 0 12px;
}

.analytics-mode-tabs button {
  min-height: 62px;
  display: grid;
  gap: 3px;
  justify-items: start;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--yr-text);
  text-align: left;
}

.analytics-mode-tabs button.is-active {
  border-color: rgba(211, 47, 31, 0.28);
  background: #fff7f1;
  box-shadow: 0 10px 22px rgba(211, 47, 31, 0.08);
}

.analytics-mode-tabs strong {
  font-size: 14px;
  font-weight: 900;
}

.analytics-mode-tabs span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.analytics-executive-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.analytics-executive-strip article {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 4px 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.analytics-executive-strip article.needs-action {
  border-color: rgba(211, 47, 31, 0.22);
  background: #fff7f1;
}

.analytics-executive-strip i,
.analytics-diagnosis-list i {
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  background: #fff1e8;
  color: var(--yr-red);
  font-style: normal;
  font-weight: 950;
}

.analytics-executive-strip i {
  grid-row: span 3;
  width: 34px;
  height: 34px;
}

.analytics-executive-strip span,
.analytics-executive-strip small,
.analytics-diagnosis-list span,
.analytics-diagnosis-list p,
.analytics-advice-list span,
.analytics-latest-list span {
  color: var(--yr-text-secondary);
}

.analytics-executive-strip strong {
  color: var(--yr-text);
  font-size: 22px;
}

.analytics-cockpit-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  gap: 16px;
  align-items: stretch;
}

.analytics-cockpit-grid.is-exception-mode {
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.62fr);
}

.analytics-cockpit-grid.is-exception-mode .analytics-reconcile-check {
  grid-column: 1 / -1;
}

.analytics-drilldown-grid {
  display: grid;
  gap: 16px;
}

.analytics-store-comparison {
  grid-column: 1 / -1;
}

.analytics-decision-map,
.analytics-trend-lab,
.analytics-exception-playbook,
.analytics-ledger-panel,
.analytics-store-comparison,
.analytics-reconcile-check {
  overflow: hidden;
}

.analytics-decision-map,
.analytics-trend-lab {
  display: grid;
  align-content: start;
}

.analytics-decision-map .module-head,
.analytics-store-comparison .module-head,
.analytics-trend-lab .module-head {
  align-items: flex-start;
}

.analytics-store-list,
.analytics-reconcile-list {
  display: grid;
  gap: 8px;
}

.analytics-store-list article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) minmax(132px, 0.28fr) minmax(96px, auto);
  gap: 12px;
  align-items: center;
  min-height: 58px;
  padding: 11px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.analytics-store-list em {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #f4e8dc;
  color: var(--yr-text);
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.analytics-store-list strong,
.analytics-store-list b,
.analytics-reconcile-list strong {
  color: var(--yr-text);
}

.analytics-store-list span,
.analytics-reconcile-list span,
.analytics-reconcile-list p {
  color: var(--yr-text-secondary);
}

.analytics-store-progress {
  width: 100%;
  display: block;
  height: 8px;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #efe8df;
  appearance: none;
}

.analytics-store-progress::-webkit-progress-bar {
  background: #efe8df;
}

.analytics-store-progress::-webkit-progress-value,
.analytics-store-progress::-moz-progress-bar {
  background: #1f8f5f;
}

.download-link-hidden {
  display: none;
}

.analytics-store-list b {
  font-size: 16px;
  text-align: right;
}

.analytics-reconcile-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.analytics-reconcile-list article {
  display: grid;
  gap: 6px;
  min-height: 96px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.analytics-reconcile-list p {
  margin: 0;
  line-height: 1.45;
}

.analytics-diagnosis-list,
.analytics-advice-list,
.analytics-latest-list,
.analytics-playbook-steps {
  display: grid;
  gap: 8px;
}

.analytics-diagnosis-list article,
.analytics-latest-list article,
.analytics-playbook-steps article {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.analytics-diagnosis-list article {
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
}

.analytics-diagnosis-list i {
  width: 26px;
  height: 26px;
}

.analytics-diagnosis-list article p {
  grid-column: 2;
}

.analytics-diagnosis-list article.needs-action {
  border-color: rgba(211, 47, 31, 0.22);
  background: #fff7f1;
}

.analytics-diagnosis-list article div,
.analytics-latest-list article {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.analytics-playbook-steps article {
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: start;
}

.analytics-playbook-steps article > span {
  width: 26px;
  height: 26px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--yr-primary);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
}

.analytics-playbook-steps p {
  margin: 3px 0 0;
  color: var(--yr-text-secondary);
}

.analytics-playbook-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 12px;
}

.analytics-advice-list {
  margin-top: 10px;
}

.analytics-advice-list span {
  padding: 9px 10px;
  border-radius: 8px;
  background: #f7f3ec;
  font-weight: 700;
}

.analytics-latest-list {
  margin-top: 12px;
}

.analytics-latest-list em {
  color: var(--yr-text);
  font-style: normal;
  font-weight: 900;
}

.analytics-ledger-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.52fr);
  gap: 12px;
}

.analytics-ledger-split .module {
  box-shadow: none;
}

.analytics-ledger-section {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffdf8;
}

.analytics-ledger-section header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
}

.analytics-ledger-section header span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.analytics-ledger-section header strong {
  color: var(--yr-text);
  font-size: 18px;
}

.analytics-daily-ledger,
.analytics-exception-queue-list {
  display: grid;
  gap: 8px;
}

.analytics-ledger-head,
.analytics-ledger-row {
  display: grid;
  grid-template-columns: minmax(120px, 1fr) 110px 130px 86px 82px minmax(150px, 0.9fr);
  gap: 10px;
  align-items: center;
}

.analytics-ledger-head {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 8px;
  background: #fbf3eb;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.analytics-ledger-row,
.analytics-exception-queue-list article {
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: var(--yr-card);
}

.analytics-ledger-row strong,
.analytics-ledger-row small,
.analytics-ledger-row span,
.analytics-exception-queue-list strong,
.analytics-exception-queue-list span,
.analytics-exception-queue-list p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.analytics-ledger-row small,
.analytics-exception-queue-list span,
.analytics-exception-queue-list p {
  color: var(--yr-text-secondary);
}

.analytics-ledger-row em {
  width: fit-content;
  border-radius: 999px;
  background: #eef7f1;
  color: #16735f;
  padding: 3px 8px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.analytics-ledger-source {
  display: grid;
  gap: 5px;
  justify-items: start;
  min-width: 0;
}

.analytics-ledger-source .ghost-btn {
  min-height: 30px;
  padding: 0 9px;
}

.analytics-exception-queue-list article {
  display: grid;
  gap: 8px;
}

.analytics-exception-queue-list article.is-danger {
  border-color: rgba(211, 47, 31, 0.22);
  background: #fff7f1;
}

.analytics-exception-queue-list article div {
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.analytics-exception-queue-list p {
  margin: 0;
}

.analytics-exception-queue-list button {
  justify-self: end;
}

.analytics-command .analysis-narrative {
  margin-top: 0;
}

.payroll-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.78fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.attendance-entry-panel,
.operations-entry-panel,
.payroll-action-panel,
.payroll-base-panel,
.payroll-list-panel,
.store-management-list-panel {
  min-width: 0;
}

.attendance-entry-panel .entry-form,
.operations-entry-panel .entry-form,
.payroll-action-panel .entry-form {
  gap: 10px;
}

.payroll-action-panel .entry-form .form-action {
  grid-column: 1 / span 2;
  justify-self: stretch;
}

.attendance-record-panel,
.payroll-list-panel,
.operations-grid > .module,
.store-management-list-panel {
  overflow: hidden;
}

.payroll-list-panel {
  grid-column: 1 / -1;
}

.operations-grid .entry-form {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.operations-grid .entry-form label:last-of-type,
.operations-grid .entry-form .form-action {
  grid-column: span 2;
}

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

.store-workbook-hero {
  background: linear-gradient(135deg, var(--yr-card) 0%, #fff8ee 68%, #f8eadb 100%);
}

.store-workbook-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.store-workbook-summary article {
  display: grid;
  gap: 4px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.store-workbook-summary span,
.store-workbook-summary small,
.store-workbook-card span,
.store-workbook-card small,
.store-workbook-meta span,
.store-workbook-fields span {
  color: var(--yr-muted);
}

.store-workbook-summary strong {
  color: var(--yr-text);
  font-size: 20px;
}

.store-workbook-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.7fr);
  gap: 16px;
  align-items: start;
}

.workbook-config-console {
  gap: 16px;
}

.workbook-config-hero {
  background: linear-gradient(135deg, #fffdf8 0%, #f8efe6 100%);
}

.workbook-config-brief {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.42fr);
  gap: 16px;
  align-items: stretch;
}

.workbook-config-primary,
.workbook-config-side {
  overflow: hidden;
}

.workbook-config-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.workbook-config-steps span {
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
  color: var(--yr-text);
  font-weight: 800;
}

.workbook-config-side {
  display: grid;
  gap: 10px;
}

.workbook-config-side div {
  display: grid;
  gap: 4px;
}

.workbook-config-side span,
.workbook-config-side p {
  color: var(--yr-text-secondary);
}

.workbook-config-side strong {
  color: var(--yr-text);
  font-size: 20px;
}

.workbook-config-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workbook-config-hr .workbook-config-hero {
  background: linear-gradient(135deg, #fffdf8 0%, #eef7f1 100%);
}

.workbook-config-product .workbook-config-hero {
  background: linear-gradient(135deg, #fffdf8 0%, #fff1e8 100%);
}

.workbook-config-inventory .workbook-config-hero {
  background: linear-gradient(135deg, #fffdf8 0%, #edf3f7 100%);
}

.workbook-config-hr .workbook-config-steps span {
  border-color: rgba(15, 118, 110, 0.16);
  background: rgba(15, 118, 110, 0.05);
}

.workbook-config-product .workbook-config-steps span {
  border-color: rgba(211, 47, 31, 0.16);
  background: rgba(211, 47, 31, 0.05);
}

.workbook-config-inventory .workbook-config-steps span {
  border-color: rgba(70, 88, 103, 0.16);
  background: rgba(70, 88, 103, 0.05);
}

.workbook-config-ops-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.76fr) minmax(0, 1fr) minmax(260px, 0.42fr);
  gap: 16px;
  align-items: start;
}

.workbook-rules-console,
.workbook-feedback-console,
.workbook-reserve-console {
  display: grid;
  gap: 16px;
}

.workbook-rules-console {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.36fr);
  align-items: start;
}

.workbook-rules-main,
.workbook-feedback-main,
.workbook-reserve-main {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.workbook-rules-main {
  grid-template-columns: minmax(340px, 0.68fr) minmax(0, 1fr);
}

.workbook-feedback-console {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
  align-items: start;
}

.workbook-feedback-triage {
  grid-column: 1 / -1;
  background: linear-gradient(135deg, #fffdf8, #fff4ed);
}

.workbook-feedback-signal-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.workbook-feedback-signal-row span {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(196, 74, 42, 0.18);
  border-radius: 8px;
  background: rgba(255, 250, 245, 0.86);
  color: var(--yr-text);
  font-weight: 900;
  text-align: center;
}

.workbook-feedback-main {
  grid-template-columns: minmax(320px, 0.62fr) minmax(0, 1fr);
}

.workbook-reserve-boundary {
  border-color: rgba(70, 88, 103, 0.18);
  background: linear-gradient(135deg, #fffdf8, #f4f7f7);
}

.workbook-reserve-main {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.52fr);
}

.workbook-config-editor,
.workbook-config-ledger-panel,
.workbook-config-playbook {
  min-width: 0;
}

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

.workbook-config-form-guide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 10px;
  background: var(--yr-bg);
}

.workbook-config-form-guide span,
.workbook-config-form-guide strong,
.workbook-config-form-guide small {
  display: block;
}

.workbook-config-form-guide span {
  color: var(--yr-primary);
  font-size: 12px;
  font-weight: 900;
}

.workbook-config-form-guide strong {
  margin-top: 2px;
  color: var(--yr-text);
  font-size: 16px;
  font-weight: 900;
}

.workbook-config-form-guide small {
  margin-top: 4px;
  color: var(--yr-text-secondary);
  line-height: 1.45;
}

.workbook-config-form-guide ol {
  display: flex;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.workbook-config-form-guide li {
  min-height: 32px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 0 9px;
  border: 1px solid var(--yr-border);
  border-radius: 999px;
  background: var(--yr-card);
  color: var(--yr-text);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.workbook-config-form-guide em {
  width: 18px;
  height: 18px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--yr-primary);
  color: var(--yr-card);
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
}

.workbook-config-form-guide-rules {
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-success-bg) 100%);
}

.workbook-config-form-guide-rules em {
  background: var(--yr-success);
}

.workbook-config-form-guide-feedback {
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
}

.workbook-config-form-guide-reserve {
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-border-light) 100%);
}

.workbook-config-form-guide-reserve em {
  background: var(--yr-text-secondary);
}

.workbook-config-form-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
  padding-top: 10px;
  border-top: 1px solid var(--yr-border);
}

.workbook-config-record-list {
  display: grid;
  gap: 10px;
}

.workbook-config-record {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.workbook-config-record div:first-child {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.workbook-config-record strong,
.workbook-config-record span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.workbook-config-record span,
.workbook-config-record small {
  color: var(--yr-text-secondary);
}

.workbook-config-playbook {
  display: grid;
  gap: 14px;
  align-content: start;
}

.workbook-config-playbook p {
  margin: 6px 0 0;
  color: var(--yr-text-secondary);
  word-break: break-all;
}

.workbook-config-playbook-list,
.workbook-config-field-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.workbook-config-playbook-list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 999px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  background: rgba(255, 250, 245, 0.9);
  font-weight: 800;
}

.workbook-config-playbook-list em {
  width: 22px;
  height: 22px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--yr-red);
  color: #fff;
  font-style: normal;
  font-size: 12px;
}

.workbook-config-field-chips i {
  padding: 6px 8px;
  border-radius: 8px;
  background: rgba(70, 88, 103, 0.07);
  color: var(--yr-text-secondary);
  font-style: normal;
  font-size: 12px;
}

.store-workbook-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.store-workbook-card {
  min-height: 132px;
  display: grid;
  gap: 8px;
  align-content: start;
  text-align: left;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 12px 28px rgba(75, 46, 24, 0.05);
}

.store-workbook-card:hover,
.store-workbook-card.active {
  border-color: var(--yr-red);
  background: #fff7ef;
}

.store-workbook-card strong {
  color: var(--yr-text);
  font-size: 18px;
}

.store-workbook-detail {
  display: grid;
  gap: 14px;
}

.store-workbook-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.store-workbook-form label {
  display: grid;
  gap: 6px;
  color: var(--yr-muted);
  font-weight: 700;
}

.store-workbook-form label.wide,
.store-workbook-form-actions {
  grid-column: 1 / -1;
}

.store-workbook-form input,
.store-workbook-form select,
.store-workbook-form textarea {
  min-height: 40px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--yr-text);
  background: var(--yr-primary-subtle);
}

.entry-form textarea,
.employee-form textarea,
.store-workbook-form textarea {
  min-height: 84px;
  padding: 10px 12px;
  resize: vertical;
}

.file-draft-grid {
  display: grid;
  grid-template-columns: minmax(320px, 0.72fr) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.file-draft-workspace {
  display: grid;
  gap: 12px;
}

.file-draft-command {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.file-draft-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
  gap: 16px;
  align-items: start;
}

.file-draft-source-shelf {
  position: sticky;
  top: 16px;
}

.file-source-list {
  display: grid;
  gap: 8px;
}

.file-source-list article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-bg);
}

.file-source-list strong,
.file-source-list span,
.file-source-list em {
  min-width: 0;
  overflow-wrap: anywhere;
}

.file-source-list strong {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 900;
}

.file-source-list span,
.file-source-list em {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-style: normal;
  line-height: 1.45;
}

.file-draft-drawer {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 80;
  width: min(720px, 100vw);
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: var(--yr-card);
  border-left: 1px solid var(--yr-border);
  box-shadow: -24px 0 48px rgba(50, 34, 22, 0.16);
}

.file-draft-upload-panel {
  margin-bottom: 14px;
}

.file-draft-intake-console {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 14px;
  align-items: start;
}

.file-draft-intake-guide {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 12px;
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
}

.file-draft-intake-guide h3,
.file-draft-intake-guide p {
  margin: 0;
}

.file-draft-intake-guide h3 {
  color: var(--yr-text);
  font-size: 18px;
}

.file-draft-intake-guide p {
  margin-top: 4px;
  max-width: 640px;
  color: var(--yr-text-secondary);
  line-height: 1.45;
}

.file-draft-intake-guide ol {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.file-draft-intake-guide li {
  min-height: 34px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--yr-border);
  border-radius: 999px;
  background: var(--yr-card);
  color: var(--yr-text);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.file-draft-intake-guide li span {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--yr-primary);
  color: var(--yr-card);
  font-size: 11px;
  font-weight: 900;
}

.file-draft-source-card,
.file-draft-template-card {
  min-width: 0;
  margin: 0;
}

.file-draft-drop-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.file-draft-card-actions {
  grid-column: 1 / -1;
  justify-content: flex-end;
  padding-top: 10px;
  border-top: 1px solid var(--yr-border);
}

.file-draft-toolbar article {
  min-height: 72px;
}

.file-draft-upload {
  border: 1px dashed var(--yr-accent);
  border-radius: 8px;
  background: var(--yr-primary-subtle);
  padding: 12px;
}

.file-draft-upload input[type="file"] {
  height: auto;
  min-height: 42px;
  background: var(--yr-card);
}

.file-draft-history-ledger {
  display: grid;
  gap: 10px;
}

.file-draft-history-list,
.file-source-history-list {
  display: grid;
  gap: 8px;
}

.file-draft-history-list article,
.file-source-history-list article {
  display: grid;
  grid-template-columns: minmax(180px, 0.82fr) minmax(0, 1fr) 88px auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: var(--yr-card);
}

.file-draft-history-list article.needs-action {
  border-color: rgba(211, 47, 31, 0.2);
  background: #fff7f1;
}

.file-draft-history-list strong,
.file-draft-history-list span,
.file-draft-history-list p,
.file-draft-history-list em,
.file-source-history-list strong,
.file-source-history-list span,
.file-source-history-list p,
.file-source-history-list em,
.file-source-history-list small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.file-draft-history-list span,
.file-draft-history-list p,
.file-source-history-list span,
.file-source-history-list p,
.file-source-history-list small {
  color: var(--yr-text-secondary);
}

.file-draft-history-list p,
.file-source-history-list p {
  margin: 0;
}

.file-draft-history-list em,
.file-source-history-list em {
  width: fit-content;
  border-radius: 999px;
  background: #eef7f1;
  color: #16735f;
  padding: 3px 8px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.file-draft-history-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  padding-top: 10px;
}

.file-draft-history-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.file-draft-history-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.operations-history-ledger {
  display: grid;
  gap: 10px;
}

.operations-history-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  padding-top: 10px;
}

.operations-history-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.operations-history-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.schedule-history-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  margin-top: 4px;
  padding-top: 10px;
}

.schedule-history-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-history-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.attendance-record-pagination,
.payroll-review-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  padding: 10px 12px 0;
}

.attendance-record-pagination span,
.payroll-review-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.attendance-record-pagination div,
.payroll-review-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.employee-archive-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid var(--yr-border);
  padding: 10px 12px 0;
}

.employee-archive-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-archive-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.store-workbook-form-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}

.store-workbook-meta {
  display: grid;
  gap: 10px;
}

.store-workbook-meta div {
  display: grid;
  gap: 4px;
  border-bottom: 1px solid var(--yr-border);
  padding-bottom: 10px;
}

.store-workbook-fields {
  display: grid;
  gap: 10px;
}

.store-workbook-fields div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.store-workbook-fields em {
  font-style: normal;
  border-radius: 999px;
  background: #fff1e8;
  color: var(--yr-red);
  padding: 6px 10px;
  font-size: 13px;
}

.work-record-center-page {
  display: grid;
  gap: 16px;
}

.work-record-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.34fr);
  gap: 16px;
  align-items: start;
}

.work-record-main,
.work-record-side {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.work-record-side {
  position: sticky;
  top: 16px;
}

.work-record-inspector {
  border-color: rgba(196, 90, 46, 0.16);
  background: linear-gradient(180deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
}

.work-record-inspector-summary {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 10px;
  background: var(--yr-card);
}

.work-record-inspector-summary strong,
.work-record-inspector-summary span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.work-record-inspector-summary strong {
  color: var(--yr-text);
  font-size: 16px;
}

.work-record-inspector-summary span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.work-record-inspector-fields {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
}

.work-record-inspector-fields div {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 8px;
  align-items: start;
  padding: 8px 0;
  border-bottom: 1px solid var(--yr-border);
}

.work-record-inspector-fields dt,
.work-record-inspector-fields dd {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.45;
}

.work-record-inspector-fields dt {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.work-record-inspector-fields dd {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 800;
}

.work-record-inspector-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  margin-top: 12px;
}

.work-record-search-panel {
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
}

.work-record-filters {
  display: grid;
  grid-template-columns: minmax(160px, 0.7fr) minmax(180px, 0.9fr) minmax(260px, 1.4fr);
  gap: 12px;
  align-items: end;
}

.work-record-filters label {
  display: grid;
  gap: 6px;
  color: var(--yr-muted);
  font-weight: 800;
}

.work-record-filters input,
.work-record-filters select {
  min-height: 40px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--yr-text);
  background: var(--yr-primary-subtle);
}

.work-record-center-table td strong,
.work-record-center-table td small {
  display: block;
}

.work-record-center-table,
.store-workbook-table {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.work-record-center-table table,
.store-workbook-table table {
  min-width: 860px;
}

.work-record-ledger {
  overflow: hidden;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fff;
}

.work-record-ledger .work-record-center-table {
  border: 0;
  border-radius: 0;
}

.work-record-list {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.work-record-list article {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 100px minmax(150px, 0.82fr) 150px auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: var(--yr-card);
}

.work-record-list strong,
.work-record-list small,
.work-record-list span,
.work-record-list time {
  min-width: 0;
  overflow-wrap: anywhere;
}

.work-record-list small {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
}

.work-record-list span,
.work-record-list time {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.work-record-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 10px 14px;
  border-top: 1px solid var(--yr-border);
  background: #fffaf5;
}

.work-record-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.work-record-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.store-workbook-table td:last-child,
.work-record-center-table td:last-child {
  min-width: 150px;
}

.store-workbook-record-list {
  display: grid;
  gap: 10px;
}

.store-workbook-record-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.72fr) minmax(260px, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 84px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.store-workbook-record-main,
.store-workbook-record-fields,
.store-workbook-record-actions {
  min-width: 0;
}

.store-workbook-record-main {
  display: grid;
  gap: 4px;
}

.store-workbook-record-main span {
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  color: var(--yr-red);
  background: rgba(211, 47, 31, 0.08);
  font-size: 12px;
  font-weight: 900;
}

.store-workbook-record-main strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-workbook-record-main small {
  color: var(--yr-text-secondary);
}

.store-workbook-record-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.store-workbook-record-fields div {
  min-width: 0;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.74);
}

.store-workbook-record-fields span,
.store-workbook-record-fields strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.store-workbook-record-fields span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.store-workbook-record-fields strong {
  margin-top: 3px;
  color: var(--yr-text);
}

.store-workbook-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.store-workbook-record-actions .ghost-btn {
  min-height: 34px;
  white-space: nowrap;
}

.store-workbook-record-actions .danger-action {
  color: var(--yr-red);
}

.audit-log-table td:last-child {
  min-width: 150px;
}

.audit-log-ledger {
  overflow: hidden;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fff;
}

.audit-log-ledger-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 0;
  align-items: stretch;
}

.audit-log-table-zone {
  min-width: 0;
  border-right: 1px solid var(--yr-border);
}

.audit-log-toolbar {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 12px 14px;
  border-bottom: 1px solid var(--yr-border);
  background: #fffaf5;
}

.audit-log-toolbar div:first-child {
  display: grid;
  gap: 3px;
}

.audit-log-toolbar strong {
  color: var(--yr-text);
}

.audit-log-toolbar span,
.audit-log-inspector p,
.audit-log-inspector-meta dt,
.audit-log-inspector-detail span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.audit-log-filter-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.audit-log-filter-pills span {
  min-height: 28px;
  padding: 5px 10px;
  border: 1px solid var(--yr-border);
  border-radius: 999px;
  background: #fff;
  color: var(--yr-text);
  font-weight: 700;
}

.audit-log-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.audit-log-filter-controls {
  display: grid;
  grid-template-columns: minmax(120px, 0.7fr) minmax(180px, 1fr) auto;
  gap: 8px;
  align-items: center;
}

.audit-log-filter-controls select,
.audit-log-filter-controls input {
  min-width: 0;
}

.store-master-drawer .drawer-body,
.file-draft-retry-panel {
  min-width: 0;
}

.audit-log-ledger .audit-log-table {
  border: 0;
  border-radius: 0;
}

.audit-log-table tr.is-selected td {
  background: #fff4e8;
}

.audit-log-event-list {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.audit-log-event-list article {
  display: grid;
  grid-template-columns: 150px minmax(160px, 0.9fr) 110px 96px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: var(--yr-card);
}

.audit-log-event-list article.is-selected {
  border-color: rgba(196, 90, 46, 0.24);
  background: #fff7f1;
  box-shadow: inset 3px 0 0 var(--yr-primary);
}

.audit-log-event-list time,
.audit-log-event-list strong,
.audit-log-event-list span,
.audit-log-event-list p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.audit-log-event-list time,
.audit-log-event-list span,
.audit-log-event-list p {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.audit-log-event-list p {
  margin: 0;
}

.audit-log-inspector {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 16px;
  background: linear-gradient(180deg, #fffaf5 0%, #fff 100%);
}

.audit-log-inspector-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.audit-log-inspector h3 {
  margin: 4px 0 0;
  color: var(--yr-text);
  font-size: 18px;
}

.audit-log-inspector-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
}

.audit-log-inspector-meta div,
.audit-log-inspector-detail {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.audit-log-inspector-meta dt,
.audit-log-inspector-meta dd {
  margin: 0;
}

.audit-log-inspector-meta dd {
  overflow: hidden;
  color: var(--yr-text);
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audit-log-inspector-detail p {
  display: grid;
  grid-template-columns: 86px minmax(0, 1fr);
  gap: 8px;
  margin: 0;
}

.audit-log-inspector-detail em {
  overflow: hidden;
  color: var(--yr-text);
  font-style: normal;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.audit-log-inspector-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.audit-log-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 54px;
  padding: 10px 14px;
  border-top: 1px solid var(--yr-border);
  background: #fffaf5;
}

.audit-log-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.audit-log-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.audit-log-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 0.45fr);
  gap: 16px;
  align-items: start;
}

.audit-log-risk-panel,
.audit-log-timeline-panel {
  overflow: hidden;
}

.audit-log-risk-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.audit-log-risk-grid article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.audit-log-risk-grid article.needs-action {
  border-color: rgba(211, 47, 31, 0.22);
  background: #fff7f1;
}

.audit-log-risk-grid strong {
  color: var(--yr-text);
  font-size: 24px;
}

.audit-log-risk-grid span,
.audit-log-risk-grid small,
.audit-log-timeline span,
.audit-log-timeline time {
  color: var(--yr-text-secondary);
}

.audit-log-timeline {
  display: grid;
  gap: 8px;
}

.audit-log-timeline article {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.audit-log-timeline article div {
  display: grid;
  gap: 3px;
}

.work-record-center-table td small {
  margin-top: 4px;
  color: var(--yr-muted);
  max-width: 360px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.work-record-type-list,
.work-record-timeline-list {
  display: grid;
  gap: 8px;
}

.work-record-type-list article,
.work-record-timeline-list article {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-bg);
}

.work-record-type-list article {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.work-record-type-list span,
.work-record-timeline-list span,
.work-record-timeline-list p {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.work-record-type-list strong,
.work-record-timeline-list strong {
  color: var(--yr-text);
  font-size: 14px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.work-record-timeline-list p {
  margin: 0;
  overflow-wrap: anywhere;
}

.workflow-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
  border: 1px solid #e2e9e6;
  border-radius: 8px;
  background: #f8fbfa;
  padding: 10px 12px;
}

.workflow-toolbar span {
  color: #667773;
  font-size: 13px;
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.workflow-monitor-console,
.platform-architecture-console {
  display: grid;
  gap: 18px;
}

.workflow-monitor-hero,
.platform-architecture-hero {
  display: grid;
  gap: 18px;
  background:
    linear-gradient(135deg, rgba(255, 253, 248, 0.96) 0%, rgba(255, 247, 239, 0.92) 48%, rgba(241, 248, 244, 0.9) 100%);
}

.workflow-monitor-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.workflow-monitor-strip article,
.platform-briefing-cards article {
  display: grid;
  gap: 4px;
  min-height: 88px;
  padding: 14px;
  border: 1px solid rgba(225, 207, 190, 0.84);
  border-radius: 8px;
  background: rgba(255, 253, 248, 0.78);
}

.workflow-monitor-strip article.urgent {
  border-color: rgba(196, 74, 42, 0.28);
  background: #fff4ed;
}

.workflow-monitor-strip span,
.workflow-monitor-strip small,
.platform-briefing-cards span,
.platform-briefing-cards small {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.workflow-monitor-strip strong,
.platform-briefing-cards strong {
  color: var(--yr-text);
  font-size: 23px;
  line-height: 1.1;
}

.workflow-monitor-layout,
.platform-architecture-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
  gap: 18px;
  align-items: start;
}

.workflow-monitor-board,
.workflow-monitor-side,
.platform-briefing-panel,
.platform-layer-map,
.platform-ingestion-panel {
  min-width: 0;
}

.workflow-monitor-side {
  display: grid;
  gap: 14px;
}

.workflow-monitor-source-list {
  display: grid;
  gap: 8px;
}

.workflow-monitor-source-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #eadfd3;
  border-radius: 8px;
  background: #fffaf4;
}

.workflow-monitor-source-list span {
  color: var(--yr-text-secondary);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.workflow-monitor-source-list strong {
  color: var(--yr-red);
  font-size: 18px;
}

.workflow-monitor-next-list {
  display: grid;
  gap: 10px;
}

.workflow-monitor-next-list article,
.platform-recommendation-list div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 12px;
  border: 1px solid #eadfd3;
  border-radius: 8px;
  background: #fffdf8;
}

.workflow-monitor-next-list b,
.platform-recommendation-list span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  background: var(--yr-red);
  color: #fff;
  font-size: 13px;
}

.workflow-monitor-next-list span,
.platform-recommendation-list p {
  margin: 0;
  color: var(--yr-text);
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.workflow-monitor-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.workflow-signal-panel {
  display: grid;
  gap: 12px;
  min-width: 0;
  background: linear-gradient(180deg, #fffdf8 0%, #fff 100%);
}

.workflow-signal-list {
  display: grid;
  gap: 8px;
}

.workflow-signal-list article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.workflow-signal-list b {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 8px;
  background: #f2e8dc;
  color: var(--yr-text);
  font-size: 12px;
}

.workflow-signal-list strong,
.workflow-signal-list span,
.workflow-signal-list em {
  min-width: 0;
  overflow-wrap: anywhere;
}

.workflow-signal-list span {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.workflow-signal-list em {
  border-radius: 999px;
  background: #eef7f1;
  color: #16735f;
  padding: 4px 9px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.action-card {
  display: grid;
  gap: 10px;
  border: 1px solid #e2e9e6;
  border-left: 4px solid #9fb3ad;
  border-radius: 8px;
  padding: 12px;
  background: #f8fbfa;
}

.action-card.p1 {
  border-left-color: var(--yr-error);
}

.action-card.p2 {
  border-left-color: var(--yr-warning);
}

.action-card.done {
  opacity: 0.72;
}

.action-card strong,
.action-card span {
  display: block;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.action-card span,
.action-card p {
  color: #667773;
}

.action-card p {
  margin: 0;
}

.owner-select {
  display: grid;
  gap: 5px;
  color: #42534f;
  font-size: 12px;
  font-weight: 900;
}

.owner-select select {
  height: 34px;
  border: 1px solid #d5dfdb;
  border-radius: 8px;
  background: var(--yr-card);
  padding: 0 10px;
}

.action-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.action-footer em {
  font-style: normal;
  font-weight: 800;
  color: var(--yr-success);
}

.action-footer button {
  border-radius: 8px;
  padding: 7px 10px;
  background: var(--yr-success);
  color: var(--yr-card);
  font-weight: 800;
  white-space: normal;
  overflow-wrap: anywhere;
  text-align: center;
  line-height: 1.25;
}

.platform-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  align-items: center;
  gap: 22px;
  background: linear-gradient(135deg, var(--yr-card) 0%, #f5fbfa 55%, #edf6f3 100%);
}

.platform-hero h2,
.platform-hero p {
  margin: 0;
}

.platform-hero h2 {
  max-width: 760px;
  font-size: 25px;
}

.platform-hero p {
  max-width: 820px;
  margin-top: 10px;
  color: #556762;
}

.platform-score {
  border: 1px solid #cfe3dc;
  border-radius: 8px;
  padding: 18px;
  background: var(--yr-card);
}

.platform-score span,
.platform-score strong,
.platform-score small {
  display: block;
}

.platform-score span,
.platform-score small {
  color: #667773;
}

.platform-score strong {
  font-size: 42px;
  line-height: 1.1;
}

.ai-briefing,
.capability-stack,
.ingestion-flow {
  display: grid;
  gap: 12px;
}

.ai-briefing div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border: 1px solid #e2e9e6;
  border-radius: 8px;
  background: #f8fbfa;
}

.ai-briefing span {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  color: var(--yr-card);
  background: var(--yr-success);
  font-weight: 900;
}

.ai-briefing p {
  margin: 0;
  color: #263633;
}

.capability-stack div {
  padding: 12px;
  border-radius: 8px;
  background: #f8fbfa;
  border-left: 4px solid var(--yr-success);
}

.capability-stack strong,
.capability-stack span {
  display: block;
}

.capability-stack span {
  margin-top: 4px;
  color: #667773;
  font-size: 13px;
}

.platform-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.platform-architecture-hero {
  grid-template-columns: minmax(0, 1fr) 190px;
  align-items: center;
}

.platform-architecture-hero h2,
.platform-architecture-hero p {
  margin: 0;
}

.platform-architecture-hero h2 {
  max-width: 780px;
  font-size: 25px;
}

.platform-architecture-hero p {
  max-width: 860px;
  margin-top: 10px;
  color: var(--yr-text-secondary);
}

.platform-briefing-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 14px;
}

.platform-recommendation-list {
  display: grid;
  gap: 10px;
}

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

.capability-card {
  min-height: 132px;
}

.ingestion-flow {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ingestion-flow article {
  min-height: 168px;
  display: grid;
  gap: 8px;
  align-content: start;
  border: 1px solid #e2e9e6;
  border-top: 4px solid #9fb3ad;
  border-radius: 8px;
  padding: 14px;
  background: var(--yr-card);
}

.ingestion-flow article.sheet {
  border-top-color: var(--yr-success);
}

.ingestion-flow article.doc {
  border-top-color: #2563eb;
}

.ingestion-flow article.ocr {
  border-top-color: #7c3aed;
}

.ingestion-flow span {
  overflow: hidden;
  text-overflow: ellipsis;
  color: #263633;
  font-weight: 800;
}

.ingestion-flow p {
  margin: 0;
  color: #667773;
  font-size: 13px;
}

.ingestion-flow em {
  align-self: end;
  color: var(--yr-success);
  font-style: normal;
  font-weight: 800;
  font-size: 12px;
}

.empty-state,
.fatal-error {
  padding: 24px;
  color: #667773;
  text-align: center;
}

.fatal-error {
  color: #991b1b;
}

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

  .attendance-entry-panel.ops-pro-form-panel .entry-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .operations-grid .entry-form {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

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

  .nav-drawer-toggle {
    display: inline-flex;
    width: fit-content;
    min-height: 34px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--yr-border);
    border-radius: 8px;
    background: var(--yr-card);
    color: var(--yr-ink);
    padding: 0 12px;
    font-size: 13px;
    font-weight: 900;
  }

  .nav-drawer-backdrop {
    position: fixed;
    inset: 0;
    z-index: 34;
    display: none;
    background: rgba(31, 26, 23, 0.24);
  }

  .is-nav-open .nav-drawer-backdrop {
    display: block;
  }

  .app-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 35;
    width: min(320px, calc(100vw - 36px));
    max-height: none;
    overflow: auto;
    border-right: 1px solid var(--yr-border);
    border-bottom: 0;
    box-shadow: 18px 0 42px rgba(31, 26, 23, 0.18);
    transform: translateX(-104%);
    transition: transform 160ms ease;
  }

  .is-nav-open .app-sidebar {
    transform: translateX(0);
  }

  .side-nav {
    display: grid;
    gap: 8px;
    overflow: visible;
    padding-bottom: 0;
  }

  .nav-section {
    min-width: 0;
  }

  .nav-section-title {
    min-height: 44px;
    grid-template-columns: 24px 1fr;
    padding: 8px 10px;
    border: 1px solid rgba(196, 90, 46, 0.12);
    font-size: 14px;
  }

  .mega-menu-panel {
    position: static;
    width: 100%;
    max-height: 40vh;
    margin: 4px 0 0;
    overflow: auto;
    box-shadow: 0 10px 24px rgba(31, 41, 51, 0.08);
  }

  .desktop-mega-menu {
    display: none;
  }

  .mobile-mega-menu {
    display: grid;
  }

  .mega-menu-head {
    padding: 14px 16px;
  }

  .mega-menu-row {
    grid-template-columns: 120px minmax(0, 1fr);
    padding: 12px 16px;
  }

  .mega-menu-row button {
    min-height: 34px;
    padding: 4px 16px;
    font-size: 14px;
  }

  .operator-card {
    display: none;
  }

  .workspace-header,
  .platform-hero,
  .platform-architecture-hero,
  .platform-score,
  .business-flow,
  .source-map,
  .data-lane-grid,
  .command-center,
  .decision-row,
  .foundation-grid,
  .quick-action-grid,
  .quick-action-grid.compact-actions,
  .workflow-steps,
  .analysis-narrative,
  .insight-board,
  .insight-summary-list,
  .data-governance-lanes,
  .data-governance-pipeline,
  .template-command-strip,
  .template-workbench,
  .template-center-toolbar,
  .resource-workbench,
  .resource-flow-map,
  .resource-command-metrics,
  .resource-inspector-route,
  .analytics-ledger-head,
  .analytics-ledger-row,
  .dashboard-grid,
  .dashboard-analysis-row,
  .file-draft-legacy-grid,
  .dashboard-card-grid,
  .task-center-board,
  .task-center-command,
  .task-center-grid,
  .task-center-metrics,
  .task-filter-bar,
  .task-history-head,
  .task-history-row,
  .route-fallback-summary,
  .route-fallback-grid,
  .attendance-command .module-head,
  .payroll-command .module-head,
  .operations-command .module-head,
  .store-management-command .module-head,
  .system-admin-command .module-head,
  .audit-log-command .module-head,
  .dashboard-command .module-head,
  .analytics-command .module-head,
  .attendance-grid,
  .payroll-grid,
  .operations-grid,
  .store-management-grid,
  .system-admin-grid,
  .permission-group-grid,
  .dashboard-ops-grid,
  .analytics-grid,
  .analytics-table-grid,
  .operations-grid .entry-form,
  .ai-agent-hero-grid,
  .ai-agent-workflow,
  .ai-composer-body,
  .ai-agent-roster,
  .ai-office-grid,
  .ai-workspace-console,
  .two-column,
  .file-draft-command,
  .file-draft-grid,
  .file-draft-console,
  .work-record-console,
  .work-record-list article,
  .audit-log-console,
  .audit-log-event-list article,
  .audit-log-ledger-grid,
  .file-draft-history-list article,
  .file-source-history-list article,
  .template-mapping-grid,
  .resource-grid,
  .platform-grid,
  .platform-module-grid,
  .platform-architecture-layout,
  .platform-briefing-cards,
  .workflow-monitor-strip,
  .workflow-monitor-layout,
  .workflow-monitor-ledger,
  .workflow-signal-list article,
  .ingestion-flow,
  .data-card-grid,
  .action-board,
  .filter-bar,
  .employee-filter-bar,
  .employee-detail-grid,
  .employee-archive-command-bar,
  .employee-archive-hero,
  .employee-archive-summary,
  .employee-archive-shell,
  .employee-archive-workspace,
  .data-card-grid.compact,
  .template-intake-head,
  .template-row,
  .resource-ledger-head,
  .resource-ledger-row,
  .analytics-ledger-head,
  .analytics-ledger-row,
  .task-history-head,
  .task-history-row,
  .workflow-signal-list article,
  .file-draft-history-list article,
  .file-source-history-list article,
  .work-record-list article,
  .audit-log-event-list article,
  .mapping-columns,
  .store-management-summary,
  .store-control-grid,
  .store-control-card-grid,
  .store-control-ledger-row,
  .store-control-ledger-metrics,
  .store-directory-toolbar,
  .system-admin-hub,
  .workbook-config-brief,
  .workbook-config-ops-grid,
  .workbook-rules-console,
  .workbook-rules-main,
  .workbook-feedback-console,
  .workbook-feedback-main,
  .workbook-feedback-signal-row,
  .workbook-reserve-main,
  .workbook-config-form,
  .workbook-config-form-guide,
  .store-workbook-summary,
  .store-workbook-shell,
  .store-workbook-list,
  .store-workbook-record-row,
  .store-workbook-record-fields,
  .store-workbook-form,
  .employee-review-workspace,
  .employee-review-basic-grid,
  .work-record-filters,
  .employee-form,
  .employee-form-section-grid,
  .entry-form {
    grid-template-columns: 1fr;
  }

  .workbook-config-form-guide ol {
    display: grid;
    grid-template-columns: 1fr;
  }

  .template-intake-head,
  .template-row,
  .template-inspector-flow,
  .resource-inspector-route,
  .resource-ledger-head,
  .resource-ledger-row,
  .analytics-ledger-head,
  .analytics-ledger-row,
  .task-history-head,
  .task-history-row,
  .workflow-signal-list article,
  .file-draft-history-list article,
  .file-source-history-list article,
  .work-record-list article {
    grid-template-columns: 1fr;
  }

  .audit-log-event-list article {
    grid-template-columns: 1fr;
  }

  .task-detail-summary {
    grid-template-columns: 1fr;
  }

  .task-history-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .ai-agent-rail,
  .ai-agent-approval-wall {
    position: static;
  }

  .system-admin-hub-rail {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .work-record-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .audit-log-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .audit-log-table-zone {
    border-right: 0;
    border-bottom: 1px solid var(--yr-border);
  }

  .audit-log-toolbar,
  .audit-log-inspector-head,
  .audit-log-inspector-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .audit-log-summary,
  .audit-log-filter-controls {
    grid-template-columns: 1fr;
  }

  .file-draft-history-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .store-directory-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .store-inspector-actions,
  .store-inspector-kpis {
    grid-template-columns: 1fr;
  }

  .template-center-pagination,
  .resource-ledger-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .operations-history-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .schedule-history-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .attendance-record-pagination,
  .payroll-review-pagination,
  .employee-archive-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .workbook-config-record {
    grid-template-columns: 1fr;
  }

  .employee-reminder-center {
    position: static;
  }

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

  .command-bar,
  .module-head {
    flex-wrap: wrap;
  }

  .workspace-header {
    align-items: start;
  }

  .command-bar {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .workspace-header {
    grid-template-columns: 1fr;
    padding: 18px;
  }

  .dashboard-card-grid,
  .dashboard-ops-grid,
  .analytics-mode-tabs,
  .analytics-executive-strip,
  .analytics-cockpit-grid,
  .analytics-drilldown-grid,
  .analytics-ledger-split,
  .ai-workspace-metrics,
  .analytics-grid,
  .audit-log-risk-grid,
  .file-draft-intake-console,
  .file-draft-intake-guide,
  .workbook-config-steps,
  .system-admin-control-board,
  .system-admin-grid,
  .employee-reminder-list {
    grid-template-columns: 1fr;
  }

  .file-draft-intake-guide ol {
    display: grid;
    grid-template-columns: 1fr;
  }

  .ops-pro-header .module-actions {
    justify-content: stretch;
  }

  .ops-pro-header .store-filter-label {
    min-width: 0;
  }

  .ops-pro-form-panel .entry-form,
  .attendance-entry-panel.ops-pro-form-panel .entry-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .permission-management-workspace,
  .system-admin-note,
  .payroll-list-panel,
  .analytics-grid > .module:first-child {
    grid-column: auto;
  }

  .rbac-console,
  .rbac-policy-strip,
  .rbac-permission-groups {
    grid-template-columns: 1fr;
  }

  .rbac-inspector-groups,
  .rbac-inspector-scope {
    grid-template-columns: 1fr;
  }

  .rbac-side-panel {
    position: static;
  }

  .command-bar {
    justify-content: flex-start;
  }

  .table-shell {
    margin-inline: -2px;
  }

  .employee-detail-modal,
  .employee-form-modal,
  .employee-reminder-detail-modal {
    width: min(100%, calc(100vw - 24px));
    max-height: calc(100vh - 24px);
  }

  .file-draft-drawer {
    width: 100vw;
  }

  .analytics-v2-brief {
    align-items: flex-start;
    flex-direction: column;
  }

  .analytics-v2-brief span {
    white-space: normal;
  }
}

@media (max-width: 640px) {
  .login-panel {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .login-visual-stage {
    min-height: 330px;
  }

  .login-form {
    padding: 24px;
    border-left: 0;
    border-top: 1px solid rgba(96, 59, 35, 0.12);
  }

  .login-form-head h1 {
    font-size: 28px;
  }

  .login-feature-row {
    left: 14px;
    right: 14px;
    bottom: 14px;
    grid-template-columns: 1fr;
  }

  .login-feature-row span {
    min-height: 34px;
  }

  .app-sidebar,
  .workspace-header,
  .workspace-body {
    padding: 16px;
  }

  .app-sidebar {
    max-height: none;
  }

  .brand-block {
    min-height: 44px;
  }

  .brand-logo {
    width: 34px;
    height: 34px;
  }

  .workspace-body {
    gap: 14px;
  }

  .module {
    padding: 14px;
  }

  .module-head {
    flex-direction: column;
    align-items: stretch;
  }

  .module-head .ghost-btn,
  .module-head .solid-btn,
  .module-head .status-pill {
    width: 100%;
  }

  .workflow-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .workflow-toolbar .ghost-btn,
  .source-card button,
  .data-lane-grid button {
    width: 100%;
  }

  .module-actions,
  .store-workbook-form-actions {
    width: 100%;
    justify-content: stretch;
  }

  .attendance-command,
  .payroll-command,
  .operations-command,
  .store-management-command,
  .system-admin-command,
  .audit-log-command,
  .dashboard-command,
  .analytics-command {
    padding: 14px;
  }

  .attendance-summary-row,
  .payroll-summary-row {
    gap: 8px;
  }

  .ops-pro-form-panel .entry-form,
  .attendance-entry-panel.ops-pro-form-panel .entry-form {
    grid-template-columns: 1fr;
  }

  .module-actions label,
  .module-actions button,
  .store-workbook-form-actions button,
  .action-footer button,
  .entry-form .form-action,
  .employee-form .form-action,
  .employee-filter-bar button {
    width: 100%;
  }

  .operations-grid .entry-form label:last-of-type,
  .operations-grid .entry-form .form-action {
    grid-column: auto;
  }

  .action-footer {
    align-items: stretch;
  }

  .task-item button {
    justify-self: stretch;
    min-height: 34px;
    padding: 0 10px;
    border: 1px solid #d8e1dd;
    border-radius: 8px;
    background: #fffdf8;
    text-align: center;
  }

  .task-log-form {
    grid-template-columns: 1fr;
  }

  .task-log-form button {
    width: 100%;
  }

  .task-source-link {
    width: 100%;
    justify-self: stretch;
    text-align: center;
  }

  .employee-detail-modal-backdrop {
    align-items: stretch;
    padding: 12px;
  }

  .employee-detail-modal,
  .employee-form-modal,
  .employee-reminder-detail-modal {
    max-height: calc(100vh - 24px);
  }

  .employee-form-modal-backdrop,
  .employee-reminder-detail-backdrop {
    align-items: stretch;
    padding: 12px;
  }

  .employee-form-modal-footer {
    flex-direction: column-reverse;
  }

  .employee-form-modal-footer button {
    width: 100%;
  }

  .employee-archive-table {
    display: none;
  }

  .employee-mobile-cards {
    display: grid;
    gap: 10px;
  }

  .employee-mobile-card dl {
    grid-template-columns: 1fr;
  }

  .employee-archive-command-bar {
    justify-content: stretch;
  }

  .employee-archive-command-bar span,
  .employee-archive-command-bar button {
    width: 100%;
  }

  .data-card strong,
  .dashboard-summary-card strong,
  .employee-archive-summary strong,
  .store-workbook-summary strong {
    font-size: 20px;
  }

  .nav-section {
    min-width: 0;
  }

  .nav-section-title {
    min-height: 40px;
    padding: 7px 9px;
  }

  .bar-row {
    grid-template-columns: 82px 1fr;
  }

  .bar-row strong {
    grid-column: 2;
    text-align: left;
  }

  .mega-menu-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .mega-menu-row > div {
    gap: 6px;
  }

  .mega-menu-row button {
    flex: 1 1 100%;
    min-height: 36px;
    padding: 6px 10px;
    border-right: 0;
    border-bottom: 1px solid #eef0f2;
  }

  .table-shell {
    border-radius: 8px;
  }

  .table-shell table {
    min-width: 620px;
  }

  .compact-table table,
  .standard-table table {
    min-width: 600px;
  }

  .employee-archive-table table,
  .employee-dynamic-table table,
  .payroll-editable-table table,
  .permission-management-table table {
    min-width: 760px;
  }

  .employee-reminder-summary {
    min-height: 48px;
  }

  .employee-reminder-list {
    grid-template-columns: 1fr;
  }

  .table-actions {
    min-width: 120px;
    align-items: stretch;
  }

  .table-actions .ghost-btn,
  .table-actions .table-action {
    flex: 1 1 100%;
    width: 100%;
  }

  .store-management-table table {
    min-width: 560px;
  }

  .audit-log-timeline article {
    grid-template-columns: 1fr;
  }

  th,
  td {
    padding: 9px 8px;
  }
}

@media (max-width: 480px) {
  .login-page,
  .app-sidebar,
  .workspace-header,
  .workspace-body {
    padding: 12px;
  }

  .page-title h1,
  .command-primary h2,
  .employee-archive-hero h2,
  .platform-hero h2 {
    font-size: 22px;
  }

  .command-bar > *,
  .command-bar select,
  .store-scope,
  .backend-status {
    width: 100%;
  }

  .nav-section {
    min-width: 0;
  }

  .nav-section-title {
    font-size: 13px;
  }

  .mega-menu-panel {
    max-height: 38vh;
  }

  .data-card,
  .quick-action,
  .dashboard-summary-card,
  .employee-archive-summary article,
  .store-workbook-summary article {
    padding: 12px;
  }

  .table-shell table {
    min-width: 560px;
  }

  .employee-archive-table table,
  .employee-dynamic-table table,
  .payroll-editable-table table,
  .permission-management-table table {
    min-width: 720px;
  }

  .employee-detail-modal-backdrop,
  .employee-form-modal-backdrop,
  .employee-reminder-detail-backdrop {
    padding: 8px;
  }

  .employee-detail-modal,
  .employee-form-modal,
  .employee-reminder-detail-modal {
    border-radius: 8px;
  }

  .employee-reminder-row {
    grid-template-columns: 1fr;
  }

  .employee-reminder-row strong {
    white-space: normal;
  }
}

@media (hover: none) {
  .touch-safe-target button,
  .touch-safe-target .ghost-btn,
  .touch-safe-target .solid-btn,
  .touch-safe-target .table-action {
    min-height: 42px;
  }

  .ghost-btn:hover,
  .solid-btn:hover,
  .table-action:hover {
    transform: none;
  }

  .mega-menu-row button,
  .nav-section-title {
    min-height: 44px;
  }
}

/* Employee archive final template pass: Pro-style list page, compact reminders, drawer dialogs. */
.workspace-header-lean {
  min-height: auto;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 14px 24px;
  background: #fffdf9;
}

.workspace-header-lean .page-title {
  gap: 1px;
}

.workspace-header-lean .page-title h1 {
  font-size: 22px;
  line-height: 1.18;
}

.workspace-header-lean .page-title p {
  display: none;
}

.workspace-header-lean .command-bar {
  gap: 8px;
}

.employee-pro-page {
  width: min(100%, 1500px);
  margin: 0 auto;
  gap: 12px;
  align-content: start;
}

.employee-pro-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 84px;
  padding: 16px 18px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background:
    linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 52%, var(--yr-border-light) 100%);
  box-shadow: var(--yr-shadow-soft);
}

.employee-pro-title {
  min-width: 0;
}

.employee-pro-title .eyebrow {
  display: inline-flex;
  margin-bottom: 4px;
  color: var(--yr-accent);
  font-size: 12px;
  font-weight: 900;
}

.employee-pro-title h2 {
  margin: 0;
  color: var(--yr-ink);
  font-size: 24px;
  line-height: 1.18;
}

.employee-pro-title p {
  margin: 6px 0 0;
  max-width: 760px;
  color: var(--yr-muted);
  font-size: 13px;
  line-height: 1.5;
}

.employee-pro-actions {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  justify-content: end;
  gap: 8px;
}

.employee-archive-command-bar.employee-pro-actions {
  display: grid;
  grid-template-columns: auto auto;
  justify-content: end;
}

.employee-pro-actions span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  min-width: 108px;
  border-radius: 7px;
  padding: 0 10px;
  color: var(--yr-text-body);
  background: var(--yr-primary-subtle);
  white-space: nowrap;
}

.employee-pro-actions .solid-btn {
  min-height: 34px;
  border-radius: 7px;
  padding: 0 14px;
  background: var(--yr-accent);
  box-shadow: none;
}

.employee-pro-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.employee-pro-metrics article {
  min-height: 74px;
  padding: 10px 12px;
  border-radius: 8px;
  border-left: 3px solid rgba(47, 143, 107, 0.55);
  background: var(--yr-card);
  box-shadow: none;
}

.employee-pro-metrics span,
.employee-pro-metrics small {
  color: var(--yr-muted);
  font-size: 12px;
}

.employee-pro-metrics strong {
  color: var(--yr-ink);
  font-size: 18px;
  line-height: 1.2;
}

.employee-pro-reminder-rail {
  display: block;
}

.employee-pro-reminder-rail .employee-reminder-center {
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  box-shadow: var(--yr-shadow-soft);
}

.employee-pro-reminder-rail .compact-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 12px;
}

.employee-pro-reminder-rail .compact-head h2 {
  font-size: 15px;
}

.employee-pro-reminder-rail .compact-head p {
  font-size: 12px;
}

.employee-pro-reminder-rail .employee-reminder-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.employee-pro-reminder-rail .employee-reminder-item {
  border-radius: 7px;
  background: var(--yr-primary-subtle);
}

.employee-pro-reminder-rail .employee-reminder-summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 2px 10px;
  min-height: 46px;
  padding: 8px 10px;
}

.employee-pro-reminder-rail .employee-reminder-summary span {
  min-width: 0;
  font-size: 13px;
}

.employee-pro-reminder-rail .employee-reminder-summary strong {
  justify-self: end;
  min-width: 36px;
  text-align: right;
  color: var(--yr-danger);
  font-size: 13px;
  white-space: nowrap;
}

.employee-pro-reminder-rail .employee-reminder-summary small {
  grid-column: 1 / -1;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-pro-table-card {
  display: grid;
  gap: 10px;
  padding: 0;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  box-shadow: 0 16px 34px rgba(47, 38, 30, 0.07);
  overflow: hidden;
}

.employee-pro-table-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 14px 16px 8px;
}

.employee-pro-table-head h2,
.employee-pro-table-head p {
  margin: 0;
}

.employee-pro-table-head h2 {
  color: var(--yr-ink);
  font-size: 18px;
  line-height: 1.2;
}

.employee-pro-table-head p {
  margin-top: 4px;
  color: var(--yr-muted);
  font-size: 13px;
}

.employee-pro-toolbar {
  margin: 0 16px;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid var(--yr-border);
  background: var(--yr-primary-subtle);
  box-shadow: none;
}

.employee-pro-toolbar .employee-filter-bar {
  grid-template-columns: minmax(150px, 0.65fr) minmax(140px, 0.58fr) minmax(280px, 1.4fr) auto auto;
  gap: 8px;
}

.employee-pro-toolbar label {
  gap: 4px;
}

.employee-pro-toolbar label span {
  color: var(--yr-muted);
  font-size: 11px;
  font-weight: 900;
}

.employee-pro-toolbar select,
.employee-pro-toolbar input {
  min-height: 34px;
  border-radius: 7px;
  font-size: 13px;
}

.employee-pro-toolbar .ghost-btn {
  min-width: 62px;
  min-height: 34px;
  border-radius: 7px;
  padding: 0 12px;
  color: var(--yr-ink);
  background: var(--yr-card);
}

.employee-pro-toolbar strong {
  min-height: 34px;
  padding: 0 2px;
  color: var(--yr-danger);
  font-size: 13px;
}

.employee-pro-table-card .employee-archive-table {
  margin: 0 16px 16px;
  border: 0;
  border-radius: 8px;
  box-shadow: none;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-gutter: stable;
}

.employee-pro-table-card .employee-archive-table table {
  width: 100%;
  min-width: 1220px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.employee-pro-table-card .employee-archive-table th,
.employee-pro-table-card .employee-archive-table td {
  height: 42px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--yr-border-light);
  color: var(--yr-ink);
  font-size: 13px;
  vertical-align: middle;
}

.employee-pro-table-card .employee-archive-table th {
  height: 38px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
  background: var(--yr-table-header);
}

.employee-pro-table-card .employee-archive-table tbody tr:hover {
  background: var(--yr-hover);
}

.employee-pro-table-card .employee-archive-table [data-employee-col="name"] {
  width: 104px;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="store"],
.employee-pro-table-card .employee-archive-table [data-employee-col="status"] {
  width: 64px;
  text-align: center;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="gender"],
.employee-pro-table-card .employee-archive-table [data-employee-col="age"] {
  width: 48px;
  text-align: center;
  color: var(--yr-muted);
  font-weight: 850;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="entryDate"],
.employee-pro-table-card .employee-archive-table [data-employee-col="contractEndDate"],
.employee-pro-table-card .employee-archive-table [data-employee-col="healthCertificateExpireDate"],
.employee-pro-table-card .employee-archive-table [data-employee-col="lastPromotionDate"],
.employee-pro-table-card .employee-archive-table [data-employee-col="nextReviewDate"] {
  width: 88px;
  text-align: center;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="workYears"],
.employee-pro-table-card .employee-archive-table [data-employee-col="annualLeaveDays"] {
  width: 64px;
  text-align: center;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="birthdayReminder"],
.employee-pro-table-card .employee-archive-table [data-employee-col="payrollTotal"] {
  width: 76px;
  text-align: center;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="promotionAdvice"] {
  width: 156px;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="baseSalary"],
.employee-pro-table-card .employee-archive-table [data-employee-col="positionSalary"],
.employee-pro-table-card .employee-archive-table [data-employee-col="socialSubsidy"] {
  width: 78px;
  text-align: right;
  padding-right: 10px;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="payrollTotal"] {
  text-align: right;
  padding-right: 10px;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="phone"] {
  width: 98px;
}

.employee-pro-table-card .employee-archive-table [data-employee-col="actions"] {
  position: sticky;
  right: 0;
  z-index: 2;
  width: 176px;
  min-width: 176px;
  text-align: right;
  background: var(--yr-card);
  box-shadow: -8px 0 12px rgba(47, 38, 30, 0.04);
}

.employee-pro-table-card .employee-archive-table [data-employee-col="actions"] .table-action {
  flex: 0 0 auto;
}

.employee-pro-table-card .employee-archive-table th[data-employee-col="workflowActions"],
.employee-pro-table-card .employee-archive-table td[data-employee-col="workflowActions"] {
  right: 176px;
  z-index: 3;
}

.employee-pro-name-cell {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.employee-pro-name-cell strong {
  color: var(--yr-ink);
  font-size: 14px;
  line-height: 1.15;
}

.employee-pro-name-cell span {
  color: var(--yr-muted);
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.employee-pro-date {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 0 7px;
  border-radius: 6px;
  background: var(--yr-warning-bg);
  color: var(--yr-text-body);
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
}

.promotion-advice {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 26px;
  padding: 4px 8px;
  border: 1px solid var(--yr-border);
  border-radius: 999px;
  background: #fffaf6;
  color: var(--yr-muted);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
  max-width: 126px;
}

.promotion-advice-wrap {
  display: inline-grid;
  grid-template-columns: minmax(0, max-content);
  gap: 5px;
  min-width: 0;
  max-width: 100%;
}

.promotion-advice-actions {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  flex-wrap: nowrap;
}

.promotion-advice-actions .table-action {
  min-width: 58px;
  min-height: 26px;
  padding: 0 7px;
  font-size: 11px;
}

.promotion-advice.ok {
  border-color: rgba(47, 143, 107, 0.28);
  background: #ecf8f2;
  color: var(--yr-success);
}

.promotion-advice.warn {
  border-color: rgba(183, 121, 31, 0.28);
  background: #fff7e6;
  color: var(--yr-warning);
}

.promotion-advice em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: rgba(31, 26, 23, 0.08);
  font-style: normal;
  font-size: 11px;
}

.promotion-advice small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: inherit;
  font-size: 11px;
}

.promotion-advice-tooltip {
  position: absolute;
  z-index: 220;
  right: calc(100% + 8px);
  top: -8px;
  display: none;
  width: min(390px, calc(100vw - 48px));
  padding: 12px 14px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf9;
  box-shadow: var(--yr-shadow-lift);
  color: var(--yr-text);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
  white-space: pre-line;
}

.promotion-advice:hover .promotion-advice-tooltip,
.promotion-advice:focus .promotion-advice-tooltip {
  display: block;
}

.promotion-advice-tooltip-floating {
  position: fixed;
  z-index: 9999;
  top: 96px;
  right: 16px;
  left: auto;
  display: block;
  pointer-events: none;
}

.employee-pro-money {
  display: inline-flex;
  justify-content: flex-end;
  width: 100%;
  min-width: 56px;
  color: var(--yr-ink);
  font-weight: 850;
  font-variant-numeric: tabular-nums;
}

.employee-pro-table-card .table-actions {
  display: inline-flex;
  width: 100%;
  min-width: 0;
  justify-content: flex-end;
  gap: 5px;
  flex-wrap: nowrap;
}

.employee-pro-table-card .table-action {
  min-width: 42px;
  min-height: 28px;
  padding: 0 7px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 850;
  line-height: 1;
  white-space: nowrap;
  word-break: keep-all;
  writing-mode: horizontal-tb;
  background: var(--yr-success-bg);
}

.employee-pro-table-card .table-action.danger {
  color: var(--yr-error);
  background: var(--yr-error-bg);
}

.employee-pro-table-card .table-action.active {
  color: var(--yr-card);
  background: var(--yr-accent);
}

.employee-review-context-panel {
  margin-bottom: 14px;
  border-color: rgba(47, 143, 107, 0.24);
  background: #fbfffc;
}

.employee-review-template-board,
.promotion-rule-template-board {
  margin-bottom: 16px;
}

.employee-review-template-grid,
.promotion-rule-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}

.promotion-rule-version-bar,
.promotion-rule-draft-list article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding: 12px 14px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: #fffaf5;
}

.promotion-rule-version-bar > div,
.promotion-rule-draft-list article > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.promotion-rule-version-bar span,
.promotion-rule-draft-list span {
  overflow-wrap: anywhere;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.promotion-rule-draft-list {
  display: grid;
  gap: 8px;
}

.promotion-rule-history-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 4px 0 14px;
}

.employee-review-template-row,
.promotion-rule-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 14px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-card);
}

.employee-review-template-row > div,
.promotion-rule-card > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.employee-review-template-row span,
.promotion-rule-card span,
.employee-review-result-rule span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-review-template-row strong,
.promotion-rule-card strong,
.employee-review-result-rule strong {
  color: var(--yr-text);
  line-height: 1.4;
}

.employee-review-template-row em {
  flex: 0 0 auto;
  border-radius: 999px;
  padding: 4px 8px;
  background: var(--yr-warning-bg);
  color: var(--yr-warning);
  font-style: normal;
  font-weight: 700;
  white-space: nowrap;
}

.employee-review-template-row p,
.promotion-rule-card p {
  margin: 0;
  color: var(--yr-text);
  line-height: 1.55;
}

.employee-review-template-row small,
.promotion-rule-card small {
  color: var(--yr-text-secondary);
  line-height: 1.5;
}

.employee-review-result-rule {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(47, 143, 107, 0.18);
  border-radius: 8px;
  background: #fbfffc;
}

.employee-review-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.employee-review-form-card,
.employee-review-ledger {
  display: grid;
  gap: 14px;
}

.employee-review-form {
  display: grid;
  gap: 14px;
}

.employee-monthly-sheet {
  display: grid;
  gap: 0;
  overflow: auto;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffdf9;
}

.employee-monthly-sheet-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  background: linear-gradient(90deg, rgba(232, 54, 26, 0.08), rgba(47, 143, 107, 0.08));
  border-bottom: 1px solid var(--yr-border);
}

.employee-monthly-sheet-title strong {
  color: var(--yr-text);
  font-size: 18px;
}

.employee-monthly-sheet-title span {
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.employee-monthly-header-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(132px, 1fr));
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid var(--yr-border);
  background: #fff;
}

.employee-monthly-scoreboard {
  display: grid;
  grid-template-columns: 150px 150px minmax(260px, 1fr);
  gap: 10px;
  padding: 12px;
  background: #fffaf2;
  border-bottom: 1px solid var(--yr-border);
}

.employee-monthly-scoreboard article {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid rgba(223, 55, 22, 0.12);
  border-radius: 8px;
  background: #fff;
}

.employee-monthly-scoreboard span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.employee-monthly-scoreboard strong {
  color: var(--yr-text);
  font-size: 18px;
}

.employee-monthly-scoreboard small {
  color: var(--yr-text-secondary);
}

.employee-monthly-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 12px;
  border-bottom: 1px solid var(--yr-border-light);
}

.employee-monthly-card {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: #fff;
}

.employee-monthly-card.is-wide {
  grid-column: 1 / -1;
}

.employee-monthly-card-head {
  display: grid;
  align-content: start;
  gap: 6px;
  min-width: 0;
}

.employee-monthly-card-head strong {
  color: var(--yr-text);
  font-size: 16px;
}

.employee-monthly-card-head span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-monthly-card-head em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: #b05b00;
  background: #fff3da;
  font-style: normal;
  font-weight: 900;
}

.employee-monthly-card-body {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.employee-monthly-card-body p {
  margin: 0;
  color: var(--yr-text);
  line-height: 1.5;
}

.employee-monthly-card-body p b {
  display: block;
  margin-bottom: 3px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-monthly-field-grid,
.standard-check-grid,
.complaint-grid {
  display: grid;
  gap: 8px;
}

.employee-monthly-field-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.standard-check-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

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

.standard-check-card {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 10px;
  border: 1px solid rgba(47, 143, 107, 0.18);
  border-radius: 8px;
  background: #f8fffb;
}

.standard-check-card legend {
  padding: 0 4px;
  color: var(--yr-green);
  font-size: 12px;
  font-weight: 800;
}

.employee-monthly-header-grid label,
.employee-monthly-field-grid label,
.standard-check-card label,
.complaint-grid label,
.employee-monthly-score,
.employee-monthly-card textarea,
.employee-review-note {
  display: grid;
  gap: 6px;
  color: var(--yr-muted);
  font-size: 12px;
  font-weight: 800;
}

.employee-monthly-header-grid input,
.employee-monthly-header-grid select,
.employee-monthly-field-grid input,
.standard-check-card input,
.complaint-grid input,
.employee-monthly-score input,
.employee-monthly-card textarea,
.employee-review-note textarea {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  color: var(--yr-text);
  background: #fff;
}

.employee-monthly-header-grid input,
.employee-monthly-header-grid select,
.employee-monthly-field-grid input,
.standard-check-card input,
.complaint-grid input,
.employee-monthly-score input {
  min-height: 36px;
  padding: 0 10px;
}

.employee-monthly-card textarea,
.employee-review-note textarea {
  min-height: 62px;
  padding: 10px;
  resize: vertical;
}

.employee-monthly-score-row {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.employee-monthly-note {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  color: var(--yr-text);
  background: #f7fffb;
  border-bottom: 1px solid var(--yr-border-light);
}

.employee-monthly-note span {
  color: var(--yr-text-secondary);
}

.employee-monthly-actions {
  justify-content: flex-start;
}

.employee-monthly-actions .solid-btn.alt {
  background: var(--yr-green);
}

.employee-review-basic-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
}

.employee-review-basic-grid label,
.employee-review-note {
  display: grid;
  gap: 6px;
  color: var(--yr-muted);
  font-weight: 700;
}

.employee-review-basic-grid input,
.employee-review-basic-grid select,
.employee-review-note textarea,
.employee-review-input-row input,
.employee-review-input-row textarea {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  padding: 0 12px;
  color: var(--yr-text);
  background: var(--yr-primary-subtle);
}

.employee-review-basic-grid input,
.employee-review-basic-grid select,
.employee-review-input-row input {
  min-height: 40px;
}

.employee-review-note textarea,
.employee-review-input-row textarea {
  min-height: 72px;
  padding: 10px 12px;
  resize: vertical;
}

.employee-review-template-table,
.employee-review-ledger-table {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
}

.employee-review-ledger-table table {
  min-width: 760px;
}

.employee-review-ledger-table th {
  white-space: nowrap;
}

.employee-review-template-table {
  display: grid;
  gap: 0;
  overflow: hidden;
  background: var(--yr-card);
}

.employee-review-template-head,
.employee-review-input-row {
  display: grid;
  grid-template-columns: 120px minmax(230px, 1fr) minmax(190px, 0.8fr) 116px minmax(210px, 0.85fr);
  gap: 12px;
  align-items: start;
}

.employee-review-template-head {
  padding: 10px 12px;
  background: #fff7ea;
  color: var(--yr-muted);
  font-size: 12px;
  font-weight: 800;
}

.employee-review-input-row {
  padding: 12px;
  border-top: 1px solid var(--yr-border-light);
}

.employee-review-input-title {
  display: grid;
  gap: 5px;
}

.employee-review-input-title strong {
  color: var(--yr-text);
}

.employee-review-input-title small {
  color: var(--yr-text-secondary);
}

.employee-review-input-row p {
  margin: 0;
  color: var(--yr-text);
  line-height: 1.55;
}

.employee-review-template-table .score-pill {
  display: inline-flex;
  align-items: center;
  justify-self: start;
  min-height: 28px;
  border-radius: 999px;
  padding: 3px 8px;
  background: var(--yr-warning-bg);
  color: var(--yr-warning);
  font-weight: 800;
  white-space: nowrap;
}

.employee-review-ledger-table td:last-child {
  min-width: 170px;
}

.employee-detail-modal-backdrop,
.employee-form-modal-backdrop,
.employee-reminder-detail-backdrop {
  display: flex;
  align-items: stretch;
  justify-content: flex-end;
  padding: 0;
  background: rgba(31, 26, 23, 0.42);
}

html:has(.employee-detail-modal-backdrop),
html:has(.employee-form-modal-backdrop),
html:has(.employee-reminder-detail-backdrop),
body:has(.employee-detail-modal-backdrop),
body:has(.employee-form-modal-backdrop),
body:has(.employee-reminder-detail-backdrop) {
  overflow: hidden;
}

.ops-layout:has(.employee-detail-modal-backdrop) .mega-menu-panel,
.ops-layout:has(.employee-form-modal-backdrop) .mega-menu-panel,
.ops-layout:has(.employee-reminder-detail-backdrop) .mega-menu-panel {
  display: none;
}

.employee-detail-modal,
.employee-form-modal,
.employee-reminder-detail-modal {
  width: min(760px, 100%);
  max-height: none;
  height: calc(100vh - 28px);
  height: calc(100dvh - max(28px, env(safe-area-inset-top)));
  margin-top: max(14px, env(safe-area-inset-top));
  border-radius: 0;
  overflow-y: auto;
  overflow-x: hidden;
  box-shadow: -22px 0 48px rgba(31, 26, 23, 0.22);
}

.employee-form-modal {
  width: min(880px, 100%);
}

.employee-reminder-detail-modal {
  width: min(680px, 100%);
}

.employee-detail-modal .employee-detail-panel,
.employee-form-modal .employee-archive-maintenance {
  min-height: 100%;
  border: 0;
  border-left: 1px solid var(--yr-border);
  border-radius: 10px 0 0 0;
  background: var(--yr-card);
  box-shadow: none;
}

.employee-reminder-detail-modal {
  min-height: 0;
  border: 0;
  border-left: 1px solid var(--yr-border);
  border-radius: 10px 0 0 0;
  background: var(--yr-card);
  box-shadow: -22px 0 48px rgba(31, 26, 23, 0.22);
}

.employee-detail-modal .module-head,
.employee-form-modal .module-head,
.employee-reminder-detail-modal .module-head {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0 -16px 0;
  padding: 16px 16px 14px;
  border-bottom: 1px solid var(--yr-border);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(12px);
}

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

.employee-form-modal .employee-form {
  gap: 12px;
}

.employee-form-modal .employee-archive-maintenance,
.employee-form-modal .employee-form,
.employee-form-modal .employee-form-section,
.employee-form-modal .employee-form-section-grid {
  width: 100%;
  min-width: 0;
}

.employee-form-modal .employee-form-section {
  border-radius: 8px;
  background: var(--yr-card);
  overflow: hidden;
}

.employee-form-modal .employee-form-section-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.employee-form-modal .employee-basic-info-section .employee-form-section-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: end;
}

.employee-form-modal .employee-employment-info-section .field-wide {
  grid-column: span 3;
}

.employee-form-modal .employee-certificate-life-section .employee-form-section-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
}

.employee-form-modal .employee-pay-bank-section .employee-form-section-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: end;
}

.employee-derived-field span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.employee-derived-field span small {
  color: var(--yr-primary);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0;
}

.employee-derived-field input[readonly] {
  color: var(--yr-text);
  background: #f6f3ee;
  cursor: default;
}

.employee-permission-readonly span,
.employee-permission-restricted span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.employee-permission-readonly span small,
.employee-permission-restricted span small {
  color: var(--yr-text-secondary);
  font-size: 10px;
  font-weight: 700;
}

.employee-permission-readonly input[readonly],
.employee-permission-restricted input:disabled,
.employee-rule-grid input[readonly] {
  color: var(--yr-text-secondary);
  border-color: var(--yr-border-light);
  background: #f6f3ee;
  cursor: not-allowed;
}

.employee-permission-notice {
  border-color: rgba(168, 120, 55, 0.22);
  background: #fffaf0;
  color: #76511f;
}

.employee-id-card-field {
  grid-column: span 2;
}

.employee-id-feedback {
  min-height: 18px;
  color: var(--yr-text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

.employee-id-feedback.is-success {
  color: #3f6b4e;
}

.employee-id-feedback.is-error {
  color: var(--yr-primary);
}

.employee-rule-panel {
  grid-column: 1 / -1;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(223, 55, 22, 0.18);
  border-radius: 8px;
  background: #fff8f3;
}

.employee-rule-panel summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  color: var(--yr-text);
  font-weight: 900;
}

.employee-rule-panel summary span {
  color: var(--yr-primary);
  font-size: 13px;
}

.employee-rule-panel summary strong {
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.employee-rule-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.employee-rule-grid label span {
  white-space: nowrap;
}

.employee-rule-formula {
  display: grid;
  gap: 5px;
  padding: 10px 12px;
  border-radius: 8px;
  background: #fff;
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.employee-rule-formula strong {
  color: var(--yr-text);
}

.employee-rule-config-layer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  justify-items: end;
  background: rgba(34, 27, 22, 0.46);
}

.employee-rule-config-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
}

.employee-rule-config-drawer {
  position: relative;
  z-index: 1;
  width: min(1040px, calc(100vw - 96px));
  height: 100vh;
  overflow: auto;
  padding: 0 18px 18px;
  border-left: 1px solid var(--yr-border);
  background: #fffdf8;
  box-shadow: -24px 0 60px rgba(31, 26, 23, 0.24);
}

.employee-rule-config-drawer .module-head {
  position: sticky;
  top: 0;
  z-index: 2;
  margin: 0 -18px 16px;
  padding: 18px;
  border-bottom: 1px solid var(--yr-border);
  background: rgba(255, 253, 248, 0.96);
  backdrop-filter: blur(12px);
}

.employee-rule-config-form {
  display: grid;
  gap: 14px;
}

.employee-rule-config-section {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fff;
}

.employee-rule-config-section h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 15px;
}

.employee-rule-config-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.employee-rule-config-grid.is-department {
  grid-template-columns: minmax(180px, 1fr) 120px 110px;
}

.employee-rule-config-grid label,
.employee-rule-role-row input,
.employee-rule-role-row select {
  min-width: 0;
}

.employee-rule-config-grid label {
  display: grid;
  gap: 6px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.employee-rule-config-grid .field-wide {
  grid-column: span 2;
}

.employee-rule-config-grid input,
.employee-rule-config-grid select,
.employee-rule-role-row input,
.employee-rule-role-row select {
  height: 38px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fffaf5;
  color: var(--yr-text);
  padding: 0 10px;
  font: inherit;
  font-weight: 800;
}

.employee-rule-role-table {
  display: grid;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 4px;
}

.employee-rule-role-head,
.employee-rule-role-row {
  display: grid;
  grid-template-columns: 150px 110px 90px 90px 90px 100px 100px 100px 132px;
  gap: 8px;
  min-width: 980px;
  align-items: center;
}

.employee-rule-role-head {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.employee-rule-role-row {
  padding: 8px;
  border-radius: 8px;
  background: #fff8f3;
}

.employee-rule-role-row.is-new {
  border: 1px dashed rgba(223, 55, 22, 0.28);
  background: #fffdf8;
}

@media (max-width: 900px) {
  .employee-form-modal .employee-form-section-grid,
  .employee-form-modal .employee-basic-info-section .employee-form-section-grid,
  .employee-form-modal .employee-certificate-life-section .employee-form-section-grid,
  .employee-form-modal .employee-pay-bank-section .employee-form-section-grid,
  .employee-rule-grid,
  .employee-rule-config-grid,
  .employee-rule-config-grid.is-department {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .employee-form-modal .employee-employment-info-section .field-wide {
    grid-column: auto;
  }

  .employee-rule-config-drawer {
    width: min(100vw, 760px);
  }
}

@media (max-width: 640px) {
  .employee-form-modal .employee-form-section-grid,
  .employee-form-modal .employee-basic-info-section .employee-form-section-grid,
  .employee-rule-grid,
  .employee-rule-config-grid,
  .employee-rule-config-grid.is-department {
    grid-template-columns: 1fr;
  }

  .employee-rule-config-drawer {
    width: 100vw;
    padding: 0 12px 14px;
  }

  .employee-id-card-field {
    grid-column: auto;
  }
}

.employee-form-modal .employee-form label,
.employee-form-modal .employee-form input,
.employee-form-modal .employee-form select,
.employee-form-modal .employee-form textarea {
  min-width: 0;
}

.employee-form-modal .employee-form-modal-footer {
  padding-right: 2px;
}

@media (min-width: 1720px) {
  .employee-pro-page {
    width: min(100%, 1560px);
  }
}

@media (max-width: 1100px) {
  .employee-pro-page {
    width: 100%;
  }

  .employee-pro-metrics,
  .employee-pro-reminder-rail .employee-reminder-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .employee-pro-toolbar .employee-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .employee-pro-toolbar .employee-filter-bar label:nth-of-type(3) {
    grid-column: 1 / -1;
  }
}

@media (max-width: 900px) {
  .dashboard-commandbar,
  .dashboard-command-console,
  .analytics-cockpit-grid,
  .analytics-ledger-split {
    grid-template-columns: 1fr;
  }

  .dashboard-commandbar-actions {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .dashboard-commandbar-metrics,
  .analytics-executive-strip,
  .analytics-reconcile-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-todo-head {
    display: none;
  }

  .dashboard-todo-row {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .dashboard-todo-row p {
    grid-column: 2 / -1;
  }

  .dashboard-todo-row button {
    grid-column: 2 / -1;
    justify-self: start;
  }

  .workspace-header-lean {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .employee-pro-header {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .employee-pro-actions {
    justify-content: flex-start;
  }

  .employee-pro-toolbar {
    margin: 0 12px;
  }

  .employee-pro-table-card .employee-archive-table {
    display: none;
  }

  .employee-monthly-sheet-title,
  .employee-monthly-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .employee-monthly-header-grid,
  .employee-monthly-scoreboard,
  .employee-monthly-sections,
  .employee-monthly-card,
  .employee-monthly-score-row {
    grid-template-columns: 1fr;
    min-width: 0;
  }

  .standard-check-grid,
  .complaint-grid,
  .employee-monthly-field-grid {
    grid-template-columns: 1fr;
  }

  .employee-pro-table-card .employee-mobile-cards {
    display: grid;
    gap: 8px;
    margin: 0 12px 12px;
  }

  .employee-detail-modal,
  .employee-form-modal,
  .employee-reminder-detail-modal {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .dashboard-commandbar-metrics,
  .analytics-executive-strip,
  .analytics-reconcile-list,
  .analytics-mode-tabs,
  .analytics-store-list article {
    grid-template-columns: 1fr;
  }

  .dashboard-commandbar-title h2,
  .analytics-commandbar h2 {
    font-size: 22px;
  }

  .employee-pro-page {
    gap: 10px;
  }

  .employee-pro-header,
  .employee-pro-reminder-rail .employee-reminder-center,
  .employee-pro-table-card {
    border-radius: 8px;
  }

  .employee-pro-title h2 {
    font-size: 22px;
  }

  .employee-pro-title p {
    font-size: 12px;
  }

  .employee-pro-actions,
  .employee-pro-actions .solid-btn,
  .employee-pro-actions span {
    width: 100%;
  }

  .employee-pro-actions .solid-btn,
  .employee-pro-actions span {
    justify-content: center;
  }

  .employee-pro-metrics,
  .employee-pro-reminder-rail .employee-reminder-list,
  .employee-pro-toolbar .employee-filter-bar {
    grid-template-columns: 1fr;
  }

  .employee-pro-toolbar .ghost-btn,
  .employee-pro-toolbar strong {
    width: 100%;
    justify-content: center;
  }

  .employee-pro-table-head {
    grid-template-columns: 1fr;
  }

.employee-detail-modal .employee-detail-grid {
    grid-template-columns: 1fr;
  }
}

/* Yiran visual system package 1: token-driven foundation. */
.app-shell,
.workspace-body {
  background: var(--yr-bg);
}

.app-sidebar {
  background: var(--yr-brown);
  color: var(--yr-border);
  padding: 14px 10px;
  gap: 10px;
  border-right: 0;
  box-shadow: 12px 0 28px rgba(50, 35, 20, 0.12);
  overflow-x: hidden;
}

.brand-block {
  color: var(--yr-text-white);
  gap: 10px;
  min-height: 52px;
}

.brand-block span,
.brand-block p,
.operator-card {
  color: var(--yr-border);
}

.brand-block strong {
  font-size: 13px;
  line-height: 1.25;
}

.brand-block span {
  font-size: 11px;
  line-height: 1.35;
}

.brand-logo {
  width: 32px;
  height: 32px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.1);
  color: var(--yr-text-white);
  font-size: 14px;
}

.side-nav {
  gap: 4px;
}

.nav-mode-badge {
  display: inline-flex;
  align-items: center;
  width: 100%;
  min-height: 30px;
  margin: 6px 0 10px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  color: #ffe9dd;
  background: rgba(223, 55, 22, 0.16);
  font-size: 12px;
  font-weight: 800;
}

.nav-section-title {
  min-height: 38px;
  grid-template-columns: 22px minmax(0, 1fr);
  padding: 0 10px;
  border-radius: 7px;
  font-size: 13px;
}

.nav-section-title i {
  font-size: 13px;
}

.operator-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.08);
}

.operator-card strong {
  color: var(--yr-text-white);
  font-size: 13px;
  line-height: 1.25;
}

.operator-card span,
.operator-card small {
  color: var(--yr-border-light);
  font-size: 11px;
  line-height: 1.35;
}

.nav-section-title {
  color: var(--yr-border);
  background: transparent;
}

.nav-section-title:hover {
  color: var(--yr-text-white);
  background: rgba(223, 55, 22, 0.18);
}

.nav-section-title.active {
  color: var(--yr-text-white);
  background: var(--yr-primary);
  box-shadow: none;
}

.workspace-header {
  min-height: 64px;
  background: var(--yr-card);
  border-bottom: 1px solid var(--yr-border);
}

.module,
.data-card,
.mini-stat,
.employee-archive-page .module,
.employee-archive-hero,
.employee-archive-summary article,
.employee-archive-filter-panel,
.employee-archive-main,
.employee-detail-panel,
.employee-form,
.employee-pro-header,
.employee-pro-table-card,
.employee-pro-reminder-rail .employee-reminder-center {
  background: var(--yr-card);
  border: 1px solid var(--yr-border);
  border-radius: var(--yr-radius-card);
  box-shadow: var(--yr-shadow-card);
}

.employee-archive-hero,
.employee-pro-header {
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
}

.table-shell {
  background: var(--yr-card);
  border: 1px solid var(--yr-border);
  border-radius: var(--yr-radius-card);
}

th,
.employee-pro-table-card .employee-archive-table th {
  background: var(--yr-table-header);
  color: var(--yr-text);
}

tr:hover td,
.employee-pro-table-card .employee-archive-table tbody tr:hover {
  background: var(--yr-hover);
}

.solid-btn,
.employee-pro-actions .solid-btn {
  color: var(--yr-text-white);
  background: var(--yr-primary);
  box-shadow: none;
}

.solid-btn:hover,
.employee-pro-actions .solid-btn:hover {
  background: var(--yr-primary-hover);
}

.ghost-btn,
.employee-pro-toolbar .ghost-btn {
  color: var(--yr-text);
  background: var(--yr-card);
  border: 1px solid var(--yr-border);
}

.table-action,
.employee-pro-table-card .table-action {
  color: var(--yr-text);
  background: var(--yr-card);
  border: 1px solid var(--yr-border-light);
  border-radius: 999px;
}

.table-action:hover,
.employee-pro-table-card .table-action:hover {
  background: var(--yr-hover);
}

.table-action.view,
.employee-pro-table-card .table-action.view {
  color: var(--yr-success);
  background: var(--yr-success-bg);
  border-color: transparent;
}

.table-action.edit,
.employee-pro-table-card .table-action.edit {
  color: var(--yr-text);
  background: var(--yr-table-header);
  border-color: var(--yr-border-light);
}

.table-action.danger,
.employee-pro-table-card .table-action.danger {
  color: var(--yr-error);
  background: var(--yr-error-bg);
}

.table-action.active,
.employee-pro-table-card .table-action.active {
  color: var(--yr-text-white);
  background: var(--yr-success);
  border-color: transparent;
}

.status-pill {
  border-radius: 999px;
  color: var(--yr-primary);
  background: var(--yr-primary-soft);
}

.status-pill.ok {
  color: var(--yr-success);
  background: var(--yr-success-bg);
}

.status-pill.warn {
  color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.status-pill.muted {
  color: var(--yr-text-secondary);
  background: var(--yr-border-light);
}

.status-pill.neutral {
  color: var(--yr-text);
  background: var(--yr-primary-subtle);
  border: 1px solid var(--yr-border);
}

.employee-filter-bar input,
.employee-filter-bar select,
.employee-form input,
.employee-form select,
.employee-form textarea {
  color: var(--yr-text-body);
  background: var(--yr-card);
  border-color: var(--yr-border);
}

.role-workbench,
.today-action-plan,
.decision-focus,
.confirmation-queue {
  margin-top: 18px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
}

.role-workbench {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 0.4fr);
  gap: 16px;
  padding: 18px;
}

.role-workbench h3,
.decision-focus h3,
.confirmation-queue h3 {
  margin: 4px 0 6px;
  color: var(--yr-text);
}

.role-workbench p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.7;
}

.role-workbench-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(72px, 1fr));
  gap: 8px;
}

.role-workbench-stats article,
.confirmation-queue-card,
.decision-focus-card {
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.role-workbench-stats article {
  min-height: 76px;
  padding: 12px;
}

.role-workbench-stats strong {
  display: block;
  color: var(--yr-primary);
  font-size: 24px;
}

.role-workbench-stats span,
.confirmation-queue-card span,
.decision-focus-card span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.today-action-plan,
.decision-focus,
.confirmation-queue {
  padding: 16px;
}

.daily-path-overview {
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(223, 55, 22, 0.16);
  border-radius: 8px;
  background: #fff8ef;
}

.daily-path-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.daily-path-head h3 {
  margin: 3px 0 0;
  color: var(--yr-text);
}

.daily-path-head small {
  max-width: 360px;
  color: var(--yr-text-secondary);
  line-height: 1.5;
}

.daily-path-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
}

.daily-path-card {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 6px;
  min-height: 122px;
  padding: 12px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
  color: var(--yr-text);
  text-align: left;
  cursor: pointer;
}

.daily-path-card em {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #fff0e8;
  color: var(--yr-primary);
  font-style: normal;
  font-weight: 900;
  font-size: 12px;
}

.daily-path-card strong {
  font-size: 14px;
}

.daily-path-card span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.daily-path-card:hover,
.daily-path-card.active {
  border-color: rgba(223, 55, 22, 0.38);
  box-shadow: 0 10px 22px rgba(91, 51, 24, 0.08);
}

.daily-intelligence-strip {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  margin-top: 12px;
  padding: 10px 12px;
  border: 1px solid rgba(43, 121, 91, 0.18);
  border-radius: 8px;
  background: #f5fbf7;
}

.daily-intelligence-strip strong {
  color: #18633f;
}

.daily-intelligence-strip span {
  color: var(--yr-text-secondary);
  line-height: 1.45;
}

.decision-focus-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
}

.today-action-list {
  display: grid;
  gap: 10px;
}

.today-action-step {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.today-action-index {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(223, 55, 22, 0.1);
  color: var(--yr-primary);
  font-weight: 900;
}

.today-action-step span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.today-action-step strong {
  display: block;
  margin-top: 3px;
  color: var(--yr-text);
}

.today-action-step p {
  margin: 4px 0 0;
  color: var(--yr-text-secondary);
  line-height: 1.5;
}

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

.decision-focus-card {
  display: grid;
  gap: 8px;
  min-height: 208px;
  padding: 14px;
}

.decision-focus-card strong {
  color: var(--yr-text);
  font-size: 22px;
}

.decision-focus-card p,
.decision-focus-card small,
.confirmation-queue-card p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.6;
}

.decision-focus-card.warning,
.decision-focus-card.danger,
.confirmation-queue-card.needs-action {
  background: var(--yr-warning-bg);
}

.confirmation-queue-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
}

.confirmation-queue-card {
  display: grid;
  gap: 8px;
  min-height: 150px;
  padding: 12px;
}

.confirmation-queue-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.confirmation-queue-card strong {
  color: var(--yr-primary);
  font-size: 24px;
}

.scenario-assist-panel {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.1fr);
  gap: 16px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
}

.scenario-assist-copy {
  display: grid;
  align-content: start;
  gap: 10px;
  min-width: 0;
}

.scenario-assist-copy h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 22px;
}

.scenario-assist-copy p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.7;
}

.scenario-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 8px;
}

.scenario-metric-grid article {
  min-height: 72px;
  padding: 10px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.scenario-metric-grid span,
.scenario-alert-card span {
  display: block;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.scenario-metric-grid strong {
  display: block;
  margin-top: 4px;
  color: var(--yr-primary);
  font-size: 22px;
}

.scenario-action-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
  align-content: start;
}

.scenario-alert-card {
  display: grid;
  gap: 8px;
  min-height: 134px;
  padding: 12px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.scenario-alert-card strong {
  color: var(--yr-text);
  font-size: 16px;
}

.scenario-alert-card p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.scenario-alert-card .ghost-btn {
  align-self: end;
  justify-self: start;
}

.schedule-draft-workbench {
  margin-top: 18px;
}

.schedule-draft-toolbar {
  display: grid;
  grid-template-columns: minmax(170px, 1fr) minmax(190px, 1fr) minmax(120px, 0.6fr) minmax(110px, 0.6fr) auto;
  gap: 10px;
  align-items: end;
  margin: 16px 0;
}

.schedule-draft-toolbar label,
.schedule-draft-toolbar > div {
  display: grid;
  gap: 5px;
  min-height: 64px;
  padding: 10px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.schedule-draft-toolbar span,
.schedule-draft-date span,
.schedule-draft-stations span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-draft-toolbar strong {
  color: var(--yr-text);
}

.schedule-draft-toolbar select {
  min-width: 0;
}

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

.schedule-draft-row {
  display: grid;
  gap: 12px;
  min-height: 220px;
  padding: 14px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.schedule-draft-row.needs-action {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.schedule-draft-date {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.schedule-draft-date strong {
  color: var(--yr-primary);
  font-size: 20px;
}

.schedule-draft-date em {
  border-radius: 999px;
  padding: 4px 8px;
  background: var(--yr-card);
  color: var(--yr-text-secondary);
  font-style: normal;
  font-size: 12px;
}

.schedule-draft-stations {
  display: grid;
  gap: 8px;
}

.schedule-draft-stations div {
  display: grid;
  gap: 3px;
  padding: 8px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-card);
}

.schedule-draft-stations strong {
  color: var(--yr-text);
  line-height: 1.45;
}

.schedule-draft-row p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.attendance-payroll-impact {
  margin-top: 18px;
}

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

.payroll-impact-row {
  display: grid;
  gap: 10px;
  min-height: 182px;
  padding: 13px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.payroll-impact-row > div:first-child {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.payroll-impact-row strong {
  color: var(--yr-text);
}

.payroll-impact-row span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.payroll-impact-row p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.payroll-impact-money {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.payroll-impact-money span {
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--yr-card);
}

.payroll-impact-row .ghost-btn {
  align-self: end;
  justify-self: start;
}

.file-draft-workflow {
  margin-top: 18px;
}

.file-draft-approval-workbench {
  overflow: hidden;
}

.file-draft-approval-layout {
  display: grid;
  grid-template-columns: minmax(190px, 0.24fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.file-draft-stage-rail {
  display: grid;
  gap: 10px;
}

.file-draft-stage-rail article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  min-height: 70px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.file-draft-stage-rail article.needs-action {
  border-color: rgba(217, 61, 32, 0.24);
  background: var(--yr-warning-bg);
}

.file-draft-stage-rail span {
  color: var(--yr-text);
  font-weight: 800;
}

.file-draft-stage-rail strong {
  color: var(--yr-red);
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.file-draft-stage-rail small {
  grid-column: 1 / -1;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.file-draft-approval-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fff;
}

.file-draft-approval-panel > header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.file-draft-approval-panel h3 {
  margin: 2px 0 0;
  color: var(--yr-text);
  font-size: 18px;
}

.file-draft-approval-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.file-draft-approval-card {
  display: grid;
  grid-template-columns: minmax(210px, 0.8fr) minmax(260px, 1fr) auto;
  gap: 14px;
  align-items: center;
  min-height: 92px;
  padding: 13px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fffaf5;
}

.file-draft-approval-card.needs-action {
  border-color: rgba(217, 61, 32, 0.24);
  background: var(--yr-warning-bg);
}

.file-draft-approval-card.is-confirmed {
  background: #f7fbf7;
}

.file-draft-approval-card.is-rejected {
  border-color: rgba(120, 85, 45, 0.18);
  background: #f8f3ed;
}

.file-draft-approval-main,
.file-draft-approval-trace,
.file-draft-approval-actions {
  min-width: 0;
}

.file-draft-approval-main {
  display: grid;
  gap: 4px;
}

.file-draft-module {
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  background: #fff;
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 900;
}

.file-draft-approval-main strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.file-draft-approval-main small {
  color: var(--yr-text-secondary);
}

.file-draft-approval-trace {
  display: grid;
  gap: 6px;
}

.file-draft-approval-trace p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.file-draft-approval-actions {
  display: flex;
  justify-content: flex-end;
}

.file-draft-approval-actions .solid-btn,
.file-draft-approval-actions .ghost-btn {
  min-height: 36px;
  white-space: nowrap;
}

.file-draft-pipeline {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
  margin-top: 14px;
}

.file-draft-flow-card {
  display: grid;
  gap: 10px;
  min-height: 176px;
  padding: 13px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.file-draft-flow-card.needs-action {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.file-draft-flow-card span,
.file-draft-flow-card em {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-style: normal;
}

.file-draft-flow-card strong {
  color: var(--yr-text);
  line-height: 1.4;
}

.file-draft-flow-card p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.file-draft-flow-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  align-self: end;
}

.employee-status-workbench {
  margin-top: 18px;
}

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

.employee-status-card {
  display: grid;
  gap: 10px;
  min-height: 176px;
  padding: 13px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
}

.employee-status-card > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}

.employee-status-card strong {
  color: var(--yr-text);
}

.employee-status-card span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-status-card p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
}

.employee-status-card em {
  border-radius: 999px;
  padding: 5px 8px;
  background: var(--yr-card);
  color: var(--yr-text-secondary);
  font-style: normal;
  font-size: 12px;
}

.employee-status-card .ghost-btn {
  align-self: end;
  justify-self: start;
}

@media (max-width: 1100px) {
  .task-ops-head {
    display: none;
  }

  .task-ops-row {
    grid-template-columns: 48px minmax(0, 1fr);
  }

  .task-ops-row > span:not(.task-priority-badge),
  .task-ops-owner,
  .task-ops-progress,
  .task-ops-actions {
    grid-column: 2;
  }

  .task-ops-actions {
    justify-content: flex-start;
  }

  .analytics-store-list article {
    grid-template-columns: 30px minmax(0, 1fr);
  }

  .analytics-store-list article > b,
  .analytics-store-list small {
    grid-column: 2;
  }

  .employee-reminder-priority-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .employee-reminder-priority-head {
    display: grid;
  }

  .employee-reminder-priority-list {
    grid-template-columns: 1fr;
  }
}

.inventory-task-closure {
  margin-top: 18px;
}

.inventory-task-summary {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.inventory-task-summary article,
.inventory-task-card {
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
}

.inventory-task-summary article {
  padding: 12px;
}

.inventory-task-summary span,
.inventory-task-card span {
  display: block;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.inventory-task-summary strong {
  display: block;
  margin-top: 4px;
  color: var(--yr-text);
  font-size: 22px;
}

.inventory-task-summary small {
  color: var(--yr-text-secondary);
}

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

.inventory-task-card {
  display: flex;
  min-height: 190px;
  flex-direction: column;
  gap: 12px;
  padding: 14px;
}

.inventory-task-card.needs-action {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.inventory-task-card strong {
  display: block;
  margin-top: 5px;
  color: var(--yr-text);
  line-height: 1.35;
}

.inventory-task-card p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.6;
}

.inventory-task-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
}

.inventory-task-footer em {
  min-width: 38px;
  border-radius: 999px;
  background: rgba(223, 55, 22, 0.1);
  color: var(--yr-primary);
  font-style: normal;
  font-weight: 800;
  text-align: center;
  padding: 5px 8px;
}

.tableware-inventory-board .store-workbook-shell {
  align-items: start;
}

.tableware-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px;
  margin: 18px 0;
}

.tableware-item-card {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 12px;
  min-height: 252px;
  padding: 14px;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: var(--yr-card);
}

.tableware-item-card.needs-action {
  border-color: var(--yr-warning);
  background: var(--yr-warning-bg);
}

.tableware-image-tile {
  display: grid;
  place-items: center;
  width: 72px;
  height: 72px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-bg);
  color: var(--yr-text-secondary);
  font-size: 12px;
  text-align: center;
  line-height: 1.4;
}

.tableware-item-main {
  min-width: 0;
}

.tableware-item-main strong {
  display: block;
  margin: 4px 0;
  color: var(--yr-text);
  font-size: 18px;
}

.tableware-item-spec,
.tableware-suggestion {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.tableware-quantity-row {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
}

.tableware-quantity-row div {
  padding: 10px;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: var(--yr-card);
}

.tableware-quantity-row span {
  display: block;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-quantity-row strong {
  color: var(--yr-text);
  font-size: 20px;
}

.tableware-quantity-row strong.warn {
  color: var(--yr-warning);
}

.tableware-quantity-row strong.ok {
  color: var(--yr-success);
}

.tableware-item-card .table-actions {
  grid-column: 1 / -1;
}

.tableware-inventory-table td:nth-child(4),
.tableware-inventory-table td:nth-child(5),
.tableware-inventory-table td:nth-child(6) {
  white-space: nowrap;
}

@media (min-width: 901px) {
  .ops-layout {
    display: grid;
    grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
    align-items: stretch;
  }

  .app-sidebar {
    position: sticky;
    top: 0;
    z-index: 40;
    grid-column: 1;
    grid-row: 1;
    width: var(--sidebar-width);
    height: 100vh;
    max-height: 100vh;
    overflow: auto;
    align-self: start;
    transform: none !important;
  }

  .workspace {
    grid-column: 2;
    min-width: 0;
  }

  .mega-menu-panel {
    position: fixed;
    left: calc(var(--sidebar-width) + 8px);
    top: var(--mega-menu-top, 96px);
    width: min(400px, calc(100vw - var(--sidebar-width) - 24px));
    max-height: min(560px, calc(100vh - var(--mega-menu-top, 96px) - 16px));
    z-index: 42;
  }

  .mega-menu-panel::before {
    display: block;
    position: fixed;
    left: var(--sidebar-width);
    top: var(--mega-menu-top, 96px);
  }

  .nav-drawer-backdrop,
  .nav-drawer-toggle {
    display: none !important;
  }
}

@media (max-width: 900px) {
  .ops-layout {
    display: block;
  }

  .app-sidebar {
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    z-index: 35;
    width: min(320px, calc(100vw - 36px));
    height: 100dvh;
    max-height: none;
    overflow: auto;
    transform: translateX(-104%);
    transition: transform 160ms ease;
  }

  .is-nav-open .app-sidebar {
    transform: translateX(0);
  }

  .workspace {
    min-width: 0;
  }

  .role-workbench,
  .today-action-plan,
  .scenario-assist-panel {
    grid-template-columns: 1fr;
  }

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

  .daily-path-head {
    display: grid;
  }

  .daily-intelligence-strip {
    grid-template-columns: 1fr;
  }

  .role-workbench-stats,
  .scenario-metric-grid,
  .scenario-action-grid,
  .schedule-draft-toolbar,
  .tableware-quantity-row,
  .file-draft-approval-layout {
    grid-template-columns: 1fr;
  }

  .file-draft-approval-panel > header {
    align-items: stretch;
    flex-direction: column;
  }

  .file-draft-approval-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .file-draft-approval-actions {
    justify-content: stretch;
  }

  .file-draft-approval-actions .solid-btn,
  .file-draft-approval-actions .ghost-btn {
    width: 100%;
  }

  .payroll-adjustment-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .payroll-adjustment-amount {
    justify-items: start;
  }

  .attendance-record-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .attendance-record-status {
    justify-items: start;
  }

  .scenario-assist-panel,
  .role-workbench,
  .today-action-plan,
  .decision-focus,
  .confirmation-queue {
    padding: 14px;
  }

  .today-action-step {
    grid-template-columns: 34px minmax(0, 1fr);
  }

  .today-action-step .solid-btn {
    grid-column: 1 / -1;
    width: 100%;
  }

  .mega-menu-panel::before {
    display: none;
  }
}

.employee-review-page {
  display: grid;
  gap: 18px;
}

.employee-review-page .store-workbook-hero {
  border: 1px solid rgba(50, 35, 20, 0.08);
  background-color: var(--yr-card);
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.94), rgba(255, 249, 241, 0.9));
  box-shadow: 0 18px 42px rgba(77, 45, 18, 0.08);
}

.employee-review-page .store-workbook-summary {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.employee-review-page .store-workbook-summary article {
  min-height: 104px;
  border-color: rgba(50, 35, 20, 0.08);
  background: rgba(255, 255, 255, 0.72);
}

.employee-review-focus-panel {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, 0.85fr) auto;
  gap: 18px;
  align-items: center;
  border-color: rgba(50, 35, 20, 0.08);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 252, 248, 0.92)),
    #fff;
}

.employee-review-focus-main {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.employee-review-focus-main h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 22px;
  line-height: 1.25;
}

.employee-review-focus-main p {
  max-width: 70ch;
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.6;
}

.employee-review-focus-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.employee-review-focus-stats article {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.82);
}

.employee-review-focus-stats span,
.employee-review-focus-stats small {
  overflow: hidden;
  color: var(--yr-text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-review-focus-stats strong {
  overflow: hidden;
  color: var(--yr-text);
  font-size: 20px;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-review-focus-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.employee-review-focus-actions a {
  text-decoration: none;
}

.employee-review-support-disclosure {
  grid-column: 1 / -1;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
}

.employee-review-support-disclosure summary {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 44px;
  color: var(--yr-text);
  cursor: pointer;
  list-style: none;
}

.employee-review-support-disclosure summary::-webkit-details-marker {
  display: none;
}

.employee-review-support-disclosure summary::after {
  content: "+";
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 999px;
  color: var(--yr-accent);
  background: rgba(196, 90, 46, 0.1);
  font-weight: 900;
}

.employee-review-support-disclosure[open] summary::after {
  content: "-";
}

.employee-review-support-disclosure summary span {
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.employee-review-support-stack {
  display: grid;
  gap: 14px;
  padding-top: 12px;
}

.employee-review-flow {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  padding: 0;
  border-color: rgba(50, 35, 20, 0.08);
  background: #fff;
}

.employee-review-flow-step {
  display: grid;
  grid-template-rows: auto auto 1fr;
  gap: 7px;
  min-height: 132px;
  padding: 18px 18px 16px;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
}

.employee-review-flow-step:last-child {
  border-right: 0;
}

.employee-review-flow span {
  display: inline-flex;
  width: fit-content;
  min-width: 34px;
  min-height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  color: var(--yr-accent);
  background: rgba(196, 90, 46, 0.1);
  font-size: 12px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.employee-review-flow strong {
  color: var(--yr-text);
  font-size: 15px;
}

.employee-review-flow small {
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.employee-review-template-board {
  border-color: rgba(50, 35, 20, 0.08);
  background: #fffdf9;
}

.employee-review-template-grid {
  grid-template-columns: repeat(5, minmax(160px, 1fr));
}

.employee-review-template-row {
  min-height: 136px;
  border-color: rgba(50, 35, 20, 0.08);
  background: #fff;
}

.employee-review-workspace {
  gap: 18px;
}

.employee-review-form-card,
.employee-review-ledger {
  border-color: rgba(50, 35, 20, 0.08);
  box-shadow: 0 14px 34px rgba(77, 45, 18, 0.06);
}

.employee-monthly-sheet {
  overflow: hidden;
  border-color: rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.employee-monthly-sheet-title {
  padding: 18px 20px;
  background:
    linear-gradient(90deg, rgba(196, 90, 46, 0.1), rgba(47, 143, 107, 0.08)),
    #fffaf4;
}

.employee-monthly-sheet-title strong {
  font-size: 20px;
  letter-spacing: 0;
}

.employee-monthly-header-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  padding: 18px 20px;
  background: #fff;
}

.employee-monthly-scoreboard {
  grid-template-columns: 180px 180px minmax(280px, 1fr);
  gap: 12px;
  padding: 16px 20px;
  background: #fbf5ed;
}

.employee-monthly-scoreboard article {
  min-height: 88px;
  border-color: rgba(196, 90, 46, 0.13);
  border-radius: 10px;
}

.employee-monthly-scoreboard strong {
  font-size: 22px;
  font-variant-numeric: tabular-nums;
}

.employee-monthly-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px 20px;
}

.employee-monthly-card {
  grid-template-columns: minmax(104px, 0.26fr) minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border-color: rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: inset 3px 0 0 rgba(196, 90, 46, 0.22);
}

.employee-monthly-card.is-wide {
  box-shadow: inset 3px 0 0 rgba(47, 143, 107, 0.26);
}

.employee-monthly-card-head strong {
  font-size: 17px;
}

.employee-monthly-card-head span {
  line-height: 1.35;
}

.employee-monthly-card-head em {
  min-height: 30px;
  border-radius: 10px;
  color: #8f4700;
  background: #fff0d0;
}

.employee-monthly-card-body p {
  color: var(--yr-text-secondary);
}

.employee-monthly-card-body p b {
  color: var(--yr-text);
}

.standard-check-grid {
  grid-template-columns: repeat(4, minmax(140px, 1fr));
}

.complaint-grid {
  grid-template-columns: repeat(5, minmax(112px, 1fr));
}

.standard-check-card {
  border-color: rgba(47, 143, 107, 0.18);
  border-radius: 10px;
  background: #fbfffc;
}

.employee-monthly-header-grid label,
.employee-monthly-field-grid label,
.standard-check-card label,
.complaint-grid label,
.employee-monthly-score,
.employee-monthly-card textarea,
.employee-review-note {
  color: #655548;
  font-size: 12px;
  letter-spacing: 0;
}

.employee-monthly-header-grid input,
.employee-monthly-header-grid select,
.employee-monthly-field-grid input,
.standard-check-card input,
.complaint-grid input,
.employee-monthly-score input,
.employee-monthly-card textarea,
.employee-review-note textarea {
  border-color: rgba(50, 35, 20, 0.14);
  border-radius: 10px;
  background: #fffdfa;
}

.employee-monthly-header-grid input:focus,
.employee-monthly-header-grid select:focus,
.employee-monthly-field-grid input:focus,
.standard-check-card input:focus,
.complaint-grid input:focus,
.employee-monthly-score input:focus,
.employee-monthly-card textarea:focus,
.employee-review-note textarea:focus {
  outline: 2px solid rgba(196, 90, 46, 0.24);
  border-color: rgba(196, 90, 46, 0.55);
  background: #fff;
}

.employee-review-trace-panel {
  display: grid;
  gap: 14px;
  padding: 16px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(255, 250, 244, 0.96), rgba(255, 255, 255, 0.96)),
    #fff;
}

.employee-review-trace-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 116px;
  gap: 16px;
  align-items: start;
}

.employee-review-trace-main span,
.employee-review-trace-grid span,
.employee-review-trace-checks span,
.employee-review-trace-footer span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.employee-review-trace-main h3 {
  margin: 4px 0 6px;
  color: var(--yr-text);
  font-size: 19px;
  line-height: 1.3;
}

.employee-review-trace-main p {
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.employee-review-trace-score {
  display: grid;
  justify-items: center;
  gap: 4px;
  padding: 12px;
  border-radius: 12px;
  color: #fff;
  background: var(--yr-ink);
}

.employee-review-trace-score strong {
  font-size: 28px;
  line-height: 1;
  font-variant-numeric: tabular-nums;
}

.employee-review-trace-score span {
  color: rgba(255, 255, 255, 0.78);
}

.employee-review-trace-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.employee-review-trace-grid article,
.employee-review-trace-checks article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.78);
}

.employee-review-trace-grid strong,
.employee-review-trace-checks strong {
  color: var(--yr-text);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.employee-review-trace-grid small,
.employee-review-trace-checks small {
  overflow-wrap: anywhere;
  color: var(--yr-text-secondary);
  line-height: 1.45;
}

.employee-review-trace-checks {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.employee-review-trace-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-top: 2px;
}

.employee-review-trace-footer span {
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(50, 35, 20, 0.06);
}

.employee-review-ledger-table {
  overflow-x: auto;
}

.employee-review-ledger-table table {
  min-width: 980px;
}

.employee-review-ledger-table tr.selected td,
.employee-review-ledger-table tr.is-selected td {
  background: rgba(196, 90, 46, 0.08);
  box-shadow: inset 0 1px 0 rgba(196, 90, 46, 0.12), inset 0 -1px 0 rgba(196, 90, 46, 0.12);
}

.employee-review-ledger-table .table-actions {
  gap: 6px;
  flex-wrap: wrap;
  white-space: nowrap;
}

.employee-review-ledger-table .ghost-btn {
  min-height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px;
}

.employee-review-ledger-list {
  display: grid;
  gap: 8px;
}

.employee-review-ledger-filters {
  display: grid;
  grid-template-columns: minmax(140px, 0.72fr) minmax(150px, 0.8fr) minmax(140px, 0.72fr) minmax(220px, 1fr) auto auto auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffdf9;
}

.employee-review-ledger-filters label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.employee-review-ledger-filters label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.employee-review-ledger-filters select,
.employee-review-ledger-filters input {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--yr-text);
  font-size: 13px;
}

.employee-review-ledger-filters .ghost-btn {
  min-height: 36px;
}

.employee-review-ledger-filters > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(47, 143, 107, 0.1);
  color: #16735f;
  font-size: 13px;
  white-space: nowrap;
}

.employee-review-ledger-list article {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 104px minmax(130px, 0.72fr) 92px minmax(250px, auto);
  gap: 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: var(--yr-card);
}

.employee-review-ledger-list article.selected,
.employee-review-ledger-list article.is-selected {
  border-color: rgba(196, 90, 46, 0.24);
  background: #fff7f1;
  box-shadow: inset 3px 0 0 var(--yr-primary);
}

.employee-review-ledger-person,
.employee-review-ledger-score,
.employee-review-ledger-meta {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.employee-review-ledger-person strong,
.employee-review-ledger-person span,
.employee-review-ledger-score strong,
.employee-review-ledger-score span,
.employee-review-ledger-meta span,
.employee-review-ledger-meta small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.employee-review-ledger-person span,
.employee-review-ledger-score span,
.employee-review-ledger-meta small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-review-ledger-score strong {
  color: var(--yr-text);
  font-size: 22px;
  line-height: 1;
}

.employee-review-ledger-list em {
  width: fit-content;
  border-radius: 999px;
  background: #fff4e8;
  color: var(--yr-red);
  padding: 4px 9px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.employee-review-ledger-list em.ok {
  background: #eef7f1;
  color: #16735f;
}

.employee-review-ledger-list em.warn {
  background: #fff7e0;
  color: #9a5d00;
}

.employee-review-ledger-list .table-actions {
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.employee-review-ledger-list .ghost-btn {
  min-height: 30px;
  padding: 0 9px;
  border-radius: 999px;
  font-size: 12px;
}

.employee-monthly-actions {
  position: sticky;
  bottom: 0;
  z-index: 3;
  padding: 12px 0 0;
  background: linear-gradient(180deg, rgba(247, 244, 239, 0), var(--yr-bg) 34%);
}

.employee-review-closed-loop {
  gap: 16px;
}

.employee-review-two-section {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.employee-review-closed-loop .employee-review-form-card,
.employee-review-closed-loop .employee-review-ledger {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: 0 14px 34px rgba(77, 45, 18, 0.06);
}

.employee-review-closed-loop .module-head {
  align-items: start;
}

.employee-review-closed-loop .module-head h2 {
  margin-top: 3px;
  font-size: 24px;
  letter-spacing: 0;
}

.employee-review-closed-loop .module-head p {
  max-width: 760px;
}

.employee-review-closed-loop .employee-monthly-sheet {
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.employee-review-closed-loop .employee-monthly-sheet-title {
  align-items: start;
  padding: 18px 20px;
  background:
    linear-gradient(90deg, rgba(196, 90, 46, 0.1), rgba(47, 143, 107, 0.07)),
    #fffaf4;
}

.employee-review-closed-loop .employee-monthly-sheet-title div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.employee-review-closed-loop .employee-monthly-sheet-title em {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border-radius: 999px;
  color: #7a3d00;
  background: #fff0d0;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.employee-monthly-fieldset {
  display: grid;
  gap: 12px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fff;
}

.employee-monthly-fieldset-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}

.employee-monthly-fieldset-head strong {
  color: var(--yr-text);
  font-size: 16px;
}

.employee-monthly-fieldset-head span {
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.45;
}

.employee-review-closed-loop .employee-monthly-header-grid {
  grid-template-columns: repeat(4, minmax(150px, 1fr));
  gap: 12px;
  padding: 0;
  border-bottom: 0;
}

.employee-review-closed-loop .employee-monthly-result-grid {
  grid-template-columns: repeat(3, minmax(160px, 1fr));
}

.employee-monthly-detail-fieldset {
  padding-bottom: 0;
}

.employee-review-closed-loop .employee-monthly-sections {
  gap: 14px;
  padding: 0 0 18px;
  border-bottom: 0;
}

.employee-review-closed-loop .employee-monthly-card {
  border-radius: 10px;
  box-shadow: inset 3px 0 0 rgba(196, 90, 46, 0.2);
}

.employee-review-closed-loop .employee-monthly-card.is-wide {
  box-shadow: inset 3px 0 0 rgba(47, 143, 107, 0.24);
}

.employee-review-closed-loop .employee-monthly-scoreboard {
  padding: 16px 20px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.employee-review-closed-loop .employee-monthly-note,
.employee-review-closed-loop .employee-review-note {
  margin: 0 20px;
}

.employee-review-closed-loop .employee-review-note {
  padding-bottom: 20px;
}

.employee-review-closed-loop .employee-monthly-actions {
  justify-content: flex-end;
}

.employee-review-closed-loop .employee-monthly-actions .solid-btn {
  min-width: 144px;
}

@media (max-width: 1320px) {
  .employee-review-focus-panel {
    grid-template-columns: 1fr;
  }

  .employee-review-focus-actions {
    justify-content: flex-start;
  }

  .employee-review-flow,
  .employee-review-template-grid,
  .employee-review-trace-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .standard-check-grid,
  .employee-review-trace-checks {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .employee-review-closed-loop .employee-monthly-header-grid,
  .employee-review-closed-loop .employee-monthly-result-grid,
  .employee-review-ledger-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .employee-review-page .store-workbook-summary,
  .employee-review-focus-stats,
  .employee-review-flow,
  .employee-review-template-grid,
  .employee-monthly-header-grid,
  .employee-monthly-scoreboard,
  .employee-monthly-sections,
  .employee-monthly-card,
  .employee-monthly-score-row,
  .employee-review-ledger-filters,
  .employee-review-ledger-list article,
  .employee-review-trace-main,
  .employee-review-trace-grid,
  .employee-review-trace-checks {
    grid-template-columns: 1fr;
  }

  .employee-review-flow {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(210px, 62vw);
    grid-template-columns: none;
    overflow-x: auto;
    scroll-snap-type: x proximity;
  }

  .employee-review-flow-step {
    min-height: auto;
    border-right: 1px solid rgba(50, 35, 20, 0.08);
    border-bottom: 0;
    scroll-snap-align: start;
  }

  .employee-review-flow-step:last-child {
    border-right: 0;
  }

  .employee-review-focus-panel {
    gap: 14px;
  }

  .employee-review-focus-main h3 {
    font-size: 19px;
  }

  .employee-review-focus-actions a {
    width: 100%;
  }

  .employee-review-support-disclosure summary {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .employee-review-support-disclosure summary::after {
    position: absolute;
    right: 14px;
  }

  .employee-monthly-sheet-title,
  .employee-monthly-note {
    align-items: flex-start;
    flex-direction: column;
  }

  .employee-monthly-actions {
    position: static;
  }

  .employee-monthly-fieldset-head {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }

  .employee-review-closed-loop .employee-monthly-header-grid,
  .employee-review-closed-loop .employee-monthly-result-grid {
    grid-template-columns: 1fr;
  }

  .employee-review-closed-loop .employee-monthly-actions {
    justify-content: stretch;
  }

  .employee-review-closed-loop .employee-monthly-actions button {
    flex: 1 1 100%;
  }
}

@media (max-width: 640px) {
  .employee-monthly-header-grid,
  .employee-monthly-sections,
  .employee-review-trace-panel {
    padding: 12px;
  }

  .employee-monthly-card {
    padding: 12px;
  }

  .standard-check-grid,
  .complaint-grid,
  .employee-monthly-field-grid {
    grid-template-columns: 1fr;
  }
}

/* employee-review-polish: clean operations form, not an Excel-like stack */
.employee-review-closed-loop {
  max-width: 1380px;
  margin: 0 auto;
  gap: 14px;
}

.employee-review-page-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: end;
  padding: 4px 2px 2px;
}

.employee-review-page-head h2 {
  margin: 0;
  color: var(--yr-text);
  font-size: 26px;
  line-height: 1.18;
  letter-spacing: 0;
}

.employee-review-page-head p {
  max-width: 720px;
  margin: 6px 0 0;
  color: var(--yr-text-secondary);
  line-height: 1.55;
}

.employee-review-page-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(72px, 1fr));
  gap: 8px;
}

.employee-review-page-stats article {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.09);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.employee-review-page-stats span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.employee-review-page-stats strong {
  color: var(--yr-text);
  font-size: 20px;
  line-height: 1.1;
  font-variant-numeric: tabular-nums;
}

.employee-review-two-section {
  gap: 14px;
}

.employee-review-closed-loop .employee-review-form-card,
.employee-review-closed-loop .employee-review-ledger {
  gap: 12px;
  overflow: hidden;
  border-radius: 8px;
  background: #fffdf9;
  box-shadow: 0 12px 30px rgba(58, 43, 29, 0.06);
}

.employee-review-section-head {
  min-height: 58px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.employee-review-closed-loop .employee-review-section-head h2 {
  margin: 2px 0 0;
  font-size: 19px;
  line-height: 1.25;
}

.employee-review-closed-loop .employee-review-section-head .eyebrow {
  margin: 0;
}

.employee-review-form {
  gap: 10px;
}

.employee-review-closed-loop .employee-monthly-sheet {
  border: 0;
  border-radius: 0;
  background: #fffdf9;
}

.employee-review-closed-loop .employee-monthly-sheet-title {
  display: none;
}

.employee-monthly-fieldset {
  gap: 10px;
  padding: 14px 18px;
  border-bottom-color: rgba(50, 35, 20, 0.07);
  background: #fffdf9;
}

.employee-monthly-fieldset-basic {
  padding-top: 2px;
}

.employee-monthly-fieldset-head {
  min-height: 24px;
  align-items: center;
}

.employee-monthly-fieldset-head strong {
  font-size: 14px;
}

.employee-monthly-fieldset-head span {
  color: #8d7d70;
  font-size: 12px;
}

.employee-review-closed-loop .employee-monthly-header-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px 12px;
}

.employee-review-closed-loop .employee-monthly-result-grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.employee-review-closed-loop .employee-monthly-header-grid label,
.employee-review-closed-loop .employee-monthly-field-grid label,
.employee-review-closed-loop .standard-check-card label,
.employee-review-closed-loop .complaint-grid label,
.employee-review-closed-loop .employee-monthly-score,
.employee-review-closed-loop .employee-review-note {
  gap: 5px;
  color: #6b5b4d;
  font-size: 12px;
  font-weight: 800;
}

.employee-review-closed-loop .employee-monthly-header-grid input,
.employee-review-closed-loop .employee-monthly-header-grid select,
.employee-review-closed-loop .employee-monthly-field-grid input,
.employee-review-closed-loop .standard-check-card input,
.employee-review-closed-loop .complaint-grid input,
.employee-review-closed-loop .employee-monthly-score input,
.employee-review-closed-loop .employee-monthly-card textarea,
.employee-review-closed-loop .employee-review-note textarea {
  min-height: 40px;
  border: 1px solid rgba(50, 35, 20, 0.13);
  border-radius: 8px;
  background: #fff;
  color: var(--yr-text);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

.employee-review-closed-loop .employee-monthly-header-grid input,
.employee-review-closed-loop .employee-monthly-header-grid select,
.employee-review-closed-loop .employee-monthly-field-grid input,
.employee-review-closed-loop .standard-check-card input,
.employee-review-closed-loop .complaint-grid input,
.employee-review-closed-loop .employee-monthly-score input {
  padding: 0 10px;
}

.employee-review-closed-loop .employee-monthly-scoreboard {
  grid-template-columns: 150px 150px minmax(0, 1fr);
  gap: 10px;
  padding: 12px 18px;
  border-bottom-color: rgba(50, 35, 20, 0.07);
  background: #fbf6ef;
}

.employee-review-closed-loop .employee-monthly-scoreboard article {
  min-height: 64px;
  padding: 10px 12px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.employee-review-closed-loop .employee-monthly-scoreboard strong {
  font-size: 18px;
}

.employee-review-entry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(230px, 0.28fr);
  gap: 12px;
  padding: 0 18px 14px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.07);
  background: #fffdf9;
}

.employee-review-composer-steps {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 14px 18px 10px;
  background: #fffdf9;
}

.employee-review-composer-steps span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 999px;
  background: #fff;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.employee-review-composer-steps span.active {
  border-color: rgba(211, 47, 31, 0.24);
  background: rgba(211, 47, 31, 0.08);
  color: var(--yr-red);
}

.employee-review-entry-main {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.employee-review-entry-layout .employee-monthly-fieldset {
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fff;
}

.employee-review-score-aside {
  display: grid;
  align-content: start;
  min-width: 0;
}

.employee-review-score-aside .employee-monthly-scoreboard {
  position: sticky;
  top: 12px;
  grid-template-columns: 1fr;
  padding: 0;
  border: 0;
  background: transparent;
}

.employee-review-score-aside .employee-monthly-scoreboard article {
  min-height: 0;
  border: 1px solid rgba(50, 35, 20, 0.1);
  background: #fbf6ef;
}

.employee-review-closed-loop .employee-monthly-detail-fieldset {
  padding-bottom: 0;
}

.employee-monthly-score-matrix {
  display: grid;
  gap: 10px;
  padding: 0 0 14px;
}

.employee-monthly-score-row-card {
  display: grid;
  gap: 12px;
  padding: 0;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.employee-monthly-score-row-card summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 12px;
  cursor: pointer;
  list-style: none;
}

.employee-monthly-score-row-card summary::-webkit-details-marker {
  display: none;
}

.employee-monthly-score-row-card summary > span {
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: var(--yr-bg);
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 900;
}

.employee-monthly-score-row-card summary div {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.employee-monthly-score-row-card summary strong {
  color: var(--yr-text);
  font-size: 15px;
  line-height: 1.2;
}

.employee-monthly-score-row-card summary small {
  color: #7c6f64;
  font-size: 12px;
  line-height: 1.45;
}

.employee-monthly-score-row-card summary em {
  width: fit-content;
  min-height: 24px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(211, 47, 31, 0.08);
  color: var(--yr-red);
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.employee-monthly-score-row-body {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 0 12px 12px 52px;
}

.employee-monthly-score-row-body textarea {
  min-height: 72px;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.13);
  border-radius: 8px;
  background: #fff;
  color: var(--yr-text);
  resize: vertical;
}

.employee-review-closed-loop .employee-monthly-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 0 0 14px;
}

.employee-review-closed-loop .employee-monthly-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 10px;
  min-height: 0;
  padding: 12px;
  border-radius: 8px;
  background: #fff;
  box-shadow: none;
}

.employee-review-closed-loop .employee-monthly-card.is-wide {
  grid-column: 1 / -1;
  box-shadow: none;
}

.employee-review-closed-loop .employee-monthly-card-head {
  display: flex;
  align-items: center;
  gap: 8px;
}

.employee-review-closed-loop .employee-monthly-card-head strong {
  font-size: 15px;
  line-height: 1.2;
}

.employee-review-closed-loop .employee-monthly-card-head span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-review-closed-loop .employee-monthly-card-head em {
  margin-left: auto;
  min-height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  font-size: 12px;
}

.employee-review-closed-loop .employee-monthly-card-body {
  gap: 8px;
}

.employee-review-closed-loop .employee-monthly-card-body p {
  padding: 9px 10px;
  border-radius: 8px;
  background: #faf6ef;
  color: #6b5b4d;
  font-size: 12px;
  line-height: 1.45;
}

.employee-review-closed-loop .employee-monthly-card-body p b {
  display: inline;
  margin: 0 6px 0 0;
  color: var(--yr-text);
  font-size: 12px;
}

.employee-review-closed-loop .employee-monthly-field-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.employee-review-closed-loop .standard-check-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.employee-review-closed-loop .complaint-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.employee-review-closed-loop .standard-check-card {
  gap: 6px;
  padding: 9px;
  border-radius: 8px;
  background: #fbfffc;
}

.employee-review-closed-loop .employee-monthly-card textarea,
.employee-review-closed-loop .employee-review-note textarea {
  min-height: 76px;
  padding: 10px;
}

.employee-review-closed-loop .employee-monthly-score-row {
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 8px;
}

.employee-review-closed-loop .employee-monthly-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 11px 18px;
  border-bottom-color: rgba(50, 35, 20, 0.07);
  background: var(--yr-bg);
  font-size: 12px;
}

.employee-review-closed-loop .employee-review-note {
  margin: 0;
  padding: 14px 18px 16px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.07);
  background: #fffdf9;
}

.employee-review-closed-loop .employee-monthly-actions {
  position: static;
  justify-content: flex-end;
  padding: 0;
  background: transparent;
}

.employee-review-closed-loop .employee-monthly-actions .ghost-btn {
  background: #fff;
}

.employee-review-closed-loop .employee-monthly-actions .solid-btn {
  min-width: 132px;
}

.employee-review-closed-loop .employee-review-ledger-table {
  border: 0;
  border-radius: 0;
}

.employee-review-closed-loop .employee-review-ledger-table table {
  min-width: 900px;
}

.employee-review-closed-loop .employee-review-ledger-table th,
.employee-review-closed-loop .employee-review-ledger-table td {
  padding-top: 10px;
  padding-bottom: 10px;
}

.employee-review-closed-loop .employee-review-ledger-table .table-actions {
  gap: 4px;
}

.employee-review-closed-loop .employee-review-ledger-table .ghost-btn {
  min-height: 28px;
  padding: 0 8px;
  border-radius: 8px;
}

.employee-review-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  padding: 10px 12px 0;
}

.employee-review-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.employee-review-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

@media (max-width: 1180px) {
  .employee-review-entry-layout {
    grid-template-columns: 1fr;
  }

  .employee-review-score-aside .employee-monthly-scoreboard {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .employee-monthly-score-row-card {
    grid-template-columns: 220px minmax(0, 1fr);
  }

  .employee-review-closed-loop .employee-monthly-result-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .employee-review-closed-loop .standard-check-grid,
  .employee-review-closed-loop .complaint-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .employee-review-page-head {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .employee-review-page-stats {
    width: 100%;
  }

  .employee-review-closed-loop .employee-monthly-header-grid,
  .employee-review-closed-loop .employee-monthly-result-grid,
  .employee-review-closed-loop .employee-monthly-sections,
  .employee-review-closed-loop .employee-monthly-card,
  .employee-review-closed-loop .employee-monthly-score-row,
  .employee-review-score-aside .employee-monthly-scoreboard,
  .employee-monthly-score-row-card {
    grid-template-columns: 1fr;
  }

  .employee-review-closed-loop .employee-monthly-scoreboard {
    grid-template-columns: 1fr;
  }

  .employee-review-closed-loop .employee-monthly-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .employee-review-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .employee-review-pagination div,
  .employee-review-pagination button {
    width: 100%;
  }
}

@media (max-width: 640px) {
  .employee-review-page-head h2 {
    font-size: 22px;
  }

  .employee-review-page-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .employee-monthly-fieldset,
  .employee-review-entry-layout,
  .employee-review-closed-loop .employee-monthly-scoreboard,
  .employee-review-closed-loop .employee-monthly-note,
  .employee-review-closed-loop .employee-review-note {
    padding-left: 12px;
    padding-right: 12px;
  }

  .employee-review-closed-loop .standard-check-grid,
  .employee-review-closed-loop .complaint-grid,
  .employee-review-closed-loop .employee-monthly-field-grid {
    grid-template-columns: 1fr;
  }
}

/* professional-dashboard-sample: first screen quality direction before global sync */
.dashboard-sample-page {
  --dash-ink: #241d19;
  --dash-muted: #6e665f;
  --dash-line: rgba(36, 29, 25, 0.1);
  --dash-paper: #fffcf7;
  --dash-wash: #f4f0e8;
  --dash-accent: #d93d20;
  --dash-green: #24724f;
  display: grid;
  gap: 18px;
}

.dashboard-sample-page .dashboard-sample-hero {
  display: grid;
  gap: 16px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.dashboard-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.55fr);
  gap: 14px;
  align-items: stretch;
  min-height: 246px;
  padding: 22px;
  border: 1px solid var(--dash-line);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(247, 242, 234, 0.92)),
    var(--dash-paper);
  box-shadow: 0 18px 42px rgba(58, 43, 29, 0.09);
}

.dashboard-hero-copy {
  display: grid;
  align-content: center;
  gap: 14px;
  min-width: 0;
}

.dashboard-hero-copy .eyebrow,
.dashboard-sample-page .daily-path-head .eyebrow,
.dashboard-sample-page .decision-focus-head .eyebrow,
.dashboard-sample-page .role-workbench .eyebrow {
  color: var(--dash-accent);
  letter-spacing: 0;
  font-weight: 900;
}

.dashboard-hero-copy h2 {
  max-width: 680px;
  margin: 0;
  color: var(--dash-ink);
  font-size: 34px;
  line-height: 1.12;
}

.dashboard-hero-copy p {
  max-width: 680px;
  margin: 0;
  color: var(--dash-muted);
  font-size: 15px;
  line-height: 1.8;
}

.dashboard-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  padding-top: 4px;
}

.dashboard-hero-actions .solid-btn,
.dashboard-hero-actions .ghost-btn {
  min-height: 44px;
  border-radius: 8px;
  padding: 0 16px;
}

.dashboard-intelligence-panel {
  display: grid;
  align-content: space-between;
  gap: 16px;
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(36, 29, 25, 0.12);
  border-radius: 8px;
  color: #fff;
  background:
    linear-gradient(155deg, rgba(49, 42, 36, 0.98), rgba(31, 27, 24, 0.98)),
    #211d1a;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.dashboard-intelligence-panel .panel-kicker {
  width: fit-content;
  padding: 5px 8px;
  border-radius: 999px;
  color: rgba(255, 255, 255, 0.78);
  background: rgba(255, 255, 255, 0.08);
  font-size: 12px;
  font-weight: 800;
}

.dashboard-intelligence-panel strong {
  color: #fff;
  font-size: 30px;
  line-height: 1.12;
}

.dashboard-intelligence-panel p {
  margin: 0;
  color: rgba(255, 255, 255, 0.74);
  line-height: 1.65;
}

.dashboard-signal-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.dashboard-signal-list span {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: rgba(255, 255, 255, 0.72);
  background: rgba(255, 255, 255, 0.06);
  font-size: 12px;
}

.dashboard-signal-list b {
  color: #fff;
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}

.dashboard-sample-page .daily-path-overview,
.dashboard-sample-page .role-workbench,
.dashboard-sample-page .today-action-plan,
.dashboard-sample-page .decision-focus,
.dashboard-sample-page .confirmation-queue,
.dashboard-sample-page .dashboard-snapshot-panel {
  border: 1px solid var(--dash-line);
  border-radius: 8px;
  background: rgba(255, 252, 247, 0.94);
  box-shadow: 0 12px 28px rgba(58, 43, 29, 0.06);
}

.dashboard-sample-page .daily-path-overview {
  margin-top: 0;
  padding: 18px;
}

.dashboard-sample-page .daily-path-head {
  margin-bottom: 14px;
}

.dashboard-sample-page .daily-path-head h3,
.dashboard-sample-page .decision-focus-head h3,
.dashboard-sample-page .role-workbench h3,
.dashboard-sample-page .dashboard-snapshot-panel h3 {
  color: var(--dash-ink);
  font-weight: 900;
}

.dashboard-sample-page .daily-path-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.dashboard-sample-page .daily-path-card {
  position: relative;
  min-height: 112px;
  padding: 14px;
  border-color: rgba(36, 29, 25, 0.1);
  background: #fff;
  box-shadow: 0 1px 0 rgba(36, 29, 25, 0.04);
  transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease;
}

.dashboard-sample-page .daily-path-card::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 12px;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: rgba(217, 61, 32, 0.28);
}

.dashboard-sample-page .daily-path-card em {
  width: auto;
  height: auto;
  justify-content: flex-start;
  border-radius: 0;
  color: rgba(36, 29, 25, 0.42);
  background: transparent;
  font-size: 11px;
}

.dashboard-sample-page .daily-path-card strong {
  color: var(--dash-ink);
  font-size: 16px;
}

.dashboard-sample-page .daily-path-card span {
  color: var(--dash-muted);
  font-size: 13px;
  line-height: 1.55;
}

.dashboard-sample-page .daily-path-card:hover,
.dashboard-sample-page .daily-path-card.active {
  transform: translateY(-2px);
  border-color: rgba(217, 61, 32, 0.32);
  box-shadow: 0 14px 26px rgba(58, 43, 29, 0.09);
}

.dashboard-sample-page .daily-path-card.active::after {
  background: var(--dash-accent);
}

.dashboard-sample-page .daily-intelligence-strip {
  grid-template-columns: auto minmax(0, 1fr) auto;
  border-color: rgba(36, 114, 79, 0.18);
  background: #f4faf4;
}

.dashboard-sample-page .daily-intelligence-strip strong {
  color: var(--dash-green);
}

.dashboard-sample-page .daily-intelligence-strip small {
  color: rgba(36, 114, 79, 0.74);
  line-height: 1.45;
}

.dashboard-sample-page .role-workbench {
  grid-template-columns: minmax(0, 1.1fr) minmax(300px, 0.9fr);
  padding: 18px;
}

.dashboard-sample-page .role-workbench-stats {
  gap: 10px;
}

.dashboard-sample-page .role-workbench-stats article,
.dashboard-sample-page .today-action-step,
.dashboard-sample-page .decision-focus-card,
.dashboard-sample-page .confirmation-queue-card,
.dashboard-sample-page .dashboard-snapshot-list article {
  border: 1px solid rgba(36, 29, 25, 0.1);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 0 rgba(36, 29, 25, 0.04);
}

.dashboard-sample-page .role-workbench-stats strong,
.dashboard-sample-page .dashboard-snapshot-list strong,
.dashboard-sample-page .confirmation-queue-card strong {
  color: var(--dash-ink);
  font-variant-numeric: tabular-nums;
}

.dashboard-sample-page .today-action-step {
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: 96px;
  padding: 14px;
}

.dashboard-sample-page .today-action-step .solid-btn {
  min-width: 112px;
  border-radius: 8px;
  box-shadow: 0 8px 18px rgba(217, 61, 32, 0.16);
}

.dashboard-sample-page .today-action-step:not(:first-child) .solid-btn {
  border: 1px solid rgba(36, 29, 25, 0.1);
  color: var(--dash-ink);
  background: #fff;
  box-shadow: none;
}

.dashboard-sample-page .today-action-index {
  width: 42px;
  height: 42px;
  border-radius: 8px;
  color: #fff;
  background: var(--dash-ink);
}

.dashboard-sample-page .decision-focus-grid,
.dashboard-sample-page .confirmation-queue-grid {
  gap: 10px;
}

.dashboard-sample-page .dashboard-snapshot-list span,
.dashboard-sample-page .dashboard-snapshot-list small {
  color: var(--dash-muted);
}

.dashboard-sample-page .dashboard-snapshot-list {
  gap: 8px;
}

.dashboard-sample-page .dashboard-snapshot-list article {
  grid-template-columns: minmax(76px, 0.7fr) minmax(94px, 0.7fr) minmax(0, 1fr);
  padding: 10px 12px;
}

.dashboard-sample-page .dashboard-payroll-strip {
  border-color: rgba(217, 61, 32, 0.2);
  background: #fff7f1;
}

.dashboard-sample-page .dashboard-command-side .decision-focus-grid {
  grid-template-columns: 1fr;
}

@media (max-width: 1200px) {
  .dashboard-hero-grid,
  .dashboard-sample-page .role-workbench,
  .dashboard-command-console {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 900px) {
  .dashboard-hero-grid {
    min-height: auto;
    padding: 16px;
  }

  .dashboard-hero-copy h2 {
    font-size: 28px;
  }

  .dashboard-sample-page .daily-path-grid,
  .dashboard-signal-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-sample-page .daily-intelligence-strip,
  .dashboard-sample-page .today-action-step,
  .dashboard-command-side,
  .dashboard-payroll-strip {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 560px) {
  .source-ledger-head-actions,
  .template-page-head-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .source-ledger-head-actions button,
  .template-page-head-actions button {
    width: 100%;
  }

  .dashboard-hero-copy h2 {
    font-size: 24px;
  }

  .dashboard-hero-actions .solid-btn,
  .dashboard-hero-actions .ghost-btn {
    width: 100%;
  }

  .dashboard-sample-page .daily-path-grid,
  .dashboard-signal-list,
  .dashboard-snapshot-list article {
    grid-template-columns: 1fr;
  }
}

/* ops-final-polish: mature admin density for the eight 1.0 core pages */
.ops-final-page {
  width: min(100%, 1500px);
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.ops-final-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  padding: 18px;
  border: 1px solid rgba(50, 35, 20, 0.09);
  border-radius: 12px;
  background: linear-gradient(135deg, #fff 0%, #fff8f2 58%, #f6eadf 100%);
  box-shadow: 0 16px 40px rgba(74, 45, 24, 0.06);
}

.ops-final-title h2 {
  margin: 0;
  color: var(--yr-text);
  font-size: 25px;
  line-height: 1.22;
  letter-spacing: 0;
}

.ops-final-title p {
  max-width: 780px;
  margin: 6px 0 0;
  color: var(--yr-text-secondary);
  line-height: 1.58;
}

.ops-final-command {
  display: grid;
  gap: 10px;
  justify-items: end;
  min-width: 260px;
}

.ops-final-filters {
  display: grid;
  grid-template-columns: repeat(2, minmax(128px, 1fr));
  gap: 8px;
  align-items: end;
}

.ops-final-filters label,
.ops-final-field-grid label {
  display: grid;
  gap: 5px;
  min-width: 0;
  align-content: start;
  color: #6d5c4e;
  font-size: 12px;
  font-weight: 700;
}

.ops-final-field-grid label > span {
  min-height: 18px;
  display: flex;
  align-items: center;
}

.ops-final-field-grid label > small {
  min-height: 32px;
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 600;
  line-height: 1.45;
}

.ops-final-filters select,
.ops-final-field-grid input,
.ops-final-field-grid select,
.ops-final-field-grid textarea {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(50, 35, 20, 0.13);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffdf9;
  color: var(--yr-text);
  font-size: 14px;
}

.ops-final-field-grid textarea {
  min-height: 78px;
  padding: 10px;
}

.ops-final-command .solid-btn,
.ops-final-command .ghost-btn {
  min-height: 38px;
  border-radius: 8px;
}

.ops-final-metrics {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.ops-final-metrics article,
.ops-final-focus-list article {
  display: grid;
  gap: 3px;
  min-height: 70px;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.ops-final-metrics article.warn,
.ops-final-focus-list article.warn {
  border-color: rgba(196, 90, 46, 0.24);
  background: #fff7ef;
}

.ops-final-metrics article.ok,
.ops-final-focus-list article.ok {
  border-color: rgba(47, 143, 107, 0.2);
  background: #f6fbf7;
}

.ops-final-metrics span,
.ops-final-metrics small,
.ops-final-focus-list span,
.ops-final-focus-list small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ops-final-metrics strong,
.ops-final-focus-list strong {
  color: var(--yr-text);
  font-size: 19px;
  line-height: 1.2;
}

.ops-final-focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.82fr);
  gap: 14px;
  align-items: stretch;
  padding: 16px 18px;
  border-radius: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffdfa;
  box-shadow: 0 12px 30px rgba(74, 45, 24, 0.045);
}

.ops-final-focus-main {
  display: grid;
  align-content: center;
  gap: 5px;
}

.ops-final-focus-main h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 20px;
  letter-spacing: 0;
}

.ops-final-focus-main p {
  max-width: 760px;
  margin: 0;
  color: var(--yr-text-secondary);
  line-height: 1.56;
}

.ops-final-focus-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.ops-final-workspace {
  display: grid;
  grid-template-columns: minmax(380px, 0.86fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.ops-final-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(74, 45, 24, 0.05);
}

.ops-final-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.ops-final-section-head h3 {
  margin: 2px 0 0;
  color: var(--yr-text);
  font-size: 18px;
  letter-spacing: 0;
}

.ops-final-section-head p {
  max-width: 680px;
  margin: 4px 0 0;
  color: var(--yr-text-secondary);
  line-height: 1.5;
}

.ops-final-form-section,
.ops-final-record-section {
  display: grid;
  gap: 12px;
}

.ops-final-form-grid,
.ops-pro-form-panel .ops-final-form-grid.entry-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}

.ops-final-fieldset {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.ops-final-fieldset.is-basic {
  background: #fffdf9;
}

.ops-final-fieldset legend {
  padding: 0 6px;
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 800;
}

.ops-final-field-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 12px;
  align-items: end;
}

.ops-final-field-grid label.wide {
  grid-column: 1 / -1;
}

.ops-final-actions {
  justify-content: flex-end;
  padding-top: 2px;
}

.ops-final-record-section .table-shell {
  border-radius: 10px;
  border-color: rgba(50, 35, 20, 0.1);
}

.ops-final-record-section th,
.ops-final-record-section td,
.ops-final-card th,
.ops-final-card td {
  padding: 10px 12px;
  vertical-align: middle;
}

.ops-final-record-section .table-actions,
.ops-final-card .table-actions {
  gap: 5px;
  flex-wrap: wrap;
}

.ops-final-record-section .ghost-btn,
.ops-final-card .ghost-btn {
  min-height: 30px;
  padding: 0 9px;
  border-radius: 7px;
}

.formal-record-list {
  display: grid;
  gap: 10px;
}

.formal-record-row {
  display: grid;
  grid-template-columns: minmax(160px, 0.75fr) minmax(280px, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.09);
  border-radius: 10px;
  background: #fffaf5;
}

.formal-record-row.needs-action {
  border-color: rgba(219, 59, 34, 0.26);
  background: var(--yr-warning-bg);
}

.formal-record-main,
.formal-record-fields,
.formal-record-actions {
  min-width: 0;
}

.formal-record-main {
  display: grid;
  gap: 4px;
}

.formal-record-main span {
  width: fit-content;
  border-radius: 999px;
  padding: 4px 8px;
  background: #fff;
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 900;
}

.formal-record-main strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.formal-record-main small {
  color: var(--yr-text-secondary);
}

.formal-record-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.formal-record-fields div {
  min-width: 0;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px 10px;
  background: rgba(255, 255, 255, 0.72);
}

.formal-record-fields span,
.formal-record-fields strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.formal-record-fields span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.formal-record-fields strong {
  margin-top: 3px;
  color: var(--yr-text);
}

.formal-record-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.formal-record-actions .solid-btn,
.formal-record-actions .ghost-btn {
  min-height: 34px;
  white-space: nowrap;
}

.formal-record-actions .danger-action {
  color: var(--yr-red);
}

.ops-final-import {
  margin-top: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
  overflow: hidden;
}

.ops-final-import summary {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  cursor: pointer;
  color: var(--yr-text);
}

.ops-final-import summary span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.ops-final-import .business-import-entry {
  margin: 0;
  border: 0;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 0;
  box-shadow: none;
}

.ops-final-followup-panel,
.inventory-task-closure {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(196, 90, 46, 0.16);
  border-radius: 10px;
  background: #fff7ef;
}

.ops-final-process {
  padding: 14px 16px;
}

.ops-final-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ops-final-tableware .ops-final-workspace {
  grid-template-columns: minmax(360px, 0.72fr) minmax(0, 1fr);
}

.ops-final-operations .ops-final-workspace {
  grid-template-columns: minmax(420px, 0.9fr) minmax(0, 1fr);
}

.ops-final-payroll .ops-final-workspace {
  grid-template-columns: minmax(360px, 0.75fr) minmax(0, 1fr);
}

.ops-final-payroll .payroll-list-panel {
  grid-column: 1 / -1;
}

.ops-final-payroll .payroll-base-panel .standard-table table {
  min-width: 760px;
}

.ops-final-page .payroll-editable-table table,
.ops-final-page .store-workbook-table table,
.ops-final-page .operations-record-table table {
  min-width: 780px;
}

@media (max-width: 1100px) {
  .ops-final-header,
  .ops-final-focus,
  .ops-final-workspace,
  .ops-final-operations .ops-final-workspace,
  .ops-final-payroll .ops-final-workspace,
  .ops-final-tableware .ops-final-workspace {
    grid-template-columns: 1fr;
  }

  .ops-final-command {
    justify-items: stretch;
    min-width: 0;
  }

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

  .formal-record-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .formal-record-actions {
    justify-content: flex-start;
  }

  .exception-queue-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .exception-row-status,
  .exception-row-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 760px) {
  .ops-final-header,
  .ops-final-focus,
  .ops-final-card {
    border-radius: 10px;
  }

  .ops-final-header {
    padding: 14px;
  }

  .ops-final-title h2 {
    font-size: 22px;
  }

  .ops-final-metrics,
  .ops-final-focus-list,
  .ops-final-filters,
  .ops-final-field-grid,
  .ops-final-card-grid,
  .formal-record-fields {
    grid-template-columns: 1fr;
  }

  .ops-final-section-head {
    grid-template-columns: 1fr;
  }

  .ops-final-actions,
  .ops-final-actions button,
  .ops-final-command .solid-btn,
  .ops-final-command .ghost-btn,
  .formal-record-actions .solid-btn,
  .formal-record-actions .ghost-btn,
  .exception-row-actions .solid-btn,
  .exception-row-actions .ghost-btn {
    width: 100%;
  }

  .analytics-playbook-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .analytics-playbook-footer button {
    width: 100%;
  }
}

/* professional schedule matrix and inventory data grid */
.schedule-matrix-workbench {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.schedule-matrix-workbench .module-head {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.schedule-matrix-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 0.9fr) repeat(3, minmax(120px, 0.7fr)) minmax(250px, auto);
  gap: 10px;
  align-items: end;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.schedule-matrix-toolbar label,
.schedule-matrix-toolbar div {
  display: grid;
  gap: 4px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.schedule-matrix-toolbar select {
  min-height: 38px;
  border: 1px solid rgba(50, 35, 20, 0.13);
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: var(--yr-text);
}

.schedule-week-actions {
  display: flex !important;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.schedule-matrix-toolbar strong {
  color: var(--yr-text);
  font-size: 14px;
}

.schedule-station-guide {
  display: flex;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(196, 90, 46, 0.16);
  border-radius: 9px;
  padding: 10px 12px;
  background: #fff8f1;
}

.schedule-station-guide strong {
  flex: 0 0 auto;
  color: var(--yr-primary);
}

.schedule-station-guide span {
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.schedule-station-guide.is-warning {
  border-color: rgba(181, 71, 8, 0.28);
  background: #fff4e8;
}

.schedule-station-guide.is-warning strong {
  color: #a9470a;
}

.schedule-matrix-shell,
.tableware-data-grid-shell {
  overflow: auto;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 10px;
  background: #fff;
}

.schedule-matrix-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: separate;
  border-spacing: 0;
}

.schedule-matrix-table th,
.schedule-matrix-table td {
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  padding: 8px;
  vertical-align: top;
}

.schedule-matrix-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fbf3eb;
  color: var(--yr-text);
  text-align: left;
}

.schedule-matrix-table th strong,
.schedule-matrix-table th span,
.schedule-matrix-table th em {
  display: block;
  font-style: normal;
}

.schedule-matrix-table th span,
.schedule-matrix-table th em {
  margin-top: 3px;
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.schedule-employee-col,
.schedule-employee-cell {
  position: sticky;
  left: 0;
  z-index: 3;
  min-width: 150px;
  background: #fffaf5;
}

.schedule-employee-cell {
  display: grid;
  gap: 4px;
}

.schedule-employee-cell strong {
  color: var(--yr-text);
  font-size: 14px;
}

.schedule-employee-cell span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-shift-cell {
  min-width: 146px;
  background: #fff;
}

.schedule-cell-editor {
  min-height: 126px;
  display: grid;
  gap: 7px;
  align-content: start;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px;
  background: #fff;
}

.schedule-cell-editor select {
  width: 100%;
  min-height: 32px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 7px;
  padding: 0 8px;
  background: #fff;
  color: var(--yr-text);
  font-weight: 700;
  opacity: 1;
}

.schedule-cell-field {
  display: grid;
  gap: 3px;
}

.schedule-cell-field > span {
  color: var(--yr-text-secondary);
  font-size: 10px;
  font-weight: 800;
}

.schedule-cell-editor select:disabled {
  color: #9c8f82;
  background: #f4eee7;
  opacity: 0.72;
}

.schedule-cell-editor.is-kitchen {
  border-color: rgba(196, 90, 46, 0.2);
  background: #fff3e9;
}

.schedule-cell-editor.is-floor {
  border-color: rgba(47, 143, 107, 0.18);
  background: #f3fbf6;
}

.schedule-cell-editor.is-disabled {
  min-height: 126px;
  align-content: center;
  color: #8a7d72;
  background: #eee7de;
}

.schedule-cell-editor.is-disabled strong,
.schedule-cell-editor.is-disabled span {
  display: block;
}

.schedule-cell-editor.is-disabled strong {
  color: #6f6258;
}

.schedule-cell-editor.is-readonly {
  min-height: 126px;
  align-content: center;
  box-shadow: inset 0 0 0 1px rgba(47, 143, 107, 0.08);
}

.schedule-cell-editor.is-readonly strong,
.schedule-cell-editor.is-readonly span {
  display: block;
}

.schedule-cell-editor.is-readonly span {
  color: #6d6258;
  font-weight: 700;
}

.schedule-cell-editor.is-readonly small {
  color: var(--yr-text-secondary);
  font-size: 11px;
  line-height: 1.4;
}

.schedule-shift-chip {
  width: 100%;
  min-height: 72px;
  display: grid;
  gap: 4px;
  align-content: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px;
  text-align: left;
  background: #fff;
  color: var(--yr-text);
  cursor: default;
}

.schedule-shift-chip strong,
.schedule-shift-chip span,
.schedule-shift-chip em {
  display: block;
  font-style: normal;
}

.schedule-shift-chip strong {
  font-size: 14px;
}

.schedule-shift-chip span,
.schedule-shift-chip em {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.schedule-shift-cell.is-kitchen .schedule-shift-chip {
  border-color: rgba(196, 90, 46, 0.22);
  background: #fff3e9;
}

.schedule-shift-cell.is-floor .schedule-shift-chip {
  border-color: rgba(47, 143, 107, 0.18);
  background: #f3fbf6;
}

.schedule-shift-cell.is-rest .schedule-shift-chip {
  color: #9c8f82;
  background: #fbfaf8;
}

.schedule-shift-cell.is-absence .schedule-cell-editor {
  border-color: rgba(194, 65, 45, 0.22);
  background: #fff0ed;
}

.schedule-shift-cell.is-after-exit {
  background: #eee7de;
}

.schedule-week-total {
  min-width: 70px;
  text-align: center;
  background: #fffdf9;
}

.schedule-week-total strong,
.schedule-week-total span {
  display: block;
}

.schedule-week-total strong {
  color: var(--yr-red);
  font-size: 20px;
}

.schedule-matrix-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-matrix-legend em {
  margin-left: auto;
  font-style: normal;
}

.schedule-admin-page {
  gap: 16px;
}

.schedule-admin-bar {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.schedule-admin-bar > div:not(.schedule-admin-actions) {
  display: grid;
  gap: 3px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.schedule-admin-bar span,
.schedule-admin-bar small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-admin-bar strong {
  color: var(--yr-text);
}

.schedule-admin-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.schedule-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  justify-items: end;
}

.schedule-drawer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(31, 26, 23, 0.28);
  cursor: default;
}

.schedule-drawer {
  position: relative;
  z-index: 1;
  width: min(760px, calc(100vw - 24px));
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #fff;
  isolation: isolate;
  box-shadow: -24px 0 54px rgba(50, 35, 20, 0.18);
  animation: tablewareDrawerIn 180ms ease-out;
}

.schedule-drawer-head {
  min-height: 72px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.schedule-drawer-head h3 {
  margin: 2px 0 0;
}

.schedule-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 16px;
  background: #f7f3ec;
}

.schedule-rule-config-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.schedule-rule-config-form section {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}

.schedule-rule-config-form h4 {
  margin: 0;
  color: var(--yr-text);
}

.schedule-rule-config-form textarea,
.schedule-rule-config-form input,
.schedule-rule-config-form select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 8px 10px;
  background: #fffaf5;
  color: var(--yr-text);
}

.schedule-rule-config-form textarea {
  min-height: 150px;
  resize: vertical;
}

.schedule-rule-config-form .field-wide {
  grid-column: 1 / -1;
}

.schedule-rule-config-drawer {
  width: min(820px, calc(100vw - 24px));
}

.schedule-history-drawer {
  width: 100vw;
}

.schedule-history-workspace {
  display: grid;
  gap: 12px;
}

.schedule-history-drawer .schedule-history-workspace {
  grid-template-columns: minmax(0, 1fr);
}

.schedule-history-drawer .schedule-history-filters,
.schedule-history-drawer .schedule-history-weeks,
.schedule-history-drawer .schedule-history-detail,
.schedule-history-drawer .schedule-change-log {
  grid-column: 1;
}

.schedule-history-filters {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, 0.8fr);
  gap: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}

.schedule-history-filters label {
  display: grid;
  gap: 6px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.schedule-history-filters select {
  min-height: 38px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
  font-weight: 800;
}

.schedule-history-weeks {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.schedule-history-weeks button {
  min-width: 170px;
  display: grid;
  gap: 3px;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 8px;
  padding: 10px 12px;
  background: #fff;
  color: var(--yr-text);
  text-align: left;
}

.schedule-history-weeks button.is-active {
  border-color: rgba(196, 90, 46, 0.36);
  background: #fff3e9;
}

.schedule-history-weeks span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-history-detail,
.schedule-change-log {
  display: grid;
  gap: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.schedule-history-drawer .schedule-drawer-body {
  padding: 16px 20px;
}

.module-head.compact {
  padding: 0;
  border: 0;
}

.schedule-history-week-grid {
  overflow: auto;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
}

.schedule-history-week-grid .schedule-matrix-table {
  min-width: 0;
  table-layout: fixed;
}

.schedule-history-week-grid .schedule-employee-col,
.schedule-history-week-grid .schedule-employee-cell {
  width: 150px;
  min-width: 150px;
  max-width: 150px;
}

.schedule-history-cell {
  min-width: 0;
  color: var(--yr-text);
  word-break: break-word;
}

.schedule-history-cell strong,
.schedule-history-cell span {
  display: block;
}

.schedule-history-cell span {
  margin-top: 4px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-change-log summary {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  list-style: none;
}

.schedule-change-log summary::-webkit-details-marker {
  display: none;
}

.schedule-change-log summary h3 {
  margin: 2px 0 0;
}

.schedule-change-log article {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 10px 12px;
  background: #fffaf5;
}

.schedule-change-log strong,
.schedule-change-log span,
.schedule-change-log p {
  margin: 0;
}

.schedule-change-log span,
.schedule-change-log p {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.schedule-history-list {
  display: grid;
  gap: 10px;
}

.schedule-history-list article {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr) auto auto;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fff;
}

.schedule-history-list article.needs-action {
  border-color: rgba(196, 90, 46, 0.28);
  background: #fff8ef;
}

.schedule-history-list strong,
.schedule-history-list span {
  display: block;
}

.schedule-history-list span,
.schedule-history-list p {
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.exception-queue-page {
  gap: 16px;
}

.exception-queue-board {
  display: grid;
  grid-template-columns: minmax(210px, 0.24fr) minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}

.exception-status-rail,
.exception-table-panel {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
}

.exception-status-rail {
  display: grid;
  gap: 10px;
  padding: 14px;
}

.exception-status-rail h3,
.exception-table-panel h3 {
  margin: 3px 0 0;
  color: var(--yr-text);
  font-size: 18px;
}

.exception-status-chip {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.exception-status-chip.needs-action {
  border-color: rgba(196, 90, 46, 0.24);
  background: #fff7f1;
}

.exception-status-chip span {
  color: var(--yr-text);
  font-weight: 800;
}

.exception-status-chip strong {
  color: var(--yr-red);
  font-size: 20px;
  font-variant-numeric: tabular-nums;
}

.exception-status-chip small {
  grid-column: 1 / -1;
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.exception-table-panel {
  display: grid;
}

.exception-table-panel > header {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.exception-table-panel > header small {
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.45;
}

.exception-pagination {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 56px;
  padding: 10px 14px 0;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.exception-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.exception-pagination div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.exception-queue-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.exception-queue-row {
  display: grid;
  grid-template-columns: minmax(130px, 0.58fr) minmax(220px, 1fr) minmax(150px, 0.72fr) auto auto;
  gap: 12px;
  align-items: center;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.exception-queue-row.needs-action {
  border-color: rgba(217, 61, 32, 0.24);
  background: var(--yr-warning-bg);
}

.exception-store-cell,
.exception-topic-cell,
.exception-owner-cell,
.exception-row-status,
.exception-row-actions {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.exception-store-cell strong,
.exception-topic-cell strong,
.exception-owner-cell strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.exception-store-cell span,
.exception-topic-cell span,
.exception-owner-cell span,
.exception-owner-cell small {
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.45;
}

.exception-owner-cell span {
  color: var(--yr-red);
  font-weight: 800;
}

.exception-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  justify-content: flex-end;
}

.exception-row-actions .solid-btn,
.exception-row-actions .ghost-btn {
  min-height: 34px;
  white-space: nowrap;
}

.exception-status-badge {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  color: var(--yr-text-secondary);
  background: #f5eee6;
  font-size: 12px;
  font-weight: 800;
}

.exception-status-badge.needs-action {
  color: var(--yr-red);
  background: rgba(217, 61, 32, 0.1);
}

.exception-queue-footer {
  display: grid;
  grid-template-columns: minmax(180px, 0.8fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.exception-queue-footer > div:not(.exception-queue-actions) {
  display: grid;
  gap: 3px;
  min-height: 54px;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.exception-queue-footer span,
.exception-queue-footer small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.exception-queue-footer strong {
  color: var(--yr-text);
}

.exception-queue-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
}

.loss-damage-page {
  gap: 14px;
  background: #f7f3ec;
}

.loss-damage-head-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.loss-damage-filterbar {
  display: grid;
  grid-template-columns: repeat(5, minmax(110px, 1fr)) minmax(180px, 1.4fr) auto;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
}

.loss-damage-filterbar label {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.loss-damage-filterbar span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.loss-damage-filterbar select,
.loss-damage-filterbar input {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 9px;
  background: #fffaf5;
  color: var(--yr-text);
  font-size: 13px;
}

.loss-damage-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.loss-damage-ledger,
.loss-damage-summary-strip {
  min-width: 0;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.loss-damage-summary-strip {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  padding: 10px;
}

.loss-damage-summary-strip article {
  display: grid;
  gap: 3px;
  min-height: 58px;
  align-content: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 9px 10px;
  background: #fffaf5;
}

.loss-damage-summary-strip article.needs-action {
  border-color: rgba(217, 61, 32, 0.24);
  background: var(--yr-warning-bg);
}

.loss-damage-summary-strip span,
.loss-damage-summary-strip small {
  overflow: hidden;
  color: var(--yr-text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.loss-damage-summary-strip strong {
  overflow: hidden;
  color: var(--yr-text);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.loss-damage-ledger > header,
.loss-damage-side-panel header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.loss-damage-ledger h3,
.loss-damage-side-panel h3 {
  margin: 2px 0 0;
  color: var(--yr-text);
  font-size: 18px;
}

.loss-damage-ledger small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.loss-damage-table-scroll {
  overflow: auto;
}

.loss-damage-table {
  width: 100%;
  min-width: 880px;
  border-collapse: collapse;
  table-layout: fixed;
}

.loss-damage-table th,
.loss-damage-table td {
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  padding: 10px 11px;
  color: var(--yr-text);
  font-size: 13px;
  line-height: 1.35;
  text-align: left;
  vertical-align: middle;
}

.loss-damage-table th {
  background: #fbf3ea;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.loss-damage-table tr.needs-action td {
  background: var(--yr-warning-bg);
}

.loss-damage-table td small,
.loss-damage-table td strong {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.loss-damage-table td small {
  margin-top: 3px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.loss-damage-type {
  display: inline-flex;
  min-height: 26px;
  align-items: center;
  border-radius: 999px;
  padding: 0 9px;
  background: rgba(39, 114, 91, 0.1);
  color: #27725b;
  font-size: 12px;
  font-weight: 900;
}

.loss-damage-type.tool_damage {
  background: rgba(55, 93, 154, 0.1);
  color: #375d9a;
}

.loss-damage-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-end;
}

.loss-damage-row-actions .solid-btn,
.loss-damage-row-actions .ghost-btn {
  min-height: 30px;
  padding: 0 9px;
  font-size: 12px;
}

.loss-damage-side-panel {
  display: grid;
  gap: 12px;
}

.loss-damage-category-list,
.loss-damage-review-list {
  display: grid;
  gap: 8px;
  padding: 10px;
}

.loss-damage-category-list div,
.loss-damage-review-list div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 10px;
  align-items: center;
  min-height: 52px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 9px 10px;
  background: #fffaf5;
}

.loss-damage-review-list div.needs-action {
  border-color: rgba(217, 61, 32, 0.24);
  background: var(--yr-warning-bg);
}

.loss-damage-category-list span,
.loss-damage-review-list span {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 900;
}

.loss-damage-category-list strong,
.loss-damage-review-list strong {
  color: var(--yr-red);
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.loss-damage-category-list small,
.loss-damage-review-list small {
  grid-column: 1 / -1;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.loss-damage-entry-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.loss-damage-entry-tabs button {
  min-height: 40px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 10px;
  background: #fff;
  color: var(--yr-text-secondary);
  font-weight: 900;
}

.loss-damage-entry-tabs button.active {
  border-color: rgba(217, 61, 32, 0.28);
  background: #fff0e8;
  color: var(--yr-red);
}

.loss-damage-history {
  display: grid;
  gap: 12px;
}

.loss-damage-history section {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.loss-damage-history h4,
.loss-damage-history p {
  margin: 0;
}

.loss-damage-history h4 {
  margin-bottom: 6px;
  color: var(--yr-text);
}

.loss-damage-history p {
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.5;
}

.formal-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  justify-items: end;
}

.formal-drawer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(31, 26, 23, 0.28);
  cursor: default;
}

.formal-drawer {
  position: relative;
  z-index: 1;
  width: min(760px, calc(100vw - 24px));
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #fff;
  box-shadow: -24px 0 54px rgba(50, 35, 20, 0.18);
  animation: tablewareDrawerIn 180ms ease-out;
}

.formal-drawer-head {
  min-height: 72px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.formal-drawer-head h3 {
  margin: 2px 0 0;
}

.formal-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 16px;
  background: #f7f3ec;
}

.formal-drawer-form {
  gap: 14px;
}

.formal-form-guide {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(50, 35, 20, 0.06);
}

.formal-form-guide strong,
.formal-form-guide small {
  display: block;
}

.formal-form-guide strong {
  margin-top: 2px;
  color: var(--yr-text);
  font-size: 18px;
  font-weight: 900;
}

.formal-form-guide small {
  margin-top: 4px;
  max-width: 520px;
  color: var(--yr-text-secondary);
  line-height: 1.45;
}

.formal-form-guide ol {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

.formal-form-guide li {
  min-height: 34px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 0 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 999px;
  background: #fffaf5;
  color: var(--yr-text);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.formal-form-guide li span {
  width: 20px;
  height: 20px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--yr-primary);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
}

.formal-fieldset {
  padding: 14px;
  border-color: rgba(50, 35, 20, 0.1);
  background: #fff;
}

.formal-fieldset.is-basic {
  background: linear-gradient(180deg, #fffdf9 0%, #fff 100%);
}

.formal-fieldset legend {
  display: inline-grid;
  gap: 2px;
  padding: 0 8px;
}

.formal-fieldset legend span {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 900;
}

.formal-fieldset legend small {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 700;
}

.formal-complaint-intake .formal-form-guide {
  border-color: rgba(14, 116, 144, 0.18);
  background: linear-gradient(135deg, #fff 0%, #eefcff 100%);
}

.formal-complaint-intake .formal-form-guide li span {
  background: #0e7490;
}

.formal-loss-cost-review .formal-form-guide {
  border-color: rgba(180, 83, 9, 0.2);
  background: linear-gradient(135deg, #fff 0%, #fff7ed 100%);
}

.formal-loss-cost-review .formal-form-guide li span {
  background: #b45309;
}

.formal-damage-accountability .formal-form-guide {
  border-color: rgba(185, 28, 28, 0.16);
  background: linear-gradient(135deg, #fff 0%, #fff1f2 100%);
}

.formal-damage-accountability .formal-form-guide li span {
  background: #b91c1c;
}

.formal-schedule-publish .formal-form-guide {
  border-color: rgba(22, 101, 52, 0.16);
  background: linear-gradient(135deg, #fff 0%, #f0fdf4 100%);
}

.formal-schedule-publish .formal-form-guide li span {
  background: #166534;
}

.formal-drawer-actions {
  position: sticky;
  bottom: -16px;
  z-index: 2;
  margin: 0 -16px -16px;
  padding: 12px 16px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(10px);
}

.attendance-review-console,
.operations-control-console,
.payroll-review-console {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.65fr);
  gap: 14px;
  align-items: start;
}

.attendance-review-main,
.operations-primary-console,
.operations-recent-console,
.payroll-review-main,
.payroll-adjustment-preview,
.payroll-lock-panel {
  min-width: 0;
  overflow: hidden;
}

.attendance-review-metrics,
.operations-console-metrics,
.payroll-review-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.attendance-review-metrics article,
.operations-console-metrics article,
.payroll-review-metrics article {
  border: 1px solid rgba(74, 57, 40, 0.11);
  border-radius: 8px;
  background: #fbf8f2;
  padding: 12px;
}

.attendance-review-metrics article.needs-action,
.operations-console-metrics article.needs-action,
.payroll-review-metrics article.needs-action {
  border-color: rgba(219, 59, 34, 0.28);
  background: var(--yr-warning-bg);
}

.attendance-review-metrics span,
.operations-console-metrics span,
.payroll-review-metrics span {
  display: block;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.attendance-review-metrics strong,
.operations-console-metrics strong,
.payroll-review-metrics strong {
  display: block;
  margin-top: 4px;
  font-size: 26px;
  line-height: 1.1;
  color: var(--yr-text);
}

.attendance-review-metrics small,
.operations-console-metrics small,
.payroll-review-metrics small {
  display: block;
  margin-top: 4px;
  color: var(--yr-text-secondary);
}

.attendance-priority-list,
.payroll-priority-list {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.attendance-priority-row,
.payroll-priority-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.9fr) minmax(0, 1.1fr) minmax(92px, 0.45fr);
  gap: 10px;
  align-items: center;
  min-height: 54px;
  padding: 9px 11px;
  border: 1px solid rgba(219, 59, 34, 0.18);
  border-radius: 8px;
  background: #fff7f1;
}

.attendance-priority-row div,
.payroll-priority-row div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.attendance-priority-row strong,
.payroll-priority-row strong,
.attendance-priority-row em,
.payroll-priority-row em {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attendance-priority-row span,
.payroll-priority-row span,
.attendance-priority-row small,
.payroll-priority-row small {
  overflow: hidden;
  color: var(--yr-text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attendance-priority-row em,
.payroll-priority-row em {
  color: var(--yr-red);
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.attendance-priority-row small,
.payroll-priority-row small {
  justify-self: end;
  color: var(--yr-text);
  font-weight: 900;
}

.attendance-review-actionbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
  align-items: center;
}

.attendance-review-primary-note {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.yr-operations-c {
  padding: 26px 32px 38px;
  background: var(--yr-bg);
}

.yr-operations-c.ops-final-page {
  width: 100%;
  margin: 0;
}

.operations-c-shell {
  display: grid;
  gap: 20px;
  width: 100%;
  padding: 32px;
  border-radius: 10px;
  background: var(--yr-card);
  box-shadow: 0 18px 44px rgba(33, 22, 12, 0.07);
}

.operations-c-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid #eee8df;
}

.operations-c-header.operations-command {
  display: flex;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid #eee8df;
  background: transparent;
  box-shadow: none;
}

.operations-c-header h2 {
  margin: 0;
  color: #101828;
  font-size: 24px;
  line-height: 1.2;
}

.operations-c-header p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

.operations-c-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.operations-c-actions label {
  display: grid;
  gap: 4px;
  min-width: 126px;
  color: #667085;
  font-size: 11px;
  font-weight: 900;
}

.operations-c-actions select,
.operations-c-actions input {
  height: 34px;
  min-height: 34px;
  border: 1px solid #e6ddd2;
  border-radius: 7px;
  background: #fff;
  color: #101828;
  padding: 0 9px;
  font-size: 12px;
  font-weight: 800;
}

.operations-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-height: 40px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fbf7f1;
  padding: 7px 10px;
}

.operations-summary-strip span,
.operations-summary-strip strong {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  border-radius: 999px;
  padding: 0 9px;
  font-size: 12px;
  line-height: 1;
}

.operations-summary-strip span {
  background: var(--yr-brown);
  color: var(--yr-card);
  font-weight: 900;
}

.operations-summary-strip strong {
  border: 1px solid #eadfd3;
  background: var(--yr-card);
  color: var(--yr-brown);
  font-weight: 900;
}

.operations-summary-strip strong.warn {
  border-color: rgba(194, 65, 45, 0.22);
  background: #fff2ee;
  color: #b52f1f;
}

.operations-c-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.operations-c-metrics article {
  min-height: 110px;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}

.operations-c-metrics article.needs-action {
  border-color: rgba(219, 59, 34, 0.22);
  background: #fff7f1;
}

.operations-c-metrics span,
.operations-c-metrics small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.operations-c-metrics strong {
  color: #101828;
  font-size: 30px;
  line-height: 1.05;
}

.operations-control-console {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.operations-daily-grid-panel {
  overflow: hidden;
}

.operations-daily-grid {
  overflow: auto;
  margin: 0 14px 14px;
  border: 1px solid #e4d8ca;
  border-radius: 8px;
  background: #fff;
  scrollbar-gutter: stable;
}

.operations-daily-grid-head,
.operations-daily-grid-row {
  display: grid;
  grid-template-columns:
    72px 62px 78px
    repeat(6, 74px)
    82px repeat(4, 82px)
    78px 78px 70px 70px 70px
    repeat(2, 82px)
    78px 78px 108px 86px;
  min-width: 1986px;
}

.operations-daily-grid-head {
  position: sticky;
  z-index: 4;
  color: #46382d;
  font-size: 12px;
  font-weight: 900;
}

.operations-daily-grid-head.top {
  top: 0;
}

.operations-daily-grid-head.sub {
  top: 32px;
}

.operations-daily-grid-head > span,
.operations-daily-grid-row > strong,
.operations-daily-grid-row > .operations-grid-cell,
.operations-daily-grid-row > .operations-grid-action {
  min-width: 0;
  border-right: 1px solid #e8ded3;
  border-bottom: 1px solid #e8ded3;
}

.operations-daily-grid-head > span {
  display: grid;
  place-items: center;
  min-height: 32px;
  padding: 0 5px;
  background: #efe5da;
  text-align: center;
  white-space: nowrap;
}

.operations-daily-grid-head.sub > span {
  min-height: 28px;
  background: #f7f0e8;
  color: #6f6258;
  font-size: 11px;
  font-weight: 800;
}

.operations-daily-grid-head .group {
  background: #e8d9ca;
  color: var(--yr-brown);
  font-size: 13px;
  letter-spacing: 0;
}

.operations-daily-grid-head .group.discount {
  grid-column: span 6;
}

.operations-daily-grid-head .group.kitchen {
  grid-column: span 2;
}

.operations-daily-grid-head .group.queue {
  grid-column: span 3;
}

.operations-daily-grid-row {
  min-height: 32px;
  background: #fff;
}

.operations-daily-grid-row.warn {
  background: #fff8f1;
}

.operations-daily-grid-row > strong {
  display: grid;
  align-items: center;
  padding: 0 8px;
  color: var(--yr-brown);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
}

.operations-grid-cell,
.operations-grid-action {
  display: grid;
  align-items: center;
  min-height: 32px;
  background: transparent;
  color: #1f1a17;
  padding: 0 8px;
  font-size: 11px;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
}

.operations-grid-cell {
  justify-items: end;
  text-align: right;
}

.operations-grid-cell.is-derived {
  color: #6f6258;
  background: #fffaf5;
}

.operations-grid-action {
  justify-items: center;
  padding: 3px 6px;
}

.operations-grid-action .ghost-btn {
  min-height: 26px;
  padding: 0 8px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1;
}

.operations-sticky-col {
  position: sticky;
  z-index: 5;
  background: inherit;
  box-shadow: 1px 0 0 #d8c8b8;
}

.operations-daily-grid-head .operations-sticky-col {
  z-index: 7;
  background: #efe5da;
}

.operations-daily-grid-head.sub .operations-sticky-col {
  background: #f7f0e8;
}

.operations-sticky-col.col-date {
  left: 0;
}

.operations-sticky-col.col-weekday {
  left: 72px;
}

.operations-secondary-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(420px, 0.72fr);
  gap: 10px;
  align-items: stretch;
}

.operations-dynamics-panel {
  overflow: hidden;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
}

.operations-dynamics-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 74px;
  padding: 18px 22px;
  border-bottom: 1px solid #f0e8df;
}

.operations-dynamics-head h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 900;
}

.operations-dynamics-head p,
.operations-dynamics-section-head p {
  margin: 5px 0 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.operations-dynamics-head > div:last-child {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.operations-dynamics-section {
  padding: 18px 22px 20px;
}

.operations-dynamics-section + .operations-dynamics-section {
  border-top: 1px solid #f0e8df;
}

.operations-dynamics-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.operations-dynamics-section-head h4 {
  margin: 0;
  color: var(--yr-text);
  font-size: 18px;
  line-height: 1.2;
  font-weight: 900;
}

.operations-c-panel {
  min-width: 0;
  height: 100%;
  display: flex;
  flex-direction: column;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}

.operations-c-section-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  min-height: 68px;
  padding: 16px 18px 12px;
  border-bottom: 1px solid #f0e8df;
}

.operations-c-section-head h3 {
  margin: 0;
  color: var(--yr-text);
  font-size: 19px;
  line-height: 1.2;
  font-weight: 900;
}

.operations-c-section-head p {
  margin: 4px 0 0;
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 700;
}

.operations-c-panel .status-state {
  min-height: 52px;
  margin: 12px 18px 16px;
  padding: 12px 14px;
  align-content: center;
}

.operations-c-panel .operations-ledger-list,
.operations-c-panel .operations-followup-queue {
  padding: 12px 18px 16px;
}

.yr-payroll-c {
  padding: 26px 32px 38px;
  background: var(--yr-bg);
}

.yr-payroll-c.ops-final-page {
  width: 100%;
  margin: 0;
}

.payroll-c-shell {
  position: relative;
  display: grid;
  gap: 20px;
  width: 100%;
  padding: 32px;
  border-radius: 10px;
  background: var(--yr-card);
  box-shadow: 0 18px 44px rgba(33, 22, 12, 0.07);
}

.payroll-c-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 18px;
  border-bottom: 1px solid #eee8df;
}

.payroll-c-header.payroll-command {
  display: flex;
  padding: 0 0 18px;
  border: 0;
  border-bottom: 1px solid #eee8df;
  background: transparent;
  box-shadow: none;
}

.payroll-c-header h2 {
  margin: 0;
  color: #101828;
  font-size: 24px;
  line-height: 1.2;
}

.payroll-c-header p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

.payroll-c-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.payroll-c-filter {
  display: grid;
  grid-template-columns: minmax(150px, 180px) minmax(150px, 180px);
  gap: 14px;
  align-items: end;
}

.payroll-c-filter label {
  display: grid;
  gap: 7px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.payroll-c-filter select {
  min-height: 40px;
  border: 1px solid #e4ded5;
  border-radius: 8px;
  background: #fff;
  color: #344054;
  padding: 0 12px;
  font: inherit;
}

.payroll-c-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.payroll-c-metrics article {
  min-height: 110px;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
  padding: 18px;
}

.payroll-c-metrics article.needs-action {
  border-color: rgba(219, 59, 34, 0.22);
  background: #fff7f1;
}

.payroll-c-metrics article.is-locked {
  border-color: rgba(47, 143, 107, 0.2);
  background: #f6fbf7;
}

.payroll-c-metrics span,
.payroll-c-metrics em {
  color: #667085;
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.payroll-c-metrics strong {
  color: #101828;
  font-size: 30px;
  line-height: 1.05;
}

.payroll-c-metrics small {
  margin-left: 4px;
  color: #344054;
  font-size: 13px;
}

.payroll-c-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.payroll-c-table-panel,
.payroll-c-lock-panel {
  min-width: 0;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
}

.payroll-c-table-panel {
  overflow: hidden;
}

.payroll-c-lock-panel {
  order: -1;
}

.payroll-c-section-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 22px 14px;
}

.payroll-c-section-head h3 {
  margin: 0;
  color: #101828;
  font-size: 17px;
}

.payroll-c-section-head p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 12px;
}

.payroll-c-table {
  overflow-x: auto;
  padding: 0 22px 18px;
}

.payroll-c-table-head,
.payroll-c-row {
  display: grid;
  grid-template-columns: 128px 144px 76px 92px 92px 106px 78px;
  column-gap: 12px;
  align-items: center;
  justify-content: start;
  min-width: 788px;
}

.payroll-c-table-head {
  min-height: 42px;
  border-radius: 8px;
  background: #f6f2ed;
  color: #667085;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 900;
}

.payroll-c-row {
  position: relative;
  min-height: 70px;
  border-bottom: 1px solid #f0ebe4;
  padding: 0 14px;
  background: #fff;
}

.payroll-c-row.warn {
  background: #fffdf8;
}

.payroll-c-row.warn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 999px;
  background: var(--yr-red);
}

.payroll-c-person,
.payroll-c-store {
  display: grid;
  gap: 3px;
  min-width: 0;
  justify-self: stretch;
  text-align: left;
}

.payroll-c-person strong,
.payroll-c-store strong {
  overflow: hidden;
  color: #101828;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-c-person span,
.payroll-c-store span {
  overflow: hidden;
  color: #667085;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-c-table-head > span:nth-child(n + 3),
.payroll-c-row > strong,
.payroll-c-input-cell,
.payroll-c-status {
  justify-self: center;
  text-align: center;
}

.payroll-c-input-cell .table-number-input {
  width: 88px;
  min-height: 34px;
  border-radius: 7px;
  text-align: center;
}

.payroll-c-row > strong {
  color: #344054;
  font-size: 13px;
  font-weight: 900;
  font-variant-numeric: tabular-nums;
}

.payroll-c-checks {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  padding: 0 20px 20px;
}

.payroll-c-checks article {
  display: grid;
  gap: 5px;
  align-items: center;
  min-height: 58px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.payroll-c-checks article.needs-action {
  border-color: rgba(219, 59, 34, 0.2);
  background: #fff7f1;
}

.payroll-c-checks article.ok {
  border-color: rgba(47, 143, 107, 0.18);
  background: #f6fbf7;
}

.payroll-c-checks span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.payroll-c-checks strong {
  color: #101828;
  font-size: 13px;
}

.payroll-c-toast {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 140;
  max-width: min(360px, calc(100vw - 48px));
  border: 1px solid rgba(47, 143, 107, 0.18);
  border-radius: 999px;
  background: #eaf8f0;
  color: #147356;
  padding: 10px 14px;
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.12);
  font-size: 12px;
  font-weight: 900;
}

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

.payroll-editable-table col.payroll-col-name {
  width: 128px;
}

.payroll-editable-table col.payroll-col-store,
.payroll-editable-table col.payroll-col-role {
  width: 104px;
}

.payroll-editable-table col.payroll-col-money {
  width: 116px;
}

.payroll-editable-table col.payroll-col-input {
  width: 112px;
}

.payroll-editable-table col.payroll-col-payable {
  width: 128px;
}

.payroll-editable-table th,
.payroll-editable-table td {
  white-space: nowrap;
}

.attendance-record-list {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.attendance-record-row {
  display: grid;
  grid-template-columns: minmax(150px, 0.72fr) minmax(105px, 0.44fr) minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(74, 57, 40, 0.1);
  border-radius: 8px;
  background: #fbf8f2;
}

.attendance-record-row.needs-action {
  border-color: rgba(219, 59, 34, 0.24);
  background: var(--yr-warning-bg);
}

.attendance-record-person,
.attendance-record-facts,
.attendance-record-exception,
.attendance-record-status {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.attendance-record-person strong,
.attendance-record-facts strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attendance-record-person span,
.attendance-record-facts span,
.attendance-record-exception small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.attendance-record-status {
  justify-items: end;
}

.payroll-lock-checklist {
  display: grid;
  gap: 10px;
  padding: 0 16px 16px;
}

.payroll-lock-checklist article {
  display: grid;
  grid-template-columns: minmax(82px, 0.55fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid rgba(74, 57, 40, 0.11);
  border-radius: 8px;
  background: #fbf8f2;
}

.payroll-lock-checklist article.needs-action {
  border-color: rgba(219, 59, 34, 0.24);
  background: var(--yr-warning-bg);
}

.payroll-lock-checklist article.ok {
  border-color: rgba(47, 143, 107, 0.18);
  background: #f6fbf7;
}

.payroll-lock-checklist span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.payroll-lock-checklist strong {
  color: var(--yr-text);
  font-size: 15px;
}

.payroll-adjustment-list {
  display: grid;
  gap: 10px;
  padding: 0 16px 16px;
}

.payroll-adjustment-row {
  display: grid;
  grid-template-columns: minmax(140px, 0.7fr) minmax(180px, 1fr) minmax(110px, auto);
  gap: 12px;
  align-items: center;
  min-height: 68px;
  padding: 12px;
  border: 1px solid rgba(74, 57, 40, 0.11);
  border-radius: 8px;
  background: #fbf8f2;
}

.payroll-adjustment-row.is-deduct {
  border-color: rgba(219, 59, 34, 0.2);
  background: var(--yr-warning-bg);
}

.payroll-adjustment-person,
.payroll-adjustment-category,
.payroll-adjustment-amount {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.payroll-adjustment-person strong,
.payroll-adjustment-category span,
.payroll-adjustment-amount strong {
  overflow: hidden;
  color: var(--yr-text);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-adjustment-person span,
.payroll-adjustment-category small,
.payroll-adjustment-amount small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.payroll-adjustment-amount {
  justify-items: end;
}

.payroll-adjustment-amount strong {
  font-size: 18px;
  font-variant-numeric: tabular-nums;
}

.payroll-adjustment-row.is-bonus .payroll-adjustment-amount strong {
  color: #1b7f5d;
}

.payroll-adjustment-row.is-deduct .payroll-adjustment-amount strong {
  color: var(--yr-red);
}

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

.attendance-drawer-layer,
.operations-drawer-layer,
.payroll-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  justify-items: end;
}

.attendance-drawer-backdrop,
.operations-drawer-backdrop,
.payroll-drawer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(31, 26, 23, 0.34);
}

.attendance-drawer,
.operations-drawer,
.payroll-drawer {
  position: relative;
  z-index: 1;
  width: min(780px, calc(100vw - 24px));
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: var(--yr-card);
  border-left: 1px solid rgba(74, 57, 40, 0.14);
  box-shadow: -28px 0 64px rgba(56, 39, 22, 0.22);
  animation: formalDrawerIn 180ms ease-out;
}

.attendance-drawer-head,
.operations-drawer-head,
.payroll-drawer-head {
  min-height: 72px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid rgba(74, 57, 40, 0.12);
}

.attendance-drawer-head h3,
.operations-drawer-head h3,
.payroll-drawer-head h3 {
  margin: 2px 0 0;
}

.attendance-drawer-body,
.operations-drawer-body,
.payroll-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 16px;
  background: var(--yr-bg);
}

.attendance-drawer-body .ops-final-form-section,
.operations-drawer-body .ops-final-form-section,
.payroll-drawer-body .ops-final-form-section {
  box-shadow: none;
}

.payroll-drawer {
  width: min(536px, calc(100vw - 24px));
  background: #fff;
}

.payroll-drawer-head {
  min-height: 70px;
  padding: 18px 24px;
}

.payroll-drawer-head h3 {
  color: #101828;
  font-size: 20px;
  line-height: 1.2;
}

.payroll-drawer-head p {
  margin: 4px 0 0;
  color: #667085;
  font-size: 13px;
}

.payroll-drawer-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #344054;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.payroll-drawer-close:hover {
  background: #f6f2ed;
}

.payroll-drawer-body {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 18px 24px 88px;
  background: #fff;
}

.payroll-drawer-section {
  display: grid;
  gap: 14px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.payroll-drawer-section-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.payroll-drawer-section-head h4 {
  margin: 0;
  color: #101828;
  font-size: 15px;
  line-height: 1.2;
}

.payroll-drawer-section-head span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.payroll-drawer-field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  min-width: 0;
}

.payroll-drawer-field-grid label {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.payroll-drawer-field-grid label.wide {
  grid-column: 1 / -1;
}

.payroll-drawer-field-grid select,
.payroll-drawer-field-grid input {
  width: 100%;
  min-height: 38px;
  border: 1px solid #e4ded5;
  border-radius: 8px;
  background: #fff;
  color: #101828;
  padding: 0 11px;
  font: inherit;
}

.payroll-drawer .formal-drawer-actions {
  position: static;
  width: 100%;
  min-width: 0;
  margin: 14px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  justify-content: flex-end;
}

.payroll-drawer .formal-drawer-actions .solid-btn {
  min-width: 132px;
}

.payroll-drawer .payroll-adjustment-list {
  padding: 0;
}

.payroll-drawer .payroll-adjustment-row {
  grid-template-columns: minmax(0, 1fr) minmax(120px, 0.72fr) auto;
  background: #fffdf9;
}

.payroll-drawer .payroll-base-head,
.payroll-drawer .payroll-base-row {
  grid-template-columns: minmax(0, 1fr) 72px 72px 72px 56px;
  gap: 8px;
}

.payroll-drawer .payroll-adjustment-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.payroll-drawer .payroll-drawer-field-grid,
.payroll-drawer .formal-drawer-actions {
  grid-column: 1 / -1;
}

.operations-drawer {
  width: min(620px, calc(100vw - 24px));
  background: #fff;
}

.operations-drawer-head {
  min-height: 70px;
  padding: 18px 24px;
}

.operations-drawer-head h3 {
  color: #101828;
  font-size: 20px;
  line-height: 1.2;
}

.operations-drawer-head p {
  margin: 4px 0 0;
  color: #667085;
  font-size: 13px;
}

.operations-drawer-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #344054;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.operations-drawer-close:hover {
  background: #f6f2ed;
}

.operations-drawer-body {
  display: grid;
  align-content: start;
  gap: 16px;
  padding: 18px 24px 88px;
  background: #fff;
}

.operations-drawer-section {
  display: grid;
  gap: 14px;
  min-width: 0;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.operations-drawer-section-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.operations-drawer-section-head h4 {
  margin: 0;
  color: #101828;
  font-size: 15px;
  line-height: 1.2;
}

.operations-drawer-section-head span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.operations-drawer .operations-daily-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.operations-drawer .ops-final-fieldset {
  min-width: 0;
}

.operations-drawer .ops-final-field-grid,
.operations-drawer .formal-drawer-actions {
  grid-column: 1 / -1;
}

.operations-drawer .formal-drawer-actions {
  position: static;
  width: 100%;
  min-width: 0;
  margin: 14px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  justify-content: flex-end;
}

.yr-attendance-c {
  --attendance-bg: var(--yr-bg);
  --attendance-panel: var(--yr-card);
  --attendance-border: #ece7df;
  --attendance-muted: #667085;
  --attendance-accent: #cf2e16;
  --attendance-accent-dark: #aa2111;
  padding: 26px 32px 38px;
  background: var(--attendance-bg);
}

.yr-attendance-c.ops-final-page {
  width: 100%;
  margin: 0;
}

.attendance-c-shell {
  position: relative;
  display: grid;
  gap: 22px;
  width: 100%;
  max-width: none;
  margin: 0 auto;
  padding: 32px;
  border: 0;
  border-radius: 10px;
  background: var(--yr-card);
  box-shadow: 0 18px 44px rgba(33, 22, 12, 0.07);
}

.attendance-c-header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 0 0 18px;
  border-bottom: 1px solid #eee8df;
}

.attendance-c-header h2 {
  margin: 0;
  color: #1f1a16;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 900;
}

.attendance-c-header p,
.attendance-record-head p {
  margin: 6px 0 0;
  color: var(--attendance-muted);
  font-size: 13px;
}

.attendance-c-actions {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
}

.attendance-icon-btn {
  display: inline-flex;
  gap: 7px;
  align-items: center;
}

.attendance-icon-btn span {
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  color: #344054;
  line-height: 1;
}

.attendance-icon-btn svg,
.attendance-metric-icon svg,
.attendance-person-mark svg,
.attendance-save-action svg {
  width: 100%;
  height: 100%;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.attendance-c-import-input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.attendance-c-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.attendance-c-metrics article {
  min-height: 118px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px 20px;
  border: 1px solid var(--attendance-border);
  border-radius: 8px;
  background: var(--attendance-panel);
}

.attendance-c-metrics article.is-warn {
  border-color: rgba(207, 46, 22, 0.18);
  background: #fffaf5;
}

.attendance-metric-icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  font-style: normal;
}

.attendance-metric-icon svg {
  width: 22px;
  height: 22px;
}

.attendance-metric-icon.calendar {
  color: #cf2e16;
  background: #fff1eb;
}

.attendance-metric-icon.ok {
  color: #039855;
  background: #ecfdf3;
}

.attendance-metric-icon.warn {
  color: #f97316;
  background: #fff7ed;
}

.attendance-metric-icon.payroll {
  color: #4f46e5;
  background: #eef2ff;
}

.attendance-c-metrics span {
  color: var(--attendance-muted);
  font-size: 12px;
  font-weight: 800;
}

.attendance-c-metrics strong {
  display: flex;
  gap: 6px;
  align-items: baseline;
  color: #101828;
  font-size: 28px;
  line-height: 1.08;
  font-weight: 950;
}

.attendance-c-metrics strong small {
  color: #344054;
  font-size: 13px;
  font-weight: 600;
}

.attendance-c-metrics em {
  display: block;
  margin-top: 6px;
  color: var(--attendance-muted);
  font-size: 12px;
  font-style: normal;
  line-height: 1.5;
}

.attendance-c-filter {
  display: grid;
  grid-template-columns: 150px 160px 150px minmax(260px, 1fr) 96px;
  gap: 12px;
  align-items: end;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.attendance-c-filter label {
  display: grid;
  gap: 6px;
}

.attendance-c-filter label span {
  color: var(--attendance-muted);
  font-size: 12px;
  font-weight: 800;
}

.attendance-c-filter select,
.attendance-c-filter input {
  height: 42px;
  border: 1px solid #e4dfd7;
  border-radius: 8px;
  background: #fffdfb;
  color: #344054;
  padding: 0 14px;
}

.attendance-record-panel {
  overflow: visible;
  border: 1px solid var(--attendance-border);
  border-radius: 8px;
  background: var(--attendance-panel);
  box-shadow: none;
}

.attendance-record-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 20px 22px 14px;
}

.attendance-record-head h3 {
  margin: 0;
  color: #101828;
  font-size: 17px;
}

.attendance-status-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.attendance-status-tab {
  min-height: 30px;
  border: 1px solid #d7dde6;
  border-radius: 999px;
  background: var(--yr-card);
  color: #475467;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 800;
}

.attendance-status-tab.is-active {
  border-color: rgba(184, 72, 49, 0.28);
  background: #fff4ed;
  color: var(--attendance-accent);
}

.attendance-record-table {
  overflow-x: auto;
  padding: 0 22px 18px;
}

.attendance-record-table-head,
.attendance-record-row {
  display: grid;
  grid-template-columns: 44px 150px 164px 74px 62px 62px 62px 62px 62px 74px 84px 72px;
  column-gap: 8px;
  align-items: center;
  justify-content: start;
  min-width: 990px;
}

.attendance-record-table-head {
  min-height: 42px;
  border-radius: 8px;
  background: #f6f2ed;
  color: #667085;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 900;
}

.attendance-record-table-head > span {
  min-width: 0;
}

.attendance-record-table-head > span:first-child,
.attendance-record-index {
  justify-self: center;
  text-align: center;
}

.attendance-record-table-head > span:nth-child(n + 4),
.attendance-record-row > strong,
.attendance-record-row > span,
.attendance-record-status,
.attendance-record-actions {
  justify-self: center;
  text-align: center;
}

.attendance-record-table-head > span:nth-child(2),
.attendance-record-table-head > span:nth-child(3),
.attendance-record-person,
.attendance-record-store {
  justify-self: stretch;
  text-align: left;
}

.attendance-record-row {
  position: relative;
  min-height: 68px;
  margin: 0;
  border: 0;
  border-bottom: 1px solid #f0ebe4;
  border-radius: 0;
  background: var(--yr-card);
  padding: 0 14px;
}

.attendance-record-row.needs-action {
  background: #fffdf8;
}

.attendance-record-row.is-selected,
.attendance-record-row:hover {
  background: #fff7ed;
}

.attendance-record-row.is-selected::before,
.attendance-record-row:hover::before {
  content: "";
  position: absolute;
  left: 0;
  top: 12px;
  bottom: 12px;
  width: 3px;
  border-radius: 999px;
  background: var(--attendance-accent);
}

.attendance-record-person,
.attendance-record-store,
.attendance-record-status,
.attendance-record-actions {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.attendance-record-person {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.attendance-record-person > div {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.attendance-record-index {
  color: #98a2b3;
  font-size: 13px;
  font-weight: 800;
}

.attendance-record-person strong,
.attendance-record-store strong {
  overflow: hidden;
  color: #101828;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attendance-record-person span,
.attendance-record-store span {
  overflow: hidden;
  color: var(--attendance-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.attendance-record-row > strong,
.attendance-record-row > span {
  color: #344054;
  font-size: 13px;
  font-weight: 800;
}

.attendance-record-row .is-warn-text {
  color: #b54708;
}

.attendance-record-row .is-danger-text {
  color: #b42318;
}

.attendance-record-actions {
  position: relative;
  justify-items: center;
}

.text-btn {
  min-height: 30px;
  border: 0;
  background: transparent;
  color: var(--attendance-accent);
  padding: 0;
  font-size: 13px;
  font-weight: 900;
}

.attendance-row-menu {
  position: absolute;
  top: 30px;
  right: 0;
  z-index: 5;
  width: 112px;
  display: none;
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--attendance-border);
  border-radius: 10px;
  background: var(--yr-card);
  box-shadow: 0 16px 34px rgba(15, 23, 42, 0.13);
}

.attendance-record-actions:hover .attendance-row-menu,
.attendance-record-actions:focus-within .attendance-row-menu {
  display: grid;
}

.attendance-record-pagination {
  min-width: 990px;
  margin-top: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #667085;
  font-size: 13px;
}

.attendance-toast {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 8;
  pointer-events: none;
  border: 1px solid rgba(47, 143, 107, 0.24);
  border-radius: 999px;
  background: #f0fdf4;
  color: #067647;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 900;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.1);
}

.attendance-drawer {
  width: min(536px, calc(100vw - 24px));
  grid-template-rows: 72px minmax(0, 1fr);
  border-left: 1px solid rgba(16, 24, 40, 0.08);
  background: #fff;
  box-shadow: -24px 0 56px rgba(16, 24, 40, 0.18);
}

.attendance-drawer-head p {
  margin: 4px 0 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.attendance-drawer-head {
  min-height: 72px;
  padding: 0 22px;
  border-bottom: 1px solid #ebe7e0;
  background: #fff;
}

.attendance-drawer-head h3 {
  margin: 0;
  color: #1f1a16;
  font-size: 18px;
  line-height: 1.2;
  font-weight: 900;
}

.attendance-drawer-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: #1f2937;
  font-size: 26px;
  line-height: 1;
}

.attendance-drawer-close:hover {
  background: #f7f4ef;
}

.attendance-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 0;
  background: #fff;
}

.attendance-drawer-body .ops-final-form-section {
  display: block;
  min-height: 100%;
  padding: 0;
  background: #fff;
}

.attendance-drawer-form .entry-form,
.attendance-entry-form.attendance-process-form {
  min-height: calc(100dvh - 72px);
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: 0;
  padding: 20px 22px 0;
  background: #fff;
}

.attendance-drawer-person {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 0 0 20px;
  border-bottom: 1px solid #ebe7e0;
}

.attendance-person-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 1px solid #d9d2c8;
  border-radius: 999px;
  background: linear-gradient(180deg, #fffdfb 0%, #f2eee7 100%);
  color: #6f4b3a;
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.05);
}

.attendance-person-mark svg {
  width: 22px;
  height: 22px;
  stroke-width: 1.7;
}

.attendance-drawer-person strong {
  display: flex;
  gap: 4px;
  align-items: baseline;
  flex-wrap: wrap;
  color: #1f1a16;
  font-size: 17px;
  font-weight: 900;
}

.attendance-drawer-person strong span {
  display: inline;
  margin-top: 0;
  color: #344054;
  font-size: 14px;
  font-weight: 800;
}

.attendance-drawer-person span,
.attendance-drawer-person small {
  display: block;
  margin-top: 3px;
  color: #667085;
  font-size: 13px;
}

.attendance-drawer-section {
  margin: 0;
  border: 0;
  border-bottom: 1px solid #ebe7e0;
  border-radius: 0;
  background: #fff;
  padding: 20px 0;
}

.attendance-drawer-section legend {
  padding: 0 0 14px;
  color: #1f1a16;
  font-size: 14px;
  font-weight: 900;
}

.attendance-drawer .ops-final-field-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px 16px;
  align-items: start;
}

.attendance-drawer .ops-final-field-grid label {
  display: grid;
  gap: 8px;
  margin: 0;
}

.attendance-drawer .ops-final-field-grid label span {
  color: #344054;
  font-size: 13px;
  font-weight: 700;
}

.attendance-drawer .ops-final-field-grid input,
.attendance-drawer .ops-final-field-grid select {
  width: 100%;
  height: 40px;
  border: 1px solid #e4dfd7;
  border-radius: 7px;
  background: #fff;
  color: #1f2937;
  padding: 0 12px;
  font: inherit;
  font-size: 14px;
  box-shadow: 0 1px 0 rgba(16, 24, 40, 0.02);
}

.attendance-drawer .ops-final-field-grid input:focus,
.attendance-drawer .ops-final-field-grid select:focus,
.attendance-drawer-remark textarea:focus {
  border-color: rgba(207, 46, 22, 0.55);
  outline: 3px solid rgba(207, 46, 22, 0.1);
  outline-offset: 0;
}

.attendance-drawer-impact {
  display: grid;
  gap: 7px;
  margin-top: 16px;
  border: 1px solid #eadfd4;
  border-radius: 8px;
  background: #fffdfb;
  padding: 14px 16px;
}

.attendance-drawer-impact span {
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.attendance-drawer-impact strong {
  color: #1f1a16;
  font-size: 15px;
}

.attendance-drawer-impact small {
  color: #667085;
  font-size: 12px;
}

.attendance-manual-verification {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  margin-top: 16px;
  border: 1px solid rgba(181, 71, 8, 0.28);
  border-radius: 8px;
  background: #fff4e8;
  padding: 14px 16px;
  cursor: pointer;
}

.attendance-manual-verification input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: var(--yr-primary);
}

.attendance-manual-verification > span {
  display: grid;
  gap: 4px;
}

.attendance-manual-verification strong {
  color: #4f2f1e;
  font-size: 14px;
}

.attendance-manual-verification small {
  color: #7a5845;
  font-size: 12px;
  line-height: 1.55;
}

.attendance-drawer-form {
  display: block;
  padding: 0;
}

.attendance-drawer .ops-final-field-grid .wide {
  grid-column: 1 / -1;
}

.attendance-abnormal-table {
  display: grid;
  margin-top: 16px;
  border: 1px solid #eee8df;
  border-radius: 8px;
  overflow: hidden;
  background: #fff;
}

.attendance-abnormal-table > div {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr 1.2fr;
  gap: 10px;
  min-height: 38px;
  align-items: center;
  padding: 0 14px;
  border-bottom: 1px solid #f0ebe4;
  color: #344054;
  font-size: 12px;
}

.attendance-abnormal-table > div:first-child {
  background: #f7f4ef;
  color: #667085;
  font-weight: 900;
}

.attendance-abnormal-table > div:last-child {
  border-bottom: 0;
}

.attendance-abnormal-table strong {
  color: #1f1a16;
}

.attendance-abnormal-table.is-empty {
  display: block;
  margin-top: 16px;
  border: 1px dashed #e4dfd7;
  border-radius: 8px;
  background: #fffdfb;
  padding: 12px 14px;
  color: #667085;
  font-size: 13px;
}

.attendance-add-abnormal {
  width: fit-content;
  min-height: 34px;
  display: inline-flex;
  gap: 7px;
  align-items: center;
  margin-top: 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: #cf2e16;
  padding: 0;
  font-size: 13px;
  font-weight: 900;
}

.attendance-add-abnormal span {
  font-size: 18px;
  line-height: 1;
}

.attendance-drawer-remark {
  display: grid;
  gap: 8px;
  margin-top: 20px;
}

.attendance-drawer-remark span {
  color: #344054;
  font-size: 13px;
  font-weight: 900;
}

.attendance-drawer-remark textarea {
  min-height: 104px;
  resize: vertical;
  border: 1px solid #e4dfd7;
  border-radius: 8px;
  background: #fff;
  color: #1f1a16;
  padding: 12px;
  font: inherit;
}

.attendance-drawer-remark small {
  justify-self: end;
  color: #98a2b3;
  font-size: 12px;
}

.attendance-drawer .formal-drawer-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  position: sticky;
  bottom: 0;
  z-index: 3;
  margin: 18px -22px 0;
  padding: 16px 22px 18px;
  border-top: 1px solid #ebe7e0;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(10px);
}

.attendance-drawer .formal-drawer-actions button {
  min-width: 116px;
  min-height: 44px;
  border-radius: 8px;
}

@media (max-width: 760px) {
  .attendance-drawer .ops-final-field-grid {
    grid-template-columns: 1fr;
  }

  .attendance-drawer-form .entry-form,
  .attendance-entry-form.attendance-process-form {
    padding-right: 16px;
    padding-left: 16px;
  }

  .attendance-drawer .formal-drawer-actions {
    width: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-right: -16px;
    margin-left: -16px;
    padding-right: 16px;
    padding-left: 16px;
  }

  .attendance-drawer .formal-drawer-actions button {
    min-width: 0;
    width: 100%;
  }
}

.attendance-save-action {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
}

.attendance-save-action span {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.22);
}

.attendance-save-action svg {
  stroke-width: 2.4;
}

.attendance-portrait {
  position: relative;
  width: 52px;
  height: 52px;
  display: block;
  overflow: hidden;
  border: 1px solid #d9d2c8;
  border-radius: 999px;
  background: linear-gradient(180deg, #f7fbff 0%, #dbeafe 100%);
  box-shadow: inset 0 -1px 0 rgba(15, 23, 42, 0.05);
}

.attendance-portrait.cool {
  background: linear-gradient(180deg, #f7fbff 0%, #dbeafe 100%);
}

.attendance-portrait.warm {
  background: linear-gradient(180deg, #fff7ed 0%, #fed7aa 100%);
}

.attendance-portrait.green {
  background: linear-gradient(180deg, #f0fdf4 0%, #bbf7d0 100%);
}

.attendance-portrait i {
  position: absolute;
  display: block;
}

.attendance-portrait .hair {
  left: 13px;
  top: 9px;
  width: 26px;
  height: 21px;
  border-radius: 15px 15px 10px 10px;
  background: #2f241d;
}

.attendance-portrait .face {
  left: 15px;
  top: 15px;
  width: 22px;
  height: 24px;
  border-radius: 11px 11px 13px 13px;
  background: #f4c7a1;
}

.attendance-portrait .ear {
  top: 23px;
  width: 5px;
  height: 8px;
  border-radius: 999px;
  background: #eab389;
}

.attendance-portrait .ear.left {
  left: 12px;
}

.attendance-portrait .ear.right {
  right: 12px;
}

.attendance-portrait .eye {
  top: 25px;
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: #1f2937;
}

.attendance-portrait .eye.left {
  left: 21px;
}

.attendance-portrait .eye.right {
  right: 21px;
}

.attendance-portrait .nose {
  left: 25px;
  top: 28px;
  width: 2px;
  height: 5px;
  border-radius: 999px;
  background: rgba(97, 64, 45, 0.35);
}

.attendance-portrait .mouth {
  left: 22px;
  top: 34px;
  width: 8px;
  height: 3px;
  border-bottom: 1.5px solid rgba(97, 64, 45, 0.55);
  border-radius: 999px;
}

.attendance-portrait .shirt {
  left: 13px;
  bottom: -8px;
  width: 26px;
  height: 18px;
  border-radius: 12px 12px 0 0;
  background: #2563eb;
}

.attendance-portrait.warm .shirt {
  background: #0ea5e9;
}

.attendance-portrait.green .shirt {
  background: #16a34a;
}

@media (max-width: 900px) {
  .yr-attendance-c {
    padding: 16px;
  }

  .attendance-c-shell {
    gap: 18px;
    padding: 18px;
    border-radius: 8px;
  }

  .attendance-c-header,
  .attendance-record-head {
    align-items: stretch;
    flex-direction: column;
  }

  .attendance-c-actions {
    flex-wrap: wrap;
  }

  .attendance-c-actions .solid-btn,
  .attendance-c-actions .ghost-btn {
    flex: 1 1 120px;
  }

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

  .attendance-c-filter {
    grid-template-columns: 1fr;
  }

  .attendance-record-table {
    padding: 0 0 14px;
  }

  .attendance-status-tabs {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .attendance-c-metrics {
    grid-template-columns: 1fr;
  }

  .operations-dynamics-head,
  .operations-dynamics-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .operations-followup-queue {
    grid-template-columns: 1fr;
  }
}

.operations-ledger-list {
  display: grid;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  overflow: hidden;
}

.operations-ledger-head,
.operations-ledger-row {
  display: grid;
  grid-template-columns: minmax(130px, 1fr) 110px 82px 82px 82px 86px;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 0 12px;
}

.operations-ledger-head {
  background: #fbf3eb;
  color: #4f4035;
  font-size: 11px;
  font-weight: 900;
}

.operations-ledger-row {
  border-top: 1px solid var(--yr-border);
  background: var(--yr-card);
  color: var(--yr-text);
  font-size: 12px;
}

.operations-ledger-row.needs-action {
  background: #fff7f1;
}

.operations-ledger-row strong,
.operations-ledger-row small,
.operations-ledger-row span,
.operations-ledger-row em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

.operations-ledger-row small {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 700;
}

.operations-ledger-row em,
.operations-ledger-row b {
  width: fit-content;
  border-radius: 999px;
  padding: 3px 8px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.operations-ledger-row em {
  background: #eef7f1;
  color: #16735f;
}

.operations-ledger-row b {
  background: #fff4e8;
  color: var(--yr-red);
}

.operations-fold-link {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-top: 1px solid var(--yr-border);
  background: #fffaf5;
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.operations-fold-link:hover,
.operations-fold-link:focus-visible {
  background: #fff3e8;
  outline: 2px solid rgba(223, 55, 22, 0.18);
  outline-offset: -2px;
}

.operations-followup-queue {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.operations-followup-queue article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 82px;
  padding: 12px 14px;
  border: 1px solid rgba(211, 47, 31, 0.18);
  border-radius: 8px;
  background: #fff7f1;
}

.operations-followup-queue strong,
.operations-followup-queue span,
.operations-followup-queue p {
  min-width: 0;
  overflow-wrap: anywhere;
}

.operations-followup-queue span,
.operations-followup-queue p {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 700;
}

.operations-followup-queue p {
  margin: 0;
}

.operations-followup-queue strong {
  color: var(--yr-text);
  font-size: 12px;
  line-height: 1.25;
  font-weight: 900;
}

.payroll-base-ledger {
  display: grid;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  overflow: hidden;
}

.payroll-base-head,
.payroll-base-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) minmax(100px, 0.7fr) 92px 92px 92px 72px;
  gap: 10px;
  align-items: center;
  min-height: 46px;
  padding: 0 12px;
}

.payroll-base-head {
  background: #fbf3eb;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.payroll-base-row {
  border-top: 1px solid var(--yr-border);
  background: var(--yr-card);
}

.payroll-base-row strong,
.payroll-base-row small,
.payroll-base-row span,
.payroll-base-row em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
}

.payroll-base-row small {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
}

.payroll-base-row em,
.payroll-base-row b {
  width: fit-content;
  border-radius: 999px;
  padding: 3px 8px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
}

.payroll-base-row em {
  background: #eef7f1;
  color: #16735f;
}

.payroll-base-row b {
  background: #fff4e8;
  color: var(--yr-red);
}

.attendance-impact-list {
  display: grid;
  gap: 8px;
}

.attendance-impact-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(211, 47, 31, 0.16);
  border-radius: 8px;
  background: #fff7f1;
}

.attendance-impact-list strong,
.attendance-impact-list span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.attendance-impact-list span {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.attendance-impact-list em {
  border-radius: 999px;
  background: #fff;
  color: var(--yr-red);
  padding: 4px 9px;
  font-style: normal;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

.shift-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-radius: 999px;
  vertical-align: -1px;
}

.shift-kitchen { background: var(--yr-red); }
.shift-floor { background: var(--yr-success); }
.shift-rest { background: var(--yr-warm-gray); }
.shift-disabled { background: #8a7d72; }

.yr-tableware-c {
  padding: 26px 32px 38px;
  background: var(--yr-bg);
}

.yr-tableware-c.ops-final-page {
  width: 100%;
  margin: 0;
}

.tableware-c-shell {
  display: grid;
  gap: 12px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.tableware-c-header {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 8px;
  border-bottom: 1px solid #eee8df;
}

.tableware-c-header h2 {
  margin: 0;
  color: #101828;
  font-size: 22px;
  line-height: 1.2;
}

.tableware-c-header p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

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

.tableware-c-actions label {
  display: grid;
  gap: 6px;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.tableware-c-actions select {
  min-height: 34px;
  min-width: 118px;
  border: 1px solid #e4ded5;
  border-radius: 8px;
  background: #fff;
  color: #344054;
  padding: 0 11px;
  font: inherit;
}

.tableware-c-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.tableware-c-metrics article {
  min-height: 62px;
  display: flex;
  gap: 8px;
  align-items: center;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
  padding: 10px 12px;
}

.tableware-c-metrics article.needs-action {
  border-color: rgba(219, 59, 34, 0.22);
  background: #fff7f1;
}

.tableware-c-metrics span,
.tableware-c-metrics small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.tableware-c-metrics strong {
  color: #101828;
  font-size: 24px;
  line-height: 1.05;
}

.tableware-month-strip {
  display: block;
  margin-top: 8px;
  border: 0;
  border-radius: 0;
  padding: 0;
  background: transparent;
}

.tableware-month-strip span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.tableware-month-strip strong {
  color: var(--yr-text);
}

.tableware-month-tabs {
  display: flex;
  flex-wrap: wrap;
  width: auto;
  gap: 5px;
}

.tableware-month-tabs button {
  min-width: 86px;
  display: inline-flex;
  gap: 6px;
  align-items: baseline;
  justify-content: center;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 999px;
  padding: 5px 9px;
  background: #fff;
  color: var(--yr-text);
  cursor: pointer;
}

.tableware-month-tabs button.is-active {
  border-color: rgba(223, 55, 22, 0.34);
  background: #fff4ed;
  box-shadow: none;
}

.tableware-month-tabs button span {
  font-size: 10.5px;
  font-weight: 700;
}

.tableware-data-grid-panel {
  display: grid;
  gap: 0;
  min-width: 0;
  max-width: 100%;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
  overflow: hidden;
}

.tableware-data-grid-panel .module-head {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.tableware-admin-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px;
  background: #fff;
}

.tableware-admin-filter {
  display: grid;
  grid-template-columns: 150px minmax(220px, 1fr) auto;
  gap: 8px;
  align-items: end;
}

.tableware-admin-toolbar label {
  display: grid;
  gap: 6px;
}

.tableware-admin-toolbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.tableware-admin-toolbar select,
.tableware-admin-toolbar input {
  min-height: 34px;
  width: 100%;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
}

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

.tableware-admin-actions span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-grid-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.tableware-grid-toolbar strong {
  color: var(--yr-red);
}

.tableware-grid-toolbar span {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 999px;
  padding: 0 10px;
  background: #fff;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-grid-toolbar button {
  margin-left: auto;
}

.tableware-management-strip {
  display: grid;
  gap: 12px;
}

.tableware-management-panel {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fffaf5;
  overflow: hidden;
}

.tableware-management-panel summary {
  min-height: 58px;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 0 16px;
  cursor: pointer;
}

.tableware-management-panel summary span {
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 800;
}

.tableware-management-panel summary strong {
  font-size: 16px;
}

.tableware-management-panel summary small {
  color: var(--yr-text-secondary);
}

.tableware-management-panel .ops-final-form-section,
.tableware-management-panel .ops-final-record-section {
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 0;
  box-shadow: none;
}

.tableware-history-list {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
}

.tableware-history-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto auto;
  gap: 10px;
  align-items: center;
  min-height: 48px;
  padding: 9px 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #fff;
}

.tableware-history-list article div {
  display: grid;
  gap: 2px;
}

.tableware-history-list article span,
.tableware-history-list article small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-history-list article em {
  font-style: normal;
  font-weight: 800;
}

.tableware-history-preview {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}

.tableware-history-preview section {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
}

.tableware-history-preview header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fffaf5;
}

.tableware-history-preview table {
  width: 100%;
  border-collapse: collapse;
}

.tableware-history-preview th,
.tableware-history-preview td {
  border-bottom: 1px solid rgba(50, 35, 20, 0.06);
  padding: 8px 10px;
  text-align: right;
  font-size: 12px;
}

.tableware-history-preview th:first-child,
.tableware-history-preview td:first-child {
  text-align: left;
  max-width: 220px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complaint-feedback-page {
  display: grid;
  gap: 14px;
}

.complaint-feedback-head,
.complaint-feedback-metrics,
.complaint-feedback-filterbar,
.complaint-feedback-ledger {
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
}

.complaint-feedback-head {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 18px;
}

.complaint-feedback-head h2 {
  margin: 2px 0 6px;
  color: var(--yr-text);
  font-size: 24px;
  line-height: 1.2;
}

.complaint-feedback-head p {
  max-width: 760px;
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.6;
}

.complaint-feedback-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.complaint-feedback-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
}

.complaint-feedback-metrics article {
  min-height: 82px;
  display: grid;
  gap: 3px;
  align-content: center;
  padding: 14px 16px;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
}

.complaint-feedback-metrics article:last-child {
  border-right: 0;
}

.complaint-feedback-metrics article.needs-action {
  background: #fff7f1;
}

.complaint-feedback-metrics span,
.complaint-feedback-metrics small {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.complaint-feedback-metrics strong {
  color: var(--yr-text);
  font-size: 26px;
  line-height: 1.05;
}

.complaint-feedback-filterbar {
  display: grid;
  grid-template-columns: 116px 132px 116px 116px 116px minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 12px;
}

.complaint-feedback-filterbar label {
  display: grid;
  gap: 5px;
}

.complaint-feedback-filterbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.complaint-feedback-filterbar select,
.complaint-feedback-filterbar input {
  min-height: 34px;
  width: 100%;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 9px;
  background: #fffaf5;
  color: var(--yr-text);
  font-size: 12px;
}

.complaint-feedback-filter-summary {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  padding-top: 2px;
}

.complaint-feedback-filter-summary span,
.complaint-feedback-filter-summary strong {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 999px;
  padding: 0 9px;
  background: #fffaf5;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.complaint-feedback-filter-summary span.warn {
  border-color: rgba(219, 59, 34, 0.18);
  background: #fff0e7;
  color: var(--yr-red);
}

.complaint-feedback-ledger {
  overflow: hidden;
}

.complaint-feedback-ledger .module-head {
  padding: 14px 16px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.complaint-feedback-table {
  width: 100%;
  min-width: 1080px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.complaint-feedback-table th,
.complaint-feedback-table td {
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  padding: 9px 10px;
  text-align: left;
  vertical-align: middle;
}

.complaint-feedback-table th {
  background: #fbf3eb;
  color: var(--yr-text);
  font-size: 12px;
  font-weight: 900;
}

.complaint-feedback-table td {
  color: var(--yr-text);
  font-size: 13px;
}

.complaint-feedback-table td strong,
.complaint-feedback-table td span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.complaint-feedback-table td span {
  margin-top: 3px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.complaint-feedback-table tr.needs-action td {
  background: #fff8ef;
}

@media (max-width: 720px) {
  .complaint-feedback-head {
    display: grid;
    gap: 12px;
  }

  .complaint-feedback-actions,
  .complaint-feedback-actions .solid-btn {
    width: 100%;
  }

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

  .complaint-feedback-metrics article {
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

  .complaint-feedback-metrics article:nth-child(2n) {
    border-right: 0;
  }

  .complaint-feedback-metrics article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

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

  .complaint-feedback-search,
  .complaint-feedback-filter-summary {
    grid-column: 1 / -1;
  }

  .complaint-feedback-filterbar > .ghost-btn {
    width: 100%;
  }
}

.complaint-category-badge {
  width: fit-content;
  min-width: 44px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #eff8f2;
  color: #2f7d5c !important;
  font-weight: 900;
  text-align: center;
}

.tableware-data-grid {
  width: 100%;
  min-width: 1160px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.tableware-data-grid col.tw-col-item { width: 280px; }
.tableware-data-grid col.tw-col-spec { width: 104px; }
.tableware-data-grid col.tw-col-unit { width: 50px; }
.tableware-data-grid col.tw-col-price { width: 58px; }
.tableware-data-grid col.tw-col-num { width: 58px; }
.tableware-data-grid col.tw-col-money { width: 72px; }
.tableware-data-grid col.tw-col-diff { width: 58px; }
.tableware-data-grid col.tw-col-status { width: 76px; }
.tableware-data-grid col.tw-col-actions { width: 126px; }

.tableware-data-grid th,
.tableware-data-grid td {
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  padding: 7px 8px;
  text-align: right;
  vertical-align: middle;
  white-space: nowrap;
  font-size: 12px;
}

.tableware-data-grid th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #fbf3eb;
  color: var(--yr-text);
  font-size: 12px;
  text-align: right;
}

.tableware-data-grid .tableware-sticky-col {
  position: sticky;
  left: 0;
  z-index: 3;
  width: 280px;
  min-width: 280px;
  max-width: 280px;
  text-align: left;
  background: #fffaf5;
}

.yr-tableware-c .tableware-data-grid .tableware-sticky-col {
  position: sticky;
}

.tableware-name-cell {
  width: 280px;
  min-width: 280px;
  max-width: 280px;
}

.tableware-item-cell {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  min-height: 48px;
}

.tableware-item-meta {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.tableware-item-meta strong,
.tableware-item-meta span {
  display: block;
  overflow: hidden;
}

.tableware-item-meta strong {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  color: var(--yr-text);
  font-size: 13.5px;
  line-height: 1.25;
  white-space: normal;
  text-overflow: initial;
}

.tableware-item-meta span {
  color: var(--yr-text-secondary);
  font-size: 11px;
  text-overflow: ellipsis;
}

.tableware-thumb {
  width: 48px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  background: #f3eee8;
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 800;
  overflow: hidden;
}

.tableware-thumb img,
.tableware-image-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tableware-photo-uploader {
  gap: 10px;
}

.tableware-count-form {
  gap: 14px;
}

.tableware-count-guide {
  border-color: rgba(15, 118, 110, 0.18);
  background: linear-gradient(135deg, #fff 0%, #ecfdf5 100%);
}

.tableware-count-guide li span {
  background: var(--yr-success);
}

.tableware-count-fieldset {
  padding: 14px;
  background: #fff;
}

.tableware-count-fieldset.is-basic {
  background: linear-gradient(180deg, #fffdf9 0%, #fff 100%);
}

.tableware-count-fieldset legend {
  display: inline-grid;
  gap: 2px;
  padding: 0 8px;
}

.tableware-count-fieldset legend span {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 900;
}

.tableware-count-fieldset legend small {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 700;
}

.attendance-process-form,
.operations-daily-form,
.payroll-adjustment-form {
  gap: 14px;
}

.attendance-process-form .formal-form-guide {
  border-color: rgba(37, 99, 235, 0.16);
  background: linear-gradient(135deg, var(--yr-card) 0%, rgba(219, 234, 254, 0.9) 100%);
}

.attendance-process-form .formal-form-guide li span {
  background: var(--yr-info);
}

.operations-daily-form .formal-form-guide {
  border-color: rgba(180, 83, 9, 0.18);
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-primary-subtle) 100%);
}

.operations-daily-form .formal-form-guide li span {
  background: var(--yr-primary);
}

.payroll-adjustment-form .formal-form-guide {
  border-color: rgba(22, 101, 52, 0.18);
  background: linear-gradient(135deg, var(--yr-card) 0%, var(--yr-success-bg) 100%);
}

.payroll-adjustment-form .formal-form-guide li span {
  background: var(--yr-success);
}

.tableware-photo-upload-row {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 8px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: var(--yr-surface);
}

.tableware-photo-preview {
  width: 82px;
  height: 62px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 8px;
  background: #f6efe6;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-photo-preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tableware-photo-upload-copy {
  display: grid;
  gap: 6px;
}

.tableware-photo-upload-copy small {
  color: var(--yr-text-secondary);
}

.tableware-photo-upload-copy input[type="file"] {
  width: 100%;
}

.tableware-data-grid tr.needs-action td {
  background: #fff8ef;
}

.tableware-data-grid tr.needs-replenishment td {
  background: #fffdf5;
}

.tableware-data-grid tr.is-normal td {
  color: #6d5c4e;
  background: #fff;
}

.inventory-diff {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 58px;
  border-radius: 999px;
  padding: 3px 8px;
  font-weight: 800;
  white-space: nowrap;
}

.inventory-diff.ok {
  background: #eff8f2;
  color: #2f7d5c;
}

.inventory-diff.warn {
  background: #fff0e7;
  color: var(--yr-red);
}

.tableware-pagination {
  min-height: 58px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  background: #fffaf5;
}

.tableware-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-pagination div {
  display: flex;
  gap: 8px;
}

.tableware-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  justify-items: end;
}

.tableware-drawer-backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: rgba(31, 26, 23, 0.28);
  cursor: default;
}

.tableware-drawer {
  position: relative;
  z-index: 1;
  width: min(780px, calc(100vw - 24px));
  height: 100dvh;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  background: #fff;
  box-shadow: -24px 0 54px rgba(50, 35, 20, 0.18);
  animation: tablewareDrawerIn 180ms ease-out;
}

.tableware-drawer-head {
  min-height: 72px;
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  background: #fff;
}

.tableware-drawer-head h3 {
  margin: 0;
  color: #101828;
  font-size: 20px;
  line-height: 1.2;
}

.tableware-drawer-head p {
  margin: 4px 0 0;
  color: #667085;
  font-size: 13px;
}

.tableware-drawer-close {
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #344054;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
}

.tableware-drawer-close:hover {
  background: #f6f2ed;
}

.tableware-drawer-body {
  display: grid;
  align-content: start;
  gap: 16px;
  min-height: 0;
  overflow: auto;
  padding: 18px 24px 88px;
  background: #fff;
}

.tableware-drawer-body .ops-final-form-section {
  box-shadow: none;
}

.tableware-drawer-section {
  display: grid;
  gap: 14px;
  min-width: 0;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
  padding: 16px;
}

.tableware-drawer-section-head {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.tableware-drawer-section-head h4 {
  margin: 0;
  color: #101828;
  font-size: 15px;
}

.tableware-drawer-section-head p {
  margin: 5px 0 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.55;
}

.tableware-new-count-form {
  display: grid;
  gap: 12px;
}

.tableware-new-count-form > label {
  display: grid;
  gap: 6px;
}

.tableware-new-count-form > label > span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.tableware-new-count-form select,
.tableware-new-count-form input {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid #d8d3ca;
  border-radius: 8px;
  background: #fff;
  color: var(--yr-text);
  font: inherit;
  padding: 0 11px;
}

.tableware-drawer .tableware-count-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
  min-width: 0;
}

.tableware-drawer .ops-final-field-grid,
.tableware-drawer .formal-drawer-actions {
  grid-column: 1 / -1;
}

.tableware-drawer .formal-drawer-actions {
  position: static;
  width: 100%;
  min-width: 0;
  margin: 14px 0 0;
  padding: 0;
  border: 0;
  background: transparent;
  backdrop-filter: none;
  justify-content: flex-end;
}

.tableware-monthly-count-form {
  display: grid;
  gap: 12px;
}

.tableware-replenishment-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.tableware-replenishment-form .tableware-drawer-section-head,
.tableware-replenishment-form .wide,
.tableware-replenishment-form .tableware-monthly-count-actions {
  grid-column: 1 / -1;
}

.tableware-replenishment-form label {
  display: grid;
  gap: 6px;
}

.tableware-replenishment-form label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.tableware-replenishment-form input,
.tableware-replenishment-form select {
  min-height: 38px;
  width: 100%;
  border: 1px solid rgba(50, 35, 20, 0.14);
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: var(--yr-text);
  font: inherit;
}

.tableware-replenishment-records {
  display: grid;
  gap: 10px;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid #ece7df;
}

.tableware-replenishment-records > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.tableware-replenishment-records h4,
.tableware-replenishment-records p {
  margin: 0;
}

.tableware-replenishment-records p {
  margin-top: 4px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-replenishment-records > header > strong {
  color: var(--yr-brand);
  font-size: 22px;
}

.tableware-replenishment-record-list {
  display: grid;
  gap: 8px;
}

.tableware-replenishment-record-list article {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr) auto;
  gap: 12px;
  align-items: center;
  padding: 11px 12px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
}

.tableware-replenishment-record-list article > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.tableware-replenishment-record-list article strong,
.tableware-replenishment-record-list article span {
  overflow-wrap: anywhere;
}

.tableware-replenishment-record-list article span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-replenishment-record-list article em {
  justify-self: end;
  white-space: nowrap;
}

.tableware-catalog-management {
  display: grid;
  gap: 14px;
}

.tableware-catalog-summary {
  display: flex;
  gap: 8px;
  align-items: baseline;
  padding: 10px 12px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fbfaf8;
}

.tableware-catalog-summary strong {
  color: var(--yr-text);
  font-size: 22px;
}

.tableware-catalog-summary span,
.tableware-catalog-summary small {
  color: var(--yr-text-secondary);
}

.tableware-catalog-summary small {
  margin-left: auto;
}

.tableware-catalog-list {
  display: grid;
  gap: 8px;
}

.tableware-catalog-list article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
}

.tableware-catalog-list article.is-inactive {
  background: #f8f7f5;
  opacity: 0.76;
}

.tableware-catalog-list article > div:nth-child(2) {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.tableware-catalog-list article > div:nth-child(2) strong,
.tableware-catalog-list article > div:nth-child(2) span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tableware-catalog-list article > div:nth-child(2) span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-monthly-count-head,
.tableware-monthly-count-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.tableware-monthly-count-actions {
  justify-content: flex-end;
}

.tableware-monthly-count-head div {
  display: grid;
  gap: 2px;
}

.tableware-monthly-count-head strong {
  color: var(--yr-text);
  font-size: 15px;
}

.tableware-monthly-count-head span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-monthly-count-list {
  display: grid;
  gap: 8px;
}

.tableware-count-row {
  display: grid;
  grid-template-columns: minmax(190px, 1.4fr) repeat(3, minmax(72px, 0.55fr)) minmax(150px, 1fr);
  gap: 8px;
  align-items: end;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 8px;
  background: #fffaf5;
}

.tableware-count-row-item {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.tableware-count-row-item strong,
.tableware-count-row-item span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.tableware-count-row-item strong {
  color: var(--yr-text);
  font-size: 13px;
  white-space: nowrap;
}

.tableware-count-row-item span {
  color: var(--yr-text-secondary);
  font-size: 11px;
  white-space: nowrap;
}

.tableware-count-row label {
  display: grid;
  gap: 4px;
}

.tableware-count-row label span {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 800;
}

.tableware-count-row input {
  min-height: 32px;
  width: 100%;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 7px;
  padding: 0 8px;
  background: #fff;
  color: var(--yr-text);
  font: inherit;
}

.tableware-confirmed-replenishment {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2px 6px;
  align-items: end;
  min-height: 52px;
  border: 1px solid rgba(50, 35, 20, 0.09);
  border-radius: 7px;
  padding: 7px 8px;
  background: rgba(255, 255, 255, 0.72);
}

.tableware-confirmed-replenishment span {
  grid-column: 1 / -1;
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 800;
}

.tableware-confirmed-replenishment strong {
  color: var(--yr-text);
  font-size: 14px;
}

.tableware-confirmed-replenishment small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.task-owner-confirmation-note {
  display: block;
  color: #9a5b20;
  font-size: 12px;
}

.tableware-single-adjust-form {
  gap: 12px;
}

.tableware-single-adjust-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid #ece7df;
  border-radius: 8px;
  background: #fffaf5;
  padding: 12px;
}

.tableware-single-adjust-summary {
  display: grid;
  grid-template-columns: auto auto;
  gap: 4px 10px;
  align-items: center;
  color: var(--yr-text-secondary);
  font-size: 12px;
  white-space: nowrap;
}

.tableware-single-adjust-summary strong {
  color: var(--yr-text);
}

.tableware-count-row-single {
  grid-template-columns: repeat(3, minmax(86px, 1fr)) minmax(180px, 1.4fr);
}

@keyframes tablewareDrawerIn {
  from { transform: translateX(32px); }
  to { transform: translateX(0); }
}

.inventory-task-summary-panel {
  margin-top: 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
  overflow: hidden;
}

.inventory-task-summary-panel summary {
  display: flex;
  gap: 8px;
  align-items: center;
  min-height: 42px;
  padding: 0 12px;
  cursor: pointer;
}

.inventory-task-summary-panel summary span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.inventory-task-compact-list {
  display: grid;
  gap: 8px;
  padding: 12px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
}

.inventory-task-compact-list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 8px;
  padding: 9px 10px;
  background: #fff;
}

.inventory-task-compact-list strong,
.inventory-task-compact-list span {
  display: block;
}

.inventory-task-compact-list span {
  margin-top: 3px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

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

  .schedule-matrix-toolbar button,
  .tableware-grid-toolbar button {
    width: 100%;
    margin-left: 0;
  }

  .tableware-admin-toolbar,
  .tableware-admin-filter,
  .tableware-month-strip,
  .tableware-replenishment-form,
  .tableware-count-row,
  .schedule-admin-bar,
  .exception-queue-board,
  .loss-damage-console,
  .loss-damage-filterbar,
  .loss-damage-summary-strip,
  .ops-final-tool_damage .exception-queue-board,
  .complaint-queue-board,
  .exception-queue-footer {
    grid-template-columns: 1fr;
  }

  .tableware-admin-actions,
  .schedule-admin-actions,
  .exception-queue-actions {
    justify-content: space-between;
  }

  .tableware-catalog-list article {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .tableware-replenishment-record-list article {
    grid-template-columns: 1fr;
  }

  .tableware-replenishment-record-list article em {
    justify-self: start;
  }

  .tableware-catalog-list article > button {
    grid-column: 2 / -1;
    justify-self: end;
  }

  .exception-pagination {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 760px) {
  .yr-tableware-c {
    min-width: 0;
    max-width: 100%;
    overflow-x: hidden;
    padding: 20px 14px 30px;
  }

  .tableware-c-header {
    min-width: 0;
    max-width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .tableware-c-header > div:first-child {
    min-width: 0;
  }

  .tableware-c-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    min-width: 0;
    max-width: 100%;
    align-items: end;
    justify-content: stretch;
  }

  .tableware-c-actions label,
  .tableware-c-actions select,
  .tableware-c-actions button {
    width: 100%;
    min-width: 0;
  }

  .tableware-c-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-width: 0;
    max-width: 100%;
    gap: 8px;
  }

  .tableware-c-metrics article {
    min-height: 72px;
    display: grid;
    gap: 3px;
    align-content: center;
    align-items: initial;
    padding: 10px;
  }

  .tableware-c-metrics span,
  .tableware-c-metrics small {
    font-size: 11px;
    line-height: 1.35;
  }

  .tableware-c-metrics strong {
    font-size: 22px;
  }

  .schedule-matrix-toolbar,
  .inventory-task-compact-list article {
    grid-template-columns: 1fr;
  }

  .tableware-month-tabs {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
  }

  .tableware-month-tabs button {
    flex: 0 0 auto;
    width: auto;
    min-width: 106px;
    white-space: nowrap;
  }

  .schedule-matrix-legend em {
    width: 100%;
    margin-left: 0;
  }

  .tableware-pagination,
  .loss-damage-head-actions,
  .tableware-admin-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tableware-pagination div,
  .task-history-pagination div,
  .task-history-pagination button,
  .task-filter-bar strong,
  .store-directory-pagination div,
  .store-directory-pagination button,
  .store-directory-toolbar strong,
  .template-center-pagination div,
  .template-center-pagination button,
  .template-center-toolbar strong,
  .resource-ledger-pagination div,
  .resource-ledger-pagination button,
  .work-record-pagination div,
  .work-record-pagination button,
  .audit-log-pagination div,
  .audit-log-pagination button,
  .file-draft-history-pagination div,
  .file-draft-history-pagination button,
  .operations-history-pagination div,
  .operations-history-pagination button,
  .schedule-history-pagination div,
  .schedule-history-pagination button,
  .attendance-record-pagination div,
  .attendance-record-pagination button,
  .payroll-review-pagination div,
  .payroll-review-pagination button,
  .employee-archive-pagination div,
  .employee-archive-pagination button,
  .tableware-admin-actions button {
    width: 100%;
  }

  .tableware-drawer {
    width: 100vw;
  }

  .tableware-monthly-count-head,
  .tableware-monthly-count-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .tableware-monthly-count-head button,
  .tableware-monthly-count-actions button {
    width: 100%;
  }

  .schedule-admin-actions,
  .schedule-history-list article {
    grid-template-columns: 1fr;
  }

  .schedule-admin-actions,
  .schedule-history-list .table-actions {
    width: 100%;
  }

  .schedule-drawer {
    width: 100vw;
  }

  .schedule-history-drawer .schedule-history-workspace {
    grid-template-columns: 1fr;
  }

  .schedule-history-drawer .schedule-history-filters,
  .schedule-history-drawer .schedule-history-weeks,
  .schedule-history-drawer .schedule-history-detail,
  .schedule-history-drawer .schedule-change-log {
    grid-column: 1;
    grid-row: auto;
  }

  .schedule-history-drawer .schedule-change-log {
    max-height: none;
  }

  .exception-queue-actions {
    width: 100%;
    flex-direction: column;
  }

  .exception-pagination div,
  .exception-pagination button {
    width: 100%;
  }

  .formal-drawer {
    width: 100vw;
  }

  .formal-form-guide {
    grid-template-columns: 1fr;
  }

  .formal-form-guide ol {
    display: grid;
    grid-template-columns: 1fr;
  }

  .formal-drawer-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .formal-drawer-actions button {
    width: 100%;
  }

  .attendance-review-console,
  .operations-control-console,
  .payroll-review-console,
  .attendance-review-metrics,
  .operations-console-metrics,
  .payroll-review-metrics {
    grid-template-columns: 1fr;
  }

  .operations-ledger-head,
  .operations-ledger-row,
  .operations-followup-queue article,
  .attendance-impact-list article,
  .attendance-priority-row,
  .payroll-priority-row,
  .payroll-base-head,
  .payroll-base-row {
    grid-template-columns: 1fr;
    padding: 10px 12px;
  }

  .attendance-review-actionbar {
    justify-content: stretch;
  }

  .attendance-review-actionbar .ghost-btn {
    width: 100%;
  }

  .attendance-priority-row small,
  .payroll-priority-row small {
    justify-self: start;
  }

  .attendance-drawer,
  .operations-drawer,
  .payroll-drawer {
    width: 100vw;
  }
}

/* 2026-06-01 final override: review matrix + payroll template table */
.employee-review-matrix-page {
  max-width: none;
  padding: 28px 32px 42px;
  background: var(--yr-bg);
}

.employee-review-command {
  padding: 0 0 18px;
  border-bottom: 1px solid #eee8df;
}

.employee-review-command p {
  margin-top: 8px;
}

.employee-review-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.employee-review-kpi-row {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 22px 0 16px;
}

.employee-review-kpi-row article {
  min-height: 108px;
  align-content: center;
  border-color: #ece7df;
  background: #fff;
}

.employee-review-kpi-row article.needs-action {
  border-color: rgba(219, 59, 34, 0.22);
  background: #fff7f1;
}

.employee-review-kpi-row small {
  color: #667085;
  font-size: 12px;
}

.employee-review-matrix-shell {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(33, 22, 12, 0.06);
}

.employee-review-matrix-shell .employee-review-ledger-filters {
  margin: 0;
  padding: 0 0 16px;
  border-bottom: 1px solid #f0ebe4;
  background: transparent;
}

.employee-review-matrix-table {
  overflow-x: auto;
}

.employee-review-matrix-head,
.employee-review-matrix-row {
  display: grid;
  grid-template-columns: 170px 190px 104px 92px 92px 76px 110px 92px 128px;
  column-gap: 12px;
  align-items: center;
  min-width: 1120px;
  padding: 0 14px;
}

.employee-review-matrix-head {
  min-height: 44px;
  border-radius: 8px;
  background: #f6f2ed;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.employee-review-matrix-row {
  position: relative;
  min-height: 76px;
  border-bottom: 1px solid #f0ebe4;
  background: #fff;
}

.employee-review-matrix-row.warn {
  background: #fffbf5;
}

.employee-review-matrix-row.warn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 14px;
  bottom: 14px;
  width: 3px;
  border-radius: 999px;
  background: var(--yr-red);
}

.employee-review-person,
.employee-review-store {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.employee-review-person strong,
.employee-review-store strong {
  overflow: hidden;
  color: #101828;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-review-person span,
.employee-review-store span,
.employee-review-matrix-row > span {
  overflow: hidden;
  color: #667085;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.employee-review-matrix-head > span:nth-child(n + 3),
.employee-review-matrix-row > strong,
.employee-review-matrix-row > span:nth-child(n + 3),
.employee-review-matrix-row .status-pill,
.employee-review-row-actions {
  justify-self: center;
  text-align: center;
}

.employee-review-row-actions {
  display: flex;
  gap: 6px;
}

.employee-review-row-actions .ghost-btn {
  min-height: 32px;
  padding: 0 10px;
}

.employee-review-drawer-layer {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  justify-content: end;
}

.employee-review-drawer-backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(16, 24, 40, 0.38);
}

.employee-review-drawer {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(520px, 100vw);
  height: 100vh;
  border-left: 1px solid #e9e2d8;
  background: #fff;
  box-shadow: -24px 0 58px rgba(16, 24, 40, 0.18);
}

.employee-review-editor-drawer {
  width: min(760px, 100vw);
}

.employee-review-drawer-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 74px;
  padding: 22px 24px 16px;
  border-bottom: 1px solid #eee8df;
}

.employee-review-drawer-head h3 {
  margin: 0;
  color: #101828;
  font-size: 20px;
}

.employee-review-drawer-head p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

.employee-review-drawer-body {
  min-height: 0;
  overflow: auto;
  padding: 18px 24px 24px;
}

.employee-review-drawer-profile {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fffdf9;
}

.employee-review-drawer-profile div {
  display: grid;
  gap: 4px;
}

.employee-review-drawer-profile span {
  color: #667085;
  font-size: 13px;
}

.employee-review-score-card {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.employee-review-score-card article {
  display: grid;
  gap: 4px;
  min-height: 74px;
  padding: 12px;
  border: 1px solid #ece7df;
  border-radius: 10px;
  background: #fff;
}

.employee-review-score-card span,
.employee-review-drawer-section h4 {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.employee-review-score-card strong {
  color: #101828;
  font-size: 22px;
}

.employee-review-drawer-section {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.employee-review-drawer-section h4 {
  margin: 0;
  color: #101828;
  font-size: 15px;
}

.employee-review-trace-grid.compact {
  grid-template-columns: 1fr;
}

.employee-review-standard-list {
  display: grid;
  gap: 8px;
}

.employee-review-standard-list article {
  display: grid;
  grid-template-columns: 86px 112px minmax(0, 1fr);
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #ece7df;
  border-radius: 8px;
}

.employee-review-drawer-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding: 16px 24px;
  border-top: 1px solid #eee8df;
  background: #fff;
}

.employee-review-editor-drawer .employee-review-drawer-body {
  padding: 0;
}

.employee-review-editor-drawer .employee-monthly-sheet {
  background: #fff;
}

.employee-review-editor-drawer .employee-monthly-actions {
  position: sticky;
  bottom: 0;
  padding: 14px 24px 18px;
  border-top: 1px solid #eee8df;
  background: #fff;
}

.payroll-c-import-input {
  display: none;
}

.payroll-template-table {
  padding: 0 18px 18px;
}

.payroll-template-table .payroll-c-table-head,
.payroll-template-table .payroll-c-row {
  grid-template-columns:
    180px 190px 96px
    112px 112px 104px 110px 126px
    92px 104px 124px 96px 104px
    102px 112px 112px 104px 96px
    136px 136px 104px 178px;
  min-width: 2550px;
}

.payroll-template-table .payroll-c-row {
  min-height: 78px;
}

.payroll-template-table .payroll-c-table-head > span:nth-child(n + 3),
.payroll-template-table .payroll-c-row > strong,
.payroll-template-table .payroll-c-input-cell,
.payroll-template-table .payroll-c-status,
.payroll-template-table .payroll-c-action-cell,
.payroll-template-table .payroll-c-remark {
  justify-self: center;
  text-align: center;
}

.payroll-template-table .payroll-c-payable {
  color: #101828;
  font-size: 15px;
}

.payroll-template-table .payroll-c-remark {
  overflow: hidden;
  max-width: 128px;
  color: #667085;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-template-table .payroll-c-action-cell .ghost-btn {
  min-height: 32px;
  padding: 0 10px;
}

.payroll-template-table .payroll-c-action-cell {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-end;
}

@media (max-width: 1180px) {
  .employee-review-kpi-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payroll-c-main {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .employee-review-matrix-page,
  .yr-payroll-c {
    padding: 18px 14px 28px;
  }

  .employee-review-command,
  .payroll-c-header.payroll-command {
    display: grid;
    grid-template-columns: 1fr;
  }

  .employee-review-command-actions,
  .payroll-c-actions {
    justify-content: stretch;
  }

  .employee-review-command-actions button,
  .payroll-c-actions button {
    flex: 1 1 130px;
  }

  .employee-review-kpi-row,
  .payroll-c-metrics,
  .payroll-c-checks,
  .payroll-c-filter {
    grid-template-columns: 1fr;
  }

  .employee-review-matrix-shell,
  .payroll-c-shell {
    padding: 16px;
  }

  .employee-review-drawer,
  .employee-review-editor-drawer {
    width: 100vw;
  }

  .employee-review-score-card {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payroll-template-table .payroll-c-table-head > span:nth-last-child(2),
  .payroll-template-table .payroll-c-table-head > span:last-child,
  .payroll-template-table .payroll-c-row > .payroll-c-status,
  .payroll-template-table .payroll-c-row > .payroll-c-action-cell {
    position: static;
    width: auto;
    min-width: 0;
    padding-right: 0;
    box-shadow: none;
  }
}

/* 2026-06-01 compact data grids: density first for payroll + monthly review */
.payroll-template-table {
  padding: 0 10px 12px;
  scrollbar-gutter: stable;
}

.payroll-template-table .payroll-c-table-head,
.payroll-template-table .payroll-c-row {
  grid-template-columns:
    108px 126px 70px
    82px 82px 78px 74px 88px
    70px 78px 82px 70px 76px
    74px 82px 82px 78px 70px
    92px 92px 76px 118px;
  column-gap: 6px;
  min-width: 1840px;
  padding-inline: 8px;
}

.payroll-template-table .payroll-c-table-head {
  min-height: 32px;
  font-size: 11px;
}

.payroll-template-table .payroll-c-row {
  min-height: 46px;
}

.payroll-template-table .payroll-c-person,
.payroll-template-table .payroll-c-store {
  position: sticky;
  z-index: 3;
  align-self: stretch;
  align-content: center;
  margin-block: -1px;
  padding-inline: 8px;
  background: inherit;
  box-shadow: 1px 0 0 rgba(50, 35, 20, 0.08);
}

.payroll-template-table .payroll-c-person {
  left: 0;
}

.payroll-template-table .payroll-c-store {
  left: 116px;
}

.payroll-template-table .payroll-c-table-head > span:first-child,
.payroll-template-table .payroll-c-table-head > span:nth-child(2) {
  position: sticky;
  z-index: 4;
  align-self: stretch;
  display: grid;
  align-items: center;
  padding-inline: 8px;
  background: #f6f2ed;
  box-shadow: 1px 0 0 rgba(50, 35, 20, 0.08);
}

.payroll-template-table .payroll-c-table-head > span:first-child {
  left: 0;
}

.payroll-template-table .payroll-c-table-head > span:nth-child(2) {
  left: 116px;
}

.payroll-template-table .payroll-c-person strong,
.payroll-template-table .payroll-c-store strong,
.payroll-template-table .payroll-c-row > strong {
  font-size: 12px;
  line-height: 1.15;
}

.payroll-template-table .payroll-c-person span,
.payroll-template-table .payroll-c-store span,
.payroll-template-table .payroll-c-remark {
  font-size: 10px;
  line-height: 1.15;
}

.payroll-template-table .payroll-c-input-cell .table-number-input,
.payroll-template-table .table-number-input {
  width: 58px;
  height: 26px;
  min-height: 26px;
  max-height: 26px;
  padding: 2px 6px;
  border-radius: 6px;
  font-size: 12px;
  line-height: 1.1;
  text-align: center;
}

.payroll-template-table .status-pill {
  min-height: 22px;
  padding: 2px 8px;
  font-size: 10px;
  line-height: 1;
}

.payroll-template-table .payroll-c-payable {
  font-size: 12px;
}

.payroll-template-table .payroll-c-action-cell {
  gap: 4px;
  justify-content: flex-start;
}

.payroll-template-table .payroll-c-action-cell .ghost-btn {
  min-height: 26px;
  padding: 0 7px;
  border-radius: 6px;
  font-size: 11px;
  white-space: nowrap;
}

.payroll-template-table .payroll-review-pagination {
  position: sticky;
  left: 0;
  min-width: calc(100vw - 260px);
  padding: 7px 4px 0;
  font-size: 11px;
}

.employee-review-editor-drawer {
  --review-compact-input-h: 28px;
}

.employee-review-editor-drawer .employee-review-drawer-body {
  padding-bottom: 76px;
}

.employee-review-editor-drawer .employee-review-composer-steps {
  gap: 5px;
  padding: 8px 12px 6px;
}

.employee-review-editor-drawer .employee-review-composer-steps span {
  min-height: 24px;
  padding: 0 8px;
  font-size: 10px;
}

.employee-review-editor-drawer .employee-review-entry-layout {
  grid-template-columns: minmax(0, 1fr) 160px;
  gap: 8px;
  padding: 0 12px 8px;
}

.employee-review-editor-drawer .employee-review-entry-layout .employee-monthly-fieldset,
.employee-review-editor-drawer .employee-monthly-detail-fieldset {
  padding: 8px;
}

.employee-review-editor-drawer .employee-monthly-fieldset-head {
  gap: 6px;
  margin-bottom: 6px;
}

.employee-review-editor-drawer .employee-monthly-fieldset-head strong {
  font-size: 13px;
}

.employee-review-editor-drawer .employee-monthly-fieldset-head span,
.employee-review-editor-drawer label span,
.employee-review-editor-drawer .employee-monthly-score-row-card summary small {
  font-size: 10px;
  line-height: 1.25;
}

.employee-review-editor-drawer .employee-monthly-header-grid,
.employee-review-editor-drawer .employee-monthly-result-grid,
.employee-review-editor-drawer .employee-monthly-field-grid {
  grid-template-columns: repeat(auto-fill, minmax(86px, 116px));
  justify-content: start;
  gap: 6px;
}

.employee-review-editor-drawer .standard-check-grid {
  grid-template-columns: repeat(4, 88px);
  justify-content: start;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.employee-review-editor-drawer .complaint-grid {
  grid-template-columns: repeat(5, 78px);
  justify-content: start;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 2px;
}

.employee-review-editor-drawer .employee-monthly-header-grid label,
.employee-review-editor-drawer .employee-monthly-field-grid label,
.employee-review-editor-drawer .standard-check-card label,
.employee-review-editor-drawer .complaint-grid label,
.employee-review-editor-drawer .employee-monthly-score,
.employee-review-editor-drawer .employee-review-note {
  gap: 3px;
  min-width: 0;
}

.employee-review-editor-drawer .employee-monthly-header-grid input,
.employee-review-editor-drawer .employee-monthly-header-grid select,
.employee-review-editor-drawer .employee-monthly-field-grid input,
.employee-review-editor-drawer .employee-monthly-field-grid select,
.employee-review-editor-drawer .standard-check-card input,
.employee-review-editor-drawer .complaint-grid input,
.employee-review-editor-drawer .employee-monthly-score input {
  width: 100%;
  height: var(--review-compact-input-h);
  min-height: var(--review-compact-input-h);
  max-height: var(--review-compact-input-h);
  padding: 3px 7px;
  border-radius: 6px;
  font-size: 11px;
}

.employee-review-editor-drawer .employee-monthly-score {
  max-width: 72px;
}

.employee-review-editor-drawer .employee-monthly-score-row {
  grid-template-columns: 72px minmax(160px, 420px);
  gap: 6px;
  justify-content: start;
}

.employee-review-editor-drawer .standard-check-card {
  gap: 4px;
  padding: 6px;
  border-radius: 6px;
}

.employee-review-editor-drawer .employee-monthly-score-matrix {
  gap: 6px;
  padding-bottom: 8px;
}

.employee-review-editor-drawer .employee-monthly-score-row-card {
  gap: 6px;
  border-radius: 6px;
}

.employee-review-editor-drawer .employee-monthly-score-row-card summary {
  grid-template-columns: 24px minmax(0, 1fr) auto;
  gap: 6px;
  padding: 8px;
}

.employee-review-editor-drawer .employee-monthly-score-row-card summary > span {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  font-size: 10px;
}

.employee-review-editor-drawer .employee-monthly-score-row-card summary strong {
  font-size: 13px;
}

.employee-review-editor-drawer .employee-monthly-score-row-card summary em {
  min-height: 20px;
  padding: 2px 6px;
  font-size: 10px;
}

.employee-review-editor-drawer .employee-monthly-score-row-body {
  gap: 6px;
  padding: 0 8px 8px 38px;
}

.employee-review-editor-drawer .employee-monthly-score-row-body textarea,
.employee-review-editor-drawer .employee-monthly-card textarea,
.employee-review-editor-drawer .employee-review-note textarea {
  width: 100%;
  max-width: 420px;
  min-height: 46px;
  padding: 6px 7px;
  border-radius: 6px;
  font-size: 11px;
  line-height: 1.35;
}

.employee-review-editor-drawer .employee-monthly-score-row-body > textarea {
  max-width: 520px;
}

.employee-review-editor-drawer .employee-monthly-note {
  grid-template-columns: 56px minmax(0, 1fr);
  padding: 7px 12px;
  font-size: 10px;
}

.employee-review-editor-drawer .employee-review-note {
  padding: 8px 12px 10px;
}

.employee-review-editor-drawer .employee-monthly-actions {
  position: sticky;
  bottom: 0;
  z-index: 5;
  gap: 6px;
  padding: 8px 12px 10px;
  border-top: 1px solid #eee8df;
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 -8px 18px rgba(50, 35, 20, 0.08);
}

.employee-review-editor-drawer .employee-monthly-actions .ghost-btn,
.employee-review-editor-drawer .employee-monthly-actions .solid-btn {
  min-height: 30px;
  padding: 0 10px;
  border-radius: 7px;
  font-size: 12px;
}

@media (max-width: 900px) {
  .payroll-template-table .payroll-c-person,
  .payroll-template-table .payroll-c-store,
  .payroll-template-table .payroll-c-table-head > span:first-child,
  .payroll-template-table .payroll-c-table-head > span:nth-child(2) {
    position: sticky;
  }

  .payroll-template-table .payroll-review-pagination {
    min-width: 720px;
  }

  .employee-review-editor-drawer .employee-review-entry-layout {
    grid-template-columns: 1fr;
  }

  .employee-review-editor-drawer .employee-review-score-aside .employee-monthly-scoreboard {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* 2026-06-04 unified supervisor performance entry */
.supervisor-performance-page {
  display: grid;
  gap: 16px;
  max-width: none;
  overflow-x: hidden;
  padding: 28px 32px 42px;
  background: var(--yr-bg);
}

.supervisor-performance-head {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid #eee8df;
}

.supervisor-performance-head h2 {
  margin: 4px 0 0;
  color: #101828;
  font-size: 26px;
}

.supervisor-performance-head p {
  margin: 6px 0 0;
  color: #667085;
  font-size: 13px;
}

.supervisor-performance-tabs {
  display: inline-flex;
  flex-shrink: 0;
  gap: 6px;
  padding: 4px;
  border: 1px solid #e8ded3;
  border-radius: 10px;
  background: #fff;
}

.supervisor-performance-tabs button {
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  padding: 0 14px;
  background: transparent;
  color: #6f6258;
  font-weight: 900;
  cursor: pointer;
}

.supervisor-performance-tabs button.active {
  background: #c45a2e;
  color: #fff;
  box-shadow: 0 8px 18px rgba(196, 90, 46, 0.18);
}

.supervisor-performance-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  justify-content: flex-end;
}

.supervisor-performance-controls label {
  display: grid;
  gap: 5px;
  color: #7a6a5f;
  font-size: 12px;
  font-weight: 900;
}

.supervisor-performance-controls select {
  min-height: 38px;
  min-width: 132px;
  border: 1px solid #ead9cc;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: #2d221c;
  font-weight: 900;
}

.supervisor-performance-summary-strip,
.supervisor-performance-basic-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(126px, 1fr));
  gap: 12px;
}

.supervisor-performance-summary-strip {
  align-items: center;
  border: 1px solid #eee8df;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}

.supervisor-performance-summary-strip span {
  min-height: 30px;
  border-radius: 999px;
  padding: 7px 10px;
  background: #faf6f0;
  color: #58483d;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.supervisor-performance-monthly-table {
  overflow: hidden;
}

.supervisor-performance-table-shell table {
  min-width: 1080px;
  table-layout: fixed;
}

.supervisor-performance-monthly-table th,
.supervisor-performance-monthly-table td {
  height: 52px;
  padding: 8px 7px;
  font-size: 12px;
  vertical-align: middle;
}

.supervisor-performance-monthly-table td:nth-child(3) {
  white-space: normal;
}

.supervisor-performance-monthly-table td:nth-child(3) strong,
.supervisor-performance-monthly-table td:nth-child(3) small {
  display: block;
  max-width: 116px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.supervisor-performance-monthly-table td:nth-child(3) small {
  color: #667085;
  font-size: 11px;
}

.supervisor-performance-monthly-table .numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.supervisor-performance-monthly-table tr.is-selected td {
  background: #fff7ed;
}

.supervisor-performance-monthly-table tbody tr {
  cursor: pointer;
}

.supervisor-performance-monthly-table tbody tr:hover td {
  background: #fffaf4;
}

.supervisor-performance-entry-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
  border-color: rgba(196, 90, 46, 0.22);
  box-shadow: 0 18px 40px rgba(45, 34, 28, 0.08);
}

.supervisor-performance-entry-empty {
  min-height: 360px;
}

.supervisor-performance-entry-head {
  display: flex;
  gap: 12px;
  align-items: start;
  justify-content: space-between;
  border-bottom: 1px solid #eee8df;
  padding-bottom: 12px;
}

.supervisor-performance-entry-head-actions {
  display: flex;
  flex-shrink: 0;
  gap: 8px;
  align-items: center;
}

.supervisor-performance-entry-head-actions .solid-btn,
.supervisor-performance-entry-head-actions .ghost-btn {
  min-height: 38px;
}

.supervisor-performance-entry-head h2 {
  margin: 4px 0 0;
  color: #101828;
  font-size: 20px;
}

.supervisor-performance-compose {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.supervisor-performance-candidates {
  min-width: 0;
}

.supervisor-candidate-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.supervisor-candidate-card {
  display: grid;
  gap: 4px;
  min-height: 74px;
  border: 1px solid #eee8df;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
  color: #2d221c;
  text-align: left;
  cursor: pointer;
}

.supervisor-candidate-card.active {
  border-color: #c45a2e;
  box-shadow: 0 0 0 2px rgba(196, 90, 46, 0.12);
}

.supervisor-candidate-card.done {
  background: #f8fbf4;
  border-color: #dfe9d4;
}

.supervisor-candidate-card strong,
.supervisor-candidate-card span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supervisor-candidate-card span {
  color: #667085;
  font-size: 12px;
}

.supervisor-candidate-card em {
  color: #c45a2e;
  font-size: 12px;
  font-style: normal;
  font-weight: 900;
}

.supervisor-performance-basics,
.supervisor-performance-scorecard,
.supervisor-performance-entry,
.supervisor-performance-ledger {
  min-width: 0;
}

.supervisor-performance-evidence {
  display: grid;
  gap: 10px;
  border: 1px solid #e6dfd5;
  border-radius: 10px;
  padding: 12px;
  background: #fbfaf7;
}

.supervisor-performance-evidence header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.supervisor-performance-evidence header > div {
  display: grid;
  gap: 3px;
}

.supervisor-performance-evidence header strong {
  color: #2d221c;
}

.supervisor-performance-evidence header small {
  max-width: 680px;
  color: #76695f;
  line-height: 1.5;
}

.supervisor-performance-evidence-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(92px, 1fr));
  gap: 8px;
}

.supervisor-performance-evidence-grid button {
  display: grid;
  gap: 4px;
  min-width: 0;
  border: 1px solid #eadfd3;
  border-radius: 8px;
  padding: 9px 8px;
  background: #fff;
  color: #6f6258;
  cursor: pointer;
}

.supervisor-performance-evidence-grid strong {
  color: #c45a2e;
  font-size: 18px;
}

.supervisor-performance-basic-grid label,
.supervisor-performance-note {
  display: grid;
  gap: 6px;
  min-width: 0;
  color: #7a6a5f;
  font-size: 12px;
  font-weight: 900;
}

.supervisor-performance-basic-grid .system-generated strong {
  display: flex;
  min-height: 36px;
  align-items: center;
  border: 1px solid #ead9cc;
  border-radius: 8px;
  padding: 0 10px;
  background: #f8f4ef;
  color: #2d221c;
  font-size: 14px;
  font-weight: 950;
}

.supervisor-performance-basic-grid .system-generated small {
  color: #8b7b70;
  font-size: 11px;
  font-weight: 800;
}

.supervisor-performance-basic-grid input,
.supervisor-performance-basic-grid select,
.supervisor-performance-note textarea,
.supervisor-score-row input,
.supervisor-deduction-list input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #ead9cc;
  border-radius: 8px;
  background: #fffaf7;
  color: #2d221c;
  font-weight: 800;
}

.supervisor-performance-basic-grid input,
.supervisor-performance-basic-grid select,
.supervisor-score-row input,
.supervisor-deduction-list input {
  min-height: 36px;
  padding: 0 10px;
}

.supervisor-performance-note textarea {
  min-height: 108px;
  padding: 10px 12px;
  resize: vertical;
}

.supervisor-performance-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 0.8fr);
  gap: 16px;
  align-items: start;
}

.supervisor-score-entry {
  display: grid;
  gap: 16px;
}

.supervisor-score-entry section,
.supervisor-deduction-section {
  display: grid;
  gap: 10px;
}

.supervisor-score-entry header,
.supervisor-deduction-section header {
  display: flex;
  gap: 10px;
  align-items: baseline;
  justify-content: space-between;
}

.supervisor-score-entry header strong,
.supervisor-deduction-section header strong {
  color: #101828;
  font-size: 16px;
}

.supervisor-score-entry header span,
.supervisor-deduction-section header span {
  color: #667085;
  font-size: 12px;
}

.supervisor-score-table {
  overflow-x: auto;
  border: 1px solid #eee8df;
  border-radius: 10px;
  background: #fff;
}

.supervisor-score-head,
.supervisor-score-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.1fr) repeat(4, 76px) 58px minmax(170px, 0.9fr);
  gap: 8px;
  align-items: center;
  min-width: 850px;
  padding: 10px 12px;
}

.supervisor-score-head {
  min-height: 42px;
  background: #f7f2ec;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.supervisor-score-row {
  min-height: 62px;
  border-top: 1px solid #f0ebe4;
}

.supervisor-score-row div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.supervisor-score-row strong {
  overflow: hidden;
  color: #101828;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supervisor-score-row small {
  overflow: hidden;
  color: #667085;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supervisor-score-row em {
  justify-self: center;
  min-width: 38px;
  border-radius: 999px;
  padding: 5px 8px;
  background: #fff1e8;
  color: #c45a2e;
  font-style: normal;
  font-weight: 950;
  text-align: center;
}

.supervisor-deduction-list {
  display: grid;
  gap: 8px;
}

.supervisor-deduction-list article {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) 90px minmax(180px, 0.9fr);
  gap: 10px;
  align-items: center;
  border: 1px solid #eee8df;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fffaf5;
}

.supervisor-deduction-list div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.supervisor-deduction-list strong {
  color: #101828;
}

.supervisor-deduction-list span {
  overflow: hidden;
  color: #667085;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supervisor-food-loss-settlement {
  display: grid;
  gap: 10px;
  border: 1px solid #eee8df;
  border-radius: 10px;
  padding: 12px;
  background: #fffaf5;
}

.supervisor-food-loss-settlement header {
  display: grid;
  gap: 3px;
}

.supervisor-food-loss-settlement header strong {
  color: #101828;
  font-size: 15px;
}

.supervisor-food-loss-settlement header span {
  color: #667085;
  font-size: 12px;
}

.supervisor-food-loss-settlement article {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) repeat(3, minmax(110px, 0.7fr));
  gap: 10px;
  align-items: end;
}

.supervisor-food-loss-settlement article > div {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.supervisor-food-loss-settlement strong,
.supervisor-food-loss-settlement small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supervisor-food-loss-settlement small {
  color: #667085;
  font-size: 11px;
}

.supervisor-food-loss-settlement label {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: #7a6a5f;
  font-size: 12px;
  font-weight: 900;
}

.supervisor-food-loss-settlement label.wide {
  grid-column: 1 / -1;
}

.supervisor-food-loss-settlement input {
  width: 100%;
  min-height: 36px;
  min-width: 0;
  box-sizing: border-box;
  border: 1px solid #ead9cc;
  border-radius: 8px;
  padding: 0 10px;
  background: #fff;
  color: #2d221c;
  font-weight: 800;
}

.supervisor-performance-result-panel {
  display: grid;
  gap: 10px;
}

.supervisor-performance-result-panel article {
  display: grid;
  gap: 4px;
  border: 1px solid #eee8df;
  border-radius: 10px;
  padding: 12px;
  background: #fff;
}

.supervisor-performance-result-panel span,
.supervisor-performance-result-panel small {
  color: #667085;
  font-size: 12px;
}

.supervisor-performance-result-panel strong {
  color: #101828;
  font-size: 22px;
  font-weight: 950;
}

.supervisor-performance-actions {
  display: grid;
  gap: 8px;
  margin-top: 12px;
}

.supervisor-performance-actions .solid-btn {
  width: 100%;
  min-height: 44px;
}

.supervisor-performance-rule-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.supervisor-performance-rule-strip span {
  border: 1px solid #eee0d3;
  border-radius: 8px;
  padding: 9px 10px;
  background: #fffaf5;
  color: #6f6258;
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.supervisor-performance-ledger-list {
  display: grid;
  gap: 8px;
}

.supervisor-performance-ledger-row {
  display: grid;
  grid-template-columns: minmax(160px, 1.2fr) minmax(150px, 1fr) 120px 72px 116px 132px;
  gap: 12px;
  align-items: center;
  min-height: 64px;
  border: 1px solid #eee8df;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fff;
}

.supervisor-performance-ledger-row.floor {
  border-color: #e5ecdf;
  background: #fbfdf8;
}

.supervisor-performance-ledger-row div:first-child {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.supervisor-performance-ledger-row strong,
.supervisor-performance-ledger-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.supervisor-performance-ledger-row span {
  color: #667085;
  font-size: 12px;
}

.supervisor-performance-ledger-row > strong {
  justify-self: center;
  color: #101828;
}

.long-text-disclosure {
  cursor: help;
}

input.long-text-disclosure:focus,
textarea.long-text-disclosure:focus {
  position: relative;
  z-index: 2;
  overflow: visible;
  text-overflow: clip;
}

.long-text-popover {
  position: fixed;
  z-index: 9999;
  right: 16px;
  bottom: 24px;
  width: min(420px, calc(100vw - 32px));
  display: none;
  max-height: 220px;
  overflow: auto;
  border: 1px solid #e6d8c9;
  border-radius: 10px;
  padding: 10px 12px;
  background: #fffdf9;
  box-shadow: 0 18px 45px rgba(45, 34, 28, 0.18);
  color: #2d221c;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.55;
  white-space: pre-wrap;
  word-break: break-word;
}

.long-text-popover.show {
  display: block;
}

@media (max-width: 1200px) {
  .supervisor-performance-basic-grid,
  .supervisor-performance-summary-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .supervisor-performance-layout {
    grid-template-columns: 1fr;
  }

  .supervisor-performance-evidence-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .supervisor-performance-page {
    padding: 18px 14px 32px;
  }

  .supervisor-performance-head {
    display: grid;
    align-items: stretch;
  }

  .supervisor-performance-entry-head {
    display: grid;
  }

  .supervisor-performance-entry-head-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .supervisor-performance-tabs,
  .supervisor-performance-tabs button {
    width: 100%;
  }

  .supervisor-performance-controls {
    justify-content: stretch;
  }

  .supervisor-performance-controls label,
  .supervisor-performance-controls select {
    width: 100%;
  }

  .supervisor-performance-basic-grid,
  .supervisor-performance-summary-strip,
  .supervisor-performance-rule-strip,
  .supervisor-performance-ledger-row,
  .supervisor-deduction-list article,
  .supervisor-food-loss-settlement article {
    grid-template-columns: 1fr;
  }

  .supervisor-score-entry header,
  .supervisor-deduction-section header {
    display: grid;
  }

  .supervisor-performance-evidence header {
    display: grid;
  }

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

  .supervisor-performance-ledger-row > strong {
    justify-self: start;
  }
}



/* Phase F: approved dispatch-board visual language (2026-07-21). */
:root {
  --phase-f-paper: #f7f1e7;
  --phase-f-paper-strong: #fffaf1;
  --phase-f-paper-soft: #fbf6ed;
  --phase-f-ink: #2e2924;
  --phase-f-muted: #776e64;
  --phase-f-line: #ddd2c1;
  --phase-f-red: var(--yr-primary);
  --phase-f-amber: #e17b0f;
  --phase-f-green: #55764a;
  --phase-f-charcoal: #23201c;
}

.ui-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  flex: 0 0 auto;
  object-fit: contain;
  vertical-align: -0.12em;
}

.ui-icon--flag { --ui-icon-url: url("public/assets/ui-icons/flag.svg"); }
.ui-icon--team { --ui-icon-url: url("public/assets/ui-icons/team.svg"); }
.ui-icon--safety-certificate { --ui-icon-url: url("public/assets/ui-icons/safety-certificate.svg"); }
.ui-icon--shop { --ui-icon-url: url("public/assets/ui-icons/shop.svg"); }
.ui-icon--setting { --ui-icon-url: url("public/assets/ui-icons/setting.svg"); }
.ui-icon--calendar { --ui-icon-url: url("public/assets/ui-icons/calendar.svg"); }
.ui-icon--bell { --ui-icon-url: url("public/assets/ui-icons/bell.svg"); }
.ui-icon--logout { --ui-icon-url: url("public/assets/ui-icons/logout.svg"); }
.ui-icon--down { --ui-icon-url: url("public/assets/ui-icons/down.svg"); }
.ui-icon--exclamation-circle { --ui-icon-url: url("public/assets/ui-icons/exclamation-circle.svg"); }
.ui-icon--warning { --ui-icon-url: url("public/assets/ui-icons/warning.svg"); }
.ui-icon--clock-circle { --ui-icon-url: url("public/assets/ui-icons/clock-circle.svg"); }
.ui-icon--file-text { --ui-icon-url: url("public/assets/ui-icons/file-text.svg"); }
.ui-icon--message { --ui-icon-url: url("public/assets/ui-icons/message.svg"); }
.ui-icon--inbox { --ui-icon-url: url("public/assets/ui-icons/inbox.svg"); }
.ui-icon--solution { --ui-icon-url: url("public/assets/ui-icons/solution.svg"); }
.ui-icon--audit { --ui-icon-url: url("public/assets/ui-icons/audit.svg"); }
.ui-icon--bar-chart { --ui-icon-url: url("public/assets/ui-icons/bar-chart.svg"); }
.ui-icon--profile { --ui-icon-url: url("public/assets/ui-icons/profile.svg"); }
.ui-icon--check-circle { --ui-icon-url: url("public/assets/ui-icons/check-circle.svg"); }
.ui-icon--right { --ui-icon-url: url("public/assets/ui-icons/right.svg"); }
.ui-icon--user { --ui-icon-url: url("public/assets/ui-icons/user.svg"); }
.ui-icon--database { --ui-icon-url: url("public/assets/ui-icons/database.svg"); }
.ui-icon--appstore { --ui-icon-url: url("public/assets/ui-icons/appstore.svg"); }

.phase-f-visual,
.app-shell {
  color: var(--phase-f-ink);
  background: var(--phase-f-paper);
}

.app-sidebar {
  padding: 28px 18px 22px;
  gap: 24px;
  background: var(--phase-f-charcoal);
  color: #f6ead5;
  border-right: 1px solid #171512;
  box-shadow: 8px 0 24px rgba(42, 34, 27, 0.12);
}

.brand-block {
  min-height: 66px;
  padding: 0 20px 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.brand-block strong {
  color: #f7ead0;
  font-family: "Songti SC", "STSong", serif;
  font-size: 20px;
  letter-spacing: 0.18em;
}

.brand-block span {
  margin-top: 8px;
  color: #b8a991;
  font-size: 11px;
  letter-spacing: 0.12em;
}

.side-nav {
  gap: 10px;
}

.nav-section-title {
  position: relative;
  grid-template-columns: auto auto;
  justify-content: center;
  column-gap: 8px;
  min-height: 50px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 3px;
  color: #e8dfd0;
  font-size: 14px;
  letter-spacing: 0.06em;
  text-align: center;
}

.nav-section-title .ui-icon {
  width: 19px;
  height: 19px;
  filter: invert(92%) sepia(10%) saturate(415%) hue-rotate(345deg) brightness(103%) contrast(91%);
}

.nav-section-title small {
  position: absolute;
  right: 7px;
  bottom: 5px;
  color: #827668;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-weight: 600;
}

.nav-section-title:hover {
  color: #fff8ed;
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.08);
}

.nav-section-title.active {
  color: var(--phase-f-red);
  background: #fff7ea;
  border-color: #eadcca;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.nav-section-title.active::before {
  content: "";
  position: absolute;
  left: -19px;
  width: 13px;
  height: 24px;
  background: var(--phase-f-red);
  border-radius: 0 3px 3px 0;
}

.nav-section-title.active .ui-icon,
.nav-section-title.active small {
  color: var(--phase-f-red);
}

.nav-section-title.active .ui-icon {
  filter: invert(28%) sepia(90%) saturate(3200%) hue-rotate(355deg) brightness(91%) contrast(92%);
}

.operator-card {
  position: relative;
  margin-top: auto;
  padding: 18px 18px 14px;
  border: 0;
  border-top: 1px dashed rgba(255, 255, 255, 0.22);
  border-radius: 0;
  background: transparent;
}

.operator-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 21px;
  width: 3px;
  height: 17px;
  background: var(--phase-f-red);
}

.operator-card span,
.operator-card small {
  color: #b9aa93;
}

.operator-card strong {
  margin: 5px 0;
  color: #f8ead0;
  font-size: 14px;
  letter-spacing: 0.08em;
}

.workspace,
.workspace-body,
.visual-uplift-strong .workspace-body {
  background: var(--phase-f-paper);
}

.workspace-header,
.workspace-header-lean {
  min-height: 86px;
  padding: 0 36px;
  align-items: center;
  background: rgba(255, 250, 242, 0.96);
  border-bottom: 1px solid var(--phase-f-line);
  box-shadow: none;
}

.workspace-header-lean .page-title {
  display: flex;
  align-items: center;
  gap: 16px;
}

.header-registration-mark {
  width: 11px;
  height: 11px;
  border-left: 2px solid var(--phase-f-red);
  border-top: 2px solid var(--phase-f-red);
}

.workspace-header-lean .page-title h1 {
  color: var(--phase-f-ink);
  font-size: 25px;
  font-weight: 820;
  letter-spacing: 0.05em;
}

.header-date {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 4px;
  padding-left: 22px;
  border-left: 1px solid var(--phase-f-line);
  color: #5f574f;
  font-size: 13px;
}

.backend-status {
  position: relative;
  gap: 8px;
  padding: 0 18px;
  background: transparent !important;
  color: #4f4942 !important;
}

.backend-status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #3e9343;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.16);
}

.command-bar {
  flex-wrap: nowrap;
  gap: 14px;
}

.command-bar label {
  border-left: 1px solid var(--phase-f-line);
  border-right: 1px solid var(--phase-f-line);
  padding: 0 16px;
}

.command-bar select {
  min-width: 164px;
  height: 38px;
  border-color: var(--phase-f-line);
  border-radius: 6px;
  background: #fffaf2;
}

.header-role {
  padding: 0 16px;
  color: #514941;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.header-icon-button {
  width: 38px;
  min-width: 38px;
  min-height: 38px;
  display: inline-grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--phase-f-ink);
  background: transparent;
  cursor: pointer;
}

.header-icon-button:hover,
.header-icon-button:focus-visible {
  border-color: var(--phase-f-line);
  background: #fff8ec;
}

.workspace-body {
  padding: 18px 20px 32px;
  gap: 14px;
}

.phase-f-visual .module,
.phase-f-visual .data-card,
.phase-f-visual .mini-stat,
.phase-f-visual .table-shell,
.phase-f-visual .status-state {
  border-color: var(--phase-f-line);
  border-radius: 7px;
  background: var(--phase-f-paper-strong);
  box-shadow: 0 5px 12px rgba(62, 49, 37, 0.055);
}

.phase-f-visual .module-head {
  border-bottom-color: #d8cebe;
}

.phase-f-visual .module-head h2,
.phase-f-visual .module-head h3 {
  color: var(--phase-f-ink);
}

.phase-f-visual .module-head p,
.phase-f-visual .data-card small,
.phase-f-visual .mini-stat span {
  color: var(--phase-f-muted);
}

.phase-f-visual .ghost-btn,
.phase-f-visual .solid-btn,
.phase-f-visual .table-action {
  border-radius: 5px;
  box-shadow: none;
}

.phase-f-visual .solid-btn {
  background: var(--phase-f-red);
}

.phase-f-visual input,
.phase-f-visual select,
.phase-f-visual textarea {
  border-color: var(--phase-f-line);
  border-radius: 5px;
  background: #fffaf2;
}

.phase-f-visual th {
  background: #eee6da;
  color: #554c43;
}

.phase-f-visual td {
  border-bottom-color: #e5dacb;
}

.phase-f-visual tr:hover td {
  background: #fff4e9;
}

.analytics-phase-f .analytics-metric-code {
  grid-row: 1 / 4;
  width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #8b7f72;
  background: #f1e9dd;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.analytics-phase-f .analytics-metric-label,
.analytics-phase-f .analytics-executive-strip article > strong,
.analytics-phase-f .analytics-executive-strip article > small {
  grid-column: 2;
  min-width: 0;
}

.dashboard-command-center {
  gap: 16px;
}

.dashboard-status-board {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 12px 52px 12px 18px;
  border: 1px solid var(--phase-f-line);
  border-radius: 9px;
  background: var(--phase-f-paper-strong);
  box-shadow: 0 5px 12px rgba(62, 49, 37, 0.07);
}

.dashboard-status-board::before,
.dashboard-status-board::after {
  content: "";
  position: absolute;
  left: 48px;
  right: 72px;
  height: 1px;
  background: #d8cebe;
}

.dashboard-status-board::before { top: 9px; }
.dashboard-status-board::after { bottom: 9px; }

.dashboard-status-board article {
  min-height: 70px;
  display: grid;
  grid-template-columns: 36px 26px auto minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  padding: 6px 18px;
  border-right: 1px dashed #d8cebe;
}

.dashboard-status-board article:last-of-type { border-right: 0; }

.dashboard-status-board article > small {
  color: #9b9081;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
  line-height: 1.6;
}

.dashboard-status-board article > strong {
  color: var(--phase-f-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 38px;
  font-weight: 600;
  line-height: 1;
}

.dashboard-status-board article > span {
  color: #453f39;
  font-size: 14px;
  font-weight: 780;
  white-space: nowrap;
}

.metric-signal {
  width: 15px;
  height: 15px;
  border: 2px solid #fff6e8;
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(48, 39, 31, 0.42), inset 0 1px 2px rgba(255, 255, 255, 0.65);
}

.metric-signal.is-red { background: var(--phase-f-red); }
.metric-signal.is-amber { background: var(--phase-f-amber); }
.metric-signal.is-green { background: var(--phase-f-green); }
.metric-signal.is-neutral { background: #5b554d; }

.dashboard-status-board > em {
  position: absolute;
  right: 14px;
  top: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  padding: 0 7px;
  border: 1px solid #dfc8b3;
  color: var(--phase-f-red);
  font-family: "Songti SC", serif;
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.12em;
  writing-mode: vertical-rl;
}

.dashboard-command-console {
  grid-template-columns: minmax(0, 1fr) 286px;
  gap: 12px;
  align-items: stretch;
}

.dashboard-command-main {
  grid-template-rows: 1fr auto;
  gap: 12px;
}

.dashboard-ticket-board,
.dashboard-quick-lane,
.dashboard-risk-panel {
  min-width: 0;
  border: 1px solid var(--phase-f-line);
  border-radius: 9px;
  background: rgba(255, 250, 241, 0.86);
  box-shadow: 0 5px 12px rgba(62, 49, 37, 0.05);
}

.dashboard-ticket-board {
  padding: 14px;
}

.ticket-board-head {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 0 8px 12px;
  border-bottom: 1px solid #d9cfbf;
}

.ticket-board-head > div {
  display: flex;
  align-items: center;
  gap: 14px;
}

.ticket-board-head .eyebrow {
  position: relative;
  margin: 0;
  color: var(--phase-f-ink);
  font-size: 21px;
  letter-spacing: 0.08em;
}

.ticket-board-head .eyebrow::before {
  content: "";
  display: inline-block;
  width: 9px;
  height: 24px;
  margin-right: 10px;
  border-left: 2px solid var(--phase-f-red);
  border-top: 2px solid var(--phase-f-red);
}

.ticket-board-head h2 {
  margin: 0;
  padding-left: 14px;
  border-left: 1px dashed #cfc3b2;
  color: #7e7469;
  font-size: 12px;
  font-weight: 600;
}

.ticket-board-head > small {
  color: #81776b;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 10px;
}

.dashboard-ticket-lanes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
}

.dashboard-ticket-lane {
  min-width: 0;
}

.dashboard-ticket-lane > header {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 14px;
  color: #fffaf1;
  border-radius: 7px 7px 0 0;
  box-shadow: inset 0 -3px rgba(0, 0, 0, 0.1);
}

.dashboard-ticket-lane > header strong {
  font-size: 15px;
  letter-spacing: 0.08em;
}

.dashboard-ticket-lane > header span {
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
}

.dashboard-ticket-lane.is-red > header { background: var(--phase-f-red); }
.dashboard-ticket-lane.is-amber > header { background: var(--phase-f-amber); }
.dashboard-ticket-lane.is-green > header { background: var(--phase-f-green); }

.dashboard-ticket-lane > div {
  display: grid;
  gap: 8px;
  padding: 7px;
  border: 1px solid #d8cdbd;
  border-top: 0;
  background: #eee6da;
}

.dashboard-task-ticket {
  position: relative;
  min-height: 244px;
  display: flex;
  flex-direction: column;
  padding: 15px 14px 12px 27px;
  border: 1px dashed #cfc3b3;
  border-radius: 5px;
  background: var(--phase-f-paper-strong);
  box-shadow: 0 2px 5px rgba(45, 36, 28, 0.08);
  overflow: hidden;
}

.dashboard-task-ticket::before,
.dashboard-task-ticket::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 12px;
  height: 12px;
  border: 1px dashed #cfc3b3;
  border-radius: 50%;
  background: #eee6da;
  transform: translateY(-50%);
}

.dashboard-task-ticket::before { left: -7px; }
.dashboard-task-ticket::after { right: -7px; }

.dashboard-task-ticket > small {
  position: absolute;
  left: 0;
  top: 13px;
  width: 20px;
  padding: 6px 0;
  color: #fff;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 8px;
  text-align: center;
  writing-mode: vertical-rl;
}

.is-red .dashboard-task-ticket > small { background: var(--phase-f-red); }
.is-amber .dashboard-task-ticket > small { background: var(--phase-f-amber); }
.is-green .dashboard-task-ticket > small { background: var(--phase-f-green); }

.task-ticket-title {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-width: 0;
}

.task-ticket-icon {
  width: 32px;
  height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 6px;
  color: var(--phase-f-red);
  background: #fce8df;
}

.task-ticket-icon .ui-icon {
  width: 20px;
  height: 20px;
}

.is-red .task-ticket-icon .ui-icon { filter: invert(28%) sepia(90%) saturate(3200%) hue-rotate(355deg) brightness(91%) contrast(92%); }
.is-amber .task-ticket-icon .ui-icon { filter: invert(52%) sepia(97%) saturate(1392%) hue-rotate(357deg) brightness(92%) contrast(91%); }
.is-green .task-ticket-icon .ui-icon { filter: invert(44%) sepia(18%) saturate(1039%) hue-rotate(62deg) brightness(91%) contrast(84%); }

.is-amber .task-ticket-icon { color: var(--phase-f-amber); background: #fff0d5; }
.is-green .task-ticket-icon { color: var(--phase-f-green); background: #e9f0e5; }

.task-ticket-title strong {
  min-width: 0;
  color: var(--phase-f-ink);
  font-size: 15px;
  line-height: 1.35;
}

.task-ticket-title b {
  color: var(--phase-f-ink);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 600;
  white-space: nowrap;
}

.task-ticket-title b i {
  margin-left: 2px;
  font-family: inherit;
  font-size: 9px;
  font-style: normal;
}

.dashboard-task-ticket dl {
  display: grid;
  gap: 7px;
  margin: 12px 0;
}

.dashboard-task-ticket dl > div {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 5px;
  align-items: start;
}

.dashboard-task-ticket dt,
.dashboard-task-ticket dd {
  margin: 0;
  color: #776d62;
  font-size: 11px;
  line-height: 1.4;
}

.dashboard-task-ticket dt {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.dashboard-task-ticket > button {
  min-height: 34px;
  margin-top: auto;
  margin-left: auto;
  padding: 0 13px;
}

.dashboard-task-ticket.is-clear { opacity: 0.8; }

.dashboard-quick-lane {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 12px;
  min-height: 112px;
}

.dashboard-quick-lane > div:first-child {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 0 12px;
  border-right: 1px dashed #cfc3b3;
}

.dashboard-quick-lane > div:first-child .eyebrow {
  color: var(--phase-f-ink);
  font-size: 15px;
}

.dashboard-quick-lane > div:first-child strong {
  color: #8a7e70;
  font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
  font-size: 9px;
  font-weight: 600;
}

.dashboard-quick-actions {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.dashboard-quick-action {
  position: relative;
  min-height: 84px;
  display: grid;
  place-items: center;
  gap: 3px;
  padding: 8px 4px;
  border: 1px solid #ded4c5;
  border-radius: 4px;
  color: var(--phase-f-ink);
  background: #fffaf1;
  cursor: pointer;
}

.dashboard-quick-action::after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 10px;
  height: 10px;
  background: var(--phase-f-red);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}

.dashboard-quick-action:nth-child(3n + 2)::after { background: var(--phase-f-amber); }
.dashboard-quick-action:nth-child(3n)::after { background: var(--phase-f-green); }

.dashboard-quick-action strong { font-size: 12px; }
.dashboard-quick-action span { color: #81766b; font-size: 9px; text-align: center; }
.dashboard-quick-action > .ui-icon { width: 28px; height: 28px; }

.dashboard-risk-panel {
  height: 100%;
  padding: 14px 14px 12px;
  border-radius: 9px;
  background: rgba(255, 250, 241, 0.92) !important;
  box-shadow: 0 5px 12px rgba(62, 49, 37, 0.05) !important;
}

.dashboard-risk-panel .dashboard-panel-head {
  min-height: 48px;
  padding-bottom: 10px;
  border-bottom: 1px solid #d9cfbf;
}

.dashboard-risk-panel .dashboard-panel-head .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--phase-f-ink);
  font-size: 14px;
}

.dashboard-risk-panel .dashboard-panel-head h3 { color: #7f7468; font-size: 11px; font-weight: 500; }
.dashboard-risk-panel .dashboard-panel-head > small { color: #a39483; font: 9px ui-monospace, SFMono-Regular, Menlo, monospace; }

.dashboard-risk-list {
  gap: 0;
  margin-top: 6px;
}

.dashboard-risk-list article,
.dashboard-risk-list article.needs-action {
  min-height: 128px;
  gap: 9px;
  padding: 14px 2px;
  border: 0;
  border-bottom: 1px dashed #cfc3b3;
  border-radius: 0;
  background: transparent;
}

.dashboard-risk-list article > div strong {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--phase-f-ink);
  font-size: 14px;
}

.dashboard-risk-list article > div strong .ui-icon { color: var(--phase-f-red); }
.dashboard-risk-list article:nth-child(n + 2) > div strong .ui-icon { color: var(--phase-f-amber); }
.dashboard-risk-list article:nth-child(4) > div strong .ui-icon { color: var(--phase-f-green); }
.dashboard-risk-list article > div strong .ui-icon { filter: invert(28%) sepia(90%) saturate(3200%) hue-rotate(355deg) brightness(91%) contrast(92%); }
.dashboard-risk-list article:nth-child(n + 2) > div strong .ui-icon { filter: invert(52%) sepia(97%) saturate(1392%) hue-rotate(357deg) brightness(92%) contrast(91%); }
.dashboard-risk-list article:nth-child(4) > div strong .ui-icon { filter: invert(44%) sepia(18%) saturate(1039%) hue-rotate(62deg) brightness(91%) contrast(84%); }

.dashboard-risk-list article > div > span {
  color: var(--phase-f-red);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 26px;
}

.dashboard-risk-list article > div > span small { margin-left: 3px; font-size: 9px; }

.dashboard-risk-list p { color: #7b7166; font-size: 10px; }

.dashboard-risk-list footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.dashboard-risk-list footer > small {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #8a7f73;
  font-size: 9px;
}

.dashboard-risk-list footer > button {
  min-height: 28px;
  border: 0;
  color: var(--phase-f-red);
  background: transparent;
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}

.dashboard-risk-all {
  width: 100%;
  margin-top: 12px;
  color: var(--phase-f-red);
  border-color: var(--phase-f-red);
  background: transparent !important;
}

.mega-menu-panel {
  border-color: var(--phase-f-line);
  border-radius: 7px;
  background: var(--phase-f-paper-strong);
  box-shadow: 0 18px 38px rgba(41, 32, 24, 0.16);
}

.mega-menu-row button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: #fffaf2;
  border-color: var(--phase-f-line);
}

@media (min-width: 901px) {
  :root { --sidebar-width: 188px; }
}

@media (max-width: 1180px) {
  .dashboard-status-board article {
    grid-template-columns: 26px 18px auto;
    gap: 8px;
  }

  .dashboard-status-board article > span {
    grid-column: 2 / -1;
    padding-left: 26px;
  }

  .dashboard-command-console { grid-template-columns: 1fr; }
  .dashboard-risk-panel { height: auto; }
  .dashboard-risk-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dashboard-risk-list article:nth-child(odd) { padding-right: 12px; }
  .dashboard-risk-list article:nth-child(even) { padding-left: 12px; border-left: 1px dashed #cfc3b3; }
}

@media (max-width: 900px) {
  .app-sidebar { padding: 24px 18px; }
  .workspace-header,
  .workspace-header-lean { min-height: 68px; padding: 10px 14px; }
  .workspace-header-lean .page-title { gap: 9px; }
  .workspace-header-lean .page-title h1 { font-size: 19px; }
  .header-registration-mark { display: none; }
  .header-date { padding-left: 10px; font-size: 11px; }
  .header-role { display: none; }
  .command-bar { gap: 5px; }
  .backend-status { display: none; }
  .command-bar label { padding: 0; border: 0; }
  .command-bar select { min-width: 112px; max-width: 124px; }
  .workspace-body { padding: 12px 10px 24px; }
  .nav-drawer-toggle { width: 38px; min-width: 38px; min-height: 38px; display: inline-grid; place-items: center; padding: 0; }
  .dashboard-status-board { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 10px; }
  .dashboard-status-board::before,
  .dashboard-status-board::after,
  .dashboard-status-board > em { display: none; }
  .dashboard-status-board article { min-height: 62px; padding: 8px; border-bottom: 1px dashed #d8cebe; }
  .dashboard-status-board article:nth-child(2) { border-right: 0; }
  .dashboard-status-board article:nth-child(n + 3) { border-bottom: 0; }
  .dashboard-status-board article > strong { font-size: 30px; }
  .dashboard-ticket-board { padding: 10px; }
  .ticket-board-head { align-items: flex-start; }
  .ticket-board-head > div { display: grid; gap: 3px; }
  .ticket-board-head h2 { padding-left: 0; border-left: 0; }
  .dashboard-ticket-lanes { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 6px; }
  .dashboard-ticket-lane { min-width: min(82vw, 310px); scroll-snap-align: start; }
  .dashboard-quick-lane { grid-template-columns: 1fr; }
  .dashboard-quick-lane > div:first-child { padding: 0 4px 8px; border-right: 0; border-bottom: 1px dashed #cfc3b3; }
  .dashboard-quick-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .dashboard-risk-list { grid-template-columns: 1fr; }
  .dashboard-risk-list article:nth-child(odd),
  .dashboard-risk-list article:nth-child(even) { padding: 12px 2px; border-left: 0; }
  .promotion-rule-version-bar,
  .promotion-rule-draft-list article { align-items: stretch; flex-direction: column; }
  .promotion-rule-version-bar button,
  .promotion-rule-draft-list button { width: 100%; }
}

@media (max-width: 520px) {
  .workspace-header,
  .workspace-header-lean { grid-template-columns: 1fr; gap: 8px; }
  .workspace-header-lean .page-title { justify-content: flex-start; }
  .command-bar { justify-content: space-between; }
  .header-date { display: none; }
  .dashboard-status-board article { grid-template-columns: 22px 16px auto; gap: 6px; }
  .dashboard-status-board article > span { padding-left: 22px; font-size: 11px; }
  .dashboard-ticket-lane { min-width: 84vw; }
}
.complaint-summary-page,
.complaint-summary-page td,
.complaint-summary-page th {
  min-width: 0;
}

.complaint-summary-metrics,
.complaint-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.complaint-summary-metrics {
  margin-top: 18px;
}

.complaint-summary-metrics article {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--yr-border-soft);
  border-radius: var(--yr-radius-md);
  background: rgba(255, 252, 246, 0.78);
}

.complaint-summary-metrics article.warn {
  border-color: rgba(223, 55, 22, 0.28);
  background: rgba(223, 55, 22, 0.06);
}

.complaint-summary-metrics strong {
  font-size: 24px;
}

.complaint-summary-filterbar {
  display: grid;
  grid-template-columns: repeat(5, minmax(120px, 1fr)) auto;
  gap: 10px;
  align-items: end;
  margin: 14px 0;
  padding: 14px;
  border: 1px solid var(--yr-border-soft);
  border-radius: var(--yr-radius-lg);
  background: var(--yr-surface);
}

.complaint-summary-filterbar label {
  display: grid;
  gap: 5px;
}

.complaint-summary-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}

.complaint-summary-breakdown-list {
  display: grid;
  gap: 10px;
}

.complaint-summary-breakdown-list div {
  display: grid;
  grid-template-columns: minmax(80px, 1fr) auto;
  gap: 5px 10px;
}

.complaint-linear-progress {
  grid-column: 1 / -1;
  width: 100%;
  height: 5px;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--yr-surface-muted);
  appearance: none;
}

.complaint-linear-progress::-webkit-progress-bar {
  background: var(--yr-surface-muted);
}

.complaint-linear-progress::-webkit-progress-value,
.complaint-linear-progress::-moz-progress-bar {
  background: var(--yr-brand);
}

.complaint-summary-ledger td {
  vertical-align: top;
}

.complaint-summary-ledger td span,
.complaint-task-status,
.complaint-task-result {
  display: block;
  margin-top: 4px;
  color: var(--yr-text-muted);
  font-size: 12px;
}

.complaint-feedback-table tr.is-source-focus td {
  background: rgba(223, 55, 22, 0.07);
}

.complaint-feedback-table tr.is-source-focus td:first-child {
  box-shadow: inset 3px 0 0 var(--yr-brand);
}

.task-dispatch-table tr.is-source-focus td,
.tableware-replenishment-record-list article.is-source-focus {
  background: rgba(223, 55, 22, 0.08);
}

.task-dispatch-table tr.is-source-focus td:first-child,
.tableware-replenishment-record-list article.is-source-focus {
  box-shadow: inset 3px 0 0 var(--yr-brand);
}

.task-complete-form {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  padding: 14px;
  border: 1px dashed rgba(223, 55, 22, 0.35);
  border-radius: var(--yr-radius-md);
  background: rgba(223, 55, 22, 0.045);
}

.task-complete-form label {
  display: grid;
  gap: 6px;
}

.task-review-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.task-completion-result {
  display: grid;
  gap: 5px;
  margin: 12px 0;
  padding: 12px;
  border-radius: var(--yr-radius-md);
  background: var(--yr-success-bg);
}

@media (max-width: 900px) {
  .complaint-summary-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

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

@media (max-width: 520px) {
  .complaint-summary-metrics,
  .complaint-summary-filterbar {
    grid-template-columns: 1fr;
  }

  .complaint-summary-hero .module-head {
    align-items: stretch;
  }
}

/* command-surface-2026: dashboard, analytics and tasks */
.dashboard-control-room,
.analytics-decision-room,
.task-execution-room {
  width: min(100%, 1480px);
  margin: 0 auto;
  gap: 14px;
}

.dashboard-control-header,
.analytics-decision-room .analytics-commandbar,
.task-execution-room .task-center-command {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: end;
  min-height: 176px;
  padding: 28px 30px;
  border: 1px solid rgba(49, 37, 28, 0.14);
  border-radius: 14px;
  background:
    radial-gradient(circle at 88% 20%, rgba(217, 61, 32, 0.2), transparent 27%),
    linear-gradient(135deg, #2d241e 0%, #241d18 72%, #33251d 100%);
  box-shadow: 0 18px 42px rgba(43, 31, 23, 0.14);
}

.dashboard-context,
.analytics-context,
.task-context {
  display: block;
  margin-bottom: 12px;
  color: #d7c5b6;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.dashboard-control-header h2,
.analytics-decision-room .analytics-commandbar h2,
.task-execution-room .task-center-command h2 {
  max-width: 820px;
  margin: 0;
  color: #fffaf4;
  font-size: clamp(28px, 3vw, 42px);
  font-weight: 760;
  line-height: 1.12;
  letter-spacing: -0.035em;
}

.dashboard-control-header p,
.analytics-decision-room .analytics-commandbar p,
.task-execution-room .task-center-command p {
  max-width: 760px;
  margin: 12px 0 0;
  color: rgba(255, 250, 244, 0.68);
  font-size: 14px;
  line-height: 1.65;
}

.dashboard-data-freshness,
.analytics-data-freshness {
  display: inline-flex;
  width: fit-content;
  margin-top: 12px;
  padding: 5px 9px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 999px;
  color: rgba(255, 250, 244, 0.78);
  background: rgba(255, 255, 255, 0.06);
  font-size: 10px;
  font-weight: 800;
}

.dashboard-data-freshness.is-stale,
.analytics-data-freshness.is-stale {
  border-color: rgba(255, 184, 113, 0.34);
  color: #ffd4aa;
  background: rgba(181, 82, 32, 0.18);
}

.dashboard-control-actions,
.analytics-command-actions,
.task-command-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.dashboard-control-actions .ghost-btn,
.analytics-command-actions .ghost-btn,
.task-command-actions .ghost-btn {
  border-color: rgba(255, 255, 255, 0.24);
  color: #fffaf4;
  background: rgba(255, 255, 255, 0.06);
}

.dashboard-control-actions .solid-btn,
.analytics-command-actions .solid-btn,
.task-command-actions .solid-btn {
  border-color: #f05a3c;
  background: #e64728;
  box-shadow: 0 10px 24px rgba(217, 61, 32, 0.25);
}

.dashboard-control-room .dashboard-status-board {
  position: static;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 0;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fffdf9;
  box-shadow: none;
}

.dashboard-control-room .dashboard-status-board::before,
.dashboard-control-room .dashboard-status-board::after,
.dashboard-control-room .dashboard-status-board > em {
  display: none;
}

.dashboard-control-room .dashboard-status-board article {
  min-height: 86px;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 4px 10px;
  align-content: center;
  padding: 16px 20px;
  border-right: 1px solid rgba(49, 37, 28, 0.09);
}

.dashboard-control-room .dashboard-status-board article:last-child {
  border-right: 0;
}

.dashboard-control-room .dashboard-status-board .metric-signal {
  grid-row: 1 / 3;
  width: 8px;
  height: 8px;
  margin-top: 5px;
  border: 0;
  box-shadow: none;
}

.dashboard-control-room .dashboard-status-board article > span {
  color: #6f6258;
  font-size: 12px;
  font-weight: 800;
}

.dashboard-control-room .dashboard-status-board article > strong {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  color: #2d241e;
  font-family: inherit;
  font-size: 34px;
  font-weight: 720;
  letter-spacing: -0.04em;
}

.dashboard-control-room .dashboard-status-board article > small {
  grid-column: 2;
  color: #9a8d83;
  font-family: inherit;
  font-size: 11px;
  line-height: 1.35;
}

.dashboard-control-room .dashboard-command-console {
  grid-template-columns: minmax(0, 1fr) 308px;
  gap: 14px;
}

.dashboard-control-room .dashboard-command-main {
  grid-template-rows: auto auto;
  gap: 14px;
}

.dashboard-control-room .dashboard-ticket-board {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.dashboard-control-room .dashboard-todo-panel {
  padding: 18px;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(58, 43, 29, 0.055);
}

.dashboard-control-room .dashboard-panel-head {
  align-items: center;
  padding-bottom: 14px;
}

.dashboard-control-room .dashboard-panel-head .eyebrow {
  color: #b44c34;
  font-size: 11px;
  letter-spacing: 0.08em;
}

.dashboard-control-room .dashboard-panel-head h3 {
  margin-top: 5px;
  font-size: 22px;
  letter-spacing: -0.02em;
}

.dashboard-control-room .dashboard-panel-head p {
  font-size: 12px;
}

.dashboard-control-room .dashboard-todo-table {
  border: 0;
  border-radius: 0;
}

.dashboard-control-room .dashboard-todo-head {
  grid-template-columns: 58px minmax(180px, 1fr) 78px minmax(220px, 1fr) 106px;
  min-height: 36px;
  padding: 0 10px;
  border-bottom: 1px solid rgba(49, 37, 28, 0.1);
  background: transparent;
  color: #9a8d83;
}

.dashboard-control-room .dashboard-todo-row {
  grid-template-columns: 58px minmax(180px, 1fr) 78px minmax(220px, 1fr) 106px;
  min-height: 70px;
  padding: 10px;
  border-top: 0;
  border-bottom: 1px solid rgba(49, 37, 28, 0.075);
}

.dashboard-control-room .dashboard-todo-row:last-child {
  border-bottom: 0;
}

.dashboard-control-room .dashboard-todo-row.is-high {
  background: linear-gradient(90deg, rgba(223, 55, 22, 0.065), transparent 48%);
}

.dashboard-control-room .dashboard-todo-rank {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #2d241e;
  font-size: 12px;
}

.dashboard-control-room .dashboard-quick-lane {
  grid-template-columns: 150px minmax(0, 1fr);
  min-height: 88px;
  padding: 12px 14px;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fffdf9;
  box-shadow: none;
}

.dashboard-control-room .dashboard-quick-lane > div:first-child {
  padding: 0 14px 0 2px;
  border-right: 1px solid rgba(49, 37, 28, 0.09);
}

.dashboard-control-room .dashboard-quick-lane > div:first-child .eyebrow {
  color: #2d241e;
  font-size: 13px;
}

.dashboard-control-room .dashboard-quick-lane > div:first-child strong {
  margin-top: 5px;
  color: #8c7f74;
  font-family: inherit;
  font-size: 10px;
  line-height: 1.45;
}

.dashboard-control-room .dashboard-quick-actions {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 4px;
}

.dashboard-control-room .dashboard-quick-action {
  min-height: 62px;
  grid-template-columns: 24px minmax(0, 1fr);
  grid-template-rows: auto auto;
  place-items: center start;
  gap: 2px 8px;
  padding: 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
}

.dashboard-control-room .dashboard-quick-action::after {
  display: none;
}

.dashboard-control-room .dashboard-quick-action:hover,
.dashboard-control-room .dashboard-quick-action:focus-visible {
  background: #f6eee6;
}

.dashboard-control-room .dashboard-quick-action > .ui-icon {
  grid-row: 1 / 3;
  width: 21px;
  height: 21px;
}

.dashboard-control-room .dashboard-quick-action strong {
  font-size: 12px;
}

.dashboard-control-room .dashboard-quick-action span {
  color: #8c7f74;
  font-size: 9px;
  text-align: left;
}

.dashboard-control-room .dashboard-risk-panel,
.dashboard-control-room .dashboard-risk-panel.module {
  height: 100%;
  padding: 18px;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #f2ece5 !important;
  box-shadow: none !important;
}

.dashboard-control-room .dashboard-risk-panel .dashboard-panel-head {
  min-height: auto;
  padding-bottom: 14px;
}

.dashboard-control-room .dashboard-risk-panel .dashboard-panel-head .eyebrow {
  color: #2d241e;
}

.dashboard-control-room .dashboard-risk-panel .dashboard-panel-head h3 {
  color: #80736a;
  font-size: 11px;
}

.dashboard-control-room .dashboard-risk-list {
  gap: 0;
  margin-top: 4px;
}

.dashboard-control-room .dashboard-risk-list article,
.dashboard-control-room .dashboard-risk-list article.needs-action {
  min-height: 104px;
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 0;
  background: transparent;
}

.dashboard-control-room .dashboard-risk-list article:last-child {
  border-bottom: 0;
}

.dashboard-control-room .dashboard-risk-list p {
  color: #786b61;
  font-size: 11px;
}

.dashboard-control-room .dashboard-risk-list footer > small {
  display: none;
}

.analytics-decision-room .analytics-commandbar {
  margin: 0;
}

.analytics-scope-bar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(190px, 240px);
  gap: 18px;
  align-items: center;
  padding: 14px 18px;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #f2ece5;
}

.analytics-scope-bar > div {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 3px 10px;
  align-items: baseline;
}

.analytics-scope-bar > div > span {
  grid-row: 1 / 3;
  color: #b44c34;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.analytics-scope-bar > div strong {
  color: #2d241e;
  font-size: 13px;
}

.analytics-scope-bar > div small {
  color: #8c7f74;
  font-size: 10px;
}

.analytics-scope-bar label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  color: #75695f;
  font-size: 11px;
  font-weight: 800;
}

.analytics-scope-bar select {
  min-height: 36px;
  border-color: rgba(49, 37, 28, 0.14);
  background: #fffdf9;
}

.analytics-decision-copy {
  min-width: 0;
}

.analytics-decision-room .analytics-executive-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fffdf9;
  overflow: hidden;
}

.analytics-decision-room .analytics-executive-strip article,
.analytics-decision-room .analytics-executive-strip article.needs-action {
  min-height: 98px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 4px 12px;
  align-content: center;
  padding: 18px 20px;
  border: 0;
  border-right: 1px solid rgba(49, 37, 28, 0.09);
  border-radius: 0;
  background: transparent;
}

.analytics-decision-room .analytics-executive-strip article:last-child {
  border-right: 0;
}

.analytics-decision-room .analytics-metric-code {
  display: none;
}

.analytics-decision-room .analytics-executive-strip .analytics-metric-label {
  grid-column: 1;
  color: #75695f;
  font-size: 12px;
  font-weight: 800;
}

.analytics-decision-room .analytics-executive-strip article > strong {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: #2d241e;
  font-size: 28px;
  letter-spacing: -0.035em;
}

.analytics-decision-room .analytics-executive-strip article > small {
  grid-column: 1;
  color: #9a8d83;
  font-size: 11px;
}

.analytics-decision-room .analytics-executive-strip article.needs-action {
  box-shadow: inset 3px 0 0 var(--yr-primary);
}

.analytics-decision-room .analytics-mode-tabs {
  display: flex;
  gap: 24px;
  margin: 0;
  padding: 0 4px;
  border-bottom: 1px solid rgba(49, 37, 28, 0.12);
}

.analytics-decision-room .analytics-mode-tabs button {
  position: relative;
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.analytics-decision-room .analytics-mode-tabs button.is-active {
  border: 0;
  background: transparent;
  box-shadow: none;
}

.analytics-decision-room .analytics-mode-tabs button.is-active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  background: var(--yr-primary);
}

.analytics-decision-room .analytics-mode-tabs strong {
  font-size: 13px;
}

.analytics-decision-room .analytics-mode-tabs span {
  font-size: 10px;
}

.analytics-decision-room .analytics-cockpit-grid {
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 14px;
}

.analytics-decision-room .analytics-cockpit-grid > .module,
.analytics-decision-room .analytics-drilldown-grid > .module {
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(58, 43, 29, 0.045);
}

.analytics-decision-room .analytics-store-comparison {
  grid-column: 1 / -1;
}

.analytics-decision-room .module-head {
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(49, 37, 28, 0.08);
}

.analytics-decision-room .module-head .eyebrow {
  color: #b44c34;
  font-size: 10px;
}

.analytics-decision-room .module-head h2 {
  margin-top: 4px;
  font-size: 20px;
  letter-spacing: -0.02em;
}

.analytics-decision-room .analytics-store-list article {
  min-height: 64px;
  border-radius: 0;
  border-bottom: 1px solid rgba(49, 37, 28, 0.075);
  background: transparent;
}

.task-execution-room .task-center-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fffdf9;
  overflow: hidden;
}

.task-execution-room .task-center-metrics article,
.task-execution-room .task-center-metrics article.is-warning,
.task-execution-room .task-center-metrics article.is-done,
.task-execution-room .task-center-metrics article.is-focus {
  min-height: 82px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  grid-template-rows: auto auto;
  gap: 4px 10px;
  align-content: center;
  padding: 14px 18px;
  border: 0;
  border-right: 1px solid rgba(49, 37, 28, 0.09);
  border-radius: 0;
  background: transparent;
}

.task-execution-room .task-center-metrics article:last-child {
  border-right: 0;
}

.task-execution-room .task-center-metrics span {
  color: #75695f;
  font-size: 12px;
  font-weight: 800;
}

.task-execution-room .task-center-metrics strong {
  grid-column: 2;
  grid-row: 1 / 3;
  align-self: center;
  color: #2d241e;
  font-size: 30px;
  letter-spacing: -0.04em;
}

.task-execution-room .task-center-metrics small {
  grid-column: 1;
  color: #9a8d83;
  font-size: 11px;
}

.task-today-rail {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #f2ece5;
}

.task-today-rail > div:first-child {
  display: grid;
  gap: 4px;
  padding-right: 12px;
  border-right: 1px solid rgba(49, 37, 28, 0.1);
}

.task-today-rail > div:first-child span {
  color: #b44c34;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.task-today-rail > div:first-child strong {
  color: #2d241e;
  font-size: 13px;
}

.task-today-rail .task-focus-list {
  display: flex;
  gap: 6px;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: 2px;
}

.task-today-rail .task-focus-list article {
  flex: 0 0 min(260px, 72vw);
  min-height: 56px;
  padding: 8px 10px;
  border-color: rgba(49, 37, 28, 0.09);
  background: #fffdf9;
}

.task-today-rail .task-focus-list button {
  min-height: 30px;
  padding: 0 8px;
}

.task-execution-room .task-center-grid {
  display: block;
}

.task-workbench {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(49, 37, 28, 0.1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 12px 28px rgba(58, 43, 29, 0.05);
}

.task-workbench-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(49, 37, 28, 0.08);
}

.task-workbench-head h2 {
  margin: 0;
  color: #2d241e;
  font-size: 21px;
  letter-spacing: -0.02em;
}

.task-workbench-head p {
  margin: 4px 0 0;
  color: #8c7f74;
  font-size: 12px;
}

.task-workbench-head > strong {
  color: #8c7f74;
  font-size: 12px;
}

.task-execution-room .task-filter-bar {
  grid-template-columns: repeat(3, minmax(138px, 180px)) auto;
  justify-content: start;
  margin: 12px 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
}

.task-execution-room .task-filter-bar select {
  min-height: 34px;
  background: #fff;
}

.task-execution-room .task-filter-bar > strong {
  min-height: 34px;
  background: #f2ece5;
}

.task-execution-room .task-ops-board {
  gap: 0;
  border-top: 1px solid rgba(49, 37, 28, 0.09);
}

.task-execution-room .task-ops-head,
.task-execution-room .task-ops-row {
  grid-template-columns: 52px minmax(240px, 1.3fr) 86px 130px 96px minmax(130px, 0.7fr) 124px;
  border-radius: 0;
}

.task-execution-room .task-ops-head {
  min-height: 38px;
  border: 0;
  border-bottom: 1px solid rgba(49, 37, 28, 0.1);
  background: #f7f3ee;
}

.task-execution-room .task-ops-row {
  min-height: 72px;
  border: 0;
  border-bottom: 1px solid rgba(49, 37, 28, 0.075);
  border-left: 3px solid transparent;
  background: #fff;
}

.task-execution-room .task-ops-row.p1 {
  border-left-color: var(--yr-primary);
  background: linear-gradient(90deg, rgba(223, 55, 22, 0.055), transparent 36%);
}

.task-execution-room .task-ops-row.is-overdue {
  border-left-color: #c74b33;
  background: linear-gradient(90deg, rgba(199, 75, 51, 0.075), transparent 44%);
}

.task-execution-room .task-ops-row.needs-repair .task-ops-title > strong {
  color: #7a4a37;
}

.task-data-warning {
  display: inline-flex;
  margin-left: 7px;
  padding: 2px 5px;
  border-radius: 4px;
  color: #a94731;
  background: #f8e1d8;
  font-size: 9px;
  font-weight: 900;
  vertical-align: middle;
}

.task-overdue-label {
  color: #b23d29 !important;
  font-weight: 850 !important;
}

.task-execution-room .task-priority-badge {
  border-radius: 5px;
  padding: 4px 6px;
}

@media (max-width: 1180px) {
  .dashboard-control-room .dashboard-command-console {
    grid-template-columns: 1fr;
  }

  .dashboard-control-room .dashboard-risk-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-control-room .dashboard-risk-list article:nth-child(even) {
    padding-left: 14px;
    border-left: 1px solid rgba(49, 37, 28, 0.1);
  }

  .dashboard-control-room .dashboard-quick-actions {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .dashboard-control-header,
  .analytics-decision-room .analytics-commandbar,
  .task-execution-room .task-center-command {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 22px;
  }

  .dashboard-control-actions,
  .analytics-command-actions,
  .task-command-actions {
    justify-content: flex-start;
  }

  .dashboard-control-room .dashboard-status-board,
  .analytics-decision-room .analytics-executive-strip,
  .task-execution-room .task-center-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-control-room .dashboard-status-board article:nth-child(2),
  .analytics-decision-room .analytics-executive-strip article:nth-child(2),
  .task-execution-room .task-center-metrics article:nth-child(2) {
    border-right: 0;
  }

  .dashboard-control-room .dashboard-status-board article:nth-child(-n + 2),
  .analytics-decision-room .analytics-executive-strip article:nth-child(-n + 2),
  .task-execution-room .task-center-metrics article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(49, 37, 28, 0.09);
  }

  .dashboard-control-room .dashboard-todo-head {
    display: none;
  }

  .dashboard-control-room .dashboard-todo-row {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .dashboard-control-room .dashboard-todo-row p,
  .dashboard-control-room .dashboard-todo-row button {
    grid-column: 2 / -1;
  }

  .analytics-decision-room .analytics-cockpit-grid,
  .analytics-decision-room .analytics-cockpit-grid.is-exception-mode {
    grid-template-columns: 1fr;
  }

  .analytics-scope-bar {
    grid-template-columns: 1fr;
  }

  .task-today-rail {
    grid-template-columns: 1fr;
  }

  .task-today-rail > div:first-child {
    padding-right: 0;
    padding-bottom: 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(49, 37, 28, 0.1);
  }

  .task-execution-room .task-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .task-execution-room .task-ops-head {
    display: none;
  }

  .task-execution-room .task-ops-row {
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 8px 10px;
    padding: 12px 8px;
  }

  .task-execution-room .task-ops-row > span:not(.task-priority-badge),
  .task-execution-room .task-ops-owner,
  .task-execution-room .task-ops-progress,
  .task-execution-room .task-ops-actions {
    grid-column: 2;
  }

  .task-execution-room .task-ops-owner select {
    width: 100%;
  }

  .task-execution-room .task-ops-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .dashboard-control-header,
  .analytics-decision-room .analytics-commandbar,
  .task-execution-room .task-center-command {
    padding: 18px;
    border-radius: 11px;
  }

  .dashboard-control-header h2,
  .analytics-decision-room .analytics-commandbar h2,
  .task-execution-room .task-center-command h2 {
    font-size: 27px;
  }

  .dashboard-control-actions,
  .analytics-command-actions,
  .task-command-actions,
  .dashboard-control-actions button,
  .analytics-command-actions button,
  .task-command-actions button {
    width: 100%;
  }

  .dashboard-control-room .dashboard-status-board article,
  .analytics-decision-room .analytics-executive-strip article,
  .task-execution-room .task-center-metrics article {
    min-height: 78px;
    padding: 12px;
  }

  .dashboard-control-room .dashboard-status-board article > strong,
  .analytics-decision-room .analytics-executive-strip article > strong,
  .task-execution-room .task-center-metrics strong {
    font-size: 24px;
  }

  .dashboard-control-room .dashboard-quick-lane {
    grid-template-columns: 1fr;
  }

  .dashboard-control-room .dashboard-quick-lane > div:first-child {
    padding: 0 0 10px;
    border-right: 0;
    border-bottom: 1px solid rgba(49, 37, 28, 0.09);
  }

  .dashboard-control-room .dashboard-quick-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dashboard-control-room .dashboard-risk-list {
    grid-template-columns: 1fr;
  }

  .dashboard-control-room .dashboard-risk-list article:nth-child(even) {
    padding-left: 0;
    border-left: 0;
  }

  .analytics-decision-room .analytics-mode-tabs {
    gap: 18px;
    overflow-x: auto;
  }

  .analytics-decision-room .analytics-mode-tabs button {
    flex: 0 0 auto;
  }

  .analytics-decision-room .analytics-mode-tabs span {
    display: none;
  }

  .analytics-scope-bar {
    padding: 12px;
  }

  .analytics-scope-bar > div {
    grid-template-columns: 1fr;
  }

  .analytics-scope-bar > div > span {
    grid-row: auto;
  }

  .analytics-scope-bar label {
    grid-template-columns: 1fr;
  }

  .task-workbench {
    padding: 12px;
  }

  .task-execution-room .task-filter-bar {
    grid-template-columns: 1fr;
  }
}

.ingredient-inventory-page {
  display: grid;
  gap: 12px;
  width: 100%;
  min-width: 0;
  color: var(--yr-text);
}

.ingredient-inventory-page form {
  width: 100%;
  min-width: 0;
}

.ingredient-inventory-header {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  justify-content: space-between;
  padding: 18px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
}

.ingredient-inventory-header h2 {
  margin: 3px 0 6px;
  color: #1f2937;
  font-size: 24px;
  line-height: 1.2;
}

.ingredient-inventory-header p {
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

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

.ingredient-inventory-actions label,
.ingredient-inventory-toolbar label {
  display: grid;
  gap: 6px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.ingredient-inventory-actions select,
.ingredient-inventory-actions input,
.ingredient-inventory-toolbar select,
.ingredient-inventory-toolbar input {
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
  font: inherit;
}

.ingredient-inventory-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
}

.ingredient-inventory-metrics article {
  min-height: 78px;
  display: grid;
  grid-template-columns: auto auto 1fr;
  gap: 7px;
  align-content: center;
  align-items: baseline;
  padding: 13px 15px;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
}

.ingredient-inventory-metrics article:last-child {
  border-right: 0;
}

.ingredient-inventory-metrics article.needs-action {
  background: #fff8f2;
}

.ingredient-inventory-metrics span,
.ingredient-inventory-metrics small {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.ingredient-inventory-metrics strong {
  color: #1f2937;
  font-size: 24px;
  line-height: 1;
}

.ingredient-inventory-metrics .ingredient-status-text {
  font-size: 17px;
}

.ingredient-inventory-toolbar {
  display: grid;
  grid-template-columns: 160px 160px minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fff;
}

.ingredient-inventory-toolbar > div {
  min-height: 36px;
  display: flex;
  gap: 4px;
  align-items: center;
  justify-content: flex-end;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ingredient-inventory-toolbar > div strong {
  color: var(--yr-red);
  font-size: 18px;
}

.ingredient-inventory-table-shell {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  max-height: calc(100vh - 360px);
  min-height: 360px;
  overflow: auto;
  border: 1px solid rgba(50, 35, 20, 0.09);
  border-radius: 12px;
  background: #fff;
}

.ingredient-inventory-table {
  width: 100%;
  min-width: 1060px;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

.ingredient-inventory-table th,
.ingredient-inventory-table td {
  height: 48px;
  padding: 7px 10px;
  border-right: 1px solid rgba(50, 35, 20, 0.055);
  border-bottom: 1px solid rgba(50, 35, 20, 0.065);
  color: #475467;
  font-size: 12px;
  text-align: left;
  vertical-align: middle;
}

.ingredient-inventory-table th {
  position: sticky;
  top: 0;
  z-index: 3;
  height: 42px;
  background: #f7f2ec;
  color: #5f5145;
  font-weight: 800;
  white-space: nowrap;
}

.ingredient-inventory-table th:first-child,
.ingredient-inventory-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  width: 190px;
  background: #fff;
}

.ingredient-inventory-table th:first-child {
  z-index: 4;
  background: #f7f2ec;
}

.ingredient-inventory-table th:nth-child(2) {
  width: 110px;
}

.ingredient-inventory-table th:nth-child(3),
.ingredient-inventory-table th:nth-child(7),
.ingredient-inventory-table th:nth-child(8) {
  width: 130px;
}

.ingredient-inventory-table th:nth-child(4) {
  width: 90px;
}

.ingredient-inventory-table th:nth-child(5) {
  width: 130px;
}

.ingredient-inventory-table th:nth-child(6) {
  width: 120px;
}

.ingredient-inventory-table tr:hover td {
  background: #fffaf5;
}

.ingredient-inventory-table tr:hover td:first-child {
  background: #fff7ef;
}

.ingredient-inventory-table .numeric {
  text-align: right;
}

.ingredient-number-input {
  width: 100%;
  min-height: 32px;
  border: 1px solid transparent;
  border-radius: 7px;
  padding: 0 8px;
  background: #f8f5f1;
  color: #344054;
  font: inherit;
  text-align: right;
}

.ingredient-number-input.quantity {
  border-color: rgba(191, 84, 42, 0.18);
  background: #fff8f1;
}

.ingredient-number-input:focus {
  border-color: rgba(191, 84, 42, 0.55);
  outline: 2px solid rgba(191, 84, 42, 0.1);
}

.ingredient-number-input[readonly] {
  border-color: transparent;
  background: transparent;
  color: #667085;
}

.ingredient-station-tag {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  border-radius: 999px;
  padding: 0 8px;
  background: #f3eee8;
  color: #6b5b4e;
  font-size: 11px;
  font-weight: 700;
}

.ingredient-catalog-table {
  min-width: 1120px;
}

.ingredient-catalog-table th:nth-child(7) {
  width: 150px;
}

.ingredient-catalog-source {
  display: block;
  margin-top: 3px;
  color: var(--yr-text-secondary);
  font-size: 10px;
  font-weight: 600;
}

.ingredient-catalog-edit-row td {
  background: #fffaf5;
}

.ingredient-catalog-edit-row input[data-ingredient-catalog-field] {
  width: 100%;
  min-height: 32px;
  border: 1px solid rgba(50, 35, 20, 0.14);
  border-radius: 7px;
  padding: 0 8px;
  background: #fff;
  color: var(--yr-text);
  font: inherit;
}

.ingredient-catalog-edit-row input[data-ingredient-catalog-field]:focus {
  border-color: rgba(191, 84, 42, 0.55);
  outline: 2px solid rgba(191, 84, 42, 0.1);
}

.ingredient-catalog-actions {
  display: flex;
  gap: 6px;
  align-items: center;
  white-space: nowrap;
}

.ingredient-catalog-actions .compact {
  min-height: 30px;
  padding: 0 10px;
  font-size: 11px;
}

.ingredient-catalog-actions .danger-btn {
  min-height: 30px;
  border: 1px solid rgba(180, 56, 35, 0.22);
  border-radius: 7px;
  padding: 0 10px;
  background: #fff7f4;
  color: #a53b27;
  font: inherit;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
}

.ingredient-catalog-actions .danger-btn:hover {
  border-color: rgba(180, 56, 35, 0.42);
  background: #fff0eb;
}

.ingredient-inventory-savebar {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: flex-end;
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.ingredient-inventory-savebar span {
  margin-right: auto;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ingredient-inventory-pagination {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 54px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding: 9px 12px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  background: #fffaf5;
}

.ingredient-inventory-pagination span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ingredient-inventory-pagination div {
  display: flex;
  gap: 8px;
}

@media (max-width: 1050px) {
  .ingredient-inventory-header {
    display: grid;
  }

  .ingredient-inventory-actions {
    justify-content: flex-start;
  }

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

  .ingredient-inventory-metrics article:nth-child(2) {
    border-right: 0;
  }

  .ingredient-inventory-metrics article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

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

  .ingredient-inventory-search {
    grid-column: 1 / -1;
  }

  .ingredient-inventory-toolbar > div {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .ingredient-inventory-header,
  .ingredient-inventory-toolbar {
    padding: 12px;
  }

  .ingredient-inventory-header h2 {
    font-size: 22px;
  }

  .ingredient-inventory-actions,
  .ingredient-inventory-actions label,
  .ingredient-inventory-actions select,
  .ingredient-inventory-actions input,
  .ingredient-inventory-actions button,
  .ingredient-inventory-toolbar,
  .ingredient-inventory-toolbar label {
    width: 100%;
  }

  .ingredient-inventory-toolbar {
    grid-template-columns: 1fr;
  }

  .ingredient-inventory-search {
    grid-column: auto;
  }

  .ingredient-inventory-metrics article {
    min-height: 70px;
    grid-template-columns: 1fr auto;
    padding: 10px;
  }

  .ingredient-inventory-metrics small {
    grid-column: 1 / -1;
  }

  .ingredient-inventory-metrics strong {
    font-size: 21px;
  }

  .ingredient-inventory-table-shell {
    max-height: 62vh;
    min-height: 320px;
  }

  .ingredient-inventory-savebar {
    align-items: stretch;
    flex-direction: column;
  }

  .ingredient-inventory-pagination {
    align-items: stretch;
    flex-direction: column;
  }

  .ingredient-inventory-pagination div {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }

  .ingredient-inventory-savebar button {
    width: 100%;
  }
}

/* 2026-07-26 原模板收口第一批：报损破损、餐具盘点 */
.loss-damage-template-page,
.tableware-template-page {
  gap: 14px;
  background: #f7f3ec;
}

.loss-damage-template-head,
.tableware-template-head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 14px;
  padding: 18px 20px;
  background: #fffaf5;
}

.loss-damage-template-head h2,
.tableware-template-head h2 {
  margin: 4px 0 5px;
  color: var(--yr-text);
  font-size: 25px;
}

.loss-damage-template-head p,
.tableware-template-head p {
  max-width: 760px;
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.6;
}

.loss-damage-filterbar {
  grid-template-columns: auto minmax(130px, 0.7fr) minmax(150px, 0.8fr) minmax(220px, 1.4fr) auto;
  padding: 12px;
}

.loss-damage-ledger-tabs {
  display: inline-flex;
  gap: 4px;
  align-self: end;
  border-radius: 10px;
  padding: 3px;
  background: #f2e8dc;
}

.loss-damage-ledger-tabs button {
  min-height: 34px;
  border: 0;
  border-radius: 8px;
  padding: 0 14px;
  background: transparent;
  color: var(--yr-text-secondary);
  font-weight: 900;
  cursor: pointer;
}

.loss-damage-ledger-tabs button.active {
  background: #fff;
  color: var(--yr-red);
  box-shadow: 0 1px 5px rgba(50, 35, 20, 0.08);
}

.loss-damage-template-ledger > header {
  padding: 15px 16px;
}

.loss-damage-table {
  width: 100%;
  min-width: 1040px;
}

.loss-damage-table th,
.loss-damage-table td {
  text-align: center;
}

.loss-damage-table th:nth-child(1) { width: 130px; }
.loss-damage-table th:nth-child(2) { width: 150px; }
.loss-damage-table th:nth-child(3) { width: 90px; }
.loss-damage-table th:nth-child(4) { width: 100px; }
.loss-damage-table th:nth-child(5) { width: 190px; }
.loss-damage-table th:nth-child(6) { width: 170px; }
.loss-damage-table th:nth-child(7) { width: 210px; }

.loss-damage-record-status {
  display: grid;
  gap: 7px;
  justify-items: center;
}

.loss-damage-row-actions {
  justify-content: center;
}

.loss-damage-template-fieldset {
  margin: 0;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  padding: 14px;
  background: #fffaf5;
}

.loss-damage-template-fieldset legend {
  padding: 0 7px;
  color: var(--yr-text);
  font-size: 14px;
  font-weight: 900;
}

.loss-damage-template-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.loss-damage-template-fields label {
  display: grid;
  gap: 5px;
}

.tableware-template-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.tableware-template-toolbar {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.tableware-template-toolbar > div {
  display: flex;
  gap: 10px;
}

.tableware-template-toolbar label {
  display: grid;
  gap: 4px;
}

.tableware-template-toolbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.tableware-template-toolbar select {
  min-width: 150px;
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
}

.tableware-template-toolbar > strong {
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.tableware-store-loss-overview {
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 14px;
  background: #fffaf5;
}

.tableware-store-loss-overview > header {
  display: flex;
  gap: 18px;
  align-items: end;
  justify-content: space-between;
  padding: 15px 17px 12px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.tableware-store-loss-overview h3,
.tableware-store-loss-overview p {
  margin: 0;
}

.tableware-store-loss-overview h3 {
  color: var(--yr-text);
  font-size: 17px;
}

.tableware-store-loss-overview p {
  margin-top: 4px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.tableware-store-loss-overview > header strong {
  color: #8a4c22;
  font-size: 13px;
  white-space: nowrap;
}

.tableware-store-loss-table-shell {
  overflow-x: auto;
}

.tableware-store-loss-table-shell table {
  width: 100%;
  min-width: 920px;
  border-collapse: collapse;
}

.tableware-store-loss-table-shell th,
.tableware-store-loss-table-shell td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.07);
  color: var(--yr-text);
  text-align: right;
  white-space: nowrap;
}

.tableware-store-loss-table-shell th {
  background: rgba(238, 228, 213, 0.42);
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 900;
}

.tableware-store-loss-table-shell th:first-child,
.tableware-store-loss-table-shell td:first-child {
  text-align: left;
}

.tableware-store-loss-table-shell td {
  font-size: 13px;
}

.tableware-store-loss-table-shell td small {
  display: block;
  margin-top: 2px;
  color: var(--yr-text-secondary);
  font-size: 10px;
}

.tableware-store-loss-table-shell tr[data-tableware-summary-store] {
  cursor: pointer;
  transition: background-color 0.16s ease;
}

.tableware-store-loss-table-shell tr[data-tableware-summary-store]:hover,
.tableware-store-loss-table-shell tr[data-tableware-summary-store].is-selected {
  background: rgba(181, 126, 74, 0.09);
}

.tableware-store-loss-table-shell tr[data-tableware-summary-store].is-selected td:first-child strong {
  color: #8a4c22;
}

.tableware-store-loss-table-shell tr.is-total {
  background: #f2e9dc;
  font-weight: 900;
}

.tableware-store-loss-table-shell tr:last-child td {
  border-bottom: 0;
}

.tableware-data-grid {
  width: 100%;
  min-width: 1380px;
}

.tableware-data-grid col.tw-col-image { width: 94px; }
.tableware-data-grid col.tw-col-spec { width: 250px; }
.tableware-data-grid col.tw-col-price { width: 76px; }
.tableware-data-grid col.tw-col-num { width: 80px; }
.tableware-data-grid col.tw-col-money { width: 96px; }
.tableware-data-grid col.tw-col-actions { width: 190px; }

.tableware-data-grid th,
.tableware-data-grid td,
.tableware-data-grid th:first-child,
.tableware-data-grid td:first-child {
  text-align: center;
}

.tableware-data-grid .tableware-sticky-col,
.yr-tableware-c .tableware-data-grid .tableware-sticky-col {
  position: static;
}

.tableware-spec-cell {
  text-align: left !important;
  white-space: normal !important;
}

.tableware-spec-cell strong,
.tableware-spec-cell small {
  display: block;
}

.tableware-spec-cell small {
  margin-top: 4px;
  color: var(--yr-text-secondary);
}

.tableware-template-status {
  display: grid;
  gap: 6px;
  justify-items: center;
  white-space: normal;
}

.tableware-template-status small {
  color: var(--yr-text-secondary);
}

.tableware-template-status .table-actions {
  justify-content: center;
}

@media (max-width: 760px) {
  .loss-damage-template-head,
  .tableware-template-head,
  .tableware-template-toolbar {
    display: grid;
    gap: 12px;
  }

  .loss-damage-head-actions,
  .tableware-template-actions {
    width: 100%;
    flex-direction: column;
  }

  .loss-damage-head-actions button,
  .tableware-template-actions button {
    width: 100%;
  }

  .loss-damage-filterbar,
  .loss-damage-template-fields {
    grid-template-columns: 1fr;
  }

  .loss-damage-ledger-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tableware-template-toolbar > div {
    display: grid;
    grid-template-columns: 1fr;
  }

  .tableware-store-loss-overview > header {
    display: grid;
    gap: 8px;
    align-items: start;
  }

  .tableware-store-loss-overview > header strong {
    white-space: normal;
  }

  .tableware-template-toolbar select {
    width: 100%;
  }
}

/* 2026-07-26 空页面第一批：活动反馈、周会汇总 */
.activity-template-page,
.weekly-template-page,
.new-product-template-page {
  gap: 14px;
  background: #f7f3ec;
}

.empty-template-page-head {
  display: flex;
  gap: 20px;
  align-items: flex-start;
  justify-content: space-between;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 14px;
  padding: 18px 20px;
  background: #fffaf5;
}

.empty-template-page-head h2 {
  margin: 4px 0 5px;
  color: var(--yr-text);
  font-size: 25px;
}

.empty-template-page-head p {
  max-width: 760px;
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.6;
}

.activity-template-head-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
  align-items: center;
}

.activity-template-head-actions .solid-btn {
  min-height: 38px;
  white-space: nowrap;
}

.template-source-chip {
  flex: 0 0 auto;
  border: 1px solid rgba(217, 61, 32, 0.16);
  border-radius: 999px;
  padding: 7px 11px;
  background: #fff2ea;
  color: var(--yr-red);
  font-size: 12px;
  font-weight: 900;
}

.activity-template-overview {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.new-product-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.new-product-summary article {
  display: grid;
  gap: 4px;
  min-height: 78px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  padding: 12px 14px;
}

.new-product-summary article:last-child {
  border-right: 0;
}

.new-product-summary span,
.new-product-summary small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.new-product-summary strong {
  color: var(--yr-text);
  font-size: 23px;
}

.new-product-summary article.positive {
  background: #f4faf6;
}

.new-product-summary article.positive strong {
  color: #2f7d5c;
}

.new-product-summary article.negative {
  background: #fff4ef;
}

.new-product-summary article.negative strong {
  color: var(--yr-red);
}

.new-product-filterbar {
  grid-template-columns: repeat(3, minmax(140px, 0.65fr)) minmax(260px, 1.4fr);
}

.source-ledger-form.new-product-template-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px;
}

.new-product-entry-head {
  min-height: 64px;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.new-product-entry-head h3 {
  margin: 2px 0 0;
}

.new-product-station-hint {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid rgba(47, 125, 92, 0.15);
  border-radius: 9px;
  padding: 10px 12px;
  background: #f4faf6;
}

.new-product-station-hint strong {
  flex: 0 0 auto;
  color: #2f7d5c;
}

.new-product-station-hint span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

.new-product-overview-table {
  min-width: 940px;
}

.new-product-detail-table {
  min-width: 1080px;
}

.new-product-rating {
  display: inline-flex;
  min-width: 46px;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 2px 8px;
  background: #f1ede7;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.new-product-rating.rating-good {
  background: #e8f5ed;
  color: #2f7d5c;
}

.new-product-rating.rating-mid {
  background: #fff5dd;
  color: #9a6717;
}

.new-product-rating.rating-bad {
  background: #fff0eb;
  color: var(--yr-red);
}

.activity-template-overview div {
  display: grid;
  gap: 5px;
  min-height: 76px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  padding: 12px 14px;
}

.activity-template-overview div:last-child {
  border-right: 0;
}

.activity-template-overview span,
.weekly-template-toolbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.activity-template-overview strong {
  overflow: hidden;
  color: var(--yr-text);
  font-size: 16px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.activity-template-overview div:nth-last-child(-n + 2) {
  background: #fbf3ea;
}

.activity-template-overview div:nth-last-child(-n + 2) strong {
  color: var(--yr-red);
  font-size: 21px;
}

.empty-template-filterbar,
.weekly-template-toolbar {
  display: grid;
  grid-template-columns: minmax(150px, 0.8fr) minmax(150px, 0.8fr) minmax(240px, 1.4fr) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.empty-template-filterbar label,
.weekly-template-toolbar label {
  display: grid;
  gap: 4px;
}

.empty-template-filterbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.empty-template-filterbar input,
.empty-template-filterbar select,
.weekly-template-toolbar input {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
}

.empty-template-filterbar > strong {
  min-height: 36px;
  align-content: center;
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.empty-template-entry,
.empty-template-ledger {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  background: #fff;
}

.empty-template-entry > summary,
.empty-template-ledger > header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  background: #fffaf5;
  cursor: pointer;
}

.empty-template-entry > summary h3,
.empty-template-ledger > header h3 {
  margin: 3px 0 0;
  color: var(--yr-text);
  font-size: 18px;
}

.empty-template-entry > summary > span,
.empty-template-ledger > header small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.empty-template-entry[open] > summary,
.empty-template-ledger > header {
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
}

.source-ledger-form.activity-template-form,
.source-ledger-form.weekly-supervisor-form,
.source-ledger-form.weekly-minutes-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 16px;
}

.source-ledger-form textarea {
  width: 100%;
  min-height: 76px;
  resize: vertical;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 9px;
  padding: 9px 10px;
  background: #fffaf5;
  color: var(--yr-text);
  font: inherit;
  line-height: 1.5;
}

.source-ledger-form .wide {
  grid-column: 1 / -1;
}

.activity-form-section-title {
  display: flex;
  gap: 12px;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid rgba(50, 35, 20, 0.09);
  padding: 2px 0 8px;
}

.activity-form-section-title strong {
  color: var(--yr-text);
  font-size: 14px;
}

.activity-form-section-title span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.field-required {
  margin-left: 6px;
  color: var(--yr-red);
  font-size: 10px;
  font-style: normal;
  font-weight: 900;
}

.template-secondary-fields {
  border: 1px dashed rgba(50, 35, 20, 0.16);
  border-radius: 10px;
  padding: 11px;
  background: #fffaf5;
}

.template-secondary-fields > summary {
  color: var(--yr-text);
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.activity-template-form .template-secondary-fields > summary {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.activity-template-form .template-secondary-fields > summary span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 600;
}

.template-secondary-fields > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding-top: 12px;
}

.empty-template-ledger > .empty-state {
  margin: 14px;
}

.empty-template-table-shell {
  width: 100%;
  overflow: auto;
}

.empty-template-table {
  width: 100%;
  min-width: 1080px;
  border-collapse: collapse;
  table-layout: fixed;
}

.empty-template-table th,
.empty-template-table td {
  border-right: 1px solid rgba(50, 35, 20, 0.07);
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  padding: 10px;
  color: var(--yr-text);
  font-size: 13px;
  line-height: 1.4;
  text-align: center;
  vertical-align: middle;
}

.empty-template-table th {
  background: #eee5d9;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.empty-template-table td small,
.empty-template-table td strong {
  display: block;
}

.empty-template-table .table-actions {
  justify-content: center;
  margin-top: 7px;
}

.weekly-template-toolbar {
  grid-template-columns: minmax(180px, 0.8fr) repeat(2, minmax(140px, 0.6fr));
}

.weekly-template-toolbar > div {
  display: flex;
  gap: 7px;
  min-height: 36px;
  align-items: center;
  border-left: 1px solid rgba(50, 35, 20, 0.08);
  padding-left: 14px;
}

.weekly-template-toolbar > div strong {
  color: var(--yr-red);
  font-size: 21px;
}

.weekly-template-toolbar > div span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.weekly-store-report-board {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.weekly-store-report-board article {
  display: grid;
  gap: 4px;
  min-height: 86px;
  align-content: center;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 11px;
  padding: 12px;
  background: #fff;
}

.weekly-store-report-board article.is-ready {
  border-color: rgba(47, 125, 92, 0.2);
  background: #f4faf6;
}

.weekly-store-report-board span,
.weekly-store-report-board small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.weekly-store-report-board strong {
  color: var(--yr-text);
  font-size: 17px;
}

.weekly-store-report-board article.is-ready strong {
  color: #2f7d5c;
}

.weekly-template-entry-grid,
.weekly-template-ledgers {
  display: grid;
  gap: 12px;
}

.weekly-report-item-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.weekly-report-item-grid label {
  display: grid;
  gap: 5px;
}

.weekly-linked-report-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 10px;
  background: #fffaf5;
}

.weekly-linked-report-summary > span {
  grid-column: 1 / -1;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.weekly-linked-report-summary div {
  display: grid;
  gap: 3px;
  border-radius: 8px;
  padding: 9px;
  background: #fff;
}

.weekly-linked-report-summary strong,
.weekly-linked-report-summary small {
  display: block;
}

.weekly-linked-report-summary small {
  overflow: hidden;
  color: var(--yr-text-secondary);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weekly-report-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}

.weekly-report-list article,
.weekly-report-card {
  display: grid;
  gap: 8px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 10px;
  padding: 12px;
  background: #fffaf5;
}

.weekly-report-card > summary {
  display: grid;
  gap: 8px;
  list-style: none;
  cursor: pointer;
}

.weekly-report-card > summary::-webkit-details-marker {
  display: none;
}

.weekly-report-list article div:first-child,
.weekly-report-card > summary > div {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.weekly-report-list span,
.weekly-report-list small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.weekly-report-list p,
.weekly-report-card p {
  margin: 0;
  color: var(--yr-text);
  font-size: 13px;
  line-height: 1.5;
}

.weekly-report-list .table-actions {
  justify-content: flex-end;
}

.weekly-report-detail {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  border-top: 1px solid rgba(50, 35, 20, 0.08);
  padding-top: 10px;
}

.weekly-report-detail > section,
.weekly-task-source-sections > section {
  display: grid;
  gap: 7px;
  align-content: start;
  border-radius: 9px;
  padding: 10px;
  background: #fff;
}

.weekly-report-detail > section > strong,
.weekly-task-source-sections > section > strong {
  color: var(--yr-text);
  font-size: 13px;
}

.weekly-report-detail section div,
.weekly-task-source-sections section div {
  display: grid;
  gap: 2px;
  border-top: 1px solid rgba(50, 35, 20, 0.06);
  padding-top: 6px;
}

.weekly-report-detail section span,
.weekly-task-source-sections section span {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 800;
}

.weekly-report-detail .table-actions {
  grid-column: 1 / -1;
}

.weekly-task-source-context {
  overflow: hidden;
  border: 1px solid rgba(47, 125, 92, 0.18);
  border-radius: 11px;
  background: #f4faf6;
}

.weekly-task-source-context > header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  padding: 11px 12px;
}

.weekly-task-source-context > header div {
  display: grid;
  gap: 2px;
}

.weekly-task-source-context > header span,
.weekly-task-source-context > header small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.weekly-task-source-context > details {
  border-top: 1px solid rgba(47, 125, 92, 0.14);
}

.weekly-task-source-context > details > summary {
  padding: 10px 12px;
  color: #2f6f55;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.weekly-task-source-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
  padding: 0 10px 10px;
}

.weekly-template-source-chips,
.task-dispatch-head-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.weekly-minutes-table {
  min-width: 1160px;
}

.weekly-task-category,
.task-dispatch-category {
  display: inline-flex;
  min-height: 24px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(197, 107, 69, 0.18);
  border-radius: 999px;
  padding: 3px 9px;
  background: #fff2ea;
  color: #9b4d2f;
  font-size: 12px;
  font-weight: 900;
  white-space: nowrap;
}

@media (max-width: 980px) {
  .activity-template-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

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

  .activity-template-overview div:nth-child(3) {
    border-right: 0;
  }

  .activity-template-overview div:nth-child(-n + 3) {
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

  .weekly-store-report-board {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .empty-template-page-head,
  .empty-template-filterbar,
  .weekly-template-toolbar {
    display: grid;
    grid-template-columns: 1fr;
  }

  .template-source-chip {
    width: fit-content;
  }

  .activity-template-head-actions {
    display: grid;
    width: 100%;
  }

  .activity-template-head-actions .solid-btn {
    width: 100%;
  }

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

  .activity-template-overview div:nth-child(3) {
    border-right: 1px solid rgba(50, 35, 20, 0.08);
  }

  .activity-template-overview div:nth-child(2n) {
    border-right: 0;
  }

  .activity-template-overview div:nth-child(-n + 4) {
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

  .source-ledger-form.activity-template-form,
  .source-ledger-form.new-product-template-form,
  .source-ledger-form.weekly-supervisor-form,
  .source-ledger-form.weekly-minutes-form,
  .template-secondary-fields > div,
  .weekly-store-report-board,
  .weekly-report-item-grid,
  .weekly-linked-report-summary,
  .weekly-report-list {
    grid-template-columns: 1fr;
  }

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

  .new-product-summary article {
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

  .weekly-linked-report-summary > span {
    grid-column: auto;
  }

  .activity-form-section-title,
  .activity-template-form .template-secondary-fields > summary {
    display: grid;
  }

  .weekly-template-source-chips,
  .task-dispatch-head-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* 2026-07-26 空页面第二批：综合检查、每月计划 */
.inspection-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.inspection-console-layout {
  grid-template-columns: minmax(0, 1fr) minmax(420px, 500px);
}

.source-ledger-form.inspection-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.monthly-plan-template-page {
  gap: 14px;
  background: #f7f3ec;
}

.monthly-plan-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.monthly-plan-overview article {
  display: grid;
  gap: 4px;
  min-height: 82px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  padding: 12px 15px;
}

.monthly-plan-overview article:last-child {
  border-right: 0;
}

.monthly-plan-overview span,
.monthly-plan-overview small {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.monthly-plan-overview strong {
  color: var(--yr-text);
  font-size: 23px;
}

.monthly-plan-overview article:nth-last-child(-n + 2) {
  background: #fbf3ea;
}

.monthly-plan-overview article:nth-last-child(-n + 2) strong {
  color: var(--yr-red);
}

.monthly-plan-toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(140px, 0.7fr)) minmax(240px, 1.4fr) auto;
  gap: 10px;
  align-items: end;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.monthly-plan-toolbar label {
  display: grid;
  gap: 4px;
}

.monthly-plan-toolbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.monthly-plan-toolbar input,
.monthly-plan-toolbar select {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
}

.monthly-plan-toolbar > strong {
  min-height: 36px;
  align-content: center;
  color: var(--yr-text-secondary);
  font-size: 13px;
}

.source-ledger-form.monthly-plan-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px;
}

.monthly-plan-ledger {
  min-width: 0;
}

.monthly-plan-calendar-shell {
  width: 100%;
  overflow: auto;
  overscroll-behavior-x: contain;
}

.monthly-plan-calendar {
  width: max-content;
  min-width: calc(620px + var(--month-day-count) * 36px);
  border-collapse: separate;
  border-spacing: 0;
  table-layout: auto;
}

.monthly-plan-calendar th,
.monthly-plan-calendar td {
  padding: 8px;
}

.monthly-plan-calendar .monthly-plan-title-row th {
  height: 42px;
  background: #8f3426;
  color: #fffaf5;
  font-size: 13px;
}

.monthly-plan-calendar .monthly-plan-title-row th:first-child {
  text-align: left;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(1),
.monthly-plan-calendar tbody td:nth-child(1) {
  width: 94px;
  min-width: 94px;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(2),
.monthly-plan-calendar tbody td:nth-child(2) {
  width: 260px;
  min-width: 260px;
  text-align: left;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(3),
.monthly-plan-calendar tbody td:nth-child(3) {
  width: 108px;
  min-width: 108px;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(-n + 3),
.monthly-plan-calendar tbody td:nth-child(-n + 3) {
  position: sticky;
  z-index: 2;
  background: #fffdf9;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(-n + 3) {
  z-index: 4;
  background: #eee5d9;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(1),
.monthly-plan-calendar tbody td:nth-child(1) {
  left: 0;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(2),
.monthly-plan-calendar tbody td:nth-child(2) {
  left: 94px;
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(3),
.monthly-plan-calendar tbody td:nth-child(3) {
  left: 354px;
  box-shadow: 5px 0 8px rgba(50, 35, 20, 0.05);
}

.monthly-plan-calendar .monthly-plan-day-row th:nth-child(n + 4) {
  width: 36px;
  min-width: 36px;
  padding: 6px 0;
}

.monthly-plan-calendar .monthly-plan-day-row th strong,
.monthly-plan-calendar .monthly-plan-day-row th small {
  display: block;
}

.monthly-plan-calendar .monthly-plan-day-row th small {
  margin-top: 2px;
  font-size: 9px;
}

.monthly-plan-calendar .monthly-plan-day-row th.is-weekend,
.monthly-plan-day-cell.is-weekend {
  background: #f8f0e6;
}

.monthly-plan-day-cell {
  width: 36px;
  min-width: 36px;
  height: 56px;
  padding: 0 !important;
  background: #fff;
}

.monthly-plan-day-cell span {
  display: grid;
  min-height: 32px;
  place-items: center;
  color: transparent;
  font-size: 10px;
  font-weight: 900;
}

.monthly-plan-day-cell.is-planned {
  background: #f4d6c5;
}

.monthly-plan-day-cell.is-planned span {
  color: #8f3426;
}

.monthly-plan-day-cell.is-doing {
  background: #f1c394;
}

.monthly-plan-day-cell.is-done {
  background: #cce5d7;
}

.monthly-plan-day-cell.is-done span {
  color: #2f6d51;
}

.monthly-plan-day-cell.is-start {
  box-shadow: inset 3px 0 0 #b45737;
}

.monthly-plan-day-cell.is-end {
  box-shadow: inset -3px 0 0 #b45737;
}

.monthly-plan-calendar tbody td:last-child {
  width: 210px;
  min-width: 210px;
  background: #fffdf9;
}

.monthly-plan-calendar tbody td:nth-child(2) small {
  display: block;
  margin-top: 4px;
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.task-dispatch-template-page {
  gap: 14px;
  background: #f7f3ec;
}

.task-dispatch-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.task-dispatch-summary article {
  display: grid;
  gap: 3px;
  min-height: 72px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  padding: 11px 13px;
}

.task-dispatch-summary article:nth-child(5n) {
  border-right: 0;
}

.task-dispatch-summary span,
.task-dispatch-summary small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.task-dispatch-summary strong {
  color: var(--yr-text);
  font-size: 21px;
}

.task-dispatch-summary article.is-complete {
  background: #f4faf6;
}

.task-dispatch-summary article.is-complete strong {
  color: #2f7d5c;
}

.task-dispatch-summary article.is-late {
  background: #fff2ea;
}

.task-dispatch-summary article.is-late strong {
  color: var(--yr-red);
}

.task-dispatch-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(130px, 0.7fr)) minmax(220px, 1.3fr);
  gap: 10px;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 12px;
  background: #fff;
}

.task-dispatch-toolbar label {
  display: grid;
  gap: 4px;
}

.task-dispatch-toolbar label span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.task-dispatch-toolbar input,
.task-dispatch-toolbar select {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, 0.12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
}

.source-ledger-form.task-dispatch-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px;
}

.task-dispatch-source-note {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  border: 1px solid rgba(47, 125, 92, 0.16);
  border-radius: 9px;
  padding: 10px 12px;
  background: #f4faf6;
}

.task-dispatch-source-note strong {
  flex: 0 0 auto;
  color: #2f7d5c;
}

.task-dispatch-source-note span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  line-height: 1.5;
}

.task-dispatch-table {
  min-width: 1180px;
}

.task-dispatch-table th:nth-child(1) { width: 100px; }
.task-dispatch-table th:nth-child(2) { width: 250px; }
.task-dispatch-table th:nth-child(3) { width: 150px; }
.task-dispatch-table th:nth-child(4),
.task-dispatch-table th:nth-child(5),
.task-dispatch-table th:nth-child(6) { width: 110px; }
.task-dispatch-table th:nth-child(7) { width: 150px; }
.task-dispatch-table th:nth-child(8) { width: 180px; }

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

  .monthly-plan-toolbar,
  .task-dispatch-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .monthly-plan-toolbar > strong {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .inspection-hero-actions {
    justify-content: flex-start;
  }

  .source-ledger-form.inspection-form,
  .source-ledger-form.monthly-plan-form,
  .source-ledger-form.task-dispatch-form,
  .monthly-plan-toolbar,
  .task-dispatch-toolbar {
    grid-template-columns: 1fr;
  }

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

  .monthly-plan-overview article:nth-child(2) {
    border-right: 0;
  }

  .monthly-plan-overview article:nth-child(-n + 2) {
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

  .monthly-plan-toolbar > strong {
    grid-column: auto;
  }

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

  .task-dispatch-summary article,
  .task-dispatch-summary article:nth-child(5n) {
    border-right: 1px solid rgba(50, 35, 20, 0.08);
  }

  .task-dispatch-summary article:nth-child(2n) {
    border-right: 0;
  }

  .monthly-plan-calendar .monthly-plan-day-row th:nth-child(n),
  .monthly-plan-calendar tbody td:nth-child(n) {
    position: static;
  }
}

/* 2026-07-30 计划工作区快改：月计划、周会汇总、任务下发 */
.weekly-template-head-actions,
.monthly-plan-head-actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: flex-end;
}

.weekly-template-toolbar {
  grid-template-columns: minmax(150px, .65fr) minmax(230px, 1.1fr) repeat(3, minmax(130px, .55fr));
}

.weekly-week-navigation {
  display: grid;
  grid-template-columns: auto minmax(170px, .65fr) auto auto minmax(300px, 1.5fr);
  gap: 8px;
  align-items: end;
  border: 1px solid rgba(50, 35, 20, .08);
  border-radius: 12px;
  padding: 11px 12px;
  background: #fff;
}

.weekly-week-navigation label,
.weekly-week-navigation > div {
  display: grid;
  gap: 3px;
}

.weekly-week-navigation label span,
.weekly-week-navigation > div span,
.weekly-week-navigation > div small {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 800;
}

.weekly-week-navigation input,
.weekly-template-toolbar select {
  width: 100%;
  min-height: 36px;
  border: 1px solid rgba(50, 35, 20, .12);
  border-radius: 8px;
  padding: 0 10px;
  background: #fffaf5;
  color: var(--yr-text);
  font: inherit;
}

.weekly-week-navigation > div {
  min-height: 38px;
  align-content: center;
  border-left: 1px solid rgba(50, 35, 20, .09);
  padding-left: 14px;
}

.weekly-week-navigation > div strong {
  color: var(--yr-text);
  font-size: 15px;
}

.weekly-form-week-context {
  display: grid;
  grid-template-columns: auto minmax(230px, max-content) 1fr;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(47, 125, 92, .15);
  border-radius: 9px;
  padding: 10px 12px;
  background: #f4faf6;
}

.weekly-form-week-context span,
.weekly-form-week-context small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.weekly-form-week-context strong {
  color: #2f6f55;
  font-size: 13px;
}

.weekly-attachment-field {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(50, 35, 20, .1);
  border-radius: 11px;
  padding: 12px;
  background: #fffdf9;
}

.weekly-attachment-field > header {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
}

.weekly-attachment-field > header > div {
  display: grid;
  gap: 3px;
}

.weekly-attachment-field > header strong {
  color: var(--yr-text);
  font-size: 13px;
}

.weekly-attachment-field > header small,
.weekly-attachment-item small,
.weekly-attachment-pending small,
.weekly-attachment-empty,
.weekly-attachment-message,
.weekly-legacy-attachment {
  color: var(--yr-text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

.weekly-attachment-field > header label {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  white-space: nowrap;
}

.weekly-attachment-field > header input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
}

.weekly-attachment-list,
.weekly-attachment-pending {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.weekly-attachment-item,
.weekly-attachment-pending article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  min-width: 0;
  border: 1px solid rgba(50, 35, 20, .08);
  border-radius: 9px;
  padding: 8px;
  background: #fff;
}

.weekly-attachment-pending article {
  grid-template-columns: minmax(0, 1fr) auto;
  border-style: dashed;
  background: #fffaf5;
}

.weekly-attachment-item > img {
  width: 54px;
  height: 54px;
  border-radius: 7px;
  object-fit: cover;
  background: #eee5d9;
}

.weekly-attachment-item > div:first-of-type,
.weekly-attachment-pending article > div {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.weekly-attachment-item strong,
.weekly-attachment-pending strong {
  overflow: hidden;
  color: var(--yr-text);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.weekly-attachment-type {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 7px;
  background: #f3e7da;
  color: #8f4c32;
  font-size: 11px;
  font-weight: 900;
}

.weekly-attachment-item .table-actions {
  flex-wrap: nowrap;
  margin: 0;
}

.weekly-attachment-empty,
.weekly-attachment-message,
.weekly-legacy-attachment {
  margin: 0;
}

.weekly-attachment-message:empty {
  display: none;
}

.weekly-attachment-message.is-error {
  color: var(--yr-red);
}

.weekly-attachment-message.is-ok {
  color: #2f6f55;
}

.weekly-report-attachments,
.weekly-source-attachments {
  grid-column: 1 / -1;
}

.weekly-report-attachments .weekly-attachment-list {
  margin-top: 7px;
}

.weekly-task-source-sections .weekly-source-attachments {
  background: #fffdf9;
}

.weekly-template-toolbar > div.is-pending {
  border-radius: 9px;
  background: #fff4ed;
}

.weekly-workspace-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(50, 35, 20, .1);
  padding: 0 4px;
}

.weekly-workspace-tabs button {
  display: inline-flex;
  min-height: 42px;
  flex: 0 0 auto;
  gap: 7px;
  align-items: center;
  border: 0;
  border-bottom: 3px solid transparent;
  padding: 0 17px;
  background: transparent;
  color: var(--yr-text-secondary);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.weekly-workspace-tabs button.is-active {
  border-bottom-color: var(--yr-red);
  color: var(--yr-text);
}

.weekly-workspace-tabs button span {
  min-width: 20px;
  border-radius: 999px;
  padding: 2px 6px;
  background: #eee5d9;
  color: var(--yr-red);
  font-size: 11px;
  text-align: center;
}

.weekly-report-section {
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .09);
  border-radius: 11px;
  background: #fffdf9;
}

.weekly-report-section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(50, 35, 20, .08);
  padding: 10px 12px;
  background: #f6efe6;
}

.weekly-report-section > header strong {
  color: var(--yr-text);
  font-size: 13px;
}

.weekly-report-section > header small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.weekly-report-section .weekly-report-item-grid {
  padding: 12px;
}

.weekly-summary-context {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .09);
  border-radius: 12px;
  background: #fff;
}

.weekly-summary-context > div {
  display: grid;
  gap: 3px;
  min-height: 84px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, .08);
  padding: 12px 16px;
}

.weekly-summary-context > div:last-child {
  border-right: 0;
  background: #fff7f1;
}

.weekly-summary-context span,
.weekly-summary-context small,
.weekly-dispatch-note small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.weekly-summary-context strong {
  color: var(--yr-text);
  font-size: 22px;
}

.weekly-dispatch-note {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(47, 125, 92, .16);
  border-radius: 11px;
  padding: 13px 15px;
  background: #f4faf6;
}

.weekly-dispatch-note > div {
  display: grid;
  gap: 3px;
}

.monthly-plan-compact-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .1);
  border-radius: 12px;
  background: #fff;
}

.monthly-plan-compact-summary article {
  display: grid;
  gap: 3px;
  min-height: 78px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, .08);
  padding: 11px 14px;
}

.monthly-plan-compact-summary article:last-child {
  border-right: 0;
}

.monthly-plan-compact-summary span,
.monthly-plan-compact-summary small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.monthly-plan-compact-summary strong {
  color: var(--yr-text);
  font-size: 22px;
}

.monthly-plan-compact-summary .is-complete {
  background: #f4faf6;
}

.monthly-plan-compact-summary .is-complete strong {
  color: #2f7d5c;
}

.monthly-plan-compact-summary .is-late {
  background: #fff4ed;
}

.monthly-plan-compact-summary .is-late strong {
  color: var(--yr-red);
}

.monthly-plan-toolbar {
  grid-template-columns: minmax(150px, .65fr) minmax(160px, .7fr) minmax(260px, 1.5fr) auto;
}

.monthly-plan-form-section {
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .1);
  border-radius: 11px;
  background: #fffdf9;
}

.monthly-plan-form-section > header {
  display: flex;
  gap: 14px;
  align-items: baseline;
  justify-content: space-between;
  border-bottom: 1px solid rgba(50, 35, 20, .08);
  padding: 11px 13px;
  background: #f6efe6;
}

.monthly-plan-form-section > header strong {
  color: var(--yr-text);
  font-size: 14px;
}

.monthly-plan-form-section > header small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.monthly-plan-form-section > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  padding: 13px;
}

.monthly-plan-form-section > div > .wide {
  grid-column: 1 / -1;
}

.monthly-plan-progress-board {
  min-width: 0;
  background: #fff;
}

.monthly-plan-progress-head,
.monthly-plan-progress-row {
  display: grid;
  grid-template-columns: minmax(270px, 1.25fr) minmax(360px, 1.8fr) minmax(250px, 1fr);
  gap: 18px;
  align-items: center;
}

.monthly-plan-progress-head {
  min-height: 48px;
  border-bottom: 1px solid rgba(50, 35, 20, .09);
  padding: 0 16px;
  background: #eee5d9;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 900;
}

.monthly-plan-week-axis,
.monthly-plan-week-grid {
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
}

.monthly-plan-week-axis span {
  border-left: 1px solid rgba(50, 35, 20, .08);
  text-align: center;
}

.monthly-plan-progress-row {
  min-height: 128px;
  border-bottom: 1px solid rgba(50, 35, 20, .08);
  padding: 16px;
}

.monthly-plan-progress-row:last-child {
  border-bottom: 0;
}

.monthly-plan-item-copy,
.monthly-plan-progress-meta {
  display: grid;
  min-width: 0;
  gap: 7px;
}

.monthly-plan-item-copy > div,
.monthly-plan-progress-meta > div:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.monthly-plan-item-copy > strong {
  color: var(--yr-text);
  font-size: 14px;
  line-height: 1.5;
}

.monthly-plan-item-copy small,
.monthly-plan-progress-meta small {
  color: var(--yr-text-secondary);
  font-size: 11px;
  line-height: 1.45;
}

.monthly-plan-category {
  border-radius: 999px;
  padding: 3px 8px;
  background: #f3e7da;
  color: #8f4c32;
  font-size: 11px;
  font-weight: 900;
}

.monthly-plan-timeline {
  position: relative;
  height: 54px;
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .09);
  border-radius: 9px;
  background: #fbf7f1;
}

.monthly-plan-day-grid {
  position: absolute;
  inset: 12px 7px;
  z-index: 1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
  gap: 0;
  overflow: hidden;
  border-radius: 7px;
}

.monthly-plan-day-grid i {
  min-width: 0;
}

.monthly-plan-day-grid i.is-plan-range {
  background: #d9c2ad;
}

.monthly-plan-timeline.in_progress .monthly-plan-day-grid i.is-plan-range {
  background: #e7ad78;
}

.monthly-plan-timeline.completed .monthly-plan-day-grid i.is-plan-range {
  background: #7eb79a;
}

.monthly-plan-timeline.delayed .monthly-plan-day-grid i.is-plan-range {
  background: #ca7960;
}

.monthly-plan-timeline-label {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  pointer-events: none;
}

.monthly-plan-week-grid {
  position: absolute;
  inset: 0;
}

.monthly-plan-week-grid i {
  border-right: 1px solid rgba(50, 35, 20, .07);
}

.monthly-progress-meter {
  width: 100%;
  height: 6px;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #eee7df;
  appearance: none;
}

.monthly-progress-meter::-webkit-progress-bar {
  background: #eee7df;
}

.monthly-progress-meter::-webkit-progress-value,
.monthly-progress-meter::-moz-progress-bar {
  background: #b65f42;
}

.monthly-plan-progress-meta .table-actions {
  justify-content: flex-start;
}

.task-dispatch-status-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .1);
  border-radius: 12px;
  background: #fff;
}

.task-dispatch-status-strip > article {
  display: grid;
  gap: 3px;
  min-height: 78px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, .08);
  padding: 11px 14px;
}

.task-dispatch-status-strip > article:nth-child(4) {
  border-right: 0;
}

.task-dispatch-status-strip span,
.task-dispatch-status-strip small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.task-dispatch-status-strip strong {
  color: var(--yr-text);
  font-size: 22px;
}

.task-dispatch-status-strip .is-complete {
  background: #f4faf6;
}

.task-dispatch-status-strip .is-complete strong {
  color: #2f7d5c;
}

.task-dispatch-status-strip .is-late {
  background: #fff4ed;
}

.task-dispatch-status-strip .is-late strong {
  color: var(--yr-red);
}

.task-dispatch-category-strip {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  border-top: 1px solid rgba(50, 35, 20, .08);
  background: #fffaf5;
}

.task-dispatch-category-strip > span {
  display: flex;
  min-height: 42px;
  gap: 6px;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(50, 35, 20, .07);
}

.task-dispatch-category-strip > span:last-child {
  border-right: 0;
}

.task-dispatch-category-strip strong {
  font-size: 14px;
}

@media (max-width: 1100px) {
  .weekly-week-navigation {
    grid-template-columns: auto minmax(170px, 1fr) auto auto;
  }

  .weekly-week-navigation > div {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(50, 35, 20, .08);
    border-left: 0;
    padding-top: 8px;
    padding-left: 0;
  }

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

  .weekly-template-toolbar > div:last-child {
    grid-column: 1 / -1;
  }

  .monthly-plan-compact-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .monthly-plan-progress-head,
  .monthly-plan-progress-row {
    grid-template-columns: minmax(230px, 1fr) minmax(300px, 1.4fr) minmax(220px, .9fr);
  }
}

@media (max-width: 760px) {
  .weekly-template-page > *,
  .weekly-template-page .empty-template-page-head,
  .weekly-template-head-actions,
  .weekly-template-toolbar {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

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

  .weekly-week-navigation {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .weekly-week-navigation label {
    grid-column: 1 / -1;
  }

  .weekly-week-navigation > button {
    width: 100%;
    min-width: 0;
    padding-right: 8px;
    padding-left: 8px;
  }

  .weekly-week-navigation > div {
    grid-column: 1 / -1;
  }

  .monthly-plan-template-page > *,
  .monthly-plan-template-page .empty-template-page-head,
  .monthly-plan-head-actions,
  .monthly-plan-toolbar,
  .monthly-plan-ledger,
  .monthly-plan-progress-board {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

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

  .weekly-template-head-actions,
  .monthly-plan-head-actions {
    width: 100%;
    justify-content: flex-start;
  }

  .weekly-template-head-actions .solid-btn,
  .weekly-template-head-actions .ghost-btn,
  .monthly-plan-head-actions .solid-btn {
    flex: 1 1 auto;
  }

  .weekly-workspace-tabs {
    margin: 0 -4px;
  }

  .weekly-report-section .weekly-report-item-grid,
  .weekly-report-detail,
  .weekly-task-source-sections,
  .weekly-summary-context,
  .monthly-plan-form-section > div,
  .monthly-plan-progress-row {
    grid-template-columns: 1fr;
  }

  .weekly-task-source-context > header {
    display: grid;
  }

  .weekly-form-week-context,
  .weekly-attachment-list,
  .weekly-attachment-pending {
    grid-template-columns: 1fr;
  }

  .weekly-form-week-context {
    gap: 4px;
  }

  .weekly-attachment-field > header {
    display: grid;
  }

  .weekly-attachment-field > header label {
    width: 100%;
    justify-content: center;
  }

  .weekly-summary-context > div {
    min-height: 70px;
    border-right: 0;
    border-bottom: 1px solid rgba(50, 35, 20, .08);
  }

  .weekly-dispatch-note {
    display: grid;
  }

  .monthly-plan-compact-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .monthly-plan-compact-summary article {
    border-bottom: 1px solid rgba(50, 35, 20, .08);
  }

  .monthly-plan-compact-summary article:nth-child(2n) {
    border-right: 0;
  }

  .monthly-plan-form-section > header {
    display: grid;
    gap: 3px;
  }

  .monthly-plan-progress-head {
    display: none;
  }

  .monthly-plan-progress-row {
    gap: 13px;
    align-items: stretch;
  }

  .monthly-plan-timeline {
    height: 48px;
  }

  .task-dispatch-status-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .task-dispatch-status-strip > article:nth-child(2) {
    border-right: 0;
  }

  .task-dispatch-status-strip > article {
    border-bottom: 1px solid rgba(50, 35, 20, .08);
  }

  .task-dispatch-category-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .task-dispatch-category-strip > span {
    justify-content: flex-start;
    padding: 0 12px;
  }
}

/* 2026-07-26 空页面第三批：门店沽清、菜品沽清、出品时长 */
.soldout-template-page {
  display: grid;
  gap: 14px;
  max-width: none;
  padding: 28px 32px 42px;
  background: #f7f3ec;
}

.production-duration-page {
  gap: 14px;
  background: #f7f3ec;
}

.soldout-template-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fff;
}

.soldout-template-summary article {
  display: grid;
  gap: 4px;
  min-height: 82px;
  align-content: center;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
  padding: 12px 15px;
}

.soldout-template-summary article:last-child {
  border-right: 0;
}

.soldout-template-summary span,
.soldout-template-summary small,
.production-duration-priority span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.soldout-template-summary strong {
  color: var(--yr-text);
  font-size: 22px;
}

.soldout-template-summary article:nth-child(2) {
  background: #fff8f1;
}

.soldout-template-summary article:nth-child(2) strong {
  color: var(--yr-red);
}

.soldout-template-filter,
.production-duration-filter {
  grid-template-columns: minmax(145px, 0.55fr) minmax(155px, 0.65fr) minmax(145px, 0.55fr) minmax(260px, 1.4fr);
}

.source-ledger-form.soldout-template-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 16px;
}

.source-ledger-form.production-duration-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 16px;
}

.soldout-shared-source-note {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(50, 35, 20, 0.08);
  border-radius: 12px;
  padding: 14px 16px;
  background: #fff;
}

.soldout-shared-source-note > div {
  display: grid;
  gap: 3px;
}

.soldout-shared-source-note strong {
  color: var(--yr-text);
}

.soldout-shared-source-note small {
  color: var(--yr-text-secondary);
}

.store-soldout-table {
  min-width: 1020px;
}

.soldout-summary-table {
  min-width: 1480px;
}

.store-soldout-table th:nth-child(1) { width: 110px; }
.store-soldout-table th:nth-child(2) { width: 190px; }
.store-soldout-table th:nth-child(3) { width: 140px; }
.store-soldout-table th:nth-child(4) { width: 270px; }
.store-soldout-table th:nth-child(5) { width: 150px; }
.store-soldout-table th:nth-child(6) { width: 210px; }

.soldout-summary-table th:nth-child(1) { width: 120px; }
.soldout-summary-table th:nth-child(2) { width: 115px; }
.soldout-summary-table th:nth-child(3) { width: 190px; }
.soldout-summary-table th:nth-child(4),
.soldout-summary-table th:nth-child(5),
.soldout-summary-table th:nth-child(6) { width: 120px; }
.soldout-summary-table th:nth-child(7) { width: 190px; }
.soldout-summary-table th:nth-child(8),
.soldout-summary-table th:nth-child(9),
.soldout-summary-table th:nth-child(10) { width: 130px; }
.soldout-summary-table th:nth-child(11) { width: 220px; }

.soldout-template-ledger td:nth-last-child(1) .table-actions,
.production-duration-table td:last-child .table-actions {
  flex-wrap: wrap;
}

.production-duration-hero {
  padding: 12px;
  box-shadow: none;
}

.production-duration-ledger {
  min-width: 0;
}

.production-duration-table {
  min-width: 920px;
}

.production-duration-table th:nth-child(1) { width: 300px; }
.production-duration-table th:nth-child(2) { width: 190px; }
.production-duration-table th:nth-child(3) { width: 120px; }
.production-duration-table th:nth-child(4) { width: 210px; }
.production-duration-table th:nth-child(5) { width: 220px; }

.production-duration-table tr.warning td {
  background: #fffbee;
}

.production-duration-table tr.warn td {
  background: #fff7eb;
}

.production-duration-table tr.danger td {
  background: #fff1ed;
}

.duration-cell {
  color: var(--yr-text);
  font-size: 20px;
}

.production-duration-priority {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(217, 61, 32, 0.12);
  border-radius: 11px;
  padding: 11px 13px;
  background: #fff8f1;
}

.production-duration-priority strong {
  border-radius: 999px;
  padding: 6px 9px;
  background: #fff;
  color: #795443;
  font-size: 12px;
}

@media (max-width: 900px) {
  .soldout-template-page {
    padding: 18px 14px 32px;
  }

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

  .soldout-template-summary article {
    border-right: 0;
    border-bottom: 1px solid rgba(50, 35, 20, 0.08);
  }

  .soldout-template-summary article:last-child {
    border-bottom: 0;
  }

  .soldout-template-filter,
  .production-duration-filter,
  .source-ledger-form.soldout-template-form,
  .source-ledger-form.production-duration-form,
  .template-secondary-fields > div {
    grid-template-columns: 1fr;
  }

  .soldout-shared-source-note {
    display: grid;
  }
}

@media (max-width: 760px) {
  .store-management-tabs {
    width: 100%;
  }

  .store-management-tabs button {
    flex: 1;
    padding: 0 10px;
  }

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

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

  .station-dish-search,
  .station-dish-filter-actions {
    grid-column: 1 / -1;
  }

  .station-dish-filter-actions .ghost-btn {
    flex: 1;
  }

  .station-dish-list-head {
    display: none;
  }

  .station-dish-row {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px 12px;
    align-items: start;
  }

  .station-dish-name {
    grid-column: 1;
  }

  .station-dish-status {
    grid-column: 2;
    grid-row: 1;
    justify-items: end;
  }

  .station-dish-station,
  .station-dish-links,
  .station-dish-actions {
    grid-column: 1 / -1;
  }

  .station-dish-links {
    border-top: 1px solid rgba(50, 35, 20, 0.08);
    padding-top: 9px;
  }

  .station-dish-actions {
    justify-content: stretch;
  }

  .station-dish-actions .ghost-btn {
    flex: 1;
  }

  .station-dish-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .station-dish-footer div {
    justify-content: space-between;
  }

  .station-dish-boundary {
    display: grid;
  }
}

/* 2026-07-30 运营检查四模块：监督、效率、检查批次与客诉分析 */
.soldout-supervision-page,
.production-duration-page,
.inspection-console-page,
.complaint-summary-page {
  width: min(100%, 1480px);
  max-width: 100%;
  margin: 0 auto;
  padding: 28px 32px 42px;
  box-sizing: border-box;
  overflow: clip;
  background: #f7f3ec;
}

.soldout-supervision-page,
.production-duration-page,
.inspection-console-page,
.complaint-summary-page,
.soldout-supervision-overview,
.production-duration-priority-grid,
.inspection-batch-list {
  display: grid;
  gap: 14px;
}

.ops-four-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  margin-top: 18px;
  border: 1px solid rgba(50, 35, 20, 0.1);
  border-radius: 12px;
  background: #fffdf9;
}

.ops-four-metrics article {
  display: grid;
  gap: 4px;
  min-width: 0;
  min-height: 92px;
  align-content: center;
  padding: 14px 16px;
  border-right: 1px solid rgba(50, 35, 20, 0.08);
}

.ops-four-metrics article:last-child {
  border-right: 0;
}

.ops-four-metrics article.warn {
  background: #fff6ec;
}

.ops-four-metrics article.ok {
  background: #f7fbf7;
}

.ops-four-metrics span,
.ops-four-metrics small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ops-four-metrics strong {
  color: var(--yr-text);
  font-size: clamp(23px, 2.2vw, 30px);
}

.ops-four-filterbar {
  display: grid;
  grid-template-columns: minmax(140px, .65fr) minmax(150px, .75fr) minmax(160px, .8fr) minmax(240px, 1.4fr);
  gap: 10px;
  align-items: end;
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--yr-border-soft);
  border-radius: 12px;
  background: #fffdf9;
}

.ops-four-filterbar label {
  display: grid;
  gap: 5px;
  min-width: 0;
}

.ops-four-filterbar label > span {
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 700;
}

.ops-four-filterbar input,
.ops-four-filterbar select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.ops-four-ledger {
  min-width: 0;
}

.ops-four-ledger .module-head {
  align-items: flex-end;
}

.ops-four-ledger .table-shell {
  max-width: 100%;
  overflow: auto;
}

.ops-four-ledger table {
  width: 100%;
  min-width: 920px;
}

.ops-four-ledger td {
  vertical-align: top;
}

.ops-four-ledger td > span,
.ops-four-ledger td > small {
  display: block;
  margin-top: 4px;
  color: var(--yr-text-muted);
  font-size: 12px;
}

.soldout-supervision-overview,
.production-duration-priority-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .75fr);
}

.ops-priority-list,
.ops-breakdown-list {
  display: grid;
  gap: 0;
}

.ops-priority-list > article {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(160px, .8fr) auto;
  gap: 12px;
  align-items: center;
  min-width: 0;
  padding: 12px 0;
  border-bottom: 1px solid rgba(50, 35, 20, .08);
}

.ops-priority-list > article:last-child {
  border-bottom: 0;
}

.ops-priority-list > article > div,
.ops-priority-list > article > span {
  min-width: 0;
}

.ops-priority-list strong,
.ops-priority-list small {
  display: block;
}

.ops-priority-list small,
.ops-priority-list > article > span {
  margin-top: 3px;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.ops-priority-list em {
  justify-self: end;
  font-style: normal;
}

.ops-breakdown-list > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 10px;
  padding: 7px 0;
}

.ops-breakdown-list .ops-linear-progress {
  grid-column: 1 / -1;
  width: 100%;
  height: 5px;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: var(--yr-surface-muted);
  appearance: none;
}

.ops-linear-progress::-webkit-progress-bar {
  background: var(--yr-surface-muted);
}

.ops-linear-progress::-webkit-progress-value,
.ops-linear-progress::-moz-progress-bar {
  background: var(--yr-brand);
}

.production-threshold-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  align-items: center;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid rgba(50, 35, 20, .08);
}

.production-threshold-legend span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.production-threshold-legend i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8b9a88;
}

.production-threshold-legend i.warning { background: #d6a73b; }
.production-threshold-legend i.warn { background: #d37935; }
.production-threshold-legend i.danger { background: #cf4930; }
.production-threshold-legend small {
  margin-left: auto;
  color: var(--yr-text-muted);
}

.production-duration-entry {
  min-width: 0;
}

.production-duration-priority-grid {
  align-items: start;
}

.ops-workflow-steps {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.ops-workflow-steps li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid rgba(50, 35, 20, .08);
}

.ops-workflow-steps li:last-child {
  border-bottom: 0;
}

.ops-workflow-steps li > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #f3e7dc;
  color: var(--yr-brand);
  font-weight: 800;
}

.ops-workflow-steps strong,
.ops-workflow-steps small {
  display: block;
}

.ops-workflow-steps small {
  margin-top: 3px;
  color: var(--yr-text-secondary);
}

.production-duration-table {
  min-width: 960px;
}

.production-duration-table th:nth-child(1) { width: 240px; }
.production-duration-table th:nth-child(2) { width: 160px; }
.production-duration-table th:nth-child(3) { width: 150px; }
.production-duration-table th:nth-child(4) { width: 145px; }
.production-duration-table th:nth-child(5) { width: 125px; }
.production-duration-table th:nth-child(6) { width: 230px; }

.production-duration-table td > span,
.production-duration-table td > small {
  display: block;
  margin-top: 4px;
  color: var(--yr-text-muted);
  font-size: 12px;
}

.inspection-type-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  margin-top: 12px;
  border-top: 1px solid rgba(50, 35, 20, .08);
}

.inspection-type-strip > span {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 10px;
  padding: 12px 14px 0;
  border-right: 1px solid rgba(50, 35, 20, .08);
}

.inspection-type-strip > span:last-child {
  border-right: 0;
}

.inspection-type-strip small {
  grid-column: 1 / -1;
  color: var(--yr-text-secondary);
}

.inspection-filterbar {
  grid-template-columns: minmax(130px, .6fr) minmax(140px, .7fr) minmax(145px, .7fr) minmax(145px, .7fr) minmax(220px, 1.25fr);
}

.inspection-batch-entry {
  min-width: 0;
  padding: 0;
}

.inspection-batch-entry > summary {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: space-between;
  padding: 18px 20px;
  cursor: pointer;
  list-style: none;
}

.inspection-batch-entry > summary::-webkit-details-marker,
.inspection-batch-card > summary::-webkit-details-marker {
  display: none;
}

.inspection-batch-entry > summary p {
  max-width: 760px;
  margin: 5px 0 0;
  color: var(--yr-text-secondary);
}

.inspection-batch-form {
  display: grid;
  gap: 16px;
  padding: 0 20px 20px;
  border-top: 1px solid rgba(50, 35, 20, .08);
}

.inspection-batch-fields,
.inspection-recheck-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  padding-top: 16px;
}

.inspection-batch-fields label,
.inspection-recheck-fields label,
.inspection-item-editor label,
.inspection-batch-remark {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.inspection-batch-fields .wide,
.inspection-recheck-fields .wide,
.inspection-item-editor .wide {
  grid-column: 1 / -1;
}

.inspection-batch-fields input,
.inspection-batch-fields select,
.inspection-recheck-fields input,
.inspection-item-editor input,
.inspection-item-editor select,
.inspection-batch-remark input {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.inspection-items-editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(50, 35, 20, .1);
  border-radius: 12px;
  background: #fbf8f2;
}

.inspection-items-editor > header {
  display: flex;
  gap: 16px;
  align-items: flex-end;
  justify-content: space-between;
}

.inspection-items-editor > header p {
  margin: 4px 0 0;
  color: var(--yr-text-secondary);
}

.inspection-live-score {
  display: grid;
  justify-items: end;
}

.inspection-live-score span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.inspection-live-score strong {
  color: var(--yr-brand);
  font-size: 32px;
}

[data-inspection-items] {
  display: grid;
  gap: 10px;
}

.inspection-item-editor {
  overflow: hidden;
  border: 1px solid rgba(50, 35, 20, .1);
  border-radius: 10px;
  background: #fff;
}

.inspection-item-editor > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(50, 35, 20, .08);
  background: #f5efe7;
}

.inspection-item-editor > div {
  display: grid;
  grid-template-columns: minmax(180px, 1.2fr) minmax(180px, 1fr) minmax(90px, .35fr) minmax(160px, .8fr);
  gap: 10px;
  padding: 12px;
}

.inspection-add-item {
  justify-self: start;
}

.ops-evidence-field {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px dashed rgba(50, 35, 20, .18);
  border-radius: 11px;
  background: #fffdf9;
}

.ops-evidence-field > header {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.ops-evidence-field > header strong,
.ops-evidence-field > header small {
  display: block;
}

.ops-evidence-field > header small {
  margin-top: 3px;
  color: var(--yr-text-secondary);
}

.ops-evidence-field input[type="file"] {
  display: none;
}

.inspection-recheck-editor {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid rgba(47, 125, 92, .18);
  border-radius: 12px;
  background: #f6faf7;
}

.inspection-form-message {
  min-height: 20px;
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.inspection-form-message.is-error {
  color: var(--yr-brand);
}

.inspection-form-message.is-ok {
  color: #2f7d5c;
}

.inspection-batch-card {
  min-width: 0;
  padding: 0;
}

.inspection-batch-card > summary {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) 100px minmax(190px, .75fr);
  gap: 18px;
  align-items: center;
  padding: 16px 18px;
  cursor: pointer;
  list-style: none;
}

.inspection-batch-card > summary > div:first-child strong,
.inspection-batch-card > summary > div:first-child small {
  display: block;
}

.inspection-batch-card > summary small {
  margin-top: 4px;
  color: var(--yr-text-secondary);
}

.inspection-batch-card > summary > div:last-child {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.inspection-batch-score {
  display: grid;
  justify-items: center;
  border-right: 1px solid rgba(50, 35, 20, .08);
  border-left: 1px solid rgba(50, 35, 20, .08);
}

.inspection-batch-score strong {
  font-size: 25px;
}

.inspection-batch-detail {
  display: grid;
  gap: 12px;
  padding: 0 18px 18px;
  border-top: 1px solid rgba(50, 35, 20, .08);
}

.inspection-batch-evaluation {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  margin: 14px 0 0;
  padding: 10px 12px;
  border-radius: 9px;
  background: #f8f2ea;
}

.inspection-batch-items {
  display: grid;
  gap: 8px;
}

.inspection-batch-items .inspection-issue-row {
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 12px;
  border: 1px solid rgba(50, 35, 20, .08);
  border-radius: 9px;
}

.inspection-batch-items .inspection-issue-row .table-actions {
  align-self: center;
}

.complaint-summary-filterbar {
  grid-template-columns: repeat(5, minmax(125px, 1fr)) auto;
}

.complaint-summary-filterbar > .ghost-btn {
  min-height: 44px;
}

.complaint-summary-grid {
  min-width: 0;
}

.complaint-summary-grid > .module {
  min-width: 0;
}

.complaint-summary-ledger table {
  min-width: 1100px;
}

.complaint-summary-ledger th:nth-child(1) { width: 150px; }
.complaint-summary-ledger th:nth-child(2) { width: 130px; }
.complaint-summary-ledger th:nth-child(3) { width: 210px; }
.complaint-summary-ledger th:nth-child(4) { width: 230px; }
.complaint-summary-ledger th:nth-child(5) { width: 190px; }
.complaint-summary-ledger th:nth-child(6) { width: 100px; }
.complaint-summary-ledger th:nth-child(7) { width: 110px; }

@media (max-width: 1100px) {
  .soldout-supervision-page,
  .production-duration-page,
  .inspection-console-page,
  .complaint-summary-page {
    padding: 22px 20px 36px;
  }

  .ops-four-filterbar,
  .inspection-filterbar,
  .complaint-summary-filterbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ops-four-filterbar .wide,
  .inspection-filterbar .wide {
    grid-column: 1 / -1;
  }

  .soldout-supervision-overview,
  .production-duration-priority-grid {
    grid-template-columns: 1fr;
  }

  .inspection-item-editor > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .soldout-supervision-page,
  .production-duration-page,
  .inspection-console-page,
  .complaint-summary-page {
    padding: 16px 12px 30px;
  }

  .soldout-supervision-hero .module-head,
  .production-duration-head .module-head,
  .inspection-console-hero .module-head,
  .complaint-summary-hero .module-head {
    align-items: stretch;
  }

  .soldout-supervision-hero .module-head .solid-btn,
  .production-duration-head .module-head .solid-btn,
  .inspection-console-hero .module-head .solid-btn,
  .complaint-summary-hero .module-head .solid-btn {
    width: 100%;
  }

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

  .ops-four-metrics article {
    min-height: 82px;
    border-bottom: 1px solid rgba(50, 35, 20, .08);
  }

  .ops-four-metrics article:nth-child(2n) {
    border-right: 0;
  }

  .ops-four-metrics article:nth-last-child(-n + 2) {
    border-bottom: 0;
  }

  .ops-four-filterbar,
  .inspection-filterbar,
  .complaint-summary-filterbar {
    grid-template-columns: 1fr;
  }

  .ops-four-filterbar .wide,
  .inspection-filterbar .wide {
    grid-column: auto;
  }

  .ops-priority-list > article {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .ops-priority-list > article > span {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .ops-priority-list em {
    grid-column: 2;
    grid-row: 1;
  }

  .production-threshold-legend {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .production-threshold-legend small {
    grid-column: 1 / -1;
    margin-left: 0;
  }

  .inspection-type-strip,
  .inspection-batch-fields,
  .inspection-recheck-fields,
  .inspection-item-editor > div {
    grid-template-columns: 1fr;
  }

  .inspection-type-strip > span {
    border-right: 0;
    border-bottom: 1px solid rgba(50, 35, 20, .08);
  }

  .inspection-type-strip > span:last-child {
    border-bottom: 0;
  }

  .inspection-batch-entry > summary,
  .inspection-items-editor > header,
  .ops-evidence-field > header {
    align-items: stretch;
    flex-direction: column;
  }

  .ops-evidence-field > header .ghost-btn {
    width: 100%;
  }

  .inspection-batch-card > summary {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }

  .inspection-batch-score {
    grid-column: 2;
    grid-row: 1;
    padding-left: 12px;
    border-right: 0;
  }

  .inspection-batch-card > summary > div:last-child {
    grid-column: 1 / -1;
    justify-content: space-between;
  }

  .inspection-batch-items .inspection-issue-row {
    grid-template-columns: 1fr;
  }

  .inspection-batch-items .inspection-issue-row .table-actions {
    justify-content: stretch;
  }

  .inspection-batch-items .inspection-issue-row .table-actions > * {
    flex: 1;
  }

  .ops-four-ledger .table-shell {
    overflow: visible;
  }

  .ops-four-ledger table,
  .ops-four-ledger tbody,
  .ops-four-ledger tr,
  .ops-four-ledger td {
    display: block;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .ops-four-ledger thead {
    display: none;
  }

  .ops-four-ledger tbody {
    display: grid;
    gap: 10px;
  }

  .ops-four-ledger tr {
    overflow: hidden;
    border: 1px solid rgba(50, 35, 20, .1);
    border-radius: 10px;
    background: #fff;
  }

  .ops-four-ledger td {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 8px;
    padding: 9px 11px;
    border-bottom: 1px solid rgba(50, 35, 20, .06);
  }

  .ops-four-ledger td:last-child {
    border-bottom: 0;
  }

  .ops-four-ledger td::before {
    color: var(--yr-text-secondary);
    font-size: 12px;
    font-weight: 700;
  }

  .soldout-supervision-ledger td:nth-child(1)::before { content: "日期 / 门店"; }
  .soldout-supervision-ledger td:nth-child(2)::before { content: "菜品"; }
  .soldout-supervision-ledger td:nth-child(3)::before { content: "沽清 / 解沽"; }
  .soldout-supervision-ledger td:nth-child(4)::before { content: "原因"; }
  .soldout-supervision-ledger td:nth-child(5)::before { content: "责任"; }
  .soldout-supervision-ledger td:nth-child(6)::before { content: "状态"; }
  .soldout-supervision-ledger td:nth-child(7)::before { content: "来源"; }

  .production-duration-ledger td:nth-child(1)::before { content: "菜品 / 门店"; }
  .production-duration-ledger td:nth-child(2)::before { content: "平均时长"; }
  .production-duration-ledger td:nth-child(3)::before { content: "销量影响"; }
  .production-duration-ledger td:nth-child(4)::before { content: "责任台位"; }
  .production-duration-ledger td:nth-child(5)::before { content: "状态"; }
  .production-duration-ledger td:nth-child(6)::before { content: "操作"; }

  .complaint-summary-ledger td:nth-child(1)::before { content: "日期 / 门店"; }
  .complaint-summary-ledger td:nth-child(2)::before { content: "归类 / 渠道"; }
  .complaint-summary-ledger td:nth-child(3)::before { content: "客诉内容"; }
  .complaint-summary-ledger td:nth-child(4)::before { content: "处理摘要"; }
  .complaint-summary-ledger td:nth-child(5)::before { content: "责任与考评"; }
  .complaint-summary-ledger td:nth-child(6)::before { content: "状态"; }
  .complaint-summary-ledger td:nth-child(7)::before { content: "来源"; }

  .ops-four-ledger td > .table-actions,
  .ops-four-ledger td > button {
    min-width: 0;
    width: 100%;
  }
}

@media (max-width: 430px) {
  .ops-four-metrics {
    grid-template-columns: 1fr;
  }

  .ops-four-metrics article,
  .ops-four-metrics article:nth-child(2n),
  .ops-four-metrics article:nth-last-child(-n + 2) {
    border-right: 0;
    border-bottom: 1px solid rgba(50, 35, 20, .08);
  }

  .ops-four-metrics article:last-child {
    border-bottom: 0;
  }

  .production-threshold-legend {
    grid-template-columns: 1fr;
  }

  .inspection-batch-form {
    padding: 0 12px 14px;
  }

  .inspection-items-editor {
    padding: 12px;
  }

  .inspection-batch-card > summary {
    grid-template-columns: 1fr;
  }

  .inspection-batch-score {
    grid-column: 1;
    grid-row: auto;
    justify-items: start;
    padding: 8px 0 0;
    border-top: 1px solid rgba(50, 35, 20, .08);
    border-left: 0;
  }

  .inspection-batch-card > summary > div:last-child {
    grid-column: 1;
  }

  .ops-four-ledger td {
    grid-template-columns: 1fr;
  }
}

/* 2026-08 人事三模块批量快改：考勤闭环、工资快照、晋升绩效规则 */
.attendance-more-actions,
.payroll-more-actions {
  position: relative;
}

.attendance-more-actions > summary,
.payroll-more-actions > summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--yr-border);
  border-radius: 8px;
  background: #fff;
  color: var(--yr-text);
  padding: 0 12px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
  list-style: none;
}

.attendance-more-actions > summary::-webkit-details-marker,
.payroll-more-actions > summary::-webkit-details-marker {
  display: none;
}

.attendance-more-actions > div,
.payroll-more-actions > div {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 20;
  width: max-content;
  display: grid;
  gap: 6px;
  border: 1px solid var(--yr-border-light);
  border-radius: 10px;
  background: #fff;
  padding: 8px;
  box-shadow: 0 14px 32px rgba(34, 24, 16, .14);
}

.attendance-more-actions > div button,
.payroll-more-actions > div button {
  width: 100%;
  justify-content: flex-start;
}

.attendance-derived-status {
  min-height: 44px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px 10px;
  align-items: center;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
  background: #fbf8f2;
  padding: 8px 10px;
}

.attendance-derived-status small {
  color: var(--yr-text-secondary);
  font-weight: 600;
}

.payroll-snapshot-banner {
  display: flex;
  gap: 18px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(47, 143, 107, .2);
  border-radius: 10px;
  background: #f6fbf7;
  padding: 14px 16px;
}

.payroll-snapshot-banner > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 10px;
  align-items: center;
}

.payroll-snapshot-banner strong {
  color: var(--yr-text);
}

.payroll-snapshot-banner p {
  max-width: 720px;
  margin: 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

.payroll-review-table-head,
.payroll-review-row {
  display: grid;
  grid-template-columns: 120px 132px minmax(150px, 1fr) 108px 92px 92px 112px 126px;
  gap: 12px;
  align-items: center;
  min-width: 1000px;
}

.payroll-review-table-head {
  min-height: 42px;
  border-radius: 8px;
  background: #f6f2ed;
  color: #667085;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 900;
}

.payroll-review-row {
  position: relative;
  min-height: 72px;
  border-bottom: 1px solid #f0ebe4;
  padding: 8px 14px;
}

.payroll-review-row.warn {
  background: #fffdf8;
}

.payroll-review-row > strong {
  justify-self: end;
  color: #344054;
  font-size: 13px;
  font-variant-numeric: tabular-nums;
}

.payroll-review-row > strong.is-add {
  color: #1b7f5d;
}

.payroll-review-row > strong.is-deduct {
  color: var(--yr-red);
}

.payroll-review-source,
.payroll-review-action {
  min-width: 0;
  display: grid;
  gap: 4px;
}

.payroll-review-source strong {
  color: #344054;
  font-size: 13px;
}

.payroll-review-source span {
  overflow: hidden;
  color: #667085;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.payroll-review-source.needs-action strong {
  color: var(--yr-red);
}

.payroll-review-action {
  justify-items: start;
}

.payroll-review-action .text-btn {
  padding: 0;
  font-size: 12px;
}

.payroll-slip-summary {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  border: 1px solid var(--yr-border-light);
  border-radius: 10px;
  background: #fffaf5;
  padding: 18px;
}

.payroll-slip-summary.is-locked {
  border-color: rgba(47, 143, 107, .2);
  background: #f6fbf7;
}

.payroll-slip-summary > div {
  display: grid;
  gap: 6px;
}

.payroll-slip-summary span,
.payroll-slip-summary small,
.payroll-slip-source-grid span,
.payroll-slip-ledger span {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.payroll-slip-summary > div > strong {
  color: var(--yr-text);
  font-size: 30px;
  font-variant-numeric: tabular-nums;
}

.payroll-slip-source-grid,
.payroll-slip-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.payroll-slip-source-grid > div,
.payroll-slip-ledger > div {
  display: grid;
  gap: 4px;
  border-radius: 8px;
  background: #fbf8f2;
  padding: 10px;
}

.payroll-slip-source-grid strong,
.payroll-slip-ledger strong {
  color: var(--yr-text);
  font-size: 13px;
}

.payroll-slip-remark {
  margin: 0;
  border-radius: 8px;
  background: var(--yr-warning-bg);
  color: var(--yr-text-secondary);
  padding: 10px;
  font-size: 12px;
  line-height: 1.55;
}

.payroll-slip-actions {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}

.promotion-rules-workspace {
  padding: 26px 32px 38px;
  background: var(--yr-bg);
}

.promotion-rules-shell {
  display: grid;
  gap: 20px;
  border-radius: 10px;
  background: var(--yr-card);
  padding: 32px;
  box-shadow: 0 18px 44px rgba(33, 22, 12, .07);
}

.promotion-rules-header,
.promotion-rules-header-actions,
.promotion-rule-active-note,
.promotion-draft-head,
.promotion-section-head,
.promotion-performance-panel > .promotion-section-head,
.promotion-performance-grid article > header {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  justify-content: space-between;
}

.promotion-rules-header {
  padding-bottom: 18px;
  border-bottom: 1px solid #eee8df;
}

.promotion-rules-header h2 {
  margin: 4px 0 0;
  color: var(--yr-text);
  font-size: 26px;
}

.promotion-rules-header p,
.promotion-section-head p,
.promotion-draft-head p,
.promotion-rule-active-note small,
.promotion-performance-grid p {
  margin: 6px 0 0;
  color: var(--yr-text-secondary);
  font-size: 13px;
  line-height: 1.55;
}

.promotion-rules-header-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.promotion-rules-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.promotion-rules-metrics article {
  min-height: 104px;
  display: grid;
  align-content: center;
  gap: 5px;
  border: 1px solid var(--yr-border-light);
  border-radius: 9px;
  background: #fff;
  padding: 16px;
}

.promotion-rules-metrics article.needs-action {
  border-color: rgba(195, 107, 36, .24);
  background: var(--yr-primary-subtle);
}

.promotion-rules-metrics span,
.promotion-rules-metrics small {
  color: var(--yr-text-secondary);
  font-size: 12px;
}

.promotion-rules-metrics strong {
  color: var(--yr-text);
  font-size: 23px;
}

.promotion-rules-metrics strong small {
  margin-left: 3px;
  color: inherit;
  font-size: 12px;
}

.promotion-rule-template-board {
  display: grid;
  gap: 18px;
}

.promotion-rule-active-note {
  align-items: center;
  border: 1px solid rgba(47, 143, 107, .18);
  border-radius: 10px;
  background: #f6fbf7;
  padding: 14px 16px;
}

.promotion-rule-active-note > div {
  display: grid;
  gap: 4px;
}

.promotion-rule-active-note strong {
  color: var(--yr-text);
}

.promotion-rules-main-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 16px;
  align-items: start;
}

.promotion-path-panel,
.promotion-version-panel,
.promotion-performance-panel,
.promotion-draft-editor {
  min-width: 0;
  border: 1px solid var(--yr-border-light);
  border-radius: 10px;
  background: #fff;
  padding: 18px;
}

.promotion-section-head h3,
.promotion-draft-head h3 {
  margin: 3px 0 0;
  color: var(--yr-text);
  font-size: 18px;
}

.promotion-track-grid,
.promotion-performance-grid,
.promotion-performance-tables {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
}

.promotion-track-card {
  overflow: hidden;
  border: 1px solid var(--yr-border-light);
  border-radius: 9px;
  background: #fffcf8;
}

.promotion-track-card > header {
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--yr-border-light);
  padding: 11px 13px;
}

.promotion-track-card > header span,
.promotion-track-card > header strong {
  color: var(--yr-text);
  font-size: 13px;
}

.promotion-track-list,
.promotion-version-list {
  display: grid;
}

.promotion-track-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid rgba(74, 57, 40, .08);
  padding: 11px 13px;
}

.promotion-track-row:last-child {
  border-bottom: 0;
}

.promotion-track-row > div {
  display: grid;
  gap: 3px;
}

.promotion-track-row strong {
  color: var(--yr-text);
  font-size: 13px;
}

.promotion-track-row i {
  color: var(--yr-accent);
  font-style: normal;
}

.promotion-track-row span,
.promotion-track-row small {
  color: var(--yr-text-secondary);
  font-size: 11px;
}

.promotion-track-row > small {
  white-space: nowrap;
}

.promotion-version-list {
  gap: 8px;
  margin-top: 14px;
}

.promotion-version-list article {
  display: flex;
  gap: 9px;
  align-items: center;
  border-radius: 8px;
  background: #fbf8f2;
  padding: 10px;
}

.promotion-version-list article > div {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.promotion-version-list strong,
.promotion-version-list small {
  overflow: hidden;
  color: var(--yr-text);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.promotion-version-list small {
  color: var(--yr-text-secondary);
}

.promotion-performance-grid article {
  border: 1px solid var(--yr-border-light);
  border-radius: 9px;
  background: #fffcf8;
  padding: 15px;
}

.promotion-performance-grid article > header div {
  display: grid;
  gap: 4px;
}

.promotion-performance-grid article > header span,
.promotion-performance-grid article > header em {
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-style: normal;
}

.promotion-performance-grid article > header strong {
  color: var(--yr-text);
  font-size: 15px;
}

.promotion-performance-examples {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.promotion-performance-examples > span {
  display: grid;
  gap: 3px;
  border-radius: 8px;
  background: #f6f2ed;
  padding: 9px;
}

.promotion-performance-examples b,
.promotion-performance-examples em,
.promotion-performance-examples strong {
  color: var(--yr-text);
  font-size: 11px;
  font-style: normal;
}

.promotion-performance-examples em {
  color: var(--yr-accent);
}

.promotion-performance-details {
  margin-top: 14px;
}

.promotion-performance-details > summary {
  color: var(--yr-accent);
  cursor: pointer;
  font-size: 13px;
  font-weight: 800;
}

.promotion-performance-table {
  overflow: hidden;
  border: 1px solid var(--yr-border-light);
  border-radius: 8px;
}

.promotion-performance-table header,
.promotion-performance-table > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 8px 10px;
  font-size: 11px;
}

.promotion-performance-table header {
  background: #f6f2ed;
  color: var(--yr-text-secondary);
  font-weight: 800;
}

.promotion-performance-table > div {
  border-top: 1px solid rgba(74, 57, 40, .07);
  color: var(--yr-text);
}

.promotion-draft-editor {
  border-color: rgba(195, 107, 36, .25);
  background: var(--yr-primary-subtle);
}

.promotion-draft-form {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.promotion-draft-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.promotion-draft-meta label {
  display: grid;
  gap: 6px;
  color: var(--yr-text-secondary);
  font-size: 12px;
  font-weight: 800;
}

.promotion-draft-meta label.wide {
  grid-column: 1 / -1;
}

.promotion-draft-meta input,
.promotion-draft-row input,
.promotion-draft-row textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid var(--yr-border);
  border-radius: 7px;
  background: #fff;
  color: var(--yr-text);
  padding: 8px;
  font: inherit;
}

.promotion-draft-table {
  overflow-x: auto;
}

.promotion-draft-table-head,
.promotion-draft-row {
  display: grid;
  grid-template-columns: 110px 110px 64px 76px 76px 76px 76px minmax(220px, 1fr);
  gap: 8px;
  align-items: center;
  min-width: 900px;
  padding: 8px;
}

.promotion-draft-table-head {
  border-radius: 8px;
  background: #f1e9df;
  color: var(--yr-text-secondary);
  font-size: 11px;
  font-weight: 800;
}

.promotion-draft-row {
  border-bottom: 1px solid rgba(74, 57, 40, .08);
}

.promotion-draft-row textarea {
  min-height: 52px;
  resize: vertical;
}

.promotion-draft-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-content: flex-end;
}

.promotion-draft-actions span {
  margin-right: auto;
  color: var(--yr-text-secondary);
  font-size: 12px;
}

@media (max-width: 980px) {
  .promotion-rules-metrics,
  .promotion-track-grid,
  .promotion-performance-grid,
  .promotion-performance-tables {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .promotion-rules-main-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 760px) {
  .promotion-rules-workspace,
  .yr-attendance-c,
  .yr-payroll-c {
    padding: 14px 12px 28px;
  }

  .promotion-rules-shell,
  .attendance-c-shell,
  .payroll-c-shell {
    gap: 16px;
    padding: 18px 14px;
  }

  .promotion-rules-header,
  .promotion-rule-active-note,
  .promotion-draft-head,
  .promotion-performance-panel > .promotion-section-head,
  .payroll-snapshot-banner {
    align-items: stretch;
    flex-direction: column;
  }

  .promotion-rules-header-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .promotion-rules-header-actions .solid-btn {
    grid-column: 1 / -1;
  }

  .promotion-rules-metrics,
  .promotion-track-grid,
  .promotion-performance-grid,
  .promotion-performance-tables,
  .promotion-draft-meta,
  .payroll-slip-source-grid,
  .payroll-slip-ledger {
    grid-template-columns: 1fr;
  }

  .promotion-track-row {
    grid-template-columns: 1fr;
  }

  .promotion-track-row > small {
    white-space: normal;
  }

  .promotion-performance-examples {
    grid-template-columns: 1fr;
  }

  .promotion-draft-meta label.wide {
    grid-column: auto;
  }

  .promotion-draft-actions,
  .payroll-slip-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .promotion-draft-actions span {
    margin-right: 0;
  }

  .attendance-c-actions,
  .payroll-c-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .attendance-c-actions > .solid-btn,
  .payroll-c-actions > .solid-btn,
  .payroll-c-actions > .payroll-c-lock-btn {
    width: 100%;
  }

  .attendance-toast,
  .payroll-c-toast {
    position: static;
    max-width: none;
    margin-bottom: 12px;
    border-radius: 8px;
    pointer-events: auto;
  }

  .attendance-more-actions > summary,
  .payroll-more-actions > summary {
    width: 100%;
    justify-content: center;
  }

  .payroll-snapshot-banner p {
    max-width: none;
  }
}

@media (max-width: 430px) {
  .promotion-rules-header-actions,
  .attendance-c-actions,
  .payroll-c-actions {
    grid-template-columns: 1fr;
  }

  .promotion-rules-header-actions .solid-btn {
    grid-column: auto;
  }
}

/* 经营分析 V5：经营驾驶舱 */
.analytics-v5 {
  width: 100%;
  max-width: 1680px;
  gap: 16px;
  color: #2a2521;
}

.analytics-v5-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px 24px;
  align-items: center;
  padding: 2px;
}

.analytics-v5-title {
  display: flex;
  gap: 18px;
  align-items: center;
  min-width: 0;
}

.analytics-v5-title > .eyebrow {
  padding: 5px 8px;
  border: 1px solid rgba(211, 59, 39, 0.28);
  border-radius: 5px;
  color: #b94a35;
  background: #fff8f1;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.analytics-v5-title > div {
  display: flex;
  gap: 22px;
  align-items: baseline;
  min-width: 0;
}

.analytics-v5-title h2 {
  margin: 0;
  color: #211d1a;
  font-size: clamp(28px, 2.4vw, 36px);
  line-height: 1.1;
  letter-spacing: -0.045em;
}

.analytics-v5-title p {
  margin: 0;
  color: #8d8279;
  font-size: 13px;
  white-space: nowrap;
}

.analytics-v5 .analytics-command-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: flex-end;
}

.analytics-v5 .analytics-command-actions button {
  min-width: 136px;
  min-height: 42px;
}

.analytics-v5 .analytics-command-actions .ghost-btn {
  border-color: #d34b35;
  color: #9f3526;
  background: #fffdf9;
}

.analytics-v5-toolbar {
  grid-column: 1 / -1;
  display: flex;
  gap: 12px;
  align-items: center;
  min-width: 0;
}

.analytics-v5-toolbar > label {
  display: flex;
  gap: 10px;
  align-items: center;
  color: #645b54;
  font-size: 12px;
  font-weight: 800;
}

.analytics-v5-toolbar select,
.analytics-v5-panel-head select {
  min-height: 36px;
  border: 1px solid #ddd2c5;
  border-radius: 6px;
  padding: 0 34px 0 11px;
  color: #332d28;
  background: #fffdf9;
  font: inherit;
  font-weight: 750;
}

.analytics-v5 .analytics-data-freshness {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #e8dccf;
  border-radius: 6px;
  color: #756a61;
  background: #f4ece3;
  font-size: 11px;
  font-weight: 750;
}

.analytics-v5 .analytics-data-freshness.is-stale {
  border-color: #ead1bc;
  color: #9a6049;
  background: #f6e9dd;
}

.analytics-v5-modes {
  display: flex;
  gap: 2px;
  margin-left: auto;
  padding: 3px;
  border: 1px solid #dfd5ca;
  border-radius: 7px;
  background: #eee6dd;
}

.analytics-v5-modes button {
  min-height: 30px;
  border: 0;
  border-radius: 5px;
  padding: 0 12px;
  color: #7a7067;
  background: transparent;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}

.analytics-v5-modes button.is-active {
  color: #2a2521;
  background: #fffdf9;
  box-shadow: 0 1px 3px rgba(59, 44, 31, 0.12);
}

.analytics-v5-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.analytics-v5-metrics article {
  display: grid;
  gap: 9px;
  min-width: 0;
  min-height: 146px;
  padding: 16px 18px 13px;
  border: 1px solid #e4dacf;
  border-radius: 9px;
  background: #fffdfb;
  box-shadow: 0 7px 16px rgba(62, 47, 34, 0.055);
}

.analytics-v5-metrics article > div,
.analytics-v5-metrics article > p,
.analytics-v5-metrics article > footer {
  display: flex;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
}

.analytics-v5-metrics article > div > span {
  color: #776d65;
  font-size: 13px;
  font-weight: 800;
}

.analytics-v5-metrics article > div > i {
  display: inline-flex;
  color: #aa4a36;
}

.analytics-v5-metrics article > div .ui-icon {
  width: 18px;
  height: 18px;
}

.analytics-v5-metrics article > strong {
  color: #211d1a;
  font-size: clamp(25px, 2.1vw, 33px);
  line-height: 1;
  letter-spacing: -0.035em;
  font-variant-numeric: tabular-nums;
}

.analytics-v5-metrics article > p {
  margin: 0;
  color: #938980;
  font-size: 10px;
}

.analytics-v5-metrics article > p b {
  font-size: 11px;
  font-weight: 900;
}

.analytics-v5 .is-good {
  color: #3f8b5f !important;
}

.analytics-v5 .is-risk {
  color: #d34b35 !important;
}

.analytics-v5 .is-muted {
  color: #958a81 !important;
}

.analytics-v5-metrics article > footer {
  justify-content: flex-start;
  margin-top: auto;
  padding-top: 9px;
  border-top: 1px solid #eee6de;
  color: #777067;
  font-size: 10px;
}

.analytics-v5-metrics article > footer.is-warning {
  color: #a86b27;
}

.analytics-v5-metrics article > footer .ui-icon {
  width: 14px;
  height: 14px;
}

.analytics-v5-main {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(330px, 0.8fr);
  gap: 14px;
  align-items: start;
}

.analytics-v5-main > .module {
  min-width: 0;
  border: 1px solid #e3d8cc;
  border-radius: 10px;
  background: #fffdfb;
  box-shadow: 0 8px 19px rgba(58, 43, 31, 0.05);
}

.analytics-v5-trend {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-template-rows: auto auto 150px auto;
  gap: 8px;
  min-height: 0;
  padding: 12px;
}

.analytics-v5-priority {
  grid-column: 2;
  grid-row: 1 / 3;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  min-height: 100%;
  padding: 12px;
}

.analytics-v5-store-table {
  grid-column: 1;
  grid-row: 2;
  min-width: 0;
  padding: 12px;
}

.analytics-v5-panel-head {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  justify-content: space-between;
  min-width: 0;
  padding-bottom: 12px;
  border-bottom: 1px solid #ebe2da;
}

.analytics-v5-panel-head h3 {
  margin: 0;
  color: #2a2521;
  font-size: 17px;
  letter-spacing: -0.01em;
}

.analytics-v5-panel-head p {
  margin: 4px 0 0;
  color: #938980;
  font-size: 11px;
}

.analytics-v5-panel-head label {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #7b7169;
  font-size: 11px;
  font-weight: 800;
}

.analytics-v5-panel-head select {
  min-height: 32px;
  padding-left: 9px;
  font-size: 11px;
}

.analytics-v5-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  min-height: 24px;
  align-items: center;
  color: #756b63;
  font-size: 10px;
}

.analytics-v5-legend span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
}

.analytics-v5-legend i {
  width: 18px;
  height: 2px;
  background: #d33b27;
}

.analytics-v5-legend .tone-1 i {
  background: #e7832e;
}

.analytics-v5-legend .tone-2 i {
  background: #43835c;
}

.analytics-v5-legend .tone-3 i {
  background: #8c8a86;
}

.analytics-v5-chart-shell {
  position: relative;
  min-width: 0;
  min-height: 150px;
}

.analytics-v5-chart-shell canvas {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 150px;
}

.analytics-v5-chart-latest {
  position: absolute;
  right: 12px;
  bottom: 28px;
  display: grid;
  gap: 4px;
  min-width: 142px;
  padding: 8px 9px;
  border: 1px solid #d9cfc5;
  border-radius: 6px;
  color: #756b63;
  background: rgba(255, 253, 249, 0.96);
  box-shadow: 0 4px 12px rgba(53, 41, 31, 0.11);
  font-size: 9px;
}

.analytics-v5-chart-latest > strong {
  margin-bottom: 2px;
  color: #514943;
  font-size: 10px;
}

.analytics-v5-chart-latest > span {
  display: grid;
  grid-template-columns: 7px minmax(0, 1fr) auto;
  gap: 5px;
  align-items: center;
}

.analytics-v5-chart-latest i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #d33b27;
}

.analytics-v5-chart-latest .tone-1 i {
  background: #e7832e;
}

.analytics-v5-chart-latest .tone-2 i {
  background: #43835c;
}

.analytics-v5-chart-latest .tone-3 i {
  background: #8c8a86;
}

.analytics-v5-chart-latest b {
  color: #453d37;
  font-weight: 850;
}

.analytics-v5-trend > footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  justify-content: space-between;
  padding-top: 10px;
  border-top: 1px solid #eee6de;
  color: #9a9087;
  font-size: 10px;
}

.analytics-v5-trend > footer strong {
  color: #786e66;
  font-weight: 750;
}

.analytics-v5-priority-list {
  display: grid;
  gap: 10px;
  align-content: start;
  padding: 12px 0;
}

.analytics-v5-priority-list article {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: start;
  min-height: 126px;
  padding: 12px;
  border: 1px solid #eadfd4;
  border-radius: 8px;
  background: #fcf7f1;
}

.analytics-v5-priority-list article > span {
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  background: #d2442e;
  font-size: 12px;
  font-weight: 900;
}

.analytics-v5-priority-list article.is-medium > span {
  background: #e8842f;
}

.analytics-v5-priority-list article > div {
  min-width: 0;
}

.analytics-v5-priority-list strong {
  display: block;
  padding-right: 76px;
  color: #332c27;
  font-size: 13px;
  line-height: 1.4;
}

.analytics-v5-priority-list em {
  display: block;
  margin-top: 3px;
  color: #c95339;
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}

.analytics-v5-priority-list p,
.analytics-v5-priority-list small {
  color: #71675f;
  font-size: 10px;
  line-height: 1.5;
}

.analytics-v5-priority-list p {
  margin: 9px 0 4px;
}

.analytics-v5-priority-list button {
  align-self: end;
  min-height: 32px;
  padding: 0 9px;
  white-space: nowrap;
}

.analytics-v5-priority > footer {
  display: flex;
  gap: 8px;
  align-items: flex-start;
  padding: 10px;
  border-radius: 7px;
  color: #7d7269;
  background: #f3ece4;
  font-size: 10px;
  line-height: 1.45;
}

.analytics-v5-priority > footer .ui-icon {
  flex: 0 0 auto;
  width: 15px;
  height: 15px;
}

.analytics-v5-table-scroll {
  width: 100%;
  overflow-x: auto;
  padding-top: 10px;
}

.analytics-v5-store-table table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  color: #3e3732;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
}

.analytics-v5-store-table th,
.analytics-v5-store-table td {
  padding: 8px 9px;
  border: 1px solid #ebe2d9;
  text-align: left;
  white-space: nowrap;
}

.analytics-v5-store-table th {
  color: #6e645d;
  background: #f6efe7;
  font-size: 10px;
}

.analytics-v5-store-table tbody tr:hover td {
  background: #fff8f1;
}

.analytics-v5-store-table td strong,
.analytics-v5-store-table td small {
  display: block;
}

.analytics-v5-store-table td small {
  margin-top: 4px;
  color: #988e85;
  font-size: 9px;
}

.analytics-v5-store-table td.is-attention {
  color: #c4553c;
  font-weight: 850;
}

.analytics-v5-store-table tfoot td {
  color: #302923;
  background: #f5eee7;
  font-weight: 850;
}

.analytics-v5-coverage {
  width: 84px;
  height: 6px;
  display: block;
  border: 0;
  border-radius: 999px;
  overflow: hidden;
  background: #eee5dc;
  appearance: none;
}

.analytics-v5-coverage::-webkit-progress-bar {
  background: #eee5dc;
}

.analytics-v5-coverage::-webkit-progress-value {
  background: #4b8a64;
}

.analytics-v5-coverage::-moz-progress-bar {
  background: #4b8a64;
}

.analytics-v5-data-note {
  padding-top: 10px;
  color: #91867d;
  font-size: 10px;
}

.analytics-v5 .analytics-cockpit-grid,
.analytics-v5 .analytics-drilldown-grid {
  margin-top: 0;
}

@media (max-width: 1180px) {
  .analytics-v5-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

  .analytics-v5-trend,
  .analytics-v5-priority,
  .analytics-v5-store-table {
    grid-column: 1;
    grid-row: auto;
  }
}

@media (max-width: 760px) {
  .analytics-v5-header {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .analytics-v5-title,
  .analytics-v5-title > div {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .analytics-v5 .analytics-command-actions,
  .analytics-v5 .analytics-command-actions button {
    width: 100%;
  }

  .analytics-v5-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
  }

  .analytics-v5-toolbar > label {
    display: grid;
    grid-template-columns: 1fr;
  }

  .analytics-v5-toolbar select,
  .analytics-v5 .analytics-data-freshness {
    width: 100%;
  }

  .analytics-v5-modes {
    width: 100%;
    margin-left: 0;
  }

  .analytics-v5-modes button {
    flex: 1;
    padding: 0 6px;
  }

  .analytics-v5-metrics {
    gap: 10px;
  }

  .analytics-v5-metrics article {
    min-height: 136px;
    padding: 13px;
  }

  .analytics-v5-trend,
  .analytics-v5-priority,
  .analytics-v5-store-table {
    padding: 13px;
  }
}

@media (max-width: 480px) {
  .analytics-v5-title h2 {
    font-size: 28px;
  }

  .analytics-v5 .analytics-command-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

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

  .analytics-v5-metrics article {
    min-height: 124px;
  }

  .analytics-v5-panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .analytics-v5-panel-head label,
  .analytics-v5-panel-head select,
  .analytics-v5-panel-head > button {
    width: 100%;
  }

  .analytics-v5-chart-shell,
  .analytics-v5-chart-shell canvas {
    min-height: 240px;
  }

  .analytics-v5-chart-latest {
    display: none;
  }

  .analytics-v5-priority-list article {
    grid-template-columns: 28px minmax(0, 1fr);
  }

  .analytics-v5-priority-list article > button {
    grid-column: 2;
    justify-self: stretch;
  }
}

/* 全站统一导入导出 */
.data-transfer-bar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 18px;
  min-height: 58px;
  margin: 0 0 14px;
  padding: 10px 14px;
  border: 1px solid rgba(93, 75, 60, 0.14);
  border-radius: 12px;
  background: rgba(255, 253, 249, 0.92);
  box-shadow: 0 4px 16px rgba(62, 47, 35, 0.04);
}

.data-transfer-summary,
.data-transfer-actions {
  display: flex;
  align-items: center;
}

.data-transfer-summary {
  min-width: 0;
  gap: 10px;
}

.data-transfer-summary > span {
  display: grid;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  place-items: center;
  border-radius: 9px;
  color: var(--yr-red, #b64835);
  background: rgba(182, 72, 53, 0.08);
}

.data-transfer-summary .ui-icon {
  width: 17px;
  height: 17px;
}

.data-transfer-summary div {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.data-transfer-summary strong {
  color: var(--yr-ink, #2d2925);
  font-size: 13px;
}

.data-transfer-summary small,
.data-transfer-summary em {
  overflow: hidden;
  color: var(--yr-muted, #776d64);
  font-size: 11px;
  font-style: normal;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.data-transfer-summary em {
  color: #9a8d82;
  font-size: 10px;
}

.data-transfer-actions {
  flex: 0 0 auto;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.data-transfer-actions .ghost-btn {
  min-height: 34px;
  padding: 6px 11px;
  white-space: nowrap;
}

.data-transfer-file-input {
  display: none;
}

.data-transfer-status {
  width: 100%;
  color: var(--yr-muted, #776d64);
  font-size: 11px;
  text-align: right;
}

.data-transfer-status:empty {
  display: none;
}

.data-transfer-status.is-success {
  color: #42745a;
}

.data-transfer-status.is-error {
  color: var(--yr-red, #b64835);
}

.data-transfer-preview {
  display: grid;
  width: 100%;
  min-width: 0;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(93, 75, 60, 0.14);
  border-radius: 10px;
  background: #fffdfa;
}

.data-transfer-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.data-transfer-preview-head > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.data-transfer-preview-head strong {
  color: var(--yr-ink, #2d2925);
  font-size: 13px;
}

.data-transfer-preview-head span,
.data-transfer-preview > p,
.data-transfer-preview-errors {
  color: var(--yr-muted, #776d64);
  font-size: 11px;
}

.data-transfer-preview-errors {
  display: grid;
  gap: 4px;
  padding: 8px 10px;
  border-radius: 8px;
  color: var(--yr-red, #b64835);
  background: rgba(182, 72, 53, 0.06);
}

.data-transfer-preview-errors em {
  font-style: normal;
}

.data-transfer-preview-table {
  overflow-x: auto;
  max-width: 100%;
  border: 1px solid rgba(93, 75, 60, 0.12);
  border-radius: 8px;
}

.data-transfer-preview-table table {
  width: 100%;
  min-width: 560px;
  border-collapse: collapse;
  font-size: 11px;
}

.data-transfer-preview-table th,
.data-transfer-preview-table td {
  padding: 7px 9px;
  border-bottom: 1px solid rgba(93, 75, 60, 0.1);
  text-align: left;
  white-space: nowrap;
}

.data-transfer-preview-table th {
  color: #66584d;
  background: #f7f1e9;
}

.data-transfer-preview > p {
  margin: 0;
}

@media (max-width: 900px) {
  .data-transfer-bar {
    align-items: stretch;
    flex-direction: column;
    gap: 9px;
    padding: 10px;
  }

  .data-transfer-summary small,
  .data-transfer-summary em {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
  }

  .data-transfer-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .data-transfer-actions .ghost-btn {
    width: 100%;
  }

  .data-transfer-status {
    grid-column: 1 / -1;
    text-align: left;
  }

  .data-transfer-preview-head {
    align-items: stretch;
    flex-direction: column;
  }

  .data-transfer-preview-head > div:last-child {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .data-transfer-preview-head button {
    width: 100%;
  }
}

@media print {
  .app-sidebar,
  .desktop-mega-menu,
  .workspace-header,
  .nav-drawer-backdrop,
  .data-transfer-actions,
  .data-transfer-preview,
  .drawer-backdrop,
  .operations-drawer-layer,
  button {
    display: none !important;
  }

  body,
  .ops-layout,
  .workspace,
  .workspace-body {
    overflow: visible !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    background: #fff !important;
  }

  .data-transfer-bar {
    display: block;
    margin: 0 0 12mm;
    padding: 0 0 4mm;
    border-width: 0 0 1px;
    border-radius: 0;
    box-shadow: none;
  }

  .module,
  table,
  article {
    break-inside: avoid;
  }
}

/* Account access and password lifecycle */
.account-tools { padding: 20px 0; border-block: 1px solid #e3dcd2; margin: 18px 0; }
.account-form { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin: 16px 0; }
.account-form label,.account-receipt label { display: flex; flex-direction: column; gap: 8px; color: #322314; font-weight: 600; }
.account-form input:not([type=checkbox]),.account-form select,.account-receipt input { box-sizing: border-box; width:100%; min-height:44px; padding:10px 12px; border:1px solid #c9beb0; border-radius:8px; background:#fff; color:#322314; font:inherit; }
.account-form small,.account-form p,.account-tools p { color:#62564b; font-weight:400; line-height:1.6; }
.account-form-wide { grid-column:1/-1; }
.account-form .account-confirm { flex-direction:row; align-items:flex-start; font-weight:400; }
.account-confirm input { width:20px; height:20px; flex:0 0 auto; }
.account-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.account-actions button,.account-tools button { min-height:44px; }
.account-form-error { color:#a42618 !important; margin:0; min-height:1em; }
.account-receipt { background:#f4efe5; padding:20px; border:1px solid #cdbd9c; border-radius:12px; margin:16px 0; overflow-wrap:anywhere; }
.account-list article { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 0; border-bottom:1px solid #e6dfd7; }
.account-list article span { display:block; margin-top:5px; color:#62564b; }
.account-password-page { box-sizing:border-box; min-height:calc(100vh - 70px); display:grid; place-items:center; padding:24px; background:#f6f2eb; }
.account-password-page>.module { width:min(100%,520px); box-sizing:border-box; padding:28px; }
.account-dialog { width:min(480px,calc(100vw - 32px)); box-sizing:border-box; border:1px solid #d8cbbb; border-radius:14px; padding:24px; color:#322314; }
.account-dialog::backdrop { background:rgba(45,31,20,.35); }
.login-account-help { color:#62564b; font-size:13px; }
@media(max-width:600px){.account-form{grid-template-columns:1fr}.account-list article{align-items:flex-start;flex-direction:column}.account-password-page{padding:16px}.account-password-page>.module{padding:20px}.account-tools .module-head{flex-wrap:wrap}.account-tools .account-actions{width:100%}.account-tools button{white-space:normal}}
