﻿/* SAT Login v7.6.2 - encabezado original restaurado */
:root{--navy:#092b55;--navy2:#063a78;--blue:#0879de;--teal:#08b5b4;--muted:#63748d;--border:#dce7f2;--light:#f6faff;--shadow:0 18px 46px rgba(18,59,98,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;min-height:100%;font-family:"Segoe UI",Arial,sans-serif;color:var(--navy);background:#fff}body{overflow-x:hidden}a{color:inherit}.sat-page{min-height:100vh;background:linear-gradient(180deg,#fbfdff 0,#fff 55%)}
.sat-header{height:82px;width:min(1440px,calc(100% - 72px));margin:auto;display:flex;align-items:center;border-bottom:1px solid #edf2f7;position:relative;z-index:20}.sat-logo{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:220px}.sat-logo-symbol{width:53px;height:53px;position:relative;display:block;transform:rotate(30deg)}.sat-logo-symbol span{position:absolute;inset:0;border:8px solid var(--teal);border-radius:12px;clip-path:polygon(0 0,100% 0,100% 43%,28% 43%,28% 72%,100% 72%,100% 100%,0 100%)}.sat-logo-symbol span:nth-child(2){inset:9px;border-color:#058dca;transform:rotate(120deg)}.sat-logo-symbol span:nth-child(3){inset:18px;border-color:#0a4c91;transform:rotate(240deg)}.sat-logo-text{font-size:42px;line-height:1;font-weight:900;letter-spacing:1px}.sat-nav{display:flex;align-items:center;justify-content:center;gap:45px;flex:1;height:100%}.sat-nav a{height:100%;display:flex;align-items:center;position:relative;text-decoration:none;font-size:14px;font-weight:600}.sat-nav a.active,.sat-nav a:hover{color:var(--teal)}.sat-nav a.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:14px;background:var(--teal)}.sat-header-actions{min-width:300px;display:flex;align-items:center;justify-content:flex-end;gap:18px;font-size:12px;font-weight:600}.sat-help{white-space:nowrap}.sat-contact-button{padding:11px 17px;border:1px solid #81cce2;border-radius:9px;text-decoration:none;background:#f7fdff}.sat-menu-button{display:none;border:0;background:transparent;font-size:27px;color:var(--navy)}
.sat-hero-section{position:relative;min-height:550px;padding:42px max(36px,calc((100vw - 1440px)/2)) 44px;display:grid;grid-template-columns:minmax(360px,.9fr) minmax(500px,1.3fr) 360px;gap:18px;align-items:center;overflow:hidden;background:radial-gradient(circle at 72% 30%,rgba(56,150,246,.14),transparent 29%),linear-gradient(125deg,#fff 0,#f9fcff 58%,#eaf8ff 100%)}.sat-hero-section:after{content:"";position:absolute;width:540px;height:540px;right:-260px;bottom:-220px;border-radius:50%;border:1px solid rgba(8,181,180,.2);box-shadow:0 0 0 45px rgba(8,181,180,.035),0 0 0 95px rgba(8,121,222,.025)}.sat-hero-copy{z-index:2;align-self:center}.sat-kicker{display:inline-flex;padding:7px 14px;border-radius:999px;background:#eaf4fc;font-size:12px;font-weight:700}.sat-hero-copy h1{margin:17px 0 2px;font-size:clamp(72px,7vw,110px);line-height:.92;letter-spacing:-5px;color:var(--navy)}.sat-hero-copy h2{max-width:570px;margin:12px 0 16px;font-size:clamp(30px,3vw,47px);line-height:1.06;letter-spacing:-1.8px}.sat-hero-copy h2 span{color:var(--teal)}.sat-hero-copy>p{max-width:545px;margin:0;font-size:15px;line-height:1.65;color:#4f6480}.sat-hero-buttons{display:flex;gap:12px;margin:27px 0}.sat-button{min-height:47px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;border-radius:9px;text-decoration:none;font-size:13px;font-weight:750}.sat-button-primary{background:linear-gradient(90deg,#073d7f,#0864c3);color:#fff;box-shadow:0 11px 25px rgba(5,77,151,.18)}.sat-button-outline{border:1px solid #257bbd;background:#fff}.sat-trust-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px;padding-top:22px;border-top:1px solid #e8eef5}.sat-trust-row>div{display:flex;gap:9px;align-items:flex-start}.sat-trust-row b{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:#e9fbfb;color:var(--teal)}.sat-trust-row span{display:flex;flex-direction:column;font-size:10px;line-height:1.4;color:#64748b}.sat-trust-row strong{color:var(--navy);font-size:10px;margin-bottom:3px}
.sat-product-stage{z-index:1;position:relative;min-height:425px;display:flex;align-items:center;justify-content:center}.sat-laptop{position:relative;width:610px;height:370px}.sat-laptop:before{content:"";position:absolute;inset:0 15px 34px;border:12px solid #151515;border-bottom-width:18px;border-radius:18px 18px 5px 5px;background:#fff;box-shadow:0 23px 40px rgba(15,45,78,.22)}.sat-laptop-camera{position:absolute;z-index:3;top:6px;left:50%;width:6px;height:6px;border-radius:50%;background:#343434}.sat-dashboard{position:absolute;z-index:2;inset:12px 27px 52px;display:grid;grid-template-columns:92px 1fr;background:#f7f9fc;overflow:hidden}.sat-preview-sidebar{padding:12px 9px;background:#fff;border-right:1px solid #e6edf4;display:flex;flex-direction:column;gap:15px;font-size:7px;color:#6c8097}.sat-preview-brand{display:flex;align-items:center;gap:4px;color:var(--navy);font-size:12px;margin-bottom:5px}.sat-preview-brand i,.sat-mobile-brand i{width:15px;height:15px;border:4px solid var(--teal);transform:rotate(30deg);border-radius:4px}.sat-preview-content{padding:13px}.sat-preview-top{display:flex;flex-direction:column;font-size:12px}.sat-preview-top small{font-size:7px;color:#8090a3;margin-top:2px}.sat-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:13px 0}.sat-kpis div{padding:10px;border-radius:7px;background:#fff;box-shadow:0 2px 6px rgba(41,74,108,.08);display:flex;flex-direction:column}.sat-kpis small{font-size:6px;color:#6e8095}.sat-kpis strong{font-size:13px;margin:4px 0}.sat-kpis em{font-style:normal;font-size:6px;color:#16a66a}.sat-chart-card{height:132px;padding:9px;background:#fff;border-radius:7px;box-shadow:0 2px 7px rgba(41,74,108,.08)}.sat-chart-card>div{display:flex;justify-content:space-between;font-size:7px}.sat-chart-card svg{width:100%;height:94px}.sat-line{fill:none;stroke:#0aa9c0;stroke-width:3}.sat-area{fill:url(#fillLine)}.sat-preview-list{margin-top:8px;padding:5px 8px;background:#fff;border-radius:7px}.sat-preview-list>div{height:28px;display:flex;align-items:center;border-bottom:1px solid #edf2f6;font-size:6px}.sat-preview-list i{width:8px;height:8px;border-radius:50%;margin-right:7px}.sat-preview-list i.green{background:#25b978}.sat-preview-list i.blue{background:#2a83dc}.sat-preview-list span{display:flex;flex-direction:column;flex:1}.sat-preview-list small{color:#8997a8}.sat-preview-list time{color:#8997a8}.sat-laptop-base{position:absolute;left:0;right:0;bottom:20px;height:18px;background:linear-gradient(#cbd2d8,#e7eaed);clip-path:polygon(5% 0,95% 0,100% 75%,92% 100%,8% 100%,0 75%);filter:drop-shadow(0 9px 7px rgba(0,0,0,.18))}.sat-phone{position:absolute;z-index:4;left:5px;bottom:22px;width:126px;height:260px;padding:9px;border:7px solid #171717;border-radius:23px;background:#fff;box-shadow:0 17px 25px rgba(15,45,78,.26)}.sat-phone-top{position:absolute;top:3px;left:43px;width:38px;height:5px;border-radius:5px;background:#222}.sat-mobile-screen{padding-top:10px}.sat-mobile-brand{display:flex;align-items:center;gap:4px;font-size:9px}.sat-mobile-brand span{margin-left:auto}.sat-mobile-screen h4{margin:13px 0 1px;font-size:10px}.sat-mobile-screen>small{font-size:6px;color:#718198}.sat-mobile-kpi{margin-top:8px;padding:7px;border-radius:6px;display:flex;flex-direction:column}.sat-mobile-kpi span{font-size:6px}.sat-mobile-kpi b{font-size:9px;margin-top:3px}.sat-mobile-kpi.mint{background:#e8faf7;color:#098677}.sat-mobile-kpi.orange{background:#fff2e7;color:#d96812}.sat-mobile-kpi.purple{background:#f2eefe;color:#7652c7}.sat-mini-bars{height:36px;margin-top:10px;display:flex;align-items:end;gap:5px;padding:5px;background:#fafcff}.sat-mini-bars i{flex:1;background:#12b8b6;border-radius:2px 2px 0 0}.sat-mini-bars i:nth-child(1){height:10px}.sat-mini-bars i:nth-child(2){height:25px}.sat-mini-bars i:nth-child(3){height:17px}.sat-mini-bars i:nth-child(4){height:31px}.sat-mini-bars i:nth-child(5){height:21px}.sat-mini-bars i:nth-child(6){height:28px}
.sat-login-card{z-index:5;position:relative;width:100%;padding:27px 28px 23px;border:1px solid rgba(255,255,255,.9);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 22px 50px rgba(20,65,104,.17)}.sat-login-lock{width:50px;height:50px;margin:0 auto 13px;border-radius:50%;display:grid;place-items:center;background:#e7f8fa;color:#0c9cad;font-size:22px}.sat-login-card h3{text-align:center;margin:0;font-size:20px}.sat-login-card>p{text-align:center;margin:6px 0 22px;color:#65768c;font-size:12px}.sat-field{margin-bottom:13px}.sat-field label,.sat-captcha>span{display:block;margin-bottom:6px;font-size:11px;font-weight:700}.sat-field-wrap{position:relative}.sat-field-wrap>span{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:#627994}.sat-input{width:100%;height:44px;padding:9px 12px 9px 39px;border:1px solid #cdd9e5;border-radius:8px;background:#fff;font:inherit;font-size:12px;color:var(--navy);outline:0}.sat-input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(8,181,180,.1)}.sat-captcha{margin:14px 0}.sat-captcha-row{display:grid;grid-template-columns:115px 1fr;gap:8px}.sat-captcha-question{height:42px;display:flex;align-items:center;justify-content:center;border:1px solid #d7e2ed;border-radius:8px;background:#f7fafc;font-weight:800;color:#1266aa}.sat-captcha-input{padding-left:12px}.sat-login-button{width:100%;height:46px;border:0;border-radius:8px;background:linear-gradient(90deg,#07559e,#08b6bb);color:#fff;font-size:13px;font-weight:800;cursor:pointer}.sat-login-links{display:flex;justify-content:space-between;gap:10px;margin-top:13px}.sat-login-links a{font-size:10px;text-decoration:none;color:#0b68b4}.sat-login-footer{margin-top:17px;padding-top:14px;border-top:1px solid #e8eef4;text-align:center;color:#77879a;font-size:10px}.sat-error{display:block;margin:0 0 10px;color:#c62828;text-align:center;font-size:11px;font-weight:700}
/* SAT logo oficial */
.sat-logo {
    min-width: 210px;
    gap: 0;
}
.sat-logo-image {
    display: block;
    width: 172px;
    height: 68px;
    object-fit: contain;
    object-position: left center;
}

/* Versión comercial limpia */
.sat-modules {
    padding-top: 38px;
    padding-bottom: 28px;
}
.sat-module-grid article {
    transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.sat-module-grid article:hover {
    transform: translateY(-4px);
    border-color: #bfd9ee;
    box-shadow: 0 14px 28px rgba(32,72,110,.12);
}
.sat-benefits {
    margin-top: 8px;
    margin-bottom: 42px;
}
.sat-preview-brand,
.sat-mobile-brand {
    color: var(--navy);
    font-weight: 900;
}
.sat-preview-brand i,
.sat-mobile-brand i {
    display: none;
}

@media(max-width:760px) {
    .sat-logo-image {
        width: 132px;
        height: 54px;
    }
    .sat-logo {
        min-width: auto;
    }
}


/* Ajustes solicitados: identidad SAT Costa Rica */
body {
    background: #e9f3f8;
}
.sat-page {
    background: linear-gradient(180deg, #f5f9fc 0%, #edf6fa 52%, #f7fbfd 100%);
}
.sat-hero-section {
    background:
        radial-gradient(circle at 72% 28%, rgba(6, 116, 154, .18), transparent 31%),
        radial-gradient(circle at 97% 78%, rgba(10, 184, 183, .12), transparent 32%),
        linear-gradient(125deg, #f7fafc 0%, #eef6fa 55%, #dceff6 100%);
}
.sat-word { font-weight: 850; }
.sat-word-1 { color: #087f8c; }
.sat-word-2 { color: #08a7a7; }
.sat-word-3 {
    color: #207388;
}
.sat-word-4 { color: #05b8b2; }

.sat-whatsapp-button {
    min-height: 39px;
    padding: 0 14px;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    border: 1px solid #83d7c3;
    border-radius: 9px;
    background: #f2fffb;
    color: #087d66;
    text-decoration: none;
    font-weight: 800;
    white-space: nowrap;
}
.sat-whatsapp-button:hover { background: #e3faf3; }
.sat-whatsapp-icon {
    width: 18px;
    height: 18px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: #22c77a;
    color: #fff;
    font-size: 8px;
}

.sat-login-brand {
    width: 124px;
    height: 92px;
    margin: -5px auto 5px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.sat-login-brand img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.sat-field-icon {
    width: 19px;
    height: 19px;
    display: block;
    color: #087f8c !important;
}
.sat-field-icon svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.sat-login-footer strong {
    color: #0a5675;
    font-size: 11px;
}

@media(max-width:1250px) {
    .sat-header-actions { gap: 9px; }
    .sat-whatsapp-button { padding: 0 10px; }
}
@media(max-width:1020px) {
    .sat-whatsapp-button { display: none; }
}
@media(max-width:760px) {
    .sat-hero-copy h2 { line-height: 1.12; }
    .sat-login-brand { width: 108px; height: 80px; }
}

/* =========================================================
   Ajuste final solicitado: degradados por palabra y WhatsApp flotante
   No modifica textos ni la lógica del formulario.
   ========================================================= */
.sat-word {
    display: inline-block;
    color: transparent !important;
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    font-weight: 850;
}

.sat-word-1 {
    background-image: linear-gradient(105deg, #13a7a9 0%, #0491a5 52%, #087a97 100%);
}
.sat-word-2 {
    background-image: linear-gradient(105deg, #0ab5b2 0%, #079ba5 48%, #087c96 100%);
}
.sat-word-3 {
    background-image: linear-gradient(105deg, #079ca8 0%, #087f99 52%, #075f82 100%);
}
.sat-word-4 {
    background-image: linear-gradient(105deg, #10b9b2 0%, #0899a8 48%, #08728f 100%);
    display: inline-block;
    line-height: 1.2;
    padding-bottom: 10px;
    margin-bottom: -10px;
    overflow: visible;
    vertical-align: bottom;
}

@media(max-width:1250px){
 .sat-hero-section{grid-template-columns:minmax(330px,.9fr) minmax(430px,1.2fr) 330px;padding-left:25px;padding-right:25px}
 .sat-laptop{transform:scale(.82)}
}
@media(max-width:1020px){
 .sat-hero-section{grid-template-columns:1fr 390px;padding-top:35px}
 .sat-product-stage{grid-column:1/-1;grid-row:2}
 .sat-login-card{grid-column:2;grid-row:1}
 .sat-trust-row{max-width:600px}
}
@media(max-width:760px){
 .sat-hero-section{display:flex;flex-direction:column;padding:27px 15px 35px;text-align:center}
 .sat-hero-copy h1{font-size:73px}
 .sat-hero-copy h2{font-size:31px;line-height:1.12}
 .sat-trust-row{grid-template-columns:1fr;text-align:left}
 .sat-product-stage{width:100%;min-height:310px;overflow:hidden}
 .sat-laptop{transform:scale(.58)}
 .sat-phone{left:calc(50% - 180px);transform:scale(.8)}
 .sat-login-card{max-width:450px;margin:auto;text-align:left}
 .sat-login-brand{width:108px;height:80px}
}


/* Entrada del encabezado original */
.sat-hero-copy .sat-kicker,.sat-hero-copy h1,.sat-hero-copy h2,.sat-hero-copy>p,.sat-trust-row,.sat-product-stage,.sat-hero-section>.sat-login-card{opacity:0;transform:translateY(22px);animation:satOldHeroIn .65s ease forwards}
.sat-hero-copy .sat-kicker{animation-delay:.05s}.sat-hero-copy h1{animation-delay:.14s}.sat-hero-copy h2{animation-delay:.24s}.sat-hero-copy>p{animation-delay:.36s}.sat-trust-row{animation-delay:.46s}.sat-product-stage{animation-delay:.24s}.sat-hero-section>.sat-login-card{animation-delay:.34s}
@keyframes satOldHeroIn{to{opacity:1;transform:translateY(0)}}

/* =========================================================
   TITULOS DE SECCION
   ========================================================= */
.sat-section-heading {
    max-width: 850px;
    margin: 0 auto 32px;
    text-align: center;
}

.sat-section-heading > span {
    color: #0a8e93;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.13em;
}

.sat-section-heading h2 {
    margin: 10px 0 9px;
    color: var(--sat-navy);
    font-size: clamp(28px, 3.2vw, 42px);
    line-height: 1.15;
    letter-spacing: -1.3px;
}

.sat-section-heading p {
    margin: 0;
    color: var(--sat-muted);
    font-size: 13px;
    line-height: 1.6;
}

/* =========================================================
   MODULOS - COLORES IDENTICOS A LA SELECCION DE MODULOS
   ========================================================= */
.sat-solutions {
    padding: 86px 24px 74px;
    background: #ffffff;
}

.sat-module-row {
    width: min(1380px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 16px;
}

.sat-module-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e0e7ef;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 13px 29px rgba(26, 53, 82, 0.09);
    transition: transform 0.22s ease, box-shadow 0.22s ease;
}

.sat-module-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 18px 38px rgba(26, 53, 82, 0.14);
}

.sat-module-top {
    height: 92px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sat-module-top span {
    width: 54px;
    height: 54px;
    display: grid;
    place-items: center;
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.16);
    color: #ffffff;
    font-size: 25px;
}

.sat-module-body {
    min-height: 146px;
    padding: 17px 16px 20px;
    text-align: center;
}

.sat-module-body h3 {
    margin: 0 0 13px;
    font-size: 13px;
    line-height: 1.35;
}

.sat-module-body p {
    margin: 0;
    color: #6b788b;
    font-size: 10px;
    line-height: 1.55;
}

.module-sat .sat-module-top {
    background: var(--module-sat);
}

.module-sat h3 {
    color: #008a96;
}

.module-rrhh .sat-module-top {
    background: var(--module-rrhh);
}

.module-rrhh h3 {
    color: var(--module-rrhh);
}

.module-cobranzas .sat-module-top {
    background: var(--module-cobranzas);
}

.module-cobranzas h3 {
    color: var(--module-cobranzas);
}

.module-facturacion .sat-module-top {
    background: var(--module-facturacion);
}

.module-facturacion h3 {
    color: var(--module-facturacion);
}

.module-inventarios .sat-module-top {
    background: var(--module-inventarios);
}

.module-inventarios h3 {
    color: var(--module-inventarios);
}

/* =========================================================
   FUNCIONALIDADES
   ========================================================= */
.sat-features {
    padding: 82px 24px 88px;
    background:
        radial-gradient(circle at 90% 15%, rgba(16, 180, 190, 0.04), transparent 30%),
        #f7f9fc;
}

.sat-feature-groups {
    width: min(1320px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 54px 68px;
}

.sat-feature-group h3 {
    margin: 0 0 16px;
    color: var(--sat-navy);
    font-size: 25px;
    font-weight: 650;
    letter-spacing: -0.5px;
}

.sat-feature-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.sat-feature-grid article {
    min-width: 0;
    min-height: 132px;
    padding: 15px 9px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    border: 1px solid #edf0f4;
    border-radius: 13px;
    background: #ffffff;
    text-align: center;
    box-shadow: 0 12px 26px rgba(28, 52, 78, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.sat-feature-grid article:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 32px rgba(28, 52, 78, 0.12);
}

.sat-feature-grid article > span {
    margin-bottom: 9px;
    font-size: 26px;
}

.sat-feature-grid strong {
    color: #07549b;
    font-size: 11px;
    line-height: 1.3;
}

.sat-feature-grid small {
    margin-top: 4px;
    color: #788599;
    font-size: 9px;
    line-height: 1.35;
}

.inventory-accent strong,
.inventory-accent article > span {
    color: #bc6500;
}

.rrhh-accent strong,
.rrhh-accent article > span {
    color: #366c5d;
}

.billing-accent strong,
.billing-accent article > span {
    color: #6b35c8;
}

/* =========================================================
   BENEFICIOS
   ========================================================= */
.sat-benefits {
    width: min(1260px, calc(100% - 48px));
    margin: 0 auto 76px;
    padding: 26px 31px;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 26px;
    border: 1px solid #e0e8f0;
    border-radius: 18px;
    background: linear-gradient(115deg, #edf6ff 0%, #edfafa 100%);
}

.sat-benefit {
    display: flex;
    flex-direction: column;
}

.sat-benefit strong {
    margin-bottom: 5px;
    color: var(--sat-navy);
    font-size: 14px;
}

.sat-benefit span {
    color: var(--sat-muted);
    font-size: 11px;
    line-height: 1.5;
}

/* =========================================================
   FOOTER
   ========================================================= */
.sat-footer {
    min-height: 88px;
    padding: 14px max(24px, calc((100vw - 1320px) / 2));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid #e2e8ef;
    background: #ffffff;
    color: #77869a;
    font-size: 10px;
}

.sat-footer a {
    width: 105px;
    height: 54px;
    overflow: hidden;
}

.sat-footer img {
    width: 105px !important;
    height: 54px !important;
    max-width: 105px !important;
    max-height: 54px !important;
    object-fit: contain !important;
}

/* =========================================================
   ANIMACIONES
   ========================================================= */
.sat-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.65s ease, transform 0.65s ease;
}

.sat-reveal.sat-visible {
    opacity: 1;
    transform: none;
}

@keyframes satFloat {
    0%, 100% {
        transform: translate3d(0, 0, 0);
    }

    50% {
        transform: translate3d(0, 20px, 0);
    }
}

/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1120px) {
    .sat-header-inner {
        width: calc(100% - 32px);
    }

    .sat-hero-inner {
        width: calc(100% - 40px);
        grid-template-columns: minmax(0, 1fr) 360px;
        gap: 38px;
    }

    .sat-hero h1 {
        font-size: 50px;
    }

    .sat-module-row {
        grid-template-columns: repeat(3, 1fr);
    }

    .sat-feature-groups {
        grid-template-columns: 1fr;
    }

    .sat-feature-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* =========================================================
   MOVIL - LAYER 2 / TARJETAS
   ========================================================= */
@media (max-width: 760px) {
    .sat-header {
        height: 66px;
    }

    .sat-header-inner {
        width: calc(100% - 24px);
        gap: 10px;
    }

    .sat-brand {
        width: 112px;
        height: 50px;
        flex-basis: 112px;
    }

    .sat-brand img {
        width: 112px !important;
        height: 50px !important;
        max-width: 112px !important;
        max-height: 50px !important;
    }

    .sat-nav {
        display: none;
    }

    .sat-header-login {
        margin-left: auto;
        min-width: auto;
        padding: 9px 12px;
        font-size: 11px;
    }

    .sat-hero-inner {
        width: calc(100% - 28px);
        min-height: auto;
        padding: 44px 0 58px;
        display: flex;
        flex-direction: column;
        gap: 36px;
    }

    .sat-hero-copy {
        text-align: center;
    }

    .sat-eyebrow {
        font-size: 9px;
    }

    .sat-hero h1 {
        margin-top: 16px;
        font-size: 41px;
        line-height: 1.06;
        letter-spacing: -1.8px;
    }

    .sat-lead {
        font-size: 14px;
    }

    .sat-hero-points {
        justify-content: center;
    }

    .sat-login-card {
        width: 100%;
        max-width: 440px;
        padding: 24px 20px 22px;
    }

    .sat-login-brand {
        width: 104px;
        height: 64px;
    }

    .sat-login-brand img {
        width: 104px !important;
        height: 64px !important;
        max-width: 104px !important;
        max-height: 64px !important;
    }

    .sat-solutions,
    .sat-features {
        padding-left: 14px;
        padding-right: 14px;
    }

    .sat-section-heading {
        margin-bottom: 24px;
    }

    .sat-section-heading h2 {
        font-size: 28px;
    }

    .sat-module-row {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .sat-module-top {
        height: 74px;
    }

    .sat-module-top span {
        width: 47px;
        height: 47px;
        border-radius: 14px;
        font-size: 21px;
    }

    .sat-module-body {
        min-height: 132px;
        padding: 14px 10px 17px;
    }

    .sat-module-body h3 {
        font-size: 11px;
    }

    .sat-module-body p {
        font-size: 9px;
    }

    .sat-feature-group h3 {
        text-align: center;
        font-size: 23px;
    }

    .sat-feature-grid {
        grid-template-columns: 1fr 1fr;
        gap: 10px;
    }

    .sat-feature-grid article {
        min-height: 120px;
    }

    .sat-benefits {
        width: calc(100% - 28px);
        grid-template-columns: 1fr;
        margin-bottom: 48px;
        padding: 22px;
    }

    .sat-footer {
        flex-direction: column;
        justify-content: center;
        text-align: center;
    }
}

@media (max-width: 420px) {
    .sat-module-row {
        grid-template-columns: 1fr;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    .sat-bg-shape {
        animation: none;
    }

    .sat-reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }

    .sat-module-card,
    .sat-feature-grid article,
    .sat-primary-link {
        transition: none;
    }
}

/* =========================================================
   SAT LOGIN v7.2
   Funcionalidades por modulo + innovacion + entrada animada
   ========================================================= */

/* El bloque antiguo de tarjetas de modulos fue retirado del ASPX. */

/* Entrada del hero */
.sat-hero-copy {
    animation: satHeroCopyIn .72s cubic-bezier(.22,.8,.32,1) both;
}

.sat-eyebrow {
    animation: satHeroEyebrowIn .58s ease-out .08s both;
}

.sat-hero-title {
    overflow: visible;
}

.sat-hero-title .sat-title-line {
    display: block;
    opacity: 0;
    transform: translateY(34px);
    filter: blur(7px);
    will-change: transform, opacity, filter;
}

.sat-hero-title .sat-title-line-1 {
    color: var(--sat-navy);
    animation: satTitleLineIn .78s cubic-bezier(.2,.78,.2,1) .18s forwards;
}

.sat-hero-title .sat-title-line-2 {
    padding-bottom: 7px;
    background: linear-gradient(100deg, #0b7690 0%, #10aaa9 55%, #1870c9 100%);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
    animation: satTitleLineIn .82s cubic-bezier(.2,.78,.2,1) .36s forwards;
}

.sat-lead {
    animation: satHeroSoftIn .68s ease-out .58s both;
}

.sat-hero-points {
    animation: satHeroSoftIn .68s ease-out .7s both;
}

.sat-primary-link {
    animation: satHeroSoftIn .68s ease-out .82s both;
}

.sat-login-card {
    animation: satLoginCardIn .78s cubic-bezier(.2,.8,.25,1) .22s both;
}

@keyframes satHeroCopyIn {
    from { opacity: .45; }
    to { opacity: 1; }
}

@keyframes satHeroEyebrowIn {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes satTitleLineIn {
    0% { opacity: 0; transform: translateY(34px); filter: blur(7px); }
    62% { opacity: 1; filter: blur(0); }
    100% { opacity: 1; transform: translateY(0); filter: blur(0); }
}

@keyframes satHeroSoftIn {
    from { opacity: 0; transform: translateY(16px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes satLoginCardIn {
    from { opacity: 0; transform: translateX(30px) scale(.985); }
    to { opacity: 1; transform: translateX(0) scale(1); }
}

/* =========================================================
   FUNCIONALIDADES REALES POR MODULO
   ========================================================= */
.sat-features {
    padding-top: 88px;
    padding-bottom: 92px;
}

.sat-feature-groups-v2 {
    grid-template-columns: 1fr 1fr;
    gap: 34px;
}

.feature-module {
    --feature-accent: var(--sat-blue);
    --feature-soft: rgba(24,112,201,.08);
    padding: 22px;
    border: 1px solid #e4eaf1;
    border-top: 4px solid var(--feature-accent);
    border-radius: 18px;
    background: rgba(255,255,255,.94);
    box-shadow: 0 14px 32px rgba(29,55,82,.075);
}

.feature-module.module-sat {
    --feature-accent: var(--module-sat);
    --feature-soft: rgba(16,180,190,.09);
}

.feature-module.module-rrhh {
    --feature-accent: var(--module-rrhh);
    --feature-soft: rgba(0,79,64,.075);
}

.feature-module.module-cobranzas {
    --feature-accent: var(--module-cobranzas);
    --feature-soft: rgba(9,20,38,.07);
}

.feature-module.module-facturacion {
    --feature-accent: var(--module-facturacion);
    --feature-soft: rgba(107,53,200,.08);
}

.feature-module.module-inventarios {
    --feature-accent: var(--module-inventarios);
    --feature-soft: rgba(255,121,0,.085);
    grid-column: 1 / -1;
}

.sat-feature-group-title {
    min-height: 52px;
    margin-bottom: 17px;
    display: flex;
    align-items: center;
    gap: 12px;
}

.sat-feature-module-dot {
    width: 13px;
    height: 42px;
    flex: 0 0 13px;
    border-radius: 999px;
    background: var(--feature-accent);
    box-shadow: 0 6px 14px color-mix(in srgb, var(--feature-accent) 22%, transparent);
}

.sat-feature-group-title small {
    display: block;
    margin-bottom: 2px;
    color: var(--feature-accent);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .11em;
}

.feature-module .sat-feature-group-title h3 {
    margin: 0;
    color: var(--sat-navy);
    font-size: 22px;
    font-weight: 750;
}

.feature-module .sat-feature-grid article {
    position: relative;
    min-height: 145px;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--feature-accent) 14%, #e8edf3);
    background: linear-gradient(180deg, #fff 0%, color-mix(in srgb, var(--feature-soft) 62%, #fff) 100%);
}

.feature-module .sat-feature-grid article::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 3px;
    background: var(--feature-accent);
    opacity: .78;
}

.feature-module .sat-feature-grid article > span {
    width: 43px;
    height: 43px;
    margin-bottom: 10px;
    display: grid;
    place-items: center;
    border-radius: 13px;
    background: var(--feature-soft);
    color: var(--feature-accent);
    font-size: 22px;
}

.feature-module .sat-feature-grid strong {
    color: var(--feature-accent);
    font-size: 11px;
}

.feature-module .sat-feature-grid small {
    max-width: 150px;
    color: #6d7b8d;
    font-size: 9px;
}

/* =========================================================
   INNOVACION
   ========================================================= */
.sat-innovation {
    padding: 84px 24px 90px;
    background:
        radial-gradient(circle at 8% 12%, rgba(16,180,190,.075), transparent 28%),
        radial-gradient(circle at 92% 85%, rgba(107,53,200,.055), transparent 26%),
        #fff;
}

.sat-innovation-grid {
    width: min(1220px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.sat-innovation-card {
    min-height: 132px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 18px;
    border: 1px solid #e0e7ef;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 13px 30px rgba(25,50,78,.08);
}

.sat-innovation-icon {
    width: 60px;
    height: 60px;
    flex: 0 0 60px;
    display: grid;
    place-items: center;
    border-radius: 17px;
    font-size: 27px;
}

.sat-innovation-card strong {
    display: block;
    margin-bottom: 7px;
    color: var(--sat-navy);
    font-size: 14px;
}

.sat-innovation-card span {
    color: var(--sat-muted);
    font-size: 11px;
    line-height: 1.55;
}

.innovation-mail .sat-innovation-icon { background: rgba(107,53,200,.10); color: var(--module-facturacion); }
.innovation-whatsapp .sat-innovation-icon { background: rgba(16,180,190,.11); color: var(--module-sat); }
.innovation-security .sat-innovation-icon { background: rgba(9,20,38,.08); color: var(--module-cobranzas); }
.innovation-trace .sat-innovation-icon { background: rgba(255,121,0,.10); color: var(--module-inventarios); }

@media (max-width: 1120px) {
    .sat-feature-groups-v2 {
        grid-template-columns: 1fr;
    }

    .feature-module.module-inventarios {
        grid-column: auto;
    }

    .sat-innovation-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .sat-feature-groups-v2 {
        gap: 18px;
    }

    .feature-module {
        padding: 17px 13px;
    }

    .feature-module .sat-feature-group-title h3 {
        font-size: 20px;
    }

    .sat-feature-group-title {
        justify-content: center;
        text-align: left;
    }

    .feature-module .sat-feature-grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature-module .sat-feature-grid article {
        min-height: 142px;
        padding: 14px 8px;
    }

    .sat-innovation {
        padding-left: 14px;
        padding-right: 14px;
    }

    .sat-innovation-card {
        min-height: 0;
        padding: 17px;
        align-items: flex-start;
    }

    .sat-innovation-icon {
        width: 50px;
        height: 50px;
        flex-basis: 50px;
        font-size: 23px;
    }

    .sat-hero-title .sat-title-line {
        transform: translateY(24px);
    }
}

@media (max-width: 420px) {
    .feature-module .sat-feature-grid {
        grid-template-columns: 1fr 1fr;
    }

    .sat-innovation-card {
        gap: 13px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sat-hero-copy,
    .sat-eyebrow,
    .sat-hero-title .sat-title-line,
    .sat-lead,
    .sat-hero-points,
    .sat-primary-link,
    .sat-login-card {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}

/* =========================================================
   SAT LOGIN v7.3
   Ajuste visual solicitado: sin cuadros dentro de cuadros,
   mas descripcion y hero por palabras con entrada secuencial.
   ========================================================= */

/* HERO: palabras independientes, colores de la identidad SAT */
.sat-hero-title {
    max-width: 820px;
    display: flex;
    flex-wrap: wrap;
    gap: .08em .20em;
    overflow: visible;
}

.sat-title-word {
    display: inline-block;
    opacity: 0;
    transform: translateY(30px) scale(.985);
    filter: blur(6px);
    will-change: transform, opacity, filter;
    animation: satWordIn .72s cubic-bezier(.2,.78,.2,1) forwards;
}

.sat-title-word:nth-child(1) { animation-delay: .12s; }
.sat-title-word:nth-child(2) { animation-delay: .20s; }
.sat-title-word:nth-child(3) { animation-delay: .28s; }
.sat-title-word:nth-child(4) { animation-delay: .36s; }
.sat-title-word:nth-child(5) { animation-delay: .44s; }
.sat-title-word:nth-child(6) { animation-delay: .52s; }
.sat-title-word:nth-child(7) { animation-delay: .60s; }
.sat-title-word:nth-child(8) { animation-delay: .68s; }

.sat-word-navy { color: #0b2f63; }
.sat-word-teal { color: #0aa9ad; }
.sat-word-blue { color: #087f9d; }
.sat-word-cyan { color: #11b8bd; }

@keyframes satWordIn {
    0% { opacity: 0; transform: translateY(30px) scale(.985); filter: blur(6px); }
    65% { opacity: 1; filter: blur(0); }
    100% { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); }
}

/* Evita que las reglas v7.2 anteriores vuelvan a imponer lineas del titulo. */
.sat-hero-title .sat-title-line { display: none !important; }

/* FUNCIONALIDADES: secciones abiertas, sin contenedor tipo tarjeta */
.sat-feature-groups-v2 {
    gap: 54px 64px;
}

.feature-module {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.feature-module.module-inventarios {
    grid-column: 1 / -1;
}

.sat-feature-group-title {
    min-height: auto;
    margin-bottom: 18px;
    padding-bottom: 12px;
    border-bottom: 2px solid color-mix(in srgb, var(--feature-accent) 72%, transparent);
}

.sat-feature-module-dot {
    width: 8px;
    height: 34px;
    flex-basis: 8px;
    box-shadow: none;
}

.feature-module .sat-feature-grid {
    gap: 14px;
}

.feature-module .sat-feature-grid article {
    min-height: 188px;
    padding: 20px 15px 18px;
    border: 1px solid color-mix(in srgb, var(--feature-accent) 18%, #e8edf3);
    border-top: 3px solid var(--feature-accent);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 10px 24px rgba(28,52,78,.065);
}

.feature-module .sat-feature-grid article::before {
    display: none;
}

.feature-module .sat-feature-grid article > span {
    width: 46px;
    height: 46px;
    margin-bottom: 12px;
    border-radius: 13px;
}

.feature-module .sat-feature-grid strong {
    margin-bottom: 6px;
    font-size: 12px;
    line-height: 1.3;
}

.feature-module .sat-feature-grid small {
    max-width: 220px;
    margin-top: 0;
    color: #66758a;
    font-size: 10.2px;
    line-height: 1.55;
}

/* INNOVACION: contenido abierto, sin apariencia de tarjetas anidadas */
.sat-innovation-grid {
    gap: 0 48px;
}

.sat-innovation-card {
    min-height: 126px;
    padding: 24px 0;
    border: 0;
    border-bottom: 1px solid #e4eaf1;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.sat-innovation-card:nth-last-child(-n+2) {
    border-bottom-color: transparent;
}

.sat-innovation-icon {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    border-radius: 15px;
}

.sat-innovation-card strong {
    font-size: 15px;
}

.sat-innovation-card span {
    font-size: 11.5px;
    line-height: 1.65;
}

/* Entrada visual mas evidente para las secciones al hacer scroll */
.sat-reveal {
    opacity: 0;
    transform: translateY(32px);
    filter: blur(3px);
    transition: opacity .72s ease, transform .72s ease, filter .72s ease;
}

.sat-reveal.sat-visible {
    opacity: 1;
    transform: translateY(0);
    filter: blur(0);
}

@media (max-width: 1120px) {
    .feature-module.module-inventarios { grid-column: auto; }
}

@media (max-width: 760px) {
    .sat-hero-title {
        justify-content: center;
        gap: .06em .18em;
    }

    .feature-module {
        padding: 0;
    }

    .sat-feature-group-title {
        justify-content: flex-start;
        text-align: left;
    }

    .feature-module .sat-feature-grid article {
        min-height: 180px;
        padding: 16px 10px;
    }

    .feature-module .sat-feature-grid small {
        max-width: 170px;
        font-size: 9.6px;
    }

    .sat-innovation-card {
        padding: 19px 0;
    }
}

@media (max-width: 420px) {
    .feature-module .sat-feature-grid {
        grid-template-columns: 1fr 1fr;
    }

    .feature-module .sat-feature-grid article {
        min-height: 194px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sat-title-word {
        animation: none !important;
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
    }
}


/* Redes sociales flotantes: visibles sin competir con el login. */
.sat-social-floating {
    position: fixed;
    right: 18px;
    bottom: 22px;
    z-index: 120;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sat-social-button {
    min-width: 48px;
    height: 48px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 9px;
    border-radius: 24px;
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
    font-weight: 800;
    box-shadow: 0 12px 28px rgba(16,35,61,.18);
    transition: transform .2s ease, box-shadow .2s ease;
}

.sat-social-button:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(16,35,61,.23);
}

.sat-social-facebook {
    background: #1877f2;
}

.sat-social-whatsapp {
    background: #25d366;
}

.sat-social-icon {
    width: 20px;
    text-align: center;
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
}

.sat-social-text {
    white-space: nowrap;
}



@media (max-width: 760px) {
    .sat-social-floating { right: 12px; bottom: 14px; gap: 8px; }
    .sat-social-button { width: 48px; min-width: 48px; padding: 0; justify-content: center; }
    .sat-social-text { display: none; }
}

/* v7.6.3 - nuevas capacidades de automatizacion e IA */
.innovation-ai-proof .sat-innovation-icon{background:rgba(107,53,200,.10);color:var(--module-facturacion)}
.innovation-sms .sat-innovation-icon{background:rgba(9,20,38,.08);color:#245b87}
.innovation-ai-load .sat-innovation-icon{background:rgba(16,180,190,.11);color:var(--module-sat)}
