/* Minimal clean styles */
.ccm-form{max-width:880px;margin:20px auto;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.ccm-form label{display:block;margin:10px 0}
.ccm-form input[type=text],.ccm-form input[type=number],.ccm-form input[type=email],.ccm-form input[type=url],.ccm-form input[type=tel],.ccm-form select,.ccm-form textarea{width:100%;padding:10px;border:1px solid #e5e7eb;border-radius:8px}
.ccm-btn, .ccm-approver button{padding:10px 14px;border:0;border-radius:10px;background:#111827;color:#fff;cursor:pointer}
.ccm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.ccm-card{padding:12px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.ccm-table table{width:100%;border-collapse:collapse}
.ccm-table th,.ccm-table td{border-bottom:1px solid #e5e7eb;padding:8px}
.ccm-status-approved{color:#059669}.ccm-status-pending{color:#d97706}.ccm-status-rejected{color:#dc2626}
.ccm-grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.ccm-checkbox{display:block;padding:6px 8px;border:1px solid #e5e7eb;border-radius:8px;background:#fafafa}
.ccm-services-filter{display:flex;flex-wrap:wrap;gap:8px}
.ccm-chip{border:1px solid #e5e7eb;border-radius:20px;padding:6px 10px;background:#fff}
.ccm-approver-table{width:100%;border-collapse:collapse}
.ccm-approver-table td,.ccm-approver-table th{padding:10px;border-bottom:1px solid #eee}
.ccm-reject-modal{position:fixed;inset:0;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center}
.ccm-reject-modal.show{display:flex}
.ccm-modal-card{background:#fff;padding:16px;border-radius:12px;max-width:520px;width:100%}
.ccm-modal-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}
.ccm-archive .ccm-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.ccm-notice{padding:12px;border:1px solid #fde68a;background:#fff7ed;border-radius:10px}

/* CCM v6.9.14 UI polish */
.ccm-approver, .ccm-table, .ccm-form {
    border:1px solid rgba(0,0,0,0.08);
    border-radius:14px;
    background:#fff;
    box-shadow:0 6px 20px rgba(0,0,0,.06);
    padding:14px;
}
.ccm-approver-table, .ccm-table table {
    width:100%;
    border-collapse:separate;
    border-spacing:0;
    border:1px solid rgba(0,0,0,0.08);
    border-radius:14px;
    background:#fff;
    overflow:hidden;
    box-shadow:0 6px 20px rgba(0,0,0,.06);
}
.ccm-approver-table th, .ccm-approver-table td,
.ccm-table th, .ccm-table td { border-bottom:1px solid #eef2f7; padding:10px; }
.ccm-approver-table thead th, .ccm-table thead th { position:sticky; top:0; background:#fff; z-index:2; }
.ccm-approver-table tbody tr:nth-child(odd), .ccm-table tbody tr:nth-child(odd){ background:#fcfcfd; }
.ccm-toolbar{display:flex;justify-content:space-between;align-items:center;margin:10px 0;gap:10px;flex-wrap:wrap}
.ccm-filters-inline>*{margin-right:8px}
.ccm-badge{padding:4px 8px;border-radius:999px;font-size:12px;border:1px solid #e5e7eb;background:#fff}
.ccm-badge-approved{color:#065f46;border-color:#a7f3d0;background:#ecfdf5}
.ccm-badge-pending{color:#92400e;border-color:#fde68a;background:#fffbeb}
.ccm-badge-rejected{color:#991b1b;border-color:#fecaca;background:#fef2f2}
.ccm-stat{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:10px 14px;min-width:120px;display:flex;flex-direction:column;align-items:flex-start}
.ccm-stat-num{font-size:20px;font-weight:700;line-height:1}.ccm-stat-label{font-size:12px;color:#6b7280}
.ccm-approver .danger{background:#b91c1c;color:#fff}

/* 3-column dashboards */
.ccm-3col{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:16px 0}
.ccm-3col section{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:12px;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.ccm-colwrap{display:grid;grid-template-columns:1fr;gap:8px;margin-top:8px}
.ccm-card-small{border:1px solid #eef2f7;border-radius:10px;padding:10px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.ccm-card-small h4{margin:0 0 6px 0;font-size:15px}
.ccm-mini{font-size:12px;color:#6b7280}
.ccm-reason{margin-top:6px;font-size:12px;color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:6px}

.ccm-testbar{display:flex;align-items:center;gap:10px;margin:6px 0 10px 0} .ccm-testbar .ccm-test-open{padding:8px 12px;border:0;border-radius:10px;background:#111827;color:#fff;cursor:pointer}
/* --- v6.9.21 WOW UI --- */
:root{
  --ccm-card-bg:#ffffff;
  --ccm-border:rgba(17,24,39,0.08);
  --ccm-shadow:0 10px 30px rgba(2,6,23,.10), 0 2px 6px rgba(2,6,23,.06);
  --ccm-shadow-hover:0 18px 40px rgba(2,6,23,.15), 0 6px 14px rgba(2,6,23,.08);
  --ccm-radius:16px;
  --ccm-accent:#111827;
  --ccm-grad:linear-gradient(135deg,#111827, #4b5563 60%, #111827);
  --ccm-soft:#f8fafc;
}

.ccm-approver, .ccm-table, .ccm-form, .ccm-3col section{
  background:var(--ccm-card-bg);
  border:1px solid var(--ccm-border);
  border-radius:var(--ccm-radius);
  box-shadow:var(--ccm-shadow);
}
.ccm-3col section:hover,
.ccm-approver:hover{ box-shadow:var(--ccm-shadow-hover); transition:box-shadow .25s ease; }

.ccm-approver-table, .ccm-table table{
  border:1px solid var(--ccm-border);
  border-radius:var(--ccm-radius);
  overflow:hidden;
  background:var(--ccm-card-bg);
  box-shadow:var(--ccm-shadow);
}
.ccm-approver-table tbody tr{ transition:transform .12s ease, box-shadow .12s ease; }
.ccm-approver-table tbody tr:hover{ transform:translateY(-1px); box-shadow:0 6px 16px rgba(0,0,0,.06) inset; }

/* Summary grid (2 rows) */
.ccm-summary-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:8px 0;
}
.ccm-summary-grid .ccm-summary-cell{
  border:1px solid var(--ccm-border);
  border-radius:12px;
  padding:10px 12px;
  background:var(--ccm-soft);
  text-align:center;
  font-weight:600;
}
.ccm-summary-grid .head{
  background:linear-gradient(180deg,#ffffff, #f5f7fb);
  font-size:13px; color:#374151; letter-spacing:.2px;
}
.ccm-summary-grid-nums .ccm-summary-cell{
  background:#fff; font-size:22px; font-weight:800; color:#111827;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.7);
}

/* Buttons */
.ccm-bulk, .ccm-approve, .ccm-reject, .ccm-modal-confirm, .ccm-modal-cancel{
  border:0; border-radius:12px; padding:9px 14px; cursor:pointer;
  background:#111827; color:#fff;
  box-shadow:var(--ccm-shadow);
}
.ccm-bulk.danger, .ccm-reject{ background:#b91c1c; }
.ccm-bulk:hover, .ccm-approve:hover, .ccm-reject:hover, .ccm-modal-confirm:hover, .ccm-modal-cancel:hover{
  transform:translateY(-1px);
  box-shadow:var(--ccm-shadow-hover);
}
.ccm-modal-cancel{ background:#6b7280; }

/* Inputs */
.ccm-approver input[type="search"], .ccm-approver select, .ccm-form input, .ccm-form select, .ccm-form textarea{
  border:1px solid var(--ccm-border);
  border-radius:12px; padding:10px 12px; outline:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.6);
  background:#fff;
}
.ccm-approver input[type="search"]:focus, .ccm-approver select:focus, .ccm-form input:focus, .ccm-form textarea:focus{
  border-color:#4b5563; box-shadow:0 0 0 3px rgba(75,85,99,.15);
}

/* Cards inside 3col */
.ccm-card-small{
  border:1px solid var(--ccm-border);
  border-radius:14px;
  padding:12px;
  background:var(--ccm-card-bg);
  box-shadow:var(--ccm-shadow);
  transition:transform .15s ease, box-shadow .2s ease;
}
.ccm-card-small:hover{ transform:translateY(-2px); box-shadow:var(--ccm-shadow-hover); }

/* Form wrapper (generic if used) */
.ccm-form{ padding:16px; }
