/* Capa de presentación reversible: NUVIA_VISUAL=anterior omite esta hoja. */
:root { --nuvia-min-font:14px; --nuvia-label-case:none; --muted:#685d50; --soft:#554a40; --dorado:#806019; --brand:#806019; --gold:#806019; --amber:#806019; --tinta:#352e25; --line:#dfd3c0; }
html { scrollbar-gutter:stable; }
/* El selector conserva su ancho cuando se convierte en buscador. */
body .crmfilters[action="/clientes"] .crmf-field:has(select[name="boda"]) { width:220px; max-width:100%; flex:0 0 220px; }
body .crmfilters[action="/clientes"] select[name="boda"] { width:100%; }
body { font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif!important; font-size:16px!important; line-height:1.55; }
body :is(p,li,label,td,th,small,button,input,select,textarea) { line-height:1.5; }
body :is(h1,h2,h3,h4,label,th,.pill,.tag,.marca,.k,.l) { text-transform:none!important; letter-spacing:normal!important; }
body :is(h1,h2,h3) { text-wrap:pretty; }
body :is(a,.muted,.hint,.nota,.pie,.sub,.poweredby) { color:var(--soft); }
body a:not(.btn):hover { color:#7e1f2e; }
body :is(.btn,button,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,summary) { min-height:44px; }
body :is(button,.btn) { border-radius:10px; font-size:16px; white-space:normal; }
body .btn.primary { background:#7e1f2e; color:#fff; border-color:#7e1f2e; }
body .btn.ghost { background:#fffdf8; color:#7e1f2e; border:1px solid #bba78b; }
body :is(input,textarea,select) { font-family:inherit; font-size:16px; max-width:100%; }
body :is(button,a,input,textarea,select,summary):focus-visible { outline:3px solid #806019; outline-offset:3px; }
body :is(.card,.tile,.kpi) { border-radius:14px; border-color:var(--line); }
body .card.pad { padding:24px; }
body :is(.pill,.badge) { font-size:14px; line-height:1.5; }
body :is(.pill.gold,.pill.warn) { color:#684c12; }
body :is(.err,.error,.alert-error) { color:#8a2031; line-height:1.5; }
body :is(.hint,.nota,.pie,.vacio,.contador) { color:#685d50; }
body :is(.wrap,.content,main,.main,.grid2,.card,.flex) { min-width:0; }
body :is(img,video) { max-width:100%; }
body table { width:100%; }
body :is(th,td) { padding:12px; }
body .login-card { width:min(440px,100%); }
body .side-nav :is(a,summary) { min-height:44px; }
body .visual-nombre { text-transform:none!important; }
body :is(.fila .nom,.evcard .ename) { white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; }
body :is(.kpi .v small,svg text[font-size="10"],svg text[font-size="9.5"]) { font-size:14px!important; }
body.page-inicio .kpi .v .cur { font-size:14px!important; }
/* WhatsApp conserva sus dos paneles y sus controles; comparte la paleta. */
:root { --bj-surface:#fffdf8; --bj-panel:#fff; --bj-ink:#352e25; --bj-muted:#685d50; --bj-border:#dfd3c0; --bj-in:#f4ecda; --bj-action:#7e1f2e; }
body.pg-bandeja main.wrap>h1 { background:#fffdf8!important; color:#7e1f2e!important; box-shadow:none!important; }
body.pg-bandeja .bj-wrap { box-shadow:0 4px 18px #352e2510!important; border-color:#dfd3c0!important; }
body.pg-bandeja .bj-list h3 { background:#f4ecda!important; }
body.pg-bandeja .bj-wrap :is(input,textarea,select) { color-scheme:light!important; caret-color:#352e25!important; }
body.pg-bandeja .bj-wrap input::placeholder { color:#685d50; opacity:1; }
body.pg-bandeja :is(.bj-empty,.bj-age-meta) { opacity:1; color:#685d50; }
body.pg-bandeja .bj-conv .n { flex-wrap:wrap; }
body.pg-bandeja .bj-conv .n>span:first-child { color:#352e25; }
body.pg-bandeja .bj-conv.sel { background:#f2e1e1; }
body.pg-bandeja .bj-fbtn.on { background:#f2e1e1; color:#7e1f2e; border-color:#7e1f2e; }
body.pg-bandeja .bj-conv.pend { background:#faf4e6; }
body.pg-bandeja .bj-msgs { background:#faf6ec; }
body.pg-bandeja .bj-out .meta { color:#fff; }
body.pg-bandeja .bj-linea { color:#685d50!important; }
body.pg-bandeja .bj-est.confirmado { color:#256337; }
body.pg-bandeja .bj-est.no_viaja { color:#8a2031; }
/* Reservar el espacio del resumen evita empujar la lista cuando llegan sus datos. */
body.pg-estados #tab-kpis { min-height:310px; }
@media(max-width:700px) { body.pg-estados #tab-kpis { min-height:598px; } }
@media(max-width:700px) {
  body .card.pad { padding:18px; }
  body :is(.wrap,main,.main,.content) { max-width:100%; }
  body :is(.grid2,.grid2.even) { grid-template-columns:minmax(0,1fr); }
  body :is(h1,h2,h3,.flex,.calhead) { overflow-wrap:anywhere; }
  body :is(.flex,.calhead) { flex-wrap:wrap; }
  body table.visual-tarjetas { display:block; min-width:0!important; width:100%!important; }
  body table.visual-tarjetas thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  body table.visual-tarjetas :is(tbody,tfoot) { display:block; width:100%; }
  body table.visual-tarjetas tr { display:block; margin:12px 0; padding:10px 14px; border:1px solid var(--line); border-radius:12px; background:#fffdf8; }
  body table.visual-tarjetas :is(td,th) { display:block; width:100%!important; min-width:0!important; max-width:none!important; white-space:normal!important; text-align:left!important; overflow-wrap:anywhere; border:0; padding:7px 0; }
  body table.visual-tarjetas td[data-visual-label]:before { content:attr(data-visual-label); display:block; color:#685d50; font-size:14px; font-weight:600; margin-bottom:3px; }
  body table.visual-tarjetas td[colspan]:before { content:none; }
  body :is(.btn,button) { min-width:44px; }
  body .calcell { min-width:0; }
  body .calev { white-space:normal; overflow-wrap:anywhere; }
}
