/* Homepage Splunk Apps hub — modal, license note, field errors.
   Scoped under #hub-modal / .splunk-ta-card so it never touches existing homepage styles. */

/* --- request modal: native dialog (mirrors generator PRODUCT_CSS dialog rules) --- */
#hub-modal { border: none; border-radius: 8px; padding: 0; max-width: 480px; width: calc(100% - 2rem); box-shadow: 0 10px 40px rgba(0,0,0,.3); }
#hub-modal::backdrop { background: rgba(0,0,0,.55); overflow: hidden; overscroll-behavior: contain; }
#hub-modal:modal { overscroll-behavior: contain; }
#hub-modal .modal-inner { padding: 1.5rem; position: relative; }
#hub-modal .modal-inner h2 { padding-right: 44px; font-size: 1.25rem; }
#hub-modal .modal-close { float: right; background: none; border: none; font-size: 1.5rem; cursor: pointer; color: #777; }
#hub-modal .form-group { margin-bottom: .9rem; }
#hub-modal .form-group label { display: block; font-weight: 700; margin-bottom: .3rem; font-size: .92rem; }
#hub-modal .form-group input,
#hub-modal .form-group textarea,
#hub-modal .form-group select { width: 100%; padding: .55rem; border: 1px solid var(--line, #ccc); border-radius: 5px; font-family: inherit; font-size: .95rem; }
#hub-modal .field-error { display: none; color: #d93025; font-size: .82rem; margin-top: .2rem; }
#hub-modal :is(:user-invalid) { border-color: #d93025; background: #fce8e6; }
#hub-modal :is(:user-invalid) + .field-error { display: block; }
#hub-modal .modal-message { display: none; border-radius: 6px; padding: .9rem; margin-top: 1rem; font-size: .92rem; }
#hub-modal .license-note { background: #f0f7ff; border: 1px solid #b3d4fc; border-radius: 6px; padding: .8rem 1rem; margin: 1rem 0; font-size: .88rem; }
#hub-modal .license-note i { color: #2563eb; margin-right: .35rem; }
#hub-modal #hub-license-reminder { font-size: .85rem; color: #92400e; background: #fff7ed; border: 1px solid #fed7aa; border-radius: 6px; padding: .55rem .8rem; margin: .4rem 0 .9rem; }
@media (prefers-reduced-motion: no-preference) {
  @starting-style { #hub-modal[open]:modal { opacity: 0; transform: translateY(8px); } }
  #hub-modal[open]:modal { opacity: 1; transform: none; transition: opacity .18s ease, transform .18s ease, display .18s allow-discrete, overlay .18s allow-discrete; }
}

/* --- hub TA cards: compact category chip + stretched action row --- */
.splunk-ta-card { display: flex; flex-direction: column; }
.splunk-ta-card h3 { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.splunk-ta-card .chip { padding: 2px 10px; font-size: .72rem; font-weight: 600; color: var(--primary-text); background: #eff6ff; border-color: #c7d7fe; }
.splunk-ta-card p { flex: 1; }
.splunk-ta-card .cta-row { margin-top: 14px; gap: 10px; }
.splunk-ta-card .btn { min-height: 44px; padding: 0 16px; font-size: .92rem; }
