:root{--vino:#69162a;--vino2:#4c0f20;--tinta:#1c1b19;--crema:#f7f3eb;--papel:#fffdf8;--verde:#0b5a46;--oro:#9a7b45;--linea:#ded6ca;--muted:#6e675e;--shadow:0 12px 34px rgba(62,35,27,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0!important;background:var(--crema)!important;color:var(--tinta)!important;font-family:Arial,Helvetica,sans-serif!important}.govbar{background:linear-gradient(100deg,var(--vino2),var(--vino));color:#fff}.govbar-inner,.sitebar-inner{max-width:1180px;margin:auto;padding:14px 24px;display:flex;align-items:center;gap:16px}.seal{width:44px;height:44px;border:1px solid rgba(255,255,255,.75);border-radius:50%;display:grid;place-items:center;font:700 20px Georgia,serif;position:relative}.seal:after{content:'PROGRAMA DE BENEFICIOS';position:absolute;font:5px Arial;letter-spacing:.8px;white-space:nowrap;bottom:4px}.govbrand{font:700 19px Georgia,serif;letter-spacing:.5px}.govbrand small{display:block;font:9px Arial;letter-spacing:3px;margin-top:3px}.govlinks{margin-left:auto;display:flex;gap:24px;font-size:13px}.sitebar{background:rgba(255,253,248,.97);border-bottom:1px solid var(--linea);position:sticky;top:0;z-index:50}.sitebar-inner{padding-top:0;padding-bottom:0}.wordmark{font:700 25px Georgia,serif;color:var(--vino);padding:15px 0;white-space:nowrap}.nav{margin-left:auto;display:flex;align-items:stretch}.nav a{color:#2d2925;text-decoration:none;padding:20px 15px;font-size:14px;border-bottom:3px solid transparent}.nav a:hover,.nav a.active{color:var(--vino);border-color:var(--vino)}.institutional-main{max-width:1180px;margin:0 auto;padding:38px 24px 64px}.institutional-card{background:var(--papel);border:1px solid var(--linea);border-radius:10px;box-shadow:var(--shadow)}.institutional-title{font-family:Georgia,'Times New Roman',serif!important;color:var(--vino)!important}.crumb{font-size:12px;color:var(--muted);margin-bottom:20px}.portal-footer{background:linear-gradient(100deg,var(--vino2),var(--vino));color:#fff;margin-top:48px}.portal-footer .inner{max-width:1180px;margin:auto;padding:30px 24px;display:flex;align-items:center;gap:28px}.portal-footer .meta{font-size:12px;letter-spacing:1px;opacity:.9}.flagline{display:inline-grid;grid-template-columns:22px 22px 22px;height:3px;margin-left:8px;vertical-align:middle}.flagline i:nth-child(1){background:#0b5a46}.flagline i:nth-child(2){background:#fff}.flagline i:nth-child(3){background:#b51e34}
/* Override legacy controls without touching application logic */
body .wrap{max-width:1180px!important;margin:28px auto!important;padding:0 24px!important}body .card,body .panel,body .summary .box,body .section,body .login{border-color:var(--linea)!important;background:var(--papel)!important;box-shadow:var(--shadow)!important}body button,body .btn,body a.btn{background:var(--vino)!important;border-color:var(--vino)!important;color:#fff!important;border-radius:5px!important}body button.secondary,body .btn.secondary{background:#fff!important;color:var(--vino)!important;border:1px solid var(--vino)!important}body input,body select,body textarea{border:1px solid #cfc5b8!important;background:#fff!important;border-radius:5px!important;color:#222!important}body h1,body h2{font-family:Georgia,'Times New Roman',serif;color:var(--vino)}body .logo{color:var(--vino)!important}body .badge,body .pill.active,body .status{background:var(--vino)!important;color:#fff!important}body .pill{border-color:#cbbfb1!important}.admin-banner{max-width:1180px;margin:24px auto 0;padding:0 24px}.admin-banner>div{background:#efe8dc;border-left:5px solid var(--vino);padding:13px 16px;font-size:13px;color:#4b433b}
@media(max-width:760px){.govlinks{display:none}.govbar-inner,.sitebar-inner{padding-left:16px;padding-right:16px}.sitebar-inner{display:block}.wordmark{padding-bottom:8px}.nav{margin:0;overflow-x:auto}.nav a{padding:12px 12px;white-space:nowrap;font-size:12px}.institutional-main{padding:24px 16px}.portal-footer .inner{display:block}.portal-footer .meta{margin-top:12px}body .wrap{padding:0 16px!important}.seal{width:38px;height:38px}.govbrand{font-size:16px}}

/* V7.2 — revisión global de contraste y legibilidad */
body{--read:#241f1b;--read-muted:#5f574f;--read-soft:#756c63}
body .institutional-card,body .card,body .panel,body .section,body .summary .box,body .login,body .tile{color:var(--read)!important}
body .institutional-card p,body .card p,body .panel p,body .section p,body .tile span,body .note,body .msg,body .sub,body .meta,body .terms,body .empty,body .event-meta,body .event-note,body .footnote{color:var(--read-muted)!important;opacity:1!important}
body label,body .label,body .k,body .code{color:#574f48!important;opacity:1!important}
body input,body select,body textarea{color:#201c19!important;background:#fff!important}
body input::placeholder,body textarea::placeholder{color:#776f67!important;opacity:1!important}
body .reward,body .item,body .searchResult,body .linkPreview{background:#fffaf3!important;color:var(--read)!important;border-color:#d5cabc!important}
body .reward span,body .searchResultMeta{color:#5d554d!important}
body .codepill{color:var(--vino)!important;border-color:#bdaea0!important;background:#fff!important}
body .pts{color:#0b5a46!important}
body .expiry{color:#755b19!important}
body .badge{background:#e5f1ec!important;color:#074536!important;border-color:#7fa99b!important}
body .dot{background:#fff!important;border-color:var(--vino)!important}
body .note{background:#f5eee5!important;border-left-color:var(--vino)!important}
body .linkPreview{color:#5c1730!important}
body .chip{background:#f5eee5!important;color:#4c0f20!important;border-color:#cdbfb1!important}
body .danger{color:#a0182f!important}
/* La guía impresa conserva blanco y negro */
body .guideSheet,body .guideSheet *{color:#111!important}
body .guideSheet{background:#fff!important}

/* V7.3 — identidad CTGM + contraste definitivo en superficies claras */
.brand-lockup{display:flex;align-items:center;gap:13px;color:#fff;text-decoration:none;min-width:0}
.ctgm-header-logo{display:block;width:112px;height:auto;max-height:54px;object-fit:contain;border-radius:7px;box-shadow:0 2px 10px rgba(0,0,0,.18)}
.ctgm-footer-logo{display:block;width:92px;height:auto;object-fit:contain;border-radius:6px}
.footer-place{margin-left:auto}
/* El tema V7 usa fondo crema: ningún texto informativo heredado puede conservar azul/gris claro. */
body .brand,body .lead,body .back,body a.back,body .footnote,body .hero>a,body .hero>a:visited,
body .event-meta,body .event-note,body .searchResultMeta,body .loyaltyHelp,body .guideHint,
body .top>p,body .top p,body .terms,body .empty,body .msg{color:#5b534b!important;opacity:1!important}
body .hero .lead{color:#514a43!important}
body .hero .brand{color:#655d55!important}
body .hero>a{color:#69162a!important;font-weight:700!important}
body .hero .footnote{color:#665e56!important}
body .hero>.logo{color:#69162a!important}
body .status{color:#69162a!important}
body .event-title,body .v,body .big,body .name,body .searchResultName{color:#241f1b!important}
body .item .k,body .card .k,body .code{color:#5b534b!important}
body .note{color:#342e29!important}
body .timeline .dot{background:#fff!important;border-color:#69162a!important}
body .timeline .event:not(:last-child):before{background:#b9aea2!important}
body input:focus,body select:focus,body textarea:focus{border-color:#69162a!important;box-shadow:0 0 0 3px rgba(105,22,42,.12)!important;outline:none!important}
/* contraste mínimo también para texto inline heredado */
body .institutional-main p,body .institutional-main span:not(.flagline),body .wrap p{opacity:1}
@media(max-width:760px){.ctgm-header-logo{width:88px;max-height:44px}.govbar-inner{gap:10px}.govbrand{font-size:15px}.govbrand small{letter-spacing:2px;font-size:7px}.ctgm-footer-logo{width:82px}.footer-place{margin-left:0;margin-top:12px}}

/* V8 — LIQUID GLASS GLOBAL: todas las páginas públicas */
:root{--lg-ink:#111827;--lg-muted:#526071;--lg-glass:rgba(255,255,255,.50);--lg-glass2:rgba(255,255,255,.68);--lg-edge:rgba(255,255,255,.90);--lg-blue:#7b8cff;--lg-cyan:#64ddd8;--lg-pink:#e996dc}
html{background:#eef6fb}body{min-height:100vh;background:linear-gradient(135deg,#fbf8f4 0%,#f5f9ff 44%,#edf8fb 100%)!important;color:var(--lg-ink)!important;position:relative}
body:before,body:after{content:"";position:fixed;z-index:-1;pointer-events:none;border-radius:50%;filter:blur(70px)}body:before{width:56vw;height:56vw;left:-18vw;top:12vh;background:radial-gradient(circle,rgba(122,139,255,.22),rgba(235,151,220,.11) 42%,transparent 70%)}body:after{width:58vw;height:58vw;right:-18vw;top:24vh;background:radial-gradient(circle,rgba(92,224,216,.20),rgba(102,157,255,.11) 44%,transparent 72%)}
.govbar,.portal-footer{background:linear-gradient(125deg,rgba(35,49,75,.78),rgba(56,79,111,.62))!important;-webkit-backdrop-filter:blur(30px) saturate(160%);backdrop-filter:blur(30px) saturate(160%);border-color:rgba(255,255,255,.32)!important;box-shadow:inset 0 1px rgba(255,255,255,.35),0 12px 35px rgba(48,72,101,.14)}
.sitebar{background:rgba(255,255,255,.52)!important;-webkit-backdrop-filter:blur(28px) saturate(170%);backdrop-filter:blur(28px) saturate(170%);border-bottom:1px solid rgba(255,255,255,.88)!important;box-shadow:0 8px 30px rgba(52,80,112,.08)}.wordmark{color:#162131!important}.nav a{color:#344256!important;border-radius:16px;margin:7px 2px;padding:13px 15px!important;border-bottom:0!important}.nav a:hover,.nav a.active{color:#172554!important;background:linear-gradient(135deg,rgba(124,140,255,.20),rgba(99,221,216,.18),rgba(233,150,220,.13))!important;box-shadow:inset 0 1px rgba(255,255,255,.85),0 7px 20px rgba(86,112,145,.09)}
.institutional-main{position:relative}.institutional-card,body .card,body .panel,body .summary .box,body .section,body .login,body .tile,body .reward,body .item,body .searchResult,body .linkPreview{background:linear-gradient(135deg,rgba(255,255,255,.69),rgba(238,247,255,.35))!important;-webkit-backdrop-filter:blur(30px) saturate(175%)!important;backdrop-filter:blur(30px) saturate(175%)!important;border:1px solid var(--lg-edge)!important;border-radius:28px!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 0 -1px rgba(83,119,153,.08),0 18px 46px rgba(58,84,116,.12),0 0 24px rgba(100,221,216,.05)!important;color:var(--lg-ink)!important}
body h1,body h2,body h3,body .institutional-title,body .logo,body .tile b{color:#152033!important;font-family:Arial,Helvetica,sans-serif!important;letter-spacing:-.02em}.crumb,body p,body .sub,body .note,body .msg,body .meta,body .terms,body .empty,body .footnote,body .tile span{color:var(--lg-muted)!important}
body input,body select,body textarea{background:linear-gradient(135deg,rgba(255,255,255,.78),rgba(238,247,255,.44))!important;color:#111827!important;border:1px solid rgba(255,255,255,.98)!important;border-radius:18px!important;box-shadow:inset 0 1px 2px rgba(53,78,105,.07),0 7px 18px rgba(60,91,124,.07)!important}body input::placeholder,body textarea::placeholder{color:#788698!important}body input:focus,body select:focus,body textarea:focus{outline:none!important;border-color:rgba(112,132,255,.56)!important;box-shadow:0 0 0 4px rgba(112,132,255,.09),0 0 24px rgba(91,221,216,.15)!important}
body button,body .btn,body a.btn,body .hero a{background:linear-gradient(135deg,rgba(111,124,255,.96),rgba(91,216,216,.92))!important;color:#fff!important;border:1px solid rgba(255,255,255,.74)!important;border-radius:18px!important;box-shadow:inset 0 1px rgba(255,255,255,.48),0 11px 25px rgba(87,112,205,.18),0 0 18px rgba(96,224,216,.10)!important}body button.secondary,body .btn.secondary{background:linear-gradient(135deg,rgba(255,255,255,.76),rgba(230,242,252,.45))!important;color:#243247!important;border:1px solid rgba(255,255,255,.95)!important}
.admin-banner>div{background:rgba(255,255,255,.52)!important;color:#344256!important;border:1px solid rgba(255,255,255,.9)!important;border-left:1px solid rgba(255,255,255,.9)!important;border-radius:18px!important;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 10px 30px rgba(54,82,113,.08)}
/* Home */
.hero{max-width:1180px;margin:28px auto!important;min-height:510px;border:1px solid rgba(255,255,255,.92);border-radius:36px;background:linear-gradient(135deg,rgba(255,255,255,.68),rgba(235,246,255,.33))!important;-webkit-backdrop-filter:blur(32px) saturate(175%);backdrop-filter:blur(32px) saturate(175%);box-shadow:inset 0 1px rgba(255,255,255,.98),0 24px 60px rgba(56,83,114,.14);overflow:hidden}.hero h1,.hero h1 span{color:#142035!important}.hero p{color:#4f5e70!important}.visual{background:radial-gradient(circle at 72% 24%,rgba(255,255,255,.80),transparent 18%),radial-gradient(circle at 30% 75%,rgba(233,146,221,.46),transparent 32%),linear-gradient(135deg,rgba(121,139,255,.64),rgba(83,215,214,.53))!important}.visual:before{color:rgba(255,255,255,.13)!important}.tiles{gap:18px}.tile{border-radius:26px!important;transition:.2s transform}.tile:hover{transform:translateY(-3px)}.tile .ico{color:#5d6ff0!important}.tile b{color:#17213a!important}
/* pequeños componentes */
body .badge,body .pill.active,body .status,body .chip{background:linear-gradient(135deg,rgba(123,140,255,.20),rgba(96,220,215,.18))!important;color:#26365a!important;border:1px solid rgba(255,255,255,.88)!important;border-radius:999px!important}.note{background:rgba(255,255,255,.36)!important;border-left:0!important;border-radius:14px!important}.hr{background:linear-gradient(90deg,transparent,rgba(76,103,132,.16),transparent)!important}
@media(max-width:760px){.hero{margin:16px!important;border-radius:28px}.tiles{gap:12px}.institutional-card,body .card,body .panel{border-radius:22px!important}.nav{padding-bottom:6px}.nav a{white-space:nowrap}}

/* V9 — UNIFICACIÓN TOTAL LIQUID GLASS */
:root{--glass-bg:rgba(255,255,255,.42);--glass-bg-strong:rgba(255,255,255,.58);--glass-border:rgba(255,255,255,.82);--glass-ink:#172033;--glass-muted:#536174;--glass-shadow:0 18px 50px rgba(50,76,110,.13),inset 0 1px 0 rgba(255,255,255,.92)}
body{background:linear-gradient(135deg,#f9f6f3 0%,#f2f7ff 42%,#eefafa 100%)!important;color:var(--glass-ink)!important}
/* encabezado y pie: cristal, nunca bloque opaco */
.govbar,.sitebar,.portal-footer{background:linear-gradient(135deg,rgba(255,255,255,.38),rgba(222,239,250,.22))!important;color:#172033!important;border:1px solid rgba(255,255,255,.72)!important;-webkit-backdrop-filter:blur(34px) saturate(190%)!important;backdrop-filter:blur(34px) saturate(190%)!important;box-shadow:inset 0 1px rgba(255,255,255,.92),0 10px 32px rgba(50,76,110,.10)!important}
.govbar{border-width:0 0 1px!important}.sitebar{border-width:0 0 1px!important}.portal-footer{border-width:1px 0 0!important}
.govlinks,.portal-footer,.portal-footer .meta,.portal-footer b{color:#344256!important}.ctgm-header-logo,.ctgm-footer-logo{box-shadow:0 8px 22px rgba(37,56,84,.13)!important}.brand-lockup{color:#172033!important}.govbar-inner{min-height:76px}.portal-footer .inner{padding-top:24px;padding-bottom:24px}
/* superficie universal */
.institutional-card,body .card,body .panel,body .summary,body .summary .box,body .section,body .login,body .tile,body .reward,body .item,body .searchResult,body .linkPreview,body .stepx,body .ship,body .trust-banner,body .progress,body .loyaltyStat,body .adminNav,body .admin-banner>div,body .guideActions,body .actions,body .top,body .search,body .box{
 background:linear-gradient(135deg,rgba(255,255,255,.58),rgba(231,244,253,.27))!important;
 border:1px solid var(--glass-border)!important;border-radius:26px!important;
 -webkit-backdrop-filter:blur(30px) saturate(180%)!important;backdrop-filter:blur(30px) saturate(180%)!important;
 box-shadow:var(--glass-shadow)!important;color:var(--glass-ink)!important
}
/* formularios y controles */
body input,body select,body textarea,body .unit{background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(235,246,253,.38))!important;border:1px solid rgba(255,255,255,.92)!important;color:#172033!important;border-radius:17px!important;box-shadow:inset 0 1px rgba(255,255,255,.95),0 8px 20px rgba(57,85,119,.08)!important}
body button,body .btn,body a.btn,body .quick button,body .top-contact,body>a[href="./"]{background:linear-gradient(135deg,rgba(119,130,255,.88),rgba(87,215,211,.80))!important;color:#fff!important;border:1px solid rgba(255,255,255,.78)!important;border-radius:18px!important;box-shadow:inset 0 1px rgba(255,255,255,.55),0 11px 25px rgba(76,104,184,.18),0 0 18px rgba(91,220,215,.10)!important}
body button.secondary,body .btn.secondary{background:linear-gradient(135deg,rgba(255,255,255,.70),rgba(229,242,251,.38))!important;color:#243247!important;border-color:rgba(255,255,255,.94)!important}
body button:hover,body .btn:hover{filter:brightness(1.03);transform:translateY(-1px)}
/* tipografía legible en todas las páginas */
body h1,body h2,body h3,body h4,body .institutional-title,body .status,body .big,body .name,body .v,body .event-title,body .searchResultName,body .ship strong,body .ship .price{color:#172033!important}
body p,body .lead,body .sub,body .note,body .msg,body .meta,body .terms,body .empty,body .footnote,body .event-meta,body .event-note,body .ship small,body .footer,body .crumb{color:#536174!important;opacity:1!important}
body label,body .label,body .k,body .code{color:#445267!important}
/* recompensas */
.reward-table{border-collapse:separate!important;border-spacing:0 10px!important;padding:8px 14px 18px!important}.reward-table thead th{background:rgba(255,255,255,.40)!important;color:#26354b!important;border:1px solid rgba(255,255,255,.75)!important}.reward-table thead th:first-child{border-radius:16px 0 0 16px}.reward-table thead th:last-child{border-radius:0 16px 16px 0}.reward-table tbody tr{filter:drop-shadow(0 8px 14px rgba(52,79,110,.06))}.reward-table td{background:rgba(255,255,255,.40)!important;border-top:1px solid rgba(255,255,255,.75)!important;border-bottom:1px solid rgba(255,255,255,.75)!important;color:#27364b!important}.reward-table td:first-child{border-left:1px solid rgba(255,255,255,.75)!important;border-radius:16px 0 0 16px!important;color:#596af0!important}.reward-table td:last-child{border-right:1px solid rgba(255,255,255,.75)!important;border-radius:0 16px 16px 0!important}
/* cómo funciona */
.stepx .n{background:linear-gradient(135deg,#7886ff,#63d9d5)!important;color:#fff!important;border:1px solid rgba(255,255,255,.8)!important;box-shadow:0 9px 22px rgba(91,112,213,.20)!important}
/* calculadora: neutralizar tema negro/vino heredado */
body .header,body .step,body .shipping-list .ship,body .summary{color:#172033!important}.header h1,.step h2,body .money{color:#172033!important}.top-contact{position:relative!important;top:auto!important;margin:14px auto!important;width:max-content!important}.shipping-list .ship.selected{background:linear-gradient(135deg,rgba(119,130,255,.18),rgba(87,215,211,.17))!important;border:1px solid rgba(111,130,255,.50)!important}.summary{background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(230,244,253,.28))!important}.row,.total span:first-child{color:#536174!important}.row strong{color:#172033!important}.total{border-color:rgba(80,104,132,.18)!important}.pill{background:rgba(255,255,255,.46)!important;color:#526071!important;border:1px solid rgba(255,255,255,.82)!important}.pill.active,.pill.done{background:linear-gradient(135deg,rgba(119,130,255,.85),rgba(87,215,211,.78))!important;color:#fff!important}.trust-banner{color:#26364b!important}.trust-banner span{color:#536174!important}
/* rastreo: elimina completamente el aspecto oscuro heredado */
body .hero{color:#172033!important}.hero .logo{color:#172033!important}.hero .brand{color:#5a6879!important}.hero .lead{color:#536174!important}.hero .card{display:none}.hero .card[style*="display: block"],.hero .card[style*="display:block"]{display:block!important}.timeline .dot{background:rgba(255,255,255,.9)!important;border-color:#7181ff!important}.timeline .event:not(:last-child):before{background:rgba(93,116,145,.22)!important}.badge{background:linear-gradient(135deg,rgba(119,130,255,.18),rgba(87,215,211,.18))!important;color:#26364b!important}
/* admin completo */
.adminNav{background:linear-gradient(160deg,rgba(255,255,255,.55),rgba(230,243,253,.28))!important}.navBtn{background:rgba(255,255,255,.38)!important;color:#27364b!important;border:1px solid rgba(255,255,255,.74)!important;box-shadow:inset 0 1px rgba(255,255,255,.8),0 7px 18px rgba(57,83,115,.07)!important}.navBtn.active{background:linear-gradient(135deg,rgba(119,130,255,.25),rgba(87,215,211,.20),rgba(233,150,220,.14))!important;color:#1f2c45!important}.loyaltyStat{padding:15px!important}.admin-banner>div{border-left:1px solid rgba(255,255,255,.82)!important}
/* home */
.hero,.tiles .tile{background:linear-gradient(135deg,rgba(255,255,255,.54),rgba(229,243,252,.26))!important}.hero{border:1px solid rgba(255,255,255,.84)!important;box-shadow:var(--glass-shadow)!important}.hero .visual{border-left:1px solid rgba(255,255,255,.45)}
/* guía impresa queda deliberadamente B/N */
body .guideSheet,body .guideSheet *{color:#111!important}.guideSheet{background:#fff!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
@media(max-width:760px){.govbar-inner{min-height:62px}.portal-footer{margin-top:30px}.reward-table{font-size:14px!important}.reward-table td,.reward-table th{padding:13px 10px!important}}

/* === CTGM Vision Glass Global v11 === */
:root{--vg-bg:#0f172a;--vg-text:#fff;--vg-muted:rgba(255,255,255,.72);--vg-glass:rgba(255,255,255,.055);--vg-glass2:rgba(255,255,255,.09);--vg-edge:rgba(255,255,255,.14);--vg-shadow:0 24px 48px rgba(0,0,0,.22)}
html{background:#0f172a!important}body{background-color:#0f172a!important;background-image:radial-gradient(at 0% 0%,rgba(99,102,241,.30) 0,transparent 50%),radial-gradient(at 100% 0%,rgba(236,72,153,.28) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(56,189,248,.30) 0,transparent 50%),radial-gradient(at 0% 100%,rgba(139,92,246,.28) 0,transparent 50%)!important;background-attachment:fixed!important;color:var(--vg-text)!important;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",Roboto,Helvetica,Arial,sans-serif!important}
body:before,body:after{display:none!important}
header,.site-header,.topbar,.nav,.navbar,footer,.footer,.site-footer,.card,.panel,.box,.tile,.hero-copy,.visual,.step,.ship,.summary,.result,.searchResult,.loyaltyBox,.loyaltyStat,.adminShellNav,.modal-content,.modalCard,.content-card,.reward-card,.info-card,.tracking-card,.profile-card{background:var(--vg-glass)!important;-webkit-backdrop-filter:blur(32px) saturate(180%)!important;backdrop-filter:blur(32px) saturate(180%)!important;border:1px solid var(--vg-edge)!important;box-shadow:var(--vg-shadow),inset 0 1px 1px rgba(255,255,255,.15)!important;color:#fff!important}
.card,.panel,.box,.tile,.hero-copy,.visual,.step,.summary,.result,.searchResult,.loyaltyBox,.profile-card,.tracking-card,.reward-card,.info-card{border-radius:32px!important}
header,.site-header,.topbar,.nav,.navbar{background:rgba(15,23,42,.36)!important;border-left:0!important;border-right:0!important;border-top:0!important;border-radius:0!important}
footer,.footer,.site-footer{background:rgba(15,23,42,.28)!important;border-left:0!important;border-right:0!important;border-bottom:0!important;border-radius:0!important;color:rgba(255,255,255,.65)!important}
h1,h2,h3,h4,h5,h6,.title,.pageTitle,.logo,.brand,.searchResultName,.lv,.guideHint strong{color:#fff!important}p,small,.sub,.lead,.note,.msg,.pageSub,.muted,.searchResultMeta,.loyaltyHelp,label,.lk,.footer{color:var(--vg-muted)!important}
a{color:#fff}input,select,textarea{background:rgba(255,255,255,.07)!important;color:#fff!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:16px!important;box-shadow:inset 0 1px 1px rgba(255,255,255,.08)!important}input::placeholder,textarea::placeholder{color:rgba(255,255,255,.45)!important}select option{background:#172033;color:#fff}
button,.btn,.primary,.hero a{background:rgba(255,255,255,.11)!important;color:#fff!important;border:1px solid rgba(255,255,255,.20)!important;border-radius:999px!important;-webkit-backdrop-filter:blur(16px)!important;backdrop-filter:blur(16px)!important;box-shadow:0 10px 28px rgba(0,0,0,.16),inset 0 1px 1px rgba(255,255,255,.12)!important}button:hover,.btn:hover,.primary:hover,.hero a:hover{background:rgba(255,255,255,.19)!important;transform:translateY(-1px)}.secondary,.chip,.pill,.unit,.quick button{background:rgba(255,255,255,.07)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}.active,.selected,.pill.active,.navList button.active{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.26)!important}
.sep,.hr{background:rgba(255,255,255,.12)!important;border-color:rgba(255,255,255,.12)!important}.trust-banner,.notice,.alert,.banner{background:rgba(255,255,255,.07)!important;color:#fff!important;border-color:rgba(255,255,255,.14)!important}.error{color:#fecaca!important}.success{color:#bbf7d0!important}
.adminShellNav{background:rgba(15,23,42,.42)!important}.navBrand span,.navList button{color:rgba(255,255,255,.72)!important}.navList button.active{color:#fff!important}.linkPreview{background:rgba(255,255,255,.06)!important;color:#dbeafe!important;border-color:rgba(255,255,255,.14)!important}.orderSide{color:#fff}.loyaltyStat{background:rgba(255,255,255,.055)!important}
/* Keep shipping label printable and high-contrast */
.guideSheet,.guideSheet *{color:#111!important}.guideSheet{background:#fff!important;border-color:#111!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.guideSheet .qrBox{background:#fff!important}
@media(max-width:900px){.adminShellNav{background:rgba(15,23,42,.58)!important}.card,.panel,.box,.step,.summary,.result{border-radius:24px!important}}

/* === CTGM v12 · contraste global + calculadora Vision Glass === */
:root{--ctgm-white:#fff;--ctgm-soft:rgba(255,255,255,.76);--ctgm-dim:rgba(255,255,255,.60);--ctgm-edge:rgba(255,255,255,.16);--ctgm-glass:rgba(255,255,255,.06)}
/* Contraste consistente, incluidos selectores heredados más específicos */
body,body .adminContent,body .card,body .panel,body .box,body .institutional-card{color:var(--ctgm-white)!important}
body h1,body h2,body h3,body h4,body .header h1,body .step h2,body .pageTitle,body .institutional-title,body .logo,body .brand,body .name,body .v,body .big,body .status{color:#fff!important;-webkit-text-fill-color:initial!important}
body p,body small,body .sub,body .lead,body .step .lead,body .note,body .msg,body .meta,body .terms,body .empty,body .footnote,body .event-meta,body .event-note,body .footer,body .crumb,body .searchResultMeta,body .loyaltyHelp{color:var(--ctgm-soft)!important;opacity:1!important}
body label,body .label,body .k,body .lk,body .code,body .loyaltyStat .lk{color:rgba(255,255,255,.72)!important}
body input,body select,body textarea{color:#fff!important;background:rgba(255,255,255,.075)!important;border-color:rgba(255,255,255,.17)!important}
body input::placeholder,body textarea::placeholder{color:rgba(255,255,255,.48)!important;opacity:1!important}
body select option{background:#172033!important;color:#fff!important}
body a,body .back{color:#fff!important}

/* Calculadora: una sola estética, sin restos negro/vino/beige */
body .wrap{position:relative;z-index:1}
body .header{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body .card,body .step,body .summary,body .shipping-list .ship,body .trust-banner{background:rgba(255,255,255,.06)!important;border:1px solid rgba(255,255,255,.15)!important;-webkit-backdrop-filter:blur(32px) saturate(180%)!important;backdrop-filter:blur(32px) saturate(180%)!important;box-shadow:0 24px 48px rgba(0,0,0,.20),inset 0 1px 1px rgba(255,255,255,.13)!important;color:#fff!important}
body .card{border-radius:32px!important}
body .step{background:transparent!important;border:0!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
body .summary,body .shipping-list .ship,body .trust-banner{border-radius:20px!important}
body .unit,body .quick button,body .pill{background:rgba(255,255,255,.07)!important;color:#fff!important;border:1px solid rgba(255,255,255,.15)!important}
body .pill{color:rgba(255,255,255,.65)!important}
body .pill.active,body .pill.done,body .shipping-list .ship.selected{background:rgba(255,255,255,.16)!important;color:#fff!important;border-color:rgba(255,255,255,.28)!important}
body .ship strong,body .ship .price,body .row strong,body .money{color:#fff!important}
body .ship small,body .row,body .total span:first-child,body .trust-banner span{color:var(--ctgm-soft)!important}
body .total{border-color:rgba(255,255,255,.18)!important}
body .badge{background:rgba(255,255,255,.10)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important}
body .top-contact,body>a[href="./"]{background:rgba(255,255,255,.09)!important;color:#fff!important;border:1px solid rgba(255,255,255,.18)!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important}
body input[type=range]{accent-color:#a5b4fc!important;background:transparent!important;border:0!important;box-shadow:none!important}
body .error{color:#fecaca!important}

/* Tablas y páginas institucionales */
body .reward-table th,body .reward-table td{color:#fff!important;background:rgba(255,255,255,.06)!important;border-color:rgba(255,255,255,.14)!important}
body .reward-table td:first-child{color:#c7d2fe!important}
body .stepx p,body .intro p{color:var(--ctgm-soft)!important}
body .stepx .n{color:#fff!important;background:rgba(255,255,255,.14)!important;border-color:rgba(255,255,255,.20)!important}

/* Admin: neutraliza reglas blancas antiguas cargadas dentro de admin.html */
body .adminContent,body .adminContent h1,body .adminContent h2,body .adminContent h3{color:#fff!important}
body .adminContent p,body .adminContent .note,body .adminContent .msg,body .pageSub{color:var(--ctgm-soft)!important}
body .adminContent label{color:rgba(255,255,255,.72)!important}
body .adminContent input,body .adminContent select,body .adminContent textarea,body .searchResult,body .linkPreview,body .loyaltyStat{background:rgba(255,255,255,.065)!important;color:#fff!important;border-color:rgba(255,255,255,.15)!important}
body .adminContent button.secondary{background:rgba(255,255,255,.08)!important;color:#fff!important;border-color:rgba(255,255,255,.16)!important}
/* Única excepción deliberada: guía imprimible */
body .guideSheet,body .guideSheet *{color:#111!important;-webkit-text-fill-color:initial!important}

/* === CTGM v13 · contraste final + logotipo como identidad visual === */
/* El tema oscuro necesita texto claro en TODO el chrome global. */
body .govbar,body .sitebar,body .portal-footer,
body .govbar *,body .sitebar *,body .portal-footer *{color:#fff!important;-webkit-text-fill-color:initial!important}
body .sitebar{background:rgba(15,23,42,.38)!important;border-color:rgba(255,255,255,.14)!important}
body .wordmark{color:#fff!important}
body .nav a{color:rgba(255,255,255,.76)!important}
body .nav a:hover,body .nav a.active{color:#fff!important;background:rgba(255,255,255,.13)!important}
body .govlinks span,body .portal-footer .meta,body .footer-place{color:rgba(255,255,255,.72)!important}

/* Texto de superficies glass: nunca gris oscuro sobre cristal oscuro. */
body .top p,body .hero p,body .hero .lead,body .hero .brand,
body .card p,body .panel p,body .section p,body .item .k,
body .footnote,body .terms,body .back,body .crumb,
body .admin-banner,body .admin-banner *,body .adminContent .pageSub,
body .adminContent .note,body .adminContent .msg,
body .adminContent label,body .searchResultMeta{color:rgba(255,255,255,.76)!important;opacity:1!important}
body .top h1,body .hero h1,body .card h1,body .card h2,body .card h3,
body .panel h1,body .panel h2,body .section h2,
body .adminContent .pageTitle,body .adminContent h1,body .adminContent h2,body .adminContent h3,
body .searchResultName{color:#fff!important;-webkit-text-fill-color:initial!important}

/* Rastreo / perfil: tarjetas e información secundaria */
body .hero>.brand{color:rgba(255,255,255,.72)!important}
body .item,body .reward,body .summary .box,body .move{color:#fff!important}
body .item .v,body .reward strong,body .reward span,body .move strong,
body .codepill,body .expiry,body .pts{color:#fff!important}
body .event-meta,body .event-note,body .move .meta{color:rgba(255,255,255,.68)!important}

/* Logos reales sustituyen wordmarks de texto CTGM. */
.ctgm-logo-block{display:flex!important;align-items:center!important;justify-content:center!important;margin:0 auto 18px!important;line-height:1!important}
.ctgm-logo-block img{display:block;width:clamp(120px,18vw,230px);height:auto;max-height:105px;object-fit:contain;filter:drop-shadow(0 12px 28px rgba(0,0,0,.22))}
.navBrand{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:9px!important}
.ctgm-nav-logo{display:block;width:116px;height:auto;max-height:58px;object-fit:contain;filter:drop-shadow(0 8px 20px rgba(0,0,0,.2))}
.navBrand span{color:rgba(255,255,255,.72)!important}
.ctgm-header-logo,.ctgm-footer-logo{filter:drop-shadow(0 8px 18px rgba(0,0,0,.18))}

/* Admin: derrota definitivamente reglas claras heredadas del HTML. */
body .adminShellNav,body .adminContent>section,body .adminContent>div>section,
body #ordersSearchBlock>section,body #shipmentsSection>section,
body #customersSection>section,body #adjustPointsSection>section{
 background:rgba(255,255,255,.06)!important;
 border:1px solid rgba(255,255,255,.15)!important;
 -webkit-backdrop-filter:blur(32px) saturate(180%)!important;
 backdrop-filter:blur(32px) saturate(180%)!important;
 box-shadow:0 24px 48px rgba(0,0,0,.20),inset 0 1px 1px rgba(255,255,255,.13)!important;
}
body .adminContent input,body .adminContent select,body .adminContent textarea,
body .searchResult,body .linkPreview,body .loyaltyStat{background:rgba(255,255,255,.075)!important;color:#fff!important;border-color:rgba(255,255,255,.17)!important}
body .adminContent button.secondary{background:rgba(255,255,255,.09)!important;color:#fff!important;border-color:rgba(255,255,255,.18)!important}

/* Home: el gran CTGM tipográfico se sustituye por el archivo de logotipo. */
body .visual:before{font-size:0!important;color:transparent!important;-webkit-text-fill-color:transparent!important;background:url('./ctgm-logo.png') center/contain no-repeat!important;width:min(72%,430px)!important;height:190px!important;opacity:.16!important}

/* Excepción: guía física debe seguir en blanco y negro para impresión. */
body .guideSheet,body .guideSheet *{color:#111!important;-webkit-text-fill-color:initial!important}
@media(max-width:760px){.ctgm-logo-block img{width:135px}.ctgm-nav-logo{width:92px}}

/* CTGM v15 — Home compacta: una sola navegación, sin encabezado duplicado */
.home-header{max-width:1180px;margin:22px auto 0;padding:0 22px}
.home-header .home-sitebar{border-radius:24px;background:linear-gradient(135deg,rgba(255,255,255,.075),rgba(255,255,255,.035))!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 18px 44px rgba(0,0,0,.22),inset 0 1px 1px rgba(255,255,255,.12)!important;backdrop-filter:blur(30px) saturate(180%)!important;-webkit-backdrop-filter:blur(30px) saturate(180%)!important}
.home-header .sitebar-inner{min-height:72px}.home-header .ctgm-header-logo{width:105px;max-height:52px;clip-path:inset(1% round 10%)}
.home-header .nav{margin-left:auto}.home-header .nav a{font-size:13px}
@media(max-width:820px){.home-header{margin-top:12px;padding:0 15px}.home-header .sitebar-inner{min-height:62px}.home-header .ctgm-header-logo{width:86px}.home-header .nav{overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:2px}.home-header .nav a{white-space:nowrap;font-size:12px;padding:9px 10px}}

/* === CTGM V26 · auditoría global de legibilidad ===
   Capa final exclusivamente visual. No modifica lógica ni estructura. */
:root{
  --ctgm-readable:#f8fbff;
  --ctgm-readable-soft:rgba(255,255,255,.82);
  --ctgm-readable-muted:rgba(255,255,255,.72);
  --ctgm-readable-faint:rgba(255,255,255,.68);
}
body{color:var(--ctgm-readable)!important}
body h1,body h2,body h3,body h4,body h5,body h6,
body strong,body b,body .title,body .pageTitle,body .name,body .big,
body .v,body .money,body .status,body .searchResultName{color:#fff!important}
body p,body .sub,body .lead,body .note,body .msg,body .pageSub,
body .meta,body .terms,body .empty,body .footnote,body .event-meta,
body .event-note,body .searchResultMeta,body .loyaltyHelp,body .crumb,
body .footer,body small{color:var(--ctgm-readable-soft)!important;opacity:1!important}
body label,body .label,body .k,body .lk,body .code,
body .loyaltyStat .lk,body .home-eyebrow,body .home-place,
body .navBrand span{color:var(--ctgm-readable-muted)!important;opacity:1!important}
body a:not(.guideSheet a){color:#fff!important}
body input,body select,body textarea{
  color:#fff!important;
  caret-color:#fff!important;
  background:rgba(255,255,255,.09)!important;
  border-color:rgba(255,255,255,.24)!important;
}
body input::placeholder,body textarea::placeholder{
  color:rgba(255,255,255,.68)!important;
  opacity:1!important;
}
body input:focus,body select:focus,body textarea:focus{
  border-color:rgba(165,180,252,.80)!important;
  box-shadow:0 0 0 3px rgba(165,180,252,.16)!important;
  outline:none!important;
}
body button,body .btn,body .primary,body .secondary,
body .chip,body .unit,body .quick button{
  color:#fff!important;
}
body button:disabled,body .btn:disabled{opacity:.72!important}
body .nav a,body .navList button{color:var(--ctgm-readable-soft)!important}
body .nav a:hover,body .nav a.active,body .navList button:hover,
body .navList button.active{color:#fff!important}
body .home-card span,body .home-place small{color:var(--ctgm-readable-muted)!important}
body .reward span,body .move .meta,body .terms,body .empty,
body .expiry,body .codepill{color:var(--ctgm-readable-soft)!important}
body .pts{color:#b9ffe8!important}
body .error,body [role="alert"]{opacity:1!important}
body .error{color:#ffd0d0!important}
body .success{color:#c9ffda!important}
body .reward-table th,body .reward-table td{color:#fff!important}
body .reward-table td:first-child{color:#d9ddff!important}
body .adminContent label,body .adminContent .note,body .adminContent .msg,
body .adminContent .pageSub,body .adminContent .searchResultMeta{
  color:var(--ctgm-readable-soft)!important;
}
body .adminContent input::placeholder,body .adminContent textarea::placeholder{
  color:rgba(255,255,255,.68)!important;
}
/* La guía impresa es deliberadamente blanca con tinta oscura. */
body .guideSheet,body .guideSheet *{color:#111!important;-webkit-text-fill-color:initial!important}
body .guideSheet input,body .guideSheet textarea{color:#111!important;background:#fff!important}
@media(max-width:640px){
  body{font-size:16px}
  body .terms,body .footnote,body .event-meta,body .event-note,
  body .searchResultMeta,body .msg{font-size:max(12px,inherit)}
  body .reward-table{font-size:14px}
}

/* === CTGM V27 · contraste real por superficie ===
   Corrige el conflicto heredado: tarjetas claras + tipografia blanca. */
:root{
  --v27-surface:rgba(10,22,38,.78);
  --v27-surface-2:rgba(16,31,51,.82);
  --v27-edge:rgba(255,255,255,.20);
  --v27-text:#f8fbff;
  --v27-muted:#c7d2e2;
  --v27-label:#b5c3d6;
}
/* Todas las superficies de contenido quedan oscuras para garantizar contraste. */
body .institutional-card,body .card,body .panel,body .box,body .section,
body .summary .box,body .tile,body .reward,body .item,body .searchResult,
body .linkPreview,body .stepx,body .ship,body .trust-banner,body .progress,
body .loyaltyStat,body .adminNav,body .adminShellNav,body .admin-banner>div,
body .guideActions,body .actions,body .top,body .search,body .login,
body .profile-card,body .tracking-card,body .reward-card,body .info-card,
body .content-card,body .modalCard,body .modal-content,body .result,
body .hero-copy,body .visual,body .step{
  background:linear-gradient(135deg,var(--v27-surface-2),var(--v27-surface))!important;
  color:var(--v27-text)!important;
  border-color:var(--v27-edge)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.10)!important;
}
/* Perfil: contenido cargado dinamicamente. */
body .summary .box .label,body .summary .box .expiry,
body .section .label,body .reward span,body .move .meta,
body .terms,body .empty,body .codepill{color:var(--v27-muted)!important;opacity:1!important}
body .summary .box .big,body .summary .box .name,
body .reward strong,body .move strong,body .section h2,
body .pts{color:var(--v27-text)!important;opacity:1!important}
body .pts{color:#9ff4d4!important}
body .terms{font-size:13px!important;line-height:1.65!important}
body .move .meta{font-size:13px!important;line-height:1.45!important}
body .label,body .k,body .lk{color:var(--v27-label)!important}
/* Formularios: texto y placeholder claramente visibles. */
body input,body select,body textarea{
  background:rgba(4,12,23,.72)!important;color:#fff!important;
  border-color:rgba(255,255,255,.26)!important;
}
body input::placeholder,body textarea::placeholder{color:#b8c4d4!important;opacity:1!important}
/* Botones secundarios nunca blanco sobre cristal claro. */
body button,body .btn,body .primary,body .secondary,body .chip,body .unit,body .quick button{
  color:#fff!important;text-shadow:none!important;
}
/* Textos globales sobre superficies oscuras. */
body p,body small,body .sub,body .lead,body .note,body .msg,body .meta,
body .footnote,body .event-meta,body .event-note,body .searchResultMeta,
body .loyaltyHelp,body .crumb{color:var(--v27-muted)!important;opacity:1!important}
body h1,body h2,body h3,body h4,body strong,body b,body .title,
body .pageTitle,body .name,body .big,body .v,body .money,body .status,
body .searchResultName{color:var(--v27-text)!important}
/* Tablas de recompensas. */
body .reward-table th,body .reward-table td{
  background:rgba(8,20,36,.82)!important;color:var(--v27-text)!important;
  border-color:var(--v27-edge)!important;
}
body .reward-table td:first-child{color:#dce3ff!important}
/* Admin conserva el mismo criterio de contraste. */
body .adminContent input,body .adminContent select,body .adminContent textarea,
body .adminContent .searchResult,body .adminContent .linkPreview{
  background:rgba(4,12,23,.72)!important;color:#fff!important;
}
/* Excepcion intencional: guia para imprimir. */
body .guideSheet,body .guideSheet *{color:#111!important;-webkit-text-fill-color:initial!important}
body .guideSheet{background:#fff!important}
body .guideSheet input,body .guideSheet textarea{color:#111!important;background:#fff!important}
@media(max-width:650px){
  body .terms{font-size:13px!important}
  body .move .meta,body .msg,body .event-meta,body .event-note{font-size:13px!important}
}
