:root{
  --app-navy:#0b1424;
  --app-navy-soft:#18243a;
  --app-violet:#715cff;
  --app-violet-dark:#5a47df;
  --app-violet-soft:#f0eeff;
  --app-mint:#36d6b3;
  --app-mint-soft:#e6faf5;
  --app-canvas:#f3f5f9;
  --app-line:#e0e5ee;
  --app-muted:#69768a;
  --app-shadow:0 22px 60px rgba(25,35,54,.12);
}

body.home-page,body.requests-page,body.request-form-page,body.error-page{
  background:
    radial-gradient(circle at 92% 4%,rgba(54,214,179,.09),transparent 27%),
    radial-gradient(circle at 8% 18%,rgba(113,92,255,.08),transparent 25%),
    var(--app-canvas);
}

/* Home */
.home-page header{
  border-color:rgba(255,255,255,.1);
  border-radius:26px;
  background:var(--app-navy);
  box-shadow:0 30px 80px rgba(11,20,36,.2);
}
.home-page header .header-content{position:relative;isolation:isolate}
.home-page header .header-content::after{
  content:"";position:absolute;z-index:-1;width:310px;height:310px;left:-150px;bottom:-190px;
  border:62px solid rgba(113,92,255,.09);border-radius:50%;
}
.home-page header h1{color:#fff;font-size:clamp(2.5rem,5vw,4.7rem)}
.home-page header .kicker{border:1px solid rgba(54,214,179,.2);border-radius:999px;background:rgba(54,214,179,.12);color:#86f1d8}
.home-page header .kicker::before{background:var(--app-mint);box-shadow:0 0 0 4px rgba(54,214,179,.12)}
.home-page .cities span{border-color:rgba(255,255,255,.12);border-radius:999px;background:rgba(255,255,255,.07);color:#c6cfdd}
.home-page .stat,.home-page .ptype{border-color:var(--app-line);border-radius:18px;box-shadow:0 10px 30px rgba(25,35,54,.055)}
.home-page .stat svg,.home-page .ptype svg{stroke:var(--app-violet)}
.home-page .code-access-submit{border-radius:11px;background:linear-gradient(135deg,var(--app-violet),#8d78ff);color:#fff;box-shadow:0 8px 20px rgba(113,92,255,.2)}
.home-page body>.code-access:last-of-type{background:var(--app-navy)}

/* Panel Mis solicitudes */
.requests-page .request-card{border-color:var(--app-line);border-radius:23px;box-shadow:0 12px 32px rgba(25,35,54,.07)}
.requests-page .cover{height:230px;background:#e8ebf1}
.requests-page .cover img{width:100%;height:100%;object-fit:cover;object-position:center}
.requests-page .card-action{background:linear-gradient(135deg,var(--app-violet),#8d78ff)}

/* Formulario */
.request-form-page{--ink:var(--app-navy-soft);--ink-soft:var(--app-muted);--green:var(--app-violet);--green-soft:var(--app-violet-soft);--gold:var(--app-mint);--canvas:var(--app-canvas);--line:var(--app-line)}
.request-form-page .intro{background:linear-gradient(145deg,rgba(11,20,36,.95),rgba(24,36,58,.86)),url('../images/property-2.avif') center/cover}
.request-form-page .intro h1 span{color:#9c8dff}
.request-form-page .eyebrow{border:1px solid rgba(54,214,179,.18);background:rgba(54,214,179,.1);color:#86f1d8}
.request-form-page .eyebrow::before{background:var(--app-mint)}
.request-form-page form,.request-form-page .info-panel{border-radius:24px;box-shadow:var(--app-shadow)}
.request-form-page .submit,.request-form-page .next-step{background:linear-gradient(135deg,var(--app-violet),#8d78ff);box-shadow:0 12px 26px rgba(113,92,255,.25)}
.request-form-page .submit:hover,.request-form-page .next-step:hover{background:linear-gradient(135deg,var(--app-violet-dark),#7862f2)}

/* Páginas de error */
.error-page{--ink:var(--app-navy-soft);--green:var(--app-violet);--green-soft:var(--app-violet-soft);--canvas:var(--app-canvas);--line:var(--app-line)}
.error-page .error-shell{border-radius:27px;box-shadow:0 30px 85px rgba(11,20,36,.16)}
.error-page .error-visual{background:var(--app-navy)}
.error-page .brand-mark{border-radius:11px;color:var(--app-violet);background:var(--app-violet-soft)}
.error-page .code-access-submit{background:linear-gradient(135deg,var(--app-violet),#8d78ff);box-shadow:0 9px 22px rgba(113,92,255,.22)}

@media(max-width:720px){
  .home-page header{width:calc(100% - 32px);border-radius:20px}
  .home-page .stats-section{padding-left:16px;padding-right:16px}
  .requests-page .cover{height:230px}
}
