
/* Theme-agnostic component overrides
   Uses --org-primary CSS variables set by _Layout.cshtml ThemeRecord.
   Loaded when Theme.LoadGreenCss = true. Works with any primary color. */

/* ============================================
   BUTTON OVERRIDES — ace.css reset
   ace.css applies border: 5px solid #FFF, border-radius: 0,
   text-shadow, and hardcoded blue/gray !important backgrounds.
   ============================================ */
.btn, .btn-default,
.btn:focus, .btn-default:focus,
.btn.focus, .btn-default.focus {
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    text-shadow: none !important;
}

.btn:hover, .btn-default:hover,
.btn:focus:hover, .btn-default:focus:hover,
.btn:active:hover, .btn-default:active:hover {
    border: 1px solid transparent !important;
}

.btn-sm, .btn-group-sm > .btn {
    border-width: 1px !important;
    border-radius: 4px !important;
}

.btn-primary, .btn-primary:focus, .btn-primary.focus {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    outline-color: var(--org-primary-dark) !important;
    color: #fff !important;
}

.btn-primary:hover, .btn-primary:focus:hover, .btn-primary.focus:hover,
.btn-primary:active:hover, .btn-primary:focus:active,
.open > .btn-primary.dropdown-toggle,
.open > .btn-primary.dropdown-toggle:hover,
.open > .btn-primary.dropdown-toggle:focus,
.open > .btn-primary.dropdown-toggle.focus,
.open > .btn-primary.dropdown-toggle:active {
    background-color: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
    outline-color: var(--org-primary-dark) !important;
    color: #fff !important;
}

.btn-success, .btn-success:focus, .btn-success.focus {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    color: #fff !important;
}

.btn-success:hover, .btn-success:focus:hover, .btn-success:active:hover {
    background-color: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
    color: #fff !important;
}

.btn-info, .btn-info:focus, .btn-info.focus {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    color: #fff !important;
}

.btn-info:hover, .btn-info:focus:hover, .btn-info:active:hover {
    background-color: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
    color: #fff !important;
}

/* Lucide icon sizing and alignment inside buttons */
.btn [data-lucide],
.btn svg.lucide {
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    display: inline-block;
    margin-right: 2px;
}

.btn-sm [data-lucide],
.btn-sm svg.lucide {
    width: 13px;
    height: 13px;
}

#navbar, .widget-color-blue, .widget-color-blue2 > .widget-header {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary);
}

.no-skin .nav-list > li.active > a, .no-skin .nav-list > li:hover > a, .pagination > li > a:hover, .pager > li > a:hover, .pagination > li > a, .pagination > li > span
{
    color: white;
}

.pagination > li.active > a, .pagination > li.active > a:hover, .pagination > li.active > a:focus
{
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary);
}

.pagination > li.active > a
{
    color: white !important;
}

.widget-color-blue,.widget-color-blue2 {
    border-color: var(--org-primary);
}

a, a:hover, a:focus {
    color: var(--org-primary);
    border-color: var(--org-primary);
}

/* Restore white text for all button-styled links — overrides the global a color above */
a.btn,
a[class*="btn-"],
a[class*="cds-judge-btn"],
a[class*="cdp-btn"],
a[class*="cdt-btn"],
a.dashboard-tile,
a.lf-toolbar-btn {
    color: #fff !important;
}


.form-head {
    background-color: var(--org-primary) !important;
    color: white !important;
    font-weight: bold !important;
}

.no-skin .nav-list > li.active > a, .no-skin .nav-list > li:hover > a, .pagination > li > a:hover, .pager > li > a:hover, .pagination > li > a, .pagination > li > span {
    color: black ;
}

.no-skin .nav-list li.active > a:after {
    border-right-color: var(--org-primary) !important;
}

.no-skin .nav-list > li.active:after {
    border-color: var(--org-primary);
}

.no-skin .nav-list > li.open > a {
    color: var(--org-primary);
}

.no-skin .nav-list > li .submenu > li > a:hover {
    color: var(--org-primary);
}

.no-skin .nav-list > li .submenu > li > a:hover {
    color: var(--org-primary);
}

.no-skin .nav-list li.active > a:before {
    border-color: var(--org-primary);
}

.no-skin .nav-list > li .submenu > li.active > a, .nav-tabs > li > a:hover {
    color: var(--org-primary);
}

.nav-tabs > li.active > a, .nav-tabs > li.active > a:hover, .nav-tabs > li.active > a:focus {
    border-top: 2px solid var(--org-primary);
    color: black;
}

h5, h4, h3, h2 {
    color: var(--org-primary) !important;
}

.alert-success {
    background-color: var(--org-primary) !important;
    color: white !important;
}

.alert-danger {
    color: #a94442 !important;
}

.ace-nav > li.light-green > a {
    background-color: var(--org-primary) !important;
}

    .ace-nav > li.light-green > a:hover, .ace-nav > li.light-green > a:focus, .ace-nav > li.open.light-green > a {
        color: var(--org-primary-dark) !important;
        background-color: whitesmoke !important;
    }

    .dropdown-yellow > li:hover > a, .dropdown-yellow > li > a:focus, .dropdown-yellow > li > a:active, .dropdown-yellow > li.active > a, .dropdown-yellow > li.active:hover > a
    {
        color: var(--org-primary) !important;
        background-color: whitesmoke !important;
    }
    .nav-list > li:before
    {
        background-color : var(--org-primary) !important;
    }
    textarea:focus, input[type="text"]:focus, input[type="password"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="date"]:focus, input[type="month"]:focus, input[type="time"]:focus, input[type="week"]:focus, input[type="number"]:focus, input[type="email"]:focus, input[type="url"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="color"]:focus,.form-control:focus, select:focus
    {
        border-color : var(--org-primary) !important;
    }
    .ui-dialog .ui-dialog-titlebar, .ui-jqdialog .ui-dialog-titlebar, .ui-dialog .ui-jqdialog-titlebar, .ui-jqdialog .ui-jqdialog-titlebar
    {
        color: var(--org-primary) !important;
        font-weight : 600 !important;

    }
    .ui-dialog-title
    {
        margin-left:12px !important;
    }
    .ui-dialog .ui-dialog-titlebar-close:before, .ui-jqdialog .ui-dialog-titlebar-close:before, .ui-dialog .ui-jqdialog-titlebar-close:before, .ui-jqdialog .ui-jqdialog-titlebar-close:before
    {
        color:black;
    }
    .chosen-container-active .chosen-single
    {
        border: 1px solid var(--org-primary) !important
    }
    .message-item.message-unread .sender,.message-item.message-unread .summary .text,.message-item.message-unread .time,.blue
    {
        color: var(--org-primary) !important;
    }
     .no-skin .navbar .navbar-toggle:hover, .no-skin .navbar .navbar-toggle
    {
        background-color : var(--org-primary);
    }
    .breadcrumb > li > a
    {
        color: var(--org-primary) !important;
    }
    .text-primary
    {
        color: var(--org-primary) !important;
    }
    .ace-nav > li.light-blue > a
    {
        background-color: var(--org-primary) !important;
    }
     #ace-settings-btn, #btnSpeech, .ace-nav > li > a
    {
        background-color: var(--org-primary) !important;
    }
     .widget-title
     {
         color:white !important;
     }
     #calendar h2
     {
         color: var(--org-primary) !important;
     }
     .panel-default > .panel-heading
     {
         background-color: var(--org-primary) !important;
     }
     .panel-title > a
     {
         color:white !important;
     }
    .text-info
    {
        color: var(--org-primary) !important;
    }

/* ============================================
   DATATABLE CSS VARIABLE OVERRIDES
   ============================================ */

.curia-dt {
    --cdt-primary: var(--org-primary) !important;
    --cdt-primary-hover: var(--org-primary-hover) !important;
    --cdt-primary-light: rgba(var(--org-primary-rgb), 0.1) !important;
    --cdt-primary-dark: var(--org-primary-dark) !important;
}

/* Primary button hover shadow */
.curia-dt .cdt-btn--primary:hover {
    box-shadow: 0 4px 12px rgba(var(--org-primary-rgb), 0.3) !important;
}

/* Secondary/outline buttons */
.curia-dt .cdt-btn:not(.cdt-btn--primary):not(.cdt-btn--danger) {
    background: #fff !important;
    color: var(--org-primary) !important;
    border: 1px solid var(--org-primary) !important;
}

.curia-dt .cdt-btn:not(.cdt-btn--primary):not(.cdt-btn--danger):hover {
    background: rgba(var(--org-primary-rgb), 0.08) !important;
    color: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
}

/* ============================================
   ACTION DROPDOWN BUTTONS
   ============================================ */

/* Main action button styles */
.cdt-actions-btn,
.curia-dt .cdt-actions-btn,
.cds-doc-actions-btn,
.cds-juror-actions-btn,
.cds-staff-actions-btn,
.cdp-actions-btn {
    background: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    color: white !important;
}

.cdt-actions-btn:hover,
.curia-dt .cdt-actions-btn:hover,
.cds-doc-actions-btn:hover,
.cds-juror-actions-btn:hover,
.cds-staff-actions-btn:hover,
.cdp-actions-btn:hover {
    background: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
    box-shadow: 0 2px 8px rgba(var(--org-primary-rgb), 0.3) !important;
}

.cdt-actions-btn:focus,
.cdt-actions-btn:focus-visible,
.curia-dt .cdt-actions-btn:focus,
.curia-dt .cdt-actions-btn:focus-visible {
    background: var(--org-primary-hover) !important;
    box-shadow: 0 0 0 3px rgba(var(--org-primary-rgb), 0.4) !important;
}

/* Kebab menu buttons */
.cds-juror-kebab-btn,
.cds-staff-kebab-btn,
.cdp-kebab-btn {
    color: var(--org-primary) !important;
}

.cds-juror-kebab-btn:hover,
.cds-staff-kebab-btn:hover,
.cdp-kebab-btn:hover {
    background: rgba(var(--org-primary-rgb), 0.1) !important;
    color: var(--org-primary-hover) !important;
}

/* Action menu items hover */
.cdt-actions-menu a:hover,
.curia-dt .cdt-actions-menu a:hover,
.cds-doc-actions-menu a:hover {
    background: rgba(var(--org-primary-rgb), 0.08) !important;
    color: var(--org-primary) !important;
}

/* ============================================
   MODERN PAGINATION
   ============================================ */

/* Curia DataTable pagination */
.curia-dt .cdt-page-btn.cdt-page-active,
.cdt-page-btn.cdt-page-active {
    background: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    color: white !important;
}

.curia-dt .cdt-page-btn:hover,
.cdt-page-btn:hover {
    border-color: var(--org-primary) !important;
    color: var(--org-primary) !important;
}

/* Standard Bootstrap pagination */
.pagination > li > a,
.pagination > li > span {
    color: var(--org-primary);
}

.pagination > li > a:hover,
.pagination > li > a:focus {
    color: var(--org-primary-hover);
    background-color: rgba(var(--org-primary-rgb), 0.1);
    border-color: var(--org-primary);
}

.pagination > li.active > a,
.pagination > li.active > span,
.pagination > li.active > a:hover,
.pagination > li.active > a:focus,
.pagination > li.active > span:hover,
.pagination > li.active > span:focus {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    color: white !important;
}

.pagination > li.disabled > a,
.pagination > li.disabled > span {
    color: #999;
}

/* ============================================
   CALENDAR
   ============================================ */

/* Calendar CSS variable overrides */
.calendar-modern-container,
.cal-container,
#calendar {
    --cal-primary: var(--org-primary);
    --cal-primary-hover: var(--org-primary-hover);
    --cal-primary-dark: var(--org-primary-dark);
    --cal-primary-light: var(--org-primary-light);
    --cal-primary-rgb: var(--org-primary-rgb);
    --cal-today-border: var(--org-primary);
    --cal-shadow-glow: 0 0 20px rgba(var(--org-primary-rgb), 0.25);
}

/* Calendar navigation buttons */
.cal-nav-btn:hover,
.cal-nav-btn:focus {
    border-color: var(--org-primary) !important;
    color: var(--org-primary) !important;
}

.cal-nav-btn:focus-visible {
    outline-color: var(--org-primary) !important;
}

.cal-nav-refresh:hover {
    color: var(--org-primary) !important;
}

.cal-nav-refresh.is-refreshing {
    color: var(--org-primary) !important;
}

/* Calendar view toggle buttons */
.cal-view-btn.cal-view-active,
.cal-view-btn:hover {
    background: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
    color: white !important;
}

/* Calendar today highlighting */
.cal-day.cal-day-today {
    border-color: var(--org-primary) !important;
}

.cal-day.cal-day-today::before {
    background: rgba(var(--org-primary-rgb), 0.08) !important;
}

/* Calendar events */
.cal-event:hover {
    box-shadow: 0 0 20px rgba(var(--org-primary-rgb), 0.25) !important;
}

/* Calendar quick view buttons */
.cal-quick-view-btn.cal-quick-active,
.cal-quick-view-btn:hover {
    background: rgba(var(--org-primary-rgb), 0.1) !important;
    border-color: var(--org-primary) !important;
    color: var(--org-primary) !important;
}

/* Calendar filter dropdowns */
.cal-filter-dropdown:focus,
.cal-filter-dropdown:hover {
    border-color: var(--org-primary) !important;
}

/* Skip-to-calendar accessibility link */
.skip-to-calendar {
    position: absolute !important;
    top: -9999px !important;
    left: -9999px !important;
    background: var(--org-primary) !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.skip-to-calendar:focus,
.skip-to-calendar:focus-visible {
    top: 16px !important;
    left: 16px !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    z-index: 10000 !important;
}

/* ============================================
   STATUS BADGES
   ============================================ */

.badge-success,
.status-badge.status-success {
    background-color: var(--org-primary) !important;
}

/* ============================================
   BUTTONS & CONTROLS
   ============================================ */

/* Export button and other action buttons */
.btn-info {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
}

.btn-info:hover,
.btn-info:focus,
.btn-info:active {
    background-color: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
}

/* Print button */
.btn-success {
    background-color: var(--org-primary) !important;
    border-color: var(--org-primary) !important;
}

.btn-success:hover,
.btn-success:focus,
.btn-success:active {
    background-color: var(--org-primary-hover) !important;
    border-color: var(--org-primary-hover) !important;
}

/* Select2 and Chosen dropdowns */
.select2-container--default .select2-selection--single:focus,
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--org-primary) !important;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--org-primary) !important;
}

/* ============================================
   MISCELLANEOUS
   ============================================ */

/* Loading spinners */
.loading-spinner,
.cal-loading-spinner {
    border-top-color: var(--org-primary) !important;
}

/* Focus rings */
*:focus-visible {
    outline-color: var(--org-primary) !important;
}

/* Links in tables and lists (exclude buttons which have their own color) */
.curia-dt a:not(.btn):not([class*="cdt-btn"]):not([class*="cds-judge-btn"]),
.curia-dt .cdt-cell a:not(.btn):not([class*="cdt-btn"]):not([class*="cds-judge-btn"]) {
    color: var(--org-primary) !important;
}

.curia-dt a:not(.btn):not([class*="cdt-btn"]):not([class*="cds-judge-btn"]):hover,
.curia-dt .cdt-cell a:not(.btn):not([class*="cdt-btn"]):not([class*="cds-judge-btn"]):hover {
    color: var(--org-primary-hover) !important;
}

/* ============================================
   CASE DASHBOARD OVERRIDES
   ============================================ */

/* Dashboard tile icons */
.dash-icon {
    background: var(--org-primary-light) !important;
}

.dash-icon svg,
.dash-icon i {
    color: var(--org-primary) !important;
}

/* Dashboard tile hover states */
.dash-tile:hover .dash-icon {
    background: var(--org-primary) !important;
}

.dash-tile:hover .dash-icon svg,
.dash-tile:hover .dash-icon i {
    color: #ffffff !important;
}

/* Dashboard tile title on hover */
.dash-tile:hover .dash-tile-title {
    color: var(--org-primary) !important;
}

/* Override CSS variables for dashboard */
.dash-container {
    --primary: var(--org-primary) !important;
    --primary-light: var(--org-primary-light) !important;
    --primary-dark: var(--org-primary-hover) !important;
}

/* ============================================
   NOTIFICATION ICONS - Lucide preference
   FontAwesome icons hidden, Lucide icons visible
   ============================================ */

/* Hide FontAwesome notification icons in modern nav */
body.use-modern-nav .notification-icon-fa,
body.use-modern-nav .ace-icon.notification-icon-fa,
body.use-modern-nav .navmsgcenter .notification-icon-fa,
body.use-modern-nav .topbar-notifications .notification-icon-fa,
body.use-modern-nav .modern-topbar .notification-icon-fa {
    display: none !important;
}

/* Show Lucide notification icons in modern nav */
body.use-modern-nav .notification-icon-lucide,
body.use-modern-nav .navmsgcenter .notification-icon-lucide,
body.use-modern-nav .topbar-notifications .notification-icon-lucide,
body.use-modern-nav .modern-topbar .notification-icon-lucide {
    display: inline-block !important;
    width: 18px;
    height: 18px;
    color: white;
    opacity: 0.9;
}

body.use-modern-nav .modern-topbar .notification-icon-lucide:hover {
    opacity: 1;
}

/* ============================================
   TODAY'S WORK DASHBOARD
   Teal gradient and decorative elements kept as-is
   ============================================ */

/* Hero gradient - teal stepped gradient (decorative, not theme-dependent) */
.cds-welcome-hero {
    background: linear-gradient(160deg, #009688 0%, #009889 17%, #00998b 33%, #009b8c 50%, #009c8d 67%, #009e8f 83%, #009f90 100%) !important;
}

/* Hero glow orbs - teal tints */
.cds-welcome-hero-glow--1 {
    background: rgba(0, 150, 136, 0.25) !important;
}

.cds-welcome-hero-glow--2 {
    background: rgba(0, 159, 144, 0.2) !important;
}

/* Search input focus ring */
.cds-welcome-search-input:focus {
    border-color: #009688 !important;
    box-shadow: 0 0 0 3px rgba(0, 150, 136, 0.15) !important;
}

/* Search button */
.cds-welcome-search-btn {
    background: #009688 !important;
}

.cds-welcome-search-btn:hover {
    background: #00796b !important;
    box-shadow: 0 2px 8px rgba(0, 150, 136, 0.3) !important;
}

/* Stat pills */
.cds-welcome-stat-pill {
    background: rgba(255, 255, 255, 0.9) !important;
    color: #00695c !important;
    border-color: rgba(255, 255, 255, 0.6) !important;
    font-weight: 600;
}

/* Walkthrough progress bars */
.cds-welcome-walkthrough-progress-fill {
    background: #009688 !important;
}

.cds-welcome-walkthrough-progress-fill--complete {
    background: #009688 !important;
}

/* Walkthrough icon success state */
.cds-welcome-walkthrough-icon--success {
    background: #b2dfdb !important;
    color: var(--org-primary) !important;
}

/* Card action links */
.cds-welcome-card-item:hover {
    background: rgba(var(--org-primary-rgb), 0.06) !important;
}

/* Action item links */
.cds-welcome-action-item:hover {
    background: rgba(var(--org-primary-rgb), 0.06) !important;
    border-color: rgba(var(--org-primary-rgb), 0.15) !important;
}

/* Priority action items (overdue) */
.cds-welcome-action-item--priority {
    color: var(--danger) !important;
}

/* More walkthroughs link */
#tw-more-walkthroughs {
    color: var(--org-primary) !important;
}

#tw-more-walkthroughs:hover {
    color: var(--org-primary-hover) !important;
}

/* Dashboard card shadows */
.cds-welcome-card:hover {
    box-shadow: 0 4px 12px rgba(var(--org-primary-rgb), 0.08) !important;
}

/* Footer event links */
.cds-welcome-footer-event:hover {
    background: rgba(var(--org-primary-rgb), 0.06) !important;
}

/* Modal tour buttons */
.cds-tw-modal-tour-btn {
    background: var(--org-primary-light) !important;
    color: var(--org-primary) !important;
    border-color: var(--org-primary-light) !important;
}

.cds-tw-modal-tour-btn:hover {
    background: var(--org-primary) !important;
    color: #fff !important;
    border-color: var(--org-primary) !important;
}

/* Tour status complete */
.cds-tw-modal-tour-status--complete {
    color: var(--org-primary) !important;
}

/* Tour popover overrides (Driver.js) */
.cds-tour-popover .driver-popover-next-btn {
    background: var(--org-primary) !important;
}

.cds-tour-popover .driver-popover-next-btn:hover {
    background: var(--org-primary-hover) !important;
    box-shadow: 0 2px 8px rgba(var(--org-primary-rgb), 0.3) !important;
}

/* Tour launcher button */
.curia-tour-launcher-btn {
    color: var(--org-primary) !important;
    background: linear-gradient(135deg, var(--org-primary-light) 0%, var(--org-primary-light) 100%) !important;
    border-color: var(--org-primary-light) !important;
    box-shadow: 0 1px 3px rgba(var(--org-primary-rgb), 0.08) !important;
}

.curia-tour-launcher-btn:hover {
    color: var(--org-primary-hover) !important;
    background: linear-gradient(135deg, var(--org-primary-light) 0%, var(--org-primary-light) 100%) !important;
    border-color: var(--org-primary) !important;
    box-shadow: 0 3px 12px rgba(var(--org-primary-rgb), 0.18) !important;
}

.curia-tour-launcher-btn:focus-visible {
    outline-color: var(--org-primary) !important;
}

/* Tour menu accent */
.curia-tour-menu-header {
    color: var(--org-primary) !important;
}

.curia-tour-menu-item:hover {
    background: var(--org-primary-light) !important;
}

.curia-tour-menu-item-steps {
    color: var(--org-primary) !important;
    background: var(--org-primary-light) !important;
}
