body{margin:0}.sp-public{box-sizing:border-box;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--sp-space-5) var(--sp-space-4);background:var(--sp-color-summary-bg);font-family:var(--sp-font-body);font-size:var(--sp-font-size-body);line-height:1.5;color:var(--sp-color-text)}.sp-public-card{box-sizing:border-box;width:100%;max-width:440px;padding:var(--sp-space-8) var(--sp-space-8) 40px;display:flex;flex-direction:column;align-items:center;gap:var(--sp-space-5);text-align:center;background:var(--sp-color-surface);border:1px solid var(--sp-color-divider);border-radius:var(--sp-radius-surface);box-shadow:var(--sp-shadow-xs)}.sp-public-logo{display:block;width:95px;height:49px}.sp-public-card h1{margin:0;font-family:var(--sp-font-heading);font-size:26px;font-weight:var(--sp-font-weight-semibold);line-height:1.2}.sp-public-card p{margin:0;color:var(--sp-color-text-secondary)}.sp-public-form{width:100%;display:flex;flex-direction:column;gap:var(--sp-space-4);text-align:left}.sp-public-field{display:flex;flex-direction:column;gap:6px}.sp-public-field label{font-size:var(--sp-font-size-label);font-weight:var(--sp-font-weight-semibold)}.sp-public-field input{box-sizing:border-box;width:100%;border:1px solid transparent;border-radius:var(--sp-radius-control);padding:14px var(--sp-space-4);font-family:var(--sp-font-heading);font-size:var(--sp-font-size-input);background:var(--sp-color-field-bg);color:var(--sp-color-text)}.sp-public-field input::placeholder{color:var(--sp-color-placeholder)}.sp-public-field input:focus-visible{outline:2px solid var(--sp-color-accent-deep);outline-offset:1px}.sp-public-field input[aria-invalid=true]{border-color:var(--sp-color-error-border);background:var(--sp-color-error-bg)}.sp-public-help,.sp-public-error{font-size:var(--sp-font-size-small)}.sp-public-card .sp-public-help{color:var(--sp-color-text-muted)}.sp-public-card .sp-public-error{color:var(--sp-color-error)}.sp-public-button{border:0;border-radius:var(--sp-radius-pill);padding:16px 30px 14px;line-height:1;font-family:var(--sp-font-heading);font-size:var(--sp-font-size-button);font-weight:var(--sp-font-weight-semibold);background:var(--sp-color-accent);color:var(--sp-color-text);cursor:pointer;transition:background var(--sp-motion-duration) var(--sp-motion-ease)}.sp-public-button:hover{background:var(--sp-color-accent-hover)}.sp-public-button:focus-visible{outline:2px solid var(--sp-color-accent-deep);outline-offset:2px}
