:root{--bg:#eef1f8;--bg-2:#e7ecf7;--card:#fff;--text:#16203a;--text-2:#3a4560;--muted:#6b7280;--border:#e5e9f2;--field-border:#dfe4ee;--primary:#4f63f5;--primary-2:#6172ff;--primary-hover:#4453e6;--accent:#a4a9ff;--ring:rgba(164,169,255,.4);--error-bg:#fef2f2;--error-fg:#e5484d;--success-fg:#12a150;--success-bg:#ecfdf3}::selection{background:var(--accent);color:#fff}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased;background:radial-gradient(1100px 600px at 50% -10%,#fff 0,hsla(0,0%,100%,0) 60%),linear-gradient(180deg,var(--bg) 0,var(--bg-2) 100%);background-attachment:fixed}.shell,body{min-height:100vh}.shell{position:relative;display:flex;align-items:center;justify-content:center;padding:48px 20px 64px}.copyright{position:absolute;bottom:20px;left:0;right:0;text-align:center;font-size:12px;color:var(--muted)}.auth{width:100%;max-width:440px;display:flex;flex-direction:column;gap:22px}.auth,.auth-brand{align-items:center}.auth-brand{display:inline-flex;gap:10px;text-decoration:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.auth-logo{height:30px;width:auto;max-width:100%;display:block}.card{position:relative;width:100%;background:var(--card);border-radius:22px;padding:30px 30px 32px;box-shadow:0 22px 55px -24px rgba(38,53,110,.3),0 6px 16px -10px rgba(38,53,110,.16)}.tabs{display:flex;gap:4px;padding:5px;background:#eef1f7;margin-bottom:26px}.tab,.tabs{border-radius:999px}.tab{flex:1 1;text-align:center;padding:9px 12px;font-size:14px;font-weight:600;color:var(--muted);text-decoration:none;transition:background .15s ease,color .15s ease,box-shadow .15s ease}.tab:hover{color:var(--text-2)}.tab.active{background:#fff;color:var(--primary);box-shadow:0 2px 8px -2px rgba(38,53,110,.22)}.card h1{font-size:24px;font-weight:800;color:var(--text);letter-spacing:-.02em;line-height:1.15}.card .subtitle{color:var(--muted);font-size:14.5px;line-height:1.45;margin-top:8px}.form{gap:18px;margin-top:24px}.field,.form{display:flex;flex-direction:column}.field{gap:8px}.field-label{font-size:13px;font-weight:600;color:var(--text-2)}.field input{width:100%;padding:13px 15px;border:1px solid var(--field-border);border-radius:12px;background:#fff;font-size:15px;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.field input::placeholder{color:#aab2c5}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--ring)}button.primary{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(180deg,var(--primary-2) 0,var(--primary) 100%);color:#fff;font-size:15.5px;font-weight:700;cursor:pointer;box-shadow:0 12px 24px -12px rgba(59,99,240,.65);transition:filter .15s ease,transform .05s ease}button.primary:hover:not(:disabled){filter:brightness(1.06)}button.primary:active:not(:disabled){transform:translateY(1px)}button.primary:disabled{opacity:.62;cursor:not-allowed;box-shadow:none}.btn-content{display:inline-flex;align-items:center;justify-content:center;gap:9px}@keyframes spin{to{transform:rotate(1turn)}}.spinner{display:inline-block;width:16px;height:16px;border:2px solid;border-right:2px solid transparent;opacity:.9;animation:spin .6s linear infinite;flex-shrink:0}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.4s}}.separator{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:13px;margin:22px 0 16px}.separator:after,.separator:before{content:"";flex:1 1;height:1px;background:var(--border)}.social{display:flex;flex-direction:column;gap:10px}.social a{display:flex;align-items:center;justify-content:center;gap:9px;padding:12px;border-radius:12px;text-decoration:none;font-size:14px;font-weight:600;border:1px solid transparent;transition:opacity .15s ease,transform .05s ease}.social a svg{width:20px;height:20px;flex-shrink:0}.social a:hover{opacity:.92}.social a:active{transform:translateY(1px)}.social.disabled a{pointer-events:none;opacity:.5}.social a.yandex{background:#000;color:#fff}.social a.vk{background:#07f;color:#fff}.social a.elama{background:#f4f6fb;color:var(--text);border-color:var(--border)}.links{margin-top:20px;text-align:center;font-size:13.5px;color:var(--muted)}.links a{color:var(--primary);font-weight:600;text-decoration:none}.links a:hover{text-decoration:underline}.error{background:var(--error-bg);color:var(--error-fg);padding:10px 12px;border-radius:10px;font-size:13px}.admin-root{position:fixed;inset:0;color:var(--text);overflow:auto;z-index:10;flex-direction:column}.admin-root,.admin-topbar{background:#fff;display:flex}.admin-topbar{align-items:center;gap:20px;padding:14px 24px;border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:1}.admin-topbar .title{font-weight:700;font-size:16px}.admin-nav{display:flex;gap:4px;flex:1 1}.admin-nav a{padding:6px 12px;border-radius:8px;text-decoration:none;color:var(--muted);font-size:14px}.admin-nav a.active,.admin-nav a:hover{background:#f1f3f5;color:var(--text)}.admin-topbar .who{font-size:13px;color:var(--muted)}.admin-main{padding:24px;max-width:1100px;width:100%;margin:0 auto}.admin-main h2{font-size:20px;margin-bottom:16px}.admin-card{border:1px solid var(--border);border-radius:12px;padding:18px;margin-bottom:18px;background:#fff}.admin-table{width:100%;border-collapse:collapse;font-size:14px}.admin-table td,.admin-table th{text-align:left;padding:9px 10px;border-bottom:1px solid var(--border);vertical-align:top}.admin-table th{color:var(--muted);font-weight:500;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.admin-table tr:hover td{background:#fafbfc}.admin-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.admin-input{padding:8px 10px;border:1px solid var(--border);border-radius:8px;font-size:14px}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;background:#eef2ff;color:#3730a3;margin:0 4px 4px 0}.badge.gray{background:#f1f3f5;color:var(--muted)}.btn{padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:14px;font-weight:500;cursor:pointer}.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary);width:auto}.btn.danger{color:var(--error-fg);border-color:var(--error-fg)}.btn.small{padding:4px 9px;font-size:12px}.link-btn{background:none;border:none;color:var(--primary);cursor:pointer;font-size:13px;padding:0}.notfound{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.notfound h1{font-size:48px}.success{background:var(--success-bg);color:var(--success-fg);padding:10px 12px;border-radius:10px;font-size:13px}.progress{display:flex;gap:6px;margin-bottom:24px}.progress span{flex:1 1;height:5px;border-radius:999px;background:#e6eaf3;transition:background .2s ease}.progress span.done{background:var(--primary)}.progress span.current{background:var(--primary-2)}.step-head{display:flex;align-items:center;gap:10px}.back-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;background:#f2f5fb;border:none;cursor:pointer;color:var(--text-2);border-radius:10px;transition:background .15s ease;flex-shrink:0}.back-btn:hover{background:#e8edf7}.step-btn{width:100%;margin-top:4px}.field-password{position:relative}.field-password input{padding-right:44px}.toggle-password{position:absolute;right:8px;bottom:8px;background:none;border:none;cursor:pointer;color:var(--muted);padding:6px;display:flex;align-items:center;border-radius:8px}.toggle-password:hover{color:var(--text);background:#f2f5fb}.field-error{color:var(--error-fg);font-size:13px;margin-top:-8px}.pw-requirements{display:flex;flex-direction:column;gap:3px;margin-top:-6px;font-size:12.5px}.pw-ok{color:var(--success-fg)}.pw-ok:before{content:"✓ ";font-weight:700}.pw-fail{color:var(--muted)}.pw-fail:before{content:"○ "}.agreement-check{display:flex;align-items:flex-start;gap:9px;font-size:11.5px;color:var(--muted);line-height:1.45;cursor:pointer}.agreement-check input[type=checkbox]{margin-top:1px;width:16px;height:16px;accent-color:var(--accent);flex-shrink:0;cursor:pointer}.agreement-check a{color:var(--primary);text-decoration:none}.agreement-check a:hover{text-decoration:underline}.column{width:100%;max-width:440px;background:var(--card);border-radius:22px;padding:30px;box-shadow:0 22px 55px -24px rgba(38,53,110,.3),0 6px 16px -10px rgba(38,53,110,.16);display:flex;flex-direction:column;gap:16px}.column h1{font-size:22px;font-weight:800;letter-spacing:-.02em}.column .subtitle{color:var(--muted);font-size:14.5px;line-height:1.45;margin-top:-4px}.column form{display:flex;flex-direction:column;gap:16px}.column .links{margin-top:8px}@media (max-width:520px){.shell{padding:24px 14px 56px}.auth{gap:18px}.auth-logo{height:26px}.card,.column{padding:22px 18px 24px;border-radius:18px}.tabs{margin-bottom:20px}.tab{padding:9px 8px}.card h1{font-size:21px}.card .subtitle,.column .subtitle{font-size:14px}.form{margin-top:20px}.field input{font-size:16px;padding:12px 14px}button.primary{padding:13px;font-size:15px}.social a{padding:11px;font-size:13.5px}.separator{margin:18px 0 14px}}.verify{align-items:center;text-align:center;gap:14px;padding:36px 30px 32px}.verify h1{font-size:22px;font-weight:800;letter-spacing:-.02em}.verify .subtitle{max-width:340px}.verify-icon{width:68px;height:68px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:4px}.verify-icon-success{background:var(--success-bg);color:var(--success-fg);box-shadow:0 0 0 8px rgba(18,161,80,.08)}.verify-icon-error{background:var(--error-bg);color:var(--error-fg);box-shadow:0 0 0 8px rgba(229,72,77,.08)}.verify-icon-neutral{background:#eef1fb;color:var(--primary)}.spinner{width:26px;height:26px;border-radius:50%;border:3px solid rgba(79,99,245,.25);border-top:3px solid var(--primary);animation:verify-spin .7s linear infinite}@keyframes verify-spin{to{transform:rotate(1turn)}}.btn-primary{display:block;width:100%;margin-top:6px;padding:14px;border-radius:12px;background:linear-gradient(180deg,var(--primary-2) 0,var(--primary) 100%);color:#fff;font-size:15.5px;font-weight:700;text-align:center;text-decoration:none;box-shadow:0 12px 24px -12px rgba(59,99,240,.65);transition:filter .15s ease,transform .05s ease}.btn-primary:hover{filter:brightness(1.06)}.btn-primary:active{transform:translateY(1px)}.linklike{background:none;border:none;color:var(--muted);font-size:13.5px;cursor:pointer;padding:4px;margin-top:2px;transition:color .15s ease}.linklike:hover:not(:disabled){color:var(--primary)}.linklike:disabled{opacity:.6;cursor:default}