:root[data-opl-admin]{background:#0a0a0b}:root[data-opl-admin] body{margin:0;background:transparent;color:#f4f4f2;font-family:Poppins,ui-sans-serif,system-ui,sans-serif;font-size:16px;line-height:normal;letter-spacing:normal;-webkit-font-smoothing:antialiased}:root[data-opl-admin] ::-webkit-scrollbar,:root[data-opl-admin]::-webkit-scrollbar{width:9px;height:9px}:root[data-opl-admin] ::-webkit-scrollbar-thumb{background:#232327;border-radius:6px;border:2px solid #0b0b0d}:root[data-opl-admin] ::-webkit-scrollbar-track{background:transparent}[data-opl-admin-root] *{box-sizing:border-box}:where([data-opl-admin-root]) :where(button){font:inherit;cursor:pointer;border:0;background:none;color:inherit}:where([data-opl-admin-root]) :where(input,textarea){font:inherit}:where([data-opl-admin-root]) :where(a){color:#7fa8d6;text-decoration:none}[data-opl-admin-root] :focus-visible{outline:2px solid #5b4bdb;outline-offset:2px;border-radius:3px}[data-opl-admin-root] ::selection{background:#2f6bb0;color:#fff}.gate{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;padding:clamp(28px,6vw,64px) clamp(18px,5vw,48px);position:relative;overflow:hidden}.gateBg{position:fixed;inset:0;z-index:-2;background:#0a0a0b}.gateDots{inset:0;background-image:radial-gradient(circle at 1px 1px,hsla(0,0%,100%,.045) 1px,transparent 0);background-size:30px 30px}.gateDots,.gateGlow{position:fixed;z-index:-1;pointer-events:none}.gateGlow{left:50%;top:-24vw;transform:translateX(-50%);width:92vw;height:60vw;max-height:760px;background:radial-gradient(50% 50% at 50% 50%,rgba(47,107,176,.2) 0,transparent 70%)}.gateLogo{display:flex;align-items:center;gap:10px}.gateLogo img{height:30px;width:auto;display:block}.badgeCms{font-size:9.5px;letter-spacing:.15em;color:#b9a9f0;border:1px solid #3a3266;background:rgba(109,63,222,.14);border-radius:6px;padding:4px 8px}.badgeCms,.steps{font-family:Space Mono,ui-monospace,monospace;text-transform:uppercase}.steps{display:flex;align-items:center;gap:12px;font-size:10.5px;letter-spacing:.14em}.stepDot{width:6px;height:6px;border-radius:50%;background:#2a2a2e;display:inline-block;margin-right:7px}.stepOn .stepDot{background:linear-gradient(90deg,#5b4bdb,#7c3aed)}.stepLabel{color:#6e6e68}.stepOn .stepLabel{color:#f4f4f2}.stepLine{width:20px;height:1px;background:#2a2a2e}.card{width:100%;max-width:452px;background:#101013;border:1px solid #1f1f22;border-radius:20px;padding:34px 32px;box-shadow:0 40px 80px -40px rgba(0,0,0,.9);animation:rise .34s cubic-bezier(.22,.61,.36,1)}.cardWide{max-width:500px}@keyframes rise{0%{opacity:0;transform:translateY(10px) scale(.99)}}@media (max-width:560px){.card{padding:26px 22px;border-radius:16px}}.iconBox{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(124,58,237,.4);background:rgba(124,58,237,.12);color:#b9a9f0}.iconBoxBlue{border-color:rgba(47,107,176,.4);background:rgba(47,107,176,.12);color:#9ec2e6}.iconBoxAmber{border-color:rgba(217,169,76,.4);background:rgba(217,169,76,.11);color:#e0c182}.h1{font-family:Sora,sans-serif;font-weight:600;font-size:26px;letter-spacing:-.028em;margin:18px 0 0}.lead{font-weight:300;font-size:14.5px;line-height:1.6;color:#a6a6a0;margin:12px 0 0}.label{display:block;font-family:Space Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:#66665f;margin:22px 0 8px}.input{width:100%;background:#0c0c0e;border:1px solid #26262a;border-radius:11px;padding:14px 15px;font-size:15px;color:#f4f4f2;transition:border-color .2s ease,box-shadow .2s ease}.input:focus{outline:none;border-color:#5b4bdb;box-shadow:0 0 0 3px rgba(91,75,219,.16)}.inputPass{padding-right:74px}.passWrap{position:relative}.passToggle{position:absolute;right:9px;top:50%;transform:translateY(-50%);font-family:Space Mono,ui-monospace,monospace;font-size:10.5px;text-transform:uppercase;color:#8a8a84;padding:6px 8px;border-radius:7px}.passToggle:hover{color:#fff;background:#1a1a1e}.btnPrimary{width:100%;margin-top:22px;background:linear-gradient(90deg,#5b4bdb,#7c3aed);color:#fff;font-weight:500;font-size:15.5px;padding:15px;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:9px;transition:transform .2s ease,box-shadow .2s ease,opacity .2s ease}.btnPrimary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 12px 26px -12px rgba(0,0,0,.7)}.btnPrimary:disabled{opacity:.45;cursor:not-allowed}.btnGhost{border:1px solid #26262a;color:#c6c6c0;padding:11px 16px;border-radius:10px;font-size:14px;transition:border-color .2s ease,color .2s ease}.btnGhost:hover{border-color:#3a3a40;color:#fff}.errBox{margin-top:16px;background:hsla(7,75%,64%,.09);border:1px solid hsla(7,75%,64%,.3);border-radius:9px;padding:10px 12px;font-size:13px;color:#f0a79b}.errShake{animation:shake .42s ease}@keyframes shake{10%,90%{transform:translateX(-1px)}20%,80%{transform:translateX(2px)}30%,50%,70%{transform:translateX(-4px)}40%,60%{transform:translateX(4px)}}.cardFoot{margin-top:18px;line-height:1.6}.cardFoot,.gateFoot{font-size:12.5px;color:#6e6e68}.gateFoot{display:flex;align-items:center;gap:18px;font-weight:300}.otpRow{display:flex;gap:9px;margin-top:8px}.otpCell{flex:1 1;min-width:0;height:56px;text-align:center;background:#0c0c0e;border:1px solid #26262a;border-radius:11px;color:#f4f4f2;font-family:Space Mono,ui-monospace,monospace;font-size:22px;transition:border-color .2s ease,box-shadow .2s ease}.otpCell:focus{outline:none;border-color:#5b4bdb;box-shadow:0 0 0 3px rgba(91,75,219,.16)}.ttlBar{margin-top:14px;height:3px;border-radius:2px;background:#1c1c20;overflow:hidden}.ttlFill{height:100%;background:linear-gradient(90deg,#5b4bdb,#7c3aed);transition:width 1s linear}.ttlText{margin-top:8px;font-family:Space Mono,ui-monospace,monospace;font-size:10.5px;letter-spacing:.1em;color:#66665f}.linkRow{display:flex;justify-content:space-between;gap:12px;margin-top:20px;font-size:13px}.linkMuted{color:#a6a6a0}.spinner{width:15px;height:15px;border-radius:50%;border:2px solid hsla(0,0%,100%,.35);border-top-color:#fff;animation:spin .8s linear infinite;display:inline-block}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){.card,.errShake,.spinner{animation:none!important}}