.portal-signin{background:#1b2035;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative;overflow:hidden}.portal-signin__bg{pointer-events:none;background-image:linear-gradient(#3b82f60f 1px,#0000 1px),linear-gradient(90deg,#3b82f60f 1px,#0000 1px);background-size:40px 40px;position:absolute;inset:0}.portal-signin:before{content:"";pointer-events:none;background:radial-gradient(#3b82f626 0%,#0000 70%);width:600px;height:600px;position:absolute;top:-200px;left:50%;transform:translate(-50%)}.portal-signin__card{z-index:1;background:#232946;border:1px solid #3b82f633;border-radius:20px;width:100%;max-width:420px;padding:2.5rem 2rem;position:relative;box-shadow:0 24px 64px #00000080,0 0 0 1px #ffffff0a}.portal-signin__brand{align-items:center;gap:.875rem;width:fit-content;margin-bottom:2rem;text-decoration:none;display:flex}.portal-signin__brand-name{color:#fff;font-family:Space Grotesk,sans-serif;font-size:1.125rem;font-weight:700;line-height:1.2;display:block}.portal-signin__brand-sub{letter-spacing:.08em;text-transform:uppercase;color:#3b82f6;font-size:.72rem;font-weight:500;line-height:1.2;display:block}.portal-signin__error{color:#fca5a5;background:#ef44441f;border:1px solid #ef44444d;border-radius:8px;margin-bottom:1rem;padding:.65rem .875rem;font-size:.83rem;line-height:1.5}@keyframes ps-spin{to{transform:rotate(360deg)}}.portal-signin__spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.65s linear infinite ps-spin;display:inline-block}.portal-signin__heading{color:#fff;margin:0 0 .375rem;font-family:Space Grotesk,sans-serif;font-size:1.65rem;font-weight:700}.portal-signin__sub{color:#94a3b8;margin:0 0 1.75rem;font-size:.9rem;line-height:1.5}.portal-signin__oauth{flex-direction:column;gap:.75rem;margin-bottom:1.5rem;display:flex}.portal-signin__oauth-btn{color:#cbd5e1;cursor:pointer;background:#2d3452;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:.75rem;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s,border-color .15s;display:flex}.portal-signin__oauth-btn:hover:not(:disabled){color:#fff;background:#353d60;border-color:#fff3}.portal-signin__oauth-btn:disabled{opacity:.6;cursor:not-allowed}.portal-signin__coming-soon{color:#60a5fa;letter-spacing:.06em;text-transform:uppercase;background:#3b82f626;border-radius:4px;margin-left:auto;padding:.15rem .5rem;font-size:.65rem;font-weight:600}.portal-signin__divider{color:#475569;align-items:center;gap:.75rem;margin-bottom:1.5rem;font-size:.8rem;display:flex}.portal-signin__divider:before,.portal-signin__divider:after{content:"";background:#ffffff14;flex:1;height:1px}.portal-signin__demo{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.portal-signin__demo-btn{cursor:pointer;text-align:left;border:1.5px solid;border-radius:10px;align-items:center;gap:.875rem;width:100%;padding:.875rem 1rem;font-family:inherit;transition:transform .15s,box-shadow .15s;display:flex}.portal-signin__demo-btn:hover{transform:translateY(-1px)}.portal-signin__demo-btn--customer{color:#e2e8f0;background:#3b82f614;border-color:#3b82f64d}.portal-signin__demo-btn--customer:hover{background:#3b82f624;box-shadow:0 4px 20px #3b82f626}.portal-signin__demo-btn--owner{color:#e2e8f0;background:#a855f714;border-color:#a855f74d}.portal-signin__demo-btn--owner:hover{background:#a855f724;box-shadow:0 4px 20px #a855f726}.portal-signin__demo-icon{flex-shrink:0;font-size:1.4rem}.portal-signin__demo-btn strong{font-size:.9rem;font-weight:600;line-height:1.3;display:block}.portal-signin__demo-btn small{color:#64748b;margin-top:.1rem;font-size:.75rem;line-height:1.3;display:block}.portal-signin__note{color:#475569;text-align:center;margin:0 0 .75rem;font-size:.73rem}.portal-signin__signup-nudge{color:#475569;text-align:center;font-size:.8rem}.portal-signin__signup-link{color:#60a5fa;text-underline-offset:2px;text-decoration:underline}.portal-signin__signup-link:hover{color:#93c5fd}.portal-signin__email-icon{flex-shrink:0;font-size:1.1rem;line-height:1}.portal-signin__email-form{flex-direction:column;gap:1rem;margin-bottom:1.25rem;display:flex}.portal-signin__field-group{flex-direction:column;gap:5px;display:flex}.portal-signin__label-row{justify-content:space-between;align-items:center;display:flex}.portal-signin__label{color:#94a3b8;font-size:.8rem;font-weight:500}.portal-signin__input{color:#e2e8f0;box-sizing:border-box;background:#2d3452;border:1px solid #ffffff1f;border-radius:10px;outline:none;width:100%;padding:.75rem 1rem;font-family:inherit;font-size:.925rem;transition:border-color .15s}.portal-signin__input::placeholder{color:#475569}.portal-signin__input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f626}.portal-signin__submit-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:46px;padding:.8rem 1rem;font-family:inherit;font-size:.925rem;font-weight:600;transition:background .15s;display:flex}.portal-signin__submit-btn:hover:not(:disabled){background:#2563eb}.portal-signin__submit-btn:disabled{opacity:.6;cursor:not-allowed}.portal-signin__forgot-link{color:#60a5fa;cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-family:inherit;font-size:.78rem;text-decoration:underline}.portal-signin__forgot-link:hover{color:#93c5fd}.portal-signin__back-link{color:#64748b;cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:1rem;padding:.25rem;font-family:inherit;font-size:.85rem;transition:color .15s;display:block}.portal-signin__back-link:hover{color:#94a3b8}.portal-signin__success{color:#34d399;background:#34d3991a;border:1px solid #34d3994d;border-radius:8px;margin-bottom:1rem;padding:.75rem .875rem;font-size:.875rem;line-height:1.5}@media (max-width:480px){.portal-signin__card{padding:2rem 1.25rem}}
