/* Auth page styles — extracted verbatim from design-reference/files/page-auth.html */
body{background:var(--page);}
.orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;}
.o1{top:-130px;right:-90px;width:340px;height:340px;background:radial-gradient(circle,rgba(91,91,239,.16),transparent 70%);}
.o2{bottom:-150px;left:-90px;width:320px;height:320px;background:radial-gradient(circle,rgba(217,119,6,.10),transparent 70%);}

.field{margin-bottom:15px;}
.field label{display:block;font-size:13px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.field .req{color:var(--danger);}
.field .opt{color:var(--muted);font-weight:400;font-size:12px;}
.field .hint{font-size:12px;color:var(--muted);margin-top:6px;}
.inp{display:flex;align-items:center;gap:9px;border:1.5px solid var(--line2);border-radius:var(--r-btn);padding:0 12px;background:#fff;height:46px;}
.inp:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100);}
.ta{width:100%;border:1.5px solid var(--line2);border-radius:var(--r-btn);padding:12px 14px;font-size:15px;font-family:inherit;color:var(--ink);background:#fff;resize:vertical;line-height:1.5;}
.ta:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100);}
.ok-msg{background:var(--success-bg);color:var(--success);border-radius:var(--r-btn);padding:12px 14px;font-size:13.5px;font-weight:600;margin-bottom:16px;}
.inp i{color:var(--muted);width:17px;height:17px;flex:none;}
.inp input{border:none;outline:none;flex:1;font-size:15px;font-family:inherit;color:var(--ink);background:none;height:100%;}
.inp .prefix{font-weight:700;color:var(--body);font-size:15px;border-right:1px solid var(--line2);padding-right:10px;}
.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;color:var(--body);cursor:pointer;margin-bottom:16px;}
.checkbox input{margin-top:2px;width:16px;height:16px;accent-color:var(--primary);flex:none;}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:14px 0;}
.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line);}
.legal{font-size:11.5px;color:var(--muted);text-align:center;line-height:1.5;margin:14px 0 0;}
.legal a{color:var(--primary-d);}
.otp{display:flex;gap:9px;}
.otp .b{flex:1;height:52px;display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:800;border:1.5px solid var(--line2);border-radius:var(--r-btn);color:var(--ink);}
.otp .b.f{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-100);}
.otp .b.cursor{border-color:var(--primary);}
.resend{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-top:15px;}
.linkb{background:none;border:none;color:var(--primary-d);font-weight:700;cursor:pointer;font-family:inherit;font-size:13px;padding:0;}
.trust{position:relative;margin-top:18px;display:flex;gap:16px;flex-wrap:wrap;justify-content:center;color:var(--muted);font-size:12.5px;font-weight:600;}
.trust span{display:inline-flex;align-items:center;gap:6px;}
.trust i{width:14px;height:14px;color:var(--success);}

/* Error state */
.err-msg{font-size:13px;color:var(--danger);margin:0 0 14px;padding:10px 12px;background:var(--danger-bg);border-radius:var(--r-btn);}

/* Login Page v2: centered white card on deep navy */
body.lp2{min-height:100vh;box-sizing:border-box;position:relative;overflow:hidden;background:#0B1120;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:28px 20px;margin:0;}
.lp2-orb{position:absolute;top:-220px;left:50%;transform:translateX(-50%);width:680px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(100,104,240,.3),rgba(100,104,240,0) 68%);pointer-events:none;}
.lp2-mark{position:absolute;right:-56px;bottom:-64px;width:250px;opacity:.08;filter:brightness(0) invert(1);pointer-events:none;}
.lp2-head{position:relative;text-align:center;}
.lp2-head .lg{height:24px;filter:brightness(0) invert(1);display:inline-block;}
.lp2-head .tagline{margin-top:8px;font-family:'Noto Sans Tamil',Inter,sans-serif;font-size:13px;font-weight:500;color:rgba(255,255,255,.7);}
.lp2-home{position:relative;width:100%;max-width:384px;display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.65);font-size:12.5px;font-weight:500;margin-bottom:-8px;}
.lp2-home:hover{color:#fff;}
.lp2-home svg{width:14px;height:14px;}
.lp2-card{position:relative;width:100%;max-width:384px;box-sizing:border-box;background:#fff;border-radius:14px;box-shadow:0 24px 60px rgba(0,0,0,.4);padding:26px 28px;}
.lp2-card h1.ap-h{font-size:21px;font-weight:600;letter-spacing:-.02em;color:var(--ink);margin:0;}
.lp2-card .sub{color:var(--muted);font-size:13.5px;font-weight:400;margin:6px 0 0;line-height:1.6;}
.lp2-card form{margin-top:16px;}
.lp2-card .field{margin-bottom:13px;}
.lp2-card .field label{font-size:12.5px;}
.lp2-card .inp{min-height:44px;height:44px;border-radius:8px;}
.lp2-card .inp input{font-size:14px;}
.lp2-card .checkbox{font-size:12.5px;margin-bottom:13px;}
.lp2-card .btn{padding:10px 16px;font-size:14px;}
.lp2-card .divider{font-size:12px;margin:12px 0;}
.lp2-card .legal{font-size:11.5px;margin:12px 0 0;line-height:1.6;}
.lp2-card .otp{gap:7px;}
.lp2-card .otp .b{height:48px;font-size:19px;border-radius:8px;}
.lp2-card .resend{font-size:12.5px;margin-top:13px;}
.lp2-card .linkb{font-size:12.5px;}
.ap-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;padding:0;margin:0 0 14px;cursor:pointer;color:var(--muted);font-size:12.5px;font-weight:500;text-decoration:none;}
.ap-back:hover{color:var(--primary);}
.ap-back svg{width:13px;height:13px;}
.lp2-trust{position:relative;display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;font-size:12px;font-weight:400;color:rgba(255,255,255,.6);}
.lp2-trust span{display:inline-flex;align-items:center;gap:7px;}
.lp2-trust svg{width:13px;height:13px;}
.lp2-trust .ok{color:#5AD8A0;}
.lp2-trust .ind{color:#A5A7F7;}
.lp2-trust .mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
@media(max-width:480px){
  .lp2-card{padding:22px 20px;}
  .lp2-trust{flex-direction:column;gap:8px;}
}

/* Submit-button loading spinner (btnloader.js adds .is-loading on submit) */
.btn.is-loading{position:relative;color:transparent !important;pointer-events:none;}
.btn.is-loading svg{visibility:hidden;}
.btn.is-loading::after{content:"";position:absolute;top:50%;left:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2.5px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:btnspin .7s linear infinite;}
.btn-outline.is-loading::after{border-color:rgba(91,91,239,.25);border-top-color:var(--primary);}
@keyframes btnspin{to{transform:rotate(360deg);}}
