/* Kairo Journal - Dashboard v2 */

#kairo-dash{width:100%;color:var(--text);font-family:var(--font-ui);color-scheme:light}
[data-theme="dark"] #kairo-dash{color-scheme:dark}
#kairo-dash *{box-sizing:border-box}

/* ---------- Migas ---------- */
#kairo-dash .kd-crumb{display:flex;align-items:center;gap:8px;font-weight:400;font-size:12.5px;font-family:var(--font-ui);color:var(--text-4);margin-bottom:20px}
#kairo-dash .kd-crumb b{font-weight:600;color:var(--text-2)}
#kairo-dash .kd-crumb i{font-style:normal;opacity:.45}

/* ---------- Cabecera ---------- */
#kairo-dash .kd-head{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px;margin-bottom:20px}
#kairo-dash .kd-head-l{flex:1 1 340px;min-width:0}
#kairo-dash h1.kd-greet{font-weight:700!important;font-size:30px!important;font-family:var(--font-ui)!important;letter-spacing:-.025em!important;color:var(--text)!important;
margin:0 0 8px!important;line-height:1.15!important}
#kairo-dash .kd-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-weight:400;font-size:13px;font-family:var(--font-ui);color:var(--text-3)}
#kairo-dash .kd-meta i{font-style:normal;opacity:.4}
#kairo-dash .kd-meta b{font-weight:400;font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3)}
#kairo-dash .kd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding-top:4px}

#kairo-dash .kd-btn{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 16px;border-radius:9px;
border:1px solid var(--border);background:var(--surface-2);color:var(--text-2);font-weight:500;font-size:13px;font-family:var(--font-ui);
cursor:pointer;transition:border-color .13s,color .13s,background .13s;white-space:nowrap}
#kairo-dash .kd-btn:hover{border-color:var(--border-hover);color:var(--text)}
#kairo-dash .kd-btn:active{transform:translateY(1px)}
#kairo-dash .kd-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#kairo-dash a.kd-btn.is-primary,#kairo-dash button.kd-btn.is-primary{background:var(--primary);border-color:var(--primary);
color:var(--on-primary)!important;font-weight:600;text-decoration:none!important}
#kairo-dash a.kd-btn.is-primary:hover,#kairo-dash button.kd-btn.is-primary:hover{background:var(--primary-2);border-color:var(--primary-2)}

#kairo-dash .k-period select{height:40px;padding:0 34px 0 13px;border-radius:9px;
border:1px solid var(--border)!important;background-color:var(--surface-2)!important;color:var(--text-2)!important;
font-weight:500!important;font-size:13px!important;font-family:var(--font-ui)!important;cursor:pointer;appearance:none;-webkit-appearance:none;box-shadow:none!important;
background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
background-position:calc(100% - 18px) 18px,calc(100% - 13px) 18px;background-size:5px 5px,5px 5px;background-repeat:no-repeat}
#kairo-dash .k-period select:hover{border-color:var(--border-hover)!important;color:var(--text)!important}
#kairo-dash .k-period select:focus{outline:2px solid var(--ring);outline-offset:1px}

/* El capital base va dentro de la linea de contexto */
#kairo-dash .k-cap .k-cap-btn{background:var(--primary-soft);border:0;border-radius:6px;padding:3px 9px;
font-weight:400;font-size:12px;font-family:var(--font-mono);color:var(--primary);cursor:pointer}
#kairo-dash .k-cap .k-cap-btn:hover{background:var(--primary-soft);color:var(--primary-2)}
#kairo-dash .k-cap-edit{display:inline-flex;gap:4px;align-items:center}
#kairo-dash .k-cap-input{width:88px;height:28px;border-radius:6px;border:1px solid var(--border);
background:var(--surface-2);color:var(--text);font-weight:400;font-size:12px;font-family:var(--font-mono);padding:0 8px}
#kairo-dash .k-cap-save,#kairo-dash .k-cap-cancel{width:28px;height:28px;border-radius:6px;border:1px solid var(--border);
background:var(--surface-2);color:var(--text-3);cursor:pointer;font-size:12px}

/* ---------- Tarjetas ---------- */
#kairo-dash .kd-card{background:var(--surface);border-radius:14px;padding:20px;box-shadow:var(--shadow)}
:root:not([data-theme="dark"]) #kairo-dash .kd-card{border:1px solid var(--border)}
#kairo-dash .kd-card-h{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;margin-bottom:4px}
#kairo-dash h2.kd-card-t{font-weight:600!important;font-size:14px!important;font-family:var(--font-ui)!important;color:var(--text)!important;margin:0!important;
line-height:1.3!important;letter-spacing:0!important}
#kairo-dash p.kd-card-s{font-weight:400!important;font-size:12.5px!important;font-family:var(--font-ui)!important;color:var(--text-4)!important;margin:0!important;line-height:1.5!important}
#kairo-dash .kd-tag{margin-left:auto;font-weight:400;font-size:11.5px;font-family:var(--font-mono);color:var(--text-4)}
#kairo-dash a.kd-link{margin-left:auto;font-weight:500;font-size:12.5px;font-family:var(--font-ui);color:var(--primary-link)!important;text-decoration:none!important}
#kairo-dash a.kd-link:hover{color:var(--primary-2)!important}

#kairo-dash .kd-grid{display:grid;gap:14px;margin-bottom:14px}
#kairo-dash .kd-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}
#kairo-dash .kd-main{grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);align-items:start}
#kairo-dash .kd-cols2{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:start}
#kairo-dash .kd-cols2>.kd-card{margin:0;min-width:0}

/* ---------- KPI ---------- */
#kairo-dash .kd-kpi{display:flex;flex-direction:column;padding:18px 19px}
#kairo-dash .kd-kpi-h{display:flex;align-items:center;gap:8px;margin-bottom:12px}
#kairo-dash .kd-dot{width:6px;height:6px;border-radius:50%;background:var(--neutral-fill);flex:0 0 6px}
#kairo-dash .kd-dot.pos{background:var(--green)}
#kairo-dash .kd-dot.neg{background:var(--red)}
#kairo-dash .kd-dot.acc{background:var(--primary)}
#kairo-dash .kd-kpi-l{font-weight:500;font-size:12.5px;font-family:var(--font-ui);color:var(--text-3)}
#kairo-dash .kd-kpi-b{margin-left:auto;font-weight:500;font-size:11px;font-family:var(--font-mono);padding:3px 8px;border-radius:5px;white-space:nowrap;
background:var(--surface-2);color:var(--text-4)}
#kairo-dash .kd-kpi-b.pos{background:var(--green-soft);color:var(--green)}
#kairo-dash .kd-kpi-b.neg{background:var(--red-soft);color:var(--red)}
#kairo-dash .kd-kpi-b.warn{background:var(--amber-soft);color:var(--amber);font-weight:600;font-size:9.5px;font-family:var(--font-ui);
letter-spacing:.07em;text-transform:uppercase}
#kairo-dash .kd-kpi-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
#kairo-dash .kd-kpi-v{font-weight:500!important;font-size:34px!important;font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em;
color:var(--text);line-height:1.05}
#kairo-dash .kd-kpi-v.pos{color:var(--green)}
#kairo-dash .kd-kpi-v.neg{color:var(--red)}
#kairo-dash .kd-kpi-d{font-weight:400;font-size:12.5px;font-family:var(--font-mono);color:var(--text-4)}
#kairo-dash .kd-kpi-s{font-weight:400;font-size:12px;font-family:var(--font-mono);color:var(--text-4);line-height:1.45;margin-top:12px}

/* Barra segmentada de resultados */
#kairo-dash .kd-seg{display:flex;gap:3px;height:5px;margin-top:14px}
#kairo-dash .kd-seg span{flex:1 1 auto;border-radius:2px;background:var(--neutral-fill)}
#kairo-dash .kd-seg span.pos{background:var(--green-fill)}
#kairo-dash .kd-seg span.neg{background:var(--red-fill)}
#kairo-dash .kd-seg.solid span{flex:none}

/* ---------- Filtros ---------- */
#kairo-dash .kd-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;background:var(--surface);
border-radius:12px;padding:12px 16px;margin-bottom:14px;box-shadow:var(--shadow)}
:root:not([data-theme="dark"]) #kairo-dash .kd-filters{border:1px solid var(--border)}
#kairo-dash .kd-fl{font-weight:600;font-size:10.5px;font-family:var(--font-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--text-4);margin-right:3px}
#kairo-dash .kd-chip{position:relative}
#kairo-dash select.kd-fsel{height:34px;padding:0 30px 0 11px;border-radius:8px;border:1px solid var(--border)!important;
background-color:var(--surface-2)!important;color:var(--text-2)!important;font-weight:500!important;font-size:12.5px!important;font-family:var(--font-ui)!important;
cursor:pointer;appearance:none;-webkit-appearance:none;box-shadow:none!important;max-width:190px;
background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);
background-position:calc(100% - 16px) 15px,calc(100% - 11px) 15px;background-size:4.5px 4.5px,4.5px 4.5px;background-repeat:no-repeat}
#kairo-dash select.kd-fsel:hover{border-color:var(--border-hover)!important}
#kairo-dash select.kd-fsel:focus{outline:2px solid var(--ring);outline-offset:1px}
#kairo-dash select.kd-fsel.on{border-color:var(--primary)!important;color:var(--primary)!important;background-color:var(--primary-soft)!important}
#kairo-dash .kd-smc{display:flex;align-items:center;gap:9px;height:34px;padding:0 12px;border-radius:8px;
border:1px solid var(--border);background:var(--surface-2)}
#kairo-dash .kd-smc span{font-weight:500;font-size:12.5px;font-family:var(--font-ui);color:var(--text-2);white-space:nowrap}
#kairo-dash .kd-smc b{font-weight:500;font-size:12.5px;font-family:var(--font-mono);color:var(--text);min-width:38px;text-align:center}
#kairo-dash .kd-smc input{width:86px;accent-color:var(--primary);cursor:pointer}
#kairo-dash .kd-fstate{margin-left:auto;display:flex;align-items:center;gap:14px;font-weight:400;font-size:12.5px;font-family:var(--font-ui);color:var(--text-4)}
#kairo-dash button.kd-fclear{background:none!important;border:0!important;padding:0!important;
font-weight:500;font-size:12.5px;font-family:var(--font-ui);color:var(--primary-link)!important;cursor:pointer}
#kairo-dash button.kd-fclear:hover{color:var(--primary-2)!important}

/* ---------- Equity ---------- */
#kairo-dash .kd-eq-top{display:flex;flex-wrap:wrap;align-items:flex-start;gap:26px;margin-bottom:8px}
#kairo-dash .kd-eq-main{flex:1 1 210px;min-width:0}
#kairo-dash .kd-eq-row{display:flex;align-items:baseline;gap:11px;flex-wrap:wrap;margin-top:8px}
#kairo-dash .kd-eq-v{font-weight:500!important;font-size:30px!important;font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums;letter-spacing:-.02em;
color:var(--text);line-height:1.1}
#kairo-dash .kd-eq-c{font-weight:400;font-size:12.5px;font-family:var(--font-ui);color:var(--text-4)}
#kairo-dash .kd-eq-side{display:flex;gap:30px;flex-wrap:wrap;padding-top:2px}
#kairo-dash .kd-eq-st-l{font-weight:600;font-size:10.5px;font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--text-4);margin-bottom:6px}
#kairo-dash .kd-eq-st-v{font-weight:500;font-size:20px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15}
#kairo-dash .kd-eq-st-v.neg{color:var(--red)}
#kairo-dash .kd-eq-st-v.pos{color:var(--green)}
#kairo-dash .kd-eq-st-s{font-weight:400;font-size:11.5px;font-family:var(--font-mono);color:var(--text-4);margin-top:5px}

#kairo-dash .kd-chart{position:relative;width:100%;margin-top:6px}
#kairo-dash .kd-chart svg{width:100%;height:auto;display:block;overflow:visible}
#kairo-dash .kd-ax{font-weight:400;font-size:11px;font-family:var(--font-mono);fill:var(--text-4)}
#kairo-dash .kd-base{font-weight:400;font-size:11.5px;font-family:var(--font-mono);fill:var(--text-4)}
#kairo-dash .kd-endl{font-weight:500;font-size:13px;font-family:var(--font-mono);fill:var(--green)}
#kairo-dash .kd-anno{font-weight:400;font-size:11.5px;font-family:var(--font-mono);fill:var(--amber)}
#kairo-dash .kd-gl{stroke:var(--border);stroke-width:1}
#kairo-dash .kd-gl.dash{stroke-dasharray:3 4}
#kairo-dash .kd-eq-line{fill:none;stroke:var(--green);stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
#kairo-dash .kd-eq-area{fill:url(#kdGrad)}
#kairo-dash .kd-pt{fill:var(--surface);stroke:var(--green);stroke-width:2;cursor:pointer}
#kairo-dash .kd-pt.out{fill:var(--amber);stroke:var(--amber)}
#kairo-dash .kd-pt.end{fill:var(--green);stroke:var(--green)}
#kairo-dash .kd-hot{fill:transparent;cursor:pointer}
#kairo-dash .kd-tip{position:absolute;pointer-events:none;z-index:6;background:var(--surface-2);border:1px solid var(--border);
border-radius:10px;padding:9px 11px;box-shadow:var(--shadow);font-weight:400;font-size:12px;font-family:var(--font-ui);min-width:136px;
opacity:0;transition:opacity .12s;transform:translate(-50%,-100%)}
#kairo-dash .kd-tip.on{opacity:1}
#kairo-dash .kd-tip-h{font-weight:600;font-size:12px;font-family:var(--font-ui);color:var(--text);margin-bottom:5px;display:flex;gap:9px}
#kairo-dash .kd-tip-h span{margin-left:auto;font-weight:400;font-size:10.5px;font-family:var(--font-mono);color:var(--text-4)}
#kairo-dash .kd-tip-r{display:flex;justify-content:space-between;gap:14px;color:var(--text-4);line-height:1.55}
#kairo-dash .kd-tip-r b{font-weight:500;font-size:12px;font-family:var(--font-mono);color:var(--text)}
#kairo-dash .kd-tip-r b.pos{color:var(--green)}
#kairo-dash .kd-tip-r b.neg{color:var(--red)}

#kairo-dash .kd-note{display:flex;gap:11px;margin-top:16px;padding:14px 16px;border-radius:10px;background:var(--surface-2);
font-weight:400;font-size:13px;font-family:var(--font-ui);color:var(--text-3);line-height:1.6}
#kairo-dash .kd-note b{font-family:var(--font-mono);font-weight:500;color:var(--text)}
#kairo-dash .kd-note .kd-dot{margin-top:7px}
#kairo-dash .kd-note.warn{background:var(--amber-soft);color:var(--amber)}
#kairo-dash .kd-note.warn b{color:var(--amber)}
#kairo-dash .kd-note.warn .kd-dot{background:var(--amber)}

/* ---------- Calidad del sistema ---------- */
#kairo-dash .kd-q-row{padding:16px 0;border-bottom:1px solid var(--border-2)}
#kairo-dash .kd-q-row:first-of-type{padding-top:4px}
#kairo-dash .kd-q-top{display:flex;align-items:baseline;gap:12px}
#kairo-dash .kd-q-l{font-weight:400;font-size:12.5px;font-family:var(--font-ui);color:var(--text-3)}
#kairo-dash .kd-q-v{margin-left:auto;display:inline-flex;align-items:baseline;gap:8px;
font-weight:500!important;font-size:22px!important;font-family:var(--font-mono)!important;font-variant-numeric:tabular-nums;
color:var(--text);white-space:nowrap;line-height:1.1}
#kairo-dash .kd-q-v.lg{font-size:26px!important}
#kairo-dash .kd-q-v.pos{color:var(--green)}
#kairo-dash .kd-q-v.neg{color:var(--red)}
#kairo-dash .kd-q-v small{font-weight:400!important;font-size:11.5px!important;font-family:var(--font-mono)!important;color:var(--text-4);margin-left:0}
#kairo-dash .kd-q-mid{display:flex;align-items:baseline;gap:12px;margin-top:8px}
#kairo-dash .kd-q-sub{font-weight:400;font-size:11px;font-family:var(--font-mono);color:var(--text-4);white-space:nowrap}
#kairo-dash .kd-q-alt{margin-left:auto;font-weight:400;font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-4)}
#kairo-dash .kd-q-bar{display:flex;gap:2px;height:6px;margin-top:8px;border-radius:3px;overflow:hidden}
#kairo-dash .kd-q-bar span{border-radius:0;background:var(--neutral-fill)}
#kairo-dash .kd-q-bar span.pos{background:var(--green-fill)}
#kairo-dash .kd-q-bar span.neg{background:var(--red-fill)}
#kairo-dash .kd-q-bar.track{gap:0;background:var(--surface-3)}
#kairo-dash .kd-q-bar.track span.pos{border-radius:3px;opacity:.55}
#kairo-dash .kd-q-x{font-weight:400;font-size:11px;font-family:var(--font-ui);color:var(--text-4);margin-top:8px;line-height:1.5}
#kairo-dash .kd-q-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 0 2px}
#kairo-dash .kd-q-i-l{font-weight:400;font-size:12px;font-family:var(--font-ui);color:var(--text-3);margin-bottom:5px}
#kairo-dash .kd-q-i-v{font-weight:500;font-size:20px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text);line-height:1.15}
#kairo-dash .kd-q-i-v.pos{color:var(--green)}
#kairo-dash .kd-q-i-v.neg{color:var(--red)}
#kairo-dash .kd-q-i-s{font-weight:400;font-size:11px;font-family:var(--font-ui);color:var(--text-4);margin-top:5px;line-height:1.45}
#kairo-dash .kd-q-split{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:14px;
background:var(--surface);border-radius:14px;padding:16px 20px;box-shadow:var(--shadow)}
:root:not([data-theme="dark"]) #kairo-dash .kd-q-split{border:1px solid var(--border)}
#kairo-dash .kd-q-cell{min-width:0}
#kairo-dash .kd-q-cell .kd-q-i-v{font-size:18px}
#kairo-dash .kd-q-cell-l{font-weight:500;font-size:10.5px;font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--text-4);margin-bottom:6px}

/* ---------- Calendario ---------- */
#kairo-dash .kd-cal-h{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:16px}
#kairo-dash .kd-cal-nav{margin-left:auto;display:flex;align-items:center;gap:6px}
#kairo-dash .kd-cal-m{font-weight:500;font-size:12px;font-family:var(--font-ui);color:var(--text-2);min-width:110px;text-align:center}
#kairo-dash button.kd-nav-b{width:26px;height:26px;min-width:0;flex:0 0 26px;box-sizing:border-box;padding:0!important;
border-radius:7px;border:1px solid var(--border)!important;
background:var(--surface-2)!important;color:var(--text-3)!important;cursor:pointer;display:flex;align-items:center;
justify-content:center;transition:all .13s;box-shadow:none!important;line-height:1}
#kairo-dash button.kd-nav-b:hover{border-color:var(--border-hover)!important;background:var(--surface-3)!important;color:var(--text)!important}
#kairo-dash .kd-nav-b svg{width:13px;height:13px;flex:0 0 13px;display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

#kairo-dash .kd-cal-head,#kairo-dash .kd-cal-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px}
#kairo-dash .kd-dow{text-align:center;font-weight:500;font-size:10.5px;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;
color:var(--text-4);padding:2px 0 6px}
#kairo-dash .kd-dow:last-child{font-weight:600}

/* Celda de dia */
#kairo-dash button.kd-day{aspect-ratio:1/1;min-height:84px;border-radius:10px;background:var(--surface-2);padding:9px 10px;
display:flex;flex-direction:column;gap:0;overflow:hidden;text-align:left;border:1px solid transparent!important;
box-shadow:none!important;transition:filter .13s,border-color .13s}
#kairo-dash button.kd-day.is-out{background:transparent!important;pointer-events:none;border-color:transparent!important}
#kairo-dash button.kd-day.has{cursor:pointer}
#kairo-dash button.kd-day.has:hover{filter:brightness(1.08)}
#kairo-dash button.kd-day.today{border-color:var(--primary)!important}
#kairo-dash .kd-d-h{display:flex;align-items:center;justify-content:space-between;gap:6px}
#kairo-dash .kd-d-n{font-weight:400;font-size:11.5px;font-family:var(--font-mono);color:var(--text-4)}
#kairo-dash .kd-d-ops{font-weight:400;font-size:9.5px;font-family:var(--font-ui);opacity:.72}
#kairo-dash .kd-d-hoy{font-weight:400;font-size:10.5px;font-family:var(--font-ui);color:var(--text-4);margin-top:auto}
#kairo-dash .kd-d-v{font-weight:600;font-size:19px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;
line-height:1;letter-spacing:-.015em;margin-top:auto}
#kairo-dash .kd-d-sep{height:1px;background:currentColor;opacity:.18;margin:5px 0 4px}
#kairo-dash .kd-d-f{display:flex;align-items:baseline;justify-content:space-between;gap:4px;white-space:nowrap;
font-weight:500;font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;opacity:.78}

/* Escala de intensidad: el dia mas fuerte del mes marca el extremo */
#kairo-dash button.kd-day.has{color:var(--text-2)}
#kairo-dash button.kd-day.has.pos{color:var(--green)}
#kairo-dash button.kd-day.has.neg{color:var(--red)}
#kairo-dash button.kd-day.has.flat{color:var(--neutral);background:rgba(var(--neutral-rgb),.20)!important}
#kairo-dash button.kd-day.has.pos.i1{background:rgba(var(--green-rgb),.11)!important}
#kairo-dash button.kd-day.has.pos.i2{background:rgba(var(--green-rgb),.18)!important}
#kairo-dash button.kd-day.has.pos.i3{background:rgba(var(--green-rgb),.34)!important}
#kairo-dash button.kd-day.has.pos.i4{background:rgb(var(--green-rgb))!important;color:var(--on-green)}
#kairo-dash button.kd-day.has.neg.i1{background:rgba(var(--red-rgb),.11)!important}
#kairo-dash button.kd-day.has.neg.i2{background:rgba(var(--red-rgb),.18)!important}
#kairo-dash button.kd-day.has.neg.i3{background:rgba(var(--red-rgb),.34)!important}
#kairo-dash button.kd-day.has.neg.i4{background:rgb(var(--red-rgb))!important;color:var(--on-red)}
#kairo-dash button.kd-day.has .kd-d-n{color:inherit;font-weight:600}

/* Celda de semana */
#kairo-dash .kd-wk{aspect-ratio:1/1;min-height:84px;border-radius:10px;background:var(--surface-3);padding:9px 10px;
display:flex;flex-direction:column;gap:0;overflow:hidden;text-align:left;border:1px solid transparent}
#kairo-dash .kd-wk.has.pos{background:rgba(var(--green-rgb),.09);border-color:rgba(var(--green-rgb),.16)}
#kairo-dash .kd-wk.has.neg{background:rgba(var(--red-rgb),.09);border-color:rgba(var(--red-rgb),.16)}
#kairo-dash .kd-wk-h{display:flex;align-items:center;justify-content:space-between;gap:6px}
#kairo-dash .kd-wk-l{font-weight:600;font-size:9px;font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--text-4)}
#kairo-dash .kd-wk-o{font-weight:400;font-size:9.5px;font-family:var(--font-ui);color:var(--text-4)}
#kairo-dash .kd-wk.has.pos .kd-wk-l,#kairo-dash .kd-wk.has.pos .kd-wk-o{color:var(--green);opacity:.8}
#kairo-dash .kd-wk.has.neg .kd-wk-l,#kairo-dash .kd-wk.has.neg .kd-wk-o{color:var(--red);opacity:.8}
#kairo-dash .kd-wk-v{font-weight:600;font-size:18px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;
line-height:1;letter-spacing:-.015em;color:var(--text-4);margin-top:auto}
#kairo-dash .kd-wk.has.pos .kd-wk-v{color:var(--green)}
#kairo-dash .kd-wk.has.neg .kd-wk-v{color:var(--red)}
#kairo-dash .kd-wk-sep{height:1px;background:var(--border);margin:5px 0 4px}
#kairo-dash .kd-wk.has.pos .kd-wk-sep{background:rgba(var(--green-rgb),.16)}
#kairo-dash .kd-wk.has.neg .kd-wk-sep{background:rgba(var(--red-rgb),.16)}
#kairo-dash .kd-wk-f{display:flex;align-items:baseline;justify-content:space-between;gap:4px;white-space:nowrap;
font-weight:500;font-size:11px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-4)}
#kairo-dash .kd-wk-f .w{color:var(--green)}
#kairo-dash .kd-wk-s{font-weight:400;font-size:10.5px;font-family:var(--font-ui);color:var(--text-4)}

/* Pie del calendario */
#kairo-dash .kd-cal-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
margin-top:16px;padding-top:12px;border-top:1px solid var(--border-2)}
#kairo-dash .kd-cal-stats{display:flex;flex-wrap:wrap;align-items:center;gap:10px;
font-weight:400;font-size:11.5px;font-family:var(--font-mono);color:var(--text-3)}
#kairo-dash .kd-cal-stats i{font-style:normal;color:var(--text-off)}
#kairo-dash .kd-cal-leg{display:flex;align-items:center;gap:5px;
font-weight:400;font-size:10.5px;font-family:var(--font-ui);color:var(--text-4)}
#kairo-dash .kd-cal-leg i{width:12px;height:8px;border-radius:2px;display:block}
#kairo-dash .kd-cal-leg i.n3{background:rgba(var(--red-rgb),.5)}
#kairo-dash .kd-cal-leg i.z{background:var(--surface-2)}
#kairo-dash .kd-cal-leg i.p1{background:rgba(var(--green-rgb),.18)}
#kairo-dash .kd-cal-leg i.p3{background:rgba(var(--green-rgb),.5)}
#kairo-dash .kd-cal-leg i.p4{background:rgb(var(--green-rgb))}

/* ---------- Operaciones recientes ---------- */
#kairo-dash .kd-rc{overflow-x:auto}
#kairo-dash .kd-rc-h,#kairo-dash .kd-rw{display:grid;
grid-template-columns:44px minmax(100px,1fr) 46px 32px 46px 56px;gap:10px;align-items:center;min-width:368px}
#kairo-dash .kd-rc-h{padding:14px 4px 8px;border-bottom:1px solid var(--border)}
#kairo-dash .kd-rc-h span{font-weight:500;font-size:10px;font-family:var(--font-ui);letter-spacing:.08em;
text-transform:uppercase;color:var(--text-4);white-space:nowrap}
#kairo-dash .kd-rc-h span.c{text-align:center}
#kairo-dash .kd-rc-h span.r{text-align:right}
#kairo-dash .kd-rc-rows{display:flex;flex-direction:column;padding-top:2px}
#kairo-dash .kd-rw{padding:9px 4px;border-radius:8px;cursor:pointer;transition:background .12s}
#kairo-dash .kd-rw:hover{background:var(--surface-2)}
#kairo-dash .kd-rw.is-out{background:var(--amber-soft)}
#kairo-dash .kd-rw.is-out:hover{background:var(--amber-soft);filter:brightness(1.25)}
#kairo-dash .kd-rw-sep{height:1px;background:var(--border-2)}
#kairo-dash .kd-rw-d{font-weight:400;font-size:11.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;
color:var(--text-4);white-space:nowrap}
#kairo-dash .kd-rw-m{display:flex;flex-direction:column;gap:1px;min-width:0}
#kairo-dash .kd-rw-s{display:flex;align-items:center;gap:6px;font-weight:600;font-size:12.5px;font-family:var(--font-ui);color:var(--text)}
#kairo-dash .kd-rw-x{font-weight:400;font-size:11px;font-family:var(--font-ui);color:var(--text-4);
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kairo-dash .kd-rw-dir{font-weight:500;font-size:11.5px;font-family:var(--font-ui);color:var(--text-3);white-space:nowrap}
#kairo-dash .kd-rw-sc{font-weight:500;font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;
color:var(--text-3);text-align:center}
#kairo-dash .kd-rw-sc.is-hi{color:var(--text)}
#kairo-dash .kd-rw-r{font-weight:500;font-size:10px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;
color:var(--text-3);text-align:right}
#kairo-dash .kd-rw-p{font-weight:500;font-size:12.5px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;
color:var(--text-3);text-align:right;white-space:nowrap}
#kairo-dash .kd-rw.is-out .kd-rw-p{font-weight:600}
#kairo-dash .kd-rw-r.pos,#kairo-dash .kd-rw-p.pos{color:var(--green)}
#kairo-dash .kd-rw-r.neg,#kairo-dash .kd-rw-p.neg{color:var(--red)}
#kairo-dash .kd-out{font-weight:500;font-size:9.5px;font-family:var(--font-mono);font-style:normal;letter-spacing:.06em;
text-transform:uppercase;padding:2px 5px;border-radius:4px;background:var(--amber-soft);color:var(--amber);flex:none}
#kairo-dash .kd-rc-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
margin-top:auto;padding-top:12px;border-top:1px solid var(--border-2)}
#kairo-dash .kd-rc-sal{display:flex;flex-wrap:wrap;align-items:center;gap:9px;
font-weight:400;font-size:11.5px;font-family:var(--font-mono);color:var(--text-4)}
#kairo-dash .kd-rc-sal i{font-style:normal;color:var(--text-off)}
#kairo-dash .kd-rc-tag{font-weight:400;font-size:11.5px;font-family:var(--font-ui);color:var(--text-4)}

/* ---------- Tabla ---------- */
#kairo-dash .kd-tw{overflow-x:auto;margin:0 -4px;padding:0 4px}
#kairo-dash table.kd-t{width:100%;border-collapse:separate;border-spacing:0;min-width:440px;background:transparent!important;
border:0!important;margin:0!important}
#kairo-dash table.kd-t th{font-weight:600;font-size:10px;font-family:var(--font-ui);letter-spacing:.09em;text-transform:uppercase;color:var(--text-4);
text-align:right;padding:0 8px 11px;white-space:nowrap;border:0!important;border-bottom:1px solid var(--border)!important;background:transparent}
#kairo-dash table.kd-t th:first-child,#kairo-dash table.kd-t th:nth-child(2){text-align:left}
#kairo-dash table.kd-t td{padding:12px 8px;text-align:right;border:0!important;
border-bottom:1px solid var(--border-2)!important;white-space:nowrap;font-weight:400;font-size:13px;font-family:var(--font-ui);color:var(--text-2);background:transparent}
#kairo-dash table.kd-t td:first-child,#kairo-dash table.kd-t td:nth-child(2){text-align:left}
#kairo-dash table.kd-t tr:last-child td{border-bottom:0!important}
#kairo-dash table.kd-t tbody tr{cursor:pointer}
#kairo-dash table.kd-t tbody tr:hover td{background:var(--surface-2)}
#kairo-dash .kd-t-d{font-weight:400;font-size:12px;font-family:var(--font-mono);color:var(--text-4)}
#kairo-dash .kd-t-sym{font-weight:600;font-size:13px;font-family:var(--font-ui);color:var(--text);display:flex;align-items:center;gap:7px}
#kairo-dash .kd-t-sub{font-weight:400;font-size:11.5px;font-family:var(--font-ui);color:var(--text-4);margin-top:3px}
#kairo-dash .kd-t-num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:500;color:var(--text)}
#kairo-dash .kd-t-num.pos{color:var(--green)}
#kairo-dash .kd-t-num.neg{color:var(--red)}
#kairo-dash .kd-t-num.flat{color:var(--neutral)}
#kairo-dash .kd-dir{font-weight:500;font-size:12px;font-family:var(--font-ui);white-space:nowrap}
#kairo-dash .kd-dir.up{color:var(--green)}
#kairo-dash .kd-dir.down{color:var(--red)}

/* ---------- Instrumentos (tira de cierre) ---------- */
#kairo-dash .kd-inst{display:flex;flex-wrap:wrap;align-items:center;gap:26px;padding:18px 22px}
#kairo-dash .kd-inst-l{display:flex;flex-direction:column;gap:3px;min-width:150px}
#kairo-dash .kd-inst-t{font-weight:600;font-size:13px;font-family:var(--font-ui);color:var(--text)}
#kairo-dash .kd-inst-s{font-weight:400;font-size:11.5px;font-family:var(--font-ui);color:var(--text-4)}
#kairo-dash .kd-inst-g{flex:1 1 0;min-width:0;display:grid;
grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:10px}
#kairo-dash .kd-ir{background:var(--surface-2);border-radius:10px;padding:12px 14px;
display:flex;flex-direction:column;gap:6px;min-width:0}
:root:not([data-theme="dark"]) #kairo-dash .kd-ir{border:1px solid var(--border)}
#kairo-dash .kd-ir-h{display:flex;align-items:center;justify-content:space-between;gap:8px}
#kairo-dash .kd-ir-s{font-weight:600;font-size:12px;font-family:var(--font-ui);color:var(--text);
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kairo-dash .kd-ir-t{font-weight:400;font-size:10.5px;font-family:var(--font-mono);color:var(--text-4);white-space:nowrap}
#kairo-dash .kd-ir-n{font-weight:500;font-size:9.5px;font-family:var(--font-mono);color:var(--amber);
background:var(--amber-soft);border-radius:4px;padding:2px 5px;white-space:nowrap;flex:none}
#kairo-dash .kd-ir-v{font-weight:500;font-size:17px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;line-height:1.1}
#kairo-dash .kd-ir-v.pos{color:var(--green)}
#kairo-dash .kd-ir-v.neg{color:var(--red)}
#kairo-dash .kd-ir-v.is-soft{opacity:.78}
#kairo-dash .kd-ir-bar{height:4px;border-radius:2px;background:var(--surface-3);overflow:hidden;display:flex}
#kairo-dash .kd-ir-bar.neg{justify-content:flex-end}
#kairo-dash .kd-ir-bar span{height:4px;border-radius:2px;background:var(--neutral-fill)}
#kairo-dash .kd-ir-bar span.pos{background:var(--green-fill)}
#kairo-dash .kd-ir-bar span.neg{background:var(--red-fill)}
#kairo-dash .kd-ir-bar span.is-soft{opacity:.7}
#kairo-dash .kd-ir-x{font-weight:400;font-size:10.5px;font-family:var(--font-mono);color:var(--text-4);
white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#kairo-dash p.kd-foot{font-weight:400!important;font-size:11.5px!important;font-family:var(--font-ui)!important;
color:var(--text-4)!important;line-height:1.55!important;margin:14px 0 0!important;padding:0 2px}

/* ---------- Insights y rankings ---------- */
#kairo-dash .kd-ins-card{margin-bottom:14px}
#kairo-dash .kd-ins-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}
#kairo-dash .kd-ins-ttl{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px;min-width:0}
#kairo-dash .kd-ins-ttl h2.kd-card-t{margin:0!important}
#kairo-dash .kd-ins-sub{font-weight:400;font-size:12px;font-family:var(--font-ui);color:var(--text-4)}
#kairo-dash .kd-ins-meta{font-weight:400;font-size:11.5px;font-family:var(--font-ui);color:var(--text-4);white-space:nowrap}
#kairo-dash .kd-ins{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:12px;align-items:start;align-content:start}
#kairo-dash .kd-in{background:var(--surface-2);border-radius:12px;padding:16px;border:0;
display:flex;flex-direction:column;gap:10px}
:root:not([data-theme="dark"]) #kairo-dash .kd-in{border:1px solid var(--border)}
#kairo-dash .kd-in-k{display:flex;align-items:center;gap:7px}
#kairo-dash .kd-in-k i{width:5px;height:5px;flex:0 0 5px;border-radius:50%;background:var(--text-3)}
#kairo-dash .kd-in-k span{font-weight:600;font-size:10.5px;font-family:var(--font-ui);letter-spacing:.09em;
text-transform:uppercase;color:var(--text-3)}
#kairo-dash .kd-in.good .kd-in-k i,#kairo-dash .kd-in.info .kd-in-k i{background:var(--green)}
#kairo-dash .kd-in.good .kd-in-k span,#kairo-dash .kd-in.info .kd-in-k span{color:var(--green)}
#kairo-dash .kd-in.warn .kd-in-k i{background:var(--amber)}
#kairo-dash .kd-in.warn .kd-in-k span{color:var(--amber)}
#kairo-dash .kd-in.bad .kd-in-k i{background:var(--red)}
#kairo-dash .kd-in.bad .kd-in-k span{color:var(--red)}
#kairo-dash .kd-in-t{font-weight:500;font-size:14px;font-family:var(--font-ui);color:var(--text);line-height:1.45;text-wrap:pretty}
#kairo-dash .kd-in-m{display:flex;flex-wrap:wrap;align-items:center;gap:8px;
font-weight:500;font-size:12px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-3)}
#kairo-dash .kd-in-m b{font-weight:400;color:var(--text-off)}
#kairo-dash .kd-in-m span.pos{color:var(--green)}
#kairo-dash .kd-in-m span.neg{color:var(--red)}
#kairo-dash .kd-in-m span.warn{color:var(--amber)}
#kairo-dash .kd-in-bar{height:5px;border-radius:3px;background:var(--surface-3);overflow:hidden}
#kairo-dash .kd-in-bar span{display:block;height:5px;border-radius:3px;background:var(--neutral-fill)}
#kairo-dash .kd-in-x{font-weight:400;font-size:12px;font-family:var(--font-ui);color:var(--text-4);line-height:1.5}
#kairo-dash .kd-in-x span{color:var(--text-3)}

#kairo-dash .kd-rk{display:flex;flex-direction:column;gap:9px}
#kairo-dash .kd-rk-i{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:12px;
padding:11px 12px;border-radius:10px;background:var(--surface-2)}
#kairo-dash .kd-rk-n{font-weight:500;font-size:11px;font-family:var(--font-mono);color:var(--text-4);text-align:center}
#kairo-dash .kd-rk-t{font-weight:600;font-size:13px;font-family:var(--font-ui);color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#kairo-dash .kd-rk-s{font-weight:400;font-size:11.5px;font-family:var(--font-mono);color:var(--text-4);margin-top:3px}
#kairo-dash .kd-rk-v{font-weight:500;font-size:15px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--text)}
#kairo-dash .kd-rk-v.pos{color:var(--green)}
#kairo-dash .kd-rk-v.neg{color:var(--red)}
#kairo-dash .kd-rk-v small{display:block;font-weight:400;font-size:10.5px;font-family:var(--font-ui);color:var(--text-4);margin-top:2px}
#kairo-dash .kd-low{font-weight:600;font-size:9.5px;font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;
border-radius:4px;background:var(--amber-soft);color:var(--amber);margin-left:7px}

#kairo-dash .kd-bars{display:flex;flex-direction:column;gap:13px}
#kairo-dash .kd-bar-r{display:grid;grid-template-columns:92px minmax(0,1fr) 96px;align-items:center;gap:12px}
#kairo-dash .kd-bar-l{font-weight:500;font-size:12.5px;font-family:var(--font-ui);color:var(--text-2)}
#kairo-dash .kd-bar-l small{display:block;font-weight:400;font-size:10.5px;font-family:var(--font-mono);color:var(--text-4);margin-top:3px}
#kairo-dash .kd-bar-t{height:8px;border-radius:4px;background:var(--surface-3);position:relative;overflow:hidden}
#kairo-dash .kd-bar-f{position:absolute;top:0;bottom:0;border-radius:4px}
#kairo-dash .kd-bar-f.pos{background:var(--green-fill);left:50%}
#kairo-dash .kd-bar-f.neg{background:var(--red-fill);right:50%}
#kairo-dash .kd-bar-v{font-weight:500;font-size:13px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right;color:var(--text)}
#kairo-dash .kd-bar-v.pos{color:var(--green)}
#kairo-dash .kd-bar-v.neg{color:var(--red)}
#kairo-dash .kd-bar-v small{display:block;font-weight:400;font-size:10.5px;font-family:var(--font-ui);color:var(--text-4);margin-top:2px}

#kairo-dash .kd-empty{padding:32px 16px;text-align:center;border-radius:11px;background:var(--empty);
border:1px dashed var(--border);font-weight:500;font-size:13px;font-family:var(--font-ui);color:var(--text-4);line-height:1.6}
#kairo-dash .kd-skel{height:130px;border-radius:14px;background:var(--surface-2);animation:kdPulse 1.4s ease-in-out infinite}
@keyframes kdPulse{0%,100%{opacity:1}50%{opacity:.55}}
#kairo-dash.is-busy{opacity:.55;pointer-events:none;transition:opacity .15s}

/* Neutralizar el tema en los controles del modulo */
#kairo-dash button{font-family:var(--font-ui);letter-spacing:0}
#kairo-dash button:focus{outline:none}
#kairo-dash button.kd-btn,#kairo-dash button.kd-btn:focus{background:var(--surface-2)!important;color:var(--text-2)!important;
border:1px solid var(--border)!important;box-shadow:none!important}
#kairo-dash button.kd-btn:hover{border-color:var(--border-hover)!important;color:var(--text)!important}
#kairo-dash button.kd-btn.is-primary,#kairo-dash button.kd-btn.is-primary:focus{background:var(--primary)!important;
border-color:var(--primary)!important;color:var(--on-primary)!important}

/* ================= RESPONSIVE ================= */
@media(max-width:1360px){
  #kairo-dash .kd-main{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}
  #kairo-dash .kd-eq-side{gap:22px}
}
@media(max-width:1180px){
  #kairo-dash .kd-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  #kairo-dash .kd-main{grid-template-columns:minmax(0,1fr)}
  #kairo-dash .kd-fstate{margin-left:0;width:100%;justify-content:space-between}
}
@media(max-width:900px){
  #kairo-dash h1.kd-greet{font-size:25px!important}
  #kairo-dash .kd-kpi-v{font-size:29px!important}
  #kairo-dash .kd-eq-v{font-size:26px!important}
  #kairo-dash select.kd-fsel{max-width:none;flex:1 1 140px}
}
@media(max-width:760px){
  #kairo-dash .kd-actions{width:100%}
  #kairo-dash .kd-actions .k-period,#kairo-dash .kd-actions .k-period select{width:100%}
  #kairo-dash .kd-actions .kd-btn{flex:1 1 auto;justify-content:center}
  #kairo-dash .kd-cal-head,#kairo-dash .kd-cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
  #kairo-dash .kd-dow:last-child,#kairo-dash .kd-wk{display:none}
  #kairo-dash button.kd-day{aspect-ratio:auto;min-height:56px;padding:6px 7px}
  #kairo-dash .kd-d-v{font-size:13px}
  #kairo-dash .kd-d-ops,#kairo-dash .kd-d-f,#kairo-dash .kd-d-sep{display:none}
  #kairo-dash .kd-card{padding:16px}
  #kairo-dash .kd-bar-r{grid-template-columns:76px minmax(0,1fr) 78px;gap:9px}
  #kairo-dash .kd-q-split{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:560px){
  #kairo-dash .kd-kpis{grid-template-columns:minmax(0,1fr)}
  #kairo-dash h1.kd-greet{font-size:22px!important}
  #kairo-dash .kd-q-two{grid-template-columns:minmax(0,1fr);gap:14px}
  #kairo-dash .kd-eq-side{gap:16px}
  #kairo-dash .kd-filters{padding:12px}
}


/* ===== Ajustes de detalle ===== */
#kairo-dash .kd-filters{gap:7px;padding:11px 14px}
#kairo-dash select.kd-fsel{max-width:none;flex:1 1 0;min-width:0;height:34px;padding:0 26px 0 10px;font-size:12px!important;
background-position:calc(100% - 14px) 15px,calc(100% - 10px) 15px}
#kairo-dash .kd-smc{flex:0 0 auto;gap:7px;padding:0 10px}
#kairo-dash .kd-smc input{width:56px}
#kairo-dash .kd-smc span{font-size:12px}
#kairo-dash .kd-fstate{flex:0 0 auto;gap:11px;font-size:12px}
#kairo-dash .kd-anno{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
#kairo-dash .kd-endl{paint-order:stroke;stroke:var(--surface);stroke-width:3px;stroke-linejoin:round}
@media(max-width:1180px){#kairo-dash select.kd-fsel{flex:1 1 130px}#kairo-dash .kd-smc{flex:1 1 100%}#kairo-dash .kd-smc input{width:100%}}


/* ===== Proporcion de la fila de estadisticas de equity ===== */
#kairo-dash .kd-eq-side{gap:26px}
#kairo-dash .kd-eq-side>div{min-width:96px}
#kairo-dash .kd-eq-st-l{font-size:10px;letter-spacing:.1em;white-space:nowrap;margin-bottom:7px}
#kairo-dash .kd-eq-st-v{font-size:18px}
#kairo-dash .kd-eq-st-s{font-size:11px;margin-top:4px;white-space:nowrap}
#kairo-dash .kd-eq-v{font-size:28px}
#kairo-dash .kd-eq-c{font-size:12px}
@media(max-width:1500px){#kairo-dash .kd-eq-side{gap:18px}#kairo-dash .kd-eq-side>div{min-width:84px}#kairo-dash .kd-eq-st-v{font-size:16px}}
@media(max-width:1200px){#kairo-dash .kd-eq-top{gap:16px}#kairo-dash .kd-eq-main{flex:1 1 100%}}


/* ===== Columnas a la misma altura =====
   Cada columna es un contenedor flexible; la tarjeta principal crece hasta
   igualar la altura de la columna opuesta y su contenido se reparte. */
#kairo-dash .kd-main{align-items:stretch}
#kairo-dash .kd-main>div{display:flex;flex-direction:column;gap:14px;min-width:0}
#kairo-dash .kd-main>div>.kd-card{display:flex;flex-direction:column;margin:0}
#kairo-dash .kd-main>div>.kd-card:first-child{flex:1 1 auto}
#kairo-dash .kd-q-body{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-between}
#kairo-dash .kd-q-row:last-of-type{border-bottom:0}
#kairo-dash .kd-q-split{margin-top:0;flex:0 0 auto}
#kairo-dash .kd-chart{flex:1 1 auto;display:flex;align-items:center}
#kairo-dash .kd-chart svg{min-height:200px}
#kairo-dash .kd-note{margin-top:auto}
#kairo-dash .kd-tw,#kairo-dash .kd-rc-rows{flex:1 1 auto}
#kairo-dash .kd-cal-grid{flex:0 0 auto}
#kairo-dash .kd-rk,#kairo-dash .kd-bars{flex:1 1 auto}
@media(max-width:1180px){#kairo-dash .kd-main>div>.kd-card:first-child{flex:0 0 auto}#kairo-dash .kd-chart svg{min-height:0}}


/* ===== Grafico: acabado segun la referencia ===== */
#kairo-dash .kd-anno{font-family:var(--font-ui);font-weight:500;font-size:13px;fill:var(--amber);
paint-order:normal;stroke:none;stroke-width:0}
#kairo-dash .kd-endl{font-family:var(--font-ui);font-weight:600;font-size:15px;fill:var(--green);
paint-order:normal;stroke:none;stroke-width:0}
#kairo-dash .kd-base{font-family:var(--font-mono);font-weight:400;font-size:12px;fill:var(--text-4)}
#kairo-dash .kd-ax{font-family:var(--font-mono);font-weight:400;font-size:11.5px;fill:var(--text-4)}
#kairo-dash .kd-halo{fill:var(--amber);opacity:.18;pointer-events:none}
#kairo-dash .kd-pt.out{fill:var(--amber);stroke:var(--amber);stroke-width:0}
#kairo-dash .kd-pt.end{fill:var(--green);stroke:var(--green);stroke-width:0}
#kairo-dash .kd-gl{stroke:var(--border);stroke-width:1;opacity:.7}
#kairo-dash .kd-gl.dash{stroke-dasharray:2 5;opacity:.9}
#kairo-dash .kd-chart{flex:0 0 auto;display:block;margin-top:4px}
#kairo-dash .kd-chart svg{min-height:0}
#kairo-dash .kd-note{margin-top:auto}
#kairo-dash .kd-eq-top{margin-bottom:2px}
#kairo-dash .kd-eq-side>div{min-width:112px}
#kairo-dash .kd-eq-st-s{white-space:normal;line-height:1.45}
@media(max-width:1500px){#kairo-dash .kd-eq-side>div{min-width:104px}}


/* ===== Filtros: chips propios (label + valor + caret) ===== */
#kairo-dash .kd-filters{gap:8px;padding:10px 14px;align-items:center}
#kairo-dash .kd-fl{font-family:var(--font-ui);font-weight:600;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--text-4);margin-right:4px}
#kairo-dash .kd-chip{position:relative;display:flex;align-items:center;gap:8px;height:34px;padding:0 11px;
border-radius:8px;border:1px solid var(--border);background:var(--surface-2);flex:0 0 auto}
#kairo-dash .kd-chip.on{border-color:var(--primary);background:var(--primary-soft)}
#kairo-dash button.kd-chip-b{display:flex;align-items:center;gap:8px;height:100%;padding:0!important;
background:none!important;border:0!important;box-shadow:none!important;cursor:pointer;white-space:nowrap}
#kairo-dash .kd-chip-l{font-family:var(--font-ui);font-weight:400;font-size:12.5px;color:var(--text-4)}
#kairo-dash .kd-chip-v{font-family:var(--font-ui);font-weight:600;font-size:12.5px;color:var(--text-2)}
#kairo-dash .kd-chip.on .kd-chip-v{color:var(--primary)}
#kairo-dash .kd-caret{width:13px;height:13px;flex:0 0 13px;fill:none;stroke:var(--text-4);stroke-width:2;
stroke-linecap:round;stroke-linejoin:round;transition:transform .14s}
#kairo-dash .kd-chip.open .kd-caret{transform:rotate(180deg)}
#kairo-dash .kd-chip:hover{border-color:var(--border-hover)}
#kairo-dash .kd-chip-m{position:absolute;top:calc(100% + 6px);left:0;z-index:20;min-width:100%;max-height:262px;
overflow:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:5px;
box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1px}
#kairo-dash button.kd-opt{text-align:left;height:31px;padding:0 10px!important;border-radius:6px;border:0!important;
background:none!important;box-shadow:none!important;color:var(--text-2)!important;cursor:pointer;white-space:nowrap;
font-family:var(--font-ui);font-weight:500;font-size:12.5px}
#kairo-dash button.kd-opt:hover{background:var(--surface-3)!important;color:var(--text)!important}
#kairo-dash button.kd-opt.sel{background:var(--primary-soft)!important;color:var(--primary)!important}
#kairo-dash .kd-smc{gap:9px}
#kairo-dash .kd-range{position:relative;width:104px;height:14px;display:flex;align-items:center;flex:0 0 104px}
#kairo-dash .kd-range-t{position:absolute;left:0;right:0;height:4px;border-radius:2px;background:var(--surface-3)}
#kairo-dash .kd-range-f{position:absolute;height:4px;border-radius:2px;background:var(--primary)}
#kairo-dash .kd-range input{position:absolute;left:0;width:100%;height:14px;margin:0;padding:0;
-webkit-appearance:none;appearance:none;background:none;pointer-events:none}
#kairo-dash .kd-range input::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:13px;height:13px;
border-radius:50%;background:var(--primary);border:2px solid var(--surface);cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.4)}
#kairo-dash .kd-range input::-moz-range-thumb{pointer-events:auto;width:13px;height:13px;border-radius:50%;
background:var(--primary);border:2px solid var(--surface);cursor:pointer}
#kairo-dash .kd-range input::-moz-range-track{background:none}
#kairo-dash .kd-fstate{margin-left:auto;display:flex;align-items:center;gap:12px;
font-family:var(--font-ui);font-weight:400;font-size:12.5px;color:var(--text-4)}
@media(max-width:1240px){#kairo-dash .kd-filters{gap:7px}#kairo-dash .kd-chip{padding:0 9px;gap:6px}#kairo-dash .kd-chip-l,#kairo-dash .kd-chip-v{font-size:12px}}
@media(max-width:1180px){#kairo-dash .kd-fstate{margin-left:0;width:100%;justify-content:space-between;padding-top:2px}}


/* ===== Vistas guardadas ===== */
#kairo-dash .kd-fstate{gap:10px}
#kairo-dash button.kd-fclear{background:none!important;border:0!important;padding:0!important;box-shadow:none!important;
font-family:var(--font-ui);font-weight:500;font-size:12.5px;color:var(--primary-link)!important;cursor:pointer;white-space:nowrap}
#kairo-dash button.kd-fclear:hover{color:var(--primary-2)!important}
#kairo-dash .kd-views .kd-chip-m{left:auto;right:0;min-width:190px}
#kairo-dash .kd-vrow{display:flex;align-items:center;gap:2px}
#kairo-dash .kd-vrow .kd-opt{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
#kairo-dash button.kd-vdel{width:28px;height:28px;flex:0 0 28px;border:0!important;border-radius:6px;
background:none!important;box-shadow:none!important;color:var(--text-4)!important;cursor:pointer;
display:flex;align-items:center;justify-content:center;padding:0!important}
#kairo-dash button.kd-vdel:hover{background:var(--red-soft)!important;color:var(--red)!important}
#kairo-dash .kd-vdel svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
#kairo-dash .kd-savew{position:relative}
#kairo-dash .kd-vform{position:absolute;top:calc(100% + 8px);right:0;z-index:20;display:flex;gap:6px;
background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:7px;box-shadow:var(--shadow)}
#kairo-dash input.kd-vname{width:172px;height:32px;padding:0 10px;border-radius:7px;
border:1px solid var(--border)!important;background:var(--surface)!important;color:var(--text)!important;
font-family:var(--font-ui);font-weight:500;font-size:12.5px;box-shadow:none!important}
#kairo-dash input.kd-vname:focus{outline:none;border-color:var(--primary)!important}
#kairo-dash button.kd-vok{height:32px;padding:0 13px!important;border-radius:7px;border:0!important;
background:var(--primary)!important;color:var(--on-primary)!important;box-shadow:none!important;cursor:pointer;
font-family:var(--font-ui);font-weight:600;font-size:12.5px;white-space:nowrap}
#kairo-dash button.kd-vok:hover{background:var(--primary-2)!important}


/* ===== Correccion: [hidden] pierde contra un display explicito ===== */
#kairo-dash .kd-chip-m[hidden],#kairo-dash .kd-vform[hidden]{display:none!important}
#kairo-dash .kd-chip:nth-of-type(n+5) .kd-chip-m{left:auto;right:0}
#kairo-dash .kd-chip-m{min-width:158px}
