/* rev. 42 — bloque <style> de TableroControl/Pages/TableroControlVentasPage.razor (Mono web), verbatim. */
    .tcv, .tcv-mask { --em-cobalt:#1a4fba; --em-cobalt-deep:#0f3494; --em-cobalt-light:#2d6ae0; --em-cobalt-pale:#e8eef9; --em-cobalt-subtle:#f0f4fb;
           --bg:#f3f6fb; --panel:#fff; --panel-2:#f7f9fd; --line:#e0e6f0; --line-2:#edf1f7; --ink:#172033; --ink-2:#44506a; --muted:#667389; --faint:#98a2b5;
           --good:#16a34a; --warn:#e08a00; --crit:#dc2626; --good-t:#dcf3e4; --warn-t:#fdefd3; --crit-t:#fde1e1; }
    .tcv { background:var(--bg); color:var(--ink); min-height:100%; padding:14px 18px 26px; font-size:13px; display:flex; flex-direction:column; gap:12px; }
    .tcv *, .tcv-mask * { box-sizing:border-box; }
    .tcv .vdr-wrapper { --vdr-primary:#1a4fba; --vdr-primary-dark:#0f3494; --vdr-primary-light:#e8eef9; }
    .tcv .vdr-trigger { height:34px; }

    /* Encabezado */
    .tcv-hdr { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
    .tcv-hl { display:flex; align-items:center; gap:12px; min-width:0; }
    .tcv-badge { width:42px; height:42px; border-radius:11px; background:linear-gradient(135deg,#2d6ae0,#0f3494); color:#fff; display:flex; align-items:center; justify-content:center; font-size:18px; box-shadow:0 4px 12px rgba(26,79,186,.25); }
    .tcv-hdr h1 { margin:0; font-size:21px; font-weight:800; letter-spacing:-.01em; }
    .tcv-crumb { font-size:12px; color:var(--muted); display:flex; gap:6px; flex-wrap:wrap; align-items:center; margin-top:2px; }
    .tcv-crumb b { color:var(--ink-2); font-weight:600; }
    .tcv-hr { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .tcv-stat { font-size:11.5px; color:var(--muted); text-align:right; line-height:1.3; }
    .tcv-stat b { color:var(--ink-2); }
    .tcv-live { display:inline-flex; align-items:center; gap:6px; height:22px; padding:0 9px; border-radius:11px; font-size:11px; font-weight:700; background:var(--line-2); color:var(--muted); }
    .tcv-live i { width:7px; height:7px; border-radius:50%; background:var(--faint); }
    .tcv-live.on { background:#e6f5ec; color:#15803d; }
    .tcv-live.on i { background:#16a34a; animation:tcvPulse 1.4s ease-in-out infinite; }
    @keyframes tcvPulse { 0%,100% { box-shadow:0 0 0 0 rgba(22,163,74,.45); } 50% { box-shadow:0 0 0 5px rgba(22,163,74,0); } }
    .tcv-cf { display:inline-flex; align-items:center; gap:6px; height:26px; padding:0 6px 0 10px; border-radius:13px; background:var(--em-cobalt); color:#fff; font-size:12px; font-weight:600; }
    .tcv-cf button { border:none; background:rgba(255,255,255,.2); color:#fff; border-radius:50%; width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; font-size:10px; }

    /* Botones (preferencias Vantastic) */
    .tcv-bi { width:31px; height:31px; border-radius:6px; border:none; box-shadow:0 1px 2px rgba(0,0,0,.08); color:#fff; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
    .tcv-bt { display:inline-flex; align-items:center; gap:6px; padding:5px 12px; height:31px; font-size:13px; font-weight:600; border:none; color:#fff; border-radius:6px; cursor:pointer; white-space:nowrap; box-shadow:0 1px 2px rgba(0,0,0,.08); }
    .btn-hover { transition:filter .12s ease; }
    .btn-hover:hover { filter:brightness(1.08); }

    /* Filtros */
    .tcv-panel { background:var(--panel); border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06); }
    .tcv-fbar { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; padding:12px 14px; }
    .tcv-fld { display:flex; flex-direction:column; gap:4px; min-width:0; position:relative; }
    .tcv-fld > label { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600; }
    .tcv-sel { height:34px; border:1px solid var(--line); border-radius:5px; padding:0 10px; background:#fff; color:var(--ink); font-size:13px; min-width:0; }
    .tcv-sel:focus { border-color:var(--em-cobalt-light); box-shadow:0 0 0 3px var(--em-cobalt-pale); outline:none; }
    .tcv-vbtn { height:34px; border:1px solid var(--line); border-radius:5px; background:#fff; padding:0 10px; display:flex; align-items:center; gap:8px; cursor:pointer; font-size:13px; min-width:190px; justify-content:space-between; color:var(--ink); }
    .tcv-vbtn i { color:var(--em-cobalt); }
    .tcv-sep { flex:1; }
    .tcv-pop { position:absolute; top:calc(100% + 6px); left:0; z-index:60; width:300px; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 12px 32px rgba(16,24,40,.16); padding:8px; }
    .tcv-pop-list { max-height:340px; overflow:auto; display:flex; flex-direction:column; }
    .tcv-prow { display:flex; align-items:center; gap:8px; padding:6px 7px; border-radius:6px; font-size:12.5px; cursor:pointer; }
    .tcv-prow:hover { background:var(--em-cobalt-subtle); }
    .tcv-prow input { accent-color:var(--em-cobalt); width:14px; height:14px; }
    .tcv-prow.z { padding-left:22px; font-weight:600; }
    .tcv-prow.v { padding-left:42px; }
    .tcv-pop-f { display:flex; justify-content:flex-end; gap:8px; border-top:1px solid var(--line-2); padding:8px 4px 2px; margin-top:6px; }
    .tcv-bl { display:inline-flex; align-items:center; gap:6px; height:31px; padding:0 11px; border:1px solid var(--line); background:#fff; color:var(--ink-2); border-radius:6px; font-size:12.5px; font-weight:600; cursor:pointer; }

    /* Tarjetas */
    .tcv-card { background:var(--panel); border:1px solid var(--line); border-radius:12px; box-shadow:0 1px 2px rgba(16,24,40,.04),0 1px 3px rgba(16,24,40,.06); min-width:0; }
    .tcv-ch { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--line-2); flex-wrap:wrap; }
    .tcv-ch h3 { font-size:14px; font-weight:700; margin:0; display:flex; gap:7px; align-items:center; }
    .tcv-ch h3 i { color:var(--em-cobalt); }
    .tcv-ch .nota { font-size:11.5px; color:var(--muted); }
    .tcv-cb { padding:12px 14px; }
    .tcv-row1 { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,2fr); gap:12px; }
    .tcv-row3, .tcv-row4 { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:12px; }
    @media (max-width:1150px) { .tcv-row1, .tcv-row3, .tcv-row4 { grid-template-columns:minmax(0,1fr); } }

    .tcv-main { display:flex; flex-direction:column; align-items:center; gap:6px; padding:14px; }
    .tcv-main .tcv-mh { align-self:stretch; display:flex; justify-content:space-between; align-items:center; gap:8px; flex-wrap:wrap; }
    .tcv-main .tcv-mh h3 { font-size:14px; font-weight:700; margin:0; display:flex; gap:7px; align-items:center; }
    .tcv-main .tcv-mh h3 i { color:var(--em-cobalt); }
    .tcv-gw { width:100%; max-width:340px; }
    .tcv-leg { display:flex; gap:12px; flex-wrap:wrap; font-size:11.5px; color:var(--ink-2); justify-content:center; }
    .tcv-leg span { display:inline-flex; align-items:center; gap:5px; }
    .tcv-leg b { display:inline-block; width:14px; height:3px; border-radius:2px; }
    .tcv-ms { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; margin-top:6px; }
    .tcv-m { border:1px solid var(--line-2); border-radius:9px; padding:8px 10px; background:var(--panel-2); min-width:0; }
    .tcv-m .l { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600; }
    .tcv-m .v { font-size:15px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .tcv-m .s { font-size:11px; color:var(--muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }

    .tcv-minis { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
    @media (max-width:720px) { .tcv-minis { grid-template-columns:repeat(2,minmax(0,1fr)); } }
    @media (max-width:440px) { .tcv-minis { grid-template-columns:minmax(0,1fr); } }
    .tcv-mg { padding:10px 12px 12px; display:flex; flex-direction:column; align-items:center; gap:4px; text-align:center; min-width:0; }
    .tcv-mg .t { align-self:stretch; display:flex; justify-content:space-between; align-items:center; gap:6px; font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700; }
    .tcv-mg .t i { color:var(--em-cobalt); margin-right:5px; }
    .tcv-mg .gb { width:100%; max-width:210px; }
    .tcv-mg .f { font-size:11.5px; color:var(--muted); line-height:1.35; }
    .tcv-mg .f b { color:var(--ink); font-weight:600; }
    .tcv-hint { width:18px; height:18px; border-radius:50%; border:1px solid var(--line); display:inline-flex; align-items:center; justify-content:center; color:var(--faint); cursor:help; font-size:10px; font-weight:700; }

    .tcv-pill { display:inline-flex; align-items:center; gap:6px; height:24px; padding:0 10px; border-radius:12px; font-size:12px; font-weight:700; white-space:nowrap; }
    .tcv-pill.META { background:var(--good-t); color:#11703a; }
    .tcv-pill.RIESGO { background:var(--warn-t); color:#8a5200; }
    .tcv-pill.CRITICO { background:var(--crit-t); color:#b21f1f; }

    .tcv-vgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(148px,1fr)); gap:10px; padding:12px 14px; }
    .tcv-vg { border:1px solid var(--line-2); border-radius:11px; background:#fff; padding:8px 8px 10px; display:flex; flex-direction:column; align-items:center; gap:3px; cursor:pointer; text-align:center; font:inherit; color:inherit; transition:border-color .12s, box-shadow .12s, opacity .12s; }
    .tcv-vg:hover { border-color:#b9cbef; box-shadow:0 2px 8px rgba(26,79,186,.08); }
    .tcv-vg.sel { border-color:var(--em-cobalt); box-shadow:0 0 0 2px var(--em-cobalt-pale); }
    .tcv-vg.dim { opacity:.45; }
    .tcv-vg .gb { width:112px; }
    .tcv-vg .gb.s { width:170px; }
    .tcv-vg .nm { font-weight:600; font-size:12.5px; display:flex; align-items:center; gap:6px; max-width:100%; }
    .tcv-vg .nm span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
    .tcv-vg .sub { font-size:11px; color:var(--muted); font-variant-numeric:tabular-nums; }
    .tcv-av { width:20px; height:20px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-size:9px; font-weight:700; flex:none; }
    .tcv-sgrid { display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:10px; padding:12px 14px; }

    .tcv-calg { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:5px; }
    .tcv-calg .wd { font-size:10.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700; text-align:center; }
    .tcv-cd { border-radius:7px; min-height:58px; padding:5px 7px; display:flex; flex-direction:column; justify-content:space-between; border:1px solid transparent; font-variant-numeric:tabular-nums; }
    .tcv-cd .dn { font-size:11px; font-weight:700; color:var(--ink-2); display:flex; justify-content:space-between; }
    .tcv-cd .dv { font-size:12px; font-weight:700; }
    .tcv-cd .dp { font-size:10.5px; color:var(--ink-2); }
    .tcv-cd.META { background:var(--good-t); }
    .tcv-cd.RIESGO { background:var(--warn-t); }
    .tcv-cd.CRITICO { background:var(--crit-t); }
    .tcv-cd.fut { background:#fff; border:1px dashed var(--line); }
    .tcv-cd.fut .dv, .tcv-cd.fut .dp { color:var(--faint); font-weight:500; }
    .tcv-cd.out { visibility:hidden; }
    .tcv-cd.hoy { border:2px solid var(--em-cobalt); }
    .tcv-calm { display:grid; grid-template-columns:repeat(auto-fill,minmax(110px,1fr)); gap:6px; }
    .tcv-cleg { display:flex; gap:12px; flex-wrap:wrap; font-size:11.5px; color:var(--ink-2); margin-top:10px; }
    .tcv-cleg span { display:inline-flex; align-items:center; gap:5px; }
    .tcv-cleg i { width:12px; height:12px; border-radius:3px; display:inline-block; }

    .tcv-alerts { display:flex; flex-direction:column; gap:8px; padding:12px 14px; max-height:520px; overflow:auto; }
    .tcv-al { display:grid; grid-template-columns:26px minmax(0,1fr); gap:9px; align-items:start; padding:9px 10px; border-radius:9px; border:1px solid var(--line-2); background:var(--panel-2); font-size:12.5px; }
    .tcv-al .ai { width:26px; height:26px; border-radius:7px; display:flex; align-items:center; justify-content:center; font-size:12px; }
    .tcv-al b { font-weight:700; }
    .tcv-al small { display:block; color:var(--muted); font-size:11.5px; margin-top:1px; }
    .tcv-al.CRITICO .ai { background:var(--crit-t); color:#b21f1f; }
    .tcv-al.RIESGO .ai { background:var(--warn-t); color:#8a5200; }
    .tcv-al.LOGRO .ai { background:var(--good-t); color:#11703a; }
    .tcv-al.INFO .ai { background:var(--em-cobalt-pale); color:var(--em-cobalt-deep); }
    .tcv-al.clk { cursor:pointer; }
    .tcv-al.clk:hover { border-color:#b9cbef; }
    .tcv-acnt { display:flex; gap:6px; }
    .tcv-acnt span { font-size:11px; font-weight:700; border-radius:9px; padding:1px 7px; }

    .tcv-chart { width:100%; height:auto; display:block; }
    .tcv-chart text { font-size:11px; fill:var(--muted); font-family:inherit; }
    .tcv-legend { display:flex; gap:14px; flex-wrap:wrap; font-size:12px; color:var(--ink-2); margin-bottom:8px; }
    .tcv-legend span { display:inline-flex; align-items:center; gap:6px; }
    .tcv-legend i { width:9px; height:9px; border-radius:50%; display:inline-block; }
    .tcv-donut { display:flex; gap:18px; align-items:center; flex-wrap:wrap; }
    .tcv-dleg { flex:1; min-width:200px; }
    .tcv-dr { display:grid; grid-template-columns:12px minmax(0,1fr) auto auto; gap:8px; align-items:center; padding:5px 4px; border-bottom:1px solid var(--line-2); font-size:12.5px; }
    .tcv-dr i { width:10px; height:10px; border-radius:50%; }
    .tcv-dr b { font-variant-numeric:tabular-nums; }
    .tcv-dr em { font-style:normal; color:var(--muted); min-width:52px; text-align:right; font-variant-numeric:tabular-nums; }

    .tcv-empty { padding:30px 16px; text-align:center; color:var(--muted); }
    .tcv-empty b { display:block; color:var(--ink); font-size:15px; margin-bottom:4px; }
    .tcv-foot { font-size:11.5px; color:var(--muted); display:flex; gap:8px; }
    .tcv-foot i { color:var(--em-cobalt); margin-top:2px; }

    /* Overlay bloqueante + toast */
    .tcv-busy { position:fixed; inset:0; background:rgba(243,246,251,.62); backdrop-filter:blur(1.5px); z-index:1300; display:flex; align-items:center; justify-content:center; }
    .tcv-busy-c { background:#fff; border-radius:12px; box-shadow:0 12px 32px rgba(16,24,40,.18); padding:16px 22px; display:flex; align-items:center; gap:12px; font-weight:600; color:var(--ink-2); }
    .tcv-spin { width:26px; height:26px; border-radius:50%; border:3px solid var(--em-cobalt-pale); border-top-color:var(--em-cobalt); animation:tcvSpin .8s linear infinite; }
    @keyframes tcvSpin { to { transform:rotate(360deg); } }
    .tcv-toast { position:fixed; bottom:18px; right:18px; max-width:min(460px,calc(100vw - 32px)); background:#1d2940; color:#fff; border-radius:9px; padding:10px 14px; font-size:12.5px; z-index:1500; box-shadow:0 10px 24px rgba(15,23,42,.25); }

    /* Modal Cobalt Elegante */
    .tcv-mask { position:fixed; inset:0; background:rgba(15,23,42,.38); z-index:1200; display:flex; align-items:center; justify-content:center; padding:16px; }
    .tcv-modal { background:#fff; border-radius:14px; box-shadow:0 24px 60px rgba(15,23,42,.3); width:100%; max-width:1100px; max-height:92vh; display:flex; flex-direction:column; overflow:hidden; }
    .tcv-mhd { background:linear-gradient(135deg,var(--em-cobalt-light),var(--em-cobalt) 55%,var(--em-cobalt-deep)); color:#fff; padding:13px 16px; display:flex; align-items:center; justify-content:space-between; gap:10px; }
    .tcv-mhd h3 { margin:0; font-size:15px; font-weight:700; display:flex; gap:8px; align-items:center; }
    .tcv-mhd button { border:none; background:rgba(255,255,255,.14); color:#fff; width:30px; height:30px; border-radius:6px; cursor:pointer; }
    .tcv-mbd { padding:16px; overflow:auto; }
    .tcv-mft { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:11px 16px; border-top:1px solid var(--line-2); background:var(--panel-2); flex-wrap:wrap; }
    .tcv-note { font-size:12px; color:var(--muted); background:var(--panel-2); border:1px solid var(--line-2); border-radius:8px; padding:9px 11px; line-height:1.5; }
    .tcv-note ol { margin:6px 0 0; padding-left:18px; }
    .tcv-seg { display:inline-flex; background:var(--line-2); border-radius:7px; padding:2px; gap:2px; }
    .tcv-seg button { height:28px; padding:0 12px; border:none; background:transparent; border-radius:5px; font-size:12px; font-weight:600; color:var(--ink-2); cursor:pointer; }
    .tcv-seg button.on { background:#fff; color:var(--em-cobalt-deep); box-shadow:0 1px 2px rgba(16,24,40,.12); }
    .tcv-tbl { width:100%; border-collapse:separate; border-spacing:0; font-size:12.5px; }
    .tcv-tbl th, .tcv-tbl td { padding:7px 9px; border-bottom:1px solid var(--line-2); text-align:left; white-space:nowrap; }
    .tcv-tbl th { font-size:11px; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); background:var(--panel-2); position:sticky; top:0; }
    .tcv-tbl .n { text-align:right; font-variant-numeric:tabular-nums; }

    /* Modo TV */
    .tcv.tv .tcv-panel, .tcv.tv .tcv-foot { display:none; }
    .tcv.tv .tcv-gw { max-width:420px; }
