:root{--primary:#1a73e8;--primary-deep:color-mix(in srgb,var(--primary) 82%,#08111f);--bg:#eef4fb}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg)}.portal-bg,body{min-height:100vh}.portal-bg{position:relative;display:flex;align-items:center;justify-content:center;padding:1.5rem;overflow:hidden;background:radial-gradient(1100px 620px at 88% -8%,hsla(0,0%,100%,.22),transparent 55%),radial-gradient(900px 700px at -12% 112%,hsla(0,0%,100%,.14),transparent 55%),linear-gradient(155deg,color-mix(in srgb,var(--primary) 60%,#000) 0,var(--primary) 45%,color-mix(in srgb,var(--primary) 85%,#0a1420) 100%);animation:portal-bg-shift 18s ease-in-out infinite alternate}@keyframes portal-bg-shift{0%{background-position:0 0}to{background-position:100% 40%}}.portal-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;animation:portal-float 16s ease-in-out infinite alternate;pointer-events:none}.portal-blob-1{width:440px;height:440px;left:-140px;top:-140px;background:hsla(0,0%,100%,.35)}.portal-blob-2{width:380px;height:380px;right:-120px;bottom:-120px;background:hsla(0,0%,100%,.22);animation-delay:-5s}.portal-blob-3{width:280px;height:280px;left:50%;bottom:-90px;background:hsla(0,0%,100%,.28);animation-delay:-9s}@keyframes portal-float{0%{transform:translate(0) scale(1)}to{transform:translate(28px,-24px) scale(1.07)}}.portal-shell{position:relative;z-index:1;width:100%;max-width:430px}.portal-card{background:hsla(0,0%,100%,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid hsla(0,0%,100%,.85);border-radius:1.6rem;box-shadow:0 32px 80px -24px rgba(0,10,30,.55);overflow:hidden}@keyframes portal-fade-up{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:portal-fade-up .55s ease-out both}.portal-hero{position:relative;background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 55%,#000));padding:2.5rem 1.5rem 3.25rem;text-align:center;overflow:hidden}.portal-hero:after,.portal-hero:before{content:"";position:absolute;border-radius:50%;background:hsla(0,0%,100%,.14);pointer-events:none}.portal-hero:before{width:190px;height:190px;right:-60px;top:-70px}.portal-hero:after{width:150px;height:150px;left:-50px;bottom:-70px}.portal-hero-icon{position:relative;z-index:1;color:hsla(0,0%,100%,.9);margin-bottom:.6rem}.portal-hero-title{position:relative;z-index:1;color:#fff;font-size:1.1rem;font-weight:800;letter-spacing:.02em;text-shadow:0 2px 12px rgba(0,0,0,.18)}.portal-logo-tile{position:relative;z-index:2;width:108px;height:108px;margin:-3rem auto 0;border-radius:1.5rem;background:#fff;box-shadow:0 18px 44px -12px rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;overflow:hidden;padding:.75rem}.portal-logo{width:100%;height:100%;object-fit:contain}.portal-center{text-align:center}.portal-title{font-size:1.45rem;font-weight:800;color:#0f172a;letter-spacing:-.01em}.portal-subtitle{color:#64748b;font-size:.95rem;line-height:1.5}.portal-field{margin-bottom:1rem}.portal-field label{display:block;margin-bottom:.4rem;font-weight:600;font-size:.875rem;color:#334155}.portal-field input,.portal-field select{width:100%;padding:.82rem 1rem;border:1px solid transparent;border-radius:.9rem;font-size:1rem;background:#f1f5f9;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.portal-field input::placeholder{color:#94a3b8}.portal-field input:focus,.portal-field select:focus{background:#fff;border-color:var(--primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary) 15%,transparent)}.portal-input-wrap{position:relative}.portal-input-icon{position:absolute;left:.9rem;top:50%;transform:translateY(-50%);color:#94a3b8;pointer-events:none;display:flex}.portal-input-wrap input{padding-left:2.75rem}.portal-check{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer}.portal-check input{width:1.15rem;height:1.15rem;margin-top:.15rem;flex:none;accent-color:var(--primary);cursor:pointer}.portal-check span{font-size:.85rem;color:#475569;line-height:1.45}.portal-btn{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:.85rem 1.25rem;border:none;border-radius:.9rem;font-size:1rem;font-weight:700;cursor:pointer;transition:transform .12s ease,box-shadow .15s ease,filter .15s ease,background .15s ease}.portal-btn:active{transform:translateY(1px) scale(.99)}.portal-btn-primary{background:linear-gradient(135deg,var(--primary),color-mix(in srgb,var(--primary) 62%,#000));color:#fff;box-shadow:0 12px 28px -10px color-mix(in srgb,var(--primary) 60%,transparent)}.portal-btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 16px 34px -12px color-mix(in srgb,var(--primary) 70%,transparent)}.portal-btn-primary:disabled{background:#cbd5e1;box-shadow:none;cursor:not-allowed}.portal-btn-outline{background:#fff;color:#334155;border:1px solid #e2e8f0}.portal-btn-outline:hover{background:#f8fafc}.portal-btn-ghost{background:none;color:#64748b;border:none}.portal-btn-ghost:hover{color:#334155}.portal-link{color:var(--primary);font-weight:600;text-decoration:none}.portal-link:hover{text-decoration:underline}.portal-premium{display:flex;align-items:center;justify-content:space-between;gap:.75rem;width:100%;padding:.85rem 1rem;border-radius:1rem;background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;cursor:pointer;text-align:left;transition:transform .12s ease,box-shadow .15s ease}.portal-premium:active{transform:scale(.99)}.portal-premium-badge{width:42px;height:42px;flex:none;border-radius:.85rem;background:linear-gradient(135deg,#f59e0b,#d97706);display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 18px -8px rgba(217,119,6,.7)}.portal-premium-title{font-size:.95rem;font-weight:800;color:#78350f}.portal-premium-sub{font-size:.8rem;color:#92400e}.portal-premium-cta{flex:none;padding:.5rem .9rem;border:none;border-radius:.7rem;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.85rem;font-weight:700;cursor:pointer}.portal-error{padding:.8rem 1rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:.9rem;font-size:.875rem;margin-bottom:1rem}