/* ═══════════════════════════════════════════
   PPN v3 — Auth & Form Page Styles
   ═══════════════════════════════════════════ */

.pw-wrap { position:relative }
.pw-wrap input, .input-pw-wrap input { padding-right:46px }
.pw-toggle {
    position:absolute; right:10px; top:50%; transform:translateY(-50%);
    background:none; border:none; cursor:pointer; font-size:1.05rem;
    color:var(--n-300); padding:5px 8px; transition:color var(--duration);
}
.pw-toggle:hover { color:var(--primary) }
.input-pw-wrap { position:relative }
.input-pw-wrap .pw-toggle { right:10px }

.login-logo {
    width:64px; height:64px; border-radius:var(--radius-lg);
    border:2px solid var(--amethyst-200); margin:0 auto var(--sp-4);
    display:block; box-shadow:var(--shadow-glow);
}

.or-line { height:1px; background:var(--n-100); margin:var(--sp-5) 0; position:relative }
.or-line span {
    position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
    background:rgba(255,255,255,.8); padding:0 14px; font-size:.6875rem; color:var(--n-400);
}

.field-hint { font-size:.6875rem; color:var(--n-400); margin-top:3px }
.field-error { font-size:.6875rem; color:var(--scarlet); margin-top:3px; display:none }

.id-type-tabs { display:flex; gap:0; margin-bottom:10px }
.id-type-tab {
    flex:1; padding:9px 14px; text-align:center; font-size:.8125rem; font-weight:600;
    border:1px solid var(--n-150); cursor:pointer; transition:all .25s;
    background:rgba(255,255,255,.6);
}
.id-type-tab:first-child { border-radius:var(--radius-md) 0 0 var(--radius-md) }
.id-type-tab:last-child { border-radius:0 var(--radius-md) var(--radius-md) 0 }
.id-type-tab.active { background:var(--gradient-hero); color:#fff; border-color:var(--amethyst-500) }
