.sh-form { max-width: 860px; margin: 1rem auto; padding: 1rem; background: #fff; border: 1px solid #e5e5e5; border-radius: 12px; }
.sh-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.sh-grid label { display: flex; flex-direction: column; font-weight: 600; }
.sh-grid label span { font-size: 12px; color: #333; margin-bottom: 4px; }
.sh-grid input, .sh-grid select, .sh-grid textarea { font-weight: 400; padding: 8px; border: 1px solid #d0d0d0; border-radius: 8px; }
.sh-col-2 { grid-column: span 2 / span 2; }
.sh-btn { background: #2271b1; color: #fff; padding: 10px 16px; border: 0; border-radius: 8px; cursor: pointer; }
.sh-btn:hover { background:#135e96; }
.sh-notice { margin: 1rem 0; padding: 12px; border-radius: 8px; }
.sh-error { background: #fde8e8; border: 1px solid #f8b4b4; }
.sh-success { background: #e3f9e5; border: 1px solid #a8e6a3; }
.sh-consent { align-items: center; flex-direction: row; gap: 8px; }
