/* ClavaMetrics — CSS del panel de integración GPS (compartido Admin + GPS Analysis). Extraído de Admin.html. */
  .gps-int-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;max-width:900px}
  .gps-int-card{border:1px solid var(--cm-border);border-radius:12px;padding:18px;background:var(--cm-bg)}
  .gps-int-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
  .gps-int-head h3{margin:0;font-size:16px}
  .gps-int-badge{font:600 11px/1 var(--cm-font-sans);padding:4px 9px;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}
  .gps-int-badge.s-connected{background:var(--cm-accent-soft);color:var(--cm-accent)}
  .gps-int-badge.s-pending,.gps-int-badge.s-disabled{background:var(--cm-bg-soft);color:var(--cm-fg-muted)}
  .gps-int-badge.s-error{background:var(--cm-danger-bg);color:var(--cm-danger)}
  .gps-int-hint{font-size:12.5px;color:var(--cm-fg-muted);margin:6px 0 14px;line-height:1.5}
  .gps-int-form{display:flex;flex-direction:column;gap:8px}
  .gps-int-form input{padding:8px 10px;border:1px solid var(--cm-border);border-radius:8px;background:var(--cm-bg);color:var(--cm-fg-strong);font:inherit}
  .gps-int-btn{padding:8px 14px;border-radius:8px;border:0;background:var(--cm-accent);color:var(--cm-fg-on-accent);font:600 13px var(--cm-font-sans);cursor:pointer}
  .gps-int-btn.ghost{background:none;border:1px solid var(--cm-border);color:var(--cm-fg)}
  .gps-int-btn:disabled{opacity:.55;cursor:default}
  .gps-int-msg{font-size:12px;margin-top:6px;min-height:16px}
  /* GPS sync progress (server-side chained worker → live via realtime on gps_sync_jobs) */
  .gps-sync-bar{margin-top:10px}
  .gps-sync-row{display:flex;align-items:center;gap:8px}
  .gps-sync-track{flex:1;height:6px;border-radius:999px;background:var(--cm-bg-soft);overflow:hidden}
  .gps-sync-fill{height:100%;border-radius:999px;background:var(--cm-accent);transition:width .4s ease}
  .gps-sync-fill.s-error{background:var(--cm-danger)}
  .gps-sync-fill.s-done{background:var(--cm-success,#16A34A)}
  .gps-sync-meta.is-ok{color:var(--cm-success,#16A34A);font-weight:600}
  .gps-sync-meta.is-ok .ti{font-size:15px}
  .gps-sync-fill.is-anim{background-image:linear-gradient(90deg,transparent,rgba(255,255,255,.35),transparent);background-size:40% 100%;background-repeat:no-repeat;animation:gpsSyncShimmer 1.2s linear infinite}
  @keyframes gpsSyncShimmer{0%{background-position:-40% 0}100%{background-position:140% 0}}
  .gps-sync-pct{font:600 11px var(--cm-font-mono);color:var(--cm-fg-muted);min-width:34px;text-align:right}
  .gps-sync-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:11.5px;color:var(--cm-fg-muted);margin-top:5px}
  .gps-sync-meta.is-err{color:var(--cm-danger)}
  .gps-sync-retry,.gps-sync-cancel{padding:4px 10px!important;font-size:11.5px!important}
</style>
