.auth-shell{min-height:calc(100vh - var(--header-height,64px));background:radial-gradient(1100px 520px at 50% -12%,var(--color-accent-tint)0%,transparent 62%),var(--color-bg-alt);justify-content:center;align-items:center;padding:clamp(1.5rem,4vw,3.5rem) 1.25rem;display:flex;overflow-x:hidden}.auth-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:24px;grid-template-columns:1.05fr 1fr;width:100%;max-width:min(1000px,100vw - 2.5rem);display:grid;overflow:hidden;box-shadow:0 24px 70px -20px #0d0b2159}.auth-brand,.auth-form{min-width:0}.auth-brand{color:#fff;--bs-heading-color:var(--ws-on-dark-heading);background:var(--gradient-dark);isolation:isolate;flex-direction:column;gap:1.75rem;padding:clamp(2rem,3.5vw,3rem);display:flex;position:relative;overflow:hidden}.auth-brand:before{content:"";background:radial-gradient(circle,rgba(var(--color-accent-rgb),.55)0%,transparent 65%);filter:blur(30px);z-index:-1;width:70%;height:70%;position:absolute;top:-30%;right:-25%}.auth-mesh{z-index:-1;opacity:.5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.auth-mesh line{stroke:#ffffff24;stroke-width:1px}.auth-mesh circle{fill:#ffffff59}.auth-mesh .auth-mesh__node{fill:var(--color-accent)}.auth-mesh .auth-mesh__pulse{fill:var(--color-accent);transform-origin:50%;animation:3.2s ease-in-out infinite auth-pulse}.auth-mesh .auth-mesh__pulse:nth-of-type(2){animation-delay:1s}.auth-mesh .auth-mesh__pulse:nth-of-type(3){animation-delay:2s}@keyframes auth-pulse{0%,to{opacity:.35;r:3}50%{opacity:1;r:5}}.auth-brand__mark{align-items:center;display:inline-flex}.auth-brand__mark img{width:auto;height:30px}.auth-brand__body{margin-top:auto}.auth-brand__title{letter-spacing:-.02em;margin:0 0 .85rem;font-size:clamp(1.6rem,2.6vw,2.15rem);font-weight:700;line-height:1.18}.auth-brand__sub{color:#ffffffb8;max-width:34ch;margin:0;font-size:.95rem;line-height:1.7}.auth-brand__list{gap:.9rem;margin:1.75rem 0 0;padding:0;list-style:none;display:grid}.auth-brand__list li{color:#ffffffdb;align-items:center;gap:.7rem;font-size:.9rem;display:flex}.auth-brand__check{background:rgba(var(--color-accent-rgb),.16);width:20px;height:20px;color:var(--ws-pink-light);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.auth-brand__check svg{width:11px;height:11px}.auth-brand__foot{color:#ffffff8c;border-top:1px solid #ffffff1f;margin:0;padding-top:1.5rem;font-size:.8rem}.auth-form{flex-direction:column;justify-content:center;padding:clamp(2rem,4vw,3.25rem);display:flex}.auth-form__title{letter-spacing:-.02em;color:var(--color-text);margin:0;font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:700}.auth-form__sub{color:var(--color-text-muted);margin:.45rem 0 0;font-size:.95rem}.auth-field{margin-top:1.35rem}.auth-field__row{justify-content:space-between;align-items:baseline;margin-bottom:.5rem;display:flex}.auth-label{color:var(--color-text-secondary);font-size:.8rem;font-weight:600}.auth-forgot{color:var(--ws-accent-ink);font-size:.8rem;font-weight:600;text-decoration:none}.auth-forgot:hover{text-decoration:underline}.auth-input-wrap{position:relative}.auth-input{width:100%;height:50px;color:var(--color-text);background:var(--color-bg);border:1.5px solid var(--color-border);border-radius:12px;outline:none;padding:0 2.75rem;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.auth-input::placeholder{color:var(--color-text-light)}.auth-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 4px rgba(var(--color-accent-rgb),.12)}.auth-input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-bg)inset;caret-color:var(--color-text)}.auth-input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);-webkit-box-shadow:0 0 0 1000px var(--color-bg)inset;caret-color:var(--color-text)}.auth-input__icon{width:18px;height:18px;color:var(--color-text-light);pointer-events:none;position:absolute;top:50%;left:.95rem;transform:translateY(-50%)}.auth-pw-toggle{width:34px;height:34px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;transition:color .2s,background .2s;display:grid;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.auth-pw-toggle:hover{color:var(--ws-accent-ink);background:var(--color-accent-tint)}.auth-pw-toggle svg{width:18px;height:18px}.auth-submit{background:var(--ws-btn-gradient);color:#fff;cursor:pointer;width:100%;height:50px;box-shadow:0 8px 20px -6px rgba(var(--color-accent-rgb),.55);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;margin-top:1.6rem;font-size:.95rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.auth-submit svg{width:18px;height:18px;transition:transform .2s}.auth-submit:hover{box-shadow:0 12px 26px -6px rgba(var(--color-accent-rgb),.6);transform:translateY(-2px)}.auth-submit:hover svg{transform:translate(3px)}.auth-submit:active{transform:translateY(0)}.auth-provider{border:1px solid var(--color-border);background:var(--color-bg);width:100%;height:50px;color:var(--color-text);border-radius:12px;justify-content:center;align-items:center;gap:.6rem;margin-top:1.6rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:border-color .2s,transform .2s;display:inline-flex}.auth-provider svg{width:20px;height:20px}.auth-provider:hover{border-color:var(--color-accent);color:var(--color-text);transform:translateY(-1px)}.auth-hint{color:var(--color-text-secondary);margin:.75rem 0 0;font-size:.85rem}.auth-other{color:var(--ws-accent-ink);align-items:center;gap:.35rem;margin-top:1.1rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.auth-other svg{width:16px;height:16px;transition:transform .2s}.auth-other:hover{text-decoration:underline}.auth-other:hover svg{transform:translate(3px)}.auth-alt{border-top:1px solid var(--color-border);text-align:center;color:var(--color-text-muted);margin-top:1.6rem;padding-top:1.5rem;font-size:.875rem}.auth-alt a{color:var(--ws-accent-ink);font-weight:600;text-decoration:none}.auth-alt a:hover{text-decoration:underline}.auth-back{color:var(--color-text-muted);align-self:center;align-items:center;gap:.4rem;margin-top:1.25rem;font-size:.85rem;text-decoration:none;transition:color .2s;display:inline-flex}.auth-back:hover{color:var(--ws-accent-ink)}.auth-back svg{width:15px;height:15px}.auth-modal-overlay{z-index:1050;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0d0b218c;place-items:center;padding:1.25rem;animation:.2s auth-fade;display:grid;position:fixed;inset:0}.auth-modal{background:var(--color-bg);width:100%;max-width:420px;box-shadow:var(--shadow-xl);border-radius:18px;overflow:hidden}.auth-modal__body{text-align:center;padding:2rem 1.75rem 1.5rem}.auth-modal__icon{background:var(--color-accent-tint);width:52px;height:52px;color:var(--ws-accent-ink);border-radius:14px;place-items:center;margin:0 auto 1rem;display:grid}.auth-modal__icon svg{width:24px;height:24px}.auth-modal__title{color:var(--color-text);margin:0 0 .5rem;font-size:1.2rem;font-weight:700}.auth-modal__text{color:var(--color-text-muted);margin:0;font-size:.925rem;line-height:1.65}.auth-modal__actions{gap:.75rem;padding:0 1.75rem 1.75rem;display:flex}.auth-modal__actions .auth-btn{flex:1}.auth-btn{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;height:46px;font-size:.9rem;font-weight:600;text-decoration:none;transition:transform .2s,box-shadow .2s,background .2s;display:inline-flex}.auth-btn--ghost{border:1.5px solid var(--color-border);background:var(--color-bg);color:var(--color-text-secondary)}.auth-btn--ghost:hover{border-color:var(--color-text-muted);color:var(--color-text)}.auth-btn--primary{background:var(--ws-btn-gradient);color:#fff;box-shadow:0 8px 20px -6px rgba(var(--color-accent-rgb),.55);border:none}.auth-btn--primary:hover{transform:translateY(-2px)}@keyframes auth-fade{0%{opacity:0}to{opacity:1}}@media (max-width:860px){.auth-card{grid-template-columns:1fr;max-width:min(460px,100vw - 2.5rem)}.auth-brand{gap:1.25rem;padding:2rem 1.75rem}.auth-brand__body{margin-top:0}}@media (max-width:560px){.auth-brand__list,.auth-brand__foot{display:none}.auth-brand{gap:1rem;padding:1.75rem 1.5rem}.auth-brand__title{margin-bottom:.5rem;font-size:1.45rem}}@media (prefers-reduced-motion:reduce){.auth-mesh .auth-mesh__pulse{animation:none}.auth-submit,.auth-submit svg,.auth-btn--primary,.auth-modal-overlay{transition:none;animation:none}}
