:root{--bg-color:#0a0a0c;--surface:#1a1a1f;--border:#ffffff14;--text:#fff;--muted:#8b8b9e;--accent:#00f3ff;--error:#f05}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg-color);min-height:100vh;color:var(--text);flex-direction:column;justify-content:center;align-items:center;padding:24px;font-family:Noto Sans,Noto Sans Georgian,sans-serif;display:flex}.login-page{flex-direction:column;align-items:center;width:100%;max-width:420px;display:flex}.hidden{display:none!important}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;flex-direction:column;width:100%;padding:36px 32px 20px;display:flex;box-shadow:0 0 40px #00f3ff0f}.brand-wrap{text-align:center;margin-bottom:20px}.brand{letter-spacing:3px;color:var(--accent);text-transform:uppercase;text-shadow:0 0 14px #00f3ff59;font-size:26px;font-weight:700;display:inline-block}.brand-logo{object-fit:contain;width:auto;max-width:220px;height:auto;max-height:68px;display:block}h1.login-title{text-align:center;margin-bottom:36px;font-size:20px;font-weight:700}.hint{color:var(--muted);text-align:center;margin-bottom:22px;font-size:14px;line-height:1.5}.login-form-block{flex-shrink:0;margin-bottom:0}.panel-step{margin-bottom:8px}.panel-step:last-child{margin-bottom:0}.form-field{margin-bottom:18px}.form-field label{color:var(--muted);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.form-field.has-error label{color:var(--error)}.form-field.has-error .phone-wrap,.form-field.has-error input:not([type=checkbox]){border-color:#ff00558c}.phone-wrap{border:1px solid var(--border);background:var(--bg-color);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.phone-prefix{color:var(--accent);flex-shrink:0;font-size:15px;font-weight:700}.phone-display{color:var(--text);letter-spacing:.06em;font-variant-numeric:tabular-nums;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:18px}.sms-input{border:1px solid var(--border);background:var(--bg-color);width:100%;color:var(--text);letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;padding:14px 16px;font-size:22px;font-weight:700}.sms-input:focus{border-color:#00f3ff73;outline:none}.sms-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.countdown{font-variant-numeric:tabular-nums;letter-spacing:.08em;color:var(--accent);font-size:18px;font-weight:700}.btn-ghost{border:1px solid var(--border);color:var(--muted);cursor:pointer;background:0 0;border-radius:8px;padding:8px 12px;font-size:13px;font-weight:600;transition:color .2s,border-color .2s}.btn-ghost:hover:not(:disabled){color:var(--accent);border-color:#00f3ff59}.btn-ghost:disabled{opacity:.35;cursor:not-allowed}.btn-ghost.btn-ghost--ready{opacity:1;color:var(--accent);background:#00f3ff1a;border-color:#00f3ff73}.btn-ghost.btn-ghost--ready:hover{color:#fff;background:#00f3ff2e;border-color:#00f3ffa6}.error-msg{color:var(--error);min-height:1.2em;margin-bottom:12px;font-size:13px;display:none}.error-msg.visible{display:block}.error-msg--sms-under{text-align:center;min-height:0;margin-top:6px;margin-bottom:14px}.btn-submit{border:1px solid var(--accent);width:100%;color:var(--accent);cursor:pointer;background:0 0;border-radius:12px;margin-top:6px;padding:14px;font-size:16px;font-weight:700;transition:background .2s,color .2s,opacity .2s}.btn-submit:hover:not(:disabled){background:var(--accent);color:var(--bg-color)}.btn-submit:disabled{opacity:.35;cursor:not-allowed}.btn-text{width:100%;color:var(--muted);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;margin-top:14px;padding:0;font-size:13px;text-decoration:underline;display:block}.btn-text:hover{color:var(--accent)}.lang-switcher{justify-content:center;gap:10px;display:flex}.lang-switcher--below-card{border-top:none;width:100%;margin-top:24px;padding-top:0}.lang-btn{border:1px solid var(--border);background:var(--bg-color);min-width:44px;color:var(--muted);cursor:pointer;border-radius:8px;padding:8px 10px;font-size:12px;font-weight:700;transition:all .2s}.lang-btn:hover{color:var(--text);border-color:#00f3ff59}.lang-btn.active{border-color:var(--accent);color:var(--accent);box-shadow:0 0 12px #00f3ff26}.auth-footer{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:baseline;gap:4px 6px;min-height:0;margin-top:24px;padding-top:0;display:flex}.register-prefix{color:var(--muted);font-size:13px;line-height:1.4}.register-link{color:var(--accent);text-underline-offset:3px;font-size:13px;font-weight:600;line-height:1.4;text-decoration:underline}.register-link:hover{color:#fff}.modal-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:200;background:#0a0a0ce0;justify-content:center;align-items:center;padding:20px;display:none;position:fixed;inset:0;overflow-y:auto}.modal-overlay.open{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:20px;width:100%;max-width:420px;padding:32px 28px 28px;position:relative;box-shadow:0 0 50px #00000073}.modal-wide{max-width:480px}.modal-header{align-items:center;gap:10px;margin-bottom:16px;display:flex}.modal-header .modal-title{flex:1;min-width:0;margin:0;padding:0;font-size:20px;font-weight:700;line-height:1.25}.modal-back{width:36px;height:36px;color:var(--accent);cursor:pointer;background:#ffffff0f;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.modal-back:hover{color:#fff;background:#00f3ff1f}.modal-back-icon{width:20px;height:20px;display:block}.modal-header-spacer{pointer-events:none;flex-shrink:0;width:36px;height:36px}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=480px){.form-row{grid-template-columns:1fr}}.form-field-checkbox .checkbox-row{color:var(--muted);cursor:pointer;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.form-field-checkbox input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;margin-top:3px}.inline-link{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.inline-link:hover{color:#fff}.form-field input:not([type=checkbox]){border:1px solid var(--border);background:var(--bg-color);width:100%;color:var(--text);border-radius:10px;padding:12px 14px;font-size:15px}.form-field input:focus{border-color:#00f3ff73;outline:none}.back-link{text-align:center;color:var(--muted);margin-top:20px;font-size:14px;text-decoration:none;display:block}.back-link:hover{color:var(--accent)}
