/* Feature request modal */
.feature-request-modal { position: fixed; inset: 0; z-index: 10001; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; }
.feature-request-modal.show { opacity: 1; }
.feature-request-overlay { position: absolute; inset: 0; background: rgba(0,0,0,0.5); cursor: pointer; }
.feature-request-content { position: relative; background: #fff; border-radius: 0.75rem; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 10px 10px -5px rgba(0,0,0,0.04); max-width: 500px; width: 90vw; max-height: 90vh; overflow: hidden; }
.feature-request-header { display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 1.5rem 0 1.5rem; border-bottom: 1px solid #e5e7eb; margin-bottom: 1.5rem; }
.feature-request-header h2 { font-size: 1.5rem; font-weight: 700; color: #111827; margin: 0; }
.feature-request-close { background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #6b7280; padding: 0.5rem; border-radius: 0.25rem; line-height: 1; width: 2rem; height: 2rem; display: flex; align-items: center; justify-content: center; transition: all 0.2s ease; }
.feature-request-close:hover { background: #f3f4f6; color: #374151; }
.feature-request-body { padding: 0 1.5rem 1.5rem 1.5rem; }
.feature-request-body p { color: #6b7280; margin-bottom: 1.5rem; line-height: 1.6; }
#feature-request-textarea { width: 100%; border: 1px solid #d1d5db; border-radius: 0.375rem; padding: 0.75rem; font-size: 0.875rem; line-height: 1.5; color: #111827; background: white; resize: vertical; min-height: 120px; margin-bottom: 1.5rem; font-family: inherit; transition: border-color 0.2s ease, box-shadow 0.2s ease; }
#feature-request-textarea:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59,130,246,0.1); }
#feature-request-textarea::placeholder { color: #9ca3af; }
.feature-request-buttons { display: flex; gap: 0.75rem; justify-content: flex-end; }
.feature-request-cancel { background: white; color: #374151; border: 1px solid #d1d5db; border-radius: 0.375rem; padding: 0.75rem 1.5rem; font-size: 0.875rem; font-weight: 500; cursor: pointer; transition: all 0.2s ease; }
.feature-request-cancel:hover { background: #f9fafb; border-color: #9ca3af; }
.feature-request-submit { background: #3b82f6; color: white; border: none; border-radius: 0.375rem; padding: 0.75rem 1.5rem; font-size: 0.875rem; font-weight: 600; cursor: pointer; transition: all 0.2s ease; }
.feature-request-submit:hover { background: #2563eb; }
.feature-request-submit:disabled { background: #9ca3af; cursor: not-allowed; }
.feature-request-success, .feature-request-error { margin-top: 1rem; padding: 0.75rem; border-radius: 0.375rem; text-align: center; }
.feature-request-success { background: #f0fdf4; border: 1px solid #bbf7d0; color: #15803d; }
.feature-request-error { background: #fef2f2; border: 1px solid #fecaca; color: #dc2626; }

@media (max-width: 768px) {
  .feature-request-content { width: 95vw; max-height: 85vh; }
  .feature-request-header { padding: 1rem 1rem 0 1rem; }
  .feature-request-header h2 { font-size: 1.25rem; }
  .feature-request-body { padding: 0 1rem 1rem 1rem; }
  .feature-request-buttons { flex-direction: column; }
  .feature-request-cancel, .feature-request-submit { width: 100%; justify-content: center; padding: 0.75rem 1.5rem; font-size: 1rem; }
}


