:root {
  --navy-950: #07131f;
  --navy-900: #0b1b2a;
  --navy-800: #10283c;
  --navy-700: #17384f;
  --slate-900: #18242f;
  --slate-700: #415363;
  --slate-500: #718291;
  --slate-300: #cbd5dc;
  --slate-200: #dde5ea;
  --slate-100: #edf2f5;
  --slate-50: #f6f8fa;
  --white: #fff;
  --teal-700: #087f78;
  --teal-600: #0b968d;
  --teal-500: #14b8a6;
  --teal-100: #d8f4ef;
  --amber-700: #a85a04;
  --amber-100: #fff1d6;
  --red-700: #b42335;
  --red-100: #ffe4e7;
  --green-700: #14784c;
  --green-100: #dcf6e9;
  --shadow-sm: 0 1px 2px rgba(7, 19, 31, .06), 0 5px 16px rgba(7, 19, 31, .04);
  --shadow-lg: 0 24px 70px rgba(5, 19, 31, .18);
  --radius: 14px;
  --sidebar: 248px;
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--slate-50); }
body { min-height: 100vh; margin: 0; color: var(--slate-900); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px; line-height: 1.45; }
button, input, select { font: inherit; }
a { color: inherit; text-decoration: none; }
h1, h2, h3, p { margin-top: 0; }
button { cursor: pointer; }

.app-shell { display: grid; grid-template-columns: var(--sidebar) minmax(0, 1fr); }
.sidebar { position: fixed; inset: 0 auto 0 0; z-index: 30; width: var(--sidebar); display: flex; flex-direction: column; color: #dce8ef; background: linear-gradient(180deg, var(--navy-950), #0a2030 65%, #0c2738); box-shadow: 10px 0 35px rgba(7, 19, 31, .12); }
.brand { display: flex; align-items: center; gap: 12px; min-height: 88px; padding: 0 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.brand-mark { display: inline-grid; place-items: center; flex: 0 0 auto; width: 38px; height: 38px; color: white; font-weight: 850; font-size: 19px; background: linear-gradient(145deg, var(--teal-500), var(--teal-700)); border-radius: 11px 11px 11px 3px; box-shadow: 0 8px 24px rgba(20,184,166,.24); }
.brand-mark.large { width: 54px; height: 54px; font-size: 27px; border-radius: 16px 16px 16px 5px; }
.brand strong, .brand small { display: block; }.brand strong { color: #fff; font-size: 16px; letter-spacing: .01em; }.brand small { margin-top: 2px; color: #81a0b2; font-size: 11px; text-transform: uppercase; letter-spacing: .09em; }
.main-nav { flex: 1; min-height: 0; padding: 16px 12px; overflow-y: auto; }
.main-nav a { position: relative; display: flex; align-items: center; gap: 12px; margin: 3px 0; padding: 11px 13px; color: #a9becb; border-radius: 10px; font-weight: 620; transition: .2s ease; }
.main-nav a span { display: inline-grid; place-items: center; width: 21px; color: #7596a8; font-size: 18px; }
.main-nav a:hover { color: white; background: rgba(255,255,255,.05); transform: translateX(2px); }
.main-nav a.active { color: #fff; background: linear-gradient(90deg, rgba(20,184,166,.2), rgba(20,184,166,.07)); }
.main-nav a.active::before { content: ""; position: absolute; left: 0; width: 3px; height: 24px; background: var(--teal-500); border-radius: 0 4px 4px 0; box-shadow: 0 0 14px rgba(20,184,166,.6); }
.main-nav a.active span { color: #52d4c3; }
.nav-label { margin: 25px 13px 8px; color: #5f8092; font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.sidebar-foot { padding: 16px; border-top: 1px solid rgba(255,255,255,.08); }
.user-card { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }.user-card strong,.user-card small { display: block; }.user-card strong { color: #f2f7fa; font-size: 12px; }.user-card small { color: #7897a8; font-size: 10px; text-transform: uppercase; }
.avatar { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid rgba(255,255,255,.15); border-radius: 50%; color: #bdece6; background: rgba(20,184,166,.12); font-weight: 800; }
.link-button { padding: 4px 0; color: #7897a8; background: none; border: 0; font-size: 11px; }.link-button:hover { color: white; }

.workspace { grid-column: 2; min-width: 0; }
.topbar { position: sticky; top: 0; z-index: 20; display: flex; align-items: center; gap: 16px; min-height: 88px; padding: 15px clamp(20px, 3vw, 42px); background: rgba(255,255,255,.93); border-bottom: 1px solid var(--slate-200); backdrop-filter: blur(16px); }
.topbar h1 { margin: 1px 0 0; color: var(--navy-900); font-size: 22px; letter-spacing: -.025em; }
.eyebrow { display: block; color: var(--teal-700); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }.eyebrow.light { color: #7ce0d4; }
.topbar-status { display: flex; align-items: center; gap: 8px; margin-left: auto; color: var(--slate-500); font-size: 12px; font-weight: 650; }.status-dot { width: 8px; height: 8px; background: var(--teal-500); border-radius: 50%; box-shadow: 0 0 0 5px var(--teal-100); }
.menu-button { display: none; padding: 6px 8px; background: white; border: 1px solid var(--slate-200); border-radius: 8px; }
.content { width: 100%; max-width: 1780px; margin: 0 auto; padding: 30px clamp(20px, 3vw, 42px) 60px; }
.page-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 22px; }.page-intro h2 { margin-bottom: 5px; color: var(--navy-900); font-size: 24px; letter-spacing: -.025em; }.page-intro p { margin: 0; color: var(--slate-500); }
.inline-controls { display: flex; align-items: center; gap: 14px; padding: 10px 12px; background: white; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }.inline-controls label:not(.switch-control) { color: var(--slate-500); font-size: 11px; font-weight: 700; }.inline-controls select { margin-left: 7px; }

select, input[type="text"], input[type="search"], input[type="password"], input[type="email"], input:not([type]) { width: 100%; height: 40px; padding: 0 11px; color: var(--slate-900); background: white; border: 1px solid var(--slate-300); border-radius: 8px; outline: none; transition: .15s ease; }
select:focus, input:focus { border-color: var(--teal-600); box-shadow: 0 0 0 3px rgba(11,150,141,.12); }
.switch-control { display: inline-flex; align-items: center; gap: 8px; color: var(--slate-700); font-size: 12px; font-weight: 650; white-space: nowrap; cursor: pointer; }.switch-control input[type="checkbox"] { position: absolute; opacity: 0; }.switch-control span { position: relative; width: 36px; height: 20px; background: var(--slate-300); border-radius: 999px; transition: .2s; }.switch-control span::after { content: ""; position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; background: white; border-radius: 50%; box-shadow: 0 1px 3px rgba(0,0,0,.2); transition: .2s; }.switch-control input:checked + span { background: var(--teal-600); }.switch-control input:checked + span::after { transform: translateX(16px); }.switch-control.compact { align-self: end; height: 40px; }
.button { display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 16px; border: 1px solid transparent; border-radius: 9px; font-weight: 750; font-size: 12px; transition: .18s ease; }.button:hover { transform: translateY(-1px); }.button.primary { color: white; background: linear-gradient(135deg, var(--teal-600), var(--teal-700)); box-shadow: 0 7px 18px rgba(8,127,120,.18); }.button.secondary { color: var(--navy-800); background: white; border-color: var(--slate-300); }.button.ghost { color: var(--slate-600); background: transparent; }.button.danger-outline { color: var(--red-700); background: white; border-color: #efb9c0; }.button.compact { min-height: 31px; padding: 0 10px; font-size: 10.5px; }.button:disabled { pointer-events: none; opacity: .48; }.button.full { width: 100%; }.page-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }.page-actions form { margin: 0; }
.alert { margin: 0 0 18px; padding: 13px 16px; border: 1px solid; border-radius: 10px; font-weight: 620; }.alert.success { color: var(--green-700); background: var(--green-100); border-color: #b6e8d1; }.alert.error { color: var(--red-700); background: var(--red-100); border-color: #ffc9cf; }.floating-alert { position: fixed; z-index: 100; top: 20px; left: 50%; transform: translateX(-50%); width: min(520px, calc(100% - 32px)); }

.readiness-banner { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 20px; padding: 17px 19px; color: #6d440d; background: linear-gradient(100deg, #fff7e8, #fffdf8); border: 1px solid #f4d39e; border-radius: var(--radius); }.readiness-banner > div:first-child { display: flex; align-items: center; gap: 13px; }.readiness-banner strong { color: #613a08; }.readiness-banner p { margin: 2px 0 0; font-size: 12px; }.readiness-actions { display: flex; gap: 8px; }.signal { display: inline-block; width: 11px; height: 11px; border-radius: 50%; }.signal.warning { background: #e99b27; box-shadow: 0 0 0 6px rgba(233,155,39,.14); }
.kpi-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }.kpi-card { position: relative; min-height: 142px; padding: 20px; overflow: hidden; background: white; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }.kpi-card::after { content: ""; position: absolute; right: -22px; bottom: -35px; width: 95px; height: 95px; background: radial-gradient(circle, rgba(20,184,166,.08), transparent 70%); }.kpi-card.accent { color: white; background: linear-gradient(145deg, var(--navy-900), var(--navy-700)); border-color: transparent; }.kpi-card .kpi-label { display: block; color: var(--slate-500); font-size: 11px; font-weight: 750; text-transform: uppercase; letter-spacing: .07em; }.kpi-card.accent .kpi-label,.kpi-card.accent small { color: #9fc1ce; }.kpi-card > strong { display: block; margin: 15px 0 5px; font-size: clamp(24px,2.5vw,34px); line-height: 1; letter-spacing: -.04em; }.kpi-card small { color: var(--slate-500); }
.dashboard-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; margin-bottom: 18px; }.panel { background: white; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding: 19px 20px 14px; }.panel-head h3 { margin: 3px 0 0; font-size: 17px; }.source-list { padding: 0 20px 18px; }.source-row { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 11px; padding: 11px 0; border-top: 1px solid var(--slate-100); }.source-row strong,.source-row small { display: block; }.source-row strong { font-size: 12px; }.source-row small { margin-top: 2px; color: var(--slate-500); font-size: 11px; }.source-icon { display: grid; place-items: center; width: 30px; height: 30px; color: var(--slate-500); background: var(--slate-100); border-radius: 9px; font-weight: 850; }.source-icon.ok { color: var(--green-700); background: var(--green-100); }.source-state { color: var(--slate-500); font-size: 11px; }.attention-list { display: grid; gap: 1px; padding: 0 20px 20px; }.attention-list > div { display: grid; grid-template-columns: 70px 1fr; align-items: center; min-height: 76px; border-top: 1px solid var(--slate-100); }.attention-list span { color: var(--navy-800); font-size: 25px; font-weight: 800; }.attention-list p { margin: 0; color: var(--slate-500); font-size: 12px; }
.rule-strip { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; overflow: hidden; background: var(--slate-200); border: 1px solid var(--slate-200); border-radius: var(--radius); }.rule-strip > div { display: flex; gap: 12px; padding: 18px; background: white; }.rule-number { color: var(--teal-600); font-weight: 850; }.rule-strip p { margin: 0; color: var(--slate-500); font-size: 11px; }.rule-strip strong { display: block; margin-bottom: 3px; color: var(--slate-900); font-size: 12px; }

.badge { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }.badge.success { color: var(--green-700); background: var(--green-100); }.badge.warning { color: var(--amber-700); background: var(--amber-100); }.badge.danger { color: var(--red-700); background: var(--red-100); }.badge.neutral { color: var(--slate-700); background: var(--slate-100); }.mini-tag { display: inline-flex; margin: 5px 0 0 6px; padding: 2px 6px; color: var(--amber-700); background: var(--amber-100); border-radius: 4px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.metric-pill { display: flex; align-items: baseline; gap: 6px; padding: 9px 13px; color: var(--slate-500); background: white; border: 1px solid var(--slate-200); border-radius: 10px; box-shadow: var(--shadow-sm); font-size: 11px; }.metric-pill span { color: var(--navy-800); font-size: 20px; font-weight: 800; }
.metric-stack { display: flex; align-items: stretch; gap: 8px; }.metric-stack .metric-pill { flex-wrap: wrap; }.metric-stack .metric-pill small { width: 100%; color: var(--amber-700); font-size: 8px; font-weight: 750; }

.import-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-bottom: 18px; }.import-card { padding: 18px; background: white; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }.import-card-head { display: flex; gap: 12px; }.import-card h3 { margin: 0 0 4px; font-size: 16px; }.import-card p { margin: 0; color: var(--slate-500); font-size: 12px; }.file-hint { margin: 15px 0 10px; padding: 8px 10px; color: var(--slate-500); background: var(--slate-50); border-radius: 7px; font-size: 9px; font-weight: 750; letter-spacing: .06em; }.active-file { display: grid; grid-template-columns: auto 1fr; gap: 1px 9px; margin-bottom: 11px; padding: 10px; background: #f7fbfa; border: 1px solid #d9efeb; border-radius: 8px; }.active-file span { grid-row: span 2; align-self: center; color: var(--green-700); font-size: 9px; font-weight: 850; text-transform: uppercase; }.active-file strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.active-file small { color: var(--slate-500); font-size: 10px; }.upload-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }.upload-form[data-versioned-list-upload] .cd-only-mode { grid-column: 1 / -1; }.cd-only-mode { display: grid; grid-template-columns: 115px minmax(0,1fr); align-items: center; gap: 4px 8px; color: var(--slate-600); font-size: 11px; font-weight: 750; }.cd-only-mode small { grid-column: 2; color: var(--slate-500); font-size: 10px; font-weight: 500; }.file-picker { display: flex; align-items: center; min-width: 0; height: 40px; padding: 0 11px; color: var(--slate-500); background: white; border: 1px dashed var(--slate-300); border-radius: 8px; cursor: pointer; }.file-picker input { position: absolute; width: 1px; height: 1px; opacity: 0; }.file-picker span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.context-callout { display: flex; gap: 13px; margin-bottom: 16px; padding: 16px; color: #284858; background: #edf8fa; border: 1px solid #cce9ed; border-radius: var(--radius); }.context-callout > span { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; color: #08717f; background: #d3f1f4; border-radius: 50%; font-weight: 850; }.context-callout p { margin: 3px 0 0; font-size: 12px; }.context-callout code { padding: 2px 5px; color: var(--navy-800); background: rgba(255,255,255,.72); border: 1px solid #c8e2e6; border-radius: 5px; font-size: 11px; }.archive-path { max-width: 440px; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }.mapping-panel { overflow: hidden; }.mapping-select { min-width: 210px; }.form-actions { display: flex; align-items: center; justify-content: flex-end; gap: 20px; padding: 15px 18px; background: var(--slate-50); border-top: 1px solid var(--slate-200); }.form-actions p { margin: 0 auto 0 0; color: var(--slate-500); font-size: 11px; }

.filter-panel { display: grid; grid-template-columns: minmax(220px,1.5fr) repeat(3,minmax(130px,.7fr)) auto auto; align-items: end; gap: 10px; margin-bottom: 14px; padding: 14px; background: white; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }.filter-panel label { display: grid; gap: 5px; color: var(--slate-500); font-size: 11.5px; font-weight: 750; }.filter-panel input:not([type="checkbox"]),.filter-panel select { height: 40px; }.direction-filter { display: flex; align-items: center; gap: 9px; min-height: 40px; margin: 0; padding: 6px 10px; border: 1px solid var(--slate-200); border-radius: 8px; }.direction-filter legend { padding: 0 4px; color: var(--slate-500); font-size: 10px; font-weight: 750; }.direction-filter label { display: flex; align-items: center; gap: 4px; white-space: nowrap; }.table-panel { overflow: hidden; }.table-toolbar { display: flex; align-items: center; justify-content: space-between; min-height: 60px; padding: 10px 16px; border-bottom: 1px solid var(--slate-200); }.table-toolbar > div { display: flex; align-items: center; gap: 15px; color: var(--slate-500); font-size: 11px; }.select-all { display: flex; align-items: center; gap: 7px; color: var(--slate-700); font-weight: 700; }
.table-toolbar .table-toolbar-actions { gap: 8px; }.table-toolbar-actions .button { min-height: 36px; }
.table-wrap { width: 100%; overflow: auto; }.table-wrap table { width: 100%; border-collapse: collapse; }.table-wrap th { padding: 11px 12px; color: #627584; background: #f7f9fa; border-bottom: 1px solid var(--slate-200); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-align: left; text-transform: uppercase; white-space: nowrap; }.table-wrap td { padding: 11px 12px; border-bottom: 1px solid var(--slate-100); vertical-align: middle; font-size: 11px; }.table-wrap tbody tr { transition: .15s ease; }.table-wrap tbody tr:hover { background: #f8fbfb; }.table-wrap tbody tr:last-child td { border-bottom: 0; }.sticky-table { max-height: calc(100vh - 295px); }.sticky-table thead { position: sticky; top: 0; z-index: 3; }.number { text-align: right !important; font-variant-numeric: tabular-nums; white-space: nowrap; }.strong-number { color: var(--teal-700); font-weight: 850; }.product-name { display: block; max-width: 340px; margin-top: 2px; color: var(--slate-500); }.cell-note { display: block; max-width: 280px; margin-top: 3px; overflow: hidden; color: var(--slate-500); font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.error-text { color: var(--red-700); }.code-chip { display: inline-grid; place-items: center; min-width: 45px; padding: 4px 7px; color: var(--navy-800); background: var(--slate-100); border-radius: 6px; font-size: 10px; font-weight: 800; }.row-cd-only { background: #fffdf7; }.detail-button { padding: 5px 8px; color: var(--teal-700); background: transparent; border: 1px solid #cce9e5; border-radius: 6px; font-size: 10px; font-weight: 750; }.detail-button:hover { background: var(--teal-100); }.movement { display: flex; align-items: center; gap: 5px; white-space: nowrap; }.movement span { color: var(--teal-600); }.quantity-input { width: 72px; height: 34px; padding: 0 7px; text-align: right; border: 1px solid var(--slate-300); border-radius: 7px; }.empty-cell { height: 110px; color: var(--slate-500); text-align: center; }.pagination { display: flex; align-items: center; justify-content: space-between; padding: 13px 16px; color: var(--slate-500); background: var(--slate-50); border-top: 1px solid var(--slate-200); font-size: 11px; }.pagination a { color: var(--teal-700); font-weight: 750; }.pagination a.disabled { pointer-events: none; color: var(--slate-300); }

.empty-state { max-width: 570px; margin: 90px auto; padding: 45px; text-align: center; background: white; border: 1px solid var(--slate-200); border-radius: var(--radius); box-shadow: var(--shadow-sm); }.empty-icon { display: grid; place-items: center; width: 54px; height: 54px; margin: 0 auto 18px; color: var(--teal-700); background: var(--teal-100); border-radius: 15px; font-weight: 850; }.empty-state p { color: var(--slate-500); }

.public-shell { background: var(--navy-950); }.login-page { min-height: 100vh; display: grid; place-items: center; padding: 32px; background: radial-gradient(circle at 18% 20%, rgba(20,184,166,.18), transparent 28%), linear-gradient(135deg, #07131f 0%, #0a2232 58%, #0d3142 100%); }.login-panel { display: grid; grid-template-columns: 1.15fr .85fr; width: min(1040px, 100%); overflow: hidden; border: 1px solid rgba(255,255,255,.11); border-radius: 22px; box-shadow: 0 40px 100px rgba(0,0,0,.34); }.login-copy { min-height: 570px; display: flex; flex-direction: column; justify-content: center; padding: clamp(36px,6vw,72px); color: white; background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015)); }.login-copy .eyebrow { margin: 28px 0 12px; }.login-copy h1 { max-width: 590px; margin-bottom: 20px; font-size: clamp(34px,4vw,51px); line-height: 1.05; letter-spacing: -.045em; }.login-copy p { max-width: 520px; color: #91adbc; font-size: 15px; }.login-signal { display: flex; align-items: center; gap: 9px; margin-top: 48px; color: #9fb9c6; font-size: 11px; text-transform: uppercase; letter-spacing: .1em; }.login-signal span { width: 8px; height: 8px; background: var(--teal-500); border-radius: 50%; box-shadow: 0 0 0 5px rgba(20,184,166,.16); }.login-card { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: clamp(30px,5vw,56px); background: #fff; }.login-card h2 { margin: 5px 0 3px; font-size: 27px; }.login-card p { color: var(--slate-500); }.login-card label { display: grid; gap: 7px; color: var(--slate-700); font-size: 11px; font-weight: 750; }.login-card input { height: 46px; }.security-note { color: var(--slate-500); text-align: center; }

@media (max-width: 1200px) {
  .kpi-grid { grid-template-columns: repeat(2,1fr); }
  .filter-panel { grid-template-columns: repeat(3,1fr); }
  .filter-search { grid-column: span 2; }
}
@media (max-width: 900px) {
  .app-shell { display: block; }.sidebar { transform: translateX(-102%); transition: .22s; }.sidebar.open { transform: translateX(0); }.workspace { width: 100%; }.menu-button { display: inline-block; }.topbar-status { display: none; }
  .dashboard-grid,.rule-strip { grid-template-columns: 1fr; }.page-intro { align-items: flex-start; flex-direction: column; }.inline-controls { width: 100%; flex-wrap: wrap; }.import-grid { grid-template-columns: 1fr; }.login-panel { grid-template-columns: 1fr; }.login-copy { display: none; }
}
@media (max-width: 620px) {
  .content { padding: 20px 14px 45px; }.topbar { min-height: 72px; padding: 11px 14px; }.topbar h1 { font-size: 18px; }.kpi-grid { grid-template-columns: 1fr 1fr; }.kpi-card { min-height: 120px; padding: 15px; }.kpi-card > strong { font-size: 24px; }.filter-panel { grid-template-columns: 1fr; }.filter-search { grid-column: auto; }.upload-form { grid-template-columns: 1fr; }.readiness-banner { align-items: flex-start; flex-direction: column; }.login-page { padding: 15px; }.login-card { min-height: 560px; }.kpi-grid { gap: 8px; }
}

/* Visão operacional por fornecedor */
.supplier-list { display: grid; gap: 12px; }
.supplier-group { overflow: hidden; background: var(--white); border: 1px solid var(--slate-200); border-radius: 14px; box-shadow: var(--shadow-sm); }
.supplier-group[open] { border-color: #b8d8d4; box-shadow: 0 12px 34px rgba(7, 45, 52, .09); }
.supplier-summary { display: grid; grid-template-columns: 34px minmax(240px, 1fr) minmax(600px, 1.8fr); align-items: center; gap: 12px; min-height: 88px; padding: 13px 16px 13px 12px; list-style: none; cursor: pointer; transition: background .18s ease; }
.supplier-summary::-webkit-details-marker { display: none; }
.supplier-summary:hover { background: #f9fcfc; }
.supplier-chevron { display: grid; place-items: center; width: 28px; height: 28px; color: var(--teal-700); background: var(--teal-100); border-radius: 9px; font-size: 22px; font-weight: 800; transition: transform .18s ease, background .18s ease; }
.supplier-group[open] > .supplier-summary .supplier-chevron { color: #fff; background: var(--teal-700); transform: rotate(90deg); }
.supplier-identity strong,.supplier-identity small { display: block; }
.supplier-identity strong { color: var(--navy-900); font-size: 15px; letter-spacing: -.01em; }
.supplier-identity small { margin-top: 4px; color: var(--slate-500); font-size: 10px; }
.supplier-metrics { display: grid; grid-template-columns: repeat(6,minmax(105px,1fr)); gap: 8px; }
.supplier-metrics > span { min-height: 58px; padding: 9px 11px; background: #f4f8fb; border: 1px solid #e1eaf0; border-radius: 9px; }
.supplier-metrics small,.supplier-metrics strong,.supplier-metrics em { display: block; }
.supplier-metrics small { color: var(--slate-500); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.supplier-metrics strong { margin-top: 4px; color: var(--navy-900); font-size: 14px; font-variant-numeric: tabular-nums; }
.supplier-metrics em { margin-top: 2px; color: var(--amber-700); font-size: 9px; font-style: normal; font-weight: 750; }
.supplier-metrics .muted-metric { background: var(--slate-50); }
.supplier-content { border-top: 1px solid var(--slate-200); }
.clickable-row { cursor: pointer; transition: background .15s ease, box-shadow .15s ease; }
.clickable-row:hover td { background: #edf9f7 !important; }
.clickable-row:focus { outline: 2px solid var(--teal-600); outline-offset: -2px; }
.secondary-row td { color: var(--slate-500); background: #fafcfd; }
.purchase-filters { grid-template-columns: minmax(210px,1.3fr) repeat(4,minmax(120px,.7fr)) auto auto auto auto; }

@media (max-width: 1250px) {
  .supplier-summary { grid-template-columns: 34px minmax(210px,1fr); }
  .supplier-metrics { grid-column: 2; grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 760px) {
  .supplier-summary { grid-template-columns: 30px 1fr; padding: 12px; }
  .supplier-metrics { grid-column: 1 / -1; grid-template-columns: repeat(2,1fr); }
  .transfer-audit { grid-template-columns: repeat(2,1fr); }
}

/* Grade completa por unidade e detalhe horizontal abaixo do produto */
.horizontal-hint { margin: 0; padding: 8px 12px; color: var(--slate-500); background: #f8fafb; border-bottom: 1px solid var(--slate-200); font-size: 10.5px; }
.purchase-grid-wrap,.transfer-grid-wrap { width: 100%; overflow-x: hidden; }
.purchase-grid-wrap { max-height: min(72vh, 780px); overscroll-behavior: contain; }
.purchase-table { width: 100%; min-width: 0; table-layout: fixed; font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif; }
.purchase-table col.col-select { width: 2.8%; }
.purchase-table col.col-code { width: 5.2%; }
.purchase-table col.col-factory { width: 6.2%; }
.purchase-table col.col-product { width: 16.8%; }
.purchase-table col.col-indicators { width: 8.5%; }
.purchase-table col.col-order-composite { width: 11.5%; }
.purchase-table col.col-unit-composite { width: 8.3%; }
.purchase-table col.col-cd-composite { width: 8.6%; }
.purchase-table col.col-consolidation-composite { width: 12.2%; }
.purchase-table th,.purchase-table td { padding: 8px 6px; overflow: hidden; border-right: 1px solid #e6ecef; border-bottom: 1px solid #edf2f4; vertical-align: top; font-size: 11px; line-height: 1.38; text-overflow: ellipsis; }
.purchase-table .purchase-head th { position: sticky; top: 0; z-index: 5; padding: 10px 6px 9px; color: #17384a; background: #eef4f1; font-size: 10.5px; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; white-space: normal; }
.purchase-table .purchase-head th small { display: block; margin-top: 4px; color: #587082; font-size: 9px; font-weight: 700; letter-spacing: 0; text-transform: none; line-height: 1.3; }
.purchase-table .purchase-head .order-column,.purchase-table .purchase-head .consolidation-column { background: #f6f0da; }
.purchase-table .purchase-head .indicator-column { background: #e7f5f3; }
.purchase-table .purchase-head .unit-column,.purchase-table .purchase-head .cd-column { background: #edf3f7; }
.purchase-table .purchase-head .select-column,.purchase-table .purchase-head .code-column,.purchase-table .purchase-head .factory-column,.purchase-table .purchase-head .product-column { background: #eaf2ee; }
.purchase-table .select-column { text-align: center; }
.purchase-product-row .select-column,.purchase-product-row .code-column,.purchase-product-row .factory-column,.purchase-product-row .product-column { background: white; }
.purchase-product-row.secondary-row .select-column,.purchase-product-row.secondary-row .code-column,.purchase-product-row.secondary-row .factory-column,.purchase-product-row.secondary-row .product-column { background: #fafcfd; }
.purchase-product-row.row-cd-only .select-column,.purchase-product-row.row-cd-only .code-column,.purchase-product-row.row-cd-only .factory-column,.purchase-product-row.row-cd-only .product-column { background: #fffdf7; }
.purchase-product-row.is-selected td { background: #f0f9f5; }
.purchase-product-row.is-selected .select-column,.purchase-product-row.is-selected .code-column,.purchase-product-row.is-selected .factory-column,.purchase-product-row.is-selected .product-column { background: #eaf7f0; }
.purchase-table .factory-column { color: #466173; font-weight: 700; }
.purchase-table .product-column { min-width: 0; }
.purchase-table .product-column .product-main { display: flex; align-items: flex-start; gap: 6px; }
.purchase-table .product-column strong { display: inline; color: var(--navy-900); font-size: 11.5px; line-height: 1.4; font-weight: 700; }
.purchase-table .product-column .cell-note { display: block; margin-top: 4px; color: #5b7280; font-size: 10px; line-height: 1.35; white-space: normal; }
.order-select { width: 16px; height: 16px; accent-color: var(--teal-700); }
.order-input { width: 100%; min-width: 0; height: 30px; padding: 4px 7px; color: var(--navy-900); background: white; border: 1px solid #c7d4da; border-radius: 7px; font-size: 11px; }
.supplier-choice { min-width: 0; }
.price-input,.desired-quantity { text-align: right; font-variant-numeric: tabular-nums; }
.desired-quantity { border-color: #d8c27a; background: #fffdf6; font-weight: 700; }
.purchase-table .composite-cell { background: #fff; }
.purchase-table .composite-cell .metric-card { display: grid; gap: 6px; padding: 7px 8px; background: #f9fbfc; border: 1px solid #dde7ec; border-radius: 10px; }
.purchase-table .composite-cell .metric-card.two-lines { grid-template-columns: 1fr; }
.purchase-table .composite-cell .unit-card,.purchase-table .composite-cell .cd-card,.purchase-table .composite-cell .consolidation-card { grid-template-columns: repeat(2,minmax(0,1fr)); }
.purchase-table .composite-cell .order-card { grid-template-columns: 1fr; background: #fffdf8; border-color: #eadfb7; }
.purchase-table .composite-cell span,.purchase-table .composite-cell label { display: grid; gap: 3px; min-width: 0; }
.purchase-table .composite-cell small { color: #617784; font-size: 9px; font-weight: 700; letter-spacing: .01em; text-transform: uppercase; }
.purchase-table .composite-cell strong { color: var(--navy-900); font-size: 12px; font-weight: 700; line-height: 1.2; font-variant-numeric: tabular-nums; white-space: nowrap; }
.purchase-table .composite-cell .emphasis-value { color: #805200; }
.purchase-table .indicator-cell .metric-card { background: #f0faf8; border-color: #cfe7e3; }
.purchase-table .consolidation-cell .metric-card { background: #fffbf2; border-color: #eee0b8; }
.purchase-table .consolidation-cell .js-order-total { color: var(--navy-800); }
.purchase-table tfoot th,.purchase-table tfoot td { position: sticky; bottom: 0; z-index: 4; padding: 9px 6px; border-top: 2px solid #bfd7d4; background: #eef8f6; font-size: 10.5px; font-weight: 800; }
.purchase-table tfoot th { color: var(--navy-800); text-align: right; letter-spacing: .01em; }
.purchase-table tfoot .indicator-total-stack { background: #e4f4f1; }
.purchase-table tfoot .indicator-total-stack > span { display: grid; gap: 3px; }
.purchase-table tfoot .indicator-total-stack > span + span { margin-top: 6px; }
.purchase-table tfoot .indicator-total-stack small { color: #4f6d72; font-size: 9px; font-weight: 700; text-transform: uppercase; }
.purchase-table tfoot .indicator-total-stack strong { color: #114d4b; font-size: 12px; font-weight: 800; }
.row-expander { display: inline-grid; place-items: center; flex: 0 0 auto; width: 18px; height: 18px; margin: 0; padding: 0; color: var(--teal-700); background: var(--teal-100); border: 0; border-radius: 5px; font-size: 15px; font-weight: 850; line-height: 1; transition: transform .18s ease, color .18s ease, background .18s ease; }
.clickable-row.detail-open .row-expander { color: white; background: var(--teal-700); transform: rotate(90deg); }
.clickable-row.detail-open td { box-shadow: inset 0 -2px var(--teal-600); }
.inline-detail-row > td { padding: 0 !important; background: #f4f7f8 !important; border-top: 0; border-bottom: 2px solid #cfdde2 !important; }
.inline-detail-row:hover { background: transparent !important; }
.inline-detail-loader { display: flex; align-items: center; justify-content: center; gap: 9px; min-height: 74px; padding: 14px; color: var(--slate-500); background: #f7fafb; font-size: 10.5px; font-weight: 750; }
.inline-detail-loader > span { width: 16px; height: 16px; border: 2px solid #c8d8dd; border-top-color: var(--teal-700); border-radius: 50%; animation: detail-loading .8s linear infinite; }
.inline-detail-loader.load-error { display: grid; gap: 3px; color: var(--red-700); background: var(--red-100); }.inline-detail-loader.load-error > span { display: none; }.inline-detail-loader.load-error strong,.inline-detail-loader.load-error small { display: block; }
@keyframes detail-loading { to { transform: rotate(360deg); } }
.inline-product-detail { width: 100%; min-width: 0; padding: 10px 7px 9px; outline: 0; }
.inline-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 10px; }
.inline-detail-head > div:first-child > strong { display: block; margin-top: 3px; color: var(--navy-900); font-size: 12px; }
.detail-context { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.detail-context span { padding: 5px 8px; color: var(--slate-500); background: white; border: 1px solid var(--slate-200); border-radius: 999px; font-size: 9.5px; white-space: nowrap; }
.detail-context strong { color: var(--navy-800); }
.transfer-detail-summary { display: grid; grid-template-columns: 1.35fr repeat(5,minmax(0,1fr)); gap: 5px; margin-bottom: 8px; }
.transfer-detail-summary span { min-height: 48px; padding: 7px 9px; background: white; border: 1px solid var(--slate-200); border-radius: 7px; }
.transfer-detail-summary small,.transfer-detail-summary strong { display: block; }
.transfer-detail-summary small { color: var(--slate-500); font-size: 8.5px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.transfer-detail-summary strong { margin-top: 3px; color: var(--navy-900); font-size: 11.5px; }
.transfer-detail-summary .pending-purchase-card { background: #fffbf0; border-color: #f1dfad; }.transfer-detail-summary .pending-transfer-card { background: #f3fbfd; border-color: #cbe9f1; }
.inline-detail-scroll { width: 100%; overflow-x: auto; background: white; border: 1px solid var(--slate-200); border-radius: 9px 9px 0 0; }
.monthly-analysis-table { width: 1280px; min-width: 1280px; border-collapse: collapse; table-layout: fixed; }
.monthly-analysis-table th,.monthly-analysis-table td { padding: 6px 2px; overflow: hidden; border-right: 1px solid #e9eff2; border-bottom: 1px solid #e9eff2; font-size: 7.9px; line-height: 1.24; text-overflow: ellipsis; white-space: nowrap; }
.monthly-analysis-table thead th { color: #47616d; background: #eaf3ef; font-weight: 850; letter-spacing: 0; overflow-wrap: anywhere; text-transform: uppercase; white-space: normal; }
.monthly-analysis-table .detail-unit-col { width: 9.7%; }.monthly-analysis-table .detail-month-col { width: 3.15%; }.monthly-analysis-table .detail-total-col { width: 5.3%; }.monthly-analysis-table .detail-average-col { width: 4.5%; }.monthly-analysis-table .detail-stock-col { width: 4.3%; }
.monthly-analysis-table .detail-pending-col { width: 5.6%; }.monthly-analysis-table .detail-coverage-col { width: 5.1%; }.monthly-analysis-table .detail-demand-col { width: 4.7%; }.monthly-analysis-table .detail-limit-col { width: 2.75%; }.monthly-analysis-table .detail-origin-col { width: 8.15%; }
.monthly-analysis-table tbody th { color: var(--navy-800); text-align: left; white-space: normal; }
.monthly-analysis-table tbody th small { display: block; margin-top: 2px; color: var(--amber-700); font-size: 8px; font-weight: 700; }
.monthly-analysis-table .total-sales,.monthly-analysis-table .need-cell { color: #7b5207; font-weight: 850; }
.monthly-analysis-table .muted-value { color: var(--slate-300); }
.monthly-analysis-table .excluded-unit { background: #fffaf0; }
.calculation-note { padding: 10px 12px; color: #6b5315; background: #fffbeb; border: 1px solid #efe0a5; border-top: 0; border-radius: 0 0 9px 9px; font-size: 9.5px; line-height: 1.55; }
.calculation-note strong { color: #624706; }
.no-suggestion-toggle-row td { padding: 0 !important; background: #f6f9fa !important; border-top: 2px solid #d8e3e7; }
.no-suggestion-toggle { display: grid; grid-template-columns: 22px auto 1fr; align-items: center; gap: 7px; width: 100%; min-height: 38px; padding: 6px 10px; color: var(--slate-700); text-align: left; background: transparent; border: 0; }
.no-suggestion-toggle:hover { background: #edf6f5; }.no-suggestion-toggle .no-suggestion-icon { display: grid; place-items: center; width: 20px; height: 20px; color: white; background: var(--teal-700); border-radius: 6px; font-size: 14px; font-weight: 850; }
.no-suggestion-toggle:disabled { cursor: wait; opacity: .72; }
.no-suggestion-toggle strong { font-size: 10.5px; }.no-suggestion-toggle small { justify-self: end; color: var(--teal-700); font-size: 9px; font-weight: 750; }
.order-workbar { position: sticky; top: 96px; z-index: 16; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 64px; margin-bottom: 14px; padding: 10px 14px; border-color: #c6ded7; background: rgba(255,255,255,.97); box-shadow: 0 10px 28px rgba(7,45,52,.09); backdrop-filter: blur(12px); }
.order-workbar > div:first-child small,.order-workbar > div:first-child strong { display: block; }
.order-workbar > div:first-child small { color: var(--slate-500); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.order-workbar > div:first-child strong { margin-top: 3px; color: var(--navy-900); font-size: 12px; }
.order-workbar-metrics { display: flex; align-items: center; gap: 24px; color: var(--slate-500); font-size: 9px; }
.order-workbar-metrics strong { margin-left: 4px; color: var(--navy-900); font-size: 12px; }
.order-workbar-actions { display: flex; gap: 8px; }
.selected-metric { background: #edf8f5 !important; border-color: #d0e9e2 !important; }
.recent-orders { margin-top: 18px; overflow: hidden; }
.recent-orders-head { padding: 14px 16px; border-bottom: 1px solid var(--slate-200); }
.recent-orders-head h3 { margin: 0 0 3px; color: var(--navy-900); font-size: 14px; }
.recent-orders-head p { margin: 0; color: var(--slate-500); font-size: 10px; }
.transfer-table { width: 100%; min-width: 0; table-layout: fixed; }
.transfer-filters { grid-template-columns: minmax(200px,1.35fr) 100px 125px minmax(290px,1.5fr) 145px auto auto auto; }
.transfer-table col.transfer-check-col,.transfer-table col.transfer-expand-col { width: 2.2%; }.transfer-table col.transfer-product-col { width: 13.5%; }.transfer-table col.transfer-factory-col { width: 5.4%; }.transfer-table col.transfer-supplier-col { width: 8.6%; }.transfer-table col.transfer-movement-col { width: 9.3%; }.transfer-table col.transfer-number-col { width: 4.4%; }.transfer-table col.transfer-cost-col { width: 6%; }.transfer-table col.transfer-suggested-col { width: 5.2%; }.transfer-table col.transfer-quantity-col { width: 6%; }.transfer-table col.transfer-value-col { width: 10.8%; }
.transfer-table th,.transfer-table td { padding: 7px 3px; overflow: hidden; font-size: 8.7px; line-height: 1.22; text-overflow: ellipsis; }
.transfer-table thead th { overflow-wrap: anywhere; white-space: normal; }.transfer-table .product-name,.transfer-table .cell-note { max-width: 100%; font-size: 8px; }.transfer-table .movement { display: grid; grid-template-columns: 1fr auto 1fr; gap: 2px; white-space: normal; }.transfer-table .quantity-input { width: 100%; height: 30px; padding: 0 3px; font-size: 9.5px; }
.transfer-table .transfer-head .head-group { color: white; text-align: center; }
.transfer-table .transfer-head .unit-group { background: var(--navy-800); }
.transfer-table .transfer-head .destination-group { background: #17485b; }
.transfer-table .transfer-head .consolidation-group { background: #7b6107; }
.transfer-table .pending-combined-head { color: #17617a; background: #e8f6fb; }
.transfer-table .pending-combined-cell { color: #17617a; background: #f3fbfd; font-weight: 800; }
.transfer-table .transfer-cost-head,.transfer-table .transfer-value-head { color: #745006; background: #fff6dc; }.transfer-table .transfer-cost-cell { color: #745006; background: #fffdf6; font-weight: 750; }.transfer-table .transfer-value-cell { color: var(--teal-700); background: #eef8f7; font-weight: 850; }

@media (max-width: 900px) {
  .purchase-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .transfer-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }.transfer-filters .filter-search,.transfer-filters .direction-filter { grid-column: span 2; }
  .transfer-detail-summary { grid-template-columns: repeat(3,1fr); }
}
@media (min-width: 901px) and (max-width: 1250px) {
  .purchase-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .purchase-filters .filter-search { grid-column: span 2; }
  .transfer-filters { grid-template-columns: repeat(4,minmax(0,1fr)); }.transfer-filters .filter-search,.transfer-filters .direction-filter { grid-column: span 2; }
}
@media (max-width: 620px) {
  .purchase-filters { grid-template-columns: 1fr; }
  .transfer-filters { grid-template-columns: 1fr; }.transfer-filters .filter-search,.transfer-filters .direction-filter { grid-column: auto; }
  .no-suggestion-toggle { grid-template-columns: 22px 1fr; }.no-suggestion-toggle small { grid-column: 2; justify-self: start; }
  .metric-stack,.table-toolbar,.table-toolbar-actions { align-items: stretch; flex-direction: column; }.table-toolbar-actions .button { width: 100%; }
}

/* Saúde do estoque: cobertura, ausência de venda e capital em risco */
.health-page-intro { margin-bottom: 14px; }.health-export-form { flex: 0 0 auto; }.health-export-form input { display: none; }
.health-method-note { display: flex; align-items: flex-start; gap: 11px; margin-bottom: 14px; padding: 13px 15px; color: #375462; background: #eef7f8; border: 1px solid #d0e7ea; border-radius: 11px; }.health-method-note > span { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; color: white; background: #267687; border-radius: 50%; font-weight: 850; }.health-method-note strong { color: var(--navy-800); font-size: 12.5px; }.health-method-note p { margin: 3px 0 0; font-size: 11.5px; }
.health-filters { grid-template-columns: minmax(210px,1.35fr) repeat(4,minmax(120px,.72fr)) auto; }.health-filters .button { align-self: end; }
.health-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }.health-kpi { min-height: 120px; padding: 15px; background: white; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }.health-kpi small,.health-kpi strong,.health-kpi span { display: block; }.health-kpi small { color: var(--slate-500); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }.health-kpi strong { margin: 13px 0 6px; color: var(--navy-900); font-size: 21px; letter-spacing: -.025em; }.health-kpi span { color: var(--slate-500); font-size: 9.5px; }.health-kpi.critical { color: white; background: linear-gradient(145deg,#7a1f2b,#a73543); border-color: transparent; }.health-kpi.critical small,.health-kpi.critical span,.health-kpi.critical strong { color: white; }.health-kpi.warning { background: #fffaf0; border-color: #efdfb4; }.health-kpi.missing { background: #f7f9fa; }
.health-overview-grid { display: grid; grid-template-columns: 1.05fr .95fr 1fr; gap: 12px; margin-bottom: 14px; }.health-overview-grid .panel { min-width: 0; overflow: hidden; }.health-overview-grid .panel-head { padding: 15px 16px 10px; }.health-overview-grid .panel-head h3 { margin: 3px 0 0; font-size: 15px; }
.health-unit-list,.health-supplier-list { padding: 0 14px 12px; }.health-unit-list a,.health-supplier-list a { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 53px; padding: 8px 2px; border-top: 1px solid var(--slate-100); }.health-unit-list a:hover,.health-supplier-list a:hover { color: var(--teal-700); }.health-unit-list span,.health-supplier-list span { min-width: 0; }.health-unit-list strong,.health-unit-list small,.health-supplier-list strong,.health-supplier-list small { display: block; }.health-unit-list strong,.health-supplier-list strong { overflow: hidden; color: var(--navy-800); font-size: 11.5px; text-overflow: ellipsis; white-space: nowrap; }.health-unit-list small,.health-supplier-list small { margin-top: 3px; color: var(--slate-500); font-size: 9.5px; }.health-unit-list a > span:last-child { text-align: right; }.health-supplier-list a > strong { flex: 0 0 auto; color: var(--teal-700); }
.health-buckets { display: grid; gap: 14px; padding: 5px 16px 18px; }.health-buckets > div > span { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }.health-buckets strong { color: var(--navy-800); font-size: 10.5px; }.health-buckets small { color: var(--slate-500); font-size: 9.5px; }.health-buckets i { display: block; height: 8px; overflow: hidden; background: var(--slate-100); border-radius: 999px; }.health-buckets b { display: block; height: 100%; background: linear-gradient(90deg,var(--teal-600),#df9d27); border-radius: inherit; }
.health-table-panel { overflow: hidden; }.health-table-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 17px 13px; }.health-table-head h3 { margin: 3px 0 4px; font-size: 16px; }.health-table-head p { margin: 0; color: var(--slate-500); font-size: 10.5px; }.health-table-head > span { color: var(--slate-500); font-size: 10.5px; font-weight: 750; }
.health-grid-wrap { width: 100%; overflow-x: hidden; }.health-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }.health-table col.health-status-col { width: 7.5%; }.health-table col.health-product-col { width: 19%; }.health-table col.health-supplier-col { width: 11%; }.health-table col.health-unit-col { width: 7%; }.health-table col.health-number-col { width: 6%; }.health-table col.health-sales-col { width: 7%; }.health-table col.health-coverage-col { width: 7%; }.health-table col.health-money-col { width: 7.5%; }.health-table col.health-money-col:last-child { width: 10%; }
.health-table th,.health-table td { padding: 9px 5px; overflow: hidden; border-bottom: 1px solid var(--slate-100); font-size: 10px; line-height: 1.28; text-overflow: ellipsis; }.health-table thead th { color: #4c6572; background: #eef4f5; font-size: 8.7px; font-weight: 850; letter-spacing: .02em; text-transform: uppercase; white-space: normal; }.health-table .product-name { max-width: 100%; font-size: 9.5px; white-space: normal; }.health-table .cell-note { max-width: 100%; font-size: 8.5px; white-space: normal; }.health-table .badge { min-height: 24px; padding: 2px 6px; font-size: 9px; line-height: 1.2; white-space: normal; }.health-warning { display: block; margin-top: 4px; color: var(--amber-700); font-size: 8.5px; font-weight: 800; }.coverage-infinite { color: var(--red-700); font-weight: 850; }.excess-cell { color: #8a5b08; background: #fffbf0; font-weight: 850; }.risk-value-cell { color: var(--red-700); background: #fff4f5; font-weight: 850; }
.health-detail { padding: 14px 10px 12px; }.health-detail-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 7px; margin-bottom: 10px; }.health-detail-grid > span { min-height: 66px; padding: 10px; background: white; border: 1px solid var(--slate-200); border-radius: 8px; }.health-detail-grid small,.health-detail-grid strong { display: block; }.health-detail-grid small { color: var(--slate-500); font-size: 9px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.health-detail-grid strong { margin-top: 5px; color: var(--navy-800); font-size: 12px; }.health-detail-grid .risk-card { background: #fff2f3; border-color: #f2c8ce; }.health-detail-grid .risk-card strong { color: var(--red-700); }
.health-detail-columns { display: grid; grid-template-columns: minmax(0,2.3fr) minmax(230px,.7fr); gap: 9px; }.health-monthly-table { width: 100%; border-collapse: collapse; table-layout: fixed; }.health-monthly-table th,.health-monthly-table td { padding: 8px 4px; border-right: 1px solid var(--slate-100); border-bottom: 1px solid var(--slate-100); font-size: 9.5px; }.health-monthly-table thead th { color: #4c6572; background: #eaf3ef; font-size: 8.5px; text-transform: uppercase; }.health-monthly-table tbody th { width: 24%; color: var(--navy-800); text-align: left; white-space: normal; }.health-monthly-table .recent-month { background: #fff9e9; }.health-actions { padding: 12px; background: white; border: 1px solid var(--slate-200); border-radius: 9px; }.health-actions > div { display: flex; gap: 7px; padding: 8px 0; color: var(--slate-700); border-top: 1px solid var(--slate-100); font-size: 10px; }.health-actions > div span { color: var(--teal-700); font-weight: 850; }.health-limitation-note { margin-top: 8px; padding: 10px 11px; color: #526c78; background: #eef6f8; border: 1px solid #d7e8ec; border-radius: 7px; font-size: 9.5px; line-height: 1.45; }
@media (max-width: 1300px) { .health-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.health-filters { grid-template-columns: repeat(4,minmax(0,1fr)); }.health-filters .filter-search { grid-column: span 2; } }
@media (max-width: 900px) { .health-overview-grid { grid-template-columns: 1fr; }.health-detail-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.health-detail-columns { grid-template-columns: 1fr; }.health-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .health-page-intro,.health-table-head { align-items: stretch; flex-direction: column; }.health-export-form .button { width: 100%; }.health-kpi-grid,.health-detail-grid,.health-filters { grid-template-columns: 1fr; }.health-filters .filter-search { grid-column: auto; } }

/* Curva A e campanhas: seleção comercial sem rolagem horizontal no desktop */
.campaign-page-intro { margin-bottom: 14px; }.campaign-page-intro form { flex: 0 0 auto; }
.campaign-method-note { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 14px; padding: 14px 16px; color: #365360; background: linear-gradient(100deg,#edf8f6,#f7fbfc); border: 1px solid #cfe8e4; border-radius: 12px; }.campaign-method-note > span { display: grid; place-items: center; flex: 0 0 auto; width: 48px; height: 34px; color: white; background: linear-gradient(135deg,var(--teal-600),var(--teal-700)); border-radius: 9px; font-size: 13px; font-weight: 900; }.campaign-method-note strong { color: var(--navy-800); font-size: 13px; }.campaign-method-note p { margin: 3px 0 0; font-size: 12px; line-height: 1.5; }
.campaign-filters { grid-template-columns: repeat(6,minmax(130px,1fr)); }.campaign-filters .filter-search { grid-column: span 2; }.campaign-filters .button { align-self: end; }
.campaign-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }.campaign-kpi-grid article { min-height: 116px; padding: 15px; background: white; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }.campaign-kpi-grid article small,.campaign-kpi-grid article strong,.campaign-kpi-grid article span { display: block; }.campaign-kpi-grid article small { color: var(--slate-500); font-size: 10.5px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.campaign-kpi-grid article strong { margin: 12px 0 6px; color: var(--navy-900); font-size: 22px; letter-spacing: -.025em; }.campaign-kpi-grid article span { color: var(--slate-500); font-size: 10.5px; }.campaign-kpi-grid article.highlight { color: white; background: linear-gradient(145deg,var(--navy-900),var(--teal-700)); border-color: transparent; }.campaign-kpi-grid article.highlight small,.campaign-kpi-grid article.highlight strong,.campaign-kpi-grid article.highlight span { color: white; }.campaign-kpi-grid article.warning { background: #fffaf0; border-color: #efdfb4; }
.campaign-segments { margin-bottom: 14px; overflow: hidden; }.campaign-segments .panel-head { padding-bottom: 10px; }.campaign-segment-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; background: var(--slate-200); border-top: 1px solid var(--slate-200); }.campaign-segment-grid a { min-width: 0; padding: 13px 15px; background: white; }.campaign-segment-grid a:hover { background: #f1f9f7; }.campaign-segment-grid strong,.campaign-segment-grid span,.campaign-segment-grid small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.campaign-segment-grid strong { color: var(--navy-800); font-size: 12px; }.campaign-segment-grid span { margin-top: 4px; color: var(--slate-700); font-size: 11px; }.campaign-segment-grid small { margin-top: 2px; color: var(--slate-500); font-size: 10px; }
.campaign-selection { overflow: hidden; }.campaign-workbar { position: sticky; top: 88px; z-index: 15; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 68px; padding: 11px 15px; background: rgba(255,255,255,.97); border-bottom: 1px solid #cddfdc; box-shadow: 0 8px 24px rgba(7,45,52,.07); backdrop-filter: blur(12px); }.campaign-workbar > div { display: flex; align-items: center; gap: 10px; }.campaign-workbar > div:first-child { display: block; }.campaign-workbar > div:first-child small,.campaign-workbar > div:first-child strong { display: block; }.campaign-workbar > div:first-child small { color: var(--slate-500); font-size: 10px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.campaign-workbar > div:first-child strong { margin-top: 3px; color: var(--navy-900); font-size: 13px; }.campaign-workbar-metrics { display: flex; gap: 24px !important; color: var(--slate-500); font-size: 11px; }.campaign-workbar-metrics strong { margin-left: 5px; color: var(--navy-900); font-size: 13px; }.campaign-price-note { padding: 10px 15px; color: #5a6871; background: #f7f9fa; border-bottom: 1px solid var(--slate-200); font-size: 11.5px; }.campaign-price-note strong { color: var(--navy-800); }.campaign-table-head { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 15px 16px 12px; }.campaign-table-head h3 { margin: 3px 0 3px; color: var(--navy-900); font-size: 16px; }.campaign-table-head p { margin: 0; color: var(--slate-500); font-size: 11.5px; }.campaign-table-head > span { color: var(--slate-500); font-size: 11px; font-weight: 750; }
.campaign-grid-wrap { width: 100%; overflow-x: hidden; }.campaign-table { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; }.campaign-table col.campaign-check-col { width: 2.5%; }.campaign-table col.campaign-product-col { width: 15%; }.campaign-table col.campaign-structure-col { width: 9%; }.campaign-table col.campaign-source-col { width: 9%; }.campaign-table col.campaign-curve-col { width: 7%; }.campaign-table col.campaign-sales-col { width: 5.5%; }.campaign-table col.campaign-average-col { width: 6.5%; }.campaign-table col.campaign-stock-col { width: 8%; }.campaign-table col.campaign-coverage-col { width: 6%; }.campaign-table col.campaign-cost-col { width: 7%; }.campaign-table col.campaign-action-col { width: 9.5%; }.campaign-table col.campaign-prepare-col { width: 15%; }
.campaign-table th,.campaign-table td { padding: 9px 5px; overflow: hidden; border-bottom: 1px solid var(--slate-100); vertical-align: top; font-size: 11px; line-height: 1.35; text-overflow: ellipsis; }.campaign-table thead th { color: #47616d; background: #edf4f2; font-size: 10px; font-weight: 850; letter-spacing: .015em; text-transform: uppercase; white-space: normal; }.campaign-table td > strong,.campaign-table td > small { display: block; }.campaign-table td > strong { color: var(--navy-800); font-size: 11.5px; }.campaign-table td > small { margin-top: 3px; color: var(--slate-500); font-size: 10px; white-space: normal; }.campaign-table .badge { max-width: 100%; min-height: 25px; padding: 3px 7px; font-size: 9.5px; line-height: 1.25; white-space: normal; }.campaign-product-row.is-selected td { background: #eff9f6; }.campaign-check { width: 16px; height: 16px; accent-color: var(--teal-700); }.curve-badge { display: inline-grid; place-items: center; min-width: 34px; min-height: 28px; padding: 3px 7px; color: var(--slate-700); background: var(--slate-100); border-radius: 7px; font-size: 11px; font-weight: 900; }.curve-badge.curve-a { color: white; background: linear-gradient(135deg,var(--teal-600),var(--teal-700)); box-shadow: 0 4px 12px rgba(8,127,120,.16); }
.campaign-entry { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; }.campaign-entry select,.campaign-entry .campaign-notes { grid-column: 1 / -1; }.campaign-entry label { display: grid; gap: 2px; min-width: 0; color: var(--slate-500); font-size: 9.5px; font-weight: 750; }.campaign-entry input,.campaign-entry select { width: 100%; min-width: 0; height: 31px; padding: 0 6px; color: var(--navy-900); background: white; border: 1px solid var(--slate-300); border-radius: 6px; font-size: 10.5px; }.campaign-entry .campaign-qty { border-color: #80bdb4; background: #f3fbf8; font-weight: 850; }.campaign-entry .campaign-offer-price { border-color: #d5a63b; background: #fffaf0; }.campaign-entry .campaign-notes { margin-top: 1px; }
@media (max-width: 1350px) { .campaign-filters { grid-template-columns: repeat(4,minmax(125px,1fr)); }.campaign-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.campaign-segment-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.campaign-table th,.campaign-table td { padding-left: 3px; padding-right: 3px; font-size: 10.5px; }.campaign-entry { grid-template-columns: 1fr; }.campaign-entry select,.campaign-entry .campaign-notes { grid-column: auto; } }
@media (max-width: 900px) { .campaign-page-intro,.campaign-workbar,.campaign-table-head { align-items: stretch; flex-direction: column; }.campaign-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }.campaign-workbar > div { justify-content: space-between; }.campaign-grid-wrap { overflow-x: auto; }.campaign-table { min-width: 1180px; } }
@media (max-width: 620px) { .campaign-filters,.campaign-kpi-grid,.campaign-segment-grid { grid-template-columns: 1fr; }.campaign-filters .filter-search { grid-column: auto; }.campaign-page-intro form .button,.campaign-workbar .button { width: 100%; }.campaign-workbar > div { align-items: stretch; flex-direction: column; } }

/* Gestão cadastral e exclusivos do CD */
.catalog-page-intro form { flex: 0 0 auto; }.catalog-filter-panel { margin-bottom: 14px; padding: 14px; }.filter-grid { display: grid; align-items: end; gap: 10px; }.filter-grid label { display: grid; gap: 5px; min-width: 0; color: var(--slate-500); font-size: 11px; font-weight: 750; }.catalog-filters { grid-template-columns: minmax(230px,1.5fr) repeat(3,minmax(145px,1fr)) auto; }.catalog-editor { margin-bottom: 14px; overflow: hidden; border-color: #a9d8d2; box-shadow: 0 14px 36px rgba(7,45,52,.09); }.catalog-editor .panel-head { background: linear-gradient(100deg,#eef9f6,#fbfdfd); border-bottom: 1px solid #d5ebe7; }.catalog-editor .panel-head p { margin: 4px 0 0; color: var(--slate-500); font-size: 11px; }.catalog-edit-form { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 13px; padding: 18px 20px; }.catalog-edit-form label { display: grid; align-content: start; gap: 5px; min-width: 0; color: var(--slate-600); font-size: 11px; font-weight: 750; }.catalog-edit-form label small { color: var(--slate-500); font-size: 9.5px; font-weight: 500; }.catalog-edit-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; }.catalog-reset-form { display: flex; align-items: center; gap: 12px; padding: 13px 20px; background: #fff8f9; border-top: 1px solid #f1d9dd; }.catalog-reset-form small { color: var(--slate-500); font-size: 10px; }.catalog-table { table-layout: fixed; }.catalog-table th,.catalog-table td { padding: 9px 6px; overflow: hidden; font-size: 10.5px; line-height: 1.3; text-overflow: ellipsis; white-space: normal; }.catalog-table th:nth-child(1) { width: 19%; }.catalog-table th:nth-child(2) { width: 14%; }.catalog-table th:nth-child(3),.catalog-table th:nth-child(4),.catalog-table th:nth-child(5),.catalog-table th:nth-child(6) { width: 9%; }.catalog-table th:nth-child(7) { width: 10%; }.catalog-table th:nth-child(8) { width: 10%; }.catalog-table th:nth-child(9) { width: 6%; }.catalog-table .product-name,.catalog-table .cell-note { max-width: 100%; white-space: normal; }.catalog-manual-row td { background: #f6fcfa; }.catalog-history { margin-top: 14px; overflow: hidden; }.catalog-history-list { padding: 0 20px 16px; }.catalog-history-list article { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: 18px; padding: 12px 0; border-top: 1px solid var(--slate-100); }.catalog-history-list strong,.catalog-history-list small { display: block; }.catalog-history-list strong { color: var(--navy-800); font-size: 11.5px; }.catalog-history-list small { margin-top: 3px; color: var(--slate-500); font-size: 9.5px; }.catalog-history-list p { margin: 0; color: var(--slate-700); font-size: 10.5px; }.inline-action { display: inline-flex; margin-left: 5px; color: var(--teal-700); font-size: 10px; font-weight: 850; text-decoration: underline; text-underline-offset: 2px; }
.cd-only-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 14px; padding: 14px 16px; }.cd-only-filters { flex: 1; grid-template-columns: minmax(260px,1fr) auto auto; }.cd-only-total { flex: 0 0 auto; padding-left: 20px; text-align: right; border-left: 1px solid var(--slate-200); }.cd-only-total strong,.cd-only-total span { display: block; }.cd-only-total strong { color: var(--navy-900); font-size: 22px; }.cd-only-total span { color: var(--slate-500); font-size: 10px; }.cd-only-toolbar + .table-panel table { table-layout: fixed; }.cd-only-toolbar + .table-panel th:first-child { width: 16%; }.cd-only-toolbar + .table-panel th:last-child { width: 14%; }
@media (max-width: 1200px) { .catalog-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }.catalog-filters .filter-search { grid-column: span 2; }.catalog-edit-form { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .catalog-page-intro .page-actions,.page-intro .page-actions { width: 100%; }.catalog-page-intro .page-actions .button,.page-intro .page-actions form,.page-intro .page-actions form .button { width: 100%; }.catalog-filters,.catalog-edit-form { grid-template-columns: 1fr; }.catalog-filters .filter-search,.catalog-edit-actions { grid-column: auto; }.catalog-history-list article { grid-template-columns: 1fr; gap: 6px; }.catalog-table-panel .table-wrap { overflow-x: auto; }.catalog-table { min-width: 1050px; }.cd-only-toolbar { align-items: stretch; flex-direction: column; }.cd-only-filters { width: 100%; grid-template-columns: 1fr; }.cd-only-total { padding: 12px 0 0; text-align: left; border-top: 1px solid var(--slate-200); border-left: 0; }.catalog-reset-form { align-items: stretch; flex-direction: column; } }

.detail-management { margin-top: 12px; padding: 15px; background: #f8fbfc; border: 1px solid var(--slate-200); border-radius: 12px; }
.detail-management-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 12px; }
.detail-management-head h4 { margin: 2px 0 3px; color: var(--navy-900); font-size: 15px; }
.detail-management-head p,.detail-readonly { margin: 0; color: var(--slate-500); font-size: 12px; }
.detail-edit-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.detail-edit-grid label,.detail-block-reason { display: grid; gap: 4px; color: var(--slate-600); font-size: 11px; font-weight: 750; }
.detail-edit-grid input,.detail-block-reason input { min-width: 0; width: 100%; padding: 8px 9px; font-size: 12px; background: #fff; border: 1px solid var(--slate-300); border-radius: 8px; }
.detail-management-actions { display: flex; align-items: end; gap: 10px; margin-top: 12px; }
.detail-block-reason { flex: 1 1 300px; }
.detail-save-status { flex: 1 1 230px; color: var(--teal-700); font-size: 11px; font-weight: 750; }
.blocklist-add-panel { margin-bottom: 14px; }
.blocklist-add-form { display: grid; grid-template-columns: minmax(180px,.35fr) minmax(320px,1fr) auto; align-items: end; gap: 12px; padding: 0 18px 18px; }
.blocklist-add-form label { display: grid; gap: 5px; color: var(--slate-600); font-size: 11px; font-weight: 750; }
.blocklist-toolbar { margin-bottom: 14px; padding: 14px; }
.blocklist-filters { grid-template-columns: minmax(320px,1fr) auto auto; }
.blocklist-table { table-layout: fixed; }.blocklist-table th:first-child { width: 14%; }.blocklist-table th:nth-child(2) { width: 32%; }.blocklist-table th:nth-child(3) { width: 40%; }.blocklist-table th:last-child { width: 14%; }
.product-purchase-metrics { flex-wrap: wrap; margin: -8px 0 14px; }
.product-purchase-panel { overflow: hidden; }
.product-purchase-panel .panel-head { border-bottom: 1px solid var(--slate-200); }
.product-purchase-panel .panel-head p { margin: 3px 0 0; color: var(--slate-500); font-size: 10.5px; }
@media (max-width: 1100px) { .detail-edit-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 760px) { .detail-edit-grid,.blocklist-add-form,.blocklist-filters { grid-template-columns: 1fr; }.detail-management-head,.detail-management-actions { align-items: stretch; flex-direction: column; }.blocklist-table { min-width: 760px; } }

/* Consulta de produto: diagnóstico legível e sem rolagem horizontal no desktop */

.purchase-page-intro { margin-bottom: 10px; }
.purchase-kpis { margin-bottom: 12px; }
.purchase-filters-shell { margin-bottom: 12px; }
.product-search-fields { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 10px; min-width: 0; }
.product-search-fields > label { min-width: 0; }
.description-search-note { grid-column: 1 / -1; margin: 0; color: var(--slate-500); font-size: 10px; line-height: 1.4; }
@media (max-width: 620px) {
  .product-search-fields { grid-template-columns: 1fr; }
  .product-purchase-filters .filter-search { grid-column: auto; }
}
.purchase-page-shell { display: grid; gap: 14px; }
.purchase-full-width { margin-inline: calc(var(--content-pad-x) * -1); border-radius: 0; }
.purchase-order-bar { position: sticky; top: 88px; z-index: 16; display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 56px; padding: 10px var(--content-pad-x); background: rgba(255,255,255,.98); border-top: 1px solid #d8e5ea; border-bottom: 1px solid #d8e5ea; box-shadow: 0 8px 24px rgba(7,45,52,.08); }
.purchase-order-bar > div:first-child small,.purchase-order-bar > div:first-child strong { display: block; }
.purchase-order-bar > div:first-child small { color: var(--slate-500); font-size: 8px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.purchase-order-bar > div:first-child strong { margin-top: 2px; color: var(--navy-900); font-size: 12px; }
.purchase-stage { background: transparent; border: 0; box-shadow: none; }
.purchase-stage-inline { padding-top: 0; }
.purchase-stage-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding: 0 var(--content-pad-x) 10px; }
.purchase-stage-head h3 { margin: 3px 0 0; font-size: 17px; }
.purchase-stage-head p { margin: 4px 0 0; color: var(--slate-500); font-size: 10.5px; }
.purchase-stage-note { margin: 0; padding: 0 var(--content-pad-x) 10px; color: #607480; font-size: 11px; }
.purchase-grid-surface { overflow: auto; background: white; border-top: 1px solid var(--slate-200); border-bottom: 1px solid var(--slate-200); box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.purchase-grid-wrap { max-height: none; }
.purchase-table { width: 100%; min-width: 0; }
.purchase-table .purchase-head th { top: 0; }
.purchase-table th,.purchase-table td { border-right-color: #edf1f4; }
.purchase-table .product-column strong { font-size: 12px; }
.purchase-table .composite-cell .metric-card { padding: 8px 9px; border-radius: 9px; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.purchase-table .composite-cell .unit-card,.purchase-table .composite-cell .cd-card,.purchase-table .composite-cell .consolidation-card { gap: 5px 9px; }
.purchase-table tfoot th,.purchase-table tfoot td { bottom: 0; }
.product-purchase-panel { overflow: visible; }
.horizontal-hint { display: none; }
.purchase-group-list { gap: 14px; }
.supplier-group.purchase-full-width { border-left: 0; border-right: 0; border-radius: 0; box-shadow: none; }
.supplier-group.purchase-full-width[open] { box-shadow: none; }
.supplier-summary { padding-inline: var(--content-pad-x); }
.supplier-content { border-top: 1px solid #dce6ea; background: #fbfcfd; }
.recent-orders { margin-top: 14px; }
@media (max-width: 1250px) {
  .purchase-order-bar,.purchase-stage-head,.purchase-stage-note,.supplier-summary { padding-inline: 20px; }
  .purchase-full-width { margin-inline: -20px; }
}
@media (max-width: 900px) {
  .purchase-full-width { margin-inline: 0; border-radius: 14px; }
  .purchase-order-bar { top: 72px; align-items: stretch; flex-direction: column; padding: 12px 14px; border: 1px solid var(--slate-200); }
  .purchase-stage-head,.purchase-stage-note,.supplier-summary { padding-inline: 0; }
  .purchase-grid-surface { border: 1px solid var(--slate-200); border-radius: 14px; }
  .supplier-group.purchase-full-width { border: 1px solid var(--slate-200); border-radius: 14px; }
}
@media (max-width: 620px) {
  .purchase-order-bar { gap: 10px; }
  .purchase-order-bar .order-workbar-actions,.purchase-order-bar .order-workbar-metrics { width: 100%; justify-content: space-between; }
  .purchase-stage-head { align-items: stretch; flex-direction: column; }
}

.lookup-page-intro { margin-bottom: 16px; }
.lookup-search-panel { margin-bottom: 16px; padding: 17px 18px; }
.lookup-search-form { display: grid; grid-template-columns: minmax(280px,1fr) auto; align-items: end; gap: 12px; }
.lookup-search-form label { display: grid; gap: 6px; color: var(--slate-600); font-size: 12px; font-weight: 800; }
.lookup-search-form input { height: 46px; font-size: 14px; }
.lookup-search-form .button { min-height: 46px; font-size: 13px; }
.lookup-search-panel > p { margin: 10px 0 0; color: var(--slate-500); font-size: 12px; line-height: 1.5; }
.lookup-intro-note,.lookup-error-note { margin-top: 16px; }
.lookup-results-panel { margin-bottom: 18px; overflow: hidden; }
.lookup-results-table { width: 100%; table-layout: fixed; }
.lookup-results-table th,.lookup-results-table td { padding: 10px 7px; overflow: hidden; font-size: 11.5px; white-space: normal; }
.lookup-results-table th:nth-child(1) { width: 24%; }.lookup-results-table th:nth-child(2) { width: 15%; }.lookup-results-table th:nth-child(3),.lookup-results-table th:nth-child(4),.lookup-results-table th:nth-child(5),.lookup-results-table th:nth-child(6) { width: 10%; }.lookup-results-table th:nth-child(7) { width: 13%; }.lookup-results-table th:nth-child(8) { width: 8%; }
.lookup-results-table .product-name,.lookup-results-table .cell-note { max-width: 100%; font-size: 10.5px; white-space: normal; }
.lookup-results-table tr.is-current td { background: #edf9f6; }
.lookup-warning-number { color: var(--red-700); background: #fff5f6; font-weight: 850; }
.lookup-row-badges { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 4px; }
.lookup-row-badges .badge { min-height: 23px; padding: 2px 7px; font-size: 9px; line-height: 1.2; white-space: normal; }
.lookup-limit-note { margin: 0; padding: 11px 16px; color: var(--slate-500); background: var(--slate-50); border-top: 1px solid var(--slate-200); font-size: 11px; }
.lookup-detail-anchor { position: relative; top: -105px; }
.lookup-product-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 14px; padding: 18px 20px; border-color: #a9d8d2; background: linear-gradient(105deg,#f2fbf8,#fff); }
.lookup-product-head h3 { margin: 3px 0 4px; color: var(--navy-900); font-size: 19px; line-height: 1.3; }
.lookup-product-head p { margin: 0; color: var(--slate-500); font-size: 11.5px; }
.lookup-diagnostic-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.lookup-diagnostic-card { display: flex; align-items: flex-start; gap: 11px; min-height: 86px; padding: 13px 14px; background: white; border: 1px solid var(--slate-200); border-radius: 11px; box-shadow: var(--shadow-sm); }
.lookup-diagnostic-card > span { display: grid; place-items: center; flex: 0 0 auto; width: 28px; height: 28px; color: var(--slate-700); background: var(--slate-100); border-radius: 8px; font-size: 13px; font-weight: 900; }
.lookup-diagnostic-card strong { display: block; color: var(--navy-900); font-size: 13px; }
.lookup-diagnostic-card p { margin: 4px 0 0; color: var(--slate-600); font-size: 11.5px; line-height: 1.45; }
.lookup-diagnostic-card.success { border-color: #b8dfd2; background: #f4fbf8; }.lookup-diagnostic-card.success > span { color: var(--green-700); background: var(--green-100); }
.lookup-diagnostic-card.warning { border-color: #ecd9a7; background: #fffbf1; }.lookup-diagnostic-card.warning > span { color: var(--amber-700); background: var(--amber-100); }
.lookup-diagnostic-card.danger { border-color: #efc4ca; background: #fff6f7; }.lookup-diagnostic-card.danger > span { color: var(--red-700); background: var(--red-100); }
.lookup-kpi-grid { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 9px; margin-bottom: 14px; }
.lookup-kpi-grid article { min-height: 116px; padding: 14px; background: white; border: 1px solid var(--slate-200); border-radius: 11px; box-shadow: var(--shadow-sm); }
.lookup-kpi-grid small,.lookup-kpi-grid strong,.lookup-kpi-grid span { display: block; }.lookup-kpi-grid small { color: var(--slate-500); font-size: 10px; font-weight: 850; letter-spacing: .04em; text-transform: uppercase; }.lookup-kpi-grid strong { margin: 11px 0 7px; color: var(--navy-900); font-size: 21px; line-height: 1.05; }.lookup-kpi-grid span { color: var(--slate-500); font-size: 10.5px; line-height: 1.35; }
.lookup-kpi-grid article.highlight { color: white; background: linear-gradient(145deg,var(--navy-900),var(--teal-700)); border-color: transparent; }.lookup-kpi-grid article.highlight small,.lookup-kpi-grid article.highlight strong,.lookup-kpi-grid article.highlight span { color: white; }
.lookup-two-columns { display: grid; grid-template-columns: minmax(0,1.18fr) minmax(0,.82fr); gap: 14px; margin-bottom: 14px; }
.lookup-catalog-panel,.lookup-sources-panel,.lookup-location-panel,.lookup-analysis-panel,.lookup-sales-panel,.lookup-history-panel { overflow: hidden; }
.lookup-data-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1px; padding: 1px; background: var(--slate-200); border-top: 1px solid var(--slate-200); }
.lookup-data-grid > div { min-width: 0; min-height: 76px; padding: 12px; background: white; }
.lookup-data-grid small,.lookup-data-grid strong { display: block; }.lookup-data-grid small { color: var(--slate-500); font-size: 10px; font-weight: 800; text-transform: uppercase; }.lookup-data-grid strong { margin-top: 6px; overflow-wrap: anywhere; color: var(--navy-800); font-size: 12px; }
.lookup-source-list { padding: 0 18px 16px; }
.lookup-source-list article { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 67px; padding: 9px 0; border-top: 1px solid var(--slate-100); }
.lookup-source-list strong,.lookup-source-list small { display: block; }.lookup-source-list strong { color: var(--navy-800); font-size: 12px; }.lookup-source-list small { margin-top: 3px; overflow: hidden; color: var(--slate-500); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.lookup-location-panel,.lookup-analysis-panel,.lookup-sales-panel,.lookup-history-panel { margin-bottom: 14px; }
.lookup-location-table,.lookup-analysis-table,.lookup-sales-table { width: 100%; table-layout: fixed; }
.lookup-location-table th,.lookup-location-table td,.lookup-analysis-table th,.lookup-analysis-table td,.lookup-sales-table th,.lookup-sales-table td,.lookup-sales-table tfoot th { padding: 9px 6px; overflow: hidden; font-size: 11px; line-height: 1.35; white-space: normal; }
.lookup-location-table th:nth-child(1) { width: 8%; }.lookup-location-table th:nth-child(2) { width: 11%; }.lookup-location-table th:nth-child(3) { width: 14%; }.lookup-location-table th:nth-child(4),.lookup-location-table th:nth-child(5),.lookup-location-table th:nth-child(6),.lookup-location-table th:nth-child(7) { width: 10%; }.lookup-location-table th:nth-child(8) { width: 18%; }.lookup-location-table th:nth-child(9) { width: 9%; }
.lookup-location-table .cell-note { max-width: 100%; font-size: 9.5px; white-space: normal; }
.lookup-mapping-ignored td { background: #fafbfc; color: var(--slate-500); }.lookup-mapping-pending td { background: #fff7f8; }
.lookup-analysis-table th:first-child { width: 19%; }.lookup-analysis-table th:not(:first-child) { width: 9%; }
.lookup-analysis-table .cell-note { max-width: 100%; font-size: 9.5px; white-space: normal; }
.lookup-sales-table th:first-child { width: 18%; }.lookup-sales-table tfoot th { color: var(--navy-800); background: #edf7f4; border-top: 2px solid #bcded7; }
.lookup-history-panel table { table-layout: fixed; }.lookup-history-panel th:first-child { width: 13%; }.lookup-history-panel th:nth-child(2) { width: 27%; }.lookup-history-panel th:nth-child(3) { width: 18%; }.lookup-history-panel th:nth-child(n+4) { width: 10.5%; }
@media (max-width: 1350px) { .lookup-kpi-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }.lookup-data-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }.lookup-results-table th,.lookup-results-table td,.lookup-location-table th,.lookup-location-table td,.lookup-analysis-table th,.lookup-analysis-table td { padding-left: 4px; padding-right: 4px; } }
@media (max-width: 1000px) { .lookup-two-columns { grid-template-columns: 1fr; }.lookup-diagnostic-grid { grid-template-columns: 1fr; }.lookup-product-head { align-items: flex-start; flex-direction: column; }.lookup-results-panel .table-wrap,.lookup-location-panel .table-wrap,.lookup-analysis-panel .table-wrap,.lookup-sales-panel .table-wrap { overflow-x: auto; }.lookup-results-table { min-width: 980px; }.lookup-location-table { min-width: 1000px; }.lookup-analysis-table { min-width: 980px; }.lookup-sales-table { min-width: 800px; } }
@media (max-width: 700px) { .lookup-search-form,.lookup-kpi-grid,.lookup-data-grid { grid-template-columns: 1fr; }.lookup-search-form .button,.lookup-product-head .page-actions,.lookup-product-head .page-actions .button { width: 100%; }.lookup-source-list article { grid-template-columns: 34px minmax(0,1fr); }.lookup-source-list article > .badge { grid-column: 2; justify-self: start; } }

/* Formação configurável da média de vendas */
.average-rules-panel { grid-column: 1 / -1; margin-top: 4px; overflow: hidden; background: #f8fbfc; border: 1px solid #d8e3e8; border-radius: 11px; }
.average-rules-panel > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 48px; padding: 9px 12px; color: var(--navy-800); list-style: none; cursor: pointer; }
.average-rules-panel > summary::-webkit-details-marker { display: none; }
.average-rules-panel > summary::after { content: '▾'; flex: 0 0 auto; color: var(--teal-700); font-size: 13px; transition: transform .16s ease; }
.average-rules-panel[open] > summary::after { transform: rotate(180deg); }
.average-rules-panel > summary > span:first-child { min-width: 0; }
.average-rules-panel > summary strong,.average-rules-panel > summary small { display: block; }
.average-rules-panel > summary strong { font-size: 11.5px; }
.average-rules-panel > summary small { margin-top: 2px; overflow: hidden; color: var(--slate-500); font-size: 10px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.average-rules-state { flex: 0 0 auto; padding: 5px 8px; color: #48616f; background: white; border: 1px solid #dce5ea; border-radius: 999px; font-size: 9.5px; font-weight: 750; }
.average-rules-body { display: grid; grid-template-columns: minmax(215px,.72fr) minmax(430px,1.6fr) minmax(260px,.95fr); gap: 12px; padding: 12px; background: white; border-top: 1px solid #e3eaee; }
.average-date-control { display: grid !important; align-content: start; gap: 5px !important; }
.average-date-control > span,.average-month-selector legend { color: var(--slate-600); font-size: 10.5px; font-weight: 800; }
.average-date-control input { width: 100%; }
.average-date-control small,.average-month-selector > small,.average-zero-rule small { color: var(--slate-500); font-size: 9.5px; font-weight: 550; line-height: 1.35; }
.average-month-selector { min-width: 0; margin: 0; padding: 0; border: 0; }
.average-month-selector > div { display: flex; align-items: stretch; flex-wrap: wrap; gap: 5px; margin: 6px 0 5px; }
.average-month-option { position: relative; display: grid !important; place-items: center; min-width: 48px; min-height: 39px; padding: 5px 7px; color: #435b68 !important; background: #f7fafb; border: 1px solid #dce5ea; border-radius: 8px; cursor: pointer; }
.average-month-option input { position: absolute; opacity: 0; pointer-events: none; }
.average-month-option:has(input:checked) { color: #075f5b !important; background: #e9f7f4; border-color: #8dcfc5; box-shadow: inset 0 0 0 1px rgba(8,127,120,.08); }
.average-month-option span { font-size: 10.5px; font-weight: 800; }
.average-month-option small { color: inherit; font-size: 8px; font-weight: 650; }
.average-zero-rule { display: grid; grid-template-columns: auto auto 1fr; align-content: start; align-items: center; column-gap: 8px; row-gap: 3px; min-width: 0; padding: 9px 10px; background: #fafcfd; border: 1px solid #e0e8ec; border-radius: 9px; white-space: normal; }
.average-zero-rule input[type="hidden"] { display: none; }
.average-zero-rule > span { grid-column: 1; grid-row: 1 / span 2; }
.average-zero-rule > strong { grid-column: 2 / -1; color: var(--navy-800); font-size: 10.5px; }
.average-zero-rule > small { grid-column: 2 / -1; }
.average-rule-note { grid-column: 1 / -1; padding: 7px 9px; color: #556c78; background: #f5f8fa; border-radius: 7px; font-size: 9.5px; }
.average-rule-note strong { color: var(--navy-800); }
@media (max-width: 1180px) { .average-rules-body { grid-template-columns: 1fr 1.6fr; }.average-zero-rule { grid-column: 1 / -1; } }
@media (max-width: 760px) { .average-rules-body { grid-template-columns: 1fr; }.average-zero-rule { grid-column: auto; }.average-rules-panel > summary { align-items: flex-start; flex-direction: column; }.average-rules-state { align-self: flex-start; } }

/* Exportação e auditoria das fontes */
.source-download-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 7px; margin: -2px 0 12px; }
.source-download-actions form,.source-history-actions form { margin: 0; }
.source-download-note { color: var(--slate-500); font-size: 9.5px; line-height: 1.35; }
.source-history-panel .panel-head p { margin: 4px 0 0; color: var(--slate-500); font-size: 11px; }
.source-history-table { min-width: 1120px; }
.source-history-table th:last-child { width: 180px; }
.source-history-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.source-history-actions .button,.source-download-actions .button { white-space: nowrap; }
@media (max-width: 620px) {
  .source-download-actions { align-items: stretch; flex-direction: column; }
  .source-download-actions form,.source-download-actions .button { width: 100%; }
}

/* Transferências: seleção persistente entre páginas */
.transfer-selection-toolbar [data-selected-count] { color: var(--navy-800); font-weight: 750; font-variant-numeric: tabular-nums; }
.transfer-selection-toolbar .table-toolbar-actions { flex-wrap: wrap; justify-content: flex-end; }
@media (max-width: 900px) {
  .transfer-selection-toolbar { align-items: stretch; flex-direction: column; gap: 10px; }
  .transfer-selection-toolbar > div { justify-content: space-between; }
}

/* Saúde do estoque: leitura direta do saldo físico */
.health-kpi-grid-direct { grid-template-columns: repeat(4,minmax(0,1fr)); }
.health-filters-direct { grid-template-columns: minmax(260px,1.7fr) repeat(3,minmax(135px,.75fr)); }
.health-filters-direct .filter-search { grid-column: span 1; }
.health-missing-note { margin: -5px 0 14px; padding: 9px 12px; color: var(--amber-700); background: #fffaf0; border: 1px solid #efdfb4; border-radius: 8px; font-size: 10px; }
.health-table-direct { width: 100%; table-layout: fixed; }
.health-table-direct th,.health-table-direct td { padding: 9px 5px; overflow: hidden; font-size: 10.5px; white-space: normal; }
.health-table-direct th:nth-child(1) { width: 8%; }
.health-table-direct th:nth-child(2) { width: 22%; }
.health-table-direct th:nth-child(3) { width: 9%; }
.health-table-direct th:nth-child(n+4) { width: 7.6%; }
.health-table-direct .product-name,.health-table-direct .cell-note { max-width: 100%; white-space: normal; }
.health-table-direct .pending-cell { color: var(--slate-600); background: #f8fafb; }
.health-detail-grid-direct { grid-template-columns: repeat(5,minmax(0,1fr)); }
.health-detail-grid .pending-card { background: #f7fafb; border-color: #dbe4e8; }
.health-detail-grid .pending-card em { display: block; margin-top: 4px; color: var(--slate-500); font-size: 8.5px; font-style: normal; }
.health-calculation { margin-bottom: 10px; padding: 11px 13px; color: var(--navy-800); background: #eff8f6; border: 1px solid #bee0da; border-radius: 8px; }
.health-calculation strong { font-size: 10px; text-transform: uppercase; }
.health-calculation p { margin: 4px 0 0; font-size: 10.5px; line-height: 1.45; }
.health-detail-note { margin: 8px 0 0; color: var(--slate-500); font-size: 9.5px; }
@media (max-width: 1250px) { .health-filters-direct { grid-template-columns: repeat(3,minmax(0,1fr)); }.health-kpi-grid-direct { grid-template-columns: repeat(2,minmax(0,1fr)); }.health-detail-grid-direct { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 900px) { .health-grid-wrap { overflow-x: auto; }.health-table-direct { min-width: 1180px; } }
@media (max-width: 650px) { .health-filters-direct,.health-kpi-grid-direct,.health-detail-grid-direct { grid-template-columns: 1fr; } }

/* Gestão de usuários */
.users-page-intro { margin-bottom: 14px; }
.user-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; margin-bottom: 14px; }
.user-kpi-grid article { min-height: 92px; padding: 16px 18px; background: #fff; border: 1px solid var(--slate-200); border-radius: 12px; box-shadow: var(--shadow-sm); }
.user-kpi-grid small,.user-kpi-grid strong { display: block; }
.user-kpi-grid small { color: var(--slate-500); font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.user-kpi-grid strong { margin-top: 7px; color: var(--navy-900); font-size: 25px; line-height: 1; }
.user-create-panel,.user-edit-panel,.users-list-panel { margin-bottom: 14px; overflow: hidden; }
.user-panel-summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 17px 20px; list-style: none; cursor: pointer; }
.user-panel-summary::-webkit-details-marker { display: none; }
.user-panel-summary > span:first-child strong,.user-panel-summary > span:first-child small { display: block; }
.user-panel-summary > span:first-child strong { margin-top: 3px; color: var(--navy-900); font-size: 16px; }
.user-panel-summary > span:first-child small { margin-top: 4px; color: var(--slate-500); font-size: 10.5px; }
.user-summary-action { flex: 0 0 auto; padding: 8px 11px; color: var(--teal-700); background: var(--teal-100); border-radius: 8px; font-size: 10px; font-weight: 850; }
.user-create-panel[open] .user-panel-summary { border-bottom: 1px solid var(--slate-200); background: #fbfdfd; }
.user-editor-form { padding: 18px 20px 20px; }
.user-form-grid { display: grid; grid-template-columns: 1.35fr 1fr 1.35fr .8fr auto; align-items: end; gap: 11px; }
.user-form-grid label,.user-password-grid label,.password-admin-form label { display: grid; gap: 5px; min-width: 0; color: var(--slate-600); font-size: 10.5px; font-weight: 750; }
.user-form-grid input,.user-form-grid select,.user-password-grid input,.password-admin-form input { min-width: 0; height: 40px; }
.user-form-grid label small,.user-password-grid label small { color: var(--slate-500); font-size: 9px; font-weight: 500; }
.user-active-switch { min-height: 40px; padding: 0 4px; white-space: nowrap; }
.user-password-grid { display: grid; grid-template-columns: minmax(220px,320px) minmax(220px,320px); gap: 11px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--slate-100); }
.permission-section { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--slate-200); }
.permission-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.permission-section-head strong,.permission-section-head small { display: block; }
.permission-section-head strong { color: var(--navy-900); font-size: 13px; }
.permission-section-head small { margin-top: 3px; color: var(--slate-500); font-size: 10px; }
.compact-button { min-height: 32px; padding: 6px 10px; font-size: 10px; }
.permission-groups { display: grid; grid-template-columns: 1.3fr .9fr; gap: 12px; }
.permission-group { min-width: 0; margin: 0; padding: 11px; border: 1px solid var(--slate-200); border-radius: 10px; background: #fbfcfd; }
.permission-group legend { padding: 0 6px; color: var(--teal-700); font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.permission-option { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 8px; align-items: start; padding: 8px 7px; border-radius: 7px; cursor: pointer; }
.permission-option:hover { background: #f1f8f7; }
.permission-option input { margin-top: 2px; }
.permission-option strong,.permission-option small { display: block; }
.permission-option strong { color: var(--navy-800); font-size: 10.5px; }
.permission-option small { margin-top: 2px; color: var(--slate-500); font-size: 9px; line-height: 1.35; }
.permissions-locked { opacity: .72; }
.user-form-actions { display: flex; justify-content: flex-end; margin-top: 16px; }
.user-edit-head p { margin: 4px 0 0; color: var(--slate-500); font-size: 10.5px; }
.user-protection-note { margin: 0 20px 20px; padding: 13px 14px; color: #7c4a00; background: #fff7e8; border: 1px solid #eed4a0; border-radius: 9px; font-size: 11px; }
.password-admin-block { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(0,1.2fr); gap: 22px; padding: 18px 20px; border-top: 1px solid var(--slate-200); background: #f9fbfc; }
.password-admin-block h4 { margin: 4px 0 4px; color: var(--navy-900); font-size: 14px; }
.password-admin-block p { margin: 0; color: var(--slate-500); font-size: 10px; }
.password-admin-form { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 10px; }
.users-list-panel .panel-head p { margin: 4px 0 0; color: var(--slate-500); font-size: 10.5px; }
.users-table th,.users-table td { padding: 10px 11px; }
.users-table td:first-child { min-width: 220px; }
.user-status { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-weight: 800; }
.user-status i { width: 7px; height: 7px; border-radius: 50%; }
.user-status.active { color: var(--green-700); }.user-status.active i { background: #20a66a; }
.user-status.inactive { color: var(--slate-500); }.user-status.inactive i { background: var(--slate-300); }
@media (max-width: 1180px) {
  .user-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .user-form-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .user-active-switch { align-self: center; }
  .permission-groups { grid-template-columns: 1fr; }
  .password-admin-block { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .user-kpi-grid,.user-form-grid,.user-password-grid,.password-admin-form { grid-template-columns: 1fr; }
  .permission-section-head,.user-panel-summary { align-items: stretch; flex-direction: column; }
  .user-form-actions .button,.password-admin-form .button { width: 100%; }
}
