/* CCR Event CRM – Public Styles (Modern) */

:root {
  --ccr-primary: #2271b1;
  --ccr-primary-dark: #135e96;
  --ccr-secondary: #f0f0f1;
  --ccr-text: #1f2937;
  --ccr-muted: #6b7280;
  --ccr-surface: #ffffff;
  --ccr-border: #e5e7eb;
  --ccr-radius: 8px;
}


.ccr-form { max-width: 720px; margin: 24px 0; background: var(--ccr-surface); border:1px solid var(--ccr-border); border-radius: var(--ccr-radius); padding: 16px; }
.ccr-form-row { margin-bottom: 16px; }
.ccr-form-row label { display:block; margin-bottom:6px; font-weight:600; color: var(--ccr-text); }
.ccr-form-row input[type=text],
.ccr-form-row input[type=email],
.ccr-form-row input[type=tel],
.ccr-form-row input[type=url],
.ccr-form-row select,
.ccr-form-row textarea { width:100%; padding:10px 12px; border:1px solid var(--ccr-border); border-radius: 6px; font-size: 14px; }
.ccr-form-row input:focus,
.ccr-form-row select:focus,
.ccr-form-row textarea:focus { outline:none; border-color: var(--ccr-primary); box-shadow: 0 0 0 3px rgba(34,113,177,.12); }
.ccr-form-row textarea { min-height: 110px; resize: vertical; }

.ccr-button { display:inline-block; padding:10px 14px; border-radius:6px; border:1px solid var(--ccr-primary); background: var(--ccr-primary); color:#fff; text-decoration:none; font-weight:600; transition:.2s; }
.ccr-button:hover { background: var(--ccr-primary-dark); border-color: var(--ccr-primary-dark); color:#fff; }
.ccr-button:disabled { opacity:.7; cursor:not-allowed; }

.ccr-form-message { margin-top: 12px; padding: 12px; border-radius: 6px; }
.ccr-form-message.success { background:#ecfdf5; border:1px solid #a7f3d0; color:#065f46; }
.ccr-form-message.error { background:#fef2f2; border:1px solid #fecaca; color:#7f1d1d; }

.ccr-event-details { margin-bottom: 24px; padding: 16px; border:1px solid var(--ccr-border); border-radius: var(--ccr-radius); background:#fafafa; }
.ccr-event-details p { margin:.5em 0; color: var(--ccr-text); }
.ccr-event-details strong { display:inline-block; min-width: 100px; color: var(--ccr-muted); }

.ccr-event-list { margin: 24px 0; display:grid; gap:16px; }
.ccr-event-item { padding: 16px; border:1px solid var(--ccr-border); border-radius: var(--ccr-radius); background: var(--ccr-surface); }
.ccr-event-item h3 { margin:0 0 8px 0; }
.ccr-event-meta { margin-bottom: 10px; color: var(--ccr-muted); }
.ccr-event-description { margin-bottom: 14px; color: var(--ccr-text); }
.ccr-event-actions { display:flex; gap:10px; flex-wrap:wrap; }

.ccr-sponsor-list { margin: 24px 0; display:grid; gap:16px; }
.ccr-sponsor-item { display:flex; gap:16px; padding:16px; border:1px solid var(--ccr-border); border-radius: var(--ccr-radius); background: var(--ccr-surface); }
.ccr-sponsor-logo { flex:0 0 160px; }
.ccr-sponsor-logo img { max-width:100%; height:auto; }
.ccr-sponsor-content { flex:1; }
.ccr-sponsor-item h3 { margin:0 0 8px 0; }
.ccr-sponsor-industry { margin-bottom: 8px; color: var(--ccr-muted); }
.ccr-sponsor-contact { margin-bottom: 8px; }
.ccr-sponsor-contact a { color: var(--ccr-primary); text-decoration:none; }
.ccr-sponsor-contact a:hover { text-decoration:underline; }
.ccr-sponsor-description { margin-top: 6px; color: var(--ccr-muted); }

@media (max-width: 768px) {
  .ccr-event-actions { flex-direction: column; }
  .ccr-sponsor-item { flex-direction: column; }
  .ccr-sponsor-logo { flex:0 0 auto; text-align:center; }
}

/* Public Invoice */
.ccr-public-invoice { max-width: 900px; margin: 32px auto; padding: 24px; background: #fff; border: 1px solid var(--ccr-border); border-radius: var(--ccr-radius); }
.ccr-inv-header { display:flex; justify-content:space-between; align-items:center; border-bottom:2px solid #e5e7eb; padding-bottom:14px; margin-bottom:18px; }
.ccr-brand { display:flex; align-items:center; gap:12px; }
.ccr-brand img { max-height:48px; }
.ccr-brand .name { font-size:18px; font-weight:700; }
.ccr-from { color:#6b7280; line-height:1.4; text-align:right; }
.ccr-title-row { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:12px; }
.ccr-title { font-size:22px; font-weight:800; }
.ccr-meta { color:#374151; }
.ccr-section { margin-top:14px; }
.ccr-billto { background:#f9fafb; border:1px solid #e5e7eb; border-radius:8px; padding:12px; }
.ccr-billto-title { font-weight:600; margin-bottom:6px; }
.ccr-items { width: 100%; border-collapse: collapse; margin-top:8px; }
.ccr-items th { background:#f3f4f6; text-transform:uppercase; font-size:11px; color:#374151; letter-spacing:.3px; text-align:left; }
.ccr-items th, .ccr-items td { border:1px solid #e5e7eb; padding:8px; }
.ccr-items th:nth-child(2), .ccr-items td:nth-child(2) { width: 80px; }
.ccr-items th:nth-child(3), .ccr-items td:nth-child(3) { width: 120px; }
.ccr-items th:nth-child(4), .ccr-items td:nth-child(4) { width: 130px; }
.ccr-items th:nth-child(5), .ccr-items td:nth-child(5) { width: 130px; }
.t-r { text-align: right; }
.ccr-totals { width:300px; margin-left:auto; margin-top:10px; border-collapse: collapse; }
.ccr-totals td { border:none; padding:6px 0; }
.ccr-totals .label { color:#6b7280; }
.ccr-grand { font-weight:700; border-top:2px solid #e5e7eb; margin-top:6px; padding-top:6px; }
.ccr-actions { margin-top:18px; display:flex; gap:10px; flex-wrap:wrap; }
.ccr-btn-primary { display:inline-block; background: var(--ccr-primary); color:#fff; padding:10px 14px; border-radius:6px; text-decoration:none; border:1px solid var(--ccr-primary); }
.ccr-btn-primary:hover { background: var(--ccr-primary-dark); border-color: var(--ccr-primary-dark); color:#fff; }
.ccr-btn-outline { display:inline-block; border:1px solid #d1d5db; color:#374151; padding:9px 13px; border-radius:6px; text-decoration:none; background:#fff; }
@media print { .ccr-actions { display:none } }
