/**
 * concom.css - ConCom
 * Brand overrides for the layout_4 base theme.
 * Primary brand colour: #0E7A7A
 */

/* ============================================================
   CSS Custom Properties
   ============================================================ */
:root {
  --concom-primary:        #0E7A7A;
  --concom-primary-dark:   #0a5a5a;
  --concom-primary-light:  #5ecfcf;
  --concom-primary-bg:     rgba(14, 122, 122, 0.08);
  --concom-primary-border: rgba(14, 122, 122, 0.18);

  /* Compliance band colours */
  --band-gold:    #D4A017;
  --band-silver:  #9E9E9E;
  --band-bronze:  #CD7F32;
  --band-fail:    #DC3545;

  /* Document status colours */
  --status-valid:    #198754;
  --status-expiring: #FFC107;
  --status-expired:  #DC3545;
  --status-missing:  #6C757D;
  --status-review:   #0D6EFD;
  --status-rejected: #FD7E14;
}

/* ============================================================
   Primary button & links
   ============================================================ */
.btn-primary {
  background-color: var(--concom-primary);
  border-color:     var(--concom-primary);
  color: #fff;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active {
  background-color: var(--concom-primary-dark);
  border-color:     var(--concom-primary-dark);
  color: #fff;
}
.btn-primary:focus-visible {
  box-shadow: 0 0 0 0.25rem rgba(14, 122, 122, 0.35);
}

.btn-outline-primary {
  color:        var(--concom-primary);
  border-color: var(--concom-primary);
}
.btn-outline-primary:hover {
  background-color: var(--concom-primary);
  border-color:     var(--concom-primary);
  color: #fff;
}

a {
  color: var(--concom-primary);
}
a:hover {
  color: var(--concom-primary-dark);
}

/* ============================================================
   Navbar active state
   ============================================================ */
.navbar-nav-link.active {
  background-color: var(--concom-primary-bg);
  color: var(--concom-primary) !important;
}

/* ============================================================
   Form focus states
   ============================================================ */
.form-control:focus,
.form-select:focus {
  border-color: var(--concom-primary);
  box-shadow: 0 0 0 0.2rem rgba(14, 122, 122, 0.2);
}

/* ============================================================
   Compliance band badges
   ============================================================ */
.badge-gold {
  background-color: var(--band-gold);
  color: #fff;
}
.badge-silver {
  background-color: var(--band-silver);
  color: #fff;
}
.badge-bronze {
  background-color: var(--band-bronze);
  color: #fff;
}
.badge-fail {
  background-color: var(--band-fail);
  color: #fff;
}

/* ============================================================
   Document status badges
   ============================================================ */
.badge-valid {
  background-color: var(--status-valid);
  color: #fff;
}
.badge-expiring {
  background-color: var(--status-expiring);
  color: #000;
}
.badge-expired {
  background-color: var(--status-expired);
  color: #fff;
}
.badge-missing {
  background-color: var(--status-missing);
  color: #fff;
}
.badge-review {
  background-color: var(--status-review);
  color: #fff;
}
.badge-rejected {
  background-color: var(--status-rejected);
  color: #fff;
}

/* ============================================================
   Compliance score circle (large score display)
   ============================================================ */
.score-circle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 72px;
  height: 72px;
  border-radius: 50%;
  font-size: 1.5rem;
  font-weight: 800;
  border: 4px solid currentColor;
}
.score-circle.gold   { color: var(--band-gold);   background: rgba(212,160,23,0.1);  }
.score-circle.silver { color: var(--band-silver); background: rgba(158,158,158,0.1); }
.score-circle.bronze { color: var(--band-bronze); background: rgba(205,127,50,0.1);  }
.score-circle.fail   { color: var(--band-fail);   background: rgba(220,53,69,0.1);   }

/* ============================================================
   Expiry indicator colours (table cells / row highlights)
   ============================================================ */
.expiry-valid    { color: var(--status-valid);    font-weight: 600; }
.expiry-soon     { color: var(--status-expiring); font-weight: 600; }
.expiry-expired  { color: var(--status-expired);  font-weight: 600; }
.expiry-missing  { color: var(--status-missing);  font-style: italic; }

tr.expiry-row-soon    { background-color: rgba(255,193,7,0.06); }
tr.expiry-row-expired { background-color: rgba(220,53,69,0.06); }

/* ============================================================
   DataTables overrides
   ============================================================ */
table.dataTable thead th {
  font-size: .8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #6c757d;
  border-bottom: 2px solid #dee2e6;
}

/* ============================================================
   Card utility
   ============================================================ */
.card-concom-header {
  background-color: var(--concom-primary);
  color: #fff;
  border-radius: .375rem .375rem 0 0;
  padding: .75rem 1.25rem;
  font-weight: 600;
}

/* ============================================================
   Progress bar
   ============================================================ */
.progress-bar {
  background-color: var(--concom-primary);
}

/* ============================================================
   Checkbox / radio accent
   ============================================================ */
.form-check-input:checked {
  background-color: var(--concom-primary);
  border-color:     var(--concom-primary);
}

/* ============================================================
   Select2 focus override
   ============================================================ */
.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--multiple {
  border-color: var(--concom-primary);
  box-shadow: 0 0 0 0.2rem rgba(14, 122, 122, 0.2);
}
.select2-container--default .select2-results__option--highlighted {
  background-color: var(--concom-primary) !important;
}

/* ============================================================
   Misc utilities
   ============================================================ */
.text-concom {
  color: var(--concom-primary) !important;
}
.bg-concom {
  background-color: var(--concom-primary) !important;
  color: #fff;
}
.border-concom {
  border-color: var(--concom-primary) !important;
}
.bg-concom-light {
  background-color: var(--concom-primary-bg) !important;
}
