/*
 * TejCore Professional UI
 * Visual-only layer. No business routes, fields, names, validation, or workflow logic are changed.
 */

:root {
  --tc-bg: #f3f6fb;
  --tc-surface: #ffffff;
  --tc-surface-soft: #f8fafc;
  --tc-surface-blue: #f1f6ff;
  --tc-sidebar: #0b1f3a;
  --tc-sidebar-2: #102b4f;
  --tc-text: #152238;
  --tc-text-strong: #091426;
  --tc-muted: #64748b;
  --tc-subtle: #94a3b8;
  --tc-border: #dce4ef;
  --tc-border-strong: #cbd7e6;
  --tc-primary: #2468e5;
  --tc-primary-dark: #174db3;
  --tc-primary-soft: #eaf2ff;
  --tc-success: #12805c;
  --tc-success-soft: #e9f8f2;
  --tc-warning: #b66a10;
  --tc-warning-soft: #fff6e5;
  --tc-danger: #b42318;
  --tc-danger-soft: #fff0ee;
  --tc-info: #1769aa;
  --tc-info-soft: #eaf6ff;
  --tc-shadow-xs: 0 1px 2px rgba(15, 31, 55, 0.04);
  --tc-shadow-sm: 0 4px 14px rgba(15, 31, 55, 0.06);
  --tc-shadow-md: 0 12px 30px rgba(15, 31, 55, 0.08);
  --tc-shadow-lg: 0 24px 55px rgba(15, 31, 55, 0.15);
  --tc-radius-sm: 8px;
  --tc-radius: 12px;
  --tc-radius-lg: 16px;
  --tc-radius-xl: 20px;
  --tc-topbar-h: 72px;
  --tc-sidebar-w: 258px;
  --tc-control-h: 44px;
}

* {
  scrollbar-width: thin;
  scrollbar-color: #c8d3e1 transparent;
}

*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: #c8d3e1; border: 3px solid transparent; border-radius: 999px; background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background: #9fb0c5; border: 3px solid transparent; background-clip: padding-box; }

html { background: var(--tc-bg); }
body {
  min-height: 100vh;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 92% 5%, rgba(36, 104, 229, 0.06), transparent 28rem),
    var(--tc-bg);
  color: var(--tc-text);
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

a { color: var(--tc-primary); }
a:hover { color: var(--tc-primary-dark); }

/* Top navigation */
.topbar {
  height: var(--tc-topbar-h) !important;
  min-height: var(--tc-topbar-h);
  padding: 0 24px !important;
  background: linear-gradient(118deg, #081a32 0%, #0d294b 58%, #153b68 100%) !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 8px 26px rgba(5, 20, 40, 0.16);
  z-index: 100;
}

.topbar-left,
.topbar-actions,
.brand-lockup,
.user-chip {
  display: flex;
  align-items: center;
}

.topbar-left { gap: 14px; min-width: 0; }
.topbar-actions { gap: 14px; }

.brand-lockup {
  gap: 13px;
  color: #fff;
  text-decoration: none;
  min-width: 0;
}
.brand-lockup:hover { color: #fff; }
.header-logo {
  width: auto;
  height: 38px !important;
  max-width: 164px !important;
  object-fit: contain;
  filter: drop-shadow(0 3px 8px rgba(0,0,0,.16));
}
.brand-copy { display: grid; line-height: 1.08; min-width: 0; }
.brand-copy strong { font-size: 18px; letter-spacing: .01em; color: #fff; }
.brand-copy small { margin-top: 5px; font-size: 10px; letter-spacing: .11em; text-transform: uppercase; color: #afc3da; white-space: nowrap; }

.user-chip {
  gap: 10px;
  padding: 7px 11px 7px 7px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 12px;
  background: rgba(255,255,255,.07);
  backdrop-filter: blur(8px);
}
.user-avatar {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #3d82ff, #1f59c8);
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.user-copy { display: grid; line-height: 1.15; }
.user-copy strong { max-width: 220px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #fff; font-size: 12px; font-weight: 700; }
.user-copy small { margin-top: 4px; color: #b9c9dc; font-size: 10px; text-transform: capitalize; }
.logout-form { margin: 0; }
.logout-button {
  min-height: 36px !important;
  padding: 7px 12px !important;
  color: #e9f2ff !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.logout-button:hover { background: rgba(255,255,255,.16) !important; border-color: rgba(255,255,255,.3) !important; }

.nav-toggle {
  display: none;
  width: 40px;
  height: 40px;
  padding: 9px !important;
  flex: 0 0 40px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 4px;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  box-shadow: none !important;
}
.nav-toggle span { width: 18px; height: 2px; border-radius: 2px; background: #fff; }

/* Sidebar */
.sidebar {
  top: var(--tc-topbar-h) !important;
  bottom: 0;
  width: var(--tc-sidebar-w) !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: linear-gradient(180deg, var(--tc-sidebar) 0%, #0c2340 68%, #091b31 100%) !important;
  border-right: 0 !important;
  box-shadow: 10px 0 30px rgba(13, 36, 65, .06);
  z-index: 90;
}
.sidebar-scroll { flex: 1; min-height: 0; overflow-y: auto; padding: 18px 14px 20px; }
.nav-section { margin-bottom: 20px; }
.nav-section-title {
  display: block;
  padding: 0 12px 7px;
  color: #7791ae;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.sidebar a {
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 11px;
  min-height: 42px;
  margin: 3px 0 !important;
  padding: 9px 12px !important;
  border: 1px solid transparent;
  border-radius: 10px !important;
  color: #c7d5e5 !important;
  font-size: 13px;
  font-weight: 650;
  transition: background .16s ease, color .16s ease, border-color .16s ease, transform .16s ease;
}
.sidebar a:hover {
  color: #fff !important;
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.06);
  transform: translateX(2px);
}
.sidebar a.active {
  color: #fff !important;
  background: linear-gradient(100deg, rgba(47, 121, 255, .35), rgba(36, 104, 229, .15)) !important;
  border-color: rgba(97, 156, 255, .32);
  box-shadow: 0 8px 18px rgba(0,0,0,.12), inset 3px 0 0 #70a5ff;
}
.nav-dot {
  width: 8px;
  height: 8px;
  flex: 0 0 8px;
  border-radius: 50%;
  background: #536d89;
  box-shadow: 0 0 0 3px rgba(255,255,255,.03);
}
.sidebar a:hover .nav-dot { background: #83b0ff; }
.sidebar a.active .nav-dot { background: #7eb1ff; box-shadow: 0 0 0 4px rgba(126,177,255,.13); }
.sidebar a.nav-subitem { padding-left: 27px !important; font-size: 12.5px; }
.sidebar a.nav-subitem .nav-dot { width: 6px; height: 6px; flex-basis: 6px; }
.sidebar-footer {
  padding: 15px 18px 18px;
  border-top: 1px solid rgba(255,255,255,.07);
  color: #8099b5;
  background: rgba(0,0,0,.08);
}
.sidebar-footer small { display: block; margin-top: 6px; font-size: 10px; }
.system-indicator { display: flex; align-items: center; gap: 8px; font-size: 11px; font-weight: 700; color: #b6c7d9; }
.system-indicator i { width: 7px; height: 7px; border-radius: 50%; background: #36c68a; box-shadow: 0 0 0 4px rgba(54,198,138,.12); }
.sidebar-overlay { display: none; }

/* Main content */
.content {
  margin-left: var(--tc-sidebar-w) !important;
  max-width: none !important;
  min-height: 100vh;
  padding: calc(var(--tc-topbar-h) + 30px) 30px 56px !important;
  overflow-x: hidden !important;
}
.content > * { max-width: 1600px; margin-left: auto; margin-right: auto; }
.content > h1,
.page-head h1 {
  margin: 0 0 7px !important;
  color: var(--tc-text-strong);
  font-size: clamp(26px, 2vw, 34px);
  line-height: 1.15;
  letter-spacing: -.025em;
  font-weight: 760;
}
.content > h1 + .muted,
.page-head > .muted { max-width: 1050px; margin-top: 0; margin-bottom: 24px; font-size: 14px; line-height: 1.65; }
h2 { color: var(--tc-text-strong); font-size: 19px; line-height: 1.25; letter-spacing: -.01em; }
h3 { color: var(--tc-text-strong); }
p { line-height: 1.62; }
.muted, .hint { color: var(--tc-muted) !important; }
.hint { line-height: 1.5; }
code { padding: 2px 6px; border: 1px solid #dce5f1; border-radius: 6px; color: #244875; background: #f3f7fc; font-size: .9em; }

.breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 auto 16px !important;
  color: var(--tc-muted);
  font-size: 12px;
}
.breadcrumb a { color: var(--tc-muted); text-decoration: none; }
.breadcrumb a:hover { color: var(--tc-primary); }
.breadcrumb strong { color: #334155; }

/* Panels and card surfaces */
.panel,
.sub-panel,
.card,
.login-card {
  background: var(--tc-surface) !important;
  border: 1px solid var(--tc-border) !important;
  box-shadow: var(--tc-shadow-sm) !important;
}
.panel {
  margin-top: 18px;
  margin-bottom: 20px;
  padding: 22px !important;
  border-radius: var(--tc-radius-lg) !important;
  overflow: visible;
}
.sub-panel { padding: 18px !important; border-radius: var(--tc-radius) !important; }
.panel:hover { border-color: #d2ddea !important; }
.panel-heading,
.sub-panel-heading {
  position: relative;
  margin: -2px -2px 20px !important;
  padding: 0 0 15px;
  border-bottom: 1px solid #e8edf4;
  align-items: center !important;
}
.panel-heading h2,
.sub-panel-heading h3 { margin: 0 0 5px !important; }
.panel-heading p,
.sub-panel-heading p { margin: 0 !important; }
.panel-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 42px;
  height: 2px;
  border-radius: 99px;
  background: var(--tc-primary);
}

.cards {
  gap: 14px !important;
  margin: 18px auto 24px !important;
  grid-template-columns: repeat(auto-fit, minmax(175px, 1fr)) !important;
}
.card {
  position: relative;
  min-height: 104px;
  padding: 18px 18px 17px !important;
  border-radius: var(--tc-radius) !important;
  overflow: hidden;
}
.card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--tc-primary), #75a4ff);
}
.card b {
  margin-bottom: 5px;
  color: var(--tc-text-strong);
  font-size: clamp(22px, 2vw, 29px) !important;
  line-height: 1.15;
  letter-spacing: -.02em;
}
.card span { color: var(--tc-muted) !important; font-size: 12px; font-weight: 650; }
.card.warn { background: linear-gradient(180deg, #fffdf8, var(--tc-warning-soft)) !important; border-color: #f3d7a8 !important; }
.card.warn::before { background: #e8a43c; }
.dashboard-card { transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease !important; }
.dashboard-card:hover { transform: translateY(-3px) !important; box-shadow: var(--tc-shadow-md) !important; border-color: #b9d0f5 !important; }
.dashboard-card.active { border-color: #90b5f6 !important; box-shadow: 0 0 0 3px rgba(36,104,229,.1), var(--tc-shadow-sm) !important; }

/* Summary areas and tabs */
.summary-strip {
  margin: 18px auto !important;
  padding: 18px 20px;
  border: 1px solid #dce6f3;
  border-radius: var(--tc-radius-lg);
  background: linear-gradient(120deg, #f8fbff 0%, #eef5ff 100%);
}
.summary-strip h2 { font-size: 18px; }
.page-tabs,
.quick-nav { gap: 8px !important; }
.page-tabs a,
.quick-nav a,
.pill,
.small-link,
.button-link,
a.button {
  text-decoration: none;
}
.page-tabs a,
.quick-nav a {
  min-height: 38px;
  padding: 8px 13px !important;
  border: 1px solid #cad8ea !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.88) !important;
  color: #2b405d !important;
  box-shadow: var(--tc-shadow-xs) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
}
.page-tabs a:hover,
.quick-nav a:hover { color: var(--tc-primary) !important; border-color: #9cbcf0 !important; background: #fff !important; }

/* Workflow */
.workflow-strip {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(145px, 1fr));
  gap: 10px !important;
  margin: 18px auto 24px !important;
}
.workflow-step {
  position: relative;
  min-height: 78px;
  padding: 13px 13px 12px 52px !important;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  border: 1px solid var(--tc-border) !important;
  border-radius: var(--tc-radius) !important;
  background: var(--tc-surface) !important;
  color: var(--tc-text) !important;
  text-decoration: none;
  box-shadow: var(--tc-shadow-xs);
  transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.workflow-step:hover { transform: translateY(-2px); border-color: #a9c5f2 !important; box-shadow: var(--tc-shadow-sm); }
.workflow-step > span {
  position: absolute;
  left: 13px;
  top: 50%;
  transform: translateY(-50%);
  width: 29px;
  height: 29px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 9px;
  background: #e8eef7 !important;
  color: #22344e !important;
  font-size: 13px;
  font-weight: 850;
}
.workflow-step strong { font-size: 13px; color: var(--tc-text-strong); }
.workflow-step em { margin-top: 3px; color: var(--tc-muted); font-size: 10.5px; font-style: normal; line-height: 1.35; }
.workflow-step.active { border-color: #8ab2f5 !important; background: linear-gradient(135deg, #eff5ff, #fff) !important; box-shadow: 0 0 0 3px rgba(36,104,229,.08); }
.workflow-step.active > span { color: #fff !important; background: var(--tc-primary) !important; box-shadow: 0 5px 12px rgba(36,104,229,.25); }
.workflow-note {
  margin: 16px auto !important;
  padding: 14px 16px !important;
  border: 1px solid #cfe0f5 !important;
  border-left: 4px solid var(--tc-primary) !important;
  border-radius: var(--tc-radius) !important;
  background: #f7faff !important;
}

/* Details / collapsible actions */
details,
details.action-card,
details.action-details,
.mini-action,
.expense-group-card,
.vendor-group-card,
.vendor-rating-group-card {
  border: 1px solid var(--tc-border) !important;
  border-left: 1px solid var(--tc-border) !important;
  border-radius: var(--tc-radius) !important;
  background: var(--tc-surface) !important;
  box-shadow: var(--tc-shadow-xs) !important;
  overflow: hidden;
}
details.action-card { margin: 12px 0 !important; padding: 0 !important; }
details > summary,
details.action-card > summary,
details.action-details > summary,
.mini-action > summary,
.expense-group-card > summary,
.vendor-group-card > summary,
.vendor-rating-group-card > summary {
  min-height: 48px;
  padding: 13px 15px !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #243651 !important;
  background: linear-gradient(180deg, #fbfcfe, #f5f8fc) !important;
  border-bottom: 0 !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  list-style: none;
}
details > summary::-webkit-details-marker { display: none; }
details > summary::after,
details.action-card > summary::after {
  content: "+";
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  color: #31537e;
  background: #e8eef7;
  font-size: 18px;
  line-height: 1;
}
details[open] > summary::after,
details.action-card[open] > summary::after { content: "−"; }
details[open] > summary,
details.action-card[open] > summary,
details.action-details[open] > summary,
.mini-action[open] > summary { background: var(--tc-primary-soft) !important; border-bottom: 1px solid #d7e5f8 !important; color: #173d75 !important; }
details.action-card > form,
details.action-card > .stack-form,
details.action-card > .grid-form,
details.action-details > form { margin: 0 !important; padding: 18px !important; }
.action-card .stack-form { margin-left: 0 !important; margin-right: 0 !important; }
.action-card p,
.action-card .hint { margin-left: 18px !important; margin-right: 18px !important; }

/* Forms */
label {
  margin: 0 !important;
  display: flex !important;
  min-width: 0;
  flex-direction: column;
  gap: 7px;
  color: #2b3b52;
  font-size: 12px;
  font-weight: 720 !important;
  line-height: 1.35;
}
input,
select,
textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: var(--tc-control-h);
  padding: 10px 12px !important;
  border: 1px solid var(--tc-border-strong) !important;
  border-radius: 9px !important;
  background: #fff !important;
  color: var(--tc-text) !important;
  font: inherit;
  font-size: 13px !important;
  box-shadow: inset 0 1px 1px rgba(15,31,55,.02);
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
textarea { min-height: 92px !important; line-height: 1.5; resize: vertical; }
input::placeholder,
textarea::placeholder { color: #9aa9bb; opacity: 1; }
input:hover,
select:hover,
textarea:hover { border-color: #aebed2 !important; }
input:focus,
select:focus,
textarea:focus {
  outline: none;
  border-color: #6f9dec !important;
  box-shadow: 0 0 0 3px rgba(36,104,229,.11) !important;
}
input[type="checkbox"],
input[type="radio"] {
  width: 17px !important;
  height: 17px !important;
  min-height: 17px;
  padding: 0 !important;
  accent-color: var(--tc-primary);
}
input[type="file"] { min-height: 46px; padding: 7px 9px !important; background: #f8fafc !important; }
input[type="file"]::file-selector-button {
  margin-right: 10px;
  padding: 7px 11px;
  border: 1px solid #cbd7e6;
  border-radius: 7px;
  background: #fff;
  color: #324966;
  font-weight: 700;
  cursor: pointer;
}
.check-label,
.checkbox-label,
.inline-check {
  min-height: 44px;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start;
  gap: 9px !important;
  padding: 10px 11px;
  border: 1px solid #e1e8f1;
  border-radius: 9px;
  background: #f9fbfd;
}
.check-label:hover,
.checkbox-label:hover { border-color: #bcd0ec; background: #f3f7fd; }

.grid-form,
.compact-grid-form,
.filter-form,
.bom-form-grid,
.bom-component-form,
.work-order-form-grid,
.expense-filter-grid,
.expense-top-grid,
.expense-line-grid,
.expense-edit-grid,
.vendor-master-filter-grid,
.vendor-add-grid,
.vendor-rating-grid,
.edit-grid,
.form-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}
.stack-form {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)) !important;
  gap: 16px !important;
  align-items: start !important;
}
.stack-form > textarea,
.stack-form > .file-field,
.stack-form > .full-row,
.stack-form > .full-span { grid-column: 1 / -1; }
.full-row,
.full-span { grid-column: 1 / -1 !important; }
.form-actions,
.filter-actions,
.subpage-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 14px;
}
.form-actions.full-row,
.filter-actions.full-row { grid-column: 1 / -1 !important; }
.file-field { grid-column: 1 / -1; }
.form-help { margin: 0; color: var(--tc-muted); font-size: 11px; }

.rating-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(100px, 1fr)) !important;
  gap: 12px !important;
}
.rating-grid label { min-width: 0; }

/* Buttons */
button,
.button-link,
a.button {
  min-height: 40px;
  padding: 9px 14px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid var(--tc-primary) !important;
  border-radius: 9px !important;
  color: #fff !important;
  background: linear-gradient(180deg, #3679ed, #2468e5) !important;
  box-shadow: 0 4px 11px rgba(36,104,229,.18) !important;
  font: inherit;
  font-size: 12px !important;
  font-weight: 760 !important;
  line-height: 1.2;
  text-decoration: none;
  cursor: pointer;
  transition: transform .14s ease, box-shadow .14s ease, background .14s ease, border-color .14s ease;
}
button:hover,
.button-link:hover,
a.button:hover {
  color: #fff !important;
  background: linear-gradient(180deg, #2e6fd8, #1d57c1) !important;
  border-color: var(--tc-primary-dark) !important;
  box-shadow: 0 6px 15px rgba(36,104,229,.24) !important;
  transform: translateY(-1px);
}
button:active,
.button-link:active,
a.button:active { transform: translateY(0); }
button.secondary,
.button-link.secondary,
a.button.secondary,
.secondary {
  color: #31455f !important;
  background: #fff !important;
  border-color: #cbd7e6 !important;
  box-shadow: var(--tc-shadow-xs) !important;
}
button.secondary:hover,
.button-link.secondary:hover,
a.button.secondary:hover,
.secondary:hover { color: var(--tc-primary) !important; background: var(--tc-primary-soft) !important; border-color: #97b8ee !important; }
button.danger,
.button-link.danger,
a.button.danger {
  color: #fff !important;
  background: linear-gradient(180deg, #c53b30, #b42318) !important;
  border-color: #a71f16 !important;
  box-shadow: 0 4px 11px rgba(180,35,24,.16) !important;
}
button.danger:hover,
.button-link.danger:hover,
a.button.danger:hover { background: linear-gradient(180deg, #b43127, #941c14) !important; }
button:disabled { opacity: .5; transform: none !important; box-shadow: none !important; cursor: not-allowed; }
.small-link,
.doc-link {
  min-height: 30px;
  padding: 5px 9px !important;
  display: inline-flex;
  align-items: center;
  border: 1px solid #cbd9ea !important;
  border-radius: 8px !important;
  color: #2d5688 !important;
  background: #f8fbff !important;
  font-size: 11px !important;
  font-weight: 720 !important;
  text-decoration: none;
}
.small-link:hover,
.doc-link:hover { border-color: #8eb2ed !important; background: var(--tc-primary-soft) !important; color: var(--tc-primary-dark) !important; }
.link-button {
  min-height: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: var(--tc-primary) !important;
  background: transparent !important;
  box-shadow: none !important;
}
.link-button:hover { color: var(--tc-primary-dark) !important; background: transparent !important; transform: none; }
.link-button.danger { color: var(--tc-danger) !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
.icon-summary { width: 36px; min-width: 36px; min-height: 34px !important; padding: 6px !important; justify-content: center !important; }

/* Tables */
.table-wrap,
.inventory-table-wrap,
.account-table-wrap,
.audit-table-wrap,
.access-control-table,
.bom-table-wrap,
.bom-list-wrap,
.work-order-list-wrap,
.work-order-component-wrap,
.compact-table-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  margin-top: 12px;
  overflow: auto !important;
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  background: #fff;
  box-shadow: var(--tc-shadow-xs);
}
.table-wrap.is-scrollable::after,
.account-table-wrap.is-scrollable::after {
  content: "Scroll to view more";
  position: sticky;
  left: 100%;
  bottom: 5px;
  z-index: 3;
  display: inline-block;
  padding: 3px 7px;
  border-radius: 6px;
  color: #6c7f97;
  background: rgba(248,250,252,.94);
  font-size: 9px;
  white-space: nowrap;
}
table,
.table-wrap table,
.inventory-table-wrap table,
.account-table-wrap table,
.audit-table-wrap table,
.access-control-table table,
.bom-table-wrap table,
.bom-list-wrap table,
.work-order-list-wrap table,
.work-order-component-wrap table {
  width: max-content;
  min-width: 100%;
  margin: 0 !important;
  border: 0 !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 0 !important;
  background: #fff;
}
th,
thead th,
table tr:first-child th,
.inventory-table-wrap th,
.account-table-wrap th,
.audit-table-wrap th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 12px 13px !important;
  border: 0 !important;
  border-bottom: 1px solid #dbe4ef !important;
  color: #44566f !important;
  background: #f5f8fc !important;
  font-size: 10.5px !important;
  font-weight: 820 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: nowrap;
}
td {
  padding: 12px 13px !important;
  border: 0 !important;
  border-bottom: 1px solid #edf1f6 !important;
  color: #26364c;
  background: #fff !important;
  font-size: 12px !important;
  vertical-align: top;
}
tr:last-child td { border-bottom: 0 !important; }
tbody tr:nth-child(even) td,
table tr:nth-child(odd):not(:first-child) td { background: #fbfcfe !important; }
tbody tr:hover td,
table tr:not(:first-child):hover td { background: #f1f6ff !important; }
.selected-row td { background: #edf4ff !important; box-shadow: inset 0 1px 0 #d4e4fc, inset 0 -1px 0 #d4e4fc; }
.deleted-row td { background: #fff8f7 !important; color: #76534e; }
.shortage-row td,
.low td,
tr.low td { background: #fff8eb !important; }
.sort-link,
.sort-link span { color: #44566f !important; }
.sort-link:hover { color: var(--tc-primary) !important; }
td input,
td select,
td textarea { min-width: 130px; min-height: 38px; padding: 8px 9px !important; font-size: 11px !important; }
td textarea { min-height: 70px !important; }
.notes-cell { min-width: 230px; max-width: 380px; white-space: normal !important; line-height: 1.55; }

/* Badges and statuses */
.stat-pill,
.status-pill,
.category-chip,
.pill {
  min-height: 27px;
  padding: 4px 9px !important;
  display: inline-flex;
  align-items: center;
  border: 1px solid #d7e1ec !important;
  border-radius: 999px !important;
  color: #465a73 !important;
  background: #f5f8fb !important;
  font-size: 10.5px !important;
  font-weight: 760 !important;
  line-height: 1.2;
}
.status-pill.danger,
.status-pill.status-cancelled,
.status-pill.status-deleted { color: #a32c21 !important; border-color: #f1c8c3 !important; background: var(--tc-danger-soft) !important; }
.status-pill.status-completed,
.status-pill.status-approved,
.category-chip.active { color: #0d6a4c !important; border-color: #bce7d6 !important; background: var(--tc-success-soft) !important; }
.status-pill.status-active,
.status-pill.status-draft,
.status-pill.status-recorded { color: #1e5ba9 !important; border-color: #c4d8f5 !important; background: var(--tc-primary-soft) !important; }
.status-pill.status-pending,
.status-pill.status-reserved,
.status-pill.status-on-hold { color: #98600d !important; border-color: #efd7aa !important; background: var(--tc-warning-soft) !important; }
.category-pills,
.chip-row { gap: 7px !important; }
.category-pills .pill.active { color: #fff !important; border-color: var(--tc-primary) !important; background: var(--tc-primary) !important; }

/* Notifications */
.error,
.success {
  margin: 14px auto !important;
  padding: 12px 14px 12px 42px !important;
  position: relative;
  border-radius: var(--tc-radius) !important;
  border: 1px solid;
  box-shadow: var(--tc-shadow-xs);
  font-size: 12.5px;
  font-weight: 650;
}
.error { color: #8f281f !important; border-color: #f1c4bf; background: var(--tc-danger-soft) !important; }
.success { color: #0b6648 !important; border-color: #b9e5d4; background: var(--tc-success-soft) !important; }
.error::before,
.success::before { position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: #fff; font-size: 11px; font-weight: 900; }
.error::before { content: "!"; background: var(--tc-danger); }
.success::before { content: "✓"; background: var(--tc-success); }

/* Specific layouts */
.two-col,
.account-list-grid,
.bom-layout-grid,
.work-order-layout-grid,
.project-layout-grid,
.project-detail-grid {
  gap: 20px !important;
  align-items: start !important;
}
.account-action-grid,
.action-grid { gap: 16px !important; }
.account-section { scroll-margin-top: calc(var(--tc-topbar-h) + 18px); }
.sub-panel-heading { align-items: flex-start !important; }
.section-stats { gap: 7px !important; }
.expense-summary-block {
  padding: 16px !important;
  border-color: #dbe6f2 !important;
  border-radius: var(--tc-radius) !important;
  background: linear-gradient(145deg, #f8fbff, #f4f8fd) !important;
}
.expense-group-card,
.vendor-group-card,
.vendor-rating-group-card { margin-bottom: 10px; }
.expense-group-card > summary,
.vendor-group-card > summary,
.vendor-rating-group-card > summary { background: #f4f8fd !important; }
.invoice-line-card {
  padding: 16px !important;
  border: 1px solid #dce5ef !important;
  border-radius: var(--tc-radius) !important;
  background: #fafcff !important;
  box-shadow: inset 0 1px 0 #fff;
}
.line-title { padding-bottom: 10px; border-bottom: 1px solid #e7edf5; }
.empty-state {
  padding: 24px !important;
  border: 1px dashed #b9c9dc !important;
  border-radius: var(--tc-radius) !important;
  background: #f8fafc !important;
  text-align: center;
}
.danger-zone {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #efc7c2;
  border-radius: var(--tc-radius);
  background: #fff8f7;
}
.attachment-list { display: grid; gap: 6px; }
.mini-action { min-width: 180px !important; }
.mini-action summary { min-height: 36px !important; padding: 8px 10px !important; font-size: 11px !important; }
.mini-form { padding: 12px !important; gap: 10px !important; background: #fff; }
.mini-form button { justify-self: start; }
.audit-table-wrap pre {
  border: 1px solid #263b57;
  border-radius: 8px;
  color: #dfe8f4;
  background: #101e32 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
}
.category-bar {
  padding: 14px 15px !important;
  border: 1px solid var(--tc-border) !important;
  border-radius: var(--tc-radius) !important;
  background: #f8fafc !important;
}
.category-title { color: #53657d !important; font-size: 10px !important; letter-spacing: .08em !important; }
.barcode-scanner-card { border-radius: var(--tc-radius-xl) !important; box-shadow: var(--tc-shadow-lg) !important; }

/* Login */
.auth-shell { background: radial-gradient(circle at 30% 12%, rgba(36,104,229,.18), transparent 30rem), linear-gradient(135deg, #071a31 0%, #0d294a 55%, #12385f 100%); }
.auth-shell .topbar { background: transparent !important; box-shadow: none; border-bottom-color: rgba(255,255,255,.08); }
.login-content { min-height: 100vh; padding: calc(var(--tc-topbar-h) + 48px) 20px 48px !important; display: grid; place-items: center; }
.login-card { width: min(430px, 100%); margin: 0 auto !important; padding: 30px !important; border-color: rgba(255,255,255,.2) !important; border-radius: var(--tc-radius-xl) !important; box-shadow: 0 28px 70px rgba(0,0,0,.25) !important; }
.login-card h1 { margin-bottom: 8px; font-size: 28px; }

/* Responsive */
@media (max-width: 1240px) {
  :root { --tc-sidebar-w: 238px; }
  .content { padding-left: 22px !important; padding-right: 22px !important; }
  .workflow-strip { grid-template-columns: repeat(3, minmax(160px, 1fr)); }
  .rating-grid { grid-template-columns: repeat(2, minmax(120px, 1fr)) !important; }
}

@media (max-width: 900px) {
  :root { --tc-topbar-h: 64px; }
  .topbar { position: fixed !important; height: var(--tc-topbar-h) !important; min-height: var(--tc-topbar-h) !important; padding: 0 14px !important; flex-wrap: nowrap !important; }
  .nav-toggle { display: inline-flex; }
  .brand-copy small { display: none; }
  .header-logo { height: 32px !important; max-width: 135px !important; }
  .user-copy { display: none; }
  .user-chip { padding: 5px; border-radius: 10px; }
  .logout-button { padding: 7px 9px !important; }
  .sidebar {
    position: fixed !important;
    top: var(--tc-topbar-h) !important;
    left: 0;
    width: min(292px, 86vw) !important;
    transform: translateX(-105%);
    transition: transform .22s ease;
    box-shadow: 18px 0 45px rgba(5,20,40,.28);
  }
  body.nav-open .sidebar { transform: translateX(0); }
  .sidebar-overlay {
    position: fixed;
    inset: var(--tc-topbar-h) 0 0 0;
    z-index: 80;
    display: block;
    visibility: hidden;
    opacity: 0;
    background: rgba(5,15,28,.48);
    backdrop-filter: blur(2px);
    transition: opacity .2s ease, visibility .2s ease;
  }
  body.nav-open .sidebar-overlay { visibility: visible; opacity: 1; }
  .content {
    margin-left: 0 !important;
    max-width: 100vw !important;
    padding: calc(var(--tc-topbar-h) + 22px) 14px 38px !important;
  }
  .panel { padding: 17px !important; border-radius: 14px !important; }
  .summary-strip { padding: 15px !important; }
  .workflow-strip { grid-template-columns: 1fr 1fr; }
  .workflow-step { min-height: 72px; }
  .two-col,
  .account-list-grid,
  .bom-layout-grid,
  .work-order-layout-grid,
  .project-layout-grid,
  .project-detail-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 620px) {
  .brand-copy { display: none; }
  .topbar-actions { gap: 7px; }
  .logout-button { font-size: 0 !important; width: 38px; padding: 0 !important; }
  .logout-button::after { content: "↗"; font-size: 16px; }
  .content { padding-left: 10px !important; padding-right: 10px !important; }
  .content > h1 { font-size: 26px; }
  .panel { padding: 14px !important; }
  .cards { grid-template-columns: 1fr 1fr !important; gap: 10px !important; }
  .card { min-height: 92px; padding: 15px !important; }
  .workflow-strip { grid-template-columns: 1fr; }
  .grid-form,
  .compact-grid-form,
  .filter-form,
  .stack-form,
  .bom-form-grid,
  .bom-component-form,
  .work-order-form-grid,
  .expense-filter-grid,
  .expense-top-grid,
  .expense-line-grid,
  .expense-edit-grid,
  .vendor-master-filter-grid,
  .vendor-add-grid,
  .vendor-rating-grid,
  .edit-grid,
  .form-grid { grid-template-columns: 1fr !important; }
  .rating-grid { grid-template-columns: 1fr 1fr !important; }
  .page-tabs,
  .quick-nav { width: 100%; }
  .page-tabs a,
  .quick-nav a { flex: 1 1 auto; justify-content: center; }
}

@media print {
  .topbar, .sidebar, .sidebar-overlay, .nav-toggle, .page-tabs, .quick-nav, button, .button-link { display: none !important; }
  .content { margin: 0 !important; padding: 0 !important; }
  body { background: #fff !important; }
  .panel, .card { box-shadow: none !important; break-inside: avoid; }
}

/* --------------------------------------------------------------------------
   Delivery workspace refinement — 2026-07-27
   Visual-only update for Projects, Work Orders, BOM Library and Status Updates.
   -------------------------------------------------------------------------- */

/* Cleaner sidebar labels: no bullets/prefix markers and improved readability. */
.sidebar a {
  gap: 0 !important;
  min-height: 44px;
  padding: 10px 14px !important;
  font-size: 14.5px;
  line-height: 1.25;
  font-weight: 700;
}
.sidebar a > span { display: block; min-width: 0; }
.sidebar a.nav-subitem {
  padding-left: 20px !important;
  font-size: 14px;
  color: #b9c9dc !important;
}
.sidebar a.active { box-shadow: 0 8px 18px rgba(0,0,0,.12), inset 3px 0 0 #70a5ff; }
.nav-dot { display: none !important; }

/* Page heading and section rhythm. */
.delivery-page-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px !important;
  padding-bottom: 18px;
  border-bottom: 1px solid #dde6f0;
}
.delivery-page-head h1 { margin-bottom: 7px !important; }
.delivery-page-head .muted {
  max-width: 940px;
  margin: 0 !important;
  font-size: 14px;
  line-height: 1.6;
}
.page-eyebrow {
  display: block;
  margin-bottom: 7px;
  color: #49709d;
  font-size: 10.5px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.delivery-summary-cards {
  margin-top: 0 !important;
  margin-bottom: 20px !important;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)) !important;
}
.delivery-summary-cards .card {
  min-height: 88px;
  padding: 15px 16px !important;
}
.delivery-summary-cards .card b { font-size: clamp(20px, 1.7vw, 25px) !important; }
.delivery-summary-cards .card span { font-size: 11.5px; }

/* Structured page grids. */
.project-overview-grid,
.delivery-overview-grid,
.delivery-setup-grid,
.work-order-setup-grid {
  display: grid;
  gap: 20px;
  align-items: start;
}
.project-overview-grid,
.delivery-overview-grid { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); }
.work-order-setup-grid,
.delivery-setup-grid { grid-template-columns: minmax(0, 1.45fr) minmax(330px, .85fr); }
.delivery-overview-grid > .panel,
.delivery-setup-grid > .panel,
.delivery-record-grid > .panel { margin-top: 0; }
.delivery-record-grid { grid-template-columns: minmax(0, 1.18fr) minmax(360px, .82fr) !important; }

.project-directory-panel .project-list-wrap { margin-top: 16px; }
.project-summary-panel { position: sticky; top: calc(var(--tc-topbar-h) + 22px); }
.project-team-panel,
.project-structure-panel { margin-top: 20px; }

/* Compact, professional record summaries. */
.compact-stat-cards {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
}
.compact-stat-cards .card {
  min-height: 78px;
  padding: 14px !important;
  box-shadow: none !important;
  background: #f8fbff !important;
}
.compact-stat-cards .card b { font-size: 18px !important; overflow-wrap: anywhere; }
.compact-stat-cards .card span { font-size: 10.5px; }

.record-details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
}
.record-details > div {
  padding: 12px 13px;
  border: 1px solid #e2e9f2;
  border-radius: 10px;
  background: #fbfdff;
}
.record-details .full-row { grid-column: 1 / -1; }
.record-details dt {
  margin-bottom: 4px;
  color: #64748b;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.record-details dd { margin: 0; color: #17263a; font-size: 13px; line-height: 1.5; overflow-wrap: anywhere; }
.context-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
  padding-top: 15px;
  border-top: 1px solid #e7edf4;
}
.compact-empty-state { padding: 30px 20px !important; }

/* Action cards remain discoverable without dominating the page. */
.primary-action-card { border-color: #cfdced !important; }
.primary-action-card > summary {
  background: linear-gradient(180deg, #f8fbff, #f3f7fc) !important;
  color: #203b60 !important;
}
.action-card-intro {
  margin: 14px 16px 0;
  padding: 10px 12px;
  border: 1px solid #dce6f2;
  border-radius: 9px;
  color: #5b6f89;
  background: #f8fbff;
  font-size: 12px;
  line-height: 1.5;
}
.panel-heading-with-action { margin-bottom: 14px !important; }
.page-action-panel { padding-bottom: 18px !important; }

/* Context banners replace oversized workflow/navigation strips. */
.context-banner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
  row-gap: 3px;
  margin: 0 auto 18px !important;
  padding: 13px 15px;
  border: 1px solid #cfdded;
  border-left: 3px solid #4d84db;
  border-radius: 11px;
  color: #314967;
  background: #f8fbff;
  box-shadow: var(--tc-shadow-xs);
}
.context-banner strong { color: #1c3557; font-size: 12.5px; white-space: nowrap; }
.context-banner span { min-width: 0; font-size: 12.5px; line-height: 1.5; }
.context-banner small { grid-column: 2; color: #718096; font-size: 11px; line-height: 1.45; }
.compact-context-banner { margin: 13px 0 !important; }

/* Better panel hierarchy and less visual noise on delivery pages. */
.delivery-record-grid .panel-heading,
.delivery-setup-grid .panel-heading,
.project-overview-grid .panel-heading,
.project-team-panel .panel-heading,
.project-structure-panel .panel-heading,
.status-filter-panel .panel-heading {
  margin-bottom: 16px !important;
}
.delivery-record-grid .panel-heading h2,
.delivery-setup-grid .panel-heading h2,
.project-overview-grid .panel-heading h2,
.project-team-panel .panel-heading h2,
.project-structure-panel .panel-heading h2,
.status-filter-panel .panel-heading h2 { font-size: 18px; }

.status-filter-panel .compact-grid-form {
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr) minmax(280px, 1.35fr) auto !important;
  align-items: end;
}
.status-filter-panel .compact-grid-form button { min-width: 120px; }

.module-structure-wrap table td:first-child,
.work-order-list-wrap table td:first-child,
.bom-list-wrap table td:first-child { min-width: 170px; }

/* Keep forms and tables comfortable at smaller desktop widths. */
@media (max-width: 1280px) {
  .project-overview-grid,
  .delivery-overview-grid,
  .work-order-setup-grid,
  .delivery-setup-grid { grid-template-columns: 1fr; }
  .project-summary-panel { position: static; }
  .delivery-record-grid { grid-template-columns: 1fr !important; }
  .status-filter-panel .compact-grid-form { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 720px) {
  .sidebar a { font-size: 14px; }
  .sidebar a.nav-subitem { padding-left: 14px !important; font-size: 13.5px; }
  .delivery-page-head { align-items: flex-start; padding-bottom: 14px; }
  .delivery-summary-cards { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .compact-stat-cards,
  .record-details { grid-template-columns: 1fr !important; }
  .status-filter-panel .compact-grid-form { grid-template-columns: 1fr !important; }
  .context-banner { grid-template-columns: 1fr; }
  .context-banner small { grid-column: 1; }
}


/* --------------------------------------------------------------------------
   Nested sidebar navigation refinement — 2026-07-27
   Subpages are presented as a clean hierarchy without arrows, bullets or
   decorative prefix symbols. Visual grouping is provided by spacing and rail.
   -------------------------------------------------------------------------- */
.sidebar a.nav-subitem::before,
.sidebar .nav-subitem::before {
  content: none !important;
  display: none !important;
}

.sidebar a.nav-parent {
  margin-bottom: 2px !important;
}

.nav-subgroup {
  position: relative;
  margin: 2px 0 8px 14px;
  padding: 2px 0 2px 12px;
}

.nav-subgroup::before {
  content: "";
  position: absolute;
  top: 5px;
  bottom: 5px;
  left: 0;
  width: 1px;
  border-radius: 999px;
  background: rgba(142, 169, 199, .25);
}

.sidebar .nav-subgroup a.nav-subitem {
  min-height: 38px;
  margin: 2px 0 !important;
  padding: 8px 12px !important;
  border-radius: 8px !important;
  color: #aebfd2 !important;
  font-size: 13.5px;
  font-weight: 620;
  background: transparent !important;
  border-color: transparent !important;
  transform: none;
}

.sidebar .nav-subgroup a.nav-subitem:hover {
  color: #f5f9ff !important;
  background: rgba(255,255,255,.055) !important;
  border-color: rgba(255,255,255,.045) !important;
  transform: none;
}

.sidebar .nav-subgroup a.nav-subitem.active {
  color: #ffffff !important;
  background: rgba(49, 113, 224, .22) !important;
  border-color: rgba(105, 157, 245, .22) !important;
  box-shadow: inset 2px 0 0 #78aaff !important;
}

/* When a child page is active, keep the parent visually related but quieter. */
.nav-section:has(.nav-subgroup a.active) > a.nav-parent {
  color: #e9f2ff !important;
  background: rgba(255,255,255,.035) !important;
}

@media (max-width: 720px) {
  .nav-subgroup {
    margin-left: 10px;
    padding-left: 10px;
  }
  .sidebar .nav-subgroup a.nav-subitem {
    padding-left: 11px !important;
    font-size: 13.5px;
  }
}

/* Business Directory tabbed workspace and modal editing */
.directory-page-heading { margin-bottom: 18px; }
.directory-primary-tabs {
  display: inline-flex;
  gap: 6px;
  margin: 0 0 22px;
  padding: 5px;
  background: #e7edf6;
  border: 1px solid var(--tc-border);
  border-radius: 13px;
}
.directory-primary-tabs a,
.directory-primary-tabs button {
  min-width: 132px;
  padding: 10px 18px;
  border: 0;
  border-radius: 9px;
  background: transparent;
  color: #52647c;
  text-align: center;
  text-decoration: none;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
  cursor: pointer;
  transition: .16s ease;
}
.directory-primary-tabs a::before,
.directory-primary-tabs a::after,
.directory-primary-tabs button::before,
.directory-primary-tabs button::after { content: none !important; }
.directory-primary-tabs a:hover,
.directory-primary-tabs button:hover { color: var(--tc-text-strong); background: rgba(255,255,255,.55); }
.directory-primary-tabs a.active,
.directory-primary-tabs button.active {
  color: var(--tc-primary-dark);
  background: #fff;
  box-shadow: var(--tc-shadow-sm);
}
.directory-workspace { display: grid; gap: 18px; width: 100%; max-width: 100%; min-width: 0; }
.directory-workspace > * { min-width: 0; max-width: 100%; }
.directory-toolbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 24px;
  background: linear-gradient(135deg, #ffffff, #f6f9ff);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius-lg);
  box-shadow: var(--tc-shadow-sm);
}
.directory-toolbar h2 { margin: 3px 0 4px; }
.eyebrow {
  display: block;
  color: var(--tc-primary);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.toolbar-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.primary-action, .small-action { white-space: nowrap; }
.small-action { min-height: 38px !important; padding: 7px 12px !important; }
.directory-summary-cards { margin: 0 !important; }
.directory-summary-cards .card { min-height: 92px; }
.directory-section-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 4px 0 0;
}
.directory-section-nav a {
  padding: 8px 12px;
  border: 1px solid var(--tc-border);
  border-radius: 9px;
  background: #fff;
  color: var(--tc-text);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  box-shadow: var(--tc-shadow-xs);
}
.directory-section-nav a::before,
.directory-section-nav a::after { content: none !important; }
.directory-section-nav a:hover { border-color: #aac4ee; background: var(--tc-primary-soft); color: var(--tc-primary-dark); }
.directory-section-panel,
.directory-list-panel { min-width: 0; max-width: 100%; margin: 0 !important; overflow: hidden !important; }
.directory-section-panel { scroll-margin-top: 92px; }
.directory-section-panel .table-wrap,
.directory-list-panel .table-wrap,
.directory-section-panel .account-table-wrap,
.directory-list-panel .account-table-wrap { width: 100%; max-width: 100%; min-width: 0; overflow-x: auto !important; }
.directory-filter-bar {
  display: grid;
  grid-template-columns: minmax(210px, 1fr) minmax(240px, 1.2fr) auto;
  align-items: end;
  gap: 14px;
  margin: 0 0 18px;
  padding: 16px;
  background: var(--tc-surface-soft);
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
}
.directory-filter-bar label { margin: 0; }
.directory-filter-actions { display: flex; gap: 8px; align-items: center; padding-bottom: 1px; }
.grouped-record-stack { display: grid; gap: 12px; }
.record-group-card {
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  background: #fff;
  overflow: hidden;
}
.record-group-card > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 58px;
  padding: 12px 16px;
  background: linear-gradient(180deg, #fbfdff, #f5f8fc);
  cursor: pointer;
  list-style: none;
}
.record-group-card > summary::-webkit-details-marker { display: none; }
.record-group-card > summary > span:first-child { display: grid; gap: 2px; }
.record-group-card > summary small { color: var(--tc-muted); font-weight: 500; }
.group-metric { color: var(--tc-muted); font-size: 12px; font-weight: 650; }
.record-group-card .table-wrap { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; }
.table-secondary { display: block; max-width: 300px; margin-top: 4px; color: var(--tc-muted); font-size: 11px; line-height: 1.35; white-space: normal; }
.action-column { width: 90px; text-align: center !important; }
.row-icon-actions { display: flex; justify-content: center; gap: 6px; }
.icon-button {
  width: 34px;
  height: 34px;
  min-height: 34px !important;
  padding: 7px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #cbd9eb !important;
  border-radius: 9px !important;
  color: var(--tc-primary-dark) !important;
  background: #f5f9ff !important;
  box-shadow: none !important;
}
.icon-button:hover { background: var(--tc-primary-soft) !important; border-color: #93b7ee !important; transform: translateY(-1px); }
.icon-button.secondary-icon { color: #52647c !important; background: #f8fafc !important; }
.icon-button svg { width: 17px; height: 17px; fill: currentColor; }
.purchase-type-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 12px;
}
.purchase-type-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 142px;
  padding: 16px;
  border: 1px solid var(--tc-border);
  border-radius: var(--tc-radius);
  background: linear-gradient(145deg, #fff, #f8fbff);
  box-shadow: var(--tc-shadow-xs);
}
.purchase-type-card strong { font-size: 14px; color: var(--tc-text-strong); }
.purchase-type-card p { margin: 7px 0 0; color: var(--tc-muted); font-size: 12px; }
.purchase-type-card-footer { display: flex; justify-content: space-between; align-items: center; margin-top: 18px; }
.vendor-category-summary { display: grid; gap: 7px; min-width: 300px; }
.vendor-category-summary > div { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
.vendor-category-summary small { color: var(--tc-muted); font-size: 11px; }
.vendor-category-row-editor { display: grid; gap: 10px; }
.vendor-rating-table-wrap { margin: 0 !important; border-radius: 10px !important; }
.vendor-rating-entry-table { min-width: 780px; }
.vendor-rating-entry-table th { padding: 9px 8px !important; font-size: 10px !important; white-space: nowrap; }
.vendor-rating-entry-table td { padding: 7px 5px !important; vertical-align: middle; }
.vendor-rating-entry-table th:first-child,
.vendor-rating-entry-table td:first-child { width: 205px; }
.vendor-rating-entry-table th:nth-child(n+2):nth-child(-n+5),
.vendor-rating-entry-table td:nth-child(n+2):nth-child(-n+5) { width: 74px; }
.vendor-rating-entry-table th:nth-child(6),
.vendor-rating-entry-table td:nth-child(6) { min-width: 150px; }
.vendor-rating-entry-table th:last-child,
.vendor-rating-entry-table td:last-child { width: 40px; text-align: center; }
.vendor-rating-entry-table select,
.vendor-rating-entry-table input { min-height: 36px !important; padding: 7px 8px !important; font-size: 12px !important; }
.vendor-rating-entry-table input[type="number"] { min-width: 58px; text-align: center; }
.vendor-category-row-actions { display: flex; align-items: center; gap: 10px; }
.vendor-category-remove { width: 30px; height: 30px; min-height: 30px !important; padding: 0 !important; font-size: 19px; line-height: 1; }
.vendor-administration { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--tc-border); }
.asset-category-summary-panel { min-width: 0; }
.asset-category-summary-wrap { width: 100%; max-width: 100%; overflow-x: auto !important; }
.asset-category-summary-table { min-width: 760px; }
.asset-category-summary-table td:nth-child(n+2) { text-align: right; white-space: nowrap; }
.asset-entry-error { margin: 0 !important; }
.asset-tag-validation { display: block; min-height: 16px; margin-top: 3px; color: var(--tc-muted); font-size: 11px; font-weight: 650; line-height: 1.35; }
.asset-tag-validation.available { color: #18794e; }
.asset-tag-validation.unavailable { color: var(--tc-danger); }
.asset-tag-validation.checking { color: #6a7788; }

/* Modal shell */
body.modal-open { overflow: hidden; }
.tc-modal[hidden] { display: none !important; }
.tc-modal { position: fixed; inset: 0; z-index: 1000; display: grid; place-items: center; padding: 24px; }
.tc-modal-backdrop { position: absolute; inset: 0; background: rgba(8, 22, 40, .58); backdrop-filter: blur(4px); }
.tc-modal-dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: calc(100vh - 48px);
  overflow: auto;
  border: 1px solid rgba(255,255,255,.65);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 30px 90px rgba(4, 18, 38, .28);
}
.tc-modal-dialog.tc-modal-wide { width: min(900px, 100%); }
.tc-modal-dialog.tc-modal-compact { width: min(560px, 100%); }
.tc-modal-header {
  position: sticky;
  top: 0;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
  padding: 20px 22px 16px;
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--tc-border);
  backdrop-filter: blur(12px);
}
.tc-modal-header h2 { margin: 3px 0 0; font-size: 20px; }
.modal-close {
  width: 36px;
  height: 36px;
  min-height: 36px !important;
  padding: 0 !important;
  border-radius: 10px !important;
  color: #5d6f86 !important;
  background: #f2f5f9 !important;
  border: 1px solid var(--tc-border) !important;
  font-size: 24px;
  line-height: 1;
  box-shadow: none !important;
}
.tc-modal-body { padding: 22px; }
.modal-grid-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
  min-width: 0;
}
.tc-modal-body, .modal-grid-form > * { min-width: 0; }
.modal-grid-form label { display: grid; gap: 6px; margin: 0; color: var(--tc-text); font-size: 12px; font-weight: 700; }
.modal-grid-form .full-row { grid-column: 1 / -1; }
.tc-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  padding-top: 4px;
}
.modal-section { padding-top: 8px; border-top: 1px solid var(--tc-border); }
.modal-section h3 { margin: 0; font-size: 14px; }
.modal-section p { margin: 2px 0 0; }
.record-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
  padding: 13px 14px;
  border: 1px solid var(--tc-border);
  border-radius: 10px;
  background: var(--tc-surface-soft);
}
.record-context span { color: var(--tc-muted); font-size: 12px; }
.modal-action-form { display: grid; gap: 10px; padding: 14px 0; }
.modal-action-form + .modal-action-form { border-top: 1px solid var(--tc-border); }
.modal-action-form label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.danger-zone { margin-top: 2px; padding: 16px; border: 1px solid #f1c3be !important; border-radius: 12px; background: var(--tc-danger-soft); }

@media (max-width: 900px) {
  .directory-toolbar { flex-direction: column; }
  .toolbar-actions { justify-content: flex-start; }
  .directory-filter-bar { grid-template-columns: 1fr; }
  .directory-filter-actions { padding-bottom: 0; }
  .modal-grid-form { grid-template-columns: 1fr; }
  .modal-grid-form .full-row { grid-column: auto; }
  .vendor-category-row-editor { grid-column: auto !important; }
}
@media (max-width: 600px) {
  .directory-primary-tabs { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .directory-primary-tabs a, .directory-primary-tabs button { min-width: 0; }
  .directory-toolbar { padding: 18px; }
  .toolbar-actions { width: 100%; display: grid; grid-template-columns: 1fr; }
  .toolbar-actions button { width: 100%; }
  .tc-modal { padding: 10px; }
  .tc-modal-dialog { max-height: calc(100vh - 20px); border-radius: 14px; }
  .tc-modal-header, .tc-modal-body { padding-left: 16px; padding-right: 16px; }
  .record-group-card > summary { align-items: flex-start; flex-direction: column; }
}

/* Uniform TejCore workspaces: Accounts, Inventory and Projects */
/* Tabs deliberately reuse the Business Directory visual language and remain distinct from blue action buttons. */
.uniform-workspace-page .uniform-primary-tabs {
  display: inline-flex;
  gap: 6px;
  margin: 0 0 22px;
  padding: 5px;
  width: fit-content;
  max-width: 100%;
  overflow-x: auto;
  background: #e7edf6;
  border: 1px solid var(--tc-border);
  border-radius: 13px;
  box-shadow: none;
}
.uniform-workspace-page .uniform-primary-tabs button {
  min-width: 132px;
  min-height: auto;
  padding: 10px 18px;
  border: 0;
  border-radius: 9px;
  background: transparent !important;
  color: #52647c !important;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.25;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: none !important;
  transition: .16s ease;
}
.uniform-workspace-page .uniform-primary-tabs button:hover {
  color: var(--tc-text-strong) !important;
  background: rgba(255,255,255,.55) !important;
}
.uniform-workspace-page .uniform-primary-tabs button.active {
  color: var(--tc-primary-dark) !important;
  background: #fff !important;
  box-shadow: var(--tc-shadow-sm) !important;
}
.uniform-workspace-page .uniform-tab-pane[hidden] { display: none !important; }
.uniform-workspace-page .uniform-tab-pane { animation: tcWorkspaceFade .18s ease; }
@keyframes tcWorkspaceFade { from { opacity: .55; transform: translateY(3px); } to { opacity: 1; transform: none; } }

.uniform-workspace-page .panel {
  border-radius: 16px;
  box-shadow: 0 10px 28px rgba(26, 51, 86, .065);
}
.uniform-workspace-page .panel-heading {
  gap: 18px;
  align-items: flex-start;
}
.uniform-workspace-page .panel-heading .toolbar-actions {
  margin-left: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}
.uniform-workspace-page .workspace-modal-trigger {
  min-height: 38px;
  white-space: nowrap;
}
.uniform-workspace-page .workspace-modal-trigger + .workspace-modal-trigger { margin-left: 8px; }
.uniform-workspace-page .action-grid > .workspace-modal-trigger {
  min-height: 94px;
  display: grid;
  place-items: center;
  text-align: center;
  border: 1px solid var(--tc-border);
  border-radius: 14px;
  background: #fff;
  color: var(--tc-primary);
  box-shadow: 0 5px 16px rgba(26, 51, 86, .05);
}
.uniform-workspace-page .action-grid > .workspace-modal-trigger:hover {
  border-color: #8cb4ec;
  background: var(--tc-primary-soft);
}
.uniform-workspace-page .row-icon-actions,
.uniform-workspace-page td:has(> .icon-button) {
  white-space: nowrap;
}
.uniform-workspace-page .icon-button.danger-icon {
  color: #b42318 !important;
  background: #fff7f6 !important;
  border-color: #f5c8c3 !important;
}
.uniform-workspace-page .tc-modal-dialog { box-shadow: 0 28px 80px rgba(4, 17, 35, .3); }
.uniform-workspace-page .tc-modal-body > .stack-form,
.uniform-workspace-page .tc-modal-body > .grid-form,
.uniform-workspace-page .tc-modal-body > .mini-form,
.uniform-workspace-page .tc-modal-body > form {
  margin: 0;
}
.uniform-workspace-page .tc-modal-body .edit-grid,
.uniform-workspace-page .tc-modal-body .expense-edit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: none;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.uniform-workspace-page .tc-modal-body .edit-grid > button,
.uniform-workspace-page .tc-modal-body .expense-edit-grid > button,
.uniform-workspace-page .tc-modal-body .edit-grid > .full-row,
.uniform-workspace-page .tc-modal-body .expense-edit-grid > .full-row { grid-column: 1 / -1; }
.uniform-workspace-page .tc-modal-body .danger-zone { border: 0; padding: 0; }
.uniform-workspace-page .tc-modal-body .invoice-lines { max-height: none; }
.uniform-workspace-page .tc-modal-body .invoice-line-card { background: #f8fafc; }
.uniform-workspace-page .account-summary-cards,
.uniform-workspace-page .inventory-summary-cards,
.uniform-workspace-page .delivery-summary-cards { margin-top: 0; }

.accounts-workspace-enhanced .account-section,
.inventory-workspace-enhanced #filter-view,
.inventory-workspace-enhanced #stock-movement,
.inventory-workspace-enhanced #inventory-actions,
.projects-workspace-enhanced .project-overview-grid,
.projects-workspace-enhanced .project-team-panel,
.projects-workspace-enhanced .project-structure-panel { margin-top: 0; }

.accounts-workspace-enhanced .account-section > .workspace-modal-trigger,
.accounts-workspace-enhanced .account-section > .subpage-actions + .workspace-modal-trigger {
  margin: 0 8px 18px 0;
}
.inventory-workspace-enhanced #filter-view .filter-form {
  background: #f8fafc;
  border: 1px solid var(--tc-border);
  border-radius: 14px;
  padding: 16px;
}
.projects-workspace-enhanced .project-overview-grid { align-items: stretch; }
.projects-workspace-enhanced .project-directory-panel,
.projects-workspace-enhanced .project-summary-panel { min-height: 100%; }

@media (max-width: 760px) {
  .uniform-workspace-page .uniform-primary-tabs { width: 100%; }
  .uniform-workspace-page .uniform-primary-tabs button { flex: 1 0 auto; }
  .uniform-workspace-page .panel-heading { flex-direction: column; }
  .uniform-workspace-page .panel-heading .toolbar-actions { margin-left: 0; justify-content: flex-start; }
  .uniform-workspace-page .tc-modal-body .edit-grid,
  .uniform-workspace-page .tc-modal-body .expense-edit-grid { grid-template-columns: 1fr; }
  .uniform-workspace-page .tc-modal-body .edit-grid > button,
  .uniform-workspace-page .tc-modal-body .expense-edit-grid > button,
  .uniform-workspace-page .tc-modal-body .edit-grid > .full-row,
  .uniform-workspace-page .tc-modal-body .expense-edit-grid > .full-row { grid-column: auto; }
}

/* Uniform workspace expansion: Work Orders, BOM, Status, Assets and HR */
.workspace-pane-stack {
  display: grid;
  gap: 18px;
  min-width: 0;
}
.workspace-pane-stack > .panel,
.workspace-pane-stack > section,
.workspace-pane-stack > div { min-width: 0; }

.embedded-filter-panel {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid var(--tc-border);
  border-radius: 14px;
  background: #f8fafc;
  box-shadow: none;
}
.embedded-filter-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 14px;
}
.embedded-filter-heading h3 {
  margin: 0;
  color: var(--tc-text-strong);
  font-size: 15px;
  line-height: 1.3;
}
.embedded-filter-heading p { margin: 4px 0 0; }
.embedded-filter-panel .filter-form,
.assets-workspace-enhanced .asset-filter-grid,
.accounts-workspace-enhanced .expense-filter-grid,
.status-workspace-enhanced .status-filter-panel .grid-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  align-items: end;
  margin: 0;
}
.embedded-filter-panel .filter-form label,
.assets-workspace-enhanced .asset-filter-grid label,
.accounts-workspace-enhanced .expense-filter-grid label,
.status-workspace-enhanced .status-filter-panel label {
  display: grid;
  gap: 6px;
  min-width: 0;
  margin: 0;
  color: var(--tc-text);
  font-size: 12px;
  font-weight: 700;
}
.embedded-filter-panel .filter-actions,
.assets-workspace-enhanced .filter-actions,
.accounts-workspace-enhanced .filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  padding: 0;
}
.embedded-filter-panel .filter-actions button,
.embedded-filter-panel .filter-actions .button-link { min-width: 128px; }

.accounts-workspace-enhanced .account-expense-filter {
  margin: 0 0 20px;
  padding: 17px;
  border: 1px solid var(--tc-border);
  border-radius: 14px;
  background: #f8fafc;
}
.accounts-workspace-enhanced .account-expense-filter .expense-filter-grid { grid-template-columns: 1.15fr 1.15fr .8fr .8fr; }
.accounts-workspace-enhanced .account-expense-filter .tiny-hint { line-height: 1.35; }

.assets-workspace-enhanced .asset-register-pane,
.assets-workspace-enhanced .asset-manage-pane {
  display: grid;
  gap: 18px;
}
.assets-workspace-enhanced .asset-filter-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.assets-workspace-enhanced .asset-register-panel { margin-top: 0; }
.assets-workspace-enhanced .asset-entry-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.assets-workspace-enhanced .asset-entry-form .full-span,
.assets-workspace-enhanced .asset-entry-form > button { grid-column: 1 / -1; }

.work-orders-workspace-enhanced #work-orders-directory-pane,
.work-orders-workspace-enhanced #work-order-details-pane,
.bom-workspace-enhanced #bom-library-pane,
.bom-workspace-enhanced #bom-details-pane,
.bom-workspace-enhanced #bom-stock-pane,
.status-workspace-enhanced #status-updates-pane,
.status-workspace-enhanced #status-post-pane {
  display: grid;
  gap: 18px;
}
.work-orders-workspace-enhanced #work-order-actions,
.work-orders-workspace-enhanced #work-order-list-pane,
.work-orders-workspace-enhanced #work-order-type-master,
.work-orders-workspace-enhanced #selected-work-order-pane,
.work-orders-workspace-enhanced #material-availability,
.bom-workspace-enhanced #bom-actions,
.bom-workspace-enhanced #bom-list-pane,
.bom-workspace-enhanced #selected-bom-pane,
.bom-workspace-enhanced #bom-availability-pane,
.status-workspace-enhanced #status-filter-pane,
.status-workspace-enhanced #status-context-pane,
.status-workspace-enhanced #status-timeline-pane,
.status-workspace-enhanced #post-status-pane { margin: 0; }

.work-orders-workspace-enhanced #work-orders-directory-pane #work-order-actions,
.bom-workspace-enhanced #bom-library-pane #bom-actions {
  border-style: solid;
}
.work-orders-workspace-enhanced #work-order-actions .toolbar-actions,
.work-orders-workspace-enhanced #work-order-type-master .toolbar-actions,
.bom-workspace-enhanced #bom-actions .toolbar-actions,
.hr-workspace-enhanced .toolbar-actions,
.assets-workspace-enhanced .toolbar-actions {
  align-self: flex-start;
}
.work-orders-workspace-enhanced #selected-work-order-pane .workspace-modal-trigger,
.bom-workspace-enhanced #selected-bom-pane .workspace-modal-trigger {
  margin: 0 8px 10px 0;
}
.work-orders-workspace-enhanced .work-order-actions-row {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  align-items: center;
  padding-top: 14px;
}

.status-workspace-enhanced #status-filter-pane {
  padding: 18px;
  background: #f8fafc;
  box-shadow: none;
}
.status-workspace-enhanced #status-filter-pane .grid-form { grid-template-columns: repeat(3, minmax(0, 1fr)) auto; }
.status-workspace-enhanced #status-post-pane #post-status-pane { max-width: 920px; }
.status-workspace-enhanced #post-status-pane form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.status-workspace-enhanced #post-status-pane form label { margin: 0; }
.status-workspace-enhanced #post-status-pane form label:nth-last-of-type(-n+3),
.status-workspace-enhanced #post-status-pane form > button { grid-column: 1 / -1; }

.hr-workspace-enhanced #hr-employees-pane,
.hr-workspace-enhanced #hr-documents-pane,
.hr-workspace-enhanced #hr-leave-pane { margin-top: 0; }
.hr-workspace-enhanced .tc-modal-body > .grid-form,
.hr-workspace-enhanced .tc-modal-body > .mini-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.hr-workspace-enhanced .tc-modal-body > .grid-form > button,
.hr-workspace-enhanced .tc-modal-body > .mini-form > button,
.hr-workspace-enhanced .tc-modal-body > .grid-form > .full-span,
.hr-workspace-enhanced .tc-modal-body > .mini-form > .full-span { grid-column: 1 / -1; }

/* Keep tabs visually distinct from action buttons on every workspace. */
.uniform-workspace-page .uniform-primary-tabs {
  background: #e8edf5;
  border-color: #d6dfeb;
}
.uniform-workspace-page .uniform-primary-tabs button {
  color: #53657c !important;
  background: transparent !important;
}
.uniform-workspace-page .uniform-primary-tabs button.active {
  color: #123b67 !important;
  background: #fff !important;
  border: 1px solid #d7e0eb;
  box-shadow: 0 3px 9px rgba(25, 53, 88, .12) !important;
}

@media (max-width: 1100px) {
  .embedded-filter-panel .filter-form,
  .assets-workspace-enhanced .asset-filter-grid,
  .accounts-workspace-enhanced .expense-filter-grid,
  .accounts-workspace-enhanced .account-expense-filter .expense-filter-grid,
  .status-workspace-enhanced #status-filter-pane .grid-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .embedded-filter-panel,
  .accounts-workspace-enhanced .account-expense-filter { padding: 14px; }
  .embedded-filter-panel .filter-form,
  .assets-workspace-enhanced .asset-filter-grid,
  .accounts-workspace-enhanced .expense-filter-grid,
  .accounts-workspace-enhanced .account-expense-filter .expense-filter-grid,
  .status-workspace-enhanced #status-filter-pane .grid-form,
  .status-workspace-enhanced #post-status-pane form,
  .assets-workspace-enhanced .asset-entry-form,
  .hr-workspace-enhanced .tc-modal-body > .grid-form,
  .hr-workspace-enhanced .tc-modal-body > .mini-form {
    grid-template-columns: 1fr;
  }
  .embedded-filter-panel .filter-actions,
  .assets-workspace-enhanced .filter-actions,
  .accounts-workspace-enhanced .filter-actions { display: grid; grid-template-columns: 1fr; }
  .embedded-filter-panel .filter-actions button,
  .embedded-filter-panel .filter-actions .button-link { width: 100%; }
  .status-workspace-enhanced #post-status-pane form label:nth-last-of-type(-n+3),
  .status-workspace-enhanced #post-status-pane form > button,
  .assets-workspace-enhanced .asset-entry-form .full-span,
  .assets-workspace-enhanced .asset-entry-form > button,
  .hr-workspace-enhanced .tc-modal-body > .grid-form > button,
  .hr-workspace-enhanced .tc-modal-body > .mini-form > button { grid-column: auto; }
}

/* --------------------------------------------------------------------------
   Navigation toggle repair — 2026-07-27
   The header control now hides/shows the desktop sidebar and opens/closes the
   mobile drawer. The desktop preference is retained in local storage.
   -------------------------------------------------------------------------- */
.app-shell .nav-toggle {
  display: inline-flex;
  position: relative;
  z-index: 1;
  border-radius: 11px !important;
  cursor: pointer;
  transition: background .16s ease, border-color .16s ease, transform .16s ease;
}

.app-shell .nav-toggle:hover {
  background: rgba(255,255,255,.15) !important;
  border-color: rgba(255,255,255,.32) !important;
}

.app-shell .nav-toggle:active { transform: translateY(1px); }
.app-shell .nav-toggle:focus-visible {
  outline: 3px solid rgba(126,177,255,.5);
  outline-offset: 2px;
}

.sidebar,
.content {
  transition: transform .22s ease, margin-left .22s ease, padding-left .22s ease;
}

@media (min-width: 901px) {
  body.sidebar-collapsed .sidebar {
    transform: translateX(calc(-1 * var(--tc-sidebar-w) - 18px));
    pointer-events: none;
  }

  body.sidebar-collapsed .content {
    margin-left: 0 !important;
  }

  body.sidebar-collapsed .sidebar-overlay {
    display: none !important;
  }
}

@media (max-width: 900px) {
  body.sidebar-collapsed .sidebar {
    transform: translateX(-105%);
  }

  body.nav-open {
    overflow: hidden;
  }

  body.nav-open .nav-toggle span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
  }

  body.nav-open .nav-toggle span:nth-child(2) {
    opacity: 0;
  }

  body.nav-open .nav-toggle span:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
  }

  .nav-toggle span {
    transition: transform .18s ease, opacity .18s ease;
  }
}

/* Vendor expense attachment management */
.expense-file-list {
  display: grid;
  gap: 8px;
  min-width: 220px;
}
.expense-file-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 8px;
  border: 1px solid #dbe4ef;
  border-radius: 10px;
  background: #f8fafc;
}
.expense-file-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  min-width: 0;
}
.expense-file-copy .doc-link {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.expense-file-item .icon-button {
  flex: 0 0 auto;
}

/* Shared unlabelled serial-number column for all TejCore tables. */
th.serial-column,
td.serial-column {
  width: 3.25rem;
  min-width: 3.25rem;
  max-width: 3.25rem;
  padding-left: 0.55rem !important;
  padding-right: 0.55rem !important;
  text-align: center !important;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

th.serial-column {
  color: transparent;
  user-select: none;
}

td.serial-column {
  color: #64748b;
  font-size: 0.82rem;
  font-weight: 700;
}

tr:hover td.serial-column {
  color: #334155;
}


/* Financial reporting workspace */
.financial-report-section .report-filter-grid {
  grid-template-columns: repeat(2, minmax(220px, 1fr));
}
.financial-report-section .report-export-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin: 14px 0 18px;
  flex-wrap: wrap;
}
.financial-report-summary-cards {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  margin-bottom: 20px;
}
.report-table-section {
  margin-top: 22px;
  border-top: 1px solid var(--border-soft, #dfe6ee);
  padding-top: 16px;
}
.report-table-section .compact-heading {
  margin-bottom: 10px;
}
@media (max-width: 900px) {
  .financial-report-summary-cards { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
}
@media (max-width: 620px) {
  .financial-report-section .report-filter-grid,
  .financial-report-summary-cards { grid-template-columns: 1fr; }
  .financial-report-section .report-export-actions { justify-content: stretch; }
  .financial-report-section .report-export-actions .button-link { flex: 1; text-align: center; }
}
