@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Outfit:wght@400;500;600;700&display=swap";:root{--color-bg: #ffffff;--color-bg-soft: #f5f8ff;--color-surface: #ffffff;--color-border: #e3e8f4;--color-text: #10182c;--color-text-muted: #5b6680;--color-primary: #155eef;--color-primary-dark: #0d3fb0;--color-primary-light: #4f8cff;--color-accent: #0ea5e9;--shadow-sm: 0 1px 2px rgba(16, 24, 44, .06);--shadow-md: 0 8px 24px rgba(16, 24, 44, .08);--shadow-lg: 0 20px 48px rgba(21, 94, 239, .16);--radius-sm: 8px;--radius-md: 14px;--radius-lg: 22px;--font-heading: "Outfit", sans-serif;--font-body: "Plus Jakarta Sans", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);scroll-behavior:smooth}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;margin:0 0 .5em;color:var(--color-text)}a{color:var(--color-primary);text-decoration:none}p{line-height:1.6;color:var(--color-text-muted)}.container{max-width:1180px;margin:0 auto;padding:0 24px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 26px;border-radius:var(--radius-md);font-weight:600;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}.btn:active{transform:translateY(1px) scale(.98)}.btn-primary{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-outline{background:var(--color-surface);color:var(--color-primary);border-color:var(--color-border)}.btn-outline:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-sm)}.card-lift{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card-lift:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);border-color:var(--color-primary-light)}.badge{display:inline-block;padding:4px 12px;border-radius:999px;font-size:12px;font-weight:700;letter-spacing:.02em;background:var(--color-bg-soft);color:var(--color-primary)}.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}.orb{position:absolute;border-radius:50%;filter:blur(60px);opacity:.55;pointer-events:none;animation:orb-float 14s ease-in-out infinite}.orb-blue{background:radial-gradient(circle,var(--color-primary-light),transparent 70%)}.orb-cyan{background:radial-gradient(circle,var(--color-accent),transparent 70%);animation-delay:-6s}@keyframes orb-float{0%,to{transform:translate(0) scale(1)}50%{transform:translate(30px,-40px) scale(1.15)}}.skeleton{background:linear-gradient(90deg,var(--color-bg-soft) 25%,#eef2fb 37%,var(--color-bg-soft) 63%);background-size:400% 100%;animation:skeleton-shimmer 1.4s ease infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:100% 50%}to{background-position:0 50%}}.auth-shell{min-height:calc(100vh - 332px);display:flex;align-items:center;justify-content:center;padding:56px 24px;background:var(--color-bg-soft)}.auth-card{width:100%;max-width:420px;padding:40px 36px;background:var(--color-surface)}.auth-card h1{font-size:26px;margin-bottom:6px}.auth-card .subtitle{margin-bottom:28px;font-size:14px}.form-group{margin-bottom:18px}.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;color:var(--color-text)}.form-control{width:100%;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:15px;font-family:var(--font-body);background:#fff;transition:border-color .2s ease,box-shadow .2s ease}.form-control:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #155eef1f}.form-error{color:#d92d20;font-size:13px;margin-top:6px}.form-banner{padding:12px 14px;border-radius:var(--radius-sm);font-size:14px;margin-bottom:18px}.form-banner.error{background:#fef3f2;color:#b42318;border:1px solid #fecdca}.form-banner.success{background:#ecfdf3;color:#027a48;border:1px solid #abefc6}.auth-card .btn{width:100%}.auth-card .auth-links{margin-top:20px;font-size:14px;text-align:center;color:var(--color-text-muted)}.auth-card__brand{display:flex;align-items:center;gap:8px;margin-bottom:24px}.brand-mark{width:36px;height:36px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary),var(--color-accent));color:#fff;font-size:13px;font-weight:800;font-family:var(--font-heading);display:flex;align-items:center;justify-content:center;flex-shrink:0}.brand-name{font-family:var(--font-heading);font-size:18px;font-weight:800;color:var(--color-text);letter-spacing:-.02em}.input-wrap{position:relative}.input-wrap .form-control{padding-right:42px}.eye-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:16px;padding:0;line-height:1}.eye-btn:hover{color:var(--color-primary)}.terms-note{font-size:12px;color:var(--color-text-muted);margin-bottom:18px;line-height:1.6}.terms-note a{color:var(--color-primary);font-weight:600}.auth-trust{display:flex;justify-content:center;gap:16px;margin-top:16px}.auth-trust span{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--color-text-muted);font-weight:500}.auth-trust span i{color:var(--color-primary)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.form-group label i{font-size:13px;color:var(--color-primary);margin-right:4px}.page-shell{max-width:760px;margin:0 auto;padding:64px 24px 96px}.page-shell h1{font-size:clamp(28px,4vw,40px);margin-bottom:24px}.page-shell h2{font-size:22px;margin-top:36px}.route-fade{animation:route-fade-in .35s ease}@keyframes route-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
