/* ==========================================================
   ProControl · CSS maestro v2
   Objetivo: lenguaje visual único para todo el frontend PHP.
   Este archivo reemplaza app.css completo.
   ========================================================== */

:root {
  /* Base ProControl */
  --pc-bg: #f4f7fb;
  --pc-panel: #ffffff;
  --pc-panel-soft: #f8fafc;
  --pc-line: #dfe6ee;
  --pc-line-strong: #c9d4df;
  --pc-text: #172033;
  --pc-muted: #697386;
  --pc-brand: #0f766e;
  --pc-brand-dark: #115e59;
  --pc-brand-soft: #e6f4f2;
  --pc-side: #102a43;
  --pc-side2: #173f5f;
  --pc-danger: #b42318;
  --pc-warning: #9a6700;
  --pc-success: #18794e;
  --pc-info: #175cd3;
  --pc-radius: 12px;
  --pc-radius-sm: 8px;
  --pc-shadow: 0 8px 24px rgba(15, 23, 42, .08);
  --pc-shadow-sm: 0 2px 8px rgba(15, 23, 42, .06);
  --pc-font: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pc-mono: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  /* Alias para estilos heredados de las pantallas antiguas. */
  --bg: var(--pc-bg);
  --card: var(--pc-panel);
  --text: var(--pc-text);
  --txt: var(--pc-text);
  --muted: var(--pc-muted);
  --line: var(--pc-line);
  --border: var(--pc-line);
  --stroke: var(--pc-line);
  --accent: var(--pc-brand);
  --primary: var(--pc-brand);
  --brand: var(--pc-brand);
  --brand2: var(--pc-brand-dark);
  --shadow: var(--pc-shadow);
  --radius: var(--pc-radius);
  --card-radius: var(--pc-radius);
  --card-border: var(--pc-line);
  --gap: 14px;
  --mono: var(--pc-mono);

  /* Alias de módulos legacy */
  --pc-primary: var(--pc-brand);
  --pcp-accent: var(--pc-brand);
  --pcp-accent2: var(--pc-brand-dark);
  --pcp-bd: var(--pc-line);
  --pcp-shadow: var(--pc-shadow-sm);
  --cc-accent: var(--pc-brand);
  --cc-bd: var(--pc-line);
  --cc-muted: var(--pc-muted);
  --ci-accent: var(--pc-brand);
  --ci-bd: var(--pc-line);
  --ci-muted: var(--pc-muted);
  --ci-txt: var(--pc-text);
  --ci-shadow: var(--pc-shadow-sm);
  --ci-warn: #fffaeb;
  --ci-warnbd: #fedf89;
  --rv-accent: var(--pc-brand);
  --rv-bd: var(--pc-line);
  --rv-muted: var(--pc-muted);

  /* Estados heredados */
  --graybd: #d0d5dd;
  --graytxt: #667085;
  --ok: #ecfdf3;
  --okbd: #abefc6;
  --oktxt: #067647;
  --warn: #fffaeb;
  --warnbd: #fedf89;
  --warntxt: #b54708;
  --hold: #eff8ff;
  --holdbd: #b2ddff;
  --holdtxt: #175cd3;
  --bad: #fef3f2;
  --badbd: #fecdca;
  --badtxt: #b42318;
}

/* ---------- Reset / base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { min-height: 100%; -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100%;
  font-family: var(--pc-font);
  font-size: 14px;
  line-height: 1.45;
  background: var(--pc-bg);
  color: var(--pc-text);
}
img, svg, video, canvas { max-width: 100%; height: auto; }
a { color: var(--pc-brand); }
a:hover { color: var(--pc-brand-dark); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
hr { border: 0; border-top: 1px solid var(--pc-line); margin: 20px 0; }
h1, h2, h3, h4, h5, h6 { color: var(--pc-text); line-height: 1.2; margin-top: 0; }
h1 { font-size: clamp(1.45rem, 2vw, 2rem); margin-bottom: 18px; }
h2 { font-size: 1.35rem; margin-bottom: 14px; }
h3 { font-size: 1.1rem; margin-bottom: 10px; }
p { margin-top: 0; }

/* ---------- Shell ---------- */
#pc-app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
}
#pc-app-shell.public { display: block; }
.pc-workspace { min-width: 0; }

.pc-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow: auto;
  background: linear-gradient(180deg, var(--pc-side), var(--pc-side2));
  color: #eef6ff;
  padding: 18px 14px;
  z-index: 1000;
}
.pc-brand {
  padding: 5px 9px 18px;
  border-bottom: 1px solid rgba(255,255,255,.14);
  margin-bottom: 12px;
}
.pc-brand a { color: #fff; font-weight: 800; font-size: 21px; text-decoration: none; }
.pc-brand span { display: block; font-size: 11px; letter-spacing: .14em; opacity: .65; margin-top: 2px; }
.pc-nav details { border-bottom: 1px solid rgba(255,255,255,.08); padding: 5px 0; }
.pc-nav summary {
  cursor: pointer;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #a9c4dc;
  padding: 10px 9px;
}
.pc-nav a {
  display: block;
  text-decoration: none;
  border-radius: 9px;
  padding: 8px 10px;
  margin: 2px 0;
  font-size: 13px;
  color: #e8f1f8;
}
.pc-nav a:hover, .pc-nav a.active { background: rgba(255,255,255,.13); color: #fff; }

.pc-topbar {
  min-height: 62px;
  background: #fff;
  border-bottom: 1px solid var(--pc-line);
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 20px;
  position: sticky;
  top: 0;
  z-index: 900;
}
.pc-topbar-title { font-size: 16px; font-weight: 750; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-user { margin-left: auto; font-size: 12px; color: var(--pc-muted); }
.pc-menu-button {
  display: none;
  border: 1px solid var(--pc-line);
  background: #fff;
  color: var(--pc-text);
  border-radius: 8px;
  padding: 7px 10px;
}
.pc-main { padding: 20px; min-width: 0; }
.pc-footer { padding: 16px 22px 24px; font-size: 11px; color: var(--pc-muted); }

/* ---------- Contenedor legacy migrado ---------- */
.pc-legacy {
  width: 100%;
  max-width: 1480px;
  margin: 0 auto;
  min-width: 0;
  color: var(--pc-text);
}
.pc-legacy img, .pc-legacy iframe { max-width: 100%; }
.pc-legacy .imHidden,
.pc-legacy .screen-reader-only-even-focused {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(1px,1px,1px,1px) !important;
}

/* ---------- Layout helpers ---------- */
.wrap, .container, .content, .main-wrap {
  width: 100%;
  max-width: 1320px;
  margin-left: auto;
  margin-right: auto;
}
.row { display: flex; flex-wrap: wrap; gap: var(--gap); align-items: center; }
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--gap); }
.grid-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gap); }
.grid-3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gap); }
.full { grid-column: 1 / -1; width: 100%; }
.right { margin-left: auto; text-align: right; }
.hidden, .hide { display: none !important; }
.section-gap { height: 14px; }
.section, .sectionHead, .section-head, .section-title { margin-top: 18px; margin-bottom: 10px; }
.section-title, .sectionHead { font-weight: 750; color: var(--pc-text); }
.muted, .hint, .help, .sub, .small, .tiny, .metaMini { color: var(--pc-muted); }
.hint, .help { font-size: 12px; margin-top: 4px; }
.tiny { font-size: 11px; }
.mono { font-family: var(--pc-mono); }

/* ---------- Cards / panels ---------- */
.card,
.pcp001-card,
.pcp002-card,
.contract-box,
.soft-box,
.kpi,
.detail,
.section-box {
  background: var(--pc-panel);
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  box-shadow: var(--pc-shadow-sm);
}
.card { margin-bottom: 14px; overflow: visible; }
.card-header,
.pcp001-card-head,
.pcp002-card-head {
  padding: 13px 16px;
  border-bottom: 1px solid var(--pc-line);
  font-weight: 750;
  color: var(--pc-text);
  background: var(--pc-panel-soft);
  border-radius: var(--pc-radius) var(--pc-radius) 0 0;
}
.card-body,
.pcp001-card-body,
.pcp002-card-body { padding: 16px; }
.soft-box, .contract-box, .detail { padding: 14px; }
.kpi { padding: 14px 16px; }
.kpi .v { font-size: 1.55rem; font-weight: 800; }
.kpi .k, .kpi .l { font-size: 12px; color: var(--pc-muted); }

/* ---------- Forms ---------- */
.pc-main form { max-width: 100%; }
.pc-main label {
  display: flex;
  flex-direction: column;
  gap: 6px;
  font-weight: 650;
  color: var(--pc-text);
  min-width: 0;
}
.pc-main input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
.pc-main select,
.pc-main textarea,
.pc-main .form-control {
  width: 100%;
  min-height: 40px;
  padding: 9px 11px;
  color: var(--pc-text);
  background: #fff;
  border: 1px solid var(--pc-line-strong);
  border-radius: var(--pc-radius-sm);
  outline: none;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.pc-main textarea { min-height: 86px; resize: vertical; }
.pc-main input:focus,
.pc-main select:focus,
.pc-main textarea:focus,
.pc-main .form-control:focus {
  border-color: var(--pc-brand);
  box-shadow: 0 0 0 3px rgba(15, 118, 110, .12);
}
.pc-main input[disabled],
.pc-main select[disabled],
.pc-main textarea[disabled],
.pc-main input[readonly] { background: #f2f4f7; color: #667085; cursor: not-allowed; }
.pc-main input[type="checkbox"], .pc-main input[type="radio"] { accent-color: var(--pc-brand); }
.pc-main input[type="search"].mini, .pc-main .mini { min-height: 34px; font-size: 12px; }
.field { min-width: 0; }

/* ---------- Buttons ---------- */
.pc-main button,
.pc-main .btn,
.pc-main .boton,
.pc-main .btn2,
.pc-main a.btn,
.pc-main input[type="submit"],
.pc-main input[type="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--pc-brand);
  border-radius: 9px;
  background: var(--pc-brand);
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  line-height: 1.2;
  box-shadow: 0 1px 2px rgba(16,24,40,.06);
  transition: background .15s ease, border-color .15s ease, transform .05s ease, box-shadow .15s ease;
}
.pc-main button:hover,
.pc-main .btn:hover,
.pc-main .boton:hover,
.pc-main .btn2:hover { background: var(--pc-brand-dark); border-color: var(--pc-brand-dark); color: #fff; }
.pc-main button:active, .pc-main .btn:active { transform: translateY(1px); }
.pc-main button:disabled, .pc-main .btn:disabled { opacity: .55; cursor: not-allowed; }
.pc-main .secondary,
.pc-main .btn-light,
.pc-main .ghost,
.pc-main button.secondary,
.pc-main button.btn-light,
.pc-main button.ghost {
  background: #fff;
  border-color: var(--pc-line-strong);
  color: var(--pc-text);
}
.pc-main .secondary:hover,
.pc-main .btn-light:hover,
.pc-main .ghost:hover { background: #f8fafc; border-color: #98a2b3; color: var(--pc-text); }
.pc-main .primary { background: var(--pc-brand); color: #fff; border-color: var(--pc-brand); }
.pc-main .danger, .pc-main button.danger { background: var(--pc-danger); border-color: var(--pc-danger); color: #fff; }
.pc-main .logout {
  float: right;
  margin-bottom: 12px;
  background: #fff;
  color: var(--pc-danger);
  border-color: #fecdca;
  min-height: 34px;
  padding: 6px 10px;
  font-size: 12px;
}
.btns, .actions, .toolbar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.btns { margin-top: 14px; }

/* ---------- Tables ---------- */
.tableWrap,
.table-wrap,
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid var(--pc-line);
  border-radius: var(--pc-radius);
  background: #fff;
}
.pc-main table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  background: #fff;
  font-size: 13px;
}
.pc-main thead th {
  padding: 10px 12px;
  text-align: left;
  vertical-align: bottom;
  color: #344054;
  background: #f8fafc;
  border-bottom: 1px solid var(--pc-line-strong);
  font-weight: 750;
  white-space: nowrap;
}
.pc-main tbody td {
  padding: 10px 12px;
  vertical-align: top;
  border-bottom: 1px solid #edf1f5;
}
.pc-main tbody tr:last-child td { border-bottom: 0; }
.pc-main tbody tr:hover td { background: #fbfdfd; }
.pc-main td input, .pc-main td select { min-width: 110px; }
.pc-main table .num { text-align: right; font-variant-numeric: tabular-nums; }
.pc-main table .actions { white-space: nowrap; }

/* Cuando una tabla vieja no trae wrapper, al menos no rompe el layout. */
.pc-legacy { overflow-x: clip; }
.pc-legacy table { max-width: 100%; }

/* ---------- Badges / pills / chips ---------- */
.badge, .pill, .tag, .chip, .pcp001-pill, .pcp002-pill {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 4px 8px;
  border: 1px solid var(--pc-line);
  border-radius: 999px;
  background: #f8fafc;
  color: #344054;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}
.badge.ok, .pill.ok, .tag.ok { background: var(--ok); border-color: var(--okbd); color: var(--oktxt); }
.badge.warn, .pill.warn, .tag.warn { background: var(--warn); border-color: var(--warnbd); color: var(--warntxt); }
.badge.bad, .pill.bad, .tag.bad { background: var(--bad); border-color: var(--badbd); color: var(--badtxt); }
.badge.blue, .pill.blue, .tag.blue { background: var(--hold); border-color: var(--holdbd); color: var(--holdtxt); }
.chips { display: flex; flex-wrap: wrap; gap: 7px; }

/* ---------- Option cards / toggles ---------- */
.mode-toggle { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 10px; }
.mode-card {
  border: 1px solid var(--pc-line-strong);
  border-radius: 10px;
  padding: 12px;
  background: #fff;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.mode-card strong { display: block; margin-bottom: 4px; }
.mode-card span { color: var(--pc-muted); font-size: 12px; }
.mode-card:hover { border-color: #7fc7bf; }
.mode-card.active { border-color: var(--pc-brand); background: var(--pc-brand-soft); box-shadow: 0 0 0 2px rgba(15,118,110,.07); }
.check-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px; }

/* ---------- Alert boxes ---------- */
.ok-box, .warning-box, .warn-box, .info-box, .pc-migration-note {
  border-radius: 10px;
  padding: 11px 13px;
  font-size: 13px;
}
.ok-box { background: var(--ok); border: 1px solid var(--okbd); color: var(--oktxt); }
.warning-box, .warn-box, .pc-migration-note { background: var(--warn); border: 1px solid var(--warnbd); color: var(--warntxt); }
.info-box { background: var(--hold); border: 1px solid var(--holdbd); color: var(--holdtxt); }
.empty { padding: 24px; text-align: center; color: var(--pc-muted); }

/* ---------- Modal ---------- */
.modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 18px;
  background: rgba(16,24,40,.55);
}
.modal.open, .modal.show { display: flex; }
.modal-content {
  width: min(720px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 14px;
  box-shadow: 0 24px 48px rgba(16,24,40,.2);
  padding: 18px;
}

/* ---------- Dashboard ---------- */
.pc-dashboard { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.pc-dashboard a {
  display: block;
  background: #fff;
  border: 1px solid var(--pc-line);
  border-radius: 14px;
  padding: 16px;
  text-decoration: none;
  box-shadow: var(--pc-shadow);
  font-weight: 700;
  color: var(--pc-text);
  transition: border-color .15s ease, transform .15s ease;
}
.pc-dashboard a small { display: block; color: var(--pc-muted); font-weight: 400; margin-top: 4px; }
.pc-dashboard a:hover { border-color: #9fcac5; transform: translateY(-1px); }

/* ---------- Legacy helpers frecuentes ---------- */
.hdr, .ftr, .kv, .legend, .terms { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.hdr > *, .ftr > *, .kv > * { min-width: 0; }
.ftr .lbls { margin-left: auto; text-align: right; color: var(--pc-muted); }
.ftr .vals { min-width: 110px; text-align: right; font-variant-numeric: tabular-nums; }
.legendItem { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--pc-muted); }
.legendSwatch, .dot { width: 10px; height: 10px; border-radius: 50%; background: var(--pc-brand); flex: 0 0 auto; }
.icon-item, .pcp001-mini-card, .pcp002-mini-card {
  border: 1px solid var(--pc-line);
  border-radius: 10px;
  background: #fff;
  padding: 10px;
}
.icon-caption { color: var(--pc-muted); font-size: 11px; }

/* ---------- Public pages ---------- */
.pc-public .pc-workspace { max-width: 1180px; margin: auto; }
.pc-public .pc-topbar { position: static; border-radius: 0 0 14px 14px; }
.pc-public .pc-main { padding: 28px 18px; }

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
  .grid-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  #pc-app-shell { grid-template-columns: 1fr; }
  .pc-sidebar {
    position: fixed;
    left: -290px;
    width: 270px;
    transition: left .2s ease;
    box-shadow: 12px 0 30px rgba(15,23,42,.2);
  }
  .pc-sidebar.open { left: 0; }
  .pc-menu-button { display: inline-flex; }
  .pc-main { padding: 14px; }
  .grid-2, .grid-3 { grid-template-columns: 1fr; }
  .right { margin-left: 0; text-align: left; }
}
@media (max-width: 620px) {
  body { font-size: 13px; }
  .pc-topbar { padding: 8px 12px; }
  .pc-main { padding: 10px; }
  .card-header, .card-body, .pcp001-card-head, .pcp001-card-body, .pcp002-card-head, .pcp002-card-body { padding: 12px; }
  .grid, .mode-toggle, .check-grid { grid-template-columns: 1fr; }
  .btns, .actions, .toolbar { align-items: stretch; }
  .btns > button, .btns > .btn, .toolbar > button, .toolbar > .btn { width: 100%; }
  .pc-main table { font-size: 12px; }
  .pc-main thead th, .pc-main tbody td { padding: 8px 9px; }
}

/* ---------- Print ---------- */
@media print {
  body { background: #fff !important; color: #000 !important; }
  .pc-sidebar, .pc-topbar, .pc-footer, .pc-menu-button, .no-print, .logout { display: none !important; }
  #pc-app-shell { display: block; }
  .pc-main { padding: 0; }
  .pc-workspace { display: block; }
  .card, .pcp001-card, .pcp002-card { box-shadow: none; break-inside: avoid; }
  a { color: #000; text-decoration: none; }
}

/* ---------- Navegación v4: jerarquía canónica por rol ---------- */
.pc-dashboard-page { display: grid; gap: 22px; }
.pc-dashboard-group { display: grid; gap: 10px; }
.pc-dashboard-heading { display:flex; align-items:center; gap:10px; border-bottom:1px solid var(--pc-line); padding-bottom:8px; }
.pc-dashboard-heading h2 { margin:0; font-size:16px; color:var(--pc-text); }
.pc-nav details:not([open]) { opacity:.94; }
.pc-nav summary { user-select:none; }

/* ========== ProControl v5 role + navegación + responsive ========== */
body.pc-role-gestor{
  --pc-brand:#14866d; --pc-brand-dark:#0f6b58; --pc-brand-soft:#e8f5f0;
  --pc-side:#0f513f; --pc-side2:#16785f;
}
body.pc-role-auditor{
  --pc-brand:#2563b8; --pc-brand-dark:#1d4f91; --pc-brand-soft:#eaf2ff;
  --pc-side:#173f73; --pc-side2:#245e9d;
}
body.pc-role-admin{
  --pc-brand:#667085; --pc-brand-dark:#475467; --pc-brand-soft:#f2f4f7;
  --pc-side:#3f4854; --pc-side2:#596574;
}
body.pc-role-tecnico{
  --pc-brand:#f4b400; --pc-brand-dark:#d89b00; --pc-brand-soft:#fff7d6;
  --pc-side:#f3b600; --pc-side2:#d99b00;
}
body.pc-role-cliente{
  --pc-brand:#0f766e; --pc-brand-dark:#115e59; --pc-brand-soft:#e6f4f2;
  --pc-side:#174a54; --pc-side2:#0f766e;
}
body.pc-role-tecnico .pc-sidebar{color:#171717}
body.pc-role-tecnico .pc-brand a,
body.pc-role-tecnico .pc-nav a{color:#191919}
body.pc-role-tecnico .pc-brand{border-bottom-color:rgba(0,0,0,.18)}
body.pc-role-tecnico .pc-nav details{border-bottom-color:rgba(0,0,0,.12)}
body.pc-role-tecnico .pc-nav summary{color:#3b3422}
body.pc-role-tecnico .pc-nav a:hover,
body.pc-role-tecnico .pc-nav a.active{background:rgba(0,0,0,.13);color:#111}
body.pc-role-tecnico .pc-main button:not(.danger):not(.logout),
body.pc-role-tecnico .pc-main .btn:not(.danger){color:#171717}

.pc-sidebar{display:flex;flex-direction:column}
.pc-nav{flex:1}
.pc-sidebar-footer{padding:14px 8px 4px;border-top:1px solid rgba(255,255,255,.12);margin-top:12px}
.pc-sidebar-footer a{display:block;padding:9px 10px;border-radius:9px;color:inherit;text-decoration:none;font-size:12px;font-weight:700;background:rgba(255,255,255,.08)}
body.pc-role-tecnico .pc-sidebar-footer{border-top-color:rgba(0,0,0,.14)}
body.pc-role-tecnico .pc-sidebar-footer a{background:rgba(0,0,0,.08)}

.pc-topbar-actions{margin-left:auto;display:flex;align-items:center;gap:10px}
.pc-switch-link{display:inline-flex;align-items:center;min-height:32px;padding:6px 10px;border:1px solid var(--pc-line);border-radius:9px;background:#fff;color:var(--pc-brand);font-size:12px;font-weight:750;text-decoration:none}
.pc-account-menu{position:relative}
.pc-account-menu>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:6px;border:1px solid var(--pc-line);border-radius:999px;padding:6px 10px;background:var(--pc-brand-soft);color:var(--pc-brand-dark);font-size:12px;font-weight:750;user-select:none}
.pc-account-menu>summary::-webkit-details-marker{display:none}
.pc-account-popover{position:absolute;right:0;top:calc(100% + 7px);width:190px;background:#fff;border:1px solid var(--pc-line);border-radius:11px;box-shadow:var(--pc-shadow);padding:7px;z-index:1500}
.pc-account-popover a,.pc-account-popover button{width:100%;display:flex;justify-content:flex-start;min-height:34px;padding:7px 9px;border:0;border-radius:7px;background:transparent;color:var(--pc-text);font-weight:600;text-decoration:none;box-shadow:none}
.pc-account-popover a:hover,.pc-account-popover button:hover{background:#f2f4f7;color:var(--pc-text)}
.pc-account-role{padding:6px 9px 8px;color:var(--pc-muted);font-size:11px;border-bottom:1px solid var(--pc-line);margin-bottom:4px}

.pc-role-selector{max-width:900px;margin:20px auto;display:grid;gap:18px}
.pc-role-selector-head{background:#fff;border:1px solid var(--pc-line);border-radius:14px;padding:18px;box-shadow:var(--pc-shadow-sm)}
.pc-role-selector-head h1{margin-bottom:5px}.pc-role-selector-head p{margin:0;color:var(--pc-muted)}
.pc-role-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
.pc-role-card{padding:18px;border-radius:14px;background:#fff;border:1px solid var(--pc-line);box-shadow:var(--pc-shadow-sm);text-decoration:none;color:var(--pc-text);border-left:6px solid var(--pc-brand)}
.pc-role-card strong{display:block;font-size:18px}.pc-role-card span{color:var(--pc-muted);font-size:12px}
.pc-info-inline{padding:11px 13px;border:1px solid #b2ddff;background:#eff8ff;border-radius:10px;color:#175cd3;font-size:12px}

/* Los botones antiguos de logout se reemplazan por el menú común. */
.pc-legacy > .logout{display:none!important}

/* Destino contratado: no se puede cambiar durante la atención. */
.pc-field-locked{pointer-events:none!important;background:#f2f4f7!important;color:#475467!important;border-style:dashed!important}
.pc-contracted-target{margin-top:10px;padding:9px 11px;border-radius:9px;background:var(--pc-brand-soft);border:1px solid color-mix(in srgb,var(--pc-brand) 28%,#fff);color:var(--pc-brand-dark);font-size:12px;font-weight:700}
.pc-target-unit{background:#fff7ed!important;border-color:#fed7aa!important;color:#9a3412!important}
.pc-target-site{background:var(--pc-brand-soft)!important;border-color:color-mix(in srgb,var(--pc-brand) 25%,#fff)!important;color:var(--pc-brand-dark)!important}

/* Leaflet: el reset global de imágenes no debe deformar teselas/overlays. */
.leaflet-container img,
.leaflet-container .leaflet-tile,
.leaflet-container .leaflet-marker-icon,
.leaflet-container .leaflet-marker-shadow{max-width:none!important;max-height:none!important}
.leaflet-container img.leaflet-image-layer{max-width:none!important}

/* Auditoría y mapas: el contenido gráfico siempre queda dentro del workspace. */
body.pc-role-auditor .pc-main canvas,
body.pc-role-auditor .pc-main svg{max-width:100%}
body.pc-role-auditor .pc-main .mapShell,
body.pc-role-auditor .pc-main #canvasWrap,
body.pc-role-auditor .pc-main #canvasWrapper,
body.pc-role-auditor .pc-main #map{min-width:0;max-width:100%}

@media(max-width:900px){
  .pc-switch-link{display:none}
  .pc-topbar-actions{gap:6px}
  .pc-account-menu>summary{max-width:44vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pc-sidebar{height:100dvh}
}
@media(max-width:620px){
  .pc-topbar-title{font-size:14px}
  .pc-main .row{align-items:stretch}
  .pc-main .row>*{min-width:0}
  .pc-main .table-wrap,.pc-main .tableWrap,.pc-main .table-responsive{border-radius:8px}
  body.pc-role-auditor .pc-main .canvasTop,
  body.pc-role-auditor .pc-main .btnbar,
  body.pc-role-auditor .pc-main .toolbar{gap:6px}
}

/* --- módulo recuperado: estadisticas.html --- */
body.pc-page-estadisticas{
						      --bg:#f6f7fb; --card:#fff; --text:#101828; --muted:#667085; --border:#e6e8ef;
						      --brand:#1976d2; --ok:#16a34a; --warn:#f59e0b; --bad:#dc2626; --ink:#0f172a;
						      --shadow:0 10px 26px rgba(16,24,40,.10); --radius:14px;
						      --blueSoft:#eff6ff; --greenSoft:#f0fdf4; --amberSoft:#fffbeb; --redSoft:#fef2f2;
						    }
body.pc-page-estadisticas .pc-main *{box-sizing:border-box}
body.pc-page-estadisticas .pc-main .wrap{max-width:1440px;margin:18px auto;padding:0 14px 40px}
body.pc-page-estadisticas .pc-main header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
body.pc-page-estadisticas .pc-main h1{font-size:20px;margin:0}
body.pc-page-estadisticas .pc-main .sub{font-size:12px;color:var(--muted);margin-top:4px}
body.pc-page-estadisticas .pc-main .pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12px;color:#111}
body.pc-page-estadisticas .pc-main .card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-top:12px}
body.pc-page-estadisticas .pc-main .card h2{margin:0 0 12px 0;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.pc-page-estadisticas .pc-main .muted{color:var(--muted);font-size:12px}
body.pc-page-estadisticas .pc-main .row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
body.pc-page-estadisticas .pc-main label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
body.pc-page-estadisticas .pc-main select,
body.pc-page-estadisticas .pc-main input,
body.pc-page-estadisticas .pc-main button,
body.pc-page-estadisticas .pc-main textarea{font:inherit}
body.pc-page-estadisticas .pc-main select,
body.pc-page-estadisticas .pc-main input[type="date"],
body.pc-page-estadisticas .pc-main input[type="text"]{padding:10px 11px;border-radius:10px;border:1px solid var(--border);background:#fff;color:#111;font-size:14px;min-width:180px;outline:none}
body.pc-page-estadisticas .pc-main select:disabled,
body.pc-page-estadisticas .pc-main input:disabled,
body.pc-page-estadisticas .pc-main button:disabled{opacity:.55;cursor:not-allowed}
body.pc-page-estadisticas .pc-main .btn{padding:10px 12px;border-radius:10px;border:1px solid #2b3646;background:#111827;color:#fff;cursor:pointer;font-size:13px}
body.pc-page-estadisticas .pc-main .btn.light{background:#fff;color:#111;border:1px solid var(--border)}
body.pc-page-estadisticas .pc-main .btn.brand{background:var(--brand);border-color:transparent}
body.pc-page-estadisticas .pc-main .btn.ok{background:var(--ok);border-color:transparent}
body.pc-page-estadisticas .pc-main .btn.warn{background:var(--warn);border-color:transparent;color:#111}
body.pc-page-estadisticas .pc-main .btn.bad{background:var(--bad);border-color:transparent}
body.pc-page-estadisticas .pc-main .btnRow{display:flex;gap:8px;flex-wrap:wrap}
body.pc-page-estadisticas .pc-main .grid2{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;align-items:start}
body.pc-page-estadisticas .pc-main .gridStats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
body.pc-page-estadisticas .pc-main .stat{border:1px solid var(--border);border-radius:14px;padding:14px;background:#fff}
body.pc-page-estadisticas .pc-main .stat .k{font-size:12px;color:var(--muted)}
body.pc-page-estadisticas .pc-main .stat .v{font-size:26px;line-height:1.1;font-weight:800;margin-top:4px;color:var(--ink)}
body.pc-page-estadisticas .pc-main .stat.soft-blue{background:var(--blueSoft)}
body.pc-page-estadisticas .pc-main .stat.soft-green{background:var(--greenSoft)}
body.pc-page-estadisticas .pc-main .stat.soft-amber{background:var(--amberSoft)}
body.pc-page-estadisticas .pc-main .stat.soft-red{background:var(--redSoft)}
body.pc-page-estadisticas .pc-main .canvasWrap{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff;min-height:520px}
body.pc-page-estadisticas .pc-main canvas{display:block;width:100%;height:520px}
body.pc-page-estadisticas .pc-main .tooltip{position:absolute;pointer-events:none;z-index:10;background:rgba(17,24,39,.94);color:#fff;padding:8px 10px;border-radius:10px;font-size:12px;max-width:320px;transform:translate(10px,10px);display:none;box-shadow:0 10px 20px rgba(0,0,0,.25);line-height:1.35}
body.pc-page-estadisticas .pc-main .sideList{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow:auto}
body.pc-page-estadisticas .pc-main .stackGap{display:flex;flex-direction:column;gap:10px}
body.pc-page-estadisticas .pc-main .spatialBadge{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);background:#fff;font-size:12px;color:#0f172a}
body.pc-page-estadisticas .pc-main .miniHint{font-size:11px;color:var(--muted)}
body.pc-page-estadisticas .pc-main .trendWrap{border:1px solid var(--border);border-radius:14px;background:#fff;padding:12px;min-height:300px}
body.pc-page-estadisticas .pc-main .trendLegend{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:10px}
body.pc-page-estadisticas .pc-main .trendLegend .chip{padding:4px 10px}
body.pc-page-estadisticas .pc-main .trendSvg{width:100%;height:260px;display:block}
body.pc-page-estadisticas .pc-main .trendNote{font-size:12px;color:var(--muted);margin-top:8px}
body.pc-page-estadisticas .pc-main .zoneItem{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:9px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;transition:.15s ease}
body.pc-page-estadisticas .pc-main .zoneItem:hover{border-color:#bfd3f3;background:#f8fbff}
body.pc-page-estadisticas .pc-main .zoneItem.active{border-color:#93c5fd;background:#eff6ff}
body.pc-page-estadisticas .pc-main .zoneNum{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#0b4aa2;font-weight:700;font-size:12px;border:1px solid #bfdbfe;flex:0 0 auto}
body.pc-page-estadisticas .pc-main .zoneName{font-size:13px;font-weight:700;color:#0f172a;line-height:1.25}
body.pc-page-estadisticas .pc-main .zoneMeta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.35}
body.pc-page-estadisticas .pc-main .chipRow{display:flex;gap:8px;flex-wrap:wrap}
body.pc-page-estadisticas .pc-main .chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid var(--border);font-size:12px;background:#fff}
body.pc-page-estadisticas .pc-main .barsGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body.pc-page-estadisticas .pc-main .barsCard{border:1px solid var(--border);border-radius:14px;padding:12px;background:#fff;min-height:240px}
body.pc-page-estadisticas .pc-main .barsCard h3{margin:0 0 10px 0;font-size:13px;color:#0f172a}
body.pc-page-estadisticas .pc-main .barsList{display:flex;flex-direction:column;gap:10px}
body.pc-page-estadisticas .pc-main .barRow{display:grid;grid-template-columns:minmax(0,1fr) 54px;gap:10px;align-items:center}
body.pc-page-estadisticas .pc-main .barLabel{font-size:12px;color:#0f172a;display:flex;flex-direction:column;gap:4px;min-width:0}
body.pc-page-estadisticas .pc-main .barLabel span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body.pc-page-estadisticas .pc-main .barTrack{width:100%;height:8px;border-radius:999px;background:#eef2f7;overflow:hidden}
body.pc-page-estadisticas .pc-main .barFill{height:100%;border-radius:999px;background:#3b82f6}
body.pc-page-estadisticas .pc-main .barVal{text-align:right;font-size:12px;font-weight:700;color:#0f172a}
body.pc-page-estadisticas .pc-main .tableWrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}
body.pc-page-estadisticas .pc-main table{border-collapse:collapse;width:100%;min-width:1300px}
body.pc-page-estadisticas .pc-main th,
body.pc-page-estadisticas .pc-main td{padding:10px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}
body.pc-page-estadisticas .pc-main th{position:sticky;top:0;background:#fafbff;text-align:left;z-index:2}
body.pc-page-estadisticas .pc-main tr:hover td{background:#fbfcff}
body.pc-page-estadisticas .pc-main .mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}
body.pc-page-estadisticas .pc-main .empty{padding:18px;border:1px dashed var(--border);border-radius:12px;background:#fff;font-size:13px;color:var(--muted)}
body.pc-page-estadisticas .pc-main .metaBox{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.pc-page-estadisticas .pc-main .metaMini{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}
body.pc-page-estadisticas .pc-main .metaMini .l{font-size:11px;color:var(--muted)}
body.pc-page-estadisticas .pc-main .metaMini .v{font-size:13px;font-weight:700;color:#0f172a;margin-top:4px;word-break:break-word}
body.pc-page-estadisticas .pc-main .infoNote{font-size:12px;color:var(--muted);margin-top:8px}
body.pc-page-estadisticas .pc-main .rightAlign{text-align:right}
body.pc-page-estadisticas .pc-main .tag{display:inline-block;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;border:1px solid var(--border);background:#fff;white-space:nowrap}
body.pc-page-estadisticas .pc-main .tag.ok{background:#ecfdf3;border-color:#bbf7d0;color:#166534}
body.pc-page-estadisticas .pc-main .tag.warn{background:#fffbeb;border-color:#fde68a;color:#92400e}
body.pc-page-estadisticas .pc-main .tag.bad{background:#fef2f2;border-color:#fecaca;color:#991b1b}
body.pc-page-estadisticas .pc-main .tag.neutral{background:#f8fafc;border-color:#dfe4ec;color:#334155}
body.pc-page-estadisticas .pc-main .print-only{display:none}
body.pc-page-estadisticas .pc-main .print-header{display:none}
body.pc-page-estadisticas .pc-main .printHeaderTop{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
body.pc-page-estadisticas .pc-main .printLogo{max-width:220px;max-height:84px;object-fit:contain;display:block}
body.pc-page-estadisticas .pc-main .printTitle{font-size:24px;font-weight:800;color:#0f172a;line-height:1.15}
body.pc-page-estadisticas .pc-main .printSubtitle{font-size:13px;color:#475467;margin-top:4px}
body.pc-page-estadisticas .pc-main .printGenerated{font-size:12px;color:#667085;margin-top:8px}
body.pc-page-estadisticas .pc-main .printMetaGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px}
body.pc-page-estadisticas .pc-main .printMetaItem{border:1px solid var(--border);border-radius:12px;padding:10px;background:#fff}
body.pc-page-estadisticas .pc-main .printMetaItem .l{font-size:11px;color:var(--muted)}
body.pc-page-estadisticas .pc-main .printMetaItem .v{font-size:13px;font-weight:700;color:#0f172a;margin-top:4px;word-break:break-word}
@media print{@page{size:auto;margin:12mm}
body.pc-page-estadisticas .pc-main .wrap{max-width:none;margin:0;padding:0}
body.pc-page-estadisticas .pc-main header,
body.pc-page-estadisticas .pc-main .no-print,
body.pc-page-estadisticas .pc-main .tooltip,
body.pc-page-estadisticas .pc-main .infoNote,
body.pc-page-estadisticas .pc-main .miniHint{display:none !important}
body.pc-page-estadisticas .pc-main .print-only,
body.pc-page-estadisticas .pc-main .print-header{display:block !important}
body.pc-page-estadisticas .pc-main .print-header{border-bottom:2px solid #0f172a;padding-bottom:12px;margin-bottom:14px}
body.pc-page-estadisticas .pc-main .card,
body.pc-page-estadisticas .pc-main .barsCard,
body.pc-page-estadisticas .pc-main .metaMini,
body.pc-page-estadisticas .pc-main .printMetaItem,
body.pc-page-estadisticas .pc-main .stat{box-shadow:none;border-color:#d6dce5;break-inside:avoid;page-break-inside:avoid}
body.pc-page-estadisticas .pc-main .card{margin-top:10px}
body.pc-page-estadisticas .pc-main .grid2{grid-template-columns:1fr 280px;gap:10px}
body.pc-page-estadisticas .pc-main .gridStats{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
body.pc-page-estadisticas .pc-main .barsGrid{grid-template-columns:1fr 1fr;gap:10px}
body.pc-page-estadisticas .pc-main #tblHallazgos{table-layout:fixed}
body.pc-page-estadisticas .pc-main #tblHallazgos th,
body.pc-page-estadisticas .pc-main #tblHallazgos td{font-size:10px;padding:5px;white-space:normal;word-break:break-word}
body.pc-page-estadisticas .pc-main #tblHallazgos th:nth-child(11),
body.pc-page-estadisticas .pc-main #tblHallazgos td:nth-child(11){display:none}
body.pc-page-estadisticas .pc-main .canvasWrap{min-height:auto;border-color:#d6dce5}
body.pc-page-estadisticas .pc-main canvas{height:360px !important;min-height:360px !important}
body.pc-page-estadisticas .pc-main .sideList{max-height:none;overflow:visible}
body.pc-page-estadisticas .pc-main .tableWrap{overflow:visible;border-color:#d6dce5}
body.pc-page-estadisticas .pc-main table{min-width:0;width:100%}
body.pc-page-estadisticas .pc-main th{position:static;background:#f8fafc}
body.pc-page-estadisticas .pc-main tr,
body.pc-page-estadisticas .pc-main td,
body.pc-page-estadisticas .pc-main th{break-inside:avoid;page-break-inside:avoid}
body.pc-page-estadisticas .pc-main .chip{border-color:#d6dce5}
body.pc-page-estadisticas .pc-main .printMetaGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1180px){body.pc-page-estadisticas .pc-main .grid2{grid-template-columns:1fr}
body.pc-page-estadisticas .pc-main .gridStats{grid-template-columns:repeat(2,minmax(0,1fr))}
body.pc-page-estadisticas .pc-main .barsGrid{grid-template-columns:1fr}}
@media (max-width:720px){body.pc-page-estadisticas .pc-main .gridStats{grid-template-columns:1fr}
body.pc-page-estadisticas .pc-main canvas,
body.pc-page-estadisticas .pc-main .canvasWrap{min-height:420px;height:420px}
body.pc-page-estadisticas .pc-main .metaBox{grid-template-columns:1fr}}

/* --- módulo recuperado: interfaz-de-sucursal.html --- */
body.pc-page-interfaz-de-sucursal{
						      --text:#101828; --muted:#667085; --bg:#f6f7fb; --card:#ffffff; --border:#e6e8ef;
						      --brand:#1976d2; --ok:#16a34a; --warn:#f59e0b; --bad:#dc2626;
						      --shadow:0 10px 26px rgba(16,24,40,.10); --radius:14px;
						      --btn:#111827; --btnBorder:#2b3646;
						      --mPeg:#16a34a; --mCebo:#dc2626; --mUV:#2563eb; --mMec:#f59e0b; --mFero:#7c3aed; --mOtro:#eab308;
						    }
body.pc-page-interfaz-de-sucursal .pc-main *{box-sizing:border-box}
body.pc-page-interfaz-de-sucursal .pc-main .wrap{max-width:1200px;margin:18px auto;padding:0 14px}
body.pc-page-interfaz-de-sucursal .pc-main header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
body.pc-page-interfaz-de-sucursal .pc-main h1{font-size:18px;margin:0}
body.pc-page-interfaz-de-sucursal .pc-main .sub{font-size:12px;color:var(--muted);margin-top:4px}
body.pc-page-interfaz-de-sucursal .pc-main .pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--border);border-radius:999px;background:#fff;font-size:12px;color:#111}
body.pc-page-interfaz-de-sucursal .pc-main .card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;margin-top:12px}
body.pc-page-interfaz-de-sucursal .pc-main .card h2{margin:0 0 10px 0;font-size:14px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
body.pc-page-interfaz-de-sucursal .pc-main .muted{color:var(--muted);font-size:12px}
body.pc-page-interfaz-de-sucursal .pc-main .row{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
body.pc-page-interfaz-de-sucursal .pc-main label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}
body.pc-page-interfaz-de-sucursal .pc-main select,
body.pc-page-interfaz-de-sucursal .pc-main input{padding:9px 10px;border-radius:10px;border:1px solid var(--border);background:#fff;color:#111;font-size:14px;min-width:220px;outline:none}
body.pc-page-interfaz-de-sucursal .pc-main select:disabled,
body.pc-page-interfaz-de-sucursal .pc-main input:disabled{opacity:.6}
body.pc-page-interfaz-de-sucursal .pc-main .btn{padding:9px 12px;border-radius:10px;border:1px solid var(--btnBorder);background:var(--btn);color:#fff;cursor:pointer;font-size:13px}
body.pc-page-interfaz-de-sucursal .pc-main .btn:disabled{opacity:.5;cursor:not-allowed}
body.pc-page-interfaz-de-sucursal .pc-main .btn.light{background:#fff;color:#111;border:1px solid var(--border)}
body.pc-page-interfaz-de-sucursal .pc-main .btn.brand{background:var(--brand);border-color:transparent}
body.pc-page-interfaz-de-sucursal .pc-main .btn.ok{background:var(--ok);border-color:transparent}
body.pc-page-interfaz-de-sucursal .pc-main .btn.warn{background:var(--warn);border-color:transparent;color:#111}
body.pc-page-interfaz-de-sucursal .pc-main .btn.bad{background:var(--bad);border-color:transparent}
body.pc-page-interfaz-de-sucursal .pc-main .btnGroup{display:flex;gap:8px;flex-wrap:wrap}
body.pc-page-interfaz-de-sucursal .pc-main #canvasWrap{position:relative;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:#fff}
body.pc-page-interfaz-de-sucursal .pc-main #canvas{display:block;width:100%;height:560px}
body.pc-page-interfaz-de-sucursal .pc-main .canvasTop{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
body.pc-page-interfaz-de-sucursal .pc-main .mapShell{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:12px;align-items:start}
body.pc-page-interfaz-de-sucursal .pc-main .mapSide{border:1px solid var(--border);border-radius:12px;background:#fff;padding:10px;max-height:560px;overflow:auto}
body.pc-page-interfaz-de-sucursal .pc-main .mapSide h3{margin:0 0 8px 0;font-size:13px;color:#0f172a}
body.pc-page-interfaz-de-sucursal .pc-main .zoneList{display:flex;flex-direction:column;gap:8px}
body.pc-page-interfaz-de-sucursal .pc-main .zoneItem{display:grid;grid-template-columns:34px 1fr;gap:10px;align-items:start;padding:8px;border:1px solid var(--border);border-radius:12px;background:#fff;cursor:pointer;transition:.15s ease}
body.pc-page-interfaz-de-sucursal .pc-main .zoneItem:hover{border-color:#bfd3f3;background:#f8fbff}
body.pc-page-interfaz-de-sucursal .pc-main .zoneItem.active{border-color:#93c5fd;background:#eff6ff}
body.pc-page-interfaz-de-sucursal .pc-main .zoneNum{width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#dbeafe;color:#0b4aa2;font-weight:700;font-size:12px;border:1px solid #bfdbfe;flex:0 0 auto}
body.pc-page-interfaz-de-sucursal .pc-main .zoneName{font-size:13px;font-weight:700;color:#0f172a;line-height:1.2}
body.pc-page-interfaz-de-sucursal .pc-main .zoneMeta{font-size:11px;color:var(--muted);margin-top:4px;line-height:1.3}
body.pc-page-interfaz-de-sucursal .pc-main .toggleGroup{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--border);border-radius:999px;background:#fff;flex-wrap:wrap}
body.pc-page-interfaz-de-sucursal .pc-main .toggleGroup .btn{padding:7px 10px;font-size:12px;border-radius:999px}
body.pc-page-interfaz-de-sucursal .pc-main .btn.is-active{background:#0f172a;color:#fff;border-color:#0f172a;box-shadow:0 4px 14px rgba(15,23,42,.12)}
body.pc-page-interfaz-de-sucursal .pc-main #canvasWrap.pan-enabled{cursor:grab}
body.pc-page-interfaz-de-sucursal .pc-main #canvasWrap.panning{cursor:grabbing}
body.pc-page-interfaz-de-sucursal .pc-main .mapHelp{font-size:12px;color:var(--muted)}
body.pc-page-interfaz-de-sucursal .pc-main .kbd{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:11px;padding:2px 6px;border:1px solid var(--border);border-radius:7px;background:#fff;color:#111}
body.pc-page-interfaz-de-sucursal .pc-main .tooltip{position:absolute;pointer-events:none;z-index:5;background:rgba(17,24,39,.92);color:#fff;padding:8px 10px;border-radius:10px;font-size:12px;max-width:360px;transform:translate(10px,10px);display:none;box-shadow:0 10px 20px rgba(0,0,0,.25);line-height:1.25}
body.pc-page-interfaz-de-sucursal .pc-main .legend{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--muted)}
body.pc-page-interfaz-de-sucursal .pc-main .badge{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);font-size:12px;color:#111;background:#fff;white-space:nowrap}
body.pc-page-interfaz-de-sucursal .pc-main .dot{width:10px;height:10px;border-radius:50%}
body.pc-page-interfaz-de-sucursal .pc-main .dot.peg{background:var(--mPeg)}
body.pc-page-interfaz-de-sucursal .pc-main .dot.cebo{background:var(--mCebo)}
body.pc-page-interfaz-de-sucursal .pc-main .dot.uv{background:var(--mUV)}
body.pc-page-interfaz-de-sucursal .pc-main .dot.mec{background:var(--mMec)}
body.pc-page-interfaz-de-sucursal .pc-main .dot.fero{background:var(--mFero)}
body.pc-page-interfaz-de-sucursal .pc-main .dot.otro{background:var(--mOtro)}
body.pc-page-interfaz-de-sucursal .pc-main .shape{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;font-size:14px;line-height:1;color:#111}
body.pc-page-interfaz-de-sucursal .pc-main .tableWrap{width:100%;overflow:auto;border:1px solid var(--border);border-radius:12px;background:#fff}
body.pc-page-interfaz-de-sucursal .pc-main table{border-collapse:collapse;width:100%;min-width:760px}
body.pc-page-interfaz-de-sucursal .pc-main th,
body.pc-page-interfaz-de-sucursal .pc-main td{padding:10px;border-bottom:1px solid var(--border);font-size:13px;vertical-align:top}
body.pc-page-interfaz-de-sucursal .pc-main th{position:sticky;top:0;background:#fafbff;text-align:left;z-index:2}
body.pc-page-interfaz-de-sucursal .pc-main tr:hover td{background:#fbfcff}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn{padding:7px 10px;border-radius:10px;border:1px solid var(--border);background:#fff;cursor:pointer;font-size:12px}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn:hover{border-color:#cfd5e2}
body.pc-page-interfaz-de-sucursal .pc-main .badge.ok{border-color:#bbf7d0;background:#f0fdf4}
body.pc-page-interfaz-de-sucursal .pc-main .badge.warn{border-color:#fde68a;background:#fffbeb}
body.pc-page-interfaz-de-sucursal .pc-main .badge.bad{border-color:#fecaca;background:#fef2f2}
body.pc-page-interfaz-de-sucursal .pc-main .mono{font-family:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace}
body.pc-page-interfaz-de-sucursal .pc-main .split{display:grid;grid-template-columns:1fr;gap:12px}
body.pc-page-interfaz-de-sucursal .pc-main .miniGroup{display:flex;gap:6px;flex-wrap:wrap}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn.mini{padding:6px 8px;font-size:12px;border-radius:10px}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn.brand{border-color:transparent;background:#e8f1ff;color:#0b4aa2}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn.ok{border-color:transparent;background:#e9fff2;color:#0b5a2b}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn.warn{border-color:transparent;background:#fff8e7;color:#7a4b00}
body.pc-page-interfaz-de-sucursal .pc-main .tbtn.neu{background:#fff}
@media (max-width:980px){body.pc-page-interfaz-de-sucursal .pc-main .mapShell{grid-template-columns:1fr}
body.pc-page-interfaz-de-sucursal .pc-main .mapSide{max-height:none}}
@media (max-width:900px){body.pc-page-interfaz-de-sucursal .pc-main #canvas{height:440px}
body.pc-page-interfaz-de-sucursal .pc-main select,
body.pc-page-interfaz-de-sucursal .pc-main input{min-width:200px}}

/* --- módulo recuperado: zonas-inmueble.html --- */
body.pc-page-zonas-inmueble{
						      --line:#e5e7eb;
						      --muted:#6b7280;
						      --blue:#1976d2;
						      --danger:#b91c1c;
						    }
body.pc-page-zonas-inmueble .pc-main *{ box-sizing:border-box; }
body.pc-page-zonas-inmueble .pc-main h2{ margin:6px 0 14px; }
/* =========================================
						       TOP BAR (2 filas: Cliente / Sucursal+Piso)
						       ========================================= */
body.pc-page-zonas-inmueble .pc-main .topbar{
						      display:grid;
						      grid-template-columns: minmax(0,1fr) minmax(220px, 260px);
						      grid-template-areas:
						        "cliente cliente"
						        "sucursal piso";
						      gap:12px;
						      align-items:end;
						      margin-bottom:12px;
						    }
/* Sin tocar HTML: asignamos por orden */
body.pc-page-zonas-inmueble .pc-main .topbar > label:nth-child(1){ grid-area: cliente; }
body.pc-page-zonas-inmueble .pc-main .topbar > label:nth-child(2){ grid-area: sucursal; }
body.pc-page-zonas-inmueble .pc-main .topbar > label:nth-child(3){ grid-area: piso; }
body.pc-page-zonas-inmueble .pc-main .topbar > label{ min-width:0; }
@media (max-width: 980px){body.pc-page-zonas-inmueble .pc-main .topbar{
						        grid-template-columns: 1fr;
						        grid-template-areas:
						          "cliente"
						          "sucursal"
						          "piso";
						      }}
body.pc-page-zonas-inmueble .pc-main label{
						      display:flex;
						      flex-direction:column;
						      font-size:12px;
						      color:#111;
						    }
body.pc-page-zonas-inmueble .pc-main select,
body.pc-page-zonas-inmueble .pc-main input{
						      width:100%;
						      min-width:0;
						      padding:8px 10px;
						      font-size:14px;
						      border:1px solid var(--line);
						      border-radius:10px;
						    }
body.pc-page-zonas-inmueble .pc-main select{
						      overflow:hidden;
						      text-overflow:ellipsis;
						      white-space:nowrap;
						    }
body.pc-page-zonas-inmueble .pc-main button{
						      padding:10px 14px;
						      cursor:pointer;
						      border-radius:10px;
						      border:1px solid var(--line);
						      background:#fff;
						    }
body.pc-page-zonas-inmueble .pc-main .btn-primary{ background:var(--blue); color:#fff; border:0; }
body.pc-page-zonas-inmueble .pc-main .btn-danger{ background:var(--danger); color:#fff; border:0; }
body.pc-page-zonas-inmueble .pc-main .btn-light{ background:#fff; border:1px solid #ddd; }
body.pc-page-zonas-inmueble .pc-main .muted{ color:var(--muted); font-size:12px; }
/* =========================
						       BARRA COMPACTA
						       ========================= */
body.pc-page-zonas-inmueble .pc-main .selectionBar{
						      display:flex;
						      gap:10px;
						      align-items:center;
						      flex-wrap:wrap;
						      padding:10px 12px;
						      border:1px solid var(--line);
						      border-radius:14px;
						      background:#fafafa;
						      margin:10px 0 12px;
						    }
body.pc-page-zonas-inmueble .pc-main .pill{
						      display:inline-flex;
						      align-items:center;
						      gap:8px;
						      padding:6px 10px;
						      border-radius:999px;
						      background:#fff;
						      border:1px solid var(--line);
						      font-size:13px;
						    }
body.pc-page-zonas-inmueble .pc-main .pill strong{ font-weight:700; }
body.pc-page-zonas-inmueble .pc-main details{ margin-left:auto; }
body.pc-page-zonas-inmueble .pc-main details summary{
						      cursor:pointer;
						      list-style:none;
						      user-select:none;
						      color:#111;
						      font-size:13px;
						      padding:6px 10px;
						      border:1px solid var(--line);
						      border-radius:999px;
						      background:#fff;
						      display:inline-flex;
						      align-items:center;
						      gap:8px;
						    }
body.pc-page-zonas-inmueble .pc-main details summary::-webkit-details-marker{ display:none; }
body.pc-page-zonas-inmueble .pc-main .chips{
						      margin-top:10px;
						      display:flex;
						      flex-wrap:wrap;
						      gap:8px;
						      max-width:min(1200px, 100%);
						    }
body.pc-page-zonas-inmueble .pc-main .chip{
						      padding:6px 10px;
						      border-radius:999px;
						      border:1px solid var(--line);
						      background:#fff;
						      font-size:12px;
						      color:#111;
						      white-space:nowrap;
						    }
/* =========================
						       CANVAS
						       ========================= */
body.pc-page-zonas-inmueble .pc-main #canvasWrapper{
						      position:relative;
						      width:100%;
						      height:min(68vh, 680px);
						      border:1px solid #999;
						      border-radius:14px;
						      background:#fff;
						      overflow:hidden;
						    }
body.pc-page-zonas-inmueble .pc-main canvas{ display:block; width:100%; height:100%; }
body.pc-page-zonas-inmueble .pc-main .canvasControls{
						      position:absolute;
						      top:10px; left:10px;
						      display:flex;
						      gap:8px;
						      z-index:5;
						      background:rgba(255,255,255,.92);
						      border:1px solid var(--line);
						      border-radius:12px;
						      padding:8px;
						      box-shadow:0 10px 26px rgba(16,24,40,.10);
						    }
body.pc-page-zonas-inmueble .pc-main .canvasControls button{
						      padding:8px 10px;
						      border-radius:10px;
						      border:1px solid var(--line);
						      background:#fff;
						      font-weight:700;
						      min-width:40px;
						    }
body.pc-page-zonas-inmueble .pc-main .canvasHelp{
						      position:absolute;
						      left:10px; bottom:10px;
						      z-index:5;
						      background:rgba(255,255,255,.92);
						      border:1px solid var(--line);
						      border-radius:12px;
						      padding:8px 10px;
						      font-size:12px;
						      color:#111;
						      box-shadow:0 10px 26px rgba(16,24,40,.10);
						      max-width:min(520px, 92%);
						    }
body.pc-page-zonas-inmueble .pc-main #segTooltip{
						      position:absolute;
						      z-index:6;
						      pointer-events:none;
						      display:none;
						      padding:6px 10px;
						      font-size:12px;
						      border-radius:10px;
						      border:1px solid var(--line);
						      background:rgba(17,17,17,.92);
						      color:#fff;
						      white-space:nowrap;
						      transform: translate(10px, 10px);
						    }
body.pc-page-zonas-inmueble .pc-main #selectRect{
						      position:absolute;
						      z-index:7;
						      display:none;
						      pointer-events:none;
						      border:2px dashed #1976d2;
						      background:rgba(25,118,210,.12);
						      border-radius:6px;
						    }
body.pc-page-zonas-inmueble .pc-main .quickInput{
						      width:min(260px, 100%);
						      min-width:180px;
						      height:36px;
						      padding:7px 10px;
						      border-radius:999px;
						      border:1px solid var(--line);
						      background:#fff;
						      font-size:13px;
						    }
body.pc-page-zonas-inmueble .pc-main .btn-ghost{
						      background:#fff;
						      border:1px solid var(--line);
						      color:#111;
						    }
body.pc-page-zonas-inmueble .pc-main .kbd{
						      display:inline-flex;
						      align-items:center;
						      justify-content:center;
						      min-width:22px;
						      height:20px;
						      padding:0 6px;
						      border-radius:6px;
						      background:#111;
						      color:#fff;
						      font-size:11px;
						      font-weight:700;
						    }
body.pc-page-zonas-inmueble .pc-main tr.zoneRow:hover{ background:#f8fafc; }
/* =========================
						       TABLA ZONAS
						       ========================= */
body.pc-page-zonas-inmueble .pc-main .table-wrap{
						      width:100%;
						      overflow:auto;
						      margin-top:16px;
						      border:1px solid var(--line);
						      border-radius:14px;
						    }
body.pc-page-zonas-inmueble .pc-main table{ border-collapse:collapse; width:100%; }
body.pc-page-zonas-inmueble .pc-main th,
body.pc-page-zonas-inmueble .pc-main td{
						      border:1px solid #eee;
						      padding:10px;
						      font-size:13px;
						      vertical-align:top;
						    }
body.pc-page-zonas-inmueble .pc-main th{
						      background:#fafafa;
						      text-align:left;
						      position:sticky;
						      top:0;
						      z-index:2;
						    }
body.pc-page-zonas-inmueble .pc-main .titleRow{
						      display:flex;
						      align-items:end;
						      justify-content:space-between;
						      gap:12px;
						      flex-wrap:wrap;
						      margin:6px 0 8px;
						    }

/* --- módulo recuperado: diseno-inmueble.html --- */
body.pc-page-diseno-inmueble{
						      --bg:#ffffff;
						      --line:#e5e7eb;
						      --muted:#6b7280;
						      --text:#111827;
						      --soft:#f8fafc;
						      --head:#f3f4f6;
						      --accent:#2563eb;
						
						      --ok:#16a34a;
						      --bad:#ef4444;
						      --warn:#f59e0b;
						
						      --r:12px;
						      --shadow: 0 8px 22px rgba(17,24,39,.10);
						      --fz:12px;
						      --fz2:11px;
						      --h:34px;
						    }
body.pc-page-diseno-inmueble .pc-main *{box-sizing:border-box}
body.pc-page-diseno-inmueble .pc-main h2{
						      margin:0 0 8px 0;
						      font-size:16px;
						      font-weight:700;
						    }
body.pc-page-diseno-inmueble .pc-main label{
						      display:flex;
						      flex-direction:column;
						      gap:4px;
						      font-size:var(--fz2);
						      color:var(--muted);
						      min-width: 150px;
						    }
body.pc-page-diseno-inmueble .pc-main select,
body.pc-page-diseno-inmueble .pc-main input{
						      height: var(--h);
						      padding: 6px 10px;
						      font-size: var(--fz);
						      border:1px solid var(--line);
						      border-radius: 10px;
						      background:#fff;
						      outline:none;
						    }
body.pc-page-diseno-inmueble .pc-main button{
						      height: var(--h);
						      padding: 6px 10px;
						      font-size: var(--fz);
						      border:1px solid var(--line);
						      border-radius: 10px;
						      background:#fff;
						      cursor:pointer;
						      white-space:nowrap;
						    }
body.pc-page-diseno-inmueble .pc-main button.primary{
						      background: var(--accent);
						      border-color: var(--accent);
						      color:#fff;
						    }
body.pc-page-diseno-inmueble .pc-main button.danger{
						      background:#dc2626;
						      border-color:#dc2626;
						      color:#fff;
						    }
body.pc-page-diseno-inmueble .pc-main button.danger:disabled{
						      opacity:.45;
						      cursor:not-allowed;
						    }
body.pc-page-diseno-inmueble .pc-main button:active{ transform: translateY(1px); }
body.pc-page-diseno-inmueble .pc-main .wrap{ max-width: 1400px; margin: 0 auto; }
body.pc-page-diseno-inmueble .pc-main .row{
						      display:flex;
						      gap:10px;
						      flex-wrap:wrap;
						      align-items:flex-end;
						      margin-bottom:10px;
						    }
body.pc-page-diseno-inmueble .pc-main .pill{
						      display:inline-flex;
						      align-items:center;
						      gap:8px;
						      padding:6px 10px;
						      border:1px solid var(--line);
						      border-radius:999px;
						      background:#fff;
						      font-size: var(--fz2);
						      color: var(--muted);
						      height: var(--h);
						    }
body.pc-page-diseno-inmueble .pc-main .dot{width:9px;height:9px;border-radius:50%;}
body.pc-page-diseno-inmueble .pc-main .dot.ok{background:var(--ok);}
body.pc-page-diseno-inmueble .pc-main .dot.bad{background:var(--bad);}
body.pc-page-diseno-inmueble .pc-main .dot.warn{background:var(--warn);}
body.pc-page-diseno-inmueble .pc-main .hint{
						      padding:8px 10px;
						      border:1px dashed #cbd5e1;
						      border-radius: 12px;
						      background: var(--soft);
						      color:#334155;
						      font-size: var(--fz2);
						      line-height:1.25;
						    }
body.pc-page-diseno-inmueble .pc-main #canvasWrapper{
						      position:relative;
						      width:100%;
						      height: 58vh;
						      min-height: 320px;
						      border: 1px solid var(--line);
						      border-radius: var(--r);
						      background:#fff;
						      box-shadow: var(--shadow);
						      overflow:hidden;
						    }
body.pc-page-diseno-inmueble .pc-main canvas{ display:block; width:100%; height:100%; }
body.pc-page-diseno-inmueble .pc-main .overlay{
						      position:absolute;
						      top:10px;
						      right:10px;
						      display:flex;
						      gap:8px;
						      align-items:center;
						    }
body.pc-page-diseno-inmueble .pc-main .overlay .pill{
						      background:rgba(255,255,255,.92);
						      backdrop-filter: blur(4px);
						    }
body.pc-page-diseno-inmueble .pc-main .overlay button{
						      height: 30px;
						      padding: 0 10px;
						      border-radius: 10px;
						      background:rgba(255,255,255,.92);
						    }
body.pc-page-diseno-inmueble .pc-main .tables{
						      display:grid;
						      grid-template-columns: 1fr 1fr;
						      gap: 12px;
						      margin-top: 12px;
						    }
@media (max-width: 980px){body.pc-page-diseno-inmueble .pc-main .tables{ grid-template-columns: 1fr; }
body.pc-page-diseno-inmueble .pc-main label{ min-width: 220px; }}
body.pc-page-diseno-inmueble .pc-main .box{
						      border:1px solid var(--line);
						      border-radius: var(--r);
						      background:#fff;
						      box-shadow: var(--shadow);
						      overflow:hidden;
						    }
body.pc-page-diseno-inmueble .pc-main .boxHead{
						      display:flex;
						      justify-content:space-between;
						      align-items:center;
						      padding:10px 12px;
						      background: var(--head);
						      border-bottom:1px solid var(--line);
						    }
body.pc-page-diseno-inmueble .pc-main .boxHead h4{ margin:0; font-size: 13px; }
body.pc-page-diseno-inmueble .pc-main .boxHead .small{ font-size: var(--fz2); color: var(--muted); }
body.pc-page-diseno-inmueble .pc-main .tableWrap{
						      max-height: 300px;
						      overflow:auto;
						    }
body.pc-page-diseno-inmueble .pc-main table{
						      width:100%;
						      border-collapse: collapse;
						      font-size: var(--fz2);
						    }
body.pc-page-diseno-inmueble .pc-main th,
body.pc-page-diseno-inmueble .pc-main td{
						      border-bottom:1px solid var(--line);
						      padding: 6px 8px;
						      text-align:left;
						      vertical-align:middle;
						    }
body.pc-page-diseno-inmueble .pc-main th{
						      position: sticky;
						      top: 0;
						      background: #fff;
						      z-index: 2;
						      font-weight:700;
						    }
body.pc-page-diseno-inmueble .pc-main .btn-mini{
						      height: 28px;
						      padding: 0 10px;
						      border-radius: 9px;
						      font-size: var(--fz2);
						    }
body.pc-page-diseno-inmueble .pc-main .disabled{ opacity:.55; pointer-events:none; }
body.pc-page-diseno-inmueble .pc-main .controlGroup{
						      display:flex;
						      gap:8px;
						      flex-wrap:wrap;
						      align-items:flex-end;
						      padding:8px;
						      border:1px solid var(--line);
						      border-radius: var(--r);
						      background: var(--soft);
						    }
body.pc-page-diseno-inmueble .pc-main .controlGroupTitle{
						      width:100%;
						      font-size: var(--fz2);
						      color:#334155;
						      font-weight:700;
						      margin-bottom:2px;
						    }
body.pc-page-diseno-inmueble .pc-main .dirPad{
						      display:flex;
						      gap:6px;
						      align-items:center;
						      height: var(--h);
						    }
body.pc-page-diseno-inmueble .pc-main .dirPad button{
						      min-width:38px;
						      padding:0 8px;
						      font-weight:700;
						    }
body.pc-page-diseno-inmueble .pc-main .dirPad button.active{
						      background:#dbeafe;
						      border-color:#93c5fd;
						      color:#1d4ed8;
						    }
body.pc-page-diseno-inmueble .pc-main .mono{font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}
body.pc-page-diseno-inmueble .pc-main .tiny{font-size:10px;color:var(--muted);}
/* ===== MODO CAD / BAJO BRILLO ===== */
body.pc-page-diseno-inmueble{
						      --canvas-bg:#ffffff;
						      --grid-color:#eef2f7;
						      --marco-color:#0ea5e9;
						      --eje-color:rgba(37,99,235,.32);
						      --point-color:#111827;
						      --point-origin:#1d4ed8;
						      --label-color:#ffffff;
						      --label-halo:rgba(0,0,0,.55);
						      --selected-seg:#facc15;
						    }
body.pc-page-diseno-inmueble.theme-cad{
						      --bg:#0b0f14;
						      --line:#253041;
						      --muted:#8fa3b8;
						      --text:#d8e1ea;
						      --soft:#111827;
						      --head:#162033;
						      --accent:#00a3ff;
						      --shadow:none;
						      --canvas-bg:#060b10;
						      --grid-color:#122033;
						      --marco-color:#4cc9f0;
						      --eje-color:rgba(0,163,255,.28);
						      --point-color:#e5edf6;
						      --point-origin:#00a3ff;
						      --label-color:#f8fafc;
						      --label-halo:rgba(0,0,0,.92);
						      --selected-seg:#ffd60a;
						    }
body.pc-page-diseno-inmueble.theme-cad select,
body.pc-page-diseno-inmueble.theme-cad input,
body.pc-page-diseno-inmueble.theme-cad button,
body.pc-page-diseno-inmueble.theme-cad .pill{
						      background:#0f172a;
						      color:var(--text);
						      border-color:var(--line);
						    }
body.pc-page-diseno-inmueble.theme-cad button.primary{
						      background:#006bb6;
						      border-color:#00a3ff;
						      color:#ffffff;
						    }
body.pc-page-diseno-inmueble.theme-cad .box,
body.pc-page-diseno-inmueble.theme-cad .controlGroup,
body.pc-page-diseno-inmueble.theme-cad #canvasWrapper{
						      background:#0f172a;
						      border-color:var(--line);
						    }
body.pc-page-diseno-inmueble.theme-cad .boxHead,
body.pc-page-diseno-inmueble.theme-cad th{
						      background:#162033;
						      color:var(--text);
						    }
body.pc-page-diseno-inmueble.theme-cad td,
body.pc-page-diseno-inmueble.theme-cad th{ border-bottom-color:#253041; }
body.pc-page-diseno-inmueble.theme-cad .hint{ background:#0f172a; color:#aab8c6; border-color:#334155; }
body.pc-page-diseno-inmueble.theme-cad .controlGroupTitle{ color:#d8e1ea; }
body.pc-page-diseno-inmueble.theme-cad .dirPad button.active{
						      background:#123b5a;
						      border-color:#00a3ff;
						      color:#ffffff;
						    }
body.pc-page-diseno-inmueble.theme-cad tr.rowSelected{ background:#243148 !important; }
body.pc-page-diseno-inmueble.theme-cad tr.rowPointSelected{ background:#123b5a !important; }
body.pc-page-diseno-inmueble .pc-main .toolbarSearch{
						      display:flex;
						      align-items:center;
						      gap:8px;
						      flex-wrap:wrap;
						    }
body.pc-page-diseno-inmueble .pc-main .toolbarSearch input{ height:28px; min-width:160px; }
body.pc-page-diseno-inmueble .pc-main .rowSelected{ background:#fff7cc !important; }
body.pc-page-diseno-inmueble .pc-main .rowPointSelected{ background:#eef6ff !important; }
body.pc-page-diseno-inmueble .pc-main .advancedBox{
						      min-width:150px;
						      border:1px solid var(--line);
						      border-radius:10px;
						      padding:4px 8px;
						      background:#fff;
						      color:var(--muted);
						      font-size:var(--fz2);
						      height:auto;
						    }
body.pc-page-diseno-inmueble.theme-cad .advancedBox{ background:#0f172a; border-color:var(--line); }
body.pc-page-diseno-inmueble .pc-main .advancedBox summary{ cursor:pointer; font-weight:700; height:24px; display:flex; align-items:center; }
body.pc-page-diseno-inmueble .pc-main .advancedBox .advancedInner{ display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end; padding:6px 0 2px; }
body.pc-page-diseno-inmueble .pc-main .btnToggleActive{ outline:2px solid var(--accent); }
body.pc-page-diseno-inmueble .pc-main .dirPad .btnDir{ font-size:18px; line-height:1; }
body.pc-page-diseno-inmueble .pc-main .dirPad .dirLabel{ min-width:96px; }
body.pc-page-diseno-inmueble .pc-main .compactCadPanel{ align-items:center; }
body.pc-page-diseno-inmueble .pc-main .chipRow{
						      display:flex;
						      gap:6px;
						      flex-wrap:wrap;
						      align-items:center;
						    }
body.pc-page-diseno-inmueble .pc-main .chipBtn{
						      height:30px;
						      padding:0 10px;
						      border-radius:8px;
						      font-size:11px;
						      border:1px solid var(--line);
						      background:#fff;
						      color:var(--text);
						    }
body.pc-page-diseno-inmueble .pc-main .chipBtn.active{
						      background:var(--accent);
						      border-color:var(--accent);
						      color:#fff;
						    }
body.pc-page-diseno-inmueble.theme-cad .chipBtn{
						      background:#0b1220;
						      border-color:#334155;
						      color:#d8e1ea;
						    }
body.pc-page-diseno-inmueble.theme-cad .chipBtn.active{
						      background:#006bb6;
						      border-color:#00a3ff;
						      color:#fff;
						    }
body.pc-page-diseno-inmueble.theme-cad .chipBtn[data-value="pared"].active{ background:#004f8f; }
body.pc-page-diseno-inmueble.theme-cad .chipBtn[data-value="media_pared"].active{ background:#066c8d; }
body.pc-page-diseno-inmueble.theme-cad .chipBtn[data-value="ventana_exterior"].active{ background:#087d35; }
body.pc-page-diseno-inmueble.theme-cad .chipBtn[data-value="ventana_interior"].active{ background:#4e7d08; }
body.pc-page-diseno-inmueble.theme-cad .chipBtn[data-value="acceso_exterior"].active{ background:#9a5b00; }
body.pc-page-diseno-inmueble.theme-cad .chipBtn[data-value="acceso_interior"].active{ background:#8a6b00; }
body.pc-page-diseno-inmueble .pc-main .measureBox{ font-weight:700; }
body.pc-page-diseno-inmueble.theme-cad #pillRegla{ background:#0b1220; border-color:#334155; color:#d8e1ea; }
body.pc-page-diseno-inmueble .pc-main .drawHelp{ opacity:.82; }
body.pc-page-diseno-inmueble .pc-main .jsonImportTools{
						      display:flex; gap:8px; flex-wrap:wrap; align-items:flex-end;
						      padding:8px; border:1px solid var(--line); border-radius:var(--r); background:var(--soft);
						    }
body.pc-page-diseno-inmueble .pc-main .jsonImportTools .jsonImportTitle{
						      width:100%; font-size:var(--fz2); color:#334155; font-weight:700; margin-bottom:2px;
						    }
body.pc-page-diseno-inmueble.theme-cad .jsonImportTools{ background:#0f172a; border-color:var(--line); }
body.pc-page-diseno-inmueble.theme-cad .jsonImportTools .jsonImportTitle{ color:#d8e1ea; }
body.pc-page-diseno-inmueble .pc-main #jsonImportText{
						      width: min(720px, 100%); min-height: 90px; resize: vertical;
						      padding:8px 10px; font-size:11px; border:1px solid var(--line); border-radius:10px;
						      font-family: ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
						      background:#fff; color:var(--text);
						    }
body.pc-page-diseno-inmueble.theme-cad #jsonImportText{ background:#0b1220; color:#d8e1ea; border-color:#334155; }
body.pc-page-diseno-inmueble .pc-main .zoneLabel{ font-size:11px; font-weight:700; }
body.pc-page-diseno-inmueble .pc-main #output{
						      background: #0b1220;
						      color:#e5e7eb;
						      border-radius: 12px;
						      padding: 10px;
						      margin-top: 12px;
						      display:none;
						      max-height: 320px;
						      overflow:auto;
						      font-size: 11px;
						    }

/* --- módulo recuperado: domicilio-inmueble.html --- */
body.pc-page-domicilio-inmueble{
						      --bg:#f3f6f8;
						      --panel:#ffffff;
						      --line:#d7dee8;
						      --text:#102033;
						      --muted:#607086;
						      --blue:#0d6efd;
						      --blue2:#0b5ed7;
						      --green:#138a42;
						      --orange:#c2410c;
						      --red:#991b1b;
						      --soft:#eef4fb;
						      --soft2:#f8fafc;
						      --dark:#0f172a;
						      --r:12px;
						      --h:36px;
						      --fz:13px;
						      --fz2:12px;
						    }
body.pc-page-domicilio-inmueble .pc-main *{box-sizing:border-box}
body.pc-page-domicilio-inmueble .pc-main .wrap{
						      display:grid;
						      grid-template-columns:420px 1fr;
						      height:100vh;
						      min-height:640px;
						    }
body.pc-page-domicilio-inmueble .pc-main .panel{
						      background:var(--panel);
						      border-right:1px solid var(--line);
						      padding:14px;
						      overflow:auto;
						    }
body.pc-page-domicilio-inmueble .pc-main #map{height:100vh;min-height:640px;}
body.pc-page-domicilio-inmueble .pc-main h1{margin:0 0 4px;font-size:18px;line-height:1.1}
body.pc-page-domicilio-inmueble .pc-main h2{margin:14px 0 8px;font-size:14px;color:#24556b}
body.pc-page-domicilio-inmueble .pc-main .muted{color:var(--muted);font-size:var(--fz2);line-height:1.35}
body.pc-page-domicilio-inmueble .pc-main .tiny{color:var(--muted);font-size:11px;line-height:1.35}
body.pc-page-domicilio-inmueble .pc-main .sep{border:0;border-top:1px solid var(--line);margin:14px 0}
body.pc-page-domicilio-inmueble .pc-main label{display:block;font-size:var(--fz2);color:#334155;margin-bottom:4px;font-weight:650}
body.pc-page-domicilio-inmueble .pc-main select,
body.pc-page-domicilio-inmueble .pc-main input,
body.pc-page-domicilio-inmueble .pc-main button,
body.pc-page-domicilio-inmueble .pc-main textarea{font:inherit}
body.pc-page-domicilio-inmueble .pc-main select,
body.pc-page-domicilio-inmueble .pc-main input{
						      width:100%;height:var(--h);padding:7px 10px;
						      border:1px solid var(--line);border-radius:10px;background:#fff;
						      outline:none;font-size:var(--fz);
						    }
body.pc-page-domicilio-inmueble .pc-main textarea{
						      width:100%;min-height:240px;padding:10px;border:1px solid var(--line);
						      border-radius:10px;resize:vertical;
						      font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;
						      font-size:11px;
						    }
body.pc-page-domicilio-inmueble .pc-main button{
						      min-height:var(--h);padding:7px 10px;border:1px solid var(--line);
						      border-radius:10px;background:#fff;color:#0f172a;cursor:pointer;
						      font-weight:700;font-size:var(--fz);
						    }
body.pc-page-domicilio-inmueble .pc-main button:hover{border-color:#94a3b8;background:#f8fafc}
body.pc-page-domicilio-inmueble .pc-main button:active{transform:translateY(1px)}
body.pc-page-domicilio-inmueble .pc-main button:disabled{opacity:.5;cursor:not-allowed;transform:none}
body.pc-page-domicilio-inmueble .pc-main button.primary{background:var(--blue);border-color:var(--blue);color:#fff}
body.pc-page-domicilio-inmueble .pc-main button.primary:hover{background:var(--blue2)}
body.pc-page-domicilio-inmueble .pc-main button.danger{background:#fee2e2;border-color:#fecaca;color:#991b1b}
body.pc-page-domicilio-inmueble .pc-main button.active{background:var(--dark);color:#fff;border-color:var(--dark)}
body.pc-page-domicilio-inmueble .pc-main .row{display:flex;gap:8px;align-items:end;margin:8px 0}
body.pc-page-domicilio-inmueble .pc-main .row>*{flex:1}
body.pc-page-domicilio-inmueble .pc-main .row .fit{flex:0 0 auto}
body.pc-page-domicilio-inmueble .pc-main .btnbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
body.pc-page-domicilio-inmueble .pc-main .badge{
						      display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:5px 9px;
						      border-radius:999px;border:1px solid var(--line);background:#fff;
						      font-size:var(--fz2);color:var(--muted);white-space:nowrap;
						    }
body.pc-page-domicilio-inmueble .pc-main .badge input{width:auto;height:auto;margin:0}
body.pc-page-domicilio-inmueble .pc-main .dot{width:9px;height:9px;border-radius:999px;background:#94a3b8;display:inline-block}
body.pc-page-domicilio-inmueble .pc-main .dot.ok{background:var(--green)}
body.pc-page-domicilio-inmueble .pc-main .dot.bad{background:var(--orange)}
body.pc-page-domicilio-inmueble .pc-main .card{border:1px solid var(--line);border-radius:var(--r);background:var(--soft);padding:10px;margin:10px 0}
body.pc-page-domicilio-inmueble .pc-main .warn{background:#fff7ed;border-color:#fed7aa;color:#7c2d12}
body.pc-page-domicilio-inmueble .pc-main .modeGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
body.pc-page-domicilio-inmueble .pc-main .modeCard{border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px;cursor:pointer}
body.pc-page-domicilio-inmueble .pc-main .modeCard.active{border-color:#0d6efd;box-shadow:0 0 0 2px rgba(13,110,253,.15)}
body.pc-page-domicilio-inmueble .pc-main .modeCard b{display:block;font-size:13px}
body.pc-page-domicilio-inmueble .pc-main .modeCard span{font-size:11px;color:var(--muted);line-height:1.25}
body.pc-page-domicilio-inmueble .pc-main .dirGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:8px}
body.pc-page-domicilio-inmueble .pc-main .dirBtn{height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1}
body.pc-page-domicilio-inmueble .pc-main .dirBtn .arrow{font-size:18px}
body.pc-page-domicilio-inmueble .pc-main .dirBtn .cap{font-size:10px;font-weight:650;opacity:.85}
body.pc-page-domicilio-inmueble .pc-main .summaryGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0}
body.pc-page-domicilio-inmueble .pc-main .metric{background:#fff;border:1px solid var(--line);border-radius:10px;padding:8px}
body.pc-page-domicilio-inmueble .pc-main .metric b{font-size:15px;display:block;margin-top:2px}
body.pc-page-domicilio-inmueble .pc-main .segList{max-height:285px;overflow:auto;border:1px solid var(--line);border-radius:10px;background:#fff;margin-top:8px}
body.pc-page-domicilio-inmueble .pc-main table{width:100%;border-collapse:collapse;font-size:12px}
body.pc-page-domicilio-inmueble .pc-main th,
body.pc-page-domicilio-inmueble .pc-main td{border-bottom:1px solid #e5e7eb;padding:7px;text-align:left;vertical-align:middle}
body.pc-page-domicilio-inmueble .pc-main th{position:sticky;top:0;background:#f8fafc;z-index:2}
body.pc-page-domicilio-inmueble .pc-main tr:hover{background:#f1f5f9}
body.pc-page-domicilio-inmueble .pc-main details summary{cursor:pointer;font-weight:750;color:#334155}
body.pc-page-domicilio-inmueble .pc-main .leaflet-div-icon{background:transparent;border:0}
body.pc-page-domicilio-inmueble .pc-main .pointIcon{
						      width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;
						      background:#ffffff;color:#111827;border:2px solid #111827;font-weight:800;font-size:12px;
						      box-shadow:0 1px 5px rgba(0,0,0,.28);
						    }
body.pc-page-domicilio-inmueble .pc-main .pointIcon.last{background:#0f172a;color:#fff;border-color:#0f172a}
body.pc-page-domicilio-inmueble .pc-main .midIcon{
						      padding:2px 6px;border-radius:999px;background:#ffffffde;border:1px solid #111827;
						      font-size:11px;font-weight:800;color:#111827;box-shadow:0 1px 4px rgba(0,0,0,.18);white-space:nowrap;
						    }
body.pc-page-domicilio-inmueble .pc-main .class-alineado{color:#166534;font-weight:800}
body.pc-page-domicilio-inmueble .pc-main .class-aceptable{color:#0f766e;font-weight:800}
body.pc-page-domicilio-inmueble .pc-main .class-irregular{color:#c2410c;font-weight:800}
body.pc-page-domicilio-inmueble .pc-main .class-libre{color:#991b1b;font-weight:800}
@media (max-width:980px){body.pc-page-domicilio-inmueble .pc-main .wrap{grid-template-columns:1fr;height:auto}
body.pc-page-domicilio-inmueble .pc-main .panel{height:auto;max-height:none;border-right:0;border-bottom:1px solid var(--line)}
body.pc-page-domicilio-inmueble .pc-main #map{height:70vh;min-height:480px}}


/* ========== v5 ajustes finales auditor ========== */
body.pc-page-estadisticas .pc-main .print-only{display:none!important}
body.pc-page-estadisticas .pc-main .printLogo{max-width:220px!important;max-height:84px!important;width:auto!important;height:auto!important;object-fit:contain!important}
body.pc-page-estadisticas .pc-main .wrap{max-width:1320px!important}
body.pc-page-interfaz-de-sucursal .pc-main #canvasWrap canvas,
body.pc-page-zonas-inmueble .pc-main #canvasWrapper canvas,
body.pc-page-diseno-inmueble .pc-main #canvasWrapper canvas{width:100%!important;height:100%!important;max-width:none!important}
body.pc-page-domicilio-inmueble .pc-main{padding:0}
body.pc-page-domicilio-inmueble .pc-main>.pc-legacy{max-width:none;margin:0}
body.pc-page-domicilio-inmueble .pc-main .wrap{max-width:none;margin:0;width:100%}

@media print{
  body.pc-page-estadisticas .pc-main .print-only{display:block!important}
  body.pc-page-estadisticas .pc-main .printLogo{max-width:180px!important;max-height:70px!important}
}


/* ========== ProControl v5.1 · refinamientos de operación ========== */
.pc-sidebar-footer{display:grid;gap:6px}
.pc-role-card-gestor{border-left-color:#14866d}
.pc-role-card-auditor{border-left-color:#2563b8}
.pc-role-card-tecnico{border-left-color:#f4b400}
.pc-role-card-admin{border-left-color:#667085}
.pc-role-card-home{border-left-color:#98a2b3}
.pc-info-error{border-color:#fecdca;background:#fef3f2;color:#b42318}
.pc-target-error{background:#fef3f2!important;border-color:#fecdca!important;color:#b42318!important}

/* La colorimetría funcional manda sobre colores heredados de Website X5. */
body.pc-role-auditor.pc-page-estadisticas,
body.pc-role-auditor.pc-page-interfaz-de-sucursal,
body.pc-role-auditor.pc-page-zonas-inmueble,
body.pc-role-auditor.pc-page-diseno-inmueble,
body.pc-role-auditor.pc-page-domicilio-inmueble{
  --brand:var(--pc-brand); --accent:var(--pc-brand); --blue:var(--pc-brand); --blue2:var(--pc-brand-dark);
}
body.pc-role-auditor .pc-main .btn.brand,
body.pc-role-auditor .pc-main .btn-primary,
body.pc-role-auditor .pc-main button.primary{background:var(--pc-brand)!important;border-color:var(--pc-brand)!important;color:#fff!important}
body.pc-role-auditor .pc-main .btn.brand:hover,
body.pc-role-auditor .pc-main .btn-primary:hover,
body.pc-role-auditor .pc-main button.primary:hover{background:var(--pc-brand-dark)!important;border-color:var(--pc-brand-dark)!important}

/* Domicilio/Leaflet dentro de la carcasa común. */
@media(min-width:981px){
  body.pc-page-domicilio-inmueble .pc-main .wrap{height:calc(100dvh - 62px)}
  body.pc-page-domicilio-inmueble .pc-main #map{height:calc(100dvh - 62px);min-height:620px}
}

/* Mapas/canvas: nunca fuerzan ancho ni se montan sobre tarjetas vecinas. */
body.pc-role-auditor .pc-main .canvasWrap,
body.pc-role-auditor .pc-main #canvasWrap,
body.pc-role-auditor .pc-main #canvasWrapper{overflow:hidden;isolation:isolate}
body.pc-role-auditor .pc-main canvas{display:block;max-width:100%}

@media(max-width:760px){
  body.pc-role-auditor .pc-main .grid2,
  body.pc-role-auditor .pc-main .gridStats,
  body.pc-role-auditor .pc-main .summaryGrid,
  body.pc-role-auditor .pc-main .modeGrid{grid-template-columns:1fr!important}
  body.pc-role-auditor .pc-main select,
  body.pc-role-auditor .pc-main input[type="text"],
  body.pc-role-auditor .pc-main input[type="date"]{min-width:0!important;width:100%!important}
  body.pc-role-auditor .pc-main .row{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important}
  body.pc-role-auditor .pc-main .btnRow,
  body.pc-role-auditor .pc-main .btnbar{width:100%}
  body.pc-role-auditor .pc-main #map{min-height:420px!important;height:65dvh!important}
}


/* ========== ProControl v6 · Bandeja / tickets ========== */
.pc-ticket-app{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.pc-ticket-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.pc-ticket-head h1{margin:0 0 4px;font-size:28px}.pc-ticket-head p{margin:0;color:var(--pc-muted,#667085)}
.pc-btn{border:1px solid var(--pc-line,#d9e2ec);background:#fff;color:var(--pc-text,#172033);border-radius:10px;padding:9px 12px;font-weight:700}.pc-btn:hover{filter:brightness(.98)}.pc-btn-primary{background:var(--pc-brand,#14866d);border-color:var(--pc-brand,#14866d);color:#fff}
.pc-ticket-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.pc-ticket-kpis>div{background:#fff;border:1px solid var(--pc-line,#d9e2ec);border-radius:12px;padding:12px 14px}.pc-ticket-kpis strong{display:block;font-size:22px}.pc-ticket-kpis span{font-size:12px;color:#667085}
.pc-ticket-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) 190px 190px auto;gap:8px}.pc-ticket-toolbar input,.pc-ticket-toolbar select,.pc-ticket-detail select{border:1px solid #cfd9e5;background:#fff;border-radius:10px;padding:9px 10px;min-width:0}
.pc-ticket-grid{display:grid;grid-template-columns:minmax(300px,390px) minmax(0,1fr);gap:12px;min-height:620px}.pc-ticket-list,.pc-ticket-detail{background:#fff;border:1px solid var(--pc-line,#d9e2ec);border-radius:14px;overflow:hidden}.pc-ticket-list{padding:8px;display:flex;flex-direction:column;gap:7px;max-height:calc(100dvh - 275px);overflow:auto}.pc-ticket-detail{padding:18px;overflow:auto}
.pc-ticket-card{width:100%;text-align:left;border:1px solid #e1e7ef;background:#fff;border-radius:11px;padding:11px;color:inherit}.pc-ticket-card:hover,.pc-ticket-card.selected{border-color:var(--pc-brand,#14866d);box-shadow:0 0 0 2px color-mix(in srgb,var(--pc-brand,#14866d) 12%,transparent)}.pc-ticket-card.unread{border-left:4px solid var(--pc-brand,#14866d)}.pc-ticket-card strong{display:block;margin:7px 0;font-size:14px}.pc-ticket-card-top,.pc-ticket-card-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.pc-ticket-card-foot{justify-content:flex-start;flex-wrap:wrap}.pc-ticket-card-foot time{margin-left:auto;color:#7a8699;font-size:11px}.pc-ticket-folio{font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace;color:#667085}.pc-ticket-meta{font-size:11px;color:#667085;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-ticket-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 7px;font-size:10px;font-weight:800;background:#eef2f6;color:#344054}.pc-ticket-badge.open{background:#eaf2ff;color:#245ea8}.pc-ticket-badge.progress{background:#fff3d6;color:#8a5a00}.pc-ticket-badge.wait{background:#f2edff;color:#6941c6}.pc-ticket-badge.resolved{background:#e8f8ef;color:#067647}.pc-ticket-badge.closed{background:#e9f5ef;color:#087443}.pc-ticket-badge.cancel{background:#f2f4f7;color:#667085}.pc-ticket-badge.urgent{background:#feeceb;color:#b42318}.pc-ticket-badge.high{background:#fff1e7;color:#b54708}
.pc-ticket-detail-head{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid #e4e9f0;padding-bottom:14px}.pc-ticket-titleline{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.pc-ticket-titleline>span:first-child{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#667085}.pc-ticket-detail-head h2{margin:7px 0 5px;font-size:23px}.pc-ticket-detail-head p{margin:0;color:#667085}.pc-ticket-detail-actions{display:flex;align-items:flex-start;gap:6px;flex-shrink:0}
.pc-ticket-info{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin:14px 0}.pc-ticket-info>div,.pc-context-grid>div{background:#f8fafc;border:1px solid #e5eaf0;border-radius:9px;padding:9px}.pc-ticket-info span,.pc-context-grid span{display:block;font-size:10px;color:#667085;text-transform:uppercase;letter-spacing:.35px}.pc-ticket-info strong,.pc-context-grid strong{display:block;margin-top:3px;font-size:12px;overflow-wrap:anywhere}
.pc-section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:16px 0 8px}.pc-section-title h3{margin:0;font-size:17px}.pc-section-title small{color:#667085}.pc-8d-steps{display:grid;grid-template-columns:repeat(9,minmax(72px,1fr));gap:5px}.pc-8d-steps button{border:1px solid #dbe3ec;background:#fff;border-radius:9px;padding:8px 5px;color:#475467;min-width:0}.pc-8d-steps button b{display:block;color:#101828}.pc-8d-steps button span{font-size:9px;display:block;margin-top:2px}.pc-8d-steps button.done{background:#eef8f5;border-color:#b7dfd3}.pc-8d-steps button.active{background:var(--pc-brand,#14866d);border-color:var(--pc-brand,#14866d);color:#fff}.pc-8d-steps button.active b{color:#fff}.pc-8d-steps button:disabled{cursor:default}
.pc-context{border-top:1px solid #edf0f4;margin-top:16px}.pc-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pc-context-empty,.pc-empty,.pc-error{padding:28px;text-align:center;color:#667085}.pc-error{color:#b42318;background:#fff5f4;border-radius:10px}
.pc-ticket-timeline{border-top:1px solid #edf0f4;margin-top:16px}.pc-log-list{display:grid;gap:4px}.pc-log{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;position:relative;padding:6px 0}.pc-log:before{content:"";position:absolute;left:7px;top:22px;bottom:-8px;width:2px;background:#e4e9ef}.pc-log:last-child:before{display:none}.pc-log-dot{width:14px;height:14px;border-radius:50%;margin-top:4px;background:#98a2b3;border:3px solid #f2f4f7;z-index:1}.pc-log-dot.actor-usuario{background:var(--pc-brand,#14866d)}.pc-log-dot.actor-cliente{background:#7657a7}.pc-log-body{border:1px solid #e3e8ef;border-radius:10px;padding:9px 11px}.pc-log-head{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:11px}.pc-log-head span{color:#667085}.pc-log-head time{margin-left:auto;color:#98a2b3}.pc-log-body p{margin:7px 0 0;white-space:normal}.pc-log-stage{display:inline-block;margin-top:6px;border-radius:999px;background:#edf4ff;color:#175cd3;font-size:10px;font-weight:800;padding:2px 7px}.pc-attachment{display:inline-block;margin-top:8px;text-decoration:none;font-weight:700;font-size:12px}.pc-log-compose{margin-top:10px;padding:10px;border-radius:11px;background:#f8fafc;border:1px solid #e4e9ef}.pc-log-compose textarea{width:100%;resize:vertical;border:1px solid #cfd9e5;border-radius:9px;padding:9px}.pc-log-compose>div{display:flex;gap:7px;align-items:center;margin-top:7px;flex-wrap:wrap}.pc-log-compose input[type=file]{max-width:260px}
.pc-ticket-dialog{border:0;background:transparent;padding:12px;max-width:min(900px,96vw);width:100%}.pc-ticket-dialog::backdrop{background:rgba(15,23,42,.48)}.pc-ticket-dialog-card{background:#fff;border-radius:16px;padding:18px;box-shadow:0 24px 80px rgba(15,23,42,.25);max-height:92vh;overflow:auto}.pc-ticket-dialog-head{display:flex;justify-content:space-between;gap:10px}.pc-ticket-dialog-head h2{margin:0}.pc-ticket-dialog-head p{margin:3px 0 0;color:#667085}.pc-icon-btn{border:0;background:#f2f4f7;border-radius:50%;width:34px;height:34px;font-size:20px}.pc-ticket-dialog fieldset{border:1px solid #e2e8f0;border-radius:11px;margin:13px 0;padding:11px}.pc-ticket-dialog legend{font-weight:800;padding:0 6px}.pc-form-grid{display:grid;gap:9px}.pc-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.pc-form-grid label{font-size:12px;font-weight:700;color:#344054}.pc-form-grid input,.pc-form-grid select,.pc-form-grid textarea{display:block;width:100%;margin-top:4px;border:1px solid #cfd9e5;border-radius:9px;padding:9px;background:#fff}.pc-form-grid .span2{grid-column:span 2}.pc-form-grid .span3{grid-column:span 3}.pc-ticket-dialog-actions{display:flex;justify-content:flex-end;gap:7px}.pc-nav-badge{float:right;background:#fff;color:var(--pc-brand,#14866d);border-radius:999px;min-width:20px;text-align:center;font-size:10px;font-weight:900;padding:1px 5px;margin-left:8px}
@media(max-width:1050px){.pc-ticket-grid{grid-template-columns:330px minmax(0,1fr)}.pc-ticket-info{grid-template-columns:repeat(3,1fr)}.pc-8d-steps{grid-template-columns:repeat(5,1fr)}}
@media(max-width:760px){.pc-ticket-head{align-items:stretch}.pc-ticket-head,.pc-ticket-detail-head{flex-direction:column}.pc-ticket-toolbar{grid-template-columns:1fr 1fr}.pc-ticket-toolbar input{grid-column:1/-1}.pc-ticket-grid{grid-template-columns:1fr;min-height:0}.pc-ticket-list{max-height:42vh}.pc-ticket-detail{min-height:55vh}.pc-ticket-kpis{grid-template-columns:repeat(3,1fr)}.pc-ticket-info,.pc-context-grid{grid-template-columns:repeat(2,1fr)}.pc-8d-steps{grid-template-columns:repeat(3,1fr)}.pc-form-grid.two,.pc-form-grid.three{grid-template-columns:1fr}.pc-form-grid .span2,.pc-form-grid .span3{grid-column:auto}.pc-log-compose>div{display:grid;grid-template-columns:1fr}.pc-log-compose input[type=file]{max-width:100%}}

.pc-ticket-client-visible{display:flex!important;align-items:center;gap:8px;background:#f8fafc;border:1px solid #e5eaf0;border-radius:9px;padding:9px}.pc-ticket-client-visible input{width:auto!important;margin:0!important}

/* v7 · contexto humano de tickets */
.pc-context-block{margin-top:10px;border:1px solid #e1e8f0;border-radius:12px;background:#fff;overflow:hidden}
.pc-context-block-head{padding:11px 12px;border-bottom:1px solid #e8edf3;background:#f8fafc;display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.pc-context-block-head h4{margin:0;font-size:14px;color:#172033}.pc-context-block-head p{margin:3px 0 0;color:#667085;font-size:11px}
.pc-context-block .pc-context-grid{padding:10px;grid-template-columns:repeat(3,minmax(0,1fr))}
.pc-context-block.pc-context-origin{border-left:4px solid var(--pc-brand,#14866d)}
.pc-context-block.pc-context-action{border-left:4px solid #f59e0b}
.pc-context-block.pc-context-evidence{border-left:4px solid #2563eb}
.pc-context-wide{grid-column:1/-1}.pc-context-wide strong{white-space:pre-wrap;line-height:1.45}
.pc-evidence-gallery{padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.pc-evidence-item{display:block;border:1px solid #dfe7ef;border-radius:10px;overflow:hidden;background:#f8fafc;text-decoration:none;color:#344054}
.pc-evidence-item img{display:block;width:100%;height:150px;object-fit:cover;background:#eef2f6}
.pc-evidence-item span{display:block;padding:7px 9px;font-size:11px;font-weight:700}
@media(max-width:900px){.pc-context-block .pc-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.pc-context-block .pc-context-grid{grid-template-columns:1fr}.pc-context-wide{grid-column:auto}.pc-evidence-gallery{grid-template-columns:1fr 1fr}.pc-evidence-item img{height:130px}}


/* ========== ProControl v8 · usuarios cliente / permisos / equipo D0–D8 ========== */
.pc-page-headline{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.pc-page-headline h1{margin:0 0 4px}.pc-page-headline p{margin:0;color:var(--pc-muted)}
.pc-card{background:var(--pc-panel);border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:16px;box-shadow:var(--pc-shadow-sm)}
.pc-client-users{max-width:1280px;margin:0 auto}.pc-client-users-filter{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:12px;align-items:end}.pc-client-users-filter label{font-weight:700;font-size:12px}.pc-client-users-filter select{display:block;width:100%;margin-top:5px;border:1px solid var(--pc-line-strong);border-radius:9px;padding:9px;background:#fff}
.pc-client-users-note,.pc-ticket-migration-note{margin:12px 0;padding:11px 13px;border:1px solid var(--pc-line);border-radius:10px;background:var(--pc-panel-soft);color:var(--pc-muted)}
.pc-client-users-list{display:grid;gap:9px;margin-top:12px}.pc-cu-user{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:12px;border:1px solid var(--pc-line);border-radius:11px;background:#fff}.pc-cu-user.inactive{opacity:.6}.pc-cu-user-main{display:flex;gap:11px;align-items:center;min-width:0}.pc-cu-avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--pc-brand-soft);color:var(--pc-brand-dark);font-weight:900;flex:0 0 auto}.pc-cu-user-main strong{display:block}.pc-cu-user-main small{display:block;color:var(--pc-muted);overflow-wrap:anywhere}.pc-cu-user-side{display:flex;gap:7px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.pc-cu-flags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px}.pc-cu-flags span,.pc-cu-inline-user{display:inline-flex;border:1px solid var(--pc-line);border-radius:999px;padding:3px 7px;font-size:11px;background:var(--pc-panel-soft)}
.pc-cu-dialog{max-width:940px}.pc-cu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pc-cu-grid label{font-size:12px;font-weight:700}.pc-cu-grid input,.pc-cu-grid select{display:block;width:100%;margin-top:4px;border:1px solid var(--pc-line-strong);border-radius:9px;padding:9px;background:#fff}.pc-cu-fieldset{border:1px solid var(--pc-line);border-radius:11px;padding:11px;margin:12px 0}.pc-cu-fieldset legend{font-weight:800;padding:0 5px}.pc-cu-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.pc-cu-checks label{display:flex;gap:7px;align-items:center;font-weight:600}.pc-cu-checks input{width:auto;margin:0}.pc-cu-inline-list{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.pc-security-page{max-width:780px;margin:0 auto}.pc-security-card{display:grid;gap:12px}.pc-security-card label{font-weight:700}.pc-security-card input{display:block;width:100%;margin-top:5px;border:1px solid var(--pc-line-strong);border-radius:9px;padding:10px}.pc-client-welcome{background:var(--pc-panel);border:1px solid var(--pc-line);border-radius:var(--pc-radius);padding:18px;margin-bottom:16px}.pc-client-welcome h1{margin:3px 0 6px}.pc-client-welcome p{margin:0;color:var(--pc-muted)}.pc-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900;color:var(--pc-brand)}
.pc-participants{border-top:1px solid #edf0f4;margin-top:16px}.pc-participant-list{display:grid;gap:7px}.pc-participant{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:10px;border:1px solid var(--pc-line);border-radius:10px;background:var(--pc-panel-soft)}.pc-participant strong{display:block}.pc-participant small{display:block;color:var(--pc-muted);margin-top:2px}.pc-participant>div:last-child{display:flex;align-items:center;gap:6px}.pc-participant-stages{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}.pc-participant-stages span{font-size:10px;border:1px solid var(--pc-line);border-radius:999px;padding:2px 6px;background:#fff}.pc-participant-remove{width:28px;height:28px;font-size:17px}.pc-participant-form{margin-top:9px;padding:11px;border:1px dashed var(--pc-line-strong);border-radius:11px}.pc-participant-form details{margin:9px 0}.pc-participant-form summary{cursor:pointer;font-weight:800;color:var(--pc-text)}.pc-participant-stage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:8px}.pc-participant-stage-grid label{display:grid;grid-template-columns:34px 1fr;align-items:center;gap:5px;font-size:11px;font-weight:800}.pc-participant-stage-grid select{width:100%;border:1px solid var(--pc-line-strong);border-radius:8px;padding:7px;background:#fff}.pc-log-current-stage{font-size:11px;color:var(--pc-muted);font-weight:700;margin-right:auto}
@media(max-width:760px){.pc-client-users-filter,.pc-cu-grid,.pc-cu-checks,.pc-participant-stage-grid{grid-template-columns:1fr}.pc-cu-user,.pc-page-headline{align-items:stretch;flex-direction:column}.pc-cu-user-side{justify-content:flex-start}.pc-participant{flex-direction:column}}

/* =========================================================
   V8.2 · Fichas estructuradas D0–D8
   ========================================================= */
.pc-8d-steps button.viewing{outline:2px solid rgba(37,99,235,.28);outline-offset:2px}
.pc-8d-steps button.active.viewing{outline-color:rgba(20,134,109,.35)}
.pc-stage-workspace{margin-top:14px;border:1px solid var(--pc-line,#dbe3ec);border-radius:14px;background:#fff;overflow:hidden}
.pc-stage-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 16px;background:#f8fafc;border-bottom:1px solid var(--pc-line,#dbe3ec)}
.pc-stage-head h3{margin:2px 0 0;font-size:19px}.pc-stage-head p{margin:4px 0 0;color:var(--pc-muted,#667085);font-size:12px}
.pc-stage-kicker{font-size:11px;font-weight:900;color:var(--pc-brand,#14866d);letter-spacing:.7px}
.pc-stage-form{padding:14px 16px}.pc-stage-form fieldset{border:0;padding:0;margin:0;min-width:0}.pc-stage-form fieldset:disabled{opacity:.82}
.pc-stage-form label{display:flex;flex-direction:column;gap:5px;font-size:12px;font-weight:750;color:var(--pc-text,#172033)}
.pc-stage-form input,.pc-stage-form select,.pc-stage-form textarea{width:100%;border:1px solid var(--pc-line-strong,#cfd9e5);border-radius:9px;padding:9px 10px;background:#fff;color:var(--pc-text,#172033);font:inherit}
.pc-stage-form textarea{resize:vertical;min-height:68px;line-height:1.4}
.pc-stage-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:11px 16px;border-top:1px solid var(--pc-line,#e4e9ef);background:#fbfcfe;flex-wrap:wrap}
.pc-stage-lock{margin-right:auto;color:var(--pc-muted,#667085);font-size:12px;max-width:720px}
.pc-stage-note{margin:0 16px 14px;padding:10px 12px;border-radius:10px;background:#f5f8ff;border:1px solid #dbe7ff;color:#344054;font-size:12px;line-height:1.45}
.pc-stage-checks{padding:14px 16px 0}.pc-stage-checks>strong{display:block;font-size:12px;margin-bottom:7px}.pc-stage-checks>div{display:flex;gap:7px;flex-wrap:wrap}.pc-stage-checks label{display:flex;flex-direction:row;align-items:center;gap:5px;border:1px solid var(--pc-line,#dbe3ec);padding:7px 9px;border-radius:999px;background:#fff;font-size:11px;font-weight:750}.pc-stage-checks input{width:auto}
.pc-btn-warn{border-color:#f0b429!important;background:#fff8e6!important;color:#8a4b08!important}
.pc-ticket-migration-note{margin:14px 16px;padding:12px;border:1px solid #f0b429;border-radius:10px;background:#fff8e6;color:#7a4a00;font-size:12px}
.pc-stage-workspace .pc-participants{border-top:0;margin:0;padding:0 16px 14px}
@media(max-width:760px){.pc-stage-head{flex-direction:column}.pc-stage-actions{justify-content:stretch}.pc-stage-actions .pc-btn{width:100%}.pc-stage-checks>div{display:grid;grid-template-columns:1fr}.pc-stage-form{padding:12px}.pc-stage-workspace .pc-participants{padding:0 12px 12px}}


/* =========================================================
   V8.3 · Expediente tipo carpeta + matriz de riesgo D0 4x4
   ========================================================= */
.pc-ticket-grid{display:block;min-height:0}
.pc-ticket-picker{background:#fff;border:1px solid var(--pc-line,#d9e2ec);border-radius:14px;overflow:hidden;margin-bottom:12px}
.pc-ticket-picker>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#f8fafc}
.pc-ticket-picker>summary::-webkit-details-marker{display:none}.pc-ticket-picker>summary strong{display:block}.pc-ticket-picker>summary small{display:block;color:var(--pc-muted,#667085);margin-top:2px;font-weight:500}.pc-ticket-picker>summary>span{font-size:18px;transition:transform .18s}.pc-ticket-picker[open]>summary>span{transform:rotate(180deg)}
.pc-ticket-picker .pc-ticket-list{border:0;border-top:1px solid var(--pc-line,#d9e2ec);border-radius:0;padding:10px;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;max-height:360px;overflow:auto}
.pc-ticket-detail{width:100%;min-height:520px;padding:18px}
.pc-folder-tabs{display:flex;gap:4px;border-bottom:1px solid var(--pc-line,#dbe3ec);margin-top:14px;padding:0 2px}.pc-folder-tabs button{border:1px solid transparent;border-bottom:0;background:#f2f4f7;padding:10px 14px;border-radius:10px 10px 0 0;font-weight:800;color:#475467}.pc-folder-tabs button.active{background:#fff;border-color:var(--pc-line,#dbe3ec);color:var(--pc-brand,#14866d);position:relative;top:1px}
.pc-folder-sheet{display:none;padding-top:12px}.pc-folder-sheet.active{display:block}
.pc-8d-progress{display:grid;grid-template-columns:repeat(9,minmax(72px,1fr));gap:5px;margin:4px 0 12px}.pc-8d-progress span{border:1px solid var(--pc-line,#dbe3ec);border-radius:9px;padding:7px 6px;background:#fff;color:#667085;font-size:9px;text-align:center;min-width:0}.pc-8d-progress b{display:block;font-size:12px;color:#344054}.pc-8d-progress span.done{background:#eef8f5;border-color:#b7dfd3}.pc-8d-progress span.active{background:var(--pc-brand,#14866d);border-color:var(--pc-brand,#14866d);color:#fff}.pc-8d-progress span.active b{color:#fff}
.pc-stage-stack{display:grid;gap:7px}.pc-stage-accordion{border:1px solid var(--pc-line,#dbe3ec);border-radius:12px;background:#fff;overflow:hidden}.pc-stage-accordion-head{width:100%;border:0;background:#fff;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;text-align:left;padding:11px 12px;color:var(--pc-text,#172033)}.pc-stage-accordion-head:hover:not(:disabled){background:#f8fafc}.pc-stage-accordion-head:disabled{opacity:.55;cursor:default}.pc-stage-accordion-head.open{background:#f8fafc;border-bottom:1px solid var(--pc-line,#dbe3ec)}.pc-stage-accordion-head.done .pc-stage-index{background:#e8f8ef;color:#067647}.pc-stage-accordion-head.active .pc-stage-index{background:var(--pc-brand,#14866d);color:#fff}.pc-stage-index{width:34px;height:30px;border-radius:8px;background:#eef2f6;display:grid;place-items:center;font-weight:900}.pc-stage-accordion-head strong{display:block;font-size:14px}.pc-stage-accordion-head small{display:block;color:#667085;margin-top:2px;font-size:10px}.pc-stage-accordion-body{padding-top:2px}
.pc-stage-log-inline{margin:0 16px 12px;border:1px solid #e3e8ef;border-radius:10px;background:#fbfcfe}.pc-stage-log-inline>summary{cursor:pointer;padding:9px 11px;font-weight:800;font-size:12px}.pc-stage-log-inline .pc-log-list{padding:0 10px 8px}.pc-stage-log-inline .pc-log-compose{margin:0 10px 10px}
.pc-doc-stack{display:grid;gap:8px}.pc-doc-accordion{border:1px solid var(--pc-line,#dbe3ec);border-radius:12px;background:#fff;overflow:hidden}.pc-doc-accordion>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;background:#f8fafc}.pc-doc-accordion>summary::-webkit-details-marker{display:none}.pc-doc-accordion>summary strong{display:block}.pc-doc-accordion>summary small{display:block;color:#667085;margin-top:2px}.pc-doc-accordion>summary>span{transition:transform .18s}.pc-doc-accordion[open]>summary>span{transform:rotate(180deg)}.pc-doc-content{padding:10px}.pc-doc-content>.pc-context-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.pc-risk-form{display:grid;gap:10px;padding:0 16px 14px}.pc-risk-group{border:1px solid var(--pc-line,#dbe3ec);border-radius:11px;padding:12px}.pc-risk-group legend{font-weight:900;padding:0 6px}.pc-risk-help{margin:8px 0 0;color:#667085;font-size:11px;line-height:1.4}
.pc-risk-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px;border:1px solid var(--pc-line,#dbe3ec);border-radius:11px;background:#f8fafc}.pc-risk-result>div{background:#fff;border:1px solid #e6ebf1;border-radius:9px;padding:9px}.pc-risk-result span{display:block;font-size:10px;text-transform:uppercase;color:#667085}.pc-risk-result strong{display:block;margin-top:3px;font-size:15px}.pc-risk-result small{grid-column:1/-1;color:#475467;line-height:1.4}.pc-risk-result.risk-insignificante{border-left:5px solid #6aa84f}.pc-risk-result.risk-menor{border-left:5px solid #e5b100}.pc-risk-result.risk-mayor{border-left:5px solid #e67e22}.pc-risk-result.risk-critico{border-left:5px solid #c62828}
@media(max-width:1050px){.pc-8d-progress{grid-template-columns:repeat(5,1fr)}.pc-doc-content>.pc-context-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.pc-ticket-picker .pc-ticket-list{grid-template-columns:1fr;max-height:52vh}.pc-ticket-detail{padding:12px}.pc-folder-tabs{overflow:auto}.pc-folder-tabs button{white-space:nowrap}.pc-8d-progress{grid-template-columns:repeat(3,1fr)}.pc-stage-accordion-head{grid-template-columns:38px minmax(0,1fr)}.pc-stage-accordion-head>.pc-ticket-badge{grid-column:2;justify-self:start}.pc-risk-form{padding:0 12px 12px}.pc-risk-result{grid-template-columns:repeat(2,1fr)}.pc-doc-content>.pc-context-grid{grid-template-columns:1fr}}

/* V8.4 · participación por etapa, metodologías y verificación */
.pc-field-help{font-weight:500;color:var(--pc-muted,#667085);font-size:10px;margin-left:4px}
.pc-contribution-section{margin:0 16px 14px;display:grid;gap:10px}
.pc-contribution-form{border:1px solid #d8e3f3;border-radius:12px;padding:12px;background:#f8fbff;display:grid;gap:10px}
.pc-contribution-form>label{font-size:12px;font-weight:800;color:var(--pc-text,#172033)}
.pc-contribution-form select,.pc-contribution-form input,.pc-contribution-form textarea{display:block;width:100%;margin-top:5px;border:1px solid var(--pc-line-strong,#cfd9e5);border-radius:9px;padding:9px;background:#fff;font:inherit}
.pc-contribution-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.pc-contribution-head strong{display:block;font-size:14px}.pc-contribution-head small{display:block;margin-top:2px;color:var(--pc-muted,#667085)}.pc-contribution-head>div:last-child{display:flex;gap:5px;flex-wrap:wrap}
.pc-contribution-list{border:1px solid var(--pc-line,#dbe3ec);border-radius:11px;background:#fff}.pc-contribution-list>summary{cursor:pointer;padding:10px 12px;font-weight:900;font-size:12px}.pc-contribution-list>div{padding:0 10px 10px;display:grid;gap:8px}
.pc-contribution-card{border:1px solid #e4e9ef;border-radius:10px;padding:10px;background:#fbfcfe}.pc-contribution-card header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.pc-contribution-card header strong{display:block}.pc-contribution-card header small{display:block;color:#667085;margin-top:2px}.pc-contribution-card header>div:last-child{display:flex;gap:5px;flex-wrap:wrap}.pc-contribution-card ul{margin:8px 0 0;padding-left:18px}.pc-contribution-card li{margin:4px 0;line-height:1.35}.pc-contribution-card p{margin:8px 0 0;padding-top:8px;border-top:1px solid #edf0f4;line-height:1.4}
.pc-stage-role-note{display:block;padding:10px 12px;border:1px solid #e4e9ef;border-radius:10px;background:#f8fafc}
.pc-readonly-role{border:1px solid #dbe3ec;border-radius:10px;padding:9px 11px;background:#f8fafc;max-width:300px}.pc-readonly-role strong,.pc-readonly-role small{display:block}.pc-readonly-role small{color:#667085;margin-top:2px}
@media(max-width:760px){.pc-contribution-section{margin:0 12px 12px}.pc-contribution-head,.pc-contribution-card header{flex-direction:column}.pc-readonly-role{max-width:none;width:100%}}

/* =========================================================
   V8.5 · liderazgo único, presets D1, plazos y verificación
   ========================================================= */
.pc-method-help{border:1px solid #d8e3f3;border-radius:11px;background:#fff;overflow:hidden}
.pc-method-help>summary{cursor:pointer;padding:10px 12px;font-weight:900;font-size:12px;background:#f5f8ff}
.pc-method-help-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px}
.pc-method-help-grid article{border:1px solid #e4e9ef;border-radius:10px;padding:10px;background:#fbfcfe}
.pc-method-help-grid strong{display:block;font-size:13px}.pc-method-help-grid small{display:block;margin-top:3px;color:#667085;line-height:1.35}
.pc-method-help-grid p{margin:8px 0 0;font-size:11px;line-height:1.45;color:#344054}
.pc-method-help>.pc-risk-help{padding:0 10px 10px;margin:0}
.pc-deadline{margin:0 16px 12px;padding:10px 12px;border:1px solid #f5d38a;border-radius:10px;background:#fff9e8;display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:12px}
.pc-deadline strong{color:#8a4b08}.pc-deadline span{color:#6b4b1f;text-align:right}.pc-deadline.expired{border-color:#f2b8b5;background:#fff1f0}.pc-deadline.expired strong,.pc-deadline.expired span{color:#b42318}
.pc-leader-consolidation{margin:0 16px 14px;border:1px solid #dbe3ec;border-radius:11px;background:#fbfcfe;overflow:hidden}
.pc-leader-consolidation>summary{cursor:pointer;padding:10px 12px;font-weight:900;font-size:12px;color:#475467}
.pc-leader-consolidation .pc-stage-form{border-top:1px solid #e4e9ef}
.pc-participant-form>.pc-stage-note{margin:0 0 12px}
@media(max-width:900px){.pc-method-help-grid{grid-template-columns:1fr}.pc-deadline{align-items:flex-start;flex-direction:column}.pc-deadline span{text-align:left}}

/* V8.7.6 · acciones comerciales */
.pc-commercial-decision-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:10px}


/* V8.7.8 · Bandeja limpia + D6 automático */
.pc-ticket-kind{display:inline-flex;align-items:center;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;color:#475467}
.pc-ticket-card-context{display:flex;gap:6px;flex-wrap:wrap;margin:7px 0;color:#667085;font-size:11px}.pc-ticket-card-context span{background:#f8fafc;border:1px solid #eaecf0;border-radius:999px;padding:3px 7px}
.pc-ticket-badge.work-leader{background:#eaf2ff;color:#175cd3}.pc-ticket-badge.work-action{background:#fff2cc;color:#8a5a00}.pc-ticket-badge.work-follow{background:#f2f4f7;color:#667085}
.pc-d6-auto{margin:0 16px 14px;border:1px solid #dbe3ec;border-radius:12px;background:#fbfcfe;overflow:hidden}.pc-d6-auto.done{border-left:5px solid #12b76a}.pc-d6-auto.pending{border-left:5px solid #f79009}.pc-d6-auto>header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:12px 14px;border-bottom:1px solid #eaecf0;background:#fff}.pc-d6-auto>header span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:#667085;font-weight:800}.pc-d6-auto>header strong{display:block;margin-top:3px;font-size:14px}.pc-d6-auto-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;padding:10px 12px}.pc-d6-auto-grid>div{border:1px solid #e5eaf0;border-radius:9px;background:#fff;padding:9px}.pc-d6-auto-grid span,.pc-d6-evidence span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.3px;color:#667085}.pc-d6-auto-grid strong{display:block;margin-top:3px;font-size:12px;overflow-wrap:anywhere}.pc-d6-evidence{margin:0 12px 12px;border:1px solid #b7dfd3;border-radius:10px;background:#eef8f5;padding:10px 12px}.pc-d6-evidence p{margin:5px 0 0;line-height:1.45}.pc-d6-wait{margin:0 12px 12px;border:1px dashed #f5c26b;border-radius:10px;background:#fff9e8;padding:10px 12px;color:#6b4b1f;font-size:12px;line-height:1.45}.pc-stage-note-strong{border-left:4px solid var(--pc-brand,#14866d)}
@media(max-width:760px){.pc-d6-auto{margin:0 12px 12px}.pc-d6-auto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pc-d6-auto>header{flex-direction:column}}

/* ==========================================================
   V8.10 · Acceso único y avisos RBAC
   ========================================================== */
body.pc-page-index { background:#eef3f7; }
body.pc-page-index .pc-topbar,
body.pc-page-index .pc-footer { display:none; }
body.pc-page-index .pc-main { padding:0; }
body.pc-page-index .pc-workspace { max-width:none; }
.pc-login-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns:minmax(360px,.95fr) minmax(420px,1.05fr);
  background:#f7fafc;
}
.pc-login-hero{
  min-height:100vh;
  padding:clamp(42px,7vw,92px);
  display:flex;
  flex-direction:column;
  justify-content:center;
  position:relative;
  overflow:hidden;
  color:#ecfeff;
  background:
    radial-gradient(circle at 18% 18%,rgba(45,212,191,.19),transparent 28%),
    radial-gradient(circle at 82% 72%,rgba(59,130,246,.14),transparent 30%),
    linear-gradient(145deg,#102a43 0%,#173f5f 52%,#0f5d5a 115%);
}
.pc-login-hero::after{
  content:"";
  position:absolute;
  inset:auto -120px -150px auto;
  width:420px;height:420px;border:1px solid rgba(255,255,255,.09);border-radius:50%;
  box-shadow:0 0 0 55px rgba(255,255,255,.025),0 0 0 110px rgba(255,255,255,.018);
}
.pc-login-hero-mark{width:76px;height:76px;display:grid;place-items:center;color:#99f6e4;margin-bottom:28px}
.pc-login-hero-mark svg{width:76px;height:76px}
.pc-login-kicker{font-size:12px;font-weight:900;letter-spacing:.22em;color:#99f6e4;margin-bottom:14px}
.pc-login-hero h1{max-width:720px;margin:0 0 18px;color:#fff;font-size:clamp(2.1rem,4.3vw,4.6rem);line-height:1.02;letter-spacing:-.045em}
.pc-login-hero p{max-width:620px;margin:0;color:#c9d9e7;font-size:clamp(1rem,1.35vw,1.2rem);line-height:1.65}
.pc-login-feature-list{display:flex;flex-wrap:wrap;gap:9px;margin-top:34px;max-width:650px}
.pc-login-feature-list span{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#e6f4f2;border-radius:999px;padding:7px 11px;font-size:12px;font-weight:700}
.pc-login-panel{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:36px 22px;background:linear-gradient(180deg,#fbfdff,#f1f5f9)}
.pc-login-card{width:min(470px,100%);background:#fff;border:1px solid #dbe4ec;border-radius:22px;padding:clamp(24px,4vw,38px);box-shadow:0 24px 70px rgba(15,23,42,.11)}
.pc-login-brand-mobile{display:none;align-items:center;gap:10px;margin-bottom:26px}
.pc-login-brand-mobile strong,.pc-login-brand-mobile small{display:block}.pc-login-brand-mobile small{color:var(--pc-muted);font-size:11px}
.pc-login-mini-mark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--pc-side);color:#fff;font-weight:900;font-size:12px}
.pc-login-eyebrow{display:block;color:var(--pc-brand);font-size:11px;font-weight:900;letter-spacing:.14em;margin-bottom:8px}
.pc-login-card h2{font-size:clamp(1.65rem,3vw,2.15rem);letter-spacing:-.025em;margin-bottom:7px}
.pc-login-card>p{color:var(--pc-muted);margin-bottom:22px;min-height:40px}
.pc-login-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:5px;background:#eef3f6;border:1px solid #dde5ec;border-radius:12px;margin-bottom:24px}
.pc-login-switch button{border:0;background:transparent;color:#5b6878;border-radius:8px;min-height:40px;padding:8px 10px;font-weight:750}
.pc-login-switch button[aria-selected="true"]{background:#fff;color:var(--pc-text);box-shadow:0 1px 4px rgba(15,23,42,.09)}
.pc-login-form{display:grid;gap:8px}
.pc-login-form label{font-size:12px;font-weight:800;color:#344054;margin-top:5px}
.pc-login-form input{width:100%;min-height:47px;border:1px solid #cbd5df;border-radius:10px;background:#fff;padding:11px 13px;color:var(--pc-text);outline:none;transition:border-color .15s,box-shadow .15s}
.pc-login-form input:focus{border-color:var(--pc-brand);box-shadow:0 0 0 3px rgba(15,118,110,.12)}
.pc-password-field{position:relative}.pc-password-field input{padding-right:76px}.pc-password-field button{position:absolute;right:7px;top:7px;bottom:7px;border:0;background:#f3f6f8;color:#344054;border-radius:8px;padding:0 10px;font-size:11px;font-weight:800}
.pc-login-submit{width:100%;min-height:48px;margin-top:10px;border:1px solid var(--pc-brand);border-radius:10px;background:var(--pc-brand);color:#fff;font-weight:850;box-shadow:0 5px 14px rgba(15,118,110,.18)}
.pc-login-submit:hover{background:var(--pc-brand-dark)}.pc-login-submit:disabled{opacity:.65;cursor:wait}
.pc-login-message{min-height:21px;font-size:12px;margin-top:2px;color:var(--pc-muted)}.pc-login-message.error{color:var(--pc-danger);font-weight:700}.pc-login-message.ok{color:var(--pc-success);font-weight:700}.pc-login-message.busy{color:var(--pc-info)}
.pc-login-note{margin-top:20px;padding:13px 14px;border-radius:11px;border:1px solid #dbe7e4;background:#f5fbfa;display:grid;gap:3px}.pc-login-note strong{font-size:12px;color:#245c57}.pc-login-note span{font-size:11px;color:#60716f;line-height:1.5}
.pc-login-footer{margin-top:18px;color:#8693a3;font-size:11px}
.pc-access-denied-banner{margin:14px 20px 0;padding:11px 13px;border:1px solid #fecaca;border-radius:10px;background:#fff4f3;color:#9f1d16;font-size:12px;box-shadow:var(--pc-shadow-sm)}
.pc-access-denied-banner strong{margin-right:4px}
@media(max-width:900px){
  .pc-login-shell{grid-template-columns:1fr}.pc-login-hero{display:none}.pc-login-panel{min-height:100vh;padding:28px 16px}.pc-login-brand-mobile{display:flex}.pc-login-card{border-radius:18px}.pc-login-card>p{min-height:0}.pc-access-denied-banner{margin:10px 12px 0}
}
@media(max-width:460px){.pc-login-switch{grid-template-columns:1fr}.pc-login-card{padding:22px 18px}.pc-login-panel{padding:16px 12px}}

/* V8.10.4 A3 · hallazgos unificados / ruta simple */
.pc-ticket-head-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pc-stage-accordion-head.skipped{opacity:.7;background:#f8fafc}.pc-stage-accordion-head.skipped .pc-stage-index{font-size:16px}
.pc-integration-box{display:grid;gap:10px;margin:0 14px 14px;padding:12px;border:1px solid var(--pc-line,#dbe3ec);border-radius:12px;background:#fff}
.pc-linked-findings{display:grid;gap:6px}.pc-linked-findings>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:8px;padding:8px 10px;border:1px solid var(--pc-line,#dbe3ec);border-radius:9px}.pc-linked-findings strong{font-size:11px}.pc-linked-findings span{font-size:12px}
.pc-linked-doc{padding:10px 0;border-bottom:1px solid var(--pc-line,#dbe3ec)}.pc-linked-doc:last-child{border-bottom:0}.pc-linked-doc h4{margin:0 0 8px}
@media(max-width:760px){.pc-ticket-head-actions{width:100%;justify-content:stretch}.pc-ticket-head-actions .pc-btn{flex:1}.pc-integration-box{margin:0 8px 10px}.pc-linked-findings>div{grid-template-columns:1fr}}

/* =========================================================
   V8.10.4 A4 · Bandeja Kanban + captura de hallazgo multizona
   ========================================================= */
.pc-ticket-toolbar{grid-template-columns:minmax(260px,1fr) 180px 190px auto auto;align-items:stretch}
.pc-ticket-view-switch{display:inline-flex;border:1px solid var(--pc-line,#d9e2ec);border-radius:10px;overflow:hidden;background:#fff}
.pc-ticket-view-switch .pc-btn{border:0;border-radius:0;min-width:72px}.pc-ticket-view-switch .pc-btn.active{background:#eaf2ff;color:#175cd3}
.pc-ticket-picker .pc-ticket-list.is-kanban,.pc-ticket-picker .pc-ticket-list.is-list{display:block;padding:10px;max-height:520px;overflow:auto}
.pc-kanban-board{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:10px;align-items:start}
.pc-kanban-lane{border:1px solid #dfe6ee;border-radius:12px;background:#f8fafc;overflow:hidden;min-width:0}
.pc-kanban-lane>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:8px;align-items:flex-start;padding:10px 11px;background:#f2f5f8;border-bottom:1px solid #e3e8ef}
.pc-kanban-lane>summary::-webkit-details-marker{display:none}.pc-kanban-lane>summary strong{display:block;font-size:12px}.pc-kanban-lane>summary small{display:block;margin-top:2px;color:#667085;font-size:9px;line-height:1.3}.pc-kanban-count{display:grid;place-items:center;min-width:25px;height:25px;padding:0 7px;border-radius:999px;background:#fff;border:1px solid #dbe3ec;font-weight:900;font-size:11px}
.pc-kanban-cards{display:grid;gap:7px;padding:7px}.pc-kanban-empty{padding:18px 8px;text-align:center;color:#98a2b3;font-size:11px}
.pc-ticket-list-mode{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:8px}
.pc-ticket-card{position:relative;background:#fff!important;border:1px solid #dfe6ee!important;border-left:4px solid #98a2b3!important;border-radius:10px!important;padding:10px!important;box-shadow:none!important;overflow:hidden}
.pc-ticket-card:hover,.pc-ticket-card.selected{border-color:#84a8d8!important;box-shadow:0 0 0 2px rgba(23,92,211,.08)!important}.pc-ticket-card.unread:after{content:"";position:absolute;top:9px;right:9px;width:7px;height:7px;border-radius:50%;background:#175cd3}
.pc-ticket-card.stage-d0{border-left-color:#667085!important}.pc-ticket-card.stage-d1{border-left-color:#6941c6!important}.pc-ticket-card.stage-d2,.pc-ticket-card.stage-d3,.pc-ticket-card.stage-d4{border-left-color:#b54708!important}.pc-ticket-card.stage-d5,.pc-ticket-card.stage-d6,.pc-ticket-card.stage-d7{border-left-color:#175cd3!important}.pc-ticket-card.stage-d8{border-left-color:#067647!important}.pc-ticket-card.stage-general{border-left-color:#98a2b3!important}
.pc-ticket-card-top{padding-right:10px}.pc-ticket-kind{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.35px;color:#667085}.pc-ticket-card-title{font-size:13px;font-weight:900;line-height:1.3;margin:7px 0 8px;color:#172033;min-height:34px}.pc-ticket-card-stage{display:flex;align-items:center;gap:6px;justify-content:space-between;margin-bottom:7px}.pc-ticket-card-stage>b{font-size:10px;color:#344054}.pc-ticket-card-context{display:flex;justify-content:space-between;gap:7px;padding:7px 0;border-top:1px solid #edf0f4;border-bottom:1px solid #edf0f4;color:#667085;font-size:9px}.pc-ticket-card-context span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-ticket-card-context span:first-child{max-width:70%}
.pc-ticket-card-foot{margin-top:7px;gap:5px!important}.pc-ticket-card-foot time{font-size:9px!important}.pc-due{display:inline-flex;border-radius:999px;padding:2px 6px;font-size:9px;font-weight:900}.pc-due.overdue{background:#feeceb;color:#b42318}.pc-due.due-today,.pc-due.due-soon{background:#fff1e7;color:#b54708}.pc-due.due-ok{background:#eef2f6;color:#475467}
.pc-zone-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:4px;padding:8px;border:1px solid #cfd9e5;border-radius:9px;background:#fff;max-height:180px;overflow:auto}.pc-zone-checks label{display:flex!important;align-items:center;gap:7px;padding:7px 8px;border:1px solid #e5eaf0;border-radius:8px;background:#f8fafc;font-weight:700!important;cursor:pointer}.pc-zone-checks input{width:auto!important;margin:0!important}.pc-zone-checks label:has(input:checked){border-color:#84a8d8;background:#eef5ff}.pc-form-label{display:block;font-size:12px;font-weight:700;color:#344054}
@media(max-width:1100px){.pc-ticket-toolbar{grid-template-columns:minmax(220px,1fr) 170px 180px auto}.pc-ticket-view-switch{grid-column:auto}.pc-ticket-toolbar>#btnRefrescar{grid-column:auto}.pc-kanban-board{grid-template-columns:repeat(2,minmax(240px,1fr))}}
@media(max-width:760px){.pc-ticket-toolbar{grid-template-columns:1fr 1fr}.pc-ticket-toolbar input{grid-column:1/-1}.pc-ticket-view-switch{grid-column:1/-1}.pc-ticket-view-switch .pc-btn{flex:1}.pc-ticket-toolbar>#btnRefrescar{grid-column:1/-1}.pc-ticket-picker .pc-ticket-list.is-kanban,.pc-ticket-picker .pc-ticket-list.is-list{max-height:58vh}.pc-kanban-board{grid-template-columns:1fr}.pc-kanban-lane:not([open])>summary{border-bottom:0}.pc-ticket-list-mode{grid-template-columns:1fr}.pc-zone-checks{grid-template-columns:1fr}.pc-ticket-card-title{min-height:0}}

/* ---------- ProControl V9 · portal / tablas ---------- */
.pc-muted{color:var(--pc-muted)}
.pc-v9-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.pc-v9-head h1{margin-bottom:6px}.pc-v9-head p{margin-bottom:0;max-width:760px}
.pc-v9-filters{display:flex;align-items:end;gap:8px;flex-wrap:wrap}.pc-v9-filters label{font-size:12px;color:var(--pc-muted);font-weight:700}.pc-v9-filters input,.pc-v9-filters select{display:block;margin-top:4px;border:1px solid var(--pc-line);border-radius:9px;padding:8px 10px;background:#fff;color:var(--pc-text)}
.pc-v9-table-wrap{width:100%;overflow:auto}.pc-v9-table{width:100%;border-collapse:collapse;min-width:680px}.pc-v9-table th,.pc-v9-table td{border-bottom:1px solid var(--pc-line);padding:10px 9px;text-align:left;vertical-align:top}.pc-v9-table th{font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:var(--pc-muted);background:var(--pc-panel-soft)}.pc-v9-table tbody tr:hover{background:#fafcfe}
.pc-v9-status{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;background:#f2f4f7;color:#475467}.pc-v9-ok,.pc-v9-finalizado{background:#ecfdf3;color:#067647}.pc-v9-bad,.pc-v9-cancelado{background:#fef3f2;color:#b42318}.pc-v9-warn,.pc-v9-proximo{background:#fffaeb;color:#b54708}.pc-v9-en_ruta{background:#eff8ff;color:#175cd3}.pc-v9-en_sitio{background:#f4f3ff;color:#5925dc}.pc-v9-programado,.pc-v9-muted{background:#f2f4f7;color:#475467}
.pc-v9-kpi{min-width:190px;border:1px solid var(--pc-line);border-radius:12px;padding:12px 15px;background:var(--pc-panel-soft)}.pc-v9-kpi span{display:block;font-size:11px;color:var(--pc-muted);text-transform:uppercase}.pc-v9-kpi strong{display:block;font-size:23px;margin-top:4px}
.pc-v9-dialog{width:min(920px,94vw);max-height:86vh;border:0;border-radius:14px;padding:20px;box-shadow:0 20px 80px rgba(15,23,42,.25)}.pc-v9-dialog::backdrop{background:rgba(15,23,42,.45)}.pc-v9-close{float:right;border:0;background:#f2f4f7;width:34px;height:34px;border-radius:50%;font-size:22px}
.pc-v9-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0 20px}.pc-v9-detail-grid>div{border:1px solid var(--pc-line);border-radius:10px;padding:10px}.pc-v9-detail-grid span{display:block;color:var(--pc-muted);font-size:11px}.pc-v9-detail-grid strong{display:block;margin-top:4px;word-break:break-word}.pc-v9-small{font-size:11px;font-family:var(--pc-mono)}
.pc-v9-two{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:14px;align-items:start}.pc-v9-contract-item{width:100%;display:block;text-align:left;border:1px solid var(--pc-line);background:#fff;border-radius:10px;padding:11px;margin-bottom:8px;color:var(--pc-text)}.pc-v9-contract-item:hover,.pc-v9-contract-item.active{border-color:var(--pc-brand);background:var(--pc-brand-soft)}.pc-v9-contract-item span,.pc-v9-contract-item small{display:block;color:var(--pc-muted);margin-top:3px}.pc-v9-note{background:#f8fafc;border:1px solid var(--pc-line);border-radius:10px;padding:11px;margin:0 0 18px}.pc-v9-log article{position:relative;border-left:3px solid var(--pc-line);padding:0 0 13px 13px;margin-left:5px}.pc-v9-log article strong{display:inline-block;margin-right:8px}.pc-v9-log article span{font-size:11px;color:var(--pc-muted)}.pc-v9-log article p{margin:4px 0 0}
@media(max-width:760px){.pc-v9-head{align-items:stretch;flex-direction:column}.pc-v9-kpi{min-width:0}.pc-v9-two{grid-template-columns:1fr}.pc-v9-detail-grid{grid-template-columns:1fr 1fr}.pc-v9-filters>*{flex:1 1 130px}.pc-v9-filters .pc-btn{flex:1 1 100%}}
.pc-v9-client-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.pc-v9-client-kpis>a{text-decoration:none;color:var(--pc-text)}.pc-v9-client-kpis span,.pc-v9-client-kpis small{display:block;color:var(--pc-muted)}.pc-v9-client-kpis strong{display:block;font-size:26px;margin:5px 0}.pc-v9-client-kpis>a:hover{border-color:var(--pc-brand)}@media(max-width:700px){.pc-v9-client-kpis{grid-template-columns:1fr}}
