:root{--color-primary:#0572ec;--color-primary-hover:#0461c9;--color-bg-body:#f4f5f7;--color-bg-card:#fff;--color-text-main:#111418;--color-text-muted:#5e6a7a;--color-border:#e2e8f0;--color-error:#d92d20;--color-error-bg:#fef3f2;--color-success:#12b76a;--color-success-bg:#ecfdf3;--color-focus-ring:#0572ec40;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -2px #0000000a;--radius-md:8px;--radius-lg:12px;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg-body);color:var(--color-text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;line-height:1.5;display:flex}.app-container{background-color:var(--color-bg-card);border-radius:var(--radius-lg);width:100%;max-width:480px;box-shadow:var(--shadow-lg);border:1px solid #0000000d;position:relative;overflow:hidden}.state-container{flex-direction:column;padding:2.5rem 2rem;display:flex}.hidden{display:none!important}.header{text-align:center;margin-bottom:2rem}.logo{color:#fff;background:linear-gradient(135deg,#0572ec 0%,#004db3 100%);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin-bottom:1.25rem;display:inline-flex;box-shadow:0 4px 12px #0572ec4d}.header h1{color:var(--color-text-main);letter-spacing:-.01em;margin-bottom:.5rem;font-size:1.25rem;font-weight:600}.instructions{color:var(--color-text-muted);border-radius:var(--radius-md);border:1px solid var(--color-border);text-align:left;background-color:#f8fafc;padding:.875rem 1rem;font-size:.95rem}.secure-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.375rem;display:flex}label{color:var(--color-text-main);font-size:.875rem;font-weight:500}.required{color:var(--color-error)}input,textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);width:100%;color:var(--color-text-main);box-shadow:var(--shadow-sm);background-color:#fff;padding:.75rem 1rem;font-family:inherit;font-size:.95rem;transition:all .2s}input::placeholder,textarea::placeholder{color:#94a3b8}input:hover,textarea:hover{border-color:#cbd5e1}input:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus-ring);outline:none}textarea{resize:vertical;min-height:80px}.btn-primary{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;width:100%;margin-top:.5rem;padding:.875rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500;transition:background-color .2s,transform .1s;display:flex;position:relative;box-shadow:0 2px 4px #0572ec33}.btn-primary:hover{background-color:var(--color-primary-hover)}.btn-primary:active{transform:scale(.98)}.btn-primary:disabled{cursor:not-allowed;box-shadow:none;background-color:#94a3b8;transform:none}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(360deg)}}.form-alert{border-radius:var(--radius-md);align-items:center;gap:.5rem;padding:.75rem 1rem;font-size:.875rem;font-weight:500;display:flex}.form-alert.error{background-color:var(--color-error-bg);color:var(--color-error);border:1px solid #fda29b}.footer{text-align:center;border-top:1px solid var(--color-border);margin-top:2rem;padding-top:1.25rem}.footer p{color:var(--color-text-muted);align-items:center;gap:.375rem;font-size:.75rem;display:inline-flex}#error-state,#success-state{text-align:center;align-items:center;padding:4rem 2rem}.icon-circle{border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:1.5rem;display:flex}.icon-circle.error{background-color:var(--color-error-bg);color:var(--color-error)}.icon-circle.success{background-color:var(--color-success-bg);color:var(--color-success)}#error-state h2,#success-state h2{color:var(--color-text-main);margin-bottom:.75rem;font-size:1.5rem}#error-state p,#success-state p{color:var(--color-text-muted);font-size:.95rem}
