:root {
  --ink: #16233a;
  --line: #e2e8f1;
  --canvas: #f5f8fc;
  --nav: #102846;
  --blue: #1478ed;
  --blue-soft: #eaf4ff;
}

.sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;align-self:start}.sidebar::-webkit-scrollbar{width:5px}.sidebar::-webkit-scrollbar-thumb{background:#31557c;border-radius:5px}@media(max-width:700px){.sidebar{position:static;height:auto;overflow:visible}}

.products-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:21px 22px;margin-bottom:16px;background:#14294c;color:#fff;border-radius:8px}.products-kicker{display:block;color:#a9d0ff;font-size:11px;font-weight:800;letter-spacing:.06em}.products-hero h2{margin:6px 0;font-size:20px}.products-hero p{max-width:660px;margin:0;color:#cfddf2;line-height:1.45}.products-hero-stats{display:flex;gap:20px;flex-shrink:0}.products-hero-stats div{display:grid;gap:3px;min-width:76px;padding-left:18px;border-left:1px solid #496384}.products-hero-stats b{font-size:24px}.products-hero-stats span{font-size:11px;color:#c2d3e9}.pending-costs{margin-bottom:18px;overflow:hidden}.pending-cost-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:10px;padding:14px;max-height:410px;overflow:auto}.pending-cost-item{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:9px;border:1px solid #e2e8f0;border-radius:6px;background:#fff;text-align:left;color:inherit;cursor:pointer}.pending-cost-item:hover{border-color:#8fb8ed;background:#f8fbff}.pending-cost-thumb{display:grid;place-items:center;width:48px;height:48px;overflow:hidden;border-radius:5px;background:#f5f7fa;color:#6b7c92;font-size:10px;font-weight:800}.pending-cost-thumb img{width:100%;height:100%;object-fit:contain}.pending-cost-copy{display:grid;gap:3px;min-width:0}.pending-cost-copy>b{font-size:12px;color:#1e62af}.pending-cost-copy strong{overflow:hidden;font-size:12px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.pending-cost-copy small{overflow:hidden;color:#667085;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.pending-cost-action{font-size:11px;font-weight:800;color:#1769c2;white-space:nowrap}@media(max-width:700px){.products-hero{align-items:flex-start;flex-direction:column}.products-hero-stats{width:100%}.pending-cost-list{grid-template-columns:1fr}}
.approval-audit{margin-top:18px}
.approval-workspace{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start}.approval-panel{min-width:0;overflow:hidden}.approval-header-actions{display:flex;align-items:center;gap:8px}.approval-more{min-height:31px;padding:7px 10px;white-space:nowrap}.approval-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border-bottom:1px solid #e4eaf1;background:#e4eaf1}.approval-summary span{display:grid;gap:4px;padding:11px 13px;background:#f8fafc}.approval-summary small{color:#667085;font-size:10px;font-weight:700}.approval-summary b{color:#172b4d;font-size:16px;font-variant-numeric:tabular-nums}.approval-panel-list{min-height:300px;max-height:430px;overflow:auto;padding:0 17px}.approval-panel-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 17px;border-top:1px solid #e4eaf1;background:#fff}.approval-panel-footer small{color:#667085;font-size:11px;line-height:1.35}.approval-empty{min-height:300px;display:grid;place-items:center;padding:22px}.approval-audit-filters{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:12px 17px;border-bottom:1px solid #e4eaf1;background:#fafcff}.approval-audit-filters label{display:grid;gap:5px;color:#52647e;font-size:10px;font-weight:800}.approval-audit-filters input,.approval-audit-filters select{width:100%;min-width:0;height:34px;padding:0 8px;border:1px solid #cfd9e6;border-radius:5px;background:#fff;color:#172b4d;font:inherit;font-size:12px}.approval-panel .audit-entry{grid-template-columns:108px minmax(0,1fr) auto;gap:10px;padding:13px 0}.approval-panel .audit-entry strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.approval-panel .audit-entry p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:1050px){.approval-workspace{grid-template-columns:1fr}.approval-panel-list{max-height:390px}}@media(max-width:560px){.approval-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.approval-audit-filters{grid-template-columns:1fr}.approval-panel-footer{align-items:stretch;flex-direction:column}.approval-panel-footer .primary{width:100%}.approval-panel .audit-entry{grid-template-columns:1fr;gap:5px}.approval-panel .audit-entry p,.approval-panel .audit-entry strong{white-space:normal}}
.dashboard-priority{margin-top:18px}.dashboard-priority .card-header{align-items:flex-start}.dashboard-section-kicker{display:block;margin-bottom:5px;color:#1473e6;font-size:10px;font-weight:800;letter-spacing:.07em}.dashboard-priority-list{display:grid}.dashboard-priority-row{display:grid;grid-template-columns:30px minmax(260px,1.8fr) repeat(3,minmax(110px,.65fr)) auto;align-items:center;gap:14px;padding:13px 18px;border-top:1px solid #edf0f4}.priority-rank{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#fff0f0;color:#ba2635;font-size:12px;font-weight:800}.priority-product{display:grid;gap:3px;min-width:0}.priority-product strong{font-size:12px;color:#475467}.priority-product>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700}.priority-product small,.priority-metric small{color:#667085;font-size:10px}.priority-metric{display:grid;gap:3px}.priority-metric span{color:#667085;font-size:10px}.priority-metric b{font-size:13px;font-variant-numeric:tabular-nums}@media(max-width:900px){.dashboard-priority-row{grid-template-columns:30px minmax(200px,1fr) repeat(2,minmax(100px,.6fr))}.dashboard-priority-row .priority-metric:nth-of-type(3){display:none}}@media(max-width:620px){.dashboard-priority-row{grid-template-columns:28px 1fr auto;gap:10px;padding:12px}.priority-product{grid-column:2 / -1}.priority-metric{grid-column:2}.priority-metric:nth-of-type(3){display:none}.dashboard-priority-row>.badge{grid-column:3;grid-row:1}}
.catalog-card-actions{display:grid;gap:7px;margin-top:12px}.catalog-card-actions .research-button{margin-top:0}.increase-button{border-color:#a8d2ba;background:#f3fbf6;color:#087642}
.catalog-financials{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(104px,.75fr);gap:8px;margin:0 0 12px;padding:9px;border:1px solid #edf0f4;border-radius:5px;background:#fbfcfe}.financial-sale,.financial-cost{display:grid;gap:5px;min-width:0}.financial-sale span{color:#b4232d;font-size:10px;line-height:1.2}.financial-sale span b{font-variant-numeric:tabular-nums}.financial-sale strong{display:block;margin-top:2px;padding:6px 7px;border-radius:4px;background:#e9f8ef;color:#087642;font-size:13px;font-variant-numeric:tabular-nums}.financial-sale strong small{font-size:10px;font-weight:700}.financial-sale .financial-unavailable{color:#9a6700;background:#fff7d6}.financial-sale span.financial-unavailable{padding:5px 6px;border-radius:4px}.financial-sale strong.financial-unavailable{color:#9a6700}.financial-cost{padding-left:9px;border-left:1px solid #e4e9f0}.financial-cost span{color:#667085;font-size:9px}.financial-cost b{font-size:12px;font-variant-numeric:tabular-nums}.financial-cost .financial-tax{color:#b4232d}.financial-pending{display:flex;align-items:center;justify-content:space-between;gap:9px;color:#667085;font-size:10px;line-height:1.35}.financial-pending>span{max-width:50%}.financial-pending>div{display:grid;gap:3px;color:#49586c;text-align:right;font-size:10px}.financial-pending b:last-child{color:#b4232d}@media(max-width:560px){.catalog-financials{grid-template-columns:1fr}.financial-cost{grid-template-columns:1fr auto 1fr auto;align-items:center;padding:7px 0 0;border-top:1px solid #e4e9f0;border-left:0}.financial-pending{align-items:flex-start;flex-direction:column}.financial-pending>span{max-width:none}.financial-pending>div{text-align:left}}
.reports-intro{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:21px 22px;margin-bottom:16px;background:#14294c;color:#fff;border-radius:8px}.reports-intro span{display:block;color:#a9d0ff;font-size:11px;font-weight:800;letter-spacing:.07em}.reports-intro h2{margin:6px 0;font-size:21px}.reports-intro p{max-width:690px;margin:0;color:#cfddf2;line-height:1.45}.reports-intro .primary{white-space:nowrap}.report-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.report-metrics article{display:grid;gap:5px;padding:16px 17px;border:1px solid #e0e6ee;border-radius:7px;background:#fff}.report-metrics span{color:#667085;font-size:11px;font-weight:700}.report-metrics b{font-size:23px;color:#172b4d}.report-metrics b small{font-size:12px;color:#667085;font-weight:600}.report-metrics p{margin:0;color:#667085;font-size:11px;line-height:1.35}.report-filters{display:grid;grid-template-columns:1.6fr repeat(3,1fr);gap:10px;padding:15px 17px;border-bottom:1px solid #e7ebf0}.report-filters label{display:grid;gap:6px;color:#667085;font-size:11px;font-weight:700}.report-filters input,.report-filters select{width:100%;height:38px;min-width:0;padding:8px 10px;border:1px solid #d4dce7;border-radius:5px;background:#fff;font:inherit;color:#172b4d}.reports-table{min-width:1160px}.report-product{max-width:320px}.report-product strong{display:block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:850px){.report-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.report-filters label:first-child{grid-column:1 / -1}}@media(max-width:620px){.reports-intro{align-items:flex-start;flex-direction:column}.reports-intro .primary{width:100%}.report-metrics{grid-template-columns:1fr}.report-filters{grid-template-columns:1fr}.report-filters label:first-child{grid-column:auto}}
.report-tabs{display:flex;align-items:center;gap:7px;overflow-x:auto;margin:0 0 14px;padding:4px;border:1px solid #dce5f1;border-radius:7px;background:#fff}.report-tabs button{flex:0 0 auto;border:0;border-radius:5px;background:transparent;color:#42526e;padding:9px 12px;font-weight:700;cursor:pointer}.report-tabs button:hover{background:#edf3fc;color:#0f5fc8}.report-tabs button.active{background:#1677e8;color:#fff;box-shadow:0 1px 2px rgba(15,82,160,.2)}
.report-sort-control{display:flex;align-items:center;gap:8px;color:#667085;font-size:12px;font-weight:700}.report-sort-control select{height:36px;min-width:235px;padding:7px 10px;border:1px solid #d4dce7;border-radius:5px;background:#fff;color:#172b4d;font:inherit}@media(max-width:620px){.report-sort-control{width:100%;margin-top:10px}.report-sort-control select{flex:1;min-width:0}}
.routine-toggle{border:1px solid #b7dfc6;border-radius:5px;background:#f1fbf5;color:#087c42;padding:9px 12px;font-weight:800;cursor:pointer}.routine-toggle:hover{background:#e1f6e8}.routine-toggle.active{border-color:#087c42;background:#087c42;color:#fff;box-shadow:0 1px 3px rgba(8,124,66,.28)}#catalogs.routine-mode{outline:3px solid #35a85b;outline-offset:-3px;border-radius:8px;background:linear-gradient(90deg,rgba(53,168,91,.045),transparent 24%)}
.routine-reload{min-width:106px;border:1px solid #087c42;border-radius:5px;background:#087c42;color:#fff;font-size:12px;font-weight:800;cursor:pointer}.routine-reload:hover{background:#066a38}.routine-reload[hidden]{display:none}
.routine-search-filter{display:grid;align-content:end;gap:6px}.routine-search-filter>span{color:#52647e;font-size:11px;font-weight:700}.routine-search-filter .routine-reload{height:38px;padding:0 15px}
.integration-monitoring-section{margin-top:20px;padding-top:20px;border-top:1px solid #dfe6ef}.integration-monitoring-section>.card-header{margin-bottom:14px;padding:0 2px}.integration-monitoring-section .integration-kicker{display:block;margin-bottom:5px;color:#1677e8;font-size:11px;font-weight:800;letter-spacing:.07em}.integration-monitoring-section .card-header h2{margin:0 0 5px}.integration-monitoring-section .card-header p{margin:0;color:#667085}
.notification-bell{position:relative;display:grid;place-items:center;width:42px;height:42px;border:1px solid #d5e1f0;border-radius:6px;background:#fff;color:#1769e0;font-size:20px;cursor:pointer}.notification-bell:hover{background:#edf5ff;border-color:#93bdf1}.notification-bell b{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:1px 4px;border:2px solid #fff;border-radius:10px;background:#d92d20;color:#fff;font-size:10px;line-height:14px;text-align:center}
.notification-area{position:relative}.notifications-popover{position:absolute;z-index:30;right:0;top:50px;width:min(440px,calc(100vw - 32px));overflow:hidden;border:1px solid #d5e1f0;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(12,45,85,.18)}.notifications-head{display:flex;align-items:flex-start;justify-content:space-between;padding:15px 16px 13px;border-bottom:1px solid #e4ebf4}.notifications-head strong{display:block;color:#102d50;font-size:14px}.notifications-head span{display:block;margin-top:3px;color:#64748b;font-size:12px}.notification-close{width:28px;height:28px;border:0;border-radius:4px;background:#edf2f7;color:#40526d;font-size:20px;line-height:1;cursor:pointer}.notifications-list{max-height:500px;overflow:auto}.notification-item{display:block;width:100%;padding:13px 16px;border:0;border-bottom:1px solid #edf1f6;background:#fff;color:#132c4a;text-align:left;cursor:pointer}.notification-item:hover{background:#f5f9ff}.notification-item.unread{border-left:3px solid #1f7ae0;background:#f7fbff}.notification-item strong,.notification-item small,.notification-recovery{display:block}.notification-item strong{margin-top:6px;font-size:13px;line-height:1.35}.notification-item small{margin-top:4px;color:#718096;font-size:11px}.notification-status{font-size:11px;font-weight:800}.notification-status.danger{color:#c83232}.notification-status.success{color:#0d8a4d}.notification-status.warning{color:#a66a00}.notification-recovery{margin-top:6px;color:#354864;font-size:12px}.notification-recovery .negative{color:#c83232}.notification-recovery .positive{color:#0d8a4d}.notifications-empty{padding:22px 16px;color:#64748b;font-size:13px;line-height:1.45}
.analysis-result{display:grid;gap:8px;box-sizing:border-box;min-width:0;width:100%;padding:11px;border:1px solid #dbe7f5;border-radius:6px;background:#f8fbff}.analysis-result>strong{font-size:11px;letter-spacing:.02em}.analysis-result-values{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.analysis-result-values b{font-size:18px;line-height:1.1}.analysis-result-values span{font-size:12px;font-weight:800;text-align:right}.analysis-result-status{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding-top:8px;border-top:1px solid #e2ebf5}.analysis-result-status>span{color:#667085;font-size:11px;font-weight:700}.analysis-result-status small{width:100%;color:#667085;font-size:9px}.analysis-result.increase>strong,.analysis-result.increase .analysis-result-values b,.analysis-result.increase .analysis-result-values span{color:#087c42}.analysis-result.decrease>strong{color:#b54708}.analysis-result.decrease .analysis-result-values b,.analysis-result.decrease .analysis-result-values span{color:#1f5f9e}.catalog-card-footer:has(.analysis-result){display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:8px}.catalog-card-footer:has(.analysis-result) .catalog-tags{justify-content:flex-start}
.research-state .status-after,.analysis-result .status-after{display:flex;align-items:center;gap:4px;margin-top:5px;color:#475467;font-size:10px;font-weight:700}.research-state .status-after .badge,.analysis-result .status-after .badge{font-size:10px}
.report-market-note{display:flex;align-items:center;gap:14px;margin:-5px 0 18px;padding:13px 16px;border:1px solid #f0d8a6;border-radius:7px;background:#fff9e9;color:#76540b}.report-market-note strong{white-space:nowrap}.report-market-note span{line-height:1.45}.weekend-flag{color:#a45a00;font-size:10px;font-weight:800}@media(max-width:620px){.report-market-note{align-items:flex-start;flex-direction:column;gap:4px}}
.report-filters{grid-template-columns:1.6fr repeat(4,minmax(0,1fr))}
.report-competitor-search{display:grid;align-content:end;gap:6px;min-width:170px}.report-competitor-search .primary{min-height:38px}.report-competitor-search small{color:#667085;font-size:11px;white-space:nowrap}
.api-update-bar{grid-template-columns:auto minmax(220px,1fr) auto auto auto}.api-refresh-button{border:1px solid #9cc9ff;border-radius:5px;background:#fff;color:#145fae;padding:8px 11px;font:inherit;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.api-refresh-button:hover{background:#eaf4ff}.api-refresh-button:disabled{opacity:.6;cursor:wait}@media(max-width:900px){.api-update-bar{grid-template-columns:auto 1fr auto}.api-refresh-button{grid-column:2 / -1;justify-self:start}.api-update-base{grid-column:auto}}@media(max-width:560px){.api-refresh-button{grid-column:1 / -1;width:100%}}

.sidebar {
  background: linear-gradient(180deg, #102846 0%, #0d213b 100%);
}

.nav-item {
  color: #c3d7ee;
}

.nav-item:hover,
.nav-item.active {
  background: #1b66bd;
  box-shadow: inset 3px 0 0 #70b7ff;
  color: #fff;
}

.nav-settings,
.sidebar-footer {
  border-color: #294d76;
}

.vellore-logo {
  background: #fff;
  border: 1px solid #d7e6f7;
  box-shadow: 0 6px 18px #061a321f;
}

.primary,
.api-update-icon {
  background: #1478ed;
}

.primary:hover {
  background: #0867d7;
}

.api-update-bar {
  background: #102846;
}

.api-update-base {
  border-color: #38608d;
}

.filters input:focus,
.filters select:focus {
  border-color: #1478ed;
  outline-color: #b8dcff;
}

.brand-multiselect {
  position: relative;
}

.brand-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 38px;
  padding: 0 11px;
  border: 1px solid #d4dbe5;
  border-radius: 5px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.brand-trigger:hover,
.brand-trigger[aria-expanded="true"] {
  border-color: #1478ed;
}

.brand-trigger[aria-expanded="true"] {
  box-shadow: 0 0 0 2px #b8dcff;
}

.brand-trigger-caret {
  width: 8px;
  height: 8px;
  border-right: 2px solid #253858;
  border-bottom: 2px solid #253858;
  transform: rotate(45deg) translateY(-2px);
}

.brand-menu {
  position: absolute;
  z-index: 30;
  top: calc(100% + 6px);
  left: 0;
  width: min(330px, calc(100vw - 64px));
  max-height: 300px;
  overflow: auto;
  border: 1px solid #cfdbe9;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 14px 30px #10284624;
}

.brand-menu[hidden] {
  display: none;
}

.brand-menu-header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-bottom: 1px solid #e8edf4;
  background: #f8fbff;
  color: #52647c;
  font-size: 11px;
  font-weight: 700;
}

.brand-menu-header button {
  border: 0;
  background: transparent;
  color: #1478ed;
  font: inherit;
  cursor: pointer;
}

.brand-options {
  padding: 6px;
}

.brand-option {
  display: flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 9px;
  min-height: 34px;
  padding: 6px 8px;
  border-radius: 4px;
  color: #243850 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer;
}

.brand-option:hover {
  background: #eef6ff;
}

.brand-option input {
  width: 15px !important;
  height: 15px !important;
  accent-color: #1478ed;
}

.catalog-card-clickable {
  cursor: pointer;
}

.catalog-card-clickable:focus-visible {
  outline: 3px solid #8fc5ff;
  outline-offset: 2px;
}

.catalog-card-missing-cost {
  border-color: #d7dde5;
  background: #f4f6f8;
  filter: grayscale(.42);
  opacity: .72;
}

.catalog-card-missing-cost:hover {
  border-color: #d7dde5;
  box-shadow: none;
  transform: none;
}

.catalog-card-missing-cost .catalog-card-body {
  background: #f7f8fa;
}

.catalog-card-missing-cost .catalog-metrics b:last-child {
  color: #9a6700;
  font-size: 11px;
}

.financial-missing-cost,
.missing-cost-result {
  display: grid;
  gap: 5px;
  padding: 10px;
  border: 1px solid #ecd5a4;
  border-radius: 5px;
  background: #fff8e8;
}

.financial-missing-cost strong,
.missing-cost-result strong {
  color: #9a6700;
  font-size: 11px;
  letter-spacing: .03em;
}

.financial-missing-cost span,
.missing-cost-result span {
  color: #6f5a2a;
  font-size: 10px;
  line-height: 1.35;
}

.missing-cost-only {
  display: grid;
  place-items: center;
  min-height: 116px;
  margin-top: 14px;
  border: 1px dashed #c8cfd9;
  border-radius: 6px;
  background: #eceff3;
  color: #6b7280;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .06em;
}

.catalog-card-select {
  position: absolute;
  z-index: 3;
  top: 10px;
  left: 10px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid #c8d6e6;
  border-radius: 5px;
  background: #fffffff2;
  box-shadow: 0 2px 6px #10284618;
  cursor: pointer;
}

.catalog-card {
  position: relative;
}

.catalog-analysis-confirmed{position:absolute;z-index:4;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid #9bd7b0;border-radius:50%;background:#dff7e8;color:#087c42;font-size:19px;font-weight:900;box-shadow:0 2px 6px #10284618}
.catalog-card:has(.routine-dismiss) .catalog-analysis-confirmed{right:46px}

.catalog-card-select input,
.catalog-select-all input {
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: #1478ed;
}

.catalog-card-select span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

/* ROTINA only: dismisses an item from the remaining review queue, never from the account. */
.routine-dismiss{position:absolute;z-index:4;top:10px;right:10px;display:grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid #f0b7bb;border-radius:5px;background:#fff;color:#c83232;font:700 22px/1 Arial,sans-serif;cursor:pointer;box-shadow:0 2px 6px #10284618}.routine-dismiss:hover{background:#fff0f1;border-color:#c83232}.routine-dismiss:focus-visible{outline:2px solid #c83232;outline-offset:2px}

.catalog-bulk-bar {
  display: flex;
  align-items: center;
  gap: 14px;
  min-height: 58px;
  margin: 0 0 18px;
  padding: 10px 15px;
  border: 1px solid #d7e4f3;
  border-radius: 7px;
  background: #fff;
}

.catalog-select-all {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #243850;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.catalog-selection-count {
  color: #667085;
  font-size: 12px;
}

.catalog-bulk-actions {
  display: flex;
  gap: 8px;
  margin-left: auto;
}

.catalog-bulk-left {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.catalog-bulk-actions button {
  min-width: 106px;
  font-size: 12px;
}

.catalog-page-size {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  overflow: hidden;
  border: 1px solid #c9d7ea;
  border-radius: 6px;
  background: #fff;
}

.catalog-page-size > span {
  padding: 0 10px;
  color: #516782;
  font-size: 12px;
  font-weight: 700;
}

.catalog-page-size .page-size-option {
  min-width: 36px;
  height: 34px;
  padding: 0 9px;
  border: 0;
  border-left: 1px solid #dbe5f2;
  border-radius: 0;
  background: #fff;
  color: #34506f;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.catalog-page-size .page-size-option:hover {
  background: #edf5ff;
}

.catalog-page-size .page-size-option.active {
  background: #1475e8;
  color: #fff;
}

.catalog-bulk-actions button:disabled {
  cursor: not-allowed;
  opacity: .5;
}

@media(max-width:900px){.catalog-bulk-bar{align-items:stretch;flex-direction:column}.catalog-bulk-left,.catalog-bulk-actions{flex-wrap:wrap;margin-left:0}.catalog-bulk-actions{justify-content:flex-end}}

.divergence-toggle.active {
  border-color: #d94545;
  background: #fff0f0;
  color: #b42323;
}
.divergence-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:7px;padding:0 5px;border-radius:999px;background:#d92d20;color:#fff;font-size:11px;font-weight:800;line-height:1}

.catalog-filter-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.catalog-brand {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  margin-top: 4px;
  color: #58708f;
  font-size: 11px;
}

.catalog-brand b {
  overflow: hidden;
  color: #253858;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.catalog-status-stack {
  display: grid;
  justify-items: end;
  gap: 4px;
}

.catalog-lowest-full {
  color: #087443;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
}

.competitors-modal[hidden] {
  display: none;
}

.competitors-modal {
  position: fixed;
  z-index: 100;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 28px;
}

.competitors-backdrop {
  position: absolute;
  inset: 0;
  background: #07182ddd;
}

.competitors-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(1080px, 100%);
  max-height: min(760px, calc(100vh - 56px));
  overflow: hidden;
  border: 1px solid #c8d8ea;
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 28px 70px #07182d66;
}

.competitors-dialog header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 21px 24px 18px;
  border-bottom: 1px solid #e4eaf2;
}

.competitors-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: #1478ed;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
}

.competitors-dialog h2 {
  max-width: 760px;
  margin: 0;
  color: #172b4d;
  font-size: 18px;
}

.competitors-dialog header p {
  margin: 7px 0 0;
  color: #667085;
  font-size: 12px;
}

.competitors-header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.competitors-open-listing {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #1b75dd;
  border-radius: 5px;
  background: #1478ed;
  color: #fff;
  padding: 8px 11px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}

.competitors-open-listing:hover {
  background: #0f68cc;
}

.competitors-close {
  flex: 0 0 auto;
  border: 1px solid #ccd8e7;
  border-radius: 5px;
  background: #f8fbff;
  color: #1b5fae;
  padding: 8px 11px;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.competitors-content {
  overflow: auto;
}

.competitors-loading,
.competitors-empty {
  padding: 54px 24px;
  color: #667085;
  text-align: center;
}

.competitor-table-head,
.competitor-row {
  display: grid;
  grid-template-columns: 1.05fr .8fr 1.2fr 1.3fr;
  gap: 18px;
  align-items: center;
  padding: 16px 24px;
}

.competitor-table-head {
  position: sticky;
  top: 0;
  z-index: 1;
  padding-top: 11px;
  padding-bottom: 11px;
  border-bottom: 1px solid #e4eaf2;
  background: #f8fbff;
  color: #58708f;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.competitor-row {
  border-bottom: 1px solid #edf1f6;
  color: #2a3b54;
  font-size: 13px;
}

.competitor-row:last-child {
  border-bottom: 0;
}

.competitor-own {
  background: #eef8f1;
}

.competitor-price {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}

.competitor-price s {
  width: 100%;
  color: #7a8798;
  font-size: 11px;
}

.competitor-price b {
  color: #16233a;
  font-size: 17px;
}

.competitor-price span,
.competitor-seller span {
  padding: 3px 5px;
  border-radius: 3px;
  background: #e0f6e7;
  color: #087840;
  font-size: 10px;
  font-weight: 800;
}

.competitor-row small,
.competitor-seller span {
  display: block;
  margin-top: 4px;
}

.competitor-row small {
  color: #718096;
  font-size: 11px;
}

.full-delivery {
  color: #0a7b43;
}

@media (max-width: 700px) {
  .competitors-modal {
    align-items: end;
    padding: 0;
  }
  .competitors-dialog {
    max-height: 86vh;
    border-radius: 8px 8px 0 0;
  }
  .competitor-table-head,
  .competitor-row {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 13px 16px;
  }
  .competitor-table-head span:nth-child(2),
  .competitor-table-head span:nth-child(3) {
    display: none;
  }
  .competitor-row > div:nth-child(2),
  .competitor-row > div:nth-child(3) {
    display: none;
  }
  .catalog-bulk-bar {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .catalog-bulk-actions {
    width: 100%;
    margin-left: 0;
  }
  .catalog-bulk-actions button {
    flex: 1;
  }
}

/* Keep the cost form and the adjacent table within their own grid tracks. */
.products-layout{grid-template-columns:minmax(0,330px) minmax(0,1fr);min-width:0;overflow:hidden}.product-form-card,.products-list-card,.product-form-card .form-grid,.product-form-card label{min-width:0}.product-form-card .form-grid input{width:100%;min-width:0}.product-tax-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products-list-card .table-card{max-width:100%;max-height:calc(100vh - 265px);min-height:380px;overflow:auto}.products-list-card .data-table thead th{position:sticky;top:0;z-index:1;box-shadow:0 1px 0 #dfe6ef}@media(max-width:1050px){.products-layout{grid-template-columns:minmax(0,1fr);overflow:visible}.product-form-card{max-width:none}.products-list-card .table-card{max-height:580px}}@media(max-width:420px){.view{padding-left:14px;padding-right:14px}.product-form-card{padding:14px}.product-tax-grid{gap:8px}.products-list-card .table-card{max-height:500px;min-height:320px}}
.product-form-card .tax-input-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;width:100%;font-size:12px;font-weight:700;color:#344054}.product-form-card .tax-unit-select{width:auto;min-width:48px;height:25px;padding:2px 5px;border:1px solid #cdd7e4;border-radius:4px;background:#f7faff;color:#1764b5;font:inherit;font-size:11px;font-weight:800}.product-form-card input[inputmode="numeric"]{font-variant-numeric:tabular-nums}

.integration-overview{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:22px;margin-bottom:16px;background:#14294c;color:#fff;border-radius:8px}.integration-kicker{display:block;color:#a9d0ff;font-size:11px;font-weight:800;letter-spacing:.07em}.integration-overview h2{margin:6px 0;font-size:21px}.integration-overview p{margin:0;color:#cfddf2;line-height:1.45}.integration-overview .primary{white-space:nowrap}.integration-health{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:18px}.integration-health article{display:grid;gap:6px;padding:15px 17px;background:#fff;border:1px solid #dfe6ee;border-radius:7px}.health-label{color:#667085;font-size:11px;font-weight:700}.integration-health strong{font-size:16px;color:#172b4d}.integration-health small{color:#667085;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.integration-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.integration-action{display:grid;grid-template-columns:42px 1fr;gap:13px;padding:18px;min-height:190px}.integration-action-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:6px;background:#e9f2ff;color:#1466bc;font-size:12px;font-weight:900}.integration-action-icon.cost{background:#e9f7ed;color:#137544}.integration-action-icon.rules{background:#fff1d4;color:#986800}.integration-action h2{margin:2px 0 7px;font-size:15px}.integration-action p{grid-column:1 / -1;margin:0;color:#667085;line-height:1.5}.integration-action-foot{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid #edf0f4}.integration-note{display:flex;align-items:center;gap:16px;margin-top:18px;padding:14px 17px;border:1px solid #cfe0fb;background:#f3f8ff;border-radius:7px;color:#456287}.integration-note strong{color:#173c70;white-space:nowrap}.integration-note span{line-height:1.45}@media(max-width:900px){.integration-action-grid{grid-template-columns:1fr}.integration-action{min-height:0}.integration-health{grid-template-columns:1fr 1fr}}@media(max-width:620px){.integration-overview{align-items:flex-start;flex-direction:column}.integration-overview .primary{width:100%}.integration-health{grid-template-columns:1fr}.integration-note{align-items:flex-start;flex-direction:column;gap:5px}}
.manual-proposal{margin-top:12px;padding:10px;border:1px solid #cfe0f6;border-radius:6px;background:#f8fbff}.manual-proposal-heading{display:flex;justify-content:space-between;gap:8px;color:#153d70;font-size:12px}.manual-proposal-heading span{color:#657894;font-size:11px}.manual-proposal-options,.manual-proposal-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:9px}.manual-proposal-options label{display:flex;align-items:center;gap:5px;color:#294864;font-size:12px;font-weight:700}.manual-proposal-fields label{display:grid;gap:4px;color:#526a86;font-size:11px;font-weight:700}.manual-proposal-fields input{min-width:0;height:32px;padding:0 8px;border:1px solid #cbd9eb;border-radius:5px;color:#122d4d;font:inherit}.manual-save{width:100%;margin-top:9px;min-height:32px}
.immunity-button{border-color:#d7b9f0;background:#fbf7ff;color:#6b2ca0}.immunity-button.active{border-color:#a56bd5;background:#f0e4fb;color:#572184}.immunity-tag{background:#f0e4fb;color:#5c238b;font-weight:800}.immunity-panel{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px;padding:10px;border:1px solid #dbc4ef;border-radius:6px;background:#fcf9ff}.immunity-heading{grid-column:1 / -1;display:flex;justify-content:space-between;gap:8px;color:#592486;font-size:12px}.immunity-heading span{color:#7a6191;font-size:11px}.immunity-panel p{grid-column:1 / -1;margin:0;color:#685779;font-size:11px;line-height:1.35}.immunity-panel label{display:flex;align-items:center;gap:6px;color:#4d2f69;font-size:12px;font-weight:700}.immunity-panel .secondary{grid-column:1 / -1;min-height:32px;border-color:#cdb0e8;background:#fff;color:#5f2592}
.product-immunity{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:11px;border:1px solid #dbc4ef;border-radius:6px;background:#fcf9ff}.product-immunity strong,.product-immunity p{grid-column:1 / -1;margin:0}.product-immunity strong{color:#5a2389;font-size:13px}.product-immunity p{color:#78618e;font-size:11px}.product-immunity label{display:flex;align-items:center;gap:6px;color:#4d2f69;font-size:12px;font-weight:700}
.product-name-cell{min-width:250px;max-width:420px;color:#233a5d;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:74px}.table-edit,.table-delete{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;border-radius:4px;background:transparent;font:700 18px/1 Arial,sans-serif;cursor:pointer}.table-edit{color:#1768c5}.table-edit:hover{background:#eaf3ff}.table-delete{color:#d92d20}.table-delete:hover{background:#fff0ef}
.product-immunity-cell{color:#087c42;font-size:11px;font-weight:800}
.product-list-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(170px,220px) auto;align-items:end;gap:12px;padding:0 18px 16px}.product-list-filters label{display:grid;gap:6px;color:#51637d;font-size:12px;font-weight:800}.product-list-filters input,.product-list-filters select{width:100%;min-height:38px;border:1px solid #cdd8e7;border-radius:5px;background:#fff;color:#172b4d;font:inherit;padding:0 11px}.product-list-filters .secondary{min-height:38px;white-space:nowrap}.product-form-card.save-warning{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.13)}.product-form-card.save-warning #save-product-cost{background:#c72d31;border-color:#c72d31}.product-save-warning{margin:0 0 10px!important;padding:9px 10px;border:1px solid #fecaca;border-radius:5px;background:#fff1f1;color:#b42318;font-size:12px;font-weight:700;line-height:1.35}@media(max-width:720px){.product-list-filters{grid-template-columns:1fr;padding:0 14px 14px}.product-list-filters .secondary{width:100%}}
.product-list-filters{grid-template-columns:minmax(240px,1fr) minmax(120px,170px) minmax(170px,220px) auto}

/* Card typography defines a base color on bold values. Keep margin signals above it. */
.catalog-metrics b.positive,.catalog-metrics b .positive,.analysis-result-values .positive{color:#087c42!important}.catalog-metrics b.negative,.catalog-metrics b .negative,.analysis-result-values .negative{color:#c83232!important}

/* Real account snapshot: status counts come only from the latest API scenario. */
.catalog-account-summary{align-items:flex-start}.catalog-account-summary .catalog-context-metrics{display:grid;grid-template-columns:repeat(3,max-content);gap:8px 10px;justify-content:end}.catalog-account-summary .catalog-context-metrics span{padding:7px 9px;border-radius:5px;background:#eaf0f8;color:#52647e;font-weight:700}.catalog-account-summary .catalog-context-metrics b{font-size:16px}.catalog-account-summary .catalog-context-metrics .metric-winning{background:#e6f7ed;color:#087c42}.catalog-account-summary .catalog-context-metrics .metric-sharing{background:#fff2cf;color:#996300}.catalog-account-summary .catalog-context-metrics .metric-losing{background:#ffeaeb;color:#c83232}.catalog-account-summary .catalog-context-metrics .metric-neutral{background:#edf1f5;color:#637087}.catalog-account-summary .catalog-context-metrics .metric-cost{background:#fdf2df;color:#9a5d00}@media(max-width:900px){.catalog-account-summary .catalog-context-metrics{grid-template-columns:repeat(3,max-content);justify-content:start}}@media(max-width:560px){.catalog-account-summary .catalog-context-metrics{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.catalog-account-summary .catalog-context-metrics span{white-space:nowrap}}

/* Queue controls only discard pending integration work; running jobs remain protected. */
.queue-header-actions,.queue-entry-actions{display:flex;align-items:center;gap:8px}.queue-clear-button{min-height:32px;color:#b4232d}.queue-entry{gap:12px}.queue-entry-actions{margin-left:auto}.queue-remove{display:grid;place-items:center;width:27px;height:27px;padding:0;border:1px solid #efb4b7;border-radius:4px;background:#fff;color:#c83232;font:700 20px/1 Arial,sans-serif;cursor:pointer}.queue-remove:hover{border-color:#c83232;background:#fff0f1}.queue-remove:disabled{opacity:.45;cursor:not-allowed}@media(max-width:520px){.queue-header-actions{width:100%;justify-content:space-between}.queue-entry{align-items:flex-start;flex-direction:column}.queue-entry-actions{margin-left:0}}
.catalog-visible-summary{color:#62718a;font-size:11px;font-weight:700;white-space:nowrap}
.negative-execution-lock{margin-top:6px!important;color:#b4232d!important;font-size:10px!important;font-weight:800}

/* Supplier report: a compact, printable view for negotiating unviable catalog prices. */
.report-export-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.supplier-report-group{margin-top:16px;overflow:hidden;border:1px solid #dbe5f0;border-radius:7px;background:#fff}.supplier-report-group>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 17px;border-bottom:1px solid #e7edf4;background:#f7faff}.supplier-report-group>header span:first-child{display:block;margin-bottom:3px;color:#687993;font-size:10px;font-weight:900;letter-spacing:.08em}.supplier-report-group h3{margin:0;color:#19395f;font-size:16px}.supplier-report-group .table-card{border:0;border-radius:0}.supplier-report-group .reports-table{min-width:900px}.supplier-report-group .reports-table td{vertical-align:middle}.report-link{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border:1px solid #9cc3f7;border-radius:5px;color:#0c5db7;font-size:12px;font-weight:800;text-decoration:none;white-space:nowrap}.report-link:hover{border-color:#0b6dd9;background:#edf6ff}.supplier-report-empty{padding:28px;text-align:center}.supplier-report-empty strong{display:block;margin-bottom:6px;color:#1b3658}.supplier-report-empty p{margin:0;color:#61748e}@media(max-width:620px){.report-export-actions{width:100%}.report-export-actions button{flex:1}.supplier-report-group>header{padding:13px 14px}.supplier-report-group h3{font-size:14px}}

/* A report run is visible, but never takes the catalog workspace away. */
.supplier-report-progress{position:fixed;right:20px;bottom:20px;z-index:2200;width:min(360px,calc(100vw - 32px));max-height:280px;overflow:auto;padding:12px;border:1px solid #b7d2ef;border-radius:8px;background:#fff;box-shadow:0 16px 36px rgba(17,55,92,.22)}.supplier-report-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.supplier-report-progress-head strong{display:block;color:#12345a}.supplier-report-progress-head span{color:#5d7390;font-size:12px}.supplier-progress-close{border:0;background:transparent;color:#5d7390;font-size:20px;line-height:1;cursor:pointer}.supplier-report-progress-list{display:grid;gap:6px;margin-top:10px}.supplier-report-progress-list>div{display:grid;grid-template-columns:auto 1fr;column-gap:8px;row-gap:2px;padding-top:7px;border-top:1px solid #e6edf5;font-size:12px}.supplier-report-progress-list strong{color:#12345a}.supplier-report-progress-list span{color:#167d47;text-align:right}.supplier-report-progress-list small{grid-column:1/-1;overflow:hidden;color:#687b92;text-overflow:ellipsis;white-space:nowrap}

/* Routine executions remain easy to find without replacing the normal audit. */
.routine-conference{margin-top:18px}.routine-conference-groups{display:grid;gap:8px;padding:16px}.routine-conference-group{overflow:hidden;border:1px solid #dbe5f0;border-radius:6px;background:#fff}.routine-conference-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#f4f8fc;color:#17345c;font-size:14px;font-weight:800;cursor:pointer;list-style:none}.routine-conference-group summary::-webkit-details-marker{display:none}.routine-conference-group summary::after{content:"+";margin-left:8px;color:#1768c5;font-size:17px;line-height:1}.routine-conference-group[open] summary{border-bottom:1px solid #dfe8f2}.routine-conference-group[open] summary::after{content:"−"}.routine-conference-group summary small{margin-left:auto;color:#64748b;font-size:12px;font-weight:600}.routine-conference-items article{display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 13px;border-top:1px solid #edf2f7;font-size:13px}.routine-conference-items article:first-child{border-top:0}.routine-conference-items time{color:#64748b;font-variant-numeric:tabular-nums}.routine-conference-items strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-conference-items span{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;color:#41536d}@media(max-width:740px){.routine-conference-items article{grid-template-columns:1fr;gap:5px}.routine-conference-items strong{white-space:normal}}

/* Decision engine: concise critical rules with auditable details on demand. */
.decision-engine{padding:24px;border:1px solid #cfe0fb;border-radius:8px;background:#f5f9ff}.decision-engine-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.logic-kicker{display:block;color:#1667c5;font-size:10px;font-weight:900;letter-spacing:.08em}.decision-engine h2,.logic-section h2,.logic-learned h2{margin:5px 0 7px;color:#132b4d;font-size:20px}.decision-engine p,.logic-section-head p,.logic-learned .card-header p{margin:0;color:#58708f;line-height:1.45}.logic-indicators{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.logic-indicator{padding:7px 10px;border-radius:5px;background:#e8eff8;color:#385572;font-size:12px;font-weight:800}.logic-indicator.positive{background:#e0f5e7;color:#087a42}.logic-indicator.neutral{background:#fff1d6;color:#985f00}.logic-indicator.full{background:#e2efff;color:#1562ae}.decision-flow{display:grid;grid-template-columns:repeat(6,minmax(120px,1fr));gap:10px;margin-top:22px}.decision-step{position:relative;display:grid;gap:5px;padding:14px;min-height:120px;border:1px solid #d5e2f2;border-radius:7px;background:#fff}.decision-step b{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#1e74d8;color:#fff;font-size:12px}.decision-step strong{color:#18355b;font-size:13px}.decision-step span{color:#647895;font-size:11px;line-height:1.35}.logic-section{margin-top:20px}.logic-section-head{margin-bottom:12px}.logic-critical-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.logic-rule-card{display:flex;flex-direction:column;align-items:flex-start;min-height:210px;padding:18px}.logic-rule-group{display:inline-block;margin-bottom:9px;color:#2069bc;font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.logic-rule-card h3{margin:0;color:#18355b;font-size:15px}.logic-rule-card>p{min-height:38px;margin:9px 0 16px;color:#627794;font-size:12px;line-height:1.45}.logic-rule-toggle{margin-top:auto}.logic-rule-detail{width:100%;margin-top:13px;padding-top:13px;border-top:1px solid #e5ebf3}.logic-rule-detail dl{display:grid;gap:10px;margin:0}.logic-rule-detail dl div{display:grid;gap:3px}.logic-rule-detail dt{color:#45617e;font-size:11px;font-weight:900}.logic-rule-detail dd{margin:0;color:#253f5e;font-size:12px;line-height:1.42}.logic-learned{margin-top:20px}.logic-learning-filters{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,260px);gap:12px;padding:0 18px 16px}.logic-learning-filters label{display:grid;gap:6px;color:#51637d;font-size:12px;font-weight:800}.logic-learning-filters input,.logic-learning-filters select{width:100%;min-height:38px;padding:0 11px;border:1px solid #cdd8e7;border-radius:5px;background:#fff;color:#172b4d;font:inherit}.logic-learning-list{display:grid;border-top:1px solid #e5ebf2}.logic-learning-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,.9fr);gap:18px;padding:15px 18px;border-bottom:1px solid #e9eef5}.logic-learning-row strong{color:#18355b;font-size:14px}.logic-learning-row p{margin:5px 0 0;color:#617692;font-size:12px;line-height:1.42}.logic-learning-meta{display:flex;align-content:start;align-items:flex-start;justify-content:flex-end;flex-wrap:wrap;gap:6px}.logic-learning-meta span{padding:5px 7px;border-radius:4px;background:#edf2f8;color:#51637a;font-size:10px;font-weight:800}@media(max-width:1180px){.decision-flow{grid-template-columns:repeat(3,minmax(0,1fr))}.logic-critical-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.decision-engine{padding:17px}.decision-engine-header{flex-direction:column}.decision-flow,.logic-critical-grid,.logic-learning-filters,.logic-learning-row{grid-template-columns:1fr}.logic-learning-meta{justify-content:flex-start}.logic-rule-card>p{min-height:auto}.logic-learning-filters{padding:0 14px 14px}.logic-learning-row{padding:14px}}

/* Cost spreadsheet: export, fill, import. The preview is the approval step, so it has to
   read as a decision screen and not as a file dialog. */
.cost-sheet{margin-top:18px}.cost-sheet-actions{display:flex;flex-wrap:wrap;gap:9px;padding:0 18px}.cost-sheet-actions button{min-height:38px;white-space:nowrap}.cost-sheet-hint{margin:12px 18px 18px;padding:11px 12px;border:1px solid #dbe5f0;border-radius:6px;background:#f7faff;color:#5b7192;font-size:12px;line-height:1.5}.cost-sheet-hint b{color:#284a74}
.cost-import-modal[hidden]{display:none}.cost-import-modal{position:fixed;z-index:2400;inset:0;display:grid;place-items:center;padding:28px}.cost-import-backdrop{position:absolute;inset:0;background:#07182ddd}.cost-import-dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto auto auto 1fr auto;width:min(1020px,100%);max-height:min(780px,calc(100vh - 56px));overflow:hidden;border:1px solid #c8d8ea;border-radius:8px;background:#fff;box-shadow:0 28px 70px #07182d66}.cost-import-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:19px 22px 16px;border-bottom:1px solid #e4eaf2}.cost-import-head strong{display:block;color:#172b4d;font-size:17px}.cost-import-head span{color:#667085;font-size:12px}.cost-import-close{border:0;background:transparent;color:#5d7390;font-size:22px;line-height:1;cursor:pointer}.cost-import-summary{display:flex;flex-wrap:wrap;gap:7px;padding:14px 22px 0}.cost-import-note{margin:11px 22px 0;color:#61748e;font-size:12px}.cost-import-note.warn{padding:9px 11px;border:1px solid #f5d08a;border-radius:5px;background:#fff8ea;color:#8a5a00;font-weight:700}.cost-import-body{overflow:auto;margin-top:14px;padding:0 22px}.cost-import-body .data-table{min-width:720px}.cost-import-body td{vertical-align:top}.cost-import-changes{margin:0;padding-left:15px;color:#3d5474;font-size:12px;line-height:1.55}.cost-import-changes b{color:#18355b}.cost-import-warning{margin-top:3px;color:#8a5a00;font-size:11px;font-weight:700}.cost-import-error{color:#b4232d;font-size:12px;font-weight:700}.cost-import-row.cost-import-invalid td{background:#fff6f6}.cost-import-row.cost-import-unchanged td,.cost-import-row.cost-import-superseded td{color:#8a97a9}.cost-import-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid #e4eaf2;background:#f8fafd}@media(max-width:720px){.cost-import-modal{padding:12px}.cost-sheet-actions{padding:0 14px}.cost-sheet-actions button{flex:1 1 100%}.cost-import-body{padding:0 12px}.cost-import-head,.cost-import-foot{padding:14px}}

/* Fila de aprovacao compartilhada: com mais de um operador, quem enviou o item importa. */
.approval-author{margin:4px 0 0!important;color:#5d7390;font-size:11px;font-weight:700}

/* Perfis de acesso: quem esta operando fica visivel, e o que o perfil nao alcanca some. */
.perfil-atual{padding:5px 9px;border:1px solid #cfe0fb;border-radius:5px;background:#f2f7ff;color:#2a5a94;font-size:11px;font-weight:800;white-space:nowrap;max-width:280px;overflow:hidden;text-overflow:ellipsis}
.perfil-aviso{margin:0 0 12px;padding:10px 12px;border:1px solid #f5d08a;border-radius:6px;background:#fff8ea;color:#8a5a00;font-size:12px;font-weight:600;line-height:1.5}
.users-table .user-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px) 40px;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid #eef2f7}
.users-table .user-row small{display:block;color:#7a8aa0;font-size:11px}
.users-table .user-head{color:#5d7390;font-size:11px;font-weight:800;letter-spacing:.04em}
.users-table select{min-height:36px;padding:0 9px;border:1px solid #cdd8e7;border-radius:5px;background:#fff;color:#172b4d;font:inherit}
.user-add{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px) auto;align-items:end;gap:12px;margin-top:16px}
.user-add label{display:grid;gap:6px;color:#51637d;font-size:12px;font-weight:800}
.user-add input,.user-add select{min-height:38px;padding:0 11px;border:1px solid #cdd8e7;border-radius:5px;background:#fff;color:#172b4d;font:inherit}
.user-actions{display:flex;justify-content:flex-end;margin-top:14px}
.perfil-legenda{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid #eef2f7}
.perfil-item{display:grid;grid-template-columns:130px minmax(0,1fr);gap:10px;font-size:12px}
.perfil-item strong{color:#18355b}
.perfil-item span{color:#61748e;line-height:1.45}
@media(max-width:680px){.users-table .user-row,.user-add,.perfil-item{grid-template-columns:1fr}}
