@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 400;
  font-stretch: normal;
  font-display: swap;
  src: url(/kit/admin-fonts/instrument-sans-400.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 500;
  font-stretch: normal;
  font-display: swap;
  src: url(/kit/admin-fonts/instrument-sans-500.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 600;
  font-stretch: normal;
  font-display: swap;
  src: url(/kit/admin-fonts/instrument-sans-600.ttf) format('truetype');
}
@font-face {
  font-family: 'Instrument Sans';
  font-style: normal;
  font-weight: 700;
  font-stretch: normal;
  font-display: swap;
  src: url(/kit/admin-fonts/instrument-sans-700.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/kit/admin-fonts/jetbrains-mono-400.ttf) format('truetype');
}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(/kit/admin-fonts/jetbrains-mono-500.ttf) format('truetype');
}

:root{--bg-adm:#F4F3EF;--bg-ops:#F1F3F6;--panel-adm:#FFFFFF;--panel-ops:#FFFFFF;--surface:#FFFFFF;--topbar:#FFFFFF;--hover:#ECEAE3;--sub-on:#ECEAE3;--line:#E2DFD6;--line-2:#E7E4DC;--line-3:#D6D2C7;--line-ops:#D5DBE5;--line-4:#C9C5BA;--line-5:#A9A59A;--cool-line:#D5DBE5;--cool-line-2:#D5DBE5;--cool-bg:#F2F4F8;--ink:#0E1116;--ink-strong:#0E1116;--ink-2:#3B3F47;--ink-3:#3B3F47;--muted:#4A4F59;--muted-2:#5F636B;--muted-3:#5F636B;--dim:#5F636B;--accent:#C2410C;--accent-bg:#FBE3D3;--accent-bg-2:#FBE3D3;--accent-line:#F3C9AC;--bad:#9A3412;--bad-line:#F3C9AC;--bad-bg:#FBE3D3;--bad-2:#9A3412;--ok:#1D6B43;--ok-bg:#DDEFE3;--ok-line:#B5DCC2;--ok-bg-2:#EEF7F1;--warn:#7A4B00;--warn-bg:#F6E7C8;--warn-bg-2:#F6E7C8;--warn-line:#E9D3A0;--warn-2:#7A4B00;--warn-3:#7A4B00;--chip:rgba(14,17,22,0.05);--rib:rgba(14,17,22,0.025);--rib-top:rgba(14,17,22,0.03)}
:root[data-theme=dark]{--purple:#A78BFA;--bg-adm:#0B0D11;--bg-ops:#0A1220;--panel-adm:#12151B;--panel-ops:#121A28;--surface:#0E1116;--topbar:#0F1B2D;--hover:#181C24;--sub-on:#151922;--line:#1E222B;--line-2:#242934;--line-3:#2A2F3A;--line-ops:#2C3A52;--line-4:#3A3F4A;--line-5:#4A505C;--cool-line:#22304A;--cool-line-2:#26304A;--cool-bg:#141A2A;--ink:#E8EAEF;--ink-strong:#FFFFFF;--ink-2:#C9CDD6;--ink-3:#B4B9C4;--muted:#A7AFBD;--muted-2:#8A909C;--muted-3:#8C95A6;--dim:#8A909C;--accent:#F4A26B;--accent-bg:#2A1C12;--accent-bg-2:#2A1A12;--accent-line:#4A2A1A;--bad:#F08A5D;--bad-line:#5A2424;--bad-bg:#2A1414;--bad-2:#C9A0A0;--ok:#4CC38A;--ok-bg:#13291F;--ok-line:#1F4A33;--ok-bg-2:#0F1A14;--warn:#F2B33D;--warn-bg:#3A2E14;--warn-bg-2:#2B2410;--warn-line:#4A3A14;--warn-2:#C9B98F;--warn-3:#F2D79A;--chip:rgba(255,255,255,0.07);--rib:rgba(255,255,255,0.025);--rib-top:rgba(255,255,255,0.045);color-scheme:dark}
/* Native controller color aliases project into the kit token vocabulary. */
:root{--text:var(--ink);--text-muted:var(--muted);--text-secondary:var(--ink-2);--border:var(--line-2);--border-color:var(--line-2);--surface-2:var(--hover);--bg:var(--bg-adm);--green:var(--ok);--yellow:var(--warn);--red:var(--bad);--radius:16px;--sidebar-width:248px;--surface-3:var(--line-3);--purple:#7C3AED}

/* ==========================================================================
   Admin-only styles. The shell, controls, panels, tables, tabs, badges,
   dialogs and toasts come from /kit/app-shell.css.
   ========================================================================== */
html { min-width: 320px; scroll-behavior: auto; }
.administration { flex: 1; min-width: 0; }

/* ---- Access (login, sign-up, set password) ---- */
.access-layout {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 440px); gap: var(--sp-8); align-items: start;
  margin: 0 auto; padding: var(--sp-7) var(--sp-8); max-width: 1080px; color: var(--ink);
}
.access-layout:has(+ .app.active) { display: none; }
.access-direction > .mono { font-size: var(--fs-12); color: var(--accent); letter-spacing: .08em; }
.access-direction h2 { font-size: 44px; line-height: 48px; letter-spacing: -.03em; font-weight: 600; margin: var(--sp-3) 0 var(--sp-4); color: var(--ink-strong); }
.access-direction p:last-child { max-width: 360px; color: var(--muted); font-size: var(--fs-16); line-height: 24px; }
.login-screen { display: flex; min-width: 0; align-items: flex-start; }
.login-box { width: 100%; background: var(--panel-adm); padding: var(--sp-8); border: 1px solid var(--line-2); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); }
.login-box h2 { font-size: var(--fs-24); line-height: 32px; letter-spacing: -.02em; font-weight: 600; }
.login-box > p { font-size: var(--fs-13); color: var(--muted); margin: var(--sp-2) 0 var(--sp-6); }
.login-box form { display: flex; flex-direction: column; gap: var(--sp-4); }
.login-box .w-btn--primary { width: 100%; }
.login-box form > button.admin-link { border: 0; background: none; color: var(--muted); text-decoration: underline; text-underline-offset: 3px; font-weight: 400; }
.login-error { color: var(--bad); font-size: var(--fs-13); }
.login-error:empty { display: none; }
.admin-auth-error:empty { display: none; }
.admin-auth-error { margin: 0 0 var(--sp-4); padding: var(--sp-3); border: 1px solid var(--bad-line); border-radius: var(--radius-sm); background: var(--bad-bg); }
.admin-google { display: flex; align-items: center; justify-content: center; gap: var(--sp-3); min-height: var(--control); border: 1px solid var(--line-3); border-radius: var(--radius-sm); background: var(--panel-adm); color: var(--ink); font-weight: 600; text-decoration: none; }
.admin-google:hover { background: var(--hover); color: var(--ink); }
.admin-google[aria-busy=true] { opacity: .7; }
.admin-google-mark { flex: none; }
.admin-login-divider { display: flex; align-items: center; gap: var(--sp-3); text-align: center; font-size: var(--fs-12); color: var(--muted); }
.admin-login-divider::before, .admin-login-divider::after { content: ""; flex: 1; height: 1px; background: var(--line-2); }
.admin-signup-cta { display: flex; align-items: center; justify-content: center; gap: var(--sp-1); flex-wrap: wrap; margin-top: var(--sp-3); font-size: var(--fs-13); color: var(--muted); }
.admin-signup-cta button { border: 0; background: none; color: var(--accent); font-weight: 600; text-decoration: underline; padding: 0 var(--sp-2); }
.loading-screen { position: fixed; inset: 0; background: var(--bg-adm); z-index: 100; display: grid; place-items: center; transition: opacity .2s; }
.loading-screen.fade-out { opacity: 0; pointer-events: none; }
.loading-screen > div { min-width: 240px; display: flex; flex-direction: column; gap: var(--sp-2); align-items: center; color: var(--muted); }
#loadBar { height: 4px; width: 100%; border-radius: 2px; background: var(--accent); }
.oc-contract-field { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); border: 0; padding: 0; margin: 0; pointer-events: none; }
body[data-admin-access=view] [data-admin-write] { display: none !important; }
.admin-footer .oc-developer-credit { font-size: var(--fs-12); }

/* ---- Resumen / generic data blocks ---- */
.admin-secondary { border-top: 1px solid var(--line); padding-top: var(--sp-3); }
.admin-secondary summary { cursor: pointer; min-height: var(--control); display: flex; align-items: center; color: var(--muted); font-size: var(--fs-13); }
.admin-spark { min-height: 160px; color: var(--chart-1); font-size: var(--fs-13); }
.admin-attention { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.admin-attention li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--sp-3); padding: var(--sp-3) 0; border-top: 1px solid var(--line); }
.admin-attention li:first-child { border-top: 0; }
.admin-attention strong, .admin-attention small { display: block; overflow-wrap: anywhere; }
.admin-attention small { color: var(--muted); font-size: var(--fs-12); }
.admin-attention .is-empty { display: block; border: 0; padding: var(--sp-4) 0; text-align: left; }
.admin-attention .is-unknown { color: var(--muted); }
.kit-admin-priority { display: flex; flex-direction: column; }
.kit-admin-priority > div { display: grid; grid-template-columns: 24px minmax(0, 1fr) var(--control); align-items: center; gap: var(--sp-3); padding: var(--sp-2) 0; border-top: 1px solid var(--line); }
.kit-admin-priority > div > span:first-child { color: var(--muted-2); font-variant-numeric: tabular-nums; }
.kit-admin-priority strong, .kit-admin-priority small { display: block; overflow-wrap: anywhere; }
.kit-admin-priority small { color: var(--muted); font-size: var(--fs-12); }
.kit-admin-priority-band { grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); }
.desk-figure, .desk-panel { display: flex; flex-direction: column; gap: var(--sp-3); padding: var(--sp-4); border: 1px solid var(--line-2); border-radius: var(--radius-md); background: var(--panel-adm); min-width: 0; }
.desk-automation-row { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4); padding: var(--sp-4) 0; border-top: 1px solid var(--line); }
.activity-feed > div, #healthEvents > div, #healthErrorLog > div { padding: var(--sp-3) 0; border-bottom: 1px solid var(--line); font-size: var(--fs-13); }
.activity-item { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: var(--sp-3); align-items: center; padding: var(--sp-2) 0; border-bottom: 1px solid var(--line); font-size: var(--fs-13); }
.activity-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.activity-time { color: var(--muted); font-size: var(--fs-12); }
.admin-progress { height: 8px; background: var(--chip); border-radius: 999px; overflow: hidden; }
.admin-progress > div { height: 100%; background: var(--accent); }
.admin-origin-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; }
.admin-origin-list li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(60px, 1fr) auto; align-items: center; gap: var(--sp-3); min-height: var(--control); border-top: 1px solid var(--line); }
.admin-origin-list li:first-child { border-top: 0; }
.admin-origin-name { overflow-wrap: anywhere; }
.admin-origin-bar { display: block; height: 8px; border-radius: 999px; background: var(--chip); }
.admin-origin-bar span { display: block; height: 100%; border-radius: 999px; background: var(--chart-1); }
.admin-origin-count { color: var(--muted); font-size: var(--fs-13); white-space: nowrap; }
.admin-auto-tag { display: inline-flex; align-items: center; min-height: 24px; padding: 0 var(--sp-2); border: 1px solid var(--line-3); border-radius: 999px; font-size: var(--fs-12); color: var(--ink); }
.admin-auto-tag.is-off { color: var(--muted); }
.admin-alumno-list li { grid-template-columns: minmax(0, 1fr) auto; }
.admin-alumno-actions { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.admin-check { display: flex; align-items: center; gap: var(--sp-3); font-size: var(--fs-13); }

/* ---- Leads, people and configuration layouts ---- */
.kit-admin-leads-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: var(--sp-3); }
.kit-admin-monitor { display: flex; flex-direction: column; gap: var(--sp-3); min-width: 0; }
.kit-admin-monitor .admin-kpis { grid-template-columns: 1fr; }
.kit-admin-users-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: var(--sp-3); }
.kit-admin-role-row { display: flex; flex-direction: column; gap: var(--sp-1); padding: var(--sp-3) 0; border-top: 1px solid var(--line); font-size: var(--fs-13); }
.kit-admin-config-panels, .kit-admin-config-group { display: flex; flex-direction: column; gap: var(--sp-4); min-width: 0; }
#sec-settings [hidden] { display: none !important; }
.admin-profile { display: flex; gap: var(--sp-3); align-items: center; }
.admin-avatar { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: 50%; background: var(--accent-bg); color: var(--accent); font-weight: 700; overflow: hidden; }
.admin-switch { display: flex; gap: var(--sp-3); align-items: center; min-height: var(--control); }
#uStats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--sp-3); }
.u-stat { padding: var(--sp-4); border-radius: var(--radius-md); background: var(--rib); border: 1px solid var(--line-2); }
.us-top { display: flex; align-items: center; gap: var(--sp-2); }
.us-dot { width: 8px; height: 8px; border-radius: 50%; }
.us-label { font-size: var(--fs-12); color: var(--muted); }
.us-val { font-size: var(--fs-24); line-height: 32px; font-weight: 600; color: var(--ink-strong); }
.us-sub { font-size: var(--fs-12); color: var(--muted); }
.u-avatar-ph { width: 28px; height: 28px; display: inline-grid; place-items: center; border-radius: 50%; color: var(--surface); font-size: var(--fs-12); font-weight: 600; margin-right: var(--sp-2); }
.u-avatar { margin-right: var(--sp-2); }
#leadsQuickStats { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
#leadsQuickStats .w-chip strong { color: var(--w-ink); }
.row-actions { display: flex; gap: var(--sp-2); }
.kit-admin-person { max-height: calc(100vh - 32px); overflow: auto; width: min(560px, calc(100vw - 32px)); }
.kit-admin-person fieldset { border: 1px solid var(--line-2); border-radius: var(--radius-md); margin: var(--sp-3) 0; padding: var(--sp-2) var(--sp-3); }
.kit-admin-person legend { padding: 0 var(--sp-2); font-size: var(--fs-13); color: var(--muted); }
.kit-admin-area-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px; gap: var(--sp-3); align-items: center; padding: var(--sp-2) 0; }
.kit-admin-area-row label { display: flex; flex-direction: column; gap: 2px; }
.kit-admin-area-row small { color: var(--muted); }
.kit-admin-person .oc-contract-field { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); border: 0; padding: 0; pointer-events: none; }

/* ---- Content (products), popups and editor ---- */
#productsGrid, #popupsGrid, #abTestList, #topPagesGrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--sp-4); }
#abTestList { grid-template-columns: minmax(0, 1fr); }
#popupsGrid { display: flex; flex-direction: column; gap: var(--sp-3); }
.product-card, .popup-card, .ab-test-card { padding: var(--sp-5); border-radius: var(--radius-lg); border: 1px solid var(--line-2); background: var(--panel-adm); min-width: 0; }
.product-card { cursor: pointer; transition: border-color var(--dur) var(--ease); }
.product-card:hover { border-color: var(--line-5); }
.product-card h3 { margin-bottom: var(--sp-2); }
.product-card-header, .product-card-footer, .product-tabs { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: center; }
.product-card-footer { margin-top: var(--sp-3); }
.admin-product-card { display: flex; flex-direction: column; gap: var(--sp-4); }
.admin-popup-card { display: grid; grid-template-columns: minmax(150px, 1fr) minmax(180px, 2fr) auto; gap: var(--sp-4); align-items: center; }
.admin-popup-card dl { grid-template-columns: 90px 1fr; }
#productDetailContent form { display: flex; flex-direction: column; gap: var(--sp-4); }
.field-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-3); }
.tab-content { display: none; }
.tab-content.active { display: block; }
.admin-product-editor .tab-content.active { display: flex; flex-direction: column; gap: var(--sp-4); }
.admin-product-editor .admin-panel { display: flex; flex-direction: column; gap: var(--sp-3); }
.admin-editor-item { padding: var(--sp-4) 0; border-top: 1px solid var(--line); display: flex; gap: var(--sp-3); align-items: start; }
.list-item-content { flex: 1; display: flex; flex-direction: column; gap: var(--sp-3); }
.list-item-content label { display: flex; flex-direction: column; gap: var(--sp-1); font-size: var(--fs-13); }
.admin-preview-dialog { max-width: 640px; }
.admin-preview-dialog form { display: flex; flex-direction: column; gap: var(--sp-4); }
.admin-qr-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--sp-5); }
.admin-qr-grid section { display: flex; flex-direction: column; align-items: center; gap: var(--sp-3); }
.admin-qr-grid canvas { max-width: 100%; height: auto; }
.admin-preview-dialog .mono { overflow-wrap: anywhere; }

/* ---- Cohorts, charts and analytics blocks ---- */
.cohort-grid { display: grid; gap: 2px; font-size: var(--fs-12); }
.cohort-cell { padding: var(--sp-2); border-radius: 4px; background: var(--rib); text-align: center; font-variant-numeric: tabular-nums; }
.cohort-header { background: transparent; color: var(--muted-2); font-weight: 500; }
.admin-chart { min-width: 0; }
.wc-dash { display: block; font-size: var(--fs-28); line-height: 36px; color: var(--muted-2); font-weight: 600; }
.ui-stat-spark { margin: var(--sp-1) 0; height: 40px; }
.ui-stat-spark .wc-meta { display: none; }
.admin-meter-scale { display: flex; justify-content: space-between; margin-top: var(--sp-1); font-size: var(--fs-12); color: var(--muted-2); }
.admin-visits-panel .admin-note, .admin-spark-panel .admin-note { margin-top: calc(-1 * var(--sp-1)); }
.admin-live-panel { display: grid; grid-template-columns: minmax(180px, 240px) minmax(0, 1fr); gap: var(--sp-4); }
.admin-live-panel > h3, .admin-live-panel > .admin-note:last-child { grid-column: 1 / -1; }
.ui-live { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: var(--sp-2); }
.ui-live li { padding: var(--sp-3); border: 1px solid var(--line-2); border-radius: var(--radius-md); background: var(--rib); display: flex; flex-direction: column; gap: var(--sp-1); }
.ui-live-head { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); }
.ui-live-sessions { display: flex; flex-wrap: wrap; gap: var(--sp-1) var(--sp-3); font-size: var(--fs-12); color: var(--muted); }
.ui-event { display: grid; grid-template-columns: 8px minmax(0, 1fr) auto; gap: var(--sp-3); align-items: start; padding: var(--sp-2) 0; border-bottom: 1px solid var(--line); font-size: var(--fs-13); }
.ui-event .ui-dot { margin-top: 6px; }
#ldmNotesTimeline { display: flex; flex-direction: column; gap: var(--sp-2); }
.admin-inline-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr) auto; gap: var(--sp-3); align-items: end; }
.cell-url { max-width: 280px; overflow: hidden; text-overflow: ellipsis; }
.ab-card-head { display: flex; justify-content: space-between; gap: var(--sp-4); flex-wrap: wrap; align-items: flex-start; }
.ab-card-head h3 { display: flex; align-items: center; gap: var(--sp-2); flex-wrap: wrap; }
.ab-notice { padding: var(--sp-3); border-radius: var(--radius-sm); background: var(--rib); color: var(--muted); font-size: var(--fs-13); line-height: 20px; }
.ab-notice.is-ready { background: var(--ok-bg-2); color: var(--ink-2); }
.ab-templates { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: var(--sp-3); }
.ab-template { display: flex; flex-direction: column; gap: var(--sp-2); padding: var(--sp-4); border: 1px solid var(--line-2); border-radius: var(--radius-md); background: var(--rib); font-size: var(--fs-13); }
.ab-variants { grid-template-columns: 24px minmax(0, 1fr); font-size: var(--fs-13); }
.ab-auto { align-items: center; flex-wrap: wrap; }
.row-actions { display: flex; flex-wrap: wrap; align-items: center; gap: var(--sp-2); }
.ui-app .w-btn--danger.is-armed { box-shadow: 0 0 0 3px var(--w-danger-soft); }
.stats-grid .desk-metric { min-height: 0; }
.admin-kpi.is-current { border-color: var(--accent-line); box-shadow: inset 3px 0 0 var(--accent); }

/* ---- Responsive ---- */
@media (max-width: 1200px) {
  .kit-admin-monitor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kit-admin-priority-band { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 959px) {
  .access-layout { grid-template-columns: minmax(0, 1fr); padding: var(--sp-6) var(--sp-5); gap: var(--sp-5); }
  .access-direction { display: none; }
  .login-box { max-width: 440px; margin: auto; padding: var(--sp-6); }
  .kit-admin-monitor, .field-row { grid-template-columns: minmax(0, 1fr); }
  #uStats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-popup-card, .admin-qr-grid { grid-template-columns: 1fr; }
  .admin-editor-item { flex-direction: column; }
  .list-item-content { width: 100%; }
  .admin-inline-form, .admin-live-panel { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .kit-admin-area-row { grid-template-columns: 1fr; }
  .admin-origin-list li { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-origin-bar { display: none; }
}
@media (max-width: 560px) {
  .admin-alumno-list li { grid-template-columns: minmax(0, 1fr); }
  .admin-alumno-actions button { flex: 1; }
}

/* ==========================================================================
   Admin v2 (issues #67 y #68) — lenguaje shadcn/ui sobre el mismo markup.
   Superficies neutras, bordes de 1px, radios de 8–12px, escala tipográfica
   clara con Instrument Sans, densidad compacta y acento naranja WEEM
   (--c-accent de src/brand/tokens.css). Todo queda acotado al documento de
   Administración: Operaciones carga app-shell.css pero nunca esta hoja.
   Los tokens viven en :root con :has() para ganarle a weem-identity.css, que
   se carga después y redefine la paleta con html:root.
   ========================================================================== */
html:root:has(body.kit-admin-shell) {
  --bg-adm: #FAFAFA; --panel-adm: #FFFFFF; --surface: #FFFFFF; --topbar: #FFFFFF; --sidebar: #FAFAFA;
  --hover: #F4F4F5; --sub-on: #F4F4F5; --rib: #FAFAFA; --chip: #F4F4F5;
  --line: #E4E4E7; --line-2: #E4E4E7; --line-3: #E4E4E7; --line-4: #D4D4D8; --line-5: #A1A1AA;
  --ink: #09090B; --ink-strong: #09090B; --ink-2: #27272A; --ink-3: #3F3F46;
  --muted: #71717A; --muted-2: #71717A; --muted-3: #71717A; --dim: #71717A;
  --accent: #B84F0B; --accent-ink: #FFFFFF; --accent-bg: #FFF1E8; --accent-bg-2: #FFF7F1; --accent-line: #F6C7A6;
  --ok: #15803D; --ok-bg: #F0FDF4; --ok-bg-2: #F0FDF4; --ok-line: #BBF7D0;
  --warn: #A16207; --warn-bg: #FEFCE8; --warn-bg-2: #FEFCE8; --warn-line: #FDE68A;
  --bad: #B91C1C; --bad-bg: #FEF2F2; --bad-line: #FECACA;
  --ring: rgba(184, 79, 11, .35);
  --shadow-xs: 0 1px 2px rgba(9, 9, 11, .05);
  --shadow-float: 0 10px 38px -10px rgba(9, 9, 11, .22), 0 4px 12px -6px rgba(9, 9, 11, .1);
  --scrim: rgba(9, 9, 11, .45);
  --radius-sm: 8px; --radius-md: 10px; --radius-lg: 12px;
  --control: 44px; --row: 44px; --topbar-h: 56px;
}
html:root[data-theme=dark]:has(body.kit-admin-shell), html:root.dark:has(body.kit-admin-shell) {
  --bg-adm: #09090B; --panel-adm: #111113; --surface: #111113; --topbar: #09090B; --sidebar: #0C0C0E;
  --hover: #1C1C1F; --sub-on: #1C1C1F; --rib: #141416; --chip: #1F1F23;
  --line: #27272A; --line-2: #27272A; --line-3: #2E2E33; --line-4: #3F3F46; --line-5: #52525B;
  --ink: #FAFAFA; --ink-strong: #FFFFFF; --ink-2: #E4E4E7; --ink-3: #D4D4D8;
  --muted: #A1A1AA; --muted-2: #A1A1AA; --muted-3: #A1A1AA; --dim: #A1A1AA;
  --accent: #FF8A3D; --accent-ink: #1A0D05; --accent-bg: #2A170B; --accent-bg-2: #1F130A; --accent-line: #5C3218;
  --ok: #4ADE80; --ok-bg: #0D2316; --ok-bg-2: #0D2316; --ok-line: #14532D;
  --warn: #FACC15; --warn-bg: #261F08; --warn-bg-2: #261F08; --warn-line: #713F12;
  --bad: #F87171; --bad-bg: #2A1212; --bad-line: #7F1D1D;
  --ring: rgba(255, 138, 61, .4);
  --shadow-xs: 0 1px 2px rgba(0, 0, 0, .4);
  --shadow-float: 0 16px 48px -12px rgba(0, 0, 0, .8), 0 4px 12px -4px rgba(0, 0, 0, .5);
  --scrim: rgba(0, 0, 0, .65);
}
/* Controles de 36px con puntero fino en escritorio; 44px en táctil y pantallas angostas. */
@media (pointer: fine) and (min-width: 960px) {
  html:root:has(body.kit-admin-shell) { --control: 36px; --row: 40px; }
}

/* ---- Base ---- */
body.kit-admin-shell { background: var(--bg-adm); color: var(--ink); font-size: 14px; line-height: 20px; }
body.kit-admin-shell :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
body.kit-admin-shell :where(input, select, textarea):focus-visible { outline: 0; }
body.kit-admin-shell .weem-admin-dialog:focus-visible { outline: 0; }
body.kit-admin-shell :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.w-input), select:not(.w-input), textarea:not(.w-input)) {
  border-color: var(--line-4); border-radius: var(--radius-sm); background-color: var(--panel-adm); box-shadow: var(--shadow-xs); font-size: 14px;
}
:where(html[data-theme=dark]) body.kit-admin-shell :where(input:not([type=checkbox]):not([type=radio]):not([type=file]):not(.w-input), select:not(.w-input), textarea:not(.w-input)) { background-color: var(--rib); border-color: var(--line-3); }
body.kit-admin-shell :where(input:not(.w-input), select:not(.w-input), textarea:not(.w-input)):focus { border-color: var(--accent); box-shadow: 0 0 0 3px var(--ring); }

/* ---- Botones: .w-btn de /shared/weem-ui.css. Esto solo viste los botones propios (menú, pestañas, tarjetas). ---- */
body.kit-admin-shell button:where(:not(.w-btn, .w-seg__item, .w-toggle, .w-sort, .w-filter-chip)) {
  border-color: var(--line-4); border-radius: var(--radius-sm); background: var(--panel-adm); color: var(--ink);
  font-size: 14px; font-weight: 500; padding: 0 var(--sp-3); box-shadow: var(--shadow-xs);
  transition: background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);
}
body.kit-admin-shell button:where(:not(.w-btn, .w-seg__item, .w-toggle, .w-sort, .w-filter-chip)):hover:not(:disabled) { background: var(--hover); border-color: var(--line-4); }
body.kit-admin-shell button:where(:not(.w-btn, .w-seg__item, .w-toggle, .w-sort, .w-filter-chip)) svg { width: 16px; height: 16px; }

/* ---- Barra superior: logo, espacio, breadcrumb, búsqueda rápida y tema ---- */
body.kit-admin-shell .ui-topbar { position: sticky; top: 0; z-index: 130; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--topbar) 88%, transparent); }
body.kit-admin-shell .ui-topbar-row { min-height: var(--topbar-h); padding: 0 var(--sp-4); gap: var(--sp-3); }
body.kit-admin-shell .ui-topbar-actions { gap: var(--sp-1); }
body.kit-admin-shell .ui-switcher > summary { min-height: var(--control); border-color: var(--line); box-shadow: var(--shadow-xs); font-size: 14px; }
body.kit-admin-shell .ui-switcher .admin-badge { font-weight: 600; }
body.kit-admin-shell .ui-switcher-menu { border-color: var(--line); border-radius: var(--radius-lg); }
body.kit-admin-shell .ui-switcher-menu a { min-height: var(--control); font-size: 14px; }
.ui-crumbs { min-width: 0; }
.ui-crumbs ol { display: flex; align-items: center; gap: var(--sp-2); list-style: none; margin: 0; padding: 0; font-size: 14px; color: var(--muted); white-space: nowrap; }
.ui-crumbs li { overflow: hidden; text-overflow: ellipsis; }
.ui-crumbs li + li::before { content: "/"; margin-right: var(--sp-2); color: var(--line-5); }
.ui-crumbs [aria-current=page] { color: var(--ink-strong); font-weight: 500; }
body.kit-admin-shell .ui-topbar-actions .ui-search-trigger {
  width: 248px; justify-content: flex-start; gap: var(--sp-2); padding: 0 6px 0 var(--sp-3);
  border: 1px solid var(--line); background: var(--rib); color: var(--muted); font-weight: 400; box-shadow: none;
}
body.kit-admin-shell .ui-topbar-actions .ui-search-trigger:hover:not(:disabled) { background: var(--hover); color: var(--ink); border-color: var(--line-4); }
.ui-search-trigger .ui-search-label { flex: 1; text-align: left; }
.ui-search-slot { display: flex; margin-right: var(--sp-1); }

/* ---- Menú lateral (sidebar shadcn): grupos, ítems compactos, activo neutro con ícono naranja ---- */
body.kit-admin-shell .ui-rail {
  background: var(--sidebar); border-right: 1px solid var(--line); padding: var(--sp-3) var(--sp-3) var(--sp-4);
  position: sticky; top: var(--topbar-h); height: calc(100vh - var(--topbar-h)); overflow-y: auto; align-self: start; gap: 0;
}
body.kit-admin-shell .ui-rail-head { padding-left: var(--sp-2); min-height: var(--control); }
body.kit-admin-shell .ui-rail-head > span { font: 500 11px/16px 'JetBrains Mono', ui-monospace, monospace; letter-spacing: .08em; color: var(--muted); }
body.kit-admin-shell .ui-rail-nav { gap: 2px; }
body.kit-admin-shell .nav-label { font: 500 12px/16px 'Instrument Sans', system-ui, sans-serif; letter-spacing: 0; color: var(--muted); padding: var(--sp-4) var(--sp-2) var(--sp-1); }
body.kit-admin-shell .nav-item {
  min-height: var(--control); padding: 0 var(--sp-2); gap: var(--sp-2); border-radius: var(--radius-sm); box-shadow: none;
  color: var(--ink-3); font-size: 14px; font-weight: 500; background: transparent; border-color: transparent;
}
body.kit-admin-shell .nav-item svg { width: 18px; height: 18px; color: var(--muted); }
body.kit-admin-shell .nav-item:hover:not(:disabled) { background: var(--hover); color: var(--ink-strong); border-color: transparent; }
body.kit-admin-shell .ui-rail-nav .nav-item.active, body.kit-admin-shell .ui-rail-nav .nav-item.active:hover:not(:disabled), body.kit-admin-shell .ui-rail-nav .nav-item[aria-current=page] {
  background: var(--panel-adm); color: var(--ink-strong); font-weight: 600; box-shadow: var(--shadow-xs), inset 0 0 0 1px var(--line);
}
html:root[data-theme=dark] body.kit-admin-shell .ui-rail-nav .nav-item.active, html:root[data-theme=dark] body.kit-admin-shell .ui-rail-nav .nav-item[aria-current=page] { background: var(--hover); box-shadow: inset 0 0 0 1px var(--line-3); }
body.kit-admin-shell .ui-rail-nav .nav-item.active svg { color: var(--accent); }
body.kit-admin-shell .ui-rail-foot { border-top-color: var(--line); margin-top: var(--sp-3); }
body.kit-admin-shell .ui-rail-link { min-height: var(--control); padding: 0 var(--sp-2); font-size: 14px; }
body.kit-admin-shell .ui-account button { min-height: var(--control); padding: 0 var(--sp-2); box-shadow: none; background: transparent; border-color: transparent; font-size: 14px; }
body.kit-admin-shell .ui-avatar { width: 32px; height: 32px; border-radius: var(--radius-sm); font-size: 13px; }
body.kit-admin-shell.admin-nav-collapsed .app { --sidebar-width: 64px; }

/* ---- Columna principal y encabezado de página ---- */
body.kit-admin-shell .ui-main { padding: var(--sp-6) var(--sp-7) var(--sp-8); gap: var(--sp-5); }
body.kit-admin-shell .ui-page-head h1 { font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -.025em; }
body.kit-admin-shell .ui-page-head p { font-size: 14px; color: var(--muted); }
body.kit-admin-shell .workspace-icon { width: 40px; height: 40px; border-radius: var(--radius-md); background: var(--panel-adm); border: 1px solid var(--line); color: var(--accent); box-shadow: var(--shadow-xs); }
body.kit-admin-shell .kit-admin-eyebrow { font-size: 11px; color: var(--muted); letter-spacing: .06em; }
body.kit-admin-shell .section.active { gap: var(--sp-4); }

/* ---- Tarjetas, KPIs, pestañas, segmentos y badges ---- */
body.kit-admin-shell :is(.ui-panel, .admin-panel) { border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); padding: var(--sp-5); gap: var(--sp-3); }
body.kit-admin-shell :is(.ui-panel, .admin-panel) > h3 { font-size: 16px; line-height: 24px; font-weight: 600; letter-spacing: -.01em; }
body.kit-admin-shell :is(.ui-stats, .admin-kpis) { gap: var(--sp-3); }
body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) { border: 1px solid var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-xs); padding: var(--sp-4) var(--sp-5); gap: var(--sp-1); }
body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) .label { font-size: 12px; font-weight: 500; letter-spacing: .02em; color: var(--muted); }
body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) .value { font-size: 26px; line-height: 32px; font-weight: 600; letter-spacing: -.025em; }
body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) .sub { font-size: 12px; color: var(--muted); }
body.kit-admin-shell .admin-tabs { gap: var(--sp-1); border-bottom: 1px solid var(--line); }
body.kit-admin-shell .admin-tabs a { min-height: var(--control); padding: 0 var(--sp-3); font-size: 14px; }
/* El input del switch cubre todo el control, también dentro de una tabla, para que el toque llegue siempre. */
body.kit-admin-shell .v-switch input[type=checkbox] { width: 100%; height: 100%; min-width: 0; z-index: 2; }

/* ---- Tabla de datos (patrón tablecn) ---- */
body.kit-admin-shell .ui-pager { padding-top: 0; font-size: 13px; }
.ui-pager-page { color: var(--ink-3); font-weight: 500; margin-right: var(--sp-2); }
.ui-table-card.admin-panel { gap: var(--sp-3); }
.ui-table-head { display: flex; flex-direction: column; gap: 2px; }
.ui-table-head h3 { color: var(--ink-strong); }
body.kit-admin-shell .ui-table-toolbar { gap: var(--sp-2); align-items: center; }
.ui-table-toolbar .w-field .w-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.kit-admin-shell .ui-table-toolbar > .w-field { flex: 0 1 220px; min-width: 160px; }
body.kit-admin-shell .ui-table-toolbar .btn-export { margin-left: auto; }
.ui-search-field { position: relative; flex: 1 1 280px; min-width: 200px; max-width: 420px; }
.ui-search-field > svg { position: absolute; left: 10px; top: 50%; width: 16px; height: 16px; transform: translateY(-50%); color: var(--muted); pointer-events: none; z-index: 1; }
body.kit-admin-shell .ui-search-field input { padding-left: 34px; }
.ui-facets { align-self: flex-start; max-width: 100%; }
#leadsQuickStats:empty { display: none; }
.ui-table-card .w-table-wrap { max-height: min(72vh, 760px); overflow: auto; }
.ui-table-card thead th { position: sticky; top: 0; z-index: 2; }
body.kit-admin-shell .ui-table-card table { min-width: 960px; }
.lead-row { cursor: pointer; }
.lead-row td { height: 60px; }
/* Email arriba y teléfono abajo: la columna no crece con contactos largos. */
.lead-row time { color: var(--muted); font-size: 13px; }
.is-empty-row td { padding: var(--sp-6) var(--sp-4); }
body.kit-admin-shell .is-empty-row .ui-state { border: 0; }

/* ---- Ficha del lead (sheet a la derecha) ---- */
body.kit-admin-shell #leadDetailModal:not([style*="none"]) { display: flex !important; }
body.kit-admin-shell #leadDetailModal .weem-admin-dialog {
  width: min(480px, 100vw); max-width: 480px; height: 100%; min-height: 100%; margin: 0 0 0 auto; padding: 0; gap: 0;
  border-radius: 0; border-width: 0 0 0 1px; border-color: var(--line); overflow-y: auto; box-shadow: var(--shadow-float);
}
body.kit-admin-shell #ldmNotesTimeline { position: relative; gap: 0; max-height: none; overflow: visible; }

/* ---- Diálogos, búsqueda rápida y toasts ---- */
body.kit-admin-shell .weem-admin-modal { background: var(--scrim); backdrop-filter: blur(3px); }
body.kit-admin-shell .weem-admin-dialog { border-color: var(--line); border-radius: var(--radius-lg); box-shadow: var(--shadow-float); }
body.kit-admin-shell .weem-admin-dialog h3 { font-size: 18px; line-height: 26px; }
body.kit-admin-shell #commandModal:not([style*="none"]) { display: flex !important; align-items: flex-start; justify-content: center; padding: 12vh var(--sp-4) var(--sp-4); }
body.kit-admin-shell .ui-command-dialog { max-width: 560px; padding: 0; gap: 0; overflow: hidden; margin: 0 auto; }
.ui-command-input { display: flex; align-items: center; gap: var(--sp-2); padding: 0 var(--sp-3) 0 var(--sp-4); border-bottom: 1px solid var(--line); color: var(--muted); }
body.kit-admin-shell .ui-command-input input { flex: 1; min-height: 52px; border: 0; box-shadow: none; background: transparent; padding: 0; font-size: 15px; }
body.kit-admin-shell .ui-command-input input:focus { box-shadow: none; }
.ui-command-list { list-style: none; margin: 0; padding: var(--sp-2); max-height: min(380px, 60vh); overflow-y: auto; }
.ui-command-group { padding: var(--sp-2) var(--sp-2) var(--sp-1); font-size: 12px; font-weight: 500; color: var(--muted); }
.ui-command-list [role=option] { display: flex; align-items: center; justify-content: space-between; gap: var(--sp-3); min-height: 40px; padding: 0 var(--sp-3); border-radius: var(--radius-sm); cursor: pointer; font-size: 14px; color: var(--ink-2); }
.ui-command-list [role=option] small { color: var(--muted); font-size: 12px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 50%; }
.ui-command-list [role=option][aria-selected=true], .ui-command-list [role=option]:hover { background: var(--hover); color: var(--ink-strong); }
.ui-command-empty { padding: var(--sp-6); text-align: center; color: var(--muted); font-size: 14px; }
body.kit-admin-shell .toast { left: auto; right: var(--sp-5); bottom: var(--sp-5); transform: translateY(150%); border-color: var(--line); border-radius: var(--radius-lg); font-size: 14px; padding: var(--sp-3) var(--sp-4); }
body.kit-admin-shell .toast.show { transform: none; }

/* ---- Responsive ---- */
@media (max-width: 1200px) {
  body.kit-admin-shell .ui-topbar-actions .ui-search-trigger { width: 200px; }
}
@media (max-width: 959px) {
  body.kit-admin-shell .ui-rail { position: fixed; top: 0; height: auto; padding-top: var(--sp-4); }
  body.kit-admin-shell .ui-main { padding: var(--sp-4); gap: var(--sp-4); }
  body.kit-admin-shell .ui-topbar-row { padding: 0 var(--sp-3); gap: var(--sp-2); }
  .ui-crumbs { display: none; }
  body.kit-admin-shell .ui-topbar-actions .ui-search-trigger { width: var(--control); padding: 0; justify-content: center; }
  .ui-search-trigger .ui-search-label, .ui-search-trigger kbd { display: none !important; }
  body.kit-admin-shell .ui-page-head h1 { font-size: 20px; line-height: 28px; }
  body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) { padding: var(--sp-3) var(--sp-4); }
  body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) .value { font-size: 22px; line-height: 28px; }
  body.kit-admin-shell :is(.ui-panel, .admin-panel) { padding: var(--sp-4); }
  body.kit-admin-shell .ui-facets { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .ui-facets button { flex: none; }
  .ui-search-field { flex-basis: 100%; max-width: none; }
  body.kit-admin-shell .ui-table-toolbar > .w-field { flex: 1 1 160px; }
  body.kit-admin-shell .ui-table-toolbar .btn-export { margin-left: 0; }
  .ui-table-card .w-table-wrap { max-height: none; }
  body.kit-admin-shell .ui-table-card tbody td:first-child, body.kit-admin-shell .ui-table-card thead th:first-child { position: sticky; left: 0; z-index: 1; background: var(--panel-adm); box-shadow: 1px 0 0 var(--line); }
  body.kit-admin-shell .ui-table-card thead th:first-child { z-index: 3; background: var(--rib); }
  body.kit-admin-shell .ui-pager { flex-wrap: wrap; }
  body.kit-admin-shell .toast { left: var(--sp-4); right: var(--sp-4); }
}
@media (max-width: 520px) {
  /* Con poco ancho el selector de espacio muestra solo la marca; el nombre sigue disponible para lectores de pantalla. */
  body.kit-admin-shell .ui-switcher .admin-badge { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  body.kit-admin-shell #leadDetailModal .weem-admin-dialog { width: 100vw; max-width: 100vw; border-left: 0; }
}

/* Sin repeticiones: la barra superior ya dice dónde estás.
   La ruta «GRUPO / SECCIÓN» y el ícono + descripción del encabezado se ocultan; el título queda para lectores de pantalla en escritorio. */
.kit-admin-view>.kit-admin-eyebrow{display:none}
.admin-task-heading.ui-page-head #workspaceIcon,.admin-task-heading.ui-page-head #workspaceDescription{display:none}
@media(min-width:768px){.admin-task-heading.ui-page-head #workspaceTitle{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.admin-task-heading.ui-page-head{min-height:0;margin-bottom:8px;justify-content:flex-end}}
/* Tarjetas de Leads que filtran */
.admin-kpi[data-lead-status]{cursor:pointer;transition:border-color .15s,box-shadow .15s}
.admin-kpi[data-lead-status]:hover{border-color:var(--accent)}
.admin-kpi[data-lead-status]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.admin-kpi[data-lead-status].active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}

/* ==========================================================================
   Admin v2 fase 2 (#68): Resumen, kanban de Leads y el resto de las pantallas
   con los mismos patrones (tablas, tarjetas, formularios, badges). Solo Admin.
   ========================================================================== */
/* Barra de página: filtros a la izquierda, acciones a la derecha. */
body.kit-admin-shell .ui-page-toolbar { justify-content: space-between; gap: var(--sp-3); }
body.kit-admin-shell .ui-page-toolbar > .admin-note { margin: 0; flex: 1 1 260px; }
body.kit-admin-shell .ui-page-toolbar .btn-export { margin-left: auto; }

/* Resumen: llamado a la acción «Leads sin contactar» */
body.kit-admin-shell .ui-cta { display: flex; flex-direction: row; align-items: center; gap: var(--sp-4); padding: var(--sp-4) var(--sp-5); border-color: var(--accent-line); background: var(--accent-bg-2); }
.ui-cta-icon { width: 40px; height: 40px; flex: none; display: grid; place-items: center; border-radius: var(--radius-md); background: var(--panel-adm); border: 1px solid var(--accent-line); color: var(--accent); }
.ui-cta-icon svg { width: 20px; height: 20px; }
.ui-cta-text { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.ui-cta-text strong { font-size: 16px; line-height: 24px; font-weight: 600; color: var(--ink-strong); }
#statPendingLeads { font-variant-numeric: tabular-nums; }
.ui-cta-text .sub { font-size: 13px; color: var(--muted); }
body.kit-admin-shell .ui-cta > button { flex: none; }
body.kit-admin-shell .ui-cta > button[hidden] { display: none; }
body.kit-admin-shell .ui-cta:is([data-state=clear], [data-state=error]) { border-color: var(--line); background: var(--panel-adm); }
.ui-cta:is([data-state=clear], [data-state=error]) .ui-cta-icon { border-color: var(--line); background: var(--rib); color: var(--muted); }

/* Etiquetas de tarjetas en minúscula inicial, como el resto del lenguaje shadcn. */
body.kit-admin-shell :is(.ui-stat, .admin-kpi, .desk-metric) .label { text-transform: none; letter-spacing: 0; font-size: 13px; }

/* Control segmentado (Tabla / Kanban) */

/* Leads: vista Kanban (pipeline por estado) */
[data-lead-ledger][data-view=kanban] > .w-table-wrap, [data-lead-ledger][data-view=kanban] > #leadsPagination { display: none; }

/* Origen: una sola franja de 8 números en dos filas de 4. */
body.kit-admin-shell #leadStatCards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
#popupStatActive { font-size: 18px; line-height: 32px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 640px) { body.kit-admin-shell #leadStatCards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Origen: el gráfico de estados no repite el total en el centro. */
.admin-status-panel :is(.wc-center-value, .wc-center-label) { display: none; }

/* Analítica: con hoy o ayer el segundo gráfico por hora se oculta y el primero ocupa la fila. */
body.kit-admin-shell [data-hourly-panel][hidden] { display: none; }
.admin-grid:has(> [data-hourly-panel][hidden]) { grid-template-columns: minmax(0, 1fr); }

/* Botones de fila: fantasma, con ícono; borrar en rojo al pasar. */
body.kit-admin-shell .row-actions .redirect-delete:hover { color: var(--w-danger); background: var(--w-danger-soft); }
body.kit-admin-shell #redirectsBody td:first-child .row-actions { flex-wrap: nowrap; gap: var(--sp-1); }
body.kit-admin-shell #redirectsBody td:first-child a { font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 13px; font-weight: 500; }
body.kit-admin-shell #redirectsBody .cell-url { max-width: 360px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); }

/* Badges de estado (Activo / Inactivo, roles, tipos) con punto, como en Leads. */
body.kit-admin-shell button.redirect-status { min-height: var(--control); padding: 0 var(--sp-1); border-color: transparent; background: transparent; box-shadow: none; }

/* Enlaces: el alta vive en la barra de la tabla. */
body.kit-admin-shell [data-redirect-ledger] .admin-inline-form { display: grid; grid-template-columns: minmax(160px, 1fr) minmax(220px, 2fr) auto; align-items: center; }
body.kit-admin-shell [data-redirect-ledger] .admin-inline-form > .w-field { min-width: 0; }
body.kit-admin-shell .ui-field-hint { margin: calc(var(--sp-2) * -1) 0 0; font-size: 13px; color: var(--muted); }
#slugPreview { font-family: 'JetBrains Mono', ui-monospace, monospace; color: var(--ink-3); }

/* Formularios (Mensajes, Configuración): una columna legible, acciones al pie a la derecha. */
body.kit-admin-shell .ui-form-card { max-width: 760px; gap: var(--sp-4); }
.ui-form-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--sp-3); }
.ui-form-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--sp-2); padding-top: var(--sp-4); border-top: 1px solid var(--line); }
.ui-form-actions #blastStatus { margin-right: auto; font-size: 13px; color: var(--muted); }
body.kit-admin-shell .ui-form-card textarea { min-height: 180px; }

/* Contenido: tarjetas en grilla */
.ui-card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--sp-4); }
body.kit-admin-shell .admin-product-card { gap: var(--sp-3); }
body.kit-admin-shell .admin-product-card .admin-dialog-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--sp-2); }
body.kit-admin-shell .admin-product-card .admin-dialog-heading h3 { margin: 0; font-size: 16px; line-height: 24px; }
body.kit-admin-shell .admin-product-card > .mono { margin: 0; font-size: 13px; color: var(--muted); }
body.kit-admin-shell .admin-product-card dl { display: grid; grid-template-columns: auto 1fr; gap: var(--sp-1) var(--sp-4); margin: 0; padding: var(--sp-3) 0; border-block: 1px solid var(--line); font-size: 14px; }
body.kit-admin-shell .admin-product-card dt { color: var(--muted); }
body.kit-admin-shell .admin-product-card dd { margin: 0; font-variant-numeric: tabular-nums; color: var(--ink-strong); }

/* Configuración: pestañas subrayadas; el título del primer panel repetía la pestaña. */
body.kit-admin-shell .kit-admin-config-tabs.admin-toolbar { gap: var(--sp-1); padding-bottom: 0; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
body.kit-admin-shell .kit-admin-config-tabs button { flex: none; min-height: var(--control); margin-bottom: -1px; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; box-shadow: none; color: var(--muted); padding: 0 var(--sp-3); }
body.kit-admin-shell .kit-admin-config-tabs button:hover:not(:disabled) { background: transparent; color: var(--ink-strong); }
body.kit-admin-shell .kit-admin-config-tabs button[aria-selected=true], body.kit-admin-shell .kit-admin-config-tabs button[aria-selected=true]:hover:not(:disabled) { background: transparent; color: var(--ink-strong); border-color: var(--accent); font-weight: 600; }
.kit-admin-config-panels > [data-admin-config-panel] > h3, .kit-admin-config-group > .admin-panel:first-child > h3 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.kit-admin-shell .kit-admin-config-panels > .admin-panel:not([data-admin-config-panel=Usuarios]) { max-width: 760px; }
body.kit-admin-shell .kit-admin-config-panels .admin-profile { display: flex; align-items: center; gap: var(--sp-3); padding-bottom: var(--sp-3); border-bottom: 1px solid var(--line); }
body.kit-admin-shell .kit-admin-config-panels .admin-panel > button { align-self: flex-start; }

@media (max-width: 959px) {
  body.kit-admin-shell .ui-cta { flex-wrap: wrap; padding: var(--sp-4); }
  body.kit-admin-shell .ui-cta > button { width: 100%; }
  body.kit-admin-shell [data-redirect-ledger] .admin-inline-form { grid-template-columns: minmax(0, 1fr); }
  .ui-form-grid { grid-template-columns: minmax(0, 1fr); }
}
