/* Copia exacta del CSS de la Estimación de patentamientos de TCG (const css de
   pantallas/09-tableros/2070-PatentamientosDashboard.js, main, commit 18bcd4f), que la pantalla pone en un <style> después de los
   estilos comunes. No se edita a mano: si cambia en TCG, se vuelve a copiar. */

  .pat-root{ background:var(--pat-bg); color:var(--pat-text); font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; border-radius:16px; padding:26px 24px 36px; }
  .pat-root *{ box-sizing:border-box; }
  .pat-num{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; }
  /* «.pat-header», «.pat-brand» y «.pat-mark» quedaron sin uso: el encabezado
     de esta pantalla ahora es el mismo del resto del sistema. Se dejan las
     reglas de los BOTONES —«.pat-btn», «.pat-seg», «.pat-filestatus»—, que
     siguen viviendo adentro del encabezado. */
  .pat-brand{ display:flex; align-items:center; gap:13px; }
  .pat-mark{ width:38px; height:38px; border-radius:9px; background:linear-gradient(135deg, var(--pat-amber), #c97e00); display:flex; align-items:center; justify-content:center; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-weight:700; font-size:16px; color:var(--bg, #131824); flex-shrink:0; }
  .pat-brand h1{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:18px; font-weight:600; }
  .pat-brand p{ font-size:11.5px; color:var(--pat-text); margin-top:2px; }
  .pat-actions{ display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
  .pat-filestatus{ font-size:11px; color:var(--pat-text); font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; }
  .pat-btn{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-weight:600; font-size:12.5px; padding:9px 16px; border-radius:9px; border:1px solid var(--pat-line); background:var(--pat-panel2); color:var(--pat-text); cursor:pointer; display:inline-flex; align-items:center; gap:7px; transition:.15s; }
  .pat-btn:hover{ background:var(--pat-panel); border-color:var(--pat-faint); }
  .pat-btn.primary{ background:var(--pat-amber); color:var(--pat-ink); border-color:var(--pat-amber); font-weight:700; }
  .pat-fileinput{ display:none; }

  .pat-section-title{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:1px; color:var(--pat-text); margin:30px 0 12px; display:flex; align-items:center; gap:10px; }
  .pat-section-title::after{ content:''; flex:1; height:1px; background:var(--pat-line); }

  .pat-controlrow{ display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:14px; }
  .pat-seg{ display:flex; flex-wrap:wrap; gap:6px; background:var(--pat-panel2); padding:4px; border-radius:10px; border:1px solid var(--pat-line); }
  .pat-seg button{ border:none; background:transparent; color:var(--pat-text); padding:7px 13px; border-radius:7px; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:12px; font-weight:600; cursor:pointer; transition:.15s; }
  .pat-seg button.active{ background:var(--pat-panel3, var(--pat-panel)); color:var(--pat-text); }
  .pat-seg button.chvt.active{ color:var(--pat-text); }
  .pat-seg button.chap.active{ color:var(--pat-text); }
  .pat-seg button.chford.active{ color:var(--pat-text); }
  .pat-seg button.combo{ border-left:1px solid var(--pat-line); margin-left:4px; padding-left:14px; }
  .pat-seg button.combo.active{ color:var(--pat-text); }
  .pat-checklabel{ display:flex; align-items:center; gap:8px; font-size:12.5px; color:var(--pat-text); cursor:pointer; user-select:none; }
  .pat-checklabel input{ width:15px; height:15px; cursor:pointer; accent-color:var(--pat-amber); }
  .pat-select{ background:var(--pat-panel2); border:1px solid var(--pat-line); color:var(--pat-text); padding:9px 13px; border-radius:9px; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:12.5px; outline:none; }

  .pat-route-hint{ font-size:11.5px; color:var(--pat-text); margin-bottom:4px; }
  .pat-route{ display:flex; align-items:center; gap:0; overflow-x:auto; padding:16px 4px 20px; position:relative; scrollbar-width:thin; scrollbar-color:var(--pat-amber) var(--pat-panel2); }
  .pat-route::-webkit-scrollbar{ height:8px; }
  .pat-route::-webkit-scrollbar-track{ background:var(--pat-panel2); border-radius:8px; }
  .pat-route::-webkit-scrollbar-thumb{ background:var(--pat-amber); border-radius:8px; }
  .pat-route::-webkit-scrollbar-thumb:hover{ background:var(--pat-teal); }
  .pat-route-stop{ flex-shrink:0; display:flex; flex-direction:column; align-items:center; gap:8px; padding:0 13px; cursor:pointer; }
  .pat-route-dot{ width:13px; height:13px; border-radius:50%; background:var(--pat-panel2); border:2px solid var(--pat-line); transition:.15s; }
  .pat-route-stop.active .pat-route-dot{ background:var(--pat-amber); border-color:var(--pat-amber); box-shadow:0 0 0 4px rgba(242,169,0,0.18); }
  .pat-route-label{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:11px; color:var(--pat-text); white-space:nowrap; }
  .pat-route-stop.active .pat-route-label{ color:var(--pat-text); font-weight:600; }

  .pat-kpi-grid{ display:flex; flex-direction:column; gap:16px; margin-bottom:6px; }
  .pat-kpi-row{ display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; }
  .pat-kpi-row--split{ grid-template-columns:1fr 2fr; }
  @media(max-width:700px){
    .pat-kpi-row{ grid-template-columns:1fr; }
    .pat-kpi-row--split{ grid-template-columns:1fr; }
  }
  .pat-kpi-card{ background:var(--pat-panel); border:1px solid var(--pat-line); border-radius:14px; padding:18px 20px; }
  .pat-kpi-gauge{ display:flex; align-items:center; gap:16px; }
  .pat-kpi-label{ font-size:10.5px; color:var(--pat-text); text-transform:uppercase; letter-spacing:.7px; font-weight:600; }
  .pat-kpi-value{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:28px; font-weight:600; margin-top:6px; }
  .pat-kpi-sub{ font-size:11.5px; color:var(--pat-text); margin-top:4px; }
  .pat-pill{ display:inline-block; padding:2px 9px; border-radius:20px; font-size:10.5px; font-weight:600; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; }
  .pat-pill--debajo{ margin-top:3px; }
  .pat-td-ccf{ white-space:normal !important; vertical-align:top; min-width:110px; }
  .pat-td-ccf .pat-cell-input{ display:block; }
  .pat-pill.ok{ background:rgba(62,194,129,.15); color:var(--pat-text); }
  .pat-pill.warn{ background:rgba(242,169,0,.15); color:var(--pat-text); }
  .pat-pill.bad{ background:rgba(229,72,77,.15); color:var(--pat-danger); }

  .pat-panel{ background:var(--pat-panel); border:1px solid var(--pat-line); border-radius:14px; padding:18px 20px 12px; margin-bottom:16px; min-width:0; }
  .pat-panel h3{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:13.5px; font-weight:600; margin-bottom:3px; }
  .pat-panel .pat-hint{ font-size:11px; color:var(--pat-text); margin-bottom:10px; display:block; }
  .pat-grid2{ display:grid; grid-template-columns:1.6fr 1fr; gap:16px; }
  @media(max-width:1000px){ .pat-grid2{ grid-template-columns:1fr; } }
  .pat-grid2b{ display:grid; grid-template-columns:1.4fr 1fr; gap:16px; }
  @media(max-width:900px){ .pat-grid2b{ grid-template-columns:1fr; } }

  .pat-zpr-split{ display:flex; height:32px; border-radius:8px; overflow:hidden; margin:10px 0 16px; }
  .pat-zpr-seg{ display:flex; align-items:center; justify-content:center; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-weight:700; font-size:12.5px; color:var(--bg, #131824); }
  .pat-zpr-seg.zpr{ background:var(--pat-amber); }
  .pat-zpr-seg.extra{ background:var(--pat-panel2); color:var(--pat-text); }
  .pat-zpr-row{ display:flex; justify-content:space-between; align-items:center; padding:9px 0; border-bottom:1px solid var(--pat-rowborder); font-size:12.5px; }
  .pat-zpr-row:last-child{ border-bottom:none; }
  .pat-zpr-dot{ width:10px; height:10px; border-radius:3px; display:inline-block; margin-right:8px; }
  .pat-zpr-dot.zpr{ background:var(--pat-amber); }
  .pat-zpr-dot.extra{ background:var(--pat-panel2); border:1px solid var(--pat-line); }

  .pat-table-wrap{ background:var(--pat-panel); border:1px solid var(--pat-line); border-radius:14px; overflow:hidden; }
  .pat-table-scroll{ overflow-x:auto; max-height:480px; overflow-y:auto; }
  .pat-table{ width:100%; border-collapse:collapse; font-size:12px; }
  .pat-table--editable{ table-layout: fixed; }
  .pat-table thead th{ position:sticky; top:0; background:var(--pat-panel2); text-align:left; padding:10px 13px; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-weight:600; font-size:10.5px; text-transform:uppercase; letter-spacing:.4px; color:var(--pat-text); white-space:nowrap; border-bottom:1px solid var(--pat-line); z-index:2; }
  .pat-th-center{ text-align:center; }
  select.pat-badge-ch{ text-align:center; text-align-last:center; }
  .pat-table tbody td{ padding:9px 13px; border-bottom:1px solid var(--pat-rowborder); border-right:1px solid var(--pat-rowborder); white-space:nowrap; }
  .pat-table tbody tr:focus-within td{ box-shadow: inset 0 1px 0 var(--accent-amber), inset 0 -1px 0 var(--accent-amber); }
  .pat-table tbody tr:hover { background:var(--pat-panel2); }
  .pat-table--editable thead th{ padding-left:16px; padding-right:9px; }
  .pat-table--editable thead th.pat-th-center{ padding-left:9px; }
  .pat-table--editable tbody td{ padding:4px 9px; }
  .pat-num{ color:var(--pat-text); font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; text-align:center; }
  .pat-cant-click{ cursor:pointer; }
  .pat-cant-click:hover{ color:var(--pat-text); text-decoration:underline; }
  .pat-cell-input{
    width:100%; min-width:70px; background:transparent; border:1px solid transparent; border-radius:6px;
    color:var(--pat-text); font-size:12px; font-family:inherit; padding:5px 7px;
  }
  .pat-cell-input:hover{ border-color:var(--pat-line); background:var(--pat-panel2); }
  .pat-cell-input:focus{ outline:none; border-color:var(--pat-amber); background:var(--pat-panel2); }
  select.pat-cell-input{ cursor:pointer; }
  select.pat-badge-ch{ border:1px solid transparent; font-weight:700; padding:5px 7px; }
  select.pat-badge-ch.VT{ background:rgba(242,169,0,.15); color:var(--pat-text); }
  select.pat-badge-ch.AP{ background:rgba(63,167,150,.15); color:var(--pat-text); }
  select.pat-badge-ch.FORD{ background:rgba(79,143,240,.15); color:var(--pat-text); }
  input.pat-dominio{ background:var(--pat-panel2); font-weight:600; letter-spacing:.4px; }
  .pat-dominio{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; background:var(--pat-panel2); padding:3px 8px; border-radius:5px; font-weight:600; letter-spacing:.4px; font-size:11px; }
  .pat-badge-ch{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:10px; font-weight:700; padding:2px 7px; border-radius:5px; letter-spacing:.4px; }
  .pat-badge-ch.VT{ background:rgba(242,169,0,.15); color:var(--pat-text); }
  .pat-badge-ch.AP{ background:rgba(63,167,150,.15); color:var(--pat-text); }
  .pat-badge-ch.FORD{ background:rgba(79,143,240,.15); color:var(--pat-text); }
  .pat-table-footer{ padding:12px 16px; font-size:11.5px; color:var(--pat-text); border-top:1px solid var(--pat-line); display:flex; justify-content:space-between; align-items:center; }
  .pat-table-footer-izq{ display:flex; align-items:center; gap:12px; }
  .pat-btn--sm{ padding:5px 10px; font-size:11px; }
  .pat-row-actions{ display:flex; gap:6px; justify-content:center; }
  .pat-row-btn{ border:1px solid var(--pat-line); background:var(--pat-panel2); color:var(--pat-text); width:26px; height:26px; border-radius:7px; cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:13px; transition:.15s; }
  .pat-row-btn:hover{ color:var(--pat-text); border-color:var(--pat-faint); }
  .pat-row-btn.danger:hover{ color:var(--pat-danger); border-color:var(--pat-danger); }

  .pat-modal-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.55); display:flex; align-items:center; justify-content:center; z-index:9998; padding:20px; }
  .pat-modal{ background:var(--pat-panel); border:1px solid var(--pat-line); border-radius:16px; width:100%; max-width: 720px; max-height:88vh; overflow-y:auto; padding:22px 24px; }
  .pat-modal h2{ font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:16px; font-weight:600; margin-bottom:4px; }
  .pat-modal .pat-hint{ font-size:11.5px; color:var(--pat-text); margin-bottom:16px; display:block; }
  .pat-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  @media(max-width:560px){ .pat-form-grid{ grid-template-columns:1fr; } }
  .pat-form-field{ display:flex; flex-direction:column; gap:5px; }
  .pat-form-field.span2{ grid-column:1 / -1; }
  .pat-form-ayuda{ font-size:10.5px; color:var(--pat-text); line-height:1.4; }
  .pat-form-field label{ font-size:10.5px; color:var(--pat-text); text-transform:uppercase; letter-spacing:.5px; font-weight:600; }
  .pat-form-field input, .pat-form-field select{ background:var(--pat-panel2); border:1px solid var(--pat-line); color:var(--pat-text); padding:9px 11px; border-radius:8px; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; font-size:13px; outline:none; }
  .pat-form-field input:focus, .pat-form-field select:focus{ border-color:var(--pat-amber); }
  .pat-form-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:20px; }
  .pat-modal-close{ position:absolute; top:16px; right:16px; }

  .pat-ccf-lista{ display:flex; flex-direction:column; gap:1px; max-height:50vh; overflow-y:auto; margin-top:14px; }
  .pat-ccf-lista-fila{
    display:flex; align-items:center; gap:12px; width:100%; text-align:left;
    background:transparent; border:none; border-bottom:1px solid var(--pat-line);
    padding:9px 4px; cursor:pointer; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; color:var(--pat-text);
  }
  .pat-ccf-lista-fila:hover{ background:var(--pat-panel2); }
  .pat-ccf-lista-titular{ flex:1; font-size:12.5px; font-weight:600; }
  .pat-ccf-lista-vendedor{ font-size:11.5px; color:var(--pat-text); min-width:100px; }
  .pat-ccf-lista-mes{ font-size:10.5px; color:var(--pat-text); font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; min-width:70px; text-align:right; }

  .pat-error{ font-size:11.5px; color:var(--pat-danger); margin-top:6px; }
  .pat-footer{ margin-top:22px; padding-top:14px; border-top:1px solid var(--pat-line); color:var(--pat-text); font-size:10.5px; font-family: "Montserrat", ui-sans-serif, system-ui, sans-serif; }

  /* Objetivo de patentamientos: se carga a mano y muestra el avance. */
  /* Gestoría de 0km embebida en el modal de gestoría: fluye en el contenido
     en vez de abrir una capa flotante sobre todo el módulo. */


  /* El marcador de versión es un botón (abre el diagnóstico al tocarlo),
     pero tiene que seguir viéndose como una etiqueta. */
  button.tcg-version{ font-family:inherit; cursor:pointer; }


/* ── Propio de GG360 (no es de TCG) ──────────────────────────────────────────────────────────────────────────
   La paleta que TCG pone en el «style» de .pat-root según el modo (const vars del componente, tal cual; el acento es el color de la
   casa, como TCG con --casa-activa): en GG360 la pantalla no lleva colores escritos (A12), así que va acá. */
.pat-root { --pat-bg:#12151A; --pat-panel:#1A1E25; --pat-panel2:#232833; --pat-line:#333A47; --pat-text:#FFFFFF; --pat-muted:#FFFFFF; --pat-faint:#FFFFFF;
  --pat-amber:var(--gg-casa, #F2A900); --pat-teal:var(--gg-casa, #3FA796); --pat-fordblue:var(--gg-casa, #4f8ef7); --pat-danger:#E5484D; --pat-success:#FFFFFF;
  --pat-ink:var(--gg-casa-tinta, #131824); --pat-rowborder:#242832; }
:is(.tcg-claro, [data-modo="claro"]) .pat-root { --pat-bg:#F6F4EF; --pat-panel:#FFFFFF; --pat-panel2:#F0EDE5; --pat-line:#E6E1D5; --pat-text:#000000; --pat-muted:#000000;
  --pat-faint:#FFFFFF; --pat-amber:var(--gg-casa, #C9791B); --pat-teal:var(--gg-casa, #2E8177); --pat-fordblue:var(--gg-casa, #4f8ef7); --pat-danger:#BD4A37;
  --pat-success:#000000; --pat-ink:var(--gg-casa-tinta, #171410); --pat-rowborder:#EEEAE0; }
