/* Identidad BVirtual: azul noche, luz eléctrica y dorado de bolillero. */
@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@400;500;600;700;800;900&display=swap');

:root{color-scheme:dark;--radius:14px;--disp:'Nunito Sans','Trebuchet MS',sans-serif;--body:'Nunito Sans','Trebuchet MS',sans-serif}
body{background:radial-gradient(ellipse at 50% 0%,#123d78 0%,#081e42 42%,#06152f 80%);background-attachment:fixed;color:#f8faff;font-family:var(--body);-webkit-font-smoothing:antialiased}
h1,h2,h3,.brand,.view-title,.sorteo-card h3{font-family:var(--disp);font-weight:900;letter-spacing:-.025em}
h1,.brand,h1.view-title{color:#fff;text-shadow:0 2px 0 #326ccd,0 4px 0 #08285d,0 0 24px #248bff45}
p{line-height:1.6}
.marquee-bar{height:5px;background:linear-gradient(90deg,#ad6a12,#ffe58a,#ffbd34,#fff0ad,#ad6a12);box-shadow:0 0 18px #ffc94a55}
header.top{background:#06152f99;border-bottom:1px solid #358dff55}
.brand span{color:#ffcf50;text-shadow:0 2px 0 #ad6a12}
.panel,.sorteo-card,.public-shell,.modal-box,dialog{background:linear-gradient(145deg,#153968,#0a2045);border:1px solid #418dff55;border-radius:16px;box-shadow:inset 0 1px 0 #ffffff12,0 12px 32px #00000030}
.sorteo-card{border-top:2px solid #ffc94a99}
nav.stubs{background:#081d40;border-bottom:1px solid #358dff55}
nav.stubs button{font-family:var(--body);font-weight:800;text-transform:none;letter-spacing:0;border-right:1px solid #358dff25}
nav.stubs button.active{background:linear-gradient(180deg,#2584ff22,#2584ff08);color:#fff}
nav.stubs button.active::after{height:3px;background:#39b6ff;box-shadow:0 0 12px #2584ff}
button,.btn,.enlace{font-family:var(--body);font-weight:800;border-radius:10px}
.btn-primary,.login-page button[type=submit],button.enlace,.acciones>button:not(.item),a.enlace{background:linear-gradient(180deg,#ffe681,#ffc438 65%,#efa516);color:#132346;border:1px solid #ffe9a5;box-shadow:inset 0 1px 0 #fff9,0 3px 0 #a96610,0 6px 16px #0004}
.btn-ghost,.login-page button.secondary{background:linear-gradient(180deg,#164780,#0d2b56);color:#f8faff;border:1px solid #408dff77;box-shadow:inset 0 1px 0 #ffffff12}
input:not([type=checkbox]):not([type=radio]),select,textarea{background:#061730;color:#f8faff;border:1px solid #498aff66;border-radius:9px;font-family:var(--body)}
input::placeholder,textarea::placeholder{color:#a6b9d6;opacity:1}
label,.muted,.view-desc,.sorteo-card .meta{color:#bbcce5}
:is(a,button,input,select,textarea):focus-visible{outline:3px solid #60c8ff;outline-offset:3px}
.carton,.bingo-card{color:#06152f;background:#f5f7ff;color-scheme:light}
.carton h2,.carton h3,.bingo-card h3{color:#123563;text-shadow:none}
body[data-vista=tablero] main>.acciones{background:#06152ff2;box-shadow:0 8px 12px #06152f99}
.login-page{padding:32px 20px}
.login-page main{max-width:480px}
.login-brand{display:block;margin:0 -30px 22px;overflow:hidden;border-radius:20px;border:1px solid #2584ff66;box-shadow:0 0 32px #147cff22,0 12px 30px #0005}
.login-brand img{display:block;width:100%;height:auto}
.login-page .panel{padding:28px 32px;border-top:2px solid #ffc94a}
.login-page h2{font-size:26px;margin-bottom:8px}
.login-page p{color:#bbcce5}
.login-page label{font-size:14px;font-weight:700}
.login-page input{min-height:48px}
.login-page button{min-height:46px}
.login-page .password-eye{min-height:38px;color:#bcd7ff;background:transparent;box-shadow:none}
.login-page #mensaje:empty{display:none}
@media(max-width:540px){.login-page{padding:20px 16px}.login-brand{margin:0 0 20px;border-radius:14px}.login-page .panel{padding:24px 20px}header.top{padding:18px}nav.stubs{padding:0 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
