/* ── Practice colour palette ──────────────────────────────────────────────── */
:root {
  --clr-nav:        #002a4e;
  --clr-primary:    #1a6887;
  --clr-secondary:  #3184ad;
  --clr-background: #f5f4ea;
  --clr-muted:      #d2d2b1;
  --clr-accent:     #aaa77d;
  --clr-border:     #b8c9d4;

  /* Bootstrap overrides */
  --bs-primary:         #1a6887;
  --bs-primary-rgb:     26, 104, 135;
  --bs-link-color:      #1a6887;
  --bs-link-hover-color:#3184ad;
  --bs-body-bg:         #f5f4ea;
  --bs-border-color:    #b8c9d4;
}

/* ── Base ──────────────────────────────────────────────────────────────────── */
body {
  background-color: var(--clr-background);
  font-size: 0.9rem;
  overflow-x: hidden;   /* prevent any content from causing page-level horizontal scroll */
}

/* ── Navbar ────────────────────────────────────────────────────────────────── */
#main-nav {
  background-color: var(--clr-nav) !important;
}

/* ── Bootstrap primary overrides ──────────────────────────────────────────── */
.btn-primary {
  background-color: var(--clr-primary);
  border-color:     var(--clr-primary);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:first-child:active {
  background-color: var(--clr-secondary);
  border-color:     var(--clr-secondary);
}

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

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

/* ── Cards ──────────────────────────────────────────────────────────────────── */
.card {
  border-color: var(--clr-border);
}

/* Day card — today */
.today-card {
  border-color: var(--clr-primary) !important;
  border-left:  4px solid var(--clr-primary) !important;
}

/* Day card — Saturday */
.saturday-card {
  background-color: #fffbee;
  border-color: #e6c84a !important;
}

/* Day card — past date */
.past-card {
  opacity: 0.75;
  background-color: #f8f8f8;
}

/* ── Payroll table ─────────────────────────────────────────────────────────── */
.payroll-table thead th {
  background-color: var(--clr-primary);
  color: #fff;
  border-color: var(--clr-primary);
  white-space: nowrap;
}

.payroll-table .sat-hours   { color: #7a5c00; font-weight: 600; }
.payroll-table .leave-days  { color: #1a6887; font-weight: 600; }

/* ── RAPL entry type buttons ────────────────────────────────────────────────── */
.btn-type {
  font-weight: 600;
  font-size: 0.8rem;
  padding: 0.2rem 0.45rem;
  background: transparent;
}

/* R — Regular: brand blue */
.btn-type-r                 { color: #1a6887; border-color: #1a6887; }
.btn-type-r:hover           { background: rgba(26,104,135,0.1); border-color: #1a6887; color: #1a6887; }
.btn-type-r.active          { background: #1a6887; color: #fff; border-color: #1a6887; }

/* A — Annual Leave: green */
.btn-type-a                 { color: #2e7d32; border-color: #2e7d32; }
.btn-type-a:hover           { background: rgba(46,125,50,0.1); border-color: #2e7d32; color: #2e7d32; }
.btn-type-a.active          { background: #2e7d32; color: #fff; border-color: #2e7d32; }

/* P — Personal Leave: amber */
.btn-type-p                 { color: #c45e00; border-color: #c45e00; }
.btn-type-p:hover           { background: rgba(196,94,0,0.1); border-color: #c45e00; color: #c45e00; }
.btn-type-p.active          { background: #c45e00; color: #fff; border-color: #c45e00; }

/* L — Long Service Leave: purple */
.btn-type-l                 { color: #6a1b9a; border-color: #6a1b9a; }
.btn-type-l:hover           { background: rgba(106,27,154,0.1); border-color: #6a1b9a; color: #6a1b9a; }
.btn-type-l.active          { background: #6a1b9a; color: #fff; border-color: #6a1b9a; }

/* ── Misc ──────────────────────────────────────────────────────────────────── */
.save-feedback { font-size: 0.8rem; }

/* ── Print ─────────────────────────────────────────────────────────────────── */
.print-only { display: none; }

@media print {
  body { background: #fff; font-size: 11pt; }
  #main-nav  { display: none !important; }
  .no-print  { display: none !important; }
  .print-only { display: block !important; }
  .card { border: 1px solid #ccc !important; background: #fff !important; }
  .payroll-table thead th { background-color: #1a6887 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
