/* Hallmark · macrostructure: Workbench · tone: utilitarian · anchor hue: per-theme · genre: modern-minimal · nav: N1b · footer: Ft2 · pre-emit critique: P4 H5 E4 S4 R5 V4 */

html[data-theme] body.workbench-page {
  min-width: 1180px;
  color: var(--color-ink);
  background: var(--color-paper) !important;
  font-family: var(--font-body);
  font-size: var(--text-sm);
  line-height: 1.5;
}

html[data-theme] body.workbench-page :is(code, pre, time, .today-date, .metric-card > strong, .monthly-stat > strong) {
  font-family: var(--font-outlier) !important;
}

html[data-theme] body.workbench-page :is(h1, h2, h3, h4) {
  color: var(--color-ink);
  font-family: var(--font-display);
  font-style: normal;
  letter-spacing: var(--tracking-display);
}

html[data-theme] body.workbench-page :is(.page-texture, .theme-sidebar, .workspace-tabs, .theme-seven-progress, .theme-planning-illustration) {
  display: none !important;
}

html[data-theme] body.workbench-page .app-shell {
  display: block !important;
  width: min(var(--content-max), calc(100% - var(--space-lg))) !important;
  margin: 0 auto;
  padding: var(--space-xs) 0 var(--space-sm) !important;
}

html[data-theme] body.workbench-page main {
  display: block !important;
  min-width: 0;
}

html[data-theme] body.workbench-page .app-header {
  display: grid !important;
  min-height: 0 !important;
  grid-template-columns: minmax(280px, 1fr) auto;
  align-items: center;
  gap: 0 !important;
  margin: 0 0 var(--space-xs) !important;
  padding: 0;
  overflow: hidden;
  background: var(--color-paper-2);
  border: var(--rule-hair) solid var(--color-rule);
  border-radius: var(--radius-card);
  box-shadow: none !important;
  animation: none !important;
}

html[data-theme] body.workbench-page .brand-lockup {
  min-width: 0;
  grid-column: 1;
  grid-row: 1;
  gap: var(--space-xs);
  padding: var(--space-2xs) var(--space-sm);
}

html[data-theme] body.workbench-page .brand-stamp {
  width: var(--control-md) !important;
  height: var(--control-md) !important;
  color: var(--color-accent-ink) !important;
  background: var(--color-accent) !important;
  border: 0 !important;
  border-radius: var(--radius-input) !important;
  box-shadow: none !important;
  font-family: var(--font-display);
  font-size: var(--text-lg) !important;
  font-weight: 700;
  transform: none !important;
}

html[data-theme] body.workbench-page .brand-lockup > div:last-child {
  min-width: 0;
}

html[data-theme] body.workbench-page .app-header h1 {
  margin: 0;
  font-size: var(--text-xl) !important;
  font-weight: 600 !important;
  line-height: 1.25;
}

html[data-theme] body.workbench-page :is(.eyebrow, .brand-note) {
  display: none;
}

html[data-theme] body.workbench-page .header-actions {
  display: flex;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  align-items: center !important;
  justify-content: flex-end;
  gap: var(--space-2xs) !important;
  padding: var(--space-2xs) var(--space-sm);
  white-space: nowrap;
}

html[data-theme] body.workbench-page .product-nav {
  display: flex;
  min-width: 0;
  min-height: var(--row-md);
  grid-column: 1 / -1;
  grid-row: 2;
  align-items: stretch;
  gap: 0;
  padding: 0 var(--space-2xs);
  overflow-x: auto;
  border-top: var(--rule-hair) solid var(--color-rule);
  scrollbar-width: none;
}

html[data-theme] body.workbench-page .product-nav::-webkit-scrollbar {
  display: none;
}

html[data-theme] body.workbench-page .product-nav-link {
  position: relative;
  display: inline-flex;
  min-height: var(--row-md);
  align-items: center;
  padding: 0 var(--space-sm);
  color: var(--color-ink-2);
  border-bottom: var(--rule-fine) solid transparent;
  font-size: var(--text-sm);
  font-weight: 500;
  text-decoration: none;
  white-space: nowrap;
  transition: color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out);
}

html[data-theme] body.workbench-page .product-nav-link:hover {
  color: var(--color-ink);
  background: var(--color-paper-3);
}

html[data-theme] body.workbench-page .product-nav-link:is(.is-active, [aria-current="page"]) {
  color: var(--color-accent-text);
  border-bottom-color: var(--color-accent);
  font-weight: 600;
}

html[data-theme] body.workbench-page .theme-picker {
  display: block;
  min-width: 142px !important;
  color: var(--color-muted);
}

html[data-theme] body.workbench-page .theme-picker > span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

html[data-theme] body.workbench-page :is(input, select, textarea) {
  color: var(--color-ink);
  background: var(--color-paper-2) !important;
  border-color: var(--color-rule-2) !important;
  border-radius: var(--radius-input) !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .theme-picker select {
  width: 100%;
  min-height: var(--control-sm) !important;
  padding: 0 var(--space-xs);
  font-size: var(--text-xs);
  font-weight: 500;
}

html[data-theme] body.workbench-page .account-badge {
  min-height: var(--control-sm) !important;
  padding: 0 var(--space-xs) !important;
  color: var(--color-ink-2) !important;
  background: var(--color-paper-3) !important;
  border: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: var(--radius-input) !important;
  box-shadow: none !important;
  font-size: var(--text-xs) !important;
  font-weight: 500;
}

html[data-theme] body.workbench-page .button {
  min-height: var(--control-sm) !important;
  padding: 0 var(--space-xs) !important;
  border-radius: var(--radius-input) !important;
  box-shadow: none !important;
  font-size: var(--text-xs) !important;
  font-weight: 600;
  transform: none !important;
  transition: color var(--dur-micro) var(--ease-out), background-color var(--dur-micro) var(--ease-out), border-color var(--dur-micro) var(--ease-out), opacity var(--dur-micro) var(--ease-out);
}

html[data-theme] body.workbench-page :is(.button-primary, .button-dark) {
  width: auto;
  color: var(--color-action-ink) !important;
  background: var(--color-action) !important;
  border-color: var(--color-action) !important;
}

html[data-theme] body.workbench-page :is(.button-primary, .button-dark):hover:not(:disabled) {
  color: var(--color-action-ink) !important;
  background: var(--color-action) !important;
  border-color: var(--color-accent) !important;
}

html[data-theme] body.workbench-page .button-secondary {
  color: var(--color-ink) !important;
  background: var(--color-paper-2) !important;
  border-color: var(--color-rule-2) !important;
  backdrop-filter: none !important;
}

html[data-theme] body.workbench-page .button-ghost {
  color: var(--color-ink-2) !important;
  background: transparent !important;
  border-color: var(--color-rule) !important;
}

html[data-theme] body.workbench-page :is(.button-secondary, .button-ghost):hover:not(:disabled) {
  color: var(--color-accent-text) !important;
  background: var(--color-accent-soft) !important;
  border-color: var(--color-accent) !important;
}

html[data-theme] body.workbench-page :is(
  .text-button,
  .completion-more-button,
  .admin-action,
  .admin-rule-details > summary,
  .rule-technical-details > summary,
  .company-import-rule-details > summary,
  .company-evidence-details > summary,
  .admin-rule-link
) {
  color: var(--color-accent-text) !important;
}

html[data-theme] body.workbench-page :is(.quantity-source-button, .company-evidence-link) {
  color: var(--color-accent-text) !important;
  background: var(--color-accent-soft) !important;
  border-color: var(--color-rule-2) !important;
}

html[data-theme] body.workbench-page :is(
  .quantity-source-button:hover,
  .quantity-source-button:focus-visible,
  .company-evidence-link:hover,
  .company-evidence-link:focus-visible
) {
  color: var(--color-action-ink) !important;
  background: var(--color-action) !important;
  border-color: var(--color-action) !important;
}

html[data-theme] body.workbench-page :is(.button, .text-button):disabled {
  cursor: not-allowed;
  opacity: 1;
  filter: saturate(0.45);
}

html[data-theme] body.workbench-page .admin-import-settings-form .button:disabled {
  color: var(--color-muted) !important;
  background: var(--color-paper-3) !important;
  border-color: var(--color-rule-2) !important;
  box-shadow: none !important;
  filter: none;
}

html[data-theme] body.workbench-page :is(button, a, input, select, textarea, summary):focus-visible {
  outline: var(--rule-fine) solid var(--color-focus) !important;
  outline-offset: var(--rule-fine);
}

html[data-theme] body.workbench-page .panel {
  background: var(--color-paper-2) !important;
  border: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

html[data-theme] body.workbench-page :is(.storage-warning, .conflict-warning, .debug-sandbox-banner, .company-import-status) {
  margin-bottom: var(--space-xs);
  padding: var(--space-2xs) var(--space-xs);
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .summary-board {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  overflow: hidden;
  padding: 0 !important;
  animation: none !important;
}

html[data-theme] body.workbench-page .summary-board::before {
  display: none;
}

html[data-theme] body.workbench-page .summary-toolbar {
  display: contents !important;
}

html[data-theme] body.workbench-page .summary-toolbar > div:first-child {
  display: none !important;
}

html[data-theme] body.workbench-page .summary-toolbar h2 {
  font-size: var(--text-lg) !important;
  font-weight: 600;
}

html[data-theme] body.workbench-page .date-controls {
  display: flex;
  min-width: 0;
  grid-column: 2;
  grid-row: 1;
  align-items: center;
  margin-left: 0;
  padding: var(--space-2xs) var(--space-sm) !important;
  background: var(--color-paper-2) !important;
  border: 0 !important;
  border-left: var(--rule-hair) solid var(--color-rule) !important;
}

html[data-theme] body.workbench-page :is(.today-date, .field-label > input, .input-with-unit, .month-switcher input) {
  min-height: var(--control-md) !important;
  border-radius: var(--radius-input) !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .field-label {
  gap: var(--space-3xs);
  color: var(--color-muted);
  font-size: var(--text-2xs);
  font-weight: 600;
}

html[data-theme] body.workbench-page .metric-grid-four {
  display: grid !important;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}

html[data-theme] body.workbench-page .metric-projected {
  display: none !important;
}

html[data-theme] body.workbench-page .metric-card {
  min-height: 78px !important;
  padding: var(--space-xs) var(--space-sm) !important;
  background: var(--color-paper-2) !important;
  border: 0 !important;
  border-right: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .metric-card:last-child {
  border-right: 0 !important;
}

html[data-theme] body.workbench-page .metric-primary {
  background: var(--color-accent-soft) !important;
}

html[data-theme] body.workbench-page .metric-label {
  color: var(--color-muted);
  font-size: var(--text-2xs) !important;
  font-weight: 500;
}

html[data-theme] body.workbench-page .metric-card > strong {
  color: var(--color-ink);
  font-family: var(--font-outlier);
  font-size: var(--text-display) !important;
  font-weight: 650;
}

html[data-theme] body.workbench-page .metric-foot {
  color: var(--color-muted);
  font-size: var(--text-2xs) !important;
}

html[data-theme] body.workbench-page .monthly-summary-card {
  min-height: var(--control-md) !important;
  padding: var(--space-2xs) var(--space-sm) !important;
  color: var(--color-ink);
  background: var(--color-paper-3) !important;
  border-top: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .workspace-panel {
  display: block !important;
  margin-top: var(--space-xs) !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .workspace-grid-progress {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: var(--space-xs) !important;
  overflow: visible !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page :is(#completionView, #planningView, .forecast-disclosure[data-continuous]) {
  position: static !important;
  overflow: hidden;
  background: var(--color-paper-2) !important;
  border: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page :is(.panel-heading, .block-title-row, .admin-section-heading) {
  gap: var(--space-xs);
}

html[data-theme] body.workbench-page :is(.panel-heading h2, .admin-section-title h2, .monthly-toolbar h2, .rules-overview h2) {
  font-size: var(--text-lg) !important;
  font-weight: 600;
}

html[data-theme] body.workbench-page :is(.task-panel, .recommendation-panel, .monthly-toolbar, .monthly-trend, .monthly-calendar-panel, .monthly-detail, .admin-catalog-panel, .admin-usage-panel, .admin-company-token-panel, .admin-import-settings-panel, .admin-import-rule-panel, .rules-overview, .rule-card) {
  padding: var(--space-sm) !important;
}

html[data-theme] body.workbench-page :is(.table-wrap, .planning-tree-category, .planning-task-option, .plan-card, .active-plan-section, .admin-category-card, .admin-usage-grid > section, .admin-usage-metrics > div, .rules-live-facts > div, .rule-facts > div, .rule-technical-facts > div) {
  border-color: var(--color-rule) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page :is(.task-category-row th, .planning-tree-header, .task-table thead th, .admin-category-header) {
  background: var(--color-paper-3) !important;
}

html[data-theme] body.workbench-page .tree-category-summary {
  color: var(--color-ink-2) !important;
}

html[data-theme] body.workbench-page .admin-action {
  color: var(--color-accent-text) !important;
}

html[data-theme] body.workbench-page :is(.admin-count, .drag-handle) {
  color: var(--color-muted) !important;
}

html[data-theme] body.workbench-page :is(.task-row, .admin-task-row, .calendar-day) {
  background: var(--color-paper-2) !important;
  border-color: var(--color-rule) !important;
}

html[data-theme] body.workbench-page :is(.task-row, .admin-task-row, .calendar-day):hover {
  background: var(--color-accent-soft) !important;
}

html[data-theme] body.workbench-page .planning-task-options,
html[data-theme] body.workbench-page .planning-tree-category.is-expanded .planning-tree-children {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html[data-theme] body.workbench-page .monthly-main,
html[data-theme] body.workbench-page .admin-primary-column,
html[data-theme] body.workbench-page .rules-main {
  gap: var(--space-xs) !important;
}

html[data-theme] body.workbench-page .monthly-summary-grid {
  gap: var(--space-xs);
}

html[data-theme] body.workbench-page .monthly-stat {
  min-height: 92px;
  padding: var(--space-xs) var(--space-sm);
  border-top: var(--rule-hair) solid var(--color-rule) !important;
}

html[data-theme] body.workbench-page .monthly-stat > strong {
  font-family: var(--font-outlier);
  font-size: var(--text-2xl);
}

html[data-theme] body.workbench-page .rules-index {
  display: flex;
  gap: 0;
  padding: 0 var(--space-2xs);
  overflow-x: auto;
}

html[data-theme] body.workbench-page .rules-index a {
  min-height: var(--row-md);
  padding: 0 var(--space-xs);
  border-radius: 0 !important;
  white-space: nowrap;
}

html[data-theme] body.workbench-page .rules-grid {
  gap: var(--space-xs);
}

html[data-theme] body.workbench-page .rule-card > header {
  display: block;
}

html[data-theme] body.workbench-page :is(.rule-formula, .rule-warning) {
  border: var(--rule-hair) solid var(--color-rule);
}

html[data-theme] body.workbench-page .company-import-preview {
  color: var(--color-ink);
  background: var(--color-paper-2) !important;
  border-color: var(--color-rule) !important;
}

html[data-theme] body.workbench-page :is(
  .company-token-form,
  .company-import-loading,
  .company-import-summary,
  .company-review-item,
  .company-media-placeholder,
  .company-match-status:not(.is-matched):not(.is-warning)
) {
  color: var(--color-ink-2);
  background: var(--color-paper-3) !important;
  border-color: var(--color-rule) !important;
}

html[data-theme] body.workbench-page :is(.company-mapping-table th, .company-evidence-row > td) {
  color: var(--color-ink-2) !important;
  background: var(--color-paper-3) !important;
  border-color: var(--color-rule) !important;
}

html[data-theme] body.workbench-page :is(
  .company-review-evidence,
  .company-media-card,
  .quantity-source-event,
  .company-mapping-trigger,
  .company-mapping-dropdown[popover],
  .company-mapping-search,
  .company-task-create-form,
  .company-task-create-form input,
  .company-task-create-form select
) {
  color: var(--color-ink);
  background: var(--color-paper-2) !important;
  border-color: var(--color-rule-2) !important;
}

html[data-theme] body.workbench-page :is(
  .company-import-header .section-kicker,
  .company-import-summary p,
  .company-task-create-toggle
) {
  color: var(--color-accent-text) !important;
}

html[data-theme] body.workbench-page :is(
  .company-mapping-option:hover,
  .company-mapping-option:focus-visible,
  .company-mapping-option.is-selected
) {
  color: var(--color-accent-text) !important;
  background: var(--color-accent-soft) !important;
}

html[data-theme] body.workbench-page :is(dialog, .audit-drawer, .password-dialog, .company-import-dialog, .admin-dialog) {
  color: var(--color-ink);
  background: var(--color-paper-2) !important;
  border: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-overlay) !important;
}

html[data-theme] body.workbench-page :is(dialog, .audit-drawer, .password-dialog, .company-import-dialog, .admin-dialog)::backdrop {
  background: color-mix(in oklch, var(--color-ink) 38%, transparent) !important;
  backdrop-filter: none !important;
}

html[data-theme] body.workbench-page .toast {
  color: var(--color-accent-ink) !important;
  background: var(--color-ink) !important;
  border: var(--rule-hair) solid var(--color-rule-2) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: var(--shadow-overlay) !important;
}

html[data-theme] body.workbench-page .app-footer {
  display: flex !important;
  min-height: var(--control-sm);
  grid-column: auto !important;
  align-items: center;
  justify-content: flex-start;
  gap: var(--space-2xs);
  margin-top: var(--space-xs);
  padding: 0 var(--space-xs) !important;
  color: var(--color-muted) !important;
  border-top: var(--rule-hair) solid var(--color-rule);
  font-size: var(--text-2xs) !important;
}

html[data-theme] body.login-page,
html[data-theme] body.login-body {
  background: var(--color-paper) !important;
}

html[data-theme] body.workbench-page .login-shell {
  padding: var(--space-lg);
}

html[data-theme] body.workbench-page :is(.login-card, .login-panel) {
  width: min(100%, 420px);
  padding: var(--space-lg);
  color: var(--color-ink);
  background: var(--color-paper-2) !important;
  border: var(--rule-hair) solid var(--color-rule) !important;
  border-radius: var(--radius-card) !important;
  box-shadow: none !important;
}

html[data-theme] body.workbench-page .login-brand h1 {
  font-size: var(--text-2xl) !important;
  font-weight: 600;
}

html[data-theme] body.workbench-page :is(.login-intro, .login-security-note, .login-status) {
  color: var(--color-ink-2);
}

html[data-theme] body.workbench-page .login-submit {
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  html[data-theme] body.workbench-page *,
  html[data-theme] body.workbench-page *::before,
  html[data-theme] body.workbench-page *::after {
    scroll-behavior: auto !important;
    animation-duration: 1ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 1ms !important;
  }
}
