/* ===== Color Palette (Libellum-inspired + All Computers Solutions logo) =====
   --acs-bg:       #8A9BB5   Page background (blue-gray)
   --acs-navy:     #1E3A56   Dark navy (titles, navbar)
   --acs-blue:     #1E7DE4   Primary blue (buttons)
   --acs-mid:      #5B7A98   Mid blue-gray (subtitles)
   --acs-accent:   #2080E5   Accent / links
   --acs-border:   #D0D8E0   Input borders
   --acs-label:    #4A4A4A   Labels
   ========================================================================== */

:root {
  --acs-bg:     #8A9BB5;
  --acs-navy:   #1E3A56;
  --acs-blue:   #1E7DE4;
  --acs-mid:    #5B7A98;
  --acs-accent: #2080E5;
  --acs-border: #D0D8E0;
  --acs-label:  #4A4A4A;
}

body {
  background-color: #f0f3f7;
  color: var(--acs-label);
  font-family: 'Segoe UI', system-ui, sans-serif;
}

/* ── Navbar ── */
.acs-navbar {
  background: #ffffff !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.12);
}

.acs-navbar .navbar-text,
.acs-navbar .nav-link,
.acs-navbar .acs-nav-user {
  color: var(--acs-navy) !important;
}

/* ── Login page ── */
.acs-login-bg {
  background: linear-gradient(135deg, #6a7f9a 0%, #8A9BB5 50%, #a0afc5 100%);
}

.acs-login-card {
  width: 100%;
  max-width: 420px;
  border: none;
  border-radius: 14px;
}

.acs-login-logo {
  max-height: 80px;
  max-width: 260px;
  object-fit: contain;
}

/* ── Typography ── */
.acs-title {
  color: var(--acs-navy);
  font-weight: 700;
}

.acs-label {
  color: var(--acs-label);
  font-weight: 500;
  font-size: .875rem;
}

/* ── Inputs ── */
.acs-input {
  border-color: var(--acs-border);
  border-radius: 8px;
}

.acs-input:focus {
  border-color: var(--acs-blue);
  box-shadow: 0 0 0 .2rem rgba(30,125,228,.2);
}

/* ── Buttons ── */
.acs-btn-primary {
  background-color: var(--acs-blue);
  border-color: var(--acs-blue);
  color: #fff;
  border-radius: 8px;
  font-weight: 600;
}

.acs-btn-primary:hover {
  background-color: #1668c4;
  border-color: #1668c4;
  color: #fff;
}

.acs-btn-print {
  background-color: #e67e22;
  border-color: #e67e22;
  color: #fff;
}

.acs-btn-print:hover {
  background-color: #c96d18;
  color: #fff;
}

.acs-btn-email {
  background-color: #27ae60;
  border-color: #27ae60;
  color: #fff;
}

.acs-btn-email:hover {
  background-color: #1e8449;
  color: #fff;
}

/* ── Table ── */
.acs-table thead {
  background-color: var(--acs-navy);
  color: #fff;
}

.acs-table thead th {
  font-weight: 600;
  font-size: .85rem;
  border: none;
  padding: .75rem 1rem;
}

.acs-table tbody tr:hover {
  background-color: #e8eef6;
}

.acs-table td {
  vertical-align: middle;
  padding: .65rem 1rem;
  font-size: .9rem;
}

/* New file highlight */
.acs-row-new {
  animation: fadeInHighlight 2s ease-out forwards;
}

@keyframes fadeInHighlight {
  0%   { background-color: #d4f1d4; }
  100% { background-color: transparent; }
}

/* ── Badges ── */
.acs-badge-num {
  background-color: var(--acs-mid);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
}

.acs-badge-page {
  background-color: var(--acs-navy);
  color: #fff;
  font-size: .8rem;
}

/* ── Pagination ── */
.acs-page-link {
  color: var(--acs-blue);
  border-color: var(--acs-border);
}

.acs-page-link:hover {
  background-color: var(--acs-blue);
  color: #fff;
  border-color: var(--acs-blue);
}

.acs-page-link-active {
  background-color: var(--acs-blue) !important;
  border-color: var(--acs-blue) !important;
  color: #fff !important;
}

/* ── Modal ── */
.acs-modal-header {
  background-color: var(--acs-navy);
  border-radius: calc(.375rem - 1px) calc(.375rem - 1px) 0 0;
}
