:root{--login-bg1:var(--color-ink-900,#3f302b);--login-bg2:var(--color-brand-600,#ba4837);--login-card:var(--color-surface-50,#fbf4eb);--login-text:var(--color-ink-900,#3f302b);--login-muted:var(--color-ink-600,#766258);--login-border:#e4e9f0;--login-focus:var(--color-warning-500,#855617);--login-btn1:var(--color-brand-600,#ba4837);--login-btn2:var(--color-brand-700,#9e382a);--login-danger:var(--color-danger-500,#b13449)}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:400;font-display:swap;src:local("Ubuntu"),local("Ubuntu Regular"),url("../webfonts/ubuntu/ubuntu-400-latin.woff2") format("woff2")}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:500;font-display:swap;src:local("Ubuntu Medium"),local("Ubuntu"),url("../webfonts/ubuntu/ubuntu-500-latin.woff2") format("woff2")}@font-face{font-family:"Ubuntu";font-style:normal;font-weight:700;font-display:swap;src:local("Ubuntu Bold"),local("Ubuntu"),url("../webfonts/ubuntu/ubuntu-700-latin.woff2") format("woff2")}*{box-sizing:border-box}html,body{height:100%}body.login-page{margin:0;font-family:'Ubuntu','Segoe UI',Tahoma,sans-serif;color:var(--login-text);background:radial-gradient(1100px 520px at 15% -10%,rgba(119,82,123,.22),transparent 60%),radial-gradient(900px 460px at 90% 110%,rgba(57,113,76,.20),transparent 60%),linear-gradient(145deg,var(--login-bg1),var(--color-ink-900,#3f302b) 48%,var(--login-bg2));display:grid;place-items:center;padding:24px}.login-shell{width:min(430px,100%);background:rgba(251,244,235,.96);border:1px solid rgba(251,244,235,.6);border-radius:18px;box-shadow:0 26px 54px rgba(63,48,43,.38),0 8px 20px rgba(63,48,43,.22);overflow:hidden}.login-head{padding:26px 30px 18px;background:linear-gradient(180deg,var(--color-surface-100,#f7efe5),var(--color-surface-50,#fbf4eb));border-bottom:1px solid #e4e9f0}.login-title{margin:0;font-size:2rem;line-height:1.1;font-weight:700;letter-spacing:.01em}.login-sub{margin:7px 0 0;color:var(--login-muted);font-size:.97rem}body.login-page form{padding:22px 30px 30px}.form-group{margin-bottom:14px}.form-group label{display:block;margin:0 0 6px;font-size:.86rem;font-weight:700;color:var(--color-ink-900,#3f302b);letter-spacing:.01em}.form-group input{width:100%;height:48px;border-radius:12px;border:1px solid var(--login-border);padding:0 14px;font-size:1rem;outline:none;background:var(--color-surface-50,#fbf4eb);box-shadow:0 6px 14px rgba(63,48,43,.06);transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.form-group input:focus{border-color:var(--login-focus);box-shadow:0 0 0 3px rgba(170,180,232,.20),0 10px 18px rgba(119,82,123,.15);transform:translateY(-1px)}.login-remember{display:flex;align-items:center;gap:10px;min-height:44px;margin:0 0 14px;font-size:.86rem;line-height:1.4;cursor:pointer}.login-remember input{flex:0 0 18px;width:18px;height:18px;margin:0;accent-color:var(--login-btn1)}.login-remember input:focus-visible{outline:2px solid var(--login-focus);outline-offset:3px}.err{margin:0 0 14px;background:var(--color-danger-soft,#fbe9ee);border:1px solid var(--color-danger-soft,#fbe9ee);color:var(--login-danger);border-radius:10px;padding:10px 12px;font-size:.9rem;font-weight:600}.ok{margin:0 0 14px;background:var(--color-surface-100,#f7efe5);border:1px solid var(--color-line-200,#ded0c4);color:var(--color-success-500,#39714c);border-radius:10px;padding:10px 12px;font-size:.9rem;font-weight:600}.btn-login{width:100%;height:48px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--login-btn1),var(--login-btn2));color:var(--color-surface-50,#fbf4eb);font-size:1rem;font-weight:700;cursor:pointer;box-shadow:0 12px 24px rgba(119,82,123,.28);transition:transform .16s ease,filter .16s ease,box-shadow .18s ease}@media (hover:hover) and (pointer:fine){.btn-login:hover{transform:translateY(-1px);filter:brightness(1.03);box-shadow:0 14px 26px rgba(119,82,123,.34)}}.btn-login:active{transform:translateY(0);filter:brightness(.97)}.login-foot{margin-top:10px;text-align:center;color:var(--color-ink-400,#806b5e);font-size:.79rem}@media (max-width:520px){body.login-page{padding:16px}.login-head{padding:22px 22px 16px}body.login-page form{padding:20px 22px 24px}.login-title{font-size:1.7rem}}