:root{
  --bg:#ffffff;
  --bg-soft:#f8f2e8;
  --text:#1d2433;
  --muted:#6f7281;
  --border:rgba(35,40,55,.10);
  --shadow:0 20px 60px rgba(35,40,55,.11);
  --shadow-soft:0 12px 32px rgba(35,40,55,.07);
  --radius:18px;
  --radius-sm:14px;
  --primary:#dfac55;
  --primary-2:#c17c32;
  --success:#12B76A;
  --warning:#F79009;
  --danger:#F04438;
}

html{scroll-behavior:smooth}
body{
  font-family:Inter, system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--text);
  background:var(--bg);
}

body.landing-home{
  background:
    radial-gradient(1000px 420px at 12% 0%, rgba(255,238,200,.58), transparent 62%),
    linear-gradient(180deg, #fffcf7 0%, #fff8ef 33%, #ffffff 72%, #fffdf9 100%);
}

.text-muted-2{color:var(--muted)!important}
.border-soft{border:1px solid var(--border)}
.shadow-soft{box-shadow:var(--shadow-soft)}
.shadow-wow{box-shadow:var(--shadow)}
.rounded-xl{border-radius:var(--radius)!important}
.rounded-lg2{border-radius:var(--radius-sm)!important}
.bg-soft{background:var(--bg-soft)}

.btn{border-radius:14px;padding:.76rem 1.10rem;font-weight:700;transition:transform .18s ease, box-shadow .18s ease, filter .18s ease}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:linear-gradient(135deg,var(--primary),var(--primary-2));border:none;box-shadow:0 14px 30px rgba(193,124,50,.24);color:#fff}
.btn-primary:hover{filter:brightness(1.02);box-shadow:0 18px 34px rgba(193,124,50,.30)}
.btn-outline-primary{border-color:rgba(193,124,50,.28);color:var(--text);background:rgba(255,250,242,.82)}
.btn-outline-primary:hover{background:rgba(255,244,224,.98);border-color:rgba(193,124,50,.48);color:var(--text)}

.nav-blur{background:rgba(255,253,249,.78);backdrop-filter:blur(14px);border-bottom:1px solid rgba(176,140,87,.10)}

.hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(1150px 620px at 10% 8%, rgba(255,233,187,.72), transparent 58%),
    radial-gradient(980px 520px at 90% 12%, rgba(247,203,123,.34), transparent 56%),
    radial-gradient(720px 320px at 62% 0%, rgba(255,246,215,.92), transparent 60%),
    linear-gradient(180deg, #fffcf7 0%, #fff6eb 45%, #fffaf3 100%);
}
.hero::before{
  content:"";
  position:absolute;
  inset:-16% -10% auto auto;
  width:760px;
  height:760px;
  background:url('../img/hero-sunburst.svg') center/contain no-repeat;
  opacity:.34;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  inset:auto auto -180px -180px;
  width:520px;
  height:520px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(235,198,132,.16) 0%, rgba(235,198,132,0) 72%);
  filter:blur(6px);
  pointer-events:none;
}
.hero-light{
  position:absolute;
  width:320px;
  height:320px;
  border-radius:50%;
  pointer-events:none;
  filter:blur(28px);
  opacity:.7;
}
.hero-light-left{
  left:-110px;
  top:90px;
  background:radial-gradient(circle, rgba(255,248,226,.95) 0%, rgba(255,225,170,.45) 38%, rgba(255,225,170,0) 72%);
}
.hero-light-right{
  right:10%;
  top:20px;
  background:radial-gradient(circle, rgba(255,248,226,.98) 0%, rgba(255,210,120,.55) 36%, rgba(255,210,120,0) 72%);
}
.hero .container{position:relative;z-index:2}
.hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.55rem .88rem;
  border-radius:999px;
  font-size:.86rem;
  font-weight:800;
  letter-spacing:.02em;
  color:#8a5f21;
  border:1px solid rgba(193,124,50,.18);
  background:rgba(255,250,242,.86);
  box-shadow:0 10px 24px rgba(193,124,50,.08);
}
.hero h1{
  max-width:11ch;
  color:#25273a;
  text-wrap:balance;
}
.hero p.lead{max-width:60ch}
.badge-soft{
  display:inline-flex;align-items:center;gap:.45rem;
  padding:.46rem .76rem;border-radius:999px;
  border:1px solid rgba(176,140,87,.14);
  background:rgba(255,255,255,.64);
  backdrop-filter:blur(8px);
  color:var(--text);font-weight:700;font-size:.88rem;
}

.card-wow{
  border:1px solid rgba(176,140,87,.12);
  border-radius:var(--radius);
  box-shadow:var(--shadow-soft);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,251,245,.94));
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow:hidden;
  backdrop-filter:blur(6px);
}
.card-wow:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(193,124,50,.18)}

.icon-circle{
  width:48px;height:48px;border-radius:15px;
  background:linear-gradient(135deg, rgba(255,240,210,.94), rgba(240,212,170,.62));
  display:flex;align-items:center;justify-content:center;
  border:1px solid rgba(193,124,50,.16);
  color:#9a6928;
  box-shadow:0 10px 22px rgba(193,124,50,.10);
}

.section{padding:84px 0}
@media (max-width:768px){.section{padding:58px 0}}

.hero-media-wrap{
  position:relative;
  padding:18px;
  border-radius:34px;
  background:linear-gradient(180deg, rgba(255,255,255,.42), rgba(255,255,255,.16));
  border:1px solid rgba(255,255,255,.48);
  box-shadow:0 22px 70px rgba(193,124,50,.10);
  backdrop-filter:blur(10px);
}
.hero-sun-symbol{
  position:absolute;
  right:-24px;
  top:-28px;
  width:132px;
  height:132px;
  border-radius:50%;
  background:
    radial-gradient(circle, rgba(255,246,215,.95) 0%, rgba(255,230,170,.85) 36%, rgba(255,210,120,.32) 58%, rgba(255,210,120,0) 74%);
  box-shadow:0 0 44px rgba(255,210,120,.36);
}
.hero-sun-symbol::before,
.hero-sun-symbol::after{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:50%;
  border:1px solid rgba(193,124,50,.22);
}
.hero-sun-symbol::after{inset:-10px;border-color:rgba(193,124,50,.12)}
.hero-img{
  position:relative;
  z-index:2;
  width:100%;
  border-radius:26px;
  border:1px solid rgba(176,140,87,.16);
  box-shadow:0 24px 70px rgba(73,48,21,.12);
  object-fit:cover;
  max-height:500px;
}
.hero-floating-card{
  position:absolute;
  left:26px;
  bottom:24px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  padding:.82rem 1rem;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.62);
  backdrop-filter:blur(10px);
  box-shadow:0 14px 30px rgba(35,40,55,.10);
  font-weight:700;
  color:#4b3a24;
}
.hero-floating-dot{
  width:10px;
  height:10px;
  border-radius:50%;
  background:linear-gradient(180deg, #ffd874, #d9963b);
  box-shadow:0 0 0 6px rgba(255,216,116,.18);
}

.faq .accordion-button{font-weight:700;border-radius:14px!important;background:#fffdf9}
.faq .accordion-item{border:1px solid rgba(176,140,87,.14);border-radius:16px;overflow:hidden;background:#fff}

.footer-link{color:rgba(255,255,255,.78);text-decoration:none}
.footer-link:hover{color:#fff;text-decoration:underline}

.page-head{padding:26px 0 10px}

.kpi{
  border:1px solid var(--border);
  border-radius:18px;background:#fff;
  box-shadow:var(--shadow-soft);padding:16px;
}
.kpi .label{color:var(--muted);font-weight:600;font-size:.92rem}
.kpi .value{font-size:1.7rem;font-weight:800}

.table thead th{
  color:var(--muted);font-weight:700;font-size:.92rem;
  border-bottom:1px solid var(--border);
}

.status-pill{
  font-weight:800;font-size:.85rem;
  padding:.35rem .62rem;border-radius:999px;
  display:inline-block;border:1px solid var(--border);
  background:rgba(16,24,40,.03);
}
.status-PENDIENTE{background:rgba(247,144,9,.12);border-color:rgba(247,144,9,.25)}
.status-APROBADA{background:rgba(18,183,106,.12);border-color:rgba(18,183,106,.25)}
.status-NEGADA{background:rgba(240,68,56,.12);border-color:rgba(240,68,56,.25)}
.status-CANCELADA{background:rgba(102,112,133,.12);border-color:rgba(102,112,133,.25)}

.small-help{font-size:.92rem;color:var(--muted)}

@media (max-width:991.98px){
  .hero h1{max-width:unset}
  .hero::before{right:-160px;top:-40px;width:620px;height:620px;opacity:.26}
}

@media (max-width:767.98px){
  .hero-kicker{font-size:.82rem}
  .hero-media-wrap{padding:12px;border-radius:26px}
  .hero-sun-symbol{width:104px;height:104px;right:-12px;top:-14px}
  .hero-floating-card{left:18px;right:18px;bottom:16px;padding:.74rem .86rem;font-size:.92rem;justify-content:center}
  .hero-img{max-height:none;min-height:360px}
}


/* Branding refresh: selected EDT logo */
.brand-logo-link{
  min-width:0;
  display:inline-flex;
  align-items:center;
}
.brand-logo-nav{
  display:block;
  width:112px;
  max-width:24vw;
  height:auto;
  object-fit:contain;
}
.brand-logo-full{
  display:block;
  width:268px;
  max-width:100%;
  height:auto;
  object-fit:contain;
}
.brand-logo-full.brand-logo-compact{
  width:220px;
  max-width:62vw;
}
.brand-logo-mark{
  display:block;
  width:72px;
  height:auto;
  object-fit:contain;
}

.nav-blur .navbar-brand{
  padding-top:.1rem;
  padding-bottom:.1rem;
}
.footer-logo-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:.62rem .85rem;
  border-radius:18px;
  background:rgba(255,255,255,.96);
  border:1px solid rgba(255,255,255,.24);
  box-shadow:0 16px 34px rgba(0,0,0,.18);
}
.footer-logo-card img{
  width:230px;
  max-width:100%;
  height:auto;
}
.login-logo-full{
  display:block;
  width:260px;
  max-width:100%;
  height:auto;
  margin-bottom:1rem;
}
.nav-actions{
  flex-wrap:wrap;
}
@media (max-width:991.98px){
  .brand-logo-nav{width:98px;max-width:30vw}
  .brand-logo-full{width:236px;max-width:70vw}
  .brand-logo-full.brand-logo-compact{width:198px;max-width:64vw}
}
@media (max-width:575.98px){
  .nav-blur .container{
    gap:.75rem;
  }
  .brand-logo-nav{width:82px;max-width:34vw}
  .brand-logo-full{width:200px;max-width:74vw}
  .brand-logo-full.brand-logo-compact{width:176px;max-width:70vw}
  .nav-actions .btn{
    padding:.62rem .78rem;
    font-size:.88rem;
  }
  .footer-logo-card img{width:210px}
  .login-logo-full{width:230px}
}
