/* ===========================
   BASE STYLES: Structure/UI
   =========================== */
.cct-responsive { overflow-x: auto !important; }
.cct-table-toolbar { display: flex; justify-content: flex-end; align-items: center; margin-bottom: 8px; }
.dropdown-menu { display: none; position: absolute; background: #fff; border: 1px solid #ccc; padding: 8px; box-shadow: 0 4px 16px rgba(0,0,0,.10);}
.button { padding: 4px 14px; border-radius: 4px; border: 1px solid #bbb; background: #f4f4f4; cursor: pointer; }
.button-primary { background: #007bff; color: #fff; border-color: #007bff; }

.cct-bulk-action {
    margin-bottom: 10px;
    width: 100%;
}

/* ======================
   PILL & STATUS STYLES
   ====================== */
.cct-pill {
    display: inline-block;
    background: #c4c4c452;
    color: #0b0906;
    font-size: 0.95em;
    padding: 4px 8px;
    border-radius: 999px;
    margin: 0 2px 2px 0;
    line-height: 1.25;
    vertical-align: middle;
}
.cct-pill-more {
    background: none;
    color: #fda300;
    font-weight: 600;
}
.cct-status-active, .cct-rating-A   { color: #28a745; font-weight: bold; }
.cct-status-inactive               { color: #6c757d; font-weight: bold; }
.cct-rating-B                      { color: #ffc107; font-weight: bold; }
.cct-rating-C                      { color: #dc3545; font-weight: bold; }

/* ============================
   FILTER/INPUT ROWS & FORMS
   ============================ */
.cct-filter-row th {
    background: #fff !important;
    border-bottom: 2px solid #f4f4f4 !important;
    padding: 4px 8px !important;
}
.cct-filter-row input[type="text"],
.cct-filter-row select.cct-filter {
    width: 100%;
    padding: 4px 8px;
    border-radius: 6px;
    border: 1px solid #c5d1e0;
    font-size: 1em;
    box-sizing: border-box;
    background: #f7fafd;
}

/* ============================
   TABLE BODY/ROW INTERACTION
   ============================ */
.cct-row {
    cursor: pointer;
    background: #fff;
    transition: .25s;
    color: #0b0906;
    margin: 10px;
}
.cct-row:hover,
.cct-row:focus { background: #e9ecef; }
.cct-row.cct-focused { outline: 1px solid #fdce01 !important; background: #f2f2f2 !important; }
.cct-row * { box-shadow: none !important; }

/* ========================
   TABLE HEADER/FOOTER BASE
   ======================== */
.cct-header th, .cct-footer td { background: #f4f4f4; }

/* =========================
   CELL BASE STYLES (BASE)
   ========================= */
.cct-cell {
    padding: 8px;
    border: 1px solid #ccc;
}
.cct-cell input[type=radio],
.cct-cell input[type=checkbox] { margin: 0px !important; }

/* ================================
   MANDATORY OVERRIDES & PRIORITY
   ================================ */
.cct-table {
    width: 100% !important;
    border-collapse: collapse !important;
}
.cct-header th {
    background: #fff !important;
    padding-bottom: 15px !important;
    color: #0b0906 !important;
    font-size: .9em !important;
}
.cct-header * { border-bottom: 1px solid #e0e0e0 !important; }
.cct-header th:nth-child(1) { padding-left: 20px !important; }

.cct-footer input,
.cct-responsive .dataTables_filter input {
    height: 40px !important;
    border: none !important;
    padding: 10px !important;
    font-size: 14px !important;
    line-height: normal !important;
    color: #0b0906 !important;
    background-color: #f2f2f2 !important;
    border-radius: 5px !important;
    box-shadow: none !important;
    margin: 0 0 5px 0px !important;
    box-sizing: border-box !important;
    width: 100% !important;
}
.cct-footer * { border: none !important; }
.cct-responsive .dataTables_filter input { margin-left: 10px !important; }
.dataTables_wrapper .paginate_button.current {
    border: none !important;
    background: #f2f2f2 !important;
}
.cct-responsive .dataTables_filter label::before { content: "🔎 "; }
.cct-responsive .dataTables_filter label { color: #0b0906 !important; }

/* MANDATORY: Cells and Table Appearance */
.cct-cell {
    padding: 10px !important;
    border: none !important;
}
.cct-cell:nth-child(2),
.cct-cell:nth-child(3) {
    font-weight: bold !important;
}
.cct-cell:last-child {
    border-radius: 0px 10px 10px 0px !important;
}
.cct-cell:nth-child(1) {
    border-radius: 10px 0px 0px 10px !important;
}
.cct-select-client {
    margin-left: 10px !important;
    border-radius: 10px 0px 0px 10px !important;
}
#cct-select-all, .cct-select-client {
	width: 15px !important;
    height: 15px !important;
}
.cct-row {
    cursor: pointer !important;
    color: #0b0906 !important;
    background: #fff !important;
    margin: 10px !important;
}
.cct-row:hover {
    background: #eee !important;
    transition: .25s !important;
}

.ccct-campaign-title {
  margin: 10px 0px 0px 0px;
  font-size: 22px;
  line-height: 1.2;
}

.ccct-subtle {
  font-size: 0.6em;
  color: #a9a9a9; /* subtler */
  margin-left: .35em;
  font-weight: 400;
}


