/* medical.css - Custom styles for the Medical Lab Application */
/* This file will be used for styles specific to the application, 
   or to override/extend Bootstrap 5 styles. */

/* Example of a custom global variable (can be used to override Bootstrap defaults if using SASS, or just for custom components) */
:root {
    --custom-primary-accent: #7952b3; /* Przykładowy fioletowy akcent */
}

body {
    /* Bootstrap sets its own font-family, background-color etc. 
       We can override them here if needed, or in a more specific selector.
       For now, let Bootstrap handle the base body styles. */
}

/* Sidebar customisations (if Bootstrap's default navs are not enough) */
.sidebar {
    /* Example: Custom width or background if not using Bootstrap's bg-dark etc. */
    /* background-color: var(--gray-900); /* Using a custom dark from our old palette for now */
    /* color: #fff; */
    /* height: 100vh; */ /* Ensure sidebar takes full height */
    /* position: fixed; */ /* If using a fixed sidebar */
    /* top: 0; */
    /* left: 0; */
    /* z-index: 100; */ /* Higher than content */
    /* padding-top: 56px; */ /* If there's a fixed top navbar */
}

.sidebar .nav-link {
    /* color: rgba(255,255,255,.75); */
}
.sidebar .nav-link.active {
    /* color: #fff; */
    /* background-color: var(--bs-primary); */ /* Using Bootstrap's primary color for active link */
}
.sidebar .nav-link:hover {
     /* color: #fff; */
     /* background-color: rgba(255,255,255,.1); */
}
.sidebar-header {
    padding: 1rem 1.25rem;
    border-bottom: 1px solid rgba(255,255,255,0.1);
    margin-bottom: 1rem;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 500;
}
.sidebar-header i {
    margin-right: 0.5rem;
}


/* Main content customisations */
.main-content {
    /* padding-left: 270px; */ /* Example: if sidebar has fixed width 270px */
    /* padding-top: 1.5rem; */
    /* padding-bottom: 1.5rem; */
}

/* Custom styles for cards, if needed beyond Bootstrap's .card */
/* .card { ... } */

/* Custom styles for tables, if needed beyond Bootstrap's .table */
/* .table { ... } */

/* Custom styles for forms, if needed beyond Bootstrap's .form-control, .btn etc. */
/* .form-control { ... } */
/* .btn-primary { ... } */


/* Login Page Specific Styles (if Bootstrap card is not enough) */
.login-container-bs { /* New class to avoid conflict if old .login-container is still somewhere */
    max-width: 480px;
    /* margin-top: 5rem; */ /* Pushed down from top */
}

/* Patient Portal Specific Styles */
.patient-portal-container-bs {
    max-width: 800px;
    /* margin-top: 2rem; */
}
.results-table th, .results-table td {
    /* vertical-align: middle; */ /* Bootstrap's default is top for td, can change if needed */
}
.out-of-range {
    color: var(--bs-danger); /* Using Bootstrap's danger color */
    font-weight: bold;
}
.out-of-range::before {
    content: "❗ ";
    margin-right: 3px;
}
.table tbody tr.row-out-of-range td {
    background-color: var(--bs-danger-bg-subtle); /* Bootstrap 5.3 subtle danger background */
}

/* Style dla inputów w trakcie wpisywania, jeśli wynik jest poza normą (JS) */
.form-control.result-out-of-range {
    border-color: var(--bs-danger);
    background-color: var(--bs-danger-bg-subtle) !important; /* Ważne, aby nadpisać inne style tła inputa */
    color: var(--bs-danger-text-emphasis) !important;
}
.form-control.result-in-range { /* Opcjonalne, jeśli chcemy też oznaczać poprawne */
    border-color: var(--bs-success);
    /* background-color: var(--bs-success-bg-subtle) !important; */
}


/* Alert customisations (Bootstrap's alerts are usually good enough) */
/* .alert-custom { ... } */

/* Utility classes (if needed) */
.btn-small { /* Bootstrap has .btn-sm, this might be redundant or for further customization */
    padding: 0.25rem 0.5rem;
    font-size: 0.875em;
}

/* Style for patient_suggestions autocomplete (needs to work with Bootstrap) */
#patient_suggestions {
    position: absolute;
    background-color: #fff;
    border: 1px solid #ced4da; /* Bootstrap's default form input border color */
    border-top: none;
    z-index: 1050; /* Ensure it's above other elements, Bootstrap modal is 1050+ */
    width: 100%; /* Should match the input field's width */
    max-height: 200px;
    overflow-y: auto;
    box-shadow: 0 .5rem 1rem rgba(0,0,0,.15); /* Bootstrap's dropdown shadow */
}
#patient_suggestions ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}
#patient_suggestions li {
    padding: .5rem 1rem; /* Bootstrap's dropdown-item padding */
    cursor: pointer;
    font-size: 0.875rem;
}
#patient_suggestions li:hover {
    background-color: #e9ecef; /* Bootstrap's dropdown-item hover color */
    color: #000;
}

/* Styles for status indicators (can use Bootstrap badges) */
.status-collected { color: var(--bs-warning-text-emphasis); }
.status-in_progress { color: var(--bs-info-text-emphasis); }
.status-completed { color: var(--bs-success-text-emphasis); }
.status-cancelled { color: var(--bs-secondary-text-emphasis); }
.status-pending { color: var(--bs-warning-text-emphasis); } /* For prophylactic_registrations */
.status-accepted { color: var(--bs-success-text-emphasis); }
.status-rejected { color: var(--bs-danger-text-emphasis); }

/* Styles for priority (can also use Bootstrap badges or text colors) */
.priority-stat { color: var(--bs-danger-text-emphasis); font-weight: bold; }
.priority-pilne { color: var(--bs-warning-text-emphasis); font-weight: bold; }
.priority-normalne { /* color: var(--bs-body-color); */ /* Domyślny kolor tekstu */ }


/* Modal customisations (Bootstrap's modal is usually very flexible) */
/* .modal-content { ... } */
/* .modal-header { ... } */
/* .modal-body { ... } */
/* .modal-footer { ... } */

/* Responsive adjustments if Bootstrap's grid is not enough */
/* @media (max-width: 768px) { ... } */

/* Ensure that the main content area is not obscured by a fixed sidebar if we choose that layout */
/* body.has-fixed-sidebar .main-content { margin-left: 256px; } /* Adjust 256px to actual sidebar width */
