.login-page{height:100svh;min-height:100svh;z-index:0;background:var(--bg);overscroll-behavior:none;flex-direction:column;justify-content:center;align-items:center;gap:.72rem;width:100%;min-height:-webkit-fill-available;padding:1.1rem;font-family:Manrope,Avenir Next,Segoe UI,sans-serif;display:flex;position:absolute;inset:0;overflow:clip}.login-page:before{content:"";z-index:-1;background:radial-gradient(circle at 84% 16%, color-mix(in srgb, var(--accent) 10%, transparent), transparent 44%), radial-gradient(circle at 10% 82%, color-mix(in srgb, var(--accent-shadow) 8%, transparent), transparent 50%), linear-gradient(160deg, color-mix(in srgb, var(--hero) 90%, transparent), var(--bg));position:absolute;inset:0}:root[data-theme=dark] .login-page:before{background:var(--bg)}.login-shell{text-align:center;flex-direction:column;align-items:center;width:100%;max-width:430px;display:flex}.login-card{border-radius:var(--radius-lg);background:var(--bg-panel);border:2px solid var(--border);border-bottom-width:6px;border-bottom-color:var(--border);width:100%;max-width:430px;box-shadow:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);padding:1.2rem 1rem 1rem;animation:.36s ease-out authLiftIn}.brand-logo{opacity:0;image-rendering:auto;background:var(--text);width:min(72vw,240px);max-width:100%;height:68px;margin:0 0 .75rem;padding:0;animation:.46s ease-out forwards login-logo-fade-in;display:block;-webkit-mask-image:url(/pempen-logo.svg);mask-image:url(/pempen-logo.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@keyframes login-logo-fade-in{0%{opacity:0}to{opacity:1}}.login-card h1{color:var(--text);letter-spacing:-.02em;margin:.85rem 0 .35rem;font-family:Outfit,Manrope,Avenir Next,sans-serif;font-size:1.7rem;font-weight:700;line-height:1.1}.login-card .login-subtitle{color:var(--text-muted);margin:0 0 1.25rem;font-size:.94rem}.login-form{flex-direction:column;gap:.55rem;display:flex}.login-label{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;margin-top:.1rem;font-size:.79rem;font-weight:700}.login-input{border:2px solid var(--border-soft);background:color-mix(in srgb, var(--bg-panel) 74%, var(--hero));width:100%;min-height:50px;color:var(--text);border-radius:14px;outline:none;padding:.75rem .9rem;font-size:.96rem;transition:border-color .2s,transform .2s}.login-input:focus{border-color:var(--accent);transform:translateY(-1px)}.login-input::placeholder{color:color-mix(in srgb, var(--text-muted) 85%, transparent)}.login-error{color:#9d2828;background:#ffe9e9;border:2px solid #ff8f8f;border-radius:10px;margin:.3rem 0 0;padding:.55rem .65rem;font-size:.84rem}:root[data-theme=dark] .login-error{color:#ffd9d9;background:#552a2a;border-color:#ff8f8f}.login-btn{border:2px solid var(--accent-shadow);border-bottom-width:5px;border-bottom-color:var(--accent-shadow);background:var(--accent);color:#fff;letter-spacing:.01em;cursor:pointer;border-radius:14px;width:100%;min-height:50px;margin-top:.35rem;padding:.76rem;font-size:.96rem;font-weight:700;transition:opacity .18s,transform .18s}.login-btn:disabled{opacity:.56;cursor:not-allowed}.login-btn:not(:disabled):hover{transform:translateY(-1px)}.login-toggle{background:color-mix(in srgb, var(--bg-panel) 75%, var(--hero));border:2px solid var(--border);width:100%;min-height:46px;color:var(--text);cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;border-radius:14px;margin-top:1rem;padding:.7rem 1rem;font-size:.86rem;font-weight:700;transition:border-color .18s,background .18s;display:block}.login-toggle:hover{background:color-mix(in srgb, var(--bg-panel) 58%, var(--hero));border-color:color-mix(in srgb, var(--border) 72%, var(--accent))}.login-toggle:active{transform:translateY(1px)}.login-legal{border-top:1px solid var(--border-soft);margin-top:.9rem;padding-top:.8rem}.login-legal-copy,.login-legal-note{color:var(--text-muted);text-align:center;margin:0;font-size:.76rem;line-height:1.45}.login-legal-note{margin-top:.35rem}.login-legal-link{color:var(--text);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, var(--text-muted) 58%, transparent);text-decoration-color:color-mix(in srgb, var(--text-muted) 58%, transparent);text-underline-offset:2px;font-weight:600}.login-legal-link:hover{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 72%, transparent)}@keyframes authLiftIn{0%{opacity:0;transform:translateY(16px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@media (min-width:480px){.login-page{gap:.85rem;padding:1.4rem}.login-card{padding:1.45rem 1.35rem 1.15rem}.login-card h1{font-size:1.9rem}}