:root{--primary-gradient:linear-gradient(135deg,#1e3a8a,#3b82f6);--navy-dark:#1e3a8a;--primary-blue:#3b82f6;--bg-canvas:#f8f7fa;--bg-card:#fff;--text-main:#444050;--text-muted:#8a8d93;--border-color:#dbdade}*{box-sizing:border-box;margin:0;padding:0;font-family:Public Sans,sans-serif}body{background-color:var(--bg-canvas);display:flex;justify-content:center;align-items:center;min-height:100vh;padding:20px;position:relative}.bg-dots{position:absolute;z-index:-1;width:120px;height:120px;background-image:radial-gradient(var(--primary-blue) 2px,transparent 2px);background-size:18px 18px;opacity:.3}.top-right{top:8%;right:5%}.bottom-left{bottom:8%;left:5%}.auth-card{background:var(--bg-card);width:100%;max-width:450px;padding:40px;border-radius:12px;box-shadow:0 4px 24px 0 rgba(15,20,34,.08);text-align:center}.logo-container{margin-bottom:20px}.logo-komet{font-size:65px;font-weight:900;line-height:1;background:var(--primary-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 3px 0 rgba(30,58,138,.3));display:inline-block;letter-spacing:-2px}h2{color:var(--text-main);font-size:24px;font-weight:700;margin-bottom:8px}.subtitle{color:var(--text-muted);font-size:14px;margin-bottom:25px}.social-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:15px}.btn-social{padding:10px;border:1px solid var(--border-color);border-radius:6px;background:#fff;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text-main);transition:.2s}.btn-social:hover{background:#f1f1f2}.session-info{justify-content:space-between;padding:12px;border:1px solid var(--border-color);border-radius:8px;margin-bottom:20px;text-align:left}.acc-details,.session-info{display:flex;align-items:center}.acc-details{gap:12px}.avatar{width:32px;height:32px;background:var(--navy-dark);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.acc-text p{font-size:12px;font-weight:700;color:var(--text-main)}.acc-text span{font-size:11px;color:var(--text-muted)}.divider{display:flex;align-items:center;margin:20px 0;color:var(--text-muted);font-size:13px;font-weight:500}.divider:after,.divider:before{content:"";flex:1;border-bottom:1px solid var(--border-color)}.divider span{padding:0 10px}.form-field{margin-bottom:16px;text-align:left}.input-group{position:relative;display:flex;align-items:center}.input-group i{position:absolute;left:15px;color:var(--text-muted);font-size:14px}.input-group .toggle-eye{left:auto;right:15px;cursor:pointer}input[type=email],input[type=password],input[type=text]{width:100%;padding:12px 40px;border:1px solid var(--border-color);border-radius:8px;font-size:14px;background:#fbfbfc;outline:none;transition:.2s}input:focus{border-color:var(--primary-blue);box-shadow:0 0 0 2px rgba(59,130,246,.1)}.policy-group{display:flex;align-items:flex-start;gap:10px;margin-bottom:25px;font-size:13px;color:var(--text-main);text-align:left;cursor:pointer}.policy-group input[type=checkbox]{width:16px;height:16px;margin-top:1px;cursor:pointer;flex-shrink:0}.policy-group label{cursor:pointer;line-height:1.4;-webkit-user-select:none;-moz-user-select:none;user-select:none}.policy-group a{color:var(--primary-blue);text-decoration:none;font-weight:600}.btn-register{width:100%;padding:14px;background:var(--primary-gradient);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:700;cursor:pointer;box-shadow:0 4px 12px rgba(30,58,138,.25);transition:.3s;margin-bottom:20px;opacity:1!important}.btn-register:hover{opacity:.95;transform:translateY(-1px)}.footer-link{font-size:14px;color:var(--text-muted)}.footer-link a{color:var(--primary-blue);text-decoration:none;font-weight:600}@media (max-width:480px){.auth-card{padding:30px 20px}.social-row{grid-template-columns:1fr}}.policy-attn{border:1px solid rgba(239,68,68,.55);box-shadow:0 0 0 3px rgba(239,68,68,.12);border-radius:10px;padding:6px 8px;margin:-6px -8px 18px;background:rgba(239,68,68,.04);animation:policyShake .32s ease}@keyframes policyShake{0%{transform:translateX(0)}25%{transform:translateX(-4px)}50%{transform:translateX(4px)}75%{transform:translateX(-3px)}to{transform:translateX(0)}}