/* EduSmart360 V1.2.0 · Plataforma SaaS Comercial */
:root{
  --saas-bg:#F6F8FB;--saas-panel:#FFFFFF;--saas-ink:#102033;--saas-muted:#617088;
  --saas-line:#E6ECF3;--saas-primary:#123C69;--saas-primary-2:#0B2A4A;--saas-accent:#19A886;
  --saas-warn:#B7791F;--saas-danger:#B91C1C;--saas-soft:#EEF5FF;--saas-shadow:0 14px 38px rgba(15,32,51,.08);
}
body{background:var(--saas-bg);}
.login-wrap{background:radial-gradient(circle at top left,#214E7A 0,#0E2845 38%,#07192C 100%) !important;padding:24px;}
.login-box{width:min(1080px,96vw) !important;max-width:1080px !important;padding:0 !important;border-radius:28px !important;overflow:hidden;display:grid;grid-template-columns:1.15fr .85fr;box-shadow:0 26px 90px rgba(0,0,0,.34) !important;}
.login-brand-panel{padding:42px;background:linear-gradient(135deg,rgba(18,60,105,.96),rgba(11,42,74,.98));color:#fff;min-height:560px;display:flex;flex-direction:column;justify-content:space-between;}
.login-product-mark{width:54px;height:54px;border-radius:18px;background:linear-gradient(135deg,#FFFFFF,#D7E8F7);color:#123C69;display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:-1px;font-size:19px;box-shadow:0 16px 42px rgba(0,0,0,.2);}
.login-kicker{font-size:11px;letter-spacing:2.4px;text-transform:uppercase;opacity:.72;font-weight:800;margin-top:18px;}
.login-headline{font-size:36px;line-height:1.08;font-weight:900;letter-spacing:-1px;margin-top:12px;max-width:620px;}
.login-copy{font-size:14px;line-height:1.7;color:rgba(255,255,255,.76);margin-top:16px;max-width:610px;}
.login-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:26px;}
.login-proof{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);border-radius:16px;padding:14px;}
.login-proof b{display:block;font-size:18px;margin-bottom:3px;}.login-proof span{font-size:11px;color:rgba(255,255,255,.68);line-height:1.45;}
.login-provider{border-top:1px solid rgba(255,255,255,.16);padding-top:18px;font-size:12px;color:rgba(255,255,255,.75);line-height:1.7;}
.login-form-panel{padding:42px;background:#fff;display:flex;flex-direction:column;justify-content:center;}
.login-form-title{font-size:24px;font-weight:900;color:var(--saas-ink);margin-bottom:6px;}
.login-form-sub{font-size:12.5px;color:var(--saas-muted);line-height:1.6;margin-bottom:20px;}
.login-logo{display:none !important;}
.sidebar{background:#07192C !important;border-right:1px solid rgba(255,255,255,.06);}
.logo-ic,.mi-ic,.tb-btn{font-family:'Plus Jakarta Sans',sans-serif !important;}
.logo-ic{font-size:0 !important;background:linear-gradient(135deg,#EEF5FF,#FFFFFF) !important;color:#123C69 !important;}
.logo-ic::after{content:'ES';font-size:13px;font-weight:900;letter-spacing:-.4px;}
.logo-tg{letter-spacing:1.2px !important;text-transform:uppercase !important;}
.sec-lbl{font-size:9px !important;color:rgba(255,255,255,.36) !important;letter-spacing:1.6px !important;}
.mi{border-radius:12px !important;margin:2px 10px !important;padding:9px 10px !important;color:rgba(255,255,255,.68) !important;}
.mi:hover{background:rgba(255,255,255,.08) !important;color:#fff !important;transform:translateX(2px);}
.mi.on{background:linear-gradient(135deg,#FFFFFF,#E8F1FB) !important;color:#0B2A4A !important;box-shadow:0 12px 26px rgba(0,0,0,.22) !important;}
.mi-ic{font-size:10px !important;font-weight:900 !important;letter-spacing:.2px;background:rgba(255,255,255,.10) !important;color:rgba(255,255,255,.82) !important;}
.mi.on .mi-ic{background:#123C69 !important;color:#fff !important;}
.topbar{box-shadow:0 8px 26px rgba(15,32,51,.06);border-bottom:1px solid var(--saas-line) !important;}
.main{background:linear-gradient(180deg,#F7FAFD 0%,#F3F6FA 100%);}
.pt{font-size:24px !important;letter-spacing:-.5px;}.ps{font-size:13px !important;line-height:1.6;}
.card,.sc,.ec,.v210-card{border:1px solid var(--saas-line) !important;box-shadow:var(--saas-shadow) !important;border-radius:18px !important;}
.card:hover,.sc:hover{transform:translateY(-1px);}
.ct{font-size:14px !important;letter-spacing:-.2px;}
.btn{border-radius:11px !important;box-shadow:none !important;}
.btn-p,.btn-v{background:#123C69 !important;color:#fff !important;}.btn-p:hover,.btn-v:hover{background:#0B2A4A !important;}
.btn-o{border-color:#CAD8E7 !important;color:#123C69 !important;background:#fff !important;}.btn-o:hover{background:#EEF5FF !important;}
.tbl th{background:#F8FAFC;color:#526176 !important;}.tbl td{font-size:12.3px !important;}
.saas-hero{background:linear-gradient(135deg,#0B2A4A,#123C69 55%,#19A886);color:#fff;border-radius:24px;padding:26px;box-shadow:0 24px 60px rgba(18,60,105,.22);margin-bottom:16px;position:relative;overflow:hidden;}
.saas-hero::after{content:'';position:absolute;right:-80px;top:-90px;width:240px;height:240px;border-radius:999px;background:rgba(255,255,255,.10);}
.saas-eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:900;color:rgba(255,255,255,.72);margin-bottom:8px;}
.saas-title{font-size:30px;font-weight:900;line-height:1.1;letter-spacing:-.8px;max-width:760px;}
.saas-sub{font-size:13.5px;line-height:1.7;color:rgba(255,255,255,.78);max-width:780px;margin-top:10px;}
.saas-hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.saas-btn-light{background:#fff;color:#123C69;border:none;border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer;}
.saas-btn-ghost{background:rgba(255,255,255,.10);color:#fff;border:1px solid rgba(255,255,255,.22);border-radius:12px;padding:10px 14px;font-weight:900;cursor:pointer;}
.saas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-bottom:14px;}
.saas-card{background:#fff;border:1px solid var(--saas-line);border-radius:18px;padding:16px;box-shadow:var(--saas-shadow);}
.saas-card h3{font-size:14px;margin-bottom:8px;color:var(--saas-ink);}.saas-card p{font-size:12px;color:var(--saas-muted);line-height:1.65;}
.saas-metric{font-size:28px;font-weight:900;color:#123C69;margin-top:10px;}
.saas-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 9px;background:#EEF5FF;color:#123C69;font-size:10.5px;font-weight:900;margin:2px;}
.saas-pill.ok{background:#E8FAF5;color:#08745F}.saas-pill.lock{background:#FFF7ED;color:#A34F00}.saas-pill.stop{background:#FEE2E2;color:#991B1B}
.premium-gate{border:1px solid #F4D49C;background:linear-gradient(135deg,#FFF7ED,#FFFFFF);border-radius:22px;padding:22px;margin-bottom:14px;box-shadow:0 16px 42px rgba(183,121,31,.13);}
.premium-gate h3{font-size:20px;color:#7C3A00;margin-bottom:7px;}.premium-gate p{font-size:13px;color:#71523A;line-height:1.7;max-width:840px;}
.premium-benefits{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;margin:16px 0;}
.premium-benefit{background:#fff;border:1px solid #F4D49C;border-radius:14px;padding:12px;font-size:12px;color:#5A3920;line-height:1.55;}
.saas-page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px;}
.saas-version-badge{background:#0B2A4A;color:#fff;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:900;}
.saas-contact-card{background:#07192C;color:#fff;border-radius:18px;padding:17px;line-height:1.75;font-size:12px;}
.saas-contact-card b{color:#fff;}.saas-contact-card span{color:rgba(255,255,255,.72);}
.saas-empty{border:1px dashed #B8C7D8;background:#F8FBFE;border-radius:16px;padding:18px;text-align:center;color:var(--saas-muted);font-size:12.5px;line-height:1.7;}
.ia-box{background:linear-gradient(135deg,#0B2A4A,#123C69) !important;border-radius:22px !important;}
.saas-locked-area{opacity:.42;filter:grayscale(.2);pointer-events:none;}
@media (max-width:900px){.login-box{grid-template-columns:1fr !important}.login-brand-panel{min-height:auto}.login-proof-grid{grid-template-columns:1fr}.sidebar{width:220px}.topbar{left:220px}.main{margin-left:220px}.g4,.g3,.g24{grid-template-columns:1fr !important}}
@media (max-width:720px){.sidebar{position:relative;width:100%;height:auto}.topbar{position:relative;left:0}.main{margin:0;padding:14px}.login-brand-panel,.login-form-panel{padding:26px}.login-headline{font-size:28px}}

.sc-ic,.v210-ic,.act-ic{font-size:0 !important;}
.sc-ic::after,.v210-ic::after,.act-ic::after{content:'ED';font-size:10px;font-weight:900;letter-spacing:.3px;}

/* V1.2.0.1 · Corrección de login público y eliminación de lenguaje técnico visible al cliente */
.login-wrap{background:linear-gradient(135deg,#F3F7FB 0%,#E7EEF6 48%,#DDE8F3 100%) !important;padding:26px !important;}
.login-box{width:min(1040px,96vw) !important;min-height:560px !important;border-radius:26px !important;box-shadow:0 28px 80px rgba(13,32,55,.18) !important;border:1px solid rgba(15,45,75,.10);}
.login-brand-panel{background:linear-gradient(135deg,#102A43 0%,#183B56 58%,#244E70 100%) !important;padding:46px !important;}
.login-product-mark{background:#FFFFFF !important;color:#183B56 !important;box-shadow:0 12px 30px rgba(0,0,0,.18) !important;border-radius:16px !important;}
.login-kicker{font-size:10.5px !important;letter-spacing:2.1px !important;color:#BFD2E3 !important;opacity:1 !important;}
.login-headline{font-size:34px !important;line-height:1.08 !important;max-width:600px !important;color:#FFFFFF !important;}
.login-copy{font-size:14px !important;color:#D6E4F0 !important;max-width:610px !important;}
.login-proof{background:rgba(255,255,255,.075) !important;border:1px solid rgba(255,255,255,.15) !important;}
.login-proof b{font-size:17px !important;color:#FFFFFF !important;}
.login-proof span{color:#C8D9E8 !important;}
.login-provider{font-size:12px !important;color:#D6E4F0 !important;border-top:1px solid rgba(255,255,255,.14) !important;}
.login-form-panel{background:#FFFFFF !important;padding:46px !important;}
.login-form-title{font-size:26px !important;color:#102A43 !important;}
.login-form-sub{font-size:13px !important;color:#627487 !important;margin-bottom:22px !important;}
.login-form-panel .fi{background:#F8FAFC !important;border:1px solid #D8E2EC !important;border-radius:11px !important;padding:12px 13px !important;}
.login-form-panel .fi:focus{outline:2px solid rgba(24,59,86,.14) !important;border-color:#244E70 !important;}
.login-form-panel .btn,.login-form-panel button{border-radius:11px !important;background:#183B56 !important;color:#fff !important;font-weight:800 !important;border:none !important;}
.login-form-panel .btn:hover,.login-form-panel button:hover{background:#102A43 !important;}
.saas-hero{background:linear-gradient(135deg,#102A43,#183B56 55%,#2F6F89) !important;}
.saas-btn-light{color:#183B56 !important;}
.btn-p,.btn-v{background:#183B56 !important;}.btn-p:hover,.btn-v:hover{background:#102A43 !important;}
.saas-version-badge{background:#183B56 !important;}

/* V1.2.1 · Reconstrucción UX profesional
   Objetivo: limpiar la experiencia visual, retirar lenguaje técnico visible,
   reducir colores innecesarios y dar apariencia institucional real. */
:root{
  --ux-bg:#F5F7FA;
  --ux-surface:#FFFFFF;
  --ux-sidebar:#FFFFFF;
  --ux-ink:#172033;
  --ux-muted:#667085;
  --ux-line:#E4E7EC;
  --ux-soft:#EEF4F8;
  --ux-primary:#174A6A;
  --ux-primary-2:#0F2F45;
  --ux-accent:#F28C28;
  --ux-ok:#16825D;
  --ux-warn:#B26A00;
  --ux-danger:#B42318;
  --ux-shadow:0 14px 38px rgba(16,24,40,.08);
  --ux-radius:18px;
}
body{background:var(--ux-bg)!important;color:var(--ux-ink)!important;}
/* Login público: más institucional, menos plantilla y sin bloque oscuro agresivo */
.login-wrap{background:radial-gradient(circle at 12% 8%,#FFFFFF 0,#F7FAFC 28%,#EDF3F7 100%)!important;padding:34px!important;}
.login-box{width:min(1060px,94vw)!important;min-height:560px!important;border-radius:28px!important;background:rgba(255,255,255,.92)!important;border:1px solid rgba(23,74,106,.10)!important;box-shadow:0 28px 80px rgba(16,24,40,.12)!important;overflow:hidden!important;display:grid!important;grid-template-columns:1.04fr .96fr!important;}
.login-brand-panel{background:linear-gradient(145deg,#FFFFFF 0%,#F6FAFD 100%)!important;color:var(--ux-ink)!important;padding:56px 54px!important;min-height:560px!important;border-right:1px solid var(--ux-line)!important;}
.login-brand-content{max-width:610px;}
.login-product-mark{display:none!important;}
.login-product-wordmark{display:flex;align-items:baseline;gap:0;font-weight:900;font-size:28px;letter-spacing:-.9px;margin-bottom:28px;color:var(--ux-ink);}
.login-product-wordmark span{color:var(--ux-ink)}
.login-product-wordmark strong{color:var(--ux-accent)}
.login-product-wordmark em{font-style:normal;color:var(--ux-ink);margin-left:4px}
.login-kicker{font-size:11px!important;letter-spacing:2.1px!important;text-transform:uppercase!important;color:var(--ux-primary)!important;opacity:1!important;font-weight:900!important;margin-top:0!important;}
.login-headline{font-size:38px!important;line-height:1.08!important;letter-spacing:-1.4px!important;color:var(--ux-ink)!important;margin-top:16px!important;max-width:600px!important;}
.login-copy{font-size:15px!important;line-height:1.75!important;color:var(--ux-muted)!important;max-width:600px!important;margin-top:16px!important;}
.login-proof-grid{display:grid!important;grid-template-columns:1fr!important;gap:10px!important;margin-top:30px!important;border-top:1px solid var(--ux-line)!important;padding-top:18px!important;}
.login-proof{border:0!important;background:transparent!important;border-radius:0!important;padding:0 0 0 18px!important;position:relative!important;box-shadow:none!important;}
.login-proof:before{content:'';position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:99px;background:var(--ux-accent);}
.login-proof b{display:block!important;font-size:14px!important;line-height:1.35!important;color:var(--ux-ink)!important;margin:0 0 3px!important;}
.login-proof span{font-size:12.5px!important;color:var(--ux-muted)!important;line-height:1.55!important;}
.login-provider{border-top:1px solid var(--ux-line)!important;color:var(--ux-muted)!important;font-size:12.3px!important;line-height:1.65!important;padding-top:18px!important;}
.login-provider b{color:var(--ux-ink)!important;}
.login-form-panel{background:#FFFFFF!important;padding:56px 50px!important;}
.login-form-title{font-size:28px!important;letter-spacing:-.6px!important;color:var(--ux-ink)!important;}
.login-form-sub{font-size:13.5px!important;line-height:1.65!important;color:var(--ux-muted)!important;max-width:360px!important;margin-bottom:24px!important;}
.login-form-panel .fg{margin-bottom:14px!important;}
.login-form-panel .fl{font-size:12px!important;color:#475467!important;font-weight:700!important;margin-bottom:7px!important;}
.login-form-panel .fi{height:46px!important;background:#FFFFFF!important;border:1px solid #D0D5DD!important;border-radius:12px!important;color:var(--ux-ink)!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important;}
.login-form-panel .fi:focus{outline:3px solid rgba(23,74,106,.12)!important;border-color:var(--ux-primary)!important;}
.login-form-panel .btn,.login-form-panel button{height:48px!important;background:var(--ux-primary)!important;border-radius:12px!important;color:#FFFFFF!important;border:0!important;font-weight:800!important;box-shadow:0 10px 24px rgba(23,74,106,.18)!important;}
.login-form-panel .btn:hover,.login-form-panel button:hover{background:var(--ux-primary-2)!important;}
/* Login superadmin */
.login-side{background:linear-gradient(145deg,#FFFFFF,#F6FAFD)!important;color:var(--ux-ink)!important;border-right:1px solid var(--ux-line)!important;}
.login-mark{background:#FFFFFF!important;color:var(--ux-primary)!important;border:1px solid var(--ux-line)!important;box-shadow:0 12px 24px rgba(16,24,40,.08)!important;font-size:15px!important;letter-spacing:-.5px!important;}
.login-badge{color:var(--ux-primary)!important;opacity:1!important;}
.login-admin-title{color:var(--ux-ink)!important;}
.login-admin-copy{color:var(--ux-muted)!important;}
.login-main{background:#FFFFFF!important;}
/* App: sidebar claro, sin códigos visuales ni apariencia de prototipo */
.sidebar{background:var(--ux-sidebar)!important;color:var(--ux-ink)!important;border-right:1px solid var(--ux-line)!important;box-shadow:8px 0 24px rgba(16,24,40,.04)!important;}
.logo-area{border-bottom:1px solid var(--ux-line)!important;background:#FFFFFF!important;}
.logo-ic{display:none!important;}
.logo-nm{font-size:18px!important;color:var(--ux-ink)!important;letter-spacing:-.5px!important;}
.logo-nm span{color:var(--ux-accent)!important;}
.logo-tg,.ur{color:#7A8699!important;text-transform:none!important;letter-spacing:.2px!important;font-size:11px!important;}
.sa-badge{background:#FFF4E6!important;color:#9A4C00!important;border:1px solid #FFE0B2!important;box-shadow:none!important;}
.sec-lbl{color:#98A2B3!important;font-size:10px!important;letter-spacing:1.1px!important;font-weight:800!important;margin:18px 18px 8px!important;}
.mi{margin:3px 12px!important;padding:10px 13px!important;border-radius:12px!important;color:#344054!important;font-weight:700!important;background:transparent!important;gap:0!important;box-shadow:none!important;}
.mi:hover{background:#F2F6FA!important;color:var(--ux-primary)!important;transform:none!important;}
.mi.on{background:#EAF2F8!important;color:var(--ux-primary)!important;box-shadow:none!important;border:1px solid #D7E7F0!important;}
.mi-ic{display:none!important;}
.mi-badge{background:#FEE4E2!important;color:#B42318!important;border-radius:99px!important;font-size:9px!important;padding:3px 6px!important;margin-left:auto!important;}
.sf{border-top:1px solid var(--ux-line)!important;background:#FFFFFF!important;}
.uc{background:#F8FAFC!important;border:1px solid var(--ux-line)!important;color:var(--ux-ink)!important;}
.uav{background:#EAF2F8!important;color:var(--ux-primary)!important;border:1px solid #D7E7F0!important;}
.un{color:var(--ux-ink)!important;}
.topbar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(12px)!important;border-bottom:1px solid var(--ux-line)!important;box-shadow:none!important;}
.tb-title{color:var(--ux-ink)!important;font-weight:800!important;}
.tb-bc{color:#667085!important;}
.main{background:var(--ux-bg)!important;}
/* Componentes */
.card,.sc,.ec,.v210-card{background:#FFFFFF!important;border:1px solid var(--ux-line)!important;border-radius:var(--ux-radius)!important;box-shadow:var(--ux-shadow)!important;}
.card:hover,.sc:hover,.v210-card:hover{transform:none!important;box-shadow:0 18px 44px rgba(16,24,40,.10)!important;}
.ct,.sc-title,.v210-title{color:var(--ux-ink)!important;font-weight:800!important;letter-spacing:-.2px!important;}
.ps,.sc-sub,.v210-sub{color:var(--ux-muted)!important;}
.btn,.tb-btn{border-radius:11px!important;font-weight:800!important;box-shadow:none!important;}
.btn-p,.btn-v,.btn-g{background:var(--ux-primary)!important;color:#FFFFFF!important;border:1px solid var(--ux-primary)!important;}
.btn-p:hover,.btn-v:hover,.btn-g:hover{background:var(--ux-primary-2)!important;}
.btn-o{background:#FFFFFF!important;color:var(--ux-primary)!important;border:1px solid #C9D7E2!important;}
.btn-o:hover{background:#F2F6FA!important;border-color:#AFC4D3!important;}
.fi,.fg select,.fg textarea{border-radius:11px!important;border:1px solid #D0D5DD!important;background:#FFFFFF!important;color:var(--ux-ink)!important;}
.tbl th{background:#F8FAFC!important;color:#667085!important;font-size:11px!important;letter-spacing:.4px!important;}
.tbl td{border-bottom:1px solid #EEF2F6!important;color:#344054!important;}
/* Heroes sobrios */
.saas-hero{background:#FFFFFF!important;color:var(--ux-ink)!important;border:1px solid var(--ux-line)!important;border-left:5px solid var(--ux-primary)!important;border-radius:22px!important;box-shadow:var(--ux-shadow)!important;padding:24px!important;}
.saas-hero::after{display:none!important;}
.saas-eyebrow{color:var(--ux-primary)!important;letter-spacing:1.5px!important;}
.saas-title{color:var(--ux-ink)!important;font-size:28px!important;letter-spacing:-.8px!important;}
.saas-sub{color:var(--ux-muted)!important;}
.saas-btn-light{background:var(--ux-primary)!important;color:#FFFFFF!important;border-radius:11px!important;}
.saas-btn-ghost{background:#FFFFFF!important;color:var(--ux-primary)!important;border:1px solid #C9D7E2!important;border-radius:11px!important;}
.saas-card{border:1px solid var(--ux-line)!important;border-radius:18px!important;box-shadow:var(--ux-shadow)!important;}
.saas-contact-card{background:#FFFFFF!important;color:var(--ux-ink)!important;border:1px solid var(--ux-line)!important;box-shadow:var(--ux-shadow)!important;}
.saas-contact-card span{color:var(--ux-muted)!important;}
.saas-version-badge{background:#EAF2F8!important;color:var(--ux-primary)!important;border:1px solid #D7E7F0!important;}
.saas-pill{background:#F2F4F7!important;color:#344054!important;border:1px solid #EAECF0!important;}
.saas-pill.ok{background:#ECFDF3!important;color:#027A48!important;border-color:#ABEFC6!important;}
.saas-pill.lock{background:#FFF4E6!important;color:#9A4C00!important;border-color:#FEDF89!important;}
/* Reportes: sin emojis ni iniciales grandes, más sobrios */
.sc-ic,.v210-ic,.act-ic,.report-ic{display:none!important;}
.sc,.v210-card{min-height:150px!important;padding:18px!important;text-align:left!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;}
.sc-title,.v210-title{font-size:15px!important;margin-top:0!important;}
.sc-sub,.v210-sub{font-size:12.5px!important;line-height:1.55!important;}
.sc .btn,.v210-card .btn{height:32px!important;padding:6px 12px!important;}
.badge,.v210-chip{border-radius:999px!important;background:#F2F4F7!important;color:#475467!important;border:1px solid #EAECF0!important;}
/* Eliminar ruido de etiquetas repetitivas */
@media(max-width:900px){.login-box{grid-template-columns:1fr!important}.login-brand-panel{min-height:auto!important}.login-form-panel{padding:34px!important}.sidebar{background:#FFFFFF!important}.login-headline{font-size:31px!important}}
.rep-card-accent{width:38px;height:4px;border-radius:99px;background:linear-gradient(90deg,var(--ux-primary),#AFC4D3);margin:0 0 14px 0!important;}
#rep-grid > div{ text-align:left!important; }


/* ============================================================
   V1.2.2 · Reconstrucción visual profesional real
   Objetivo: claridad, sobriedad, navegación entendible y producto vendible.
   ============================================================ */
:root{
  --ui-bg:#F6F8FB;
  --ui-surface:#FFFFFF;
  --ui-line:#E5EAF0;
  --ui-line-2:#D8E1EA;
  --ui-text:#172033;
  --ui-muted:#65758B;
  --ui-primary:#0F4C6E;
  --ui-primary-2:#123C56;
  --ui-accent:#F28C28;
  --ui-success:#14855E;
  --ui-warning:#A86600;
  --ui-danger:#C2413B;
  --ui-info:#286AA6;
  --ui-radius:16px;
  --ui-shadow:0 14px 34px rgba(28,43,65,.07);
  --ui-shadow-soft:0 8px 22px rgba(28,43,65,.05);
}
html,body{background:var(--ui-bg)!important;color:var(--ui-text)!important;}
body{letter-spacing:-.01em;}
.app{background:var(--ui-bg)!important;}
.side{background:#fff!important;color:var(--ui-text)!important;border-right:1px solid var(--ui-line)!important;box-shadow:2px 0 18px rgba(22,34,51,.04)!important;}
.logo{border-bottom:1px solid var(--ui-line)!important;background:#fff!important;padding:22px 18px!important;}
.logo-ic{display:none!important;}
.logo-t{font-weight:900!important;letter-spacing:-.4px!important;color:var(--ui-text)!important;}
.logo-t span,.login-product-wordmark strong{color:var(--ui-accent)!important;}
.logo-s{color:var(--ui-muted)!important;font-size:12px!important;text-transform:none!important;letter-spacing:.01em!important;}
.sec-lbl{color:#94A3B8!important;font-size:11px!important;letter-spacing:.12em!important;text-transform:uppercase!important;margin-top:20px!important;}
.mi{color:#213049!important;border-radius:12px!important;margin:3px 12px!important;padding:11px 14px!important;font-weight:750!important;gap:0!important;}
.mi:hover{background:#F1F6FA!important;color:var(--ui-primary)!important;}
.mi.on{background:#E9F3F8!important;color:var(--ui-primary)!important;box-shadow:inset 3px 0 0 var(--ui-primary)!important;}
.mi-ic{display:none!important;}
.main{background:var(--ui-bg)!important;}
.top{background:rgba(255,255,255,.93)!important;border-bottom:1px solid var(--ui-line)!important;box-shadow:0 2px 10px rgba(22,34,51,.03)!important;backdrop-filter:blur(10px);}
.tb-title{color:var(--ui-text)!important;font-weight:900!important;}
#tb-date{color:var(--ui-muted)!important;}
.card,.saas-card,.saas-hero,.login-box{border:1px solid var(--ui-line)!important;box-shadow:var(--ui-shadow)!important;border-radius:var(--ui-radius)!important;background:var(--ui-surface)!important;}
.saas-hero{background:linear-gradient(135deg,#fff 0%,#F8FBFD 100%)!important;border-left:5px solid var(--ui-primary)!important;color:var(--ui-text)!important;padding:26px 28px!important;}
.saas-eyebrow{color:var(--ui-primary)!important;letter-spacing:.16em!important;font-size:11px!important;font-weight:900!important;text-transform:uppercase!important;}
.saas-title{color:var(--ui-text)!important;font-weight:950!important;font-size:clamp(24px,3vw,36px)!important;line-height:1.05!important;max-width:900px;}
.saas-sub{color:var(--ui-muted)!important;font-size:15px!important;line-height:1.65!important;max-width:900px;}
.pt{font-size:26px!important;font-weight:950!important;color:var(--ui-text)!important;letter-spacing:-.04em!important;}
.ps{color:var(--ui-muted)!important;font-size:14px!important;line-height:1.5!important;}
.ct{font-size:16px!important;color:var(--ui-text)!important;font-weight:900!important;}
.btn,.saas-btn-light,.saas-btn-ghost{border-radius:12px!important;font-weight:850!important;letter-spacing:-.01em!important;min-height:36px!important;padding:9px 14px!important;}
.btn-p,.saas-btn-light{background:var(--ui-primary)!important;color:#fff!important;border:1px solid var(--ui-primary)!important;}
.btn-p:hover,.saas-btn-light:hover{background:var(--ui-primary-2)!important;}
.btn-o,.saas-btn-ghost{background:#fff!important;color:var(--ui-primary)!important;border:1px solid var(--ui-line-2)!important;}
.btn-v,.btn-g{background:var(--ui-primary)!important;color:#fff!important;border-color:var(--ui-primary)!important;}
.btn-xs{font-size:12px!important;padding:7px 10px!important;min-height:30px!important;}
.tbl{border-collapse:separate!important;border-spacing:0!important;}
.tbl th{background:#F8FAFC!important;color:#506075!important;font-size:12px!important;text-transform:none!important;letter-spacing:.02em!important;border-bottom:1px solid var(--ui-line)!important;}
.tbl td{border-bottom:1px solid #EEF2F6!important;color:#26374D!important;}
.saas-pill,.v210-chip,.bv,.ba,.br,.bgold,.baz{border-radius:999px!important;padding:5px 10px!important;font-size:12px!important;font-weight:850!important;border:1px solid transparent!important;}
.saas-pill.ok,.bv{background:#EAF8F1!important;color:var(--ui-success)!important;border-color:#C8EBDD!important;}
.saas-pill.lock,.br{background:#FFF0F0!important;color:var(--ui-danger)!important;border-color:#F8D1D1!important;}
.ba{background:#FFF8E8!important;color:var(--ui-warning)!important;border-color:#F2DDA8!important;}
.v210-card,.saas-card{position:relative!important;overflow:hidden!important;}
.v210-card:before,.saas-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--ui-primary)!important;opacity:.96;}
.v210-kpi,.saas-metric{color:var(--ui-text)!important;font-size:28px!important;font-weight:950!important;letter-spacing:-.04em!important;}
.login-wrap{background:radial-gradient(circle at top left,#FFFFFF 0,#F4F8FB 38%,#EAF1F6 100%)!important;}
.login-box{box-shadow:0 24px 80px rgba(27,42,62,.14)!important;overflow:hidden!important;}
.login-brand-panel,.login-side{background:linear-gradient(180deg,#123C56,#0D2E45)!important;color:#fff!important;}
.login-headline,.login-admin-title{letter-spacing:-.06em!important;font-weight:950!important;}
.login-copy,.login-admin-copy{color:#D9E7F0!important;line-height:1.7!important;}
.login-proof-grid{display:grid!important;grid-template-columns:repeat(3,1fr)!important;gap:10px!important;}
.login-proof{background:rgba(255,255,255,.08)!important;border:1px solid rgba(255,255,255,.13)!important;border-radius:14px!important;padding:12px!important;}
.login-provider{border-top:1px solid rgba(255,255,255,.15)!important;color:#D9E7F0!important;font-size:13px!important;}
.prof-logout{margin:12px!important;padding:12px 14px!important;border:1px solid var(--ui-line)!important;border-radius:12px!important;background:#fff!important;color:var(--ui-danger)!important;font-weight:900!important;cursor:pointer!important;text-align:left!important;}
.prof-logout:hover{background:#FFF5F5!important;border-color:#F4CACA!important;}
.prof-user-footer{margin:12px!important;border:1px solid var(--ui-line)!important;border-radius:14px!important;padding:12px!important;background:#F8FAFC!important;color:var(--ui-text)!important;}
.prof-avatar{width:38px;height:38px;border-radius:12px;background:#E9F3F8;color:var(--ui-primary);font-weight:950;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;}
.prof-ticket{border:1px solid var(--ui-line)!important;background:#fff!important;border-radius:12px!important;padding:12px!important;margin-bottom:8px!important;}
.prof-kicker{font-size:11px;color:var(--ui-muted);font-weight:850;text-transform:uppercase;letter-spacing:.09em;}
.prof-plan-name{text-transform:none!important;}
.rep-card{background:#fff;border:1px solid var(--ui-line);border-radius:16px;padding:16px;box-shadow:var(--ui-shadow-soft);display:flex;flex-direction:column;gap:10px;min-height:178px;}
.rep-card:hover{border-color:#B9D3E4;box-shadow:0 18px 38px rgba(24,59,86,.10);transform:translateY(-1px);}
.rep-card-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;}
.rep-card-title{font-weight:950;font-size:15px;color:var(--ui-text);line-height:1.25;}
.rep-card-desc{font-size:13px;color:var(--ui-muted);line-height:1.45;min-height:38px;}
.rep-card-meta{font-size:12px;color:#52657A;background:#F5F8FB;border:1px solid #E6EDF3;border-radius:999px;padding:4px 8px;width:max-content;}
.rep-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;}
.rep-section-title{grid-column:1/-1;margin-top:16px;padding-top:6px;}
.rep-section-title h3{margin:0;color:var(--ui-text);font-size:18px;font-weight:950;}
.rep-section-title p{margin:3px 0 0;color:var(--ui-muted);font-size:13px;}
.rep-badge{border-radius:999px;border:1px solid #DDE8F0;background:#F8FAFC;color:#36556A;font-size:11px;font-weight:850;padding:4px 8px;white-space:nowrap;}
@media(max-width:900px){.login-proof-grid{grid-template-columns:1fr!important}.side{width:220px!important}.rep-card-actions{grid-template-columns:1fr}.saas-title{font-size:26px!important}}


/* ============================================================
   V1.2.3 · UX Recovery Stable
   Paleta accesible y componentes funcionales.
   ============================================================ */
:root{
  --ux-primary-light:#DCEBF9;
  --ux-primary:#1E6FA8;
  --ux-primary-dark:#123F5C;
  --ux-secondary-light:#D7F0EA;
  --ux-secondary:#1F8F76;
  --ux-bg:#F7F8F9;
  --ux-border:#DEE2E6;
  --ux-muted:#5B6472;
  --ux-text:#1F2530;
  --ux-success:#2E9E4F;
  --ux-warning:#C98A12;
  --ux-error:#CC3B3B;
  --ux-info:#2A8FB0;
  --ux-radius:14px;
  --ux-shadow:0 10px 26px rgba(31,37,48,.06);
}
html,body,.app,.main{background:var(--ux-bg)!important;color:var(--ux-text)!important;}
body{font-synthesis-weight:none;}
/* Login limpio: sin bloque oscuro ilegible, sin tarjetas de relleno */
.login-wrap{background:linear-gradient(180deg,#F7F8F9 0%,#EEF4F8 100%)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:36px!important;}
.login-box{width:min(1040px,94vw)!important;min-height:auto!important;display:grid!important;grid-template-columns:1fr 430px!important;background:#fff!important;border:1px solid var(--ux-border)!important;border-radius:22px!important;box-shadow:0 18px 48px rgba(18,63,92,.12)!important;overflow:hidden!important;}
.login-brand-panel,.login-side{background:#FFFFFF!important;color:var(--ux-text)!important;padding:56px 54px!important;border-right:1px solid var(--ux-border)!important;display:flex!important;flex-direction:column!important;justify-content:center!important;gap:18px!important;}
.login-brand-content{display:block!important;}
.login-product-wordmark,.login-mark{font-size:28px!important;font-weight:950!important;color:var(--ux-primary-dark)!important;margin-bottom:18px!important;letter-spacing:-.04em!important;background:transparent!important;border:none!important;width:auto!important;height:auto!important;border-radius:0!important;display:block!important;}
.login-product-wordmark strong,.login-mark span,.logo-nm span,.logo-t span{color:#F28C28!important;}
.login-kicker,.login-badge{color:var(--ux-primary)!important;letter-spacing:.12em!important;text-transform:uppercase!important;font-size:12px!important;font-weight:900!important;margin-bottom:10px!important;}
.login-headline,.login-admin-title{color:var(--ux-text)!important;font-size:clamp(28px,3.4vw,42px)!important;line-height:1.08!important;font-weight:950!important;letter-spacing:-.055em!important;max-width:620px!important;}
.login-copy,.login-admin-copy{color:var(--ux-muted)!important;font-size:16px!important;line-height:1.65!important;max-width:620px!important;}
.login-proof-grid,.login-proof{display:none!important;}
.login-provider{border-top:1px solid var(--ux-border)!important;color:var(--ux-muted)!important;font-size:13px!important;margin-top:20px!important;padding-top:16px!important;}
.login-form-panel,.login-main{background:#fff!important;padding:56px 46px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
.login-form-title,.login-main > div:first-child{font-size:28px!important;font-weight:950!important;color:var(--ux-text)!important;letter-spacing:-.04em!important;}
.login-form-sub,.login-main > div:nth-child(2){color:var(--ux-muted)!important;font-size:14px!important;line-height:1.55!important;margin-bottom:22px!important;}
.fi{background:#fff!important;border:1px solid #CBD5E1!important;border-radius:10px!important;color:var(--ux-text)!important;min-height:42px!important;}
.fi:focus{outline:3px solid var(--ux-primary-light)!important;border-color:var(--ux-primary)!important;}
.fl{font-size:12px!important;color:var(--ux-text)!important;font-weight:800!important;margin-bottom:6px!important;}
/* Layout general */
.side,.sidebar{background:#FFFFFF!important;border-right:1px solid var(--ux-border)!important;color:var(--ux-text)!important;box-shadow:1px 0 0 rgba(0,0,0,.02)!important;}
.logo,.logo-area{background:#fff!important;border-bottom:1px solid var(--ux-border)!important;}
.logo-t,.logo-nm{color:var(--ux-text)!important;font-weight:950!important;}
.logo-s,.logo-tg{color:var(--ux-muted)!important;text-transform:none!important;letter-spacing:0!important;font-size:12px!important;}
.mi{color:var(--ux-text)!important;font-weight:800!important;border-radius:10px!important;margin:2px 10px!important;padding:10px 13px!important;}
.mi:hover{background:var(--ux-primary-light)!important;color:var(--ux-primary-dark)!important;}
.mi.on{background:var(--ux-primary-light)!important;color:var(--ux-primary-dark)!important;box-shadow:inset 4px 0 0 var(--ux-primary)!important;}
.mi-ic,.sc-ic,.v210-ic,.act-ic{display:none!important;}
.sec-lbl{color:#8A94A6!important;font-size:11px!important;letter-spacing:.12em!important;}
.top{background:rgba(255,255,255,.96)!important;border-bottom:1px solid var(--ux-border)!important;box-shadow:0 2px 8px rgba(31,37,48,.03)!important;}
.v123-header-actions{display:flex!important;gap:8px!important;align-items:center!important;margin-left:auto!important;}
.v123-top-btn{border:1px solid var(--ux-border)!important;background:#fff!important;color:var(--ux-primary-dark)!important;border-radius:10px!important;padding:8px 12px!important;font-weight:850!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:7px!important;}
.v123-top-btn:hover{background:var(--ux-primary-light)!important;border-color:#B8D4E8!important;}
.v123-logout-btn{background:var(--ux-primary-dark)!important;color:#fff!important;border-color:var(--ux-primary-dark)!important;}
.v123-logout-btn:hover{background:#0C3047!important;color:#fff!important;}
.card,.saas-card,.sc,.v210-card{background:#fff!important;border:1px solid var(--ux-border)!important;border-radius:var(--ux-radius)!important;box-shadow:var(--ux-shadow)!important;color:var(--ux-text)!important;}
.card:before,.saas-card:before,.v210-card:before{background:var(--ux-primary)!important;height:3px!important;}
.sc-ac{height:3px!important;background:var(--ux-primary)!important;}
.ct,.pt,.saas-title,.rep-card-title{color:var(--ux-text)!important;}
.ps,.sc-l,.sc-tr,.saas-sub,.rep-card-desc{color:var(--ux-muted)!important;}
.btn,.saas-btn-light,.saas-btn-ghost{border-radius:10px!important;font-weight:850!important;box-shadow:none!important;}
.btn-p,.btn-g,.btn-v,.saas-btn-light{background:var(--ux-primary-dark)!important;border-color:var(--ux-primary-dark)!important;color:#fff!important;}
.btn-o,.saas-btn-ghost{background:#fff!important;border-color:#C9D4DF!important;color:var(--ux-primary-dark)!important;}
.saas-pill.ok,.bv,.v123-pill-ok{background:#EAF7EF!important;color:var(--ux-success)!important;border-color:#C8EBD4!important;}
.saas-pill.lock,.br,.v123-pill-error{background:#FDECEC!important;color:var(--ux-error)!important;border-color:#F4C6C6!important;}
.ba,.v123-pill-warn{background:#FFF5DE!important;color:var(--ux-warning)!important;border-color:#ECD49E!important;}
.baz,.v123-pill-info{background:#EAF6FA!important;color:var(--ux-info)!important;border-color:#CAE4ED!important;}
.tbl th{background:#F1F5F8!important;color:var(--ux-muted)!important;border-bottom:1px solid var(--ux-border)!important;}
.tbl td{border-bottom:1px solid #E9EEF3!important;color:var(--ux-text)!important;}
.prof-logout,.v123-side-logout{margin:10px 12px!important;padding:11px 13px!important;border:1px solid #F4C6C6!important;background:#fff!important;color:var(--ux-error)!important;border-radius:10px!important;font-weight:900!important;cursor:pointer!important;text-align:left!important;}
.prof-user-footer{background:#F8FAFC!important;border:1px solid var(--ux-border)!important;}
.prof-avatar,.v123-school-avatar{background:var(--ux-primary-light)!important;color:var(--ux-primary-dark)!important;border-radius:10px!important;font-weight:950!important;}
.v123-inline-muted{color:var(--ux-muted)!important;font-size:12px!important;}
.v123-ticket{background:#fff!important;border:1px solid var(--ux-border)!important;border-left:4px solid var(--ux-info)!important;border-radius:12px!important;padding:12px!important;display:flex!important;gap:12px!important;align-items:flex-start!important;}
.v123-ticket b{display:block!important;color:var(--ux-text)!important;}
.v123-ticket span{color:var(--ux-muted)!important;font-size:12px!important;}
.rep-card{border:1px solid var(--ux-border)!important;border-radius:14px!important;box-shadow:var(--ux-shadow)!important;min-height:150px!important;}
.rep-section-title h3{color:var(--ux-text)!important;}
.rep-badge{background:#F4F7FA!important;color:var(--ux-muted)!important;border-color:var(--ux-border)!important;}
@media(max-width:900px){.login-box{grid-template-columns:1fr!important}.login-brand-panel,.login-side,.login-form-panel,.login-main{padding:34px!important}.v123-header-actions{flex-wrap:wrap}.top{height:auto!important;min-height:60px!important}}


/* ============================================================
   V1.2.3.1 · UX Layout Hotfix
   Regla crítica: el login nunca aparece dentro del sistema autenticado.
   Paleta accesible obligatoria.
   ============================================================ */
:root{
  --ux-primary-light:#DCEBF9!important;
  --ux-primary:#1E6FA8!important;
  --ux-primary-dark:#123F5C!important;
  --ux-secondary-light:#D7F0EA!important;
  --ux-secondary:#1F8F76!important;
  --ux-bg:#F7F8F9!important;
  --ux-border:#DEE2E6!important;
  --ux-muted:#5B6472!important;
  --ux-text:#1F2530!important;
  --ux-success:#2E9E4F!important;
  --ux-warning:#C98A12!important;
  --ux-error:#CC3B3B!important;
  --ux-info:#2A8FB0!important;
}
body.es360-authenticated #login-wrap{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;min-height:0!important;overflow:hidden!important;pointer-events:none!important;padding:0!important;margin:0!important;}
body.es360-authenticated #app{display:block!important;visibility:visible!important;opacity:1!important;}
body.es360-login #app{display:none!important;visibility:hidden!important;}
body.es360-login #login-wrap{display:flex!important;visibility:visible!important;opacity:1!important;min-height:100vh!important;}
#login-wrap.v1231-hidden{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;min-height:0!important;overflow:hidden!important;}
#app.v1231-visible{display:block!important;visibility:visible!important;opacity:1!important;}
/* Login público limpio, sin tarjetas decorativas ni bloque oscuro */
body.es360-login #login-wrap{background:linear-gradient(180deg,#F7F8F9 0%,#EEF4F8 100%)!important;align-items:center!important;justify-content:center!important;padding:28px!important;}
body.es360-login .login-box{width:min(980px,94vw)!important;display:grid!important;grid-template-columns:minmax(0,1fr) 410px!important;background:#FFFFFF!important;border:1px solid var(--ux-border)!important;border-radius:18px!important;box-shadow:0 18px 46px rgba(18,63,92,.10)!important;overflow:hidden!important;}
body.es360-login .login-brand-panel,body.es360-login .login-side{background:#FFFFFF!important;color:var(--ux-text)!important;padding:48px!important;border-right:1px solid var(--ux-border)!important;}
body.es360-login .login-headline,body.es360-login .login-admin-title{color:var(--ux-text)!important;font-weight:950!important;font-size:clamp(30px,3.2vw,44px)!important;line-height:1.08!important;letter-spacing:-.055em!important;}
body.es360-login .login-copy,body.es360-login .login-admin-copy{color:var(--ux-muted)!important;font-size:15.5px!important;line-height:1.65!important;}
body.es360-login .login-kicker,body.es360-login .login-badge{color:var(--ux-primary)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.12em!important;text-transform:uppercase!important;}
body.es360-login .login-proof-grid,body.es360-login .login-proof{display:none!important;}
body.es360-login .login-form-panel,body.es360-login .login-main{padding:48px!important;background:#FFFFFF!important;display:flex!important;flex-direction:column!important;justify-content:center!important;}
body.es360-login .login-form-panel button,body.es360-login .login-main button{background:var(--ux-primary)!important;border-color:var(--ux-primary)!important;color:#FFFFFF!important;}
body.es360-login .login-form-panel button:hover,body.es360-login .login-main button:hover{background:var(--ux-primary-dark)!important;}
/* Acciones obligatorias de sesión */
.v1231-header-actions{display:flex!important;gap:8px!important;align-items:center!important;margin-left:auto!important;}
.v1231-top-btn{height:36px!important;border:1px solid var(--ux-border)!important;background:#FFFFFF!important;color:var(--ux-primary-dark)!important;border-radius:10px!important;padding:0 12px!important;font-size:12.5px!important;font-weight:900!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;}
.v1231-top-btn:hover{background:var(--ux-primary-light)!important;border-color:#B8D4E8!important;}
.v1231-logout{background:var(--ux-primary-dark)!important;color:#FFFFFF!important;border-color:var(--ux-primary-dark)!important;}
.v1231-logout:hover{background:#0C3047!important;color:#FFFFFF!important;}
.v1231-side-logout{margin:12px!important;padding:11px 13px!important;border:1px solid #F4C6C6!important;background:#FFFFFF!important;color:var(--ux-error)!important;border-radius:10px!important;font-weight:950!important;cursor:pointer!important;text-align:left!important;}
.v1231-side-logout:hover{background:#FDECEC!important;}
/* Estados y texto claro */
.v1231-school-avatar{min-width:38px;height:38px;border-radius:10px;background:var(--ux-primary-light)!important;color:var(--ux-primary-dark)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;font-weight:950!important;margin-right:10px!important;}
.v1231-data-missing{color:var(--ux-muted)!important;font-style:normal!important;}
.v1231-pill-ok{background:#EAF7EF!important;color:var(--ux-success)!important;border:1px solid #C8EBD4!important;border-radius:999px!important;padding:4px 9px!important;font-weight:900!important;}
.v1231-pill-warn{background:#FFF5DE!important;color:var(--ux-warning)!important;border:1px solid #ECD49E!important;border-radius:999px!important;padding:4px 9px!important;font-weight:900!important;}
.v1231-pill-error{background:#FDECEC!important;color:var(--ux-error)!important;border:1px solid #F4C6C6!important;border-radius:999px!important;padding:4px 9px!important;font-weight:900!important;}
/* Botones de reporte claros */
.rep-card-actions .btn:first-child,.v210-card .btn:first-child{background:var(--ux-primary-dark)!important;color:#fff!important;border-color:var(--ux-primary-dark)!important;}
.rep-card-actions .btn:nth-child(2),.v210-card .btn:nth-child(2){background:#fff!important;color:var(--ux-primary-dark)!important;border:1px solid #C9D4DF!important;}
@media(max-width:900px){body.es360-login .login-box{grid-template-columns:1fr!important}.v1231-header-actions{flex-wrap:wrap!important}.v1231-top-btn{height:34px!important}}


/* ============================================================
   V1.2.3.2 · UX FINAL HOTFIX CSS
   Paleta Claude aplicada sin romper layout.
   ============================================================ */
:root{
  --ux-primary-light:#DCEBF9!important;
  --ux-primary:#1E6FA8!important;
  --ux-primary-dark:#123F5C!important;
  --ux-secondary-light:#D7F0EA!important;
  --ux-secondary:#1F8F76!important;
  --ux-bg:#F7F8F9!important;
  --ux-border:#DEE2E6!important;
  --ux-muted:#5B6472!important;
  --ux-text:#1F2530!important;
  --ux-success:#2E9E4F!important;
  --ux-warning:#C98A12!important;
  --ux-error:#CC3B3B!important;
  --ux-info:#2A8FB0!important;
}
body{background:var(--ux-bg)!important;color:var(--ux-text)!important;}
body.es360-authenticated #login-wrap,#login-wrap.ux-final-hidden{display:none!important;visibility:hidden!important;opacity:0!important;height:0!important;min-height:0!important;overflow:hidden!important;pointer-events:none!important;padding:0!important;margin:0!important;}
body.es360-authenticated #app,#app.ux-final-visible{display:block!important;visibility:visible!important;opacity:1!important;}
body.es360-login #app{display:none!important;}
body.es360-login #login-wrap{display:flex!important;min-height:100vh!important;background:var(--ux-bg)!important;align-items:center!important;justify-content:center!important;padding:28px!important;}
body.es360-login .login-box{width:min(980px,94vw)!important;background:#fff!important;border:1px solid var(--ux-border)!important;border-radius:18px!important;box-shadow:0 18px 44px rgba(18,63,92,.10)!important;overflow:hidden!important;}
body.es360-login .login-brand-panel,body.es360-login .login-side{background:#fff!important;color:var(--ux-text)!important;border-right:1px solid var(--ux-border)!important;}
body.es360-login .login-headline,body.es360-login .login-admin-title{color:var(--ux-text)!important;}
body.es360-login .login-copy,body.es360-login .login-admin-copy,.ps,.tb-bc{color:var(--ux-muted)!important;}
body.es360-login .login-kicker,body.es360-login .login-badge{color:var(--ux-primary)!important;}
.topbar,.top{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;background:#fff!important;border-bottom:1px solid var(--ux-border)!important;box-shadow:none!important;}
.tb-left{display:flex!important;align-items:center!important;gap:8px!important;min-width:0!important;flex:1 1 auto!important;white-space:nowrap!important;overflow:hidden!important;}
.tb-title{color:var(--ux-text)!important;font-weight:900!important;overflow:hidden!important;text-overflow:ellipsis!important;}
.tb-right{display:flex!important;align-items:center!important;gap:8px!important;margin-left:auto!important;flex:0 0 auto!important;white-space:nowrap!important;}
#tb-fecha{color:var(--ux-muted)!important;margin-right:6px!important;}
.ux-top-btn{height:36px!important;border:1px solid var(--ux-border)!important;background:#fff!important;color:var(--ux-primary-dark)!important;border-radius:10px!important;padding:0 12px!important;font-size:12.5px!important;font-weight:900!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;cursor:pointer!important;white-space:nowrap!important;}
.ux-top-btn:hover{background:var(--ux-primary-light)!important;border-color:#B8D4E8!important;}
.ux-top-btn.ux-logout{background:var(--ux-primary-dark)!important;color:#fff!important;border-color:var(--ux-primary-dark)!important;}
.ux-sidebar-logout{width:calc(100% - 24px)!important;margin:10px 12px 0!important;padding:11px 13px!important;border:1px solid #F1C5C5!important;background:#fff!important;color:var(--ux-error)!important;border-radius:10px!important;font-weight:950!important;text-align:left!important;cursor:pointer!important;}
.ux-sidebar-logout:hover{background:#FDECEC!important;}
.ux-inline-logout{color:var(--ux-error)!important;font-weight:900!important;font-size:12px!important;cursor:pointer!important;}
.v1231-header-actions,.v123-header-actions,#v1231-app-actions,#v123-header-actions,#v123-sa-actions{display:none!important;}
.card,.sc,.v210-card,.rep-card{background:#fff!important;border:1px solid var(--ux-border)!important;border-radius:14px!important;box-shadow:0 10px 26px rgba(31,37,48,.06)!important;}
.btn.btn-v,.btn-p,.saas-btn-light,#btn-nuevo{background:var(--ux-primary-dark)!important;border-color:var(--ux-primary-dark)!important;color:#fff!important;}
.btn.btn-o,.saas-btn-ghost{background:#fff!important;border:1px solid #C9D4DF!important;color:var(--ux-primary-dark)!important;}
.mi.on,.mi.active{background:var(--ux-primary-light)!important;color:var(--ux-primary-dark)!important;border-left-color:var(--ux-primary)!important;}
.tag,.badge,.v210-chip,.rep-badge{border-radius:999px!important;border:1px solid var(--ux-border)!important;background:#F8FAFC!important;color:var(--ux-muted)!important;}
@media(max-width:900px){.topbar,.top{flex-wrap:wrap!important;height:auto!important;padding:10px!important}.tb-left,.tb-right{width:100%!important}.tb-right{justify-content:flex-start!important}body.es360-login .login-box{grid-template-columns:1fr!important}}
