/* Simple, official-looking UI */
.gngc-ja-wrap { max-width: 1000px; margin: 20px auto; padding: 16px; border: 1px solid #ddd; background: #fff; }
.gngc-ja-title { margin: 0 0 12px; }
.gngc-ja-section { border-top: 1px solid #eee; padding-top: 14px; margin-top: 14px; }
.gngc-ja-section h3 { margin: 0 0 10px; }
.gngc-ja-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.gngc-ja-grid label { display: block; font-weight: 600; }
.gngc-ja-grid input, .gngc-ja-grid select, .gngc-ja-grid textarea { width: 100%; margin-top: 6px; padding: 8px; border: 1px solid #ccc; border-radius: 4px; font-weight: 400; }
.gngc-ja-grid textarea { min-height: 80px; }
.gngc-ja-colspan2 { grid-column: span 2; }
.gngc-ja-table { width: 100%; border-collapse: collapse; margin: 10px 0; }
.gngc-ja-table th, .gngc-ja-table td { border: 1px solid #ddd; padding: 6px; vertical-align: top; }
.gngc-ja-table input, .gngc-ja-table select { width: 100%; padding: 6px; border: 1px solid #ccc; border-radius: 3px; }
.gngc-ja-upload { margin-top: 10px; }
.gngc-ja-actions { margin-top: 16px; display: flex; align-items: center; gap: 12px; }
.gngc-ja-status { font-weight: 600; }
.req { color: #b00020; }
.gngc-ja-help { color: #555; font-size: 13px; margin: 6px 0 0; }
.gngc-ja-admin-tools { padding: 10px; border: 1px dashed #bbb; background: #fafafa; margin-bottom: 12px; }
.gngc-ja-filehint { display: inline-block; margin-left: 8px; color: #2e7d32; font-weight: 600; }

.gngc-ja-popup { position: fixed; inset: 0; background: rgba(0,0,0,.45); display: flex; align-items: center; justify-content: center; z-index: 999999; }
.gngc-ja-popup-inner { background: #fff; padding: 16px; border-radius: 8px; width: min(420px, 92vw); box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.gngc-ja-popup-inner p { margin: 0 0 12px; font-size: 16px; }
