:root{--navy:#0B1F4D;--navy2:#06122E;--yellow:#FFC21A;--orange:#FF8A00;--bg:#F5F7FB;--text:#14213D;--muted:#5B6478;--ok:#1E9E5A;--err:#C0392B}
*{box-sizing:border-box}html,body{margin:0}body{font-family:Poppins,system-ui,sans-serif;background:var(--bg);color:var(--text);line-height:1.5}
a{color:var(--navy)}img{max-width:100%;display:block}
.wrap{max-width:1000px;margin:0 auto;padding:0 16px}
.top{background:var(--navy);color:#fff}.top .wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:10px}
.top img{height:46px;width:auto}.top nav a{color:#fff;text-decoration:none;font-weight:600;margin-left:14px;font-size:14px}
.hero{position:relative;color:#fff;text-align:center;padding:70px 16px 60px;background:var(--navy) center/cover no-repeat}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,18,46,.55),rgba(6,18,46,.85))}
.hero>*{position:relative}.hero img.logo{width:min(320px,70%);margin:0 auto 14px;height:auto}
.hero h1{font-size:clamp(26px,6vw,42px);line-height:1.15;margin:8px 0}.hero p{font-size:17px;opacity:.95;margin:6px auto;max-width:620px}
.chip{display:inline-block;background:var(--yellow);color:var(--navy);font-weight:700;padding:6px 16px;border-radius:30px;font-size:14px}
.btn{display:inline-block;border:0;cursor:pointer;background:linear-gradient(90deg,var(--yellow),var(--orange));color:var(--navy);font:700 17px Poppins,sans-serif;padding:14px 28px;border-radius:14px;text-decoration:none;box-shadow:0 6px 18px rgba(255,138,0,.3)}
.btn.sec{background:#fff;color:var(--navy);border:2px solid var(--navy);box-shadow:none}.btn.sm{padding:8px 14px;font-size:14px;border-radius:10px}
.btn.green{background:var(--ok);color:#fff;box-shadow:none}.btn.red{background:var(--err);color:#fff;box-shadow:none}.btn.block{display:block;width:100%;text-align:center}
.card{background:#fff;border-radius:18px;box-shadow:0 6px 24px rgba(11,31,77,.08);padding:22px;margin:18px 0}
.grid{display:grid;gap:14px}.g2{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}
.gal{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.gal img{aspect-ratio:1;object-fit:cover;border-radius:12px;width:100%}
h2{color:var(--navy);margin:0 0 10px;font-size:24px}h3{margin:0 0 8px;color:var(--navy)}
label{display:block;font-weight:600;margin:14px 0 6px;font-size:15px}
input,select,textarea{width:100%;padding:13px 14px;border:2px solid #DCE1EC;border-radius:12px;font:500 16px Poppins,sans-serif;background:#fff;color:var(--text)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--orange)}
.opts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.opt{position:relative}.opt input{position:absolute;opacity:0}
.opt span{display:block;border:2px solid #DCE1EC;border-radius:14px;padding:14px;text-align:center;font-weight:600;cursor:pointer;background:#fff;height:100%}
.opt span small{display:block;font-weight:500;color:var(--muted);font-size:13px}.opt input:checked+span{border-color:var(--orange);background:#FFF6E5;box-shadow:0 0 0 3px rgba(255,194,26,.35)}
.opt input:disabled+span{opacity:.4;cursor:not-allowed;text-decoration:line-through}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin-top:14px}.check input{width:22px;height:22px;flex:none;margin-top:2px}
.sum{background:var(--navy);color:#fff;border-radius:18px;padding:20px}.sum .row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.12)}
.sum .big{font-size:26px;color:var(--yellow);font-weight:700}.muted{color:var(--muted);font-size:14px}
.copy{display:flex;gap:8px;align-items:center;background:#F0F3FA;border-radius:12px;padding:10px 12px;margin:8px 0}.copy code{flex:1;font:600 16px Poppins,monospace;word-break:break-all}
.flash{padding:14px 16px;text-align:center;font-weight:600}.flash.ok{background:#E3F6EC;color:#0F6B3B}.flash.err{background:#FDECEA;color:#8E1F14}
.badge{display:inline-block;padding:3px 10px;border-radius:20px;font-size:12px;font-weight:700;background:#EEF1F7;color:var(--navy)}
.b-confirmada,.b-activo,.b-pagada{background:#E3F6EC;color:#0F6B3B}.b-comprobante,.b-pendiente,.b-a_pagar{background:#FFF4D6;color:#8A5A00}
.b-rechazada,.b-vencida,.b-suspendido,.b-cancelada{background:#FDECEA;color:#8E1F14}.b-realizada{background:#E6EEFF;color:#1C3FAA}
table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px 8px;border-bottom:1px solid #EEF1F7;text-align:left;vertical-align:top}th{color:var(--muted);font-weight:600}
.tw{overflow-x:auto}.stat{background:#fff;border-radius:16px;padding:16px;text-align:center;box-shadow:0 4px 16px rgba(11,31,77,.06)}.stat b{display:block;font-size:28px;color:var(--navy)}
.steps{counter-reset:s;list-style:none;padding:0}.steps li{counter-increment:s;padding:8px 0 8px 46px;position:relative}.steps li::before{content:counter(s);position:absolute;left:0;top:6px;width:32px;height:32px;border-radius:50%;background:var(--yellow);color:var(--navy);font-weight:700;display:grid;place-items:center}
.safe{background:#FFF6E5;border-left:5px solid var(--orange);padding:12px 14px;border-radius:10px;font-size:14px}
.foot{text-align:center;padding:30px 16px 40px;color:var(--muted);font-size:13px}.foot img{margin:0 auto 8px;height:auto}.foot .safe{max-width:620px;margin:12px auto;text-align:left}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:12px}.cal div{background:#fff;border-radius:8px;min-height:64px;padding:4px}.cal .h{background:none;min-height:auto;text-align:center;font-weight:700;color:var(--muted)}
.cal .d{font-weight:700}.cal .t{display:block;margin-top:2px;padding:1px 4px;border-radius:6px;font-size:11px}.t.dia{background:#FFF4D6}.t.noche{background:#E6EEFF}.t.bl{background:#FDECEA}
.adm-nav{display:flex;gap:6px;flex-wrap:wrap;padding:10px 0}.adm-nav a{background:#fff;padding:8px 14px;border-radius:10px;text-decoration:none;font-weight:600;font-size:14px}.adm-nav a.on{background:var(--yellow)}
@media(max-width:560px){.top nav a{margin-left:8px;font-size:13px}.opts{grid-template-columns:1fr 1fr}}
