.error-message{color:red;margin:5px 0 10px;font-size:12px}.error-input{border:1px solid red;outline:none}.input-group{flex-direction:column;width:100%;display:flex}.modal-overlay{z-index:1000;visibility:hidden;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;animation:.3s forwards fadeIn;display:flex;position:fixed;top:0;left:0}@keyframes fadeIn{to{opacity:1;visibility:visible}}.modal-content{border-radius:var(--radius-lg);width:min(400px,100vw - 32px);box-shadow:var(--shadow-card);visibility:hidden;background:#fff;flex-direction:column;align-items:center;gap:20px;padding:30px;animation:.3s .1s forwards popIn;display:flex;transform:scale(.95)}@keyframes popIn{to{opacity:1;visibility:visible;transform:scale(1)}}.modal-content h2{text-align:center}.modal-content form{flex-direction:column;gap:15px;width:100%;display:flex}.modal-content input{border-radius:var(--radius-md);transition:border-color .2s var(--ease-out), box-shadow .2s var(--ease-out);border:1px solid #ccc;padding:12px;font-size:16px}.modal-content input:focus{box-shadow:var(--ring);border-color:#b68d6a}.modal-content input:focus-visible{outline:2px solid var(--color-gold-text);outline-offset:2px}.modal-content-button{color:#fff;border-radius:var(--radius-md);cursor:pointer;transition:transform .3s var(--ease-out), box-shadow .3s var(--ease-out), background .3s var(--ease-out);background:linear-gradient(90deg,#ebca94,#855f3a);border:none;padding:12px;font-size:16px;font-weight:700}.modal-content-button:hover{color:#fff;box-shadow:var(--shadow-accent);background:linear-gradient(90deg,#855f3a,#ebca94);transform:scale(1.03)}.modal-content-button:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.close-link{color:var(--color-ink-muted);cursor:pointer;background:0 0;border:none;align-self:center;padding:8px;font-size:14px;text-decoration:underline}.close-link:hover{color:var(--color-ink-soft)}@keyframes fadeOut{0%{opacity:1}to{visibility:hidden}}@keyframes popOut{0%{opacity:1;transform:scale(1)}to{visibility:hidden;transform:scale(.95)}}.modal-overlay.closing{animation:.3s forwards fadeOut}.modal-content.closing{animation:.3s forwards popOut}@media (max-width:480px){.modal-content{padding:20px}}
