:root { color-scheme: dark; font-family: "Segoe UI", Tahoma, Arial, sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; color: #f7f8ff; background: radial-gradient(circle at 50% 0, #18275f 0, #090d1c 43%, #050711 100%); }
body::before { content: ""; position: fixed; inset: 0; pointer-events: none; background: linear-gradient(120deg, transparent 25%, rgba(58,93,255,.08), transparent 70%); }
.shell { min-height: 100vh; display: grid; place-items: center; padding: 28px 16px; }
.panel { width: min(620px, 100%); padding: 30px 42px 40px; border: 1px solid #5269b7; border-radius: 12px; background: rgba(10,15,32,.96); box-shadow: 0 28px 85px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.04); }
.logo { display: block; width: min(300px, 75%); max-height: 150px; object-fit: contain; margin: 0 auto 14px; }
.languages { display: flex; justify-content: center; gap: 7px; margin-bottom: 22px; }
.languages a { min-width: 42px; padding: 7px 9px; text-align: center; color: #cad5ff; text-decoration: none; border: 1px solid #394a80; border-radius: 5px; background: #12192d; font-weight: 700; font-size: 12px; }
.languages a.selected { color: #fff; border-color: #7795ff; background: #263664; }
h1 { margin: 0 0 7px; text-align: center; font-size: 23px; letter-spacing: .4px; }
.subtitle { margin: 0 0 24px; color: #b7c2e6; text-align: center; line-height: 1.5; }
form { display: grid; gap: 9px; }
label { margin-top: 7px; color: #dde4ff; font-weight: 600; font-size: 14px; }
input { width: 100%; height: 43px; padding: 0 13px; color: #fff; border: 1px solid #485983; border-radius: 5px; outline: 0; background: #151d32; font-size: 15px; }
input:focus { border-color: #7d9bff; box-shadow: 0 0 0 3px rgba(78,111,232,.2); }
button { min-height: 46px; margin-top: 14px; padding: 10px 16px; color: #fff; border: 1px solid #a9bdff; border-radius: 7px; cursor: pointer; background: linear-gradient(#4565dc, #4b26a6); font-weight: 800; }
button:hover:not(:disabled) { filter: brightness(1.14); }
button:disabled { cursor: not-allowed; opacity: .48; }
.captcha { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: stretch; }
select { width:100%;min-height:44px;padding:10px 12px;margin:5px 0 15px;border:1px solid #485983;border-radius:5px;background:#161e33;color:#fff;font:inherit; }
.captcha img { width: 100%; height: 92px; object-fit: cover; border: 1px solid #485983; border-radius: 5px; background: #0c1226; }
.captcha .secondary { min-height: 40px; margin: 0; border-color: #53658f; background: #1c253b; font-size: 12px; }
.notice { padding: 12px 14px; border-radius: 6px; line-height: 1.45; }
.notice.error { color: #ffd7dc; border: 1px solid #9c4352; background: #381a24; }
.notice.warning { color: #ffe4a2; border: 1px solid #846427; background: #352b17; }
.button-link { display: flex; align-items: center; justify-content: center; min-height: 46px; margin-top: 22px; padding: 10px 16px; color: #fff; text-decoration: none; border: 1px solid #a9bdff; border-radius: 7px; background: linear-gradient(#4565dc, #4b26a6); font-weight: 800; }
.button-link:hover { filter: brightness(1.14); }
.success-mark { width: 84px; height: 84px; margin: 25px auto 10px; border: 2px solid #5de09a; border-radius: 50%; color: #79f2b0; text-align: center; font-size: 58px; line-height: 76px; background: #123525; }
@media (max-width: 560px) { .panel { padding: 24px 18px 30px; } .captcha { grid-template-columns: 1fr; } }
