/* ============================================================
   MIDNIGHT · SISTEMA DE DISEÑO COMPARTIDO (una sola identidad para todo Midnight OS)
   Fuente única de verdad: la portada aprobada de midnightcgo.com (cgo/css/site.css).
   - Letra: Cormorant Garamond (títulos) + Jost (texto, menús, botones, tablas).
   - Colores: negro #000 · grafito #141416 · dorado #C9A24A / #E2C27A / #8E6F2C · champagne #E8DCC2 ·
     blanco cálido #F7F5F0 · gris suave rgba(247,245,240,.62). Sin amarillo flúor.
   - Se carga AL FINAL en cada app: redefine las variables que ya usan sus estilos, así toda pantalla nueva
     hereda la identidad. No cambia funciones, datos ni logos.
   ============================================================ */
:root{
  --mb-ink:#000;--mb-graphite:#141416;--mb-smoke:#232327;--mb-s1:#0e0e10;--mb-s2:#151518;--mb-s3:#1d1d21;
  --mb-gold:#C9A24A;--mb-gold-hi:#E2C27A;--mb-gold-lo:#8E6F2C;--mb-champ:#E8DCC2;--mb-white:#F7F5F0;
  --mb-mute:rgba(247,245,240,.62);--mb-mute2:rgba(247,245,240,.42);--mb-line:rgba(232,220,194,.14);--mb-line2:rgba(232,220,194,.28);
  --mb-panel:linear-gradient(180deg,rgba(32,30,26,.7),rgba(10,10,10,.9));
  --mb-ok:#7fc89a;--mb-warn:#e7b35a;--mb-bad:#e5806f;--mb-info:#8fb3e6;
  --f-head:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;
  --f-ui:"Jost",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --serif:var(--f-head);--sans:var(--f-ui);--disp:var(--f-head);--ui:var(--f-ui);
}
html[data-theme=light]{
  --mb-ink:#F5EFE3;--mb-graphite:#ECE3D2;--mb-smoke:#DED3BE;--mb-s1:#FBF8F2;--mb-s2:#FFFFFF;--mb-s3:#F1EADD;
  --mb-gold:#B08833;--mb-gold-hi:#94701F;--mb-gold-lo:#6E5115;--mb-champ:#3B2F1B;--mb-white:#15120D;
  --mb-mute:rgba(21,18,13,.68);--mb-mute2:rgba(21,18,13,.46);--mb-line:rgba(58,44,20,.14);--mb-line2:rgba(58,44,20,.26);
  --mb-panel:linear-gradient(180deg,#fffaf0,#efe6d4);--mb-ok:#2f7a4c;--mb-warn:#9a5b12;--mb-bad:#b5523b;--mb-info:#3d6aa6;
}
html body{font-family:var(--f-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html body :is(input,select,textarea,button){font-family:var(--f-ui)}
html body :is(h1,h2,h3){font-family:var(--f-head);font-weight:500;letter-spacing:-.005em;line-height:1.12}
html body h4,html body h5{font-family:var(--f-ui)}
html body [style*="Georgia"],html body [style*="Cormorant"],html body [style*="Times New Roman"],html body [style*="Playfair"],html body [style*="Sora"]{font-family:var(--f-head)!important}
html body [style*="Jost"],html body [style*="Manrope"]{font-family:var(--f-ui)!important}
html body :is(code,pre,kbd,samp,.mono){font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}

/* ---------- Beauty, Hotels, Marketing, portal del cliente y reservas: sus variables se atan al sistema ---------- */
html body:not(.mt-os){--bg:var(--mb-ink);--s1:var(--mb-s1);--s2:var(--mb-s2);--s3:var(--mb-s3);--ln:var(--mb-line);--ln2:var(--mb-line2);--gold:var(--mb-gold);--gold2:var(--mb-gold-hi);--goldd:var(--mb-gold-lo);--ch:var(--mb-champ);--tx:var(--mb-white);--mu:var(--mb-mute);--mu2:var(--mb-mute2);--card:var(--mb-graphite);--g:var(--mb-gold);--g2:var(--mb-gold-lo)}

/* ---------- Midnight OS · Mega Admin, Restaurantes, Cafés, Real Estate y demos ---------- */
html body.mt-os{--ink:var(--mb-ink);--coal:var(--mb-s1);--panel:var(--mb-graphite);--panel2:var(--mb-s3);--line:var(--mb-line);--line2:var(--mb-line2);--gold:var(--mb-gold);--gold2:var(--mb-gold-hi);--ivory:var(--mb-white);--muted:var(--mb-mute);--ok:var(--mb-ok);--bad:var(--mb-bad);--warn:var(--mb-warn);--blue:var(--mb-info);
  background:var(--mb-ink);color:var(--mb-white);font-size:14.5px;line-height:1.55}
/* títulos dorados como la portada: dorado elegante, nunca amarillo flúor (el modo «Colors» queda aparte) */
html:not([data-theme=colors]) body .gold{background:linear-gradient(180deg,var(--mb-gold-hi),var(--mb-gold) 75%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;-webkit-text-fill-color:transparent!important;text-shadow:none!important}
html[data-theme=light] body .gold{background:none!important;color:var(--mb-gold-lo)!important;-webkit-text-fill-color:currentColor!important}
html body.mt-os h2{font-size:30px}
html body.mt-os h3{font-size:23px}
html body.mt-os :is(.mod,.card) h3{font-size:21px}
html body.mt-os .card{background:var(--mb-panel);border-color:var(--mb-line)}
html body.mt-os .mod{background:var(--mb-graphite);border-color:var(--mb-line2)}
html body.mt-os .kpi{background:rgba(255,255,255,.02);border-color:var(--mb-line)}
html body.mt-os .kpi b{font-family:var(--f-head);font-weight:600;font-size:28px;letter-spacing:0;color:var(--mb-white)}
html body.mt-os .kpi small,html body.mt-os label,html body.mt-os th{font:500 11.5px/1.3 var(--f-ui);letter-spacing:.13em;text-transform:uppercase;color:var(--mb-mute)}
html body.mt-os td{font-size:14px}
/* botones como la portada: píldora, Jost en mayúsculas espaciadas; el principal en dorado */
html body.mt-os .btn{border-radius:999px;font:500 12.5px/1 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--mb-champ);border-color:var(--mb-line2);background:rgba(0,0,0,.25)}
html body.mt-os .btn:hover{border-color:var(--mb-gold);color:var(--mb-white);background:rgba(201,162,74,.08)}
html body.mt-os .btn.solid{background:linear-gradient(180deg,var(--mb-gold-hi),var(--mb-gold) 55%,var(--mb-gold-lo));color:#120d02;border-color:rgba(255,236,190,.35)}
html body.mt-os .btn.solid:hover{box-shadow:0 0 0 1px rgba(226,194,122,.5),0 12px 40px -12px rgba(201,162,74,.55);color:#120d02}
html body.mt-os .btn.ghost{background:none;border-color:transparent;color:var(--mb-mute)}
html body.mt-os .btn.bad{color:var(--mb-bad);border-color:rgba(229,128,111,.45)}
html body.mt-os .btn.sm{font-size:11.5px}
html body.mt-os .chip{border-color:var(--mb-line);color:var(--mb-champ)}
html body.mt-os .chip.on{background:linear-gradient(180deg,var(--mb-gold-hi),var(--mb-gold));color:#120d02;border-color:transparent}
html body.mt-os .tag{font:500 11px/1.4 var(--f-ui);letter-spacing:.1em}
html body.mt-os :is(input,select,textarea){background:rgba(0,0,0,.35);border-color:var(--mb-line2);color:var(--mb-white)}
html body.mt-os :is(input,select,textarea):focus{border-color:var(--mb-gold);box-shadow:0 0 0 3px rgba(201,162,74,.16)}
html body.mt-os .side{background:var(--mb-ink);border-right-color:var(--mb-line)}
html body.mt-os .nv{font:400 14px/1.3 var(--f-ui);letter-spacing:.01em;color:var(--mb-champ)}
html body.mt-os .nv.on{color:var(--mb-gold-hi);background:rgba(201,162,74,.08)}
html body.mt-os .side h4{font:500 11px/1.2 var(--f-ui);letter-spacing:.2em;text-transform:uppercase;color:var(--mb-gold)}
html body.mt-os .side .brand b,html body.mt-os .mobbar b{font-family:var(--f-head);font-weight:600;letter-spacing:.2em}
html body.mt-os .lrn-top{font:500 12.5px/1 var(--f-ui);letter-spacing:.12em;text-transform:uppercase;border-radius:999px}
html body.mt-os #mos-theme-seg button{font:500 11px/1 var(--f-ui);letter-spacing:.12em;text-transform:uppercase}
html body.mt-os :is(#main,.mod) :is(small,.xs){font-size:12px}
html body.mt-os #main a:not(.btn){color:var(--mb-gold-hi)}
html[data-theme=light] body.mt-os .side{background:var(--mb-s1)}
html[data-theme=light] body.mt-os .btn{background:rgba(255,255,255,.4)}
html[data-theme=light] body.mt-os .btn.solid,html[data-theme=light] body.mt-os .chip.on{background:linear-gradient(180deg,#E2C27A,#C9A24A 55%,#8E6F2C);color:#120d02}
html[data-theme=light] body.mt-os :is(input,select,textarea){background:#fff}
/* Main Dashboard (Nano): sus colores propios pasan a la paleta (antes amarillo #FFFF00 y rojo flúor) */
html:not([data-theme=colors]) body .nano-v{--nv-bg:var(--mb-ink);--nv-card:var(--mb-graphite);--nv-fg:var(--mb-white);--nv-mut:var(--mb-mute);--nv-ln:var(--mb-line);--nv-ln2:var(--mb-line2);--nv-y:var(--mb-gold-hi);--nv-r:var(--mb-bad);--nv-ok:var(--mb-ok);--nv-q:var(--mb-s3)}
html[data-theme=light] body .nano-v{--nv-bg:transparent;--nv-card:var(--mb-s1);--nv-y:var(--mb-gold-lo)}
/* acentos flúor de antes (tarjetas y etiquetas): pasan a la paleta en Oscuro y Claro */
html:not([data-theme=colors]) body .kpi::before{background:linear-gradient(90deg,var(--mb-gold-lo),var(--mb-gold-hi))!important;opacity:.55!important;box-shadow:none!important}
html:not([data-theme=colors]) body .tag.ok{color:var(--mb-ok);border-color:color-mix(in srgb,var(--mb-ok) 45%,transparent)}
html:not([data-theme=colors]) body .tag.blue{color:var(--mb-info);border-color:color-mix(in srgb,var(--mb-info) 45%,transparent)}
html:not([data-theme=colors]) body .tag.warn{color:var(--mb-warn);border-color:color-mix(in srgb,var(--mb-warn) 45%,transparent)}
html:not([data-theme=colors]) body .tag.bad{color:var(--mb-bad);border-color:color-mix(in srgb,var(--mb-bad) 45%,transparent)}
html:not([data-theme=colors]) body #mos-theme-seg button.on{background:linear-gradient(180deg,var(--mb-gold-hi),var(--mb-gold));color:#120d02}
/* panel de Nano IA (comandos): sus colores propios pasan a la paleta (antes amarillo #FFFF00) */
html:not([data-theme=colors]) body #cx-panel{--gold:var(--mb-gold);--gold2:var(--mb-gold-hi);--ivory:var(--mb-white);--muted:var(--mb-mute);--line2:var(--mb-line2);--cxl:var(--mb-line);--cx-bg:var(--mb-ink);--cx-bg2:var(--mb-graphite);--cx-bg3:var(--mb-graphite);--cx-btn:var(--mb-gold-hi);--cx-ok:var(--mb-ok);--cx-bad:var(--mb-bad);--cx-warn:var(--mb-warn);--cx-sunk:var(--mb-s1);--cx-trk:var(--mb-smoke);--cx-qbg:var(--mb-s3)}
html:not([data-theme=colors]) body #cx-fab{border-color:var(--mb-gold)!important;background:var(--mb-ink)}
