html {
  font-size: 14px;
}

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

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

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

body {
  margin-bottom: 60px;
}

/* #181 F-FORM-FIELD-DIRTY-INDICATOR — bledemodré pozadí pro neuložená pole
   napříč všemi formuláři. Class přidává wwwroot/js/form-dirty.js při změně
   value od initial; po Save + reload se reset (initial = current). */
:root {
    --field-dirty-bg: #e7f1ff;
    --field-dirty-border: #b6d4fe;
}
input.field-dirty,
select.field-dirty,
textarea.field-dirty {
    background-color: var(--field-dirty-bg) !important;
    border-color: var(--field-dirty-border) !important;
    transition: background-color 0.2s, border-color 0.2s;
}
.form-label.field-dirty-label::after {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background-color: #0d6efd;
    margin-left: 6px;
    vertical-align: middle;
}

/* #222 + #228: checkbox / radio dirty = celý form-check container podbarvený.
   Stable layout — transparent border na default, colored na dirty (žádný margin-left
   negative který způsoboval „uskočí doleva"). */
.form-check {
    border: 1px solid transparent;
    border-radius: 0.25rem;
    transition: background-color 0.2s, border-color 0.2s;
}
.form-check.field-dirty-check {
    background-color: var(--field-dirty-bg);
    border-color: var(--field-dirty-border);
}

/* #180 F-SETTINGS-TABS — oranžový indikátor na tab buttonu když tab obsahuje
   neuložené field-dirty pole. Aplikuje se na nav-tabs > .nav-link.tab-dirty. */
.nav-tabs .nav-link.tab-dirty {
    color: #d04a02;
    font-weight: 600;
    box-shadow: inset 0 -2px 0 #ff8c00;
}
.nav-tabs .nav-link.tab-dirty::after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background-color: #ff8c00;
    margin-left: 6px;
    vertical-align: middle;
}