html, body {
    height: 100%;
    margin: 0;
    background-color: #0d1117;
    color: #cdd5e0;
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}



#main-content {

    flex: 1 0 auto;

}



#footer {

    flex-shrink: 0;

    text-align: center;

    color: white;

    background-color: #343a40;

    padding: 10px;

}



.container {
    padding: 20px;
}



.form-control, .btn {

    background-color: #495057;

    color: #ffffff;

}



.form-control:focus {

    background-color: #495057;

    border-color: #80bdff;

    outline: 0;

    color: #ffffff;

    box-shadow: 0 0 0 0.2rem rgba(0,123,255,.25);

}



.form-label {

    color: #ffffff;

}



.tile {

    padding: 20px;

    border-radius: 5px;

    background-color: #333;

    /*height: 250px;*/

}



.tile-restaurant {

  padding: 20px;

  border-radius: 5px;

  background-color: #333;

  min-height: 100%;

}



.success {

    border: 2px solid green;

}



.fail {

    border: 2px solid red;

}



.switch {

  position: relative;

  display: inline-block;

  width: 60px;

  height: 34px;

}



.switch input {

  opacity: 0;

  width: 0;

  height: 0;

}



.slider {

  position: absolute;

  cursor: pointer;

  top: 0;

  left: 0;

  right: 0;

  bottom: 0;

  background-color: #ccc;

  -webkit-transition: .4s;

  transition: .4s;

}



.slider:before {

  position: absolute;

  content: "";

  height: 26px;

  width: 26px;

  left: 4px;

  bottom: 4px;

  background-color: white;

  -webkit-transition: .4s;

  transition: .4s;

}



input:checked + .slider {

  background-color: #2196F3;

}



input:focus + .slider {

  box-shadow: 0 0 1px #2196F3;

}



input:checked + .slider:before {

  -webkit-transform: translateX(26px);

  -ms-transform: translateX(26px);

  transform: translateX(26px);

}



/* Rounded sliders */

.slider.round {

  border-radius: 34px;

}



.slider.round:before {

  border-radius: 50%;

}



/* Stylowanie nagłówka modala */

.modal-header {

  background-color: #343a40; /* Ciemne tło, zgodne z  CSS */

  color: #ffffff; /* Jasny tekst */

  border-bottom: 1px solid #495057; /* Dodanie granicy dla nagłówka, kolor zgodny z formularzem */

}



/* Stylowanie treści modala */

.modal-body {

  background-color: #343a40; /* Ciemne tło */

  color: #ffffff; /* Jasny tekst */

}



/* Stylowanie przycisku zamknięcia */

.close {

  color: #ffffff; /* Jasny tekst */

}



/* Dostosowanie tła i koloru przycisków w modalu */

.btn {

  background-color: #495057; /* Tło przycisku z CSS */

  color: #ffffff; /* Jasny tekst */

}



/* Dla przycisku zamknięcia przy najechaniu myszką */

.close:hover,

.close:focus {

  color: #adb5bd; /* Lekko jaśniejszy kolor dla lepszej widoczności */

  opacity: 1; /* Zwiększona widoczność */

}



.custom-dark-table {

    background-color: #343a40; /* Ciemne tło tabeli */

    color: #000000; /* Czarny tekst */

}



.custom-dark-table thead th {

    background-color: #495057; /* Nieco jaśniejsze tło dla nagłówków */

    color: #ffffff; /* Czarny tekst */

}



.custom-dark-table .table-success,

.custom-dark-table .table-success:hover {

    background-color: #c3e6cb; /* Jaśniejszy zielony */

    color: #000000; /* Czarny tekst */

}



.custom-dark-table .table-warning,

.custom-dark-table .table-warning:hover {

    background-color: #ffeeba; /* Jaśniejszy żółty */

    color: #000000; /* Czarny tekst */

}



.custom-dark-table .bg-danger,

.custom-dark-table .table-danger,

.custom-dark-table .bg-danger:hover,

.custom-dark-table .table-danger:hover {

    background-color: #f5c6cb; /* Jaśniejszy czerwony */

    color: #000000; /* Czarny tekst */

}



.custom-dark-table tr:hover {

    background-color: #23272b; /* Lekkie podświetlenie przy najechaniu */

    color: #000000; /* Czarny tekst */

}



/* Styl dla linków w tabeli, aby były czytelne */

.custom-dark-table a {

    color: #000000; /* Czarny tekst */

    text-decoration: none; /* Usunięcie podkreślenia */

}



.custom-dark-table a:hover {

    color: #0056b3; /* Ciemnoniebieski, dla kontrastu przy najechaniu */

}

.center {
  text-align: center;
  vertical-align: middle !important;
}

pre {
  white-space: pre-wrap;
  word-wrap: break-word;
  background: #222;
  color: #fff;
  padding: 10px;
  border-radius: 5px;
}

/* ── Navbar ───────────────────────────────────────────────────────────── */
.site-nav {
    background: #161b22;
    border-bottom: 1px solid #21262d;
    position: sticky;
    top: 0;
    z-index: 1000;
}
.site-nav-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 20px;
    height: 54px;
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Brand */
.site-nav-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 15px;
    color: #e0e6ed;
    text-decoration: none;
    white-space: nowrap;
    margin-right: 16px;
    flex-shrink: 0;
}
.site-nav-brand i { color: #79b8ff; font-size: 17px; }
.site-nav-brand:hover { color: #fff; text-decoration: none; }

/* Links */
.site-nav-links {
    display: flex;
    align-items: center;
    gap: 2px;
    list-style: none;
    margin: 0;
    padding: 0;
    flex: 1;
    overflow-x: auto;
    scrollbar-width: none;
}
.site-nav-links::-webkit-scrollbar { display: none; }
.site-nav-links li { flex-shrink: 0; }
.site-nav-links a {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 6px 11px;
    border-radius: 6px;
    font-size: 13px;
    color: #8b949e;
    text-decoration: none;
    transition: background .15s, color .15s;
    white-space: nowrap;
}
.site-nav-links a:hover {
    background: #21262d;
    color: #e0e6ed;
    text-decoration: none;
}
.site-nav-links a.active {
    background: #21262d;
    color: #e0e6ed;
}
.site-nav-links a i { font-size: 14px; }

/* Right */
.site-nav-right {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-left: auto;
    flex-shrink: 0;
}
.site-nav-user {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #8b949e;
}
.site-nav-user i { font-size: 15px; }
.site-nav-logout {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 6px;
    color: #6c757d;
    font-size: 16px;
    text-decoration: none;
    transition: background .15s, color .15s;
}
.site-nav-logout:hover {
    background: #21262d;
    color: #e74c3c;
    text-decoration: none;
}

/* Hamburger (mobile) */
.site-nav-toggler {
    display: none;
    background: none;
    border: none;
    color: #8b949e;
    font-size: 22px;
    cursor: pointer;
    margin-left: auto;
    padding: 4px;
}

@media (max-width: 768px) {
    .site-nav-toggler { display: flex; }
    .site-nav-right   { display: none; }
    .site-nav-links {
        display: none;
        position: absolute;
        top: 54px;
        left: 0; right: 0;
        background: #161b22;
        border-bottom: 1px solid #21262d;
        flex-direction: column;
        align-items: stretch;
        padding: 8px 12px;
        gap: 2px;
    }
    .site-nav-links.open { display: flex; }
    .site-nav-links a { padding: 10px 12px; }
}

/* ── Footer ───────────────────────────────────────────────────────────── */
#footer {
    border-top: 1px solid #21262d;
    background: #161b22;
    padding: 14px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    color: #4a5568;
}
#footer a {
    color: #4a5568;
    text-decoration: none;
    transition: color .15s;
}
#footer a:hover { color: #8b949e; }