.page-content{max-width:520px}
.subtitle{font-size:.72rem;color:var(--muted);margin-bottom:1.5rem;line-height:1.7}
.card{background:#fff;border:1px solid var(--divider);border-radius:14px;padding:1.2rem}
label{display:block;font-size:.72rem;font-weight:700;margin-bottom:.3rem;margin-top:.9rem}
label:first-of-type{margin-top:0}
input,select,textarea{width:100%;font-family:'Zen Maru Gothic',sans-serif;font-size:.8rem;color:var(--text);background:#fff;border:1.5px solid var(--divider);border-radius:8px;padding:.55rem .7rem;outline:none;transition:.15s}
input:focus,select:focus,textarea:focus{border-color:var(--pink);background:var(--pink-pale)}
textarea{resize:vertical;min-height:120px;line-height:1.7}
.submit-btn{margin-top:1.1rem;width:100%;padding:.75rem;background:var(--pink);color:#fff;font-family:'Zen Maru Gothic',sans-serif;font-size:.82rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;transition:.15s}
.submit-btn:hover{opacity:.85}
.note{font-size:.65rem;color:var(--muted);margin-top:.8rem;line-height:1.7;text-align:center}
.note-link{color:var(--pink)}
.alert-ok{background:#edfaf3;border:1px solid #86e0b0;border-radius:10px;padding:.7rem 1rem;font-size:.78rem;color:#2e7d52;margin-bottom:1rem}
.alert-err{background:#fdf0f0;border:1px solid #f0b0b0;border-radius:10px;padding:.7rem 1rem;font-size:.78rem;color:#b03030;margin-bottom:1rem}
