.formShell{justify-content:center;align-items:center;min-height:calc(100dvh - 200px);padding:clamp(24px,6vw,80px) clamp(16px,4vw,48px);display:flex}.formPanel{background:linear-gradient(160deg, var(--ink-2), var(--ink));border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);gap:var(--space-lg);flex-direction:column;padding:clamp(28px,5vw,44px);display:flex}.formPanelWide{max-width:760px}.formEyebrow{font-family:var(--font-mono);letter-spacing:.32em;text-transform:uppercase;color:var(--gold-bright);font-size:10.5px}.formTitle{font-family:var(--font-display);letter-spacing:.02em;color:var(--color-text);margin:0;font-size:clamp(28px,4vw,40px);line-height:1.05}.formLead{color:var(--color-text-muted);margin:-4px 0 4px;font-size:14px;line-height:1.55}.field{flex-direction:column;gap:8px;display:flex}.fieldLabel{font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-subtle);font-size:11px}.fieldInputWrap{display:flex;position:relative}.fieldInput,.fieldTextarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text);font:400 16px/1.4 var(--font-sans);transition:border-color var(--fast) var(--ease), box-shadow var(--fast) var(--ease);appearance:none;background:#ffffff0a;padding:14px 16px}.fieldInput:focus,.fieldTextarea:focus{border-color:var(--color-focus-ring);outline:none;box-shadow:0 0 0 3px #ffd15c38}.fieldInput::placeholder,.fieldTextarea::placeholder{color:var(--color-text-subtle)}.fieldHasError .fieldInput,.fieldHasError .fieldTextarea{border-color:#e83642b3;box-shadow:0 0 0 3px #e8364226}.fieldError{color:var(--color-danger);font:500 12px var(--font-sans);margin-top:4px}.fieldHint{color:var(--color-text-subtle);font:400 12px var(--font-sans)}.pwToggle{width:36px;height:36px;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--fast), background var(--fast);background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.pwToggle:hover{color:var(--color-text);background:#ffffff0f}.pwToggle:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.formActions{gap:var(--space-md);flex-direction:column;margin-top:4px;display:flex}.btn{border-radius:var(--radius-sm);min-height:48px;font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;cursor:pointer;transition:transform var(--mid) var(--ease), box-shadow var(--mid) var(--ease), background var(--mid) var(--ease), border-color var(--mid);-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:14px 22px;font-size:12px;font-weight:700;display:inline-flex}.btn:disabled,.btn[aria-busy=true]{opacity:.7;cursor:progress}.btnPrimary{background:linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);color:var(--color-primary-text);box-shadow:0 4px 16px #c8202f66}.btnPrimary:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 24px #e8364299}.btnGhost{border-color:var(--color-border-strong);color:var(--color-link);background:0 0}.btnGhost:not(:disabled):hover{color:var(--color-link-hover);background:#ffd15c14}.formFooter{text-align:center;color:var(--color-text-muted);font-size:14px}.formFooter a{color:var(--color-link);font-weight:600}.formFooter a:hover{color:var(--color-link-hover)}.formBanner{border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;line-height:1.5;animation:.28s cubic-bezier(.2,.9,.3,1) bannerSlideIn;display:flex}.formBannerError{border:1px solid #e836428c;border-left:4px solid var(--crimson-hot);color:#ffe1e1;background:linear-gradient(#e836422e,#e8364214);box-shadow:0 8px 24px #e8364238,inset 0 0 0 1px #ffffff05}.formBannerIcon{color:var(--crimson-neon);filter:drop-shadow(0 0 6px #ff5f4d73);flex-shrink:0;margin-top:1px}.formBannerBody{flex-direction:column;gap:3px;min-width:0;display:flex}.formBannerTitle{font-family:var(--font-mono);letter-spacing:.22em;text-transform:uppercase;color:#ffd5d5;font-size:11px;font-weight:700}.formBannerText{color:#ffe1e1;font-size:14px}@keyframes bannerSlideIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.formBanner{animation:none}}.spinner{border:2px solid;border-top-color:#0000;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}
