/* SHINE iHUB - front-end styles. Scoped to .ihub-* classes so they do not leak into theme styling. */

.ihub-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 1.25rem; margin: 1.5rem 0; }
.ihub-empty { color: #777; font-style: italic; }

.ihub-card { background: #fff; border: 1px solid #e4e6ea; border-radius: 10px; padding: 1.1rem 1.2rem; transition: box-shadow .15s ease, transform .15s ease; }
.ihub-card:hover { box-shadow: 0 6px 18px rgba(16,24,40,.08); transform: translateY(-2px); }
.ihub-card__title { font-size: 1.15rem; margin: 0 0 .35rem; line-height: 1.3; }
.ihub-card__title a { color: #1e293b; text-decoration: none; }
.ihub-card__title a:hover { text-decoration: underline; }
.ihub-card__meta { margin: .2rem 0; }
.ihub-card__sub { margin: .2rem 0; color: #4b5563; font-size: .92rem; }
.ihub-card__excerpt { margin: .5rem 0; color: #374151; font-size: .95rem; }
.ihub-card__cta { margin: .6rem 0 0; font-size: .9rem; }
.ihub-card__cta a { color: #1d4ed8; text-decoration: none; font-weight: 500; }
.ihub-card__cta a:hover { text-decoration: underline; }

.ihub-badge { display: inline-block; padding: .1rem .55rem; font-size: .75rem; font-weight: 600; color: #1e3a8a; background: #dbeafe; border-radius: 999px; letter-spacing: .02em; }
.ihub-badge--coord     { background: #fef3c7; color: #92400e; }
.ihub-badge--active    { background: #dcfce7; color: #166534; }
.ihub-badge--planned   { background: #e0e7ff; color: #3730a3; }
.ihub-badge--completed { background: #e2e8f0; color: #334155; }
.ihub-badge--on-hold   { background: #fee2e2; color: #991b1b; }
.ihub-badge--cancelled { background: #fecaca; color: #7f1d1d; }

.ihub-single { margin-top: 1.5rem; }
.ihub-single h3 { margin: 1.4rem 0 .6rem; font-size: 1.05rem; color: #0f172a; border-bottom: 1px solid #e5e7eb; padding-bottom: .3rem; }

.ihub-keyvalue { width: 100%; border-collapse: collapse; margin: .5rem 0; }
.ihub-keyvalue th, .ihub-keyvalue td { text-align: left; padding: .45rem .7rem; vertical-align: top; font-size: .95rem; }
.ihub-keyvalue th { width: 30%; color: #374151; font-weight: 600; background: #f9fafb; border: 1px solid #e5e7eb; }
.ihub-keyvalue td { border: 1px solid #e5e7eb; }

.ihub-list { list-style: none; padding: 0; margin: .5rem 0; }
.ihub-list li { padding: .35rem 0; border-bottom: 1px dashed #e5e7eb; }
.ihub-list li:last-child { border-bottom: 0; }
.ihub-list--links li { border: 0; padding: .2rem 0; }
.ihub-list--links a:before { content: "\2197  "; color: #64748b; }

@media (max-width: 640px) {
	.ihub-grid { grid-template-columns: 1fr; gap: .9rem; }
	.ihub-keyvalue th { width: 38%; }
}
