/* ── Brand colors ── */
:root {
  --ellaria: #1a3a6b;
  --ellaria-hover: #2a5298;
}

.bg-ellaria        { background-color: var(--ellaria) !important; }
.text-ellaria      { color: var(--ellaria) !important; }

.btn-ellaria {
  background-color: var(--ellaria);
  border-color: var(--ellaria);
  color: #fff;
}
.btn-ellaria:hover,
.btn-ellaria:focus {
  background-color: var(--ellaria-hover);
  border-color: var(--ellaria-hover);
  color: #fff;
}

.navbar.bg-ellaria { background-color: var(--ellaria) !important; }

/* ── Form tweaks ── */
.form-check-input  { width: 1.15em; height: 1.15em; margin-top: 0.15em; cursor: pointer; }
.form-check-label  { cursor: pointer; }
.required-label::after { content: ' *'; color: #dc3545; }

/* ── Card headers ── */
.card-header { font-size: 0.88rem; padding: 0.6rem 1rem; }

/* ── Dashboard table on mobile ── */
@media (max-width: 767px) {
  .table th, .table td { font-size: 0.8rem; padding: 0.35rem 0.5rem; }
}

/* ── Billing table ── */
.billing-table thead th { font-size: 0.82rem; }
.billing-table tbody td { font-size: 0.85rem; }

/* ── Print: billing ── */
@media print {
  .d-print-none   { display: none !important; }
  .d-print-block  { display: block !important; }
  body { font-size: 9pt; background: #fff; }
  .container { max-width: 100% !important; padding: 0 !important; }
  .card { border: none !important; box-shadow: none !important; }
  .card-body { padding: 0 !important; }
  .billing-table { font-size: 8pt; }
  .billing-table th, .billing-table td { padding: 3px 5px; }
  @page { size: A4 landscape; margin: 10mm; }
}
