﻿﻿ /* Layout Constants */
:root {
    --sidebar-width: 260px;
    --sidebar-collapsed-width: 55px;
    --primary-color: var(--ku-brand-red);
    --border-color: var(--ku-border-strong);
    --bs-primary-bg-subtle: rgba(41, 182, 216, 0.08);
    --bs-primary-border-subtle: rgba(41, 182, 216, 0.5);
    /* Decrease header height to save vertical space */
    --header-height: 55px;
    --ku-app-height: 100vh;
    --bs-alert-padding-y: 1px!important;
    --bs-alert-padding-x: 1px!important;
}

/* Suppress transitions during page load */
body.preload * {
    transition: none !important;
}

/* Suppress sidebar transitions during window resize */
body.is-resizing .sidebar-width {
    transition: none !important;
}

/* Global fixes */
html, body {
    height: 100vh;
    margin: 0;
    overflow: hidden;
}

body {
    min-height: var(--ku-app-height);
}

.main-wrapper,
.main-wrapper.vh-100 {
    height: var(--ku-app-height) !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    display: flex;
    position: relative;
}

.main-wrapper .row {
    margin-left: 0;
    margin-right: 0;
    flex-grow: 1;
    min-height: 0;
}

main.flex-grow-1 {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
}

.content_wrapper {
    min-width: 0;
    width: 100%;
    max-width: 100%;
    height: var(--ku-app-height);
    overflow: hidden;
}

.main_content {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

/* Typography base */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    color: #495057;
    background-color: #F8F9FA;
}

body .main-wrapper .compact {
    padding: 0.3rem 0.8rem 0.8rem 0.8rem !important;
    margin-bottom: 0px;
}

@supports (height: 100svh) {
    :root {
        --ku-app-height: 100svh;
    }
}

/* Telerik Bootstrap skin overrides using custom CSS variables */

/* Enhance borders, contrast, and depth for Telerik and Bootstrap inputs */
.RadInput_Bootstrap .riTextBox,
.RadComboBox_Bootstrap .rcbInputCell,
.RadComboBox_Bootstrap .rcbArrowCell,
.form-control,
.form-select {
    border-color: #adb5bd !important;
    color: #212529 !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

/* Highlight active/focused inputs */
.RadInput_Bootstrap .riTextBox:focus,
.RadComboBox_Bootstrap.rcbFocused .rcbInputCell,
.form-control:focus,
.form-select:focus {
    border-color: var(--primary-color) !important;
    box-shadow: 0 0 0 0.2rem var(--bs-primary-border-subtle) !important;
}

/* Strengthen grid boundaries and inner cell borders */
.main-wrapper .RadGrid_Bootstrap,
.main-wrapper .RadGrid_Bootstrap .rgMasterTable,
.main-wrapper .RadGrid_Bootstrap .rgHeader,
.main-wrapper .RadGrid_Bootstrap .rgRow > td,
.main-wrapper .RadGrid_Bootstrap .rgAltRow > td {
    border-color: #ced4da !important;
}

/* Increase contrast for field labels to frame inputs better */
.ef-label,
.form-label {
    font-weight: 600;
    color: #343a40;
}

.RadButton_Bootstrap.rbPrimaryButton,
.RadButton_Bootstrap .rbDecorated:hover,
.RadButton_Bootstrap.rbHovered {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--ku-surface) !important;
}

/* Prevent red Telerik hover from overriding ep-action-button styles */
.ep-action-button.RadButton_Bootstrap .rbDecorated:hover,
.ep-action-button.RadButton_Bootstrap.rbHovered .rbDecorated {
    background-color: transparent !important;
    border-color: transparent !important;
    color: inherit !important;
}
.ep-action-button.RadButton_Bootstrap.rbHovered {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--ku-surface) !important;
}

a.btn-outline-primary:hover,
.btn-outline-primary.rbDecorated:hover,
.btn-outline-primary.rbHovered,
.btn-outline-primary:hover {
    background-color: var(--ku-primary) !important;
    border-color: var(--ku-primary) !important;
    color: var(--ku-surface) !important;
}

.RadWindow_Bootstrap .rwIcon {
    top: 25% !important;
}

.RadGrid .rgPagerCell .rgPagePrev,
.RadGrid .rgPagerCell .rgPageNext {
    display: none !important;
}

.RadGrid_Bootstrap .rgSelectedRow {
    background-color: var(--primary-color) !important;
    color: var(--ku-surface) !important;
}

.RadGrid_Bootstrap .rgSelectedRow td,
.RadGrid_Bootstrap .rgSelectedRow td.rgSorted {
    background-color: var(--primary-color) !important;
    color: var(--ku-surface) !important;
    border-color: var(--primary-color) !important;
}

.RadTabStrip_Bootstrap .rtsSelected .rtsIn {
    border-top-color: var(--primary-color) !important;
    color: var(--primary-color) !important;
}

.buttons-actions {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    white-space: nowrap;
}

.form-check-input[type="checkbox"] {
    -webkit-appearance: revert !important;
    appearance: revert !important;
    background-color: var(--ku-surface) !important;
    border: 1px solid #adb5bd !important;
    width: 1em !important;
    height: 1em !important;
    margin: 0 !important;
    outline: revert !important;
    vertical-align: middle !important;
}

.form-check-input[type="checkbox"]:checked {
    background-color: var(--ku-primary) !important;
    border-color: var(--ku-primary) !important;
}

.form-check > span {
    display: inline-flex;
    align-items: center;
    gap: 0.4em;
}

.form-check > span > label {
    margin: 0;
    cursor: pointer;
    font-size: 0.9rem;
}

.multiPageContainer,
.multiPageContainer > .RadAjaxPanel,
.multiPageContainer > .RadAjaxPanel > div {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

/* =========================================================
   STRICT HEADER & LOGO HEIGHT LOCK
   ========================================================= */
.header-height, header, .logo-box {
    height: var(--header-height);
    min-height: var(--header-height);
    max-height: var(--header-height);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    overflow: hidden;
}

.logo-box {
    width: 100%;
    justify-content: center;
    padding: 0 20px;
    background-color: var(--ku-surface);
}

.logo-box a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.semester .bi-calendar3 {
    margin-right: .5rem;
}

.offcanvas {
    height: var(--ku-app-height);
    max-height: var(--ku-app-height);
}

.offcanvas.offcanvas-end {
    top: 0;
    bottom: auto;
}

.offcanvas .offcanvas-body {
    overflow-y: auto;
    min-height: 0;
    -webkit-overflow-scrolling: touch;
}

/* =========================================================
   REFINED TAB STRIP 
   ========================================================= */
.telerik-pill-tabs {
    margin-bottom: 0;
    padding-bottom: 15px;
}

.telerik-pill-tabs .rtsUL {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    gap: 4px;
}

.telerik-pill-tabs .rtsLink {
    text-decoration: none;
    color: var(--ku-text-muted);
    font-size: 13px;
    padding: 6px 14px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    background-color: var(--ku-surface);
    display: block;
    transition: all 0.2s;
}

.telerik-pill-tabs .rtsLI.rtsSelected .rtsLink {
    background-color: #F9FAFB;
    color: var(--ku-text);
    border-color: var(--ku-border-strong);
    font-weight: 600;
}

.telerik-pill-tabs .rtsLink:hover:not(.rtsSelected .rtsLink) {
    background-color: #F3F4F6;
}

/* Ensure text inside elements doesn't force container expansion */
.text-muted.small {
    white-space: normal;
    word-break: break-word;
}

@media (max-width: 576px) {
    /* Stack header elements and reduce padding */
    header .gap-3 {
        gap: 0.5rem !important;
        flex-direction: column;
        align-items: flex-end !important;
    }

    .ku-date {
        display: none !important;
    }
    .semester .text-dark {
        display: none;
    }

    .main-wrapper h3 {
        font-size: calc(0.8rem + .6vw);
    }

    .semester .bi-calendar3 {
        margin-right: 0;
    }

    .RadGrid .rgMasterTable .rgWrap.rgInfoPart {
        font-size: 0;
    }

    .RadGrid .rgMasterTable .rgWrap.rgInfoPart strong:first-child {
        font-size: small;
    }

    .RadGrid .rgMasterTable .rgPagerLabel {
        font-size: 0!important;
    }
}

@media (max-width: 991px) {
    .card > .d-flex.flex-wrap.align-items-center.justify-content-between {
        position: relative;
    }

    main.flex-grow-1 {
        padding: 0 !important;
    }

    .card > .d-flex.flex-wrap > .d-flex.align-items-center.gap-2 {
        position: absolute;
        bottom: -52px;
        right: 10px;
        z-index: 600;
        height: 52px;
        margin: 0 !important;
        display: flex !important;
    }

    .ku-inline-field .control,
    .main-wrapper .ku-inline-filter {
        display: none !important;
    }

    .input-group.input-group-sm.flex-nowrap {
        max-width: 140px !important;
        min-width: 110px !important;
    }

    .telerik-pill-tabs {
        max-width: 100vw;
        overflow-x: auto !important;
        white-space: nowrap;
    }

    .telerik-pill-tabs .rtsLevel {
        width: max-content;
    }

    .telerik-pill-tabs .rtsUL {
        flex-wrap: nowrap !important;
    }


    /* Hide description text under the main title */
    header small.text-muted,
    header .d-flex.align-items-center.gap-3 > .text-muted.small,
    header .d-flex.align-items-center.gap-3 > .bg-danger-subtle {
        display: none !important;
    }

    /* Reduce header side paddings */
    header {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    /* Remove outer margins and borders to make the card edge-to-edge */
    main > .w-100.mb-4 {
        margin-bottom: 0 !important;
    }

    /* Remove extra space around tabs */
    .d-flex.flex-wrap.align-items-center.justify-content-between.border-bottom.px-4.pt-2.bg-white.gap-3 {
        padding-left: 0.5rem !important;
        padding-right: 0.5rem !important;
    }

    /* For smaller screens where header height or paddings might differ */
    .scrollable-form-panel {
        max-height: calc(100vh - 90px); /* 55px mobile header + minimal padding */
    }

    .sidebar-width {
        height: 100svh !important;
        max-height: 100svh !important;
        overflow: hidden !important;
    }

    .sidebar-nav-container {
        height: 100% !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    .menu-container {
        flex: 1 1 auto !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
    }

    .sidebar-footer {
        flex: 0 0 auto !important;
        padding-bottom: env(safe-area-inset-bottom);
    }
}

/* Generic class for scrollable slide-down forms */
.scrollable-form-panel {
    max-height: calc(100vh - 140px); /* 70px header + paddings/margins */
    overflow-y: auto;
    overflow-x: hidden;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
}

/* =========================================================
   FINAL GRID AND FLEX WRAPPERS
   ========================================================= */

.gridWrap .RadGrid, .gridWrap .RadGrid td, .gridWrap .RadGrid th {
    font-size: 12px !important;
}

/* Pagination */
.main-wrapper .RadGrid_Bootstrap .rgCurrentPage {
    background-color: var(--primary-color) !important;
    border-color: var(--primary-color) !important;
    color: var(--ku-surface) !important;
}

/* Prevent header and pager from shrinking in flex container */
.main-wrapper .RadGrid_Bootstrap .rgHeaderWrapper,
.main-wrapper .RadGrid_Bootstrap .rgPager {
    flex-shrink: 0 !important;
}


.main-wrapper .RadGrid_Bootstrap .rgAltRow,
.main-wrapper .RadGrid_Bootstrap .rgAltRow > td {
    background-color: AliceBlue;
}


.gridWrap {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

.gridWrap > .RadAjaxPanel {
    flex: 1 1 auto;
    display: flex !important;
    flex-direction: column;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

.gridWrap .RadGrid_Bootstrap {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
    min-height: 0;
    height: auto !important;
    overflow: hidden;
    box-shadow: 0 .125rem .25rem rgba(0,0,0,.075) !important;
}
.gridWrap .rgHeaderWrapper {
    flex: 0 0 auto !important;
}

.gridWrap .rgDataDiv {
    flex: 1 1 auto;
    height: 0 !important;
    min-height: 0;
    overflow-y: auto !important;
    overflow-x: auto !important;
}

.gridWrap .provider-patients-grid .rgDataDiv,
.gridWrap .provider-patients-grid .rgHeaderDiv {
    overflow-x: hidden !important;
}

.gridWrap .provider-patients-grid,
.gridWrap .provider-patients-grid .rgMasterTable {
    width: 100% !important;
    table-layout: fixed !important;
}

.gridWrap .provider-patients-grid .rgHeader,
.gridWrap .provider-patients-grid .rgRow td,
.gridWrap .provider-patients-grid .rgAltRow td {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}

.gridWrap .provider-patients-grid nobr {
    white-space: normal;
}

.gridWrap .rgPager,
.gridWrap table[id$="_Pager"] {
    flex: 0 0 auto !important;
}

main > .w-100.mb-4 {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    margin-bottom: 0 !important;
}

main > .w-100 > .card {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    min-height: 0;
    margin-bottom: 0 !important;
}

/* 1.3. Let grid-wrap take the remaining space and handle scrolling */
.grid-wrap {
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
    max-height: none;
}

/* 5. Main: scroll on content pages */
main.flex-grow-1 {
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    min-height: 0;
}

.RadForm.RadForm_Bootstrap .switch-status-info .form-check-label {
    padding: 6px 20px !important;
    border-radius: 20px;
    background-color: #f0f2f5;
    cursor: pointer;
    transition: 0.2s;
}

.RadForm.RadForm_Bootstrap .switch-status-info .form-check-input:checked + .form-check-label {
    background-color: #cfe2ff !important;
    color: #084298 !important;
}

.RadMultiPage {
    min-height: 0 !important;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.RadMultiPage .rmpView {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
    min-height: 0;
    overflow: hidden;
}

/* 3. The UpdatePanel (Filters/Tabs) is a TOP panel, it MUST NOT GROW */
.reports-page .card > div[id*="semester_updatePanel"],
.reports-page .card > div[id$="updatePanel"]:not(:has(.RadGrid)) {
    display: block !important;
    flex: 0 0 auto !important; /* Take only needed height */
    height: auto !important;
    width: 100% !important;
}

/* 4. Fix inner filter panel styles */
.reports-page .flex-shrink-0 {
    flex: 0 0 auto !important;
    height: auto !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.reports-page .flex-shrink-0 .row {
    margin: 0 !important;
    width: 100% !important;
}

/* 5. GRID WRAPPER: Takes the remaining space and scrolls */
.reports-page .grid-wrap {
    display: block !important;
    flex: 1 1 0% !important; /* Grow to fill remaining space */
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: auto !important;
    margin-bottom: 5px !important;
}

.enrollment-report-grid-wrap {
    max-width: 100%;
    overflow-x: hidden;
    width: 100%;
}

.enrollment-report-grid-wrap .RadGrid {
    max-width: 100%;
}

.enrollment-report-grid-wrap .rgMasterTable {
    table-layout: fixed;
    width: 100% !important;
}

.enrollment-report-grid-wrap .rgHeader,
.enrollment-report-grid-wrap .rgRow td,
.enrollment-report-grid-wrap .rgAltRow td {
    overflow-wrap: break-word;
    word-break: normal;
    white-space: normal;
}

.enrollment-report-grid-wrap .rgDataDiv {
    height: calc(100vh - 410px) !important;
    max-height: calc(100vh - 410px) !important;
    min-height: 260px;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.enrollment-report-filter-panel {
    border-bottom: 0;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    margin-bottom: 0;
    padding: 0.75rem 1rem;
}

.enrollment-report-filter-panel + .enrollment-report-grid-wrap {
    margin-top: 0;
}

.enrollment-report-filter-panel + .enrollment-report-grid-wrap .RadGrid {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.enrollment-report-filter-panel + .enrollment-report-grid-wrap .rgCommandRow,
.enrollment-report-filter-panel + .enrollment-report-grid-wrap .rgCommandCell {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.enrollment-report-toolbar {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
}

.enrollment-report-tabs {
    flex: 1 1 auto;
    min-width: 360px;
}

.enrollment-report-controls {
    align-items: center;
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 0.75rem 1rem;
    justify-content: flex-end;
    margin-left: auto;
}

@media (max-width: 991.98px) {
    .enrollment-report-tabs,
    .enrollment-report-controls {
        flex-basis: 100%;
        justify-content: flex-start;
        min-width: 0;
    }
}

.overview-agency-grid-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
}

.overview-agency-grid-wrap .overview-agency-grid {
    min-width: 1530px;
}

.overview-agency-grid-wrap .overview-agency-grid .rgDataDiv {
    overflow-x: auto !important;
    overflow-y: auto !important;
}

.overview-agency-grid-wrap .overview-agency-grid .rgMasterTable {
    min-width: 1530px;
}

.additional-reports-pages.RadMultiPage .rmpView {
    overflow-y: hidden !important;
    overflow-x: hidden !important;
    padding-bottom: 6px;
}

.additional-report-grid-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 6px;
}

.additional-report-grid-wrap .additional-report-grid {
    margin-bottom: 0;
}

.certification-licensure-grid-wrap .certification-licensure-grid .rgDataDiv {
    height: calc(100vh - 410px) !important;
    min-height: 420px;
    max-height: 620px;
    overflow-y: auto !important;
}

/* Site.Master.cs: hide the floating sidebar toggle on shell-less pages. */
body.hide-shell #sidebarToggleFloatBtn {
    display: none !important;
}

/* DocumentManagement.ascx.cs: document signature status badges. */
.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 9999px;
    font-size: 0.7rem;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
}

.status-badge::before {
    content: '';
    width: 6px;
    height: 6px;
    border-radius: 50%;
    flex-shrink: 0;
}

.status-sent {
    background: #fef3c7;
    color: #92400e;
}

.status-sent::before {
    background: #f59e0b;
}

.status-signed {
    background: #d1fae5;
    color: #065f46;
}

.status-signed::before {
    background: #10b981;
}

.status-error {
    background: #fee2e2;
    color: #991b1b;
}

.status-error::before {
    background: #ef4444;
}

/* Calendar/LockOut/Services/MonthTimesheet .cs: disabled scheduler slots and holiday labels. */
.rsContentTable .Disabled,
.rcMainTable .Disabled,
.Disabled .rsWrap {
    background-color: silver !important;
}

.Disabled .rsWrap .holiday {
    font-size: 10px;
}

/* MonthTimesheet.ascx.cs: agenda layout is toggled on the scheduler panes. */
#panes .timesheet-panes.agenda-layout {
    width: max-content;
    min-width: 872px;
}

#panes .timesheet-panes.agenda-layout .pane.monthly {
    flex: 0 0 360px;
    width: 360px;
    min-width: 360px;
}

#panes .timesheet-panes.agenda-layout .RadScheduler.TimeSheet {
    width: 360px !important;
}

/* MonthTimesheet.ascx.cs: month-view settings shortcut injected into scheduler cells. */
.RadScheduler.TimeSheet .rsMonthView a.settings {
    position: absolute;
    top: 3px;
    right: 3px;
    z-index: 2;
    display: block;
    width: 24px;
    height: 24px;
    line-height: 24px;
    overflow: hidden;
}

.RadScheduler.TimeSheet .rsMonthView a.settings img {
    display: block;
    width: 24px !important;
    height: 24px !important;
}

/* Provider calendar: keep appointment labels compact in month view. */
.RadScheduler[id$="providerCalendar"] .rsMonthView .rsAptSubject {
    font-size: 9px !important;
    line-height: 1.18 !important;
}

/* MonthTimesheet.ascx.cs: appointment type colors applied via CssClass. */
.RadScheduler .apt-sn-group .rsAptContent {
    background-color: #8ec8e8 !important;
    color: #1a3a4a !important;
}

.RadScheduler .apt-sn-regular .rsAptContent {
    background-color: #cceeff !important;
    color: #1a3a4a !important;
}

.RadScheduler .apt-pta-pva .rsAptContent {
    background-color: #f8b4c8 !important;
    color: #5a1a2a !important;
}

.RadScheduler .apt-mu .rsAptContent {
    background-color: #7ec850 !important;
    color: #1a3a0a !important;
}

.RadScheduler .apt-mu-azure .rsAptContent {
    background-color: #cceeff !important;
    color: #1a3a4a !important;
}

.RadScheduler .apt-ah .rsAptContent {
    background-color: #3a7bd5 !important;
    color: var(--ku-surface) !important;
}

.RadScheduler .apt-ld .rsAptContent {
    background-color: transparent !important;
    color: #333 !important;
    border: none !important;
    box-shadow: none !important;
}

.RadScheduler .apt-nb .rsAptContent {
    background-color: #fff5f5 !important;
    color: #333 !important;
    border-color: #e05050 !important;
}

/* MonthTimesheet.ascx.cs: appointments with notes use the note text color. */
.RadScheduler .apt-has-notes .rsAptContent {
    color: #1a4fbf !important;
}

/* WeeklysBreakdown.ascx.cs: row and cell state highlights in weekly grid. */
.wb-grid-wrap .RadGrid tr.rgRow.row-readonly td,
.wb-grid-wrap .RadGrid tr.rgAltRow.row-readonly td,
.wb-grid-wrap .RadGrid tr.row-readonly td {
    background-color: #d3d3d3 !important;
    color: #333 !important;
}

.wb-grid-wrap .RadGrid tr.rgRow.row-under-hours td,
.wb-grid-wrap .RadGrid tr.rgAltRow.row-under-hours td,
.wb-grid-wrap .RadGrid tr.row-under-hours td {
    background-color: #faebd7 !important;
    color: #333 !important;
}

.wb-grid-wrap .RadGrid tr.rgRow td.cell-over-hours,
.wb-grid-wrap .RadGrid tr.rgAltRow td.cell-over-hours,
.wb-grid-wrap .RadGrid tr td.cell-over-hours {
    background-color: #ff4500 !important;
    color: var(--ku-surface) !important;
}

.wb-grid-wrap .RadGrid tr.rgRow.row-payroll-exported-doe-present td:not(.doe_cell),
.wb-grid-wrap .RadGrid tr.rgAltRow.row-payroll-exported-doe-present td:not(.doe_cell),
.wb-grid-wrap .RadGrid tr.row-payroll-exported-doe-present td:not(.doe_cell),
.wb-grid-wrap .RadGrid tr.row-payroll-exported-doe-present td.wb-student-cell a,
.wb-grid-wrap .RadGrid tr.row-payroll-exported-doe-present td a {
    color: #0f5132 !important;
}

.wb-grid-wrap .RadGrid tr.rgRow.row-payroll-exported-doe-deleted td:not(.doe_cell),
.wb-grid-wrap .RadGrid tr.rgAltRow.row-payroll-exported-doe-deleted td:not(.doe_cell),
.wb-grid-wrap .RadGrid tr.row-payroll-exported-doe-deleted td:not(.doe_cell),
.wb-grid-wrap .RadGrid tr.row-payroll-exported-doe-deleted td.wb-student-cell a,
.wb-grid-wrap .RadGrid tr.row-payroll-exported-doe-deleted td a {
    color: #664d03 !important;
}

.RadScheduler .existMU .rsAptContent {
  background-position:99% 0!important;
  background-image:url('Images/allow.png')!important;
  background-repeat:no-repeat!important
}
.RadScheduler .NotEdit {
  color:lig
}
.RadScheduler .SelectedItem .rsAptSubject {
  font-weight:bold
}
.recommend div {
  text-decoration:underline;
  text-align:center
}
.recommend a {
  color:#f60!important;
  font-size:1em;
  font-weight:600
}
.TimeSheet .rsShowMore {
  display:none!important
}

/* =========================================================
   SHARED PAGE STYLES
   Moved from legacy page-specific stylesheets.
   ========================================================= */

/* LookupControl.aspx: search and tab chrome. */
.lookup-search-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 8px;
}

.lookup-search-wrap input {
    max-width: 280px;
    font-size: 0.85rem;
}

.lookup-search-wrap .no-results {
    display: none;
    font-size: 0.8rem;
    color: #6c757d;
}

.lookup-tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 2px 0;
    padding: 10px 16px 0 16px;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    border-radius: 8px 8px 0 0;
}

.lookup-tab-nav .lookup-tab-btn {
    margin-bottom: -2px;
    padding: 7px 15px;
    font-size: 0.82rem;
    font-weight: 500;
    border: none;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: var(--ku-primary);
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.15s, border-color 0.15s;
}

.lookup-tab-nav .lookup-tab-btn:hover {
    color: #0a58ca;
    border-bottom-color: #adb5bd;
    background: transparent;
}

.lookup-tab-nav .lookup-tab-btn.active {
    color: var(--ku-primary);
    border-bottom-color: var(--ku-primary);
    font-weight: 700;
    background: transparent;
}

.lookup-tab-nav .lookup-tab-btn.hidden {
    display: none;
}

.lookup-card {
    border: 1px solid #dee2e6;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.lookup-card .lookup-content {
    background: var(--ku-surface);
    padding: 0;
    border-radius: 0 0 8px 8px;
}

/* Wizard and lookup grids: shared Telerik card styling. */
.wizard .rwzHeader li:not(.ss-nav-disabled),
.wizard .rwzBreadCrumb li:not(.ss-nav-disabled),
.wizard .rwzNavigationBar li:not(.ss-nav-disabled) {
    opacity: 1 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
}

/* Messages dashboard timeline. */
.inbox-timeline {
    position: relative;
}

.inbox-timeline::before {
    content: '';
    position: absolute;
    top: 16px;
    bottom: 0;
    left: 35px;
    width: 1px;
    background-color: var(--ku-border);
    z-index: 0;
}

.timeline-item {
    position: relative;
    z-index: 1;
}

.avatar-circle {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 16px;
    color: #475569;
    background-color: var(--ku-border);
    border: 3px solid var(--ku-surface);
    border-radius: 50%;
}

.z-index-1 {
    z-index: 1;
}

/* Semester Picker */
.semester-picker-trigger {
    border-color: #dee2e6 !important;
    transition: background-color 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.semester-picker-trigger:hover {
    background-color: #f8f9fa !important;
    border-color: #adb5bd !important;
    box-shadow: 0 1px 3px rgba(0,0,0,.08);
}

.semester-picker-trigger:active {
    background-color: #e9ecef !important;
    border-color: #6c757d !important;
}

