/* Control Maestro · módulo privado de Sublicuentas */
#screen-control-cuentas > .card{
  max-width:1380px;
  padding:24px;
  overflow:visible;
}
#screen-control-cuentas > .card > h2,
#screen-control-cuentas > .card > .count{display:none!important}
#rbac-control-cuentas{min-height:420px}

.cm-shell{
  --cm-blue:#168fd3;--cm-green:#20a86b;--cm-yellow:#e6a51a;--cm-red:#dc4b55;
  --cm-text-xs:8px;--cm-text-sm:9px;--cm-text-md:11px;--cm-text-base:12px;--cm-text-lg:14px;--cm-text-xl:18px;
  --cm-row-min:66px;--cm-ledger-min:1040px;--cm-control-h:42px;--cm-search-h:46px;--cm-roster-max:350px;
  color:var(--txt)
}
.cm-shell.cm-size-large{--cm-text-xs:10px;--cm-text-sm:11px;--cm-text-md:13px;--cm-text-base:14px;--cm-text-lg:16px;--cm-text-xl:22px;--cm-row-min:80px;--cm-ledger-min:1180px;--cm-control-h:48px;--cm-search-h:52px;--cm-roster-max:480px}
.cm-shell.cm-size-xlarge{--cm-text-xs:12px;--cm-text-sm:13px;--cm-text-md:15px;--cm-text-base:16px;--cm-text-lg:18px;--cm-text-xl:25px;--cm-row-min:94px;--cm-ledger-min:1320px;--cm-control-h:54px;--cm-search-h:58px;--cm-roster-max:600px}
.cm-hero{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;
  padding:22px;border:1px solid var(--line);border-radius:25px;
  background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--accentSoft) 45%,var(--surface)));
  box-shadow:var(--sh);margin-bottom:14px;
}
.cm-title{display:flex;align-items:center;gap:14px;min-width:0}
.cm-title-icon{width:58px;height:58px;display:grid;place-items:center;flex:none;border-radius:19px;background:var(--accentSoft);font-size:29px}
.cm-title h2{margin:0;color:var(--txt);font:900 28px/1.05 'Fredoka','Nunito',system-ui,sans-serif}
.cm-title p{margin:6px 0 0;color:var(--txt2);font-size:13px;font-weight:700;line-height:1.4}
.cm-build-tag{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:999px;background:var(--card);color:var(--txt2);font-size:10px;font-weight:800;letter-spacing:.02em;vertical-align:middle;cursor:help}
.cm-private{display:inline-flex;align-items:center;gap:7px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--txt2);font-size:11px;font-weight:900;white-space:nowrap}
.cm-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.cm-expand{border-color:color-mix(in srgb,var(--cm-blue) 35%,var(--line));color:var(--cm-blue);background:color-mix(in srgb,var(--cm-blue) 7%,var(--surface));white-space:nowrap}
.cm-refresh-top-wrap{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:210px}.cm-refresh-top-wrap small{color:var(--txt2);font-size:9px;font-weight:850;text-align:center;line-height:1.2}.cm-refresh-top{min-width:210px;border-color:#087dbd!important;background:#087dbd!important;box-shadow:0 7px 17px color-mix(in srgb,#087dbd 28%,transparent)!important;white-space:nowrap}.cm-refresh-top:hover{background:#066da5!important}.cm-refresh-top.is-loading{animation:cmRefreshPulse 1.05s ease-in-out infinite}
@keyframes cmRefreshPulse{50%{opacity:.7;transform:translateY(1px)}}

.cm-reading-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:11px 14px;border:1px solid color-mix(in srgb,var(--cm-blue) 28%,var(--line));border-radius:17px;background:color-mix(in srgb,var(--cm-blue) 7%,var(--card));box-shadow:var(--sh)}
.cm-reading-bar>div:first-child b{display:block;color:var(--txt);font-size:14px;font-weight:950}.cm-reading-bar>div:first-child small{display:block;margin-top:3px;color:var(--txt2);font-size:11px;font-weight:750}
.cm-size-options{display:flex;gap:6px;flex-wrap:wrap}.cm-size-options button{min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--txt2);font:900 12px/1.1 'Nunito',system-ui,sans-serif;cursor:pointer}.cm-size-options button:hover{border-color:var(--cm-blue);color:var(--cm-blue)}.cm-size-options button.on{border-color:var(--cm-blue);background:var(--cm-blue);color:#fff;box-shadow:0 5px 13px color-mix(in srgb,var(--cm-blue) 24%,transparent)}

body.cm-control-no-scroll{overflow:hidden!important}
body.ready #screen-control-cuentas.screen.active.cm-control-expanded,
body.ready #screen-control-cuentas.screen.active:fullscreen{
  position:fixed!important;inset:0!important;z-index:2147483000!important;display:block!important;
  width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;
  margin:0!important;padding:12px!important;box-sizing:border-box!important;background:var(--bg,#edf6ff)!important;
  overflow-x:hidden!important;overflow-y:scroll!important;overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;scrollbar-gutter:stable!important;
  pointer-events:auto!important;
  animation:none!important;transform:none!important;isolation:isolate!important;
}
body.ready #screen-control-cuentas.screen.active.cm-control-expanded>.card,
body.ready #screen-control-cuentas.screen.active:fullscreen>.card{
  width:100%!important;max-width:none!important;height:auto!important;min-height:max-content!important;
  margin:0!important;padding:18px!important;border-radius:18px!important;overflow:visible!important;
}
body.ready #screen-control-cuentas#screen-control-cuentas#screen-control-cuentas#screen-control-cuentas.screen.active.cm-control-expanded>.card,
body.ready #screen-control-cuentas#screen-control-cuentas#screen-control-cuentas#screen-control-cuentas.screen.active:fullscreen>.card{
  width:100%!important;max-width:none!important;height:auto!important;min-height:max-content!important;
  margin:0!important;padding:18px!important;border-radius:18px!important;overflow:visible!important;
}
#screen-control-cuentas:fullscreen #rbac-control-cuentas,#screen-control-cuentas.cm-control-expanded #rbac-control-cuentas,
#screen-control-cuentas:fullscreen .cm-shell,#screen-control-cuentas.cm-control-expanded .cm-shell{
  width:100%!important;max-width:none!important;height:auto!important;min-height:max-content!important;overflow:visible!important;
}
#screen-control-cuentas:fullscreen .cm-roster,#screen-control-cuentas.cm-control-expanded .cm-roster{max-height:none!important;overflow:visible!important}
#screen-control-cuentas.cm-control-expanded>.card,#screen-control-cuentas.cm-control-expanded #rbac-control-cuentas,#screen-control-cuentas.cm-control-expanded .cm-shell{pointer-events:auto!important}
#screen-control-cuentas:fullscreen>.card,#screen-control-cuentas:fullscreen #rbac-control-cuentas,#screen-control-cuentas:fullscreen .cm-shell{pointer-events:auto!important}
#screen-control-cuentas:fullscreen button:not(:disabled),#screen-control-cuentas:fullscreen input:not(:disabled),#screen-control-cuentas:fullscreen select:not(:disabled),#screen-control-cuentas:fullscreen textarea:not(:disabled),#screen-control-cuentas:fullscreen label,#screen-control-cuentas:fullscreen summary{pointer-events:auto!important}

.cm-kpis{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr));gap:10px;margin-bottom:14px}
.cm-kpi{min-height:76px;padding:12px 14px;border:1px solid var(--line);border-radius:17px;background:var(--card);box-shadow:var(--sh)}
.cm-kpi b{display:block;color:var(--txt);font:900 25px/1 'Fredoka','Nunito',system-ui,sans-serif}
.cm-kpi span{display:block;margin-top:7px;color:var(--txt2);font-size:11px;font-weight:850;line-height:1.25}
.cm-kpi.good b{color:var(--good)}.cm-kpi.warn b{color:var(--warn)}.cm-kpi.bad b{color:var(--accent)}

.cm-panel{padding:18px;border:1px solid var(--line);border-radius:22px;background:var(--card);box-shadow:var(--sh);margin-bottom:14px}
.cm-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:13px}
.cm-panel-head h3{margin:0;color:var(--txt);font:900 18px/1.15 'Fredoka','Nunito',system-ui,sans-serif}
.cm-panel-head p{margin:5px 0 0;color:var(--txt2);font-size:12px;font-weight:700;line-height:1.4}
.cm-template-state{display:inline-flex;padding:7px 10px;border-radius:999px;background:var(--accentSoft);color:var(--accent);font-size:11px;font-weight:900;white-space:nowrap}
.cm-template-state.ok{background:var(--goodSoft);color:var(--good)}

.cm-actions{display:flex;flex-wrap:wrap;gap:9px;align-items:center}
.cm-btn,.cm-file-btn{
  min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 13px;
  border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--txt);
  font:900 12px/1.15 'Nunito',system-ui,sans-serif;cursor:pointer;box-shadow:none;text-align:center;
}
.cm-btn:hover,.cm-file-btn:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line));background:var(--accentSoft)}
.cm-btn.primary{border-color:var(--accent);background:var(--accent);color:#fff}
.cm-btn.good{border-color:var(--good);background:var(--good);color:#fff}
.cm-btn.warn{border-color:color-mix(in srgb,var(--warn) 45%,var(--line));background:var(--warnSoft);color:var(--warn)}
.cm-btn:disabled,.cm-file-btn.off{opacity:.5;pointer-events:none}
.cm-file-btn input{display:none}
.cm-hint{margin-top:10px;color:var(--txt2);font-size:11px;font-weight:700;line-height:1.45}
.cm-status{min-height:20px;margin-top:10px;color:var(--txt2);font-size:12px;font-weight:850}
.cm-status.err{color:var(--accent)}.cm-status.good{color:var(--good)}

.cm-toolbar{display:grid;grid-template-columns:minmax(230px,1fr) auto;gap:12px;align-items:center;margin-bottom:12px}
.cm-search{height:46px;display:flex;align-items:center;gap:9px;padding:0 13px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.cm-search span{color:var(--txt2);font-size:20px}.cm-search input{width:100%;border:0;outline:0;background:transparent;color:var(--txt);font:750 13px 'Nunito',system-ui,sans-serif}
.cm-filters{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px}
.cm-filter{min-height:42px;padding:8px 11px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--txt2);font-size:11px;font-weight:900;white-space:nowrap;cursor:pointer}
.cm-filter.on{border-color:var(--accent);background:var(--accentSoft);color:var(--accent)}

/* Auditoría principal agrupada por cuenta/correo */
.cm-accounts-panel{padding:20px}
.cm-audit-callout{margin:-1px 0 13px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--cm-blue) 32%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--cm-blue) 8%,var(--surface));color:var(--txt2);font-size:12px;font-weight:750;line-height:1.5}
.cm-audit-callout b{color:var(--txt)}
.cm-review-progress{margin:0 0 14px;padding:11px 12px 9px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.cm-progress-head{margin-bottom:9px}.cm-progress-head>div>b{display:block;color:var(--txt);font-size:var(--cm-text-lg);font-weight:950}.cm-progress-head>div>small{display:block;margin-top:2px;color:var(--txt2);font-size:var(--cm-text-sm);font-weight:750}
.cm-platform-filters{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:8px;padding:1px 1px 9px;margin-bottom:2px}
.cm-platform-chip{--progress-color:var(--cm-yellow);min-width:0;display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:1px solid var(--line);border-left:5px solid var(--progress-color);border-radius:10px;background:var(--surface);color:var(--txt2);cursor:pointer;text-align:left;transition:box-shadow .12s,border-color .12s}
.cm-platform-chip:hover{box-shadow:0 1px 5px rgba(0,0,0,.07)}
.cm-platform-chip.on{background:color-mix(in srgb,var(--progress-color) 10%,var(--surface));box-shadow:0 0 0 1px color-mix(in srgb,var(--progress-color) 30%,transparent)}
.cm-platform-chip-top{display:flex;align-items:center;justify-content:space-between;gap:7px}
.cm-platform-dot{flex:none;width:9px;height:9px;border-radius:50%;box-shadow:0 0 0 2px color-mix(in srgb,var(--txt) 4%,transparent)}
.cm-platform-chip-top b{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt);font:800 var(--cm-text-md) / 1.15 'Nunito',system-ui,sans-serif}
.cm-platform-chip-top strong{flex:none;color:var(--progress-color);font-size:var(--cm-text-lg);font-weight:900}
.cm-platform-chip-meta{color:var(--txt2);font-size:var(--cm-text-xs);font-weight:650}
.cm-platform-chip>small{color:var(--txt2);font-size:var(--cm-text-xs);font-weight:650}
.cm-platform-chip.empty{--progress-color:var(--cm-red)}.cm-platform-chip.urgent{--progress-color:#f47521}.cm-platform-chip.partial{--progress-color:var(--cm-yellow)}.cm-platform-chip.complete{--progress-color:var(--cm-green)}
.cm-progress-mini{height:4px;border-radius:999px;background:color-mix(in srgb,var(--txt) 8%,var(--card));overflow:hidden}.cm-progress-mini>i{display:block;height:100%;border-radius:inherit;background:var(--progress-color)}
.cm-progress-legend{display:flex;align-items:center;justify-content:flex-end;gap:13px;margin-top:7px;color:var(--txt2);font-size:var(--cm-text-xs);font-weight:650}.cm-progress-legend span{white-space:nowrap}
.cm-account-toolbar{margin-top:3px}.cm-account-count{margin:-2px 0 10px;color:var(--txt2);font-size:11px;font-weight:750}.cm-account-count b{color:var(--txt)}
.cm-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;align-items:start}
.cm-account-no-results{grid-column:1/-1;border:1px dashed var(--line);border-radius:16px;background:var(--surface)}

/* Mesa compacta tipo Excel: una sola línea por correo y detalle desplegable. */
.cm-audit-callout .expired{color:var(--cm-red);font-weight:950}.cm-audit-callout .soon{color:#a86c00;font-weight:950}.cm-audit-callout .active{color:var(--cm-green);font-weight:950}
.cm-filter[data-cm-audit-status="expired"]{color:var(--cm-red)}.cm-filter[data-cm-audit-status="soon"]{color:#9b6900}.cm-filter[data-cm-audit-status="active"],.cm-filter[data-cm-audit-status="reviewed"]{color:var(--cm-green)}
.cm-filter[data-cm-audit-status="expired"].on{border-color:var(--cm-red);background:color-mix(in srgb,var(--cm-red) 11%,var(--surface));color:var(--cm-red)}
.cm-filter[data-cm-audit-status="soon"].on{border-color:var(--cm-yellow);background:color-mix(in srgb,var(--cm-yellow) 13%,var(--surface));color:#8a5b00}
.cm-filter[data-cm-audit-status="active"].on,.cm-filter[data-cm-audit-status="reviewed"].on{border-color:var(--cm-green);background:color-mix(in srgb,var(--cm-green) 11%,var(--surface));color:var(--cm-green)}
.cm-ledger-scroll{width:100%;max-width:100%;overflow-x:auto;overflow-y:visible;border:1px solid var(--line);border-radius:17px;background:var(--surface);scrollbar-width:thin}
.cm-account-ledger{min-width:var(--cm-ledger-min);background:var(--surface)}
.cm-ledger-header,.cm-ledger-row{display:grid;grid-template-columns:150px minmax(245px,1.55fr) 88px minmax(260px,1.35fr) minmax(190px,.9fr) 120px;gap:10px;align-items:center}
.cm-ledger-header{padding:10px 13px;border-bottom:2px solid var(--line);background:var(--card);color:var(--txt2);font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.25px}
.cm-ledger-account{--life-color:#78909c;border-bottom:2px solid color-mix(in srgb,var(--txt) 18%,var(--line));background:var(--surface)}
.cm-ledger-account:last-child{border-bottom:0}.cm-ledger-account.expired{--life-color:var(--cm-red)}.cm-ledger-account.soon{--life-color:var(--cm-yellow)}.cm-ledger-account.active{--life-color:var(--cm-green)}
.cm-ledger-row{position:relative;min-height:var(--cm-row-min);padding:8px 12px 8px 16px;border-left:7px solid var(--platform-color);background:color-mix(in srgb,var(--life-color) 6%,var(--surface));transition:background .15s ease}
.cm-ledger-row:before{content:"";position:absolute;left:5px;top:0;bottom:0;width:3px;background:var(--life-color)}
.cm-ledger-row:hover{background:color-mix(in srgb,var(--life-color) 11%,var(--surface))}.cm-ledger-account.is-open>.cm-ledger-row{background:color-mix(in srgb,var(--life-color) 12%,var(--surface));border-bottom:1px solid var(--line)}
.cm-ledger-platform-cell,.cm-ledger-identity,.cm-ledger-clients,.cm-ledger-expiry,.cm-ledger-control{min-width:0}
.cm-ledger-platform-cell{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.cm-ledger-platform{max-width:100%;padding:5px 8px;border-radius:8px;background:var(--platform-color);color:#fff;font-size:9px;font-weight:950;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cm-life-state{padding:3px 6px;border-radius:7px;font-size:8px;font-weight:950;white-space:nowrap}.cm-life-state.expired{background:color-mix(in srgb,var(--cm-red) 14%,var(--card));color:var(--cm-red)}.cm-life-state.soon{background:color-mix(in srgb,var(--cm-yellow) 18%,var(--card));color:#8a5b00}.cm-life-state.active{background:color-mix(in srgb,var(--cm-green) 13%,var(--card));color:var(--cm-green)}.cm-life-state.nodate{background:var(--card);color:var(--txt2)}
.cm-ledger-identity b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt);font:900 12px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace}.cm-ledger-identity small{display:block;margin-top:5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt2);font:800 9px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.35px}
.cm-ledger-clients{text-align:center}.cm-ledger-clients b{display:block;color:var(--txt);font:900 18px/1 'Fredoka','Nunito',system-ui,sans-serif}.cm-ledger-clients small{display:block;margin-top:4px;color:var(--txt2);font-size:8px;font-weight:850}
.cm-ledger-expiry>div{display:flex;flex-wrap:wrap;gap:4px}.cm-ledger-expiry span{display:inline-flex;padding:4px 6px;border-radius:7px;font-size:8px;font-weight:950;white-space:nowrap}.cm-ledger-expiry span.expired{background:color-mix(in srgb,var(--cm-red) 14%,var(--card));color:var(--cm-red)}.cm-ledger-expiry span.soon{background:color-mix(in srgb,var(--cm-yellow) 17%,var(--card));color:#8a5b00}.cm-ledger-expiry span.active{background:color-mix(in srgb,var(--cm-green) 13%,var(--card));color:var(--cm-green)}.cm-ledger-expiry span.nodate{background:var(--card);color:var(--txt2)}.cm-ledger-expiry>small{display:block;margin-top:5px;color:var(--txt2);font-size:8px;font-weight:800}
.cm-ledger-control{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.cm-control-diff{display:inline-flex;padding:5px 7px;border-radius:8px;font-size:8px;font-weight:950}.cm-control-diff.bad{background:var(--warnSoft);color:var(--warn)}.cm-control-diff.ok{background:var(--goodSoft);color:var(--good)}
.cm-review-box{width:100%;box-sizing:border-box;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:6px 8px;border:1px solid var(--line);border-radius:9px;background:var(--card)}.cm-review-box b{font-size:9px;font-weight:950;line-height:1.15}.cm-review-box small{font-size:8px;font-weight:850;line-height:1.2}.cm-review-box.ok{border-color:color-mix(in srgb,var(--cm-green) 40%,var(--line));background:color-mix(in srgb,var(--cm-green) 10%,var(--card));color:var(--cm-green)}.cm-review-box.due{border-color:color-mix(in srgb,var(--cm-yellow) 45%,var(--line));background:color-mix(in srgb,var(--cm-yellow) 13%,var(--card));color:#8a5b00}.cm-review-box.bad{border-color:color-mix(in srgb,var(--cm-red) 40%,var(--line));background:color-mix(in srgb,var(--cm-red) 9%,var(--card));color:var(--cm-red)}
.cm-ledger-toggle{min-height:36px;padding:8px 9px;border:1px solid color-mix(in srgb,var(--platform-color) 35%,var(--line));border-radius:10px;background:var(--card);color:var(--txt);font-size:9px;font-weight:950;cursor:pointer;white-space:nowrap}.cm-ledger-toggle i{margin-left:4px;color:var(--platform-color);font-style:normal}.cm-ledger-toggle:hover{background:color-mix(in srgb,var(--platform-color) 9%,var(--card));border-color:var(--platform-color)}
.cm-ledger-detail{padding:0 12px 13px 16px;border-left:7px solid var(--platform-color);background:color-mix(in srgb,var(--platform-color) 3%,var(--surface))}.cm-ledger-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 15px 9px;background:var(--card)}.cm-ledger-detail-head>div{min-width:0}.cm-ledger-detail-head>div>b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt);font-size:13px}.cm-ledger-detail-head>div>small{display:block;margin-top:4px;color:var(--txt2);font-size:9px;font-weight:750}
.cm-ledger-detail-side{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.cm-account-tools{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.cm-row-action{min-height:34px;padding:7px 9px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--txt);font:900 var(--cm-text-sm)/1.1 'Nunito',system-ui,sans-serif;cursor:pointer;white-space:nowrap}.cm-row-action:hover{filter:brightness(.98)}.cm-row-action.edit{border-color:color-mix(in srgb,var(--cm-blue) 42%,var(--line));background:color-mix(in srgb,var(--cm-blue) 9%,var(--card));color:var(--cm-blue)}.cm-row-action.move{border-color:color-mix(in srgb,var(--cm-yellow) 45%,var(--line));background:color-mix(in srgb,var(--cm-yellow) 13%,var(--card));color:#8a5b00}.cm-row-action.delete{border-color:color-mix(in srgb,var(--cm-red) 42%,var(--line));background:color-mix(in srgb,var(--cm-red) 9%,var(--card));color:var(--cm-red)}.cm-row-action.note{border-color:color-mix(in srgb,#8a5cf6 42%,var(--line));background:color-mix(in srgb,#8a5cf6 9%,var(--card));color:#7c4dff}.cm-row-action:disabled{opacity:.5;pointer-events:none}
.cm-roster-note-edit{grid-column:1/-1;display:flex;gap:8px;align-items:center;padding:8px 0 2px}.cm-roster-note-edit input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--txt);font:750 var(--cm-text-sm)/1.2 'Nunito',system-ui,sans-serif}.cm-roster-note-edit input:focus{outline:2px solid #7c4dff;outline-offset:1px}
#screen-control-cuentas:fullscreen .cm-account-toolbar,#screen-control-cuentas.cm-control-expanded .cm-account-toolbar{position:sticky;top:-1px;z-index:30;padding:8px;margin:0 0 9px;background:color-mix(in srgb,var(--card) 94%,transparent);border:1px solid var(--line);border-radius:14px;backdrop-filter:blur(14px)}

/* Escala de lectura accesible. Conserva el diseño y aumenta texto, botones y separación. */
.cm-shell .cm-btn,.cm-shell .cm-file-btn{min-height:var(--cm-control-h);font-size:var(--cm-text-base)}
.cm-shell .cm-search{height:var(--cm-search-h)}.cm-shell .cm-search input{font-size:var(--cm-text-base)}
.cm-shell .cm-filter{min-height:var(--cm-control-h);font-size:var(--cm-text-sm)}
.cm-shell .cm-panel-head p,.cm-shell .cm-audit-callout,.cm-shell .cm-account-count{font-size:var(--cm-text-md)}
.cm-shell .cm-platform-chip-top b{font-size:var(--cm-text-md)}.cm-shell .cm-platform-chip-top strong{font-size:var(--cm-text-lg)}.cm-shell .cm-platform-chip-meta,.cm-shell .cm-platform-chip>small{font-size:var(--cm-text-xs)}
.cm-shell .cm-ledger-header{font-size:var(--cm-text-sm)}
.cm-shell .cm-ledger-platform{font-size:var(--cm-text-sm)}.cm-shell .cm-life-state{font-size:var(--cm-text-xs)}
.cm-shell .cm-ledger-identity b{font-size:var(--cm-text-lg)}.cm-shell .cm-ledger-identity small{font-size:var(--cm-text-sm)}
.cm-shell .cm-ledger-clients b{font-size:var(--cm-text-xl)}.cm-shell .cm-ledger-clients small{font-size:var(--cm-text-xs)}
.cm-shell .cm-ledger-expiry span,.cm-shell .cm-control-diff,.cm-shell .cm-review-box b{font-size:var(--cm-text-sm)}
.cm-shell .cm-ledger-expiry>small,.cm-shell .cm-review-box small{font-size:var(--cm-text-xs)}
.cm-shell .cm-ledger-toggle{min-height:var(--cm-control-h);font-size:var(--cm-text-sm)}
.cm-shell .cm-ledger-detail-head>div>b{font-size:var(--cm-text-lg)}.cm-shell .cm-ledger-detail-head>div>small{font-size:var(--cm-text-sm)}
.cm-shell .cm-account-issue,.cm-shell .cm-review-state b,.cm-shell .cm-review-state small{font-size:var(--cm-text-sm)}
.cm-shell .cm-credential>span{font-size:var(--cm-text-sm)}.cm-shell .cm-credential code{font-size:var(--cm-text-md)}.cm-shell .cm-copy{font-size:var(--cm-text-sm)}
.cm-shell .cm-account-capacity span{font-size:var(--cm-text-sm)}.cm-shell .cm-account-capacity b{font-size:var(--cm-text-lg)}
.cm-shell .cm-roster{max-height:var(--cm-roster-max)}
.cm-shell .cm-roster-head b{font-size:var(--cm-text-md)}.cm-shell .cm-roster-head small{font-size:var(--cm-text-sm)}.cm-shell .cm-roster-head .cm-btn{font-size:var(--cm-text-sm)}
.cm-shell .cm-roster-slot b,.cm-shell .cm-roster-date b{font-size:var(--cm-text-md)}.cm-shell .cm-roster-slot small,.cm-shell .cm-roster-date small{font-size:var(--cm-text-xs)}
.cm-shell .cm-roster-sources i{font-size:var(--cm-text-xs)}.cm-shell .cm-roster-client b{font-size:var(--cm-text-md)}.cm-shell .cm-roster-client small{font-size:var(--cm-text-sm)}
.cm-shell .cm-roster-status{font-size:var(--cm-text-xs)}
.cm-shell .cm-account-review>div:first-child b{font-size:var(--cm-text-md)}.cm-shell .cm-account-review>div:first-child small{font-size:var(--cm-text-sm)}.cm-shell .cm-account-review-actions .cm-btn{font-size:var(--cm-text-sm)}
.cm-shell .cm-review-note{font-size:var(--cm-text-sm)}
.cm-account-card{min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:20px;background:var(--surface);box-shadow:0 8px 20px color-mix(in srgb,var(--txt) 7%,transparent)}
.cm-account-card.has-issues{border-color:color-mix(in srgb,var(--cm-yellow) 40%,var(--line))}.cm-account-card.is-clean{border-color:color-mix(in srgb,var(--cm-green) 36%,var(--line))}
.cm-account-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:15px 15px 10px;background:linear-gradient(135deg,var(--card),color-mix(in srgb,var(--accentSoft) 25%,var(--surface)))}
.cm-account-head h4{margin:7px 0 3px;overflow-wrap:anywhere;color:var(--txt);font:900 16px/1.2 'Fredoka','Nunito',system-ui,sans-serif}.cm-account-head>div>small{color:var(--txt2);font-size:10px;font-weight:750}
.cm-account-platform{border-color:color-mix(in srgb,var(--cm-blue) 32%,var(--line));background:color-mix(in srgb,var(--cm-blue) 9%,var(--card));color:var(--cm-blue)}
.cm-review-state{max-width:245px;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.cm-review-state b{padding:6px 9px;border-radius:9px;background:var(--accentSoft);color:var(--accent);font-size:9px;font-weight:950;line-height:1.2}.cm-review-state small{color:var(--txt2);font-size:9px;font-weight:800;line-height:1.35}
.cm-review-state.ok b{background:var(--goodSoft);color:var(--good)}.cm-review-state.bad b{background:var(--accentSoft);color:var(--accent)}.cm-review-state.due b{background:var(--warnSoft);color:var(--warn)}
.cm-account-issues{display:flex;flex-wrap:wrap;gap:6px;padding:0 15px 11px;background:var(--card)}
.cm-account-issue{padding:4px 7px;border-radius:8px;font-size:9px;font-weight:900}.cm-account-issue.ok{background:var(--goodSoft);color:var(--good)}.cm-account-issue.bad{background:var(--warnSoft);color:var(--warn)}
.cm-credentials{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cm-credential{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 7px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:13px;background:var(--card)}
.cm-credential>span{grid-column:1/-1;color:var(--txt2);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.2px}.cm-credential code{min-width:0;overflow:hidden;text-overflow:ellipsis;color:var(--txt);font:850 11px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace}.cm-credential code.cm-secret{letter-spacing:1px}.cm-credential code.cm-secret.shown{overflow-wrap:anywhere;white-space:normal;letter-spacing:0}
.cm-secret-actions{display:flex;gap:4px}.cm-copy{min-height:29px;padding:5px 7px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--txt2);font-size:9px;font-weight:900;cursor:pointer;white-space:nowrap}.cm-copy:hover{border-color:var(--cm-blue);color:var(--cm-blue)}.cm-copy:disabled{opacity:.45;pointer-events:none}
.cm-account-capacity{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 15px}.cm-account-capacity span{padding:7px 5px;border-radius:10px;background:var(--card);color:var(--txt2);font-size:9px;font-weight:800;text-align:center}.cm-account-capacity b{display:block;margin-bottom:2px;color:var(--txt);font-size:14px}
.cm-roster-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 15px;border-top:1px solid var(--line);background:var(--card)}.cm-roster-head>div{min-width:0}.cm-roster-head b{display:block;color:var(--txt);font-size:11px;font-weight:950}.cm-roster-head small{display:block;margin-top:3px;color:var(--txt2);font-size:9px;font-weight:700;line-height:1.35}.cm-roster-head .cm-btn{min-height:34px;padding:7px 9px;font-size:9px;white-space:nowrap}
.cm-roster{max-height:350px;overflow:auto;scrollbar-width:thin}
.cm-roster-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(145px,.95fr) 94px 118px minmax(185px,auto);gap:8px;align-items:center;padding:10px 15px;border-top:1px solid var(--line);background:var(--surface)}.cm-roster-row.ok{box-shadow:inset 3px 0 var(--cm-green)}.cm-roster-row.warn{box-shadow:inset 3px 0 var(--cm-yellow)}.cm-roster-row.bad{box-shadow:inset 3px 0 var(--cm-red)}
.cm-roster-slot,.cm-roster-date{min-width:0}.cm-roster-slot b,.cm-roster-date b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt);font-size:10px;font-weight:900}.cm-roster-slot small,.cm-roster-date small{display:block;margin-top:3px;color:var(--txt2);font-size:8px;font-weight:750}
.cm-roster-sources{display:flex;flex-wrap:wrap;gap:3px;margin-top:5px}.cm-roster-sources i{display:inline-flex;padding:2px 4px;border-radius:5px;background:color-mix(in srgb,var(--cm-blue) 8%,var(--card));color:var(--txt2);font-size:7px;font-style:normal;font-weight:850;line-height:1.2}
.cm-roster-client{min-width:0;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.cm-roster-client b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt);font-size:11px;font-weight:950}.cm-roster-client small{display:block;margin-top:3px;color:var(--cm-blue);font-size:9px;font-weight:800}.cm-roster-client:hover b{color:var(--cm-blue)}
.cm-roster-status{display:inline-flex;padding:5px 8px;border-radius:8px;font-size:9px;font-weight:850;white-space:nowrap}.cm-roster-status.ok{background:var(--goodSoft);color:var(--good)}.cm-roster-status.warn{background:var(--warnSoft);color:var(--warn)}.cm-roster-status.bad{background:var(--accentSoft);color:var(--accent)}
.cm-roster-actions{display:flex;justify-content:flex-end;gap:5px;flex-wrap:wrap}.cm-roster-actions>span{color:var(--txt2);font-size:var(--cm-text-xs);font-weight:800}
.cm-excel-delete-confirm{display:inline-flex!important;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;max-width:100%;color:var(--txt)!important}.cm-excel-delete-confirm b{flex:1 0 100%;color:#b4232e;font-size:var(--cm-text-sm);font-weight:950;text-align:right;line-height:1.2}.cm-excel-delete-confirm button{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:6px 9px;border:1px solid var(--line);border-radius:9px;background:var(--card);color:var(--txt);font:900 var(--cm-text-sm)/1.1 'Nunito',system-ui,sans-serif;cursor:pointer}.cm-excel-delete-confirm .cm-excel-delete-ok{border-color:#dc4b55;background:#dc4b55;color:#fff}.cm-excel-delete-confirm.working b{color:var(--cm-blue);text-align:right}.cm-excel-delete-confirm.error b{color:#b4232e}.cm-excel-delete-confirm.error .cm-excel-delete-back{border-color:#dc4b55;color:#b4232e}
.cm-roster-empty{padding:18px}.cm-review-note{margin:10px 15px 0;padding:9px 10px;border-radius:10px;background:var(--warnSoft);color:var(--txt2);font-size:10px;font-weight:750;line-height:1.4}.cm-review-note b{color:var(--txt)}
.cm-review-note.saving{background:color-mix(in srgb,var(--cm-blue) 11%,var(--surface));color:var(--cm-blue)}
.cm-review-note.good{background:color-mix(in srgb,var(--cm-green) 12%,var(--surface));color:var(--cm-green)}
.cm-review-note.err{background:color-mix(in srgb,var(--cm-red) 11%,var(--surface));color:var(--cm-red)}
.cm-account-review{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;padding:12px 15px 15px}.cm-account-review>div:first-child b{display:block;color:var(--txt);font-size:10px;font-weight:950}.cm-account-review>div:first-child small{display:block;margin-top:3px;color:var(--txt2);font-size:9px;font-weight:700;line-height:1.35}.cm-account-review-actions{display:flex;gap:6px}.cm-account-review-actions .cm-btn{min-height:36px;padding:7px 9px;font-size:9px;white-space:nowrap}
.cm-load-more{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:16px 4px 2px}.cm-load-more small{color:var(--txt2);font-size:10px;font-weight:750}

.cm-details{padding:0;overflow:hidden}.cm-details>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;cursor:pointer}.cm-details>summary::-webkit-details-marker{display:none}.cm-details>summary span b{display:block;color:var(--txt);font:900 16px/1.2 'Fredoka','Nunito',system-ui,sans-serif}.cm-details>summary span small{display:block;margin-top:4px;color:var(--txt2);font-size:11px;font-weight:700}.cm-details>summary i{color:var(--cm-blue);font-size:10px;font-style:normal;font-weight:900;white-space:nowrap}.cm-details[open]>summary{border-bottom:1px solid var(--line);background:var(--card)}.cm-details-body{padding:16px 18px 18px}

.cm-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:17px;background:var(--surface);max-height:520px}
.cm-table{width:100%;min-width:930px;border-collapse:separate;border-spacing:0}
.cm-table th{position:sticky;top:0;z-index:2;padding:11px 12px;border-bottom:1px solid var(--line);background:var(--card);color:var(--txt2);font-size:10px;font-weight:900;text-align:left;text-transform:uppercase;letter-spacing:.25px}
.cm-table td{padding:11px 12px;border-bottom:1px solid var(--line);color:var(--txt);font-size:12px;font-weight:720;vertical-align:middle}
.cm-table tr:last-child td{border-bottom:0}.cm-table tbody tr:hover td{background:color-mix(in srgb,var(--accentSoft) 28%,transparent)}
.cm-client{display:flex;flex-direction:column;gap:3px}.cm-client b{font-weight:900}.cm-client small{color:var(--txt2);font-size:10px}
.cm-platform,.cm-result{display:inline-flex;align-items:center;width:max-content;max-width:180px;padding:5px 8px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--txt2);font-size:10px;font-weight:900}
.cm-result.ok{border-color:color-mix(in srgb,var(--good) 35%,var(--line));background:var(--goodSoft);color:var(--good)}
.cm-result.warn{border-color:color-mix(in srgb,var(--warn) 35%,var(--line));background:var(--warnSoft);color:var(--warn)}
.cm-result.bad{border-color:color-mix(in srgb,var(--accent) 35%,var(--line));background:var(--accentSoft);color:var(--accent)}
.cm-inline-actions{display:flex;gap:6px;justify-content:flex-end}.cm-mini{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--txt);cursor:pointer}
.cm-empty{padding:28px 18px;text-align:center;color:var(--txt2);font-size:13px;font-weight:750;line-height:1.5}

.cm-backups{display:grid;gap:8px}
.cm-backup{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:15px;background:var(--surface)}
.cm-backup b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--txt);font-size:12px}.cm-backup small{display:block;margin-top:4px;color:var(--txt2);font-size:10px;font-weight:700}
.cm-backup-actions{display:flex;gap:6px}
.cm-note{padding:12px 14px;border:1px solid color-mix(in srgb,var(--info) 26%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--accentSoft) 45%,var(--surface));color:var(--txt2);font-size:11px;font-weight:750;line-height:1.45}

.cm-loading{min-height:340px;display:grid;place-items:center;text-align:center;color:var(--txt2);font-weight:850}
.cm-spinner{width:42px;height:42px;margin:0 auto 12px;border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:cmSpin .8s linear infinite}
@keyframes cmSpin{to{transform:rotate(360deg)}}

@media(max-width:980px){
  #screen-control-cuentas > .card{padding:18px 14px 24px}
  .cm-kpis{grid-template-columns:repeat(3,1fr)}
  .cm-hero{grid-template-columns:1fr}.cm-private{width:max-content}.cm-hero-actions{justify-content:flex-start}.cm-refresh-top-wrap{min-width:min(100%,260px)}.cm-refresh-top{min-width:100%}
}
@media(max-width:1250px){.cm-account-grid{grid-template-columns:1fr}}
@media(max-width:980px){.cm-platform-filters{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){
  .cm-hero{padding:17px}.cm-title{align-items:flex-start}.cm-title-icon{width:48px;height:48px;border-radius:16px;font-size:24px}.cm-title h2{font-size:23px}
  .cm-reading-bar{display:block}.cm-size-options{display:grid;grid-template-columns:repeat(3,1fr);margin-top:10px}.cm-size-options button{padding:8px 5px}
  .cm-kpis{grid-template-columns:1fr 1fr}.cm-kpi{min-height:82px}
  .cm-panel{padding:14px}.cm-panel-head{display:block}.cm-template-state{margin-top:9px}
  .cm-toolbar{grid-template-columns:1fr}.cm-filters{width:100%}.cm-platform-filters{grid-template-columns:repeat(2,1fr)}
  .cm-progress-legend{justify-content:flex-start;flex-wrap:wrap;gap:5px 10px}
  .cm-actions>.cm-btn,.cm-actions>.cm-file-btn{flex:1;min-width:135px}
  .cm-backup{grid-template-columns:1fr}.cm-backup-actions{justify-content:flex-start}
  .cm-accounts-panel{padding:14px}.cm-account-toolbar{margin-top:4px}.cm-account-head{grid-template-columns:1fr}.cm-review-state{max-width:none;align-items:flex-start;text-align:left}
  .cm-credentials{grid-template-columns:1fr}.cm-account-capacity{grid-template-columns:1fr 1fr}.cm-roster-head{align-items:flex-start}.cm-roster-head .cm-btn{flex:none}
  .cm-ledger-detail-head{display:block}.cm-ledger-detail-side{align-items:flex-start;margin-top:10px}.cm-account-tools{justify-content:flex-start}
  .cm-roster-row{grid-template-columns:1fr 1fr;gap:8px}.cm-roster-status,.cm-roster-actions{grid-column:1/-1}.cm-roster-actions{justify-content:flex-start}.cm-account-review{grid-template-columns:1fr}.cm-account-review-actions{display:grid;grid-template-columns:1fr 1fr}.cm-account-review-actions .cm-btn{white-space:normal}
  .cm-details>summary{align-items:flex-start}.cm-details>summary i{white-space:normal;text-align:right}.cm-details-body{padding:13px}
}
@media(max-width:430px){.cm-platform-filters{grid-template-columns:1fr}}
