
:root{--nv:#1B2A4A;--nd:#0F1D36;--nl:#2C3E6B;--bl:#2956A8;--bb:#3B6FD4;--wh:#FFF;--of:#F7F8FA;--g5:#F2F3F5;--g1:#E8EAF0;--g2:#D0D4DE;--g4:#8E95A7;--g6:#555E73;--g8:#2D3344;--gw:#25D366;--gl:#D4EDDA;--gt:#155724;--yl:#FFF3CD;--yt:#856404;--rd:#DC3545;--r:10px;--rl:16px;--sh:0 2px 16px rgba(27,42,74,.07);--sl:0 8px 32px rgba(27,42,74,.12);--tr:all .25s ease}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Source Sans 3',sans-serif;background:var(--of);color:var(--g8)}
h1,h2,h3,h4{font-family:'Playfair Display',serif;font-weight:600}
a{text-decoration:none;color:inherit}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--wh);height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 2.5rem;border-bottom:1px solid var(--g1);box-shadow:0 1px 8px rgba(0,0,0,.04)}
.nb{display:flex;align-items:center;gap:12px;cursor:pointer}
.nlogo{width:46px;height:46px;border-radius:10px;background:var(--nv);display:flex;align-items:center;justify-content:center}
.nlogo svg{width:30px;height:30px}
.bt .bn{font-family:'Playfair Display',serif;font-size:1rem;font-weight:700;color:var(--nv);text-transform:uppercase;letter-spacing:.5px}
.bt .bs{font-size:.68rem;color:var(--bl);text-transform:uppercase;letter-spacing:2px;font-weight:600}
.nls{display:flex;align-items:center;gap:4px}
.nls a{padding:8px 16px;border-radius:8px;font-size:.88rem;font-weight:500;color:var(--g6);transition:var(--tr);cursor:pointer}
.nls a:hover{color:var(--nv);background:var(--g5)}
.nc{background:var(--nv)!important;color:var(--wh)!important;font-weight:600!important;padding:10px 22px!important;border-radius:8px!important}
.hm{display:none;background:none;border:none;cursor:pointer;padding:8px}
.hm svg{width:24px;height:24px;color:var(--nv)}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:8px;font-family:inherit;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:var(--tr)}
.bn2{background:var(--nv);color:var(--wh)}.bn2:hover{background:var(--nl)}
.bbl{background:var(--bl);color:var(--wh)}.bbl:hover{background:var(--bb)}
.bw{background:var(--gw);color:var(--wh)}.bw:hover{background:#1DA851}
.bwh{background:var(--wh);color:var(--nv);border:1px solid var(--g2)}.bwh:hover{border-color:var(--nv)}
.br{background:var(--rd);color:white}
.bsm{padding:8px 16px;font-size:.82rem}
.bxs{padding:6px 12px;font-size:.78rem;border-radius:6px}
.bf{width:100%;justify-content:center}

/* VIEWS */
.view{display:none;min-height:100vh;padding-top:70px}.view.active{display:block}

/* HERO */
.hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 70px)}
.hp{background:var(--g1);display:flex;align-items:center;justify-content:center}
.hph{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--g4);padding:2rem;text-align:center}
.hph .phi{font-size:90px;opacity:.4}
.hi{background:var(--nv);color:var(--wh);display:flex;flex-direction:column;justify-content:center;padding:4rem 3.5rem}
.hi h1{font-size:3rem;margin-bottom:1rem;font-weight:700}
.hi p{font-size:1.05rem;line-height:1.8;color:rgba(255,255,255,.78);margin-bottom:1.2rem;max-width:480px}
.hi p strong{color:var(--wh)}
.hbs{display:flex;gap:12px;flex-wrap:wrap;margin-top:.5rem}

/* SECTIONS */
.sec{padding:5rem 2rem}.sin{max-width:1100px;margin:0 auto}.stc{text-align:center}
.stt{font-size:2.2rem;color:var(--nv);margin-bottom:.5rem;font-weight:700}
.sst{color:var(--g6);font-size:1.02rem;line-height:1.7;max-width:650px;margin:0 auto 2.5rem}

/* SERVICE BUTTONS */
.svl{display:flex;flex-direction:column;gap:10px;max-width:680px;margin:0 auto 2rem}
.svb{display:block;width:100%;padding:17px 24px;background:var(--nv);color:var(--wh);border-radius:10px;font-size:1.02rem;font-weight:600;text-align:center;cursor:pointer;border:none;font-family:inherit;transition:var(--tr)}
.svb:hover{background:var(--bl);transform:translateY(-2px);box-shadow:var(--sl)}

/* COTIZADOR */
.cb{max-width:680px;margin:0 auto;background:var(--of);border-radius:var(--rl);border:1px solid var(--g1);overflow:hidden}
.chd{background:var(--nv);color:var(--wh);padding:1.5rem 2rem}
.chd h3{font-size:1.3rem;margin-bottom:4px}.chd p{font-size:.85rem;opacity:.7}
.cbd{padding:1.5rem 2rem}
.co{display:flex;align-items:center;gap:14px;padding:15px;margin-bottom:8px;background:var(--wh);border:2px solid var(--g1);border-radius:var(--r);cursor:pointer;transition:var(--tr)}
.co:hover{border-color:var(--bl)}.co.sel{border-color:var(--nv);background:rgba(27,42,74,.04)}
.ck{width:22px;height:22px;border-radius:6px;border:2px solid var(--g2);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--tr);color:white;font-size:13px}
.co.sel .ck{background:var(--nv);border-color:var(--nv)}
.ci h4{font-size:.92rem;color:var(--nv);font-family:'Source Sans 3',sans-serif;font-weight:600}
.ci p{font-size:.8rem;color:var(--g4);margin-top:2px}
.cf{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--g1)}
.ca2{display:flex;gap:10px;margin-top:1.5rem}.ca2 .btn{flex:1;justify-content:center}

/* FORMS */
.fg{margin-bottom:1rem}.fg label{display:block;font-weight:600;font-size:.85rem;color:var(--nv);margin-bottom:6px}
.fi{width:100%;padding:12px 16px;border-radius:8px;border:2px solid var(--g1);font-family:inherit;font-size:.92rem;transition:var(--tr);background:var(--wh);color:var(--g8)}
.fi:focus{outline:none;border-color:var(--bl)}
select.fi{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%238E95A7' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
textarea.fi{resize:vertical;min-height:80px}

/* STEPS */
.sr{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem}
.sti{text-align:center}
.stn{width:54px;height:54px;border-radius:50%;background:var(--nv);color:var(--wh);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.3rem;font-weight:700;margin:0 auto 1rem}
.sti h4{font-size:.98rem;color:var(--nv);margin-bottom:.4rem}
.sti p{color:var(--g6);font-size:.85rem;line-height:1.6}

/* BLOG */
.bg2{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.bc{background:var(--wh);border-radius:var(--rl);overflow:hidden;border:1px solid var(--g1);transition:var(--tr);cursor:pointer}
.bc:hover{transform:translateY(-4px);box-shadow:var(--sl)}
.bci{height:170px;background:var(--nv);display:flex;align-items:center;justify-content:center;font-size:48px;position:relative}
.bct{position:absolute;top:12px;left:12px;background:var(--bl);color:white;padding:4px 12px;border-radius:6px;font-size:.72rem;font-weight:700;text-transform:uppercase}
.bcb{padding:1.4rem}.bcb h3{font-size:1.02rem;color:var(--nv);margin-bottom:.4rem;line-height:1.4}
.bcb p{color:var(--g6);font-size:.84rem;line-height:1.6}.bcd{color:var(--g4);font-size:.76rem;margin-top:.7rem}

/* FOOTER */
.footer{background:var(--nd);color:rgba(255,255,255,.6);padding:3rem 2rem 1.5rem}
.fin{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:3rem;margin-bottom:2rem}
.footer h4{color:white;margin-bottom:1rem}.footer p,.footer a{font-size:.88rem;line-height:1.7}
.footer a:hover{color:white}.footer ul{list-style:none}.footer li{margin-bottom:8px}
.fbo{max-width:1100px;margin:0 auto;border-top:1px solid rgba(255,255,255,.08);padding-top:1.5rem;text-align:center;font-size:.82rem}

/* MODAL */
.mo{display:none;position:fixed;inset:0;z-index:2000;background:rgba(15,29,54,.6);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:1rem}
.mo.active{display:flex}
.modal{background:var(--wh);border-radius:var(--rl);width:100%;max-width:430px;padding:2.5rem;position:relative;box-shadow:var(--sl);animation:msl .25s ease}
@keyframes msl{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.mcl{position:absolute;top:14px;right:14px;background:var(--g5);border:none;width:34px;height:34px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:16px}
.modal h2{font-size:1.6rem;color:var(--nv);margin-bottom:.4rem}
.modal>p{color:var(--g6);margin-bottom:1.5rem;font-size:.88rem}
.atg{text-align:center;margin-top:1rem;font-size:.88rem;color:var(--g4)}.atg a{color:var(--bl);font-weight:600;cursor:pointer}

/* DASHBOARD */
.db{display:flex;min-height:calc(100vh - 70px)}
.sb{width:250px;background:var(--nd);padding:1.5rem 0;flex-shrink:0;overflow-y:auto}
.sbu{padding:0 1rem 1.2rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.06)}
.sbuc{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:rgba(255,255,255,.05)}
.sba{width:34px;height:34px;border-radius:50%;background:var(--bl);display:flex;align-items:center;justify-content:center;color:white;font-weight:700;font-size:.8rem;flex-shrink:0}
.sbui .un{color:white;font-weight:600;font-size:.86rem}.sbui .ur{color:var(--g4);font-size:.7rem;text-transform:uppercase;letter-spacing:1px}
.sbl{font-size:.66rem;text-transform:uppercase;letter-spacing:1.5px;color:rgba(255,255,255,.22);padding:0 1.5rem;margin:1rem 0 .4rem;font-weight:700}
.sbi{display:flex;align-items:center;gap:10px;padding:9px 1.5rem;cursor:pointer;color:rgba(255,255,255,.5);font-size:.86rem;font-weight:500;transition:var(--tr)}
.sbi:hover{background:rgba(255,255,255,.05);color:white}
.sbi.active{background:rgba(41,86,168,.25);color:white;border-right:3px solid var(--bl)}
.sbi .si{width:20px;text-align:center}.sbi .badge{margin-left:auto;background:var(--bl);color:white;font-size:.66rem;padding:2px 7px;border-radius:10px;font-weight:700}
.mc{flex:1;padding:2rem;overflow-y:auto;background:var(--of)}
.dh{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:12px}
.dh h1{font-size:1.6rem;color:var(--nv)}
.sg2{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:2rem}
.sc2x{background:var(--wh);border-radius:var(--r);padding:1.2rem;border:1px solid var(--g1)}
.sc2x .si3{font-size:24px;margin-bottom:6px}.sc2x .sv{font-size:1.7rem;font-family:'Playfair Display',serif;color:var(--nv);font-weight:700}.sc2x .sl{color:var(--g4);font-size:.78rem}

/* TABLE */
.dc{background:var(--wh);border-radius:var(--rl);border:1px solid var(--g1);overflow:hidden;margin-bottom:1.5rem}
.dch{display:flex;justify-content:space-between;align-items:center;padding:1.1rem 1.5rem;border-bottom:1px solid var(--g5)}
.dch h3{font-size:1rem;color:var(--nv)}
table{width:100%;border-collapse:collapse}thead{background:var(--g5)}
th{padding:10px 14px;text-align:left;font-size:.73rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--g4)}
td{padding:12px 14px;font-size:.86rem;border-bottom:1px solid var(--g5)}
.stb{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.73rem;font-weight:600}
.stp{background:var(--yl);color:var(--yt)}.stpr{background:#CCE5FF;color:#004085}.std{background:var(--gl);color:var(--gt)}
.uc{display:flex;align-items:center;gap:10px}

/* CARDS */
.card{background:var(--wh);border-radius:var(--rl);padding:1.5rem;border:1px solid var(--g1);margin-bottom:1.5rem}
.card h3{font-size:1.05rem;color:var(--nv);margin-bottom:1rem}
.uz{border:2px dashed var(--g2);border-radius:var(--r);padding:2rem;text-align:center;cursor:pointer;transition:var(--tr)}
.uz:hover{border-color:var(--bl);background:rgba(41,86,168,.03)}
.uz .uzi{font-size:32px;margin-bottom:6px}.uz p{color:var(--g4);font-size:.86rem}
.fii{display:flex;align-items:center;gap:12px;padding:10px 14px;background:var(--g5);border-radius:8px;margin-bottom:6px;font-size:.86rem}
.fii .fn{flex:1}.fii .fs{color:var(--g4);font-size:.76rem}.fii .fr{cursor:pointer;color:var(--rd)}
.ni{display:flex;gap:12px;padding:12px;border-radius:8px;margin-bottom:4px}.ni:hover{background:var(--g5)}
.nd2{width:10px;height:10px;border-radius:50%;background:var(--bl);margin-top:5px;flex-shrink:0}
.nt{font-size:.86rem;line-height:1.5}.ntm{font-size:.73rem;color:var(--g4);margin-top:3px}
.wab{background:#DCF8C6;border-radius:12px;padding:14px 16px;margin:1rem 0;max-width:85%;font-size:.88rem;line-height:1.6}
.ser{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--g5);border-radius:8px;margin-bottom:8px}
.ser input{flex:1;padding:8px 12px;border:1px solid var(--g1);border-radius:6px;font-family:inherit;font-size:.86rem}
.ser input:focus{outline:none;border-color:var(--bl)}.ser .sd{flex:1.5}
.sv2{display:none}.sv2.active{display:block;animation:fu .25s ease}
@keyframes fu{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
/* MOBILE SIDEBAR OVERLAY */
.sb-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:900}
.sb-overlay.active{display:block}
.mob-toggle{display:none;background:var(--nv);color:white;border:none;padding:8px 14px;border-radius:8px;font-family:inherit;font-size:.82rem;font-weight:600;cursor:pointer;gap:6px;align-items:center}
.mob-toggle svg{width:18px;height:18px}
.sb-close{display:none;position:absolute;top:12px;right:12px;background:rgba(255,255,255,.1);border:none;color:white;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;align-items:center;justify-content:center}
/* Mobile bottom nav for dashboards */
.mob-bottom{display:none;position:fixed;bottom:0;left:0;right:0;background:var(--nd);z-index:800;padding:6px 0;border-top:1px solid rgba(255,255,255,.1)}
.mob-bottom-inner{display:flex;justify-content:space-around;align-items:center}
.mob-bottom a{display:flex;flex-direction:column;align-items:center;gap:2px;color:rgba(255,255,255,.5);font-size:.65rem;padding:4px 8px;cursor:pointer;transition:var(--tr);text-decoration:none;border-radius:6px}
.mob-bottom a.active{color:white;background:rgba(255,255,255,.08)}
.mob-bottom a .mbi{font-size:1.2rem}
/* Responsive tables */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){
.hero{grid-template-columns:1fr}.hp{display:none}.hi{padding:3rem 2rem}.hi h1{font-size:2.2rem}
.sr{grid-template-columns:1fr 1fr}.fin{grid-template-columns:1fr;gap:1.5rem}
.nls{display:none}.hm{display:block}.nav{padding:0 1rem}
.sb{position:fixed;left:-260px;top:70px;bottom:0;z-index:950;width:250px;transition:transform .3s ease}
.sb.open{transform:translateX(260px)}
.sb-close{display:flex}
.sb-overlay.active{display:block}
.mob-toggle{display:inline-flex}
.mob-bottom{display:block}
.mc{padding:1.5rem 1rem;padding-bottom:80px}
.dh{flex-direction:column;align-items:flex-start;gap:8px}
.dh h1{font-size:1.3rem}
table{min-width:500px}
.dc{overflow-x:auto}
.sg2{grid-template-columns:1fr 1fr}
.card{padding:1.2rem}
.ser{flex-wrap:wrap}.ser input{min-width:120px}
.ser .sd{flex:1 1 100%}
.bg2{grid-template-columns:1fr}
.sst{font-size:.92rem}
.fi{font-size:.88rem;padding:10px 14px}
.btn{padding:11px 20px;font-size:.85rem}
.bsm{padding:7px 14px;font-size:.8rem}
.modal{padding:1.8rem;max-width:95%}
.cb{margin:0}
.cbd{padding:1rem}
.wab{max-width:100%}
.footer{padding:2rem 1rem 1rem}
}
@media(max-width:600px){
.hi h1{font-size:1.8rem}.hi{padding:2rem 1.5rem}.hi p{font-size:.95rem}
.sec{padding:3rem 1rem}.stt{font-size:1.6rem}
.sr{grid-template-columns:1fr}
.sg2{grid-template-columns:1fr}
.nav{height:60px}.view{padding-top:60px}
.sb{top:60px}
.hbs{flex-direction:column}.hbs .btn{width:100%;justify-content:center}
.ca2{flex-direction:column}.ca2 .btn{width:100%;justify-content:center}
.co{padding:12px}
.modal{padding:1.5rem}
.dh h1{font-size:1.2rem}
.sc2x .sv{font-size:1.4rem}
.sc2x{padding:1rem}
}


.form-error{background:#F8D7DA;color:#721C24;padding:10px 14px;border-radius:8px;font-size:.85rem;margin-bottom:12px}

