/* PetaniRapi v2.40 - first impression flow polish: Splash -> Landing -> Auth */
:root{
  --first-bg:#eef4ef;
  --first-surface:#ffffff;
  --first-line:#dfe9e3;
  --first-text:#17372a;
  --first-muted:#61766c;
  --first-green:#176b40;
}

/* Smooth handoff after splash */
body.guest-landing{background:linear-gradient(180deg,#f2f6f3 0%,var(--first-bg) 100%)!important}
body.guest-landing .phone-shell{transition:opacity .28s ease,transform .28s ease}
body.guest-landing:not(.is-loaded) .phone-shell{opacity:0;transform:translateY(4px)}
body.guest-landing.is-loaded .phone-shell{opacity:1;transform:none}

/* Splash: same brand language, one logo only */
.app-splash{background:linear-gradient(180deg,#f6faf7 0%,#edf4ef 100%)!important}
.app-splash-card{width:min(88vw,390px)!important;padding:24px 20px 28px!important;gap:15px!important;transform:translateY(-2vh)}
.app-splash-brand{width:100%!important;display:grid!important;place-items:center!important}
.app-splash-brand .splash-logo-primary{width:min(280px,76vw)!important;max-width:100%!important}
.app-splash-badge{min-height:40px!important;padding:9px 15px!important;border-radius:999px!important;box-shadow:0 8px 20px rgba(17,45,30,.05)!important}
.app-splash-copy{margin:2px 0 0!important;max-width:27ch!important;font-size:13px!important;line-height:1.58!important;color:#5c7268!important}
@media (prefers-color-scheme:dark){
  .app-splash{background:linear-gradient(180deg,#10251b 0%,#142c21 100%)!important}
  .app-splash-brand{width:min(330px,84vw)!important;padding:12px 14px!important;border-radius:22px!important;background:transparent!important;border:0!important;box-shadow:none!important}
  .app-splash-brand .splash-logo-primary{width:min(270px,70vw)!important;filter:drop-shadow(0 8px 20px rgba(0,0,0,.20))}
  .app-splash-badge{background:rgba(255,255,255,.08)!important;border-color:rgba(255,255,255,.10)!important;color:#edf8f1!important;box-shadow:none!important}
  .app-splash-copy{color:#c8d9d0!important}
}

/* Guest shell rhythm */
.guest-landing .phone-shell.landing-shell,
.guest-landing .phone-shell.auth-shell{background:linear-gradient(180deg,#fbfcfb 0%,#f5f8f6 100%)!important;box-shadow:0 18px 48px rgba(17,39,28,.08)!important}
.guest-landing .content{padding:14px!important}

/* Landing */
.landing-main-v223{padding:18px 16px 16px!important;border-radius:26px!important;background:#fff!important;border:1px solid var(--first-line)!important;box-shadow:0 12px 30px rgba(17,39,28,.055)!important;gap:13px!important}
.landing-brand-row-v240{justify-content:flex-start!important;margin:0 0 2px!important}
.landing-brand-row-v240 .landing-brand-lockup-v223{display:inline-flex!important;align-items:center!important}
.landing-brand-row-v240 .landing-wordmark-v224{display:block!important;width:min(220px,62vw)!important;max-width:100%!important;height:auto!important}
.landing-copy-v223{padding-top:2px!important}
.landing-copy-v223 .landing-kicker-v223{font-size:11.5px!important;letter-spacing:.06em!important;color:#71847a!important}
.landing-copy-v223 h1{font-size:29px!important;line-height:1.07!important;margin-top:5px!important;max-width:370px!important}
.landing-copy-v223 p{margin-top:9px!important;font-size:13.5px!important;line-height:1.52!important;color:var(--first-muted)!important}
.landing-feature-list-v223{grid-template-columns:1fr 1fr!important;gap:8px!important}
.landing-feature-v223{min-height:68px!important;padding:10px 11px!important;border-radius:17px!important;background:#fafcfb!important;border:1px solid #e5ece7!important}
.landing-feature-v223>span{width:36px!important;height:36px!important;border-radius:13px!important}
.landing-feature-v223 strong{font-size:13px!important;line-height:1.2!important}
.landing-feature-v223 small{font-size:11.5px!important;line-height:1.35!important}
.landing-photo-v223{border-radius:20px!important;border-color:#dfe9e3!important;box-shadow:none!important}
.landing-photo-v223 img{height:150px!important;aspect-ratio:auto!important;object-fit:cover!important;object-position:center 37%!important}
.landing-photo-caption-v223{padding:10px 12px!important;background:linear-gradient(180deg,rgba(17,59,38,.05),rgba(14,55,35,.48))!important}
.landing-actions-v223{gap:8px!important}
.landing-actions-v223 .btn{min-height:50px!important;border-radius:16px!important}
.landing-main-cta-v223{font-size:15px!important}
.landing-install-cta-v223{background:#f3f7f4!important;border:1px solid #dce8e1!important}
.landing-login-v223{padding:5px 0 0!important;text-align:center!important;font-size:12.5px!important;color:#667b70!important}
.landing-trust-v223{justify-content:center!important;font-size:11.5px!important;color:#6c8176!important}
.landing-steps-v223{margin-top:12px!important;padding:16px!important;border-radius:24px!important;box-shadow:none!important;border-color:var(--first-line)!important}

/* Auth hero: same geometry as landing, correct logo for green surface */
.auth-brand-compact-v215{padding:16px 14px 14px!important;border-radius:26px!important;background:linear-gradient(155deg,#177347 0%,#125c39 62%,#104d32 100%)!important;box-shadow:0 12px 28px rgba(18,67,43,.11)!important;text-align:center!important}
.auth-brand-compact-v215 .auth-brand-row{display:flex!important;justify-content:center!important;margin-bottom:9px!important}
.auth-brand-compact-v215 .auth-wordmark-v224{display:block!important;width:min(220px,66vw)!important;max-width:100%!important;height:auto!important;filter:none!important}
.auth-brand-copy{margin-top:0!important}
.auth-eyebrow-v215{font-size:11px!important;letter-spacing:.075em!important;color:rgba(255,255,255,.76)!important}
.auth-brand-copy h1{font-size:26px!important;line-height:1.08!important;margin:6px auto 0!important;max-width:12ch!important;color:#fff!important}
.auth-brand-copy p{font-size:13px!important;line-height:1.5!important;margin:8px auto 0!important;max-width:36ch!important;color:rgba(255,255,255,.86)!important}
.auth-header-mini-visual-v228{height:64px!important;margin:12px 0 10px!important;border-radius:17px!important;border:1px solid rgba(255,255,255,.13)!important;box-shadow:none!important}
.auth-header-mini-visual-login{background-position:center center!important}
.auth-header-mini-visual-register{background-position:center 42%!important}
.auth-usp-text-v228{gap:7px!important}
.auth-usp-text-v228 span{min-height:34px!important;padding:6px 9px!important;border-radius:13px!important;font-size:11.5px!important;background:rgba(255,255,255,.095)!important;border-color:rgba(255,255,255,.12)!important}
.auth-microproof-v228{margin-top:8px!important;font-size:10.8px!important;color:rgba(255,255,255,.76)!important}
.auth-switch-v215{margin:10px 0!important;padding:4px!important;border-radius:16px!important;background:#f2f6f3!important;border:1px solid var(--first-line)!important}
.auth-switch-v215 a{min-height:39px!important;border-radius:12px!important;font-size:12px!important}
.auth-card-v215{padding:14px!important;border-radius:20px!important;border:1px solid var(--first-line)!important;background:#fff!important;box-shadow:none!important;gap:10px!important}
.auth-card-v215 label{font-size:12.5px!important;color:#304d41!important}
.auth-card-v215 input{min-height:46px!important;border-radius:14px!important;font-size:14px!important}
.auth-primary-v215{min-height:50px!important;border-radius:16px!important;font-size:14px!important}
.auth-inline-links{font-size:12px!important;margin-top:2px!important}
.auth-bottom-note-v215{padding-top:10px!important;font-size:11.5px!important;line-height:1.45!important}
.auth-back-link-v215{margin-top:4px!important;font-size:11.5px!important}

@media (max-width:390px){
  .guest-landing .content{padding:12px!important}
  .landing-main-v223{padding:15px 13px!important;border-radius:24px!important}
  .landing-copy-v223 h1{font-size:26px!important}
  .landing-feature-list-v223{grid-template-columns:1fr!important}
  .landing-photo-v223 img{height:142px!important}
  .auth-brand-compact-v215{padding:14px 12px 12px!important;border-radius:24px!important}
  .auth-brand-copy h1{font-size:24px!important;max-width:13ch!important}
  .auth-header-mini-visual-v228{height:58px!important}
  .auth-usp-text-v228{grid-template-columns:1fr 1fr!important}
  .auth-usp-text-v228 span:nth-child(3){grid-column:1/-1!important}
}
@media (max-width:340px){
  .landing-brand-row-v240 .landing-wordmark-v224{width:min(200px,68vw)!important}
  .landing-copy-v223 h1{font-size:24px!important}
  .auth-brand-compact-v215 .auth-wordmark-v224{width:min(200px,70vw)!important}
  .auth-brand-copy h1{font-size:22px!important}
}
@media (prefers-reduced-motion:reduce){
  body.guest-landing .phone-shell{transition:none!important}
}
