html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 15px;
  }
}

html {
  position: relative;
  min-height: 100%;
}

body {
  background-color: #fafafa;
  color: #212529;
}

/* Decentní, klidný vzhled */
.card {
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  box-shadow: none;
  background-color: #fff;
}

.card-header {
  background-color: #fff;
  border-bottom: 1px solid #eef0f2;
  font-weight: 600;
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #6c757d;
}

.navbar .nav-link {
  color: #495057;
  font-weight: 500;
  padding-left: 1rem;
  padding-right: 1rem;
}

.navbar .nav-link:hover {
  color: #000;
}

/* Uživatel + odhlášení vpravo. Na mobilu v řadě vedle odkazů,
   od sm nahoru absolutně vpravo, aby navigace zůstala vycentrovaná. */
.navbar-user {
  position: static;
}

@media (min-width: 576px) {
  .navbar-user {
    position: absolute;
    right: 0.75rem;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 575.98px) {
  .navbar .nav-link {
    padding-left: 0.6rem;
    padding-right: 0.6rem;
  }
}

/* Označení elektronické platby v seznamu záznamů */
.elec-badge {
  background-color: #eef2f7;
  color: #5b6470;
  border: 1px solid #d5dbe3;
  font-weight: 600;
  font-size: 0.68em;
  vertical-align: 1px;
}

/* Poslední záznamy — šířky sloupců a kompaktní zobrazení na mobilu */
.recent-table .col-cat {
  max-width: 140px;
}

.recent-table .col-desc {
  max-width: 180px;
}

@media (max-width: 575.98px) {
  .recent-table {
    font-size: 0.8rem;
  }

  .recent-table > :not(caption) > * > * {
    padding: 0.3rem 0.25rem;
  }

  .recent-table .col-cat {
    max-width: 72px;
  }

  .recent-table .col-desc {
    max-width: 96px;
  }
}

.table > :not(caption) > * > * {
  background-color: transparent;
}

/* Zjemněná "tmavá" — místo černé středně šedá */
.btn-dark {
  --bs-btn-bg: #5b6470;
  --bs-btn-border-color: #5b6470;
  --bs-btn-hover-bg: #4d5560;
  --bs-btn-hover-border-color: #4d5560;
  --bs-btn-active-bg: #454c56;
  --bs-btn-active-border-color: #454c56;
}

.btn-outline-dark {
  --bs-btn-color: #5b6470;
  --bs-btn-border-color: #adb5bd;
  --bs-btn-hover-bg: #5b6470;
  --bs-btn-hover-border-color: #5b6470;
  --bs-btn-active-bg: #5b6470;
  --bs-btn-active-border-color: #5b6470;
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.15rem rgba(33, 37, 41, 0.15);
}

.form-control:focus, .form-select:focus {
  border-color: #adb5bd;
}
