/* ==========================================================================
   Tema "Taste" — reglas de taste-skill (Leonxlnx) para pantallas de app
   Suelo negro sin azul/pizarra · una grotesca (Geist) + mono para cifras ·
   color solo en datos y estado · sin degradados, brillos, desenfoques ni sombras
   en paneles · un único radio (6px) · etiquetas en minúscula de frase.
   Se activa con <html data-theme="taste">.
   ========================================================================== */
:root[data-theme="taste"] {
  --bg: #0a0a0a;
  --surface: #111111;
  --surface-2: #171717;
  --surface-3: #1f1f1f;
  --border: #232323;
  --border-strong: #2e2e2e;
  --text: #ededed;
  --text-2: #b4b4b4;
  --muted: #8f8f8f;
  --primary: #ededed;
  --primary-hover: #ffffff;
  --primary-soft: #1f1f1f;
  --link: #ededed;
  --ring: #ededed;
  --up: #3fb950;
  --up-soft: rgba(63, 185, 80, .12);
  --down: #f85149;
  --down-soft: rgba(248, 81, 73, .12);
  --warn: #d29922;
  --warn-soft: rgba(210, 153, 34, .12);
  --violet: #b4b4b4;
  --radius-sm: 6px;
  --radius: 6px;
  --radius-lg: 6px;
  --shadow-1: none;
  --shadow-2: 0 8px 24px rgba(0, 0, 0, .6); /* solo elementos flotantes */
  --font: 'Geist', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --mono: 'Geist Mono', ui-monospace, monospace;
  --topbar-bg: #0a0a0a;
  --placeholder: #6b6b6b;
  --warn-text: #e3b341;
  --info-text: #b4b4b4;
  --hero-border: transparent;
  --on-primary: #0a0a0a;
  --chart-ink: #ededed;
  --chart-grid: rgba(255, 255, 255, .05);
  --chart-muted: #8f8f8f;
  --tooltip-bg: #171717;
  --scroll-thumb: rgba(255, 255, 255, .16);
  --scroll-thumb-hover: rgba(255, 255, 255, .32);
}

[data-theme="taste"] body { font-size: 14px; letter-spacing: -.005em; }
[data-theme="taste"] h1 { font-size: 24px; font-weight: 600; letter-spacing: -.02em; }
[data-theme="taste"] h2 { font-size: 15px; font-weight: 600; }
[data-theme="taste"] a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* cifras en mono tabular */
[data-theme="taste"] .kpi .value,
[data-theme="taste"] td.num,
[data-theme="taste"] .num,
[data-theme="taste"] .pf-val,
[data-theme="taste"] .mkt-price,
[data-theme="taste"] .ind .v,
[data-theme="taste"] .delta,
[data-theme="taste"] .donut-center .v { font-family: var(--mono); letter-spacing: -.02em; }

/* ---------- acceso: plano, sin degradados ---------- */
[data-theme="taste"] .auth-hero { background: var(--surface); }
[data-theme="taste"] .auth-hero h2 { font-size: 32px; letter-spacing: -.035em; line-height: 1.05; }
[data-theme="taste"] .auth-feat .ico-wrap { display: none; }
[data-theme="taste"] .auth-chart path:first-of-type { display: none; }
[data-theme="taste"] .auth-chart path:last-of-type { stroke: var(--text); stroke-width: 1.5; }
[data-theme="taste"] .logo { background: none; box-shadow: none; color: var(--text); width: 22px; }
[data-theme="taste"] .logo .ico { width: 22px; height: 22px; stroke-width: 2; }
[data-theme="taste"] .brand { font-size: 15px; font-weight: 600; letter-spacing: -.02em; }

/* ---------- shell ---------- */
[data-theme="taste"] .sidebar { background: var(--bg); width: 228px; }
[data-theme="taste"] .sidebar nav a { min-height: 34px; font-size: 14px; color: var(--muted); font-weight: 500; }
[data-theme="taste"] .sidebar nav a .ico { width: 16px; height: 16px; color: inherit; }
[data-theme="taste"] .sidebar nav a:hover { background: transparent; color: var(--text); }
[data-theme="taste"] .sidebar nav a.active { background: var(--surface-3); color: var(--text); }
[data-theme="taste"] .sidebar nav a.active::before { display: none; }
[data-theme="taste"] .nav-group { text-transform: none; letter-spacing: 0; font-size: 12px; font-weight: 500; color: var(--muted); margin: 18px 10px 4px; }
[data-theme="taste"] .avatar { background: var(--surface-3); border: 0; }
[data-theme="taste"] .topbar { background: var(--topbar-bg); backdrop-filter: none; -webkit-backdrop-filter: none; min-height: 64px; }
[data-theme="taste"] .market-status { border: 0; padding: 0; }
[data-theme="taste"] .page { max-width: 1250px; gap: 16px; animation: none; }
[data-theme="taste"] .scrim { background: rgba(0, 0, 0, .7); }

/* ---------- superficies: borde, nunca sombra ---------- */
[data-theme="taste"] .card,
[data-theme="taste"] .kpi { background: var(--surface); border-color: var(--border); box-shadow: none; }
[data-theme="taste"] .card { padding: 20px; }
[data-theme="taste"] .section-title { text-transform: none; letter-spacing: 0; font-size: 15px; color: var(--text); margin: 8px 0 -4px; }

/* KPIs: un contenedor dividido por filetes, sin iconos */
[data-theme="taste"] .grid.k { gap: 0; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); overflow: hidden; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
[data-theme="taste"] .grid.k > .kpi { border: 0; border-radius: 0; box-shadow: inset -1px 0 0 var(--border), inset 0 -1px 0 var(--border); background: transparent; padding: 18px 20px; }
[data-theme="taste"] .kpi.hero { background: transparent; border-color: transparent; }
[data-theme="taste"] .kpi .label .ico { display: none; }
[data-theme="taste"] .kpi .label { font-size: 13px; color: var(--muted); }
[data-theme="taste"] .kpi .value { font-size: 22px; font-weight: 500; margin-top: 8px; }
[data-theme="taste"] .kpi.hero .value { font-size: 34px; font-weight: 500; }
[data-theme="taste"] .kpi .sub { font-size: 12px; }
[data-theme="taste"] .modal .grid.k { margin: 0; }

/* variaciones: color = bueno/malo, sin pastillas ni flechas */
[data-theme="taste"] .delta .ico { display: none; }
[data-theme="taste"] .delta.pill,
[data-theme="taste"] .delta.pill.up,
[data-theme="taste"] .delta.pill.down { background: transparent; padding: 0; font-size: 13px; }
[data-theme="taste"] .delta.flat, [data-theme="taste"] .delta.pill.flat { color: var(--muted); background: transparent; }
[data-theme="taste"] .delta { font-weight: 500; }
[data-theme="taste"] .neutral-delta .delta { color: var(--text-2); }

/* ---------- botones: planos, sin color de acento en el chrome ---------- */
[data-theme="taste"] .btn { border-radius: 6px; background: transparent; border-color: var(--border-strong); min-height: 34px; }
[data-theme="taste"] .btn:hover { background: var(--surface-2); }
[data-theme="taste"] .btn:active { transform: none; }
[data-theme="taste"] .btn.primary { background: var(--primary); border-color: var(--primary); color: var(--on-primary); box-shadow: none; }
[data-theme="taste"] .btn.primary:hover { background: var(--primary-hover); border-color: var(--primary-hover); }
[data-theme="taste"] .btn.ghost { border-color: transparent; }
[data-theme="taste"] .btn.danger:hover { background: var(--down-soft); }
[data-theme="taste"] .btn .spin { border-color: color-mix(in srgb, var(--on-primary) 30%, transparent); border-top-color: var(--on-primary); }

[data-theme="taste"] .tabs { background: transparent; border: 0; padding: 0; gap: 2px; }
[data-theme="taste"] .tab { color: var(--muted); border-radius: 6px; }
[data-theme="taste"] .tab.active { background: var(--surface-3); color: var(--text); box-shadow: none; }

[data-theme="taste"] .chip { border-radius: 6px; background: transparent; color: var(--muted); }
[data-theme="taste"] .chip.active { background: var(--surface-3); border-color: var(--surface-3); color: var(--text); }
[data-theme="taste"] .chip .ico { display: none; }

/* ---------- formularios ---------- */
[data-theme="taste"] input, [data-theme="taste"] select, [data-theme="taste"] textarea { background: var(--bg); border-color: var(--border-strong); border-radius: 6px; }
[data-theme="taste"] input:focus, [data-theme="taste"] select:focus, [data-theme="taste"] textarea:focus { border-color: var(--muted); box-shadow: none; }
[data-theme="taste"] input[type=checkbox] { accent-color: var(--text); }
[data-theme="taste"] .info { background: var(--surface-2); border-color: var(--border); color: var(--text-2); }
[data-theme="taste"] .notice { background: var(--warn-soft); border-color: rgba(210, 153, 34, .3); color: var(--warn); }

/* ---------- tablas: cabeceras en minúscula, sin banda ---------- */
[data-theme="taste"] th { text-transform: none; letter-spacing: 0; font-size: 12px; background: transparent; color: var(--muted); }
[data-theme="taste"] td { padding: 12px; }
[data-theme="taste"] tr.clickable:hover td { background: var(--surface-2); }
[data-theme="taste"] .badge { border-radius: 4px; background: var(--surface-3); color: var(--text-2); }
[data-theme="taste"] .badge.buy { background: var(--up-soft); color: var(--up); }
[data-theme="taste"] .badge.sell { background: var(--down-soft); color: var(--down); }
[data-theme="taste"] .badge.transfer { background: var(--surface-3); color: var(--text-2); }
[data-theme="taste"] .badge.warn { background: var(--warn-soft); color: var(--warn); }

/* avatares de activo neutros: el color se reserva a los datos */
[data-theme="taste"] .asset-av { background: var(--surface-3) !important; color: var(--text-2); border-radius: 6px; font-family: var(--mono); font-weight: 500; font-size: 10px; }

/* ---------- carga: barras grises sin brillo ---------- */
[data-theme="taste"] .skeleton::after, [data-theme="taste"] .loading::after { display: none; }
[data-theme="taste"] .skeleton, [data-theme="taste"] .loading { background: var(--surface-2); border-color: var(--border); }

/* ---------- cartera ---------- */
[data-theme="taste"] .pf-card:hover { transform: none; border-color: var(--border-strong); }
[data-theme="taste"] .pf-card .bl { display: none; }
[data-theme="taste"] .pf-card .pf-val { font-family: var(--mono); font-weight: 500; }
[data-theme="taste"] .pf-stats { border-top-color: var(--border); }
/* distribución como lista de barras (sin anillo multicolor) */
[data-theme="taste"] .donut-wrap { display: none; }
[data-theme="taste"] .legend-list { margin-top: 0; gap: 12px; }
[data-theme="taste"] .legend-list .dot { display: none; }
[data-theme="taste"] .legend-list .bar { flex: 0 0 90px; height: 6px; border-radius: 0; }
[data-theme="taste"] .legend-list .bar i { border-radius: 0; }
[data-theme="taste"] .live::before { animation: none; box-shadow: none; }

/* ---------- mercado / macro / calendario ---------- */
[data-theme="taste"] .ind:hover { transform: none; }
[data-theme="taste"] .highlight { background: var(--surface-2); box-shadow: inset 2px 0 0 var(--text); }
[data-theme="taste"] .news-item .src { color: var(--text); }
[data-theme="taste"] .cal-day > .h { background: var(--surface-2); }
[data-theme="taste"] .broker.active { background: var(--surface-3); border-color: var(--muted); }
[data-theme="taste"] .bl { border-radius: 4px; }

/* ---------- flotantes: aquí sí sombra ---------- */
[data-theme="taste"] .modal-back { background: rgba(0, 0, 0, .75); backdrop-filter: none; }
[data-theme="taste"] .modal, [data-theme="taste"] .modal-head, [data-theme="taste"] .modal-foot { background: var(--surface); }
[data-theme="taste"] .modal { border-radius: 6px; }
[data-theme="taste"] .toast { border-radius: 6px; }

@media (max-width: 600px) {
  [data-theme="taste"] .grid.k { grid-template-columns: 1fr 1fr; gap: 0; }
  [data-theme="taste"] .kpi.hero .value { font-size: 28px; }
  [data-theme="taste"] .kpi .value { font-size: 17px; }
}

/* Franja de KPIs: siempre llena el ancho (sin huecos ni filas desiguales) */
[data-theme="taste"] .grid.k { display: flex; flex-wrap: wrap; }
[data-theme="taste"] .grid.k > .kpi { flex: 1 1 150px; min-width: 0; }
[data-theme="taste"] .grid.k > .kpi.hero { flex: 2 1 280px; }
@media (max-width: 600px) {
  [data-theme="taste"] .grid.k > .kpi { flex: 1 1 40%; }
  [data-theme="taste"] .grid.k > .kpi.hero { flex-basis: 100%; }
}
