/* =============================================================================
   fh-committee.css v14.0.0
   Committee / Chit Fund module
   ============================================================================= */

.gp-cm-panel { padding:16px 20px; }
.gp-cm-toolbar { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; flex-wrap:wrap; }
.gp-cm-toolbar-left { display:flex; align-items:center; gap:10px; }

/* ── Committee Cards ── */
.gp-cm-cards { display:grid; gap:12px; }
.gp-cm-card { background:#fff; border:1px solid #e2e8f0; border-radius:10px; padding:16px; transition:box-shadow .15s; cursor:pointer; }
.gp-cm-card:hover { box-shadow:0 2px 10px rgba(0,0,0,.06); }
.gp-cm-card-header { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; margin-bottom:8px; }
.gp-cm-card-title { font-size:15px; font-weight:700; color:#0f172a; }
.gp-cm-card-organizer { font-size:12px; color:#94a3b8; }
.gp-cm-card-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:10px; }
.gp-cm-stat { text-align:center; padding:8px; background:#f8fafc; border-radius:8px; }
.gp-cm-stat-label { font-size:10px; font-weight:600; color:#94a3b8; text-transform:uppercase; letter-spacing:.3px; }
.gp-cm-stat-value { font-size:15px; font-weight:700; color:#0f172a; margin-top:2px; }
.gp-cm-card-footer { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:10px; }
.gp-cm-slots { font-size:12px; color:#64748b; display:flex; align-items:center; gap:6px; }
.gp-cm-slot-dots { display:flex; gap:3px; }
.gp-cm-slot-dot { width:10px; height:10px; border-radius:50%; background:#e2e8f0; }
.gp-cm-slot-dot.filled { background:#4f46e5; }

/* ── Badges ── */
.gp-cm-badge { display:inline-block; padding:3px 10px; border-radius:10px; font-size:11px; font-weight:600; }
.gp-cm-badge-collecting { background:#dbeafe; color:#1e40af; }
.gp-cm-badge-active     { background:#d1fae5; color:#065f46; }
.gp-cm-badge-completed  { background:#e2e8f0; color:#475569; }
.gp-cm-badge-cancelled  { background:#fee2e2; color:#991b1b; }
.gp-cm-badge-bidding    { background:#fef3c7; color:#92400e; }
.gp-cm-badge-upcoming   { background:#f1f5f9; color:#64748b; }

/* ── Detail View ── */
.gp-cm-detail-header { padding:16px; background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%); color:#fff; border-radius:10px; margin-bottom:16px; }
.gp-cm-detail-name { font-size:18px; font-weight:700; margin-bottom:4px; }
.gp-cm-detail-sub { font-size:13px; opacity:.85; }
.gp-cm-detail-stats { display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:12px; }
.gp-cm-detail-stat { text-align:center; }
.gp-cm-detail-stat-label { font-size:10px; opacity:.7; text-transform:uppercase; letter-spacing:.3px; }
.gp-cm-detail-stat-value { font-size:16px; font-weight:700; margin-top:2px; }
.gp-cm-section { margin-bottom:18px; }
.gp-cm-section-title { font-size:13px; font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:.4px; margin-bottom:8px; padding-bottom:4px; border-bottom:1px solid #f1f5f9; display:flex; align-items:center; gap:6px; }

/* ── Bidding Area ── */
.gp-cm-bid-area { padding:16px; background:#fffbeb; border:2px solid #fbbf24; border-radius:10px; margin-bottom:16px; }
.gp-cm-bid-title { font-size:14px; font-weight:700; color:#92400e; margin-bottom:10px; display:flex; align-items:center; gap:6px; }
.gp-cm-bid-info { font-size:13px; color:#78350f; margin-bottom:10px; line-height:1.5; }
.gp-cm-bid-form { display:flex; gap:8px; align-items:flex-end; flex-wrap:wrap; }
.gp-cm-bid-form input { flex:1; min-width:140px; }
.gp-cm-bid-list { margin-top:12px; }
.gp-cm-bid-item { display:flex; align-items:center; gap:10px; padding:8px 12px; border-bottom:1px solid #fef3c7; font-size:13px; }
.gp-cm-bid-item:last-child { border-bottom:0; }
.gp-cm-bid-rank { width:24px; height:24px; border-radius:50%; background:#fbbf24; color:#78350f; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:700; }
.gp-cm-bid-rank.winner { background:#16a34a; color:#fff; }
.gp-cm-bid-name { flex:1; font-weight:500; }
.gp-cm-bid-amount { font-weight:700; color:#0f172a; }

/* ── Members Grid ── */
.gp-cm-members-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(180px, 1fr)); gap:8px; }
.gp-cm-member-card { display:flex; align-items:center; gap:10px; padding:10px 12px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; }
.gp-cm-member-card.won { border-color:#86efac; background:#f0fdf4; }
.gp-cm-member-av { width:32px; height:32px; border-radius:50%; background:#e0e7ff; color:#3730a3; display:flex; align-items:center; justify-content:center; font-size:11px; font-weight:600; flex-shrink:0; }
.gp-cm-member-name { font-weight:600; color:#0f172a; }
.gp-cm-member-meta { font-size:11px; color:#94a3b8; }
.gp-cm-member-won-tag { font-size:10px; color:#16a34a; font-weight:600; }

/* ── Rounds Timeline ── */
.gp-cm-rounds-list { display:flex; flex-direction:column; gap:6px; max-height:280px; overflow-y:auto; }
.gp-cm-round-item { display:flex; align-items:center; gap:12px; padding:10px 14px; background:#f8fafc; border:1px solid #e2e8f0; border-radius:8px; font-size:13px; }
.gp-cm-round-item.active { background:#fffbeb; border-color:#fbbf24; }
.gp-cm-round-item.completed { opacity:.8; }
.gp-cm-round-num { width:28px; height:28px; border-radius:50%; background:#e2e8f0; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:700; color:#475569; flex-shrink:0; }
.gp-cm-round-item.completed .gp-cm-round-num { background:#d1fae5; color:#065f46; }
.gp-cm-round-item.active .gp-cm-round-num { background:#fbbf24; color:#78350f; }
.gp-cm-round-body { flex:1; }
.gp-cm-round-winner { font-weight:600; color:#0f172a; }
.gp-cm-round-detail { font-size:12px; color:#64748b; }

/* ── Contribution Table ── */
.gp-cm-contrib-table { width:100%; border-collapse:collapse; font-size:12px; }
.gp-cm-contrib-table th { text-align:left; padding:8px 10px; background:#f8fafc; color:#64748b; font-weight:600; text-transform:uppercase; letter-spacing:.3px; font-size:10px; border-bottom:2px solid #e2e8f0; }
.gp-cm-contrib-table td { padding:8px 10px; border-bottom:1px solid #f1f5f9; color:#0f172a; }
.gp-cm-contrib-table tr:hover td { background:#fafbfc; }

/* ── Responsive ── */
@media (max-width:600px) {
  .gp-cm-card-stats { grid-template-columns:1fr 1fr; }
  .gp-cm-detail-stats { grid-template-columns:repeat(2,1fr); }
  .gp-cm-members-grid { grid-template-columns:1fr; }
  .gp-cm-bid-form { flex-direction:column; }
  .gp-cm-toolbar { flex-direction:column; align-items:stretch; }
}