:root {
  --bg: #070b0d;
  --surface: #10181b;
  --surface-2: #162226;
  --ink: #eff7f4;
  --muted: #93a7a6;
  --line: rgba(255, 255, 255, 0.11);
  --brand: #00a88f;
  --brand-dark: #031f22;
  --accent: #7cebd8;
  --blue: #47b5ff;
  --teal: #00c0a4;
  --green: #4fd27a;
  --yellow: #d98d00;
  --red: #ff5c63;
  --rose: #ee6a8f;
  --shadow: 0 22px 54px rgba(0, 0, 0, 0.32);
}

/* Desarrollo de Negocios */
.business-development-report { display: grid; gap: 16px; }
.bd-toolbar { display: grid; grid-template-columns: minmax(190px, 1fr) minmax(240px, 1.4fr) auto auto; gap: 10px; align-items: end; padding: 14px; border: 1px solid rgba(92, 224, 207, .28); border-radius: 10px; background: rgba(9, 31, 31, .72); }
.bd-toolbar label, .participant-filter { display: grid; gap: 5px; color: #96aaa9; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.bd-toolbar input, .bd-toolbar select, .participant-filter input { min-height: 38px; }
.bd-summary { margin: 0; }
.bd-period, .bd-block-header { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.bd-period { padding: 12px 14px; border-left: 3px solid #ffcc16; background: rgba(255, 204, 22, .08); }
.bd-period span { color: #9eb1b0; }
.bd-block { display: grid; gap: 10px; padding: 14px; border: 1px solid rgba(92, 224, 207, .24); border-radius: 10px; background: #0a181b; }
.bd-block-header h5 { margin: 3px 0 0; font-size: 18px; }
.bd-block-title { display: flex; align-items: center; gap: 8px; }
.bd-rule-help { position: relative; flex: 0 0 auto; }
.bd-rule-help > summary { display: inline-flex; width: 20px; height: 20px; align-items: center; justify-content: center; border: 1px solid rgba(124, 235, 216, .58); border-radius: 999px; background: rgba(92, 224, 207, .08); color: #7cebd8; cursor: pointer; font-size: 12px; font-weight: 900; list-style: none; }
.bd-rule-help > summary::-webkit-details-marker { display: none; }
.bd-rule-help > summary:hover, .bd-rule-help > summary:focus-visible, .bd-rule-help[open] > summary { border-color: #7cebd8; background: rgba(92, 224, 207, .18); color: #fff; outline: none; }
.bd-rule-card { position: absolute; z-index: 20; top: calc(100% + 9px); left: -10px; width: min(430px, calc(100vw - 64px)); padding: 14px 15px; border: 1px solid rgba(124, 235, 216, .5); border-radius: 9px; background: #102426; box-shadow: 0 16px 38px rgba(0, 0, 0, .48); color: #d6e4e2; font-size: 12px; line-height: 1.45; }
.bd-rule-card::before { content: ''; position: absolute; top: -6px; left: 14px; width: 10px; height: 10px; border-top: 1px solid rgba(124, 235, 216, .5); border-left: 1px solid rgba(124, 235, 216, .5); background: #102426; transform: rotate(45deg); }
.bd-rule-card > strong { display: block; color: #fff; font-size: 13px; }
.bd-rule-card p { margin: 7px 0 0; }
.bd-rule-card b { color: #8ff5e5; }
.bd-block-header > strong { color: #5ce0cf; }
.bd-table-wrap { overflow-x: auto; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; }
.bd-table { border-collapse: collapse; width: max-content; min-width: 100%; font-size: 13px; line-height: 1.3; }
.bd-table.is-compact { width: auto; min-width: 0; }
.bd-table th, .bd-table td { padding: 10px 11px; border-right: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); white-space: nowrap; }
.bd-table .bd-classification-column { position: sticky; left: 0; z-index: 2; min-width: 300px; width: 300px; max-width: 300px; white-space: normal; text-align: left; background: #101f22; }
.bd-table thead th { background: #11262a; color: #79ecdc; text-align: center; }
.bd-table thead .bd-classification-column { z-index: 3; }
.bd-table tbody tr:hover td, .bd-table tbody tr:hover th { background-color: rgba(92, 224, 207, .08); }
.bd-table .num { text-align: center; font-variant-numeric: tabular-nums; }
.bd-table .bd-day-cell { width: 68px; min-width: 68px; max-width: 68px; }
.bd-table .bd-week-cell { background: rgba(255, 204, 22, .07); }
.bd-table .bd-week-cell { width: 84px; min-width: 84px; }
.bd-table .bd-week-cell button { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; font-weight: 900; }
.bd-table .bd-week-cell button:hover, .bd-table .bd-week-cell button:focus-visible { color: #fff; outline: 1px solid #66e8ff; outline-offset: 3px; }
.bd-table .bd-week-cell.is-selected { background: rgba(92, 224, 207, .14); box-shadow: inset 0 2px #5ce0cf; }
.bd-table .bd-total-cell { width: 92px; min-width: 92px; max-width: 92px; background: rgba(92, 224, 207, .12); font-size: 14px; }
.bd-table .bd-goal-cell { width: 102px; min-width: 102px; max-width: 102px; background: rgba(255, 204, 22, .08); }
.bd-table .bd-progress-cell { width: 88px; min-width: 88px; max-width: 88px; font-weight: 900; }
.bd-table .bd-progress-cell.green { color: #8cf0ae; background: rgba(79, 210, 122, .11); }
.bd-table .bd-progress-cell.yellow { color: #ffda56; background: rgba(255, 204, 22, .1); }
.bd-table .bd-progress-cell.red { color: #ff9297; background: rgba(255, 92, 99, .1); }
.bd-table .bd-progress-cell.neutral { color: #a8b9b8; background: rgba(255,255,255,.035); }
.bd-table small { display: block; margin-top: 4px; color: #a7b7b6; font-size: 10px; }
.bd-table tfoot th, .bd-table tfoot td { color: #f1f4f4; font-weight: 900; background: #293235; border-top: 2px solid #778286; }
.bd-table tfoot .bd-classification-column, .bd-table tfoot .bd-week-cell, .bd-table tfoot .bd-day-cell, .bd-table tfoot .bd-total-cell { background: #293235; }
.bd-records { margin-top: 5px; font-weight: 400; }
.bd-records summary { color: #5ce0cf; cursor: pointer; font-size: 12px; }
.bd-records a, .bd-records a:visited, .bd-quality-warning .bd-records a, .bd-quality-warning .bd-records a:visited { color: #66e8ff; font-weight: 800; text-decoration: underline; text-decoration-color: rgba(102, 232, 255, .55); text-underline-offset: 2px; }
.bd-records a:hover, .bd-quality-warning .bd-records a:hover { color: #d5faff; text-decoration-color: currentColor; }
.bd-records ul { display: grid; gap: 4px; margin: 7px 0 0; padding: 0; list-style: none; }
.bd-records li { display: flex; justify-content: space-between; gap: 10px; }
.bd-records li span { color: #a7b7b6; font-size: 11px; }
.bd-quality-warning, .bd-quality-ok { padding: 10px 12px; border-radius: 7px; font-size: 11px; }
.bd-quality-warning { border-left: 3px solid #ff5a64; background: rgba(255, 90, 100, .1); }
.bd-quality-ok { border-left: 3px solid #4bd591; background: rgba(75, 213, 145, .08); color: #a7d8c1; }
.bd-quality-heading { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 14px; }
.bd-quality-heading > strong { color: #fff; }
.bd-quality-heading > span { color: #c9d4d3; }
.bd-unclassified-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)); gap: 8px; margin-top: 10px; }
.bd-unclassified-list a, .bd-unclassified-list a:visited { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 14px; padding: 10px 11px; border: 1px solid rgba(255, 146, 151, .3); border-radius: 7px; background: rgba(5, 20, 21, .42); color: #fff; text-decoration: none; }
.bd-unclassified-list a:hover, .bd-unclassified-list a:focus-visible { border-color: #66e8ff; background: rgba(102, 232, 255, .09); outline: none; }
.bd-unclassified-record { display: grid; min-width: 0; gap: 3px; }
.bd-unclassified-record strong { overflow-wrap: anywhere; color: #fff; font-size: 12px; }
.bd-unclassified-record small { color: #aebfbd; font-size: 10px; }
.bd-unclassified-list a > b { flex: 0 0 auto; color: #66e8ff; font-size: 11px; white-space: nowrap; }
.bd-notes { color: #8ea2a1; font-size: 10px; }
.bd-notes p { margin: 3px 0; }
.bd-week-switcher { display: flex; flex-wrap: wrap; align-items: stretch; gap: 7px; padding: 10px 12px; border: 1px solid rgba(92, 224, 207, .22); border-radius: 9px; background: rgba(6, 24, 26, .78); }
.bd-week-switcher > span { align-self: center; margin-right: 4px; color: #96aaa9; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.bd-week-switcher button { min-height: 38px; padding: 6px 12px; border: 1px solid rgba(92, 224, 207, .35); border-radius: 7px; background: #102528; color: #c7d7d6; cursor: pointer; font: inherit; font-size: 11px; font-weight: 800; }
.bd-week-switcher button small { display: block; margin-top: 2px; color: #8ea4a2; font-size: 8px; font-weight: 600; }
.bd-week-switcher button:hover { border-color: #65e3d2; color: #fff; }
.bd-week-switcher button.is-active { border-color: #ffcc16; background: rgba(255, 204, 22, .13); color: #ffdb54; box-shadow: inset 0 0 0 1px rgba(255, 204, 22, .2); }
.bd-number-link { appearance: none; min-width: 24px; padding: 1px 4px; border: 0; border-radius: 4px; background: transparent; color: #66e8ff; cursor: pointer; font: inherit; font-weight: 900; text-decoration: underline; text-decoration-color: rgba(102, 232, 255, .55); text-underline-offset: 2px; }
.bd-number-link:hover, .bd-number-link:focus-visible { background: rgba(102, 232, 255, .14); color: #fff; outline: 1px solid rgba(102, 232, 255, .55); }
.bd-number-link.is-total { color: #8ff5e5; }
.bd-number-zero { color: #dbe6e5; font-weight: 700; }
.traffic-card .bd-number-link, .bd-block-header .bd-number-link { font-size: inherit; }
.bd-detail-list { display: grid; gap: 8px; min-width: min(620px, 80vw); }
.bd-detail-list-head, .bd-detail-list a, .bd-detail-list a:visited { display: grid; grid-template-columns: minmax(230px, 1.7fr) minmax(150px, 1fr) minmax(105px, .75fr) minmax(125px, .8fr) minmax(105px, .6fr); align-items: center; gap: 16px; }
.bd-detail-list-head { padding: 0 12px 4px; color: #94aaa8; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.bd-detail-list a, .bd-detail-list a:visited { padding: 10px 12px; border: 1px solid rgba(102, 232, 255, .25); border-radius: 7px; background: rgba(102, 232, 255, .06); color: #66e8ff; text-decoration: none; }
.bd-detail-list a:hover { border-color: #66e8ff; background: rgba(102, 232, 255, .12); color: #fff; }
.bd-detail-list a span { color: #a7b9b8; font-size: 10px; white-space: nowrap; }
.bd-detail-list a b { color: #9af3d9; text-align: right; white-space: nowrap; }
.bd-targets-panel { border: 1px solid rgba(255, 204, 22, .3); border-radius: 10px; background: rgba(255, 204, 22, .035); }
.bd-targets-panel > summary { padding: 13px 15px; color: #ffda54; cursor: pointer; font-size: 13px; font-weight: 900; }
.bd-targets-body { display: grid; gap: 12px; padding: 0 14px 14px; }
.bd-targets-head { display: grid; grid-template-columns: minmax(260px, 1fr) auto; gap: 14px; align-items: end; }
.bd-targets-head label { display: grid; gap: 5px; color: #96aaa9; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.bd-targets-head select { min-height: 38px; }
.bd-targets-head > div { display: grid; gap: 3px; }
.bd-targets-head > div span { color: #93a7a6; font-size: 11px; }
.bd-targets-actions { display: flex !important; grid-template-columns: none !important; align-items: end; gap: 9px; }
.bd-targets-actions label { min-width: 190px; }
.bd-targets-actions button { min-height: 38px; white-space: nowrap; }
.bd-funnel-score-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(270px, 315px); gap: 12px; align-items: start; }
.bd-funnel-blocks { display: grid; gap: 12px; min-width: 0; }
.bd-scorecard-summary { position: sticky; top: 12px; overflow: hidden; border: 1px solid #31504d; border-radius: 10px; background: #0c2021; }
.bd-scorecard-heading { display: grid; gap: 5px; padding: 15px; border-bottom: 1px solid rgba(255,255,255,.1); }
.bd-scorecard-heading > span { color: #9db1af; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.bd-scorecard-heading > strong { color: #fff; font-size: 25px; }
.bd-scorecard-heading > small { color: #b6c7c5; font-size: 10px; font-weight: 700; }
.bd-scorecard-components { display: grid; padding: 5px 13px; }
.bd-scorecard-components > div { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 8px; padding: 10px 2px; border-bottom: 1px solid rgba(255,255,255,.08); }
.bd-scorecard-components span { color: #dce8e6; font-size: 11px; font-weight: 800; }
.bd-scorecard-components strong { color: #fff; font-size: 15px; text-align: right; }
.bd-scorecard-components strong small, .bd-scorecard-total small { color: #8fa5a2; font-size: 10px; }
.bd-scorecard-components p { grid-column: 1 / -1; margin: 0; color: #8fa5a2; font-size: 9px; }
.bd-scorecard-total { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; padding: 13px 15px; background: rgba(255,255,255,.04); }
.bd-scorecard-total span { font-size: 12px; font-weight: 900; text-transform: uppercase; }
.bd-scorecard-total strong { font-size: 21px; }
.bd-scorecard-ranges { margin: 0; padding: 10px 14px 13px; color: #9eb0ae; font-size: 9px; line-height: 1.5; }
.bd-scorecard-summary.is-green { border-color: #25d9a6; box-shadow: inset 0 3px 0 #25d9a6; }
.bd-scorecard-summary.is-green .bd-scorecard-heading > strong, .bd-scorecard-summary.is-green .bd-scorecard-total strong { color: #66f5c8; }
.bd-scorecard-summary.is-yellow { border-color: #ffd338; box-shadow: inset 0 3px 0 #ffd338; }
.bd-scorecard-summary.is-yellow .bd-scorecard-heading > strong, .bd-scorecard-summary.is-yellow .bd-scorecard-total strong { color: #ffd338; }
.bd-scorecard-summary.is-red { border-color: #ef5d67; box-shadow: inset 0 3px 0 #ef5d67; }
.bd-scorecard-summary.is-red .bd-scorecard-heading > strong, .bd-scorecard-summary.is-red .bd-scorecard-total strong { color: #ff858d; }
.bd-targets-table-wrap { overflow-x: auto; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; }
.bd-targets-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.bd-targets-table th, .bd-targets-table td { padding: 8px 10px; border-right: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }
.bd-targets-table th:first-child { width: 52%; text-align: left; }
.bd-targets-table thead th { color: #ffda54; background: rgba(255, 204, 22, .09); text-align: center; }
.bd-targets-table input { width: 100%; min-width: 90px; text-align: center; }
.bd-targets-table tfoot th, .bd-targets-table tfoot td { color: #fff; font-weight: 900; background: #293235; }
.bd-targets-matrix { width: max-content; min-width: 100%; font-size: 11px; }
.bd-targets-matrix th, .bd-targets-matrix td { min-width: 86px; padding: 7px 6px; text-align: center; }
.bd-targets-matrix thead th { max-width: 190px; white-space: normal; line-height: 1.2; }
.bd-targets-matrix .bd-target-person { position: sticky; left: 0; z-index: 2; width: 210px; min-width: 210px; max-width: 210px; text-align: left; white-space: normal; background: #182326; }
.bd-targets-matrix thead .bd-target-person { z-index: 4; background: #3a351d; }
.bd-targets-matrix tfoot .bd-target-person { z-index: 3; background: #293235; }
.bd-targets-matrix .bd-target-entry { min-width: 92px; background: rgba(255, 204, 22, .05); }
.bd-targets-matrix .bd-target-entry input { width: 76px; min-width: 76px; min-height: 34px; border: 1px solid #ffcc16; background: #ffe36a; color: #171300; font-weight: 900; text-align: center; box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.bd-targets-matrix .bd-target-entry input:hover { background: #ffeb91; }
.bd-targets-matrix .bd-target-entry input:focus { outline: 2px solid #fff4b8; outline-offset: 1px; background: #fff0a8; }
.bd-targets-matrix .bd-target-person-summary { min-width: 96px; background: rgba(92, 224, 207, .09); font-weight: 900; }
.bd-targets-matrix tbody tr:hover .bd-target-person { background: #213033; }
.participant-matrix-card { grid-column: 1 / -1; }
.config-help, .participant-seed-note { color: #91a5a4; font-size: 11px; }
.participant-membership-list { display: grid; gap: 8px; }
.participant-filter { max-width: 420px; }
.participant-matrix-head, .participant-matrix-row { display: grid; grid-template-columns: minmax(260px, 1fr) repeat(3, minmax(145px, .38fr)); align-items: center; gap: 10px; }
.participant-matrix-head { padding: 5px 12px; color: #ffcc16; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.participant-matrix-row { padding: 10px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.025); }
.participant-matrix-row > div { display: grid; gap: 2px; }
.participant-matrix-row span { color: #92a7a6; font-size: 10px; }
.participant-matrix-row > label { display: flex; align-items: center; gap: 7px; color: #d7e2e1; font-size: 11px; }
.participant-matrix-row input[type="checkbox"] { width: 18px; height: 18px; accent-color: #39c8b6; }
.manual-participant-form { margin-top: 10px; padding: 10px 12px; border: 1px solid rgba(255, 204, 22, .28); border-radius: 8px; }
.manual-participant-form summary { color: #ffdb54; cursor: pointer; font-weight: 800; }
.manual-participant-form .config-form-row { margin-top: 12px; grid-template-columns: 1fr 1fr auto; }
@media (max-width: 900px) {
  .bd-toolbar { grid-template-columns: 1fr; }
  .bd-targets-head { grid-template-columns: 1fr; }
  .bd-funnel-score-layout { grid-template-columns: 1fr; }
  .bd-scorecard-summary { position: static; }
  .participant-matrix-head { display: none; }
  .participant-matrix-row { grid-template-columns: 1fr; }
  .manual-participant-form .config-form-row { grid-template-columns: 1fr; }
  .bd-detail-list-head { display: none; }
  .bd-detail-list a, .bd-detail-list a:visited { grid-template-columns: 1fr; gap: 4px; }
  .bd-detail-list a b { text-align: left; }
  .bd-rule-card { position: fixed; top: 50%; left: 50%; width: min(420px, calc(100vw - 32px)); transform: translate(-50%, -50%); }
  .bd-rule-card::before { display: none; }
  .bd-unclassified-list { grid-template-columns: 1fr; }
  .bd-unclassified-list a { align-items: flex-start; flex-direction: column; gap: 7px; }
}


.travel-remittance-cell { min-width: 122px; text-align: center; }
.travel-remittance-button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border: 1px solid rgba(255, 209, 54, .5);
  border-radius: 8px;
  background: rgba(255, 209, 54, .1);
  color: #fff4b8;
  padding: 7px 10px;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.travel-remittance-button:hover { background: rgba(255, 209, 54, .2); transform: translateY(-1px); }
.pdf-icon {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 38px;
  border-radius: 4px;
  background: #d92d20;
  color: #fff;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .3px;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .15);
}
.travel-remittance-overlay {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(0, 7, 8, .86);
  backdrop-filter: blur(7px);
}
.travel-remittance-viewer {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(1120px, 96vw);
  height: min(900px, 94vh);
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, .35);
  border-radius: 14px;
  background: #071718;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .55);
}
.travel-remittance-viewer header,
.travel-remittance-viewer footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 15px 18px;
  background: #082524;
}
.travel-remittance-viewer header { border-bottom: 1px solid rgba(124, 235, 216, .2); }
.travel-remittance-viewer footer { border-top: 1px solid rgba(124, 235, 216, .2); color: #a9c7c3; }
.travel-remittance-viewer h2 { margin: 2px 0 0; color: #fff; font-size: 20px; }
.travel-remittance-viewer .eyebrow { margin: 0; }
.travel-remittance-viewer iframe { width: 100%; height: 100%; border: 0; background: #fff; }
.travel-remittance-stage { position: relative; min-height: 0; overflow: hidden; background: #f4f7f7; }
.travel-remittance-stage iframe { position: absolute; inset: 0; }
.travel-remittance-loading {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 10px;
  padding: 30px;
  background: radial-gradient(circle at center, #f9ffff 0, #e8f3f2 75%);
  color: #123432;
  text-align: center;
}
.travel-remittance-loading[hidden] { display: none; }
.travel-remittance-loading strong { font-size: 19px; }
.travel-remittance-loading small { max-width: 430px; color: #55706d; font-size: 13px; line-height: 1.45; }
.travel-remittance-loading.is-error { background: #fff8f2; color: #7d2a1f; }
.travel-remittance-loading.is-error small { color: #7b514b; }
.travel-remittance-spinner {
  width: 44px;
  height: 44px;
  border: 4px solid rgba(0, 168, 143, .18);
  border-top-color: #00a88f;
  border-radius: 50%;
  animation: travel-remittance-spin .8s linear infinite;
}
@keyframes travel-remittance-spin { to { transform: rotate(360deg); } }
.travel-remittance-viewer [data-download-travel-remittance]:disabled { cursor: wait; opacity: .58; }
.travel-remittance-close {
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  color: #fff;
  font-size: 26px;
  cursor: pointer;
}
.travel-remittance-viewer footer .primary-action { text-decoration: none; white-space: nowrap; }
@media (max-width: 700px) {
  .travel-remittance-overlay { padding: 6px; }
  .travel-remittance-viewer { width: 100%; height: 98vh; }
  .travel-remittance-viewer footer span { display: none; }
}
.forecast-evidence-overlay {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: grid;
  place-items: center;
  padding: 16px;
  background: rgba(0, 10, 12, 0.82);
  backdrop-filter: blur(5px);
}

.forecast-evidence-modal {
  position: relative;
  width: calc(100vw - 32px);
  max-width: none;
  max-height: 94vh;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 24px 28px;
  border: 1px solid #2b8f87;
  border-radius: 16px;
  background: #071b1c;
  color: #eefcf9;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.6);
}

.forecast-evidence-modal h3 {
  margin: 0 46px 18px 0;
  color: #ffffff;
  font-size: 20px;
}

.forecast-evidence-close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 38px;
  height: 38px;
  border: 1px solid #4ccbbb;
  border-radius: 50%;
  background: #0b3331;
  color: #8ff5e7;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.forecast-evidence-content table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.forecast-evidence-content,
.forecast-evidence-content .odoo-evidence-table-wrap {
  width: 100%;
  max-width: 100%;
  overflow-x: visible !important;
}

.forecast-evidence-content th,
.forecast-evidence-content td {
  min-width: 0 !important;
  padding: 9px 10px;
  border: 1px solid rgba(124, 235, 216, 0.22);
  text-align: left;
  white-space: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
}

.forecast-evidence-content th {
  background: #111a2d;
  color: #ffd51f;
  font-size: 10px;
  text-transform: uppercase;
}

.forecast-evidence-content td {
  font-size: 11px;
}

.forecast-evidence-content .odoo-evidence-audit-cell {
  min-width: 0 !important;
}

.forecast-evidence-content a,
.forecast-evidence-content a:visited,
.forecast-evidence-content a:hover,
.forecast-evidence-content a:focus {
  color: #ffd51f !important;
  text-decoration-color: #ffd51f !important;
  text-underline-offset: 3px;
  font-weight: 950;
}

@media (max-width: 900px) {
  .forecast-evidence-overlay {
    padding: 8px;
  }

  .forecast-evidence-modal {
    width: calc(100vw - 16px);
    padding: 18px;
  }

  .forecast-evidence-content .odoo-evidence-table-wrap {
    overflow-x: auto !important;
  }

  .forecast-evidence-content table {
    min-width: 1050px;
    table-layout: auto;
  }
}

* {
  box-sizing: border-box;
}

html {
  min-width: 1280px;
  min-height: 100%;
  background: #050708;
}

body {
  margin: 0;
  min-width: 1280px;
  min-height: 100vh;
  background: linear-gradient(135deg, #060a0c 0%, #091214 48%, #050708 100%);
  color: var(--ink);
  font-family: Montserrat, Raleway, Roboto, "Helvetica Neue", Helvetica, Arial, ui-sans-serif, system-ui, sans-serif;
  letter-spacing: 0;
}

button,
select,
input {
  font: inherit;
}

.app-shell {
  display: grid;
  grid-template-columns: 320px minmax(960px, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  padding: 28px 20px;
  background:
    linear-gradient(180deg, rgba(2, 18, 20, 0.64), rgba(3, 8, 10, 0.96) 62%, rgba(3, 8, 10, 0.99)),
    url("./assets/service-exterior.jpg") center / cover;
  color: #ffffff;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08);
  overflow-x: hidden;
  overflow-y: auto;
}

.mobile-dashboard-menu,
.mobile-menu-close,
.mobile-nav-backdrop { display: none; }

@media (max-width: 700px) {
  .app-shell { display: block; min-width: 0; width: 100%; }
  .main-panel { width: 100%; min-width: 0; padding: 14px 14px 24px; }
  .mobile-dashboard-menu {
    position: sticky; top: 0; z-index: 2950; width: 100%;
    display: flex; align-items: center; gap: 9px; min-height: calc(58px + env(safe-area-inset-top)); padding: calc(9px + env(safe-area-inset-top)) 16px 9px;
    border: 0; border-bottom: 1px solid #32665d; border-radius: 0; background: #071f1d; color: #fff;
    box-shadow: 0 5px 16px rgba(0,0,0,.28); cursor: pointer;
  }
  .mobile-dashboard-menu span { font-size: 23px; line-height: 1; }
  .mobile-dashboard-menu strong { font-size: 13px; }
  .sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 3100; width: min(86vw, 320px); height: 100dvh;
    padding: calc(18px + env(safe-area-inset-top)) 18px calc(18px + env(safe-area-inset-bottom));
    overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain;
    transform: translateX(-105%); transition: transform .24s ease; box-shadow: 18px 0 46px rgba(0,0,0,.55);
  }
  body.mobile-nav-open .sidebar { display: flex; transform: translateX(0); }
  body.mobile-nav-open { overflow: hidden; }
  .mobile-menu-close {
    position: absolute; top: calc(12px + env(safe-area-inset-top)); right: 12px; z-index: 2;
    display: grid; place-items: center; width: 42px; height: 42px; padding: 0;
    border: 1px solid rgba(255,255,255,.35); border-radius: 10px; background: rgba(5,25,24,.9); color: #fff;
    font-size: 30px; line-height: 1; cursor: pointer;
  }
  .mobile-nav-backdrop {
    position: fixed; inset: 0; z-index: 3050; display: block; background: rgba(1,10,12,.72); backdrop-filter: blur(3px);
  }
  .mobile-nav-backdrop[hidden] { display: none; }
  .sidebar .brand { padding-top: 44px; padding-bottom: 18px; }
  .sidebar .nav-list { gap: 5px; }
  .sidebar .nav-item { min-height: 48px; }
}

.brand {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 12px;
  width: 100%;
  padding: 18px 0 34px;
  overflow: hidden;
  flex: 0 0 auto;
}

.brand-identity { display: grid; justify-items: center; gap: 2px; width: 100%; }

.brand-logo {
  display: block;
  width: 205px;
  max-width: 205px;
  height: auto;
  object-fit: contain;
  margin: 0 auto;
}

.brand-kicker,
.eyebrow {
  margin: 0 0 4px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
}

.brand-kicker {
  color: rgba(255, 255, 255, 0.62);
}

.brand h1 {
  margin: 0;
  color: #ffffff;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.1;
}

.session-user-label {
  margin: 7px 0 0;
  color: #f6c431;
  font-size: 0.66rem;
  font-weight: 800;
  line-height: 1.25;
  text-transform: none;
  opacity: 0.92;
}

.nav-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.nav-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  min-height: 50px;
  border: 1px solid transparent;
  border-radius: 8px;
  padding: 10px 12px;
  background: transparent;
  color: rgba(255, 255, 255, 0.76);
  cursor: pointer;
  text-align: left;
  transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.nav-item:hover,
.nav-item.active {
  border-color: rgba(124, 235, 216, 0.42);
  background: rgba(0, 168, 143, 0.17);
  color: #ffffff;
}

.nav-icon {
  display: grid;
  width: 30px;
  height: 30px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 8px;
  background: rgba(124, 235, 216, 0.12);
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 800;
}

.sidebar-footer {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  padding: 14px 12px;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 8px;
  background: rgba(0, 168, 143, 0.1);
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.86rem;
}

.status-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: #40d87a;
  box-shadow: 0 0 0 5px rgba(64, 216, 122, 0.16);
}

.main-panel {
  min-width: 0;
  padding: 30px 34px;
  background: rgba(5, 10, 12, 0.76);
  backdrop-filter: blur(8px);
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}

.hide-topbar .topbar {
  display: none;
}

.hide-topbar .main-panel {
  padding-top: 38px;
}

.topbar h2,
.section-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.65rem, 2vw, 2.35rem);
  line-height: 1.08;
}

.topbar-actions {
  display: flex;
  gap: 12px;
}

label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 700;
  text-transform: uppercase;
}

select,
input {
  min-width: 158px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 36px 10px 12px;
  background: rgba(16, 24, 27, 0.92);
  color: var(--ink);
}

input[readonly] {
  min-width: 250px;
  color: #dcebea;
}

.section-view {
  display: none;
}

.section-view.active {
  display: block;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.refresh-actions {
  display: flex;
  align-items: end;
  gap: 12px;
}

#amenidadesOrdenes .section-heading {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) minmax(760px, auto);
  align-items: center;
}

#amenidadesOrdenes .refresh-actions {
  display: flex;
  align-items: end;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
}

#semaforo .refresh-actions {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px 12px;
  width: min(760px, 100%);
  align-items: end;
}

#semaforo .section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 24px;
}

#semaforo .section-heading > div:first-child {
  min-width: 0;
}

.sales-filter-bar {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(210px, 1fr));
  gap: 8px;
  width: 100%;
}

.sales-filter-bar label {
  min-width: 0;
}

.filter-label-with-info {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sales-filter-bar label:first-child {
  grid-column: 1 / -1;
}

.sales-scoreboard-stack {
  margin-top: 22px;
}

.nissan-scoreboard .traffic-card strong {
  font-size: clamp(1.05rem, 1.6vw, 1.45rem);
}

.nissan-stage-breakdown {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  background: rgba(5, 18, 20, 0.48);
  overflow: hidden;
}

.nissan-stage-breakdown + .nissan-stage-breakdown {
  margin-top: 12px;
}

.nissan-stage-breakdown .sales-stage-totals-head {
  padding: 10px 12px;
}

.nissan-lead-table-wrap {
  overflow-x: auto;
}

.nissan-lead-table {
  min-width: 760px;
}

.nissan-lead-table a {
  color: #7cebd8;
  text-decoration: none;
  font-weight: 800;
}

.sales-filter-bar .filter-hidden {
  display: none;
}

.sales-filter-bar select,
.sales-filter-bar input {
  width: 100%;
  min-width: 0;
}

.date-picker-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px;
  align-items: stretch;
  width: 100%;
}

.date-picker-field input {
  border-radius: 8px 0 0 8px;
  border-right: 0;
}

.date-picker-button {
  position: relative;
  min-width: 36px;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-left: 0;
  border-radius: 0 8px 8px 0;
  background: rgba(0, 168, 143, 0.16);
  cursor: pointer;
}

.date-picker-button::before {
  content: "";
  position: absolute;
  left: 9px;
  top: 9px;
  width: 14px;
  height: 13px;
  border: 2px solid var(--accent);
  border-radius: 3px;
}

.date-picker-button::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 13px;
  width: 10px;
  height: 2px;
  background: var(--accent);
  box-shadow: 0 4px 0 rgba(124, 235, 216, 0.55);
}

.date-picker-button:hover:not(:disabled) {
  background: rgba(0, 168, 143, 0.28);
}

.date-picker-button:disabled {
  cursor: default;
  opacity: 0.45;
}

.primary-action {
  min-height: 42px;
  border: 1px solid rgba(124, 235, 216, 0.55);
  border-radius: 8px;
  padding: 0 18px;
  background: linear-gradient(90deg, rgba(0, 168, 143, 0.95), rgba(124, 235, 216, 0.72));
  color: #041011;
  cursor: pointer;
  font-weight: 900;
}

.primary-action:disabled {
  cursor: wait;
  opacity: 0.72;
}

.kpi-status {
  margin-bottom: 16px;
  border: 1px solid rgba(124, 235, 216, 0.2);
  border-radius: 8px;
  padding: 12px 14px;
  background: rgba(0, 168, 143, 0.09);
  color: #d6e7e5;
  font-weight: 700;
}

.kpi-status[data-type="success"] {
  border-color: rgba(79, 210, 122, 0.34);
  background: rgba(79, 210, 122, 0.11);
}

.kpi-status[data-type="warning"] {
  border-color: rgba(217, 141, 0, 0.36);
  background: rgba(217, 141, 0, 0.1);
}

.kpi-status[data-type="error"] {
  border-color: rgba(255, 92, 99, 0.4);
  background: rgba(255, 92, 99, 0.1);
  color: #ffd5d8;
}

.section-pill {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  border-radius: 999px;
  padding: 7px 12px;
  background: rgba(0, 168, 143, 0.18);
  color: var(--accent);
  font-size: 0.82rem;
  font-weight: 800;
}

.secondary-action {
  min-height: 38px;
  border: 1px solid rgba(124, 235, 216, 0.34);
  border-radius: 8px;
  padding: 0 14px;
  background: rgba(124, 235, 216, 0.1);
  color: var(--accent);
  cursor: pointer;
  font-weight: 800;
}

.secondary-action:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.logout-action {
  border-color: rgba(255, 204, 36, 0.92);
  background: linear-gradient(135deg, #ffe169 0%, #ffc928 52%, #f5a700 100%);
  color: #151515;
  box-shadow: 0 10px 24px rgba(245, 167, 0, 0.2);
}

.logout-action:hover {
  border-color: #ffe680;
  background: linear-gradient(135deg, #fff08f 0%, #ffd43b 48%, #ffb000 100%);
}

.section-pill.warning {
  background: rgba(217, 141, 0, 0.12);
  color: #8a5a00;
}

.kpi-grid,
.traffic-grid,
.dashboard-grid {
  display: grid;
  gap: 16px;
}

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

.master-kpi-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.dashboard-grid.two-columns {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
}

.compact-summary {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 16px;
}

.dashboard-grid.three-columns {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 16px;
}

.metric-card,
.panel,
.traffic-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 31, 35, 0.94), rgba(9, 15, 17, 0.94));
  box-shadow: var(--shadow);
}

.metric-card {
  min-height: 148px;
  padding: 20px;
}

.metric-card.compact {
  min-height: 126px;
}

.metric-label {
  display: block;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 0.88rem;
  font-weight: 700;
}

.metric-card strong {
  display: block;
  margin-bottom: 8px;
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1;
  color: #ffffff;
}

.metric-card small {
  font-weight: 800;
}

.positive {
  color: var(--green);
}

.neutral {
  color: var(--blue);
}

.negative {
  color: var(--red);
}

.panel {
  padding: 20px;
}

.summary-panel {
  min-height: 96px;
}

.summary-panel span {
  display: block;
  margin-bottom: 8px;
  color: var(--muted);
  font-weight: 800;
}

.summary-panel strong {
  color: #ffffff;
  font-size: 2rem;
}

.panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.panel-header h4 {
  margin: 0;
  font-size: 1.03rem;
  color: #ffffff;
}

.panel-header span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 700;
}

.bar-list,
.insight-list,
.segment-list,
.timeline {
  display: grid;
  gap: 14px;
}

.bar-row {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) 52px;
  align-items: center;
  gap: 12px;
  font-size: 0.92rem;
}

.bar-track {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: var(--surface-2);
}

.bar-track div {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), var(--accent));
  box-shadow: 0 0 18px rgba(124, 235, 216, 0.28);
}

.insight-list div,
.segment-list div,
.timeline div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.insight-list b,
.segment-list b,
.timeline b {
  display: block;
  margin-bottom: 5px;
}

.insight-list p,
.traffic-card p,
.timeline p {
  margin: 0;
  color: var(--muted);
  line-height: 1.45;
}

.traffic-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 16px;
}

.traffic-card {
  min-height: 150px;
  padding: 20px;
  border-top-width: 5px;
}

.traffic-card.green {
  border-top-color: var(--green);
}

.traffic-card.yellow {
  border-top-color: var(--yellow);
}

.traffic-card.red {
  border-top-color: var(--red);
}

.traffic-card span {
  color: var(--muted);
  font-size: 0.86rem;
  font-weight: 800;
  text-transform: uppercase;
}

.traffic-card strong {
  display: block;
  margin: 10px 0;
  font-size: 3rem;
  line-height: 1;
}

.sales-scoreboard {
  display: grid;
  gap: 16px;
}

.sales-summary {
  margin-bottom: 0;
}

.sales-status-label {
  margin: 4px 0 -4px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}

.sales-targets-panel {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, 0.035);
}

.sales-targets-panel summary {
  color: #ffffff;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 900;
  list-style: none;
}

.sales-targets-panel summary::-webkit-details-marker {
  display: none;
}

.sales-targets-panel summary::before {
  content: "+";
  display: inline-flex;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 6px;
  color: var(--accent);
}

.sales-targets-panel[open] summary::before {
  content: "-";
}

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

.sales-targets-grid input {
  width: 100%;
  min-width: 0;
  padding-right: 12px;
}

.sales-targets-note {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.4;
}

.sales-targets-summary {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 12px;
}

.sales-targets-summary article {
  min-height: 64px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(71, 181, 255, 0.48);
  border-radius: 8px;
  padding: 9px;
  background:
    linear-gradient(145deg, rgba(0, 174, 239, 0.92) 0%, rgba(0, 125, 191, 0.72) 48%, rgba(5, 46, 76, 0.9) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 10px 24px rgba(0, 174, 239, 0.12);
}

.sales-targets-summary span {
  display: block;
  min-height: 30px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.72rem;
  font-weight: 800;
  text-transform: uppercase;
}

.sales-targets-summary strong {
  display: block;
  margin-top: 0;
  color: #ffffff;
  font-size: 1rem;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.sales-targets-table-wrap {
  max-width: 100%;
  margin-top: 12px;
  overflow-x: auto;
  border: 1px solid rgba(124, 235, 216, 0.12);
  border-radius: 8px;
}

.sales-targets-table {
  min-width: 1500px;
}

.sales-targets-table th,
.sales-targets-table td {
  padding: 8px;
  white-space: nowrap;
}

.sales-targets-table thead th,
.sales-targets-table tfoot th,
.sales-targets-table tfoot td {
  background: #f6c431;
  color: #080b0d;
  font-weight: 900;
}

.sales-targets-table input {
  min-width: 86px;
  width: 100%;
  padding: 7px 8px;
}

.sales-targets-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-top: 14px;
}

.sales-targets-actions p {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.sales-context p {
  margin: 0 0 10px;
  color: var(--muted);
  line-height: 1.45;
}

.sales-context ul {
  margin: 0;
  padding-left: 20px;
  color: #d6e7e5;
  line-height: 1.45;
}

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

.sales-agent-row {
  border: 1px solid var(--line);
  border-left: 5px solid var(--red);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 31, 35, 0.94), rgba(9, 15, 17, 0.94));
  box-shadow: var(--shadow);
  overflow: visible;
}

.sales-agent-row.green {
  border-left-color: var(--green);
}

.sales-agent-row.yellow {
  border-left-color: var(--yellow);
}

.sales-agent-row.red {
  border-left-color: var(--red);
}

.sales-agent-summary {
  display: grid;
  grid-template-columns: 24px minmax(150px, 0.75fr) minmax(640px, 3.25fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  cursor: pointer;
  list-style: none;
}

.sales-agent-summary::-webkit-details-marker {
  display: none;
}

.sales-agent-summary::before {
  content: "+";
  display: inline-flex;
  grid-column: 1;
  width: 22px;
  height: 22px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 6px;
  color: var(--accent);
  font-weight: 900;
}

.sales-agent-row[open] .sales-agent-summary::before {
  content: "-";
}

.sales-agent-id {
  grid-column: 2;
  min-width: 0;
}

.sales-agent-id h4 {
  margin: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 1.05rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-agent-tools {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 9px;
}

.sales-agent-tool {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 7px;
  background: rgba(124, 235, 216, 0.08);
  color: #7cebd8;
  cursor: pointer;
}

.sales-agent-tool:hover {
  border-color: rgba(124, 235, 216, 0.72);
  background: rgba(124, 235, 216, 0.16);
}

.sales-agent-tool:disabled {
  cursor: wait;
  opacity: 0.88;
}

.sales-agent-tool.is-sending {
  border-color: rgba(246, 196, 49, 0.85);
  background: rgba(246, 196, 49, 0.18);
  color: #f6c431;
}

.sales-agent-tool.pending {
  color: #7cebd8;
}

.sales-agent-tool.report-email {
  border-color: rgba(246, 196, 49, 0.46);
  background: rgba(246, 196, 49, 0.1);
  color: #f6c431;
}

.sales-agent-tool.report-telegram {
  border-color: rgba(67, 243, 223, 0.5);
  background: rgba(67, 243, 223, 0.1);
  color: #43f3df;
}

.sales-agent-tool svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.sales-agent-tool.report-telegram svg {
  fill: currentColor;
  stroke: none;
}

.sales-tool-spinner {
  display: none;
  width: 16px;
  height: 16px;
  border: 2px solid rgba(246, 196, 49, 0.22);
  border-top-color: currentColor;
  border-radius: 999px;
  animation: salesToolSpin 0.72s linear infinite;
}

.sales-agent-tool.is-sending .sales-tool-spinner {
  display: block;
}

.sales-agent-tool.is-sending svg {
  display: none;
}

@keyframes salesToolSpin {
  to {
    transform: rotate(360deg);
  }
}

.sales-agent-tool b {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 16px;
  height: 16px;
  border-radius: 999px;
  padding: 0 4px;
  background: #ff2f3d;
  color: #ffffff;
  font-size: 0.62rem;
  line-height: 16px;
}

.sales-tool-info {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 17px;
  height: 17px;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 999px;
  color: #7cebd8;
  font-size: 0.66rem;
  font-weight: 900;
}

.sales-tool-info:hover::after,
.sales-tool-info:focus-visible::after {
  content: none;
}

.floating-tooltip {
  position: fixed;
  z-index: 9999;
  max-width: min(340px, calc(100vw - 20px));
  border: 1px solid rgba(124, 235, 216, 0.46);
  border-radius: 8px;
  padding: 9px 11px;
  background: #ecfdfb;
  color: #0e1a1d;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.35;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
  pointer-events: none;
}

.sales-agent-id span,
.sales-row-metrics span,
.sales-agent-metrics span,
.sales-block-head span {
  color: var(--muted);
  font-size: 0.82rem;
}

.sales-agent-id span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-row-metrics {
  grid-column: 3;
  display: grid;
  grid-template-columns: repeat(6, minmax(88px, 1fr));
  gap: 6px;
}

.sales-row-metrics div {
  min-width: 0;
  min-height: 74px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(124, 235, 216, 0.12);
  border-radius: 8px;
  padding: 7px;
  background: rgba(255, 255, 255, 0.03);
}

.sales-row-metrics span {
  min-height: 32px;
}

.sales-row-metrics strong {
  display: block;
  margin-top: 0;
  overflow: hidden;
  color: #ffffff;
  font-size: 1.2rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-stage-amount {
  display: block;
  margin-top: 3px;
  overflow: hidden;
  color: #f6c431;
  font-size: 0.94rem;
  font-weight: 900;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sales-stage-totals {
  display: grid;
  gap: 10px;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 8px;
  padding: 14px;
  background: linear-gradient(135deg, rgba(10, 31, 34, 0.95), rgba(8, 14, 16, 0.98));
}

.sales-stage-totals-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sales-stage-totals-head strong {
  color: #ffffff;
  font-size: 0.98rem;
}

.sales-stage-totals-head span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 800;
}

.sales-stage-totals .sales-row-metrics {
  grid-column: auto;
}

.sales-stage-totals .sales-row-metrics div {
  border-color: rgba(0, 174, 239, 0.44);
  background: linear-gradient(160deg, rgba(0, 174, 239, 0.22), rgba(10, 18, 20, 0.96));
}

.sales-stage-totals .sales-stage-amount {
  color: #7cebd8;
}

.sales-score {
  grid-column: 4;
  min-width: 104px;
  border-radius: 8px;
  padding: 9px 10px;
  text-align: right;
  background: rgba(255, 92, 99, 0.14);
  color: #ffd5d8;
}

.sales-score.green {
  background: rgba(79, 210, 122, 0.14);
  color: #baf8ce;
}

.sales-score.yellow {
  background: rgba(217, 141, 0, 0.16);
  color: #ffd891;
}

.sales-score strong,
.sales-score span {
  display: block;
  color: inherit;
}

.sales-score span {
  margin-top: 2px;
  font-size: 1.4rem;
  font-weight: 900;
}

.dynamic-stage-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.nissan-agent-row .sales-agent-summary {
  grid-template-columns: 24px minmax(190px, 0.72fr) minmax(0, 3.4fr) minmax(104px, auto);
  align-items: center;
}

.nissan-agent-row .sales-row-metrics {
  grid-column: 3;
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
  width: 100%;
}

.nissan-agent-row .sales-row-metrics div {
  min-height: 76px;
}

.nissan-agent-row .sales-row-metrics span {
  min-height: 0;
  overflow-wrap: anywhere;
  white-space: normal;
}

.nissan-agent-row .sales-score {
  grid-column: 4;
}

.nissan-stage-totals .sales-row-metrics {
  grid-template-columns: repeat(auto-fit, minmax(148px, 1fr));
}

.sales-agent-details {
  border-top: 1px solid var(--line);
  padding: 14px;
}

.sales-agent-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 14px;
}

.sales-agent-metrics div {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px;
  background: rgba(255, 255, 255, 0.035);
}

.sales-agent-metrics strong {
  display: block;
  margin-top: 5px;
  color: #ffffff;
  font-size: 1.36rem;
}

.sales-value-detail,
.sales-result-detail {
  margin-top: 5px;
}

.sales-value-detail summary,
.sales-result-detail summary {
  display: inline-flex;
  align-items: center;
  border-bottom: 1px dotted rgba(124, 235, 216, 0.72);
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 900;
  cursor: pointer;
  list-style: none;
}

.sales-result-detail summary {
  justify-content: flex-end;
  font-size: 0.82rem;
}

.sales-value-detail summary::-webkit-details-marker,
.sales-result-detail summary::-webkit-details-marker {
  display: none;
}

.sales-record-list {
  display: grid;
  gap: 7px;
  margin: 10px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.sales-record-list li {
  border: 1px solid rgba(124, 235, 216, 0.12);
  border-radius: 8px;
  padding: 8px 9px;
  background: rgba(255, 255, 255, 0.035);
}

.sales-record-list a,
.sales-record-list strong {
  display: block;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
}

.sales-record-list a:hover {
  color: var(--accent);
}

.sales-record-list span,
.sales-record-list small {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.76rem;
  line-height: 1.25;
}

.sales-popup-overlay {
  position: fixed;
  inset: 0;
  z-index: 70;
  display: grid;
  place-items: center;
  padding: 22px;
  background: rgba(0, 0, 0, 0.62);
}

.sales-popup {
  position: relative;
  width: min(1120px, calc(100vw - 44px));
  max-height: calc(100vh - 44px);
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, 0.26);
  border-radius: 10px;
  background: #0b1215;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.58);
}

.sales-popup header {
  padding: 20px 22px 14px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.16);
  background: linear-gradient(135deg, rgba(8, 28, 31, 0.98), rgba(6, 11, 13, 0.98));
}

.sales-popup h3 {
  margin: 3px 0 4px;
  color: #ffffff;
  font-size: 1.35rem;
}

.sales-popup header span {
  color: var(--muted);
  font-weight: 800;
}

.sales-popup-close {
  position: absolute;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.05);
  color: #ffffff;
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}

.sales-popup-body {
  max-height: calc(100vh - 160px);
  overflow: auto;
  padding: 18px 22px 22px;
}

.nano-calendar-note {
  margin-bottom: 12px;
  border: 1px solid rgba(246, 196, 49, 0.28);
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(246, 196, 49, 0.09);
  color: #f8e6a4;
  font-size: 0.85rem;
  font-weight: 800;
}

.nano-calendar {
  display: grid;
  grid-template-columns: 62px repeat(7, minmax(110px, 1fr));
  min-width: 900px;
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-radius: 8px;
}

.nano-calendar-head,
.nano-calendar-day,
.nano-calendar-hour,
.nano-calendar-cell {
  min-height: 44px;
  border-right: 1px solid rgba(255, 255, 255, 0.07);
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}

.nano-calendar-day {
  display: grid;
  place-items: center;
  background: #122024;
  color: #7cebd8;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.nano-calendar-hour {
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
}

.nano-calendar-cell {
  padding: 5px;
  background: rgba(255, 255, 255, 0.018);
}

.nano-calendar-cell span {
  display: block;
  border-radius: 7px;
  padding: 7px;
  color: #061013;
  font-size: 0.72rem;
  font-weight: 950;
  line-height: 1.2;
}

.nano-calendar-cell .blue {
  background: #80d8ff;
}

.nano-calendar-cell .green {
  background: #62e58b;
}

.nano-calendar-cell .amber {
  background: #f6c431;
}

.nano-calendar-cell .purple {
  background: #c7a2ff;
}

.nano-calendar-cell .teal {
  background: #7cebd8;
}

.sales-task-list {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sales-task-list li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px solid rgba(124, 235, 216, 0.15);
  border-radius: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.035);
}

.sales-task-list a,
.sales-task-list strong {
  color: #ffffff;
  font-weight: 950;
}

.sales-task-list span {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.8rem;
}

.sales-task-list small {
  flex: 0 0 auto;
  color: #f6c431;
  font-weight: 900;
}

.sales-block {
  border-top: 1px solid var(--line);
  padding-top: 14px;
  margin-top: 14px;
}

.sales-block-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 8px;
}

.sales-block-head strong {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-bottom: 3px;
  color: #ffffff;
}

.sales-block-title {
  position: relative;
}

.sales-info-dot {
  position: relative;
  display: inline-flex;
  width: 17px;
  height: 17px;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(124, 235, 216, 0.42);
  border-radius: 999px;
  color: var(--accent);
  cursor: help;
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
}

.filter-info-dot {
  vertical-align: middle;
}

.sales-info-dot::after {
  content: none;
}

.sales-info-dot:hover::after,
.sales-info-dot:focus-visible::after {
  content: none;
}

.sales-block-head b {
  color: var(--accent);
  white-space: nowrap;
}

.sales-block-score.green,
.sales-line-score.green {
  color: #22c55e;
}

.sales-block-score.yellow,
.sales-line-score.yellow {
  color: #facc15;
}

.sales-block-score.red,
.sales-line-score.red {
  color: #ef232a;
}

.sales-line-score.neutral {
  color: var(--muted);
}

.sales-line-score {
  font-weight: 900;
}

.sales-block-score small {
  display: inline-block;
  margin-left: 6px;
  font-size: 0.74rem;
  opacity: 0.82;
}

.sales-kpi-table th,
.sales-kpi-table td {
  padding: 8px 8px;
  font-size: 0.82rem;
}

.sales-kpi-table th:nth-child(2),
.sales-kpi-table td:nth-child(2),
.sales-kpi-table th:nth-child(3),
.sales-kpi-table td:nth-child(3),
.sales-kpi-table th:nth-child(4),
.sales-kpi-table td:nth-child(4),
.sales-kpi-table th:nth-child(5),
.sales-kpi-table td:nth-child(5),
.sales-kpi-table th:nth-child(6),
.sales-kpi-table td:nth-child(6) {
  text-align: center;
}

.sales-result-cell {
  text-align: center;
}

.sales-result-cell > span,
.sales-result-detail summary {
  justify-content: center;
}

.sales-conversion-block {
  border-top-color: rgba(124, 235, 216, 0.3);
}

.sales-conversion-intro {
  display: flex;
  gap: 10px;
  align-items: baseline;
  margin: 10px 0 12px;
  border-left: 4px solid #f6c431;
  border-radius: 8px;
  background: rgba(246, 196, 49, 0.08);
  padding: 10px 12px;
}

.sales-conversion-intro strong { color: #ffe56d; white-space: nowrap; }
.sales-conversion-intro span { color: #c7d7d4; line-height: 1.4; }
.sales-conversion-rules { display: grid; gap: 9px; }

.sales-conversion-rule {
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, 0.2);
  border-radius: 10px;
  background: #071718;
}

.sales-conversion-rule > summary {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(520px, 1.3fr);
  align-items: center;
  gap: 16px;
  cursor: pointer;
  list-style: none;
  padding: 12px 14px;
}

.sales-conversion-rule > summary::-webkit-details-marker { display: none; }
.sales-conversion-rule > summary::before { content: '+'; color: #7cebd8; font-size: 20px; font-weight: 900; }
.sales-conversion-rule[open] > summary::before { content: '−'; }
.sales-conversion-rule > summary { grid-template-columns: 20px minmax(280px, 1fr) minmax(520px, 1.3fr); }
.sales-conversion-rule > summary > div:first-of-type strong { display: block; color: #fff; font-size: 0.9rem; }
.sales-conversion-rule > summary > div:first-of-type span { display: block; margin-top: 3px; color: #91aaa6; font-size: 0.76rem; line-height: 1.35; }

.sales-conversion-rule-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(95px, 1fr));
  gap: 7px;
}

.sales-conversion-rule-metrics span {
  border: 1px solid rgba(124, 235, 216, 0.15);
  border-radius: 7px;
  background: #102426;
  padding: 7px 8px;
  color: #9fb5b2;
  font-size: 0.7rem;
  text-align: center;
}

.sales-conversion-rule-metrics b { display: block; color: #fff; font-size: 0.88rem; }
.sales-conversion-rule-body { border-top: 1px solid rgba(124, 235, 216, 0.16); padding: 12px 14px 15px; }
.sales-conversion-formula { display: grid; grid-template-columns: repeat(4, minmax(130px, 1fr)); gap: 8px; }
.sales-conversion-formula div { border-radius: 8px; background: #102426; padding: 9px 10px; }
.sales-conversion-formula span { display: block; color: #91aaa6; font-size: 0.69rem; text-transform: uppercase; }
.sales-conversion-formula strong { display: block; margin-top: 3px; color: #fff; }
.sales-conversion-explanation { margin: 10px 0; color: #b8cbc8; font-size: 0.78rem; }
.sales-conversion-table-wrap { overflow: auto; border: 1px solid rgba(124, 235, 216, 0.14); border-radius: 8px; }
.sales-conversion-table { width: 100%; min-width: 1040px; border-collapse: collapse; }
.sales-conversion-table th, .sales-conversion-table td { padding: 8px; border-bottom: 1px solid rgba(124, 235, 216, 0.12); font-size: 0.73rem; text-align: left; vertical-align: top; }
.sales-conversion-table th { background: #101827; color: #f6c431; font-size: 0.66rem; text-transform: uppercase; }
.sales-conversion-table a { color: #7cebd8; font-weight: 850; }
.sales-conversion-table tr.is-reversed td { background: rgba(127, 29, 29, 0.1); color: #c9aaa7; }
.sales-conversion-table td small { display: block; margin-top: 4px; color: #e6a7a1; }
.conversion-movement-status { display: inline-flex; border-radius: 999px; padding: 3px 7px; font-size: 0.65rem; font-weight: 900; text-transform: uppercase; }
.conversion-movement-status.credited { background: rgba(34, 197, 94, 0.14); color: #4ade80; }
.conversion-movement-status.reversed { background: rgba(239, 35, 42, 0.14); color: #ff777c; }

@media (max-width: 1180px) {
  .sales-conversion-rule > summary { grid-template-columns: 20px 1fr; }
  .sales-conversion-rule-metrics { grid-column: 2; }
}

@media (max-width: 760px) {
  .sales-conversion-intro { display: grid; }
  .sales-conversion-rule-metrics, .sales-conversion-formula { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.sales-real,
.sales-separator,
.sales-target {
  display: inline-block;
  color: #ffffff;
  font-weight: 900;
}

.sales-separator {
  padding: 0 3px;
  color: var(--muted);
}

.sales-result-cell small {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
  text-transform: uppercase;
}

table {
  width: 100%;
  border-collapse: collapse;
}

th,
td {
  border-bottom: 1px solid var(--line);
  padding: 13px 10px;
  text-align: left;
  vertical-align: top;
}

th {
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
}

td {
  color: #d9e6e4;
  line-height: 1.35;
}

.master-report-panel {
  overflow: hidden;
}

.master-report-shell {
  color: #0f172a;
}

.empty-report {
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 8px;
  padding: 22px;
  background: rgba(255, 255, 255, 0.04);
  color: #d6e7e5;
  font-weight: 800;
}

.report-document {
  max-width: 980px;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(226, 232, 240, 0.22);
  border-radius: 8px;
  background: #f8fafc;
  box-shadow: var(--shadow);
}

.report-hero {
  padding: 28px 30px;
  background: #0f172a;
  color: #ffffff;
}

.report-tag {
  display: inline-block;
  margin-bottom: 12px;
  border-radius: 999px;
  padding: 4px 9px;
  background: #dbeafe;
  color: #1e40af;
  font-size: 12px;
  font-weight: 800;
}

.report-hero h3 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 28px;
  line-height: 1.1;
}

.report-hero p {
  margin: 0;
  color: #cbd5e1;
}

.report-content {
  padding: 22px 30px;
}

.report-kpis {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.report-kpi,
.report-card {
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.report-kpi {
  min-width: 0;
  padding: 14px;
}

.report-kpi span {
  display: block;
  color: #64748b;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.report-kpi strong {
  display: block;
  margin: 8px 0 4px;
  color: #0f172a;
  font-size: 22px;
  line-height: 1.05;
}

.report-kpi small {
  color: #475569;
  font-size: 12px;
  line-height: 1.35;
}

.chart-card {
  margin: 16px 0;
  padding: 18px;
}

.chart-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.chart-head h4 {
  margin: 0 0 4px;
  color: #0f172a;
  font-size: 18px;
}

.chart-head p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.legend {
  color: #475569;
  font-size: 12px;
  white-space: nowrap;
}

.legend.stacked {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px 0;
  max-width: 360px;
  white-space: normal;
}

.legend span {
  margin-left: 12px;
}

.legend i {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin-right: 5px;
  border-radius: 2px;
  vertical-align: -1px;
}

.report-table-title {
  margin: 18px 0 10px;
  color: #0f172a;
  font-size: 18px;
}

.report-table-wrap {
  overflow-x: auto;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #ffffff;
}

.report-table th,
.report-table td {
  border-bottom: 1px solid #e2e8f0;
  padding: 10px 11px;
  color: #0f172a;
  font-size: 13px;
}

.report-table th {
  background: #eaf0f7;
  color: #334155;
  font-size: 11px;
  text-transform: uppercase;
}

.report-table tr:last-child td {
  border-bottom: 0;
}

.num {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.report-foot {
  padding: 16px 30px 24px;
  color: #64748b;
  font-size: 12px;
  line-height: 1.45;
}

.master-goals-card {
  margin: 16px 0;
  overflow: hidden;
}

.master-goals-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  background: linear-gradient(135deg, #f8fafc, #eefaf7);
  color: #0f172a;
  cursor: pointer;
  list-style: none;
}

.master-goals-summary::-webkit-details-marker { display: none; }
.master-goals-summary::after { content: '+'; flex: 0 0 auto; color: #0f766e; font-size: 24px; font-weight: 900; }
.master-goals-card[open] > .master-goals-summary::after { content: '−'; }
.master-goals-summary > div:first-child { display: grid; gap: 2px; }
.master-goals-summary > div:first-child > span { color: #0f9f8f; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.master-goals-summary > div:first-child > strong { font-size: 17px; }
.master-goals-summary > div:first-child > small { color: #64748b; font-size: 11px; }
.master-goals-summary-totals { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.master-goals-summary-totals span { display: grid; gap: 2px; min-width: 112px; border-radius: 7px; padding: 7px 10px; background: #fff; color: #64748b; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.master-goals-summary-totals b { color: #047857; font-size: 13px; }
.master-goals-content { border-top: 1px solid #e2e8f0; }

.master-goals-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 18px;
  border-bottom: 1px solid #e2e8f0;
  background: linear-gradient(135deg, #f8fafc, #eefaf7);
}

.master-goals-head .report-tag { margin-bottom: 8px; }
.master-goals-head h4 { margin: 0 0 5px; color: #0f172a; font-size: 20px; }
.master-goals-head p { max-width: 560px; margin: 0; color: #64748b; font-size: 12px; line-height: 1.45; }

.master-goals-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: flex-end;
  gap: 8px;
}

.master-goals-controls label {
  display: grid;
  gap: 4px;
  color: #475569;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.master-goals-controls input,
.master-goals-controls select,
.master-goals-controls button,
.master-goals-actions button {
  min-height: 36px;
  border: 1px solid #cbd5e1;
  border-radius: 6px;
  background: #fff;
  color: #0f172a;
  padding: 7px 10px;
  font: inherit;
  font-weight: 800;
}

.master-goals-controls button,
.master-goals-actions button { cursor: pointer; }
.master-goals-controls button:hover,
.master-goals-actions button:hover { border-color: #0f9f8f; color: #08776c; }
.master-goals-actions button.primary-action { border-color: #e4b900; background: #f6c431; color: #111827; }
.master-goals-actions button:disabled { cursor: not-allowed; opacity: .55; }

.master-goals-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 18px;
  border-bottom: 1px solid #e2e8f0;
  background: #fff;
}

.master-goals-actions > span { color: #64748b; font-size: 11px; font-weight: 700; }
.master-goals-actions > div { display: flex; gap: 8px; }

.master-goals-export-actions { display: flex; align-items: end; gap: 8px; padding: 11px 18px; border-bottom: 1px solid #d5e7e3; background: #f1fbf8; }
.master-goals-export-actions > div { display: grid; gap: 2px; margin-right: auto; }
.master-goals-export-actions > div strong { color: #08776c; font-size: 12px; }
.master-goals-export-actions > div small { color: #64748b; font-size: 9px; }
.master-goals-export-actions label { display: grid; gap: 4px; min-width: 230px; color: #475569; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.master-goals-export-actions input,
.master-goals-export-actions button { min-height: 36px; border: 1px solid #8ccfc4; border-radius: 6px; background: #fff; color: #08776c; padding: 7px 10px; font: inherit; font-weight: 800; }
.master-goals-export-actions button { cursor: pointer; }
.master-goals-export-actions button:hover { border-color: #08776c; background: #e4f7f2; }
.master-goals-export-actions button:disabled { cursor: wait; opacity: .6; }

.master-goals-company { padding: 16px 18px 4px; }
.master-goals-company + .master-goals-company { padding-top: 20px; border-top: 1px solid #e2e8f0; }
.master-goals-company > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.master-goals-company > header span { display: block; color: #0f9f8f; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.master-goals-company > header h5 { margin: 2px 0 0; color: #0f172a; font-size: 16px; }
.master-goals-company > header > strong { border-radius: 999px; padding: 7px 12px; background: #ecfdf5; color: #047857; font-size: 14px; }

.master-goals-table-wrap { max-height: 410px; overflow: auto; border: 1px solid #e2e8f0; border-radius: 7px; }
.master-goals-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.master-goals-table th,
.master-goals-table td { border-right: 1px solid #e2e8f0; border-bottom: 1px solid #e2e8f0; padding: 8px 9px; color: #0f172a; font-size: 11px; }
.master-goals-table th { position: sticky; top: 0; z-index: 2; background: #eaf0f7; color: #334155; font-size: 9px; text-align: right; text-transform: uppercase; }
.master-goals-table th:first-child { width: 34%; text-align: left; }
.master-goals-table th:last-child { width: 18%; }
.master-goals-table td:first-child strong,
.master-goals-table td:first-child small { display: block; }
.master-goals-table td:first-child small { margin-top: 2px; color: #64748b; font-size: 9px; }
.master-goals-table tr.master-goals-group th {
  position: static;
  width: auto;
  padding: 9px 11px;
  border-right: 0;
  background: #d9eee9;
  color: #075e55;
  text-align: left;
}
.master-goals-group th span { font-size: 11px; font-weight: 900; letter-spacing: .02em; }
.master-goals-group th small { float: right; color: #52746e; font-size: 9px; font-weight: 800; text-transform: none; }
.master-goals-group-nissanMexicana th { background: #fff0ad !important; color: #6d5700 !important; }
.master-goals-group-empty td { padding: 9px 11px; background: #f8fafc; color: #64748b; font-size: 10px; font-style: italic; }
.master-client-link { display: inline-flex; align-items: baseline; gap: 5px; color: #08776c; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.master-client-link:hover { color: #064e46; }
.master-client-link span { font-size: 10px; text-decoration: none; }
.master-goals-table tr.is-nissan td { background: #fff9df; }
.master-goals-table tr.is-historical td { background: #f8fafc; }
.master-opportunities { margin-top: 18px; padding: 14px; border: 1px solid #99f6e4; border-radius: 9px; background: #f0fdfa; }
.master-opportunities > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 9px; }
.master-opportunities > header span { color: #0f9f8f; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.master-opportunities > header h6 { margin: 2px 0 0; color: #0f172a; font-size: 15px; }
.master-opportunities > header > strong { color: #047857; font-size: 14px; }
.master-opportunities > p { margin: 8px 2px 0; color: #64748b; font-size: 10px; }
.master-opportunities-table-wrap { max-height: 330px; background: #fff; }
.master-opportunities-table th:first-child { width: 29%; }
.master-opportunities-table th:nth-child(2) { width: 23%; text-align: left; }
.master-opportunities-table th:nth-child(3) { width: 20%; text-align: left; }
.master-opportunities-table th:nth-child(4) { width: 13%; text-align: left; }
.master-opportunities-table th:last-child { width: 15%; }
.master-opportunities-table td:nth-child(2),
.master-opportunities-table td:nth-child(3),
.master-opportunities-table td:nth-child(4) { text-align: left; }
.master-opportunities-table a { color: #08776c; text-decoration: underline; text-underline-offset: 2px; }
.master-opportunity-synced { color: #047857; font-weight: 900; }
.master-goal-input-cell input,
.master-opportunities-table input { width: 100%; min-width: 110px; border: 1px solid #d6b300; border-radius: 5px; background: #fff9d9; color: #111827; padding: 7px 8px; text-align: right; font-weight: 900; }
.master-goal-input-cell input:focus,
.master-opportunities-table input:focus { outline: 2px solid rgba(15,159,143,.25); border-color: #0f9f8f; }
.master-goals-empty { padding: 18px !important; color: #64748b !important; text-align: center; }
.sales-goal-chart .legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 0; }

@media (max-width: 900px) {
  .master-goals-summary { align-items: flex-start; flex-wrap: wrap; }
  .master-goals-summary-totals { width: 100%; margin-left: 0; }
  .master-goals-summary-totals span { flex: 1; min-width: 0; }
  .master-goals-head,
  .master-goals-actions { align-items: stretch; flex-direction: column; }
  .master-goals-controls { justify-content: flex-start; }
  .master-goals-actions > div { flex-wrap: wrap; }
  .master-goals-export-actions { align-items: stretch; flex-wrap: wrap; }
  .master-goals-export-actions > div { flex: 1 0 100%; }
  .master-goals-export-actions label { flex: 1 1 230px; }
  .master-goals-table { min-width: 720px; }
  .sales-goal-chart .chart-head { flex-direction: column; }
  .sales-goal-chart .legend { justify-content: flex-start; }
}

.master-kpi-table th,
.master-kpi-table td {
  white-space: nowrap;
}

.master-kpi-table th:first-child,
.master-kpi-table td:first-child {
  width: 32%;
  white-space: normal;
}

.score-pill {
  display: inline-flex;
  min-width: 34px;
  justify-content: center;
  border-radius: 999px;
  padding: 4px 9px;
  background: rgba(147, 167, 166, 0.18);
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 900;
}

.score-a {
  background: rgba(79, 210, 122, 0.28);
  color: #baf8ce;
}

.score-b {
  background: rgba(71, 181, 255, 0.24);
  color: #b9e6ff;
}

.score-c {
  background: rgba(217, 141, 0, 0.24);
  color: #ffd891;
}

.score-d {
  background: rgba(255, 92, 99, 0.24);
  color: #ffccd0;
}

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 9px;
  color: #ffffff;
  font-size: 0.78rem;
  font-weight: 800;
}

.badge.green {
  background: var(--green);
}

.badge.yellow {
  background: var(--yellow);
}

.badge.red {
  background: var(--red);
}

.segment-list div {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  column-gap: 10px;
}

.segment-list small {
  grid-column: 2;
  color: var(--muted);
}

.segment-dot {
  width: 11px;
  height: 11px;
  margin-top: 4px;
  border-radius: 999px;
}

.segment-dot.blue {
  background: var(--blue);
}

.segment-dot.teal {
  background: var(--teal);
}

.segment-dot.amber {
  background: var(--accent);
}

.segment-dot.rose {
  background: var(--rose);
}

.funnel {
  display: grid;
  gap: 10px;
  padding-top: 2px;
}

.funnel div {
  display: flex;
  justify-content: space-between;
  width: var(--w);
  min-width: 42%;
  border-radius: 8px;
  padding: 12px 14px;
  background: linear-gradient(90deg, rgba(0, 168, 143, 0.95), rgba(124, 235, 216, 0.7));
  color: #ffffff;
  font-weight: 700;
}

.timeline {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.timeline span {
  display: inline-flex;
  margin-bottom: 10px;
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(0, 168, 143, 0.16);
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 800;
}

.hero-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 20px;
  min-height: 260px;
  margin-bottom: 22px;
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 8px;
  background:
    radial-gradient(circle at 82% 24%, rgba(0, 168, 143, 0.22), transparent 24rem),
    linear-gradient(90deg, rgba(3, 14, 16, 0.96), rgba(8, 21, 24, 0.9));
  box-shadow: var(--shadow);
}

.hero-copy {
  align-self: end;
  padding: 34px;
}

.hero-copy h3 {
  max-width: 780px;
  margin: 0 0 14px;
  color: #ffffff;
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: 0.98;
}

.hero-copy p:last-child {
  max-width: 620px;
  margin: 0;
  color: #d6e7e5;
  line-height: 1.5;
}

.hero-metrics {
  display: grid;
  align-content: end;
  gap: 12px;
  padding: 28px;
}

.hero-metrics div {
  border: 1px solid rgba(124, 235, 216, 0.24);
  border-radius: 8px;
  padding: 16px;
  background: rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(8px);
}

.hero-metrics span {
  display: block;
  margin-bottom: 8px;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 800;
  text-transform: uppercase;
}

.hero-metrics strong {
  color: #ffffff;
  font-size: 1.8rem;
}

@media (max-width: 1120px) {
  .sales-agent-summary {
    grid-template-columns: 24px minmax(180px, 1fr) auto;
  }

  .sales-row-metrics {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .sales-score {
    grid-column: 3;
  }
}

@media (max-width: 760px) {
  .sales-agent-summary {
    grid-template-columns: 24px minmax(0, 1fr);
  }

  .sales-score {
    grid-column: 1 / -1;
    width: 100%;
    text-align: left;
  }

  .sales-row-metrics,
  .sales-agent-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.portal-user-role-row {
  display: grid;
  grid-template-columns: minmax(190px, 1fr) minmax(150px, 190px) minmax(190px, 240px) auto;
  align-items: end;
  gap: 10px;
}

#configuracion .config-grid {
  align-items: start;
}

#configuracion .config-column {
  display: grid;
  align-content: start;
  gap: 16px;
  min-width: 0;
}

#configuracion .config-column .config-card {
  margin: 0;
}

@media (max-width: 980px) {
  #configuracion .config-grid {
    grid-template-columns: 1fr;
  }
}

.egg-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 150px;
  min-height: 42px;
  border: 1px solid #e1b400;
  border-radius: 8px;
  background: #ffd84d;
  color: #171400;
  cursor: pointer;
  font-weight: 950;
  box-shadow: 0 0 20px rgba(255, 216, 77, 0.18);
  transition: transform 0.16s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.egg-action:hover:not(:disabled) {
  transform: translateY(-1px);
  background: #ffe47a;
  box-shadow: 0 0 24px rgba(255, 216, 77, 0.3);
}

.egg-action.is-saving {
  background: #f6c431;
  cursor: wait;
  animation: egg-save-pulse 0.9s ease-in-out infinite alternate;
}

.egg-action.is-saved {
  border-color: #35e58a;
  background: #35e58a;
  color: #052016;
  animation: egg-save-pop 0.28s ease-out;
}

.egg-action.is-error {
  border-color: #ff6b6b;
  background: #ff6b6b;
  color: #260606;
}

.save-spinner {
  width: 15px;
  height: 15px;
  border: 2px solid rgba(23, 20, 0, 0.28);
  border-top-color: #171400;
  border-radius: 50%;
  animation: egg-save-spin 0.7s linear infinite;
}

@keyframes egg-save-spin { to { transform: rotate(360deg); } }
@keyframes egg-save-pulse { from { box-shadow: 0 0 8px rgba(255, 216, 77, 0.2); } to { box-shadow: 0 0 28px rgba(255, 216, 77, 0.58); } }
@keyframes egg-save-pop { 0% { transform: scale(0.96); } 70% { transform: scale(1.04); } 100% { transform: scale(1); } }

.portal-role-selector {
  display: grid;
  gap: 5px;
  color: #a9c7c3;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.portal-role-selector select,
#portalRole,
#portalImplementationTeam {
  min-height: 38px;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 6px;
  background: #071b1c;
  color: #ecfffb;
  padding: 7px 9px;
  font-weight: 800;
}

@media (max-width: 900px) {
  .portal-user-role-row {
    grid-template-columns: 1fr;
  }
}

.collections-report-stack {
  display: grid;
  gap: 22px;
}

#cobranza {
  padding-bottom: 42px;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.collections-report-panel {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-left: 5px solid #f6c431;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 31, 35, 0.96), rgba(8, 14, 16, 0.96));
  box-shadow: var(--shadow);
  overflow: visible;
}

.collections-report-header {
  position: relative;
  z-index: 30;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px 16px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.12);
  background:
    linear-gradient(90deg, rgba(4, 31, 34, 0.78), rgba(12, 26, 29, 0.64)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0));
}

.collections-report-header h4 {
  margin: 4px 0 0;
  color: #ffffff;
  font-size: 1.15rem;
}

.report-title-line {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}

.report-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 30px;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 8px;
  padding: 0 11px;
  background: rgba(0, 168, 143, 0.12);
  color: #7cebd8;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.report-toggle::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 6px;
  color: #f6c431;
}

.report-toggle[aria-expanded="true"]::before {
  content: "-";
}

.collections-report-header .eyebrow {
  color: #f6c431;
  letter-spacing: 0;
}

.collections-report-header .refresh-actions label {
  color: #f6c431;
}

.collections-report-header .refresh-actions input,
.collections-report-header .refresh-actions select {
  border-color: rgba(124, 235, 216, 0.2);
  background: rgba(5, 12, 14, 0.86);
  color: #ffffff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.collections-report-header .refresh-actions select {
  min-height: 36px;
  min-width: 180px;
  border-radius: 7px;
  border: 1px solid rgba(124, 235, 216, 0.36);
  padding: 8px 10px;
  font-weight: 800;
}

.criteria-status {
  margin: 18px 0 20px;
  border: 1px solid rgba(64, 216, 122, 0.38);
  border-radius: 8px;
  padding: 14px 16px;
  background: rgba(10, 52, 32, 0.48);
  color: #dff7ea;
  font-weight: 800;
}

.criteria-grid {
  display: grid;
  gap: 16px;
}

.criteria-panel {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-left: 5px solid #f6c431;
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(20, 31, 35, 0.96), rgba(8, 14, 16, 0.96));
  box-shadow: var(--shadow);
  overflow: hidden;
}

.criteria-summary-panel {
  padding: 20px 22px;
}

.criteria-summary-panel h4 {
  margin: 4px 0 16px;
  color: #ffffff;
  font-size: 1.2rem;
}

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

.criteria-metrics div {
  min-height: 94px;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 8px;
  padding: 14px;
  background: rgba(7, 14, 16, 0.82);
}

.criteria-metrics strong {
  display: block;
  color: #ffffff;
  font-size: 1.85rem;
  line-height: 1;
}

.criteria-metrics span {
  display: block;
  margin-top: 8px;
  color: rgba(239, 247, 244, 0.78);
  font-size: 0.84rem;
  font-weight: 800;
}

.criteria-module summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 58px;
  padding: 18px 22px;
  color: #ffffff;
  cursor: pointer;
  font-size: 1.06rem;
  font-weight: 900;
  list-style: none;
}

.criteria-module summary::-webkit-details-marker {
  display: none;
}

.criteria-module summary::after {
  content: "+";
  display: inline-grid;
  width: 24px;
  height: 24px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 7px;
  color: #f6c431;
  background: rgba(0, 168, 143, 0.12);
}

.criteria-module[open] summary {
  border-bottom: 1px solid rgba(124, 235, 216, 0.12);
  background:
    linear-gradient(90deg, rgba(4, 31, 34, 0.78), rgba(12, 26, 29, 0.64)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), rgba(255, 255, 255, 0));
}

.criteria-module[open] summary::after {
  content: "-";
}

.criteria-module ul {
  margin: 0;
  padding: 18px 24px 22px 42px;
  color: rgba(239, 247, 244, 0.82);
  line-height: 1.62;
}

.criteria-module li + li {
  margin-top: 7px;
}

.criteria-module code {
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 6px;
  padding: 2px 6px;
  background: rgba(7, 14, 16, 0.72);
  color: #7cebd8;
}

.criteria-subgrid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 22px 22px;
}

.criteria-subgrid > div {
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-radius: 8px;
  background: rgba(7, 14, 16, 0.56);
}

.criteria-subgrid h5 {
  margin: 0;
  padding: 14px 16px 0;
  color: #f6c431;
  font-size: 0.88rem;
  text-transform: uppercase;
}

.criteria-subgrid ul {
  padding-top: 10px;
}

.bulletins-layout {
  display: grid;
  grid-template-columns: minmax(560px, 1fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.bulletin-form-card,
.bulletin-list-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 20px;
  background: linear-gradient(180deg, rgba(20, 31, 35, 0.94), rgba(9, 15, 17, 0.94));
  box-shadow: var(--shadow);
}

.bulletin-form-grid {
  display: grid;
  gap: 14px;
}

.bulletin-user-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  max-height: 250px;
  overflow: auto;
  margin-top: 8px;
  border: 1px solid rgba(124, 235, 216, 0.24);
  border-radius: 10px;
  padding: 10px;
  background: rgba(3, 31, 34, 0.54);
}

.bulletin-user-option {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  min-height: 50px;
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-radius: 8px;
  padding: 9px;
  background: rgba(255, 255, 255, 0.045);
  color: #eff7f4;
  text-transform: none;
}

.bulletin-user-option input {
  min-width: 0;
  width: 14px;
  height: 14px;
  margin: 3px 0 0;
  padding: 0;
  accent-color: #f6c431;
}

.bulletin-user-option strong,
.bulletin-user-option small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.bulletin-user-option strong {
  color: #ffffff;
  font-size: 0.8rem;
}

.bulletin-user-option small {
  margin-top: 3px;
  color: rgba(124, 235, 216, 0.76);
  font-size: 0.72rem;
}

.bulletin-editor-shell {
  display: grid;
  overflow: hidden;
  margin-top: 8px;
  border: 1px solid rgba(124, 235, 216, 0.24);
  border-radius: 10px;
  background: rgba(3, 31, 34, 0.64);
}

.bulletin-editor-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.18);
  background: rgba(7, 20, 22, 0.92);
}

.bulletin-editor-toolbar button,
.bulletin-editor-toolbar select,
.attachment-button {
  min-height: 34px;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 8px;
  padding: 7px 10px;
  background: rgba(255, 255, 255, 0.06);
  color: #eff7f4;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 850;
}

.bulletin-editor-toolbar select {
  min-width: 118px;
}

.bulletin-editor-toolbar button:hover,
.attachment-button:hover {
  border-color: rgba(246, 196, 49, 0.8);
  background: rgba(246, 196, 49, 0.12);
}

.attachment-button {
  position: relative;
  display: inline-grid;
  place-items: center;
  color: #071416;
  background: linear-gradient(135deg, #ffe16a, #f0b800);
  border-color: rgba(246, 196, 49, 0.86);
}

.attachment-button input {
  position: absolute;
  inset: 0;
  opacity: 0;
  cursor: pointer;
}

.bulletin-rich-editor {
  display: block;
  width: 100%;
  min-height: 340px;
  max-height: 620px;
  overflow: auto;
  padding: 18px;
  background: #f8fbfa;
  color: #17212b;
  font-family: Arial, sans-serif;
  font-size: 1rem;
  line-height: 1.55;
  outline: none;
}

.bulletin-rich-editor:empty::before {
  content: attr(data-placeholder);
  color: #748684;
}

.bulletin-attachment-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  min-height: 0;
  padding: 0 10px 10px;
  background: rgba(3, 31, 34, 0.64);
}

.bulletin-attachment-list span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(124, 235, 216, 0.24);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(124, 235, 216, 0.1);
  color: #eff7f4;
  font-size: 0.78rem;
  font-weight: 800;
}

.bulletin-attachment-list small {
  color: var(--muted);
}

.bulletin-form-grid .wide-field,
.bulletin-form-grid select,
.bulletin-form-grid input {
  width: 100%;
}

.bulletin-search-field {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.bulletin-search-field input {
  width: 100%;
}

.bulletins-list {
  display: grid;
  gap: 12px;
}

.bulletin-row {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.035);
  overflow: hidden;
}

.bulletin-row-head,
.bulletin-row-actions {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.bulletin-row-actions {
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

.bulletin-row-head strong {
  display: block;
  color: #ffffff;
  font-size: 1rem;
}

.bulletin-row-head span,
.bulletin-meta {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
}

.bulletin-letter {
  position: relative;
  margin-top: 12px;
  border: 1px solid rgba(0, 168, 143, 0.28);
  border-radius: 12px;
  padding: 0;
  background: #ffffff;
  color: #17212b;
  transform-origin: top center;
  animation: unfoldLetter 260ms ease-out both;
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.28);
}

@keyframes unfoldLetter {
  from {
    opacity: 0;
    transform: perspective(900px) rotateX(-18deg) translateY(-10px);
    max-height: 0;
  }
  to {
    opacity: 1;
    transform: perspective(900px) rotateX(0) translateY(0);
    max-height: 9999px;
  }
}

.bulletin-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 255, 255, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #ffffff;
  cursor: pointer;
  font-size: 1.25rem;
  font-weight: 900;
  line-height: 1;
}

.bulletin-letter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  min-height: 142px;
  padding: 30px 58px 28px 30px;
  border-top: 8px solid #00a88f;
  border-radius: 12px 12px 0 0;
  background:
    linear-gradient(135deg, #061214 0%, #0f2c2f 58%, #071416 100%);
}

.bulletin-letter-head h4 {
  margin: 0 0 8px;
  color: #ffffff;
  font-size: 1.55rem;
  line-height: 1.05;
}

.bulletin-letter-head .eyebrow {
  color: #7cebd8;
  margin-bottom: 8px;
}

.bulletin-logo-card {
  display: grid;
  place-items: center;
  flex: 0 0 190px;
  width: 190px;
  height: 88px;
  padding: 10px 16px;
  border: 1px solid rgba(216, 230, 226, 0.92);
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.24);
  overflow: hidden;
}

.bulletin-logo-card img {
  display: block;
  width: 170px;
  height: auto;
  object-fit: contain;
  transform: translateY(-4px);
}

.bulletin-letter-head span,
.bulletin-signature span {
  color: #d8e6e2;
  font-size: 0.78rem;
  font-weight: 800;
}

.bulletin-letter-meta {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 30px;
  border-bottom: 1px solid #d8e6e2;
  color: #4d5c62;
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.bulletin-letter-meta span:first-child {
  color: #d98d00;
}

.bulletin-letter-body {
  min-height: 120px;
  margin: 28px 30px 0;
  border: 1px solid #d8e6e2;
  border-radius: 12px;
  padding: 24px;
  background: #f8fbfa;
  color: #24313b;
  font-size: 0.94rem;
  font-weight: 650;
  line-height: 1.62;
}

.bulletin-letter-body p,
.bulletin-letter-body div {
  margin-top: 0;
}

.bulletin-letter-body ul,
.bulletin-letter-body ol {
  padding-left: 22px;
}

.bulletin-signature {
  display: grid;
  gap: 3px;
  margin: 26px 30px 0;
  color: #17212b;
}

.bulletin-signature span {
  color: #637371;
}

.bulletin-signature strong {
  color: #17212b;
  font-size: 1rem;
}

.bulletin-opened-at,
.bulletin-attachments-readonly {
  margin: 18px 30px 0;
  border-radius: 8px;
  padding: 10px 12px;
  font-size: 0.78rem;
  font-weight: 800;
}

.bulletin-opened-at {
  border: 1px solid rgba(0, 168, 143, 0.16);
  background: #eef8f6;
  color: #30505a;
}

.bulletin-email-reads {
  display: grid;
  gap: 8px;
  margin: 18px 30px 0;
  border: 1px solid rgba(0, 168, 143, 0.16);
  border-radius: 8px;
  padding: 12px;
  background: #eef8f6;
  color: #30505a;
  font-size: 0.78rem;
  font-weight: 800;
}

.bulletin-email-reads > strong {
  color: #17212b;
  font-size: 0.82rem;
}

.bulletin-email-reads span {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid rgba(0, 168, 143, 0.12);
  padding-top: 8px;
}

.bulletin-email-reads .is-read {
  color: #0f6b56;
}

.bulletin-email-reads .is-pending {
  color: #9a6500;
}

.bulletin-attachments-readonly {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(246, 196, 49, 0.28);
  background: #fff9df;
  color: #4c4219;
}

.bulletin-attachments-readonly strong {
  color: #17212b;
  margin-right: 4px;
}

.bulletin-attachments-readonly a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(217, 141, 0, 0.35);
  border-radius: 999px;
  padding: 6px 10px;
  background: #ffffff;
  color: #8a5a00;
  text-decoration: none;
}

.bulletin-attachments-readonly a:hover {
  border-color: rgba(217, 141, 0, 0.72);
  color: #5c3c00;
}

.bulletin-letter-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  margin: 20px 30px 0;
}

.bulletin-resend-action {
  color: #071416;
  background: linear-gradient(135deg, #ffe16a, #f0b800);
  border-color: rgba(246, 196, 49, 0.88);
}

.icon-action {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(0, 168, 143, 0.3);
  border-radius: 8px;
  background: #ffffff;
  color: #008b7a;
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 900;
}

.bulletin-letter .bulletin-meta {
  padding: 14px 30px 24px;
  color: #637371;
}

.dynamic-credit-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}

.info-action {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.info-action:hover,
.info-action:focus-within {
  z-index: 80;
}

.button-info {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid currentColor;
  font-size: 0.72rem;
  line-height: 1;
  font-weight: 950;
  opacity: 0.88;
  cursor: help;
}

.button-info:hover::after,
.button-info:focus::after {
  content: attr(aria-label);
  position: absolute;
  z-index: 100;
  top: auto;
  bottom: calc(100% + 10px);
  right: 0;
  width: 260px;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 8px;
  padding: 9px 10px;
  background: #0f1719;
  color: #f8fafc;
  box-shadow: var(--shadow);
  font-size: 0.72rem;
  line-height: 1.35;
  text-align: left;
  white-space: normal;
}

.warning-action {
  position: relative;
  border: 1px solid rgba(250, 204, 21, 0.72);
  border-radius: 8px;
  padding: 0 18px;
  min-height: 42px;
  background: linear-gradient(135deg, #ffe36b 0%, #facc15 44%, #d99b05 100%);
  color: #111827;
  cursor: pointer;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(250, 204, 21, 0.18);
}

.warning-action:hover:not(:disabled) {
  filter: brightness(1.04);
}

.warning-action:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.copy-limits-action {
  position: relative;
  border: 1px solid rgba(249, 115, 22, 0.74);
  border-radius: 8px;
  padding: 0 18px;
  min-height: 42px;
  background: linear-gradient(135deg, #ffbf7a 0%, #f97316 48%, #c2410c 100%);
  color: #111827;
  cursor: pointer;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(249, 115, 22, 0.18);
}

.copy-limits-action:hover:not(:disabled) {
  filter: brightness(1.04);
}

.copy-limits-action:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.recalculate-action {
  position: relative;
  border: 1px solid rgba(249, 115, 22, 0.74);
  border-radius: 8px;
  padding: 0 18px;
  min-height: 42px;
  background: linear-gradient(135deg, #ffb86b 0%, #f97316 46%, #c2410c 100%);
  color: #111827;
  cursor: pointer;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(249, 115, 22, 0.18);
}

.recalculate-action:hover:not(:disabled) {
  filter: brightness(1.04);
}

.recalculate-action:disabled {
  cursor: not-allowed;
  opacity: 0.62;
}

.primary-action.info-action {
  position: relative;
}

.odoo-confirm-overlay {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.56);
  backdrop-filter: blur(4px);
}

.odoo-confirm-dialog {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  width: min(520px, 100%);
  border: 1px solid rgba(250, 204, 21, 0.45);
  border-radius: 12px;
  padding: 22px;
  background: #101719;
  color: #f8fafc;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.42);
}

.odoo-confirm-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  background: linear-gradient(135deg, #facc15, #f97316);
  color: #111827;
  font-size: 1.55rem;
  font-weight: 950;
}

.odoo-confirm-content h3 {
  margin: 0 0 10px;
  color: #ffffff;
  font-size: 1.05rem;
}

.odoo-confirm-content p {
  margin: 0;
  color: #cbd5e1;
  line-height: 1.55;
}

.odoo-confirm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

.odoo-confirm-actions button {
  min-height: 40px;
  border-radius: 999px;
  padding: 0 18px;
  cursor: pointer;
  font-weight: 900;
}

.odoo-confirm-cancel {
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(148, 163, 184, 0.12);
  color: #e2e8f0;
}

.odoo-confirm-accept {
  border: 1px solid rgba(250, 204, 21, 0.7);
  background: linear-gradient(135deg, #ffe36b, #facc15);
  color: #111827;
}

.embedded-report-shell {
  min-height: 520px;
  padding: 0;
  background: #070b0d;
}

.embedded-report-frame {
  display: block;
  width: 100%;
  min-height: 780px;
  border: 0;
  background: #f8fafc;
}

.sheet-report-shell {
  min-height: 780px;
  padding: 12px;
  overflow: hidden;
}

.sheet-tabs-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  background: rgba(6, 27, 28, 0.92);
}

.sheet-tabs-status {
  color: #f6c431;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.sheet-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.sheet-tab-button {
  border: 1px solid rgba(124, 235, 216, 0.38);
  border-radius: 999px;
  background: rgba(0, 168, 143, 0.14);
  color: #7cebd8;
  cursor: pointer;
  font-size: 0.78rem;
  font-weight: 900;
  padding: 7px 12px;
}

.sheet-tab-button.is-active {
  border-color: rgba(246, 196, 49, 0.9);
  background: linear-gradient(135deg, #ffe36b, #facc15);
  color: #111827;
}

.sheet-frame {
  display: block;
  width: 100%;
  min-height: 720px;
  border: 0;
  border-radius: 8px;
  background: #f8fafc;
}

.collections-report-panel .kpi-status {
  display: none;
}

#telegramReportStatus {
  display: block;
  margin: 16px 22px;
}

.collections-report-details {
  border-top: 0;
  background: rgba(3, 10, 12, 0.52);
}

.collections-report-details[open] {
  border-top: 1px solid rgba(124, 235, 216, 0.12);
}

.collections-report-details summary {
  display: none;
}

.collections-report-details summary::-webkit-details-marker {
  display: none;
}

.collections-report-details summary::before {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  margin-right: 10px;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 6px;
  background: rgba(0, 168, 143, 0.14);
  color: #f6c431;
}

.collections-report-details[open] summary::before {
  content: "-";
}

.telegram-report-shell {
  padding: 0 22px 22px;
}

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

.telegram-summary-card {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  padding: 13px 14px;
  background: rgba(255, 255, 255, 0.035);
}

.telegram-summary-card span {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.telegram-summary-card strong {
  display: block;
  margin-top: 5px;
  color: var(--text);
  font-size: 1.65rem;
  line-height: 1;
}

.telegram-summary-card.is-ok {
  border-color: rgba(59, 220, 92, 0.45);
}

.telegram-summary-card.is-pending {
  border-color: rgba(255, 61, 73, 0.5);
}

.telegram-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(124, 235, 216, 0.14);
  border-radius: 8px;
}

.telegram-report-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  font-size: 0.82rem;
}

.telegram-report-table th,
.telegram-report-table td {
  padding: 10px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  text-align: left;
  vertical-align: middle;
}

.telegram-report-table th {
  background: #101827;
  color: #ffffff;
  font-size: 0.72rem;
  text-transform: uppercase;
}

.telegram-status {
  font-weight: 900;
}

.telegram-status.is-ok {
  color: #35e05f;
}

.telegram-status.is-pending {
  color: #ff3045;
}

.telegram-missing {
  display: block;
  margin-top: 3px;
  color: #ff3045;
  font-size: 0.72rem;
  font-weight: 800;
}

.telegram-phone-cell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-width: 140px;
}

.telegram-phone-missing {
  color: var(--muted);
  font-weight: 800;
}

.telegram-phone-edit {
  display: inline-grid;
  flex: 0 0 auto;
  place-items: center;
  width: 26px;
  height: 26px;
  border: 1px solid rgba(91, 223, 210, 0.55);
  border-radius: 8px;
  background: rgba(91, 223, 210, 0.12);
  color: #7cebd8;
  cursor: pointer;
}

.telegram-phone-edit svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
}

.telegram-phone-edit:hover {
  background: rgba(91, 223, 210, 0.22);
}

.telegram-phone-dialog {
  width: min(560px, 100%);
}

.telegram-phone-dialog-label {
  display: block;
  margin: 16px 0 6px;
  color: #facc15;
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.telegram-phone-dialog-input {
  width: 100%;
  border: 1px solid rgba(255, 160, 0, 0.9);
  border-radius: 8px;
  padding: 11px 12px;
  background: linear-gradient(180deg, #fff5a6 0%, #ffe56a 100%);
  color: #101827;
  font: inherit;
  font-weight: 900;
}

.telegram-phone-dialog-input:focus {
  outline: 2px solid rgba(255, 184, 0, 0.85);
  outline-offset: 1px;
}

.telegram-invite-action {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(91, 223, 210, 0.55);
  border-radius: 50%;
  background: linear-gradient(135deg, #43f3df 0%, #1198c9 100%);
  color: #051214;
  text-decoration: none;
}

.telegram-invite-action svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
}

.telegram-invite-action.is-disabled {
  border-color: rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
  color: var(--muted);
}

.client-analysis-dashboard,
.sales-analysis-dashboard {
  display: grid;
  gap: 18px;
}

.client-analysis-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-left: 4px solid #f6c431;
  border-radius: 8px;
  padding: 20px;
  background:
    linear-gradient(135deg, rgba(4, 23, 25, 0.98), rgba(10, 34, 37, 0.92)),
    radial-gradient(circle at 88% 20%, rgba(246, 196, 49, 0.16), transparent 26%);
  box-shadow: var(--shadow);
}

.client-analysis-head h4 {
  margin: 0;
  color: #ffffff;
  font-size: 1.35rem;
  line-height: 1.08;
}

.client-analysis-head span {
  color: #f6c431;
  font-size: 0.82rem;
  font-weight: 900;
  text-align: right;
  text-transform: uppercase;
}

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

.client-metric-card {
  display: block;
  min-height: 132px;
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-radius: 8px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(17, 29, 32, 0.98), rgba(7, 12, 14, 0.98));
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.26);
}

.client-metric-card.metric-link {
  color: inherit;
  width: 100%;
  text-align: left;
  text-decoration: none;
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.client-metric-card.metric-link:hover {
  border-color: rgba(124, 235, 216, 0.58);
  box-shadow: 0 22px 52px rgba(0, 0, 0, 0.34);
  transform: translateY(-1px);
}

.client-metric-card span,
.client-card-title span {
  display: block;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
}

.client-metric-card strong {
  display: block;
  margin: 14px 0 8px;
  color: #ffffff;
  font-size: 1.72rem;
  line-height: 1;
}

.client-metric-card small {
  color: #cbd5e1;
  font-weight: 700;
}

.client-metric-card.teal {
  border-top-color: rgba(124, 235, 216, 0.7);
}

.client-metric-card.amber {
  border-top-color: rgba(246, 196, 49, 0.78);
}

.client-metric-card.blue {
  border-top-color: rgba(71, 181, 255, 0.74);
}

.client-metric-card.green {
  border-top-color: rgba(79, 210, 122, 0.72);
}

.client-analysis-grid {
  display: grid;
  gap: 18px;
}

.client-analysis-grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.client-analysis-card {
  min-width: 0;
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-radius: 8px;
  padding: 18px;
  background: linear-gradient(180deg, rgba(15, 25, 28, 0.98), rgba(7, 12, 14, 0.98));
  box-shadow: var(--shadow);
}

.sales-analysis-card {
  min-width: 0;
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-radius: 8px;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(15, 25, 28, 0.98), rgba(7, 12, 14, 0.98)),
    radial-gradient(circle at 95% 0%, rgba(246, 196, 49, 0.08), transparent 28%);
  box-shadow: var(--shadow);
}

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

.budget-user-header {
  display: grid;
  grid-template-columns: 22px minmax(160px, 1.2fr) repeat(4, minmax(110px, 0.7fr)) minmax(220px, 1.4fr);
  gap: 12px;
  padding: 0 16px 6px;
  color: #f6c431;
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.budget-user-header b {
  text-align: center;
}

.budget-user-header b:nth-child(2) {
  text-align: left;
}

.budget-user-panel {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(5, 13, 14, 0.78);
}

.budget-user-panel summary {
  display: grid;
  grid-template-columns: 22px minmax(160px, 1.2fr) repeat(4, minmax(110px, 0.7fr)) minmax(220px, 1.4fr);
  gap: 12px;
  align-items: center;
  padding: 14px 16px;
  cursor: pointer;
  color: #f8fafc;
  font-weight: 900;
  list-style: none;
}

.budget-user-panel summary::-webkit-details-marker {
  display: none;
}

.budget-user-panel summary::before {
  content: '+';
  display: inline-grid;
  place-items: center;
  width: 20px;
  height: 20px;
  border: 1px solid rgba(124, 235, 216, 0.42);
  border-radius: 6px;
  color: var(--accent);
}

.budget-user-panel[open] summary::before {
  content: '-';
}

.budget-user-panel summary span {
  display: flex;
  align-items: center;
}

.budget-user-panel summary b {
  text-align: center;
}

.budget-user-panel summary small {
  color: #b7c6c4;
  font-size: 0.75rem;
  font-weight: 800;
  text-align: center;
}

.budget-detail-wrap {
  border-top: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 0;
}

.budget-detail-table th,
.budget-detail-table td {
  text-align: center;
  vertical-align: middle;
}

.budget-detail-table th:first-child,
.budget-detail-table td:first-child {
  text-align: left;
}

.budget-detail-table td.num {
  text-align: center;
}

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

.budget-breakdown-panel {
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(5, 13, 14, 0.72);
}

.budget-breakdown-panel[hidden] {
  display: none;
}

.budget-breakdown-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: center;
  padding: 14px 16px;
  color: #f8fafc;
  font-weight: 950;
  border-bottom: 1px solid rgba(124, 235, 216, 0.18);
}

.budget-breakdown-header div {
  display: grid;
  gap: 4px;
}

.budget-breakdown-header span {
  color: #f6c431;
  text-transform: uppercase;
}

.budget-breakdown-header small {
  color: #b7c6c4;
  font-weight: 800;
}

.budget-breakdown-close {
  display: inline-grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(255, 128, 128, 0.42);
  border-radius: 999px;
  background: rgba(127, 29, 29, 0.42);
  color: #fecaca;
  cursor: pointer;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1;
}

.budget-breakdown-close:hover {
  background: rgba(185, 28, 28, 0.56);
}

.sales-analysis-head {
  border-left-color: #f6c431;
}

.client-cleanup-dashboard {
  display: grid;
  gap: 18px;
}

.client-cleanup-table-wrap {
  overflow: auto;
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  background: rgba(5, 13, 14, 0.78);
}

.client-cleanup-table {
  width: 100%;
  min-width: 1900px;
  border-collapse: collapse;
  color: #f8fafc;
  font-size: 0.82rem;
}

.client-cleanup-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px;
  background: #111827;
  color: #f6c431;
  font-size: 0.72rem;
  font-weight: 950;
  text-align: left;
  text-transform: uppercase;
}

.client-cleanup-filter-row th {
  top: 38px;
  background: rgba(7, 42, 43, 0.98);
}

.client-cleanup-filter-row input {
  min-height: 30px;
  border-color: rgba(124, 235, 216, 0.7);
  background: rgba(13, 80, 77, 0.92);
  color: #f8fafc;
  font-size: 0.74rem;
}

.client-cleanup-filter-row input::placeholder {
  color: rgba(214, 231, 229, 0.84);
}

.client-cleanup-table td {
  padding: 8px;
  border-top: 1px solid rgba(124, 235, 216, 0.12);
  vertical-align: top;
}

.client-cleanup-table tr.saved {
  outline: 1px solid rgba(79, 210, 122, 0.58);
  outline-offset: -1px;
}

.client-cleanup-table .readonly-cell {
  min-width: 180px;
  color: #d6e7e5;
  font-weight: 800;
}

.client-cleanup-table .readonly-cell a {
  color: #7cebd8;
  text-decoration: none;
}

.client-cleanup-table .capture-cell {
  min-width: 150px;
  background: rgba(246, 196, 49, 0.16);
}

.client-cleanup-table input,
.client-cleanup-table select {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(246, 196, 49, 0.62);
  border-radius: 6px;
  padding: 7px 9px;
  background: rgba(255, 247, 191, 0.98);
  color: #111827;
  font-weight: 800;
}

.client-cleanup-table .client-cleanup-filter-row input {
  min-height: 30px;
  border-color: rgba(124, 235, 216, 0.9);
  background: rgba(5, 47, 48, 0.98);
  color: #eafffb;
  box-shadow: inset 0 0 0 1px rgba(124, 235, 216, 0.14);
  font-size: 0.74rem;
}

.client-cleanup-table .client-cleanup-filter-row input::placeholder {
  color: rgba(124, 235, 216, 0.82);
}

.client-cleanup-table .client-cleanup-filter-row input:focus {
  border-color: #7cebd8;
  background: rgba(4, 63, 64, 1);
  outline: 2px solid rgba(124, 235, 216, 0.22);
  outline-offset: 1px;
}

.client-cleanup-table input:disabled,
.client-cleanup-table select:disabled {
  border-color: rgba(148, 163, 184, 0.35);
  background: rgba(148, 163, 184, 0.26);
  color: #94a3b8;
  cursor: not-allowed;
}

.client-cleanup-table select[multiple] {
  min-height: 74px;
}

.tag-cell {
  min-width: 180px;
}

.tag-edit-button {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(246, 196, 49, 0.62);
  border-radius: 6px;
  padding: 7px 9px;
  background: rgba(255, 247, 191, 0.98);
  color: #111827;
  font-size: 0.72rem;
  font-weight: 850;
  line-height: 1.2;
  text-align: left;
  cursor: pointer;
}

.tag-edit-button:hover,
.tag-edit-button:focus {
  border-color: #7cebd8;
  outline: 2px solid rgba(124, 235, 216, 0.22);
  outline-offset: 1px;
}

.tag-checkbox-list {
  display: grid;
  gap: 3px;
  max-height: 132px;
  overflow: auto;
  margin-top: 7px;
  padding: 7px 8px;
  border: 1px solid rgba(246, 196, 49, 0.5);
  border-radius: 6px;
  background: #fff7bf;
  color: #1f2937;
}

.tag-checkbox-list label {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: flex-start;
  color: #1f2937;
  font-size: 0.68rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: left;
  cursor: pointer;
}

.tag-checkbox-list input {
  flex: 0 0 13px;
  width: 13px;
  height: 13px;
  min-height: 13px;
  margin: 0;
  padding: 0;
}

.secondary-action.compact {
  min-height: 34px;
  padding: 0 12px;
  font-size: 0.72rem;
}

.sales-analysis-chart-card svg {
  display: block;
  width: 100%;
  min-height: 330px;
}

.sales-unit-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 12px;
  color: #d6e7e5;
  font-size: 0.75rem;
  font-weight: 850;
}

.sales-unit-legend span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.sales-unit-legend i,
.unit-dot {
  display: inline-block;
  width: 10px;
  height: 10px;
  flex: 0 0 auto;
  border-radius: 999px;
}

.sales-analysis-table-wrap {
  max-height: 720px;
}

.sales-analysis-table {
  min-width: 1180px;
}

.sales-analysis-table td:first-child {
  color: #ffffff;
  font-weight: 900;
  white-space: nowrap;
}

.unit-dot {
  margin-right: 8px;
  vertical-align: -1px;
}

.sales-rule-list {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sales-rule-list li {
  border: 1px solid rgba(124, 235, 216, 0.12);
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 255, 255, 0.035);
  color: #d6e7e5;
  font-size: 0.82rem;
  font-weight: 750;
  line-height: 1.45;
}

.client-card-title {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.client-card-title h4 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.2;
}

.client-card-title span {
  color: #f6c431;
  text-align: right;
  white-space: nowrap;
}

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

.client-bar-row {
  display: grid;
  grid-template-columns: minmax(170px, 0.95fr) minmax(120px, 1.2fr) minmax(76px, auto);
  align-items: center;
  gap: 12px;
}

.client-bar-label {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
  color: #e8f4f2;
  font-size: 0.78rem;
  font-weight: 800;
}

.client-bar-label b {
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  border-radius: 6px;
  background: rgba(246, 196, 49, 0.16);
  color: #f6c431;
  font-size: 0.72rem;
}

.client-bar-label span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.client-bar-track {
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.client-bar-track i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #f6c431 0%, #7cebd8 100%);
}

.client-bar-row strong {
  color: #ffffff;
  font-size: 0.8rem;
  text-align: right;
  white-space: nowrap;
}

.client-table-wrap {
  max-height: 520px;
  overflow: auto;
  margin-top: 14px;
  border: 1px solid rgba(124, 235, 216, 0.15);
  border-radius: 8px;
}

.client-analysis-table {
  width: 100%;
  min-width: 620px;
  border-collapse: collapse;
  color: #e8f4f2;
  font-size: 0.78rem;
}

.client-analysis-table th,
.client-analysis-table td {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 10px 12px;
  text-align: left;
  vertical-align: top;
}

.client-analysis-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #10181b;
  color: #f6c431;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.client-analysis-table tr:last-child td {
  border-bottom: 0;
}

.client-analysis-table .num {
  text-align: right;
  white-space: nowrap;
}

.empty-report.compact {
  min-height: 80px;
  margin: 0;
  padding: 18px;
  font-size: 0.82rem;
}

.login-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 5vw, 72px);
  background:
    radial-gradient(circle at 18% 18%, rgba(26, 224, 205, 0.18), transparent 32%),
    linear-gradient(110deg, rgba(2, 8, 10, 0.98) 0%, rgba(2, 8, 10, 0.9) 43%, rgba(4, 20, 22, 0.54) 100%),
    url("./assets/service-exterior.jpg") center / cover;
}

.login-overlay[hidden] {
  display: none;
}

.login-shell {
  width: min(1180px, 100%);
  min-height: min(680px, calc(100vh - 80px));
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(360px, 430px);
  align-items: stretch;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(4, 12, 14, 0.62);
  box-shadow: 0 36px 100px rgba(0, 0, 0, 0.58);
  backdrop-filter: blur(14px);
}

.login-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 520px;
  padding: clamp(34px, 5vw, 64px);
  overflow: hidden;
}

.login-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(1, 8, 10, 0.72) 72%, rgba(1, 8, 10, 0.94) 100%),
    url("./assets/protection-strip.png") center / cover;
  opacity: 0.2;
  pointer-events: none;
}

.login-hero > * {
  position: relative;
  z-index: 1;
}

.login-hero-logo {
  width: min(280px, 58vw);
  height: auto;
  margin-bottom: auto;
  filter: drop-shadow(0 16px 26px rgba(0, 0, 0, 0.5));
}

.login-kicker {
  margin: 0 0 10px;
  color: #7cebd8;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.login-hero h1 {
  max-width: 760px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(3.2rem, 7vw, 6.8rem);
  line-height: 0.9;
  letter-spacing: 0;
}

.login-copy {
  max-width: 640px;
  margin: 24px 0 0;
  color: rgba(232, 255, 250, 0.84);
  font-size: clamp(1rem, 1.5vw, 1.24rem);
  line-height: 1.55;
}

.login-hero-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.login-hero-metrics span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(124, 235, 216, 0.26);
  border-radius: 999px;
  padding: 0 14px;
  background: rgba(8, 34, 36, 0.72);
  color: #e8fffa;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.login-card {
  display: grid;
  gap: 16px;
  align-content: center;
  width: 100%;
  padding: clamp(28px, 4vw, 48px);
  border-left: 1px solid rgba(124, 235, 216, 0.18);
  background:
    linear-gradient(180deg, rgba(16, 27, 30, 0.98), rgba(6, 12, 14, 0.98));
}

.login-card h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(2rem, 3vw, 2.7rem);
  line-height: 1;
}

.login-form-copy {
  margin: -4px 0 6px;
  color: rgba(232, 255, 250, 0.68);
  font-size: 0.92rem;
}

.login-card input {
  width: 100%;
  min-height: 48px;
  border-color: rgba(124, 235, 216, 0.24);
  background: rgba(235, 255, 252, 0.08);
  color: #ffffff;
}

.login-card input::placeholder {
  color: rgba(232, 255, 250, 0.46);
}

.login-submit {
  min-height: 50px;
  margin-top: 4px;
  font-size: 1rem;
}

.login-status {
  min-height: 20px;
  margin: 0;
  color: #f6c431;
  font-size: 0.86rem;
  font-weight: 800;
}

@media (max-width: 880px) {
  .login-shell {
    grid-template-columns: 1fr;
  }

  .login-hero {
    min-height: 360px;
  }

  .login-card {
    border-left: 0;
    border-top: 1px solid rgba(124, 235, 216, 0.18);
  }
}

.config-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.config-card {
  border: 1px solid rgba(124, 235, 216, 0.16);
  border-left: 4px solid #f6c431;
  border-radius: 8px;
  padding: 20px;
  background: linear-gradient(180deg, rgba(15, 25, 28, 0.98), rgba(7, 12, 14, 0.98));
  box-shadow: var(--shadow);
}

.config-card h4 {
  margin: 0;
  color: #ffffff;
  font-size: 1.12rem;
}

.telegram-individual-config-card {
  border-left-color: #4dd9cc;
}

.telegram-individual-summary {
  padding: 7px 11px;
  border: 1px solid rgba(77, 217, 204, 0.35);
  border-radius: 999px;
  color: #8ff8ee;
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.telegram-individual-list {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}

.telegram-individual-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(124, 235, 216, 0.17);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.025);
}

.telegram-individual-person {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.telegram-individual-person strong {
  color: #fff;
}

.telegram-individual-person > span:not(.telegram-individual-status) {
  overflow-wrap: anywhere;
  color: var(--muted);
  font-size: 0.78rem;
}

.telegram-individual-status {
  width: fit-content;
  margin-top: 3px;
  font-size: 0.74rem;
  font-weight: 850;
}

.telegram-individual-status.is-linked {
  color: #6ff2c1;
}

.telegram-individual-status.is-pending,
.telegram-individual-error {
  color: #f6c431;
}

@media (max-width: 620px) {
  .telegram-individual-row {
    grid-template-columns: 1fr;
  }

  .telegram-individual-row button {
    width: 100%;
  }
}

.config-form-row,
.config-form-grid {
  display: grid;
  gap: 12px;
  margin: 16px 0;
}

.config-form-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.config-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.config-form-grid label:nth-child(3) {
  grid-column: 1 / -1;
}

.password-form-grid label {
  grid-column: 1 / -1;
}

.config-form-grid button {
  grid-column: 1 / -1;
  justify-self: start;
}

.config-card select,
.config-card input {
  width: 100%;
}

.password-input-wrap {
  position: relative;
  display: block;
}

.password-input-wrap input {
  padding-right: 44px;
}

.password-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  width: 30px;
  height: 30px;
  transform: translateY(-50%);
  border: 1px solid rgba(91, 223, 210, 0.38);
  border-radius: 7px;
  background: rgba(91, 223, 210, 0.08);
  color: #76fff0;
  line-height: 1;
  cursor: pointer;
}

.password-toggle svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.password-toggle:hover,
.password-toggle.is-visible {
  background: rgba(91, 223, 210, 0.18);
  border-color: rgba(91, 223, 210, 0.7);
}

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

.config-list-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  padding: 12px;
  background: rgba(255, 255, 255, 0.035);
}

.config-list-row strong {
  display: block;
  color: #ffffff;
  font-size: 0.9rem;
}

.config-list-row span {
  display: block;
  margin-top: 3px;
  color: #9fb4b2;
  font-size: 0.78rem;
  font-weight: 700;
}

.danger-action {
  min-height: 34px;
  border: 1px solid rgba(255, 92, 99, 0.38);
  border-radius: 8px;
  padding: 0 12px;
  background: rgba(255, 92, 99, 0.12);
  color: #ffb8bd;
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 900;
}

.danger-action:hover {
  background: rgba(255, 92, 99, 0.2);
}

@media (max-width: 900px) {
  .collections-report-header {
    display: grid;
  }

  .collections-report-header .refresh-actions {
    width: 100%;
  }

  .embedded-report-frame {
    min-height: 680px;
  }
}


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

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

.order-tracking-summary > div {
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 8px;
  padding: 14px;
  background: rgba(4, 22, 23, 0.88);
}

.order-tracking-summary strong {
  display: block;
  margin-top: 4px;
  color: #f8fafc;
  font-size: 1.5rem;
}

.order-tracking-summary span {
  color: #b8d5d2;
  font-size: 0.78rem;
  font-weight: 800;
}

.order-tracking-table-wrap {
  overflow: auto;
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  background: rgba(5, 13, 14, 0.78);
}

.order-tracking-table {
  width: 100%;
  min-width: 1780px;
  border-collapse: collapse;
  color: #f8fafc;
  font-size: 0.78rem;
}

.order-tracking-table th {
  position: sticky;
  top: 0;
  z-index: 1;
  padding: 10px;
  background: #111827;
  color: #f6c431;
  font-size: 0.68rem;
  font-weight: 950;
  text-align: left;
  text-transform: uppercase;
}

.order-tracking-filter-row th {
  top: 36px;
  background: rgba(7, 42, 43, 0.98);
}

.order-tracking-table td {
  padding: 8px;
  border-top: 1px solid rgba(124, 235, 216, 0.12);
  vertical-align: top;
}

.order-tracking-table .readonly-cell {
  min-width: 140px;
  color: #d6e7e5;
  font-weight: 800;
}

.order-tracking-table .readonly-cell.wide {
  min-width: 220px;
}

.order-tracking-table .readonly-cell.address {
  min-width: 300px;
  line-height: 1.35;
}

.order-tracking-table .readonly-cell.numeric {
  text-align: right;
  white-space: nowrap;
}

.order-tracking-table .readonly-cell a {
  color: #7cebd8;
  text-decoration: none;
}

.order-tracking-table .capture-cell {
  min-width: 170px;
  background: rgba(246, 196, 49, 0.16);
}

.order-tracking-table input,
.order-tracking-table select {
  width: 100%;
  min-height: 34px;
  border: 1px solid rgba(246, 196, 49, 0.62);
  border-radius: 6px;
  padding: 7px 9px;
  background: rgba(255, 247, 191, 0.98);
  color: #111827;
  font-weight: 800;
}

.order-tracking-table .order-tracking-filter-row input {
  min-height: 30px;
  border-color: rgba(124, 235, 216, 0.9);
  background: rgba(5, 47, 48, 0.98);
  color: #eafffb;
  box-shadow: inset 0 0 0 1px rgba(124, 235, 216, 0.14);
  font-size: 0.72rem;
}

.order-tracking-table input:disabled,
.order-tracking-table select:disabled {
  border-color: rgba(148, 163, 184, 0.35);
  background: rgba(148, 163, 184, 0.26);
  color: #94a3b8;
  cursor: not-allowed;
}

.order-tracking-table tr[data-order-dirty="true"] {
  outline: 1px solid rgba(246, 196, 49, 0.7);
  outline-offset: -1px;
}

.muted-cell {
  color: #8ea6a3;
}

.order-tracking-table .disabled-capture-cell {
  background: rgba(148, 163, 184, 0.12);
}

.order-tracking-table .disabled-capture-cell input {
  border-color: rgba(148, 163, 184, 0.35);
  background: rgba(148, 163, 184, 0.26);
  color: #94a3b8;
}

.client-cleanup-table .salesperson-cell {
  min-width: 190px;
}

.client-cleanup-table .salesperson-cell small {
  display: block;
  margin-top: 5px;
  color: #6f5b10;
  font-size: 0.64rem;
  font-weight: 900;
}

.amenidades-orders-shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}

.amenidades-email-control {
  display: grid;
  grid-template-columns: minmax(320px, 0.42fr) minmax(520px, 0.58fr);
  gap: 14px;
  align-items: stretch;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 8px;
  padding: 14px;
  background: rgba(5, 47, 48, 0.52);
}

.amenidades-email-primary {
  display: grid;
  align-content: start;
  gap: 8px;
}

.amenidades-email-primary label {
  display: grid;
  gap: 7px;
  color: #ffd21f;
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-email-primary input {
  min-height: 38px;
  border: 1px solid rgba(246, 196, 49, 0.72);
  border-radius: 7px;
  padding: 8px 10px;
  background: #fff2a8;
  color: #111827;
  font-weight: 800;
}

.amenidades-email-primary > span {
  color: #a9c4c0;
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.35;
}

.amenidades-copy-control {
  min-width: 0;
  margin: 0;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 8px;
  padding: 10px 12px 12px;
  background: rgba(2, 24, 26, 0.42);
}

.amenidades-copy-control legend {
  padding: 0 7px;
  color: #ffd21f;
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-copy-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}

.amenidades-copy-heading span,
.amenidades-copy-heading strong {
  color: #a9c4c0;
  font-size: 0.72rem;
  line-height: 1.25;
}

.amenidades-copy-heading strong {
  flex: 0 0 auto;
  color: #7cebd8;
}

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

.amenidades-copy-grid label {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
  min-width: 0;
  border: 1px solid rgba(124, 235, 216, 0.2);
  border-radius: 6px;
  padding: 7px 8px;
  background: rgba(5, 47, 48, 0.52);
  color: #effbf8;
  cursor: pointer;
}

.amenidades-copy-grid label:has(input:checked) {
  border-color: #f6c431;
  background: rgba(246, 196, 49, 0.12);
  box-shadow: inset 3px 0 0 #f6c431;
}

.amenidades-copy-grid input[type="checkbox"] {
  width: 15px;
  height: 15px;
  min-width: 15px;
  min-height: 15px;
  margin: 0;
  padding: 0;
  accent-color: #f6c431;
}

.amenidades-copy-grid span {
  min-width: 0;
  overflow: hidden;
  color: #effbf8;
  font-size: 0.7rem;
  font-weight: 800;
  line-height: 1.2;
  text-overflow: ellipsis;
  text-transform: none;
  white-space: nowrap;
}

@media (max-width: 1180px) {
  .amenidades-email-control {
    grid-template-columns: 1fr;
  }

  .amenidades-copy-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .amenidades-copy-grid {
    grid-template-columns: 1fr;
  }
}

.amenidades-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 12px;
}

.amenidades-date-controls {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.amenidades-header-date-controls {
  align-items: end;
}

.amenidades-date-controls label {
  display: grid;
  gap: 4px;
  color: #ffd21f;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-date-controls select,
.amenidades-date-controls input {
  min-height: 36px;
  border: 1px solid rgba(124, 235, 216, 0.36);
  border-radius: 7px;
  background: rgba(1, 12, 12, 0.92);
  color: #ecfffb;
  font-weight: 800;
  padding: 8px 10px;
}

.amenidades-header-date-controls select {
  min-width: 190px;
}

.amenidades-header-date-controls input[type="date"] {
  min-width: 128px;
}

.amenidades-summary-grid article {
  padding: 16px;
  border: 1px solid rgba(124, 235, 216, 0.28);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(11, 35, 35, 0.96), rgba(6, 20, 20, 0.98));
  box-shadow: inset 0 3px 0 rgba(246, 196, 49, 0.86);
}

.amenidades-summary-grid span {
  display: block;
  color: #9fb8b5;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-summary-grid strong {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-size: 1.55rem;
  line-height: 1;
}

.amenidades-summary-grid p {
  margin: 9px 0 0;
  color: #b9cbc8;
  font-size: 0.78rem;
  font-weight: 700;
}

.amenidades-rules-panel {
  box-shadow: inset 4px 0 0 #ffd21f;
}

.amenidades-rules-header {
  align-items: flex-start;
  gap: 16px;
}

.amenidades-rules-copy {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 12px;
}

.amenidades-rules-copy .eyebrow,
.amenidades-rules-copy h4,
.amenidades-rules-copy span {
  flex-basis: 100%;
}

.amenidades-rules-copy button.secondary-action {
  margin-top: 8px;
  border: 1px solid rgba(124, 235, 216, 0.46);
  border-radius: 8px;
  padding: 8px 12px;
  background: rgba(10, 126, 119, 0.22);
  color: #7cebd8;
  font-size: 0.76rem;
  font-weight: 950;
  cursor: pointer;
}

.amenidades-rules-header span {
  display: block;
  margin-top: 4px;
  color: #a9c4c0;
  font-size: 0.8rem;
  font-weight: 700;
}

.amenidades-rules-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
  min-width: 220px;
}

.amenidades-rules-actions small {
  color: #a9c4c0;
  font-size: 0.72rem;
  font-weight: 800;
  text-align: right;
}

.amenidades-rules-actions button {
  border: 1px solid rgba(246, 196, 49, 0.88);
  border-radius: 8px;
  padding: 10px 14px;
  background: linear-gradient(180deg, #ffe16a, #f0b800);
  color: #101827;
  font-weight: 950;
  cursor: pointer;
}

.amenidades-rules-actions button.secondary-action {
  border-color: rgba(124, 235, 216, 0.46);
  background: rgba(10, 126, 119, 0.22);
  color: #7cebd8;
}

.amenidades-agreement-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.amenidades-agreement-current {
  display: block;
  margin-top: 7px;
  color: #b9d3cf;
  font-size: 0.7rem;
  font-weight: 800;
}

.amenidades-agreement-overlay {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 10, 11, 0.82);
  backdrop-filter: blur(5px);
}

.amenidades-agreement-modal {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  width: min(1100px, calc(100vw - 48px));
  max-height: min(900px, calc(100vh - 48px));
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, 0.45);
  border-radius: 12px;
  background: #071718;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.55);
}

.amenidades-agreement-modal > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.2);
  background: #101827;
}

.amenidades-agreement-modal h4 {
  margin: 4px 0;
  color: #fff;
  font-size: 1.1rem;
}

.amenidades-agreement-modal header span {
  color: #b9d3cf;
  font-size: 0.76rem;
}

.amenidades-agreement-policy {
  padding: 12px 20px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.18);
  background: rgba(255, 210, 31, 0.09);
  color: #fff4bf;
  font-size: 0.8rem;
  line-height: 1.4;
}

.amenidades-agreement-policy strong {
  color: #ffd21f;
}

.amenidades-agreement-content {
  min-height: 0;
  overflow: auto;
  padding: 34px 24px 46px;
  background: #d9dde3;
}

.amenidades-agreement-content pre {
  margin: 0;
  color: #e9fffb;
  font-family: inherit;
  font-size: 0.86rem;
  line-height: 1.65;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.word-document {
  box-sizing: border-box;
  width: min(816px, 100%);
  min-height: 1056px;
  margin: 0 auto;
  padding: 72px 76px 82px;
  background: #fff;
  color: #1f2937;
  font-family: Calibri, Aptos, Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.48;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.2);
}

.word-document h1 {
  margin: 10px 0 28px;
  color: #17365d;
  font-size: 20pt;
  line-height: 1.2;
  text-align: center;
}

.word-document h2 {
  margin: 28px 0 10px;
  padding-bottom: 5px;
  border-bottom: 1px solid #9fbad0;
  color: #17365d;
  font-size: 15pt;
  line-height: 1.25;
}

.word-document h3 {
  margin: 18px 0 6px;
  color: #244c75;
  font-size: 11.5pt;
  line-height: 1.35;
}

.word-document [data-agreement-section] {
  scroll-margin-top: 120px;
}

.word-document .is-cited-rule {
  margin-left: -14px;
  margin-right: -14px;
  padding: 10px 14px;
  border: 2px solid #e2a600;
  border-radius: 6px;
  background: #fff2a8;
  color: #5a3b00;
  box-shadow: 0 0 0 5px rgba(255, 210, 31, 0.22);
}

.word-document p {
  margin: 0 0 9px;
  text-align: justify;
}

.word-document .word-cover-kicker {
  margin-bottom: 8px;
  color: #6b7280;
  font-size: 9.5pt;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}

.word-document .word-callout {
  margin: 14px 0;
  padding: 11px 13px;
  border-left: 4px solid #4472c4;
  background: #eaf2f8;
  color: #17365d;
  font-weight: 700;
}

.word-document .word-label {
  margin-bottom: 2px;
  color: #44546a;
  font-size: 9pt;
  font-weight: 700;
  text-transform: uppercase;
}

.word-table-wrap {
  margin: 14px 0 22px;
  overflow-x: auto;
}

.word-document table {
  width: 100%;
  border-collapse: collapse;
  table-layout: auto;
  font-size: 9.5pt;
}

.word-document th,
.word-document td {
  padding: 7px 8px;
  border: 1px solid #9aa9b8;
  color: #1f2937;
  text-align: left;
  vertical-align: top;
}

.word-document th {
  background: #d9eaf7;
  color: #17365d;
  font-weight: 700;
}

.word-document tr:nth-child(even) td {
  background: #f7f9fb;
}

.amenidades-agreement-content > pre {
  box-sizing: border-box;
  width: min(816px, 100%);
  min-height: 1056px;
  margin: 0 auto;
  padding: 72px 76px 82px;
  background: #fff;
  color: #1f2937;
  font-family: Calibri, Aptos, Arial, sans-serif;
  font-size: 11pt;
  line-height: 1.55;
  box-shadow: 0 4px 18px rgba(15, 23, 42, 0.2);
}

@media (max-width: 760px) {
  .amenidades-agreement-content {
    padding: 14px 8px 24px;
  }

  .word-document {
    padding: 38px 28px 48px;
    font-size: 10.5pt;
  }
}

.amenidades-rules-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 0 14px 14px;
}

.amenidades-rule-group {
  border: 1px solid rgba(124, 235, 216, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.025);
  overflow: hidden;
}

.amenidades-rule-group h5 {
  margin: 0;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.18);
  background: rgba(3, 36, 37, 0.9);
  color: #ffd21f;
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.amenidades-rule-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(170px, 0.55fr);
  gap: 8px 12px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.12);
}

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

.amenidades-rule-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #ecfffb;
  font-size: 0.8rem;
  font-weight: 900;
}

.amenidades-rule-toggle input {
  accent-color: #ffd21f;
}

.amenidades-rule-value {
  display: flex;
  align-items: center;
  gap: 7px;
}

.amenidades-rule-value input,
.amenidades-rule-value select {
  width: 100%;
  min-height: 32px;
  border: 1px solid rgba(246, 196, 49, 0.72);
  border-radius: 7px;
  padding: 6px 8px;
  background: #fff2a8;
  color: #111827;
  font-size: 0.8rem;
  font-weight: 850;
}

.amenidades-rule-value em {
  color: #ffd21f;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  white-space: nowrap;
}

.amenidades-rule-row p {
  grid-column: 1 / -1;
  margin: 0;
  color: #9fb8b5;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.35;
}

.amenidades-panel {
  border: 1px solid rgba(124, 235, 216, 0.24);
  background: rgba(6, 19, 19, 0.94);
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
}


.amenidades-sku-matrix {
  grid-column: 1 / -1;
  margin: 2px 14px 14px;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 8px;
  background: rgba(2, 24, 24, 0.82);
  overflow: hidden;
}

.amenidades-sku-matrix-heading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.18);
  background: rgba(3, 36, 37, 0.9);
}

.amenidades-sku-matrix-heading h5 {
  margin: 0;
  color: #ffd21f;
  font-size: 0.8rem;
  font-weight: 950;
  text-transform: uppercase;
}

.amenidades-sku-matrix-heading p,
.amenidades-sku-matrix-heading strong {
  margin: 4px 0 0;
  color: #a9c4c0;
  font-size: 0.72rem;
  font-weight: 850;
}

.amenidades-missing-matrix-fields {
  margin: 12px 14px;
  border: 1px solid rgba(255, 210, 31, 0.52);
  border-radius: 8px;
  padding: 10px 12px;
  background: rgba(255, 210, 31, 0.1);
  color: #ffeaa0;
  font-size: 0.76rem;
  font-weight: 800;
  line-height: 1.45;
}

.amenidades-sku-table-wrap {
  max-height: 420px;
  overflow: auto;
}

.amenidades-sku-table {
  width: 100%;
  min-width: 1360px;
  border-collapse: collapse;
}

.amenidades-sku-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 9px 10px;
  background: #101827;
  color: #ffd21f;
  font-size: 0.68rem;
  text-align: left;
  text-transform: uppercase;
}

.amenidades-sku-table td {
  padding: 8px 10px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.12);
  color: #ecfffb;
  font-size: 0.76rem;
  font-weight: 800;
  vertical-align: middle;
}

.amenidades-sku-table td:first-child {
  min-width: 240px;
}

.amenidades-sku-table td:nth-child(2) {
  min-width: 150px;
  color: #7cebd8;
}

.amenidades-sku-table input {
  width: 100%;
  min-width: 92px;
  min-height: 30px;
  border: 1px solid rgba(246, 196, 49, 0.72);
  border-radius: 7px;
  padding: 6px 8px;
  background: #fff2a8;
  color: #111827;
  font-size: 0.76rem;
  font-weight: 900;
}


.amenidades-table-wrap {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  max-height: 78vh;
  overflow: auto;
  scrollbar-gutter: stable;
  position: relative;
  isolation: isolate;
}

#amenidadesOrdenes {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
}

.amenidades-orders-table,
.amenidades-monthly-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1180px;
}

.amenidades-orders-table {
  min-width: 3400px;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
}

.amenidades-delivery-policy-lines .amenidades-line-item {
  align-content: start;
  gap: 5px;
}

.amenidades-delivery-policy-lines strong {
  color: #eafffb;
  font-size: 0.72rem;
  line-height: 1.3;
}

.amenidades-delivery-policy-lines small {
  color: #9fbab6;
  font-size: 0.66rem;
}

.amenidades-delivery-policy-lines .is-made-to-order {
  border-left: 3px solid #ffd21f;
  background: rgba(255, 210, 31, 0.07);
  padding-left: 8px;
}

.amenidades-policy-badge {
  width: max-content;
  padding: 3px 6px;
  border: 1px solid rgba(124, 235, 216, 0.42);
  border-radius: 999px;
  color: #7cebd8;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.04em;
}

.amenidades-delivery-policy-lines .is-made-to-order .amenidades-policy-badge {
  border-color: #ffd21f;
  color: #ffd21f;
}

.amenidades-table-wrap.has-filter-open {
  min-height: 470px;
}

.amenidades-no-filter-results td {
  height: 110px;
  overflow: visible !important;
  padding: 10px !important;
  text-align: left;
  vertical-align: top !important;
}

.amenidades-no-results-message {
  position: relative;
  z-index: 5;
  width: 250px;
  padding: 12px;
  border: 1px solid rgba(255, 210, 31, 0.65);
  border-radius: 7px;
  background: #102526;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.32);
}

.amenidades-no-results-message strong {
  display: block;
  margin-bottom: 12px;
}

.amenidades-no-results-message button {
  padding: 9px 14px;
  border: 1px solid #ffd21f;
  border-radius: 6px;
  background: #ffd21f;
  color: #071313;
  cursor: pointer;
  font-weight: 900;
}

.amenidades-orders-table th,
.amenidades-orders-table td {
  box-sizing: border-box;
  border-right: 1px solid rgba(124, 235, 216, 0.15);
}

.amenidades-orders-table th:last-child,
.amenidades-orders-table td:last-child {
  border-right: 0;
}

.amenidades-orders-table th,
.amenidades-monthly-table th {
  padding: 10px 12px;
  background: #101827;
  color: #ffd21f;
  font-size: 0.72rem;
  text-align: left;
  text-transform: uppercase;
}

.amenidades-orders-table thead th {
  position: sticky;
  top: 0;
  z-index: 20;
  box-shadow: 0 1px 0 rgba(124, 235, 216, 0.28);
}

.amenidades-filter-heading {
  display: block;
  min-height: 28px;
  padding-right: 30px;
}

.amenidades-filter-heading > span {
  display: block;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.amenidades-filter-trigger {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 2;
  width: 26px;
  height: 26px;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(124, 235, 216, 0.32);
  border-radius: 4px;
  background: rgba(124, 235, 216, 0.08);
  color: #7cebd8;
  cursor: pointer;
  font-size: 0.66rem;
  line-height: 1;
}

.amenidades-filter-trigger.is-active {
  border-color: #ffd21f;
  background: #ffd21f;
  color: #071313;
}

.amenidades-filter-trigger.is-loading {
  border-color: #ffd21f;
  color: #ffd21f;
  cursor: progress;
}

.amenidades-filter-menu {
  position: absolute;
  top: calc(100% - 2px);
  left: 6px;
  z-index: 100;
  width: 260px;
  padding: 10px;
  border: 1px solid rgba(124, 235, 216, 0.5);
  border-radius: 8px;
  background: #081a1b;
  color: #eafffb;
  box-shadow: 0 16px 35px rgba(0, 0, 0, 0.48);
  text-align: left;
  text-transform: none;
}

.amenidades-filter-menu input[type="search"] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  margin-bottom: 8px;
  padding: 8px 9px;
  border-color: rgba(124, 235, 216, 0.35);
  background: #102526;
  color: #fff;
}

.amenidades-filter-menu-actions {
  display: flex;
  gap: 7px;
  margin-bottom: 8px;
}

.amenidades-filter-number {
  margin: 0 0 9px;
  padding: 8px;
  border: 1px solid rgba(124, 235, 216, 0.25);
  border-radius: 6px;
  background: rgba(124, 235, 216, 0.05);
}

.amenidades-filter-number > label {
  display: block;
  margin-bottom: 6px;
  color: #ffd21f;
  font-size: 0.68rem;
  font-weight: 900;
}

.amenidades-filter-number > div {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.85fr);
  gap: 6px;
}

.amenidades-filter-number select,
.amenidades-filter-number input[type="number"] {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: 7px 6px;
  border: 1px solid rgba(124, 235, 216, 0.38);
  border-radius: 5px;
  background: #102526;
  color: #fff;
  font-size: 0.7rem;
}

.amenidades-filter-menu-actions button {
  flex: 1;
  padding: 6px 8px;
  border: 1px solid rgba(124, 235, 216, 0.38);
  border-radius: 5px;
  background: rgba(124, 235, 216, 0.1);
  color: #7cebd8;
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 900;
}

.amenidades-filter-options {
  display: grid;
  gap: 2px;
  max-height: 260px;
  overflow: auto;
  padding-right: 3px;
}

.amenidades-filter-options label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  padding: 5px 4px;
  border-radius: 4px;
  color: #eafffb;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
}

.amenidades-filter-options label:hover {
  background: rgba(124, 235, 216, 0.1);
}

.amenidades-filter-options [data-filter-option-label][hidden] {
  display: none !important;
}

.amenidades-filter-options input {
  width: 15px;
  min-width: 15px;
  height: 15px;
  margin: 0;
  padding: 0;
}

.amenidades-filter-accept {
  display: block !important;
  width: 100%;
  margin: 0 0 9px;
  padding: 8px 10px;
  border: 1px solid #ffd21f;
  border-radius: 6px;
  background: #ffd21f;
  color: #071313;
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.amenidades-filter-accept:hover {
  background: #ffe56d;
}

.amenidades-orders-table th:nth-child(1),
.amenidades-orders-table td:nth-child(1) { width: 185px; min-width: 185px; max-width: 185px; }
.amenidades-orders-table th:nth-child(2),
.amenidades-orders-table td:nth-child(2) { width: 95px; min-width: 95px; max-width: 95px; }
.amenidades-orders-table th:nth-child(3),
.amenidades-orders-table td:nth-child(3) { width: 125px; min-width: 125px; max-width: 125px; }
.amenidades-orders-table th:nth-child(4),
.amenidades-orders-table td:nth-child(4) { width: 280px; min-width: 280px; max-width: 280px; }
.amenidades-orders-table th:nth-child(5),
.amenidades-orders-table td:nth-child(5) { width: 125px; min-width: 125px; max-width: 125px; }
.amenidades-orders-table th:nth-child(6),
.amenidades-orders-table td:nth-child(6) { width: 150px; min-width: 150px; max-width: 150px; }
.amenidades-orders-table th:nth-child(7),
.amenidades-orders-table td:nth-child(7) { width: 110px; min-width: 110px; max-width: 110px; }
.amenidades-orders-table th:nth-child(8),
.amenidades-orders-table td:nth-child(8) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(9),
.amenidades-orders-table td:nth-child(9) { width: 145px; min-width: 145px; max-width: 145px; }
.amenidades-orders-table th:nth-child(10),
.amenidades-orders-table td:nth-child(10) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(11),
.amenidades-orders-table td:nth-child(11) { width: 165px; min-width: 165px; max-width: 165px; }
.amenidades-orders-table th:nth-child(12),
.amenidades-orders-table td:nth-child(12) { width: 130px; min-width: 130px; max-width: 130px; }
.amenidades-orders-table th:nth-child(13),
.amenidades-orders-table td:nth-child(13) { width: 115px; min-width: 115px; max-width: 115px; }
.amenidades-orders-table th:nth-child(14),
.amenidades-orders-table td:nth-child(14) { width: 180px; min-width: 180px; max-width: 180px; }
.amenidades-orders-table th:nth-child(15),
.amenidades-orders-table td:nth-child(15) { width: 145px; min-width: 145px; max-width: 145px; }
.amenidades-orders-table th:nth-child(18),
.amenidades-orders-table td:nth-child(18) { width: 130px; min-width: 130px; max-width: 130px; }

.amenidades-orders-table th:nth-child(1),
.amenidades-orders-table .amenidades-order-row > td:nth-child(1) { position: -webkit-sticky !important; position: sticky !important; left: 0; }
.amenidades-orders-table th:nth-child(2),
.amenidades-orders-table .amenidades-order-row > td:nth-child(2) { position: -webkit-sticky !important; position: sticky !important; left: 185px; }
.amenidades-orders-table th:nth-child(3),
.amenidades-orders-table .amenidades-order-row > td:nth-child(3) { position: -webkit-sticky !important; position: sticky !important; left: 280px; }
.amenidades-orders-table th:nth-child(4),
.amenidades-orders-table .amenidades-order-row > td:nth-child(4) { position: -webkit-sticky !important; position: sticky !important; left: 405px; }

.amenidades-orders-table tbody td:nth-child(-n + 4) {
  z-index: 10;
  background-color: #061313;
  background-clip: padding-box;
  transform: translateZ(0);
}

.amenidades-orders-table thead th:nth-child(-n + 4) {
  z-index: 30;
  background-color: #101827;
}

.amenidades-orders-table th:nth-child(4),
.amenidades-orders-table td:nth-child(4) {
  box-shadow: 8px 0 12px -10px rgba(124, 235, 216, 0.9);
}

.amenidades-orders-table th:nth-child(16),
.amenidades-orders-table td:nth-child(16) {
  width: 380px;
  min-width: 380px;
}

.amenidades-orders-table th:nth-child(13),
.amenidades-orders-table td:nth-child(13) {
  width: 105px;
  min-width: 105px;
}

.amenidades-orders-table th:nth-child(14),
.amenidades-orders-table td:nth-child(14) {
  width: 170px;
  min-width: 170px;
}

.amenidades-orders-table th:nth-child(15),
.amenidades-orders-table td:nth-child(15) {
  width: 135px;
  min-width: 135px;
}

.amenidades-orders-table th:nth-child(17),
.amenidades-orders-table td:nth-child(17) {
  width: 420px;
  min-width: 420px;
}

/* Estado Odoo fue retirado: anchos vigentes desde Penalización en adelante. */
.amenidades-orders-table th:nth-child(12),
.amenidades-orders-table td:nth-child(12) {
  width: 365px;
  min-width: 365px;
  max-width: 365px;
}

.amenidades-orders-table th:nth-child(13),
.amenidades-orders-table td:nth-child(13) {
  width: 170px;
  min-width: 170px;
  max-width: 170px;
}

.amenidades-orders-table th:nth-child(14),
.amenidades-orders-table td:nth-child(14) {
  width: 135px;
  min-width: 135px;
  max-width: 135px;
}

.amenidades-orders-table th:nth-child(15),
.amenidades-orders-table td:nth-child(15) {
  width: 380px;
  min-width: 380px;
}

.amenidades-orders-table th:nth-child(16),
.amenidades-orders-table td:nth-child(16) {
  width: 420px;
  min-width: 420px;
}

.amenidades-orders-table th:nth-child(17),
.amenidades-orders-table td:nth-child(17) {
  width: 130px;
  min-width: 130px;
  max-width: 130px;
}

.amenidades-orders-table tbody tr:not(.amenidades-order-row) > td {
  position: static;
  width: auto;
  min-width: 0;
  max-width: none;
}

/* Anchos vigentes con la columna Política de entrega (20 columnas). */
.amenidades-orders-table th:nth-child(8),
.amenidades-orders-table td:nth-child(8) { width: 210px; min-width: 210px; max-width: 210px; }
.amenidades-orders-table th:nth-child(9),
.amenidades-orders-table td:nth-child(9) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(10),
.amenidades-orders-table td:nth-child(10) { width: 145px; min-width: 145px; max-width: 145px; }
.amenidades-orders-table th:nth-child(11),
.amenidades-orders-table td:nth-child(11) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(12),
.amenidades-orders-table td:nth-child(12) { width: 165px; min-width: 165px; max-width: 165px; }
.amenidades-orders-table th:nth-child(13),
.amenidades-orders-table td:nth-child(13) { width: 130px; min-width: 130px; max-width: 130px; }
.amenidades-orders-table th:nth-child(14),
.amenidades-orders-table td:nth-child(14) { width: 170px; min-width: 170px; max-width: 170px; }
.amenidades-orders-table th:nth-child(15),
.amenidades-orders-table td:nth-child(15) { width: 180px; min-width: 180px; max-width: 180px; }
.amenidades-orders-table th:nth-child(16),
.amenidades-orders-table td:nth-child(16) { width: 145px; min-width: 145px; max-width: 145px; }
.amenidades-orders-table th:nth-child(17),
.amenidades-orders-table td:nth-child(17) { width: 380px; min-width: 380px; max-width: 380px; }
.amenidades-orders-table th:nth-child(18),
.amenidades-orders-table td:nth-child(18) { width: 420px; min-width: 420px; max-width: 420px; }
.amenidades-orders-table th:nth-child(19),
.amenidades-orders-table td:nth-child(19) { width: 130px; min-width: 130px; max-width: 130px; }
.amenidades-orders-table th:nth-child(20),
.amenidades-orders-table td:nth-child(20) { width: 280px; min-width: 280px; max-width: 280px; }

.amenidades-orders-table td,
.amenidades-monthly-table td {
  padding: 12px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.15);
  color: #ecfffb;
  font-size: 0.8rem;
  vertical-align: top;
}

.amenidades-orders-table tbody td {
  overflow: hidden;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.amenidades-filter-heading > span,
.amenidades-line-item > *,
.amenidades-inventory-current,
.amenidades-inventory-current > * {
  min-width: 0;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.amenidades-orders-table .amenidades-filter-heading > span {
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

.amenidades-orders-table .amenidades-order-row > td {
  background-image: linear-gradient(to bottom, transparent calc(100% - 1px), rgba(124, 235, 216, 0.16) calc(100% - 1px));
  background-position: 0 12px;
  background-size: 100% 106px;
}

/* Fuentes verificables y lectura centrada del grid operativo. */
.amenidades-orders-table thead th,
.amenidades-orders-table .amenidades-filter-heading {
  text-align: center;
  justify-content: center;
}

.amenidades-orders-table .amenidades-order-row > td:nth-child(5),
.amenidades-orders-table .amenidades-order-row > td:nth-child(6),
.amenidades-orders-table .amenidades-order-row > td:nth-child(7),
.amenidades-orders-table .amenidades-order-row > td:nth-child(8),
.amenidades-orders-table .amenidades-order-row > td:nth-child(10),
.amenidades-orders-table .amenidades-order-row > td:nth-child(11),
.amenidades-orders-table .amenidades-order-row > td:nth-child(12) {
  text-align: center;
}

.amenidades-data-link {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(103, 232, 218, .7);
  text-underline-offset: 3px;
  font-weight: 850;
}

.amenidades-penalty-lines .amenidades-line-item small {
  display: block;
  margin-top: 5px;
  color: #b9cecb;
  font-size: 10px;
  line-height: 1.4;
  white-space: normal;
  width: 100%;
  text-align: justify;
  text-justify: inter-word;
}

.amenidades-penalty-lines,
.amenidades-penalty-lines .amenidades-line-item {
  width: 100%;
  text-align: center;
  align-items: center;
  justify-items: center;
  overflow: visible;
  padding-right: 0;
}

.amenidades-penalty-lines .amenidades-line-item > strong {
  display: block;
  width: 100%;
  text-align: center;
  font-size: 1rem;
}

.amenidades-penalty-lines .amenidades-rule-citation {
  margin: 6px auto 0;
}

.amenidades-penalty-lines .amenidades-line-item.is-late > strong { color: #ff6666; }
.amenidades-penalty-lines .amenidades-line-item.is-on-time > strong { color: #7ef0c5; }

.amenidades-order-row.approved {
  box-shadow: inset 4px 0 0 #35e58a;
}

.amenidades-order-row.pending {
  box-shadow: inset 4px 0 0 #ffd21f;
}

.amenidades-order-row.blocked {
  box-shadow: inset 4px 0 0 #ff5f68;
}

@keyframes amenidadesPendingPenaltyPulse {
  0%, 100% {
    background-color: #181112;
    box-shadow: inset 0 0 0 1px rgba(255, 95, 104, 0.12), inset 0 0 12px rgba(255, 95, 104, 0.05);
  }
  50% {
    background-color: #341719;
    box-shadow: inset 0 0 0 1px rgba(255, 117, 124, 0.38), inset 0 0 26px rgba(255, 73, 84, 0.24);
  }
}

.amenidades-orders-table .amenidades-order-row.has-pending-penalty > td {
  animation: amenidadesPendingPenaltyPulse 3.2s ease-in-out infinite;
}

.amenidades-late-row-flag {
  display: block;
  width: fit-content;
  margin-top: 7px;
  padding: 4px 7px;
  border: 1px solid rgba(255, 117, 124, 0.58);
  border-radius: 999px;
  background: rgba(185, 28, 28, 0.24);
  color: #ffb4b8;
  font-size: 0.62rem;
  font-weight: 950;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  .amenidades-orders-table .amenidades-order-row.has-pending-penalty > td {
    animation: none;
    background-color: #291517;
    box-shadow: inset 0 0 0 1px rgba(255, 117, 124, 0.3);
  }
}

.amenidades-diagnosis-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 28px;
  margin: 0 0 6px;
  padding: 5px 9px;
  border: 1px solid rgba(255, 210, 31, 0.75);
  border-radius: 8px;
  background: rgba(255, 210, 31, 0.12);
  color: #ffd21f;
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
  white-space: nowrap;
  width: max-content;
  max-width: none;
}

.amenidades-diagnosis-button span {
  display: inline-grid;
  place-items: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #ffd21f;
  color: #001313;
  line-height: 1;
}

.amenidades-diagnosis-button:hover,
.amenidades-diagnosis-button.is-open {
  border-color: #7cebd8;
  background: rgba(124, 235, 216, 0.14);
  color: #7cebd8;
}

.amenidades-oc-link {
  display: block;
  color: #ffd21f;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.amenidades-oc-link:hover {
  color: #7cebd8;
}

.amenidades-status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
  justify-content: center;
  min-width: 118px;
  padding: 6px 10px;
  line-height: 1.05;
  text-align: center;
  white-space: nowrap;
}

.amenidades-status-pill.approved {
  color: #052d1b;
  background: #7cffb8;
}

.amenidades-status-pill.pending {
  color: #412d00;
  background: #ffe681;
}

.amenidades-status-pill.blocked {
  color: #fff;
  background: #b91c1c;
}

.amenidades-validation-cell {
  display: flex;
  align-items: center;
  gap: 7px;
}

.amenidades-exception-summary {
  display: grid;
  gap: 3px;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid rgba(246, 196, 49, 0.44);
  border-radius: 7px;
  background: rgba(246, 196, 49, 0.12);
  color: #fff3b8;
  font-size: 0.72rem;
  line-height: 1.25;
}

.amenidades-exception-summary strong {
  color: #ffd21f;
  text-transform: uppercase;
}

.amenidades-exception-summary span {
  color: #fff8cf;
}

.amenidades-approval-summary {
  display: grid;
  gap: 3px;
  margin-top: 8px;
  padding: 8px;
  border: 1px solid rgba(124, 235, 216, 0.38);
  border-radius: 7px;
  background: rgba(12, 126, 119, 0.14);
  color: #d8fff7;
  font-size: 0.72rem;
  line-height: 1.25;
}

.amenidades-approval-summary strong {
  color: #7cebd8;
  text-transform: uppercase;
}

.amenidades-approval-summary span {
  color: #d8fff7;
}

.amenidades-issue-summary,
.amenidades-solution-summary {
  display: grid;
  gap: 5px;
  margin: 0;
  padding-left: 16px;
  font-size: 0.74rem;
  line-height: 1.25;
}

.amenidades-issue-summary {
  color: #fff4bf;
}

.amenidades-solution-summary {
  color: #bdf8e8;
}

.amenidades-issue-summary li::marker {
  color: #ffd21f;
}

.amenidades-rule-citation {
  display: block;
  width: max-content;
  margin-top: 6px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #ffd21f;
  cursor: pointer;
  font: inherit;
  font-size: 0.69rem;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.amenidades-rule-citation:hover {
  color: #fff3a3;
}

.amenidades-solution-summary li::marker {
  color: #7cebd8;
}

.amenidades-no-issues {
  color: #7cffb8;
  font-weight: 900;
}

.amenidades-inventory-current {
  display: grid;
  gap: 3px;
  min-width: 140px;
}

.amenidades-inventory-current strong {
  color: #fff;
  font-size: 0.86rem;
}

.amenidades-inventory-current span {
  color: #7cebd8;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-inventory-current .amenidades-warehouse-breakdown,
.amenidades-inventory-current .amenidades-inventory-source-label {
  display: grid;
  gap: 1px;
  margin-top: 4px;
  color: #a9c7c3;
  font-size: 0.66rem;
  font-weight: 700;
  line-height: 1.25;
  text-transform: none;
}

.amenidades-inventory-current .amenidades-warehouse-breakdown span {
  display: block;
  color: #a9c7c3;
  font-size: inherit;
  font-weight: 700;
  text-transform: none;
}

.amenidades-inventory-current .amenidades-warehouse-breakdown b {
  color: #7cebd8;
}

.amenidades-inventory-current .amenidades-warehouse-total {
  margin-top: 2px;
  padding-top: 2px;
  border-top: 1px solid rgba(124, 235, 216, 0.22);
  color: #ecfffb !important;
}

/* Inventarios: mismo lenguaje visual que Control de Órdenes Amenidades */
#inventarios .section-heading {
  align-items: end;
  margin-bottom: 14px;
  padding: 2px 0 0;
}

#inventarios .section-heading h3 {
  max-width: 560px;
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 0.95;
}

#inventarios .inventory-report-stack {
  gap: 14px;
}

#inventarios .inventory-dashboard-panel {
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-left: 4px solid #f6c431;
  background: #061516;
  box-shadow: none;
}

#inventarios .inventory-dashboard-panel .collections-report-header {
  align-items: center;
  min-height: 86px;
  padding: 14px 18px;
  background: linear-gradient(90deg, #062021, #09191b);
}

#inventarios .inventory-dashboard-panel .collections-report-header h4 {
  font-size: 1.05rem;
}

#inventarios .inventory-dashboard-panel .refresh-actions {
  align-items: end;
  gap: 10px;
}

#inventarios .inventory-dashboard-panel .refresh-actions label {
  min-width: 225px;
}

#inventarios .inventory-dashboard-panel .refresh-actions input {
  min-height: 38px;
}

#inventarios .inventory-dashboard-panel .collections-report-details {
  border-top: 1px solid rgba(124, 235, 216, 0.15);
  background: #020c0d;
}

#inventarios .inventory-dashboard-panel .collections-report-details > summary {
  display: none;
}

#inventarios .inventory-report-shell,
#inventarios .embedded-report-shell,
#inventarios .sheet-report-shell {
  border-color: rgba(124, 235, 216, 0.18);
  background: #020c0d;
}

#inventarios .embedded-report-frame {
  background: #020c0d;
}

#inventarios #inventoryPendingDeliveryBody {
  min-height: 0;
}

#inventarios #inventoryPendingDeliveryBody .embedded-report-frame {
  min-height: 0;
  height: 180px;
}

#inventarios .kpi-status {
  margin: 10px 14px;
  border-color: rgba(124, 235, 216, 0.24);
  background: #0a2521;
  color: #d8f3ee;
}

#inventarios .inventory-forecast-panel .collections-report-header {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) auto;
  align-items: end;
}

#inventarios .inventory-forecast-header-controls {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(220px, 320px) minmax(260px, 1fr) auto minmax(260px, auto);
  align-items: end;
  width: 100%;
  margin: 4px 0 0;
  padding: 11px 12px;
  border-color: rgba(124, 235, 216, 0.25);
  background: #071b1c;
}

#inventarios .inventory-forecast-header-controls .odoo-inventory-source-switch {
  grid-column: 3;
  grid-row: 2;
  margin-top: 8px;
}

#inventarios #inventoryForecastOdooApiStatus {
  grid-column: 4;
  grid-row: 2;
  margin-top: 8px;
}

#inventarios .inventory-forecast-header-controls label {
  min-width: 0;
}

#inventarios .inventory-forecast-header-controls > span:not(.amenidades-source-status) {
  align-self: center;
  max-width: none;
}

#inventarios .sheet-tabs-toolbar {
  border-color: rgba(124, 235, 216, 0.18);
  background: #071b1c;
}

#inventarios .sheet-tabs-status {
  color: #a9c7c3;
}

#inventarios .sheet-frame {
  border-color: rgba(124, 235, 216, 0.18);
  background: #fff;
}

@media (max-width: 1100px) {
  #inventarios .inventory-forecast-header-controls {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 760px) {
  #inventarios .inventory-dashboard-panel .collections-report-header,
  #inventarios .inventory-forecast-panel .collections-report-header,
  #inventarios .inventory-forecast-header-controls {
    display: grid;
    grid-template-columns: 1fr;
  }

  #inventarios .inventory-dashboard-panel .refresh-actions {
    width: 100%;
  }
}

.amenidades-inventory-current a {
  color: #ffd21f;
  font-size: 0.7rem;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.amenidades-line-list {
  display: grid;
  gap: 0;
}

.amenidades-line-item {
  display: grid;
  gap: 2px;
  align-content: start;
  box-sizing: border-box;
  height: 106px;
  overflow: hidden;
  padding: 0 0 7px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.16);
}

/* Advertencia preventiva de inventario por partida, alineada con FECHA API Odoo. */
.amenidades-orders-table th:nth-child(2),
.amenidades-orders-table td:nth-child(2) {
  width: 360px;
  min-width: 360px;
  max-width: 360px;
}

.amenidades-orders-table th:nth-child(3),
.amenidades-orders-table .amenidades-order-row > td:nth-child(3) { left: 545px; }

.amenidades-orders-table th:nth-child(4),
.amenidades-orders-table .amenidades-order-row > td:nth-child(4) { left: 670px; }

.amenidades-orders-table .amenidades-line-item {
  height: 300px;
}

.amenidades-orders-table .amenidades-order-row > td {
  background-size: 100% 300px;
}

.amenidades-date-warning-lines .amenidades-line-item {
  overflow: visible;
  gap: 5px;
  padding: 0 0 8px;
}

.amenidades-row-date {
  display: block;
  color: #fff !important;
  font-size: .7rem !important;
  text-align: center;
}

.amenidades-inventory-warning {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 7px;
  width: 100%;
  padding: 7px;
  border: 2px solid #ffd21f;
  border-radius: 8px;
  background: rgba(255, 210, 31, .13);
  box-shadow: 0 0 16px rgba(255, 210, 31, .2);
  color: #fff;
  text-align: left;
}

.amenidades-warning-triangle {
  color: #ffd21f !important;
  font-size: 2.2rem !important;
  line-height: 1;
  filter: drop-shadow(0 0 4px rgba(255, 210, 31, .55));
}

.amenidades-inventory-warning > div > strong {
  display: block;
  color: #ffd21f;
  font-size: .92rem;
  line-height: 1.1;
}

.amenidades-inventory-warning p {
  margin: 2px 0 4px;
  color: #fff;
  font-size: .72rem;
  font-weight: 850;
  line-height: 1.25;
}

.amenidades-inventory-warning ul {
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.amenidades-inventory-warning li {
  color: #eafffa;
  font-size: .68rem;
  line-height: 1.25;
}

.amenidades-inventory-warning li small {
  display: block;
  color: #bcd3cf;
  font-size: .64rem;
  line-height: 1.25;
}

.amenidades-inventory-warning .is-sufficient { color: #77f0bd; }
.amenidades-inventory-warning .is-partial { color: #ffd76a; }

.amenidades-warning-result {
  display: block;
  margin-top: 3px;
  color: #ffd21f;
  font-size: .66rem;
  font-weight: 900;
  line-height: 1.25;
}

.amenidades-issue-lines .amenidades-line-item,
.amenidades-solution-lines .amenidades-line-item {
  overflow: auto;
  padding-right: 4px;
}

.amenidades-line-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.amenidades-product-lines .amenidades-line-item strong {
  color: #fff;
  font-size: 0.78rem;
  line-height: 1.25;
}

.amenidades-qty-lines .amenidades-line-item strong {
  color: #fff;
  font-size: 0.82rem;
}

.amenidades-line-item span {
  color: #b9c9c5;
  font-size: 0.68rem;
  font-weight: 800;
}

.amenidades-line-status-link {
  color: #ffdf69;
  font-size: 0.68rem;
  font-weight: 900;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
}

.amenidades-inventory-lines .amenidades-line-item.is-missing strong,
.amenidades-inventory-lines .amenidades-line-item.is-missing span {
  color: #ffdf69;
}

.amenidades-actions {
  min-width: 250px;
}

.amenidades-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin: 0 5px 6px 0;
  border: 1px solid rgba(124, 235, 216, 0.42);
  border-radius: 7px;
  padding: 7px 10px;
  background: rgba(10, 126, 119, 0.22);
  color: #7cebd8;
  font-weight: 900;
  cursor: pointer;
}

.amenidades-actions button:first-child {
  border-color: rgba(246, 196, 49, 0.8);
  background: #ffd21f;
  color: #0b1414;
}

.amenidades-actions button.danger-action {
  border-color: rgba(255, 95, 104, 0.62);
  background: rgba(185, 28, 28, 0.28);
  color: #ffd6d9;
}

.amenidades-actions button:disabled {
  opacity: 0.72;
  cursor: progress;
}

.amenidades-actions button.is-loading {
  pointer-events: none;
}

.inline-spinner {
  width: 13px;
  height: 13px;
  border: 2px solid rgba(11, 20, 20, 0.25);
  border-top-color: currentColor;
  border-radius: 999px;
  animation: inlineSpin 0.72s linear infinite;
}

@keyframes inlineSpin {
  to {
    transform: rotate(360deg);
  }
}

.amenidades-order-detail {
  padding: 16px;
  border: 1px solid rgba(124, 235, 216, 0.24);
  border-radius: 8px;
  background: rgba(1, 10, 10, 0.82);
}

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

.amenidades-detail-grid div {
  padding: 12px;
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.amenidades-detail-grid span,
.amenidades-products h5 {
  display: block;
  color: #ffd21f;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-detail-grid strong {
  display: block;
  margin-top: 6px;
  color: #fff;
}

.amenidades-products {
  margin-top: 14px;
}

.amenidades-products ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: #d7f5ef;
}

.amenidades-checklist {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 14px;
}

.amenidades-check {
  display: grid;
  grid-template-columns: 28px 1fr;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(124, 235, 216, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.035);
}

.amenidades-check > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  font-weight: 900;
}

.amenidades-check.ok > span {
  background: #7cffb8;
  color: #052d1b;
}

.amenidades-check.warn > span {
  background: #ffd21f;
  color: #412d00;
}

.amenidades-check.fail > span {
  background: #b91c1c;
  color: #fff;
}

.amenidades-check strong {
  color: #fff;
}

.amenidades-check p {
  margin: 4px 0 0;
  color: #a9c4c0;
  font-size: 0.78rem;
}

.amenidades-exception,
.amenidades-compliance-note {
  margin-top: 14px;
  padding: 12px;
  border: 1px solid rgba(246, 196, 49, 0.55);
  border-radius: 8px;
  background: rgba(246, 196, 49, 0.12);
  color: #fff3b8;
  font-weight: 800;
}

.amenidades-report-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  gap: 16px;
}

.amenidades-compliance-report {
  grid-column: 1 / -1;
}

.amenidades-penalty-report-count {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding: 8px 14px;
  border: 1px solid rgba(255, 117, 124, 0.48);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(185, 28, 28, 0.28), rgba(255, 92, 99, 0.08));
  color: #ffd7d9;
  font-size: 0.92rem;
  font-weight: 900;
}

.amenidades-penalty-report-count b {
  color: #ffffff;
  font-size: 1.65rem;
  line-height: 1;
}

.amenidades-penalty-report-count span {
  max-width: 190px;
  line-height: 1.2;
}

.amenidades-penalty-report-toolbar {
  display: grid;
  grid-template-columns: auto auto minmax(280px, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin-top: 14px;
}

.amenidades-penalty-report-toolbar label {
  display: grid;
  gap: 5px;
  color: #7cebd8;
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.amenidades-penalty-report-toolbar input {
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(124, 235, 216, 0.42);
  border-radius: 7px;
  background: #071718;
  color: #fff;
}

.amenidades-penalty-report-toolbar > span {
  grid-column: 1 / -1;
  color: #b9cecb;
  font-size: 0.72rem;
}

.amenidades-penalty-report-wrap {
  margin-top: 13px;
  overflow-x: auto;
  border: 1px solid rgba(255, 117, 124, 0.24);
  border-radius: 9px;
}

.amenidades-penalty-report-wrap.has-filter-open {
  min-height: 430px;
}

.amenidades-penalty-report-table {
  width: 100%;
  min-width: 1900px;
  border-collapse: collapse;
}

.amenidades-penalty-report-table th,
.amenidades-penalty-report-table td {
  padding: 10px 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  border-bottom: 1px solid rgba(255, 117, 124, 0.16);
  color: #eafffb;
  font-size: 0.76rem;
  text-align: left;
  vertical-align: top;
}

.amenidades-penalty-report-table th {
  position: relative;
  overflow: visible;
  padding-right: 42px;
  background: #231416;
  color: #ffb4b8;
  font-size: 0.66rem;
  text-transform: uppercase;
}

.amenidades-penalty-filter-menu {
  z-index: 120;
  width: 290px;
  max-height: 390px;
}

.amenidades-penalty-filter-menu > strong {
  display: block;
  margin-bottom: 7px;
  color: #ffd21f;
  font-size: 0.68rem;
}

.amenidades-penalty-filter-sort-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  margin-bottom: 9px;
}

.amenidades-penalty-filter-sort-actions button {
  border: 1px solid rgba(124, 235, 216, 0.35);
  border-radius: 5px;
  padding: 7px;
  background: rgba(124, 235, 216, 0.08);
  color: #dffdfa;
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 850;
}

.amenidades-penalty-filter-menu .amenidades-filter-options {
  max-height: 215px;
}

.amenidades-penalty-report-table th:nth-last-child(-n + 2) .amenidades-penalty-filter-menu {
  right: 6px;
  left: auto;
}

.amenidades-penalty-report-table tbody tr:nth-child(even) {
  background: rgba(255, 95, 104, 0.045);
}

.amenidades-penalty-report-table th:last-child,
.amenidades-penalty-report-table td:last-child {
  text-align: center;
}

.amenidades-no-receipt,
.amenidades-penalty-days {
  color: #ff858c;
}

.amenidades-penalty-report-oc-link {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #7cebd8;
  font-weight: 950;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.amenidades-penalty-report-oc-link:hover,
.amenidades-penalty-report-oc-link:focus-visible {
  color: #ffffff;
}

.amenidades-penalty-report-oc-link span {
  color: #ffd21f;
  font-size: 0.72rem;
  text-decoration: none;
}

.amenidades-penalty-report-sku {
  display: block;
  padding: 3px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  line-height: 1.35;
}

.amenidades-penalty-report-sku:last-child {
  border-bottom: 0;
}

.amenidades-partial-overdue-list {
  display: grid;
  min-width: 330px;
  gap: 7px;
}

.amenidades-partial-overdue-item {
  display: grid;
  gap: 3px;
  border-left: 3px solid #ff656d;
  border-radius: 0 7px 7px 0;
  padding: 7px 9px;
  background: rgba(255, 92, 99, 0.1);
}

.amenidades-partial-overdue-item strong {
  color: #ffffff;
  line-height: 1.3;
}

.amenidades-partial-overdue-item span {
  color: #ffb4b8;
  font-weight: 900;
}

.amenidades-partial-overdue-item small {
  color: #dce9e7;
  line-height: 1.4;
}

.amenidades-partial-overdue-item .amenidades-inventory-cutoff-note {
  display: block;
  margin-top: 3px;
  border-top: 1px solid rgba(124, 235, 216, 0.18);
  padding-top: 5px;
  color: #7cebd8;
  font-size: 0.84rem;
  font-weight: 900;
  line-height: 1.5;
}

.amenidades-inventory-cutoff-note a {
  color: inherit;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.amenidades-receipt-reason {
  display: block;
  min-width: 245px;
  border-left: 3px solid #ffd21f;
  border-radius: 0 7px 7px 0;
  padding: 7px 9px;
  background: rgba(255, 210, 31, 0.08);
  color: #dce9e7;
  font-weight: 750;
  line-height: 1.4;
}

.amenidades-receipt-reason.is-cancelled_without_replacement {
  border-left-color: #ff656d;
  background: rgba(255, 92, 99, 0.1);
  color: #ffc3c6;
}

.amenidades-receipt-reason.is-pending {
  border-left-color: #7cebd8;
  background: rgba(0, 168, 143, 0.1);
  color: #baf3e9;
}

.amenidades-penalty-report-empty {
  padding: 20px !important;
  color: #b9cecb !important;
  text-align: center !important;
}

.amenidades-monthly-metric-link {
  min-width: 34px;
  border: 0;
  padding: 3px 5px;
  background: transparent;
  color: #7cebd8;
  cursor: pointer;
  font: inherit;
  font-weight: 950;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.amenidades-monthly-metric-link:hover,
.amenidades-monthly-metric-link:focus-visible {
  border-radius: 5px;
  background: rgba(124, 235, 216, 0.12);
  color: #ffffff;
  outline: 1px solid rgba(124, 235, 216, 0.42);
}

.amenidades-monthly-detail-overlay {
  position: fixed;
  inset: 0;
  z-index: 15000;
  display: grid;
  place-items: center;
  padding: 26px;
  background: rgba(1, 8, 9, 0.82);
  backdrop-filter: blur(7px);
}

.amenidades-monthly-detail-modal {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(1500px, 96vw);
  max-height: 90vh;
  overflow: hidden;
  border: 1px solid rgba(124, 235, 216, 0.42);
  border-radius: 16px;
  background: #071516;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.58);
}

.amenidades-monthly-detail-modal > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid rgba(124, 235, 216, 0.22);
  background: linear-gradient(135deg, #0d292a, #071718);
}

.amenidades-monthly-detail-modal h4 {
  margin: 4px 0 0;
  color: #ffffff;
  font-size: 1.25rem;
}

.amenidades-monthly-detail-heading-actions {
  display: flex;
  align-items: center;
  gap: 14px;
}

.amenidades-monthly-detail-heading-actions strong {
  border: 1px solid rgba(124, 235, 216, 0.38);
  border-radius: 999px;
  padding: 7px 11px;
  color: #7cebd8;
}

.amenidades-monthly-detail-heading-actions button {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  cursor: pointer;
  font-size: 1.45rem;
  line-height: 1;
}

.amenidades-monthly-detail-table-wrap {
  min-height: 0;
  overflow: auto;
}

.amenidades-monthly-detail-table {
  width: 100%;
  min-width: 1280px;
  border-collapse: separate;
  border-spacing: 0;
}

.amenidades-monthly-detail-table th,
.amenidades-monthly-detail-table td {
  padding: 10px 12px;
  border-right: 1px solid rgba(124, 235, 216, 0.12);
  border-bottom: 1px solid rgba(124, 235, 216, 0.14);
  color: #eafffb;
  font-size: 0.76rem;
  text-align: left;
  vertical-align: top;
}

.amenidades-monthly-detail-table th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #101827;
  color: #ffd21f;
  font-size: 0.68rem;
  text-transform: uppercase;
}

.amenidades-monthly-detail-table tbody tr:nth-child(even) {
  background: rgba(124, 235, 216, 0.035);
}

.amenidades-monthly-detail-table a {
  color: #7cebd8;
  font-weight: 900;
  text-underline-offset: 3px;
}

.amenidades-monthly-detail-product {
  display: block;
  padding: 2px 0;
  line-height: 1.35;
}

.amenidades-monthly-odoo-links {
  display: grid;
  gap: 7px;
  min-width: 112px;
}

.amenidades-monthly-detail-table .has-receipt {
  color: #7ef0c5;
}

@media (max-width: 760px) {
  .amenidades-monthly-detail-overlay {
    padding: 10px;
  }

  .amenidades-monthly-detail-modal > header {
    align-items: flex-start;
    padding: 14px;
  }
}

@media (max-width: 1200px) {
  .amenidades-summary-grid,
  .amenidades-detail-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .amenidades-rules-grid {
    grid-template-columns: 1fr;
  }

  .amenidades-report-grid,
  .amenidades-checklist {
    grid-template-columns: 1fr;
  }

  .amenidades-penalty-report-toolbar {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}


.forecast-sheet-picker {
  display: flex;
  align-items: end;
  gap: 14px;
  flex-wrap: wrap;
  padding: 12px 14px;
  margin: 0 0 12px;
  border: 1px solid rgba(111, 244, 220, 0.32);
  border-radius: 8px;
  background: rgba(2, 42, 38, 0.72);
}

.forecast-sheet-picker label {
  display: grid;
  gap: 6px;
  min-width: 260px;
  color: #ffd51f;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.forecast-sheet-picker select {
  min-height: 38px;
  border: 1px solid rgba(111, 244, 220, 0.65);
  border-radius: 6px;
  background: #051614;
  color: #f7fffb;
  font-weight: 800;
  padding: 0 12px;
}

.forecast-sheet-picker span {
  color: #b6cbc6;
  font-size: 12px;
  font-weight: 700;
  max-width: 580px;
}


.amenidades-sku-table .amenidades-sku-section-row td {
  background: rgba(255, 203, 5, 0.18);
  color: #ffcb05;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-top: 1px solid rgba(255, 203, 5, 0.45);
  border-bottom: 1px solid rgba(255, 203, 5, 0.3);
}

.amenidades-api-source-pill {
  align-self: end;
  border: 1px solid rgba(255, 203, 5, 0.55);
  border-radius: 10px;
  background: rgba(255, 203, 5, 0.12);
  color: #ffdf4d;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
  padding: 11px 13px;
  text-transform: uppercase;
  white-space: nowrap;
}




.amenidades-source-switch {
  align-items: center;
  display: inline-flex;
  gap: 8px;
  margin-top: 17px;
  min-height: 38px;
  color: #d7e6f4;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.amenidades-source-switch input {
  appearance: none;
  background: #1f2937;
  border: 1px solid rgba(148, 163, 184, .7);
  border-radius: 999px;
  cursor: pointer;
  height: 22px;
  margin: 0;
  position: relative;
  width: 42px;
}

.amenidades-source-switch input::after {
  background: #cbd5e1;
  border-radius: 999px;
  content: '';
  height: 16px;
  left: 3px;
  position: absolute;
  top: 2px;
  transition: transform .18s ease, background .18s ease;
  width: 16px;
}

.amenidades-source-switch input:checked {
  background: #1d4ed8;
  border-color: rgba(147, 197, 253, .9);
}

.amenidades-source-switch input:checked::after {
  background: #eff6ff;
  transform: translateX(19px);
}

.amenidades-source-status {
  align-self: center;
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  line-height: 1;
  margin-top: 17px;
  padding: 10px 12px;
  text-transform: uppercase;
  white-space: nowrap;
}

.amenidades-source-status.is-api {
  background: rgba(37, 99, 235, 0.16);
  border: 1px solid rgba(147, 197, 253, 0.6);
  color: #bfdbfe;
}

.amenidades-source-status.is-sheet {
  background: rgba(226, 232, 240, 0.12);
  border: 1px solid rgba(203, 213, 225, 0.45);
  color: #e2e8f0;
}

.forecast-sheet-picker .amenidades-source-switch,
.forecast-sheet-picker .amenidades-source-status {
  margin-top: 0;
}

.refresh-actions .amenidades-source-switch {
  background: rgba(15, 23, 42, 0.42);
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 999px;
  gap: 9px;
  padding: 7px 10px;
}

.refresh-actions .amenidades-source-switch input[type="checkbox"],
.forecast-sheet-picker .amenidades-source-switch input[type="checkbox"] {
  box-sizing: border-box;
  flex: 0 0 42px;
  min-height: 22px;
  min-width: 42px;
  max-width: 42px;
  width: 42px;
  padding: 0;
}

.refresh-actions .amenidades-source-switch span,
.forecast-sheet-picker .amenidades-source-switch span {
  color: #dbeafe;
  font-size: 10px;
  line-height: 1;
  white-space: nowrap;
}


.amenidades-source-modal-overlay {
  align-items: center;
  background: rgba(0, 10, 12, 0.72);
  backdrop-filter: blur(6px);
  display: flex;
  inset: 0;
  justify-content: center;
  padding: 24px;
  position: fixed;
  z-index: 10000;
}

.amenidades-source-modal {
  background: linear-gradient(145deg, #071615 0%, #102025 100%);
  border: 1px solid rgba(111, 244, 220, .34);
  border-radius: 18px;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .45);
  color: #f8fafc;
  max-width: 100%;
  padding: 24px;
  width: 520px;
}

.amenidades-source-modal-header {
  align-items: center;
  color: #7fffe1;
  display: flex;
  font-size: 11px;
  font-weight: 900;
  gap: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.amenidades-source-modal-header p {
  margin: 0;
}

.amenidades-source-modal-dot {
  background: #ffcb05;
  border-radius: 999px;
  box-shadow: 0 0 0 5px rgba(255, 203, 5, .12);
  height: 10px;
  width: 10px;
}

.amenidades-source-modal h3 {
  font-size: 26px;
  line-height: 1.05;
  margin: 12px 0 10px;
}

.amenidades-source-modal-message {
  color: #dbeafe;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.55;
  margin: 0;
}

.amenidades-source-modal-footer {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  margin-top: 22px;
}

.amenidades-source-modal-badge {
  background: rgba(37, 99, 235, .14);
  border: 1px solid rgba(147, 197, 253, .45);
  border-radius: 999px;
  color: #bfdbfe;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  padding: 9px 11px;
  text-transform: uppercase;
}

.amenidades-source-modal-footer .primary-action {
  min-width: 110px;
}

@media (max-width: 620px) {
  .amenidades-source-modal-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .amenidades-source-modal-footer .primary-action {
    width: 100%;
  }
}

.amenidades-sku-matrix-tools {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.amenidades-sku-matrix-tools .secondary-action {
  border-color: rgba(124, 235, 216, .55);
  color: #7cebd8;
  min-height: 30px;
  padding: 7px 10px;
}

.amenidades-sku-actions-cell {
  min-width: 140px;
  position: sticky;
  right: 0;
  z-index: 1;
  background: rgba(2, 24, 24, .96);
  white-space: nowrap;
}

.amenidades-sku-table th:last-child {
  min-width: 140px;
  position: sticky;
  right: 0;
  z-index: 3;
}

.amenidades-sku-row-action {
  align-items: center;
  border: 1px solid rgba(124, 235, 216, .42);
  border-radius: 7px;
  cursor: pointer;
  display: inline-flex;
  font-size: .72rem;
  font-weight: 950;
  justify-content: center;
  line-height: 1;
  min-height: 28px;
  padding: 7px 9px;
}

.amenidades-sku-row-action + .amenidades-sku-row-action {
  margin-left: 6px;
}

.amenidades-sku-row-action.add {
  background: rgba(124, 235, 216, .16);
  color: #bffcf2;
}

.amenidades-sku-row-action.delete {
  background: rgba(220, 38, 38, .16);
  border-color: rgba(248, 113, 113, .48);
  color: #fecaca;
}

.amenidades-sku-row-action:hover {
  filter: brightness(1.12);
}


[data-save-amenidades-rules].is-saving {
  cursor: wait;
  opacity: .86;
  position: relative;
}

[data-save-amenidades-rules].is-saving::after {
  animation: amenidadesSavePulse 1s ease-in-out infinite;
  background: rgba(17, 24, 39, .32);
  border-radius: inherit;
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
}

@keyframes amenidadesSavePulse {
  0%, 100% { opacity: .12; }
  50% { opacity: .38; }
}

/* Orden final del grid: confirmación y entrega esperada separadas, ambas desde Odoo. */
.amenidades-orders-table th:nth-child(1),
.amenidades-orders-table td:nth-child(1) { width: 185px; min-width: 185px; max-width: 185px; }
.amenidades-orders-table th:nth-child(2),
.amenidades-orders-table td:nth-child(2) { width: 145px; min-width: 145px; max-width: 145px; }
.amenidades-orders-table th:nth-child(3),
.amenidades-orders-table td:nth-child(3) { width: 360px; min-width: 360px; max-width: 360px; }
.amenidades-orders-table th:nth-child(4),
.amenidades-orders-table td:nth-child(4) { width: 125px; min-width: 125px; max-width: 125px; box-shadow: none; }
.amenidades-orders-table th:nth-child(5),
.amenidades-orders-table td:nth-child(5) { width: 280px; min-width: 280px; max-width: 280px; }
.amenidades-orders-table th:nth-child(6),
.amenidades-orders-table td:nth-child(6) { width: 125px; min-width: 125px; max-width: 125px; }
.amenidades-orders-table th:nth-child(7),
.amenidades-orders-table td:nth-child(7) { width: 150px; min-width: 150px; max-width: 150px; }
.amenidades-orders-table th:nth-child(8),
.amenidades-orders-table td:nth-child(8) { width: 260px; min-width: 260px; max-width: 260px; }
.amenidades-orders-table th:nth-child(9),
.amenidades-orders-table td:nth-child(9) { width: 145px; min-width: 145px; max-width: 145px; }
.amenidades-orders-table th:nth-child(10),
.amenidades-orders-table td:nth-child(10) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(11),
.amenidades-orders-table td:nth-child(11) { width: 165px; min-width: 165px; max-width: 165px; }
.amenidades-orders-table th:nth-child(12),
.amenidades-orders-table td:nth-child(12) { width: 365px; min-width: 365px; max-width: 365px; }
.amenidades-orders-table th:nth-child(13),
.amenidades-orders-table td:nth-child(13) { width: 170px; min-width: 170px; max-width: 170px; }
.amenidades-orders-table th:nth-child(14),
.amenidades-orders-table td:nth-child(14) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(15),
.amenidades-orders-table td:nth-child(15) { width: 380px; min-width: 380px; max-width: none; }
.amenidades-orders-table th:nth-child(16),
.amenidades-orders-table td:nth-child(16) { width: 420px; min-width: 420px; max-width: none; }
.amenidades-orders-table th:nth-child(17),
.amenidades-orders-table td:nth-child(17) { width: 130px; min-width: 130px; max-width: 130px; }

.amenidades-orders-table th:nth-child(1),
.amenidades-orders-table .amenidades-order-row > td:nth-child(1) { left: 0; }
.amenidades-orders-table th:nth-child(2),
.amenidades-orders-table .amenidades-order-row > td:nth-child(2) { left: 185px; }
.amenidades-orders-table th:nth-child(3),
.amenidades-orders-table .amenidades-order-row > td:nth-child(3) { position: -webkit-sticky !important; position: sticky !important; left: 330px; }
.amenidades-orders-table th:nth-child(4),
.amenidades-orders-table .amenidades-order-row > td:nth-child(4) { left: 690px; }
.amenidades-orders-table th:nth-child(5),
.amenidades-orders-table .amenidades-order-row > td:nth-child(5) { position: -webkit-sticky !important; position: sticky !important; left: 815px; }

.amenidades-orders-table tbody td:nth-child(-n + 5) {
  z-index: 10;
  background-color: #061313;
  background-clip: padding-box;
  transform: translateZ(0);
}

.amenidades-orders-table thead th:nth-child(-n + 5) {
  z-index: 30;
  background-color: #101827;
}

.amenidades-orders-table th:nth-child(5),
.amenidades-orders-table td:nth-child(5) {
  box-shadow: 8px 0 12px -10px rgba(124, 235, 216, .9);
}

.amenidades-orders-table .amenidades-order-row > td:nth-child(2),
.amenidades-orders-table .amenidades-order-row > td:nth-child(3),
.amenidades-orders-table .amenidades-order-row > td:nth-child(6),
.amenidades-orders-table .amenidades-order-row > td:nth-child(7),
.amenidades-orders-table .amenidades-order-row > td:nth-child(8),
.amenidades-orders-table .amenidades-order-row > td:nth-child(10),
.amenidades-orders-table .amenidades-order-row > td:nth-child(11),
.amenidades-orders-table .amenidades-order-row > td:nth-child(12) {
  text-align: center;
}

/* Tipografía ampliada para aprovechar el espacio disponible del grid. */
.amenidades-orders-table th {
  font-size: .8rem;
  line-height: 1.2;
}

.amenidades-orders-table td {
  font-size: .9rem;
  line-height: 1.3;
}

.amenidades-primary-date,
.amenidades-row-date {
  display: inline-block;
  color: #fff !important;
  font-size: 1.05rem !important;
  font-weight: 950 !important;
  line-height: 1.2;
  letter-spacing: .01em;
}

.amenidades-product-lines .amenidades-line-item strong {
  font-size: .9rem;
  line-height: 1.3;
}

.amenidades-qty-lines .amenidades-line-item strong,
.amenidades-inventory-current strong {
  font-size: .94rem;
}

.amenidades-line-item > span,
.amenidades-inventory-current span,
.amenidades-line-status-link {
  font-size: .76rem;
  line-height: 1.3;
}

.amenidades-inventory-current .amenidades-warehouse-breakdown,
.amenidades-inventory-current .amenidades-inventory-source-label {
  font-size: .73rem;
  line-height: 1.35;
}

.amenidades-issue-summary,
.amenidades-solution-summary {
  font-size: .82rem;
  line-height: 1.35;
}

.amenidades-rule-citation {
  font-size: .76rem;
}

:where([hidden]) {
  display: none !important;
}

/* Recepciones parciales por producto y trazabilidad de envío por destinatario. */
.amenidades-orders-table {
  min-width: 4235px;
}

.amenidades-orders-table th:nth-child(10),
.amenidades-orders-table td:nth-child(10) { width: 185px; min-width: 185px; max-width: 185px; }
.amenidades-orders-table th:nth-child(11),
.amenidades-orders-table td:nth-child(11) { width: 150px; min-width: 150px; max-width: 150px; }
.amenidades-orders-table th:nth-child(12),
.amenidades-orders-table td:nth-child(12) { width: 165px; min-width: 165px; max-width: 165px; }
.amenidades-orders-table th:nth-child(13),
.amenidades-orders-table td:nth-child(13) { width: 365px; min-width: 365px; max-width: 365px; }
.amenidades-orders-table th:nth-child(14),
.amenidades-orders-table td:nth-child(14) { width: 170px; min-width: 170px; max-width: 170px; }
.amenidades-orders-table th:nth-child(15),
.amenidades-orders-table td:nth-child(15) { width: 135px; min-width: 135px; max-width: 135px; }
.amenidades-orders-table th:nth-child(16),
.amenidades-orders-table td:nth-child(16) { width: 380px; min-width: 380px; max-width: none; }
.amenidades-orders-table th:nth-child(17),
.amenidades-orders-table td:nth-child(17) { width: 420px; min-width: 420px; max-width: none; }
.amenidades-orders-table th:nth-child(18),
.amenidades-orders-table td:nth-child(18) { width: 130px; min-width: 130px; max-width: 130px; }
.amenidades-orders-table th:nth-child(19),
.amenidades-orders-table td:nth-child(19) { width: 360px; min-width: 360px; max-width: 360px; }

.amenidades-orders-table .amenidades-order-row > td:nth-child(10),
.amenidades-orders-table .amenidades-order-row > td:nth-child(11),
.amenidades-orders-table .amenidades-order-row > td:nth-child(12),
.amenidades-orders-table .amenidades-order-row > td:nth-child(13) {
  text-align: center;
}

.amenidades-receipt-lines .amenidades-line-item,
.amenidades-pending-receipt-lines .amenidades-line-item {
  align-items: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: center;
}

.amenidades-receipt-lines .amenidades-line-item strong,
.amenidades-pending-receipt-lines .amenidades-line-item strong {
  color: #fff;
  font-size: .95rem;
}

.amenidades-receipt-lines .amenidades-line-item small,
.amenidades-pending-receipt-lines .amenidades-line-item small {
  color: #adc8c3;
  display: block;
  font-size: .74rem;
  line-height: 1.35;
  margin-top: 6px;
}

.amenidades-pending-receipt-lines .is-pending strong {
  color: #ffe56d;
}

.amenidades-pending-receipt-lines .is-complete strong,
.amenidades-receipt-lines .has-receipt strong {
  color: #7cf3d8;
}

.amenidades-email-tracking {
  color: #dcefeb;
  font-size: .76rem;
  line-height: 1.35;
  text-align: left;
}

.amenidades-email-tracking > small {
  color: #9ab7b1;
  display: block;
  margin-top: 3px;
}

.amenidades-email-sent-date {
  color: #fff;
  display: block;
  font-size: .82rem;
}

.amenidades-email-tracking ul {
  display: grid;
  gap: 7px;
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.amenidades-email-tracking li {
  border-top: 1px solid rgba(124, 235, 216, .17);
  overflow-wrap: anywhere;
  padding-top: 7px;
}

.amenidades-email-tracking li span,
.amenidades-email-tracking li em {
  display: block;
}

.amenidades-email-tracking li em {
  font-style: normal;
  font-weight: 850;
  margin-top: 3px;
}

.amenidades-email-tracking .is-read { color: #7cf3d8; }
.amenidades-email-tracking .is-unread { color: #ffe56d; }
.amenidades-email-tracking .is-legacy { color: #c6d5d2; }
.amenidades-email-tracking.is-empty small { margin-top: 6px; }

.order-tracking-conflict-overlay {
  position: fixed;
  inset: 0;
  z-index: 14000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0, 7, 8, 0.88);
  backdrop-filter: blur(8px);
}

.order-tracking-conflict-dialog {
  width: min(1040px, 96vw);
  max-height: 92vh;
  overflow: auto;
  border: 1px solid rgba(255, 196, 61, 0.58);
  border-radius: 18px;
  background: #071718;
  color: #eafffb;
  padding: 26px;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.64);
}

.order-tracking-conflict-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.order-tracking-conflict-heading h2 {
  margin: 4px 0 10px;
  color: #ffffff;
  font-size: clamp(22px, 3vw, 30px);
}

.order-tracking-conflict-heading p:last-child {
  max-width: 780px;
  margin: 0;
  color: #b9cfcb;
  line-height: 1.55;
}

.order-tracking-conflict-close {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 26px;
  cursor: pointer;
}

.order-tracking-conflict-table-wrap {
  margin-top: 22px;
  overflow-x: auto;
  border: 1px solid rgba(124, 235, 216, 0.22);
  border-radius: 12px;
}

.order-tracking-conflict-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.order-tracking-conflict-table th,
.order-tracking-conflict-table td {
  border-right: 1px solid rgba(124, 235, 216, 0.14);
  border-bottom: 1px solid rgba(124, 235, 216, 0.14);
  padding: 13px 15px;
  text-align: left;
  vertical-align: top;
}

.order-tracking-conflict-table th:last-child,
.order-tracking-conflict-table td:last-child {
  border-right: 0;
}

.order-tracking-conflict-table tbody tr:last-child th,
.order-tracking-conflict-table tbody tr:last-child td {
  border-bottom: 0;
}

.order-tracking-conflict-table thead th {
  background: #0e2b2c;
  color: #7cebd8;
  font-size: 11px;
  text-transform: uppercase;
}

.order-tracking-conflict-table tbody th {
  background: #0b2021;
  color: #ffffff;
}

.order-tracking-conflict-table .current-value {
  background: rgba(255, 196, 61, 0.1);
  color: #ffe29a;
  font-weight: 800;
}

.order-tracking-conflict-table .requested-value {
  background: rgba(79, 210, 122, 0.1);
  color: #a9f4c0;
  font-weight: 800;
}

.order-tracking-conflict-warning {
  display: grid;
  gap: 4px;
  margin-top: 18px;
  border-left: 4px solid #ffcb3d;
  border-radius: 0 8px 8px 0;
  padding: 12px 15px;
  background: rgba(255, 196, 61, 0.09);
  color: #fff2c4;
}

.order-tracking-conflict-warning span {
  color: #c7d8d5;
  font-size: 12px;
}

.order-tracking-conflict-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 22px;
}

.order-tracking-conflict-actions button {
  min-height: 42px;
}

.order-tracking-conflict-actions .danger-action {
  border: 1px solid #ff747a;
  border-radius: 8px;
  background: #a9252c;
  color: #ffffff;
  padding: 10px 16px;
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.order-tracking-conflict-actions .danger-action:hover:not(:disabled) {
  background: #c42e36;
}

.order-tracking-conflict-actions .danger-action:disabled {
  cursor: wait;
  opacity: 0.62;
}

@media (max-width: 760px) {
  .order-tracking-conflict-overlay { padding: 8px; }
  .order-tracking-conflict-dialog { width: 100%; padding: 18px; }
  .order-tracking-conflict-actions { display: grid; }
  .order-tracking-conflict-actions button { width: 100%; }
}
.commission-intro {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(78, 226, 199, .32);
  border-radius: 10px;
  background: rgba(0, 170, 150, .08);
}

.commission-intro strong { color: #68efd5; }
.commission-intro span { color: #b8cbc8; }
.commission-header-actions { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.commission-registry-link { border: 1px solid #ffd338; border-radius: 7px; background: rgba(255, 211, 56, .12); color: #ffd338; padding: 7px 11px; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.commission-registry-link:hover { background: #ffd338; color: #061617; }

.commission-controls {
  display: grid;
  grid-template-columns: minmax(145px, .65fr) minmax(150px, .7fr) minmax(175px, .9fr) minmax(190px, 1fr) minmax(250px, 1.3fr) auto;
  gap: 10px;
  align-items: end;
  margin-bottom: 12px;
}

.commission-controls label {
  display: grid;
  gap: 5px;
  color: #9eb4b0;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.commission-controls input,
.commission-controls select {
  width: 100%;
  min-height: 40px;
  border: 1px solid #28534f;
  border-radius: 7px;
  background: #071d1e;
  color: #f5fbfa;
  padding: 8px 10px;
}

.commission-result-head {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.commission-result-head > div,
.commission-breakdown > div {
  display: grid;
  gap: 4px;
  padding: 13px;
  border: 1px solid #28534f;
  border-radius: 9px;
  background: #081f20;
}

.commission-result-head span,
.commission-breakdown span {
  color: #a8bcb9;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.commission-result-head strong { color: #fff; font-size: 18px; }
.commission-result-head small,
.commission-breakdown small { color: #9eb4b0; }
.commission-result-head .is-unlocked { border-color: #25d9a6; }
.commission-result-head .is-unlocked strong { color: #66f5c8; }
.commission-result-head .is-locked { border-color: #806a25; }
.commission-result-head .is-locked strong { color: #ffd338; }
.commission-result-head .is-score-green { border-color: #25d9a6; background: rgba(37, 217, 166, .1); box-shadow: inset 0 3px 0 #25d9a6; }
.commission-result-head .is-score-green strong { color: #66f5c8; }
.commission-result-head .is-score-yellow { border-color: #ffd338; background: rgba(255, 211, 56, .1); box-shadow: inset 0 3px 0 #ffd338; }
.commission-result-head .is-score-yellow strong { color: #ffd338; }
.commission-result-head .is-score-red { border-color: #ef5d67; background: rgba(239, 93, 103, .1); box-shadow: inset 0 3px 0 #ef5d67; }
.commission-result-head .is-score-red strong { color: #ff858d; }
.commission-result-head .commission-total-card { border-color: #e4b90b; background: rgba(228, 185, 11, .1); }
.commission-result-head .commission-total-card strong { color: #ffd338; font-size: 25px; }

.commission-hitos { display: grid; gap: 8px; }
.commission-hito { border: 1px solid #274b49; border-radius: 9px; background: #07191a; overflow: hidden; }
.commission-hito summary { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 13px 15px; cursor: pointer; }
.commission-hito summary > div { display: grid; gap: 3px; }
.commission-hito summary strong { color: #f6faf9; }
.commission-hito summary small { color: #9db1ae; }
.commission-hito summary b { color: #ffd338; font-size: 18px; }

.commission-evidence-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; padding: 0 12px 12px; }
.commission-evidence-list a { display: grid; gap: 3px; padding: 10px; border-left: 3px solid #32ddbd; border-radius: 6px; background: #0a2928; color: #fff; text-decoration: none; }
.commission-evidence-list a:hover { background: #0e3734; }
.commission-evidence-list span,
.commission-evidence-list small { color: #b6cbc7; }
.commission-empty-detail { margin: 0; padding: 0 15px 14px; color: #9eb4b0; }

.commission-breakdown { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.commission-breakdown strong { color: #fff; font-size: 17px; }
.commission-breakdown .commission-grand-total { border-color: #e4b90b; }
.commission-breakdown .commission-grand-total strong { color: #ffd338; font-size: 21px; }
.commission-notes { margin-top: 12px; padding: 13px 16px; border-radius: 9px; background: rgba(255, 211, 56, .08); color: #d8e4e1; }
.commission-notes > strong { color: #ffd338; }
.commission-notes ul { margin: 8px 0 0; padding-left: 18px; }

.commission-agency-registry { margin-top: 14px; padding: 14px; border: 1px solid #2b5b56; border-radius: 10px; background: #071b1c; }
.commission-agency-registry:focus { outline: 2px solid #ffd338; outline-offset: 3px; }
.commission-registry-heading { display: flex; align-items: end; justify-content: space-between; gap: 14px; }
.commission-registry-heading > div { display: grid; gap: 3px; }
.commission-registry-heading span { color: #68efd5; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-registry-heading strong { color: #fff; font-size: 18px; }
.commission-registry-heading b { color: #ffd338; font-size: 18px; }
.commission-agency-registry > p { margin: 8px 0 12px; color: #b7cbc8; }
.commission-registry-result-heading { margin-top: 8px; }
.commission-registry-result-heading p { margin: 0; color: #b7cbc8; }
.commission-agency-enrollment { display: grid; grid-template-columns: minmax(190px, .8fr) minmax(280px, 1.5fr) minmax(155px, .65fr) auto; gap: 9px; align-items: end; margin: 14px 0 9px; padding: 12px; border: 1px solid #315d58; border-radius: 9px; background: rgba(17, 55, 53, .55); }
.commission-agency-enrollment label { display: grid; gap: 5px; color: #a9bfbb; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-agency-enrollment input,
.commission-agency-enrollment select { width: 100%; min-height: 39px; border: 1px solid #34625d; border-radius: 7px; background: #071d1e; color: #f6fbfa; padding: 8px 10px; }
.commission-agency-search-results { display: grid; gap: 7px; max-height: 330px; margin: 9px 0 14px; overflow-y: auto; scrollbar-gutter: stable; }
.commission-agency-search-result { display: grid; grid-template-columns: minmax(220px, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 12px; border: 1px solid #2b5551; border-radius: 8px; background: #092425; }
.commission-agency-search-result:hover { border-color: #50d9c0; background: #0b302f; }
.commission-agency-search-result > div { display: grid; gap: 3px; }
.commission-agency-search-result strong { color: #fff; }
.commission-agency-search-result small { color: #aabfbb; }
.commission-agency-search-result button,
.commission-registry-status-button { border: 1px solid #45d9bd; border-radius: 6px; background: rgba(69, 217, 189, .12); color: #68efd5; padding: 7px 10px; font: inherit; font-size: 11px; font-weight: 900; cursor: pointer; }
.commission-registry-status-button.is-deactivate { border-color: #9c5257; color: #ff9ea4; background: rgba(156, 82, 87, .12); }
.commission-source-badge { display: inline-flex; margin: 2px; padding: 4px 8px; border-radius: 999px; background: #263c3b; color: #d7e4e1; font-size: 10px; font-weight: 900; }
.commission-source-badge.odoo { background: rgba(114, 47, 87, .35); color: #f3b7d8; }
.commission-source-badge.zoho { background: rgba(52, 105, 183, .3); color: #b9d7ff; }
.commission-registry-table td > strong,
.commission-registry-table td > small { display: block; }
.commission-registry-table td > small { margin-top: 3px; color: #9eb4b0; }
.commission-registry-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 900; }
.commission-registry-status.is-qualified { background: rgba(45, 222, 163, .17); color: #6cf4c8; }
.commission-registry-status.is-enrolled { background: rgba(255, 211, 56, .14); color: #ffe267; }
.commission-registry-status.is-inactive { background: rgba(148, 160, 158, .14); color: #aebcba; }
.commission-registry-table-wrap { overflow-x: auto; }
.commission-registry-table { width: 100%; border-collapse: collapse; min-width: 760px; }
.commission-registry-table th { padding: 9px 10px; background: #102129; color: #ffd338; font-size: 10px; text-align: left; text-transform: uppercase; }
.commission-registry-table td { padding: 10px; border-bottom: 1px solid #214441; color: #eaf4f2; }
.commission-registry-table a { color: #68efd5; font-weight: 800; }
.commission-active-pill { display: inline-flex; padding: 4px 9px; border-radius: 999px; background: rgba(51, 222, 167, .16); color: #70f5cc; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-registry-empty { color: #9eb4b0 !important; text-align: center; }

@media (max-width: 1150px) {
  .commission-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commission-agency-enrollment { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commission-result-head { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .commission-breakdown { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 700px) {
  .commission-controls,
  .commission-result-head,
  .commission-breakdown,
  .commission-evidence-list { grid-template-columns: 1fr; }
  .commission-intro { align-items: flex-start; flex-direction: column; }
  .commission-registry-heading { align-items: flex-start; flex-direction: column; }
  .commission-agency-enrollment,
  .commission-agency-search-result { grid-template-columns: 1fr; }
}

/* Commission module: two focused, mutually exclusive workspaces. */
.commissions-panel { overflow: hidden; border-left-color: #f2c716; }
.commission-module-header { display: grid; grid-template-columns: minmax(240px, .7fr) minmax(520px, 1.3fr); gap: 22px; align-items: center; padding: 18px 20px; }
.commission-module-header h4 { margin: 3px 0 5px; color: #fff; font-size: 20px; }
.commission-module-header > div:first-child > p:last-child { margin: 0; color: #9fb4b0; }
.commission-mode-actions { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.commission-mode-button { display: grid; grid-template-columns: 34px 1fr; column-gap: 10px; align-items: center; min-height: 66px; padding: 11px 13px; border: 1px solid #2c5551; border-radius: 10px; background: #092122; color: #fff; text-align: left; cursor: pointer; }
.commission-mode-button > span { grid-row: 1 / span 2; display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: rgba(73, 225, 197, .13); color: #68efd5; font-size: 11px; font-weight: 900; }
.commission-mode-button strong { align-self: end; font-size: 14px; }
.commission-mode-button small { align-self: start; color: #9eb4b0; }
.commission-mode-button:hover,
.commission-mode-button.is-active { border-color: #58dcc4; background: #0c302e; }
.commission-mode-button.registry > span { background: rgba(255, 211, 56, .13); color: #ffd338; }
.commission-mode-button.registry:hover,
.commission-mode-button.registry.is-active { border-color: #ffd338; }
.commission-mode-button.validation > span { background: rgba(101, 143, 255, .14); color: #91b0ff; }
.commission-mode-button.validation:hover,
.commission-mode-button.validation.is-active { border-color: #91b0ff; }

.commission-workspace { padding: 20px; border-top: 1px solid #214946; background: linear-gradient(180deg, rgba(10, 37, 37, .72), rgba(3, 19, 20, .55)); }
.commission-workspace-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 16px; }
.commission-workspace-heading > div { display: grid; gap: 3px; }
.commission-workspace-heading span { color: #67e5cf; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-workspace-heading h5 { margin: 0; color: #fff; font-size: 18px; }
.commission-workspace-heading p { margin: 0; color: #a8bbb8; }
.commission-close-button { border: 1px solid #385b58; border-radius: 7px; background: transparent; color: #b8cbc8; padding: 7px 12px; font: inherit; font-weight: 800; cursor: pointer; }
.commission-close-button:hover { color: #fff; border-color: #6f9893; }
.commission-inline-status { margin: 10px 0 0; padding: 8px 11px; font-size: 11px; }
.commission-empty-state { display: grid; place-items: center; gap: 5px; min-height: 110px; margin-top: 14px; border: 1px dashed #31524f; border-radius: 10px; color: #92a9a5; text-align: center; }
.commission-empty-state strong { color: #d7e5e2; font-size: 15px; }

.commission-program-rule { display: flex; gap: 12px; align-items: center; margin-bottom: 14px; padding: 11px 13px; border-radius: 9px; background: rgba(255, 211, 56, .09); color: #cddbd8; }
.commission-program-rule strong { flex: 0 0 auto; color: #ffd338; }
.commission-enrollment-card,
.commission-registry-list { padding: 16px; border: 1px solid #2b514e; border-radius: 11px; background: #071d1e; }
.commission-registry-list { margin-top: 12px; }
.commission-step-title { display: flex; gap: 10px; align-items: center; }
.commission-step-title > span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: #54e1c7; color: #06201e; font-size: 12px; font-weight: 950; }
.commission-step-title > div { display: grid; gap: 2px; }
.commission-step-title strong { color: #fff; font-size: 14px; }
.commission-step-title small { color: #9eb4b0; }
.commission-agency-enrollment { margin: 14px 0 8px; padding: 0; border: 0; background: transparent; }
.commission-helper-text { min-height: 18px; color: #95aaa6; font-size: 11px; }
.commission-helper-text[data-type="success"] { color: #6ceacb; }
.commission-helper-text[data-type="error"] { color: #ff9da3; }
.commission-registry-toolbar { display: flex; justify-content: space-between; gap: 16px; align-items: center; margin-bottom: 12px; }
.commission-registry-evaluation { display: flex; gap: 8px; align-items: end; }
.commission-registry-evaluation label { display: grid; gap: 4px; color: #9eb4b0; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-registry-evaluation input { min-height: 35px; border: 1px solid #315955; border-radius: 6px; background: #071718; color: #fff; padding: 6px 8px; }
.commission-registry-evaluation button { min-height: 35px; border: 1px solid #ffd338; border-radius: 6px; background: rgba(255, 211, 56, .12); color: #ffd338; padding: 7px 10px; font: inherit; font-weight: 900; cursor: pointer; }

.commission-validation-list { display: grid; gap: 12px; margin-top: 12px; }
.commission-validation-search-tools { display: flex; align-items: end; justify-content: flex-end; gap: 8px; min-width: min(100%, 520px); }
.commission-validation-search-tools label { display: grid; flex: 1 1 360px; gap: 5px; color: #a9bfbb; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-validation-search-tools input { width: 100%; min-height: 38px; border: 1px solid #47736e; border-radius: 7px; background: #061718; color: #fff; padding: 8px 10px; font: inherit; text-transform: none; }
.commission-validation-search-tools input:focus { outline: 2px solid rgba(91,229,183,.35); border-color: #5be5b7; }
.commission-validation-search-tools button { min-height: 38px; white-space: nowrap; }
.commission-validation-search-tools .commission-refresh-snapshot { border: 1px solid #ffd338; border-radius: 7px; background: linear-gradient(135deg, #ffe066, #f3bc16); color: #171407; padding: 8px 16px; font: inherit; font-weight: 950; cursor: pointer; box-shadow: 0 5px 14px rgba(255,211,56,.18); transition: transform .15s ease, box-shadow .15s ease, filter .15s ease; }
.commission-validation-search-tools .commission-refresh-snapshot:hover { transform: translateY(-1px); box-shadow: 0 7px 18px rgba(255,211,56,.27); filter: brightness(1.04); }
.commission-validation-search-tools .commission-refresh-snapshot:disabled { cursor: wait; opacity: .7; transform: none; box-shadow: none; }
.commission-validation-summary { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 11px 13px; border: 1px solid #315d58; border-radius: 9px; background: #071d1e; color: #a9bfbb; }
.commission-validation-summary span { padding: 6px 10px; border-radius: 999px; background: #102b2a; }
.commission-validation-summary span strong { color: #fff; }
.commission-validation-summary > b { margin-left: auto; color: #91b0ff; }
.commission-validation-filter { border: 1px solid transparent; border-radius: 999px; background: #102b2a; color: #a9bfbb; padding: 6px 10px; font: inherit; cursor: pointer; transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease; }
.commission-validation-filter strong { color: #fff; }
.commission-validation-filter:hover { border-color: #5a827c; color: #fff; transform: translateY(-1px); }
.commission-validation-filter.is-active { border-color: #ffd338; background: rgba(255,211,56,.14); color: #ffe477; box-shadow: 0 0 0 2px rgba(255,211,56,.06); }
.commission-validation-filter[data-validation-filter="approved"].is-active { border-color: #48dda9; background: rgba(40,213,161,.16); color: #83f3ce; }
.commission-validation-card { overflow: hidden; border: 1px solid #355c58; border-radius: 10px; background: #07191a; }
.commission-validation-card.is-approved { border-color: #2e816c; }
.commission-validation-card.is-rejected { border-color: #81424a; }
.commission-validation-card.is-cancelled { border-color: #81424a; }
.commission-validation-card > header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; padding: 13px 14px; background: #0d2929; }
.commission-validation-card > header div { display: grid; gap: 3px; }
.commission-validation-card > header span { color: #68efd5; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-validation-card > header h6 { margin: 0; color: #fff; font-size: 15px; }
.commission-validation-card > header small { color: #9eb4b0; }
.commission-validation-card > header > b { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #ffd66b; background: rgba(255,192,61,.14); font-size: 10px; text-transform: uppercase; }
.commission-validation-card.is-approved > header > b { color: #71f4cc; background: rgba(40,213,161,.16); }
.commission-validation-card.is-rejected > header > b { color: #ff9da3; background: rgba(239,93,103,.14); }
.commission-validation-card.is-cancelled > header > b { color: #ff9da3; background: rgba(239,93,103,.14); }
.commission-validation-trace { display: grid; grid-template-columns: 1.25fr .85fr .7fr; border-top: 1px solid #294744; border-bottom: 1px solid #294744; background: #061d1e; }
.commission-validation-trace > div { display: grid; gap: 4px; padding: 11px 14px; border-right: 1px solid #294744; }
.commission-validation-trace > div:last-child { border-right: 0; }
.commission-validation-trace span { color: #8fa8a4; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-validation-trace strong { color: #f3faf8; font-size: 12px; }
.commission-validation-trace strong b { margin: 0 5px; color: #ffd338; font-size: 15px; }
.commission-validation-source { padding: 9px 14px; color: #b9d8d2; background: rgba(53,211,190,.08); border-top: 1px solid #294744; font-size: 11px; }
.commission-validation-source strong { color: #5af0d4; }
.commission-validation-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; padding: 10px 14px; border-top: 1px solid #294744; border-bottom: 1px solid #294744; color: #9fb4b0; }
.commission-validation-meta a { color: #72efd8; font-weight: 800; }
.commission-validation-no-evidence { color: #ffbd72; }
.commission-validation-warning { padding: 9px 14px; color: #ffb2b7; background: rgba(239,93,103,.11); font-weight: 800; }
.commission-return-notes { display: grid; gap: 7px; padding: 11px 14px; border-top: 1px solid rgba(255,211,56,.22); border-bottom: 1px solid rgba(255,211,56,.22); background: rgba(255,211,56,.065); }
.commission-return-notes > strong { color: #ffd338; font-size: 11px; text-transform: uppercase; }
.commission-return-notes ol { display: grid; gap: 7px; margin: 0; padding: 0; list-style: none; }
.commission-return-notes li { display: grid; gap: 4px; padding-left: 10px; border-left: 3px solid #ffd338; }
.commission-return-notes li div { display: flex; flex-wrap: wrap; gap: 6px 10px; color: #9fb5b1; font-size: 10px; }
.commission-return-notes time { color: #fff; font-weight: 900; }
.commission-return-notes p { margin: 0; color: #f2f7f5; font-size: 12px; line-height: 1.45; }
.commission-validation-readonly { padding: 12px 14px; color: #b9cbc8; background: rgba(255,255,255,.025); border-top: 1px solid #294744; font-size: 12px; }
.commission-validation-request { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 8px 11px; border-top: 1px solid #294744; }
.commission-validation-request-status { display: grid; gap: 3px; min-width: 0; }
.commission-validation-request-status strong { color: #ffd338; font-size: 11px; }
.commission-validation-request-status ul { display: grid; gap: 3px; max-height: 140px; overflow: auto; margin: 2px 0 0; padding: 0; list-style: none; }
.commission-validation-request-status li { display: flex; flex-wrap: wrap; gap: 5px 9px; color: #b8cbc7; font-size: 10px; }
.commission-validation-request-status time { color: #fff; font-weight: 800; }
.commission-validation-request-status li span { color: #9eb5b1; }
.commission-validation-card > .commission-validation-request-status { padding: 10px 14px; border-top: 1px solid #294744; background: rgba(255,211,56,.055); }
.commission-validation-request button { min-height: 36px; margin-left: auto; border: 1px solid #78aaff; border-radius: 7px; background: rgba(65,119,214,.16); color: #a9c7ff; padding: 7px 12px; font: inherit; font-weight: 900; cursor: pointer; white-space: nowrap; }
.commission-validation-request button.is-requested { border-color: #43dda5; background: linear-gradient(135deg, #19936c, #0f7657); color: #fff; box-shadow: 0 5px 15px rgba(38,202,143,.17); }
.commission-validation-request button.is-requested:hover { background: linear-gradient(135deg, #21a87c, #128061); }
.commission-validation-request button:disabled { opacity: .55; cursor: wait; }
.commission-approval-notice-overlay { position: fixed; inset: 0; z-index: 1400; display: grid; place-items: center; padding: 24px; background: transparent; }
.odoo-confirm-overlay.commission-resend-confirm-overlay { background: transparent; backdrop-filter: none; }
.commission-approval-notice { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 18px; width: min(570px, 100%); overflow: hidden; border: 1px solid rgba(255,211,56,.7); border-radius: 16px; padding: 26px; background: radial-gradient(circle at 100% 0, rgba(255,211,56,.12), transparent 42%), #071516; color: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.03) inset; }
.commission-approval-notice::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg, #ffd338, #fff0a6, #ffd338); }
.commission-approval-notice-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, #ffe56d, #eeb80c); color: #111006; font-size: 24px; font-weight: 950; box-shadow: 0 8px 24px rgba(255,211,56,.23); }
.commission-approval-notice-content { display: grid; gap: 8px; }
.commission-approval-notice-content > span { color: #ffd338; font-size: 10px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.commission-approval-notice-content h3 { margin: 0; color: #fff; font-size: 22px; line-height: 1.15; }
.commission-approval-notice-content > strong { color: #ffe57c; font-size: 13px; }
.commission-approval-notice-content p { margin: 3px 0 4px; color: #d5e1df; font-size: 14px; line-height: 1.55; }
.commission-approval-notice-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 8px; padding-top: 16px; border-top: 1px solid rgba(255,211,56,.2); }
.commission-approval-notice-meta b { color: #99b0ac; font-size: 10px; text-transform: uppercase; }
.commission-approval-notice-meta button { min-height: 40px; border: 1px solid #ffd338; border-radius: 999px; background: linear-gradient(135deg, #ffe36b, #f5c516); color: #171407; padding: 0 19px; font: inherit; font-weight: 950; cursor: pointer; box-shadow: 0 6px 18px rgba(255,211,56,.2); }
.commission-approval-notice.is-error { border-color: rgba(255,211,56,.6); }
.commission-approval-notice.is-error .commission-approval-notice-icon { background: #ffd338; }
.commission-validation-audit { display: grid; gap: 3px; padding: 10px 14px; color: #a9bfbb; background: rgba(66,123,112,.1); }
.commission-validation-audit strong { color: #fff; }
.commission-validation-cancel { display: flex; justify-content: flex-end; padding: 10px 14px; border-top: 1px solid #294744; }
.commission-validation-cancel button { border: 1px solid #ef7079; border-radius: 7px; background: rgba(239,93,103,.12); color: #ff9da3; padding: 7px 11px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-validation-approved-actions { display: flex; justify-content: flex-end; gap: 8px; padding: 10px 14px; border-top: 1px solid #294744; }
.commission-validation-approved-actions button { border-radius: 7px; padding: 7px 11px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-validation-approved-actions .edit { border: 1px solid #55d9c0; background: rgba(31,190,159,.12); color: #73efd8; }
.commission-validation-approved-actions .cancel { border: 1px solid #ef7079; background: rgba(239,93,103,.12); color: #ff9da3; }
.commission-validation-form.is-editing { border-top: 2px solid #55d9c0; background: rgba(25,88,78,.18); }
.commission-validation-audit.is-edit { border-color: #4a7e74; background: rgba(31,190,159,.07); }
.commission-validation-request-control { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 9px 14px; border-top: 1px solid #294744; background: rgba(255,211,56,.04); }
.commission-validation-request-control > button { flex: 0 0 auto; border: 1px solid #ef7079; border-radius: 7px; background: rgba(239,93,103,.12); color: #ff9da3; padding: 7px 11px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-validation-form { display: grid; grid-template-columns: minmax(175px,.55fr) minmax(220px,.75fr) minmax(210px,.7fr) minmax(260px,1.1fr); gap: 10px; padding: 14px; }
.commission-validation-form label { display: grid; gap: 5px; color: #a9bfbb; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-validation-form input,
.commission-validation-form select,
.commission-validation-form textarea { width: 100%; border: 1px solid #315955; border-radius: 7px; background: #061718; color: #fff; padding: 8px 9px; font: inherit; text-transform: none; }
.commission-validation-form input,
.commission-validation-form select { min-height: 38px; }
.commission-validation-form textarea { resize: vertical; }
.commission-validation-form label > small { color: #78938e; font-size: 9px; font-weight: 700; letter-spacing: 0; text-transform: none; }
.commission-validation-form .commission-validation-comment { grid-column: 1 / -1; }
.commission-date-picker { display: grid; grid-template-columns: 1fr 42px; overflow: hidden; border: 1px solid #315955; border-radius: 8px; background: #061718; }
.commission-date-picker:focus-within { border-color: #ffd338; box-shadow: 0 0 0 3px rgba(255,211,56,.12); }
.commission-date-picker input { min-width: 0; border: 0; border-radius: 0; color-scheme: dark; }
.commission-date-picker input:focus { outline: 0; }
.commission-date-picker button { display: grid; place-items: center; border: 0; border-left: 1px solid #315955; background: linear-gradient(145deg,#ffe163,#f3bd12); color: #151306; font: inherit; cursor: pointer; }
.commission-date-picker button svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.commission-date-picker button:hover { filter: brightness(1.08); }
.commission-validation-evidence-list { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.commission-validation-evidence-list > strong { color: #ffd338; font-size: 10px; text-transform: uppercase; }
.commission-validation-evidence-list a { white-space: nowrap; }
.commission-evidence-requirements { grid-column: 1 / -1; display: grid; grid-template-columns: auto repeat(3,minmax(150px,1fr)); align-items: center; gap: 7px; padding: 9px; border: 1px solid rgba(255,211,56,.22); border-radius: 9px; background: rgba(255,211,56,.045); }
.commission-evidence-requirements > strong { color: #ffd338; font-size: 9px; text-transform: uppercase; }
.commission-evidence-requirements > span { display: flex; align-items: center; gap: 7px; color: #d8e5e2; font-size: 10px; line-height: 1.3; }
.commission-evidence-requirements b { display: grid; flex: 0 0 auto; place-items: center; width: 23px; height: 23px; border-radius: 50%; background: #173a36; color: #70efd7; font-size: 8px; }
.commission-validation-actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.commission-validation-actions button { min-height: 36px; border: 1px solid #55d9c0; border-radius: 7px; background: #0b302e; color: #73efd8; padding: 7px 11px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-validation-actions button.approve { border-color: #5be5b7; background: rgba(40,213,161,.15); color: #75f1c7; }
.commission-validation-actions button.reject { border-color: #ef7079; background: rgba(239,93,103,.12); color: #ff9da3; }
.commission-validation-actions button:disabled { opacity: .45; cursor: not-allowed; }
.commission-validation-participant { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 12px; padding: 9px 14px; border-top: 1px solid #294744; background: rgba(74,224,187,.055); }
.commission-validation-participant span { color: #8fa8a4; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-validation-participant strong { color: #74efd5; font-size: 11px; }
.commission-approval-confirm-overlay { position: fixed; inset: 0; z-index: 1460; display: grid; place-items: center; padding: 24px; background: transparent; }
.commission-approval-confirm { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 18px; width: min(650px,100%); overflow: hidden; border: 1px solid rgba(255,211,56,.78); border-radius: 18px; padding: 27px; background: radial-gradient(circle at 100% 0,rgba(255,211,56,.13),transparent 43%),#071516; color: #fff; box-shadow: 0 34px 95px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.035) inset; }
.commission-approval-confirm::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg,#ffd338,#fff3ac,#35dcb5); }
.commission-approval-confirm-icon { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: linear-gradient(145deg,#ffe56d,#f0bd14); color: #121006; font-size: 25px; font-weight: 950; box-shadow: 0 9px 25px rgba(255,211,56,.24); }
.commission-approval-confirm-content { display: grid; gap: 9px; }
.commission-approval-confirm-content > span { color: #ffd338; font-size: 10px; font-weight: 950; letter-spacing: .09em; text-transform: uppercase; }
.commission-approval-confirm-content h3 { margin: 0; color: #fff; font-size: 23px; line-height: 1.15; }
.commission-approval-confirm-content > strong { color: #78efd6; font-size: 13px; }
.commission-approval-confirm-content > p { margin: 1px 0 3px; color: #c8d8d5; line-height: 1.5; }
.commission-approval-confirm-content dl { display: grid; gap: 1px; margin: 5px 0; overflow: hidden; border: 1px solid #294b47; border-radius: 10px; background: rgba(255,255,255,.025); }
.commission-approval-confirm-content dl > div { display: grid; grid-template-columns: minmax(150px,.65fr) 1fr; gap: 12px; padding: 10px 12px; }
.commission-approval-confirm-content dl > div + div { border-top: 1px solid #294b47; }
.commission-approval-confirm-content dt { color: #91aaa6; font-size: 10px; font-weight: 900; text-transform: uppercase; }
.commission-approval-confirm-content dd { margin: 0; color: #fff; font-size: 12px; font-weight: 800; line-height: 1.4; }
.commission-approval-confirm-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 7px; }
.commission-approval-confirm-actions button { min-height: 40px; border: 1px solid #526d68; border-radius: 999px; background: #102423; color: #d8e5e2; padding: 9px 17px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-approval-confirm-actions button.approve { border-color: #ffd338; background: linear-gradient(145deg,#ffe36b,#f4c116); color: #171407; box-shadow: 0 7px 20px rgba(255,211,56,.18); }
.commission-registry-confirm-overlay { position: fixed; inset: 0; z-index: 1480; display: grid; place-items: center; padding: 24px; background: rgba(1,10,11,.76); backdrop-filter: blur(7px); }
.commission-registry-confirm { width: min(610px,100%); }
.commission-registry-confirm.is-deactivate { border-color: rgba(255,116,126,.75); background: radial-gradient(circle at 100% 0,rgba(239,93,103,.15),transparent 43%),#071516; }
.commission-registry-confirm.is-deactivate::before { background: linear-gradient(90deg,#ef5d67,#ff9ba2,#ffd338); }
.commission-registry-confirm.is-deactivate .commission-approval-confirm-icon { background: linear-gradient(145deg,#ff9ba2,#df4753); color: #fff; box-shadow: 0 9px 25px rgba(239,93,103,.25); }
.commission-approval-confirm-actions button.is-danger { border-color: #f0757e; background: linear-gradient(145deg,#ef6671,#cf3845); color: #fff; box-shadow: 0 7px 20px rgba(239,93,103,.2); }
.commission-registry-confirm.is-reactivate .commission-approval-confirm-icon { background: linear-gradient(145deg,#72efd7,#22b99e); color: #05231e; }
.commission-validation-inline small { color: #ffd66b !important; font-weight: 900; }
.commission-validation-inline.is-rejected small { color: #ff9da3 !important; }
.commission-matrix-event-entry { display: grid; gap: 6px; align-items: start; }
.commission-matrix-event-entry > a,
.commission-matrix-event-entry > div { display: grid; gap: 6px; color: inherit; text-decoration: none; }
.commission-matrix-event-entry + .commission-matrix-event-entry { margin-top: 7px; padding-top: 7px; border-top: 1px solid rgba(123,170,163,.18); }
.commission-client-document { display: block; color: #98afab; line-height: 1.35; }
.commission-client-evidence { display: grid; gap: 4px; margin-top: 4px; padding: 8px 9px; border: 1px solid rgba(80,227,207,.24); border-radius: 7px; background: rgba(80,227,207,.055); }
.commission-client-evidence span { color: #8ba7a2; font-size: 9px; font-weight: 800; letter-spacing: .35px; text-transform: uppercase; }
.commission-client-evidence a { color: #50e3cf; font-size: 11px; font-weight: 750; line-height: 1.35; text-decoration: underline; overflow-wrap: anywhere; }
.commission-client-no-evidence { display: block; color: #879d99; font-style: italic; line-height: 1.35; }
.commission-client-audit { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 7px; margin-top: 1px; padding: 6px 7px; border-left: 2px solid #ffd338; border-radius: 0 5px 5px 0; background: rgba(255,211,56,.055); }
.commission-client-audit small { color: #8fa7a3; font-size: 9px; line-height: 1.25; }
.commission-client-audit b { color: #ffe16b; font-size: 10px; white-space: nowrap; }
.commission-inline-cancel { justify-self: start; border: 1px solid #ef7079; border-radius: 6px; background: rgba(239,93,103,.1); color: #ff9da3; padding: 5px 8px; font: inherit; font-size: 10px; font-weight: 900; cursor: pointer; }
.commission-inline-cancel:hover { background: rgba(239,93,103,.2); color: #fff; }
.commission-inline-cancel:disabled { opacity: .55; cursor: wait; }
.commission-approved-dates { display: grid; gap: 2px; }
.commission-approved-dates span { color: #8fa8a4; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-approved-dates strong + span { margin-top: 5px; }
.commission-approved-dates strong:last-child { color: #6ff0d7; }
.commission-approved-dates p { margin: 1px 0 0; padding: 6px 8px; border-left: 2px solid #ffd338; background: rgba(255,211,56,.055); color: #e6efed; font-size: 10px; line-height: 1.45; }
.commission-cancel-overlay { position: fixed; inset: 0; z-index: 1450; display: grid; place-items: center; padding: 24px; background: transparent; }
.commission-cancel-dialog { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 18px; width: min(590px,100%); overflow: hidden; border: 1px solid rgba(239,112,121,.8); border-radius: 16px; padding: 26px; background: radial-gradient(circle at 100% 0, rgba(239,93,103,.12), transparent 42%), #071516; color: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.72), 0 0 0 1px rgba(255,255,255,.03) inset; }
.commission-cancel-dialog::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg,#ef5d67,#ffd338,#ef5d67); }
.commission-cancel-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: #ef5d67; color: #fff; font-size: 25px; font-weight: 950; box-shadow: 0 8px 24px rgba(239,93,103,.24); }
.commission-cancel-content { display: grid; gap: 9px; }
.commission-cancel-content > span { color: #ffd338; font-size: 10px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.commission-cancel-content h3 { margin: 0; color: #fff; font-size: 22px; }
.commission-cancel-content p { margin: 0; color: #cbdad7; line-height: 1.5; }
.commission-cancel-content label { display: grid; gap: 6px; color: #fff; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.commission-cancel-content textarea { width: 100%; border: 1px solid #496762; border-radius: 8px; background: #051112; color: #fff; padding: 10px; font: inherit; resize: vertical; }
.commission-cancel-content textarea:focus { outline: 2px solid rgba(255,211,56,.28); border-color: #ffd338; }
.commission-cancel-content [data-cancel-error] { min-height: 14px; color: #ff9da3; font-weight: 800; }
.commission-cancel-actions { display: flex; justify-content: flex-end; gap: 9px; padding-top: 5px; }
.commission-cancel-actions button { border: 1px solid #526b67; border-radius: 999px; background: #102423; color: #d6e4e1; padding: 9px 16px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-cancel-actions button.danger { border-color: #ef7079; background: linear-gradient(135deg,#d94f59,#b72f3a); color: #fff; }
.commission-assignment-overlay { position: fixed; inset: 0; z-index: 1450; display: grid; place-items: center; padding: 24px; background: transparent; }
.commission-assignment-dialog { position: relative; display: grid; grid-template-columns: auto 1fr; gap: 18px; width: min(620px,100%); overflow: hidden; border: 1px solid rgba(255,211,56,.75); border-radius: 16px; padding: 26px; background: radial-gradient(circle at 100% 0,rgba(255,211,56,.12),transparent 42%),#071516; color: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.72),0 0 0 1px rgba(255,255,255,.03) inset; }
.commission-assignment-dialog::before { content: ''; position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg,#ffd338,#fff0a6,#ffd338); }
.commission-assignment-icon { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg,#ffe56d,#eeb80c); color: #111006; font-size: 25px; font-weight: 950; }
.commission-assignment-content { display: grid; gap: 10px; }
.commission-assignment-content > span { color: #ffd338; font-size: 10px; font-weight: 950; letter-spacing: .08em; text-transform: uppercase; }
.commission-assignment-content h3 { margin: 0; color: #fff; font-size: 22px; }
.commission-assignment-content p { margin: 0; color: #cbdad7; line-height: 1.5; }
.commission-assignment-content p strong { color: #fff; }
.commission-assignment-content label { display: grid; gap: 6px; color: #fff; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.commission-assignment-content select { width: 100%; min-height: 43px; border: 1px solid #496762; border-radius: 8px; background: #051112; color: #fff; padding: 9px 10px; font: inherit; text-transform: none; }
.commission-assignment-content select:focus { outline: 2px solid rgba(255,211,56,.28); border-color: #ffd338; }
.commission-assignment-content [data-assignment-error] { min-height: 14px; color: #ff9da3; font-weight: 800; }
.commission-assignment-actions { display: flex; justify-content: flex-end; gap: 9px; }
.commission-assignment-actions button { border: 1px solid #526b67; border-radius: 999px; background: #102423; color: #d6e4e1; padding: 9px 16px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-assignment-actions button.primary { border-color: #ffd338; background: linear-gradient(135deg,#ffe36b,#f5c516); color: #171407; }

.commission-result-head { margin-top: 18px; }
.commission-hitos { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 10px; }
.commission-hito summary { min-height: 74px; }
.commission-breakdown { margin-top: 10px; }
.commission-notes { border: 1px solid #435033; cursor: pointer; }
.commission-notes summary { color: #ffd338; font-weight: 900; }
.commission-notes[open] summary { margin-bottom: 8px; }

.commission-matrix-wrap { margin-top: 16px; border: 1px solid #315d58; border-radius: 10px; overflow: hidden; background: #07191a; }
.commission-matrix-summary,
.commission-payment-matrix { width: 100%; border-collapse: collapse; table-layout: fixed; }
.commission-matrix-summary th,
.commission-matrix-summary td { padding: 12px; border-right: 1px solid #284947; border-bottom: 1px solid #315d58; text-align: left; vertical-align: top; }
.commission-matrix-summary th { width: 8%; color: #9eb4b0; background: #0b2223; font-size: 10px; text-transform: uppercase; }
.commission-matrix-summary td { width: 17%; }
.commission-matrix-summary strong { display: block; color: #fff; font-size: 16px; }
.commission-matrix-summary small { display: block; margin-top: 3px; color: #9eb4b0; }
.commission-matrix-summary .is-score-green { background: rgba(37, 217, 166, .1); box-shadow: inset 0 3px 0 #25d9a6; }
.commission-matrix-summary .is-score-green strong { color: #66f5c8; }
.commission-matrix-summary .is-score-yellow { background: rgba(255, 211, 56, .1); box-shadow: inset 0 3px 0 #ffd338; }
.commission-matrix-summary .is-score-yellow strong { color: #ffd338; }
.commission-matrix-summary .is-score-red { background: rgba(239, 93, 103, .1); box-shadow: inset 0 3px 0 #ef5d67; }
.commission-matrix-summary .is-score-red strong { color: #ff858d; }
.commission-matrix-summary .commission-matrix-total { background: rgba(255, 211, 56, .1); box-shadow: inset 0 3px 0 #ffd338; }
.commission-matrix-summary .commission-matrix-total strong { color: #ffd338; font-size: 22px; }
.commission-payment-matrix th,
.commission-payment-matrix td { padding: 11px 12px; border-right: 1px solid #284947; border-bottom: 1px solid #284947; text-align: left; vertical-align: top; }
.commission-payment-matrix thead th { color: #ffd338; background: #101d2c; font-size: 10px; text-transform: uppercase; }
.commission-payment-matrix th:nth-child(1) { width: 16%; }
.commission-payment-matrix th:nth-child(2) { width: 22%; }
.commission-payment-matrix th:nth-child(3) { width: 12%; }
.commission-payment-matrix th:nth-child(4) { width: 13%; }
.commission-payment-matrix th:nth-child(5) { width: 6%; }
.commission-payment-matrix th:nth-child(6) { width: 8%; }
.commission-payment-matrix th:nth-child(7) { width: 10%; }
.commission-payment-matrix th:nth-child(8) { width: 13%; }
.commission-payment-matrix tbody td { color: #c8d8d5; }
.commission-payment-matrix tbody td strong { color: #fff; }
.commission-payment-matrix .commission-matrix-section td { padding: 8px 12px; color: #68efd5; background: #0b2a29; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.commission-payment-matrix .commission-matrix-subtotal td { background: #102827; }
.commission-payment-matrix .commission-matrix-hold .commission-matrix-amount { color: #ff9299; }
.commission-matrix-number { text-align: center !important; }
.commission-matrix-amount { color: #ffd338 !important; font-size: 16px; font-weight: 900; text-align: right !important; }
.commission-payment-matrix tfoot td { padding: 14px 12px; color: #dce8e6; background: #172a20; border-top: 2px solid #ffd338; }
.commission-payment-matrix tfoot strong { display: block; color: #fff; font-size: 16px; }
.commission-payment-matrix tfoot small { display: block; margin-top: 3px; color: #aabdb9; }
.commission-matrix-evidence summary { color: #68efd5; font-weight: 900; cursor: pointer; }
.commission-matrix-evidence .commission-evidence-list { grid-template-columns: 1fr; padding: 9px 0 0; }
.commission-matrix-evidence .commission-empty-detail { padding: 8px 0 0; }
.commission-matrix-event-list { display: grid; gap: 0; }
.commission-matrix-event-list > a,
.commission-matrix-event-list > div { display: grid; gap: 3px; min-height: 45px; padding: 7px 0; border-bottom: 1px solid rgba(83, 132, 126, .28); color: #f3faf8; text-decoration: none; }
.commission-matrix-event-list > :last-child { border-bottom: 0; }
.commission-matrix-event-list > a:hover strong { color: #70efd7; text-decoration: underline; }
.commission-matrix-event-list strong { color: #fff; font-size: 12px; }
.commission-matrix-event-list small { color: #9eb4b0; line-height: 1.3; }
.commission-matrix-date-list strong { color: #d8e7e4; font-weight: 800; }
.commission-matrix-empty { color: #829895; font-style: italic; }
.commission-export-actions { display: flex; align-items: end; gap: 8px; margin: 10px 0 2px; padding: 10px; border: 1px solid #315d58; border-radius: 8px; background: #081f20; }
.commission-export-actions > strong { align-self: center; margin-right: auto; color: #68efd5; }
.commission-export-actions label { display: grid; gap: 4px; min-width: 260px; color: #9eb4b0; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-export-actions input { min-height: 36px; border: 1px solid #315955; border-radius: 6px; background: #071718; color: #fff; padding: 6px 9px; }
.commission-export-actions button { min-height: 36px; border: 1px solid #55d9c0; border-radius: 6px; background: #0b302e; color: #73efd8; padding: 7px 11px; font: inherit; font-weight: 900; cursor: pointer; }
.commission-export-actions button:hover { background: #55d9c0; color: #05201d; }
.commission-batch-person td { padding: 10px 12px !important; background: #102b2a !important; border-top: 2px solid #55d9c0; }
.commission-batch-person td > strong { display: inline-block; min-width: 220px; color: #fff; font-size: 14px; }
.commission-batch-person td > span { color: #a9bfbb; }
.commission-batch-person td > b { display: inline-block; margin-left: 18px; padding: 4px 8px; border-radius: 999px; font-style: normal; }
.commission-batch-person td > b.is-score-green { color: #66f5c8; background: rgba(37,217,166,.13); }
.commission-batch-person td > b.is-score-yellow { color: #ffd338; background: rgba(255,211,56,.13); }
.commission-batch-person td > b.is-score-red { color: #ff858d; background: rgba(239,93,103,.13); }
.commission-batch-person td > em { float: right; color: #ffd338; font-size: 16px; font-style: normal; font-weight: 950; }
.commission-batch-total td { background: #172a20; border-bottom: 2px solid #ffd338; }
.commission-person-agencies { margin: 14px; border: 1px solid #35645e; border-radius: 9px; overflow: hidden; background: #092021; }
.commission-person-agencies > header { display: flex; justify-content: space-between; gap: 18px; align-items: center; padding: 13px 14px; background: #0d2c2b; border-bottom: 1px solid #35645e; }
.commission-person-agencies > header span { display: block; margin-bottom: 3px; color: #68efd5; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-person-agencies > header h6 { margin: 0; color: #fff; font-size: 15px; }
.commission-person-agencies > header > strong { flex: 0 0 auto; padding: 7px 11px; border: 1px solid #55d9c0; border-radius: 999px; color: #72efd8; background: rgba(85,217,192,.09); font-size: 13px; }
.commission-person-agencies > p { margin: 0; padding: 9px 14px; color: #b7cbc8; border-bottom: 1px solid #284947; }
.commission-person-agencies-table-wrap { width: 100%; overflow-x: auto; }
.commission-person-agencies-table { width: 100%; border-collapse: collapse; table-layout: fixed; }
.commission-person-agencies-table th,
.commission-person-agencies-table td { padding: 10px 11px; border-right: 1px solid #284947; border-bottom: 1px solid #284947; text-align: left; vertical-align: top; }
.commission-person-agencies-table th { color: #ffd338; background: #101d2c; font-size: 9px; text-transform: uppercase; }
.commission-person-agencies-table th:nth-child(1) { width: 19%; }
.commission-person-agencies-table th:nth-child(2) { width: 18%; }
.commission-person-agencies-table th:nth-child(3) { width: 11%; }
.commission-person-agencies-table th:nth-child(4) { width: 18%; }
.commission-person-agencies-table th:nth-child(5) { width: 16%; }
.commission-person-agencies-table th:nth-child(6) { width: 18%; }
.commission-person-agencies-table td { color: #c8d8d5; }
.commission-person-agencies-table td > a { color: #fff; text-decoration: none; }
.commission-person-agencies-table td > a:hover strong { color: #70efd7; text-decoration: underline; }
.commission-person-agencies-table td strong,
.commission-person-agencies-table td small { display: block; }
.commission-person-agencies-table td small { margin-top: 3px; color: #91aaa6; line-height: 1.3; }
.commission-agency-status { display: inline-flex; padding: 5px 8px; border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; }
.commission-agency-status.is-active { color: #71f4cc; background: rgba(40,213,161,.16); }
.commission-agency-status.is-inactive { color: #ffd66b; background: rgba(255,192,61,.14); }
.commission-agency-event { color: #a8bfbb !important; font-weight: 800; }
.commission-agency-event.is-active { color: #fff !important; }
.commission-agency-empty { padding: 18px !important; color: #8ea5a1 !important; text-align: center !important; font-style: italic; }
.commission-person-agencies > footer { display: flex; flex-wrap: wrap; gap: 8px 22px; padding: 10px 14px; color: #b7cbc8; background: #0b2927; }
.commission-person-agencies > footer strong { color: #ffd338; }
.commission-batch-agencies > td { padding: 0 !important; background: #07191a !important; }
.commission-batch-agencies .commission-person-agencies { margin: 10px 12px 16px; }
.commission-registry-evaluation input,
.commission-registry-evaluation select { min-height: 35px; border: 1px solid #315955; border-radius: 6px; background: #071718; color: #fff; padding: 6px 8px; }

@media (max-width: 1050px) {
  .commission-module-header { grid-template-columns: 1fr; }
  .commission-hitos { grid-template-columns: 1fr; }
  .commission-registry-toolbar { align-items: flex-start; flex-direction: column; }
  .commission-validation-search-tools { width: 100%; min-width: 0; }
  .commission-export-actions { align-items: stretch; flex-wrap: wrap; }
  .commission-export-actions label { flex: 1 1 250px; }
  .commission-person-agencies > header { align-items: flex-start; flex-direction: column; }
  .commission-mode-actions { grid-template-columns: 1fr; }
  .commission-validation-form { grid-template-columns: 1fr; }
  .commission-evidence-requirements { grid-template-columns: 1fr; }
  .commission-validation-card > header { flex-direction: column; }
  .commission-validation-trace { grid-template-columns: 1fr; }
  .commission-validation-trace > div { border-right: 0; border-bottom: 1px solid #294744; }
  .commission-validation-trace > div:last-child { border-bottom: 0; }
}

@media (max-width: 700px) {
  .commission-validation-search-tools { align-items: stretch; flex-direction: column; }
  .commission-validation-search-tools label { flex-basis: auto; }
  .commission-validation-request { align-items: stretch; flex-direction: column; }
  .commission-validation-request button { width: 100%; }
  .commission-approval-notice { grid-template-columns: 1fr; padding: 22px; }
  .commission-approval-notice-meta { align-items: stretch; flex-direction: column; }
  .commission-approval-notice-meta button { width: 100%; }
  .commission-approval-confirm { grid-template-columns: 1fr; padding: 22px; }
  .commission-approval-confirm-content dl > div { grid-template-columns: 1fr; gap: 4px; }
  .commission-approval-confirm-actions { align-items: stretch; flex-direction: column-reverse; }
  .commission-approval-confirm-actions button { width: 100%; }
  .commission-module-header,
  .commission-workspace { padding: 14px; }
  .commission-mode-actions { grid-template-columns: 1fr; }
  .commission-registry-evaluation { width: 100%; align-items: stretch; flex-direction: column; }
  .commission-program-rule { align-items: flex-start; flex-direction: column; }
}
.month-close-header-actions select,
.month-close-toolbar input {
  min-height: 38px;
  border: 1px solid rgba(91, 211, 195, 0.32);
  border-radius: 7px;
  background: #071516;
  color: #e8f6f4;
  padding: 0 11px;
}

.month-close-header-actions select { min-width: 170px; }
.month-close-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 10px;
  padding: 14px 16px 0;
}
.month-close-toolbar label { display: grid; gap: 5px; color: #f6c431; font-size: 11px; font-weight: 700; text-transform: uppercase; }
.month-close-toolbar input { min-width: 280px; text-transform: none; }
.month-close-table th, .month-close-table td { white-space: nowrap; }
.month-close-table .negative, .month-close-client-table .negative { color: #ff7777; font-weight: 700; }
.month-close-table .positive, .month-close-client-table .positive { color: #62dfb0; font-weight: 700; }
.month-close-client-table, .month-close-invoice-table { max-height: 620px; overflow: auto; }
.month-close-client-table thead, .month-close-invoice-table thead { position: sticky; top: 0; z-index: 2; }
.month-close-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: rgba(128,148,148,.16); white-space: nowrap; }
.month-close-status.bajó, .month-close-status.dejó-de-comprar { background: rgba(239,91,91,.18); color: #ff9b9b; }
.month-close-status.creció, .month-close-status.nuevo-reactivado { background: rgba(73,211,158,.17); color: #76e4b9; }
.month-close-subtotal td { position: sticky; bottom: 0; background: #17365d !important; color: #fff !important; font-weight: 800; border-top: 2px solid #6ee7d2; }
.month-close-companies { display: grid; gap: 16px; padding-bottom: 4px; }
.month-close-company { border: 1px solid rgba(91,211,195,.38); border-radius: 10px; overflow: hidden; background: rgba(4,18,19,.55); }
.month-close-company > summary { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 16px 18px; cursor: pointer; list-style: none; background: linear-gradient(90deg,rgba(12,55,51,.95),rgba(7,28,29,.96)); border-left: 4px solid #f6c431; }
.month-close-company > summary::-webkit-details-marker { display: none; }
.month-close-company > summary::after { content: '+'; color: #5be3d2; font-size: 24px; font-weight: 700; }
.month-close-company[open] > summary::after { content: '−'; }
.month-close-company > summary span:first-child { display: grid; gap: 4px; }
.month-close-company > summary small { color: #8bb3ad; font-size: 10px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.month-close-company > summary strong { color: #f5fbfa; font-size: 18px; }
.month-close-company-summary { display: grid; gap: 3px; margin-left: auto; text-align: right; }
.month-close-company-summary b { color: #f6c431; font-size: 18px; }
.month-close-company-body { display: grid; gap: 16px; padding: 16px; }
.month-close-nissan-note { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px; padding: 10px 14px; border: 1px solid rgba(91,211,195,.24); border-radius: 8px; color: #a8c8c3; background: #071a1b; }
.month-close-nissan-note b { color: #72e2d1; }
.month-close-goal-grid { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 10px; padding-top: 12px; }
.month-close-goal-grid > div { padding: 13px; border: 1px solid rgba(91,211,195,.22); border-radius: 8px; background: #071a1b; }
.month-close-goal-grid small { display: block; margin-bottom: 6px; color: #91aaa7; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.month-close-goal-grid strong { color: #f4fbfa; font-size: 18px; }
.month-close-goal-grid .negative { color: #ff7777; }
.month-close-goal-grid .positive { color: #62dfb0; }
.month-close-odoo-link { color: #62dfd0; font-weight: 700; text-decoration: underline; }
.month-close-objective { color: #f6c431; font-weight: 800; }

/* Tema claro exclusivo para Cierre de Mes, alineado con Reporte Maestro. */
.month-close-panel {
  border-color: #7dd8ca;
  border-left-color: #f2bf18;
  background: #f7fbfa;
  box-shadow: 0 18px 50px rgba(28, 69, 65, .16);
  color: #152b2d;
}
.month-close-panel .collections-report-header {
  border-bottom-color: #b8ded8;
  background: linear-gradient(135deg, #f8fcfb 0%, #eaf8f5 100%);
}
.month-close-panel .collections-report-header h4 { color: #162b35; }
.month-close-panel .collections-report-header .eyebrow { color: #009982; }
.month-close-panel .month-close-header-actions label,
.month-close-panel .month-close-toolbar label { color: #536d70; }
.month-close-panel .month-close-header-actions select,
.month-close-panel .month-close-header-actions input,
.month-close-panel .month-close-toolbar input {
  border-color: #9bcfc7;
  background: #ffffff;
  color: #193438;
  box-shadow: 0 1px 2px rgba(30, 64, 60, .06);
}
.month-close-panel .collections-report-details,
.month-close-panel .collections-report-details[open] {
  border-top-color: #c8e2de;
  background: #f7fbfa;
}
.month-close-panel .month-close-toolbar {
  padding-bottom: 14px;
  border-bottom: 1px solid #d4e8e5;
  background: #ffffff;
}
.month-close-panel #monthCloseBody { padding: 16px; }
.month-close-panel .client-analysis-head {
  border-color: #86d8cc;
  border-left-color: #f2bf18;
  background: linear-gradient(135deg, #effaf7 0%, #e1f5f1 100%);
  box-shadow: 0 8px 24px rgba(36, 100, 91, .10);
}
.month-close-panel .client-analysis-head h4 { color: #152b35; }
.month-close-panel .client-analysis-head span { color: #9b7000; }
.month-close-panel .client-analysis-head .eyebrow { color: #008f7d; }
.month-close-panel .month-close-company {
  border-color: #7acfc3;
  background: #ffffff;
  box-shadow: 0 8px 26px rgba(35, 92, 85, .09);
}
.month-close-panel .month-close-company > summary {
  border-left-color: #f2bf18;
  border-bottom: 1px solid #bddfd9;
  background: linear-gradient(90deg, #e9f8f5 0%, #f7fcfb 100%);
}
.month-close-panel .month-close-company > summary::after { color: #008f7d; }
.month-close-panel .month-close-company > summary small { color: #57736f; }
.month-close-panel .month-close-company > summary strong { color: #153437; }
.month-close-panel .month-close-company-summary b { color: #a87300; }
.month-close-panel .month-close-company-summary small { color: #5b7773; }
.month-close-panel .month-close-company-body { background: #f8fbfa; }
.month-close-panel .client-metric-card {
  border-color: #badbd6;
  background: #ffffff;
  box-shadow: 0 7px 20px rgba(38, 81, 76, .08);
}
.month-close-panel .client-metric-card span,
.month-close-panel .client-card-title span { color: #667b7d; }
.month-close-panel .client-metric-card strong { color: #17373a; }
.month-close-panel .client-metric-card small { color: #53696b; }
.month-close-panel .client-metric-card.teal { border-top-color: #10a993; }
.month-close-panel .client-metric-card.amber { border-top-color: #e6ac00; }
.month-close-panel .client-metric-card.blue { border-top-color: #4c88bd; }
.month-close-panel .client-metric-card.green { border-top-color: #2f9c68; }
.month-close-panel .month-close-nissan-note {
  border-color: #8fd5ca;
  background: #eaf8f5;
  color: #385c59;
}
.month-close-panel .month-close-nissan-note b { color: #007f70; }
.month-close-panel .sales-analysis-card {
  border-color: #c1ddd9;
  background: #ffffff;
  box-shadow: 0 7px 22px rgba(40, 78, 74, .07);
}
.month-close-panel .client-card-title h4 { color: #182f35; }
.month-close-panel .client-table-wrap {
  border-color: #c9ddda;
  background: #ffffff;
}
.month-close-panel .client-analysis-table { color: #1f3438; }
.month-close-panel .client-analysis-table th,
.month-close-panel .client-analysis-table td { border-bottom-color: #d9e5e3; }
.month-close-panel .client-analysis-table th {
  background: #e8eff5;
  color: #334155;
}
.month-close-panel .client-analysis-table tbody tr:nth-child(even) td { background: #f6faf9; }
.month-close-panel .month-close-table .negative,
.month-close-panel .month-close-client-table .negative,
.month-close-panel .month-close-goal-grid .negative { color: #c73743; }
.month-close-panel .month-close-table .positive,
.month-close-panel .month-close-client-table .positive,
.month-close-panel .month-close-goal-grid .positive { color: #087d5a; }
.month-close-panel .month-close-objective { color: #9a6b00; }
.month-close-panel .month-close-odoo-link { color: #007e73; }
.month-close-panel .month-close-status { background: #edf2f1; color: #4d6264; }
.month-close-panel .month-close-status.bajó,
.month-close-panel .month-close-status.dejó-de-comprar { background: #f8dddd; color: #a72e39; }
.month-close-panel .month-close-status.creció,
.month-close-panel .month-close-status.nuevo-reactivado { background: #d9f2e8; color: #087553; }
.month-close-panel .month-close-goal-grid > div {
  border-color: #bedbd7;
  background: #f2f9f7;
}
.month-close-panel .month-close-goal-grid small { color: #687d7f; }
.month-close-panel .month-close-goal-grid strong { color: #18383b; }
.month-close-panel .month-close-subtotal td {
  border-top-color: #f2bf18;
  background: #dff1ee !important;
  color: #183a3a !important;
}

/* v56: barra del módulo oscura y datos del reporte con mayor contraste. */
.month-close-panel {
  border-color: rgba(124, 235, 216, .18);
  border-left-color: #f6c431;
  background: linear-gradient(180deg, rgba(20, 31, 35, .96), rgba(8, 14, 16, .96));
}
.month-close-panel .collections-report-header {
  border-bottom-color: rgba(124, 235, 216, .12);
  background:
    linear-gradient(90deg, rgba(4, 31, 34, .78), rgba(12, 26, 29, .64)),
    linear-gradient(180deg, rgba(255, 255, 255, .035), rgba(255, 255, 255, 0));
}
.month-close-panel .collections-report-header h4 { color: #ffffff; }
.month-close-panel .collections-report-header .eyebrow,
.month-close-panel .month-close-header-actions label { color: #f6c431; }
.month-close-panel .month-close-header-actions select,
.month-close-panel .month-close-header-actions input {
  border-color: rgba(91, 211, 195, .32);
  background: #071516;
  color: #e8f6f4;
  box-shadow: none;
}
.month-close-panel .client-analysis-table tbody td {
  color: #263b40 !important;
  font-weight: 650;
}
.month-close-panel .client-analysis-table tbody td.num { color: #263b40 !important; }
.month-close-panel .client-analysis-table tbody td .month-close-odoo-link {
  color: #007a70 !important;
  font-weight: 850;
}
.month-close-panel .month-close-table tbody td.negative,
.month-close-panel .month-close-client-table tbody td.negative { color: #c52231 !important; }
.month-close-panel .month-close-table tbody td.positive,
.month-close-panel .month-close-client-table tbody td.positive { color: #087657 !important; }
.month-close-panel .month-close-client-table tbody td.month-close-objective {
  color: #8c6100 !important;
  font-weight: 900;
}
.month-close-panel .client-analysis-table tbody td .month-close-status.bajó,
.month-close-panel .client-analysis-table tbody td .month-close-status.dejó-de-comprar {
  color: #9f2531 !important;
}
.month-close-panel .client-analysis-table tbody td .month-close-status.creció,
.month-close-panel .client-analysis-table tbody td .month-close-status.nuevo-reactivado {
  color: #07684c !important;
}

@media (max-width: 900px) {
  .month-close-toolbar { align-items: stretch; }
  .month-close-toolbar > * { width: 100%; }
  .month-close-toolbar input { min-width: 0; width: 100%; }
  .month-close-company > summary { align-items: flex-start; }
  .month-close-company-summary { display: none; }
  .month-close-goal-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 560px) {
  .month-close-goal-grid { grid-template-columns: 1fr; }
}

.amenidades-read-only-label {
  display: inline-flex;
  padding: 5px 9px;
  border: 1px solid rgba(124, 235, 216, .28);
  border-radius: 999px;
  color: #9edbd2;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

#amenidadesOrdenes.amenidades-read-only [data-amenidades-rule-enabled]:disabled,
#amenidadesOrdenes.amenidades-read-only [data-amenidades-rule-value]:disabled,
#amenidadesOrdenes.amenidades-read-only [data-amenidades-sku-value]:disabled {
  opacity: .78;
  cursor: not-allowed;
}
.goal-save-dialog[hidden] { display: none; }
.goal-save-dialog { position: fixed; inset: 0; z-index: 2400; display: grid; place-items: center; padding: 24px; background: rgba(1, 10, 12, .78); backdrop-filter: blur(9px); }
.goal-save-card { position: relative; width: min(480px, 100%); padding: 32px; color: #eaf7f4; background: linear-gradient(145deg, #102326, #071416); border: 1px solid rgba(83, 220, 199, .34); border-top: 4px solid #ffd326; border-radius: 18px; box-shadow: 0 30px 85px rgba(0,0,0,.55), 0 0 35px rgba(83,220,199,.08); }
.goal-save-close { position: absolute; top: 13px; right: 14px; width: 34px; height: 34px; border: 1px solid rgba(184,211,206,.25); border-radius: 50%; color: #c9ded9; background: rgba(255,255,255,.04); font-size: 24px; line-height: 1; cursor: pointer; }
.goal-save-icon { display: grid; place-items: center; width: 54px; height: 54px; margin-bottom: 18px; border-radius: 16px; color: #061416; background: #ffd326; font-size: 28px; font-weight: 900; box-shadow: 0 10px 28px rgba(255,211,38,.24); }
.goal-save-eyebrow { margin: 0 0 6px; color: #55ddc7; font-size: 11px; font-weight: 900; letter-spacing: .09em; }
.goal-save-card h2 { margin: 0 40px 10px 0; color: #fff; font-size: 24px; line-height: 1.15; }
.goal-save-card > p:not(.goal-save-eyebrow) { margin: 0; color: #bdd2ce; font-size: 15px; line-height: 1.55; }
.goal-save-notice { display: flex; gap: 12px; align-items: flex-start; margin: 20px 0; padding: 13px 15px; border: 1px solid rgba(83,220,199,.22); border-radius: 11px; background: rgba(83,220,199,.07); }
.goal-save-notice span { color: #55ddc7; font-size: 18px; }.goal-save-notice p { margin: 0; color: #d4e5e1; font-size: 13px; line-height: 1.4; }
.goal-save-progress { display: flex; align-items: center; gap: 12px; margin: 20px 0 4px; padding: 14px 15px; border-radius: 11px; color: #fff5c3; background: rgba(255,211,38,.1); }
.goal-save-spinner { display: inline-block; width: 22px; height: 22px; flex: 0 0 auto; border: 3px solid rgba(7,20,22,.25); border-top-color: currentColor; border-radius: 50%; animation: goal-save-spin .8s linear infinite; }
.goal-save-card.is-saving .goal-save-icon { color: #ffd326; background: rgba(255,211,38,.12); }.goal-save-card.is-saving .goal-save-notice { display: none; }
.goal-save-card.is-success { border-top-color: #55ddc7; }.goal-save-card.is-success .goal-save-icon { background: #55ddc7; }
.goal-save-card.is-error { border-top-color: #ff6675; }.goal-save-card.is-error .goal-save-icon { color: #fff; background: #c84050; }
.goal-save-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 22px; }.goal-save-actions button { min-height: 42px; padding: 0 18px; border-radius: 9px; font-weight: 800; cursor: pointer; }
.goal-save-no { border: 1px solid rgba(184,211,206,.35); color: #d5e7e3; background: transparent; }.goal-save-yes { border: 1px solid #ffd326; color: #071416; background: linear-gradient(135deg, #ffe061, #f5b900); box-shadow: 0 10px 25px rgba(255,211,38,.2); }
.goal-save-actions button:disabled { opacity: .55; cursor: wait; }body.goal-save-dialog-open { overflow: hidden; }
@keyframes goal-save-spin { to { transform: rotate(360deg); } }
@media (max-width: 560px) { .goal-save-dialog { padding: 14px; }.goal-save-card { padding: 26px 20px 20px; }.goal-save-card h2 { font-size: 21px; }.goal-save-actions { flex-direction: column-reverse; }.goal-save-actions button { width: 100%; } }

/* Mobile dashboard foundation · 2026-09-20
   Keep every workspace inside the phone viewport while preserving readable,
   horizontally scrollable data tables. */
@media (max-width: 700px) {
  html,
  body {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: hidden;
  }

  body { min-height: 100dvh; }

  .app-shell,
  .main-panel,
  .section-view,
  .section-view.active {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .app-shell { grid-template-columns: minmax(0, 1fr) !important; }

  /* Some focused workspaces hide the desktop sidebar in their own stylesheet.
     Restore it only while the shared mobile navigation is open. */
  html body.mobile-nav-open .sidebar {
    display: flex !important;
    transform: translateX(0) !important;
  }

  .main-panel {
    padding: 14px 12px calc(28px + env(safe-area-inset-bottom)) !important;
    overflow: visible;
  }

  .hide-topbar .main-panel { padding-top: 14px !important; }

  .topbar,
  .section-heading,
  #semaforo .section-heading,
  #amenidadesOrdenes .section-heading {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 14px !important;
  }

  .topbar > *,
  .section-heading > *,
  .refresh-actions > *,
  .topbar-actions > * {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .topbar-actions,
  .refresh-actions,
  #semaforo .refresh-actions,
  #amenidadesOrdenes .refresh-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: none !important;
    gap: 10px !important;
  }

  .topbar-actions button,
  .refresh-actions button,
  .refresh-actions label { width: 100%; }

  input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  select,
  textarea {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    font-size: 16px;
  }

  button,
  a[role="button"] { max-width: 100%; }

  .topbar h2,
  .section-heading h3 {
    font-size: clamp(1.45rem, 7vw, 2rem);
    overflow-wrap: anywhere;
  }

  .panel,
  .panel-header,
  .report-card,
  .bulletin-form-card,
  .criteria-summary-panel,
  .collections-report-header,
  .commission-module-header,
  .commission-workspace,
  .month-close-company,
  .goal-save-card {
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .panel-header,
  .collections-report-header,
  .amenidades-rules-header,
  .commission-workspace-heading,
  .inventory-forecast-header-controls,
  .amenidades-header-date-controls,
  .amenidades-date-controls,
  .master-goals-controls,
  .master-goals-actions,
  .master-goals-export-actions,
  .month-close-header-actions,
  .amenidades-actions,
  .amenidades-rules-actions,
  .amenidades-penalty-report-toolbar,
  .demo-toolbar,
  .demo-history-toolbar,
  .sheet-tabs-toolbar {
    align-items: stretch !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  .criteria-grid,
  .criteria-subgrid,
  .config-grid,
  .config-form-grid,
  .password-form-grid,
  .bulletin-form-grid,
  .demo-grid,
  .amenidades-copy-grid,
  .amenidades-detail-grid,
  .amenidades-report-grid,
  .amenidades-rules-grid,
  .amenidades-summary-grid,
  .client-analysis-grid,
  .client-metric-grid,
  .dynamic-stage-grid,
  .telegram-summary-grid,
  .traffic-grid,
  .sales-filter-bar,
  .commission-controls,
  .commission-result-head,
  .commission-breakdown,
  .commission-mode-actions,
  .commission-validation-form {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .sales-filter-bar label:first-child { grid-column: auto; }

  #inventarios .inventory-forecast-header-controls > * {
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #inventarios .inventory-forecast-header-controls .amenidades-source-switch {
    justify-content: flex-start;
    margin-top: 0;
  }

  #inventarios .inventory-forecast-header-controls .amenidades-source-status {
    justify-content: center;
    margin-top: 0;
    white-space: normal;
    line-height: 1.3;
    text-align: center;
    overflow-wrap: anywhere;
  }

  .table-wrap,
  .table-container,
  .matrix-wrap,
  [class$="-table-wrap"],
  [class*="-table-wrap "] {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
  }

  .section-view table { max-width: none; }

  dialog,
  [role="dialog"],
  .modal,
  .modal-card {
    max-width: calc(100vw - 20px) !important;
    max-height: calc(100dvh - 20px) !important;
  }

  img,
  canvas,
  svg { max-width: 100%; }

  .goal-save-dialog { padding: 10px; }

  /* Reporte Maestro: resumen legible y compacto en teléfonos. */
  #maestro .report-hero {
    padding: 22px 18px;
  }

  #maestro .report-hero h3 {
    font-size: clamp(24px, 8vw, 30px);
  }

  #maestro .report-content {
    padding: 16px 14px 22px;
  }

  #maestro .report-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  #maestro .report-kpi {
    display: flex;
    min-height: 132px;
    padding: 14px 12px;
    flex-direction: column;
    justify-content: space-between;
    border-left: 4px solid #2dd4bf;
    border-radius: 12px;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .08);
  }

  #maestro .report-kpi:nth-child(2),
  #maestro .report-kpi:nth-child(5) { border-left-color: #f5b900; }

  #maestro .report-kpi:nth-child(3) { border-left-color: #3b82f6; }

  #maestro .report-kpi:nth-child(4) { border-left-color: #22c55e; }

  #maestro .report-kpi:last-child {
    grid-column: 1 / -1;
    min-height: 112px;
  }

  #maestro .report-kpi span {
    font-size: 10px;
    line-height: 1.3;
  }

  #maestro .report-kpi strong {
    margin: 9px 0 5px;
    font-size: clamp(19px, 5.5vw, 24px);
    line-height: 1;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
  }

  #maestro .report-kpi small {
    display: block;
    font-size: 11px;
    line-height: 1.4;
  }

  #amenidadesOrdenes .amenidades-mobile-scroll-control {
    position: sticky;
    top: calc(58px + env(safe-area-inset-top));
    z-index: 65;
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 10px 12px 9px;
    border-block: 1px solid rgba(124, 235, 216, .4);
    background: rgba(5, 27, 27, .97);
    box-shadow: 0 6px 16px rgba(0, 0, 0, .28);
    color: #eafffb;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: none;
  }

  #amenidadesOrdenes .amenidades-mobile-scroll-control input[type="range"] {
    appearance: none;
    width: 100% !important;
    height: 24px;
    margin: 0;
    padding: 0 !important;
    border: 0;
    background: transparent;
  }

  #amenidadesOrdenes .amenidades-mobile-scroll-control input[type="range"]::-webkit-slider-runnable-track {
    height: 7px;
    border-radius: 999px;
    background: #244d49;
    box-shadow: inset 0 0 0 1px rgba(124, 235, 216, .28);
  }

  #amenidadesOrdenes .amenidades-mobile-scroll-control input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 30px;
    height: 20px;
    margin-top: -6px;
    border: 2px solid #071313;
    border-radius: 999px;
    background: #ffd21f;
    box-shadow: 0 2px 8px rgba(0, 0, 0, .35);
  }

  #amenidadesOrdenes .amenidades-mobile-scroll-control input[type="range"]::-moz-range-track {
    height: 7px;
    border-radius: 999px;
    background: #244d49;
  }

  #amenidadesOrdenes .amenidades-mobile-scroll-control input[type="range"]::-moz-range-thumb {
    width: 30px;
    height: 20px;
    border: 2px solid #071313;
    border-radius: 999px;
    background: #ffd21f;
  }
}

.amenidades-mobile-scroll-control { display: none; }

@media (max-width: 420px) {
  .main-panel { padding-inline: 10px !important; }
  .panel,
  .report-card,
  .commission-module-header,
  .commission-workspace { border-radius: 10px; }
}

/* Calendario de implementaciones */
.implementation-calendar-panel{border-left:4px solid #ffcf32}
.implementation-calendar-workspace{padding:18px 20px 24px;border-top:1px solid rgba(118,227,207,.22)}
.implementation-calendar-heading,.implementation-calendar-toolbar,.implementation-dialog-heading,.implementation-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:16px}
.implementation-calendar-heading h5{margin:3px 0 5px;font-size:1.25rem}.implementation-calendar-heading p{margin:0;color:#b8cbc7}.implementation-calendar-heading>div>span{color:#65e2ce;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.implementation-calendar-heading-actions{display:flex;gap:9px;flex-wrap:wrap}.implementation-calendar-heading-actions button,.implementation-calendar-toolbar button,.implementation-dialog button{border:1px solid #47746d;background:#143a35;color:#effffb;border-radius:8px;padding:9px 13px;font-weight:750;cursor:pointer}.implementation-calendar-heading-actions .primary-action,.implementation-dialog .primary-action{background:#ffd15a;color:#08231f;border-color:#ffd15a}
.implementation-calendar-toolbar{margin:18px 0 10px;padding:11px;border:1px solid #315e57;border-radius:10px;background:#0a2d29}.implementation-calendar-navigation,.implementation-calendar-views{display:flex;align-items:center;gap:7px}.implementation-calendar-navigation strong{margin-left:8px;font-size:1.05rem;min-width:190px}.implementation-calendar-views button.is-active{background:#62dcc7;color:#06221e;border-color:#62dcc7}
.implementation-calendar-legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:8px 0 14px;color:#c9d9d5;font-size:.82rem}.implementation-calendar-legend span{display:flex;align-items:center;gap:6px}.implementation-calendar-legend i{width:22px;height:10px;border-radius:3px;background:#1c947f}.implementation-calendar-legend i.is-pending{opacity:.45;border:1px dashed #ffe075;background:#48645f}.implementation-calendar-legend small{margin-left:auto}
.implementation-calendar-body{min-height:300px}.implementation-calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);background:#153d37;border:1px solid #315e57;border-bottom:0;border-radius:10px 10px 0 0;overflow:hidden}.implementation-calendar-weekdays span{text-align:center;padding:9px;color:#aee9dd;font-size:.76rem;font-weight:800;text-transform:uppercase}
.implementation-calendar-month-grid{display:block;border-left:1px solid #315e57;border-top:1px solid #315e57}.implementation-calendar-month-week{position:relative;display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.implementation-calendar-day{min-height:170px;padding:7px;border-right:1px solid #315e57;border-bottom:1px solid #315e57;background:#092925;overflow:hidden}.implementation-calendar-month-week>.implementation-calendar-day{min-height:100%}.implementation-calendar-day.is-outside{opacity:.42;background:#061e1b}.implementation-calendar-day.is-today{box-shadow:inset 0 0 0 2px #ffd15a}.implementation-calendar-day-number{display:flex;justify-content:space-between;align-items:center;margin-bottom:5px;color:#e9fff9;font-weight:800}.implementation-calendar-day-number small{background:#214d46;padding:1px 6px;border-radius:10px;color:#9ee7da}.implementation-calendar-month-event-layer{position:absolute;z-index:3;left:0;right:0;top:34px;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:27px;gap:4px 0;pointer-events:none}.implementation-calendar-span-event{min-width:0;height:27px;margin:0 3px;padding:4px 8px;pointer-events:auto;box-shadow:0 3px 8px rgba(0,0,0,.28)!important}.implementation-calendar-span-event.continues-left{margin-left:0;border-left:0;border-radius:0 5px 5px 0}.implementation-calendar-span-event.continues-right{margin-right:0;border-right:0;border-radius:5px 0 0 5px}.implementation-calendar-span-event.continues-left.continues-right{border-radius:0}.implementation-calendar-span-event span{font-weight:850}.implementation-calendar-span-event small{flex:0 0 auto;padding-left:6px}
.implementation-calendar-events{display:grid;gap:4px}.implementation-calendar-event{display:flex;align-items:center;justify-content:space-between;gap:5px;width:100%;border:1px solid #48c6af;border-radius:5px;background:#168671;color:#fff;padding:5px 6px;text-align:left;font-size:.7rem;font-weight:750;cursor:pointer;overflow:hidden}.implementation-calendar-event span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.implementation-calendar-event small{font-size:.58rem;text-transform:uppercase}.implementation-calendar-event.is-pending{opacity:.55;background:repeating-linear-gradient(135deg,#31534d,#31534d 5px,#3c625b 5px,#3c625b 10px);border:1px dashed #ffe075;color:#fff7cf}.implementation-calendar-event.is-authorized{box-shadow:0 2px 8px rgba(12,213,175,.2)}
.implementation-calendar-event.implementation-event-card{display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;gap:5px;padding:8px;border-radius:8px;white-space:normal}.implementation-calendar-event.implementation-event-card span{white-space:normal;overflow:visible;text-overflow:clip}.implementation-event-card-heading{display:flex!important;align-items:flex-start;justify-content:space-between;gap:6px}.implementation-event-title{display:-webkit-box;overflow:hidden!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.2}.implementation-event-card-heading .implementation-event-status{flex:0 0 auto;border-radius:10px;background:rgba(255,222,117,.16);padding:2px 5px;color:#fff1b2}.implementation-event-card-heading .implementation-event-status.is-ready{background:rgba(182,255,231,.18);color:#d9fff4}.implementation-event-location{padding-bottom:5px;border-bottom:1px solid rgba(255,255,255,.18);color:#d7eee8;font-size:.64rem;font-weight:650}.implementation-event-team{display:grid;gap:1px;padding-top:1px}.implementation-event-team b{color:#bdf4e9;font-size:.57rem;line-height:1.15;text-transform:uppercase}.implementation-event-team>span{font-size:.65rem;line-height:1.25;color:#fff}.implementation-event-card.is-detailed{min-height:142px;padding:10px;gap:7px}.implementation-event-card.is-detailed .implementation-event-title{font-size:.78rem;-webkit-line-clamp:3}.implementation-event-card.is-detailed .implementation-event-location{font-size:.69rem}.implementation-event-card.is-detailed .implementation-event-team b{font-size:.61rem}.implementation-event-card.is-detailed .implementation-event-team>span{font-size:.72rem}
.implementation-calendar-event.event-tone-1.is-authorized{background:#117d6c;border-color:#5ee0c9;box-shadow:inset 4px 0 #80f3df,0 2px 8px rgba(12,213,175,.18)}.implementation-calendar-event.event-tone-2.is-authorized{background:#225d88;border-color:#70bcec;box-shadow:inset 4px 0 #91d1f5,0 2px 8px rgba(72,162,222,.18)}.implementation-calendar-event.event-tone-3.is-authorized{background:#674e8d;border-color:#af94db;box-shadow:inset 4px 0 #c8b4ee,0 2px 8px rgba(146,105,205,.18)}.implementation-calendar-event.event-tone-4.is-authorized{background:#8a6023;border-color:#e4b65b;box-shadow:inset 4px 0 #ffd27a,0 2px 8px rgba(221,160,56,.18)}
.implementation-calendar-event.event-tone-1.is-pending{background:repeating-linear-gradient(135deg,#315b54,#315b54 6px,#3c6b63 6px,#3c6b63 12px);border-color:#8ed9cb}.implementation-calendar-event.event-tone-2.is-pending{background:repeating-linear-gradient(135deg,#344f66,#344f66 6px,#405f78 6px,#405f78 12px);border-color:#91bfdf}.implementation-calendar-event.event-tone-3.is-pending{background:repeating-linear-gradient(135deg,#51445f,#51445f 6px,#62516f 6px,#62516f 12px);border-color:#bda7d0}.implementation-calendar-event.event-tone-4.is-pending{background:repeating-linear-gradient(135deg,#675337,#675337 6px,#786143 6px,#786143 12px);border-color:#d7b576}
.implementation-calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid #315e57;border-radius:10px;overflow:hidden}.implementation-calendar-week-day{min-height:360px;padding:10px;border-right:1px solid #315e57;background:#092925}.implementation-calendar-week-day:last-child{border-right:0}.implementation-calendar-week-day.is-today{box-shadow:inset 0 0 0 2px #ffd15a}.implementation-calendar-week-day header{display:grid;text-align:center;padding-bottom:10px;border-bottom:1px solid #315e57;margin-bottom:9px}.implementation-calendar-week-day header span{font-size:.72rem;color:#8edccc;font-weight:800}.implementation-calendar-week-day header strong{font-size:1.45rem}.implementation-calendar-week-day header small{color:#a9bdb8}.implementation-calendar-week-day>div{display:grid;gap:6px}.implementation-calendar-week-day p{color:#829b96;font-size:.72rem;text-align:center}
.implementation-calendar-year-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.implementation-calendar-year-month{min-height:190px;border:1px solid #315e57;border-radius:10px;background:#092925;padding:10px}.implementation-calendar-year-month>button{width:100%;display:flex;justify-content:space-between;border:0;border-bottom:1px solid #315e57;background:transparent;color:#fff;padding:2px 0 8px;font-weight:850;cursor:pointer}.implementation-calendar-year-month>button span{background:#1d554b;border-radius:12px;padding:1px 7px;color:#8ff1df}.implementation-calendar-year-month>div{display:grid;gap:5px;margin-top:8px}.implementation-calendar-year-month>div>small{color:#78938e}
.implementation-dialog{width:min(720px,calc(100vw - 28px));max-height:90vh;overflow:auto;border:1px solid #4a8178;border-radius:14px;background:#092925;color:#effffb;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.65)}.implementation-dialog::backdrop{background:rgba(0,13,12,.78)}.implementation-dialog form{padding:20px}.implementation-dialog-heading{border-bottom:1px solid #315e57;padding-bottom:13px;margin-bottom:13px}.implementation-dialog-heading h3{margin:2px 0}.implementation-dialog-heading p{margin:0}.implementation-dialog-heading>button{font-size:1.25rem;padding:4px 10px}.implementation-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:16px 0}.implementation-form-grid label,.implementation-participant-grid label{display:grid;gap:6px;color:#d9ebe7;font-size:.82rem;font-weight:750}.implementation-form-grid input,.implementation-form-grid select,.implementation-participant-grid select{width:100%;border:1px solid #49776f;border-radius:7px;background:#061f1c;color:#f5fffd;padding:10px}.implementation-form-grid small{color:#91aaa4;font-weight:400}.implementation-span-2{grid-column:span 2}.implementation-dialog-actions{border-top:1px solid #315e57;margin-top:16px;padding-top:14px;justify-content:flex-end}.implementation-dialog .implementation-danger-action{margin-right:auto;background:#62282d;border-color:#ee747e;color:#fff}.implementation-authorization-summary{display:grid;grid-template-columns:1fr 1fr;gap:9px}.implementation-authorization-summary>div{display:grid;gap:3px;padding:10px;border:1px solid #315e57;border-radius:8px;background:#0e342f}.implementation-authorization-summary span{font-size:.68rem;text-transform:uppercase;color:#7fdaca;font-weight:800}.implementation-summary-wide{grid-column:span 2}.implementation-authorization-fields{margin-top:16px;padding:13px;border:1px solid #c89e28;border-radius:9px;background:rgba(200,158,40,.08)}.implementation-authorization-fields p{margin-top:0}.implementation-participant-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.implementation-participant-grid select{min-height:130px}.implementation-participant-grid option:checked{background:#56d9c0;color:#06221e}
.implementation-participant-group{border:1px solid #426d66;border-radius:10px;background:#082722;padding:10px}.implementation-participant-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 9px;border-bottom:1px solid #315e57}.implementation-participant-group>header span{font-size:.76rem;font-weight:850;text-transform:uppercase;color:#dffbf5}.implementation-participant-group>header small{border-radius:12px;background:#163f38;color:#8ee5d5;padding:3px 7px;white-space:nowrap}.implementation-participant-options{display:grid;gap:7px;padding-top:9px}.implementation-participant-options .implementation-participant-card{position:relative;display:grid;grid-template-columns:30px 34px 1fr;align-items:center;gap:9px;min-height:48px;border:1px solid #365f58;border-radius:8px;background:#0d332e;padding:7px 9px;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.implementation-participant-card:hover{border-color:#72ddca;transform:translateY(-1px)}.implementation-participant-card:has(input:focus-visible){outline:2px solid #ffd15a;outline-offset:2px}.implementation-participant-card:has(input:checked){border-color:#62dcc7;background:#164a42;box-shadow:0 0 0 1px rgba(98,220,199,.18)}.implementation-participant-card input{position:absolute;opacity:0;pointer-events:none}.implementation-participant-check{display:grid;place-items:center;width:24px;height:24px;border:2px solid #668982;border-radius:6px;color:transparent;background:#061f1c;font-size:.9rem}.implementation-participant-card input:checked+.implementation-participant-check{border-color:#62dcc7;background:#62dcc7;color:#06231f}.implementation-participant-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#28574f;color:#bff8ed;font-size:.7rem;font-weight:900}.implementation-participant-name{font-size:.8rem;font-weight:780;line-height:1.2;color:#f2fffc}.implementation-participant-empty{margin:4px;color:#8fa7a2;font-size:.75rem}
.implementation-delete-dialog{width:min(520px,calc(100vw - 28px));border-color:#8d4b50}.implementation-delete-warning{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:14px;padding:15px;border:1px solid rgba(238,116,126,.55);border-radius:11px;background:rgba(116,39,46,.2)}.implementation-delete-warning p{margin:5px 0 0;color:#d7c5c7;line-height:1.45}.implementation-delete-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#7a3037;color:#ffd9dc;border:1px solid #ee747e;font-size:1.4rem;font-weight:900}.implementation-delete-details{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:12px}.implementation-delete-details span{display:grid;gap:3px;padding:10px;border:1px solid #315e57;border-radius:8px;background:#0e342f}.implementation-delete-details small{color:#7fdaca;font-size:.65rem;font-weight:800;text-transform:uppercase}.implementation-delete-dialog .implementation-dialog-actions .implementation-danger-action{margin-left:auto;margin-right:0;background:#8b333b;border-color:#ff838c}.implementation-delete-dialog button:disabled{opacity:.55;cursor:wait}
.implementation-date-editor{display:grid;grid-template-columns:minmax(170px,1fr) minmax(135px,.7fr) minmax(135px,.7fr) auto;align-items:end;gap:10px;margin-top:14px;padding:12px;border:1px solid rgba(101,226,206,.48);border-radius:10px;background:linear-gradient(135deg,rgba(19,70,62,.9),rgba(7,36,32,.96))}.implementation-date-editor[hidden]{display:none}.implementation-date-editor p{margin:0 0 3px}.implementation-date-editor>div>strong{font-size:.82rem}.implementation-date-editor label{display:grid;gap:5px;color:#aee9dd;font-size:.65rem;font-weight:850;text-transform:uppercase}.implementation-date-editor input{min-height:38px;width:100%;border:1px solid #49776f;border-radius:7px;background:#061f1c;color:#f5fffd;padding:8px;color-scheme:dark}.implementation-dialog .implementation-save-dates{min-height:38px;border-color:#65e2ce;background:#1c8e7c;color:#fff}.implementation-dialog .implementation-save-dates:disabled{opacity:.55;cursor:wait}

/* Embudos comerciales · Estándar de Lavado */
.sales-funnel-controls-panel{margin-bottom:16px;padding:16px 18px;border:1px solid #315e57;border-radius:13px;background:linear-gradient(135deg,#0c2d29,#081f1c);box-shadow:0 10px 28px rgba(0,0,0,.18)}.sales-funnel-controls-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:13px;padding-bottom:11px;border-bottom:1px solid rgba(91,151,140,.28)}.sales-funnel-controls-heading span{color:#69e5d0;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em}.sales-funnel-controls-heading h5{margin:3px 0 0;font-size:1.05rem}.sales-funnel-controls-heading>small{color:#8fa8a2}.sales-funnel-controls-panel .refresh-actions{width:100%!important;max-width:none;grid-template-columns:minmax(240px,1fr) auto}.sales-funnel-controls-panel .sales-filter-bar{grid-template-columns:repeat(4,minmax(150px,1fr))}.sales-funnel-controls-panel .sales-filter-bar label:first-child{grid-column:auto}.sales-funnel-controls-panel .kpi-status{margin:12px 0 0}
.sales-funnel-hero{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:16px;padding:20px 22px;border:1px solid #315e57;border-radius:14px;background:radial-gradient(circle at 12% 0,rgba(73,222,197,.13),transparent 42%),linear-gradient(135deg,#0d302b,#071d1b);box-shadow:0 14px 35px rgba(0,0,0,.2)}.sales-funnel-hero>div:first-child>span,.sales-funnel-module-head span{color:#68e6d1;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.sales-funnel-hero h4{margin:3px 0 5px;font-size:1.5rem}.sales-funnel-hero p{margin:0;color:#a9c1bc}.sales-funnel-mode-card{min-width:250px;display:grid;gap:3px;padding:12px 15px;border:1px solid rgba(255,209,90,.55);border-radius:10px;background:rgba(255,209,90,.07)}.sales-funnel-mode-card small{color:#e3c66f;font-size:.62rem;font-weight:900;text-transform:uppercase}.sales-funnel-mode-card strong{color:#fff3bd}.sales-funnel-mode-card span{color:#aabdb8;font-size:.72rem}.sales-funnel-grid{display:grid;gap:18px}.sales-funnel-module{overflow:hidden;border:1px solid #315e57;border-radius:15px;background:linear-gradient(145deg,#0b2926,#071d1b);box-shadow:0 16px 38px rgba(0,0,0,.22)}.sales-funnel-module-head{display:flex;align-items:end;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #315e57;background:rgba(255,255,255,.018)}.sales-funnel-module-head h5{margin:3px 0;font-size:1.2rem}.sales-funnel-module-head p{margin:0;color:#9db4af}.sales-funnel-module-head>small{color:#7d9791}.sales-funnel-layout{display:grid;grid-template-columns:minmax(330px,42%) minmax(0,1fr);gap:20px;padding:20px}.sales-funnel-visual{display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 5px 24px;perspective:900px}.sales-funnel-layer{position:relative;width:var(--funnel-width);min-height:67px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count" "rate amount";align-items:center;gap:3px 12px;padding:10px max(24px,8%);border:0;color:#fff;text-align:left;cursor:pointer;background:linear-gradient(110deg,var(--funnel-start),var(--funnel-end));clip-path:polygon(3% 0,97% 0,89% 100%,11% 100%);filter:drop-shadow(0 8px 6px rgba(0,0,0,.28));transform:rotateX(-2deg);transition:filter .18s ease,transform .18s ease,width .18s ease}.sales-funnel-layer::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 38%,rgba(0,0,0,.2));pointer-events:none}.sales-funnel-layer:hover,.sales-funnel-layer.is-active{z-index:2;filter:drop-shadow(0 10px 10px rgba(0,0,0,.4)) brightness(1.08);transform:rotateX(0) scale(1.025);outline:2px solid rgba(255,255,255,.82);outline-offset:2px}.sales-funnel-layer-label{grid-area:label;position:relative;font-size:.78rem;font-weight:900;line-height:1.12;text-transform:uppercase}.sales-funnel-layer>strong{grid-area:count;position:relative;font-size:1.55rem;line-height:1}.sales-funnel-layer>small{grid-area:rate;position:relative;color:rgba(255,255,255,.86);font-size:.62rem;font-weight:800}.sales-funnel-layer>em{grid-area:amount;position:relative;font-size:.65rem;font-style:normal;font-weight:850;text-align:right}.sales-funnel-evidence-stack{min-width:0}.sales-funnel-evidence{height:100%;border:1px solid #315e57;border-radius:12px;background:#071f1c;overflow:hidden}.sales-funnel-evidence[hidden]{display:none}.sales-funnel-evidence-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #315e57;background:#10342f}.sales-funnel-evidence-head span,.sales-funnel-evidence-head small{display:block;color:#85a39d;font-size:.62rem;font-weight:800;text-transform:uppercase}.sales-funnel-evidence-head h6{margin:2px 0 0;font-size:1rem}.sales-funnel-evidence-head>div:last-child{text-align:right}.sales-funnel-evidence-head>div:last-child strong{display:block;color:#78ead5}.sales-funnel-table-wrap{max-height:540px;overflow:auto}.sales-funnel-table{width:100%;border-collapse:collapse;font-size:.73rem}.sales-funnel-table th{position:sticky;top:0;z-index:1;padding:9px 10px;background:#0b2926;color:#89dccc;text-align:left;text-transform:uppercase;font-size:.58rem;letter-spacing:.04em}.sales-funnel-table td{padding:10px;border-top:1px solid rgba(92,143,134,.23);color:#c8d9d5;vertical-align:top}.sales-funnel-table tbody tr:hover{background:rgba(93,222,200,.055)}.sales-funnel-table td:first-child{min-width:180px}.sales-funnel-table a{display:flex;align-items:flex-start;gap:5px;color:#70ead4;font-weight:850;text-decoration:none}.sales-funnel-table a:hover{text-decoration:underline}.sales-funnel-table .num{text-align:right;white-space:nowrap}.sales-funnel-empty{display:grid;place-items:center;min-height:220px;padding:28px;color:#809b95;text-align:center}
.sales-funnel-stage-pill{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border:1px solid rgba(109,226,206,.32);border-radius:999px;background:rgba(44,128,113,.18);color:#bff5eb;font-size:.63rem;font-weight:850;white-space:nowrap}
.sales-funnel-table-tools{display:grid;grid-template-columns:minmax(230px,1fr) minmax(180px,260px) auto;gap:10px;align-items:end;padding:11px 12px;border-bottom:1px solid #315e57;background:#0a2522}.sales-funnel-table-tools label{display:grid;gap:4px}.sales-funnel-table-tools label>span{color:#8db1aa;font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.sales-funnel-table-tools input,.sales-funnel-table-tools select{width:100%;min-height:36px;padding:7px 10px;border:1px solid #376961;border-radius:8px;background:#071c1a;color:#e7f5f2;font:inherit}.sales-funnel-table-tools button{min-height:36px;padding:7px 12px;border:1px solid #4f968a;border-radius:8px;background:#123a35;color:#80ead7;font-weight:850;cursor:pointer}.sales-funnel-table-tools button:hover{background:#194b44}.sales-funnel-table td[hidden]{display:none}.sales-funnel-table th.num{white-space:nowrap}
.sales-funnel-informational{margin:8px 20px 20px;border:1px solid #a9454d;border-radius:12px;background:linear-gradient(135deg,rgba(116,25,34,.36),rgba(48,12,17,.5));box-shadow:0 10px 28px rgba(0,0,0,.18);overflow:hidden}.sales-funnel-informational>summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 18px;color:#ffd9dc;cursor:pointer;list-style:none}.sales-funnel-informational>summary::-webkit-details-marker{display:none}.sales-funnel-informational>summary span{display:grid;gap:2px}.sales-funnel-informational>summary small{color:#ff929b;font-size:.6rem;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.sales-funnel-informational>summary b{font-size:1rem}.sales-funnel-informational>summary em{color:#e8afb4;font-size:.7rem;font-style:normal}.sales-funnel-informational>summary>strong{display:grid;place-items:center;min-width:52px;min-height:42px;padding:6px 12px;border:1px solid #d35a65;border-radius:9px;background:#7f202a;color:#fff;font-size:1.35rem}.sales-funnel-informational[open]>summary{border-bottom:1px solid #8e3a43}.sales-funnel-informational-body{padding:14px}.sales-funnel-informational .sales-funnel-evidence{border-color:#7f3b42}.sales-funnel-informational .sales-funnel-evidence-head{background:#3a171b;border-color:#7f3b42}.sales-funnel-informational .sales-funnel-evidence-head>div:last-child strong{color:#ff9ca4}
.sales-funnel-table .sales-funnel-stage-group td{position:sticky;top:31px;z-index:1;display:table-cell;padding:7px 10px;border-top:1px solid color-mix(in srgb,var(--stage-start) 72%,#fff);border-bottom:1px solid var(--stage-end);border-left:4px solid var(--stage-end);background:linear-gradient(105deg,var(--stage-start),var(--stage-end));color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.38)}.sales-funnel-stage-group td span{font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.sales-funnel-stage-group td strong{float:right;color:#fff;font-size:.67rem}.sales-funnel-table tr[data-funnel-data-row] td{border-top-color:color-mix(in srgb,var(--stage-end) 52%,#315e57);background:linear-gradient(105deg,color-mix(in srgb,var(--stage-start) 38%,#071f1c),color-mix(in srgb,var(--stage-end) 38%,#071f1c));transition:background .15s ease}.sales-funnel-table tr[data-funnel-data-row] td:first-child{box-shadow:inset 5px 0 0 var(--stage-end)}.sales-funnel-table tr[data-funnel-data-row]:hover td{background:linear-gradient(105deg,color-mix(in srgb,var(--stage-start) 52%,#092824),color-mix(in srgb,var(--stage-end) 52%,#092824))}
.sales-funnel-table tr[data-funnel-data-row].is-washing-stage-mismatch td{border-top-color:#ffd06a;background:linear-gradient(105deg,#c87512,#8f4308);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.32)}.sales-funnel-table tr[data-funnel-data-row].is-washing-stage-mismatch td:first-child{box-shadow:inset 5px 0 0 #ffe09a}.sales-funnel-table tr[data-funnel-data-row].is-washing-stage-mismatch:hover td{background:linear-gradient(105deg,#dc8a1f,#a9510b)}.sales-funnel-table tr.is-washing-stage-mismatch a{color:#fff}.sales-funnel-billed-badge{display:inline-flex;margin-top:6px;padding:3px 7px;border:1px solid rgba(255,255,255,.72);border-radius:999px;background:rgba(66,31,0,.38);color:#fff;font-size:.57rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em;white-space:nowrap}
.sales-funnel-table tr[data-funnel-data-row].is-validated-implementation td{border-top-color:#b99cf1;background:linear-gradient(105deg,#8c62d7,#5843aa);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.28)}.sales-funnel-table tr[data-funnel-data-row].is-validated-implementation td:first-child{box-shadow:inset 5px 0 0 #cdb8f8}.sales-funnel-table tr[data-funnel-data-row].is-validated-implementation:hover td{background:linear-gradient(105deg,#9a70e7,#6650bd)}.sales-funnel-table tr.is-validated-implementation a{color:#fff}.sales-funnel-commission-owner{color:#fff4bc;font-size:.68rem;line-height:1.25}.is-washing-stage-mismatch .sales-funnel-commission-owner,.is-validated-implementation .sales-funnel-commission-owner{color:#fff}
.sales-funnel-table th.sales-funnel-sales-column{min-width:112px;background:#173c34;color:#ffe07b;border-bottom:2px solid #ffd15a;font-size:.62rem}.sales-funnel-table td.sales-funnel-sales-value{background:rgba(255,209,90,.13)!important;color:#fff4bc!important;font-size:.78rem;font-weight:950;text-shadow:0 1px 2px rgba(0,0,0,.35)}
@media(max-width:1200px){.sales-funnel-controls-panel .sales-filter-bar{grid-template-columns:repeat(2,minmax(180px,1fr))}}
@media(max-width:1100px){.sales-funnel-layout{grid-template-columns:1fr}.sales-funnel-visual{max-width:660px;width:100%;margin:auto}.sales-funnel-table-wrap{max-height:420px}}
@media(max-width:650px){.sales-funnel-controls-heading,.sales-funnel-hero,.sales-funnel-module-head{align-items:stretch;flex-direction:column}.sales-funnel-controls-panel .sales-filter-bar{grid-template-columns:1fr}.sales-funnel-mode-card{min-width:0}.sales-funnel-layout{padding:12px}.sales-funnel-layer{min-height:72px;padding-inline:max(20px,9%)}.sales-funnel-layer-label{font-size:.68rem}.sales-funnel-table-tools{grid-template-columns:1fr}.sales-funnel-table{min-width:980px}}

/* Funnel 3D: las métricas viven fuera de cada capa y se conectan visualmente. */
.sales-funnel-layout{grid-template-columns:minmax(520px,48%) minmax(0,1fr);gap:24px}.sales-funnel-visual{align-items:stretch;gap:9px;padding:12px 0 28px;perspective:1200px}.sales-funnel-stage-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 38px 148px;align-items:center;min-height:86px}.sales-funnel-stage-shape{display:flex;justify-content:center;align-items:center;min-width:0;perspective:900px}.sales-funnel-layer{width:var(--funnel-width);min-height:76px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count" "amount amount";gap:6px 14px;padding:13px max(28px,8%);border:1px solid rgba(255,255,255,.18);border-radius:4px;background:linear-gradient(105deg,var(--funnel-start),var(--funnel-end));clip-path:polygon(2% 0,98% 0,90% 100%,10% 100%);box-shadow:inset 0 2px 0 rgba(255,255,255,.4),inset 0 -10px 16px rgba(0,0,0,.2),0 14px 18px rgba(0,0,0,.3);filter:saturate(1.12) drop-shadow(0 7px 5px rgba(0,0,0,.32));transform:rotateX(7deg) translateZ(0);transform-origin:center bottom}.sales-funnel-layer::before{background:linear-gradient(180deg,rgba(255,255,255,.5) 0,rgba(255,255,255,.12) 24%,transparent 48%,rgba(0,0,0,.18) 100%)}.sales-funnel-layer::after{content:"";position:absolute;left:10%;right:10%;bottom:2px;height:7px;border-radius:50%;background:rgba(0,0,0,.2);filter:blur(4px);pointer-events:none}.sales-funnel-layer:hover,.sales-funnel-layer.is-active{filter:saturate(1.18) brightness(1.08) drop-shadow(0 12px 9px rgba(0,0,0,.42));transform:rotateX(2deg) translateY(-2px) scale(1.025);outline:2px solid rgba(255,255,255,.88);outline-offset:2px}.sales-funnel-layer-label{font-size:.76rem;letter-spacing:.015em;text-shadow:0 1px 2px rgba(0,0,0,.38)}.sales-funnel-layer>strong{font-size:1.65rem;text-shadow:0 2px 3px rgba(0,0,0,.3)}.sales-funnel-layer>em{grid-area:amount;color:rgba(255,255,255,.9);font-size:.69rem;text-align:right;text-shadow:0 1px 2px rgba(0,0,0,.3)}.sales-funnel-stage-connector{position:relative;display:block;height:2px;background:linear-gradient(90deg,rgba(111,226,207,.18),rgba(111,226,207,.9));box-shadow:0 0 8px rgba(77,222,197,.32)}.sales-funnel-stage-connector::before,.sales-funnel-stage-connector::after{content:"";position:absolute;top:50%;width:7px;height:7px;border-radius:50%;background:#77ead6;box-shadow:0 0 9px rgba(97,235,211,.8);transform:translateY(-50%)}.sales-funnel-stage-connector::before{left:-2px}.sales-funnel-stage-connector::after{right:-2px}.sales-funnel-stage-connector i{position:absolute;right:0;top:-7px;height:16px;border-right:1px solid rgba(119,234,214,.8)}.sales-funnel-stage-metrics{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding-left:8px}.sales-funnel-stage-metric{min-width:0;display:grid;align-content:center;min-height:65px;padding:7px 8px;border:1px solid rgba(104,225,205,.3);border-radius:9px;background:linear-gradient(160deg,rgba(19,65,58,.96),rgba(6,29,26,.98));box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 7px 14px rgba(0,0,0,.22)}.sales-funnel-stage-metric span{color:#8eb8b0;font-size:.49rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.sales-funnel-stage-metric strong{margin:2px 0;color:#fff;font-size:1.05rem;line-height:1}.sales-funnel-stage-metric small{color:#8fa9a4;font-size:.48rem;line-height:1.1}.sales-funnel-stage-metric.conversion{border-color:rgba(255,204,72,.55)}.sales-funnel-stage-metric.conversion strong{color:#ffd45f}.sales-funnel-stage-metric.age{border-color:rgba(77,204,232,.48)}.sales-funnel-stage-metric.age strong{color:#74e0f3}
@media(max-width:1250px){.sales-funnel-layout{grid-template-columns:1fr}.sales-funnel-visual{max-width:760px;width:100%;margin:auto}.sales-funnel-stage-row{grid-template-columns:minmax(0,1fr) 34px 160px}}
@media(max-width:650px){.sales-funnel-stage-row{grid-template-columns:minmax(0,1fr) 18px 116px;min-height:82px}.sales-funnel-stage-metrics{gap:4px;padding-left:4px}.sales-funnel-stage-metric{min-height:60px;padding:6px 5px}.sales-funnel-stage-metric strong{font-size:.88rem}.sales-funnel-stage-metric small{font-size:.43rem}.sales-funnel-layer{min-height:70px;padding-inline:max(18px,8%)}}
.sales-funnel-layer>em{min-width:0;padding-right:3%;overflow:visible;color:#fff;font-size:.84rem;line-height:1.15;font-weight:950;text-align:right;white-space:nowrap;text-shadow:0 2px 3px rgba(0,0,0,.42)}

/* Funnel 3D v2: capas con boca elíptica, cavidad y profundidad de recipiente. */
.sales-funnel-visual{position:relative;gap:2px;padding:18px 0 42px;isolation:isolate}
.sales-funnel-visual::before{content:"";position:absolute;left:8%;right:28%;top:12px;bottom:30px;border-radius:42% 42% 48% 48%;background:radial-gradient(ellipse at 42% 15%,rgba(255,255,255,.075),transparent 34%),linear-gradient(100deg,rgba(255,255,255,.025),transparent 42%,rgba(0,0,0,.18));filter:blur(1px);pointer-events:none}
.sales-funnel-visual::after{content:"▼  FLUJO";position:absolute;left:calc(36% - 22px);bottom:2px;color:#6de4cf;font-size:.55rem;font-weight:950;letter-spacing:.13em;text-shadow:0 0 12px rgba(84,230,203,.5)}
.sales-funnel-stage-row{min-height:92px}
.sales-funnel-stage-shape{position:relative;min-height:88px;transform-style:preserve-3d}
.sales-funnel-stage-shape::before{content:"";position:absolute;z-index:4;top:4px;left:50%;width:calc(var(--funnel-width) - 1%);height:25px;border:1px solid rgba(255,255,255,.48);border-radius:50%;background:radial-gradient(ellipse at center,rgba(4,20,18,.58) 0 42%,rgba(255,255,255,.16) 44%,rgba(255,255,255,.48) 48%,var(--funnel-start) 54%,var(--funnel-end) 78%,rgba(0,0,0,.38) 100%);box-shadow:inset 0 5px 7px rgba(255,255,255,.34),inset 0 -6px 8px rgba(0,0,0,.36),0 3px 5px rgba(0,0,0,.35);transform:translateX(-50%);pointer-events:none}
.sales-funnel-stage-shape::after{content:"";position:absolute;z-index:0;left:50%;bottom:1px;width:calc(var(--funnel-width) - 18%);height:15px;border-radius:50%;background:rgba(0,0,0,.48);filter:blur(7px);transform:translateX(-50%);pointer-events:none}
.sales-funnel-layer{z-index:1;min-height:82px;padding:24px max(30px,9%) 12px;border-color:rgba(255,255,255,.28);border-radius:12px 12px 24px 24px;background:linear-gradient(100deg,color-mix(in srgb,var(--funnel-start) 72%,#111),var(--funnel-start) 24%,var(--funnel-end) 68%,color-mix(in srgb,var(--funnel-end) 72%,#000));clip-path:polygon(3% 7%,97% 7%,88% 100%,12% 100%);box-shadow:inset 18px 0 22px rgba(255,255,255,.08),inset -20px 0 24px rgba(0,0,0,.2),inset 0 -17px 20px rgba(0,0,0,.24),0 13px 18px rgba(0,0,0,.3);filter:saturate(1.18) drop-shadow(0 7px 5px rgba(0,0,0,.34));transform:rotateX(3deg) translateZ(0)}
.sales-funnel-layer::before{background:linear-gradient(92deg,rgba(0,0,0,.18),rgba(255,255,255,.22) 18%,transparent 43%,rgba(255,255,255,.12) 70%,rgba(0,0,0,.25)),linear-gradient(180deg,rgba(255,255,255,.34),transparent 34%,rgba(0,0,0,.2))}
.sales-funnel-layer::after{left:15%;right:15%;bottom:3px;height:9px;background:linear-gradient(90deg,transparent,rgba(0,0,0,.38),transparent);filter:blur(3px)}
.sales-funnel-layer:hover,.sales-funnel-layer.is-active{z-index:5;filter:saturate(1.28) brightness(1.1) drop-shadow(0 14px 11px rgba(0,0,0,.46));transform:rotateX(0) translateY(-2px) scale(1.022);outline:0;box-shadow:inset 18px 0 22px rgba(255,255,255,.11),inset -20px 0 24px rgba(0,0,0,.24),inset 0 -17px 20px rgba(0,0,0,.23),0 0 0 2px rgba(255,255,255,.76),0 16px 24px rgba(0,0,0,.42)}
.sales-funnel-layer-label{font-size:.8rem;letter-spacing:.025em}.sales-funnel-layer>strong{font-size:1.82rem}.sales-funnel-layer>em{padding-right:1%;font-size:.9rem;letter-spacing:.01em}
.sales-funnel-stage-connector{height:3px;background:linear-gradient(90deg,rgba(111,226,207,.12),rgba(111,226,207,.95));box-shadow:0 0 11px rgba(77,222,197,.5)}
.sales-funnel-stage-metric{min-height:69px;border-radius:11px;background:radial-gradient(circle at 22% 0,rgba(255,255,255,.08),transparent 45%),linear-gradient(155deg,rgba(20,69,61,.98),rgba(5,25,23,.99));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),inset 0 -8px 15px rgba(0,0,0,.15),0 9px 18px rgba(0,0,0,.26)}
.sales-funnel-stage-metric strong{font-size:1.12rem}
@supports not (color:color-mix(in srgb,#000,#fff)){.sales-funnel-layer{background:linear-gradient(100deg,var(--funnel-start),var(--funnel-end))}}
@media(max-width:650px){.sales-funnel-visual::after{left:calc(31% - 20px)}.sales-funnel-stage-row{min-height:88px}.sales-funnel-stage-shape{min-height:84px}.sales-funnel-stage-shape::before{height:20px}.sales-funnel-layer{min-height:76px;padding-top:21px}.sales-funnel-layer>strong{font-size:1.48rem}.sales-funnel-layer>em{font-size:.73rem}}

/* Guía dinámica para interpretar el cohorte seleccionado. */
.sales-cohort-explanation{margin:0 20px 22px;border:1px solid #4f8178;border-radius:13px;background:linear-gradient(145deg,#0d312c,#071f1c);box-shadow:0 13px 30px rgba(0,0,0,.2);overflow:hidden}.sales-cohort-explanation>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-bottom:1px solid #3b6961;background:radial-gradient(circle at 8% 0,rgba(99,228,205,.13),transparent 46%),#103630}.sales-cohort-explanation>header span{display:block;color:#75e5d1;font-size:.61rem;font-weight:950;text-transform:uppercase;letter-spacing:.09em}.sales-cohort-explanation>header h6{margin:3px 0 0;font-size:1.05rem}.sales-cohort-explanation>header>strong{padding:7px 11px;border:1px solid rgba(255,207,77,.55);border-radius:999px;background:rgba(255,207,77,.08);color:#ffe28c;font-size:.73rem;text-transform:capitalize;white-space:nowrap}.sales-cohort-table-wrap{overflow-x:auto}.sales-cohort-table{width:100%;border-collapse:collapse;table-layout:fixed}.sales-cohort-table th{padding:9px 11px;background:#092723;color:#8ac8bd;font-size:.58rem;text-align:left;text-transform:uppercase;letter-spacing:.06em}.sales-cohort-table th:first-child{width:62px;text-align:center}.sales-cohort-table th:nth-child(2){width:24%}.sales-cohort-table th:nth-child(4){width:130px;text-align:center}.sales-cohort-table th:last-child{width:100px;text-align:center}.sales-cohort-table td{padding:13px 11px;border-top:1px solid rgba(91,145,135,.27);color:#b9ceca;font-size:.73rem;line-height:1.38;vertical-align:middle}.sales-cohort-table td:first-child,.sales-cohort-table td:last-child{text-align:center}.sales-cohort-table td b{color:#f0fbf9;font-size:.78rem}.sales-cohort-table td:last-child strong{display:inline-grid;place-items:center;min-width:54px;min-height:42px;padding:5px 11px;border:1px solid rgba(255,210,83,.7);border-radius:10px;background:linear-gradient(145deg,#5c4813,#2c230b);color:#ffe069;font-size:1.45rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 6px 14px rgba(0,0,0,.2)}.sales-cohort-step{display:inline-grid;place-items:center;width:31px;height:31px;border:1px solid #66d9c4;border-radius:50%;background:#164b43;color:#a8f6e8;font-weight:950;box-shadow:0 0 13px rgba(88,223,198,.18)}.sales-cohort-names{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.sales-cohort-names span{padding:3px 7px;border:1px solid #3e756c;border-radius:999px;background:#123b35;color:#8eebda;font-size:.61rem;font-weight:800}.sales-cohort-time{text-align:center;color:#8fe6d6;font-weight:850}.sales-cohort-explanation>p{margin:0;padding:14px 17px;border-top:1px solid #3b6961;background:rgba(255,209,90,.055);color:#d7e5e2;font-size:.78rem;line-height:1.48}.sales-cohort-explanation>p b{color:#ffdc75}.sales-cohort-table tbody tr:nth-child(3){background:rgba(85,221,196,.045)}.sales-cohort-table tbody tr:nth-child(3) td:last-child strong{border-color:#64e2cc;background:linear-gradient(145deg,#16675a,#0b382f);color:#b8fff2}
@media(max-width:700px){.sales-cohort-explanation{margin-inline:12px}.sales-cohort-explanation>header{align-items:flex-start;flex-direction:column}.sales-cohort-table{min-width:760px}}

/* Funnel 3D v3: volumen facetado limpio; sin elipses sobre el contenido. */
.sales-funnel-left-column{min-width:0;display:flex;flex-direction:column}.sales-funnel-left-column>.sales-funnel-informational{width:100%;max-width:none;margin:6px auto 0}.sales-funnel-left-column>.sales-funnel-informational>summary{min-height:68px}.sales-funnel-left-column>.sales-funnel-informational .sales-funnel-table{min-width:900px}
.sales-funnel-prospect-info{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 8px;padding:12px 15px;border:1px dashed rgba(255,190,63,.7);border-radius:12px;background:radial-gradient(circle at 8% 0,rgba(255,190,63,.12),transparent 45%),linear-gradient(135deg,rgba(72,51,10,.46),rgba(16,44,39,.9));box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 8px 18px rgba(0,0,0,.18);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color .16s ease,filter .16s ease,transform .16s ease}.sales-funnel-prospect-info:hover,.sales-funnel-prospect-info.is-active{border-color:#ffd466;filter:brightness(1.09);transform:translateY(-1px)}.sales-funnel-prospect-info.is-active{box-shadow:0 0 0 2px rgba(255,212,102,.32),0 10px 22px rgba(0,0,0,.24)}.sales-funnel-prospect-info>div:first-child{display:grid;gap:2px}.sales-funnel-prospect-info span{color:#f5c557;font-size:.55rem;font-weight:950;text-transform:uppercase;letter-spacing:.08em}.sales-funnel-prospect-info strong{color:#fff1bd;font-size:.92rem}.sales-funnel-prospect-info small{color:#aebeb9;font-size:.62rem}.sales-funnel-prospect-info>div:last-child{display:grid;justify-items:end;gap:2px}.sales-funnel-prospect-info b{color:#ffd466;font-size:1.7rem;line-height:1}.sales-funnel-prospect-info u{color:#ffe399;font-size:.62rem;font-weight:900;text-decoration:none}.sales-funnel-prospect-info em{color:#e7d59e;font-size:.7rem;font-style:normal;font-weight:850;white-space:nowrap}.sales-funnel-prospect-evidence .sales-funnel-evidence-head{background:linear-gradient(105deg,#614711,#2f2b16)}.sales-funnel-prospect-evidence .sales-funnel-evidence-head>div:last-child strong{color:#ffd466}
.sales-funnel-visual{gap:5px;padding-top:16px;background:radial-gradient(ellipse at 37% 46%,rgba(63,217,191,.07),transparent 48%)}
.sales-funnel-visual::before{left:7%;right:29%;top:20px;bottom:38px;border:1px solid rgba(103,226,205,.08);border-radius:28px 28px 48% 48%;background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 30%,rgba(99,231,207,.04) 52%,transparent 74%,rgba(0,0,0,.16));filter:none}
.sales-funnel-stage-row{grid-template-columns:minmax(0,1fr) 186px;min-height:84px}
.sales-funnel-stage-shape{position:relative;min-height:80px}
.sales-funnel-stage-shape::before,.sales-funnel-stage-shape::after{display:none}
.sales-funnel-layer{min-height:76px;padding:13px max(30px,9%) 17px;border:0;border-radius:0;background:linear-gradient(90deg,rgba(0,0,0,.26),transparent 13%,rgba(255,255,255,.12) 42%,rgba(255,255,255,.04) 63%,rgba(0,0,0,.3)),linear-gradient(180deg,color-mix(in srgb,var(--funnel-start) 82%,#fff) 0,var(--funnel-start) 14%,var(--funnel-end) 72%,color-mix(in srgb,var(--funnel-end) 70%,#000) 100%);clip-path:polygon(2% 0,98% 0,88% 100%,12% 100%);box-shadow:none;filter:saturate(1.18) drop-shadow(0 10px 8px rgba(0,0,0,.34));transform:perspective(900px) rotateX(-1deg);overflow:hidden}
.sales-funnel-layer::before{inset:0 3% auto;height:7px;background:linear-gradient(90deg,rgba(255,255,255,.08),rgba(255,255,255,.72) 25%,rgba(255,255,255,.38) 58%,rgba(255,255,255,.04));clip-path:polygon(0 0,100% 0,98% 100%,2% 100%);box-shadow:0 3px 7px rgba(0,0,0,.2)}
.sales-funnel-layer::after{left:10%;right:10%;bottom:0;height:11px;border-radius:0;background:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.4));clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);filter:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.14)}
.sales-funnel-layer:hover,.sales-funnel-layer.is-active{z-index:5;filter:saturate(1.28) brightness(1.08) drop-shadow(0 13px 10px rgba(0,0,0,.44));transform:perspective(900px) rotateX(0) translateY(-2px) scale(1.018);outline:0;box-shadow:0 0 0 2px rgba(255,255,255,.7)}
.sales-funnel-layer-label,.sales-funnel-layer>strong,.sales-funnel-layer>em{z-index:2}.sales-funnel-layer-label{font-size:.8rem;line-height:1.14}.sales-funnel-layer>strong{font-size:1.8rem}.sales-funnel-layer>em{font-size:.91rem}
.sales-funnel-stage-connector{position:absolute;z-index:4;left:var(--connector-left);right:-46px;top:50%;height:3px;transform:translateY(-50%)}
.sales-funnel-stage-metrics{padding-left:46px}
@supports not (color:color-mix(in srgb,#000,#fff)){.sales-funnel-layer{background:linear-gradient(100deg,var(--funnel-start),var(--funnel-end))}}
@media(max-width:1250px){.sales-funnel-stage-row{grid-template-columns:minmax(0,1fr) 202px}}
@media(max-width:650px){.sales-funnel-stage-row{grid-template-columns:minmax(0,1fr) 134px;min-height:82px}.sales-funnel-stage-shape{min-height:78px}.sales-funnel-layer{min-height:73px;padding-top:13px;padding-bottom:15px}.sales-funnel-stage-connector{right:-24px}.sales-funnel-stage-metrics{padding-left:24px}.sales-funnel-layer-label{font-size:.69rem}.sales-funnel-layer>strong{font-size:1.45rem}.sales-funnel-layer>em{font-size:.72rem}}
@media(max-width:650px){.sales-funnel-prospect-info{align-items:flex-start}.sales-funnel-prospect-info small{max-width:210px}}
@media(max-width:900px){.implementation-calendar-heading,.implementation-calendar-toolbar{align-items:stretch;flex-direction:column}.implementation-calendar-navigation strong{min-width:0}.implementation-calendar-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.implementation-calendar-month-grid,.implementation-calendar-weekdays{min-width:760px}.implementation-calendar-body{overflow-x:auto}.implementation-calendar-week-grid{grid-template-columns:1fr}.implementation-calendar-week-day{min-height:150px;border-right:0;border-bottom:1px solid #315e57}.implementation-form-grid,.implementation-participant-grid,.implementation-authorization-summary,.implementation-date-editor{grid-template-columns:1fr}.implementation-span-2,.implementation-summary-wide{grid-column:auto}}
@media(max-width:560px){.implementation-calendar-year-grid{grid-template-columns:1fr}.implementation-calendar-navigation,.implementation-calendar-views{flex-wrap:wrap}.implementation-calendar-heading-actions{flex-direction:column}}

/* Goal groups keep the planner's existing visual language and total. */
.master-goal-breakdown{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 8px}
.master-goal-metric{min-width:0;padding:12px 14px;border:1px solid #c8e4dd;border-radius:8px;background:#f0faf7;color:#075e55}
.master-goal-metric>span{display:block;font-size:11px;font-weight:800;line-height:1.4;margin-bottom:5px}
.master-goal-metric>strong{display:block;font-size:19px;line-height:1.3;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.master-goal-objectives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 14px}
.master-goal-objective{min-width:0;padding:15px 17px;border:2px solid #78b9a9;border-radius:9px;background:#d9eee9;color:#075e55}
.master-goal-objective>span{display:block;font-size:13px;font-weight:900;line-height:1.4}
.master-goal-objective>strong{display:block;margin:5px 0 7px;font-size:25px;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.master-goal-objective>p{margin:0;font-size:11px;line-height:1.5;color:inherit}
.master-goal-objective-total{background:#075e55;border-color:#075e55;color:#fff}
.master-goal-comparison{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;margin:11px 0 0;padding-top:10px;border-top:1px solid #78b9a9;font-size:11px;line-height:1.4}
.master-goal-comparison dt{min-width:0;margin:0}
.master-goal-comparison dt small{display:block;font-size:10px;opacity:.8}
.master-goal-comparison dd{margin:0;text-align:right;font-weight:800;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:800px){
  .master-goal-breakdown{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .master-goal-metric{padding:11px 12px}
  .master-goal-metric>strong{font-size:18px}
  .master-goal-objectives{gap:8px}
}
@media(max-width:600px){.master-goal-objectives{grid-template-columns:minmax(0,1fr)}.master-goal-objective{padding:13px 14px}.master-goal-objective>strong{font-size:23px}}
@media(max-width:380px){.master-goal-metric>strong{font-size:16px}.master-goal-metric{padding:10px}}

/* Live CRM stage in the validated-implementations table. */
.sales-funnel-table .sales-funnel-opportunity-stage{min-width:180px}
.sales-funnel-opportunity-stage .sales-funnel-stage-pill{max-width:240px;white-space:normal;line-height:1.4;overflow-wrap:anywhere}

/* The live-stage pill opens its verified Odoo opportunity. */
.sales-funnel-opportunity-stage .sales-funnel-odoo-stage-link{display:inline-flex;max-width:100%;border-radius:999px;text-decoration:none}
.sales-funnel-opportunity-stage .sales-funnel-odoo-stage-link:hover{text-decoration:none}
.sales-funnel-opportunity-stage .sales-funnel-odoo-stage-link:is(:hover,:focus-visible) .sales-funnel-stage-pill{border-color:#a2f3df;background:rgba(77,186,159,.3);text-decoration:underline;text-underline-offset:3px}
.sales-funnel-opportunity-stage .sales-funnel-odoo-stage-link:focus-visible{outline:3px solid #ffe07b;outline-offset:3px}

/* A.1 monthly sales excluding Nissan; retains the Maestro report card design. */
#masterWithoutNissanChart {
  min-width: 0;
  max-width: 100%;
  color: #0f172a;
}

#masterWithoutNissanChart .chart-head > div {
  min-width: 0;
}

#masterWithoutNissanChart .chart-head h4,
#masterWithoutNissanChart .chart-head p {
  overflow-wrap: anywhere;
}

#masterWithoutNissanChart .non-nissan-legend {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 8px 14px;
  max-width: 100%;
  color: #475569;
  font-size: 12px;
  line-height: 1.5;
  white-space: normal;
}

#masterWithoutNissanChart .non-nissan-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
}

#masterWithoutNissanChart .non-nissan-legend i {
  display: inline-block;
  flex: 0 0 auto;
  margin: 0;
}

#masterWithoutNissanChart .non-nissan-legend .actual {
  width: 12px;
  height: 12px;
  border-radius: 2px;
  background: #2563eb;
}

#masterWithoutNissanChart .non-nissan-legend .target {
  position: relative;
  width: 22px;
  height: 0;
  border-top: 3px solid #b77900;
  border-radius: 0;
  background: transparent;
}

#masterWithoutNissanChart .non-nissan-legend .target::after {
  content: "";
  position: absolute;
  top: -5px;
  left: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #b77900;
}

#masterWithoutNissanChart .non-nissan-chart {
  min-width: 0;
  max-width: 100%;
  margin-top: 12px;
  padding-block: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: #94a3b8 #f1f5f9;
}

#masterWithoutNissanChart .non-nissan-chart > svg {
  display: block;
  width: 100%;
  min-width: 720px;
  max-width: none;
  height: auto;
}

#masterWithoutNissanChart .non-nissan-chart g[data-nn-month] {
  cursor: help;
}

#masterWithoutNissanChart .non-nissan-chart g[data-nn-month]:focus-visible rect {
  stroke: #0f172a;
  stroke-width: 3px;
  vector-effect: non-scaling-stroke;
}

#masterWithoutNissanChart .non-nissan-chart g[data-nn-month]:focus-visible text {
  fill: #0f172a;
  font-weight: 800;
}

#masterWithoutNissanChart .non-nissan-chart:focus-visible,
#masterWithoutNissanChart .non-nissan-data > summary:focus-visible,
#masterWithoutNissanChart .non-nissan-table-wrap:focus-visible {
  outline: 3px solid #2563eb;
  outline-offset: 3px;
}

#masterWithoutNissanChart .non-nissan-scroll-hint {
  display: none;
  margin: 6px 0 10px;
  color: #475569;
  font-size: 12px;
  line-height: 1.5;
}

#masterWithoutNissanChart .non-nissan-note {
  margin: 12px 0;
  padding: 11px 13px;
  border: 1px solid #d6b477;
  border-left: 4px solid #b77900;
  border-radius: 7px;
  background: #fff9eb;
  color: #704700;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

#masterWithoutNissanChart .non-nissan-note[hidden],
#masterWithoutNissanChart .non-nissan-note:empty {
  display: none;
}

#masterWithoutNissanChart .non-nissan-data {
  min-width: 0;
  max-width: 100%;
  margin-top: 14px;
  border: 1px solid #cbd5e1;
  border-radius: 8px;
  background: #fff;
}

#masterWithoutNissanChart .non-nissan-data > summary {
  box-sizing: border-box;
  min-height: 44px;
  padding: 12px 14px;
  color: #334155;
  font-size: 13px;
  font-weight: 750;
  line-height: 1.5;
  cursor: pointer;
  touch-action: manipulation;
}

#masterWithoutNissanChart .non-nissan-data > summary:hover {
  background: #f1f5f9;
}

#masterWithoutNissanChart .non-nissan-data[open] > summary {
  border-bottom: 1px solid #cbd5e1;
}

#masterWithoutNissanChart .non-nissan-table-wrap {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

#masterWithoutNissanChart .non-nissan-table-wrap table {
  width: 100%;
  min-width: 420px;
  border-collapse: collapse;
  background: #fff;
  font-size: 13px;
}

#masterWithoutNissanChart .non-nissan-table-wrap caption {
  padding: 11px 14px;
  color: #475569;
  font-size: 12px;
  line-height: 1.5;
  text-align: left;
}

#masterWithoutNissanChart .non-nissan-table-wrap :is(th, td) {
  padding: 10px 12px;
  border-bottom: 1px solid #e2e8f0;
  color: #0f172a;
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

#masterWithoutNissanChart .non-nissan-table-wrap thead th {
  background: #eaf0f7;
  color: #334155;
  font-weight: 750;
}

#masterWithoutNissanChart .non-nissan-table-wrap :is(th, td):first-child {
  text-align: left;
}

#masterWithoutNissanChart .non-nissan-table-wrap tbody th {
  font-weight: 650;
}

#masterWithoutNissanChart .non-nissan-table-wrap tbody tr:nth-child(even) {
  background: #f8fafc;
}

#masterWithoutNissanChart .non-nissan-table-wrap tbody tr:last-child > * {
  border-bottom: 0;
}

@media (max-width: 700px) {
  #masterWithoutNissanChart {
    padding: 14px;
  }

  #masterWithoutNissanChart .chart-head {
    flex-direction: column;
    gap: 10px;
  }

  #masterWithoutNissanChart .non-nissan-legend {
    justify-content: flex-start;
  }

  #masterWithoutNissanChart .non-nissan-scroll-hint {
    display: block;
  }
}

@media print {
  #masterWithoutNissanChart {
    box-shadow: none;
    break-inside: avoid;
    page-break-inside: avoid;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  #masterWithoutNissanChart .non-nissan-chart,
  #masterWithoutNissanChart .non-nissan-table-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible !important;
  }

  #masterWithoutNissanChart .non-nissan-chart > svg {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  #masterWithoutNissanChart .non-nissan-scroll-hint,
  #masterWithoutNissanChart .non-nissan-data > summary {
    display: none;
  }

  #masterWithoutNissanChart .non-nissan-data {
    border-radius: 0;
    break-inside: avoid;
    page-break-inside: avoid;
  }

  #masterWithoutNissanChart .non-nissan-table-wrap table {
    width: 100%;
    min-width: 0;
    font-size: 10px;
  }

  #masterWithoutNissanChart .non-nissan-table-wrap :is(th, td) {
    padding: 5px 7px;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  #masterWithoutNissanChart .non-nissan-table-wrap thead {
    display: table-header-group;
  }
}

/* A.1 targets are grouped orange bars, matching the report's orange palette. */
#masterWithoutNissanChart .non-nissan-legend .target {
  width: 12px;
  height: 12px;
  box-sizing: border-box;
  border: 1px solid #c2410c;
  border-radius: 2px;
  background: #f97316;
}

#masterWithoutNissanChart .non-nissan-legend .target::after {
  display: none;
}

#masterWithoutNissanChart .non-nissan-target-bar {
  stroke: #c2410c;
  stroke-width: 1px;
  vector-effect: non-scaling-stroke;
}

@media screen and (max-width: 700px) {
  #masterWithoutNissanChart .non-nissan-chart > svg {
    min-width: 920px;
  }
}
