:root{--bg:#101217;--panel:#24262b;--text:#f6f7f8;--muted:#a6abb5;--gold:#e4c36b;--gold2:#fff0a6;--danger:#ff6f76}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Arial,sans-serif}body.login-page{min-height:100vh;background:radial-gradient(circle at 50% 30%,#20242d 0,#12151b 48%,#090b0f 100%);color:var(--text);display:grid;grid-template-rows:1fr auto;overflow-x:hidden}.login-shell{width:min(980px,92vw);margin:auto;min-height:580px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:18px;padding:44px 0}.lamp-stage{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.lamp{position:relative;width:310px;height:390px;z-index:2;filter:drop-shadow(0 20px 26px rgba(0,0,0,.45));transform:translateX(-6px)}.lamp-shade{position:absolute;left:57px;top:36px;width:196px;height:88px;background:linear-gradient(#fffdf1,#ece6d7);border-radius:100px 100px 26px 26px;clip-path:polygon(15% 0,85% 0,100% 100%,0 100%)}.bulb{position:absolute;left:73px;bottom:-12px;width:50px;height:26px;background:#fff7cb;border-radius:0 0 40px 40px;opacity:.9}.lamp-neck{position:absolute;left:142px;top:114px;width:26px;height:35px;background:#eae6dc;border-radius:10px}.lamp-stem{position:absolute;left:147px;top:143px;width:17px;height:178px;background:linear-gradient(90deg,#f7f4ec,#c9c6bd);border-radius:12px}.lamp-base{position:absolute;left:78px;top:315px;width:157px;height:22px;border-radius:18px;background:linear-gradient(#f8f5ec,#c9c5bb)}.pull{position:absolute;top:116px;left:224px;width:28px;height:148px;border:0;background:transparent;cursor:pointer}.pull:before{content:"";position:absolute;left:13px;top:0;width:2px;height:122px;background:#bc9b63}.pull span{position:absolute;left:8px;top:117px;width:12px;height:12px;background:#c69b60;border-radius:50%;box-shadow:0 0 0 4px rgba(198,155,96,.08)}.lamp-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(255,230,146,.26),rgba(255,216,115,.09) 40%,transparent 70%);filter:blur(4px);opacity:0;transition:.35s}.lamp-on .lamp-glow{opacity:1}.lamp-on .bulb{box-shadow:0 10px 40px 22px rgba(255,230,140,.28)}.security-copy{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);width:78%;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}.security-copy b{display:block;color:#f6e9bd;font-size:14px;margin-bottom:5px}.login-card{opacity:0;visibility:hidden;pointer-events:none;transform:translateY(18px) scale(.985);transition:opacity .35s ease,transform .35s ease,visibility .35s;position:relative;background:linear-gradient(145deg,rgba(49,51,57,.96),rgba(31,33,38,.96));border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:38px 38px 32px;box-shadow:0 28px 70px rgba(0,0,0,.45),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(18px)}.lamp-on .login-card{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.lock-badge{width:46px;height:46px;display:grid;place-items:center;border-radius:14px;background:rgba(228,195,107,.1);border:1px solid rgba(228,195,107,.28);font-size:21px;margin-bottom:18px}.eyebrow{letter-spacing:2.4px;color:var(--gold);font-size:11px;font-weight:800;margin:0 0 7px}.login-card h1{font-size:34px;margin:0 0 7px}.lead{margin:0 0 27px;color:var(--muted);font-size:14px}.login-card label{display:block;font-size:12px;color:#c9ccd3;margin:15px 0 7px}.login-card input{width:100%;height:48px;padding:0 14px;border-radius:10px;border:1px solid #555b65;background:#1e2025;color:#fff;outline:none;font-size:14px;transition:.2s}.login-card input:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(228,195,107,.12)}.password-wrap{position:relative}.password-wrap input{padding-right:52px}.password-wrap button{position:absolute;right:5px;top:5px;width:40px;height:38px;border:0;background:transparent;color:#d6d8dd;cursor:pointer}.sign-in{width:100%;height:49px;margin-top:24px;border:0;border-radius:11px;background:linear-gradient(90deg,#caa84f,#fff1a8,#d4b45e);color:#282212;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 10px 28px rgba(229,195,107,.2);transition:.2s}.sign-in:hover{transform:translateY(-1px);filter:brightness(1.04)}.sign-in:disabled{opacity:.6;cursor:wait}.login-status{min-height:22px;margin-top:14px;text-align:center;font-size:12px;color:#bfc3ca}.login-status.error{color:var(--danger)}.security-points{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:18px}.security-points span{font-size:10px;color:#9ca2ac;border:1px solid #444952;border-radius:999px;padding:6px 8px}.login-page.error-flash .lamp-glow{background:radial-gradient(circle,rgba(255,75,84,.25),rgba(255,0,0,.05) 42%,transparent 70%)}.login-page.success .lamp-glow{opacity:1;transform:scale(1.1)}.login-page.success .login-card{box-shadow:0 28px 80px rgba(228,195,107,.14)}footer{text-align:center;color:#727985;font-size:11px;padding:16px}
@media(max-width:760px){.login-shell{grid-template-columns:1fr;width:min(520px,92vw);padding:24px 0 18px;gap:0}.lamp-stage{min-height:300px}.lamp{transform:scale(.68);height:360px;margin-top:-20px}.lamp-glow{width:390px;height:390px}.security-copy{display:none}.login-card{margin-top:-30px;padding:28px 24px 24px;border-radius:20px}.login-card h1{font-size:29px}.security-points{display:none}}
@media(max-width:420px){.lamp-stage{min-height:250px}.lamp{transform:scale(.56);margin-top:-55px}.login-card{margin-top:-58px}.login-shell{width:92vw}.login-card input,.sign-in{height:46px}}
