﻿/* Ensure borders between cells don't interfere with the rounded corners */

table {
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}
    /* Make only the first and last th have rounded top corners */
    table thead th:first-child {
        border-top-left-radius: 10px;
        padding-left: 25px;
    }

    table thead th:last-child {
        border-top-right-radius: 10px;
    }

    table thead tr th:nth-child(2) {
        padding-left: 0;
        padding-right: 40px;
    }

    table tbody td {
        border-bottom: 1px solid #D3D3D3;
        height: 30px;
    }

        table tbody td:first-child {
            border-left: 1px solid #D3D3D3;
            padding-left: 25px;
        }

        table tbody td:last-child {
            border-right: 1px solid #D3D3D3;
        }

th, td {
    text-align: left;
    height: 30px;
    padding-left: 8px;
    font-size: 14px;
}

th {
    line-height: 10px;
}

tbody tr td:nth-child(2) {
    padding-left: 0;
    padding-right: 30px;
}


.allpatients_header {
    margin-left: 4px;
    margin-top: 8px;
}

/*for table pagination*/
/*******************************************************/
/* container flex */
.pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 1rem;
}

/* left info */
.pager-info {
    font-size: 0.75rem;
    text-transform: uppercase;
    color: #666; /* muted grey */
}

/* right nav */
.pager-nav ul {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.75rem;
    text-transform: uppercase;
}

.pager-nav li {
    margin: 0 6px;
}

/* links and spans share padding */
.pager-nav a,
.pager-nav span {
    padding: 0 6px;
    line-height: 1.5;
    text-decoration: none;
    color: #007aff; /* your brand blue */
    cursor: pointer;
}

/* disabled state */
.pager-nav li.disabled a {
    color: #ccc;
    cursor: default;
    pointer-events: none;
}

/* active page */
.pager-nav li.active span {
    background: white;
    color: #AEAEB2;
    border-radius: 3px;
    cursor: default;
}

/* ellipsis */
.pager-nav li.ellipsis span {
    color: #666;
    pointer-events: none;
    cursor: default;
}
/*******************************************************/

th.sortable *,
th.sortable {
    display: flex; /* fill the full cell width */
    align-items: center; /* vertical center */
    white-space: nowrap; /* never wrap text/icon */
    cursor: pointer;
    gap: 4px; /* space between label & icon */
}

.sort-icon {
    width: 16px;
    height: 16px;
    flex-shrink: 0; /* never squish the icon */
}

span.action_popup {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    font-weight: bold;
    width: 16px;
    margin-right: 30px;
}

.dropdown {
    position: relative;
    display: inline-block;
    cursor: pointer;

    /* new: shove it over from the right edge */
    float: right;
    margin-right: 1.8rem; /* adjust to taste */
}

.ellipsis {
    font-size: 1.2rem;
    user-select: none;
}

.dropdown-content {
    display: none;
    position: absolute;
    right: 0; /* align to the right edge */
    top: 100%; /* just below the icon */
    background: #fff;
    box-shadow: 0 2px 6px rgba(0,0,0,0.15);
    border-radius: 4px;
    min-width: 140px;
    z-index: 10;
    margin-top: -4px; /* pull it up 4px */
}

    .dropdown-content a {
        display: block;
        padding: 8px 12px;
        text-decoration: none;
        color: #8A8A8A;
    }

        .dropdown-content a:hover {
            background: #f5f5f5;
        }

        .dropdown-content a.danger {
            color: #8A8A8A;
        }

.dropdown:hover .dropdown-content {
    display: block;
}

/* make sure your items stack icon + text nicely */
.dropdown-content .dropdown-item {
    display: flex;
    align-items: center;
    padding: 8px 12px;
    white-space: nowrap;
}

/* size & space your icon to match the text */
.menu-icon {
    width: 1em; /* same as your font-size */
    height: 1em;
    margin-right: 0.5em; /* gap between icon & label */
    flex-shrink: 0; /* don’t let it squeeze */
}

.page {
    /*width: max-content;*/
    /*display: block;
    margin: 0 auto;*/
    /* margin-top: 1rem; -- Norbert */
}

.page.patients-list .page-content {
    min-width: 75%
}

.tab-header {
    display: flex;
    background: #f5f5f5;
    /* border-bottom: 2px solid #e0e0e0; */
    padding-left: 16px;
    align-items: flex-end;
    height: 56px;
}

.tab-item {
    position: relative;
    padding: 16px 32px 12px 24px;
    font-size: 18px;
    font-weight: 500;
    color: #2b2f80;
    background: #e8e9ed;
    border-radius: 16px 16px 0 0;
    margin-right: 8px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    display: flex;
    align-items: center;
}

    .tab-item:last-child {
        border-right: none;
    }

    .tab-item.active {
        background: #fff;
        color: #2B2F80;
        font-weight: bold;
        border-left: 1px solid #d0d0d0;
        border-right: 1px solid #d0d0d0;
        border-top: 1px solid #d0d0d0;
    }

    .tab-item .badge {
        background: #e60000;
        color: #fff;
        font-size: 12px;
        border-radius: 50%;
        padding: 0 6px;
        margin-left: 6px;
        font-weight: bold;
        line-height: 18px;
        height: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .tab-item h2 {
        margin-bottom: 0 !important;
        font-size: 1.5rem !important;
    }

.action-separator {
    color: #bdbdbd;
    margin: 0 8px;
    font-weight: normal;
    font-size: 18px;
    user-select: none;
}

.approve-link {
    color: #007AFF;
    cursor: pointer;
    background: none;
    border: none;
    padding: 0;
    font: inherit;
    text-decoration: none;
}


@media (min-width: 1024px) {
    /* 
    .patients-list.page {
        padding-left: 10vw !important;
        padding-right: 10vw !important;
    }
    */ 
}

@media (min-width: 1600px) {
    /* 
    .patients-list.page {
        padding-left: 20vw !important;
        padding-right: 20vw !important;
    }
    */ 
}


