html {
    font-size: 14px;
}

@media (min-width: 768px) {
    html {
        font-size: 16px;
    }
}

body {
    background: #f5f7fb;
    color: #1f2937;
}

.login-page {
    background: linear-gradient(135deg, #eaf2ff 0%, #f8fbff 100%);
}

.navbar-brand img {
    object-fit: contain;
}

.menu-card {
    border-radius: 1rem;
    transition: all 0.2s ease-in-out;
    background: #ffffff;
}

    .menu-card:hover {
        transform: translateY(-4px);
        box-shadow: 0 .75rem 1.5rem rgba(0,0,0,.08) !important;
    }

    .menu-card .card-body {
        min-height: 170px;
    }

.card {
    border-radius: 1rem;
}

.table td,
.table th {
    vertical-align: middle;
}

.clickable-row {
    cursor: pointer;
}

    .clickable-row:hover {
        background-color: #f1f5ff;
    }

.list-scroll {
    height: calc(100vh - 255px);
    min-height: 400px;
    overflow-y: auto;
    overflow-x: auto;
    border: 1px solid #c9ced6;
    border-radius: 12px;
    background: #fff;
}

    .list-scroll table {
        margin-bottom: 0;
    }

    .list-scroll thead th {
        position: sticky;
        top: 0;
        z-index: 2;
        background: #eef2f7;
        border-bottom: 1px solid #b8c0cc;
    }

.table-spacious td,
.table-spacious th {
    padding: 0.9rem 1.1rem;
    white-space: nowrap;
}

.form-control,
.form-select,
textarea.form-control {
    border: 1px solid #9aa3af;
    background-color: #fff;
}

    .form-control:focus,
    .form-select:focus,
    textarea.form-control:focus {
        border-color: #6b7280;
        box-shadow: 0 0 0 0.1rem rgba(107, 114, 128, 0.15);
    }

.readonly-field {
    background-color: #f3f4f6 !important;
    color: #374151;
}

.phone-box {
    border: 1px solid #9aa3af;
    border-radius: 10px;
    padding: 14px;
    background: #fafafa;
}

.phone-box-title {
    font-weight: 700;
    color: #0d6efd;
    margin-bottom: 10px;
}

.orders-panel {
    margin-top: 2px;
}

.orders-box {
    min-height: 200px;
    max-height: 230px;
    overflow-y: auto;
    border: 1px solid #8aa6b0;
    border-radius: 10px;
    background: #eef9fc;
    padding: 6px;
}

.notes-box {
    min-height: 92px;
}

.alert {
    border-radius: 10px;
}

.btn {
    border-radius: 8px;
}

label.form-label {
    font-weight: 500;
    margin-bottom: 0.35rem;
}

.table thead th {
    font-weight: 700;
}

.container-fluid {
    max-width: 100%;
}

@media (max-width: 991.98px) {
    .orders-box {
        min-height: 140px;
    }
}

@media (max-width: 991.98px) {
    .list-scroll {
        height: calc(100vh - 300px);
        min-height: 300px;
    }
}

.memo-align {
    margin-top: 2px;
}

.narrow-orders {
    min-height: 180px;
}

.readonly-field {
    background-color: #fff !important;
    color: #374151;
}

.same-width-btn {
    min-width: 190px;
    text-align: center;
}

.patient-phone-lower {
    margin-top: 52px;
}

.patient-orders-table {
    font-size: 13px;
}

    .patient-orders-table thead th {
        background: transparent !important;
        color: #000;
        padding: 2px 6px;
        border-bottom: 1px solid #6d9fc4;
    }

    .patient-orders-table td {
        padding: 2px 6px;
        color: #001a80;
        font-weight: 600;
        cursor: pointer;
    }

.patient-order-row:hover td {
    background-color: #eeeeee !important;
    cursor: pointer;
}

.patient-bottom-align {
    align-items: end;
}

.page-sticky-header {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #f5f7fb;
    padding-top: 12px;
    padding-bottom: 10px;
    margin-bottom: 16px;
}

.patient-phone-lower {
    margin-top: 26px;
}