/* tradekast ops — tema claro "gris suave + topo" (03-sep-2026)
   Se carga DESPUÉS del <style> de cada página y pisa la paleta oscura.
   Fondo gris cálido, paneles un tono más oscuros, texto negro, botones y barra superior en gris topo. */
:root{
  --negro:#E9E7E2;      /* fondo de página */
  --panel:#DBD8D1;      /* paneles / tarjetas (un tono más oscuro que el fondo) */
  --panel2:#E0DDD7;     /* tarjetas secundarias */
  --line:#C4C0B7;       /* bordes */
  --dim:#5E5B55;        /* texto secundario */
  --ink:#1A1A1A;        /* texto principal */
  --topo:#33312E;       /* gris topo: barra, botones */
  --topo2:#3F3C38;
  --topo-txt:#D6D2CA;
  --naranja-bg:#FBE7DE; /* resalte suave naranja */
}
body{ background:var(--negro); color:var(--ink); }

/* ---------- barra superior ---------- */
.ops-top{ background:var(--topo); border-bottom:1px solid #26241f; }
.ops-top a{ color:var(--topo-txt); }
.ops-top a:hover{ color:var(--naranja); }
.ops-top span{ color:#9c988f; }

/* ---------- títulos, botones, estado ---------- */
.ttl h1{ color:var(--ink); }
.ttl p{ color:var(--dim); }
.btn{ background:var(--topo); color:#fff; border-color:var(--topo); }
.btn:hover{ background:var(--naranja); border-color:var(--naranja); color:#fff; }
.btn.primary{ background:var(--naranja); border-color:var(--naranja); color:#fff; }
.btn.ghosty{ background:transparent; color:var(--ink); border-color:var(--line); }
.btn.ghosty:hover{ color:var(--naranja); border-color:var(--naranja); }
.btn.danger:hover{ background:#B42318; border-color:#B42318; color:#fff; }
.status{ color:var(--dim); }
.toast{ background:var(--topo); color:#fff; }

/* ---------- inputs ---------- */
.f input, .f select, .f textarea, table.mini input, .blk textarea, .blkhead select{
  background:#fff; color:var(--ink); border-color:var(--line); }
.f input::placeholder, .f textarea::placeholder{ color:#9a968e; }
.f label{ color:var(--dim); }
.f .hint{ color:var(--dim); }

/* ---------- textos secundarios que estaban en gris oscuro (#777 / #666) ---------- */
.side-title, .ordsel button, .side-empty, .meta, .body-rows .lbl, .drop, .doclist .d .x, .doclist .none,
.ptable th, .prow .rm, .docbox .sub, .docbox .lbl, th, td.prod, td.prod small, .empty, .foot,
.lbl2, .blkhead .num, .blk .auto, .step, .blkhead button, .doclist .tag, .empty-main, .soon p, .plan .c p,
.card .cli, .card .sub, .card .notes, .mini .c{ color:var(--dim); }
td.prod{ color:#3a3833; }
.body-rows .val{ color:var(--ink); }

/* ---------- paneles y tarjetas ---------- */
.card, .box, .form{ background:var(--panel); border-color:var(--line); }
.form{ border-color:var(--naranja); }
.mini{ background:var(--panel2); border-color:var(--line); border-left-color:#9a958c; }
.mini:hover{ border-color:var(--naranja); }
.mini.active{ background:var(--naranja-bg); border-color:var(--naranja); }
.docbox{ background:var(--panel2); border-color:var(--line); }
.ptable td{ border-bottom-color:var(--line); }
.ptable th{ border-bottom-color:#a9a49a; }
.prods{ border-color:#aaa59c; }
.prow .rm, .addprod{ border-color:var(--line); color:var(--dim); }
.ordsel button{ border-color:var(--line); }
.drop{ border-color:#aaa59c; }
.drop.over{ background:var(--naranja-bg); }
.plan .c, .blk{ background:var(--panel2); border-color:var(--line); }
.blk:hover{ border-color:#a9a49a; }
.plan .c{ border-left-color:#9a958c; }
.soon{ border-color:#aaa59c; }

/* reporte de estado */
.pipe .st{ background:var(--panel2); border-color:var(--line); }
.pipe .st:hover, .pipe .st.on{ border-color:var(--naranja); background:#fff; }
.card table th{ color:var(--dim); border-bottom-color:#a9a49a; }
.card table td{ border-bottom-color:var(--line); }
.card table tr:hover td{ background:#E6E3DC; }

/* ---------- chips de etapa (versión clara: fondo tintado + texto oscuro) ---------- */
.chip{ background:#ECEAE4; color:var(--dim); border-color:var(--line); }
.chip.est-Oportunidad, .est-Oportunidad{ background:#DCE8FB; color:#1D4E9E; border-color:#9DBCEF; }
.chip.est-Prospecto{ background:#DCE8FB; color:#1D4E9E; border-color:#9DBCEF; }
.chip.est-Análisis, .est-Análisis{ background:#E9E0FA; color:#5B2FA6; border-color:#C2AEEE; }
.chip.est-En-proceso, .est-En-proceso{ background:#FBEBCF; color:#8A5A00; border-color:#E9C77E; }
.chip.est-Oferta-lista, .est-Oferta-lista{ background:#D5F3F1; color:#0B6B67; border-color:#8ED5D0; }
.chip.est-Cotizado-al-cliente, .est-Cotizado-al-cliente, .chip.est-Cotización{ background:#FBF0C4; color:#7A5B00; border-color:#E6CF6B; }
.chip.est-Negociación, .est-Negociación{ background:#FCE1D0; color:#A34A0F; border-color:#F0A97C; }
.chip.est-PO-Contrato, .est-PO-Contrato, .chip.est-En-ejecución, .est-En-ejecución{ background:#D7F2E1; color:#1B6B3F; border-color:#8FD6AE; }
.chip.est-Cerrado, .est-Cerrado{ background:#DFF1DF; color:#2E6B2E; border-color:#A0D6A0; }
.chip.est-Perdido, .est-Perdido{ background:#FADDD7; color:#A32A18; border-color:#F0A08F; }

/* ---------- bitácora ---------- */
.composer textarea, .composer input{ background:#fff; color:var(--ink); border-color:var(--line); }
.composer textarea::placeholder{ color:#9a968e; }
.msg{ background:var(--panel2); border-color:var(--line); color:var(--ink); }
.msg.mine{ background:var(--naranja-bg); border-color:#F0A97C; color:var(--ink); }
.msg .who span, .day, .msgs .none, .hint, .pend span, .mini .n{ }
.msg .att a{ background:#fff; }

/* ---------- legal ---------- */
.tab{ color:var(--dim); }
.tab:hover{ color:var(--ink); }
.pill{ background:#ECEAE4; }
.pill.draft{ color:var(--dim); border-color:#a9a49a; }
.step{ border-bottom-color:#c4c0b7; }
.step.done{ border-bottom-color:#7fc39c; }
.note{ background:#F6F0E0; border-color:#E3D3A8; color:#4A3F2A; }
.note b{ color:#8a5a00; }
.note code{ background:#FBE7DE; }
.note code:hover{ background:#f6d3c2; }
.sheetwrap{ background:#CFCBC3; }
.lang{ border-color:var(--topo); }
.lb{ background:var(--topo); color:var(--topo-txt); }
.lb:hover{ color:#fff; }
.lb.on{ background:var(--naranja); color:#fff; }
.cnd{ color:#8a5a00; border-color:#E9C77E; background:#FBEBCF; }
.doclist .tag{ border-color:#aaa59c; }
td.rm button{ border-color:var(--line); color:var(--dim); }

/* ---------- index (login + hub) ---------- */
body.ops-index{ color:var(--ink); }
body.ops-index .logo{ height:64px; margin-bottom:14px; }
body.ops-index .sub{ font-size:15px; letter-spacing:4px; color:var(--ink); margin-bottom:44px; font-weight:600; }
body.ops-index .sub b{ color:var(--naranja); }
body.ops-index .card{ background:var(--topo); border-color:var(--topo); color:#fff; box-shadow:0 10px 30px rgba(0,0,0,.12); }
body.ops-index .card h1{ color:#fff; }
body.ops-index label{ color:var(--topo-txt); }
body.ops-index input{ background:#fff; color:var(--ink); border-color:#fff; }
body.ops-index input:focus{ border-color:var(--naranja); }
body.ops-index .hub h1{ color:var(--dim); font-size:13px; }
body.ops-index a.tile{ background:var(--topo); border-color:var(--topo); color:#fff; box-shadow:0 6px 18px rgba(0,0,0,.10); }
body.ops-index a.tile:hover{ background:var(--topo2); border-color:var(--naranja); box-shadow:0 10px 24px rgba(0,0,0,.16); }
body.ops-index a.tile::before{ opacity:.9; width:3px; }
body.ops-index .tile h2{ font-size:15px; }
body.ops-index .tile p{ color:var(--topo-txt); }
body.ops-index .foot, body.ops-index .foot a{ color:var(--dim); }
body.ops-index .foot a:hover{ color:var(--naranja); }

@media print{
  body{ background:#fff; }
}
