/* Halaman masuk & lapor: panel merek di kiri (parallax ikut kursor), form di kanan */
body.auth{background:var(--bg)}
.authwrap{position:relative;display:grid;grid-template-columns:minmax(380px,44%) 1fr;max-width:1300px;width:calc(100% - 48px);min-height:calc(100vh - 48px);margin:24px auto 58px;border-radius:28px;background:var(--surface);box-shadow:0 24px 70px rgba(24,49,82,.18);animation:pop-in .6s var(--ease) both}

.authhero{--px:0;--py:0;position:relative;display:flex;flex-direction:column;gap:42px;padding:42px 52px;border-radius:28px 0 0 28px;overflow:hidden;color:#dbe6f6;background-color:var(--brand);background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0,rgba(255,255,255,.045) 1px,transparent 1px,transparent 25px),linear-gradient(160deg,var(--brand-2) 0%,#7f6c3d 28%,var(--brand) 58%,var(--brand-deep) 100%);background-position:calc(var(--px) * -30px) calc(var(--py) * -30px),0 0;perspective:900px}
/* cahaya lembut yang mengikuti kursor */
.authhero::before{content:"";position:absolute;inset:-20%;background:radial-gradient(420px circle at calc(50% + var(--px) * 60%) calc(50% + var(--py) * 60%),rgba(255,255,255,.14),transparent 60%);pointer-events:none}
.authhero>*{position:relative}
.authhero .brand{margin:0 0 14px;padding:10px 12px;border-radius:12px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.18);transform:translate3d(calc(var(--px) * -10px),calc(var(--py) * -10px),0) rotateX(calc(var(--py) * 6deg)) rotateY(calc(var(--px) * -6deg));transition:transform .2s ease-out}
.authhero .brand .logo{width:84px;height:84px;border-radius:8px;transform:perspective(600px) rotateY(-10deg);transition:transform .35s var(--ease)}
.authhero .brand .logo:hover{transform:perspective(600px) rotateY(10deg) translateY(-3px)}
.authhero .brand strong{font-size:30px;font-weight:800;letter-spacing:-.04em}
.authhero .brand small{font-size:16px;margin-top:8px}
.herotxt{max-width:660px;margin-top:18px;transform:translate3d(calc(var(--px) * 14px),calc(var(--py) * 14px),0);transition:transform .2s ease-out}
.herotxt h2{font-size:var(--fs-4xl);line-height:1.1;letter-spacing:-.035em;margin:0 0 16px;color:#fff;font-weight:800;max-width:10em;text-shadow:0 2px 0 rgba(0,0,0,.08),0 10px 30px rgba(0,0,0,.25)}
.herotxt p{color:rgba(255,255,255,.78);max-width:28em;font-size:15.5px;margin:0}
.herotxt ul{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:14px}
.herotxt li{display:flex;align-items:center;gap:12px;color:#fff;animation:pop-in .5s var(--ease) both}
.herotxt li:nth-child(2){animation-delay:.08s}.herotxt li:nth-child(3){animation-delay:.16s}
.herotxt li span{width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;display:grid;place-items:center;flex-shrink:0}

.authform{display:grid;place-items:center;padding:52px 60px;border-radius:0 28px 28px 0;background:var(--surface)}
.authcard{width:100%;max-width:500px}
.authcard h1{font-size:var(--fs-3xl);font-weight:800;letter-spacing:-.04em;margin:0 0 8px}
.authcard .sub{color:var(--mut);margin:0 0 30px;font-size:var(--fs-base)}
.authcard .form1{gap:18px}
.authcard .fld{gap:8px}
.authcard .fld>span{font-size:12.5px;font-weight:700;color:var(--ink2)}
.authcard input,.authcard select,.authcard textarea{border-radius:13px;border-color:#cbd6e5;background:#fbfdff}
[data-theme=dark] .authcard input,[data-theme=dark] .authcard select,[data-theme=dark] .authcard textarea{border-color:var(--line2);background:var(--surface2)}
.authcard .fld input{height:44px}
.authcard textarea{min-height:120px}
.authcard input:focus,.authcard select:focus,.authcard textarea:focus{box-shadow:0 0 0 4px color-mix(in srgb,var(--pri) 14%,transparent);transform:translateY(-1px)}
.authcard .btn.block{height:46px;border-radius:13px;margin-top:4px}
.authcard .center{margin:22px 0 0}
.authfoot{position:absolute;left:50%;bottom:-34px;transform:translateX(-50%);z-index:5;color:#63728a;font-size:var(--fs-xs);white-space:nowrap;text-align:center}

@media (max-width:960px){
  .authwrap{grid-template-columns:1fr;margin-bottom:52px}
  .authhero{padding:28px 24px;gap:28px;border-radius:28px 28px 0 0}
  .herotxt{margin-top:8px}.herotxt h2{font-size:32px}
  .authform{padding:32px 24px 44px;border-radius:0 0 28px 28px}
  .authfoot{bottom:-30px}
}
@media (max-width:700px){
  .authwrap{width:calc(100% - 24px);margin:12px auto 52px}
  .authhero{padding:22px 20px;gap:0}.authhero .herotxt{display:none}
  .authhero .brand .logo{width:56px;height:56px}.authhero .brand strong{font-size:22px}.authhero .brand small{font-size:13px;margin-top:4px}
  .authform{padding:28px 20px 40px;place-items:start center}
}
@media (max-width:480px){.authform{padding-top:24px}.authcard h1{font-size:25px}}

/* ---------- upgrade: latar 3D jaringan di panel merek ---------- */
.authwrap{box-shadow:0 30px 80px color-mix(in srgb,var(--brand) 22%,transparent)}
.authhero{isolation:isolate}
.authhero>.fx3d{position:absolute;inset:0;z-index:0;opacity:0;transition:opacity 1.2s var(--ease);pointer-events:none}
.authhero>.fx3d.fx3d-ready{opacity:1}
.authhero>*:not(.fx3d){z-index:1}
.authhero::after{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(40,5,18,.45))}
.herotxt h2{background:linear-gradient(100deg,#fff 30%,var(--lime));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none;filter:drop-shadow(0 8px 24px rgba(0,0,0,.25))}
.herotxt li span{background:var(--lime);color:var(--brand-deep)}
.authcard h1{background:linear-gradient(90deg,var(--ink) 40%,var(--pri));-webkit-background-clip:text;background-clip:text;color:transparent}
.authcard input,.authcard select,.authcard textarea{border-color:var(--line2);background:var(--surface2)}
.authcard .center a{font-weight:600}
body.auth{background:radial-gradient(900px 600px at 0% 0%,color-mix(in srgb,var(--brand-2) 16%,transparent),transparent 60%),radial-gradient(900px 600px at 100% 100%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 60%),var(--bg)}
.authform{position:relative}
.authform .theme-fab{position:absolute;top:18px;right:18px}
