
.home{max-width:1480px;margin:0 auto;padding-inline:24px;padding-block:20px 32px;display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:18px;align-items:start}
.h-col{display:flex;flex-direction:column;gap:18px;min-width:0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:18px;min-width:0}
.card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.card-head h2{font-size:16px;font-weight:600;display:flex;align-items:center;gap:10px}
.card-head h2 svg.lucide{width:22px;height:22px}
.card-head .more{margin-left:auto;font-size:12.5px;color:var(--ink-2);text-decoration:none;white-space:nowrap}
.card-head .more:hover{text-decoration:underline}
.card-head select{font-size:12.5px;padding:5px 26px 5px 10px;margin-left:auto}
.count{background:var(--brand-red);color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:var(--r);display:inline-grid;place-items:center;padding:0 5px}
.pend{display:inline-flex;font-family:var(--mono);font-size:10px;letter-spacing:.04em;padding:1px 6px;border-radius:4px;background:var(--warn-bg);color:var(--warn-ink);margin-left:6px;vertical-align:2px}
select{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:7px 30px 7px 10px;min-width:0;max-width:100%}


.h-top{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:18px}
.hero{position:relative;overflow:hidden;background:var(--brand-black);color:#fff;border-radius:var(--r-lg);min-height:112px;display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;padding:18px 96px 18px 26px}
.hero img.logo{height:66px;width:auto;position:relative;z-index:1}
.hero .div{width:1px;align-self:stretch;background:#3a3a36;position:relative;z-index:1}
.hero .msg{position:relative;z-index:1;flex:1 1 240px}
@media (max-width:1560px){.hero .div{display:none}.hero img.logo{height:56px}}
.hero .msg b{display:block;font-size:22px;font-weight:700;line-height:1.2}
.hero .msg b span{color:var(--brand-yellow)}
.hero .msg small{font-size:13px;color:#d8d8d2}
.stroke{position:absolute;background:var(--brand-yellow);border-radius:40px;transform:rotate(-16deg);opacity:.95}
.hero .stroke.a{width:190px;height:24px;right:-50px;top:20px}
.hero .stroke.b{width:130px;height:13px;right:-10px;bottom:24px;opacity:.8}
.hero .stroke.c{width:70px;height:8px;right:60px;top:60px;opacity:.6}
.hero .photo{position:absolute;right:18px;top:50%;transform:translateY(-50%);height:130%;z-index:1}

.when{display:flex;flex-direction:column;gap:12px;justify-content:center}
.when .row{display:flex;justify-content:space-between;gap:10px;font-size:13px;color:var(--ink-2)}
.when .row span{display:inline-flex;gap:6px;align-items:center}
.when .row svg.lucide{width:16px;height:16px;color:var(--muted)}
.loc{position:relative}
.loc svg.lucide{position:absolute;left:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;pointer-events:none}
.loc select{width:100%;padding-left:32px}

.loc select{-webkit-appearance:none;appearance:none;font:inherit;font-size:13.5px;color:var(--ink);background-color:var(--surface);border:1px solid var(--line);border-radius:var(--r,8px);
  height:38px;padding:0 32px 0 34px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 4.5 6 8l3.5-3.5' fill='none' stroke='%23888' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;background-size:12px}
.loc select:hover{border-color:var(--line-2,var(--line))}
.loc select:focus-visible{outline:2px solid var(--focus,var(--accent));outline-offset:1px}
.loc svg.lucide{left:11px;color:var(--muted);z-index:1}


.h-kpis{--kcols:5;display:grid;grid-template-columns:repeat(var(--kcols),minmax(0,1fr));gap:14px}
.h-kpi{display:flex;flex-direction:column;gap:4px;position:relative}
.h-kpi .ico{width:32px;height:32px;border-radius:var(--r);background:var(--accent-soft);color:var(--accent-text);display:grid;place-items:center;margin-bottom:8px}
.h-kpi .ico svg.lucide{width:20px;height:20px}
.h-kpi .l{font-size:13px;color:var(--ink-2)}
.h-kpi .v{font-size:26px;font-weight:700;letter-spacing:-.01em;line-height:1.15}
.h-kpi .v small{font-size:15px;font-weight:500;color:var(--muted)}
.h-kpi .d{display:flex;flex-direction:column;font-size:12px;color:var(--muted)}
.h-kpi .d b{font-size:14px;font-weight:600}
.h-kpi .spark{position:absolute;right:16px;top:22px;width:64px;height:30px}


.h-row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:18px}
.h-row3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.legend-dots{display:flex;gap:16px;justify-content:flex-end;font-size:12.5px;color:var(--ink-2);margin:-6px 0 6px}
.legend-dots span{display:inline-flex;align-items:center;gap:6px}
.legend-dots i{width:9px;height:9px;border-radius:50%;display:inline-block}
.home .chart svg{display:block;width:100%;height:auto;overflow:visible}
.home .chart text{font-size:11px;fill:var(--muted);font-family:var(--sans)}


.net-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}
.net-stats div{padding:0 12px;border-left:1px solid var(--line)}
.net-stats div:first-child{border-left:0;padding-left:0}
.net-stats b{display:block;font-size:20px;font-weight:700}
.net-stats span{font-size:12.5px;color:var(--ink-2)}
.net-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center}
.map svg{display:block;width:100%;height:auto}
.map .nation{fill:var(--surface-2);stroke:var(--axis);stroke-width:.9;vector-effect:non-scaling-stroke}
.map .state{fill:var(--surface-2);stroke:none}
.map .state.has{fill:color-mix(in srgb,var(--brand-yellow) 14%,var(--surface-2))}
.map .state.has[data-mz]{cursor:zoom-in}
.map .state.has[data-mz]:hover{fill:color-mix(in srgb,var(--brand-yellow) 26%,var(--surface-2))}
.map .borders{fill:none;stroke:var(--axis);stroke-width:.6;stroke-linejoin:round;opacity:.75;vector-effect:non-scaling-stroke;pointer-events:none}
.map .dot{stroke:var(--surface);stroke-width:1.5;vector-effect:non-scaling-stroke}
.map .lbl{fill:var(--ink-2);font-family:var(--sans);font-weight:600;paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke;pointer-events:none}
.map .pending{font-size:12.5px;color:var(--muted);margin:0;min-height:120px;display:grid;place-items:center}
.map-off{display:flex;gap:10px;align-items:flex-start;background:var(--surface-2);border:1px dashed var(--line);border-radius:var(--r);padding:14px;font-size:12.5px;color:var(--ink-2)}
.map-off p{margin:0}.map-off b{color:var(--ink)}
.map-off svg.lucide{width:20px;height:20px;flex:none;color:var(--muted)}
.mz{display:inline-flex;flex-wrap:wrap;gap:2px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:2px;margin:0 0 8px}
.mz:empty{display:none}
.mz button{font:inherit;font-size:12px;border:0;background:none;color:var(--ink-2);padding:4px 10px;border-radius:6px;cursor:pointer}
.mz button:hover{color:var(--ink)}
.mz button[aria-pressed="true"]{background:var(--btn-bg);color:var(--btn-ink);font-weight:600}
.mz button:focus-visible{outline:2px solid var(--brand-yellow-2);outline-offset:1px}
.map-legend{display:flex;flex-direction:column;gap:10px;font-size:13px;color:var(--ink-2)}
.map-legend span{display:inline-flex;align-items:center;gap:8px}
.map-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}
.map-note{font-size:12px;color:var(--muted);margin:6px 0 0}


.h-table{width:100%;border-collapse:collapse;font-size:13px}
.h-table th{font-weight:600;text-align:left;padding:6px 6px;border-bottom:1px solid var(--line);font-size:12.5px}
.h-table td{padding:9px 6px;border-bottom:1px solid var(--line)}
.h-table td.r,.h-table th.r{text-align:right;white-space:nowrap}
.h-table td:first-child{color:var(--muted);width:20px}
.h-table .st{color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-table .num{font-variant-numeric:tabular-nums;white-space:nowrap}

.h-top-t{table-layout:fixed}
.h-top-t col.c-n{width:24px}
.h-top-t col.c-v{width:62px}
.h-top-t col.c-d{width:64px}
.h-top-t th,.h-top-t td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-top-t th:first-child,.h-top-t td:first-child{padding-inline:0 4px;width:auto}
.h-top-t td.r,.h-top-t th.r{padding-inline:4px 2px}

.h-turn-h{margin-top:16px}
.h-turn{max-height:236px;overflow:auto;border:1px solid var(--line);border-radius:var(--r)}
.h-turn-t{table-layout:fixed;font-size:12.5px}
.h-turn-t col.c-t{width:50px}
.h-turn-t col.c-per{width:58px}
.h-turn-t th.c-per,.h-turn-t td.c-per{background:color-mix(in srgb,var(--brand-yellow) 12%,transparent);font-weight:600}
.h-turn-t tfoot td.c-per{background:color-mix(in srgb,var(--brand-yellow) 18%,var(--surface-2))}
.h-turn-t th{position:sticky;top:0;background:var(--surface);z-index:1}
.h-turn-t th,.h-turn-t td{padding:6px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.h-turn-t td:first-child{color:var(--ink-2);width:auto}
.h-turn-t td.hi{color:var(--crit-ink);font-weight:700;background:var(--crit-bg)}
.h-turn-t tbody tr:last-child td{border-bottom:0}
.h-turn-t tfoot td{position:sticky;bottom:0;background:var(--surface-2);font-weight:700;color:var(--ink);border-top:1px solid var(--line);border-bottom:0}
.h-turn-t tfoot td.hi{background:var(--crit-bg)}
.turn-note,.stock-note{font-size:11.5px;color:var(--muted);margin:6px 0 0}
.h-empty{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--ink-2);background:var(--surface-2);border-radius:var(--r);padding:12px}
.h-empty b{display:block;color:var(--ink);font-weight:600}
.h-empty svg.lucide{width:20px;height:20px;flex:none;color:var(--muted)}
.sub-h .down,.callout .down{color:var(--crit-ink);font-weight:600}
.stock .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.t-hi{font-style:normal;font-size:10.5px;font-weight:700;color:var(--crit-ink);background:var(--crit-bg);border-radius:4px;padding:0 4px;margin-left:2px}
.tasks .t-more{padding:9px 0;font-size:12px}
.tasks .t-more a{color:var(--ink-2)}
.callout{margin-top:14px;display:flex;gap:12px;align-items:center;background:var(--accent-soft);border-radius:var(--r);padding:12px 14px;font-size:12.5px;color:var(--ink-2)}
.callout b{color:var(--ink);font-weight:600;display:block}
.callout svg.lucide{width:26px;height:26px;color:var(--ink);flex:none}
.callout.green{background:var(--good-bg)}
.stock{display:flex;flex-direction:column;gap:12px}
.stock .it{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) 44px;gap:12px;align-items:center;font-size:13px;color:var(--ink-2)}
.stock .bar{height:12px;background:var(--surface-2);border-radius:6px;overflow:hidden;border:1px solid var(--line)}
.stock .bar div{height:100%;border-radius:6px}
.stock .p{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink)}
.sub-h{font-weight:600;margin:0 0 10px}
.ppl{display:flex;flex-direction:column}
.ppl .it{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--ink-2);align-items:center}
.ppl .it b{color:var(--ink);font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.ppl .it .dd{text-align:right;font-size:12.5px}


.weather{display:flex;flex-direction:column;gap:12px}
.wx-row{display:flex;align-items:center;gap:16px}
.wx-loc select{font-size:13px;height:34px;padding:0 30px 0 34px;width:100%}
.weather .mm{font-size:12px;color:var(--muted)}
.weather .sun{width:56px;height:56px;color:var(--brand-yellow-2);flex:none}
.weather .sun svg.lucide{width:56px;height:56px}
.weather .city{font-size:13px;font-weight:600}
.weather .temp{font-size:28px;font-weight:700;line-height:1.1}
.weather .temp.wx-u{display:block;background:none;border:0;padding:0;margin:0;color:inherit;text-align:left;cursor:pointer;border-radius:6px}
.wx-u{font-family:inherit}
.weather .temp.wx-u:hover{opacity:.8}
.weather .temp.wx-u:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.weather .desc{font-size:13px;color:var(--ink-2)}
.alist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.alist li{border-top:1px solid var(--line)}
.alist li:first-child{border-top:0}
.alist a{display:grid;grid-template-columns:34px minmax(0,1fr) 14px;gap:12px;align-items:center;padding:11px 0;text-decoration:none}
.alist .ai{width:34px;height:34px;border-radius:50%;display:grid;place-items:center}
.alist .ai.crit{background:var(--crit-bg);color:var(--crit-ink)}
.alist .ai.warn{background:var(--warn-bg);color:var(--warn-ink)}
.alist .ai svg.lucide{width:18px;height:18px}
.alist .t{font-weight:600;font-size:13px}
.alist .m{font-size:12px;color:var(--ink-2)}
.alist .chev{width:14px;height:14px;color:var(--muted)}
.prio{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.prio li{display:grid;grid-template-columns:34px minmax(0,1fr);gap:12px;padding:11px 0;border-top:1px solid var(--line)}
.prio li:first-child{border-top:0;padding-top:0}
.prio .n{width:28px;height:28px;border-radius:var(--r);background:var(--btn-bg);color:var(--btn-ink);font-family:var(--serif);display:grid;place-items:center;font-weight:700}
.prio .t{font-weight:600;font-size:13px}
.prio .m{font-size:12px;color:var(--ink-2)}
.tasks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.tasks li{border-top:1px solid var(--line)}
.tasks li:first-child{border-top:0}
.tasks label{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 0;font-size:12.5px;cursor:pointer}
.tasks input{width:17px;height:17px;accent-color:var(--good-ink);margin:0}
.tasks input:checked + span{text-decoration:line-through;color:var(--muted)}
.tasks small{color:var(--muted);font-size:11px;white-space:nowrap}


.foot-banner{position:relative;overflow:hidden;background:var(--brand-black);color:#fff;border-radius:var(--r-lg);padding:14px 26px;display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.foot-banner img{height:40px;width:auto;position:relative;z-index:1}
.foot-banner .crown{color:var(--brand-yellow);width:28px;height:28px;position:relative;z-index:1}
.foot-banner b{font-size:17px;font-weight:600;position:relative;z-index:1}
.foot-banner .stroke.a{width:180px;height:20px;right:-20px;top:12px}
.foot-banner .stroke.b{width:110px;height:10px;right:90px;bottom:12px;opacity:.7}

@media (max-width:1280px){
  .home{grid-template-columns:minmax(0,1fr)}
  .h-aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
}
@media (max-width:1100px){
  .h-top{grid-template-columns:minmax(0,1fr)}
  .when{flex-direction:row;flex-wrap:wrap;align-items:center}
  .when .loc{flex:1;min-width:200px}
  .h-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .h-row3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .h-row3 > :first-child{grid-column:1/-1}
}
@media (max-width:820px){
  .home{padding-inline:16px}
  .h-top,.h-row2,.h-row3,.h-aside{grid-template-columns:minmax(0,1fr)}
  .h-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero .div,.hero .stroke.c{display:none}
  .hero{flex-wrap:wrap;padding-right:26px}
  .hero .stroke{opacity:.35}
  .hero img.logo{height:50px}
}
@media (max-width:480px){
  .net-stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:10px}
  .net-stats div:nth-child(3){border-left:0;padding-left:0}
  .net-body{grid-template-columns:minmax(0,1fr)}
  .map-legend{flex-direction:row;flex-wrap:wrap}
}


.late-i{width:10px;height:10px;border-radius:50%;display:inline-block;background:var(--brand-red);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-red) 30%,transparent);flex:none}
.late-tag{display:block;font-style:normal;font-size:11.5px;font-weight:600;color:var(--crit-ink)}
.late-note{display:flex;gap:10px;align-items:flex-start;background:var(--crit-bg);border-radius:var(--r);padding:10px 12px;margin-top:8px;font-size:12.5px;color:var(--ink-2)}
.late-note .late-i{margin-top:4px}
.late-note b{display:block;color:var(--crit-ink);font-weight:600}
.map .pulse{fill:none;stroke:var(--brand-red);stroke-width:2;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;animation:ping 1.6s ease-out infinite}
@keyframes ping{from{transform:scale(1);opacity:.9}to{transform:scale(3.2);opacity:0}}
@media (prefers-reduced-motion:reduce){.map .pulse{animation:none;transform:scale(2);opacity:.45}}


.kpi-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:-6px}
.kpi-title{font-size:15px;font-weight:600;margin-right:auto}
.kpi-bar .seg button{font-size:12.5px;padding:4px 10px}
.kpi-editor{border:1px solid var(--line-2);box-shadow:inset 0 3px 0 var(--brand-yellow-2)}
.ke-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-start;margin-bottom:10px}
.ke-head h2{font-size:16px}
.ke-head .hint{margin:2px 0 0;color:var(--muted);font-size:12.5px}
.ke-actions{display:flex;gap:8px}
.ke-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:8px}
.ke-list li{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:var(--r);padding:8px 10px}
.ke-list li.on{border-color:var(--brand-yellow-2);background:var(--accent-soft)}
.ke-list label{display:flex;align-items:center;gap:10px;flex:1;min-width:0;cursor:pointer}
.ke-list label input{width:17px;height:17px;accent-color:var(--brand-black);margin:0;flex:none}
.ke-list label svg.lucide{width:18px;height:18px;flex:none}
.ke-list label span{display:flex;flex-direction:column;min-width:0}
.ke-list label b{font-size:13px;font-weight:600}
.ke-list label small{font-size:11.5px;color:var(--muted)}
.ke-list input:disabled + svg + span{opacity:.5}
.ke-pos{font-size:11px;font-weight:700;background:var(--btn-bg);color:var(--btn-ink);border-radius:50%;width:20px;height:20px;display:grid;place-items:center;flex:none}
.ke-mv{background:var(--surface);border:1px solid var(--line);border-radius:6px;width:26px;height:26px;display:grid;place-items:center;cursor:pointer;color:var(--ink);padding:0}
.ke-mv:disabled{opacity:.35;cursor:default}
.ke-mv svg.lucide{width:15px;height:15px}


.net-sub{margin:-8px 0 12px;font-size:12.5px;color:var(--ink-2)}
.net-stats div.is-late b,.net-stats div.is-late span{color:var(--crit-ink)}
.late-note.info{background:var(--surface-2);border:1px solid var(--line)}
.late-note.info b{color:var(--ink)}
.late-note.info svg.lucide{width:18px;height:18px;flex:none;margin-top:2px}
@media (max-width:1100px){.h-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){.h-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}


.k-fil{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:5px;max-width:100%;background:none;border:1px dashed var(--line);border-radius:999px;padding:2px 8px;font:inherit;font-size:11px;color:var(--muted);cursor:pointer}
.k-fil svg.lucide{width:12px;height:12px;flex:none}
.k-fil span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-fil:hover{color:var(--ink);border-color:var(--axis)}
.k-fil.on{border-style:solid;border-color:var(--brand-yellow-2);background:var(--accent-soft);color:var(--ink)}
.k-fil:focus-visible{outline:2px solid var(--brand-yellow-2);outline-offset:1px}
.h-kpi.propio{border-color:var(--brand-yellow-2)}
.kobj{display:block;font-size:11.5px;font-weight:600;margin-top:2px}
.ke-tag{font-style:normal;font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;background:var(--accent-soft);color:var(--accent-text);padding:1px 5px;border-radius:4px;vertical-align:1px}


.h-prod .card-head{flex-wrap:wrap;margin-bottom:8px}
.h-prod .card-head .seg{margin-left:auto}
.h-prod .card-head .seg button{font-size:12.5px;padding:4px 10px}
.h-prod .card-head .more{margin-left:4px}
.h-prod-sub{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:0 0 8px;font-size:12.5px;color:var(--ink-2)}
.h-prod-sub .chip{margin-left:auto}
.h-prod-t td.pn{width:100%;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.h-prod-t .pn-n{color:var(--ink);font-weight:600}
.h-prod-t .pn-c{display:none;font-size:11.5px;color:var(--muted)}
.h-prod-t .c-c{color:var(--ink-2);white-space:nowrap}
.h-prod-t td.c-b{white-space:nowrap;width:150px}
.h-prod-t td.c-b .num{display:inline-block;min-width:44px;text-align:right;font-size:12.5px}
.h-prod-t .pbar{display:inline-block;vertical-align:middle;width:92px;height:10px;background:var(--surface-2);border:1px solid var(--line);border-radius:5px;overflow:hidden;margin-right:6px}
.h-prod-t .pbar i{display:block;height:100%;background:var(--brand-yellow);border-radius:5px}
.h-prod-t.by-venta th.c-v,.h-prod-t.by-venta td.c-v,.h-prod-t.by-cantidad th.c-q,.h-prod-t.by-cantidad td.c-q{font-weight:700;color:var(--ink)}
.h-prod-t tbody td.c-d{font-weight:600}
.h-prod-t tfoot td{font-size:12px;color:var(--ink-2);border-bottom:0;padding-top:8px;font-weight:600}
@media (max-width:820px){
  .h-prod-t .c-c{display:none}
  .h-prod-t .pn-c{display:block}
  .h-prod-t td.pn .pn-n{display:block;overflow:hidden;text-overflow:ellipsis}
}
@media (max-width:560px){
  .h-prod-t.by-venta .c-q,.h-prod-t.by-cantidad .c-v{display:none}
  .h-prod-t td.c-b{width:auto}
  .h-prod-t .pbar{width:44px}
  .h-prod .card-head .seg{margin-left:0;order:3;width:100%}
  .h-prod .card-head .seg button{flex:1}
  .h-prod .card-head .more{margin-left:auto}
  .h-prod-sub .chip{margin-left:0}
}
@media print{ .h-prod .seg{display:none!important} }
@media (max-width:480px){
  .h-prod-t .pbar{display:none}
  .h-prod-t td.c-b .num{min-width:0}
  .h-prod-t th,.h-prod-t td{padding-inline:4px}
  .h-prod-t th.c-b{white-space:normal}
}


.per-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:100%;padding:5px 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--ink-2);font:inherit;font-size:12.5px;cursor:pointer}
.per-chip:hover,.per-chip:focus-visible{border-color:var(--brand-yellow);color:var(--ink)}
.per-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.per-chip b{font-weight:600;color:var(--ink)}
.per-chip svg.lucide{width:15px;height:15px;flex:none}
.per-chip .cv{width:13px;height:13px;color:var(--muted)}
.k-cob{margin:-4px 0 0;font-size:12px;color:var(--warn-ink);background:var(--warn-bg);border-radius:8px;padding:6px 10px}
.warn-t{color:var(--warn-ink)}
.h-csub{margin-top:-6px}
.h-inper{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--line)}
.h-inper .sub-h{font-size:12.5px;margin-bottom:6px;color:var(--ink-2)}
.ip-g{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ip-g div{display:flex;flex-direction:column;gap:2px;min-width:0}
.ip-g b{font-size:18px;font-weight:700}
.ip-g span{font-size:11.5px;color:var(--muted)}
.ip-g .up{color:var(--good-ink);font-weight:600}
.ip-g .down{color:var(--crit-ink);font-weight:600}
.wx-retry{margin-top:4px;background:none;border:0;padding:0;font:inherit;font-size:12px;font-weight:600;color:inherit;opacity:.85;text-decoration:underline;text-underline-offset:3px;cursor:pointer}


.h-inc{margin-top:0}
.inc-cc-f{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 8px}
.inc-cc-f select{min-width:0;max-width:100%;flex:0 1 auto}
.inc-cc-b{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.inc-cc-b a{display:grid;grid-template-columns:minmax(0,38%) 1fr auto;gap:10px;align-items:center;padding:5px 6px;border-radius:8px;color:inherit;text-decoration:none}
.inc-cc-b a:hover,.inc-cc-b a:focus-visible{background:var(--surface-2)}
.inc-cc-b .l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.inc-cc-b .b{height:10px;border-radius:5px;background:var(--surface-2);overflow:hidden}
.inc-cc-b .b > span{display:block;height:100%;background:var(--brand,var(--accent,#1f6b47));border-radius:5px}
.inc-cc-b b{font-size:13px;min-width:2ch;text-align:right}
.inc-trail{margin:0;padding-left:18px}
.inc-trail li{margin:2px 0}


.cct{min-width:0}
.cct-bar{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;margin:4px 0 8px}
.cct-q{flex:1 1 150px;min-width:0;max-width:260px;height:32px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px}
.cct-chips{display:flex;flex-wrap:wrap;gap:4px;align-items:center}
.cct-ct{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-right:2px}
.cct-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;padding:3px 10px;font:inherit;font-size:12px;cursor:pointer}
.cct-chip[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.cct-n{font-size:12px;color:var(--muted);margin-left:auto}
.cct-exp{display:inline-flex;gap:4px}
.cct-b{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:8px;padding:3px 8px;font:inherit;font-size:12px;cursor:pointer}
.cct-b:hover,.cct-chip:hover{background:var(--surface-2)}
.cct-w{overflow:auto;max-height:420px;border:1px solid var(--line);border-radius:var(--r,10px);-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.cct-t{width:100%;min-width:max-content;border-collapse:separate;border-spacing:0;font-size:12.5px}
.cct-t th,.cct-t td{padding:6px 8px;white-space:nowrap;border-bottom:1px solid var(--line);text-align:left;max-width:260px;overflow:hidden;text-overflow:ellipsis}
.cct-t .r{text-align:right}
.cct-t thead th{position:sticky;top:0;z-index:2;background:var(--surface);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-weight:700}
.cct-t .cct-f{position:sticky;left:0;z-index:1;background:var(--surface);box-shadow:1px 0 0 var(--line)}
.cct-t thead th.cct-f{z-index:3}
.cct-t tfoot td{position:sticky;bottom:0;background:var(--surface-2);font-weight:700;border-top:1px solid var(--line);border-bottom:0}
.cct-t tfoot td.cct-f{z-index:3;background:var(--surface-2)}
.cct-s{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:4px;border-radius:4px}
.cct-s:focus-visible{outline:2px solid var(--accent,#1f6b47);outline-offset:2px}
.cct-ind{font-style:normal;font-size:9px;opacity:.55}
th[aria-sort="ascending"] .cct-ind,th[aria-sort="descending"] .cct-ind{opacity:1}
.cct-def{margin-left:3px;font-size:10px;color:var(--muted);cursor:help}
.cct-t tbody tr:hover td,.cct-t tbody tr:focus-visible td{background:var(--surface-2)}
.cct-t tbody tr.cct-clic{cursor:pointer}
.cct-t tbody tr:focus-visible{outline:2px solid var(--accent,#1f6b47);outline-offset:-2px}
.cct-t td.hi,.cct-t td.cct-bad{color:var(--crit-ink);font-weight:700;background:var(--crit-bg)}
.cct-t tbody tr:hover td.cct-bad{background:var(--crit-bg)}
.cct-t td.up{color:var(--good-ink,var(--good))} .cct-t td.down{color:var(--crit-ink)}
.cct-t td.cct-good{color:var(--good-ink,var(--good));font-weight:700}
.cct-t .pbar{display:inline-block;width:60px;height:6px;border-radius:3px;background:var(--surface-2);margin-right:6px;vertical-align:middle;overflow:hidden}
.cct-t .pbar i{display:block;height:100%;background:var(--brand-yellow,#ffc629)}
.inc-cc-bar{display:inline-block;width:90px;height:8px;border-radius:4px;background:var(--surface-2);margin-right:8px;vertical-align:middle;overflow:hidden}
.inc-cc-bar i{display:block;height:100%;background:var(--brand,var(--accent,#1f6b47))}
.cct-mas{margin-top:6px;border:0;background:none;color:var(--accent,#1f6b47);font:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:4px 0}
.cct-vacio{padding:12px;color:var(--muted);font-size:13px;margin:0}
.cct-dl{margin-bottom:10px}
.cct-mini{margin:4px 0 12px}
.h-alerts-t .cct-w{max-height:none;border:0}
.h-alerts-t .cct-t thead{display:none}
.h-alerts-t .cct-t td{white-space:normal;max-width:none}
.h-alerts-t .ai{display:inline-grid;vertical-align:middle}
#h-marcas-t{margin-top:12px}
@media (max-width:600px){ .cct-t td.cct-f,.cct-t th.cct-f{max-width:140px;white-space:normal} .cct-n{margin-left:0} .cct-w{max-height:360px} }
.h-turn:has(.cct){max-height:none;overflow:visible;border:0;border-radius:0}
html[data-tema="zze"]:not(.cc-modo) .h-turn:has(.cct){overflow:visible}
.cct-rk{display:inline-block;min-width:1.6em;color:var(--muted);font-size:11px;font-weight:700;margin-right:4px}
.cct-sel select{height:30px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);font:inherit;font-size:12px;padding:0 6px;max-width:170px}
.cct-t td.cct-f{white-space:normal;min-width:110px;max-width:180px;line-height:1.3}
.h-alerts-t .cct-t td.cct-f{max-width:none}
.cct{container-type:inline-size}
@container (max-width:320px){ .cct-t td.cct-f,.cct-t th.cct-f{min-width:84px;max-width:112px;font-size:12px} .cct-t th,.cct-t td{padding:5px 6px} .cct-q{max-width:none} }

.k-cmp{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:12.5px}
.k-cmp label{display:flex;align-items:center;gap:4px;color:var(--muted,#55665c)}
.k-cmp label svg{width:14px;height:14px}
.k-cmp select,.k-cmp input{font-size:12.5px;padding:4px 8px;border:1px solid var(--line,#d5ddd8);border-radius:8px;background:var(--card,#fff)}
.h-kpi .k-ayuda{display:block;margin-top:6px;font-size:11.5px;line-height:1.35;color:var(--muted,#55665c)}
html[data-tema="negro202"]:not(.cc-modo) .h-turn:has(.cct){overflow:visible}


.xo{display:grid;gap:18px;font-variant-numeric:tabular-nums}
.xo-per{justify-self:center;display:inline-flex;gap:2px;padding:3px;border:1px solid var(--line-2);border-radius:999px;background:var(--surface)}
.xo-per button{all:unset;cursor:pointer;padding:6px 14px;border-radius:999px;font-size:13px;color:var(--muted)}
.xo-per button[aria-selected="true"]{background:var(--ink);color:var(--bg);font-weight:600}
.xo-per button:focus-visible{box-shadow:var(--focus-ring)}
.xo-bc{display:flex;gap:8px;font-size:12.5px;color:var(--muted)}.xo-bc b{color:var(--ink);font-weight:500}
.xo-h{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px}
.xo-h h2{margin:0;font-size:22px;font-weight:600;color:var(--ink)}.xo-h h2 span{font-weight:400;color:var(--muted)}
.xo-h p{margin:4px 0 0;font-size:13px;color:var(--muted)}.xo-h em{font-style:normal;border:1px dashed var(--line-2);border-radius:999px;padding:0 8px}
.xo-hf{display:flex;flex-wrap:wrap;gap:8px}
.xo-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line-2);border-radius:999px;padding:6px 12px;font-size:13px;color:var(--ink);background:var(--surface)}
.xo-chip select{all:unset;cursor:pointer;font-size:13px;color:var(--ink);max-width:260px}
.xo-chip option{background:var(--surface);color:var(--ink)}
.xo-sub{display:none}
.xo-g{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.xo-k{display:flex;flex-direction:column;gap:10px;min-width:0;padding:16px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);color:var(--ink)}
.xo-k header,.xo-c header{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.xo-k h3,.xo-c h3{margin:0;font-size:13.5px;font-weight:600;line-height:1.25}
.xo-k header p,.xo-c header p{margin:3px 0 0;font-size:12px;line-height:1.35;color:var(--muted)}
.xo-ir{flex:none;display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line-2);border-radius:50%;color:inherit;text-decoration:none;font-size:12px}
.xo-ir:hover{background:var(--ink);color:var(--bg)}
.xo-tag{flex:none;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;border:1px solid var(--line-2);border-radius:6px;padding:2px 6px;color:var(--muted)}
.xo-v{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.xo-v b{font-size:24px;font-weight:600;letter-spacing:-.01em}.xo-v small{font-size:12px;color:var(--muted)}
.xo-d{font-size:11.5px;font-weight:600;padding:2px 8px;border-radius:999px;border:1px solid var(--line-2);white-space:nowrap}
.xo-d.up{background:var(--ink);color:var(--bg);border-color:var(--ink)}.xo-d.dn{border-style:dashed;color:var(--ink)}.xo-d.z{color:var(--muted)}
.xo-sp{width:100%;height:46px;margin-top:auto}
.xo-sp .a{fill:var(--ink);opacity:.08}.xo-sp .l{fill:none;stroke:var(--ink);stroke-width:1.5;vector-effect:non-scaling-stroke}.xo-sp .p{fill:var(--ink)}
.xo-k footer{display:grid;gap:6px;padding-top:10px;border-top:1px solid var(--line-2);font-size:12px}
.xo-k footer div{display:flex;justify-content:space-between;gap:8px}.xo-k footer span{color:var(--muted)}.xo-k footer b{font-weight:600;text-align:right}
.xo-st{font-weight:600;white-space:nowrap}.xo-k footer .xo-st.ok{color:var(--ink)}.xo-k footer .xo-st.off{color:var(--muted);text-decoration:underline dashed}
.xo-k.hi{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.xo-k.hi header p,.xo-k.hi .xo-v small,.xo-k.hi footer span{color:color-mix(in srgb,var(--bg) 62%,var(--ink))}
.xo-k.hi footer{border-top-color:color-mix(in srgb,var(--bg) 25%,var(--ink))}.xo-k.hi footer .xo-st.ok{color:var(--bg)}
.xo-k.hi .xo-ir{border-color:color-mix(in srgb,var(--bg) 35%,var(--ink))}
.xo-k.hi .xo-d.up{background:var(--bg);color:var(--ink);border-color:var(--bg)}.xo-k.hi .xo-d{border-color:color-mix(in srgb,var(--bg) 35%,var(--ink));color:var(--bg)}
.xo-k.hi .xo-sp .a,.xo-k.hi .xo-sp .p{fill:var(--bg)}.xo-k.hi .xo-sp .l{stroke:var(--bg)}
.xo-2{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:12px}.xo-2.par{grid-template-columns:1fr 1fr}
.xo-c{display:flex;flex-direction:column;gap:14px;min-width:0;padding:18px;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);color:var(--ink)}
.xo-leg{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.xo-leg i{width:9px;height:9px;border-radius:2px;background:var(--line-2)}.xo-leg i.on{background:var(--ink)}
.xo-m{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.xo-m dt{font-size:12px;color:var(--muted)}.xo-m dd{margin:2px 0 0;font-weight:600}
.xo-bw{overflow-x:auto}.xo-bars{width:100%;min-width:420px;height:auto}
.xo-bars rect{fill:var(--line-2)}.xo-bars rect.on{fill:var(--ink)}.xo-bars .gl{stroke:var(--line);stroke-width:1}
.xo-bars text{fill:var(--muted);font-size:10px;font-family:var(--mono)}.xo-bars text.tv{fill:var(--ink);font-weight:600}
.xo-ok{margin:0;font-size:12.5px;color:var(--ink)}
.xo-pb{position:relative;display:flex;height:30px;margin-top:18px;border-radius:8px;background:var(--surface-3);font-size:12px;font-weight:600}
.xo-pb span{display:flex;align-items:center;padding-left:8px;overflow:hidden;white-space:nowrap}
.xo-pb .f{background:var(--ink);color:var(--bg);border-radius:8px 0 0 8px}.xo-pb .l{background:var(--muted);color:var(--bg)}
.xo-pb i{position:absolute;top:-4px;bottom:-4px;border-left:2px dashed var(--ink)}
.xo-pb i em{position:absolute;bottom:100%;left:0;transform:translateX(-50%);font-style:normal;font-size:11px;font-weight:500;white-space:nowrap;color:var(--muted)}
.xo-t{width:100%;border-collapse:collapse;font-size:13px}
.xo-t th{text-align:left;font-weight:500;color:var(--muted);font-size:12px;padding:6px 0;border-bottom:1px solid var(--line-2)}
.xo-t td{padding:9px 0;border-bottom:1px solid var(--line)}.xo-t th:not(:first-child),.xo-t td:not(:first-child){text-align:right;padding-left:10px}
.xo-t td small{display:block;color:var(--muted);font-size:11.5px}.xo-t tfoot td{font-weight:600;border-bottom:0}
.xo-dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:8px}.xo-dot.f{background:var(--ink)}.xo-dot.l{background:var(--muted)}
@media (max-width:1280px){.xo-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:980px){.xo-g{grid-template-columns:repeat(2,minmax(0,1fr))}.xo-2,.xo-2.par{grid-template-columns:1fr}.xo-m{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.xo-g{grid-template-columns:1fr}.xo-per{justify-self:stretch;overflow-x:auto}}
.xo .xo-t th,.xo .xo-t td,.xo .xo-t tr{background:transparent;color:var(--ink)}.xo .xo-t th{color:var(--muted)}


.dp-sw{position:fixed;z-index:60;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));display:flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;border-radius:999px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-pop);font-size:12.5px}
.dp-sw span{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-right:4px}
.dp-sw button{all:unset;cursor:pointer;padding:7px 14px;border-radius:999px;font-weight:500}
.dp-sw button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.dp-sw button:focus-visible{box-shadow:var(--focus-ring)}
html.cc-modo .dp-sw{display:none}
@media print{.dp-sw{display:none}}


.xo-m2{grid-template-columns:1fr 1fr}
.xo .xo-st-t td,.xo .xo-st-t th{white-space:nowrap}
.xo .xo-st-t td:first-child{white-space:normal}
.xo .xo-st-t tr.sep td{padding:14px 0 4px;border-bottom:0;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.xo .xo-st-t tr.tot td{font-weight:600;border-bottom:1px solid var(--line-2)}
.xo .xo-st-b{width:28%;min-width:70px}
.xo-st-b span{display:block;height:8px;border-radius:4px;background:var(--ink);margin-left:auto}
.xo-st-b span.neg{background:transparent;border:1px solid var(--muted)}
.xo-bars rect.neg{fill:transparent;stroke:var(--muted);stroke-width:1}
@media (max-width:640px){.xo .xo-st-b{display:none}}


.home .card,.h-row2>.card,.h-aside>.card{container-type:inline-size;min-width:0}
.h-row3 .card-head h2{flex-wrap:wrap;row-gap:4px}
@container (max-width:520px){
  .cct-t{font-size:12px}
  .cct-t th,.cct-t td{padding:5px 6px}
  .cct-t thead th{letter-spacing:.02em}
  .cct-def{display:none}
  .cct-s{gap:2px}
  .cct-ind{font-size:9px}
  .cct-bar{gap:6px}
}
@container (max-width:380px){
  .cct-t th,.cct-t td{padding:4px 4px}
  .cct-t{font-size:11.5px}
  .cct-t thead th{font-size:10px}
  .cct-t td:first-child,.cct-t th:first-child{max-width:96px}
}

.h-row3{display:flex;flex-wrap:wrap;gap:18px}
.h-row3>.card{flex:1 1 360px;min-width:0}

.when .chip{white-space:normal;max-width:100%;overflow-wrap:anywhere;line-height:1.35;height:auto}
.when > *,.when span:has(> .chip){min-width:0;max-width:100%;flex-wrap:wrap}

.u-grid-2>.card{container-type:inline-size;min-width:0}
@container (max-width:560px){
  .t-table{font-size:12px}
  .t-table th,.t-table td{padding-left:6px;padding-right:6px}
  .t-table th{letter-spacing:.02em}
}
@container (max-width:420px){
  .t-table th,.t-table td{padding-left:4px;padding-right:4px}
  .t-table{font-size:11.5px}
}

@media (max-width:1180px){ .m-main>.u-grid-2:has(.t-scroll .t-table){grid-template-columns:minmax(0,1fr)!important} }   


.k-t-bien .spark path{stroke:#16a34a!important}.k-t-bien .spark circle{fill:#16a34a!important}
.k-t-mal .spark path{stroke:#dc2626!important}.k-t-mal .spark circle{fill:#dc2626!important}
.k-t-z .spark path{stroke:#8e8e93!important}.k-t-z .spark circle{fill:#8e8e93!important}
