﻿/* PAC Business Control Tower v1.7.29
   Visible native tables, personal executive home and global semaphore surfaces. */

/* The v1.7.29 native renderers are the visible source of truth. Dash DataTables
   remain mounted only for callback compatibility and Detail 360 selection. */
#direction-week-comparison-table,
#direction-momentum-table,
#direction-client-projection-table,
#direction-decline-alert-table,
#v160-finance-queue-table {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
}

.v1729-empty-state,
.v1729-home-empty {
  min-height: 92px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 18px;
  border: 1px dashed rgba(153,233,242,.32);
  border-radius: 14px;
  color: #ccecf1;
  background: rgba(5,45,56,.72);
  text-align: center;
}
.v1729-empty-state.ok,
.v1729-home-empty.status-green { border-color: rgba(48,199,121,.45); }

.v1729-status-chip,
.v1729-table-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 82px;
  padding: 5px 10px;
  border-radius: 999px;
  font-size: 10px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .05em;
  color: #fff;
  border: 1px solid transparent;
}
.v1729-status-chip.red,.v1729-table-status.red { background:#8f1743; border-color:#f21d56; }
.v1729-status-chip.yellow,.v1729-table-status.yellow { background:#76520a; border-color:#f2bf43; color:#fff6d7; }
.v1729-status-chip.green,.v1729-table-status.green { background:#12603f; border-color:#35c77a; color:#e3fff1; }
.v1729-status-chip.neutral,.v1729-table-status.neutral { background:#344b55; border-color:#6c8790; }

/* Direction: cards replace fragile browser DataTable layers. */
.v1729-period-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(285px,1fr));
  gap: 12px;
  margin-top: 12px;
}
.v1729-period-card,
.v1729-client-card,
.v1729-alert-row {
  border: 1px solid rgba(153,233,242,.22);
  background: linear-gradient(145deg,rgba(7,54,65,.97),rgba(3,35,44,.97));
  border-radius: 14px;
  padding: 13px;
  box-shadow: 0 10px 28px rgba(0,0,0,.14);
}
.v1729-period-card.red,.v1729-client-card.red,.v1729-alert-row.red { border-left:5px solid #f21d56; }
.v1729-period-card.yellow,.v1729-client-card.yellow,.v1729-alert-row.yellow { border-left:5px solid #f2bf43; }
.v1729-period-card.green,.v1729-client-card.green,.v1729-alert-row.green { border-left:5px solid #35c77a; }
.v1729-period-card.neutral,.v1729-client-card.neutral,.v1729-alert-row.neutral { border-left:5px solid #708a94; }
.v1729-period-card-head,
.v1729-client-head,
.v1729-alert-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.v1729-period-card-head > div,
.v1729-client-head > div { display:flex; flex-direction:column; gap:7px; }
.v1729-row-open,
.v1729-open-detail {
  border:1px solid rgba(153,233,242,.45);
  background:#103e4b;
  color:#dffaff;
  border-radius:9px;
  padding:7px 10px;
  font-weight:800;
  cursor:pointer;
  white-space:nowrap;
}
.v1729-row-open:hover,.v1729-open-detail:hover { background:#176075; transform:translateY(-1px); }
.v1729-period-metrics,
.v1729-client-metrics {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(105px,1fr));
  gap:8px;
  margin-top:12px;
}
.v1729-period-metrics > div,
.v1729-client-metrics > div {
  display:flex;
  flex-direction:column;
  gap:3px;
  min-height:58px;
  padding:9px;
  border-radius:10px;
  background:rgba(0,26,34,.68);
  border:1px solid rgba(153,233,242,.12);
}
.v1729-period-metrics span,.v1729-client-metrics span { font-size:10px; color:#9cc3ca; text-transform:uppercase; }
.v1729-period-metrics strong,.v1729-client-metrics strong { font-size:17px; color:#fff; }
.v1729-client-list,.v1729-alert-list { display:grid; gap:10px; margin-top:12px; }
.v1729-client-list { grid-template-columns:repeat(auto-fit,minmax(390px,1fr)); }
.v1729-client-reading { display:grid; gap:7px; margin-top:10px; }
.v1729-client-reading > div { display:grid; grid-template-columns:72px 1fr; gap:8px; font-size:11px; }
.v1729-client-reading span { color:#8fb5bd; text-transform:uppercase; }
.v1729-alert-row { display:grid; grid-template-columns:140px minmax(200px,1fr) auto; align-items:center; gap:14px; }
.v1729-alert-semaphore { display:flex; align-items:center; gap:8px; }
.v1729-alert-copy { display:grid; gap:4px; }
.v1729-alert-copy strong { color:#fff; }
.v1729-alert-copy span,.v1729-alert-copy small { color:#b7d4da; }

/* Native HTML tables used in P&L SCOPE and diagnostics. */
.v1729-native-table-wrap { width:100%; overflow:auto; border:1px solid rgba(153,233,242,.22); border-radius:14px; }
.v1729-native-table { width:100%; border-collapse:separate; border-spacing:0; min-width:900px; color:#e8f9fc; }
.v1729-native-table th { position:sticky; top:0; z-index:2; background:#0b3b48; color:#a9f3fb; padding:11px; font-size:11px; text-align:left; border-bottom:1px solid rgba(153,233,242,.3); }
.v1729-native-table td { padding:10px 11px; font-size:11.5px; border-bottom:1px solid rgba(153,233,242,.11); vertical-align:top; }
.v1729-native-table tr:nth-child(even) td { background:rgba(0,25,32,.28); }
.v1729-native-table tr:hover td { background:rgba(153,233,242,.08); }
.v1729-table-footnote { padding:8px 11px; color:#8fb7bf; font-size:10px; background:#062d37; }

/* Finance Work Queue: visible semaphore and actionable cases. */
.v1729-queue-summary { display:flex; gap:16px; align-items:center; min-height:150px; padding:18px; border-radius:14px; background:#062e39; border:1px solid rgba(153,233,242,.24); }
.v1729-queue-summary.red { border-color:rgba(242,29,86,.65); }
.v1729-queue-summary.yellow { border-color:rgba(242,191,67,.65); }
.v1729-queue-summary.green { border-color:rgba(53,199,122,.55); }
.v1729-traffic-light { display:grid; gap:6px; padding:8px; border-radius:999px; background:#001d25; border:1px solid rgba(153,233,242,.22); }
.v1729-traffic-light span { width:24px; height:24px; border-radius:50%; background:#173941; opacity:.28; box-shadow:inset 0 0 9px rgba(0,0,0,.7); }
.v1729-traffic-light.active-red .red { background:#ff245d; opacity:1; box-shadow:0 0 16px rgba(255,36,93,.8); }
.v1729-traffic-light.active-yellow .yellow { background:#ffc447; opacity:1; box-shadow:0 0 16px rgba(255,196,71,.8); }
.v1729-traffic-light.active-green .green { background:#35d07f; opacity:1; box-shadow:0 0 16px rgba(53,208,127,.8); }
.v1729-queue-summary-copy { display:grid; gap:8px; }
.v1729-queue-summary-copy > div:first-child { display:flex; gap:10px; align-items:baseline; }
.v1729-queue-summary-copy strong { font-size:24px; }
.v1729-queue-summary-copy p { margin:0; color:#c1dde2; }
.v1729-queue-type-chips { display:flex; flex-wrap:wrap; gap:6px; }
.v1729-queue-type-chips span { padding:5px 8px; border-radius:999px; background:#0c4553; color:#c9f8ff; font-size:10px; }
.v1729-finance-queue-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(330px,1fr)); gap:11px; margin-top:12px; }
.v1729-finance-case { display:grid; gap:10px; padding:14px; border-radius:13px; background:#062f39; border:1px solid rgba(153,233,242,.2); }
.v1729-finance-case.red { border-left:5px solid #f21d56; }
.v1729-finance-case.yellow { border-left:5px solid #f2bf43; }
.v1729-finance-case.green { border-left:5px solid #35c77a; }
.v1729-finance-case-head,.v1729-finance-case-id { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.v1729-finance-case-head > div { display:flex; align-items:center; gap:8px; }
.v1729-finance-case-id span { color:#a8cbd1; text-align:right; }
.v1729-finance-case-metrics { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
.v1729-finance-case-metrics > div { display:grid; gap:3px; padding:7px; border-radius:8px; background:#021f27; }
.v1729-finance-case-metrics span,.v1729-finance-case-action span { color:#83acb5; font-size:9px; text-transform:uppercase; }
.v1729-finance-case-action { display:grid; gap:3px; padding-top:8px; border-top:1px solid rgba(153,233,242,.13); }
.v1729-case-state { font-size:10px; color:#b8dce2; }

/* Personal executive home. */
.v1729-executive-home { display:grid; gap:14px; width:100%; }
.v1729-home-hero {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  padding:19px 21px;
  border-radius:18px;
  border:1px solid rgba(153,233,242,.28);
  background:linear-gradient(120deg,#063a47,#082d39 70%,#14293a);
}
.v1729-home-hero h2 { margin:3px 0 5px; color:#fff; }
.v1729-home-hero p { margin:0; color:#b7d9df; }
.v1729-home-summary-grid { display:grid; grid-template-columns:repeat(6,minmax(135px,1fr)); gap:9px; }
.v1729-home-kpi { position:relative; min-height:112px; display:grid; align-content:center; gap:5px; padding:13px; border-radius:14px; background:#073541; border:1px solid rgba(153,233,242,.2); overflow:hidden; }
.v1729-home-kpi::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:#6d8990; }
.v1729-home-kpi.status-red::before { background:#f21d56; }
.v1729-home-kpi.status-yellow::before { background:#f2bf43; }
.v1729-home-kpi.status-green::before { background:#35c77a; }
.v1729-home-kpi span { color:#9fc8cf; font-size:10px; text-transform:uppercase; font-weight:800; }
.v1729-home-kpi strong { font-size:27px; color:#fff; }
.v1729-home-kpi small { color:#b5d2d7; }
.v1729-home-kpi-signal { position:absolute; top:8px; right:8px; font-size:8px; font-weight:900; letter-spacing:.07em; opacity:.8; }
.v1729-home-grid { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.72fr); gap:12px; align-items:start; }
.v1729-home-panel { display:grid; gap:10px; padding:15px; border-radius:16px; background:#052f3a; border:1px solid rgba(153,233,242,.21); min-width:0; }
.v1729-home-panel-main { grid-row:span 2; }
.v1729-home-panel-header { display:flex; justify-content:space-between; gap:12px; align-items:flex-start; }
.v1729-home-panel-header h3 { margin:2px 0 4px; color:#fff; }
.v1729-home-panel-header p { margin:0; color:#9fc2c9; }
.v1729-home-priority-list,.v1729-home-compact-list { display:grid; gap:9px; max-height:720px; overflow:auto; padding-right:3px; }
.v1729-priority-card { display:grid; gap:10px; padding:13px; border-radius:13px; background:#082a34; border:1px solid rgba(153,233,242,.17); }
.v1729-priority-card.status-red { border-left:5px solid #f21d56; }
.v1729-priority-card.status-yellow { border-left:5px solid #f2bf43; }
.v1729-priority-card.status-green { border-left:5px solid #35c77a; }
.v1729-priority-head { display:grid; grid-template-columns:180px minmax(150px,1fr) auto; gap:12px; align-items:center; }
.v1729-priority-id { display:grid; gap:3px; }
.v1729-priority-id strong { font-size:15px; color:#fff; }
.v1729-priority-id span { color:#a8cbd1; }
.v1729-priority-sla { padding:5px 8px; border-radius:999px; background:#103e4a; color:#d7f9ff; font-size:10px; font-weight:900; }
.v1729-priority-body { display:grid; gap:7px; }
.v1729-priority-body p { margin:0; color:#d4e8eb; }
.v1729-priority-body small { color:#8fb6bd; }
.v1729-priority-action { display:grid; grid-template-columns:55px 1fr; gap:8px; padding:8px; border-radius:9px; background:#031f27; }
.v1729-priority-action span { color:#7faab3; text-transform:uppercase; font-size:9px; }
.v1729-open-detail { justify-self:end; }
.v1729-mini-semaphore { display:flex; gap:9px; align-items:center; min-width:150px; }
.v1729-mini-lights { display:grid; gap:3px; padding:4px; border-radius:999px; background:#001d25; }
.v1729-mini-lights span { width:11px; height:11px; border-radius:50%; background:#23434b; opacity:.3; }
.v1729-mini-semaphore.status-red .v1729-mini-lights .red { background:#f21d56; opacity:1; box-shadow:0 0 8px #f21d56; }
.v1729-mini-semaphore.status-yellow .v1729-mini-lights .yellow { background:#f2bf43; opacity:1; box-shadow:0 0 8px #f2bf43; }
.v1729-mini-semaphore.status-green .v1729-mini-lights .green { background:#35c77a; opacity:1; box-shadow:0 0 8px #35c77a; }
.v1729-mini-semaphore-copy { display:grid; gap:1px; }
.v1729-mini-semaphore-copy strong { color:#fff; font-size:11px; }
.v1729-mini-semaphore-copy small { color:#92b8bf; font-size:9px; }
.v1729-compact-item { display:grid; grid-template-columns:160px 1fr; align-items:center; gap:10px; padding:10px; border-radius:11px; background:#082832; border:1px solid rgba(153,233,242,.14); }
.v1729-compact-item > div:last-child { display:grid; gap:3px; }
.v1729-compact-item > div:last-child span,.v1729-compact-item > div:last-child small { color:#9fc2c9; }
.v1729-home-source-note { padding:10px 13px; border-radius:10px; background:#031f27; color:#92b5bc; font-size:10.5px; border:1px solid rgba(153,233,242,.13); }

/* Graphs are retained only as callback data sources. The user sees a semantic
   semaphore panel. Inteligencia Comercial-Operativa is explicitly excluded. */
.dash-graph.pac-v1729-source-graph-hidden:not(#page-customers-routes .dash-graph) {
  position:absolute !important;
  left:-10000px !important;
  width:4px !important;
  height:4px !important;
  min-height:4px !important;
  max-height:4px !important;
  opacity:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.pac-v1729-graph-semaphore {
  display:grid;
  gap:12px;
  width:100%;
  min-height:180px;
  padding:16px;
  border-radius:14px;
  background:linear-gradient(145deg,#073642,#042832);
  border:1px solid rgba(153,233,242,.22);
  box-sizing:border-box;
}
.pac-v1729-graph-semaphore.status-red { border-left:5px solid #f21d56; }
.pac-v1729-graph-semaphore.status-yellow { border-left:5px solid #f2bf43; }
.pac-v1729-graph-semaphore.status-green { border-left:5px solid #35c77a; }
.pac-v1729-graph-semaphore.status-neutral { border-left:5px solid #708a94; }
.pac-v1729-graph-semaphore-head { display:grid; grid-template-columns:auto 1fr auto; gap:13px; align-items:center; }
.pac-v1729-graph-semaphore-head small { display:block; color:#7faab3; text-transform:uppercase; font-weight:900; letter-spacing:.04em; }
.pac-v1729-graph-semaphore-head strong { display:block; color:#fff; font-size:15px; margin-top:3px; }
.pac-v1729-graph-semaphore-head p { margin:4px 0 0; color:#aacbd1; font-size:11px; }
.pac-v1729-graph-semaphore-head > b { padding:7px 10px; border-radius:999px; color:#fff; background:#24434c; font-size:10px; }
.status-red .pac-v1729-graph-semaphore-head > b { background:#8f1743; }
.status-yellow .pac-v1729-graph-semaphore-head > b { background:#76520a; }
.status-green .pac-v1729-graph-semaphore-head > b { background:#12603f; }
.pac-v1729-js-traffic { display:grid; gap:4px; padding:5px; background:#001d25; border-radius:999px; }
.pac-v1729-js-traffic span { width:14px; height:14px; border-radius:50%; background:#24434b; opacity:.25; }
.pac-v1729-js-traffic.active-red .red { background:#f21d56; opacity:1; box-shadow:0 0 9px #f21d56; }
.pac-v1729-js-traffic.active-yellow .yellow { background:#f2bf43; opacity:1; box-shadow:0 0 9px #f2bf43; }
.pac-v1729-js-traffic.active-green .green { background:#35c77a; opacity:1; box-shadow:0 0 9px #35c77a; }
.pac-v1729-graph-values { display:grid; grid-template-columns:repeat(auto-fit,minmax(130px,1fr)); gap:7px; }
.pac-v1729-graph-values > div { display:flex; justify-content:space-between; gap:8px; padding:8px 9px; border-radius:9px; background:#021f27; border:1px solid rgba(153,233,242,.1); }
.pac-v1729-graph-values span { color:#9bc1c8; font-size:10px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pac-v1729-graph-values strong { color:#fff; font-size:11px; }
.pac-v1729-graph-values em { color:#9dbfc6; font-style:normal; }

/* Exception: Inteligencia Comercial-Operativa keeps full Plotly graphics. */
#page-customers-routes .dash-graph {
  position:relative !important;
  left:auto !important;
  width:100% !important;
  height:auto !important;
  min-height:320px !important;
  max-height:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
  overflow:visible !important;
}

@media (max-width:1400px) {
  .v1729-home-summary-grid { grid-template-columns:repeat(3,1fr); }
  .v1729-home-grid { grid-template-columns:1fr; }
  .v1729-home-panel-main { grid-row:auto; }
}
@media (max-width:820px) {
  .v1729-home-hero { align-items:flex-start; flex-direction:column; }
  .v1729-home-summary-grid { grid-template-columns:repeat(2,1fr); }
  .v1729-priority-head { grid-template-columns:1fr; }
  .v1729-open-detail { justify-self:stretch; }
  .v1729-client-list { grid-template-columns:1fr; }
  .v1729-alert-row { grid-template-columns:1fr; }
  .v1729-finance-case-metrics { grid-template-columns:repeat(2,1fr); }
  .pac-v1729-graph-semaphore-head { grid-template-columns:auto 1fr; }
  .pac-v1729-graph-semaphore-head > b { grid-column:1 / -1; justify-self:start; }
}

.v1729-result-limit-note {
  margin: 12px 0 2px;
  padding: 10px 12px;
  border: 1px solid rgba(153, 233, 242, .22);
  border-radius: 10px;
  background: rgba(153, 233, 242, .07);
  color: #bfeef3;
  font-size: 12px;
  line-height: 1.45;
}
