.jcp-wrap{max-width:1100px;margin:0 auto;padding:24px;color:#0b1d3a;font-family:system-ui,-apple-system,Segoe UI,sans-serif}
.jcp-header h2{font-size:28px;margin:0 0 4px;color:#0b1d3a}
.jcp-header p{color:#64748b;margin:0 0 24px}
.jcp-alert{padding:10px 14px;border-radius:8px;margin:12px 0}
.jcp-alert-ok{background:#ecfdf5;color:#065f46;border:1px solid #a7f3d0}
.jcp-alert-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.jcp-progress-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:24px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.jcp-progress-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.jcp-eyebrow{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:#64748b;font-weight:600}
.jcp-pct{font-size:36px;font-weight:700;margin-top:6px}
.jcp-pct span{font-size:14px;color:#64748b;font-weight:400;margin-left:6px}
.jcp-pill{background:rgba(245,165,36,.12);color:#b45309;padding:8px 14px;border-radius:8px;font-weight:700}
.jcp-bar{height:8px;background:#e2e8f0;border-radius:99px;overflow:hidden;margin:16px 0}
.jcp-bar span{display:block;height:100%;background:linear-gradient(90deg,#0b1d3a,#f5a524)}
.jcp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.jcp-stats>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:10px 12px}
.jcp-stats strong{display:block;font-size:20px}
.jcp-stats span{font-size:11px;text-transform:uppercase;color:#64748b;letter-spacing:.08em}
.jcp-section{margin-top:32px}
.jcp-section h3{font-size:18px;margin:0 0 12px}
.jcp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.jcp-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:18px;display:flex;flex-direction:column;gap:8px}
.jcp-card h4{margin:8px 0 0;font-size:16px}
.jcp-card p{color:#64748b;font-size:14px;margin:0}
.jcp-card-top{display:flex;justify-content:flex-end}
.jcp-badge{display:inline-block;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#e2e8f0;color:#475569}
.jcp-badge-pending{background:#fef3c7;color:#92400e}
.jcp-badge-approved{background:#dcfce7;color:#166534}
.jcp-badge-rejected{background:#fee2e2;color:#991b1b}
.jcp-meta{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:8px 10px;font-size:12px;color:#475569;margin-top:6px}
.jcp-reason{margin-top:6px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;padding:6px 8px;border-radius:6px}
.jcp-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px}
.jcp-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;font-size:13px;font-weight:600;border-radius:8px;border:1px solid transparent;cursor:pointer;text-decoration:none;line-height:1}
.jcp-btn-primary{background:#f5a524;color:#0b1d3a}
.jcp-btn-primary:hover{background:#e09614}
.jcp-btn-outline{background:transparent;border-color:#cbd5e1;color:#0b1d3a}
.jcp-btn-outline:hover{background:#f1f5f9}
.jcp-btn-ghost{background:transparent;color:#0b1d3a}
.jcp-file-label{position:relative;overflow:hidden}
.jcp-file-label input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer}
.jcp-auth{text-align:center;padding:48px 24px}
.jcp-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden;font-size:14px}
.jcp-table th,.jcp-table td{padding:10px 12px;text-align:left;border-bottom:1px solid #f1f5f9;vertical-align:top}
.jcp-table th{background:#f8fafc;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b}
.jcp-inline{display:inline-flex;gap:6px;align-items:center;margin-right:8px}
.jcp-inline input[type=text]{padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font-size:13px}
.jcp-admin-user{margin-top:24px}
.jcp-admin-user h3{margin:0 0 8px}
.jcp-admin-user small{color:#64748b;font-weight:400}
.jcp-reason-sm{font-size:11px;color:#991b1b;margin-top:4px}
.jcp-filter{margin-left:auto}

/* Payment Arrangement section */
.jcp-pa-card { position: relative; }
.jcp-pa-locked .jcp-pa-card {
  background: #f3f4f6;
  border: 1px solid #d1d5db;
  color: #6b7280;
  opacity: 0.85;
}
.jcp-pa-locked .jcp-pa-card h4,
.jcp-pa-locked .jcp-pa-card p { color: #6b7280; }
.jcp-pa-unlocked .jcp-pa-card {
  background: #ecfdf5;
  border: 2px solid #10b981;
  box-shadow: 0 2px 8px rgba(16,185,129,0.15);
}
.jcp-pa-unlocked .jcp-pa-card h4 { color: #065f46; }
.jcp-pa-note {
  font-size: 0.9em;
  background: rgba(0,0,0,0.04);
  border-left: 3px solid #f59e0b;
  padding: 8px 12px;
  margin: 10px 0;
  border-radius: 4px;
}
.jcp-pa-hint {
  display: inline-block;
  margin-left: 10px;
  font-size: 0.85em;
  color: #6b7280;
}
.jcp-btn[disabled] {
  background: #9ca3af !important;
  cursor: not-allowed;
  opacity: 0.7;
}

/* Admin sidebar layout */
.jcp-admin-layout { display: grid; grid-template-columns: 300px 1fr; gap: 20px; align-items: start; }
@media (max-width: 800px) { .jcp-admin-layout { grid-template-columns: 1fr; } }
.jcp-admin-sidebar {
  background: #fff; border: 1px solid #e5e7eb; border-radius: 10px;
  padding: 12px; position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto;
}
.jcp-sidebar-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px 10px; border-bottom: 1px solid #f1f5f9; margin-bottom: 8px; }
.jcp-sidebar-head h3 { margin: 0; font-size: 1rem; }
.jcp-user-list { list-style: none; margin: 0; padding: 0; }
.jcp-user-item {
  display: block; padding: 10px 12px; border-radius: 8px; text-decoration: none;
  color: #111827; border: 1px solid transparent; margin-bottom: 4px;
}
.jcp-user-item:hover { background: #f9fafb; }
.jcp-user-item.is-active { background: #eff6ff; border-color: #bfdbfe; }
.jcp-user-name { font-weight: 600; font-size: 0.95em; }
.jcp-user-email { font-size: 0.8em; color: #6b7280; margin-bottom: 6px; }
.jcp-mini-bar { height: 4px; background: #e5e7eb; border-radius: 999px; overflow: hidden; margin-bottom: 6px; }
.jcp-mini-bar > span { display: block; height: 100%; background: #10b981; }
.jcp-user-stats { display: flex; gap: 6px; align-items: center; font-size: 0.78em; }
.jcp-dot { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 18px; padding: 0 6px; border-radius: 999px; font-weight: 600; color: #fff; }
.jcp-dot-approved { background: #10b981; }
.jcp-dot-pending  { background: #f59e0b; }
.jcp-dot-rejected { background: #ef4444; }
.jcp-user-pct { margin-left: auto; color: #6b7280; font-weight: 600; }
.jcp-admin-main { min-width: 0; }
.jcp-empty, .jcp-empty-state { color: #6b7280; padding: 20px; text-align: center; }
.jcp-muted { color: #9ca3af; }
.jcp-badge-not_submitted { background: #e5e7eb; color: #374151; }
.jcp-badge-pending { background: #fef3c7; color: #92400e; }
.jcp-badge-approved { background: #d1fae5; color: #065f46; }
.jcp-badge-rejected { background: #fee2e2; color: #991b1b; }

/* Admin filters */
.jcp-filters { display: flex; flex-direction: column; gap: 8px; padding: 8px 6px 12px; border-bottom: 1px solid #f1f5f9; margin-bottom: 10px; }
.jcp-input { width: 100%; padding: 7px 9px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 0.88em; background: #fff; }
.jcp-input:focus { outline: none; border-color: #2563eb; box-shadow: 0 0 0 2px rgba(37,99,235,0.15); }
.jcp-filter-actions { display: flex; gap: 6px; }
.jcp-btn-sm { padding: 5px 10px; font-size: 0.82em; }
