:root{
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  color:#172022;
  background:#eef3f3;
  --primary:#01696f;
  --primary-2:#0c4e54;
  --primary-3:#0f8c92;
  --ink:#172022;
  --muted:#718184;
  --border:#d7e1e2;
  --bg:#eef3f3;
  --surface:rgba(255,255,255,.92);
  --surface-solid:#fff;
  --soft:#f5f8f8;
  --danger:#a12c7b;
  --danger-bg:#fde8f2;
  --ok:#437a22;
  --ok-bg:#eaf6e4;
  --warning:#a36b00;
  --shadow:0 18px 50px rgba(2,47,52,.12);
  --shadow-sm:0 10px 28px rgba(2,47,52,.08);
  --radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:radial-gradient(circle at top left,rgba(1,105,111,.12),transparent 34rem),linear-gradient(180deg,#f7fbfb 0%,#eef3f3 100%);min-height:100vh}
body::before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(1,105,111,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(1,105,111,.035) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 70%)}

.splash{height:100vh;display:grid;place-items:center;overflow:hidden;position:relative;background:linear-gradient(135deg,#012b31 0%,#01696f 48%,#0c4e54 100%);color:white;text-align:center;padding:24px}
.splash-glow{position:absolute;border-radius:999px;filter:blur(30px);opacity:.55;animation:floatGlow 4.5s ease-in-out infinite alternate}.splash-glow-a{width:360px;height:360px;background:#26d0ce;top:-120px;left:-80px}.splash-glow-b{width:300px;height:300px;background:#a1ffce;right:-90px;bottom:-110px;animation-delay:.6s}.splash-card{position:relative;width:min(620px,100%);padding:42px 34px;border:1px solid rgba(255,255,255,.2);border-radius:34px;background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.08));box-shadow:0 40px 90px rgba(0,0,0,.28);backdrop-filter:blur(18px);animation:splashIn .8s cubic-bezier(.2,.9,.2,1) both}.splash-mark{width:62px;height:62px;margin:0 auto 18px;border-radius:20px;display:grid;place-items:center;background:rgba(255,255,255,.18);font-weight:900;letter-spacing:.08em;border:1px solid rgba(255,255,255,.2);animation:pulseMark 1.8s ease-in-out infinite}.splash-kicker{margin:0 0 12px;text-transform:uppercase;letter-spacing:.18em;font-size:12px;opacity:.76}.splash-title{font-size:clamp(30px,6vw,54px);line-height:1.02;margin:0}.splash-title span,.splash-title strong,.splash-powered span,.splash-powered b{display:block;opacity:0;transform:translateY(18px);animation:wordRise .72s cubic-bezier(.2,.9,.2,1) forwards}.splash-title strong{animation-delay:.25s;color:#e9fffb;text-shadow:0 0 24px rgba(255,255,255,.24)}.splash-powered{font-size:clamp(16px,2.4vw,22px);margin:20px 0 0;opacity:.92}.splash-powered span{animation-delay:.52s}.splash-powered b{animation-delay:.72s}.loader-line{height:4px;background:rgba(255,255,255,.18);border-radius:999px;margin:28px auto 0;overflow:hidden;max-width:260px}.loader-line i{display:block;height:100%;width:42%;border-radius:999px;background:white;animation:loadSweep 1.2s ease-in-out infinite}
@keyframes splashIn{from{opacity:0;transform:scale(.96) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes wordRise{to{opacity:1;transform:translateY(0)}}@keyframes loadSweep{0%{transform:translateX(-120%)}100%{transform:translateX(260%)}}@keyframes floatGlow{to{transform:translate3d(30px,28px,0) scale(1.08)}}@keyframes pulseMark{50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(255,255,255,.08)}}

.login{min-height:100vh;display:grid;place-items:center;padding:28px}.login-card{width:min(430px,100%);animation:fadeUp .45s ease both}.card{background:var(--surface);border:1px solid rgba(215,225,226,.9);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow-sm);margin-bottom:18px;backdrop-filter:blur(10px)}.card h2,.card h3,.card h4{margin-top:0;color:#102a2d}.card h3{font-size:22px}.wide{min-width:0}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
label{display:block;margin:13px 0 6px;color:var(--muted);font-size:13px;font-weight:650}input,textarea,select{width:100%;padding:12px 13px;border:1px solid var(--border);border-radius:14px;background:#fff;font:inherit;color:var(--ink);outline:none;transition:border-color .18s,box-shadow .18s,transform .18s}input:focus,textarea:focus,select:focus{border-color:rgba(1,105,111,.55);box-shadow:0 0 0 4px rgba(1,105,111,.12)}textarea{min-height:92px;resize:vertical}button{border:0;border-radius:14px;padding:11px 15px;cursor:pointer;background:#e8eeee;color:#172022;font-weight:750;display:inline-flex;gap:8px;align-items:center;justify-content:center;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(2,47,52,.1)}button:active{transform:translateY(0)}button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.primary{background:linear-gradient(135deg,var(--primary),var(--primary-3));color:white;box-shadow:0 12px 26px rgba(1,105,111,.22)}.danger{background:linear-gradient(135deg,var(--danger),#7a1f5a);color:white}.success{background:linear-gradient(135deg,var(--ok),#5e932e);color:white}.ghost{background:#fff;border:1px solid var(--border);box-shadow:none}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px;background:#f1f6f6;border:1px solid var(--border);padding:5px;border-radius:16px}.auth-tabs button{box-shadow:none;background:transparent}.auth-tabs button.active{background:#fff;color:var(--primary);box-shadow:0 8px 18px rgba(1,105,111,.08)}
.alert{background:var(--danger-bg);color:#7a1f1f;padding:12px 14px;border-radius:16px;margin:12px 0;border:1px solid rgba(161,44,123,.18)}.okmsg{background:var(--ok-bg);color:#265112;padding:12px 14px;border-radius:16px;margin:12px 0;border:1px solid rgba(67,122,34,.14)}
header{position:sticky;top:0;z-index:30;background:linear-gradient(135deg,rgba(1,105,111,.96),rgba(12,78,84,.96));color:white;padding:18px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 12px 32px rgba(1,105,111,.18);backdrop-filter:blur(14px)}header h1{margin:0;font-size:23px;letter-spacing:-.03em}header p{margin:5px 0 0;opacity:.86;font-size:13px}header button{background:rgba(255,255,255,.15);color:#fff;border:1px solid rgba(255,255,255,.18)}nav{position:sticky;top:78px;z-index:25;display:flex;gap:10px;padding:13px 30px;background:rgba(255,255,255,.86);border-bottom:1px solid rgba(215,225,226,.8);flex-wrap:wrap;backdrop-filter:blur(14px)}nav button{background:transparent;box-shadow:none;border:1px solid transparent;color:#365154}nav button:hover{background:#f0f7f7;box-shadow:none}nav button.active{background:#e5f4f4;color:var(--primary);border-color:rgba(1,105,111,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.45)}.app{padding:28px;max-width:1480px;margin:0 auto}.grid{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:20px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.toolbar{display:flex;justify-content:space-between;gap:14px;align-items:end;flex-wrap:wrap}.toolbar .search{display:grid;grid-template-columns:minmax(190px,300px) 190px 170px;gap:9px;align-items:end}.tools{display:flex;gap:9px;flex-wrap:wrap;margin:13px 0}.row{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.note{font-size:13px;color:#5d6f72;background:linear-gradient(180deg,#f6fafa,#eef5f5);padding:12px 13px;border:1px solid rgba(215,225,226,.8);border-radius:16px}.badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#e7f4f4;color:var(--primary);font-size:12px;font-weight:800;border:1px solid rgba(1,105,111,.12)}.pillbox{display:flex;gap:8px;flex-wrap:wrap}.pill{padding:8px 11px;border-radius:999px;background:#edf3f3;border:1px solid rgba(215,225,226,.9);font-size:13px}.small{font-size:12px;color:var(--muted)}
.table-wrap{border:1px solid var(--border);border-radius:18px;overflow:auto;background:#fff}.scroll{max-height:560px;overflow:auto}table{width:100%;border-collapse:separate;border-spacing:0;margin:0}th,td{text-align:left;border-bottom:1px solid #e6eeee;padding:12px 13px;font-size:14px;vertical-align:top}th{color:var(--primary);background:#f5f9f9;position:sticky;top:0;z-index:1;font-weight:850}tbody tr{transition:background .16s}tbody tr:hover td{background:#f6fbfb}tbody tr:last-child td{border-bottom:0}.status-generado,.status-enviado_correo,.status-impreso,.status-mensajeria,.status-devuelto,.status-notificado{border-radius:999px;padding:4px 8px}.status-generado{background:#edf3f3}.status-enviado_correo{background:#e8f0ff}.status-impreso{background:#f4f0e8}.status-mensajeria{background:#fff4d9}.status-devuelto{background:#ffe6e6;color:#7a1f1f}.status-notificado{background:#e9f5e5;color:#265112}.download{display:flex;gap:9px;align-items:center;margin:8px 0;color:var(--primary);font-weight:800;text-decoration:none}.download:hover{text-decoration:underline}.preview{background:#f9fbfb;border:1px dashed #b7c9ca;padding:14px;border-radius:16px;margin-top:12px;white-space:pre-wrap}.tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.tabs button.active{background:var(--primary);color:white}.modal-backdrop{position:fixed;inset:0;background:rgba(8,25,28,.44);display:grid;place-items:center;padding:20px;z-index:99;backdrop-filter:blur(6px)}.modal{background:white;border-radius:24px;max-width:760px;width:100%;max-height:90vh;overflow:auto;padding:24px;box-shadow:0 40px 90px rgba(0,0,0,.24)}.hidden{display:none!important}
footer{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;color:var(--muted);padding:24px 18px 30px;font-size:13px}footer a{color:var(--primary);font-weight:800;text-decoration:none}footer a:hover{text-decoration:underline}
@media(max-width:980px){nav{top:92px}.grid,.form-grid{grid-template-columns:1fr}.toolbar .search{grid-template-columns:1fr}.app{padding:16px}header{align-items:flex-start;gap:12px;flex-direction:column;padding:16px}nav{padding:10px 14px}.card{padding:17px;border-radius:18px}.scroll{max-height:none}table{min-width:760px}.splash-card{padding:34px 22px}.splash-title{font-size:38px}}
@media(max-width:560px){header h1{font-size:20px}nav{top:113px;gap:7px}nav button{padding:9px 10px;font-size:13px}.app{padding:12px}.login{padding:14px}button{width:auto}.tools button,.tools .pill{width:100%;justify-content:center}.splash-title{font-size:32px}.splash-powered{font-size:16px}}

/* =========================
   V10 UI Premium
   ========================= */
:root{
  --primary:#006f78;
  --primary-2:#004a50;
  --primary-3:#0aa3a7;
  --accent:#00d6c9;
  --gold:#d8b873;
  --ink:#15282c;
  --muted:#62777b;
  --surface:rgba(255,255,255,.88);
  --surface-strong:#ffffff;
  --border:rgba(180,205,207,.72);
  --shadow-sm:0 16px 44px rgba(1,52,58,.10);
  --shadow-lg:0 34px 90px rgba(1,52,58,.18);
  --radius:24px;
}
body{
  font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color:var(--ink);
  background:
    radial-gradient(circle at 8% 5%, rgba(0,214,201,.16), transparent 34rem),
    radial-gradient(circle at 92% 12%, rgba(216,184,115,.15), transparent 28rem),
    linear-gradient(180deg,#f7fbfb 0%,#eef6f6 50%,#f7faf9 100%);
}
body::before{
  background-image:
    linear-gradient(rgba(0,111,120,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(0,111,120,.04) 1px,transparent 1px);
  background-size:42px 42px;
}
.card{
  border:1px solid rgba(190,212,214,.78);
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82));
  box-shadow:var(--shadow-sm);
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:3px;
  background:linear-gradient(90deg,transparent,var(--accent),var(--primary),transparent);
  opacity:.7;
}
.card h2,.card h3,.card h4{letter-spacing:-.035em}
header{
  background:
    radial-gradient(circle at 6% 0%,rgba(255,255,255,.24),transparent 18rem),
    linear-gradient(135deg,rgba(0,83,91,.97),rgba(2,44,49,.97));
  border-bottom:1px solid rgba(255,255,255,.12);
}
header h1{font-weight:850}
nav{
  box-shadow:0 10px 32px rgba(2,47,52,.06);
}
nav button{
  border-radius:999px;
  font-weight:800;
}
nav button.active{
  background:linear-gradient(135deg,rgba(0,111,120,.13),rgba(0,214,201,.13));
  border-color:rgba(0,111,120,.22);
}
input,textarea,select{
  background:rgba(255,255,255,.94);
  border-color:rgba(174,198,201,.86);
}
button.primary,.primary{
  background:linear-gradient(135deg,#007982,#003f46 72%,#023034);
  box-shadow:0 16px 32px rgba(0,111,120,.24);
}
button.primary:hover,.primary:hover{
  box-shadow:0 20px 38px rgba(0,111,120,.29);
}
.table-wrap{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.85),0 14px 34px rgba(2,47,52,.05);
}
th{
  background:linear-gradient(180deg,#f6fbfb,#edf6f6);
  font-size:13px;
  letter-spacing:.01em;
}
td{background:rgba(255,255,255,.62)}
tbody tr:hover td{background:rgba(232,247,247,.72)}
.badge,.pill{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.8);
}
.login-card{
  box-shadow:var(--shadow-lg);
  background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,255,255,.86));
}
footer{
  border-top:1px solid rgba(190,212,214,.64);
  background:rgba(255,255,255,.48);
  backdrop-filter:blur(14px);
}

/* Splash premium: only Powered by Grummdetech */
.splash-v10{
  isolation:isolate;
  background:
    radial-gradient(circle at 15% 20%,rgba(0,214,201,.34),transparent 22rem),
    radial-gradient(circle at 78% 18%,rgba(216,184,115,.28),transparent 18rem),
    radial-gradient(circle at 50% 86%,rgba(1,105,111,.52),transparent 24rem),
    linear-gradient(135deg,#06181c 0%,#082b31 42%,#004d55 100%);
}
.splash-v10::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.08) 38%,transparent 54%);
  transform:translateX(-120%);
  animation:splashSheen 5s ease-in-out infinite;
}
.splash-bg-grid{
  position:absolute;
  inset:-2px;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at center,black,transparent 72%);
  opacity:.62;
  animation:gridDrift 13s linear infinite;
}
.splash-orb{
  position:absolute;
  border-radius:999px;
  filter:blur(34px);
  opacity:.65;
  mix-blend-mode:screen;
  animation:orbFloat 5.2s ease-in-out infinite alternate;
}
.orb-one{width:340px;height:340px;background:#00d6c9;top:-110px;left:-80px}
.orb-two{width:280px;height:280px;background:#d8b873;right:-80px;top:9%;animation-delay:.6s}
.orb-three{width:360px;height:360px;background:#006f78;left:44%;bottom:-160px;animation-delay:1.1s}
.splash-shell{
  width:min(720px,94vw);
  position:relative;
  padding:46px 36px 42px;
  border-radius:38px;
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.075));
  border:1px solid rgba(255,255,255,.20);
  box-shadow:0 44px 120px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.18);
  backdrop-filter:blur(22px);
  animation:splashShellIn .9s cubic-bezier(.18,.9,.18,1) both;
}
.splash-shell::before{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:28px;
  border:1px solid rgba(255,255,255,.08);
  pointer-events:none;
}
.brand-orbit{
  position:relative;
  width:132px;
  height:132px;
  margin:0 auto 24px;
  display:grid;
  place-items:center;
}
.brand-core{
  width:70px;
  height:70px;
  border-radius:24px;
  display:grid;
  place-items:center;
  font-size:34px;
  font-weight:950;
  letter-spacing:-.08em;
  color:#eafffb;
  background:linear-gradient(135deg,rgba(255,255,255,.24),rgba(255,255,255,.08));
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 18px 48px rgba(0,0,0,.24),0 0 38px rgba(0,214,201,.22);
  animation:corePulse 2.2s ease-in-out infinite;
}
.orbit{
  position:absolute;
  inset:10px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.24);
}
.orbit-a{animation:spinOrbit 4.2s linear infinite;border-top-color:var(--accent);border-right-color:rgba(0,214,201,.42)}
.orbit-b{inset:22px;transform:rotate(60deg);animation:spinOrbit 3.4s linear infinite reverse;border-bottom-color:var(--gold);border-left-color:rgba(216,184,115,.46)}
.orbit-dot{position:absolute;width:10px;height:10px;border-radius:999px;background:#eafffb;box-shadow:0 0 18px rgba(234,255,251,.85)}
.dot-a{top:13px;left:61px;animation:dotPulse 1.7s ease-in-out infinite}
.dot-b{right:20px;bottom:27px;background:#d8b873;animation:dotPulse 1.7s ease-in-out infinite .35s}
.power-kicker{
  margin:0 0 10px;
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:12px;
  color:rgba(234,255,251,.72);
  font-weight:800;
  animation:fadeUpV10 .7s ease .2s both;
}
.grumm-title{
  margin:0;
  display:flex;
  justify-content:center;
  gap:.025em;
  font-size:clamp(42px,9vw,86px);
  line-height:.92;
  letter-spacing:-.075em;
  font-weight:950;
  color:#ffffff;
  text-shadow:0 0 30px rgba(0,214,201,.24),0 12px 44px rgba(0,0,0,.28);
}
.grumm-title span{
  display:inline-block;
  opacity:0;
  transform:translateY(28px) rotateX(40deg);
  animation:letterLift .72s cubic-bezier(.2,.88,.2,1) forwards;
}
.grumm-title span:nth-child(1){animation-delay:.28s}.grumm-title span:nth-child(2){animation-delay:.34s}.grumm-title span:nth-child(3){animation-delay:.40s}.grumm-title span:nth-child(4){animation-delay:.46s}.grumm-title span:nth-child(5){animation-delay:.52s}.grumm-title span:nth-child(6){animation-delay:.58s}.grumm-title span:nth-child(7){animation-delay:.64s}.grumm-title span:nth-child(8){animation-delay:.70s}.grumm-title span:nth-child(9){animation-delay:.76s}.grumm-title span:nth-child(10){animation-delay:.82s}.grumm-title span:nth-child(11){animation-delay:.88s}
.splash-subline{
  margin:18px 0 0;
  color:rgba(234,255,251,.78);
  font-size:clamp(14px,2vw,18px);
  letter-spacing:.02em;
  animation:fadeUpV10 .75s ease 1.08s both;
}
.splash-progress{
  height:5px;
  width:min(320px,70vw);
  margin:34px auto 0;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  overflow:hidden;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.18);
}
.splash-progress i{
  display:block;
  height:100%;
  width:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,rgba(255,255,255,.6),var(--accent),#fff,var(--gold));
  transform-origin:left;
  animation:progressFive 5s linear both;
}
@keyframes splashSheen{0%{transform:translateX(-130%)}55%,100%{transform:translateX(130%)}}
@keyframes gridDrift{to{transform:translate3d(44px,44px,0)}}
@keyframes orbFloat{to{transform:translate3d(26px,24px,0) scale(1.08)}}
@keyframes splashShellIn{from{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes spinOrbit{to{transform:rotate(360deg)}}
@keyframes corePulse{50%{transform:scale(1.045);box-shadow:0 20px 54px rgba(0,0,0,.27),0 0 54px rgba(0,214,201,.34)}}
@keyframes dotPulse{50%{transform:scale(1.45);opacity:.68}}
@keyframes fadeUpV10{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@keyframes letterLift{to{opacity:1;transform:translateY(0) rotateX(0)}}
@keyframes progressFive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@media(max-width:560px){
  .splash-shell{padding:38px 20px 34px;border-radius:30px}
  .brand-orbit{width:112px;height:112px;margin-bottom:20px}
  .brand-core{width:62px;height:62px;border-radius:21px;font-size:30px}
  .grumm-title{font-size:42px;letter-spacing:-.08em}
  .power-kicker{letter-spacing:.24em}
}
