@keyframes sbBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.055)}}@keyframes sbRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes sbScan{0%,to{transform:translate(-2.4px)}50%{transform:translate(2.4px)}}@keyframes sbBlink2{0%,14%{transform:scaleY(1)}20%{transform:scaleY(.1)}27%{transform:scaleY(1)}38%{transform:scaleY(1)}44%{transform:scaleY(.1)}51%{transform:scaleY(1)}to{transform:scaleY(1)}}@keyframes sbNod{0%{transform:rotate(0)translateY(0)}30%{transform:rotate(3.5deg)translateY(2px)}62%{transform:rotate(-2deg)translateY(-1px)}to{transform:rotate(0)translateY(0)}}@keyframes sbLift{0%{transform:scale(1)}55%{transform:scale(1.16)}to{transform:scale(1.1)}}@keyframes sbDissolve{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes sbPlate{0%{opacity:0}to{opacity:1}}@keyframes sbCaption{0%,55%{opacity:0}to{opacity:1}}.auth-shell{background:var(--stubie-bg);height:100%;min-height:100%;color:var(--stubie-ink);font-family:var(--stubie-font-body);font-size:15px;line-height:1.6;display:flex;position:relative;overflow:hidden}.auth-shell__panel{background:var(--stubie-navy-950);flex-direction:column;flex:50%;justify-content:space-between;padding:40px 44px;display:flex;position:relative;overflow:hidden}.auth-shell__watermark{opacity:.085;pointer-events:none;width:122%;position:absolute;bottom:-26%;left:-18%}.auth-shell__brand{font-family:var(--stubie-font-display);letter-spacing:-.02em;color:#fff;align-items:center;gap:9px;font-size:19px;font-weight:800;display:flex;position:relative}.auth-shell__brand svg{transform-origin:50%;animation:4.5s ease-in-out infinite sbBreathe}.auth-shell__brand--narrow{color:var(--stubie-ink);border-radius:var(--stubie-r-md);min-height:44px;margin:0 0 26px -8px;padding:0 8px;font-size:18px;display:none}.auth-shell__copy{max-width:27ch;position:relative}.auth-shell__title{font-family:var(--stubie-font-display);letter-spacing:-.025em;color:#fff;text-wrap:pretty;margin:0 0 14px;font-size:clamp(24px,2.3vw,32px);font-weight:800;line-height:1.2}.auth-shell__body{color:var(--stubie-navy-200);margin:0;font-size:14px;line-height:1.7}.auth-shell__footer{color:#7e9ed3;margin:0;font-size:11.5px;position:relative}.auth-shell__form-col{flex:50%;justify-content:center;align-items:center;padding:52px 40px;display:flex;position:relative;overflow-y:auto}.auth-shell__form-inner{width:100%;max-width:380px}.auth-screen{animation:sbRise .35s var(--stubie-ease) both}.auth-screen h1{font-family:var(--stubie-font-display);letter-spacing:-.025em;margin:0 0 8px;font-size:28px;font-weight:800;line-height:1.18}.auth-screen>p:first-of-type{color:var(--stubie-ink-muted);margin:0 0 26px;font-size:14.5px}.auth-back-link{color:var(--stubie-ink-muted);cursor:pointer;border-radius:var(--stubie-r-md);min-height:44px;transition:background var(--stubie-dur-1) var(--stubie-ease), color var(--stubie-dur-1) var(--stubie-ease);background:0 0;border:none;align-items:center;gap:6px;margin:0 0 12px -8px;padding:0 8px;font-size:12.5px;font-weight:600;display:inline-flex}.auth-back-link:hover{color:var(--stubie-ink);background:var(--stubie-surface-sunk)}.auth-fields{gap:16px;display:grid}.auth-fields input,.auth-fields select{border:1px solid var(--stubie-line-strong);border-radius:var(--stubie-r-md);height:48px;font-family:var(--stubie-font-body);color:var(--stubie-ink);background:var(--stubie-surface);transition:border-color .12s var(--stubie-ease), box-shadow .12s var(--stubie-ease);outline:none;width:100%;padding:0 15px;font-size:16px}.auth-fields select{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2374869C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;background-size:14px 14px;padding:0 38px 0 12px}.auth-fields input:focus,.auth-fields select:focus{border-color:var(--stubie-accent);box-shadow:0 0 0 3px var(--stubie-accent-quiet)}.auth-fields input.auth-code-input{height:52px;font-family:var(--stubie-font-mono);letter-spacing:.22em;padding:0 16px;font-size:19px}.auth-divider{align-items:center;gap:14px;margin:8px 0 0;display:flex}.auth-divider span:not(.auth-divider__label){background:var(--stubie-line);flex:1;height:1px}.auth-divider__label{color:var(--stubie-ink-faint);text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:700}.auth-primary-btn,.auth-secondary-btn,.auth-ghost-btn{width:100%}.auth-primary-btn{border-radius:var(--stubie-r-pill);background:var(--stubie-primary);height:50px;color:var(--stubie-primary-ink);font-family:var(--stubie-font-display);cursor:pointer;transition:background .18s var(--stubie-ease);border:none;margin-top:6px;font-size:15px;font-weight:700}.auth-primary-btn:hover{background:var(--stubie-primary-hover)}.auth-primary-btn:disabled{opacity:.6;cursor:not-allowed}.auth-primary-btn--accent{background:var(--stubie-accent);color:var(--stubie-accent-ink)}.auth-primary-btn--accent:hover{background:var(--stubie-accent-hover)}.auth-secondary-btn{border:1px solid var(--stubie-line-strong);border-radius:var(--stubie-r-pill);background:var(--stubie-surface);height:48px;color:var(--stubie-ink);font-family:var(--stubie-font-display);cursor:pointer;transition:background .18s var(--stubie-ease);justify-content:center;align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.auth-secondary-btn:hover{background:var(--stubie-surface-2)}.auth-ghost-btn{border-radius:var(--stubie-r-pill);height:44px;color:var(--stubie-ink-muted);font-family:var(--stubie-font-display);cursor:pointer;background:0 0;border:none;font-size:13.5px;font-weight:700}.auth-ghost-btn:hover{color:var(--stubie-ink)}@media (max-width:880px){.auth-shell__panel{display:none}.auth-shell__brand--narrow{display:flex}}.auth-busy{text-align:center;flex-direction:column;align-items:center;padding:24px 0;display:flex}.auth-busy__scan{animation:1.6s ease-in-out infinite sbScan}.auth-busy__dot{transform-box:fill-box;transform-origin:50%;animation:1.8s ease-in-out infinite sbBreathe}.auth-busy__label{font-family:var(--stubie-font-display);margin:22px 0 6px;font-size:16px;font-weight:700}.auth-busy__sub{color:var(--stubie-ink-muted);margin:0;font-size:13.5px}.auth-takeover{background:var(--stubie-bg);z-index:5;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.auth-takeover__skeleton{filter:blur(18px);opacity:.9;animation:sbPlate .7s var(--stubie-ease) both;align-content:start;gap:16px;padding:34px;display:grid;position:absolute;inset:0}.auth-takeover__bar,.auth-takeover__tile,.auth-takeover__block{border-radius:var(--stubie-r-lg);background:var(--stubie-surface);border:1px solid var(--stubie-line)}.auth-takeover__bar{height:54px}.auth-takeover__row{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.auth-takeover__tile{height:96px}.auth-takeover__tile--accent{background:var(--stubie-accent-quiet);border:none}.auth-takeover__block{height:132px}.auth-takeover__center{text-align:center;flex-direction:column;align-items:center;display:flex;position:relative}.auth-takeover__logo{animation:sbLift .9s var(--stubie-ease) var(--stubie-takeover-lift-delay,.9s) both, sbDissolve .7s var(--stubie-ease) var(--stubie-takeover-dissolve-delay,1.7s) both}.auth-takeover__nod{transform-box:view-box;transform-origin:40px 40px;animation:sbNod .8s var(--stubie-ease) .76s both}.auth-takeover__blink{transform-box:fill-box;transform-origin:50%;animation:sbBlink2 1.1s var(--stubie-ease) .12s both}.auth-takeover__title{font-family:var(--stubie-font-display);letter-spacing:-.02em;animation:sbCaption 1.6s var(--stubie-ease) both;margin:26px 0 6px;font-size:20px;font-weight:800}.auth-takeover__body{color:var(--stubie-ink-muted);animation:sbCaption 2.1s var(--stubie-ease) both;margin:0;font-size:13.5px}.auth-takeover__restart{width:auto;height:44px;animation:sbRise .4s var(--stubie-ease) both;margin-top:26px;padding:0 22px;font-size:13.5px}
