/* Halaman masuk SocoApp V3 (2026-10-29): dua panel, kode masuk email. Semua kelas diawali lv3- supaya tidak bentrok dengan CSS lama. */
#login.lv3{--lv-bg:#eef4f8;--lv-card:#fff;--lv-ink:#1d3d5c;--lv-text:#333;--lv-muted:#55626e;--lv-faint:#8a97a3;--lv-line:#e6eef4;--lv-field:#f8fbfd;--lv-soft:#f3f8fb;--lv-tint:#eef6fc;--lv-acc:#285279;--lv-acc-h:#1d3d5c;--lv-warn-bg:#fde7dc;--lv-warn-tx:#9a3412;--lv-warn-field:#fff8f4;--lv-orange:#ef6f3a;
  position:fixed;inset:0;z-index:50;overflow:auto;background:var(--lv-bg);color:var(--lv-text);font-family:"Plus Jakarta Sans","Segoe UI",system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}
#login.lv3.hidden{display:none}
#login.lv3 *{box-sizing:border-box}
#login.lv3 button,#login.lv3 input{font-family:inherit}
#login.lv3 :focus-visible{outline:3px solid #7fbfe6;outline-offset:2px}
#login.lv3 svg .p{fill:#285279}#login.lv3 svg .s{fill:#a9d8f2}#login.lv3 svg .k{fill:none;stroke:#285279;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
#login.lv3 .lv3-inv svg .p{fill:#fff}#login.lv3 .lv3-inv svg .s{fill:#7fbfe6}#login.lv3 .lv3-inv svg .k{stroke:#fff}
.lv3-ti{width:34px;height:34px;flex:none;border-radius:11px;background:var(--lv-tint);display:inline-flex;align-items:center;justify-content:center}
.lv3-ti.lv3-inv{background:#33679a}

.lv3-page{min-height:100%;padding:16px;display:flex;flex-wrap:wrap;gap:16px}
.lv3-art{position:relative;overflow:hidden;flex:1 1 520px;min-height:560px;background:#c8e8fa;border-radius:32px;padding:36px 40px 44px;display:flex;flex-direction:column;justify-content:space-between;gap:28px;color:#1d3d5c}
.lv3-art .lv3-o{position:absolute;border-radius:50%}
.lv3-logo{position:relative;height:34px;width:auto;align-self:flex-start}
.lv3-stage{position:relative;align-self:center;width:480px;max-width:100%;height:340px}
.lv3-vis{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:300px;height:300px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center}
.lv3-vis img{width:240px;height:240px;object-fit:contain}
.lv3-fb{position:absolute;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(29,61,92,.12);animation:lv3-fl 6s ease-in-out infinite}
.lv3-fb.w{background:#fff}.lv3-fb.n{background:#285279}.lv3-fb.o{background:#ef6f3a}
#login.lv3 .lv3-fb svg .p{fill:#285279}#login.lv3 .lv3-fb svg .s{fill:#a9d8f2}
#login.lv3 .lv3-fb.n svg .p,#login.lv3 .lv3-fb.o svg .p{fill:#fff}#login.lv3 .lv3-fb.n svg .s{fill:#7fbfe6}#login.lv3 .lv3-fb.o svg .s{fill:#fde7dc}
.lv3-fd{position:absolute;border-radius:50%}
@keyframes lv3-fl{0%,100%{translate:0 0}50%{translate:0 -8px}}
@media(prefers-reduced-motion:reduce){.lv3-fb{animation:none}}
.lv3-copy{position:relative;display:flex;flex-direction:column;gap:10px;max-width:460px}
.lv3-copy h1{margin:0;font-size:40px;line-height:1.15;font-weight:800;color:#1d3d5c;text-wrap:balance}
.lv3-copy p{margin:0;font-size:16px;line-height:1.6;color:#33679a;font-weight:500}

.lv3-panel{flex:1 1 460px;min-width:0;background:var(--lv-card);border-radius:32px;padding:40px 24px;display:flex;align-items:center;justify-content:center}
.lv3-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:18px}
.lv3-steps{display:flex;gap:6px;flex-wrap:wrap}
.lv3-sp{height:28px;padding:0 11px 0 4px;border-radius:99px;background:var(--lv-soft);color:var(--lv-muted);font-size:12px;font-weight:700;display:inline-flex;align-items:center;gap:7px}
.lv3-sp i{width:20px;height:20px;border-radius:99px;background:#fff;color:var(--lv-acc);font-style:normal;font-size:11px;font-weight:800;display:inline-flex;align-items:center;justify-content:center}
.lv3-sp.on{background:#285279;color:#fff}.lv3-sp.on i{background:#33679a;color:#fff}
.lv3-hd{display:flex;flex-direction:column;gap:6px}
.lv3-hd h2{margin:0;font-size:30px;line-height:1.2;font-weight:800;color:var(--lv-ink);text-wrap:balance}
.lv3-hd p{margin:0;font-size:15px;line-height:1.55;color:var(--lv-muted)}
.lv3-hd p b{color:var(--lv-ink);font-weight:700}
.lv3-f{display:flex;flex-direction:column;gap:8px;margin:0}
.lv3-l{font-size:13px;font-weight:700;color:var(--lv-ink)}
.lv3-wrap{position:relative;display:block}
.lv3-wrap .lv3-ti{position:absolute;left:8px;top:8px;width:36px;height:36px;border-radius:12px;pointer-events:none}
.lv3-in{display:block;height:52px;width:100%;margin:0;border-radius:14px;background:var(--lv-field);border:1.5px solid var(--lv-line);padding:0 14px 0 54px;font-size:16px;color:var(--lv-text);box-shadow:none}
.lv3-in::placeholder{color:var(--lv-faint)}
.lv3-in:focus{outline:none;border-color:var(--lv-acc);background:#fff;box-shadow:none}
.lv3-in.err{border-color:var(--lv-orange);background:var(--lv-warn-field)}
.lv3-in.pw{padding-right:54px}
.lv3-eye{position:absolute;right:4px;top:4px;width:44px;height:44px;border:0;background:transparent;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;padding:0}
.lv3-eye:hover{background:var(--lv-tint)}
.lv3-alert{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:16px;background:var(--lv-warn-bg);color:var(--lv-warn-tx);font-size:14px;font-weight:600;line-height:1.45}
.lv3-alert .lv3-ti{width:28px;height:28px;border-radius:9px;background:#fff}
#login.lv3 .lv3-alert .lv3-ti svg .p{fill:#9a3412}#login.lv3 .lv3-alert .lv3-ti svg .s{fill:#f6b89c}
.lv3-alert small{display:block;font-size:13px;font-weight:500;margin-top:2px}
.lv3-chipn{margin-left:auto;flex:none;align-self:center;padding:3px 10px;border-radius:99px;background:#fff;font-size:12px;font-weight:700;white-space:nowrap}
.lv3-btn{height:56px;padding:0 22px 0 10px;border-radius:99px;border:0;font-size:15px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;white-space:nowrap;width:100%;text-decoration:none;margin:0}
.lv3-btn .lv3-ti{border-radius:99px}
.lv3-btn.pri{background:var(--lv-acc);color:#fff}.lv3-btn.pri:hover{background:var(--lv-acc-h)}
.lv3-btn.soft{background:var(--lv-soft);color:var(--lv-ink)}.lv3-btn.soft .lv3-ti{background:#fff}
.lv3-btn[disabled]{background:var(--lv-line);color:var(--lv-faint);cursor:not-allowed}
.lv3-btn[disabled] .lv3-ti{background:var(--lv-soft)}
.lv3-btn.busy{background:#4a86bd;color:#fff;cursor:progress}
.lv3-txt{align-self:flex-start;min-height:44px;padding:0 4px;border:0;background:transparent;display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--lv-acc);cursor:pointer;margin:0}
.lv3-txt:hover{text-decoration:underline}
.lv3-txt .lv3-ti{width:28px;height:28px;border-radius:99px}
.lv3-foot{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding-top:4px}
.lv3-foot span{font-size:13px;color:var(--lv-muted)}
.lv3-foot small{font-size:12px;color:var(--lv-faint)}
.lv3-code{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.lv3-code input{height:62px;min-width:0;width:100%;margin:0;text-align:center;border-radius:14px;background:var(--lv-field);border:1.5px solid var(--lv-line);font-size:26px;font-weight:800;color:var(--lv-ink);padding:0;box-shadow:none}
.lv3-code input:focus{outline:none;border-color:var(--lv-acc);background:#fff}
.lv3-code.bad input{border-color:var(--lv-orange);background:var(--lv-warn-field)}
.lv3-code input:disabled{background:var(--lv-soft);color:var(--lv-faint);border-color:var(--lv-line)}
@media(max-width:420px){.lv3-code input{height:54px;font-size:22px}.lv3-code{gap:6px}}
.lv3-big{width:72px;height:72px;border-radius:24px;background:var(--lv-tint);display:flex;align-items:center;justify-content:center}
.lv3-big svg{width:38px;height:38px}
.lv3-big.warn{background:var(--lv-warn-bg)}
#login.lv3 .lv3-big.warn svg .p{fill:#9a3412}#login.lv3 .lv3-big.warn svg .s{fill:#f6b89c}#login.lv3 .lv3-big.warn svg .k{stroke:#9a3412}
.lv3-timer{font-size:40px;font-weight:800;color:var(--lv-ink);font-variant-numeric:tabular-nums;letter-spacing:.02em}
.lv3-note{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--lv-soft);font-size:14px;line-height:1.5;color:var(--lv-ink)}
.lv3-note .lv3-ti{width:30px;height:30px;border-radius:10px;background:#fff}

@media(max-width:960px){
  .lv3-stage{width:380px;height:250px}.lv3-fb{scale:.8}.lv3-vis{width:200px;height:200px}.lv3-vis img{width:160px;height:160px}
  .lv3-art{min-height:auto;flex-basis:100%}.lv3-copy h1{font-size:30px}
}
@media(max-width:600px){
  .lv3-page{padding:0;gap:0;min-height:100%}
  .lv3-art{border-radius:0 0 32px 32px;padding:max(20px,env(safe-area-inset-top,0px)) 20px 44px;gap:8px}
  .lv3-stage{height:210px;width:100%}.lv3-vis{width:150px;height:150px}.lv3-vis img{width:120px;height:120px}
  .lv3-fb{scale:.62}
  .lv3-copy{display:none}
  .lv3-panel{border-radius:28px 28px 0 0;margin-top:-28px;position:relative;align-items:flex-start;padding:28px 20px calc(40px + env(safe-area-inset-bottom,0px));flex-basis:auto;flex-grow:1}
  .lv3-hd h2{font-size:26px}
}

.lv3-link{border:0;background:transparent;padding:12px 2px;margin:0;font:inherit;font-size:13px;font-weight:700;color:var(--lv-acc);text-decoration:underline;cursor:pointer}
.lv3-chk{display:flex;align-items:center;gap:10px;min-height:44px;margin:0;font-size:14px;font-weight:600;color:var(--lv-ink);cursor:pointer}
.lv3-chk input{width:22px;height:22px;margin:0;flex:none;accent-color:#285279;cursor:pointer}
.lv3-big.ok{background:#dcf3e6}
#login.lv3 .lv3-big.ok svg .p{fill:#17603a}#login.lv3 .lv3-big.ok svg .s{fill:#a6dcbd}#login.lv3 .lv3-big.ok svg .k{stroke:#17603a}
.lv3-rules{display:flex;flex-wrap:wrap;gap:8px}
.lv3-rule{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px 0 8px;border-radius:99px;background:var(--lv-soft);color:var(--lv-muted);font-size:12px;font-weight:700}
.lv3-rule i{width:16px;height:16px;border-radius:99px;border:2px solid var(--lv-faint);display:inline-block;position:relative}
.lv3-rule.ok{background:#dcf3e6;color:#17603a}
.lv3-rule.ok i{border:0;background:#17603a}
.lv3-rule.ok i::after{content:"";position:absolute;left:5px;top:2.5px;width:4px;height:8px;border:solid #dcf3e6;border-width:0 2px 2px 0;transform:rotate(45deg)}
#login.lv3 label.lv3-chk{display:flex;flex-direction:row;align-items:center;justify-content:flex-start;text-align:left;gap:10px}
#login.lv3 label.lv3-chk span{text-align:left}
.lv3-in.lv3-tc{padding:0 14px;text-align:center;font-size:22px;font-weight:800;letter-spacing:.2em;color:var(--lv-ink);text-transform:uppercase}
.lv3-in.lv3-tc::placeholder{letter-spacing:.2em;font-weight:600}
