.primary-btn, .secondary-btn { border: none; border-radius: 999px; padding: 0.8rem 1.25rem; cursor: pointer; transition: transform 180ms ease, box-shadow 180ms ease; }
.primary-btn { background: linear-gradient(135deg, var(--accent), #4c8dff); color: white; box-shadow: 0 12px 30px rgba(47,111,237,0.25); }
.secondary-btn { background: #eef4ff; color: var(--primary); }
.primary-btn:hover, .secondary-btn:hover { transform: translateY(-2px); }
.form-group { display: flex; flex-direction: column; gap: 0.45rem; margin-bottom: 1rem; }
input, textarea, select { border: 1px solid var(--border); border-radius: 12px; padding: 0.8rem 1rem; background: #fff; }
textarea { min-height: 120px; }
.question-card { background: white; border: 1px solid var(--border); border-radius: 18px; padding: 1rem 1.1rem; margin-bottom: 1rem; }
.question-card h3 { margin-top: 0; font-size: 1rem; }
.question-list { display: grid; gap: 1rem; }
.modal { display: none; position: fixed; inset: 0; background: rgba(16,42,67,0.6); z-index: 50; align-items: center; justify-content: center; }
.modal.open { display: flex; }
.modal-card { width: min(92vw, 520px); background: white; border-radius: 18px; padding: 1.5rem; }
.loading { display: inline-flex; gap: 0.5rem; align-items: center; }
.spinner { width: 16px; height: 16px; border-radius: 50%; border: 3px solid rgba(47,111,237,0.2); border-top-color: var(--accent); animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }
