/*
|--------------------------------------------------------------------------
| 1DS shared page modernization
|--------------------------------------------------------------------------
| Brings the older Bootstrap pages (Manage Matrix, BDC, Appointments,
| Delivery Coordinator) up to the same visual language as Sold Logs and
| Lot Wizard: soft cards, quiet table chrome, pill controls, rounded modals.
|
| Deliberately visual only. Nothing here changes display, position, float,
| width or grid behaviour, so the existing layouts and scripts are untouched
| and the whole file can be removed to revert.
|
| Scoping:
|   body.one-ds-modern-page  -> page chrome, applied per page from header.php
|   #sidemenu-todo           -> Today Availability drawer (global, unique id)
|   #editSchedule            -> Edit Availability modal (global, unique id)
*/

body.one-ds-modern-page {
    --ods-bg: #f6f8fb;
    --ods-surface: #ffffff;
    --ods-border: #e4ebf4;
    --ods-border-soft: #edf0f5;
    --ods-text: #0f172a;
    --ods-muted: #64748b;
    --ods-label: #58657a;
    --ods-accent: #1677ff;
    --ods-accent-soft: rgba(22, 119, 255, .12);
    --ods-radius: 18px;
    --ods-radius-lg: 22px;
    --ods-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

body.one-ds-modern-page,
body.one-ds-modern-page .content {
    background: var(--ods-bg);
}

/* ---------------------------------------------------------------- cards */

body.one-ds-modern-page .portlet {
    border: 1px solid var(--ods-border);
    border-radius: var(--ods-radius-lg);
    background: var(--ods-surface);
    box-shadow: var(--ods-shadow);
}

body.one-ds-modern-page .portlet-header {
    border-radius: var(--ods-radius-lg) var(--ods-radius-lg) 0 0;
    background: transparent;
}

body.one-ds-modern-page .portlet-header-bordered {
    border-bottom: 1px solid var(--ods-border-soft);
}

body.one-ds-modern-page .portlet-title {
    color: var(--ods-text);
    font-weight: 740;
    letter-spacing: -.02em;
}

/* BDC counter cards: quiet label, loud number. */
body.one-ds-modern-page .counterDiv .h4,
body.one-ds-modern-page .counterDiv .h4 span {
    color: var(--ods-text);
}

body.one-ds-modern-page .counterDiv p.h4 {
    color: var(--ods-label);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
}

body.one-ds-modern-page .counterDiv p.h4 span,
body.one-ds-modern-page .counterDiv span.h4 {
    display: block;
    margin-top: 6px;
    color: var(--ods-accent);
    font-size: 27px;
    font-weight: 800;
    line-height: 1;
    letter-spacing: -.03em;
}

body.one-ds-modern-page .counterDiv .h6 {
    color: var(--ods-muted);
    font-size: 11px;
    font-weight: 650;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.one-ds-modern-page .counterDiv hr.hr {
    border-top-color: var(--ods-border-soft);
}

/* --------------------------------------------------------------- tables */

body.one-ds-modern-page .table {
    color: var(--ods-text);
}

body.one-ds-modern-page .table thead th {
    border-top: 0;
    border-bottom: 1px solid var(--ods-border-soft);
    color: var(--ods-label);
    background: #f8fafc;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

body.one-ds-modern-page .table td {
    border-top: 1px solid #f1f5f9;
    color: var(--ods-text);
    font-size: 13px;
    vertical-align: middle;
}

body.one-ds-modern-page .table-bordered,
body.one-ds-modern-page .table-bordered td,
body.one-ds-modern-page .table-bordered th {
    border-color: #eef2f7;
}

body.one-ds-modern-page .table-hover tbody tr:hover,
body.one-ds-modern-page .table-hover tbody tr:hover td {
    background: #f6f9ff;
}

body.one-ds-modern-page .table-striped tbody tr:nth-of-type(odd) {
    background: #fbfcfe;
}

body.one-ds-modern-page .dataTables_wrapper .dataTables_info,
body.one-ds-modern-page .dataTables_wrapper .dataTables_length,
body.one-ds-modern-page .dataTables_wrapper .dataTables_filter {
    color: var(--ods-muted);
    font-size: 12.5px;
}

body.one-ds-modern-page .dataTables_wrapper .dataTables_filter input,
body.one-ds-modern-page .dataTables_wrapper .dataTables_length select {
    border: 1px solid var(--ods-border);
    border-radius: 999px;
    padding: 5px 12px;
    background: var(--ods-surface);
}

body.one-ds-modern-page .paginate_button {
    border-radius: 8px !important;
}

/* ------------------------------------------------------------- controls */

body.one-ds-modern-page .btn {
    border-radius: 999px;
    font-weight: 750;
}

body.one-ds-modern-page .btn-icon {
    border-radius: 50%;
}

body.one-ds-modern-page .form-control,
body.one-ds-modern-page select.form-control,
body.one-ds-modern-page textarea.form-control {
    border: 1px solid var(--ods-border);
    border-radius: 12px;
    color: var(--ods-text);
    background: var(--ods-surface);
    box-shadow: none;
    font-size: 13.5px;
}

body.one-ds-modern-page textarea.form-control {
    border-radius: 14px;
}

body.one-ds-modern-page .form-control:focus {
    border-color: var(--ods-accent);
    box-shadow: 0 0 0 3px var(--ods-accent-soft);
}

/* Read-only fields should look read-only rather than broken. */
body.one-ds-modern-page .form-control[readonly],
body.one-ds-modern-page .form-control:disabled {
    color: var(--ods-muted);
    background: #f4f7fb;
}

body.one-ds-modern-page label {
    color: var(--ods-label);
    font-size: 12px;
    font-weight: 700;
}

/* Segmented option rows (Delivery, Additional Services, Yes/No). */
body.one-ds-modern-page .btn-group-toggle > .btn,
body.one-ds-modern-page .btn-group-toggle > label.btn {
    border: 1px solid var(--ods-border);
    border-radius: 999px !important;
    color: var(--ods-label);
    background: var(--ods-surface);
    box-shadow: none;
    font-size: 12.5px;
    font-weight: 750;
}

body.one-ds-modern-page .btn-group-toggle > .btn.active,
body.one-ds-modern-page .btn-group-toggle > label.btn.active {
    border-color: var(--ods-accent);
    color: #ffffff;
    background: linear-gradient(135deg, #38bdf8, var(--ods-accent));
    box-shadow: 0 8px 18px var(--ods-accent-soft);
}

/* --------------------------------------------------------------- modals */

body.one-ds-modern-page .modal-content,
#editSchedule .modal-content {
    border: 0;
    border-radius: 22px;
    box-shadow: 0 28px 70px rgba(15, 23, 42, .22);
    overflow: hidden;
}

body.one-ds-modern-page .modal-header,
#editSchedule .modal-header {
    align-items: center;
    padding: 18px 22px;
    border-bottom: 1px solid var(--ods-border-soft, #edf0f5);
    background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
}

body.one-ds-modern-page .modal-title,
#editSchedule .modal-title {
    color: #0f172a;
    font-size: 19px;
    font-weight: 780;
    letter-spacing: -.02em;
}

body.one-ds-modern-page .modal-body,
#editSchedule .modal-body {
    padding: 20px 22px;
}

body.one-ds-modern-page .modal-footer,
#editSchedule .modal-footer {
    padding: 14px 22px 18px;
    border-top: 1px solid var(--ods-border-soft, #edf0f5);
    background: #fbfcfe;
}

/* ------------------------------------------- Today Availability drawer */

#sidemenu-todo #childDiv.portlet {
    border: 1px solid #e4ebf4;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

#sidemenu-todo .sidemenu-title {
    color: #0f172a;
    font-weight: 760;
    letter-spacing: -.02em;
}

#sidemenu-todo table thead th {
    border-top: 0 !important;
    border-bottom: 1px solid #edf0f5 !important;
    color: #58657a !important;
    background: #f8fafc !important;
    font-size: 10.5px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

#sidemenu-todo table td {
    border-color: #eef2f7 !important;
    font-size: 12.5px;
    vertical-align: middle;
}

#sidemenu-todo table tbody tr:hover td {
    background: #f6f9ff !important;
}

/* Group rows (Sales Consultant / Delivery Coordinator headings). */
#sidemenu-todo table tbody tr.group td,
#sidemenu-todo table tbody tr.dtrg-group td {
    color: #0f172a !important;
    background: #f1f5f9 !important;
    font-weight: 780;
    letter-spacing: -.01em;
}

/* --------------------------------------------------------------- dark */

body.one-ds-modern-page.theme-dark {
    --ods-bg: #111827;
    --ods-surface: #1f2937;
    --ods-border: #374151;
    --ods-border-soft: #2f3b4c;
    --ods-text: #f3f6fb;
    --ods-muted: #9fb0c6;
    --ods-label: #b9c6d8;
    --ods-accent: #60a5fa;
    --ods-accent-soft: rgba(96, 165, 250, .20);
    --ods-shadow: 0 14px 32px rgba(0, 0, 0, .32);
}

body.one-ds-modern-page.theme-dark .table thead th {
    background: #172033;
}

body.one-ds-modern-page.theme-dark .table td {
    border-top-color: #2b3547;
}

body.one-ds-modern-page.theme-dark .table-bordered,
body.one-ds-modern-page.theme-dark .table-bordered td,
body.one-ds-modern-page.theme-dark .table-bordered th {
    border-color: #2b3547;
}

body.one-ds-modern-page.theme-dark .table-hover tbody tr:hover,
body.one-ds-modern-page.theme-dark .table-hover tbody tr:hover td {
    background: #263244;
}

body.one-ds-modern-page.theme-dark .table-striped tbody tr:nth-of-type(odd) {
    background: #1b2434;
}

body.one-ds-modern-page.theme-dark .form-control[readonly],
body.one-ds-modern-page.theme-dark .form-control:disabled {
    background: #172033;
}

body.one-ds-modern-page.theme-dark .modal-header,
body.theme-dark #editSchedule .modal-header {
    border-bottom-color: #2f3b4c;
    background: linear-gradient(135deg, #1f2937 0%, #1a2331 100%);
}

body.one-ds-modern-page.theme-dark .modal-title,
body.theme-dark #editSchedule .modal-title {
    color: #f3f6fb;
}

body.one-ds-modern-page.theme-dark .modal-content,
body.theme-dark #editSchedule .modal-content {
    background: #1f2937;
}

body.one-ds-modern-page.theme-dark .modal-body,
body.theme-dark #editSchedule .modal-body {
    color: #e5edf7;
}

body.one-ds-modern-page.theme-dark .modal-footer,
body.theme-dark #editSchedule .modal-footer {
    border-top-color: #2f3b4c;
    background: #1a2331;
}

body.theme-dark #sidemenu-todo #childDiv.portlet {
    border-color: #374151;
    background: #1f2937;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .32);
}

body.theme-dark #sidemenu-todo .sidemenu-title {
    color: #f3f6fb;
}

body.theme-dark #sidemenu-todo table thead th {
    border-bottom-color: #2f3b4c !important;
    color: #b9c6d8 !important;
    background: #172033 !important;
}

body.theme-dark #sidemenu-todo table td {
    border-color: #2b3547 !important;
    color: #e5edf7;
}

body.theme-dark #sidemenu-todo table tbody tr:hover td {
    background: #263244 !important;
}

body.theme-dark #sidemenu-todo table tbody tr.group td,
body.theme-dark #sidemenu-todo table tbody tr.dtrg-group td {
    color: #f3f6fb !important;
    background: #202b3d !important;
}
/* ==========================================================================
   ORIGINAL 1DS — Appointments calendar-first workspace (2026-08-19)
   ========================================================================== */
body.one-ds-modern-page .ods-appointments-page {
    --appt-blue: #2196f3;
    --appt-blue-soft: rgba(33, 150, 243, .10);
    --appt-text: #0f172a;
    --appt-muted: #64748b;
    --appt-border: #e4eaf2;
    --appt-surface: #ffffff;
    --appt-soft: #f8fafc;
    padding: 14px 16px 26px;
    background: #f6f8fb;
}

body.one-ds-modern-page .ods-appointments-container {
    max-width: 1920px;
    padding-left: 0;
    padding-right: 0;
}

body.one-ds-modern-page .ods-appointments-workspace {
    display: grid;
    grid-template-columns: 188px minmax(0, 1fr);
    gap: 16px;
    min-height: calc(100vh - 150px);
}

/* Sidebar */
body.one-ds-modern-page .ods-appointments-sidebar {
    align-self: stretch;
    padding: 16px 12px;
    border: 1px solid var(--appt-border);
    border-radius: 18px;
    background: var(--appt-surface);
    box-shadow: 0 8px 26px rgba(15, 23, 42, .045);
}

body.one-ds-modern-page .ods-appointments-sidebar-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 2px 6px 14px;
}

body.one-ds-modern-page .ods-appointments-sidebar-icon {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 11px;
    color: var(--appt-blue);
    background: var(--appt-blue-soft);
}

body.one-ds-modern-page .ods-appointments-sidebar-heading h1 {
    margin: 0;
    color: var(--appt-text);
    font-size: 16px;
    font-weight: 820;
    letter-spacing: -.02em;
}

body.one-ds-modern-page .ods-appointments-sidebar-heading p {
    margin: 2px 0 0;
    color: var(--appt-muted);
    font-size: 10.5px;
    font-weight: 600;
}

body.one-ds-modern-page .ods-appointments-nav {
    display: grid;
    gap: 5px;
}

body.one-ds-modern-page .ods-appointments-nav-link {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 38px;
    padding: 8px 10px;
    border-radius: 11px;
    color: #475569;
    font-size: 11.5px;
    font-weight: 750;
    text-decoration: none !important;
    transition: .16s ease;
}

body.one-ds-modern-page .ods-appointments-nav-link i {
    width: 16px;
    color: #8492a6;
    text-align: center;
}

body.one-ds-modern-page .ods-appointments-nav-link:hover {
    color: var(--appt-blue);
    background: #f5f9ff;
}

body.one-ds-modern-page .ods-appointments-nav-link.active {
    color: #1378d4;
    background: #eaf4ff;
}

body.one-ds-modern-page .ods-appointments-nav-link.active i {
    color: var(--appt-blue);
}

body.one-ds-modern-page .ods-appointments-sidebar-divider {
    height: 1px;
    margin: 15px 4px 13px;
    background: #edf1f6;
}

body.one-ds-modern-page .ods-appointments-filter-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4px 8px;
    color: #8a97a9;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.one-ds-modern-page .ods-filter-reset {
    padding: 0;
    border: 0;
    color: var(--appt-blue);
    background: transparent;
    font-size: 9.5px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
    cursor: pointer;
}

body.one-ds-modern-page .ods-appointments-filter-group,
body.one-ds-modern-page .ods-appointments-sidebar-search {
    margin-bottom: 10px;
}

body.one-ds-modern-page .ods-appointments-filter-group label,
body.one-ds-modern-page .ods-appointments-sidebar-search label {
    display: block;
    margin: 0 0 5px 2px;
    color: #536176;
    font-size: 10.5px;
    font-weight: 760;
}

body.one-ds-modern-page .ods-appointments-filter-group .form-control,
body.one-ds-modern-page .ods-search-control .form-control {
    height: 34px !important;
    min-height: 34px !important;
    padding: 5px 10px;
    border-radius: 10px;
    font-size: 11px;
}

body.one-ds-modern-page .ods-search-control {
    position: relative;
}

body.one-ds-modern-page .ods-search-control i {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 10px;
    color: #94a3b8;
    font-size: 10px;
    transform: translateY(-50%);
}

body.one-ds-modern-page .ods-search-control .form-control {
    padding-left: 28px;
}

/* Main / title */
body.one-ds-modern-page .ods-appointments-main {
    min-width: 0;
}

body.one-ds-modern-page .ods-appointments-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
    padding: 2px 2px 0;
}

body.one-ds-modern-page .ods-appointments-topline h2 {
    margin: 0;
    color: var(--appt-text);
    font-size: 20px;
    font-weight: 850;
    letter-spacing: -.025em;
}

body.one-ds-modern-page .ods-appointments-topline p {
    margin: 2px 0 0;
    color: var(--appt-muted);
    font-size: 11.5px;
}

body.one-ds-modern-page .ods-primary-action {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 14px !important;
    border: 1px solid #2196f3 !important;
    border-radius: 11px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #38bdf8, #2196f3) !important;
    box-shadow: 0 8px 20px rgba(33, 150, 243, .20) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
}

/* KPI cards */
body.one-ds-modern-page .ods-appointment-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 12px;
}

body.one-ds-modern-page .ods-appointment-kpi {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 84px;
    padding: 13px 14px;
    border: 1px solid var(--appt-border);
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 6px 20px rgba(15, 23, 42, .035);
}

body.one-ds-modern-page .ods-appointment-kpi > div {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

body.one-ds-modern-page .ods-kpi-label {
    margin-bottom: 3px;
    color: #475569;
    font-size: 10.5px;
    font-weight: 760;
}

body.one-ds-modern-page .ods-appointment-kpi strong {
    color: var(--appt-text);
    font-size: 24px;
    font-weight: 860;
    line-height: 1;
    letter-spacing: -.04em;
}

body.one-ds-modern-page .ods-appointment-kpi small {
    margin-top: 5px;
    color: #8290a3;
    font-size: 9.5px;
    font-weight: 650;
}

body.one-ds-modern-page .ods-kpi-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    flex: 0 0 36px;
    border-radius: 50%;
    font-size: 14px;
}

body.one-ds-modern-page .ods-kpi-icon.is-blue { color: #1689ed; background: rgba(33, 150, 243, .10); }
body.one-ds-modern-page .ods-kpi-icon.is-green { color: #20a64a; background: rgba(34, 197, 94, .11); }
body.one-ds-modern-page .ods-kpi-icon.is-purple { color: #8b5cf6; background: rgba(139, 92, 246, .11); }
body.one-ds-modern-page .ods-kpi-icon.is-teal { color: #0faaa4; background: rgba(20, 184, 166, .11); }

/* Calendar card + controls */
body.one-ds-modern-page .ods-appointment-calendar-card {
    overflow: hidden;
    border: 1px solid var(--appt-border);
    border-radius: 18px;
    background: var(--appt-surface);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .05);
}

body.one-ds-modern-page .ods-calendar-toolbar {
    display: grid;
    grid-template-columns: auto minmax(220px, 1fr) auto;
    align-items: center;
    gap: 12px;
    min-height: 58px;
    padding: 10px 13px;
    border-bottom: 1px solid #edf1f6;
}

body.one-ds-modern-page .ods-calendar-nav-group,
body.one-ds-modern-page .ods-calendar-view-group {
    display: flex;
    align-items: center;
    gap: 5px;
}

body.one-ds-modern-page .ods-calendar-today,
body.one-ds-modern-page .ods-calendar-arrow {
    height: 32px;
    min-height: 32px;
    border: 1px solid #dce5ef !important;
    border-radius: 9px !important;
    color: #3b4a60 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 10.5px !important;
}

body.one-ds-modern-page .ods-calendar-today {
    padding: 5px 12px !important;
    color: #167edb !important;
    border-color: #b9ddfb !important;
}

body.one-ds-modern-page .ods-calendar-arrow {
    display: grid;
    width: 32px;
    padding: 0 !important;
    place-items: center;
}

body.one-ds-modern-page .ods-calendar-range-wrap {
    min-width: 0;
    text-align: center;
}

body.one-ds-modern-page #renderRange {
    color: #172033;
    font-size: 12.5px;
    font-weight: 800;
    letter-spacing: -.01em;
}

body.one-ds-modern-page .ods-calendar-view-group {
    overflow: hidden;
    padding: 3px;
    border: 1px solid #e1e8f0;
    border-radius: 10px;
    background: #f8fafc;
}

body.one-ds-modern-page .ods-view-btn {
    min-width: 48px;
    height: 27px;
    padding: 4px 9px;
    border: 0;
    border-radius: 7px;
    color: #64748b;
    background: transparent;
    font-size: 10px;
    font-weight: 760;
    cursor: pointer;
}

body.one-ds-modern-page .ods-view-btn.is-active {
    color: #0d7cd8;
    background: #fff;
    box-shadow: 0 2px 8px rgba(15, 23, 42, .08);
}

body.one-ds-modern-page .ods-calendar-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 205px;
    min-height: 630px;
}

body.one-ds-modern-page .ods-calendar-stage {
    min-width: 0;
    padding: 0 8px 8px 4px;
    border-right: 1px solid #edf1f6;
}

body.one-ds-modern-page #calendar {
    height: 630px;
}

/* TUI calendar refinements */
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-layout {
    border: 0 !important;
    background: #fff !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-weekday-grid-line,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-gridline,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-timezone,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-weekday-grid-date {
    border-color: #edf1f5 !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-timezone,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-hour {
    color: #8492a6 !important;
    font-size: 10px !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-date-area {
    color: #1f2937 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-name {
    color: #718096 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule {
    border-radius: 8px !important;
    box-shadow: 0 3px 9px rgba(15, 23, 42, .10) !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule-content {
    padding: 4px 6px !important;
    border-radius: 8px !important;
    font-size: 9.5px !important;
    font-weight: 760 !important;
    line-height: 1.25 !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-hourmarker-line-today {
    border-top: 1px solid #2196f3 !important;
}

body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-hourmarker-time {
    color: #1687e8 !important;
    font-size: 9px !important;
    font-weight: 800 !important;
}

/* Upcoming panel */
body.one-ds-modern-page .ods-upcoming-panel {
    min-width: 0;
    padding: 14px 12px;
    background: #fbfcfe;
}

body.one-ds-modern-page .ods-upcoming-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 2px 2px 10px;
    border-bottom: 1px solid #edf1f5;
}

body.one-ds-modern-page .ods-upcoming-header h3 {
    margin: 0;
    color: #172033;
    font-size: 13px;
    font-weight: 820;
}

body.one-ds-modern-page .ods-upcoming-header span {
    display: block;
    margin-top: 2px;
    color: #8290a3;
    font-size: 9px;
}

body.one-ds-modern-page .ods-upcoming-header a {
    color: #1687e8;
    font-size: 9px;
    font-weight: 800;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-upcoming-list {
    display: grid;
    gap: 1px;
    padding-top: 5px;
}

body.one-ds-modern-page .ods-upcoming-item {
    display: grid;
    grid-template-columns: 7px minmax(0, 1fr);
    gap: 8px;
    width: 100%;
    padding: 10px 4px;
    border: 0;
    border-bottom: 1px solid #edf1f5;
    color: inherit;
    background: transparent;
    text-align: left;
    cursor: pointer;
}

body.one-ds-modern-page .ods-upcoming-item:hover {
    background: #f2f7fd;
}

body.one-ds-modern-page .ods-upcoming-dot {
    width: 6px;
    height: 6px;
    margin-top: 5px;
    border-radius: 50%;
}

body.one-ds-modern-page .ods-upcoming-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

body.one-ds-modern-page .ods-upcoming-copy strong {
    overflow: hidden;
    color: #1f2937;
    font-size: 10px;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-upcoming-copy span,
body.one-ds-modern-page .ods-upcoming-copy small {
    overflow: hidden;
    margin-top: 2px;
    color: #64748b;
    font-size: 8.7px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-upcoming-copy small {
    color: #8a98aa;
}

body.one-ds-modern-page .ods-upcoming-empty {
    padding: 24px 8px;
    color: #94a3b8;
    font-size: 10px;
    text-align: center;
}

/* Add / Edit appointment drawers. Keep every legacy form id intact. */
body.one-ds-modern-page .ods-appointment-drawer {
    padding-right: 0 !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-dialog {
    width: min(700px, 92vw);
    max-width: 700px !important;
    min-height: 100%;
    margin: 0 0 0 auto;
    transform: translateX(38px) !important;
}

body.one-ds-modern-page .ods-appointment-drawer.show .modal-dialog {
    transform: translateX(0) !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-content {
    min-height: 100vh;
    border-radius: 18px 0 0 18px !important;
    box-shadow: -20px 0 50px rgba(15, 23, 42, .16) !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-header {
    min-height: 70px;
    padding: 14px 18px !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-title {
    font-size: 17px !important;
    font-weight: 830 !important;
}

body.one-ds-modern-page .ods-drawer-subtitle {
    margin: 2px 0 0;
    color: #7b8799;
    font-size: 9.5px;
    font-weight: 600;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-body {
    padding: 14px 17px 8px !important;
}

body.one-ds-modern-page .ods-appointment-drawer .appointment_div {
    padding: 0 !important;
}

body.one-ds-modern-page .ods-appointment-drawer .row {
    margin-right: -5px;
    margin-left: -5px;
}

body.one-ds-modern-page .ods-appointment-drawer [class*="col-"] {
    padding-right: 5px;
    padding-left: 5px;
}

body.one-ds-modern-page .ods-appointment-drawer .form-group {
    margin-bottom: 8px;
}

body.one-ds-modern-page .ods-appointment-drawer .col-form-label,
body.one-ds-modern-page .ods-appointment-drawer label.col-form-label {
    padding-top: 7px;
    padding-bottom: 4px;
    color: #526177;
    font-size: 10.5px;
    font-weight: 760;
    text-align: left !important;
}

body.one-ds-modern-page .ods-appointment-drawer .form-control,
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointment-drawer .input-group-text {
    min-height: 34px !important;
    height: 34px !important;
    border-color: #dfe7f0 !important;
    border-radius: 10px !important;
    background: #fbfdff !important;
    color: #1e293b !important;
    font-size: 10.5px !important;
    box-shadow: none !important;
}

body.one-ds-modern-page .ods-appointment-drawer textarea.form-control {
    min-height: 50px !important;
    height: 50px !important;
    padding-top: 8px;
    resize: none;
}

body.one-ds-modern-page .ods-appointment-drawer .input-group .form-control {
    border-radius: 0 10px 10px 0 !important;
}

body.one-ds-modern-page .ods-appointment-drawer .input-group-text {
    width: 34px;
    padding: 0;
    border-radius: 10px 0 0 10px !important;
    justify-content: center;
    color: #718096 !important;
    background: #f4f7fb !important;
}

body.one-ds-modern-page .ods-appointment-drawer .btn-group-toggle {
    display: flex;
    gap: 5px;
}

body.one-ds-modern-page .ods-appointment-drawer .btn-group-toggle > label.btn {
    display: flex !important;
    min-height: 33px;
    margin: 0 !important;
    padding: 6px 8px !important;
    align-items: center !important;
    justify-content: center;
    flex: 1 1 0;
    border-radius: 9px !important;
    font-size: 9.6px !important;
    font-weight: 720 !important;
    line-height: 1.15;
    text-align: center;
}

body.one-ds-modern-page .ods-appointment-drawer #additionalServices,
body.one-ds-modern-page .ods-appointment-drawer #eadditionalServices {
    flex-wrap: wrap;
}

body.one-ds-modern-page .ods-appointment-drawer #additionalServices > label.btn,
body.one-ds-modern-page .ods-appointment-drawer #eadditionalServices > label.btn {
    min-width: calc(25% - 5px);
    flex: 1 1 calc(25% - 5px);
}

body.one-ds-modern-page .ods-appointment-drawer hr {
    margin: 10px 0 8px;
    border-top-color: #edf1f5;
}

body.one-ds-modern-page .ods-appointment-drawer .delivery_coordinator {
    margin: 4px 0 0;
    padding: 9px 10px;
    border: 1px solid #e7edf4;
    border-radius: 12px;
    background: #f8fafc;
}

body.one-ds-modern-page .ods-appointment-drawer .delivery_coordinator .h5 {
    margin: 0;
    color: #354154;
    font-size: 11.5px;
    font-weight: 800;
}

body.one-ds-modern-page .ods-appointment-drawer .delivery_coordinator .mb-3,
body.one-ds-modern-page .ods-appointment-drawer .delivery_coordinator .mt-3 {
    margin-top: 0 !important;
    margin-bottom: 5px !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-footer {
    gap: 7px;
    min-height: 62px;
    padding: 11px 18px !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-footer .btn {
    min-height: 34px;
    padding: 6px 13px !important;
    border-radius: 10px !important;
    font-size: 10.5px !important;
    font-weight: 780 !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-footer .btn-primary {
    order: 2;
    border-color: #2196f3 !important;
    background: linear-gradient(135deg, #38bdf8, #2196f3) !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-footer .btn-outline-secondary {
    order: 1;
}

body.one-ds-modern-page .ods-appointment-drawer .spinner-grow {
    width: 1.25rem;
    height: 1.25rem;
}

body.one-ds-modern-page.modal-open .modal-backdrop.show,
body.one-ds-modern-page .modal-backdrop.show {
    opacity: .14;
}

/* Dark mode */
body.one-ds-modern-page.theme-dark .ods-appointments-page {
    --appt-text: #f8fafc;
    --appt-muted: #9fb0c6;
    --appt-border: #334155;
    --appt-surface: #1f2937;
    --appt-soft: #172033;
    background: #111827;
}

body.one-ds-modern-page.theme-dark .ods-appointments-sidebar,
body.one-ds-modern-page.theme-dark .ods-appointment-kpi,
body.one-ds-modern-page.theme-dark .ods-appointment-calendar-card {
    border-color: #334155;
    background: #1f2937;
    box-shadow: 0 12px 30px rgba(0, 0, 0, .22);
}

body.one-ds-modern-page.theme-dark .ods-appointments-sidebar-heading h1,
body.one-ds-modern-page.theme-dark .ods-appointments-topline h2,
body.one-ds-modern-page.theme-dark .ods-appointment-kpi strong,
body.one-ds-modern-page.theme-dark #renderRange,
body.one-ds-modern-page.theme-dark .ods-upcoming-header h3,
body.one-ds-modern-page.theme-dark .ods-upcoming-copy strong {
    color: #f8fafc;
}

body.one-ds-modern-page.theme-dark .ods-appointments-sidebar-heading p,
body.one-ds-modern-page.theme-dark .ods-appointments-topline p,
body.one-ds-modern-page.theme-dark .ods-appointment-kpi small,
body.one-ds-modern-page.theme-dark .ods-upcoming-copy span,
body.one-ds-modern-page.theme-dark .ods-upcoming-copy small {
    color: #9fb0c6;
}

body.one-ds-modern-page.theme-dark .ods-appointments-nav-link {
    color: #c4cfdd;
}

body.one-ds-modern-page.theme-dark .ods-appointments-nav-link:hover {
    background: #263449;
}

body.one-ds-modern-page.theme-dark .ods-appointments-nav-link.active {
    color: #7cc5ff;
    background: rgba(33, 150, 243, .16);
}

body.one-ds-modern-page.theme-dark .ods-appointments-sidebar-divider,
body.one-ds-modern-page.theme-dark .ods-calendar-toolbar,
body.one-ds-modern-page.theme-dark .ods-calendar-stage,
body.one-ds-modern-page.theme-dark .ods-upcoming-header,
body.one-ds-modern-page.theme-dark .ods-upcoming-item {
    border-color: #2f3b4c;
}

body.one-ds-modern-page.theme-dark .ods-appointments-filter-group label,
body.one-ds-modern-page.theme-dark .ods-appointments-sidebar-search label,
body.one-ds-modern-page.theme-dark .ods-kpi-label {
    color: #b8c5d6;
}

body.one-ds-modern-page.theme-dark .ods-appointments-filter-group .form-control,
body.one-ds-modern-page.theme-dark .ods-search-control .form-control,
body.one-ds-modern-page.theme-dark .ods-calendar-today,
body.one-ds-modern-page.theme-dark .ods-calendar-arrow {
    border-color: #3b4758 !important;
    color: #e7edf6 !important;
    background: #172033 !important;
}

body.one-ds-modern-page.theme-dark .ods-calendar-view-group {
    border-color: #374151;
    background: #172033;
}

body.one-ds-modern-page.theme-dark .ods-view-btn {
    color: #aebcd0;
}

body.one-ds-modern-page.theme-dark .ods-view-btn.is-active {
    color: #8cc9ff;
    background: #263449;
}

body.one-ds-modern-page.theme-dark .ods-upcoming-panel {
    background: #1a2331;
}

body.one-ds-modern-page.theme-dark .ods-upcoming-item:hover {
    background: #253247;
}

body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-layout,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-weekday-grid-line,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-timegrid-gridline,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-timegrid-timezone {
    border-color: #2f3b4c !important;
    background: #1f2937 !important;
}

body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-dayname-date-area {
    color: #f8fafc !important;
}

body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-dayname-name,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-timegrid-timezone,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-timegrid-hour {
    color: #9fb0c6 !important;
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .modal-content {
    background: #1f2937 !important;
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .modal-header,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .modal-footer {
    border-color: #2f3b4c !important;
    background: #1a2331 !important;
}

body.one-ds-modern-page.theme-dark .ods-drawer-subtitle {
    color: #9fb0c6;
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .form-control,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .input-group-text {
    border-color: #3b4758 !important;
    color: #f8fafc !important;
    background: #172033 !important;
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .delivery_coordinator {
    border-color: #374151;
    background: #172033;
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .delivery_coordinator .h5,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .col-form-label,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer label.col-form-label {
    color: #c5d0df;
}

/* Responsive: preserve desktop-first workflow while preventing overlap. */
@media (max-width: 1360px) {
    body.one-ds-modern-page .ods-appointments-workspace {
        grid-template-columns: 168px minmax(0, 1fr);
        gap: 12px;
    }

    body.one-ds-modern-page .ods-calendar-content-grid {
        grid-template-columns: minmax(0, 1fr) 185px;
    }
}

@media (max-width: 1120px) {
    body.one-ds-modern-page .ods-appointments-workspace {
        grid-template-columns: 1fr;
    }

    body.one-ds-modern-page .ods-appointments-sidebar {
        display: grid;
        grid-template-columns: auto 1fr;
        gap: 10px 16px;
    }

    body.one-ds-modern-page .ods-appointments-sidebar-heading,
    body.one-ds-modern-page .ods-appointments-sidebar-divider {
        display: none;
    }

    body.one-ds-modern-page .ods-appointments-nav {
        display: flex;
        grid-column: 1 / -1;
    }

    body.one-ds-modern-page .ods-appointments-filter-heading {
        grid-column: 1 / -1;
    }

    body.one-ds-modern-page .ods-appointment-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 860px) {
    body.one-ds-modern-page .ods-calendar-content-grid {
        grid-template-columns: 1fr;
    }

    body.one-ds-modern-page .ods-calendar-stage {
        border-right: 0;
    }

    body.one-ds-modern-page .ods-upcoming-panel {
        border-top: 1px solid #edf1f6;
    }

    body.one-ds-modern-page .ods-calendar-toolbar {
        grid-template-columns: 1fr auto;
    }

    body.one-ds-modern-page .ods-calendar-range-wrap {
        grid-column: 1 / -1;
        grid-row: 1;
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - APPOINTMENTS LIST + DRAWER REFINEMENT (2026-08-19)          */
/* ========================================================================== */
body.one-ds-modern-page .ods-appointments-list-page .ods-appointments-main {
    min-width: 0;
}

body.one-ds-modern-page .ods-appointment-list-card {
    overflow: hidden;
    border: 1px solid #e5edf6;
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
}

body.one-ds-modern-page .ods-list-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 58px;
    padding: 12px 16px;
    border-bottom: 1px solid #edf2f7;
}

body.one-ds-modern-page .ods-list-title {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

body.one-ds-modern-page .ods-list-title strong {
    color: #152033;
    font-size: 13px;
    font-weight: 850;
}

body.one-ds-modern-page .ods-list-title span,
body.one-ds-modern-page .ods-list-count {
    margin-top: 2px;
    color: #8794a7;
    font-size: 9.5px;
    font-weight: 650;
}

body.one-ds-modern-page .ods-list-table-wrap {
    padding: 0 12px 12px;
    overflow-x: auto;
    overflow-y: visible;
}

body.one-ds-modern-page .ods-appointment-list-table {
    width: 100% !important;
    min-width: 900px;
    margin: 0 !important;
    border: 0 !important;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    table-layout: fixed;
    background: transparent !important;
}

body.one-ds-modern-page .ods-appointment-list-table thead th {
    padding: 11px 12px !important;
    border: 0 !important;
    color: #65758a !important;
    background: transparent !important;
    font-size: 9px !important;
    font-weight: 850 !important;
    letter-spacing: .055em;
    text-transform: uppercase;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-appointment-list-table tbody tr {
    position: relative;
    --appointment-row-accent: #2196f3;
}

body.one-ds-modern-page .ods-appointment-list-table tbody td {
    height: 64px;
    padding: 10px 12px !important;
    border-top: 1px solid #e4ebf3 !important;
    border-bottom: 1px solid #e4ebf3 !important;
    color: #334155 !important;
    background: #ffffff !important;
    font-size: 10px !important;
    vertical-align: middle !important;
    box-shadow: none !important;
}

body.one-ds-modern-page .ods-appointment-list-table tbody td:first-child {
    position: relative;
    border-left: 1px solid #e4ebf3 !important;
    border-radius: 12px 0 0 12px;
}

body.one-ds-modern-page .ods-appointment-list-table tbody td:first-child::before {
    content: '';
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: -1px;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: var(--appointment-row-accent);
}

body.one-ds-modern-page .ods-appointment-list-table tbody td:last-child {
    border-right: 1px solid #e4ebf3 !important;
    border-radius: 0 12px 12px 0;
}

body.one-ds-modern-page .ods-appointment-list-table tbody tr:hover td {
    border-color: #cfe3f8 !important;
    background: #fbfdff !important;
}

body.one-ds-modern-page .ods-list-appointment-cell,
body.one-ds-modern-page .ods-list-datetime,
body.one-ds-modern-page .ods-list-coordinator {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

body.one-ds-modern-page .ods-list-appointment-cell strong,
body.one-ds-modern-page .ods-list-datetime strong,
body.one-ds-modern-page .ods-list-coordinator strong {
    overflow: hidden;
    color: #172033;
    font-size: 10.6px;
    font-weight: 820;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-list-appointment-cell span,
body.one-ds-modern-page .ods-list-appointment-cell small,
body.one-ds-modern-page .ods-list-datetime span,
body.one-ds-modern-page .ods-list-coordinator small {
    overflow: hidden;
    margin-top: 2px;
    color: #718096;
    font-size: 9px;
    font-weight: 620;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-list-coordinator {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

body.one-ds-modern-page .ods-coordinator-avatar {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    border: 1px solid color-mix(in srgb, var(--coordinator-color) 35%, white);
    border-radius: 50%;
    color: color-mix(in srgb, var(--coordinator-color) 76%, #0f172a);
    background: color-mix(in srgb, var(--coordinator-color) 13%, white);
    font-size: 8.5px;
    font-weight: 900;
}

body.one-ds-modern-page .ods-service-pill,
body.one-ds-modern-page .ods-status-pill,
body.one-ds-modern-page .ods-service-more {
    display: inline-flex;
    min-height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: 8.5px;
    font-weight: 780;
    line-height: 1;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-service-pill {
    color: #536275;
    background: #f1f5f9;
}

body.one-ds-modern-page .ods-service-pill.is-delivery {
    color: #1976d2;
    background: #eaf4ff;
}

body.one-ds-modern-page .ods-service-pill.is-service {
    color: #6d4ed3;
    background: #f1edff;
}

body.one-ds-modern-page .ods-service-more {
    margin-left: 4px;
    color: #64748b;
    background: #eef2f7;
}

body.one-ds-modern-page .ods-status-pill {
    gap: 4px;
}

body.one-ds-modern-page .ods-status-pill.is-confirmed,
body.one-ds-modern-page .ods-status-pill.is-complete {
    color: #128447;
    background: #e7f8ee;
}

body.one-ds-modern-page .ods-status-pill.is-pending {
    color: #b7791f;
    background: #fff6df;
}

body.one-ds-modern-page .ods-status-pill.is-no {
    color: #c43d4d;
    background: #ffedf0;
}

body.one-ds-modern-page .ods-list-note {
    display: block;
    max-width: 190px;
    overflow: hidden;
    color: #56657a;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.one-ds-modern-page .ods-list-note-empty {
    color: #a7b1bf;
}

body.one-ds-modern-page .ods-row-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

body.one-ds-modern-page .ods-row-action {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid #dce6f0;
    border-radius: 50%;
    color: #476078;
    background: #ffffff;
    cursor: pointer;
    transition: .16s ease;
}

body.one-ds-modern-page .ods-row-action:hover {
    border-color: #9ecbf2;
    color: #1687e8;
    background: #eef7ff;
}

body.one-ds-modern-page .ods-row-action.is-danger:hover {
    border-color: #fecaca;
    color: #dc2626;
    background: #fff1f2;
}

body.one-ds-modern-page .ods-dt-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 8px 4px 2px;
}

body.one-ds-modern-page .ods-dt-footer .dataTables_info,
body.one-ds-modern-page .ods-dt-footer .dataTables_paginate {
    padding: 0 !important;
    color: #7c8999 !important;
    font-size: 9.5px !important;
}

body.one-ds-modern-page .ods-dt-footer .paginate_button {
    min-width: 30px !important;
    height: 30px !important;
    margin: 0 2px !important;
    padding: 5px 9px !important;
    border: 1px solid #dfe7f0 !important;
    border-radius: 9px !important;
    color: #526177 !important;
    background: #fff !important;
    box-shadow: none !important;
}

body.one-ds-modern-page .ods-dt-footer .paginate_button.current {
    border-color: #2196f3 !important;
    color: #1687e8 !important;
    background: #eef7ff !important;
}

/* More premium appointment drawer, shared by Calendar + List */
body.one-ds-modern-page .ods-appointment-drawer .modal-dialog {
    width: min(620px, 94vw);
    max-width: 620px !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-content {
    background: #fbfcfe !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-header {
    min-height: 76px;
    padding: 16px 20px !important;
    background: #ffffff !important;
}

body.one-ds-modern-page .ods-modern-drawer-body {
    padding: 12px 14px 8px !important;
}

body.one-ds-modern-page .ods-drawer-section,
body.one-ds-modern-page .ods-customer-summary {
    margin-bottom: 10px;
    padding: 12px;
    border: 1px solid #e5edf5;
    border-radius: 14px;
    background: #ffffff;
}

body.one-ds-modern-page .ods-customer-summary {
    position: relative;
    display: flex;
    min-height: 76px;
    align-items: center;
    gap: 12px;
    padding-left: 18px;
}

body.one-ds-modern-page .ods-summary-accent {
    position: absolute;
    top: 13px;
    bottom: 13px;
    left: 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: #8b5cf6;
}

body.one-ds-modern-page .ods-customer-summary > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

body.one-ds-modern-page .ods-customer-summary strong {
    color: #152033;
    font-size: 13px;
    font-weight: 850;
}

body.one-ds-modern-page .ods-customer-summary span:not(.ods-summary-accent),
body.one-ds-modern-page .ods-customer-summary small {
    margin-top: 2px;
    color: #65758a;
    font-size: 9.5px;
    font-weight: 650;
}

body.one-ds-modern-page .ods-drawer-section-title {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 9px;
}

body.one-ds-modern-page .ods-drawer-section-title.centered {
    justify-content: center;
}

body.one-ds-modern-page .ods-drawer-section-title span {
    color: #334155;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .02em;
}

body.one-ds-modern-page .ods-drawer-section-title small {
    color: #9aa6b6;
    font-size: 8.5px;
    font-weight: 620;
}

body.one-ds-modern-page .ods-drawer-grid {
    display: grid;
    gap: 8px;
}

body.one-ds-modern-page .ods-drawer-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.one-ds-modern-page .ods-drawer-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.one-ds-modern-page .ods-drawer-section .form-group {
    margin-bottom: 8px;
}

body.one-ds-modern-page .ods-drawer-section .form-group > label,
body.one-ds-modern-page .ods-manager-override > label,
body.one-ds-modern-page .ods-notes-field > label {
    display: block;
    margin: 0 0 4px;
    color: #5f6f84;
    font-size: 9px;
    font-weight: 780;
}

body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .form-control,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .input-group-text {
    min-height: 34px !important;
    height: 34px !important;
    border-color: #dce6f0 !important;
    border-radius: 9px !important;
    background: #fbfdff !important;
    color: #243247 !important;
    font-size: 9.7px !important;
}

body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section textarea.form-control {
    min-height: 58px !important;
    height: 58px !important;
}

body.one-ds-modern-page .ods-delivery-segments {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    width: 100%;
}

body.one-ds-modern-page .ods-delivery-segments > label.btn {
    display: flex !important;
    min-height: 38px;
    margin: 0 !important;
    padding: 7px 8px !important;
    align-items: center !important;
    justify-content: center;
    gap: 6px;
    border: 1px solid #dce6f0 !important;
    border-radius: 10px !important;
    color: #5b6b80 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 9px !important;
    font-weight: 740 !important;
}

body.one-ds-modern-page .ods-delivery-segments > label.btn.active {
    border-color: #2196f3 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #38bdf8, #2196f3) !important;
}

body.one-ds-modern-page .ods-service-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    width: 100%;
}

body.one-ds-modern-page .ods-service-grid > label.btn {
    position: relative;
    display: flex !important;
    min-height: 52px;
    margin: 0 !important;
    padding: 7px 6px !important;
    align-items: center !important;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    border: 1px solid #dce6f0 !important;
    border-radius: 11px !important;
    color: #617085 !important;
    background: #fff !important;
    box-shadow: none !important;
    font-size: 8.5px !important;
    font-weight: 700 !important;
    text-align: center;
}

body.one-ds-modern-page .ods-service-grid > label.btn i {
    color: #8493a6;
    font-size: 13px;
}

body.one-ds-modern-page .ods-service-grid > label.btn.active {
    border-color: #2196f3 !important;
    color: #1976d2 !important;
    background: #edf6ff !important;
}

body.one-ds-modern-page .ods-service-grid > label.btn.active i {
    color: #2196f3;
}

body.one-ds-modern-page .ods-service-grid > label.btn.active::after {
    content: '\f00c';
    position: absolute;
    top: 5px;
    right: 6px;
    display: flex;
    width: 15px;
    height: 15px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: #2196f3;
    font-family: 'Font Awesome 5 Free';
    font-size: 7px;
    font-weight: 900;
}

body.one-ds-modern-page .ods-notes-field {
    margin-top: 9px;
}

body.one-ds-modern-page .ods-coordinator-status {
    padding-top: 10px;
    background: #f8fafc;
}

body.one-ds-modern-page .ods-status-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

body.one-ds-modern-page .ods-status-control {
    display: grid;
    grid-template-columns: 70px minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

body.one-ds-modern-page .ods-status-control > label {
    margin: 0;
    color: #5f6f84;
    font-size: 9px;
    font-weight: 780;
}

body.one-ds-modern-page .ods-status-control .btn-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
}

body.one-ds-modern-page .ods-status-control .btn {
    min-height: 31px;
    margin: 0 !important;
    padding: 5px 8px !important;
    border: 1px solid #dce6f0 !important;
    border-radius: 8px !important;
    color: #5f6f84 !important;
    background: #fff !important;
    font-size: 9px !important;
    font-weight: 760 !important;
}

body.one-ds-modern-page .ods-status-control .btn.active {
    border-color: #2196f3 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #38bdf8, #2196f3) !important;
}

body.one-ds-modern-page .ods-appointment-drawer .modal-footer {
    min-height: 66px;
    padding: 12px 18px !important;
    background: #ffffff !important;
}

body.one-ds-modern-page .ods-edit-loading {
    padding: 70px 0;
}

/* Dark mode - list and refined drawer */
body.one-ds-modern-page.theme-dark .ods-appointment-list-card,
body.one-ds-modern-page.theme-dark .ods-list-toolbar,
body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody td,
body.one-ds-modern-page.theme-dark .ods-drawer-section,
body.one-ds-modern-page.theme-dark .ods-customer-summary {
    border-color: #334155 !important;
    background: #1f2937 !important;
}

body.one-ds-modern-page.theme-dark .ods-list-title strong,
body.one-ds-modern-page.theme-dark .ods-list-appointment-cell strong,
body.one-ds-modern-page.theme-dark .ods-list-datetime strong,
body.one-ds-modern-page.theme-dark .ods-list-coordinator strong,
body.one-ds-modern-page.theme-dark .ods-customer-summary strong,
body.one-ds-modern-page.theme-dark .ods-drawer-section-title span {
    color: #f8fafc !important;
}

body.one-ds-modern-page.theme-dark .ods-list-title span,
body.one-ds-modern-page.theme-dark .ods-list-count,
body.one-ds-modern-page.theme-dark .ods-list-appointment-cell span,
body.one-ds-modern-page.theme-dark .ods-list-appointment-cell small,
body.one-ds-modern-page.theme-dark .ods-list-datetime span,
body.one-ds-modern-page.theme-dark .ods-list-coordinator small,
body.one-ds-modern-page.theme-dark .ods-customer-summary span:not(.ods-summary-accent),
body.one-ds-modern-page.theme-dark .ods-customer-summary small {
    color: #a9b7c8 !important;
}

body.one-ds-modern-page.theme-dark .ods-appointment-list-table thead th {
    color: #aebcd0 !important;
}

body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody tr:hover td {
    border-color: #3f536c !important;
    background: #263449 !important;
}

body.one-ds-modern-page.theme-dark .ods-row-action {
    border-color: #405065;
    color: #cbd5e1;
    background: #172033;
}

body.one-ds-modern-page.theme-dark .ods-service-pill {
    color: #d4deea;
    background: #334155;
}

body.one-ds-modern-page.theme-dark .ods-service-pill.is-delivery {
    color: #8dcbff;
    background: rgba(33,150,243,.17);
}

body.one-ds-modern-page.theme-dark .ods-service-pill.is-service {
    color: #c5b7ff;
    background: rgba(139,92,246,.18);
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .modal-content,
body.one-ds-modern-page.theme-dark .ods-modern-drawer-body {
    background: #111827 !important;
}

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .modal-header,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .modal-footer {
    border-color: #334155 !important;
    background: #1f2937 !important;
}

body.one-ds-modern-page.theme-dark .ods-drawer-section .form-group > label,
body.one-ds-modern-page.theme-dark .ods-manager-override > label,
body.one-ds-modern-page.theme-dark .ods-notes-field > label,
body.one-ds-modern-page.theme-dark .ods-status-control > label {
    color: #becbdd !important;
}

body.one-ds-modern-page.theme-dark .ods-delivery-segments > label.btn,
body.one-ds-modern-page.theme-dark .ods-service-grid > label.btn,
body.one-ds-modern-page.theme-dark .ods-status-control .btn {
    border-color: #405065 !important;
    color: #d7e1ed !important;
    background: #172033 !important;
}

body.one-ds-modern-page.theme-dark .ods-service-grid > label.btn.active {
    border-color: #38bdf8 !important;
    color: #8fd2ff !important;
    background: rgba(33, 150, 243, .16) !important;
}

body.one-ds-modern-page.theme-dark .ods-coordinator-status {
    background: #172033 !important;
}

@media (max-width: 1180px) {
    body.one-ds-modern-page .ods-service-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
    body.one-ds-modern-page .ods-drawer-grid.two,
    body.one-ds-modern-page .ods-drawer-grid.three,
    body.one-ds-modern-page .ods-status-grid { grid-template-columns: 1fr; }
    body.one-ds-modern-page .ods-delivery-segments { grid-template-columns: 1fr; }
    body.one-ds-modern-page .ods-service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
body.one-ds-modern-page .ods-appointment-list-table tbody td.ods-appointment-primary-td {
    position: relative;
    border-left: 1px solid #e4ebf3 !important;
    border-radius: 12px 0 0 12px;
}
body.one-ds-modern-page .ods-appointment-list-table tbody td.ods-appointment-primary-td::before {
    content: '';
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: -1px;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: var(--appointment-row-accent);
}
body.one-ds-modern-page .ods-appointment-list-table tbody td.ods-actions-td {
    border-right: 1px solid #e4ebf3 !important;
    border-radius: 0 12px 12px 0;
}
body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody td.ods-appointment-primary-td,
body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody td.ods-actions-td {
    border-color: #334155 !important;
}

/* ========================================================================== */
/* ORIGINAL 1DS - APPOINTMENTS UX / READABILITY HOTFIX (2026-08-19 BATCH 3)  */
/* ========================================================================== */

/* Slightly larger type throughout the Appointment workspace. Keep the
   approved calendar geometry intact while improving desktop readability. */
body.one-ds-modern-page .ods-appointments-sidebar-heading h1 { font-size: 17.5px !important; }
body.one-ds-modern-page .ods-appointments-sidebar-heading p { font-size: 11.5px !important; }
body.one-ds-modern-page .ods-appointments-nav-link { font-size: 12.5px !important; }
body.one-ds-modern-page .ods-appointments-filter-heading,
body.one-ds-modern-page .ods-filter-reset { font-size: 10.5px !important; }
body.one-ds-modern-page .ods-appointments-filter-group label,
body.one-ds-modern-page .ods-appointments-sidebar-search label { font-size: 11.5px !important; }
body.one-ds-modern-page .ods-appointments-filter-group .form-control,
body.one-ds-modern-page .ods-search-control .form-control { font-size: 12px !important; }
body.one-ds-modern-page .ods-appointments-topline h2 { font-size: 21px !important; }
body.one-ds-modern-page .ods-appointments-topline p { font-size: 12.5px !important; }
body.one-ds-modern-page .ods-primary-action { font-size: 12.5px !important; }
body.one-ds-modern-page .ods-kpi-label { font-size: 11.5px !important; }
body.one-ds-modern-page .ods-appointment-kpi small { font-size: 10.5px !important; }

/* Smart-list toolbar / actions */
body.one-ds-modern-page .ods-list-toolbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    flex-wrap: wrap;
}
body.one-ds-modern-page .ods-list-title strong { font-size: 14px !important; }
body.one-ds-modern-page .ods-list-title span,
body.one-ds-modern-page .ods-list-count { font-size: 10.5px !important; }
body.one-ds-modern-page .ods-list-tool-btn {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #dce6f0;
    border-radius: 9px;
    color: #526177;
    background: #fff;
    font-size: 11px;
    font-weight: 780;
    cursor: pointer;
    transition: .16s ease;
}
body.one-ds-modern-page .ods-list-tool-btn:hover {
    border-color: #a9cff0;
    color: #147fdc;
    background: #f2f8ff;
}
body.one-ds-modern-page .ods-list-tool-btn.is-loading { opacity: .62; pointer-events: none; }

body.one-ds-modern-page .ods-sort-button {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: inherit;
    letter-spacing: inherit;
    text-transform: inherit;
    cursor: pointer;
}
body.one-ds-modern-page .ods-sort-button i { color: #a0adbd; font-size: 9px; }
body.one-ds-modern-page .ods-sort-button.is-active { color: #177fd9; }
body.one-ds-modern-page .ods-sort-button.is-asc i::before { content: '\f0de'; }
body.one-ds-modern-page .ods-sort-button.is-desc i::before { content: '\f0dd'; }

/* Larger list typography without making the rows bulky. */
body.one-ds-modern-page .ods-appointment-list-table thead th { font-size: 10px !important; }
body.one-ds-modern-page .ods-appointment-list-table tbody td { font-size: 11px !important; }
body.one-ds-modern-page .ods-list-appointment-cell strong,
body.one-ds-modern-page .ods-list-datetime strong,
body.one-ds-modern-page .ods-list-coordinator strong { font-size: 11.8px !important; }
body.one-ds-modern-page .ods-list-appointment-cell span,
body.one-ds-modern-page .ods-list-appointment-cell small,
body.one-ds-modern-page .ods-list-datetime span { font-size: 10.2px !important; }
body.one-ds-modern-page .ods-list-coordinator {
    grid-template-columns: 31px minmax(0, 1fr);
    grid-template-rows: 1fr;
}
body.one-ds-modern-page .ods-list-coordinator strong {
    align-self: center;
    margin: 0;
}
body.one-ds-modern-page .ods-coordinator-avatar { width: 29px; height: 29px; font-size: 9px; }
body.one-ds-modern-page .ods-service-pill,
body.one-ds-modern-page .ods-status-pill,
body.one-ds-modern-page .ods-service-more { font-size: 9.5px !important; }
body.one-ds-modern-page .ods-list-note,
body.one-ds-modern-page .ods-list-note-empty { font-size: 10.5px; }

/* Whole permitted row is the Edit action; remove the redundant edit pencil. */
body.one-ds-modern-page .ods-appointment-list-table tbody tr.is-editable { cursor: pointer; }
body.one-ds-modern-page .ods-appointment-list-table tbody tr.is-editable:hover td {
    border-color: #b9daf6 !important;
    background: #f8fbff !important;
}
body.one-ds-modern-page .ods-appointment-list-table tbody tr.is-editable:focus-within td {
    border-color: #2196f3 !important;
}

/* Manager approval is an explicit, attributable action rather than a checkbox. */
body.one-ds-modern-page .ods-manager-approval-wrap { min-width: 0; }
body.one-ds-modern-page .ods-manager-approval-box {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr) 22px;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 44px;
    padding: 7px 9px;
    border: 1px solid #dce6f0;
    border-radius: 10px;
    color: #46566b;
    background: #fbfdff;
    text-align: left;
    cursor: pointer;
    transition: .16s ease;
}
body.one-ds-modern-page .ods-manager-approval-icon {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    color: #64748b;
    background: #eef3f8;
}
body.one-ds-modern-page .ods-manager-approval-copy {
    display: flex;
    min-width: 0;
    flex-direction: column;
}
body.one-ds-modern-page .ods-manager-approval-copy strong {
    color: #334155;
    font-size: 11.5px;
    font-weight: 820;
}
body.one-ds-modern-page .ods-manager-approval-copy small {
    overflow: hidden;
    margin-top: 1px;
    color: #7b899c;
    font-size: 10px;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-manager-approval-state {
    color: #9aa8b9;
    text-align: center;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required {
    border-color: #93c5fd;
    color: #147bd1;
    background: #f0f8ff;
    box-shadow: inset 3px 0 0 #2196f3;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-icon {
    color: #147bd1;
    background: #dcefff;
}
body.one-ds-modern-page .ods-manager-approval-box.is-approved {
    border-color: #a7e5bf;
    background: #effbf4;
    box-shadow: inset 3px 0 0 #22c55e;
}
body.one-ds-modern-page .ods-manager-approval-box.is-approved .ods-manager-approval-icon,
body.one-ds-modern-page .ods-manager-approval-box.is-approved .ods-manager-approval-state { color: #159447; }
body.one-ds-modern-page .ods-manager-approval-box.is-disabled { cursor: default; opacity: .80; }
body.one-ds-modern-page .ods-manager-approval-box.is-loading { opacity: .58; pointer-events: none; }
body.one-ds-modern-page .ods-approval-pill {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 5px 10px;
    border: 1px solid #2196f3;
    border-radius: 999px;
    color: #fff;
    background: linear-gradient(135deg, #38bdf8, #2196f3);
    font-size: 9.5px;
    font-weight: 820;
    cursor: pointer;
}
body.one-ds-modern-page .ods-status-pill.is-approval {
    color: #8a6113;
    background: #fff5d9;
}

/* Smart autoload: no traditional page count or second vertical scrollbar. */
body.one-ds-modern-page .ods-smart-load-status {
    min-height: 8px;
    padding: 0 16px 10px;
    color: #7a899c;
    font-size: 10.5px;
    font-weight: 680;
    text-align: center;
}
body.one-ds-modern-page .ods-smart-load-status.is-loading { padding-top: 8px; }
body.one-ds-modern-page .ods-list-empty {
    padding: 28px !important;
    border: 0 !important;
    color: #7b899c !important;
    background: transparent !important;
    text-align: center;
}
body.one-ds-modern-page .ods-dt-footer { display: none !important; }

/* Drawer: remove the blank loader reservation as soon as loading finishes. */
body.one-ds-modern-page .ods-edit-loading { padding: 28px 0 !important; min-height: 0 !important; }
body.one-ds-modern-page .ods-edit-loading.d-none {
    display: none !important;
    min-height: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Drawer readability + stronger approved visual hierarchy. */
body.one-ds-modern-page .ods-appointment-drawer .modal-header .modal-title { font-size: 18px !important; font-weight: 860 !important; }
body.one-ds-modern-page .ods-drawer-subtitle { font-size: 10.5px !important; }
body.one-ds-modern-page .ods-customer-summary strong { font-size: 14px !important; }
body.one-ds-modern-page .ods-customer-summary span:not(.ods-summary-accent),
body.one-ds-modern-page .ods-customer-summary small { font-size: 10.5px !important; }
body.one-ds-modern-page .ods-drawer-section-title span { font-size: 11.5px !important; }
body.one-ds-modern-page .ods-drawer-section-title small { font-size: 9.5px !important; }
body.one-ds-modern-page .ods-drawer-section .form-group > label,
body.one-ds-modern-page .ods-manager-approval-wrap > label,
body.one-ds-modern-page .ods-notes-field > label,
body.one-ds-modern-page .ods-status-control > label { font-size: 10.5px !important; }
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .form-control,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .input-group-text { font-size: 10.8px !important; }
body.one-ds-modern-page .ods-delivery-segments > label.btn { font-size: 10px !important; }
body.one-ds-modern-page .ods-service-grid > label.btn { font-size: 9.5px !important; }
body.one-ds-modern-page .ods-status-control .btn { font-size: 10px !important; }
body.one-ds-modern-page .ods-appointment-drawer .modal-footer .btn { font-size: 11.5px !important; font-weight: 780 !important; }

/* Dark mode parity for the new controls. */
body.one-ds-modern-page.theme-dark .ods-list-tool-btn,
body.one-ds-modern-page.theme-dark .ods-manager-approval-box {
    border-color: #405065;
    color: #d5dfeb;
    background: #172033;
}
body.one-ds-modern-page.theme-dark .ods-list-tool-btn:hover {
    border-color: #3b82f6;
    color: #8fd2ff;
    background: #1d2b41;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-copy strong { color: #f3f7fb; }
body.one-ds-modern-page.theme-dark .ods-manager-approval-copy small { color: #9fb0c3; }
body.one-ds-modern-page.theme-dark .ods-manager-approval-icon { background: #243248; }
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required {
    border-color: #3b82f6;
    background: rgba(33, 150, 243, .12);
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-approved {
    border-color: #239653;
    background: rgba(34, 197, 94, .12);
}
body.one-ds-modern-page.theme-dark .ods-approval-pill {
    border-color: #38bdf8;
    background: linear-gradient(135deg, #38bdf8, #2196f3);
}
body.one-ds-modern-page.theme-dark .ods-smart-load-status,
body.one-ds-modern-page.theme-dark .ods-list-empty { color: #9eafc3 !important; }

/* ========================================================================== */
/* ORIGINAL 1DS - APPOINTMENTS BATCH 4 (2026-08-19)                          */
/* ========================================================================== */

/* The Appointments sidebar now starts with navigation. The page title already
   lives in the main content, so do not repeat it in the sidebar. */
body.one-ds-modern-page .ods-appointments-sidebar {
    padding-top: 14px !important;
}
body.one-ds-modern-page .ods-appointments-sidebar > .ods-appointments-nav:first-child {
    margin-top: 0 !important;
}

/* Appointment KPI cards use a slim semantic edge for faster scanning. */
body.one-ds-modern-page .ods-appointment-kpi {
    position: relative;
    overflow: hidden;
    border-left-width: 4px !important;
}
body.one-ds-modern-page .ods-appointment-kpi.is-blue { border-left-color: #2196f3 !important; }
body.one-ds-modern-page .ods-appointment-kpi.is-green { border-left-color: #22c55e !important; }
body.one-ds-modern-page .ods-appointment-kpi.is-purple { border-left-color: #8b5cf6 !important; }
body.one-ds-modern-page .ods-appointment-kpi.is-teal { border-left-color: #14b8a6 !important; }
body.one-ds-modern-page .ods-appointment-kpi.is-orange { border-left-color: #f59e0b !important; }
body.one-ds-modern-page .ods-appointment-kpi.is-slate { border-left-color: #64748b !important; }
body.one-ds-modern-page .ods-kpi-icon.is-orange { color: #d97706; background: #fff3d6; }
body.one-ds-modern-page .ods-kpi-icon.is-slate { color: #526177; background: #eef2f7; }
body.one-ds-modern-page .ods-appointment-kpis:has(.ods-delivery-count-kpi) {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

/* Larger calendar toolbar / date / event / Upcoming typography. */
body.one-ds-modern-page .ods-calendar-today,
body.one-ds-modern-page .ods-calendar-arrow,
body.one-ds-modern-page .ods-view-btn {
    font-size: 12.5px !important;
    font-weight: 800 !important;
}
body.one-ds-modern-page .ods-calendar-range-wrap .render-range {
    font-size: 13.5px !important;
    font-weight: 850 !important;
}
body.one-ds-modern-page .ods-upcoming-header h3 {
    font-size: 15px !important;
}
body.one-ds-modern-page .ods-upcoming-header span,
body.one-ds-modern-page .ods-upcoming-header a {
    font-size: 11px !important;
}
body.one-ds-modern-page .ods-upcoming-copy strong {
    font-size: 12px !important;
}
body.one-ds-modern-page .ods-upcoming-copy span,
body.one-ds-modern-page .ods-upcoming-copy small {
    font-size: 10.5px !important;
}
body.one-ds-modern-page .ods-upcoming-responsible {
    color: #60738a !important;
    font-weight: 700 !important;
}
body.one-ds-modern-page .tui-full-calendar-timegrid-timezone,
body.one-ds-modern-page .tui-full-calendar-timegrid-hour,
body.one-ds-modern-page .tui-full-calendar-dayname-date,
body.one-ds-modern-page .tui-full-calendar-dayname-name {
    font-size: 11.5px !important;
}
body.one-ds-modern-page .ods-calendar-event-copy {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    padding: 1px 2px;
    line-height: 1.12;
}
body.one-ds-modern-page .ods-calendar-event-copy strong {
    overflow: hidden;
    font-size: 11px !important;
    font-weight: 850 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-calendar-event-copy small {
    overflow: hidden;
    margin-top: 2px;
    font-size: 8.8px !important;
    font-weight: 700 !important;
    opacity: .90;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Larger List View type while keeping the approved compact row height. */
body.one-ds-modern-page .ods-appointment-list-table {
    min-width: 1080px;
}
body.one-ds-modern-page .ods-appointment-list-table thead th {
    font-size: 11px !important;
}
body.one-ds-modern-page .ods-appointment-list-table tbody td {
    height: 70px;
    font-size: 12px !important;
}
body.one-ds-modern-page .ods-list-appointment-cell strong,
body.one-ds-modern-page .ods-list-datetime strong,
body.one-ds-modern-page .ods-list-coordinator strong,
body.one-ds-modern-page .ods-list-responsible {
    font-size: 13px !important;
}
body.one-ds-modern-page .ods-list-appointment-cell span,
body.one-ds-modern-page .ods-list-appointment-cell small,
body.one-ds-modern-page .ods-list-datetime span {
    font-size: 11px !important;
}
body.one-ds-modern-page .ods-list-responsible {
    display: block;
    overflow: hidden;
    color: #334155;
    font-weight: 760;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-service-pill,
body.one-ds-modern-page .ods-status-pill,
body.one-ds-modern-page .ods-service-more,
body.one-ds-modern-page .ods-approval-pill {
    font-size: 10.8px !important;
}
body.one-ds-modern-page .ods-list-note,
body.one-ds-modern-page .ods-list-note-empty {
    font-size: 11.5px !important;
}
body.one-ds-modern-page .ods-list-tool-btn,
body.one-ds-modern-page .ods-list-count,
body.one-ds-modern-page .ods-smart-load-status {
    font-size: 11.5px !important;
}

/* Add/Edit drawer: no inner scrollbar on normal desktop screens. The content
   is intentionally compacted so the footer remains visible at all times. */
body.one-ds-modern-page .ods-appointment-drawer {
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-dialog {
    width: min(660px, 94vw);
    max-width: 660px !important;
    height: 100vh;
    min-height: 0;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-content {
    display: flex;
    height: 100vh;
    min-height: 0 !important;
    max-height: 100vh;
    flex-direction: column;
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-appointment-drawer form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-header {
    min-height: 62px;
    padding: 11px 18px !important;
    flex: 0 0 auto;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-body,
body.one-ds-modern-page .ods-appointment-drawer .ods-modern-drawer-body {
    min-height: 0;
    padding: 8px 12px 6px !important;
    flex: 1 1 auto;
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-appointment-drawer .showResult {
    height: auto;
    overflow: visible !important;
}
body.one-ds-modern-page .ods-drawer-section,
body.one-ds-modern-page .ods-customer-summary {
    margin-bottom: 6px;
    padding: 8px 10px;
    border-radius: 12px;
}
body.one-ds-modern-page .ods-customer-summary {
    min-height: 58px;
    padding-left: 16px;
}
body.one-ds-modern-page .ods-summary-accent {
    top: 9px;
    bottom: 9px;
}
body.one-ds-modern-page .ods-drawer-section-title {
    margin-bottom: 5px;
}
body.one-ds-modern-page .ods-drawer-section .form-group {
    margin-bottom: 5px;
}
body.one-ds-modern-page .ods-drawer-grid {
    gap: 6px;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .form-control,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .input-group-text {
    min-height: 32px !important;
    height: 32px !important;
    font-size: 11.5px !important;
}
body.one-ds-modern-page .ods-drawer-section .form-group > label,
body.one-ds-modern-page .ods-manager-approval-wrap > label,
body.one-ds-modern-page .ods-notes-field > label,
body.one-ds-modern-page .ods-status-control > label {
    margin-bottom: 2px !important;
    font-size: 11px !important;
}
body.one-ds-modern-page .ods-drawer-section-title span {
    font-size: 12.5px !important;
}
body.one-ds-modern-page .ods-drawer-section-title small {
    font-size: 10px !important;
}
body.one-ds-modern-page .ods-delivery-segments > label.btn {
    min-height: 34px;
    padding: 5px 7px !important;
    font-size: 10.8px !important;
}
body.one-ds-modern-page .ods-service-grid {
    gap: 5px;
}
body.one-ds-modern-page .ods-service-grid > label.btn {
    min-height: 43px;
    padding: 5px !important;
    gap: 3px;
    font-size: 10px !important;
}
body.one-ds-modern-page .ods-service-grid > label.btn i {
    font-size: 12px;
}
body.one-ds-modern-page .ods-notes-field {
    margin-top: 5px;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section textarea.form-control {
    min-height: 42px !important;
    height: 42px !important;
}
body.one-ds-modern-page .ods-status-grid {
    gap: 10px;
}
body.one-ds-modern-page .ods-status-control {
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 5px;
}
body.one-ds-modern-page .ods-status-control .btn {
    min-height: 28px;
    font-size: 10.5px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-footer {
    min-height: 52px;
    padding: 8px 14px !important;
    flex: 0 0 auto;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-footer .btn {
    min-height: 32px;
    font-size: 11.5px !important;
}
body.one-ds-modern-page .ods-manager-approval-box {
    min-height: 38px;
    padding: 4px 7px;
}
body.one-ds-modern-page .ods-manager-approval-icon {
    width: 27px;
    height: 27px;
}

/* Sold Logs uses the same appointment visual language without changing the
   rest of the Sold Logs page. */
.ods-soldlog-appointment-drawer {
    padding-right: 0 !important;
    overflow: hidden !important;
}
.ods-soldlog-appointment-drawer .modal-dialog {
    width: min(660px, 94vw);
    max-width: 660px !important;
    height: 100vh;
    min-height: 0;
    margin: 0 0 0 auto;
    transform: translateX(38px) !important;
}
.ods-soldlog-appointment-drawer.show .modal-dialog { transform: translateX(0) !important; }
.ods-soldlog-appointment-drawer .modal-content {
    display: flex;
    height: 100vh;
    min-height: 0;
    max-height: 100vh;
    flex-direction: column;
    overflow: hidden;
    border: 0 !important;
    border-radius: 18px 0 0 18px !important;
    background: #fbfcfe !important;
    box-shadow: -20px 0 50px rgba(15, 23, 42, .16) !important;
}
.ods-soldlog-appointment-drawer form {
    display: flex;
    min-height: 0;
    flex: 1 1 auto;
    flex-direction: column;
}
.ods-soldlog-appointment-drawer .modal-header {
    min-height: 62px;
    padding: 11px 18px !important;
    flex: 0 0 auto;
    background: #fff;
}
.ods-soldlog-appointment-drawer .modal-title { font-size: 18px !important; font-weight: 860 !important; }
.ods-soldlog-drawer-subtitle { margin: 2px 0 0; color: #7b8799; font-size: 10.5px; font-weight: 650; }
.ods-soldlog-appointment-drawer .modal-body {
    min-height: 0;
    padding: 8px 12px 6px !important;
    flex: 1 1 auto;
    overflow: hidden !important;
}
.ods-soldlog-appointment-drawer .showResult { overflow: visible !important; }
.ods-soldlog-drawer-section {
    margin-bottom: 6px;
    padding: 8px 10px;
    border: 1px solid #e5edf5;
    border-radius: 12px;
    background: #fff;
}
.ods-soldlog-section-title {
    margin-bottom: 5px;
    color: #334155;
    font-size: 12.5px;
    font-weight: 850;
}
.ods-soldlog-section-title.with-helper { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.ods-soldlog-section-title.with-helper small { color: #9aa6b6; font-size: 10px; font-weight: 650; }
.ods-soldlog-section-title.centered { text-align: center; }
.ods-soldlog-drawer-grid { display: grid; gap: 6px; }
.ods-soldlog-drawer-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ods-soldlog-drawer-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ods-soldlog-appointment-drawer .form-group { margin-bottom: 5px; }
.ods-soldlog-appointment-drawer .form-group > label { display: block; margin: 0 0 2px; color: #5f6f84; font-size: 11px; font-weight: 780; }
.ods-soldlog-appointment-drawer .form-control,
.ods-soldlog-appointment-drawer .bootstrap-select > .dropdown-toggle,
.ods-soldlog-appointment-drawer .input-group-text {
    min-height: 32px !important;
    height: 32px !important;
    border: 1px solid #dce6f0 !important;
    border-radius: 9px !important;
    background: #fbfdff !important;
    color: #243247 !important;
    font-size: 11.5px !important;
    box-shadow: none !important;
}
.ods-soldlog-appointment-drawer .input-group .form-control { border-radius: 0 9px 9px 0 !important; }
.ods-soldlog-appointment-drawer .input-group-text { width: 32px; padding: 0; justify-content: center; border-radius: 9px 0 0 9px !important; }
.ods-soldlog-delivery-segments { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; width: 100%; }
.ods-soldlog-delivery-segments > label.btn,
.ods-soldlog-status-control .btn {
    min-height: 32px;
    margin: 0 !important;
    padding: 5px 7px !important;
    border: 1px solid #dce6f0 !important;
    border-radius: 9px !important;
    color: #5b6b80 !important;
    background: #fff !important;
    font-size: 10.8px !important;
    font-weight: 760 !important;
    box-shadow: none !important;
}
.ods-soldlog-delivery-segments > label.btn { display: flex !important; align-items: center; justify-content: center; gap: 6px; }
.ods-soldlog-delivery-segments > label.btn.active,
.ods-soldlog-status-control .btn.active { border-color: #2196f3 !important; color: #fff !important; background: linear-gradient(135deg,#38bdf8,#2196f3) !important; }
.ods-soldlog-service-grid { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; width: 100%; }
.ods-soldlog-service-grid > label.btn {
    position: relative;
    display: flex !important;
    min-height: 43px;
    margin: 0 !important;
    padding: 5px !important;
    align-items: center !important;
    justify-content: center;
    flex-direction: column;
    gap: 3px;
    border: 1px solid #dce6f0 !important;
    border-radius: 10px !important;
    color: #617085 !important;
    background: #fff !important;
    font-size: 9.8px !important;
    font-weight: 720 !important;
}
.ods-soldlog-service-grid > label.btn.active { border-color: #2196f3 !important; color: #1976d2 !important; background: #edf6ff !important; }
.ods-soldlog-notes-field { margin-top: 5px; }
.ods-soldlog-notes-field textarea { min-height: 42px !important; height: 42px !important; resize: none; }
.ods-soldlog-coordinator-status { background: #f8fafc; }
.ods-soldlog-status-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.ods-soldlog-status-control { display: grid; grid-template-columns: 62px minmax(0,1fr); align-items: center; gap: 5px; }
.ods-soldlog-status-control > label { margin: 0; color: #5f6f84; font-size: 11px; font-weight: 780; }
.ods-soldlog-status-control .btn-group { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; }
.ods-soldlog-manager-approval-box {
    display: grid;
    grid-template-columns: 27px minmax(0,1fr) 18px;
    align-items: center;
    gap: 7px;
    width: 100%;
    min-height: 38px;
    padding: 4px 7px;
    border: 1px solid #dce6f0;
    border-radius: 9px;
    color: #46566b;
    background: #fbfdff;
    text-align: left;
}
.ods-soldlog-manager-icon { display: grid; width: 27px; height: 27px; place-items: center; border-radius: 8px; background: #eef3f8; }
.ods-soldlog-manager-copy { display: flex; min-width: 0; flex-direction: column; }
.ods-soldlog-manager-copy strong { font-size: 11px; font-weight: 820; }
.ods-soldlog-manager-copy small { overflow: hidden; color: #7b899c; font-size: 9.7px; text-overflow: ellipsis; white-space: nowrap; }
.ods-soldlog-manager-state { color: #9aa8b9; text-align: center; }
.ods-soldlog-manager-approval-box.is-required { border-color: #93c5fd; background: #f0f8ff; box-shadow: inset 3px 0 0 #2196f3; }
.ods-soldlog-manager-approval-box.is-approved { border-color: #a7e5bf; background: #effbf4; box-shadow: inset 3px 0 0 #22c55e; }
.ods-soldlog-manager-approval-box.is-disabled { cursor: default; opacity: .8; }
.ods-soldlog-appointment-drawer .modal-footer { min-height: 52px; padding: 8px 14px !important; flex: 0 0 auto; background: #fff; }
.ods-soldlog-appointment-drawer .modal-footer .btn { min-height: 32px; border-radius: 9px !important; font-size: 11.5px !important; font-weight: 780 !important; }
.ods-soldlog-appointment-drawer .modal-footer .btn-primary { order: 2; border-color: #2196f3 !important; background: linear-gradient(135deg,#38bdf8,#2196f3) !important; }
.ods-soldlog-appointment-drawer .modal-footer .btn-outline-secondary { order: 1; }
.ods-soldlog-appt-loading { padding: 28px 0; }
.ods-soldlog-appt-loading.d-none { display: none !important; height: 0; margin: 0; padding: 0; }

body.theme-dark .ods-soldlog-appointment-drawer .modal-content,
body.theme-dark .ods-soldlog-appointment-drawer .modal-header,
body.theme-dark .ods-soldlog-appointment-drawer .modal-footer,
body.theme-dark .ods-soldlog-drawer-section { background: #1f2937 !important; border-color: #374151 !important; }
body.theme-dark .ods-soldlog-section-title,
body.theme-dark .ods-soldlog-manager-copy strong { color: #f8fafc; }
body.theme-dark .ods-soldlog-appointment-drawer .form-control,
body.theme-dark .ods-soldlog-appointment-drawer .bootstrap-select > .dropdown-toggle,
body.theme-dark .ods-soldlog-appointment-drawer .input-group-text,
body.theme-dark .ods-soldlog-delivery-segments > label.btn,
body.theme-dark .ods-soldlog-service-grid > label.btn,
body.theme-dark .ods-soldlog-status-control .btn,
body.theme-dark .ods-soldlog-manager-approval-box { color: #f8fafc !important; border-color: #4b5563 !important; background: #172033 !important; }
body.theme-dark .ods-soldlog-coordinator-status { background: #172033; }

@media (max-width: 1500px) {
    body.one-ds-modern-page .ods-appointment-kpis:has(.ods-delivery-count-kpi) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* ========================================================================== */
/* ORIGINAL 1DS - APPOINTMENTS BATCH 5 (2026-08-19)                          */
/* ========================================================================== */

:root {
    --ods-upcoming-width: 220px;
    --ods-appointment-font-scale: 1;
}

/* Calendar / Upcoming split is user-resizable. */
body.one-ds-modern-page .ods-calendar-content-grid {
    grid-template-columns: minmax(0, 1fr) 7px var(--ods-upcoming-width) !important;
}
body.one-ds-modern-page .ods-calendar-stage {
    border-right: 0 !important;
    padding-right: 5px !important;
}
body.one-ds-modern-page .ods-calendar-splitter {
    position: relative;
    z-index: 8;
    width: 7px;
    min-width: 7px;
    cursor: col-resize;
    touch-action: none;
    background: transparent;
}
body.one-ds-modern-page .ods-calendar-splitter::before {
    content: "";
    position: absolute;
    inset: 0 2px;
    background: #e4eaf2;
    transition: background .15s ease, box-shadow .15s ease;
}
body.one-ds-modern-page .ods-calendar-splitter span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 34px;
    transform: translate(-50%, -50%);
    border-radius: 999px;
    background: #b8c5d5;
}
body.one-ds-modern-page .ods-calendar-splitter:hover::before,
body.one-ds-modern-page .ods-calendar-splitter.is-dragging::before,
body.one-ds-modern-page .ods-calendar-splitter:focus::before {
    background: #b8dcfb;
    box-shadow: 0 0 0 1px rgba(33,150,243,.18);
}
body.one-ds-modern-page.theme-dark .ods-calendar-splitter::before { background: #334155; }
body.one-ds-modern-page.theme-dark .ods-calendar-splitter span { background: #718096; }

/* Font sizing controls persist per logged-in user. */
body.one-ds-modern-page .ods-calendar-toolbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
}
body.one-ds-modern-page .ods-calendar-font-controls {
    display: inline-flex;
    height: 31px;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid #dce6f0;
    border-radius: 9px;
    background: #f7fafe;
}
body.one-ds-modern-page .ods-font-btn {
    width: 31px;
    height: 25px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    color: #176eb7;
    background: #fff;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}
body.one-ds-modern-page .ods-font-value {
    min-width: 40px;
    color: #64748b;
    font-size: 9px;
    font-weight: 800;
    text-align: center;
}
body.one-ds-modern-page.theme-dark .ods-calendar-font-controls { border-color:#3b4758; background:#111827; }
body.one-ds-modern-page.theme-dark .ods-font-btn { color:#7dd3fc; background:#1f2937; }
body.one-ds-modern-page.theme-dark .ods-font-value { color:#cbd5e1; }

/* One font preference scales Calendar and Upcoming together. */
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-timezone,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-hour,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-name {
    font-size: calc(11.5px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-date-area,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-date {
    font-size: calc(13px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-calendar-event-copy strong {
    font-size: calc(11.8px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-calendar-event-copy small {
    font-size: calc(9.8px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-upcoming-header h3 {
    font-size: calc(15px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-upcoming-header span,
body.one-ds-modern-page .ods-upcoming-header a {
    font-size: calc(11px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-upcoming-copy strong {
    font-size: calc(12.5px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-upcoming-copy span,
body.one-ds-modern-page .ods-upcoming-copy small {
    font-size: calc(11px * var(--ods-appointment-font-scale)) !important;
}
body.one-ds-modern-page .ods-upcoming-responsible {
    color: #53677f !important;
    font-weight: 760 !important;
}

/* Additional Services: exactly four primary services + full-width Other. */
body.one-ds-modern-page .ods-service-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}
body.one-ds-modern-page .ods-service-grid > label.btn.ods-service-other {
    grid-column: 1 / -1;
    min-height: 34px !important;
    flex-direction: row !important;
}

/* Add/Edit drawer icon palette: restrained color, same 1DS hierarchy. */
body.one-ds-modern-page .ods-appointment-drawer .input-group-text .fa-calendar,
body.one-ds-modern-page .ods-appointment-drawer .fa-calendar-check { color: #1687e8 !important; }
body.one-ds-modern-page .ods-appointment-drawer .input-group-text .fa-clock { color: #16a34a !important; }
body.one-ds-modern-page .ods-appointment-drawer .fa-map-marker-alt { color: #8b5cf6; }
body.one-ds-modern-page .ods-appointment-drawer .fa-truck { color: #f59e0b; }
body.one-ds-modern-page .ods-appointment-drawer .fa-user-shield { color: #7c3aed !important; }
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn:nth-child(1) i { color:#0ea5e9; }
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn:nth-child(2) i { color:#f59e0b; }
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn:nth-child(3) i { color:#8b5cf6; }
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn:nth-child(4) i { color:#14b8a6; }
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn.ods-service-other i { color:#64748b; }
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn.active i { color:#1687e8 !important; }

/* No drawer scrollbar on normal desktop. Compress instead of nesting scroll. */
body.one-ds-modern-page .ods-appointment-drawer.modal,
body.one-ds-modern-page .ods-appointment-drawer .modal-dialog,
body.one-ds-modern-page .ods-appointment-drawer .modal-content,
body.one-ds-modern-page .ods-appointment-drawer form,
body.one-ds-modern-page .ods-appointment-drawer .modal-body {
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-header {
    min-height: 54px !important;
    padding: 8px 16px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-body,
body.one-ds-modern-page .ods-appointment-drawer .ods-modern-drawer-body {
    padding: 6px 10px 4px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section,
body.one-ds-modern-page .ods-appointment-drawer .ods-customer-summary {
    margin-bottom: 5px !important;
    padding: 6px 9px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section-title {
    margin-bottom: 3px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .form-group {
    margin-bottom: 3px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-grid { gap: 5px !important; }
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .form-control,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section .input-group-text {
    min-height: 29px !important;
    height: 29px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-delivery-segments > label.btn {
    min-height: 31px !important;
    padding: 4px 6px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn {
    min-height: 36px !important;
    padding: 4px !important;
    gap: 2px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn i { font-size: 12px !important; }
body.one-ds-modern-page .ods-appointment-drawer .ods-notes-field { margin-top: 3px !important; }
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section textarea.form-control {
    min-height: 34px !important;
    height: 34px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-status-control .btn {
    min-height: 26px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-footer {
    min-height: 46px !important;
    padding: 6px 12px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .modal-footer .btn {
    min-height: 30px !important;
}

@media (max-width: 1180px) {
    body.one-ds-modern-page .ods-calendar-content-grid {
        grid-template-columns: minmax(0, 1fr) 6px minmax(185px, var(--ods-upcoming-width)) !important;
    }
}


/* ========================================================================== 
   APPOINTMENTS BATCH 6 - approved compact Header Card (Concept A)
   ========================================================================== */
body.one-ds-modern-page .ods-compact-customer-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(180px, .75fr);
    gap: 10px;
    padding: 10px 11px;
    border: 1px solid #d9e6f3;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(15, 23, 42, .035);
}
body.one-ds-modern-page .ods-compact-customer-card .ods-summary-accent {
    position: absolute;
    top: 10px;
    bottom: 10px;
    left: 0;
    width: 3px;
    border-radius: 0 5px 5px 0;
    background: #8b5cf6;
}
body.one-ds-modern-page .ods-compact-card-heading {
    display:flex;
    align-items:center;
    gap:7px;
    margin-bottom:4px;
    color:#3b4a60;
    font-size:11px;
    font-weight:850;
}
body.one-ds-modern-page .ods-compact-avatar {
    display:inline-flex;
    width:25px;
    height:25px;
    align-items:center;
    justify-content:center;
    border-radius:8px;
    color:#1687e8;
    background:#eaf5ff;
}
body.one-ds-modern-page .ods-compact-selected-customer {
    display:flex;
    min-width:0;
    flex-direction:column;
    padding:2px 1px 5px;
}
body.one-ds-modern-page .ods-compact-selected-customer strong {
    color:#111827;
    font-size:13.5px;
    font-weight:900;
    line-height:1.15;
}
body.one-ds-modern-page .ods-compact-selected-customer span,
body.one-ds-modern-page .ods-compact-selected-customer small {
    margin-top:2px;
    color:#5f7085;
    font-size:10.2px;
    font-weight:720;
    line-height:1.15;
    overflow-wrap:anywhere;
}
body.one-ds-modern-page .ods-compact-stock-select { margin:2px 0 0 !important; }
body.one-ds-modern-page .ods-compact-stock-select label {
    margin-bottom:2px !important;
    color:#64748b !important;
    font-size:9.8px !important;
}
body.one-ds-modern-page .ods-compact-stock-select .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-compact-stock-select select.form-control {
    min-height:31px !important;
    height:31px !important;
    border-radius:9px !important;
    font-size:10.5px !important;
}
body.one-ds-modern-page .ods-compact-customer-info {
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:7px;
    padding-left:8px;
    border-left:1px solid #edf2f7;
}
body.one-ds-modern-page .ods-compact-info-item { display:flex; flex-direction:column; gap:1px; }
body.one-ds-modern-page .ods-compact-info-item span {
    color:#7a8798;
    font-size:9.2px;
    font-weight:780;
}
body.one-ds-modern-page .ods-compact-info-item strong {
    overflow:hidden;
    color:#27364a;
    font-size:10.5px;
    font-weight:820;
    text-overflow:ellipsis;
    white-space:nowrap;
}
body.one-ds-modern-page .ods-compact-approval label { display:none !important; }
body.one-ds-modern-page .ods-compact-approval .ods-manager-approval-box {
    min-height:38px !important;
    padding:6px 8px !important;
}
body.one-ds-modern-page .ods-compact-approval .ods-manager-approval-icon {
    width:26px !important;
    height:26px !important;
}
body.one-ds-modern-page .ods-compact-approval .ods-manager-approval-copy strong { font-size:10.5px !important; }
body.one-ds-modern-page .ods-compact-approval .ods-manager-approval-copy small { font-size:9px !important; }

/* Full Stock + VIN visibility in List View. */
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-appointment { width: 20%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-datetime { width: 11%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-coordinator { width: 12%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-responsible { width: 12%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-service { width: 13%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-status { width: 11%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-notes { width: 17%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-action { width: 4%; }
body.one-ds-modern-page .ods-appointment-list-table tbody td { height: 78px; }
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-stock-line,
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-vin-line {
    display:block;
    overflow:visible;
    max-width:100%;
    margin-top:1px;
    color:#64748b;
    font-size:10.5px !important;
    font-weight:700;
    line-height:1.1;
    text-overflow:clip;
    white-space:nowrap;
}
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-vin-line {
    color:#53677f;
    letter-spacing:.01em;
}

/* Add Appointment action: calendar icon instead of generic plus. */
body.one-ds-modern-page .ods-primary-action > i.fa-calendar { font-size:14px; }

body.one-ds-modern-page.theme-dark .ods-compact-customer-card {
    border-color:#3b4758;
    background:#1f2937;
    box-shadow:0 10px 24px rgba(0,0,0,.16);
}
body.one-ds-modern-page.theme-dark .ods-compact-customer-info { border-left-color:#334155; }
body.one-ds-modern-page.theme-dark .ods-compact-card-heading,
body.one-ds-modern-page.theme-dark .ods-compact-selected-customer strong,
body.one-ds-modern-page.theme-dark .ods-compact-info-item strong { color:#f8fafc; }
body.one-ds-modern-page.theme-dark .ods-compact-selected-customer span,
body.one-ds-modern-page.theme-dark .ods-compact-selected-customer small,
body.one-ds-modern-page.theme-dark .ods-compact-info-item span { color:#cbd5e1; }
body.one-ds-modern-page.theme-dark .ods-compact-avatar { color:#7dd3fc; background:#0f2b43; }

@media (max-width: 1180px) {
    body.one-ds-modern-page .ods-compact-customer-card { grid-template-columns: 1fr; }
    body.one-ds-modern-page .ods-compact-customer-info { padding-left:0; padding-top:7px; border-left:0; border-top:1px solid #edf2f7; }
    body.one-ds-modern-page.theme-dark .ods-compact-customer-info { border-top-color:#334155; }
}

/* ==========================================================================
   APPOINTMENTS BATCH 7 — Multi-select filters + calendar date range + VIN fix
   ========================================================================== */
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select {
    width: 100% !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select > .dropdown-toggle {
    min-height: 36px !important;
    padding: 7px 30px 7px 10px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 11px !important;
    color: #334155 !important;
    background: #ffffff !important;
    box-shadow: none !important;
    font-size: 10.8px !important;
    font-weight: 720 !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select.show > .dropdown-toggle,
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select > .dropdown-toggle:focus {
    border-color: #2196f3 !important;
    box-shadow: 0 0 0 3px rgba(33, 150, 243, .10) !important;
    outline: 0 !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu {
    min-width: 210px !important;
    padding: 7px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 34px rgba(15, 23, 42, .14) !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu li a {
    padding: 7px 9px !important;
    border-radius: 8px;
    font-size: 10.5px !important;
    font-weight: 680;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu li.selected a {
    color: #0b6fcc !important;
    background: #edf6ff !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .bs-actionsbox {
    padding: 3px 3px 7px !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .bs-actionsbox .btn-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5px;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .bs-actionsbox .btn {
    margin: 0 !important;
    padding: 5px 7px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 8px !important;
    color: #52647a !important;
    background: #f8fafc !important;
    font-size: 9px !important;
    font-weight: 760 !important;
}

body.one-ds-modern-page .ods-date-range-filter {
    position: relative;
}
body.one-ds-modern-page .ods-date-quick-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    margin-bottom: 6px;
}
body.one-ds-modern-page .ods-date-quick {
    min-height: 31px;
    padding: 5px 4px;
    border: 1px solid #dbe5f1;
    border-radius: 9px;
    color: #64748b;
    background: #fff;
    font-size: 8.8px;
    font-weight: 760;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-date-quick:hover {
    border-color: #b9d8f6;
    color: #1976d2;
    background: #f7fbff;
}
body.one-ds-modern-page .ods-date-quick.active {
    border-color: #2196f3;
    color: #fff;
    background: linear-gradient(135deg, #38bdf8, #2196f3);
    box-shadow: 0 5px 13px rgba(33, 150, 243, .16);
}
body.one-ds-modern-page .ods-custom-range-trigger {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr) 14px;
    align-items: center;
    min-height: 35px;
    gap: 5px;
    padding: 7px 8px;
    border: 1px solid #dbe5f1;
    border-radius: 10px;
    color: #5f6f84;
    background: #fff;
    cursor: pointer;
    font-size: 10px;
    font-weight: 700;
}
body.one-ds-modern-page .ods-custom-range-trigger > i:first-child {
    color: #2196f3;
}
body.one-ds-modern-page .ods-custom-range-trigger > i:last-child {
    color: #94a3b8;
    font-size: 8px;
    text-align: right;
}
body.one-ds-modern-page .ods-custom-range-trigger.active {
    border-color: #2196f3;
    color: #1976d2;
    background: #f2f8ff;
}
body.one-ds-modern-page .ods-date-range-popover {
    position: absolute;
    z-index: 1060;
    top: calc(100% + 6px);
    left: 0;
    display: none;
    width: 270px;
    padding: 10px;
    border: 1px solid #dbe5f1;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .16);
}
body.one-ds-modern-page .ods-date-range-popover.is-open {
    display: block;
}
body.one-ds-modern-page .ods-date-range-inputs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
}
body.one-ds-modern-page .ods-date-range-inputs label {
    display: block;
    margin: 0 0 4px;
    color: #64748b;
    font-size: 8.5px;
    font-weight: 820;
    text-transform: uppercase;
    letter-spacing: .04em;
}
body.one-ds-modern-page .ods-date-range-inputs .form-control {
    height: 34px !important;
    padding: 6px 8px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 9px !important;
    color: #334155 !important;
    background: #fbfdff !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    cursor: pointer;
}
body.one-ds-modern-page .ods-date-range-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
    margin-top: 9px;
    padding-top: 8px;
    border-top: 1px solid #edf1f5;
}
body.one-ds-modern-page .ods-date-range-clear,
body.one-ds-modern-page .ods-date-range-apply {
    min-height: 30px;
    padding: 5px 9px;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 800;
}
body.one-ds-modern-page .ods-date-range-clear {
    border: 1px solid #dbe5f1;
    color: #64748b;
    background: #fff;
}
body.one-ds-modern-page .ods-date-range-apply {
    border: 1px solid #2196f3;
    color: #fff;
    background: linear-gradient(135deg, #38bdf8, #2196f3);
}

/* Bootstrap-datepicker used by the custom list range. Keep it in the 1DS visual system. */
body.one-ds-modern-page .datepicker-dropdown {
    padding: 8px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 12px !important;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .16) !important;
}
body.one-ds-modern-page .datepicker table tr td,
body.one-ds-modern-page .datepicker table tr th {
    width: 30px !important;
    height: 29px !important;
    border-radius: 7px !important;
    font-size: 10px !important;
}
body.one-ds-modern-page .datepicker table tr td.active,
body.one-ds-modern-page .datepicker table tr td.active:hover,
body.one-ds-modern-page .datepicker table tr td.today.active {
    color: #fff !important;
    background: #2196f3 !important;
}

/* List VIN must always remain fully readable instead of ending in ellipsis. */
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-appointment { width: 23%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-datetime { width: 10%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-coordinator { width: 11%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-responsible { width: 11%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-service { width: 12%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-status { width: 10%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-notes { width: 19%; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-action { width: 4%; }
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-stock-line,
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-vin-line {
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
}
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-vin-line {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-all;
    line-height: 1.18;
}
body.one-ds-modern-page .ods-appointment-list-table tbody td {
    height: auto !important;
    min-height: 78px;
}

body.one-ds-modern-page.theme-dark .ods-multiselect-filter .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page.theme-dark .ods-custom-range-trigger,
body.one-ds-modern-page.theme-dark .ods-date-quick,
body.one-ds-modern-page.theme-dark .ods-date-range-popover,
body.one-ds-modern-page.theme-dark .ods-date-range-inputs .form-control,
body.one-ds-modern-page.theme-dark .ods-date-range-clear,
body.one-ds-modern-page.theme-dark .ods-multiselect-filter .bootstrap-select .dropdown-menu {
    border-color: #3b4758 !important;
    color: #e5edf7 !important;
    background: #1f2937 !important;
}
body.one-ds-modern-page.theme-dark .ods-date-quick.active,
body.one-ds-modern-page.theme-dark .ods-date-range-apply {
    border-color: #38bdf8 !important;
    color: #fff !important;
    background: linear-gradient(135deg, #38bdf8, #2196f3) !important;
}
body.one-ds-modern-page.theme-dark .ods-multiselect-filter .bootstrap-select .dropdown-menu li a {
    color: #dbe7f4 !important;
}
body.one-ds-modern-page.theme-dark .ods-multiselect-filter .bootstrap-select .dropdown-menu li.selected a {
    color: #7dd3fc !important;
    background: #0f2b43 !important;
}
body.one-ds-modern-page.theme-dark .ods-date-range-actions {
    border-top-color: #334155;
}
body.one-ds-modern-page.theme-dark .datepicker-dropdown {
    border-color: #3b4758 !important;
    color: #e5edf7 !important;
    background: #1f2937 !important;
}
body.one-ds-modern-page.theme-dark .datepicker table tr td.day:hover,
body.one-ds-modern-page.theme-dark .datepicker table tr td.focused {
    color: #fff !important;
    background: #273449 !important;
}

/* ========================================================================== 
   APPOINTMENTS BATCH 8 — approved Concept A + S-tier New Appointment + Date menu
   ========================================================================== */

/* Approved Concept A: one compact customer/vehicle header card with no duplicate fields. */
body.one-ds-modern-page .ods-concept-a-card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(185px, .72fr);
    gap: 12px;
    padding: 12px;
    border: 1px solid #dbe7f3;
    border-radius: 15px;
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
    box-shadow: 0 6px 18px rgba(15, 23, 42, .035);
}
body.one-ds-modern-page .ods-concept-a-card .ods-summary-accent {
    position: absolute;
    top: 12px;
    bottom: 12px;
    left: 0;
    width: 3px;
    border-radius: 0 4px 4px 0;
    background: linear-gradient(180deg, #8b5cf6, #6d5dfc);
}
body.one-ds-modern-page .ods-concept-a-main,
body.one-ds-modern-page .ods-concept-a-info { min-width: 0; }
body.one-ds-modern-page .ods-concept-a-kicker {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 7px;
    color: #42536a;
    font-size: 11.5px;
    font-weight: 850;
}
body.one-ds-modern-page .ods-concept-a-search { margin: 0 !important; }
body.one-ds-modern-page .ods-concept-a-search > label {
    margin: 0 0 4px !important;
    color: #697a90 !important;
    font-size: 10.5px !important;
    font-weight: 780 !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select,
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-concept-a-search select.form-control { width: 100% !important; }
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-concept-a-search select.form-control {
    min-height: 36px !important;
    height: 36px !important;
    border: 1px solid #d5e3f1 !important;
    border-radius: 10px !important;
    color: #26384f !important;
    background: #fff !important;
    font-size: 11.5px !important;
    font-weight: 740 !important;
    box-shadow: none !important;
}
body.one-ds-modern-page .ods-concept-a-summary {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 2px 2px 2px 8px;
}
body.one-ds-modern-page .ods-concept-a-card-add .ods-concept-a-summary {
    margin-top: 7px;
    padding: 7px 9px;
    border: 1px solid #edf2f7;
    border-radius: 10px;
    background: #f8fbfe;
}
body.one-ds-modern-page .ods-concept-a-summary strong {
    overflow: hidden;
    color: #101d30;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.12;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-concept-a-summary span,
body.one-ds-modern-page .ods-concept-a-summary small {
    color: #5f7188;
    font-size: 10.7px;
    font-weight: 720;
    line-height: 1.2;
    overflow-wrap: anywhere;
}
body.one-ds-modern-page .ods-concept-a-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    padding-left: 11px;
    border-left: 1px solid #edf2f7;
}
body.one-ds-modern-page .ods-concept-a-info-row {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 1px 2px;
}
body.one-ds-modern-page .ods-concept-a-info-row span {
    color: #7b8898;
    font-size: 9.7px;
    font-weight: 780;
}
body.one-ds-modern-page .ods-concept-a-info-row strong {
    overflow: hidden;
    color: #2d3d51;
    font-size: 11px;
    font-weight: 830;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-concept-a-approval .ods-manager-approval-box {
    min-height: 42px !important;
    padding: 7px 9px !important;
    border-radius: 11px !important;
}
body.one-ds-modern-page .ods-concept-a-change {
    display: inline-flex;
    width: auto;
    align-items: center;
    gap: 6px;
    margin: 6px 0 0 7px;
    padding: 4px 7px;
    border: 0;
    border-radius: 7px;
    color: #4d6a87;
    background: transparent;
    font-size: 9.8px;
    font-weight: 760;
    cursor: pointer;
}
body.one-ds-modern-page .ods-concept-a-change:hover,
body.one-ds-modern-page .ods-concept-a-change.is-open {
    color: #1976d2;
    background: #edf7ff;
}
body.one-ds-modern-page .ods-concept-a-change-wrap {
    margin: 7px 0 0 7px;
    padding-top: 7px;
    border-top: 1px solid #edf2f7;
}

/* Date Range is one premium selector instead of three tiny buttons. */
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select { width: 100% !important; }
body.one-ds-modern-page .ods-date-range-select + .dropdown-toggle,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select > .dropdown-toggle {
    min-height: 38px !important;
    padding: 8px 32px 8px 11px !important;
    border: 1px solid #d7e4f1 !important;
    border-radius: 11px !important;
    color: #31445c !important;
    background: #fff !important;
    font-size: 12.2px !important;
    font-weight: 760 !important;
    box-shadow: none !important;
}
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu {
    padding: 6px !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .14) !important;
}
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu li a {
    padding: 9px 10px !important;
    border-radius: 8px;
    color: #334155 !important;
    font-size: 11.8px !important;
    font-weight: 700 !important;
}
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu li.selected a {
    color: #0b73c9 !important;
    background: #edf7ff !important;
}
body.one-ds-modern-page .ods-custom-date-summary {
    margin-top: 5px;
    padding: 5px 8px;
    border: 1px solid #dbe9f6;
    border-radius: 8px;
    color: #1976d2;
    background: #f5faff;
    font-size: 10.5px;
    font-weight: 760;
    text-align: center;
}
body.one-ds-modern-page .ods-date-range-popover-title {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 9px;
    color: #334155;
    font-size: 11.5px;
    font-weight: 850;
}
body.one-ds-modern-page .ods-date-range-popover-title i { color: #2196f3; }

/* Sidebar filter typography: readable without making the compact rail bulky. */
body.one-ds-modern-page .ods-appointments-filter-heading,
body.one-ds-modern-page .ods-appointments-filter-group > label,
body.one-ds-modern-page .ods-appointments-sidebar-search > label {
    font-size: 11.5px !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointments-sidebar-search .form-control {
    font-size: 12px !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu li a {
    font-size: 11.8px !important;
}

/* New Appointment intentionally looks different from the global blue Record Sale action. */
body.one-ds-modern-page .ods-new-appointment-action {
    display: inline-flex !important;
    min-height: 39px;
    align-items: center;
    gap: 8px;
    padding: 5px 12px 5px 6px !important;
    border: 1px solid #b9dcfa !important;
    border-radius: 12px !important;
    color: #126db2 !important;
    background: linear-gradient(180deg, #ffffff 0%, #f5faff 100%) !important;
    box-shadow: 0 7px 18px rgba(33, 150, 243, .10) !important;
    font-size: 12.2px !important;
    font-weight: 850 !important;
}
body.one-ds-modern-page .ods-new-appointment-icon {
    display: inline-flex;
    width: 29px;
    height: 29px;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #fff;
    background: linear-gradient(135deg, #38bdf8, #2196f3);
    box-shadow: 0 5px 12px rgba(33, 150, 243, .20);
}
body.one-ds-modern-page .ods-new-appointment-action:hover {
    border-color: #7fc5f7 !important;
    color: #075d9e !important;
    background: #edf7ff !important;
    transform: translateY(-1px);
}

/* Never ellipsize Stock/VIN in the Appointment list. */
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-appointment { width: 25% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-datetime { width: 10% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-coordinator { width: 11% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-responsible { width: 10% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-service { width: 11% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-status { width: 10% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-notes { width: 19% !important; }
body.one-ds-modern-page .ods-appointment-list-table col.ods-col-action { width: 4% !important; }
body.one-ds-modern-page .ods-list-appointment-cell {
    max-width: none !important;
    overflow: visible !important;
}
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-stock-line,
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-vin-line {
    display: block !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
    line-height: 1.22 !important;
}
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-stock-line b,
body.one-ds-modern-page .ods-list-appointment-cell .ods-list-vin-line b {
    margin-right: 4px;
    color: #8390a1;
    font-size: 8.8px;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .035em;
}

body.one-ds-modern-page.theme-dark .ods-concept-a-card {
    border-color: #39475a;
    background: linear-gradient(180deg, #1f2937 0%, #1b2533 100%);
}
body.one-ds-modern-page.theme-dark .ods-concept-a-info { border-left-color: #334155; }
body.one-ds-modern-page.theme-dark .ods-concept-a-summary strong,
body.one-ds-modern-page.theme-dark .ods-concept-a-info-row strong,
body.one-ds-modern-page.theme-dark .ods-concept-a-kicker { color: #f8fafc; }
body.one-ds-modern-page.theme-dark .ods-concept-a-summary span,
body.one-ds-modern-page.theme-dark .ods-concept-a-summary small,
body.one-ds-modern-page.theme-dark .ods-concept-a-info-row span { color: #cbd5e1; }
body.one-ds-modern-page.theme-dark .ods-concept-a-card-add .ods-concept-a-summary {
    border-color: #334155;
    background: #172131;
}
body.one-ds-modern-page.theme-dark .ods-concept-a-search .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page.theme-dark .ods-date-range-filter .bootstrap-select > .dropdown-toggle {
    border-color: #3b4758 !important;
    color: #f1f5f9 !important;
    background: #172131 !important;
}
body.one-ds-modern-page.theme-dark .ods-new-appointment-action {
    border-color: #28577a !important;
    color: #9dd8ff !important;
    background: linear-gradient(180deg, #17263a 0%, #142133 100%) !important;
}
body.one-ds-modern-page.theme-dark .ods-custom-date-summary {
    border-color: #28577a;
    color: #7dd3fc;
    background: #10283e;
}
body.one-ds-modern-page.theme-dark .ods-date-range-popover-title { color: #f1f5f9; }

@media (max-width: 1180px) {
    body.one-ds-modern-page .ods-concept-a-card { grid-template-columns: 1fr; }
    body.one-ds-modern-page .ods-concept-a-info { padding-left: 0; padding-top: 8px; border-left: 0; border-top: 1px solid #edf2f7; }
    body.one-ds-modern-page.theme-dark .ods-concept-a-info { border-top-color: #334155; }
}

/* ========================================================================== 
   ORIGINAL 1DS — Appointments Batch 9
   S-tier stock search, availability workflow and filters
   ========================================================================== */
body.one-ds-modern-page .ods-concept-a-search {
    margin-bottom: 8px !important;
}
body.one-ds-modern-page .ods-concept-a-search > label {
    display: none !important;
}
body.one-ds-modern-page .ods-concept-a-summary-add.d-none {
    display: none !important;
}
body.one-ds-modern-page .ods-concept-a-summary-add:not(.d-none) {
    margin-top: 8px !important;
    padding: 9px 11px !important;
    min-height: 0 !important;
    background: #f8fbff !important;
    border: 1px solid #dce8f5 !important;
    border-radius: 12px !important;
}

/* Stock/customer selector */
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select,
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select > .dropdown-toggle {
    width: 100% !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select > .dropdown-toggle {
    min-height: 38px !important;
    border-radius: 12px !important;
    border: 1px solid #cfddec !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12.5px !important;
    font-weight: 750 !important;
    box-shadow: none !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select.show > .dropdown-toggle,
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select > .dropdown-toggle:focus {
    border-color: #2196f3 !important;
    box-shadow: 0 0 0 3px rgba(33,150,243,.10) !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu {
    width: min(540px, calc(100vw - 34px)) !important;
    min-width: min(540px, calc(100vw - 34px)) !important;
    max-width: min(540px, calc(100vw - 34px)) !important;
    padding: 8px !important;
    border: 1px solid #dce6f2 !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(15,23,42,.16) !important;
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .bs-searchbox {
    padding: 2px 2px 8px !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .bs-searchbox .form-control {
    min-height: 38px !important;
    border: 1px solid #d7e3ef !important;
    border-radius: 10px !important;
    padding: 8px 11px !important;
    font-size: 12.5px !important;
    box-shadow: none !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu.inner {
    overflow-x: hidden !important;
    padding: 0 !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu li a {
    white-space: normal !important;
    padding: 0 !important;
    margin: 3px 0 !important;
    border-radius: 10px !important;
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu li a:hover,
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu li.active > a,
body.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu li.selected > a {
    background: #eef7ff !important;
    color: #0f172a !important;
}
body.one-ds-modern-page .ods-stock-option {
    display: grid !important;
    gap: 2px !important;
    padding: 9px 10px !important;
    color: #334155 !important;
    line-height: 1.2 !important;
}
body.one-ds-modern-page .ods-stock-option-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
}
body.one-ds-modern-page .ods-stock-option-top strong {
    color: #0f172a !important;
    font-size: 12.5px !important;
    font-weight: 900 !important;
}
body.one-ds-modern-page .ods-stock-option-top b {
    color: #2563eb !important;
    font-size: 12px !important;
    font-weight: 850 !important;
    text-align: right !important;
}
body.one-ds-modern-page .ods-stock-option-vin,
body.one-ds-modern-page .ods-stock-option-vehicle {
    font-size: 11.5px !important;
    color: #64748b !important;
    overflow-wrap: anywhere !important;
}
body.one-ds-modern-page .ods-stock-searching .dropdown-toggle::after {
    content: '' !important;
    width: 13px !important;
    height: 13px !important;
    border: 2px solid #bfdbfe !important;
    border-top-color: #2196f3 !important;
    border-radius: 50% !important;
    animation: odsStockSpin .65s linear infinite !important;
    margin-left: 8px !important;
}
@keyframes odsStockSpin { to { transform: rotate(360deg); } }

/* Date -> Coordinator -> Available time controls */
body.one-ds-modern-page #coordinator + .dropdown-toggle,
body.one-ds-modern-page #ecoordinator + .dropdown-toggle,
body.one-ds-modern-page #scheduleTime + .dropdown-toggle,
body.one-ds-modern-page #escheduleTime + .dropdown-toggle,
body.one-ds-modern-page .bootstrap-select > #coordinator,
body.one-ds-modern-page .bootstrap-select > #scheduleTime {
    min-height: 36px !important;
}
body.one-ds-modern-page #scheduleTime ~ .dropdown-menu li a,
body.one-ds-modern-page #escheduleTime ~ .dropdown-menu li a {
    font-size: 12.5px !important;
    font-weight: 800 !important;
}
body.one-ds-modern-page .bootstrap-select.disabled > .dropdown-toggle,
body.one-ds-modern-page .bootstrap-select > .dropdown-toggle.disabled {
    opacity: .72 !important;
    background: #f1f5f9 !important;
}

/* Sidebar filters — compact premium menu, no horizontal scroll */
body.one-ds-modern-page .ods-appointments-sidebar {
    overflow: visible !important;
}
body.one-ds-modern-page .ods-appointments-filter-group > label,
body.one-ds-modern-page .ods-appointments-sidebar-search > label {
    font-size: 12.5px !important;
    font-weight: 850 !important;
    color: #475569 !important;
    margin-bottom: 6px !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select > .dropdown-toggle {
    min-height: 40px !important;
    height: 40px !important;
    padding: 8px 11px !important;
    border-radius: 12px !important;
    border: 1px solid #d7e3ef !important;
    background: #fff !important;
    color: #334155 !important;
    font-size: 12.5px !important;
    font-weight: 800 !important;
    box-shadow: none !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select.show > .dropdown-toggle,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select.show > .dropdown-toggle {
    border-color: #2196f3 !important;
    box-shadow: 0 0 0 3px rgba(33,150,243,.10) !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu {
    min-width: 245px !important;
    width: 245px !important;
    max-width: 280px !important;
    padding: 7px !important;
    border: 1px solid #dbe6f2 !important;
    border-radius: 13px !important;
    box-shadow: 0 16px 38px rgba(15,23,42,.16) !important;
    overflow: hidden !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu.inner,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu.inner {
    overflow-x: hidden !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu li a,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu li a {
    white-space: normal !important;
    overflow: hidden !important;
    text-overflow: clip !important;
    min-height: 34px !important;
    padding: 8px 30px 8px 10px !important;
    border-radius: 8px !important;
    font-size: 12.5px !important;
    font-weight: 760 !important;
    color: #475569 !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu li.selected a,
body.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu li.selected a {
    background: #edf7ff !important;
    color: #1478c9 !important;
}
body.one-ds-modern-page .ods-multiselect-filter .bootstrap-select.show-tick .dropdown-menu .selected span.check-mark {
    top: 9px !important;
    right: 10px !important;
    color: #2196f3 !important;
}
body.one-ds-modern-page .ods-custom-date-trigger {
    width: 100% !important;
    margin-top: 7px !important;
    min-height: 38px !important;
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    border: 1px solid #cfe0f0 !important;
    border-radius: 11px !important;
    background: linear-gradient(180deg,#fbfdff,#f5f9fd) !important;
    color: #334155 !important;
    padding: 8px 10px !important;
    font-size: 11.8px !important;
    font-weight: 800 !important;
    text-align: left !important;
}
body.one-ds-modern-page .ods-custom-date-trigger span { flex: 1; }
body.one-ds-modern-page .ods-custom-date-trigger > i:first-child { color: #2196f3 !important; }
body.one-ds-modern-page .ods-custom-date-trigger:hover {
    border-color: #2196f3 !important;
    background: #f0f8ff !important;
}

/* Existing daterangepicker styled into the 1DS system */
.daterangepicker.ods-appointment-range-picker {
    border: 1px solid #dce6f2 !important;
    border-radius: 16px !important;
    box-shadow: 0 20px 50px rgba(15,23,42,.18) !important;
    padding: 8px !important;
    font-family: inherit !important;
}
.daterangepicker.ods-appointment-range-picker .calendar-table {
    border: 0 !important;
}
.daterangepicker.ods-appointment-range-picker th,
.daterangepicker.ods-appointment-range-picker td {
    font-size: 12px !important;
    border-radius: 8px !important;
}
.daterangepicker.ods-appointment-range-picker td.active,
.daterangepicker.ods-appointment-range-picker td.active:hover {
    background: #2196f3 !important;
}
.daterangepicker.ods-appointment-range-picker td.in-range {
    background: #e8f4ff !important;
    color: #1e3a5f !important;
}
.daterangepicker.ods-appointment-range-picker .drp-buttons {
    border-top: 1px solid #e6edf5 !important;
    padding: 10px 6px 4px !important;
}
.daterangepicker.ods-appointment-range-picker .drp-buttons .btn {
    border-radius: 999px !important;
    padding: 7px 12px !important;
    font-size: 12px !important;
    font-weight: 850 !important;
}

body.theme-dark.one-ds-modern-page .ods-concept-a-search .bootstrap-select > .dropdown-toggle,
body.theme-dark.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu,
body.theme-dark.one-ds-modern-page .ods-concept-a-search .bootstrap-select .bs-searchbox .form-control,
body.theme-dark.one-ds-modern-page .ods-multiselect-filter .bootstrap-select > .dropdown-toggle,
body.theme-dark.one-ds-modern-page .ods-date-range-filter .bootstrap-select > .dropdown-toggle,
body.theme-dark.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu,
body.theme-dark.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu,
body.theme-dark.one-ds-modern-page .ods-custom-date-trigger {
    background: #172033 !important;
    border-color: #34445d !important;
    color: #f8fafc !important;
}
body.theme-dark.one-ds-modern-page .ods-stock-option-top strong,
body.theme-dark.one-ds-modern-page .ods-stock-option { color: #f8fafc !important; }
body.theme-dark.one-ds-modern-page .ods-stock-option-vin,
body.theme-dark.one-ds-modern-page .ods-stock-option-vehicle { color: #b9c7da !important; }
body.theme-dark.one-ds-modern-page .ods-stock-option-top b { color: #60a5fa !important; }
body.theme-dark.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu li a:hover,
body.theme-dark.one-ds-modern-page .ods-concept-a-search .bootstrap-select .dropdown-menu li.selected > a,
body.theme-dark.one-ds-modern-page .ods-multiselect-filter .bootstrap-select .dropdown-menu li.selected a,
body.theme-dark.one-ds-modern-page .ods-date-range-filter .bootstrap-select .dropdown-menu li.selected a {
    background: #21324a !important;
    color: #fff !important;
}
body.theme-dark .daterangepicker.ods-appointment-range-picker {
    background: #172033 !important;
    border-color: #34445d !important;
    color: #f8fafc !important;
}
body.theme-dark .daterangepicker.ods-appointment-range-picker .calendar-table,
body.theme-dark .daterangepicker.ods-appointment-range-picker td.available,
body.theme-dark .daterangepicker.ods-appointment-range-picker th.available {
    background: #172033 !important;
    color: #e5edf7 !important;
}
body.theme-dark .daterangepicker.ods-appointment-range-picker td.off {
    background: #111827 !important;
    color: #64748b !important;
}
body.theme-dark .daterangepicker.ods-appointment-range-picker td.in-range {
    background: #223650 !important;
    color: #fff !important;
}

/* ================================================================
   ORIGINAL 1DS Appointments Batch 10
   Approved Add/Edit availability + Calendar Card Concept #2
   ================================================================ */
body.one-ds-modern-page .ods-time-field-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
body.one-ds-modern-page .ods-available-times-section {
    padding: 10px 12px 12px !important;
}
body.one-ds-modern-page .ods-drawer-section-title.with-meta,
.ods-soldlog-appointment-drawer .ods-soldlog-section-title.with-helper {
    display:flex; align-items:center; justify-content:space-between; gap:12px;
}
body.one-ds-modern-page .ods-drawer-section-title.with-meta small,
.ods-soldlog-appointment-drawer .ods-soldlog-section-title.with-helper small {
    color:#64748b; font-size:10.5px; font-weight:700;
}
body.one-ds-modern-page .ods-drawer-section-title.with-meta i,
.ods-soldlog-appointment-drawer .ods-soldlog-section-title.with-helper i { color:#2196f3; margin-right:6px; }
body.one-ds-modern-page .ods-time-slot-groups,
.ods-soldlog-appointment-drawer .ods-time-slot-groups { display:grid; gap:8px; }
body.one-ds-modern-page .ods-time-group,
.ods-soldlog-appointment-drawer .ods-time-group { display:grid; gap:6px; }
body.one-ds-modern-page .ods-time-group + .ods-time-group,
.ods-soldlog-appointment-drawer .ods-time-group + .ods-time-group { border-top:1px solid #edf2f7; padding-top:8px; }
body.one-ds-modern-page .ods-time-group-title,
.ods-soldlog-appointment-drawer .ods-time-group-title { display:flex; align-items:center; gap:6px; color:#334155; font-size:11px; font-weight:850; }
body.one-ds-modern-page .ods-time-group-title i,
.ods-soldlog-appointment-drawer .ods-time-group-title i { color:#f59e0b; }
body.one-ds-modern-page .ods-time-buttons,
.ods-soldlog-appointment-drawer .ods-time-buttons { display:grid; grid-template-columns:repeat(8,minmax(72px,1fr)); gap:7px; }
body.one-ds-modern-page .ods-time-chip,
.ods-soldlog-appointment-drawer .ods-time-chip {
    position:relative; min-height:34px; border:1px solid #93c5fd; border-radius:10px; background:#fff; color:#0f172a;
    font-size:11px; font-weight:850; cursor:pointer; transition:.16s ease; box-shadow:0 2px 8px rgba(15,23,42,.03);
}
body.one-ds-modern-page .ods-time-chip:hover,
.ods-soldlog-appointment-drawer .ods-time-chip:hover { background:#eff6ff; border-color:#2196f3; transform:translateY(-1px); }
body.one-ds-modern-page .ods-time-chip.is-selected,
.ods-soldlog-appointment-drawer .ods-time-chip.is-selected { background:linear-gradient(135deg,#38bdf8,#1677ff); border-color:#1677ff; color:#fff; box-shadow:0 8px 18px rgba(33,150,243,.22); }
body.one-ds-modern-page .ods-time-chip i,
.ods-soldlog-appointment-drawer .ods-time-chip i { margin-left:6px; }
body.one-ds-modern-page .ods-time-empty,
.ods-soldlog-appointment-drawer .ods-time-empty { padding:11px; border:1px dashed #cbd5e1; border-radius:10px; color:#64748b; text-align:center; font-size:11px; font-weight:700; background:#f8fafc; }

/* Stock/customer search: never clip the customer name, remove horizontal overflow. */
body.one-ds-modern-page .ods-stock-search-select + .dropdown-toggle,
body.one-ds-modern-page #sale_id + .dropdown-toggle,
body.one-ds-modern-page #esale_id + .dropdown-toggle { min-height:38px !important; }
body.one-ds-modern-page .bootstrap-select .dropdown-menu .ods-stock-option { display:block; width:100%; min-width:0; padding:4px 2px; }
body.one-ds-modern-page .ods-stock-option-top { display:grid !important; grid-template-columns:minmax(120px,.85fr) minmax(180px,1.4fr); gap:14px; align-items:start; }
body.one-ds-modern-page .ods-stock-option-top strong,
body.one-ds-modern-page .ods-stock-option-top b { display:block; min-width:0; white-space:normal !important; overflow:visible !important; text-overflow:clip !important; word-break:break-word; line-height:1.2; }
body.one-ds-modern-page .ods-stock-option-top b { text-align:right; color:#0f6fce; }
body.one-ds-modern-page .bootstrap-select .dropdown-menu.inner { overflow-x:hidden !important; }
body.one-ds-modern-page .bootstrap-select .dropdown-menu li a { white-space:normal !important; }

/* Calendar Card Concept #2: premium neutral card + semantic status band + coordinator accent. */
body.one-ds-modern-page .tui-full-calendar-time-schedule,
body.one-ds-modern-page .tui-full-calendar-time-schedule-content { overflow:visible !important; }
body.one-ds-modern-page .tui-full-calendar-time-schedule-content { background:transparent !important; border:0 !important; box-shadow:none !important; }
body.one-ds-modern-page .ods-cal-card {
    --ods-coordinator-accent:#2196f3;
    height:100%; min-height:48px; overflow:hidden; border:1px solid #dbe5f1; border-left:3px solid var(--ods-coordinator-accent);
    border-radius:9px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:0 5px 12px rgba(15,23,42,.10); color:#0f172a;
    display:flex; flex-direction:column;
}
body.one-ds-modern-page .ods-cal-card-status { display:flex; align-items:center; justify-content:space-between; gap:5px; min-height:17px; padding:2px 7px; font-size:8.5px; font-weight:900; letter-spacing:.015em; background:#eaf4ff; color:#1769aa; }
body.one-ds-modern-page .ods-cal-card.is-pending .ods-cal-card-status { background:#fff4d8; color:#a16207; }
body.one-ds-modern-page .ods-cal-card.is-confirmed .ods-cal-card-status { background:#eee9ff; color:#6d28d9; }
body.one-ds-modern-page .ods-cal-card.is-notConfirmed .ods-cal-card-status { background:#fee2e2; color:#b91c1c; }
body.one-ds-modern-page .ods-cal-card.is-complete { border-color:#bbf7d0; border-left-color:#22c55e; background:linear-gradient(180deg,#f0fdf4,#ecfdf5); }
body.one-ds-modern-page .ods-cal-card.is-complete .ods-cal-card-status { background:#22c55e; color:#fff; }
body.one-ds-modern-page .ods-cal-card-body { min-width:0; padding:5px 7px 6px; display:grid; gap:1px; }
body.one-ds-modern-page .ods-cal-card-time { color:#64748b; font-size:8.5px; font-weight:800; }
body.one-ds-modern-page .ods-cal-card-body strong { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#0f172a; font-size:10.5px; font-weight:950; line-height:1.15; }
body.one-ds-modern-page .ods-cal-card-activity { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#475569; font-size:8.5px; font-weight:750; }
body.one-ds-modern-page .ods-cal-card-body small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#64748b; font-size:8px; font-weight:700; }
body.one-ds-modern-page .ods-cal-card:hover { border-color:#93c5fd; box-shadow:0 9px 20px rgba(33,150,243,.16); transform:translateY(-1px); }

body.theme-dark.one-ds-modern-page .ods-cal-card { background:linear-gradient(180deg,#1f2937,#182235); border-color:#3b4758; color:#f8fafc; box-shadow:0 7px 16px rgba(0,0,0,.28); }
body.theme-dark.one-ds-modern-page .ods-cal-card-body strong { color:#f8fafc; }
body.theme-dark.one-ds-modern-page .ods-cal-card-time,
body.theme-dark.one-ds-modern-page .ods-cal-card-activity,
body.theme-dark.one-ds-modern-page .ods-cal-card-body small { color:#cbd5e1; }
body.theme-dark.one-ds-modern-page .ods-cal-card.is-pending .ods-cal-card-status { background:#78350f; color:#fde68a; }
body.theme-dark.one-ds-modern-page .ods-cal-card.is-confirmed .ods-cal-card-status { background:#4c1d95; color:#ede9fe; }
body.theme-dark.one-ds-modern-page .ods-cal-card.is-notConfirmed .ods-cal-card-status { background:#7f1d1d; color:#fecaca; }
body.theme-dark.one-ds-modern-page .ods-cal-card.is-complete { background:linear-gradient(180deg,#123323,#102a20); border-color:#166534; }
body.theme-dark.one-ds-modern-page .ods-time-chip,
body.theme-dark .ods-soldlog-appointment-drawer .ods-time-chip { background:#111827; border-color:#334155; color:#f8fafc; }
body.theme-dark.one-ds-modern-page .ods-time-chip:hover,
body.theme-dark .ods-soldlog-appointment-drawer .ods-time-chip:hover { background:#1e293b; border-color:#3b82f6; }
body.theme-dark.one-ds-modern-page .ods-time-empty,
body.theme-dark .ods-soldlog-appointment-drawer .ods-time-empty { background:#111827; border-color:#374151; color:#cbd5e1; }

@media (max-width: 1450px) {
    body.one-ds-modern-page .ods-time-buttons,
    .ods-soldlog-appointment-drawer .ods-time-buttons { grid-template-columns:repeat(6,minmax(70px,1fr)); }
}

/* Batch 10 approved wide scheduling workspace: keep the slide-out behavior, use the horizontal S-tier composition. */
@media (min-width: 1280px) {
    body.one-ds-modern-page .ods-appointment-drawer .modal-dialog,
    .ods-soldlog-appointment-drawer .modal-dialog {
        width: min(980px, 78vw) !important;
        max-width: 980px !important;
    }
    body.one-ds-modern-page .ods-appointment-drawer .ods-modern-drawer-body {
        display:block;
    }
    body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-grid.three,
    .ods-soldlog-appointment-drawer .ods-soldlog-drawer-grid.three {
        grid-template-columns: 1fr 1fr 1fr !important;
    }
}


/* ===== Appointments Batch 11 ===== */
.ods-calendar-event-copy{font-size:calc(11px * var(--ods-appointment-font-scale,1.1))!important;line-height:1.14!important;height:100%;}
.ods-cal-card{height:100%;min-height:44px;background:linear-gradient(180deg,#fff,#fbfdff);border:1px solid #dfe8f3;border-radius:10px;box-shadow:0 5px 14px rgba(15,23,42,.10);overflow:hidden;position:relative;color:#0f172a;}
.ods-cal-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--ods-coordinator-color,#2196f3)}
.ods-cal-card-status{height:16px;padding:2px 6px 1px 9px;display:flex;align-items:center;justify-content:space-between;font-size:calc(8.5px * var(--ods-appointment-font-scale,1.1));font-weight:850;text-transform:uppercase;letter-spacing:.025em;background:#eff6ff;color:#2563eb}
.ods-cal-card--confirmed .ods-cal-card-status{background:#f3e8ff;color:#7c3aed}.ods-cal-card--complete .ods-cal-card-status{background:#dcfce7;color:#15803d}.ods-cal-card--pending .ods-cal-card-status{background:#fff7ed;color:#d97706}.ods-cal-card--notConfirmed .ods-cal-card-status{background:#fee2e2;color:#b91c1c}
.ods-cal-card-body{padding:4px 7px 5px 9px;display:grid;gap:1px}.ods-cal-card-body strong{font-size:calc(10px * var(--ods-appointment-font-scale,1.1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-cal-card-time,.ods-cal-card-activity,.ods-cal-card-body small{font-size:calc(8px * var(--ods-appointment-font-scale,1.1));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ods-cal-card--complete{box-shadow:0 5px 16px rgba(22,163,74,.14)}
body.theme-dark .ods-cal-card{background:#1f2937;border-color:#374151;color:#f8fafc;box-shadow:0 8px 18px rgba(0,0,0,.28)}
body.theme-dark .ods-cal-card-body strong,body.theme-dark .ods-cal-card-body small,body.theme-dark .ods-cal-card-time,body.theme-dark .ods-cal-card-activity{color:#f8fafc!important}
.ods-upcoming-item{font-size:calc(12px * var(--ods-appointment-font-scale,1.1))!important}.ods-upcoming-item strong{font-size:calc(12.5px * var(--ods-appointment-font-scale,1.1))!important}.ods-upcoming-item span,.ods-upcoming-item small{font-size:calc(10.5px * var(--ods-appointment-font-scale,1.1))!important}
.ods-attached-salesperson{display:block;margin-top:3px;color:#64748b;font-size:10.5px}.ods-attached-salesperson b{color:#334155}.theme-dark .ods-attached-salesperson,.theme-dark .ods-attached-salesperson b{color:#cbd5e1}
.ods-coordinator-status-only .ods-drawer-section:not(.ods-coordinator-status),.ods-coordinator-status-only .ods-concept-a-card{pointer-events:none;opacity:.72}.ods-coordinator-status-only #odsEditChangeCustomerToggle{display:none!important}.ods-coordinator-status-only .modal-footer #eSubmitBtn{pointer-events:auto;opacity:1}
.ods-time-chip.is-disabled{opacity:.38;pointer-events:none;background:#f8fafc;color:#94a3b8}.ods-time-chip.is-current{box-shadow:inset 0 0 0 1px #94a3b8}
/* Batch 11 aliases for locked Concept #2 template class names. */
.ods-cal-card:before{background:var(--ods-coordinator-accent,var(--ods-coordinator-color,#2196f3))!important}
.ods-cal-card.is-confirmed .ods-cal-card-status{background:#f3e8ff;color:#7c3aed}.ods-cal-card.is-complete .ods-cal-card-status{background:#dcfce7;color:#15803d}.ods-cal-card.is-pending .ods-cal-card-status{background:#fff7ed;color:#d97706}.ods-cal-card.is-notConfirmed .ods-cal-card-status{background:#fee2e2;color:#b91c1c}.ods-cal-card.is-complete{box-shadow:0 5px 16px rgba(22,163,74,.14)}
/* Stock/customer search: never crop long customer names or force horizontal scrolling. */
.ods-appointment-drawer .bootstrap-select .dropdown-menu.inner,.ods-appointment-drawer .dropdown-menu,.ods-stock-search-select+.dropdown-toggle{max-width:100%!important}
.ods-appointment-drawer .bootstrap-select .dropdown-menu.inner{overflow-x:hidden!important}
.ods-stock-option,.ods-stock-option-top{min-width:0!important;width:100%!important}.ods-stock-option-top{display:grid!important;grid-template-columns:minmax(90px,.75fr) minmax(0,1.25fr)!important;gap:10px!important;align-items:start!important}.ods-stock-option-top b{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere!important;text-align:right}.ods-stock-option-vin,.ods-stock-option-vehicle{white-space:normal!important;overflow-wrap:anywhere!important}

/* ===== Appointments PDF fixes — 2026-08-21 ===== */
body.one-ds-modern-page .ods-appointment-kpi {
    cursor: pointer;
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
body.one-ds-modern-page .ods-appointment-kpi:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(15,23,42,.10);
}
body.one-ds-modern-page .ods-appointment-kpi.is-active-filter {
    border-color: rgba(33,150,243,.48) !important;
    box-shadow: 0 0 0 2px rgba(33,150,243,.10), 0 12px 28px rgba(15,23,42,.10) !important;
}
body.one-ds-modern-page .ods-time-gate {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 9px 11px;
    border: 1px dashed #bfd7ee;
    border-radius: 11px;
    background: #f7fbff;
    color: #52677d;
    font-size: 11px;
    font-weight: 700;
}
body.one-ds-modern-page .ods-time-gate i { color: #2196f3; }
body.one-ds-modern-page .ods-time-chip.is-current-scheduled {
    border-color: #22c55e !important;
    background: #ecfdf3 !important;
    color: #166534 !important;
    box-shadow: inset 0 0 0 1px rgba(34,197,94,.18), 0 4px 12px rgba(34,197,94,.10) !important;
}
body.one-ds-modern-page .ods-time-chip.is-current-scheduled small {
    margin-left: 5px;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .02em;
    text-transform: uppercase;
    opacity: .78;
}
body.one-ds-modern-page .ods-time-chip.is-current-scheduled i { color: #16a34a !important; }
body.one-ds-modern-page .ods-confirmed-lock-banner,
body.one-ds-modern-page .ods-vehicle-lock-banner {
    display: flex;
    align-items: center;
    gap: 8px;
    position: relative;
    z-index: 7;
    margin: 0 0 8px;
    padding: 9px 11px;
    border-radius: 11px;
    font-size: 11px;
    font-weight: 760;
}
body.one-ds-modern-page .ods-confirmed-lock-banner {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    color: #1e40af;
}
body.one-ds-modern-page .ods-vehicle-lock-banner {
    border: 1px solid #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}
body.one-ds-modern-page #editScheduleModel .showResult { position: relative; }
body.one-ds-modern-page .ods-confirmed-lock-overlay {
    position: absolute;
    z-index: 6;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: transparent;
    cursor: not-allowed;
}
body.one-ds-modern-page .ods-confirmed-consultant-lock .ods-confirmed-lock-banner { z-index: 8; }
body.one-ds-modern-page .ods-modal-footer-spacer { flex: 1 1 auto; }
body.one-ds-modern-page .ods-appointment-drawer .modal-footer { display: flex; align-items: center; gap: 8px; }

/* Calendar card text scaling applies to every line inside the event card. */
body.one-ds-modern-page .ods-cal-card-status,
body.one-ds-modern-page .ods-cal-card-time,
body.one-ds-modern-page .ods-cal-card-activity,
body.one-ds-modern-page .ods-cal-card-body small,
body.one-ds-modern-page .ods-cal-card-body strong {
    line-height: 1.12 !important;
}
body.one-ds-modern-page .ods-cal-card-body strong { font-size: calc(10.5px * var(--ods-appointment-font-scale,1.1)) !important; }
body.one-ds-modern-page .ods-cal-card-time { font-size: calc(8.8px * var(--ods-appointment-font-scale,1.1)) !important; font-weight: 800; }
body.one-ds-modern-page .ods-cal-card-activity,
body.one-ds-modern-page .ods-cal-card-body small { font-size: calc(8.2px * var(--ods-appointment-font-scale,1.1)) !important; }

/* Prevent customer names from being clipped in the searchable sale picker. */
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu,
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu.inner {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
}
body.one-ds-modern-page .ods-stock-option-top b {
    min-width: 0 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    word-break: break-word !important;
}
.ods-stock-option-lock {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: 6px;
    padding: 2px 6px;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

body.theme-dark .ods-time-gate { border-color:#334155; background:#111827; color:#cbd5e1; }
body.theme-dark .ods-time-chip.is-current-scheduled { border-color:#22c55e !important; background:rgba(22,101,52,.24) !important; color:#bbf7d0 !important; }
body.theme-dark .ods-confirmed-lock-banner { border-color:#1d4ed8; background:rgba(30,64,175,.22); color:#bfdbfe; }
body.theme-dark .ods-vehicle-lock-banner { border-color:#9a3412; background:rgba(154,52,18,.20); color:#fed7aa; }

/* Notification/email deep links must remain scrollable on phones. */
@media (max-width: 760px) {
    body.one-ds-modern-page .ods-appointment-drawer.modal,
    body.one-ds-modern-page .ods-appointment-drawer .modal-dialog,
    body.one-ds-modern-page .ods-appointment-drawer .modal-content,
    body.one-ds-modern-page .ods-appointment-drawer form {
        height: 100dvh !important;
        max-height: 100dvh !important;
        min-height: 0 !important;
    }
    body.one-ds-modern-page .ods-appointment-drawer .modal-body,
    body.one-ds-modern-page .ods-appointment-drawer .ods-modern-drawer-body {
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior: contain;
    }
    body.one-ds-modern-page .ods-appointment-drawer .showResult {
        height: auto !important;
        min-height: min-content;
        overflow: visible !important;
    }
    body.one-ds-modern-page .ods-appointment-drawer .modal-footer { flex: 0 0 auto; }
}


/* ================================================================
 * ORIGINAL 1DS Appointments follow-up visual fixes - 2026-08-21 PM
 * ================================================================ */
body.one-ds-modern-page .ods-concept-a-approval .ods-manager-approval-box.is-required,
body.one-ds-modern-page .ods-manager-approval-box.is-required {
    border: 1px solid #f59e0b !important;
    background: #fff7e6 !important;
    box-shadow: 0 0 0 3px rgba(245,158,11,.13), inset 4px 0 0 #f59e0b !important;
    color: #9a5b00 !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-copy strong,
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-copy small,
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-state { color:#9a5b00 !important; }
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-icon { background:#ffedc2 !important; color:#b76b00 !important; }
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required {
    border-color:#f59e0b !important; background:rgba(245,158,11,.13) !important; box-shadow:0 0 0 3px rgba(245,158,11,.12), inset 4px 0 0 #f59e0b !important;
}

/* Compact calendar appointment card sized for week/day cells. */
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule-content { padding:1px 2px !important; overflow:visible !important; }
body.one-ds-modern-page .ods-cal-card-compact {
    position:relative; height:100%; min-height:38px; overflow:hidden; padding:5px 7px 5px 9px;
    border:1px solid color-mix(in srgb, var(--ods-coordinator-accent) 34%, #d8e1ec);
    border-left:4px solid var(--ods-coordinator-accent); border-radius:8px;
    background:rgba(255,255,255,.97); box-shadow:0 1px 3px rgba(15,23,42,.08); color:#243447;
}
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-top { display:flex; align-items:center; gap:5px; min-width:0; }
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-top strong { min-width:0; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:calc(10.8px * var(--ods-appointment-font-scale,1.1)); font-weight:850; line-height:1.05; }
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-status { flex:0 0 auto; max-width:48%; padding:2px 5px; border-radius:999px; background:#fff2cc; color:#9a6200; font-size:calc(7.8px * var(--ods-appointment-font-scale,1.1)); font-weight:850; line-height:1; white-space:nowrap; }
body.one-ds-modern-page .ods-cal-card-compact.is-confirmed .ods-cal-card-status { background:#e8f5ff; color:#147bd1; }
body.one-ds-modern-page .ods-cal-card-compact.is-complete .ods-cal-card-status { background:#e7f8ee; color:#138a46; }
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-meta { display:flex; align-items:center; min-width:0; gap:5px; margin-top:4px; color:#66768a; font-size:calc(8.4px * var(--ods-appointment-font-scale,1.1)); line-height:1.05; }
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-meta b { color:#334155; font-weight:850; white-space:nowrap; }
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-meta span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.one-ds-modern-page .ods-cal-card-compact .ods-cal-card-meta i { color:#16a34a; }
body.one-ds-modern-page.theme-dark .ods-cal-card-compact { background:rgba(17,24,39,.97); border-top-color:#334155; border-right-color:#334155; border-bottom-color:#334155; color:#f1f5f9; box-shadow:0 1px 4px rgba(0,0,0,.25); }
body.one-ds-modern-page.theme-dark .ods-cal-card-compact .ods-cal-card-top strong,
body.one-ds-modern-page.theme-dark .ods-cal-card-compact .ods-cal-card-meta b { color:#f1f5f9; }
body.one-ds-modern-page.theme-dark .ods-cal-card-compact .ods-cal-card-meta { color:#aab7c8; }

/* Existing appointment opens as a focused viewer, not the full editor. */
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .showResult > section:not(#odsAppointmentViewCard) { display:none !important; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .modal-dialog { max-width:720px !important; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .modal-body { padding:18px !important; }
body.one-ds-modern-page .ods-appointment-view-card { overflow:hidden; border:1px solid #dfe7f1; border-radius:18px; background:#fff; box-shadow:0 14px 36px rgba(15,23,42,.08); }
body.one-ds-modern-page .ods-appointment-view-hero { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding:19px 20px 15px; border-bottom:1px solid #edf1f6; background:linear-gradient(135deg,#f9fcff 0%,#fff 72%); }
body.one-ds-modern-page .ods-appointment-view-hero > div { min-width:0; display:flex; flex-direction:column; }
body.one-ds-modern-page .ods-appointment-view-hero span:first-child,
body.one-ds-modern-page .ods-appointment-view-stock span,
body.one-ds-modern-page .ods-appointment-view-grid span { color:#8190a3; font-size:10px; font-weight:800; letter-spacing:.055em; text-transform:uppercase; }
body.one-ds-modern-page .ods-appointment-view-hero strong { margin-top:2px; color:#17263a; font-size:22px; font-weight:900; line-height:1.1; }
body.one-ds-modern-page .ods-appointment-view-hero small { margin-top:5px; color:#53657a; font-size:13px; font-weight:700; }
body.one-ds-modern-page .ods-appointment-view-status { flex:0 0 auto; padding:6px 10px; border-radius:999px; font-size:11px !important; font-weight:850; letter-spacing:0 !important; text-transform:none !important; }
body.one-ds-modern-page .ods-appointment-view-status.is-pending { background:#fff2cc; color:#996000; }
body.one-ds-modern-page .ods-appointment-view-status.is-confirmed { background:#e8f5ff; color:#147bd1; }
body.one-ds-modern-page .ods-appointment-view-status.is-complete { background:#e7f8ee; color:#138a46; }
body.one-ds-modern-page .ods-appointment-view-stock { padding:12px 20px; border-bottom:1px solid #edf1f6; }
body.one-ds-modern-page .ods-appointment-view-stock strong { display:block; margin-top:2px; color:#32445a; font-size:12px; font-weight:800; }
body.one-ds-modern-page .ods-appointment-view-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:#edf1f6; }
body.one-ds-modern-page .ods-appointment-view-grid > div { min-height:76px; padding:14px 16px; background:#fff; }
body.one-ds-modern-page .ods-appointment-view-grid strong { display:block; margin-top:5px; color:#25364b; font-size:13px; font-weight:850; line-height:1.3; }
body.one-ds-modern-page .ods-appointment-view-grid .ods-appointment-view-wide { grid-column:span 2; }
body.one-ds-modern-page.theme-dark .ods-appointment-view-card { border-color:#344154; background:#111827; box-shadow:0 16px 38px rgba(0,0,0,.28); }
body.one-ds-modern-page.theme-dark .ods-appointment-view-hero { border-color:#2c3748; background:linear-gradient(135deg,#162033 0%,#111827 72%); }
body.one-ds-modern-page.theme-dark .ods-appointment-view-hero strong,
body.one-ds-modern-page.theme-dark .ods-appointment-view-stock strong,
body.one-ds-modern-page.theme-dark .ods-appointment-view-grid strong { color:#eef4fb; }
body.one-ds-modern-page.theme-dark .ods-appointment-view-hero small { color:#aab7c8; }
body.one-ds-modern-page.theme-dark .ods-appointment-view-stock { border-color:#2c3748; }
body.one-ds-modern-page.theme-dark .ods-appointment-view-grid { background:#2c3748; }
body.one-ds-modern-page.theme-dark .ods-appointment-view-grid > div { background:#111827; }
@media (max-width:767px){ body.one-ds-modern-page .ods-appointment-view-grid{grid-template-columns:1fr 1fr;} body.one-ds-modern-page .ods-appointment-view-grid .ods-appointment-view-wide{grid-column:span 2;} }

/* The field already contains its own search prompt; suppress redundant validation copy. */
body.one-ds-modern-page .ods-concept-a-search label.error,
body.one-ds-modern-page .ods-concept-a-search .invalid-feedback { display:none !important; }

/* 2026-08-21 r2: Sold Logs now uses the same generic appointment component markup. */
.ods-soldlog-appointment-drawer .ods-concept-a-card {
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 210px !important;
    gap:12px !important;
    margin-bottom:8px !important;
    padding:10px 12px !important;
    border:1px solid #e5edf5 !important;
    border-radius:14px !important;
    background:#fff !important;
    box-shadow:0 5px 18px rgba(15,23,42,.05) !important;
}
.ods-soldlog-appointment-drawer .ods-concept-a-kicker,
.ods-soldlog-appointment-drawer .ods-drawer-section-title {
    color:#334155 !important;
    font-size:11.5px !important;
    font-weight:850 !important;
}
.ods-soldlog-appointment-drawer .ods-concept-a-summary { display:flex; flex-direction:column; gap:1px; }
.ods-soldlog-appointment-drawer .ods-concept-a-summary strong { color:#0f172a; font-size:14px; font-weight:850; }
.ods-soldlog-appointment-drawer .ods-concept-a-summary span { color:#475569; font-size:11px; font-weight:700; }
.ods-soldlog-appointment-drawer .ods-concept-a-summary small { color:#64748b; font-size:9.8px; font-weight:650; }
.ods-soldlog-appointment-drawer .ods-concept-a-info { display:grid; align-content:center; gap:6px; }
.ods-soldlog-appointment-drawer .ods-concept-a-info-row { display:flex; justify-content:space-between; gap:8px; font-size:10.5px; }
.ods-soldlog-appointment-drawer .ods-concept-a-info-row span { color:#64748b; }
.ods-soldlog-appointment-drawer .ods-concept-a-info-row strong { color:#0f172a; }
.ods-soldlog-appointment-drawer .ods-drawer-section {
    margin-bottom:6px !important;
    padding:8px 10px !important;
    border:1px solid #e5edf5 !important;
    border-radius:12px !important;
    background:#fff !important;
}
.ods-soldlog-appointment-drawer .ods-drawer-grid.three { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:7px !important; }
.ods-soldlog-appointment-drawer .ods-delivery-segments { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:6px !important; width:100% !important; }
.ods-soldlog-appointment-drawer .ods-service-grid { display:grid !important; grid-template-columns:repeat(5,minmax(0,1fr)) !important; gap:5px !important; width:100% !important; }
.ods-soldlog-appointment-drawer .ods-delivery-segments > label.btn,
.ods-soldlog-appointment-drawer .ods-service-grid > label.btn,
.ods-soldlog-appointment-drawer .ods-status-control .btn {
    margin:0 !important;
    border:1px solid #dce6f0 !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#5b6b80 !important;
    box-shadow:none !important;
}
.ods-soldlog-appointment-drawer .ods-delivery-segments > label.btn { min-height:32px; display:flex !important; align-items:center; justify-content:center; gap:6px; padding:5px 7px !important; font-size:10.8px !important; font-weight:760 !important; }
.ods-soldlog-appointment-drawer .ods-service-grid > label.btn { min-height:40px; display:flex !important; align-items:center; justify-content:center; flex-direction:column; gap:2px; padding:4px !important; font-size:9.6px !important; font-weight:720 !important; }
.ods-soldlog-appointment-drawer .ods-delivery-segments > label.btn.active,
.ods-soldlog-appointment-drawer .ods-status-control .btn.active { border-color:#2196f3 !important; background:linear-gradient(135deg,#38bdf8,#2196f3) !important; color:#fff !important; }
.ods-soldlog-appointment-drawer .ods-service-grid > label.btn.active { border-color:#2196f3 !important; background:#edf6ff !important; color:#1976d2 !important; }
.ods-soldlog-appointment-drawer .ods-status-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:10px !important; }
.ods-soldlog-appointment-drawer .ods-status-control { display:grid !important; grid-template-columns:62px minmax(0,1fr) !important; align-items:center; gap:5px; }
.ods-soldlog-appointment-drawer .ods-status-control > label { margin:0; color:#5f6f84; font-size:11px; font-weight:780; }
.ods-soldlog-appointment-drawer .ods-status-control .btn-group { display:grid !important; grid-template-columns:1fr 1fr !important; gap:5px !important; }
.ods-soldlog-appointment-drawer .ods-manager-approval-box { width:100%; min-height:38px; border:1px solid #dce6f0; border-radius:9px; background:#fbfdff; color:#46566b; }
body.theme-dark .ods-soldlog-appointment-drawer .ods-concept-a-card,
body.theme-dark .ods-soldlog-appointment-drawer .ods-drawer-section { background:#1f2937 !important; border-color:#374151 !important; }
body.theme-dark .ods-soldlog-appointment-drawer .ods-concept-a-summary strong,
body.theme-dark .ods-soldlog-appointment-drawer .ods-concept-a-info-row strong,
body.theme-dark .ods-soldlog-appointment-drawer .ods-drawer-section-title { color:#f8fafc !important; }
body.theme-dark .ods-soldlog-appointment-drawer .ods-delivery-segments > label.btn,
body.theme-dark .ods-soldlog-appointment-drawer .ods-service-grid > label.btn,
body.theme-dark .ods-soldlog-appointment-drawer .ods-status-control .btn,
body.theme-dark .ods-soldlog-appointment-drawer .ods-manager-approval-box { background:#172033 !important; border-color:#4b5563 !important; color:#f8fafc !important; }

/* ================================================================
   ORIGINAL 1DS Appointments repair r3 - 2026-08-21 17:12
   Sold Logs scheduler parity + modern view-only appointment card
   ================================================================ */

/* Sold Logs is a locked modern page, but its body does not carry the generic
   one-ds-modern-page class. Give its Schedule Appointment drawer the exact
   shared Appointment component language without restyling the rest of Sold Logs. */
.ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-dialog {
    width:min(980px,78vw) !important;
    max-width:980px !important;
}
.ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-content {
    border:1px solid #dce6f1 !important;
    border-radius:16px !important;
    background:#fff !important;
    box-shadow:0 24px 70px rgba(15,23,42,.18) !important;
    overflow:hidden !important;
}
.ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-header {
    min-height:54px !important;
    padding:8px 16px !important;
    border-bottom:1px solid #e8eef5 !important;
}
.ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-body { padding:6px 10px 4px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-card {
    position:relative; display:grid; grid-template-columns:minmax(0,1.65fr) minmax(185px,.72fr); gap:12px;
    padding:12px; border:1px solid #dbe7f3; border-radius:15px; background:linear-gradient(180deg,#fff,#fbfdff);
    box-shadow:0 6px 18px rgba(15,23,42,.035);
}
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-main,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info { min-width:0; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-kicker { display:flex; align-items:center; gap:7px; margin:0 0 7px; color:#42536a; font-size:11.5px; font-weight:850; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary { display:flex; min-width:0; flex-direction:column; justify-content:center; gap:2px; padding:2px 2px 2px 8px; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary strong { color:#101d30; font-size:14px; font-weight:900; line-height:1.12; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary span,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary small { color:#5f7188; font-size:10.7px; font-weight:720; line-height:1.2; overflow-wrap:anywhere; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info { display:flex; flex-direction:column; justify-content:center; gap:8px; padding-left:11px; border-left:1px solid #edf2f7; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info-row { display:flex; flex-direction:column; gap:2px; padding:1px 2px; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info-row span { color:#7b8898; font-size:9.7px; font-weight:780; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info-row strong { color:#2d3d51; font-size:11px; font-weight:830; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-manager-approval-box { min-height:42px !important; padding:7px 9px !important; border-radius:11px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section { margin:5px 0 0 !important; padding:6px 9px !important; border:1px solid #dbe7f3 !important; border-radius:12px !important; background:#fff !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section-title { margin-bottom:3px !important; color:#334155 !important; font-size:12px !important; font-weight:850 !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-grid { display:grid; gap:5px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-grid.three { grid-template-columns:1fr 1fr 1fr !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .form-group { margin-bottom:3px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section label { color:#65758a; font-size:10.5px; font-weight:800; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .form-control,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .bootstrap-select > .dropdown-toggle,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .input-group-text { min-height:29px !important; height:29px !important; border-color:#d5e3f1 !important; border-radius:9px; background:#fff; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-time-field-hidden { position:absolute !important; width:1px !important; height:1px !important; overflow:hidden !important; opacity:0 !important; pointer-events:none !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid { display:grid !important; width:100%; gap:6px; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments { grid-template-columns:repeat(3,minmax(0,1fr)); }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn:last-child { grid-column:1/-1; min-height:34px !important; flex-direction:row !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments > label.btn,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn { display:flex; align-items:center; justify-content:center; gap:5px; border:1px solid #d6e3ef !important; border-radius:9px !important; background:#fff !important; color:#52657b !important; font-weight:800 !important; box-shadow:none !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments > label.btn { min-height:31px !important; padding:4px 6px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn { min-height:36px !important; padding:4px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments > label.btn.active,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn.active { color:#fff !important; border-color:#2196f3 !important; background:linear-gradient(135deg,#38bdf8,#2196f3) !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .fa-map-marker-alt { color:#8b5cf6; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .fa-calendar-check,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .input-group-text .fa-calendar { color:#1687e8 !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .fa-truck { color:#f59e0b; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .fa-user-shield { color:#7c3aed !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn:nth-child(1) i { color:#0ea5e9; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn:nth-child(2) i { color:#f59e0b; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn:nth-child(3) i { color:#8b5cf6; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn:nth-child(4) i { color:#14b8a6; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments > label.btn.active i,
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn.active i { color:#fff !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-notes-field { margin-top:3px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer textarea.form-control { min-height:34px !important; height:34px !important; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-time-gate { display:flex; align-items:center; gap:8px; min-height:38px; padding:9px 11px; border:1px dashed #bfd7ee; border-radius:11px; background:#f7fbff; color:#52677d; font-size:11px; font-weight:700; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-time-gate i { color:#2196f3; }
.ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-footer { min-height:46px !important; padding:6px 12px !important; display:flex; align-items:center; gap:8px; }

body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-content,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-card,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section { background:#1f2937 !important; border-color:#374151 !important; }
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info { border-left-color:#374151; }
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-kicker,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary strong,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info-row strong,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section-title { color:#f8fafc !important; }
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary span,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-summary small,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info-row span,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section label { color:#cbd5e1 !important; }
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .form-control,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .bootstrap-select > .dropdown-toggle,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-drawer-section .input-group-text,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-delivery-segments > label.btn,
body.theme-dark .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-service-grid > label.btn { background:#111827 !important; border-color:#374151 !important; color:#e5edf6 !important; }

/* Existing appointment viewer: compact premium summary first, then Edit opens ONLY
   the normal appointment form. No stacked legacy/new layout. */
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .modal-dialog { max-width:760px !important; width:min(760px,92vw) !important; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .modal-content { height:auto !important; min-height:0 !important; max-height:none !important; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .modal-body { height:auto !important; min-height:0 !important; padding:10px 14px 14px !important; overflow:visible !important; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-view-mode .showResult { height:auto !important; min-height:0 !important; }
body.one-ds-modern-page .ods-appointment-view-card-v2 { overflow:hidden; border:1px solid #dbe7f3; border-radius:16px; background:linear-gradient(180deg,#fff,#fbfdff); box-shadow:0 10px 28px rgba(15,23,42,.07); }
body.one-ds-modern-page .ods-appointment-view-top { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:16px 18px 13px; border-bottom:1px solid #edf2f7; }
body.one-ds-modern-page .ods-appointment-view-identity { min-width:0; display:flex; flex-direction:column; gap:2px; }
body.one-ds-modern-page .ods-appointment-view-eyebrow { display:flex; align-items:center; gap:6px; color:#1687e8; font-size:9.5px; font-weight:900; letter-spacing:.055em; text-transform:uppercase; }
body.one-ds-modern-page .ods-appointment-view-identity > strong { color:#17263a; font-size:20px; font-weight:950; line-height:1.08; }
body.one-ds-modern-page .ods-appointment-view-identity > small { color:#53657a; font-size:12px; font-weight:760; }
body.one-ds-modern-page .ods-appointment-view-stockline { margin-top:4px; color:#7a8aa0; font-size:10px; font-weight:780; }
body.one-ds-modern-page .ods-appointment-view-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-bottom:1px solid #edf2f7; }
body.one-ds-modern-page .ods-appointment-view-facts > div { min-width:0; padding:11px 14px; border-right:1px solid #edf2f7; }
body.one-ds-modern-page .ods-appointment-view-facts > div:last-child { border-right:0; }
body.one-ds-modern-page .ods-appointment-view-facts span,
body.one-ds-modern-page .ods-appointment-view-service span,
body.one-ds-modern-page .ods-appointment-view-notes span { display:block; color:#7b8da3; font-size:9px; font-weight:850; letter-spacing:.04em; text-transform:uppercase; }
body.one-ds-modern-page .ods-appointment-view-facts strong,
body.one-ds-modern-page .ods-appointment-view-service strong { display:block; margin-top:3px; color:#25364b; font-size:12px; font-weight:850; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
body.one-ds-modern-page .ods-appointment-view-service { padding:11px 14px; border-bottom:1px solid #edf2f7; background:#f8fbfe; }
body.one-ds-modern-page .ods-appointment-view-notes { padding:11px 14px; border-bottom:1px solid #edf2f7; }
body.one-ds-modern-page .ods-appointment-view-notes p { margin:4px 0 0; color:#42536a; font-size:11.5px; font-weight:650; line-height:1.4; }
body.one-ds-modern-page .ods-appointment-view-submitted { display:flex; align-items:center; gap:7px; padding:9px 14px; color:#718096; background:#fbfdff; font-size:10px; font-weight:720; }
body.one-ds-modern-page .ods-appointment-view-submitted i { color:#8b5cf6; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-edit-mode #odsAppointmentViewCard { display:none !important; }
body.one-ds-modern-page #editScheduleModel.ods-appointment-edit-mode .showResult > section:not(#odsAppointmentViewCard) { display:block !important; }

body.theme-dark.one-ds-modern-page .ods-appointment-view-card-v2 { background:linear-gradient(180deg,#1f2937,#182235); border-color:#374151; }
body.theme-dark.one-ds-modern-page .ods-appointment-view-top,
body.theme-dark.one-ds-modern-page .ods-appointment-view-facts,
body.theme-dark.one-ds-modern-page .ods-appointment-view-facts > div,
body.theme-dark.one-ds-modern-page .ods-appointment-view-service,
body.theme-dark.one-ds-modern-page .ods-appointment-view-notes { border-color:#374151; }
body.theme-dark.one-ds-modern-page .ods-appointment-view-identity > strong,
body.theme-dark.one-ds-modern-page .ods-appointment-view-facts strong,
body.theme-dark.one-ds-modern-page .ods-appointment-view-service strong { color:#f8fafc; }
body.theme-dark.one-ds-modern-page .ods-appointment-view-identity > small,
body.theme-dark.one-ds-modern-page .ods-appointment-view-stockline,
body.theme-dark.one-ds-modern-page .ods-appointment-view-notes p { color:#cbd5e1; }
body.theme-dark.one-ds-modern-page .ods-appointment-view-service,
body.theme-dark.one-ds-modern-page .ods-appointment-view-submitted { background:#111827; }

@media (max-width:767px) {
    body.one-ds-modern-page .ods-appointment-view-facts { grid-template-columns:1fr 1fr; }
    body.one-ds-modern-page .ods-appointment-view-facts > div:nth-child(2) { border-right:0; }
    .ods-soldlog-appointment-drawer.ods-appointment-drawer .modal-dialog { width:100% !important; max-width:100% !important; }
    .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-card { grid-template-columns:1fr; }
    .ods-soldlog-appointment-drawer.ods-appointment-drawer .ods-concept-a-info { padding-left:0; padding-top:8px; border-left:0; border-top:1px solid #edf2f7; }
}

/* ========================================================================== */
/* ORIGINAL 1DS - Appointments Calendar approved S-tier layout (2026-08-22)  */
/* ========================================================================== */
body.one-ds-modern-page .ods-status-multiselect {
    position: relative;
    z-index: 18;
}
body.one-ds-modern-page .ods-status-filter-toggle {
    display: flex;
    width: 100%;
    height: 38px;
    align-items: center;
    justify-content: space-between;
    padding: 0 12px;
    border: 1px solid #d9e4f0;
    border-radius: 10px;
    color: #1f2937;
    background: #fff;
    font-size: 11px;
    font-weight: 760;
    cursor: pointer;
}
body.one-ds-modern-page .ods-status-multiselect.is-open .ods-status-filter-toggle {
    border-color: #2196f3;
    box-shadow: 0 0 0 3px rgba(33,150,243,.10);
}
body.one-ds-modern-page .ods-status-filter-toggle i {
    color: #64748b;
    font-size: 9px;
    transition: transform .16s ease;
}
body.one-ds-modern-page .ods-status-multiselect.is-open .ods-status-filter-toggle i {
    transform: rotate(180deg);
}
body.one-ds-modern-page .ods-status-filter-menu {
    display: none;
    position: absolute;
    z-index: 50;
    top: calc(100% + 5px);
    left: 0;
    width: 100%;
    padding: 8px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(15,23,42,.14);
}
body.one-ds-modern-page .ods-status-multiselect.is-open .ods-status-filter-menu { display: grid; gap: 3px; }
body.one-ds-modern-page .ods-status-filter-option {
    display: grid;
    grid-template-columns: 18px 16px minmax(0,1fr);
    gap: 7px;
    align-items: center;
    min-height: 30px;
    margin: 0;
    padding: 4px 5px;
    border-radius: 8px;
    color: #475569;
    font-size: 10.5px;
    font-weight: 700;
    cursor: pointer;
}
body.one-ds-modern-page .ods-status-filter-option:hover { background: #f8fafc; }
body.one-ds-modern-page .ods-status-filter-option input { position: absolute; opacity: 0; pointer-events: none; }
body.one-ds-modern-page .ods-status-check {
    display: grid;
    width: 16px;
    height: 16px;
    place-items: center;
    border: 1px solid #cbd5e1;
    border-radius: 4px;
    color: transparent;
    background: #fff;
    font-size: 8px;
}
body.one-ds-modern-page .ods-status-filter-option input:checked + .ods-status-check {
    color: #fff;
    border-color: #2196f3;
    background: #2196f3;
}
body.one-ds-modern-page .ods-status-dot { font-size: 11px; }
body.one-ds-modern-page .ods-status-filter-option.is-confirmed .ods-status-dot { color: #8b5cf6; }
body.one-ds-modern-page .ods-status-filter-option.is-pending .ods-status-dot { color: #f59e0b; }
body.one-ds-modern-page .ods-status-filter-option.is-complete .ods-status-dot { color: #16a34a; }

/* Give each hour enough vertical room for the approved five-line appointment card. */
body.one-ds-modern-page .ods-calendar-content-grid { min-height: 1560px; }
body.one-ds-modern-page .ods-calendar-stage { padding: 0 8px 10px 4px; }
body.one-ds-modern-page #calendar { height: 1560px; }
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-timezone,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-hour {
    font-size: calc(10.5px * var(--ods-appointment-font-scale, 1.16)) !important;
    font-weight: 700 !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-date-area {
    min-height: 40px !important;
    font-size: calc(11px * var(--ods-appointment-font-scale, 1.16)) !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule {
    overflow: visible !important;
    box-sizing: border-box !important;
    padding: 2px 3px !important;
    border-radius: 9px !important;
    box-shadow: none !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule-content {
    overflow: visible !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
    border-radius: 9px !important;
    background: transparent !important;
    font-size: inherit !important;
    line-height: normal !important;
}
body.one-ds-modern-page .ods-cal-card-detail {
    position: relative;
    display: flex;
    height: 100%;
    min-height: 58px;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
    padding: 6px 7px 6px 9px;
    border: 1px solid #bfdbfe;
    border-left: 3px solid var(--ods-coordinator-accent, #2196f3);
    border-radius: 9px;
    color: #162033;
    background: linear-gradient(180deg, #f8fbff 0%, #eff6ff 100%);
    box-shadow: 0 3px 10px rgba(15,23,42,.08);
    font-size: calc(8.2px * var(--ods-appointment-font-scale, 1.16));
    line-height: 1.12;
}
body.one-ds-modern-page .ods-cal-card-detail.is-pending {
    border-color: #fed7aa;
    border-left-color: var(--ods-coordinator-accent, #f59e0b);
    background: linear-gradient(180deg, #fffaf0 0%, #fff7e8 100%);
}
body.one-ds-modern-page .ods-cal-card-detail.is-complete {
    border-color: #bbf7d0;
    border-left-color: var(--ods-coordinator-accent, #16a34a);
    background: linear-gradient(180deg, #f4fff8 0%, #ecfdf3 100%);
}
body.one-ds-modern-page .ods-cal-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    min-width: 0;
    color: #64748b;
    font-size: .92em;
    font-weight: 760;
}
body.one-ds-modern-page .ods-cal-card-time { color: #0d7cd8; font-weight: 850; white-space: nowrap; }
body.one-ds-modern-page .is-pending .ods-cal-card-time { color: #d97706; }
body.one-ds-modern-page .is-complete .ods-cal-card-time { color: #129144; }
body.one-ds-modern-page .ods-cal-card-coordinator {
    overflow: hidden;
    min-width: 0;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-cal-card-customer {
    overflow: hidden;
    color: #111827;
    font-size: 1.08em;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-cal-card-vehicle {
    overflow: hidden;
    color: #475569;
    font-size: .94em;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}
body.one-ds-modern-page .ods-cal-card-row {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    color: #4b5d73;
    font-size: .91em;
    font-weight: 650;
}
body.one-ds-modern-page .ods-cal-card-row i { width: 10px; flex: 0 0 10px; color: #74869c; font-size: .92em; text-align: center; }
body.one-ds-modern-page .ods-cal-card-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body.one-ds-modern-page .ods-cal-card-state {
    position: absolute;
    right: 6px;
    bottom: 5px;
    padding: 2px 4px;
    border-radius: 5px;
    color: #0d7cd8;
    background: rgba(33,150,243,.09);
    font-size: .74em;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: .02em;
}
body.one-ds-modern-page .is-pending .ods-cal-card-state { color: #b45309; background: rgba(245,158,11,.12); }
body.one-ds-modern-page .is-complete .ods-cal-card-state { color: #15803d; background: rgba(22,163,74,.10); }
body.one-ds-modern-page .ods-cal-card-consultant { padding-right: 42px; }

/* Keep normal appointments inside their scheduled hour. Completed appointments can
   contract to the next 30-minute release boundary while retaining a readable card. */
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule-content > * { box-sizing: border-box; }
body.one-ds-modern-page .ods-calendar-stage .ods-cal-card-detail { max-height: 100%; }


/* Upcoming cards use exactly the same information hierarchy as the calendar cards. */
body.one-ds-modern-page .ods-upcoming-panel { padding: 13px 10px; background: #fbfcfe; }
body.one-ds-modern-page .ods-upcoming-list { gap: 9px; padding-top: 9px; }
body.one-ds-modern-page .ods-upcoming-item {
    position: relative;
    display: grid;
    grid-template-columns: 45px minmax(0,1fr);
    gap: 10px;
    width: 100%;
    min-height: 112px;
    padding: 10px;
    border: 1px solid #e5ebf2;
    border-left: 3px solid var(--ods-coordinator-accent, #2196f3);
    border-radius: 12px;
    color: inherit;
    background: #fff;
    box-shadow: 0 3px 12px rgba(15,23,42,.035);
    text-align: left;
    cursor: pointer;
}
body.one-ds-modern-page .ods-upcoming-item:hover { border-color: #cbd8e6; background: #fff; box-shadow: 0 8px 20px rgba(15,23,42,.08); transform: translateY(-1px); }
body.one-ds-modern-page .ods-upcoming-date {
    display: flex;
    height: 55px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    align-self: start;
    border-radius: 10px;
    color: #0f8f61;
    background: #eefbf5;
}
body.one-ds-modern-page .ods-upcoming-date small { margin: 0 0 1px; color: inherit; font-size: 8px; font-weight: 850; text-transform: uppercase; }
body.one-ds-modern-page .ods-upcoming-date strong { color: inherit; font-size: 18px; font-weight: 900; line-height: 1; }
body.one-ds-modern-page .ods-upcoming-copy { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
body.one-ds-modern-page .ods-upcoming-top { display: flex; align-items: center; gap: 6px; min-width: 0; padding-right: 48px; color: #64748b; font-size: 8.8px; }
body.one-ds-modern-page .ods-upcoming-top b { color: #334155; font-size: 9px; font-weight: 850; white-space: nowrap; }
body.one-ds-modern-page .ods-upcoming-top em { overflow: hidden; min-width: 0; font-style: normal; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
body.one-ds-modern-page .ods-upcoming-state { position: absolute; top: 9px; right: 9px; padding: 3px 6px; border-radius: 999px; color: #0d7cd8; background: #eaf5ff; font-size: 7.5px; font-weight: 850; }
body.one-ds-modern-page .ods-upcoming-item.is-pending .ods-upcoming-state { color: #b45309; background: #fff4dd; }
body.one-ds-modern-page .ods-upcoming-item.is-complete .ods-upcoming-state { color: #15803d; background: #eaf8ef; }
body.one-ds-modern-page .ods-upcoming-copy > strong { overflow: hidden; color: #111827; font-size: 11px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
body.one-ds-modern-page .ods-upcoming-vehicle { overflow: hidden; margin: 0 !important; color: #526173 !important; font-size: 9.2px !important; font-weight: 650 !important; text-overflow: ellipsis; white-space: nowrap; }
body.one-ds-modern-page .ods-upcoming-activity,
body.one-ds-modern-page .ods-upcoming-responsible { display: flex; align-items: center; gap: 5px; overflow: hidden; margin: 0 !important; color: #64748b !important; font-size: 8.8px !important; font-weight: 650 !important; text-overflow: ellipsis; white-space: nowrap; }
body.one-ds-modern-page .ods-upcoming-activity i,
body.one-ds-modern-page .ods-upcoming-responsible i { width: 10px; color: #7890a8; text-align: center; }

body.one-ds-modern-page.theme-dark .ods-status-filter-toggle,
body.one-ds-modern-page.theme-dark .ods-status-filter-menu,
body.one-ds-modern-page.theme-dark .ods-upcoming-item { color: #e5edf7; border-color: #374151; background: #1f2937; }
body.one-ds-modern-page.theme-dark .ods-status-filter-option { color: #d6dfeb; }
body.one-ds-modern-page.theme-dark .ods-status-filter-option:hover { background: #263244; }
body.one-ds-modern-page.theme-dark .ods-status-check { border-color: #536174; background: #111827; }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail { color: #f8fafc; border-color: #365678; background: linear-gradient(180deg,#18293c,#162536); }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail.is-pending { border-color: #6f5329; background: linear-gradient(180deg,#2f291e,#292319); }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail.is-complete { border-color: #245c42; background: linear-gradient(180deg,#163229,#142a23); }
body.one-ds-modern-page.theme-dark .ods-cal-card-customer { color: #f8fafc; }
body.one-ds-modern-page.theme-dark .ods-cal-card-vehicle,
body.one-ds-modern-page.theme-dark .ods-cal-card-row,
body.one-ds-modern-page.theme-dark .ods-cal-card-coordinator { color: #cbd5e1; }
body.one-ds-modern-page.theme-dark .ods-upcoming-copy > strong { color: #f8fafc; }
body.one-ds-modern-page.theme-dark .ods-upcoming-vehicle,
body.one-ds-modern-page.theme-dark .ods-upcoming-activity,
body.one-ds-modern-page.theme-dark .ods-upcoming-responsible,
body.one-ds-modern-page.theme-dark .ods-upcoming-top { color: #cbd5e1 !important; }
body.one-ds-modern-page.theme-dark .ods-upcoming-item:hover { background: #243143; border-color: #4a5b70; }
body.one-ds-modern-page.theme-dark .ods-upcoming-date { color: #66d9aa; background: #17372d; }

@media (max-width: 1280px) {
    body.one-ds-modern-page .ods-calendar-content-grid { grid-template-columns: minmax(0,1fr) 260px; }
    body.one-ds-modern-page .ods-cal-card-detail { font-size: calc(7.7px * var(--ods-appointment-font-scale, 1.16)); }
}


/* ==========================================================================
   ORIGINAL 1DS APPOINTMENTS - CALENDAR SLOT GEOMETRY REPAIR 2026-08-22
   ========================================================================== */
body.one-ds-modern-page .ods-status-filter-option {
    display: grid !important;
    grid-template-columns: 16px 12px minmax(0, 1fr) !important;
    column-gap: 6px !important;
    align-items: center !important;
    min-height: 27px !important;
    padding: 3px 4px !important;
    white-space: nowrap !important;
}
body.one-ds-modern-page .ods-status-filter-option > span:last-child {
    min-width: 0;
    line-height: 1 !important;
}
body.one-ds-modern-page .ods-status-filter-option .ods-status-check,
body.one-ds-modern-page .ods-status-filter-option .ods-status-dot {
    align-self: center !important;
    justify-self: center !important;
    margin: 0 !important;
}
body.one-ds-modern-page .ods-status-filter-menu {
    padding: 7px !important;
}

/* The JS theme now makes every TUI hour 88px. Let TUI own top/height positioning.
   The card is clipped inside that exact event box so it can never bleed into the next time. */
body.one-ds-modern-page .ods-calendar-content-grid { min-height: 1220px !important; }
body.one-ds-modern-page #calendar { height: 1220px !important; }
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule {
    overflow: hidden !important;
    padding: 2px 3px !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-time-schedule-content {
    overflow: hidden !important;
    height: 100% !important;
    padding: 0 !important;
}
body.one-ds-modern-page .ods-cal-card-detail {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-height: 100% !important;
    gap: 2px !important;
    padding: 5px 6px 5px 8px !important;
    box-sizing: border-box !important;
}
/* Keep all five requested data points in a 30-minute completed block without reducing type.
   Activity + consultant share the final line only for short blocks. */
body.one-ds-modern-page .ods-cal-card-detail.is-short {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto auto auto !important;
    column-gap: 5px !important;
    row-gap: 0 !important;
    padding: 2px 5px 2px 7px !important;
    line-height: 1.02 !important;
}
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-head { grid-column: 1 / -1; grid-row: 1; }
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-customer { grid-column: 1 / -1; grid-row: 2; }
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-vehicle { grid-column: 1 / -1; grid-row: 3; }
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-activity { grid-column: 1; grid-row: 4; min-width: 0; }
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-consultant { grid-column: 2; grid-row: 4; min-width: 0; padding-right: 0 !important; }
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-state { display: none !important; }
body.one-ds-modern-page .ods-cal-card-detail.is-short .ods-cal-card-row { margin: 0 !important; }

body.one-ds-modern-page.theme-dark .ods-status-filter-menu { background: #172033 !important; border-color: #334155 !important; }


/* ==========================================================================
   ORIGINAL 1DS APPOINTMENTS - STATIC STATUS FILTER 2026-08-22
   Calendar geometry intentionally untouched.
   ========================================================================== */
body.one-ds-modern-page #odsStatusFilter.ods-status-static,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static {
    position: relative !important;
    width: 100% !important;
}
body.one-ds-modern-page #odsStatusFilter.ods-status-static .ods-status-filter-menu,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static .ods-status-filter-menu {
    position: static !important;
    inset: auto !important;
    display: grid !important;
    gap: 7px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 10px 11px !important;
    margin: 0 !important;
    border: 1px solid #dbe5f1 !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 5px 14px rgba(15, 23, 42, .06) !important;
}
body.one-ds-modern-page #odsStatusFilter.ods-status-static .ods-status-filter-option,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static .ods-status-filter-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 24px !important;
    padding: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    line-height: 1 !important;
}
body.one-ds-modern-page #odsStatusFilter.ods-status-static .ods-status-filter-option:hover,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static .ods-status-filter-option:hover {
    background: transparent !important;
}
body.one-ds-modern-page #odsStatusFilter.ods-status-static .ods-status-check,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static .ods-status-check {
    flex: 0 0 16px !important;
    width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
}
body.one-ds-modern-page #odsStatusFilter.ods-status-static .ods-status-dot,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static .ods-status-dot {
    flex: 0 0 auto !important;
    width: 11px !important;
    margin: 0 !important;
    font-size: 10px !important;
    line-height: 1 !important;
}
body.one-ds-modern-page #odsStatusFilter.ods-status-static .ods-status-filter-option > span:last-child,
body.one-ds-modern-page #odsListStatusFilter.ods-status-static .ods-status-filter-option > span:last-child {
    flex: 0 0 auto !important;
    margin: 0 !important;
    font-size: 11.5px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
}
body.one-ds-modern-page.theme-dark #odsStatusFilter.ods-status-static .ods-status-filter-menu,
body.one-ds-modern-page.theme-dark #odsListStatusFilter.ods-status-static .ods-status-filter-menu {
    background: #172033 !important;
    border-color: #334155 !important;
}


/* ==========================================================================
   ORIGINAL 1DS APPOINTMENTS - CALENDAR TYPE + RESPONSIVE UPCOMING POLISH
   2026-08-22
   ========================================================================== */
/* 20% larger calendar card typography while preserving the approved geometry. */
body.one-ds-modern-page .ods-cal-card-detail {
    font-size: calc(9.84px * var(--ods-appointment-font-scale, 1.16)) !important;
}
body.one-ds-modern-page .ods-cal-card-customer {
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}

/* Upcoming uses the same hierarchy and receives the same 20% readability lift. */
body.one-ds-modern-page .ods-upcoming-panel {
    container-type: inline-size;
    container-name: ods-upcoming;
}
body.one-ds-modern-page .ods-upcoming-date small { font-size: 9.6px !important; }
body.one-ds-modern-page .ods-upcoming-date strong { font-size: 21.6px !important; }
body.one-ds-modern-page .ods-upcoming-top { font-size: 10.56px !important; }
body.one-ds-modern-page .ods-upcoming-top b { font-size: 10.8px !important; }
body.one-ds-modern-page .ods-upcoming-state { font-size: 9px !important; }
body.one-ds-modern-page .ods-upcoming-copy > strong {
    font-size: 13.2px !important;
    text-decoration: underline !important;
    text-decoration-thickness: 1px !important;
    text-underline-offset: 2px !important;
}
body.one-ds-modern-page .ods-upcoming-vehicle { font-size: 11.04px !important; }
body.one-ds-modern-page .ods-upcoming-activity,
body.one-ds-modern-page .ods-upcoming-responsible { font-size: 10.56px !important; }

/* When the draggable Upcoming panel becomes narrow, move the status to a
   vertical edge badge before it can cover the time/coordinator line. */
@container ods-upcoming (max-width: 255px) {
    body.one-ds-modern-page .ods-upcoming-item {
        grid-template-columns: 45px minmax(0, 1fr) !important;
        padding-right: 27px !important;
    }
    body.one-ds-modern-page .ods-upcoming-top {
        padding-right: 0 !important;
    }
    body.one-ds-modern-page .ods-upcoming-state {
        top: 10px !important;
        right: 5px !important;
        bottom: 10px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        min-width: 18px !important;
        padding: 5px 3px !important;
        border-radius: 8px !important;
        writing-mode: vertical-rl !important;
        text-orientation: mixed !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 1280px) {
    body.one-ds-modern-page .ods-cal-card-detail {
        font-size: calc(9.24px * var(--ods-appointment-font-scale, 1.16)) !important;
    }
}

/* ==========================================================================
   ORIGINAL 1DS - APPOINTMENTS S-TIER POLISH + APPROVAL STATES
   2026-08-24
   ========================================================================== */

/* Calendar canvas: give event cards a real surface to sit on. */
body.one-ds-modern-page .ods-calendar-stage {
    background: #f5f8fc !important;
    border-color: #d9e4ef !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-weekday-grid-line,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-gridline,
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-timegrid-hour {
    border-color: #dfe7f0 !important;
}
body.one-ds-modern-page .ods-calendar-stage .tui-full-calendar-dayname-container {
    border-color: #d8e3ee !important;
    background: #f9fbfd !important;
}

/* Premium semantic calendar cards. Coordinator color stays the identity rail. */
body.one-ds-modern-page .ods-cal-card-detail {
    border-width: 1px !important;
    border-left-width: 4px !important;
    border-color: #b9d9f5 !important;
    border-left-color: var(--ods-coordinator-accent, #2196f3) !important;
    background: linear-gradient(180deg, #f7fbff 0%, #eef7ff 100%) !important;
    box-shadow: 0 7px 18px rgba(39, 91, 140, .14) !important;
}
body.one-ds-modern-page .ods-cal-card-detail.is-confirmed {
    border-color: #91c9f7 !important;
    border-left-color: var(--ods-coordinator-accent, #2196f3) !important;
    background: linear-gradient(180deg, #f2f9ff 0%, #e7f4ff 100%) !important;
}
body.one-ds-modern-page .ods-cal-card-detail.is-pending {
    border-color: #efc86a !important;
    border-left-color: var(--ods-coordinator-accent, #f59e0b) !important;
    background: linear-gradient(180deg, #fffaf0 0%, #fff1cf 100%) !important;
}
body.one-ds-modern-page .ods-cal-card-detail.is-complete {
    border-color: #7fd0a6 !important;
    border-left-color: var(--ods-coordinator-accent, #16a34a) !important;
    background: linear-gradient(180deg, #f2fff7 0%, #e4f9ec 100%) !important;
}
body.one-ds-modern-page .ods-cal-card-detail.is-approval {
    border-color: #b9a7ff !important;
    border-left-color: #8b5cf6 !important;
    background: linear-gradient(180deg, #faf8ff 0%, #efeaff 100%) !important;
    box-shadow: 0 8px 20px rgba(124, 58, 237, .16) !important;
}
body.one-ds-modern-page .ods-cal-card-customer {
    color: #0b1f36 !important;
    font-weight: 950 !important;
}
body.one-ds-modern-page .ods-cal-card-vehicle { color: #29435f !important; font-weight: 760 !important; }
body.one-ds-modern-page .ods-cal-card-row,
body.one-ds-modern-page .ods-cal-card-coordinator,
body.one-ds-modern-page .ods-cal-card-time { color: #4f6680 !important; }
body.one-ds-modern-page .ods-cal-card-state {
    border: 1px solid rgba(37, 99, 235, .16) !important;
    color: #1769aa !important;
    background: rgba(255,255,255,.82) !important;
    box-shadow: 0 2px 7px rgba(15,23,42,.06) !important;
}
body.one-ds-modern-page .is-pending .ods-cal-card-state { color:#9a5b00 !important; border-color:rgba(217,119,6,.22) !important; background:#fff9ea !important; }
body.one-ds-modern-page .is-complete .ods-cal-card-state { color:#0f7a40 !important; border-color:rgba(22,163,74,.20) !important; background:#f0fff6 !important; }
body.one-ds-modern-page .is-approval .ods-cal-card-state { color:#6d28d9 !important; border-color:rgba(124,58,237,.24) !important; background:#f5f1ff !important; }

/* Upcoming cards mirror the same semantic depth. */
body.one-ds-modern-page .ods-upcoming-item {
    border: 1px solid #d9e5f1 !important;
    border-left: 4px solid var(--ods-coordinator-accent, #2196f3) !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 14px rgba(15,23,42,.055) !important;
}
body.one-ds-modern-page .ods-upcoming-item:hover {
    border-color: #abd2f5 !important;
    background: #f8fbff !important;
    box-shadow: 0 8px 18px rgba(33,150,243,.10) !important;
}

/* Drawer sections: title sits in the border line, like the approved Sold Logs language. */
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section {
    position: relative !important;
    margin-top: 11px !important;
    margin-bottom: 9px !important;
    padding: 13px 10px 8px !important;
    overflow: visible !important;
    border: 1px solid #d7e3ef !important;
    border-radius: 13px !important;
    background: #ffffff !important;
    box-shadow: 0 5px 14px rgba(15,23,42,.035) !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section-title {
    position: absolute !important;
    top: -8px !important;
    left: 12px !important;
    z-index: 2 !important;
    width: auto !important;
    max-width: calc(100% - 24px) !important;
    margin: 0 !important;
    padding: 0 7px !important;
    color: #23364d !important;
    background: #ffffff !important;
    font-size: 11.5px !important;
    font-weight: 900 !important;
    line-height: 16px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section-title.with-meta {
    right: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section-title.with-meta small {
    color: #738399 !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-drawer-section-title.centered {
    left: 50% !important;
    transform: translateX(-50%) !important;
}
body.one-ds-modern-page .ods-appointment-drawer .form-control,
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .ods-appointment-drawer .input-group-text {
    border-color: #cad8e6 !important;
    background: #f9fbfd !important;
}
body.one-ds-modern-page .ods-appointment-drawer .form-control:focus,
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select.show > .dropdown-toggle {
    border-color: #63b3ed !important;
    background: #ffffff !important;
    box-shadow: 0 0 0 3px rgba(33,150,243,.09) !important;
}
body.one-ds-modern-page .ods-appointment-drawer textarea.form-control {
    min-height: 43px !important;
    height: 43px !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required {
    border-color: #a78bfa !important;
    background: linear-gradient(180deg,#faf7ff,#f3efff) !important;
    box-shadow: 0 5px 14px rgba(124,58,237,.10) !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-icon,
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-state { color:#7c3aed !important; }
body.one-ds-modern-page .ods-manager-approval-copy small {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* List / Manager Approvals: stronger operational hierarchy without saturated full rows. */
body.one-ds-modern-page .ods-appointment-list-card {
    border-color: #d6e1ec !important;
    background: #f4f7fb !important;
    box-shadow: 0 12px 28px rgba(15,23,42,.065) !important;
}
body.one-ds-modern-page .ods-list-toolbar {
    border-bottom-color: #d8e3ee !important;
    background: linear-gradient(180deg,#ffffff 0%,#f8fbfe 100%) !important;
}
body.one-ds-modern-page .ods-appointment-list-table thead th {
    color: #50647c !important;
    font-weight: 900 !important;
    letter-spacing: .045em !important;
}
body.one-ds-modern-page .ods-appointment-list-table tbody td {
    border-top-color: #d7e2ed !important;
    border-bottom-color: #d7e2ed !important;
    background: #ffffff !important;
    box-shadow: 0 3px 10px rgba(15,23,42,.035) !important;
}
body.one-ds-modern-page .ods-appointment-list-table tbody td:first-child,
body.one-ds-modern-page .ods-appointment-list-table tbody td.ods-appointment-primary-td { border-left-color:#d7e2ed !important; }
body.one-ds-modern-page .ods-appointment-list-table tbody td:last-child,
body.one-ds-modern-page .ods-appointment-list-table tbody td.ods-actions-td { border-right-color:#d7e2ed !important; }
body.one-ds-modern-page .ods-appointment-list-table tbody tr:hover td,
body.one-ds-modern-page .ods-appointment-list-table tbody tr.is-editable:hover td {
    border-color: #9bcaf1 !important;
    background: #f4f9ff !important;
    box-shadow: 0 6px 16px rgba(33,150,243,.075) !important;
}
body.one-ds-modern-page .ods-list-appointment-cell strong,
body.one-ds-modern-page .ods-list-datetime strong,
body.one-ds-modern-page .ods-list-coordinator strong { color:#12253b !important; font-weight:900 !important; }
body.one-ds-modern-page .ods-list-appointment-cell > span,
body.one-ds-modern-page .ods-list-responsible,
body.one-ds-modern-page .ods-list-datetime span { color:#536a84 !important; font-weight:720 !important; }
body.one-ds-modern-page .ods-coordinator-avatar {
    border: 1px solid color-mix(in srgb, var(--coordinator-color, #2196f3) 48%, #ffffff) !important;
    color: #0f4f87 !important;
    background: color-mix(in srgb, var(--coordinator-color, #2196f3) 14%, #ffffff) !important;
    box-shadow: 0 3px 8px rgba(15,23,42,.08) !important;
}
body.one-ds-modern-page .ods-service-pill.is-delivery {
    border: 1px solid #b8dcfa !important;
    color: #096dbb !important;
    background: #e5f3ff !important;
}
body.one-ds-modern-page .ods-service-pill.is-service {
    border: 1px solid #d4c6ff !important;
    color: #6840c7 !important;
    background: #efe9ff !important;
}
body.one-ds-modern-page .ods-status-pill.is-confirmed {
    border:1px solid #a5e2c1 !important;
    color:#08783a !important;
    background:#ddf8e9 !important;
}
body.one-ds-modern-page .ods-status-pill.is-complete {
    border:1px solid #88d4ad !important;
    color:#066b35 !important;
    background:#d7f5e5 !important;
}
body.one-ds-modern-page .ods-status-pill.is-pending {
    border:1px solid #f0cf7c !important;
    color:#995c00 !important;
    background:#fff1cc !important;
}
body.one-ds-modern-page .ods-status-pill.is-approval {
    border:1px solid #c6b5ff !important;
    color:#6d28d9 !important;
    background:#eee9ff !important;
}
body.one-ds-modern-page .ods-approval-pill {
    min-height: 29px !important;
    border: 1px solid #1c91e7 !important;
    background: linear-gradient(135deg,#38bdf8,#2196f3) !important;
    box-shadow: 0 5px 12px rgba(33,150,243,.20) !important;
}
body.one-ds-modern-page .ods-approval-stack {
    display: inline-flex !important;
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
}
body.one-ds-modern-page .ods-approval-reason {
    display: block !important;
    max-width: 150px !important;
    overflow: hidden !important;
    color: #6c5a92 !important;
    font-size: 8.8px !important;
    font-weight: 780 !important;
    line-height: 1.15 !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Dark mode: distinct depth layers and brighter operational color. */
body.one-ds-modern-page.theme-dark .ods-calendar-stage {
    background: #141f2f !important;
    border-color: #35475d !important;
}
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-dayname-container { background:#182538 !important; border-color:#3b4d63 !important; }
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-weekday-grid-line,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-timegrid-gridline,
body.one-ds-modern-page.theme-dark .ods-calendar-stage .tui-full-calendar-timegrid-hour { border-color:#33465b !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail {
    color:#f8fafc !important;
    border-color:#3f6f9b !important;
    border-left-color:var(--ods-coordinator-accent,#38bdf8) !important;
    background:linear-gradient(180deg,#1b3045 0%,#17283a 100%) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.34) !important;
}
body.one-ds-modern-page.theme-dark .ods-cal-card-detail.is-confirmed { border-color:#377bb2 !important; background:linear-gradient(180deg,#183450,#142c43) !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail.is-pending { border-color:#8a6723 !important; background:linear-gradient(180deg,#352b17,#2c2414) !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail.is-complete { border-color:#2c8157 !important; background:linear-gradient(180deg,#173d2d,#133326) !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-detail.is-approval { border-color:#7956c8 !important; border-left-color:#9b7cff !important; background:linear-gradient(180deg,#30254a,#28203e) !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-customer { color:#ffffff !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-vehicle { color:#d5e3f1 !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-row,
body.one-ds-modern-page.theme-dark .ods-cal-card-coordinator,
body.one-ds-modern-page.theme-dark .ods-cal-card-time { color:#b9cadb !important; }
body.one-ds-modern-page.theme-dark .ods-cal-card-state { border-color:#42617f !important; color:#dcecff !important; background:rgba(8,18,31,.66) !important; }
body.one-ds-modern-page.theme-dark .is-pending .ods-cal-card-state { color:#ffd77a !important; border-color:#7f6429 !important; background:#2b2416 !important; }
body.one-ds-modern-page.theme-dark .is-complete .ods-cal-card-state { color:#8ce4b4 !important; border-color:#286848 !important; background:#153325 !important; }
body.one-ds-modern-page.theme-dark .is-approval .ods-cal-card-state { color:#d2c5ff !important; border-color:#7055af !important; background:#2a2240 !important; }

body.one-ds-modern-page.theme-dark .ods-upcoming-item {
    border-color:#3a4c62 !important;
    border-left-color:var(--ods-coordinator-accent,#38bdf8) !important;
    background:#1b293a !important;
    box-shadow:0 7px 18px rgba(0,0,0,.26) !important;
}
body.one-ds-modern-page.theme-dark .ods-upcoming-item:hover { border-color:#4f769c !important; background:#213449 !important; }

body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-drawer-section {
    border-color:#3b4d63 !important;
    background:#1a2738 !important;
    box-shadow:0 6px 16px rgba(0,0,0,.18) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-drawer-section-title {
    color:#f8fafc !important;
    background:#1a2738 !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-drawer-section-title.with-meta small { color:#9fb1c5 !important; }
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .form-control,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .input-group-text {
    border-color:#43566e !important;
    color:#f8fafc !important;
    background:#101b2a !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .form-control::placeholder { color:#8294a8 !important; opacity:1 !important; }
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select > .dropdown-toggle .filter-option-inner-inner { color:#f8fafc !important; }
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required {
    border-color:#7759c9 !important;
    background:linear-gradient(180deg,#2f2548,#28203c) !important;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required .ods-manager-approval-copy strong { color:#f4f0ff !important; }
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required .ods-manager-approval-copy small { color:#d6caff !important; }

body.one-ds-modern-page.theme-dark .ods-appointment-list-card {
    border-color:#33475d !important;
    background:#131e2d !important;
    box-shadow:0 14px 32px rgba(0,0,0,.28) !important;
}
body.one-ds-modern-page.theme-dark .ods-list-toolbar {
    border-bottom-color:#35485e !important;
    background:linear-gradient(180deg,#1d2a3b 0%,#192638 100%) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-list-table thead th { color:#aebfd2 !important; }
body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody td {
    border-color:#374a60 !important;
    color:#e8f0f8 !important;
    background:#1c2a3b !important;
    box-shadow:0 4px 12px rgba(0,0,0,.16) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody tr:hover td,
body.one-ds-modern-page.theme-dark .ods-appointment-list-table tbody tr.is-editable:hover td {
    border-color:#4b7299 !important;
    color:#f8fafc !important;
    background:#23374c !important;
    box-shadow:0 7px 18px rgba(0,0,0,.22) !important;
}
body.one-ds-modern-page.theme-dark .ods-list-appointment-cell strong,
body.one-ds-modern-page.theme-dark .ods-list-datetime strong,
body.one-ds-modern-page.theme-dark .ods-list-coordinator strong,
body.one-ds-modern-page.theme-dark .ods-list-responsible { color:#f8fafc !important; }
body.one-ds-modern-page.theme-dark .ods-list-appointment-cell > span,
body.one-ds-modern-page.theme-dark .ods-list-datetime span,
body.one-ds-modern-page.theme-dark .ods-list-stock-line,
body.one-ds-modern-page.theme-dark .ods-list-vin-line,
body.one-ds-modern-page.theme-dark .ods-list-note { color:#b9c8d8 !important; }
body.one-ds-modern-page.theme-dark .ods-service-pill.is-delivery { border-color:#2c628d !important; color:#8fd2ff !important; background:#173a56 !important; }
body.one-ds-modern-page.theme-dark .ods-service-pill.is-service { border-color:#604b96 !important; color:#c8b8ff !important; background:#30274c !important; }
body.one-ds-modern-page.theme-dark .ods-status-pill.is-confirmed { border-color:#2c7951 !important; color:#82e3ad !important; background:#173b2a !important; }
body.one-ds-modern-page.theme-dark .ods-status-pill.is-complete { border-color:#268050 !important; color:#8ce8b4 !important; background:#143927 !important; }
body.one-ds-modern-page.theme-dark .ods-status-pill.is-pending { border-color:#8b6a24 !important; color:#ffd878 !important; background:#352b16 !important; }
body.one-ds-modern-page.theme-dark .ods-status-pill.is-approval { border-color:#7055ae !important; color:#d4c8ff !important; background:#30264a !important; }
body.one-ds-modern-page.theme-dark .ods-approval-reason { color:#c4b9e6 !important; }

/* =======================================================
   1DS GLOBAL ALERT STACKING
   Critical confirmations/errors must always appear above
   drawers, inspection studios, scanners, modals and overlays.
======================================================= */
.swal2-container {
    z-index: 2147483647 !important;
}

/* Customer & Vehicle uses the same legend-in-border language as the drawer sections. */
body.one-ds-modern-page .ods-appointment-drawer .ods-concept-a-card {
    padding-top: 17px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-concept-a-kicker {
    position: absolute !important;
    top: -9px !important;
    left: 13px !important;
    z-index: 3 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 7px !important;
    color: #23364d !important;
    background: #ffffff !important;
    font-weight: 900 !important;
    line-height: 18px !important;
}
body.one-ds-modern-page .ods-appointment-drawer .ods-concept-a-kicker .ods-compact-avatar {
    width: 22px !important;
    height: 22px !important;
    margin-left: -2px !important;
    border: 2px solid #ffffff !important;
    box-shadow: 0 2px 7px rgba(15,23,42,.08) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-kicker {
    color: #f8fafc !important;
    background: #1a2738 !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-kicker .ods-compact-avatar {
    border-color: #1a2738 !important;
}

/* ========================================================================== 
   APPOINTMENTS RELEASE CANDIDATE — final state/overlay contrast corrections
   Keep these rules last so Bootstrap Select and older appointment batches
   cannot erase selected states in dark mode.
   ========================================================================== */
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-summary-add:not(.d-none) {
    border-color: #48617d !important;
    color: #edf5ff !important;
    background: linear-gradient(180deg, #22344a 0%, #1d2d41 100%) !important;
    box-shadow: 0 7px 18px rgba(0, 0, 0, .24) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-summary-add strong,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-summary-add b {
    color: #ffffff !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-summary-add span,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-concept-a-summary-add small {
    color: #bdd0e4 !important;
}

/* Menus are elevated surfaces: visibly lighter than the drawer in dark mode. */
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu {
    border: 1px solid #c9d8e8 !important;
    border-radius: 12px !important;
    color: #23364d !important;
    background: #ffffff !important;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .22) !important;
}
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu.inner {
    background: transparent !important;
}
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .bs-searchbox {
    padding: 6px 7px 8px !important;
    background: transparent !important;
}
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu li a {
    border-radius: 8px !important;
    color: #263a52 !important;
}
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu li a:hover,
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu li.active > a,
body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select .dropdown-menu li.selected > a {
    color: #0f3657 !important;
    background: #e7f3ff !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu {
    border-color: #526b86 !important;
    color: #edf5ff !important;
    background: #24364b !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, .52) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu.inner {
    background: #24364b !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .bs-searchbox .form-control {
    border-color: #5b7189 !important;
    color: #ffffff !important;
    background: #101d2c !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .bs-searchbox .form-control::placeholder {
    color: #9eb0c4 !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu li a {
    color: #e8f1fa !important;
    background: transparent !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu li a:hover,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu li.active > a,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu li.selected > a {
    color: #ffffff !important;
    background: #315373 !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu .ods-stock-option,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu .ods-stock-option-top strong {
    color: #ffffff !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu .ods-stock-option-vin,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .bootstrap-select .dropdown-menu .ods-stock-option-vehicle {
    color: #c1d1e1 !important;
}

/* Bootstrap datepicker is appended to body, so it needs its own elevated layer. */
body.one-ds-modern-page .datepicker-dropdown {
    border-color: #c9d8e8 !important;
    color: #24364d !important;
    background: #ffffff !important;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .24) !important;
}
body.one-ds-modern-page .datepicker table tr th,
body.one-ds-modern-page .datepicker table tr td.day {
    color: #263a52 !important;
}
body.one-ds-modern-page .datepicker table tr td.day:hover,
body.one-ds-modern-page .datepicker table tr td.focused {
    color: #0f3657 !important;
    background: #e7f3ff !important;
}
body.one-ds-modern-page .datepicker table tr td.today:not(.active) {
    color: #0c4f83 !important;
    background: #dff1ff !important;
}
body.one-ds-modern-page .datepicker table tr td.active,
body.one-ds-modern-page .datepicker table tr td.active:hover,
body.one-ds-modern-page .datepicker table tr td.today.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, #38bdf8, #1687e8) !important;
    box-shadow: 0 4px 10px rgba(22, 135, 232, .34) !important;
}
body.one-ds-modern-page.theme-dark .datepicker-dropdown {
    border-color: #526b86 !important;
    color: #edf5ff !important;
    background: #24364b !important;
    box-shadow: 0 22px 54px rgba(0, 0, 0, .52) !important;
}
body.one-ds-modern-page.theme-dark .datepicker table tr th,
body.one-ds-modern-page.theme-dark .datepicker table tr td.day {
    color: #e8f1fa !important;
}
body.one-ds-modern-page.theme-dark .datepicker table tr td.old,
body.one-ds-modern-page.theme-dark .datepicker table tr td.new,
body.one-ds-modern-page.theme-dark .datepicker table tr td.disabled {
    color: #7f93a8 !important;
}
body.one-ds-modern-page.theme-dark .datepicker table tr td.day:hover,
body.one-ds-modern-page.theme-dark .datepicker table tr td.focused {
    color: #ffffff !important;
    background: #315373 !important;
}
body.one-ds-modern-page.theme-dark .datepicker table tr td.today:not(.active) {
    color: #a8ddff !important;
    background: #244c6b !important;
}

/* Selected controls must remain obvious after every earlier dark-mode batch. */
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-delivery-segments > label.btn.active,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-status-control .btn.active {
    border-color: #67d3ff !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #1687e8 0%, #0b6eb7 100%) !important;
    box-shadow: 0 0 0 2px rgba(56, 189, 248, .20), 0 7px 14px rgba(0, 0, 0, .24) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-delivery-segments > label.btn.active i,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-status-control .btn.active i {
    color: #ffffff !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-service-grid > label.btn.active {
    border-color: #67d3ff !important;
    color: #ffffff !important;
    background: #175d8f !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 6px 13px rgba(0, 0, 0, .22) !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-service-grid > label.btn.active i,
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-service-grid > label.btn.active::after {
    color: #ffffff !important;
}
body.one-ds-modern-page.theme-dark .ods-appointment-drawer .ods-service-grid > label.btn.active::after {
    background: #0ea5e9 !important;
    box-shadow: 0 0 0 2px #175d8f !important;
}

body.one-ds-modern-page .ods-appointment-drawer .bootstrap-select > .dropdown-toggle:focus-visible,
body.one-ds-modern-page .ods-appointment-drawer .ods-delivery-segments > label.btn:focus-visible,
body.one-ds-modern-page .ods-appointment-drawer .ods-service-grid > label.btn:focus-visible,
body.one-ds-modern-page .ods-appointment-drawer .ods-status-control .btn:focus-visible {
    outline: 3px solid rgba(56, 189, 248, .42) !important;
    outline-offset: 2px !important;
}

/* Appointment release RC3: keep time choices inside narrow mobile drawers. */
@media (max-width: 767px) {
    body.one-ds-modern-page .ods-appointment-drawer .ods-time-slot-groups,
    body.one-ds-modern-page .ods-appointment-drawer .ods-time-group,
    body.one-ds-modern-page .ods-appointment-drawer .ods-time-buttons {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
    }
    body.one-ds-modern-page .ods-appointment-drawer .ods-time-buttons {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 6px !important;
    }
    body.one-ds-modern-page .ods-appointment-drawer .ods-time-chip {
        width: 100% !important;
        min-width: 0 !important;
        padding: 6px 3px !important;
        font-size: 10.5px !important;
        white-space: nowrap !important;
    }
}

@media (max-width: 340px) {
    body.one-ds-modern-page .ods-appointment-drawer .ods-time-buttons {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ========================================================================== 
   ORIGINAL 1DS APPOINTMENTS - APPROVAL ATTENTION / FULL REASONS 2026-08-26
   Manager approval is a blocking condition. Keep every active reason visible
   and make the state unmistakable in both light and dark mode.
   ========================================================================== */
body.one-ds-modern-page .ods-manager-approval-box {
    height: auto !important;
}
body.one-ds-modern-page .ods-manager-approval-copy small {
    display: block !important;
    max-width: none !important;
    overflow: visible !important;
    text-overflow: clip !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    line-height: 1.22 !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required {
    min-height: 52px !important;
    border-color: #ef4444 !important;
    color: #b4232c !important;
    background: linear-gradient(180deg, #fff8f8 0%, #fff1f2 100%) !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,.10), inset 4px 0 0 #ef4444, 0 7px 18px rgba(190,24,93,.08) !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-icon {
    color: #dc2626 !important;
    background: #fee2e2 !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-copy strong {
    color: #991b1b !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-copy small,
body.one-ds-modern-page .ods-manager-approval-box.is-required .ods-manager-approval-state {
    color: #b4232c !important;
}
body.one-ds-modern-page .ods-manager-approval-box.is-required:hover {
    border-color: #dc2626 !important;
    background: linear-gradient(180deg, #fff5f5 0%, #ffe8ea 100%) !important;
    box-shadow: 0 0 0 4px rgba(239,68,68,.12), inset 4px 0 0 #dc2626, 0 9px 22px rgba(185,28,28,.12) !important;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required {
    border-color: #ef5966 !important;
    color: #fecaca !important;
    background: linear-gradient(180deg, #3a2028 0%, #311a22 100%) !important;
    box-shadow: 0 0 0 3px rgba(239,68,68,.14), inset 4px 0 0 #ef4444, 0 10px 24px rgba(0,0,0,.24) !important;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required .ods-manager-approval-icon {
    color: #ff8b95 !important;
    background: #51232c !important;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required .ods-manager-approval-copy strong {
    color: #fff1f2 !important;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required .ods-manager-approval-copy small,
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required .ods-manager-approval-state {
    color: #fda4af !important;
}
body.one-ds-modern-page.theme-dark .ods-manager-approval-box.is-required:hover {
    border-color: #ff6b77 !important;
    background: linear-gradient(180deg, #44242d 0%, #381d25 100%) !important;
}

/* ==========================================================================
   Timeline viewport — 2026-08-27
   #calendar was pinned to 1220px, which made TUI's scroll container nearly
   as tall as its 1408px of content and left only ~230px of scroll travel.
   Bounding it to the viewport gives the current-hour scroll enough room.
   ========================================================================== */
body.one-ds-modern-page .ods-calendar-content-grid {
    min-height: 0 !important;
}
body.one-ds-modern-page #calendar {
    height: calc(100vh - 420px) !important;
    min-height: 460px !important;
}

/* ==========================================================================
   Appointment Manager Approval Alert
   ========================================================================== */

.swal2-popup.ods-manager-approval-confirmation {
    border-radius: 18px !important;
    border: 1px solid rgba(239, 68, 68, .28) !important;
    border-top: 5px solid #ef4444 !important;
    overflow: hidden !important;
}

.ods-manager-approval-banner {
    width: calc(100% + 3.2em);
    margin: -1.25em -1.6em 18px;
    padding: 11px 16px;

    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;

    background: rgba(239, 68, 68, .10);
    border-bottom: 1px solid rgba(239, 68, 68, .22);

    color: #dc2626;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.ods-manager-approval-banner i {
    font-size: 12px;
}

.ods-manager-approval-confirmation .swal2-icon.swal2-warning {
    border-color: #ef4444 !important;
    color: #ef4444 !important;
}

.ods-manager-approval-confirmation .swal2-title {
    font-weight: 800 !important;
}

.ods-manager-approval-confirmation .btn-danger {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
}

.ods-manager-approval-confirmation .btn-danger:hover {
    background: #dc2626 !important;
    border-color: #dc2626 !important;
}

/* Rate Rules - scoped page styling */
/* Scoped Rate Rules additions; uses the existing shared 1DS theme. */
body.ods-rate-rules { --rr-bg:var(--ods-bg,#f6f8fb); --rr-surface:var(--ods-surface,#fff); --rr-border:var(--ods-border,#e4ebf4); --rr-text:var(--ods-text,#0f172a); --rr-muted:var(--ods-muted,#64748b); --rr-soft:#f1f6fd; }
body.ods-rate-rules.theme-dark { --rr-bg:#101827; --rr-surface:#192334; --rr-border:#334155; --rr-text:#edf2fa; --rr-muted:#a9b8ce; --rr-soft:#22334b; }
.ods-rate-rules .content { background:var(--rr-bg); color:var(--rr-text); }
.ods-rate-rules .portlet { background:var(--rr-surface); border-color:var(--rr-border); border-radius:20px; }
.ods-rate-rules .portlet-header { gap:10px; flex-wrap:wrap; padding:18px 22px; }
.ods-rate-rules .portlet-title { flex:1; font-size:23px; color:var(--rr-text); }
.ods-rate-rules .btn { border-radius:999px; font-weight:600; }
.ods-rate-rules .btn-light { background:var(--rr-soft); color:var(--rr-text); border:1px solid var(--rr-border); }
.ods-rate-rules .form-control { background:var(--rr-surface); color:var(--rr-text); border:1px solid var(--rr-border); border-radius:10px; min-height:40px; font-size:14px; }
.ods-rate-rules .form-control:focus { border-color:#1677ff; box-shadow:0 0 0 3px rgba(22,119,255,.13); }
.ods-rate-rules .form-control::placeholder { color:var(--rr-muted); opacity:.85; }
.ods-rate-rules .rr-filters { background:var(--rr-soft); padding:16px; border:1px solid var(--rr-border); border-radius:16px; margin-bottom:18px; }
.ods-rate-rules .rr-filter-grid { display:grid; grid-template-columns:repeat(4,minmax(110px,1fr)) auto; gap:12px; align-items:end; }
.ods-rate-rules .rr-filter-grid label,.ods-rate-rules .rr-calculation label { display:block; margin:0; font-size:12px; font-weight:650; color:var(--rr-muted); }
.ods-rate-rules .rr-filter-grid input,.ods-rate-rules .rr-calculation input { margin-top:6px; }
.ods-rate-rules .rr-filter-actions { display:flex; gap:8px; padding-bottom:1px; }
.ods-rate-rules .rr-chips { display:flex; gap:8px; flex-wrap:wrap; }
.ods-rate-rules .rr-chip { margin-top:12px; background:var(--rr-surface); border:1px solid var(--rr-border); border-radius:999px; color:var(--rr-text); padding:5px 11px; font-size:12px; }
.ods-rate-rules #datatable-1 { border-collapse:separate!important; border-spacing:0 8px!important; border:0; }
.ods-rate-rules #datatable-1 thead th { background:transparent; color:var(--rr-muted); border:0; text-align:left; font-size:11px; }
.ods-rate-rules #datatable-1 tbody td { background:var(--rr-surface); border-top:1px solid var(--rr-border); border-bottom:1px solid var(--rr-border); padding:12px 10px; color:var(--rr-text); font-size:13px; }
.ods-rate-rules #datatable-1 tbody td:first-child { border-left:3px solid #1677ff; border-radius:12px 0 0 12px; font-weight:650; }
.ods-rate-rules #datatable-1 tbody td:last-child { border-right:1px solid var(--rr-border); border-radius:0 12px 12px 0; }
.ods-rate-rules #datatable-1 tbody td[data-toggle] { cursor:pointer; }
.ods-rate-rules #datatable-1 tbody tr:hover td { background:var(--rr-soft); }
.ods-rate-rules #datatable-1 .btn-icon { width:32px; height:32px; border-radius:50%; }
.ods-rate-rules #datatable-1 .badge { padding:6px 9px; font-size:11px; }
.ods-rate-rules .dataTables_filter input { color:var(--rr-text); background:var(--rr-surface); border-color:var(--rr-border); min-height:36px; }
.ods-rate-rules .rr-modal .modal-dialog { width:calc(100% - 32px); max-width:1040px; margin:24px auto; }
.ods-rate-rules .rr-modal .modal-content { border:1px solid var(--rr-border); border-radius:20px; background:var(--rr-surface); color:var(--rr-text); box-shadow:0 24px 80px #0004; overflow:hidden; }
.ods-rate-rules .rr-modal .modal-header,.ods-rate-rules .rr-modal .modal-footer { background:var(--rr-surface); padding:16px 22px; border-color:var(--rr-border); }
.ods-rate-rules .rr-modal .modal-title { font-size:20px; font-weight:700; color:var(--rr-text); }
.ods-rate-rules .rr-modal form { min-height:0; }
.ods-rate-rules .rr-modal .modal-body { padding:18px 22px; max-height:calc(100dvh - 200px); overflow-y:auto; }
.ods-rate-rules .rr-modal h3 { font-size:14px; font-weight:700; color:var(--rr-text); margin:16px 0 12px!important; text-align:left; }
.ods-rate-rules .rr-modal h3:first-child { margin-top:0!important; }
.ods-rate-rules .rr-modal .form-row { padding:10px 8px 0; background:var(--rr-soft); border:1px solid var(--rr-border); border-radius:12px; margin:0 0 12px; }
.ods-rate-rules .rr-modal .form-group { padding:4px 6px; margin-bottom:8px; }
.ods-rate-rules .rr-modal .float-label { display:flex; flex-direction:column-reverse; }
.ods-rate-rules .rr-modal .float-label label { position:static!important; transform:none!important; padding:0!important; margin:0 0 6px; font-size:12px!important; line-height:1.3; color:var(--rr-muted)!important; background:transparent!important; }
.ods-rate-rules .rr-modal input { text-align:left; padding:8px 10px; }
.ods-rate-rules .rr-modal input[readonly] { background:var(--rr-soft); color:var(--rr-text); border-style:dashed; font-weight:700; cursor:default; }
.ods-rate-rules .rr-modal .bootstrap-select,.ods-rate-rules .rr-modal .select2-container { width:100%!important; min-width:0; }
.ods-rate-rules .rr-modal .dropdown-toggle,.ods-rate-rules .rr-modal .select2-selection { background:var(--rr-surface); color:var(--rr-text); border:1px solid var(--rr-border); border-radius:10px; min-height:40px; }
.ods-rate-rules .rr-modal .table { color:var(--rr-text); margin:0; }
.ods-rate-rules .rr-modal .table th { text-align:left!important; background:transparent; border:0; color:var(--rr-muted); font-size:11px; }
.ods-rate-rules .rr-modal .table td { border:0; background:transparent; }
.ods-rate-rules .rr-modal hr { display:none; }
.ods-rate-rules .rr-calculation { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:12px 16px; border:1px solid var(--rr-border); border-left:3px solid #1677ff; background:var(--rr-soft); border-radius:12px; margin-bottom:12px; }
.ods-rate-rules .rr-calculation strong { font-size:13px; }
.ods-rate-rules .rr-calculation p { margin:4px 0 0; color:var(--rr-muted); font-size:12px; }
.ods-rate-rules .rr-calculation label { flex:0 0 170px; }
.ods-rate-rules .is-invalid { border-color:#dc3545!important; }
.ods-rate-rules .swal2-container { z-index:2147483647!important; }
.ods-rate-rules #toast-container { z-index:2147483647!important; }
.ods-rate-rules.theme-dark .rr-modal .dropdown-menu,.ods-rate-rules.theme-dark .select2-dropdown,.ods-rate-rules.theme-dark .datepicker { background:var(--rr-surface); color:var(--rr-text); border-color:var(--rr-border); }
.ods-rate-rules.theme-dark .rr-modal .dropdown-item,.ods-rate-rules.theme-dark .rr-modal .filter-option { color:var(--rr-text); }
@media(max-width:1100px) { .ods-rate-rules .rr-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .ods-rate-rules .rr-filter-actions { grid-column:1/-1; } }
@media(max-width:767px) {
 .ods-rate-rules .portlet-header,.ods-rate-rules .portlet-body { padding:14px; }
 .ods-rate-rules .portlet-title { flex-basis:100%; font-size:21px; }
 .ods-rate-rules .rr-modal .modal-dialog { width:calc(100% - 16px); margin:8px auto; }
 .ods-rate-rules .rr-modal .modal-body { padding:14px; max-height:calc(100dvh - 160px); }
 .ods-rate-rules .rr-modal .form-control { font-size:16px; }
 .ods-rate-rules .rr-modal .form-row>.form-group,.ods-rate-rules .rr-modal .row>.form-group { width:50%; }
 .ods-rate-rules .rr-modal .form-row>.col-md-9 { width:100%; padding:0 6px; }
 .ods-rate-rules .rr-modal .table thead { display:none; }
 .ods-rate-rules .rr-modal .table tbody,.ods-rate-rules .rr-modal .table tr { display:block; }
 .ods-rate-rules .rr-modal .table tr { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin-bottom:12px; }
 .ods-rate-rules .rr-modal .table td { display:block; width:100%; padding:0; }
 .ods-rate-rules .rr-modal .table td:before { display:block; font-size:11px; color:var(--rr-muted); margin:0 0 5px; }
 .ods-rate-rules .rr-modal .table td:nth-child(1):before { content:'Model'; }
 .ods-rate-rules .rr-modal .table td:nth-child(2):before { content:'Year'; }
 .ods-rate-rules .rr-modal .table td:nth-child(3):before { content:'Model No.'; }
 .ods-rate-rules .rr-modal .table td:nth-child(4):before { content:'Exclude Model No.'; }
 .ods-rate-rules .rr-calculation { align-items:stretch; flex-direction:column; gap:8px; }
 .ods-rate-rules .rr-calculation label { flex:auto; }
}

/* Three retail finance tiers: full-width finance, then Lease / Dealer Cash / Incentives. */
#showDetails .mx-rates.mx-rates--three-tier {
    grid-template-columns: minmax(0, .90fr) minmax(0, .88fr) minmax(300px, 1.22fr);
    gap: 12px;
}
#showDetails .mx-rates--three-tier > .mx-rail:first-child { grid-column: 1 / -1; }
#showDetails .mx-rt.mx-finance-tiers { grid-template-columns:minmax(48px,.65fr) repeat(3,minmax(0,1fr)); gap:9px 10px; }
#showDetails .mx-finance-tiers .mx-hd { letter-spacing:0; font-size:11px; }
#showDetails .mx-finance-tiers .mx-hd small { display:block; font-size:9px; font-weight:500; text-transform:none; margin-top:4px; }
body.ods-rate-rules .rr-modal h3 small { color:var(--rr-muted); font-size:11px; font-weight:500; }

/* Manage Matrix incentive card is owned here, not by manMatrix.php. */
#showDetails .mx-incentive-card { min-width: 0; }
#showDetails .mx-incentive-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px 76px;
    gap: 7px 6px;
    align-items: center;
    margin-top: 12px;
}
#showDetails .mx-incentive-grid .mx-ih {
    color: var(--mx-muted);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}
#showDetails .mx-incentive-grid .mx-ih:nth-child(2),
#showDetails .mx-incentive-grid .mx-ih:nth-child(3),
#showDetails .mx-incentive-grid .mx-iv,
#showDetails .mx-incentive-grid .mx-ie { text-align: right; }
#showDetails .mx-incentive-grid .mx-ip {
    min-width: 0;
    overflow: hidden;
    color: var(--mx-muted);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.08;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    max-height: 2.16em;
}
#showDetails .mx-incentive-grid .mx-iv {
    min-width: 0;
    color: var(--mx-text);
    font-size: 12px;
    font-weight: 800;
    font-variant-numeric: tabular-nums lining-nums;
    line-height: 1.1;
    white-space: nowrap;
}
#showDetails .mx-incentive-grid .mx-iv.mx-iv-pool {
    font-size: 10.75px;
    letter-spacing: -.025em;
    white-space: nowrap;
    word-break: keep-all;
    overflow-wrap: normal;
}
#showDetails .mx-incentive-grid .mx-ie {
    color: var(--mx-label);
    font-size: 10.5px;
    font-weight: 700;
    font-variant-numeric: tabular-nums lining-nums;
    white-space: nowrap;
}
#showDetails .mx-incentive-empty {
    grid-column: 1 / -1;
    padding: 8px 0 2px;
    color: var(--mx-muted);
    font-size: 11.5px;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 1180px) and (min-width: 768px) {
    #showDetails .mx-rates.mx-rates--three-tier {
        grid-template-columns: minmax(0, .90fr) minmax(0, .84fr) minmax(280px, 1.26fr);
        gap: 10px;
    }
    #showDetails .mx-incentive-grid {
        grid-template-columns: minmax(0, 1fr) 86px 74px;
        gap: 7px 5px;
    }
    #showDetails .mx-incentive-grid .mx-iv.mx-iv-pool { font-size: 10px; }
    #showDetails .mx-incentive-grid .mx-ie { font-size: 10px; }
}

@media(max-width:767.98px) {
    #showDetails .mx-rates.mx-rates--three-tier { grid-template-columns:minmax(0,1fr); }
    #showDetails .mx-rt.mx-finance-tiers { gap:9px 6px; }
    #showDetails .mx-finance-tiers .mx-a,#showDetails .mx-finance-tiers .mx-b { font-size:12px; overflow-wrap:anywhere; }
    #showDetails .mx-finance-tiers .mx-hd { font-size:10px; }
    #showDetails .mx-incentive-grid {
        grid-template-columns: minmax(0, 1fr) 88px 74px;
        gap: 7px 6px;
    }
}

/* Rate Rules compact finance table and per-rule IGS controls. */
body.ods-rate-rules .rr-compact-modal .modal-dialog { max-width:1480px; margin:16px auto; }
body.ods-rate-rules .rr-compact-modal .modal-header,body.ods-rate-rules .rr-compact-modal .modal-footer { padding:12px 20px; }
body.ods-rate-rules .rr-compact-modal .modal-body { padding:12px 20px; }
body.ods-rate-rules .rr-compact-modal h3 { margin:10px 0 8px!important; }
body.ods-rate-rules .rr-compact-modal .form-control { min-height:36px; height:36px; padding:6px 9px; }
body.ods-rate-rules .rr-finance-panel { margin-top:10px; }
body.ods-rate-rules .rr-section-heading { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:8px; }
body.ods-rate-rules .rr-expiry { display:flex; align-items:center; gap:10px; margin:0; font-size:12px; color:var(--rr-muted); }
body.ods-rate-rules .rr-expiry input { width:150px; }
body.ods-rate-rules .rr-finance-grid { display:grid; grid-template-columns:80px 225px repeat(4,minmax(0,1fr)); gap:10px; align-items:center; }
body.ods-rate-rules .rr-finance-head { padding:0 12px 6px; color:var(--rr-muted); font-size:11px; font-weight:650; }
body.ods-rate-rules .rr-finance-row { padding:8px 12px; background:var(--rr-soft); border:1px solid var(--rr-border); border-radius:10px; margin-bottom:6px; }
body.ods-rate-rules .rr-tier { color:var(--rr-text); font-size:13px; }
body.ods-rate-rules .rr-igs-controls { display:grid; grid-template-columns:95px minmax(0,1fr); gap:6px; }
body.ods-rate-rules .rr-compact-modal .rr-igs-state { font-size:12px; color:var(--rr-text); cursor:pointer; }
body.ods-rate-rules .rr-compact-modal .rr-igs-range { font-size:13px; }
body.ods-rate-rules .rr-compact-modal .rr-igs-range[readonly] { opacity:.55; font-weight:400; border-style:solid; }
body.ods-rate-rules .rr-rate-field { margin:0; min-width:0; }
body.ods-rate-rules .rr-rate-field>span { display:none; }
body.ods-rate-rules .rr-compact-modal .rr-calculation { padding:8px 12px; margin-bottom:8px; }
body.ods-rate-rules .rr-compact-modal .rr-calculation p { margin-top:2px; }
body.ods-rate-rules .rr-compact-modal .rr-calculation label { display:flex; align-items:center; gap:10px; flex:0 0 285px; }
body.ods-rate-rules .rr-compact-modal .rr-calculation input { margin:0; width:140px; }
body.ods-rate-rules .rr-compact-modal .form-row { margin-bottom:0; padding-top:6px; }
body.ods-rate-rules .rr-compact-modal .form-group { margin-bottom:4px; }
#showDetails .mx-finance-tiers small[hidden] { display:none!important; }
@media(min-width:992px) and (min-height:700px) {
 body.ods-rate-rules .rr-compact-modal .modal-body { max-height:none; overflow:visible; }
}
@media(max-width:991px) {
 body.ods-rate-rules .rr-finance-grid { grid-template-columns:65px 180px repeat(4,minmax(0,1fr)); gap:6px; }
 body.ods-rate-rules .rr-igs-controls { grid-template-columns:80px minmax(0,1fr); gap:4px; }
}
@media(max-width:767px) {
 body.ods-rate-rules .rr-finance-head { display:none; }
 body.ods-rate-rules .rr-finance-row { grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
 body.ods-rate-rules .rr-tier { grid-column:1; }
 body.ods-rate-rules .rr-igs-controls { grid-column:2/-1; grid-template-columns:90px minmax(0,1fr); }
 body.ods-rate-rules .rr-rate-field>span { display:block; font-size:11px; color:var(--rr-muted); margin-bottom:4px; }
 body.ods-rate-rules .rr-compact-modal .rr-calculation label { flex:auto; }
 body.ods-rate-rules .rr-compact-modal .rr-calculation input { flex:1; width:120px; }
 body.ods-rate-rules .rr-compact-modal .form-control { font-size:16px; }
 body.ods-rate-rules .rr-compact-modal .modal-body { max-height:calc(100vh - 150px); overflow-y:auto; }
}
/* Rate Rules - remove duplicate outer box around Model selectpicker */
body.ods-rate-rules .rr-compact-modal .bootstrap-select.form-control {
    border: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.ods-rate-rules .rr-compact-modal .bootstrap-select > .dropdown-toggle {
    width: 100% !important;
    min-height: 36px !important;
    height: 36px !important;
    margin: 0 !important;
}


/* ==========================================================================
   ORIGINAL 1DS - REPORTS & AUTOMATION (2026-09-23)
   Shared modern-page styling for /settings/reports.php
   ========================================================================== */
body .reports-automation-page > .container-fluid{padding:18px 24px 34px}.reports-automation-shell{width:100%;max-width:1600px;margin:0 auto}.reports-hero{margin-bottom:16px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid #e6edf6;border-radius:22px;background:linear-gradient(135deg,#fff 0%,#f7fbff 100%);box-shadow:0 14px 38px rgba(15,23,42,.07)}.reports-eyebrow,.reports-card-kicker{margin-bottom:5px;color:#2196f3;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.reports-hero h1,.reports-card h2{margin:0;color:#0f172a;font-weight:900;letter-spacing:-.025em}.reports-hero h1{font-size:27px}.reports-hero p,.reports-card-head p{margin:5px 0 0;color:#64748b;font-size:12px;font-weight:650;line-height:1.5}.reports-freshness-pill{min-height:34px;padding:0 12px;display:inline-flex;align-items:center;gap:8px;border:1px solid #dbe5f0;border-radius:999px;color:#52657f;background:#fff;font-size:10.5px;font-weight:850;white-space:nowrap}.reports-freshness-pill.is-fresh{border-color:#bbf7d0;color:#047857;background:#ecfdf5}.reports-freshness-pill.is-stale{border-color:#fed7aa;color:#b45309;background:#fff7ed}.reports-freshness-pill.is-loading{color:#64748b;background:#f8fafc}.reports-setup-warning{margin:0 0 16px;padding:13px 15px;border:1px solid #fecaca;border-radius:14px;color:#991b1b;background:#fff1f2;font-size:12px;font-weight:750}.reports-kpi-grid{margin-bottom:16px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.reports-kpi-card{min-height:118px;padding:17px 18px;position:relative;overflow:hidden;border:1px solid #e6edf6;border-radius:19px;background:#fff;box-shadow:0 10px 28px rgba(15,23,42,.055)}.reports-kpi-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#2196f3}.reports-kpi-card.is-aging:before{background:#f59e0b}.reports-kpi-card.is-missing:before{background:#ef4444}.reports-kpi-label{display:block;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.065em;text-transform:uppercase}.reports-kpi-value{display:block;margin:8px 0 8px;color:#0f172a;font-size:31px;font-weight:900;line-height:1}.reports-kpi-card small{color:#748398;font-size:10.5px;font-weight:650}.reports-main-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(520px,1.1fr);gap:16px;align-items:start}.reports-card{border:1px solid #e6edf6;border-radius:22px;background:#fff;box-shadow:0 16px 40px rgba(15,23,42,.065)}.reports-card-head{min-height:88px;padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #edf2f7}.reports-card h2{font-size:19px}.reports-report-state{min-height:28px;padding:0 10px;display:inline-flex;align-items:center;border:1px solid #dbe5f0;border-radius:999px;color:#64748b;background:#f8fafc;font-size:9px;font-weight:900;text-transform:uppercase}.reports-report-state.is-active{border-color:#bbf7d0;color:#047857;background:#ecfdf5}.reports-report-snapshot{margin:18px 20px 0;padding:15px;display:flex;align-items:center;gap:13px;border:1px solid #dfe8f3;border-radius:16px;background:linear-gradient(135deg,#f8fbff,#fff)}.reports-report-icon{width:44px;height:44px;flex:0 0 44px;display:flex;align-items:center;justify-content:center;border-radius:13px;color:#1688f8;background:#eaf5ff;font-size:18px}.reports-report-copy{min-width:0;display:grid;gap:4px}.reports-report-copy strong{color:#17233c;font-size:13px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reports-report-copy span{color:#6b7f99;font-size:10.5px;font-weight:650}.reports-report-details{padding:18px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.reports-report-details>div{padding:12px;border:1px solid #edf2f7;border-radius:13px;background:#fbfdff}.reports-report-details span,.reports-run-stat span{display:block;color:#7a899e;font-size:9px;font-weight:850;text-transform:uppercase;letter-spacing:.045em}.reports-report-details strong,.reports-run-stat strong{display:block;margin-top:4px;color:#27364d;font-size:10.5px;font-weight:800;line-height:1.4}.reports-action-row,.reports-save-row{padding:0 20px 20px;display:flex;gap:9px;flex-wrap:wrap}.reports-btn{min-height:38px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;font-size:11px;font-weight:850;cursor:pointer}.reports-btn-primary{border:1px solid #2196f3;color:#fff;background:linear-gradient(135deg,#38bdf8,#2196f3);box-shadow:0 8px 18px rgba(33,150,243,.18)}.reports-btn-secondary{border:1px solid #dbe5f0;color:#405574;background:#fff}.reports-btn:disabled{opacity:.48;cursor:not-allowed;box-shadow:none}.reports-switch-wrap{margin:0;display:inline-flex;align-items:center;gap:9px;color:#52657f;font-size:10px;font-weight:850;cursor:pointer}.reports-switch-wrap input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.reports-switch{width:46px;height:24px;position:relative;display:block;border:1px solid #cbd5e1;border-radius:999px;background:#e2e8f0;transition:.18s ease}.reports-switch:after{content:"";width:18px;height:18px;position:absolute;top:2px;left:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(15,23,42,.22);transition:.18s ease}.reports-switch-wrap input:checked+.reports-switch{border-color:#2196f3;background:linear-gradient(135deg,#38bdf8,#2196f3)}.reports-switch-wrap input:checked+.reports-switch:after{transform:translateX(20px)}.reports-switch-wrap.compact{flex:0 0 auto}.reports-form-grid{padding:18px 20px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.reports-field{min-width:0}.reports-field.span-2{grid-column:1/-1}.reports-field>label{margin:0 0 6px;display:block;color:#64748b;font-size:9.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase}.reports-control{width:100%;height:40px;padding:0 11px;border:1px solid #dbe5f0;border-radius:11px;color:#17233c;background:#fff;font-size:11.5px;font-weight:700;outline:none}.reports-control:focus{border-color:#2196f3;box-shadow:0 0 0 3px rgba(33,150,243,.1)}.reports-recipient-chips{min-height:42px;padding:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;border:1px solid #dbe5f0;border-radius:12px;background:#f8fafc}.reports-chip-empty{padding:5px 7px;color:#8a98aa;font-size:10.5px;font-weight:650}.reports-recipient-chip{min-height:28px;padding:0 7px 0 10px;display:inline-flex;align-items:center;gap:7px;border:1px solid #bfdbfe;border-radius:999px;color:#155e9b;background:#eaf5ff;font-size:10px;font-weight:800}.reports-recipient-chip small{font-size:10px;line-height:1.2;font-weight:650;color:#567695}.reports-recipient-chip button{width:20px;height:20px;padding:0;border:0;border-radius:50%;color:#64748b;background:transparent}.reports-recipient-add-grid{margin-top:8px;display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr) 40px;gap:7px}.reports-icon-btn{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dbe5f0;border-radius:11px;color:#1688f8;background:#fff}.reports-freshness-setting{min-height:62px;padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #dfe8f3;border-radius:14px;background:#f8fbff}.reports-freshness-setting strong{display:block;color:#26364d;font-size:11px;font-weight:850}.reports-freshness-setting span{display:block;margin-top:3px;color:#718198;font-size:10px;font-weight:650;line-height:1.45}.reports-run-grid{margin:0 20px 18px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.reports-run-stat{padding:11px 12px;border:1px solid #edf2f7;border-radius:12px;background:#fbfdff}.reports-save-row{justify-content:flex-end}.reports-history-card{margin-top:16px}.reports-history-list{padding:10px 18px 18px}.reports-history-empty{padding:24px;border:1px dashed #d5deea;border-radius:14px;color:#7a899e;background:#fbfdff;text-align:center;font-size:11px;font-weight:700}.reports-history-row{min-height:58px;padding:10px 12px;display:grid;grid-template-columns:150px minmax(0,1fr) auto;align-items:center;gap:12px;border-bottom:1px solid #edf2f7}.reports-history-row:last-child{border-bottom:0}.reports-history-time{color:#334155;font-size:10.5px;font-weight:850}.reports-history-copy{min-width:0;color:#64748b;font-size:10.5px;font-weight:650}.reports-history-copy strong{color:#25354b;font-weight:850}.reports-history-status{min-width:68px;min-height:26px;padding:0 9px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase}.reports-history-status.sent{color:#047857;background:#ecfdf5}.reports-history-status.skipped{color:#b45309;background:#fff7ed}.reports-history-status.failed{color:#b91c1c;background:#fef2f2}.reports-preview-dialog{width:calc(100% - 30px);max-width:1050px!important}.reports-preview-modal-content{overflow:hidden;border:1px solid #dfe8f3;border-radius:22px}.reports-preview-head{align-items:center;padding:15px 18px;background:linear-gradient(135deg,#fff,#f3f9ff)}.reports-preview-head h5{margin:0;color:#0f172a;font-size:17px;font-weight:900}.reports-preview-head p{margin:3px 0 0;color:#718198;font-size:10.5px;font-weight:650}.reports-preview-body{padding:0;background:#eef3f8}.reports-preview-body iframe{width:100%;height:min(76vh,820px);display:block;border:0;background:#f4f7fb}body.theme-dark .reports-hero,body.theme-dark .reports-card,body.theme-dark .reports-kpi-card,body.theme-dark .reports-preview-modal-content{border-color:#374151;background:#1f2937;box-shadow:0 18px 45px rgba(0,0,0,.28)}body.theme-dark .reports-hero{background:linear-gradient(135deg,#1f2937,#172234)}body.theme-dark .reports-hero h1,body.theme-dark .reports-card h2,body.theme-dark .reports-kpi-value{color:#f8fafc}body.theme-dark .reports-hero p,body.theme-dark .reports-card-head p,body.theme-dark .reports-kpi-card small{color:#cbd5e1}body.theme-dark .reports-kpi-card:before{opacity:.95}body.theme-dark .reports-report-snapshot,body.theme-dark .reports-report-details>div,body.theme-dark .reports-run-stat,body.theme-dark .reports-recipient-chips,body.theme-dark .reports-freshness-setting,body.theme-dark .reports-history-empty{border-color:#374151;background:#172234}body.theme-dark .reports-report-copy strong,body.theme-dark .reports-report-details strong,body.theme-dark .reports-run-stat strong,body.theme-dark .reports-freshness-setting strong{color:#f8fafc}body.theme-dark .reports-report-copy span,body.theme-dark .reports-freshness-setting span{color:#aebed2}body.theme-dark .reports-control,body.theme-dark .reports-icon-btn,body.theme-dark .reports-btn-secondary{border-color:#475569;color:#f8fafc;background:#111827}body.theme-dark .reports-recipient-chip{border-color:#3b82f6;color:#dbeafe;background:#1e3a5f}body.theme-dark .reports-recipient-chip small{color:#a9c9ef}body.theme-dark .reports-card-head,body.theme-dark .reports-history-row{border-color:#374151}body.theme-dark .reports-history-time,body.theme-dark .reports-history-copy strong{color:#f8fafc}body.theme-dark .reports-history-copy{color:#aebed2}body.theme-dark .reports-preview-head{background:linear-gradient(135deg,#1f2937,#172234)}body.theme-dark .reports-preview-head h5{color:#f8fafc}body.theme-dark .reports-preview-head p{color:#cbd5e1}@media(max-width:1100px){.reports-main-grid{grid-template-columns:1fr}.reports-settings-card{order:1}.reports-report-card{order:2}}@media(max-width:767px){body .reports-automation-page>.container-fluid{padding:10px 10px 24px}.reports-hero{align-items:flex-start;flex-direction:column;padding:16px;border-radius:17px}.reports-kpi-grid{grid-template-columns:1fr}.reports-form-grid,.reports-report-details,.reports-run-grid{grid-template-columns:1fr}.reports-field.span-2{grid-column:auto}.reports-recipient-add-grid{grid-template-columns:minmax(0,1fr) 40px}.reports-card-head{align-items:flex-start;flex-direction:column}.reports-settings-head .reports-switch-wrap{align-self:flex-start}.reports-history-row{grid-template-columns:1fr auto}.reports-history-copy{grid-column:1/-1}.reports-action-row .reports-btn{flex:1 1 auto}.reports-preview-dialog{width:auto;margin:8px}.reports-preview-body iframe{height:78vh}}


/* ==========================================================================
   ORIGINAL 1DS - INCENTIVE RULES (2026-09-24)
   Testing modernization. Shared stylesheet section; no separate page CSS.
   ========================================================================== */
/* ORIGINAL 1DS - Incentive Rules testing modernization - 2026-09-24 */
.incentive-rules-page{padding:18px 18px 34px;background:#f6f8fb;color:#0f172a;min-height:calc(100vh - 80px)}
.ir-hero,.ir-filter-card,.ir-table-card{background:#fff;border:1px solid #e5edf7;box-shadow:0 14px 34px rgba(15,23,42,.06)}
.ir-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px;border-radius:20px;margin-bottom:14px;background:linear-gradient(135deg,#fff 0%,#f8fbff 100%)}
.ir-hero-main{display:flex;align-items:center;gap:13px;min-width:0}.ir-hero-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:14px;color:#fff;background:linear-gradient(135deg,#38bdf8,#2196f3);box-shadow:0 10px 22px rgba(33,150,243,.22)}
.ir-hero h1{margin:0;color:#0f172a;font-size:23px;font-weight:900;letter-spacing:-.025em}.ir-hero p{margin:4px 0 0;color:#64748b;font-size:13px;font-weight:650}.ir-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ir-btn{min-height:40px;padding:9px 15px;border-radius:999px!important;font-size:12px;font-weight:900;white-space:nowrap;border:1px solid #dbe5f1;background:#fff;color:#475569;box-shadow:none}.ir-btn:hover{border-color:#93c5fd;color:#1d4ed8}.ir-btn-primary{border-color:#2196f3;background:linear-gradient(135deg,#38bdf8,#2196f3);color:#fff;box-shadow:0 8px 18px rgba(33,150,243,.2)}.ir-btn-primary:hover{color:#fff}.ir-btn-danger{border-color:#fecaca;color:#dc2626;background:#fff7f7}
.ir-filter-card{display:none;padding:15px 16px 13px;border-radius:18px;margin-bottom:14px}.ir-filter-card.is-open{display:block}.ir-filter-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.ir-filter-title strong{font-size:13px;color:#334155}.ir-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(130px,1fr)) auto auto;gap:9px;align-items:end}.ir-field label{display:block;margin:0 0 5px;color:#64748b;font-size:10px;line-height:1;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.ir-control,.ir-field .form-control,.ir-field .bootstrap-select>.dropdown-toggle{min-height:40px!important;height:40px!important;border:1px solid #dbe5f1!important;border-radius:13px!important;background:#fbfdff!important;color:#0f172a!important;font-size:12.5px!important;font-weight:700!important;box-shadow:none!important}.ir-field .bootstrap-select{width:100%!important}
.ir-table-card{overflow:hidden;padding:16px 18px 18px;border-radius:22px}.ir-table-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ir-table-toolbar h2{margin:0;font-size:15px;font-weight:900;color:#1e293b}.ir-table-toolbar span{font-size:11px;color:#64748b;font-weight:700}
#datatable-1{width:100%!important;border-collapse:separate!important;border-spacing:0 10px!important;border:0!important;background:transparent!important}#datatable-1 thead th{padding:10px 12px!important;border:0!important;background:transparent!important;color:#64748b;font-size:10px;font-weight:900;letter-spacing:.055em;text-transform:uppercase;white-space:nowrap}#datatable-1 tbody td{padding:12px!important;border-top:1px solid #e7eef7!important;border-bottom:1px solid #e7eef7!important;background:#fff;color:#334155;font-size:12px;font-weight:650;vertical-align:middle}#datatable-1 tbody td:first-child{border-left:1px solid #e7eef7!important;border-radius:14px 0 0 14px}#datatable-1 tbody td:last-child{border-right:1px solid #e7eef7!important;border-radius:0 14px 14px 0}#datatable-1 tbody tr{cursor:pointer}#datatable-1 tbody tr:hover td{background:#f8fbff}.ir-muted{color:#94a3b8}.ir-state-preview{max-width:420px;line-height:1.35;color:#64748b;font-size:11px}.ir-pill-wrap{display:flex;flex-wrap:wrap;gap:5px}.ir-program-pill{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:10.5px;font-weight:850;border:1px solid #dbeafe}.ir-program-pill.pool{background:#f5f3ff;color:#6d28d9;border-color:#ddd6fe}.ir-program-pill.expired{background:#fff1f2;color:#be123c;border-color:#fecdd3}.ir-program-pill small{font-size:9px;font-weight:800;opacity:.8}.ir-row-action{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid #dbe5f1;background:#f8fbff;color:#2196f3}.ir-row-action:hover{background:#eaf5ff}.ir-row-action.danger{color:#ef4444;background:#fff7f7;border-color:#fee2e2}
.ir-overlay{position:fixed;inset:0;z-index:2147483600;background:rgba(15,23,42,.42);backdrop-filter:blur(2px)}.ir-drawer{position:fixed;z-index:2147483601;top:0;right:0;width:min(760px,96vw);height:100vh;background:#fff;box-shadow:-22px 0 54px rgba(15,23,42,.2);display:flex;flex-direction:column}.ir-drawer.manage{width:min(690px,96vw)}.ir-drawer[hidden],.ir-overlay[hidden]{display:none!important}.ir-drawer-header{padding:18px 20px;border-bottom:1px solid #e5edf7;background:linear-gradient(135deg,#fff,#f8fbff)}.ir-drawer-headrow{display:flex;align-items:center;justify-content:space-between;gap:12px}.ir-kicker{display:block;margin-bottom:3px;color:#0284c7;font-size:9px;font-weight:950;letter-spacing:.1em;text-transform:uppercase}.ir-drawer h2{margin:0;color:#0f172a;font-size:21px;font-weight:900;letter-spacing:-.02em}.ir-drawer-subtitle{margin:4px 0 0;color:#64748b;font-size:12px}.ir-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid #dbe5f1;background:#fff;color:#475569;font-size:14px}.ir-drawer-body{flex:1;overflow:auto;padding:18px 20px}.ir-drawer-footer{padding:13px 20px;border-top:1px solid #e5edf7;display:flex;align-items:center;justify-content:flex-end;gap:8px;background:#fff}.ir-form-section{border:1px solid #e5edf7;border-radius:17px;padding:15px;margin-bottom:14px;background:#fff}.ir-section-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.ir-section-heading h3{margin:0;color:#1e293b;font-size:13px;font-weight:900}.ir-section-heading p{margin:2px 0 0;color:#64748b;font-size:10.5px}.ir-grid-3{display:grid;grid-template-columns:1.2fr .7fr .9fr;gap:10px}.ir-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ir-drawer .form-control,.ir-drawer .bootstrap-select>.dropdown-toggle,.ir-drawer .select2-container .select2-selection{min-height:42px!important;border:1px solid #dbe5f1!important;border-radius:12px!important;background:#fbfdff!important;color:#0f172a!important;box-shadow:none!important}.ir-drawer .bootstrap-select{width:100%!important}.ir-drawer .select2-container{width:100%!important}.ir-drawer .select2-container--default .select2-selection--multiple{padding:3px 7px!important}.ir-drawer .select2-selection__choice{border:0!important;border-radius:999px!important;background:#eaf5ff!important;color:#075985!important;font-size:10px!important;font-weight:800!important}.ir-label{display:block;margin-bottom:5px;color:#64748b;font-size:9.5px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.ir-program-editor-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.ir-program-editor{border:1px solid #e5edf7;border-radius:14px;padding:11px;background:#fbfdff}.ir-program-editor.is-selected{border-color:#93c5fd;background:#f5faff;box-shadow:0 0 0 2px rgba(59,130,246,.06)}.ir-program-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ir-program-check{display:flex;align-items:center;gap:8px;min-width:0}.ir-program-check input{width:17px;height:17px}.ir-program-name{font-size:12px;font-weight:900;color:#1e293b}.ir-type-badge{padding:3px 7px;border-radius:999px;background:#eef2ff;color:#4338ca;font-size:8.5px;font-weight:900;text-transform:uppercase}.ir-type-badge.pool{background:#f3e8ff;color:#7e22ce}.ir-program-fields{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.ir-program-fields .form-control{min-height:36px!important;height:36px!important;font-size:11px!important}.ir-program-note{margin-top:7px;color:#64748b;font-size:9.5px;line-height:1.35}.ir-empty-programs{padding:20px;text-align:center;color:#64748b;font-size:12px}
.ir-definition-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.ir-definition-list{display:grid;gap:8px}.ir-definition-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid #e5edf7;border-radius:14px;background:#fff}.ir-definition-card:hover{border-color:#bfdbfe;background:#fbfdff}.ir-definition-main{min-width:0}.ir-definition-name{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:900;color:#1e293b}.ir-definition-meta{margin-top:3px;color:#64748b;font-size:10px;font-weight:700}.ir-status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e}.ir-status-dot.off{background:#cbd5e1}.ir-definition-editor{margin-top:14px;border-top:1px solid #e5edf7;padding-top:14px}.ir-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid #e5edf7;border-radius:12px;background:#fbfdff}.ir-switch{position:relative;width:42px;height:23px;flex:0 0 42px}.ir-switch input{opacity:0;width:0;height:0}.ir-slider{position:absolute;inset:0;border-radius:999px;background:#cbd5e1;cursor:pointer;transition:.18s}.ir-slider:before{content:"";position:absolute;width:17px;height:17px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2);transition:.18s}.ir-switch input:checked+.ir-slider{background:#2196f3}.ir-switch input:checked+.ir-slider:before{transform:translateX(19px)}.ir-pool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px}.ir-pool-summary{margin-top:9px;padding:10px 12px;border-radius:12px;background:#f5f3ff;color:#6d28d9;font-size:10.5px;font-weight:800}.ir-warning{padding:10px 12px;border:1px solid #fde68a;border-radius:12px;background:#fffbeb;color:#92400e;font-size:10.5px;font-weight:700;line-height:1.4;margin-bottom:12px}
body.theme-dark .incentive-rules-page{background:#111827;color:#f8fafc}body.theme-dark .ir-hero,body.theme-dark .ir-filter-card,body.theme-dark .ir-table-card,body.theme-dark .ir-drawer,body.theme-dark .ir-form-section,body.theme-dark .ir-definition-card,body.theme-dark .ir-drawer-footer{background:#1f2937;border-color:#374151;box-shadow:none}body.theme-dark .ir-hero,body.theme-dark .ir-drawer-header{background:linear-gradient(135deg,#1f2937,#172033);border-color:#374151}body.theme-dark .ir-hero h1,body.theme-dark .ir-drawer h2,body.theme-dark .ir-table-toolbar h2,body.theme-dark .ir-section-heading h3,body.theme-dark .ir-program-name,body.theme-dark .ir-definition-name{color:#f8fafc}body.theme-dark .ir-hero p,body.theme-dark .ir-drawer-subtitle,body.theme-dark .ir-section-heading p,body.theme-dark .ir-definition-meta,body.theme-dark .ir-program-note{color:#cbd5e1}body.theme-dark #datatable-1 tbody td{background:#1f2937!important;color:#e2e8f0;border-color:#374151!important}body.theme-dark #datatable-1 tbody tr:hover td{background:#243244!important}body.theme-dark .ir-program-editor,body.theme-dark .ir-toggle-row{background:#172033;border-color:#374151}body.theme-dark .ir-program-editor.is-selected{background:#172b40;border-color:#3b82f6}body.theme-dark .ir-control,body.theme-dark .ir-field .form-control,body.theme-dark .ir-field .bootstrap-select>.dropdown-toggle,body.theme-dark .ir-drawer .form-control,body.theme-dark .ir-drawer .bootstrap-select>.dropdown-toggle,body.theme-dark .ir-drawer .select2-container .select2-selection{background:#111827!important;color:#f8fafc!important;border-color:#475569!important}body.theme-dark .ir-btn,body.theme-dark .ir-close,body.theme-dark .ir-row-action{background:#172033;color:#e2e8f0;border-color:#475569}body.theme-dark .ir-definition-card:hover{background:#243244}body.theme-dark .ir-warning{background:#3f320a;border-color:#854d0e;color:#fde68a}
@media(max-width:900px){.ir-hero{align-items:flex-start;flex-direction:column}.ir-actions{width:100%;justify-content:flex-start}.ir-filter-grid{grid-template-columns:1fr 1fr}.ir-program-editor-list{grid-template-columns:1fr}.ir-grid-3{grid-template-columns:1fr 1fr}.ir-grid-3>.ir-field:first-child{grid-column:1/-1}}
@media(max-width:600px){.incentive-rules-page{padding:10px}.ir-hero{padding:14px}.ir-filter-grid,.ir-grid-2,.ir-grid-3,.ir-pool-grid{grid-template-columns:1fr}.ir-grid-3>.ir-field:first-child{grid-column:auto}.ir-table-card{padding:10px;overflow-x:auto}.ir-drawer{width:100vw}.ir-drawer-body{padding:14px}.ir-program-fields{grid-template-columns:1fr}.ir-definition-card{align-items:flex-start}}

/* Keep confirmations above 1DS drawers. */
.swal2-container{z-index:2147483647!important}

/* ========================================================================== 
   ORIGINAL 1DS - INCENTIVE RULES TEST 1 FIXES (2026-09-24)
   Keep the shared footer below the full rules list and summarize all-state rules.
   ========================================================================== */
body.ods-incentive-rules .wrapper {
    height: auto !important;
    min-height: 100vh !important;
}

body.ods-incentive-rules .content.incentive-rules-page > .container-fluid {
    height: auto !important;
    min-height: 0 !important;
}

body.ods-incentive-rules .footer {
    position: relative !important;
    z-index: 1;
    flex: 0 0 auto;
}

body.ods-incentive-rules .ir-state-preview.ir-state-all {
    color: #334155;
    font-weight: 850;
}

body.ods-incentive-rules.theme-dark .ir-state-preview.ir-state-all {
    color: #e2e8f0;
}

/* ========================================================================== 
   ORIGINAL 1DS - INCENTIVE RULES TEST 2 FIXES (2026-09-24)
   Desktop rule drawer fits at 100% browser zoom; compact layout with visible footer.
   ========================================================================== */
@media (min-width: 901px) {
    body.ods-incentive-rules #ruleDrawer.ir-drawer {
        width: min(1000px, 96vw);
        height: 100dvh;
        overflow: hidden;
    }

    body.ods-incentive-rules #ruleDrawer form {
        display: flex;
        min-height: 0;
        flex: 1 1 auto;
        flex-direction: column;
        overflow: hidden;
    }

    body.ods-incentive-rules #ruleDrawer .ir-drawer-header {
        padding: 11px 15px;
        flex: 0 0 auto;
    }

    body.ods-incentive-rules #ruleDrawer .ir-kicker {
        margin-bottom: 2px;
        font-size: 8.5px;
    }

    body.ods-incentive-rules #ruleDrawer h2 {
        font-size: 20px;
        line-height: 1.05;
    }

    body.ods-incentive-rules #ruleDrawer .ir-drawer-subtitle {
        margin-top: 3px;
        font-size: 11px;
        line-height: 1.2;
    }

    body.ods-incentive-rules #ruleDrawer .ir-close {
        width: 34px;
        height: 34px;
        flex: 0 0 34px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-drawer-body {
        min-height: 0;
        padding: 10px 14px 6px;
        flex: 1 1 auto;
        overflow: hidden;
    }

    body.ods-incentive-rules #ruleDrawer .ir-form-section {
        margin-bottom: 8px;
        padding: 10px 12px;
        border-radius: 14px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-section-heading {
        margin-bottom: 7px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-section-heading h3 {
        font-size: 12.5px;
        line-height: 1.1;
    }

    body.ods-incentive-rules #ruleDrawer .ir-section-heading p {
        margin-top: 1px;
        font-size: 9.5px;
        line-height: 1.2;
    }

    body.ods-incentive-rules #ruleDrawer .ir-grid-3 {
        grid-template-columns: 1.25fr .65fr .9fr;
        gap: 8px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-grid-2 {
        gap: 8px;
    }

    body.ods-incentive-rules #ruleDrawer .mt-2 {
        margin-top: 6px !important;
    }

    body.ods-incentive-rules #ruleDrawer .ir-field label {
        margin-bottom: 3px;
        font-size: 8.5px;
    }

    body.ods-incentive-rules #ruleDrawer .form-control,
    body.ods-incentive-rules #ruleDrawer .bootstrap-select > .dropdown-toggle,
    body.ods-incentive-rules #ruleDrawer .select2-container .select2-selection {
        min-height: 34px !important;
        height: 34px !important;
        border-radius: 10px !important;
        font-size: 11px !important;
    }

    body.ods-incentive-rules #ruleDrawer .select2-container--default .select2-selection--multiple {
        height: auto !important;
        min-height: 34px !important;
        padding: 1px 6px !important;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-editor-list {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 7px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-editor {
        min-width: 0;
        padding: 8px 9px;
        border-radius: 12px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-top {
        gap: 6px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-check {
        gap: 6px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-check input {
        width: 15px;
        height: 15px;
        flex: 0 0 15px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-name {
        overflow: hidden;
        font-size: 11px;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    body.ods-incentive-rules #ruleDrawer .ir-type-badge {
        padding: 2px 6px;
        flex: 0 0 auto;
        font-size: 7.5px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-fields {
        gap: 6px;
        margin-top: 6px;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-fields .form-control {
        min-height: 31px !important;
        height: 31px !important;
        font-size: 10px !important;
    }

    body.ods-incentive-rules #ruleDrawer .ir-program-note {
        margin-top: 4px;
        font-size: 8.5px;
        line-height: 1.2;
    }

    body.ods-incentive-rules #ruleDrawer .ir-drawer-footer {
        min-height: 50px;
        padding: 7px 14px;
        flex: 0 0 auto;
    }

    body.ods-incentive-rules #ruleDrawer .ir-drawer-footer .ir-btn {
        min-height: 34px;
        padding: 6px 13px;
        font-size: 11px;
    }
}

/* Short desktop screens retain a safe scroll fallback rather than hiding fields. */
@media (min-width: 901px) and (max-height: 760px) {
    body.ods-incentive-rules #ruleDrawer .ir-drawer-body {
        overflow-y: auto;
    }
}

@media (min-width: 901px) and (max-width: 1120px) {
    body.ods-incentive-rules #ruleDrawer .ir-program-editor-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - INCENTIVE RULES expired program state (2026-09-24)          */
/* ========================================================================== */
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-selected.is-expired {
    border-color: #fecdd3 !important;
    background: #fff1f2 !important;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, .05) !important;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-expired .ir-program-name {
    color: #9f1239 !important;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-expired .ir-expire-input {
    border-color: #fda4af !important;
    color: #be123c !important;
    background: #fff7f8 !important;
    font-weight: 800 !important;
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-program-editor.is-selected.is-expired,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-program-editor.is-selected.is-expired {
    border-color: #9f1239 !important;
    background: rgba(190, 18, 60, .14) !important;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, .08) !important;
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-program-editor.is-expired .ir-program-name,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-program-editor.is-expired .ir-program-name {
    color: #fda4af !important;
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-program-editor.is-expired .ir-expire-input,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-program-editor.is-expired .ir-expire-input {
    border-color: #be123c !important;
    color: #fecdd3 !important;
    background: rgba(127, 29, 29, .28) !important;
}


/* ========================================================================== */
/* ORIGINAL 1DS - INCENTIVE RULES TEST 5: pool rule overrides + expiry fix    */
/* ========================================================================== */
body.ods-incentive-rules #ruleDrawer .ir-program-fields.is-pool {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* data-expired is a second, explicit hook so initial-load/date-picker timing
   cannot prevent the approved light-red expired treatment. */
body.ods-incentive-rules #ruleDrawer .ir-program-editor[data-expired="1"] {
    border-color: #fecdd3 !important;
    background: #fff1f2 !important;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, .05) !important;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor[data-expired="1"] .ir-program-name {
    color: #9f1239 !important;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor[data-expired="1"] .ir-expire-input {
    border-color: #fda4af !important;
    color: #be123c !important;
    background: #fff7f8 !important;
    font-weight: 800 !important;
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-program-editor[data-expired="1"],
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-program-editor[data-expired="1"] {
    border-color: #9f1239 !important;
    background: rgba(190, 18, 60, .14) !important;
    box-shadow: 0 0 0 2px rgba(244, 63, 94, .08) !important;
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-program-editor[data-expired="1"] .ir-program-name,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-program-editor[data-expired="1"] .ir-program-name {
    color: #fda4af !important;
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-program-editor[data-expired="1"] .ir-expire-input,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-program-editor[data-expired="1"] .ir-expire-input {
    border-color: #be123c !important;
    color: #fecdd3 !important;
    background: rgba(127, 29, 29, .28) !important;
}

@media (max-width: 760px) {
    body.ods-incentive-rules #ruleDrawer .ir-program-fields.is-pool {
        grid-template-columns: 1fr;
    }
}


/* ========================================================================== */
/* ORIGINAL 1DS - INCENTIVE RULES TEST 6: vehicle pool limits + managed delete */
/* ========================================================================== */
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-pool-program {
    position: relative;
}
body.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
    margin: -1px 0 1px;
    padding: 5px 7px;
    border: 1px solid #ddd6fe;
    border-radius: 8px;
    color: #5b21b6;
    background: #faf5ff;
    font-size: 8.5px;
    line-height: 1.2;
}
body.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout strong {
    flex: 0 0 auto;
    font-size: 8.8px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .035em;
}
body.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout span {
    color: #7c3aed;
    font-weight: 700;
    text-align: right;
}
body.ods-incentive-rules .ir-pool-default-note {
    margin-top: 7px;
    padding: 7px 9px;
    border: 1px solid #dbeafe;
    border-radius: 9px;
    color: #1d4f91;
    background: #f5faff;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.3;
}
body.ods-incentive-rules .ir-definition-actions {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}
body.ods-incentive-rules .ir-definition-delete {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    border: 1px solid #fecaca;
    border-radius: 50%;
    color: #ef4444;
    background: #fff7f7;
    font-size: 11px;
    cursor: pointer;
    transition: .15s ease;
}
body.ods-incentive-rules .ir-definition-delete:hover {
    border-color: #fca5a5;
    color: #dc2626;
    background: #fee2e2;
}
body.ods-incentive-rules .ir-definition-card:focus-visible {
    outline: 0;
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(33,150,243,.10);
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-pool-rule-callout,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout {
    border-color: #6d28d9;
    color: #ddd6fe;
    background: rgba(109,40,217,.14);
}
body.ods-incentive-rules.theme-dark #ruleDrawer .ir-pool-rule-callout span,
body.theme-dark.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout span {
    color: #c4b5fd;
}
body.ods-incentive-rules.theme-dark .ir-pool-default-note,
body.theme-dark.ods-incentive-rules .ir-pool-default-note {
    border-color: #28577a;
    color: #9dd8ff;
    background: #10283e;
}
body.ods-incentive-rules.theme-dark .ir-definition-delete,
body.theme-dark.ods-incentive-rules .ir-definition-delete {
    border-color: #7f1d1d;
    color: #fca5a5;
    background: rgba(127,29,29,.18);
}
@media (max-width: 760px) {
    body.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout {
        align-items: flex-start;
        flex-direction: column;
    }
    body.ods-incentive-rules #ruleDrawer .ir-pool-rule-callout span {
        text-align: left;
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - INCENTIVE RULES TEST 7: pool rule readability              */
/* ========================================================================== */
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-pool-program .ir-pool-rule-callout {
    padding: 6px 8px;
    font-size: 10px;
    line-height: 1.3;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-pool-program .ir-pool-rule-callout strong {
    font-size: 9.8px;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-pool-program .ir-pool-rule-callout span {
    font-size: 9.8px;
    line-height: 1.3;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-pool-program .ir-field label {
    font-size: 9.5px;
    line-height: 1.15;
}
body.ods-incentive-rules #ruleDrawer .ir-program-editor.is-pool-program .ir-program-note {
    font-size: 9.5px;
    line-height: 1.3;
}
body.ods-incentive-rules .ir-pool-default-note {
    font-size: 10px;
}

/* ========================================================================== */
/* ORIGINAL 1DS - INCENTIVE RULES: Cannot Combine / stacking groups          */
/* ========================================================================== */
body.ods-incentive-rules #ruleDrawer .ir-stacking-section {
    padding-top: 9px;
    padding-bottom: 9px;
}
body.ods-incentive-rules #ruleDrawer .ir-stacking-heading {
    margin-bottom: 7px;
}
body.ods-incentive-rules .ir-btn-compact {
    min-height: 32px;
    padding: 6px 11px;
    font-size: 10px;
}
body.ods-incentive-rules .ir-stacking-hint {
    padding: 8px 10px;
    border: 1px dashed #cbd5e1;
    border-radius: 10px;
    background: #f8fafc;
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
}
body.ods-incentive-rules .ir-stacking-groups {
    display: grid;
    gap: 7px;
}
body.ods-incentive-rules .ir-stacking-card {
    padding: 9px 10px;
    border: 1px solid #ddd6fe;
    border-radius: 12px;
    background: #faf5ff;
}
body.ods-incentive-rules .ir-stacking-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 7px;
}
body.ods-incentive-rules .ir-stacking-card-head strong {
    color: #4c1d95;
    font-size: 11px;
    font-weight: 900;
}
body.ods-incentive-rules .ir-stacking-kicker {
    display: block;
    margin-bottom: 1px;
    color: #7c3aed;
    font-size: 8.5px;
    font-weight: 950;
    letter-spacing: .07em;
    text-transform: uppercase;
}
body.ods-incentive-rules .ir-stacking-remove {
    display: inline-flex;
    width: 26px;
    height: 26px;
    align-items: center;
    justify-content: center;
    border: 1px solid #e9d5ff;
    border-radius: 50%;
    background: #fff;
    color: #7c3aed;
    cursor: pointer;
}
body.ods-incentive-rules .ir-stacking-options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
body.ods-incentive-rules .ir-stacking-option {
    position: relative;
    margin: 0;
}
body.ods-incentive-rules .ir-stacking-option input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
body.ods-incentive-rules .ir-stacking-option span {
    display: inline-flex;
    align-items: center;
    min-height: 29px;
    padding: 5px 9px;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    background: #fff;
    color: #6d28d9;
    font-size: 9.5px;
    font-weight: 850;
    cursor: pointer;
    transition: .15s ease;
}
body.ods-incentive-rules .ir-stacking-option.is-selected span {
    border-color: #8b5cf6;
    background: #ede9fe;
    color: #5b21b6;
    box-shadow: 0 0 0 2px rgba(139,92,246,.08);
}
body.ods-incentive-rules .ir-stacking-help {
    margin-top: 6px;
    color: #7c3aed;
    font-size: 9px;
    font-weight: 700;
}
body.ods-incentive-rules .ir-stacking-list-summary {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin: 4px 6px 0 0;
    padding: 4px 8px;
    border: 1px solid #ddd6fe;
    border-radius: 999px;
    background: #faf5ff;
    color: #6d28d9;
    font-size: 9px;
    font-weight: 800;
}
body.ods-incentive-rules .ir-stacking-list-summary span {
    color: #7c3aed;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .045em;
    text-transform: uppercase;
}
body.ods-incentive-rules.theme-dark .ir-stacking-hint,
body.theme-dark.ods-incentive-rules .ir-stacking-hint {
    border-color: #475569;
    background: #172033;
    color: #cbd5e1;
}
body.ods-incentive-rules.theme-dark .ir-stacking-card,
body.theme-dark.ods-incentive-rules .ir-stacking-card {
    border-color: #6d28d9;
    background: rgba(109,40,217,.12);
}
body.ods-incentive-rules.theme-dark .ir-stacking-card-head strong,
body.theme-dark.ods-incentive-rules .ir-stacking-card-head strong {
    color: #ede9fe;
}
body.ods-incentive-rules.theme-dark .ir-stacking-kicker,
body.theme-dark.ods-incentive-rules .ir-stacking-kicker,
body.ods-incentive-rules.theme-dark .ir-stacking-help,
body.theme-dark.ods-incentive-rules .ir-stacking-help {
    color: #c4b5fd;
}
body.ods-incentive-rules.theme-dark .ir-stacking-remove,
body.theme-dark.ods-incentive-rules .ir-stacking-remove,
body.ods-incentive-rules.theme-dark .ir-stacking-option span,
body.theme-dark.ods-incentive-rules .ir-stacking-option span {
    border-color: #6d28d9;
    background: #172033;
    color: #ddd6fe;
}
body.ods-incentive-rules.theme-dark .ir-stacking-option.is-selected span,
body.theme-dark.ods-incentive-rules .ir-stacking-option.is-selected span,
body.ods-incentive-rules.theme-dark .ir-stacking-list-summary,
body.theme-dark.ods-incentive-rules .ir-stacking-list-summary {
    border-color: #8b5cf6;
    background: rgba(109,40,217,.18);
    color: #ddd6fe;
}
@media (max-width: 760px) {
    body.ods-incentive-rules #ruleDrawer .ir-stacking-heading {
        align-items: flex-start;
        flex-direction: column;
    }
    body.ods-incentive-rules #ruleDrawer .ir-stacking-heading .ir-btn {
        width: 100%;
    }
}
@media (min-width: 901px) and (max-height: 820px) {
    body.ods-incentive-rules #ruleDrawer .ir-drawer-body {
        overflow-y: auto;
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - ADD / EDIT SALE DYNAMIC INCENTIVES (2026-09-24)            */
/* ========================================================================== */
/*
 * Stage 3 connection for site-managed incentive definitions, inheritance,
 * pool limits/balances and Cannot Combine groups.  Keep this styling in the
 * shared modern stylesheet; the existing Add/Edit Sale drawer layout stays
 * intact.
 */
body.add-sale-page-active .sale-incentive-stacking-rules,
#editSaleModal .sale-incentive-stacking-rules {
    display: grid;
    gap: 8px;
    margin: 0 0 12px;
}

body.add-sale-page-active .sale-incentive-stack-callout,
#editSaleModal .sale-incentive-stack-callout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 4px 8px;
    padding: 9px 11px;
    border: 1px solid #ddd6fe;
    border-radius: 13px;
    background: linear-gradient(135deg, #faf5ff, #ffffff);
    color: #5b21b6;
    box-shadow: 0 6px 14px rgba(109, 40, 217, .05);
}

body.add-sale-page-active .sale-incentive-stack-callout.has-selection,
#editSaleModal .sale-incentive-stack-callout.has-selection {
    border-color: #c4b5fd;
    background: linear-gradient(135deg, #f5f3ff, #ffffff);
}

body.add-sale-page-active .sale-incentive-stack-callout.is-invalid,
#editSaleModal .sale-incentive-stack-callout.is-invalid {
    border-color: #fca5a5;
    background: #fff1f2;
    color: #b91c1c;
}

body.add-sale-page-active .sale-incentive-stack-label,
#editSaleModal .sale-incentive-stack-label {
    display: inline-flex;
    align-items: center;
    min-height: 20px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #ede9fe;
    color: #6d28d9;
    font-size: 9px;
    font-weight: 950;
    letter-spacing: .055em;
    line-height: 1;
    white-space: nowrap;
}

body.add-sale-page-active .sale-incentive-stack-callout.is-invalid .sale-incentive-stack-label,
#editSaleModal .sale-incentive-stack-callout.is-invalid .sale-incentive-stack-label {
    background: #fee2e2;
    color: #b91c1c;
}

body.add-sale-page-active .sale-incentive-stack-callout strong,
#editSaleModal .sale-incentive-stack-callout strong {
    min-width: 0;
    color: inherit;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1.25;
}

body.add-sale-page-active .sale-incentive-stack-state,
#editSaleModal .sale-incentive-stack-state {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 5px;
    padding-left: 1px;
    color: #7c3aed;
    font-size: 9.5px;
    font-weight: 750;
    line-height: 1.25;
}

body.add-sale-page-active .sale-incentive-stack-callout.is-invalid .sale-incentive-stack-state,
#editSaleModal .sale-incentive-stack-callout.is-invalid .sale-incentive-stack-state {
    color: #b91c1c;
}

body.add-sale-page-active .dynamic-incentive-row,
#editSaleModal .dynamic-incentive-row {
    align-items: start;
}

body.add-sale-page-active .dynamic-incentive-row.is-pool-incentive,
#editSaleModal .dynamic-incentive-row.is-pool-incentive {
    min-height: 102px;
}

body.add-sale-page-active .dynamic-incentive-row.is-conflict-locked,
#editSaleModal .dynamic-incentive-row.is-conflict-locked {
    border-color: #e2e8f0;
    background: #f8fafc;
    box-shadow: none;
}

body.add-sale-page-active .dynamic-incentive-row.is-conflict-locked .sale-incentive-program-copy,
#editSaleModal .dynamic-incentive-row.is-conflict-locked .sale-incentive-program-copy {
    opacity: .68;
}

body.add-sale-page-active .dynamic-incentive-row.is-conflict-warning,
#editSaleModal .dynamic-incentive-row.is-conflict-warning {
    border-color: #fca5a5;
    background: #fff7f7;
}

body.add-sale-page-active .dynamic-incentive-row.is-historical-incentive,
#editSaleModal .dynamic-incentive-row.is-historical-incentive {
    border-color: #fcd34d;
    background: #fffbeb;
    box-shadow: none;
}

body.add-sale-page-active .sale-incentive-program-copy,
#editSaleModal .sale-incentive-program-copy {
    min-width: 0;
}

body.add-sale-page-active .sale-incentive-name-line,
#editSaleModal .sale-incentive-name-line {
    display: flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

body.add-sale-page-active .sale-incentive-name-line .incentive-name,
#editSaleModal .sale-incentive-name-line .incentive-name {
    margin-bottom: 0;
}

body.add-sale-page-active .sale-incentive-type-pill,
body.add-sale-page-active .sale-incentive-source-pill,
body.add-sale-page-active .sale-incentive-history-pill,
#editSaleModal .sale-incentive-type-pill,
#editSaleModal .sale-incentive-source-pill,
#editSaleModal .sale-incentive-history-pill {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
    white-space: nowrap;
}

body.add-sale-page-active .sale-incentive-type-pill,
#editSaleModal .sale-incentive-type-pill {
    background: #eef2ff;
    color: #4f46e5;
}

body.add-sale-page-active .sale-incentive-type-pill.is-pool,
#editSaleModal .sale-incentive-type-pill.is-pool {
    background: #f3e8ff;
    color: #7e22ce;
}

body.add-sale-page-active .sale-incentive-source-pill,
#editSaleModal .sale-incentive-source-pill {
    background: #e0f2fe;
    color: #0369a1;
}

body.add-sale-page-active .sale-incentive-history-pill,
#editSaleModal .sale-incentive-history-pill {
    background: #fef3c7;
    color: #92400e;
}

body.add-sale-page-active .sale-incentive-pool-balance,
body.add-sale-page-active .sale-incentive-limit,
#editSaleModal .sale-incentive-pool-balance,
#editSaleModal .sale-incentive-limit {
    display: inline-flex;
    align-items: center;
    min-height: 21px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: 9.5px;
    font-weight: 850;
    line-height: 1.15;
}

body.add-sale-page-active .sale-incentive-pool-balance,
#editSaleModal .sale-incentive-pool-balance {
    background: #f3e8ff;
    color: #7e22ce;
}

body.add-sale-page-active .sale-incentive-limit,
#editSaleModal .sale-incentive-limit {
    background: #f1f5f9;
    color: #475569;
}

body.add-sale-page-active .sale-incentive-conflict-note,
body.add-sale-page-active .sale-incentive-history-note,
#editSaleModal .sale-incentive-conflict-note,
#editSaleModal .sale-incentive-history-note {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    margin-top: 7px;
    font-size: 9.5px;
    font-weight: 800;
    line-height: 1.3;
}

body.add-sale-page-active .sale-incentive-conflict-note,
#editSaleModal .sale-incentive-conflict-note {
    color: #64748b;
}

body.add-sale-page-active .sale-incentive-conflict-note.is-warning,
#editSaleModal .sale-incentive-conflict-note.is-warning {
    color: #b91c1c;
}

body.add-sale-page-active .sale-incentive-history-note,
#editSaleModal .sale-incentive-history-note {
    color: #92400e;
}

body.add-sale-page-active .sale-incentive-pool-entry,
#editSaleModal .sale-incentive-pool-entry {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 4px 8px;
    margin-top: 9px;
    padding: 8px;
    border: 1px solid #e9d5ff;
    border-radius: 11px;
    background: #faf7ff;
}

body.add-sale-page-active .sale-incentive-pool-entry label,
#editSaleModal .sale-incentive-pool-entry label {
    grid-column: 1 / -1;
    margin: 0;
    color: #6b21a8;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .03em;
    line-height: 1.1;
    text-transform: uppercase;
}

body.add-sale-page-active .sale-incentive-pool-input,
#editSaleModal .sale-incentive-pool-input {
    position: relative;
    min-width: 0;
}

body.add-sale-page-active .sale-incentive-pool-input > span,
#editSaleModal .sale-incentive-pool-input > span {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 9px;
    color: #7e22ce;
    font-size: 10px;
    font-weight: 950;
    transform: translateY(-50%);
    pointer-events: none;
}

body.add-sale-page-active .sale-incentive-pool-input input,
#editSaleModal .sale-incentive-pool-input input {
    width: 100%;
    height: 32px;
    padding: 5px 8px 5px 21px;
    border: 1px solid #d8b4fe;
    border-radius: 9px;
    outline: 0;
    background: #ffffff;
    color: #3b0764;
    font-size: 11px;
    font-weight: 900;
    box-shadow: none;
}

body.add-sale-page-active .sale-incentive-pool-input input:focus,
#editSaleModal .sale-incentive-pool-input input:focus {
    border-color: #a855f7;
    box-shadow: 0 0 0 2px rgba(168, 85, 247, .12);
}

body.add-sale-page-active .sale-incentive-pool-input input:disabled,
#editSaleModal .sale-incentive-pool-input input:disabled {
    cursor: not-allowed;
    background: #f1f5f9;
    color: #94a3b8;
}

body.add-sale-page-active .sale-incentive-pool-after,
#editSaleModal .sale-incentive-pool-after {
    color: #6b7280;
    font-size: 8.75px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

body.add-sale-page-active .sale-incentive-loading,
body.add-sale-page-active .sale-incentive-empty,
#editSaleModal .sale-incentive-loading,
#editSaleModal .sale-incentive-empty {
    padding: 15px 12px;
    border: 1px dashed #cbd5e1;
    border-radius: 13px;
    background: #f8fafc;
    color: #64748b;
    font-size: 10.5px;
    font-weight: 750;
    line-height: 1.4;
    text-align: center;
}

body.add-sale-page-active .incentive-segment.is-active[data-dynamic-incentive-choice="no"],
#editSaleModal .incentive-segment.is-active[data-edit-dynamic-incentive-choice="no"] {
    background: #f1f5f9;
    color: #334155;
}

body.add-sale-page-active .incentive-segment.is-active[data-dynamic-incentive-choice="yes"],
#editSaleModal .incentive-segment.is-active[data-edit-dynamic-incentive-choice="yes"] {
    background: #dcfce7;
    color: #15803d;
}

body.add-sale-page-active .incentive-segment.is-active[data-dynamic-incentive-choice="approved"],
#editSaleModal .incentive-segment.is-active[data-edit-dynamic-incentive-choice="approved"] {
    background: #dbeafe;
    color: #1d4ed8;
}

body.theme-dark.add-sale-page-active .sale-incentive-stack-callout,
body.theme-dark #editSaleModal .sale-incentive-stack-callout {
    border-color: #5b4a86;
    background: linear-gradient(135deg, rgba(109, 40, 217, .18), #172033);
    color: #ddd6fe;
    box-shadow: none;
}

body.theme-dark.add-sale-page-active .sale-incentive-stack-callout.is-invalid,
body.theme-dark #editSaleModal .sale-incentive-stack-callout.is-invalid {
    border-color: #7f1d1d;
    background: rgba(127, 29, 29, .22);
    color: #fecaca;
}

body.theme-dark.add-sale-page-active .sale-incentive-stack-label,
body.theme-dark #editSaleModal .sale-incentive-stack-label {
    background: rgba(124, 58, 237, .24);
    color: #ddd6fe;
}

body.theme-dark.add-sale-page-active .sale-incentive-stack-state,
body.theme-dark #editSaleModal .sale-incentive-stack-state {
    color: #c4b5fd;
}

body.theme-dark.add-sale-page-active .dynamic-incentive-row.is-conflict-locked,
body.theme-dark #editSaleModal .dynamic-incentive-row.is-conflict-locked {
    border-color: #334155;
    background: #172033;
}

body.theme-dark.add-sale-page-active .dynamic-incentive-row.is-conflict-warning,
body.theme-dark #editSaleModal .dynamic-incentive-row.is-conflict-warning {
    border-color: #7f1d1d;
    background: rgba(127, 29, 29, .18);
}

body.theme-dark.add-sale-page-active .dynamic-incentive-row.is-historical-incentive,
body.theme-dark #editSaleModal .dynamic-incentive-row.is-historical-incentive {
    border-color: #854d0e;
    background: rgba(133, 77, 14, .16);
}

body.theme-dark.add-sale-page-active .sale-incentive-type-pill,
body.theme-dark #editSaleModal .sale-incentive-type-pill {
    background: rgba(99, 102, 241, .18);
    color: #c7d2fe;
}

body.theme-dark.add-sale-page-active .sale-incentive-type-pill.is-pool,
body.theme-dark #editSaleModal .sale-incentive-type-pill.is-pool,
body.theme-dark.add-sale-page-active .sale-incentive-pool-balance,
body.theme-dark #editSaleModal .sale-incentive-pool-balance {
    background: rgba(168, 85, 247, .16);
    color: #e9d5ff;
}

body.theme-dark.add-sale-page-active .sale-incentive-source-pill,
body.theme-dark #editSaleModal .sale-incentive-source-pill {
    background: rgba(14, 165, 233, .16);
    color: #bae6fd;
}

body.theme-dark.add-sale-page-active .sale-incentive-history-pill,
body.theme-dark #editSaleModal .sale-incentive-history-pill {
    background: rgba(245, 158, 11, .16);
    color: #fde68a;
}

body.theme-dark.add-sale-page-active .sale-incentive-limit,
body.theme-dark #editSaleModal .sale-incentive-limit {
    background: #253145;
    color: #cbd5e1;
}

body.theme-dark.add-sale-page-active .sale-incentive-conflict-note,
body.theme-dark #editSaleModal .sale-incentive-conflict-note {
    color: #aab8cb;
}

body.theme-dark.add-sale-page-active .sale-incentive-history-note,
body.theme-dark #editSaleModal .sale-incentive-history-note {
    color: #fcd34d;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-entry,
body.theme-dark #editSaleModal .sale-incentive-pool-entry {
    border-color: #5b4a86;
    background: rgba(109, 40, 217, .10);
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-entry label,
body.theme-dark #editSaleModal .sale-incentive-pool-entry label,
body.theme-dark.add-sale-page-active .sale-incentive-pool-input > span,
body.theme-dark #editSaleModal .sale-incentive-pool-input > span {
    color: #d8b4fe;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input input,
body.theme-dark #editSaleModal .sale-incentive-pool-input input {
    border-color: #5b4a86;
    background: #111827;
    color: #f5f3ff;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input input:disabled,
body.theme-dark #editSaleModal .sale-incentive-pool-input input:disabled {
    background: #172033;
    color: #64748b;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-after,
body.theme-dark #editSaleModal .sale-incentive-pool-after {
    color: #aab8cb;
}

body.theme-dark.add-sale-page-active .sale-incentive-loading,
body.theme-dark.add-sale-page-active .sale-incentive-empty,
body.theme-dark #editSaleModal .sale-incentive-loading,
body.theme-dark #editSaleModal .sale-incentive-empty {
    border-color: #475569;
    background: #172033;
    color: #aab8cb;
}

@media (max-width: 575.98px) {
    body.add-sale-page-active .sale-incentive-stack-callout,
    #editSaleModal .sale-incentive-stack-callout {
        grid-template-columns: 1fr;
    }

    body.add-sale-page-active .sale-incentive-stack-state,
    #editSaleModal .sale-incentive-stack-state {
        grid-column: auto;
    }

    body.add-sale-page-active .sale-incentive-pool-entry,
    #editSaleModal .sale-incentive-pool-entry {
        grid-template-columns: 1fr;
    }

    body.add-sale-page-active .sale-incentive-pool-entry label,
    #editSaleModal .sale-incentive-pool-entry label {
        grid-column: auto;
    }

    body.add-sale-page-active .sale-incentive-pool-after,
    #editSaleModal .sale-incentive-pool-after {
        white-space: normal;
    }
}


/* ORIGINAL 1DS - Incentive Pool increment setting */
@media (max-width: 900px) and (min-width: 601px) {
    body.ods-incentive-rules .ir-pool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - ADD / EDIT SALE POOL AMOUNT DROPDOWN                       */
/* ========================================================================== */
body.add-sale-page-active .sale-incentive-pool-input select,
#editSaleModal .sale-incentive-pool-input select {
    width: 100%;
    height: 32px;
    padding: 5px 28px 5px 10px;
    border: 1px solid #d8b4fe;
    border-radius: 9px;
    outline: 0;
    background: #ffffff;
    color: #3b0764;
    font-size: 11px;
    font-weight: 900;
    box-shadow: none;
    cursor: pointer;
}

body.add-sale-page-active .sale-incentive-pool-input select:focus,
#editSaleModal .sale-incentive-pool-input select:focus {
    border-color: #a855f7;
    box-shadow: 0 0 0 2px rgba(168, 85, 247, .12);
}

body.add-sale-page-active .sale-incentive-pool-input select:disabled,
#editSaleModal .sale-incentive-pool-input select:disabled {
    cursor: not-allowed;
    background: #f1f5f9;
    color: #94a3b8;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input select,
body.theme-dark #editSaleModal .sale-incentive-pool-input select {
    border-color: #5b4a86;
    background: #111827;
    color: #f5f3ff;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input select:disabled,
body.theme-dark #editSaleModal .sale-incentive-pool-input select:disabled {
    background: #172033;
    color: #64748b;
}



/* ========================================================================== */
/* ORIGINAL 1DS - ADD / EDIT SALE POOL DROPDOWN FIT + VIEWPORT SAFETY        */
/* ========================================================================== */
body.add-sale-page-active .sale-incentive-pool-entry,
#editSaleModal .sale-incentive-pool-entry {
    grid-template-columns: minmax(145px, 165px) minmax(0, 1fr);
    align-items: end;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select,
#editSaleModal .sale-incentive-pool-input.is-select {
    min-width: 145px;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select {
    width: 100% !important;
    min-width: 145px !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select > .dropdown-toggle,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select > .dropdown-toggle {
    width: 100% !important;
    min-width: 145px !important;
    height: 32px !important;
    min-height: 32px !important;
    padding: 5px 30px 5px 10px !important;
    border: 1px solid #d8b4fe !important;
    border-radius: 9px !important;
    background: #ffffff !important;
    color: #3b0764 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 20px !important;
    box-shadow: none !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select > .dropdown-toggle:focus,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select > .dropdown-toggle:focus {
    border-color: #a855f7 !important;
    box-shadow: 0 0 0 2px rgba(168, 85, 247, .12) !important;
    outline: 0 !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .filter-option-inner-inner,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .filter-option-inner-inner {
    overflow: visible;
    text-overflow: clip;
    white-space: nowrap;
}

/* The menu is attached to body so it can flip upward instead of being clipped by the drawer/footer. */
body > .bs-container {
    z-index: 2147483000 !important;
}

body > .bs-container .sale-pool-amount-picker .dropdown-menu {
    min-width: 145px !important;
    max-height: 232px !important;
    padding: 5px !important;
    overflow: hidden !important;
    border: 1px solid #d8b4fe !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(76, 29, 149, .18) !important;
}

body > .bs-container .sale-pool-amount-picker .dropdown-menu.inner {
    max-height: 220px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

body > .bs-container .sale-pool-amount-picker .dropdown-item,
body > .bs-container .sale-pool-amount-picker .dropdown-menu li > a {
    min-height: 30px;
    padding: 6px 9px !important;
    border-radius: 7px;
    color: #4c1d95 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
}

body > .bs-container .sale-pool-amount-picker .dropdown-item:hover,
body > .bs-container .sale-pool-amount-picker .dropdown-item.active,
body > .bs-container .sale-pool-amount-picker .dropdown-menu li.active > a,
body > .bs-container .sale-pool-amount-picker .dropdown-menu li > a:hover {
    background: #f3e8ff !important;
    color: #6b21a8 !important;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select > .dropdown-toggle,
body.theme-dark #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select > .dropdown-toggle {
    border-color: #5b4a86 !important;
    background: #111827 !important;
    color: #f5f3ff !important;
}

body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-menu {
    border-color: #5b4a86 !important;
    background: #111827 !important;
}

body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-item,
body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-menu li > a {
    color: #e9d5ff !important;
}

body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-item:hover,
body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-item.active,
body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-menu li.active > a,
body.theme-dark > .bs-container .sale-pool-amount-picker .dropdown-menu li > a:hover {
    background: rgba(168, 85, 247, .18) !important;
    color: #f5f3ff !important;
}

@media (max-width: 575.98px) {
    body.add-sale-page-active .sale-incentive-pool-entry,
    #editSaleModal .sale-incentive-pool-entry {
        grid-template-columns: 1fr;
    }

    body.add-sale-page-active .sale-incentive-pool-input.is-select,
    #editSaleModal .sale-incentive-pool-input.is-select,
    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* ========================================================================== */
/* ORIGINAL 1DS - ADD / EDIT SALE POOL DROPDOWN LOCAL MENU + ALIGNMENT FIX   */
/* ========================================================================== */
/* Keep the Bootstrap-select menu inside the drawer.  The previous body portal
   could open the picker state without rendering the menu above the sale modal. */
body.add-sale-page-active .sale-incentive-pool-entry,
#editSaleModal .sale-incentive-pool-entry {
    grid-template-columns: minmax(150px, 175px) !important;
    justify-content: start;
    align-items: start;
    gap: 5px !important;
}

body.add-sale-page-active .sale-incentive-pool-entry label,
#editSaleModal .sale-incentive-pool-entry label,
body.add-sale-page-active .sale-incentive-pool-input.is-select,
#editSaleModal .sale-incentive-pool-input.is-select,
body.add-sale-page-active .sale-incentive-pool-after,
#editSaleModal .sale-incentive-pool-after {
    grid-column: 1;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select,
#editSaleModal .sale-incentive-pool-input.is-select,
body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select {
    width: 100% !important;
    min-width: 150px !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu {
    z-index: 2147483600 !important;
    min-width: 100% !important;
    max-height: 232px !important;
    padding: 5px !important;
    overflow: hidden !important;
    border: 1px solid #d8b4fe !important;
    border-radius: 10px !important;
    background: #ffffff !important;
    box-shadow: 0 14px 34px rgba(76, 29, 149, .18) !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner {
    max-height: 220px !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a {
    min-height: 30px;
    padding: 6px 9px !important;
    border-radius: 7px;
    color: #4c1d95 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
    line-height: 18px !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.active > a,
body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a:hover,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.active > a,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a:hover {
    background: #f3e8ff !important;
    color: #6b21a8 !important;
}

body.add-sale-page-active .sale-incentive-pool-after,
#editSaleModal .sale-incentive-pool-after {
    display: block;
    width: 100%;
    margin-top: 1px;
    color: #6b7280;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.25;
    white-space: normal;
    text-align: left;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu,
body.theme-dark #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu {
    border-color: #5b4a86 !important;
    background: #111827 !important;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a,
body.theme-dark #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a {
    color: #e9d5ff !important;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.active > a,
body.theme-dark.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a:hover,
body.theme-dark #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.active > a,
body.theme-dark #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a:hover {
    background: rgba(168, 85, 247, .18) !important;
    color: #f5f3ff !important;
}

@media (max-width: 575.98px) {
    body.add-sale-page-active .sale-incentive-pool-entry,
    #editSaleModal .sale-incentive-pool-entry {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - ADD / EDIT SALE POOL DROPDOWN S-TIER FULL-VALUE MENU       */
/* ========================================================================== */
/* Pool values are intentionally shown all at once. No nested/dual scrollbars. */
body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu {
    width: max-content !important;
    min-width: 170px !important;
    max-width: 330px !important;
    max-height: none !important;
    height: auto !important;
    padding: 7px !important;
    overflow: visible !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner {
    display: grid !important;
    grid-template-columns: minmax(130px, 1fr);
    gap: 3px 6px;
    width: 100% !important;
    max-height: none !important;
    height: auto !important;
    padding: 0 !important;
    overflow: visible !important;
    scrollbar-width: none !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner::-webkit-scrollbar,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide {
    min-width: 276px !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide .dropdown-menu.inner,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide .dropdown-menu.inner {
    grid-template-columns: repeat(2, minmax(128px, 1fr));
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three {
    min-width: 330px !important;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three .dropdown-menu.inner,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three .dropdown-menu.inner {
    grid-template-columns: repeat(3, minmax(100px, 1fr));
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner > li,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner > li {
    float: none !important;
    width: auto !important;
    margin: 0 !important;
}

/* Keep the neutral "Select amount" prompt full-width above the value grid. */
body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner > li:first-child,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner > li:first-child {
    grid-column: 1 / -1;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li > a {
    display: flex !important;
    align-items: center;
    min-height: 32px !important;
    padding: 6px 10px !important;
    border: 1px solid transparent;
    border-radius: 8px !important;
    white-space: nowrap;
}

body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.selected > a,
#editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.selected > a {
    border-color: #d8b4fe !important;
    background: #f3e8ff !important;
    color: #6b21a8 !important;
}

body.theme-dark.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.selected > a,
body.theme-dark #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu li.selected > a {
    border-color: #7c3aed !important;
    background: rgba(124, 58, 237, .22) !important;
    color: #f5f3ff !important;
}

@media (max-width: 575.98px) {
    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu,
    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide,
    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three {
        min-width: min(300px, calc(100vw - 42px)) !important;
        max-width: min(300px, calc(100vw - 42px)) !important;
    }

    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.inner,
    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide .dropdown-menu.inner,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-wide .dropdown-menu.inner,
    body.add-sale-page-active .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three .dropdown-menu.inner,
    #editSaleModal .sale-incentive-pool-input.is-select .bootstrap-select .dropdown-menu.pool-amount-menu-three .dropdown-menu.inner {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - ADD / EDIT SALE POOL AMOUNT PICKER - CUSTOM, NO SCROLLBARS */
/* ========================================================================== */
/*
 * This intentionally does not use bootstrap-select. Pool choices live in a
 * small fixed-position value grid so drawer overflow and plugin virtual-scroll
 * calculations cannot clip or collapse the menu.
 */
body.add-sale-page-active .sale-pool-picker,
#editSaleModal .sale-pool-picker {
    position: relative;
    width: 100%;
}

body.add-sale-page-active .sale-pool-picker-toggle,
#editSaleModal .sale-pool-picker-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 35px;
    padding: 7px 11px;
    border: 1px solid #c084fc;
    border-radius: 9px;
    color: #5b21b6;
    background: #ffffff;
    box-shadow: 0 0 0 2px rgba(168, 85, 247, .05);
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.2;
    text-align: left;
    cursor: pointer;
}

body.add-sale-page-active .sale-pool-picker-toggle:hover,
body.add-sale-page-active .sale-pool-picker-toggle.is-open,
#editSaleModal .sale-pool-picker-toggle:hover,
#editSaleModal .sale-pool-picker-toggle.is-open {
    border-color: #9333ea;
    box-shadow: 0 0 0 3px rgba(168, 85, 247, .11);
}

body.add-sale-page-active .sale-pool-picker-toggle i,
#editSaleModal .sale-pool-picker-toggle i {
    flex: 0 0 auto;
    font-size: 9px;
    transition: transform .16s ease;
}

body.add-sale-page-active .sale-pool-picker-toggle.is-open i,
#editSaleModal .sale-pool-picker-toggle.is-open i {
    transform: rotate(180deg);
}

body.add-sale-page-active .sale-pool-picker-toggle:disabled,
#editSaleModal .sale-pool-picker-toggle:disabled {
    opacity: .55;
    cursor: not-allowed;
}

.sale-pool-floating-menu {
    position: fixed;
    z-index: 2147483647;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
    padding: 8px;
    overflow: visible;
    border: 1px solid #d8b4fe;
    border-radius: 13px;
    background: #ffffff;
    box-shadow: 0 20px 48px rgba(76, 29, 149, .22);
}

.sale-pool-floating-menu.is-two-column {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sale-pool-floating-menu.is-three-column {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.sale-pool-floating-option {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid #ede9fe;
    border-radius: 9px;
    color: #5b21b6;
    background: #ffffff;
    font-size: 11px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color .14s ease, background .14s ease, transform .14s ease;
}

.sale-pool-floating-option:hover,
.sale-pool-floating-option:focus {
    border-color: #c084fc;
    color: #6b21a8;
    background: #faf5ff;
    outline: none;
    transform: translateY(-1px);
}

.sale-pool-floating-option.is-selected {
    border-color: #a855f7;
    color: #6b21a8;
    background: #f3e8ff;
    box-shadow: inset 0 0 0 1px rgba(168, 85, 247, .08);
}

body.theme-dark .sale-pool-floating-menu {
    border-color: #6d4aa3;
    background: #111827;
    box-shadow: 0 22px 54px rgba(0, 0, 0, .42);
}

body.theme-dark .sale-pool-floating-option {
    border-color: #3f365a;
    color: #e9d5ff;
    background: #172033;
}

body.theme-dark .sale-pool-floating-option:hover,
body.theme-dark .sale-pool-floating-option:focus,
body.theme-dark .sale-pool-floating-option.is-selected {
    border-color: #8b5cf6;
    color: #f5f3ff;
    background: rgba(124, 58, 237, .22);
}

body.theme-dark.add-sale-page-active .sale-pool-picker-toggle,
body.theme-dark #editSaleModal .sale-pool-picker-toggle {
    border-color: #6d4aa3;
    color: #e9d5ff;
    background: #172033;
    box-shadow: none;
}

@media (max-width: 575.98px) {
    .sale-pool-floating-menu,
    .sale-pool-floating-menu.is-two-column,
    .sale-pool-floating-menu.is-three-column {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: calc(100vw - 24px);
    }
}

/* ============================================================================
   ORIGINAL 1DS - INCENTIVE APPROVALS: full eligible incentive correction flow
   Reuses the Add/Edit Sale stacking + Pool language inside #editDetails only.
============================================================================ */
#editDetails .approval-incentive-stacking-rules {
    display: grid;
    gap: 6px;
    margin: 0 8px 7px;
}

#editDetails .approval-stack-callout {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 8px;
    min-height: 31px;
    padding: 6px 9px;
    border: 1px solid #ddd6fe;
    border-radius: 11px;
    background: #faf7ff;
    color: #6d28d9;
    font-size: 9.5px;
    font-weight: 800;
}

#editDetails .approval-stack-callout.has-selection {
    border-color: #c4b5fd;
    background: #f7f2ff;
}

#editDetails .approval-stack-callout.is-invalid {
    border-color: #fca5a5;
    background: #fff1f2;
    color: #b91c1c;
}

#editDetails .approval-stack-label {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #ede9fe;
    color: #6d28d9;
    font-size: 8px;
    font-weight: 950;
    letter-spacing: .045em;
    white-space: nowrap;
}

#editDetails .approval-stack-callout strong {
    color: inherit;
    font-size: 9.5px;
    font-weight: 900;
}

#editDetails .approval-stack-state {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    color: #7c3aed;
    font-size: 8.5px;
    font-weight: 850;
}

#editDetails .approval-stack-callout.is-invalid .approval-stack-label {
    background: #fee2e2;
    color: #b91c1c;
}

#editDetails .approval-stack-callout.is-invalid .approval-stack-state {
    color: #b91c1c;
}

#editDetails .incentive-editor-row.has-program-meta {
    height: auto !important;
    min-height: 48px !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
}

#editDetails .incentive-editor-row.has-pool-selection {
    min-height: 94px !important;
    align-items: start !important;
}

#editDetails .incentive-editor-row.has-pool-selection .incentive-choice-group,
#editDetails .incentive-editor-row.has-pool-selection .submission-control {
    margin-top: 3px;
}

#editDetails .approval-incentive-name-line {
    color: #0f172a;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
}

#editDetails .approval-incentive-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px 5px;
    margin-top: 4px;
    color: #64748b;
    font-size: 8.5px;
    font-weight: 750;
    line-height: 1.1;
}

#editDetails .approval-standard-amount,
#editDetails .approval-pool-balance,
#editDetails .approval-historical-note {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    padding: 3px 7px;
    border-radius: 999px;
    white-space: nowrap;
}

#editDetails .approval-standard-amount {
    background: #dcfce7;
    color: #15803d;
}

#editDetails .approval-pool-balance {
    background: #f3e8ff;
    color: #7e22ce;
}

#editDetails .approval-pool-limit {
    color: #64748b;
    white-space: nowrap;
}

#editDetails .approval-expiration {
    color: #64748b;
    white-space: nowrap;
}

#editDetails .approval-historical-note {
    background: #f1f5f9;
    color: #64748b;
}

#editDetails .approval-conflict-note {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-top: 4px;
    color: #94a3b8;
    font-size: 8.5px;
    font-weight: 800;
    line-height: 1.15;
}

#editDetails .approval-pool-entry {
    width: 100%;
    margin-top: 6px;
    padding: 6px;
    border: 1px solid #e9d5ff;
    border-radius: 9px;
    background: #faf5ff;
}

#editDetails .approval-pool-entry > label {
    display: block;
    margin: 0 0 4px;
    color: #7e22ce;
    font-size: 7.5px;
    font-weight: 950;
    letter-spacing: .045em;
    line-height: 1;
    text-transform: uppercase;
}

#editDetails .approval-pool-after {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 8px;
    font-weight: 750;
    line-height: 1.1;
}

#editDetails .sale-incentive-pool-input,
#editDetails .sale-incentive-pool-input.is-select,
#editDetails .sale-pool-picker {
    width: 100%;
}

#editDetails .sale-pool-picker {
    position: relative;
}

#editDetails .sale-pool-picker-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    width: 100%;
    min-height: 30px;
    padding: 6px 9px;
    border: 1px solid #d8b4fe;
    border-radius: 8px;
    background: #ffffff;
    color: #6b21a8;
    font-size: 9px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

#editDetails .sale-pool-picker-toggle:hover,
#editDetails .sale-pool-picker-toggle.is-open {
    border-color: #a855f7;
    box-shadow: 0 0 0 2px rgba(168, 85, 247, .08);
}

#editDetails .sale-pool-picker-toggle i {
    font-size: 8px;
    transition: transform .14s ease;
}

#editDetails .sale-pool-picker-toggle.is-open i {
    transform: rotate(180deg);
}

#editDetails .sale-pool-picker-toggle:disabled,
#editDetails .sale-pool-picker.is-disabled .sale-pool-picker-toggle {
    opacity: .62;
    cursor: not-allowed;
}

#editDetails .sale-incentive-pool-input:not(.is-select) {
    display: flex;
    align-items: center;
    min-height: 30px;
    border: 1px solid #d8b4fe;
    border-radius: 8px;
    background: #ffffff;
    overflow: hidden;
}

#editDetails .sale-incentive-pool-input:not(.is-select) > span {
    padding-left: 8px;
    color: #7e22ce;
    font-size: 9px;
    font-weight: 900;
}

#editDetails .sale-incentive-pool-input:not(.is-select) input {
    width: 100%;
    min-width: 0;
    height: 28px;
    padding: 4px 7px;
    border: 0;
    outline: none;
    background: transparent;
    color: #6b21a8;
    font-size: 9px;
    font-weight: 900;
}

body.theme-dark #editDetails .approval-stack-callout {
    border-color: #5b477d;
    background: #241b35;
    color: #d8b4fe;
}

body.theme-dark #editDetails .approval-stack-label {
    background: #3b2a55;
    color: #e9d5ff;
}

body.theme-dark #editDetails .approval-stack-state,
body.theme-dark #editDetails .approval-incentive-meta,
body.theme-dark #editDetails .approval-pool-limit,
body.theme-dark #editDetails .approval-expiration,
body.theme-dark #editDetails .approval-conflict-note,
body.theme-dark #editDetails .approval-pool-after {
    color: #cbd5e1;
}

body.theme-dark #editDetails .approval-incentive-name-line {
    color: #f8fafc;
}

body.theme-dark #editDetails .approval-standard-amount {
    background: rgba(22, 163, 74, .18);
    color: #86efac;
}

body.theme-dark #editDetails .approval-pool-balance,
body.theme-dark #editDetails .approval-pool-entry {
    border-color: #5b477d;
    background: #241b35;
    color: #e9d5ff;
}

body.theme-dark #editDetails .approval-historical-note {
    background: #334155;
    color: #cbd5e1;
}

body.theme-dark #editDetails .sale-pool-picker-toggle,
body.theme-dark #editDetails .sale-incentive-pool-input:not(.is-select) {
    border-color: #6d4aa3;
    background: #111827;
    color: #e9d5ff;
}

body.theme-dark #editDetails .sale-incentive-pool-input:not(.is-select) input,
body.theme-dark #editDetails .sale-incentive-pool-input:not(.is-select) > span {
    color: #e9d5ff;
}

@media (max-width: 767.98px) {
    #editDetails .approval-incentive-stacking-rules {
        margin-left: 0;
        margin-right: 0;
    }

    #editDetails .approval-stack-state {
        width: 100%;
        margin-left: 0;
    }
}

/* ============================================================================
   ORIGINAL 1DS - INCENTIVE APPROVALS: desktop readability pass
   Keep the compact no-scroll drawer, but restore comfortable 100% zoom type.
   Scoped to Edit Incentive only; no workflow or layout logic changes.
============================================================================ */
@media (min-width: 821px) {
    html body #editDetails.incentive-drawer-modal .incentive-drawer-header h5 {
        font-size: 19px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .incentive-drawer-subtitle {
        font-size: 12px !important;
        line-height: 1.2 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-summary h3 {
        font-size: 16px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-summary p {
        font-size: 11.5px !important;
        line-height: 1.2 !important;
    }

    html body #editDetails.incentive-drawer-modal .incentive-status-pill {
        font-size: 10px !important;
        line-height: 1 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-card-title {
        font-size: 13.5px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-card-title span {
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-field > label {
        font-size: 9.5px !important;
        line-height: 1.1 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-field .form-control,
    html body #editDetails.incentive-drawer-modal .submission-control .form-control {
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-field .delivery-option {
        font-size: 11.5px !important;
        line-height: 1 !important;
    }

    html body #editDetails.incentive-drawer-modal .drawer-field .delivery-option i {
        font-size: 10.5px !important;
    }

    html body #editDetails.incentive-drawer-modal .incentive-editor-header {
        font-size: 9.5px !important;
        line-height: 1 !important;
    }

    html body #editDetails.incentive-drawer-modal .incentive-editor-name,
    html body #editDetails.incentive-drawer-modal .approval-incentive-name-line {
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-incentive-meta {
        font-size: 9.5px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-standard-amount,
    html body #editDetails.incentive-drawer-modal .approval-pool-balance,
    html body #editDetails.incentive-drawer-modal .approval-historical-note {
        min-height: 19px !important;
        padding: 3px 7px !important;
        font-size: 9.5px !important;
        line-height: 1 !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-pool-limit,
    html body #editDetails.incentive-drawer-modal .approval-expiration,
    html body #editDetails.incentive-drawer-modal .approval-conflict-note {
        font-size: 9.5px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .incentive-choice {
        font-size: 10.5px !important;
        line-height: 1 !important;
    }

    html body #editDetails.incentive-drawer-modal .submission-audit {
        font-size: 9.5px !important;
        line-height: 1.1 !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-stack-callout {
        font-size: 10.5px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-stack-label {
        font-size: 9px !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-stack-callout strong {
        font-size: 10.5px !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-stack-state {
        font-size: 9.5px !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-pool-entry > label {
        font-size: 8.5px !important;
        line-height: 1 !important;
    }

    html body #editDetails.incentive-drawer-modal .sale-pool-picker-toggle,
    html body #editDetails.incentive-drawer-modal .sale-incentive-pool-input:not(.is-select) > span,
    html body #editDetails.incentive-drawer-modal .sale-incentive-pool-input:not(.is-select) input {
        font-size: 10.5px !important;
    }

    html body #editDetails.incentive-drawer-modal .approval-pool-after {
        font-size: 9px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal #images {
        font-size: 11px !important;
        line-height: 1.15 !important;
    }

    html body #editDetails.incentive-drawer-modal .incentive-drawer-footer .incentives-btn {
        font-size: 12px !important;
        line-height: 1 !important;
    }
}


/* ORIGINAL 1DS - Manage Matrix final desktop fit pass (2026-09-25)
   Keep the Matrix Details sheet visually separated from the viewport edge and
   let unusually long managed incentive names fit themselves without wrapping. */
@media (min-width: 1200px) {
    /* Desktop Matrix Details is designed to fit in one viewport. Keep the
       Bootstrap modal shell from creating its own vertical scrollbar. */
    body.one-ds-modern-page #showDetails.modal {
        overflow-y: hidden !important;
        padding-right: 0 !important;
    }

    body.one-ds-modern-page #showDetails .modal-dialog {
        height: calc(100vh - 40px);
        height: calc(100dvh - 40px);
        margin: 20px auto !important;
        max-height: none;
        display: flex;
    }

    body.one-ds-modern-page #showDetails .modal-content {
        height: 100%;
        max-height: none;
        min-height: 0;
        display: flex;
        flex: 1 1 auto;
        flex-direction: column;
    }

    body.one-ds-modern-page #showDetails .modal-header,
    body.one-ds-modern-page #showDetails .modal-footer {
        flex: 0 0 auto;
    }

    body.one-ds-modern-page #showDetails .modal-body {
        flex: 1 1 auto;
        min-height: 0;
        overflow: hidden !important;
    }
}

/* ORIGINAL 1DS - Manage Matrix desktop modal viewport fit (2026-09-25)
   Keep Matrix Details comfortably inside the visible browser area at 100%
   without shrinking the matrix content or introducing a modal scrollbar. */
@media (min-width: 1200px) {
    body.one-ds-modern-page #showDetails.modal {
        overflow: hidden !important;
        padding-right: 0 !important;
    }

    body.one-ds-modern-page #showDetails .modal-dialog {
        height: auto !important;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        margin: 24px auto !important;
        display: flex;
        align-items: stretch;
    }

    body.one-ds-modern-page #showDetails .modal-content {
        height: auto !important;
        max-height: calc(100vh - 48px) !important;
        max-height: calc(100dvh - 48px) !important;
        min-height: 0 !important;
        display: flex;
        flex-direction: column;
        overflow: hidden !important;
    }

    body.one-ds-modern-page #showDetails .modal-header {
        padding-top: 13px !important;
        padding-bottom: 13px !important;
        flex: 0 0 auto;
    }

    body.one-ds-modern-page #showDetails .modal-body {
        flex: 0 1 auto !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.one-ds-modern-page #showDetails .mx-left {
        padding-top: 19px !important;
        padding-bottom: 20px !important;
    }

    body.one-ds-modern-page #showDetails .mx-right {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    body.one-ds-modern-page #showDetails .mx-rates {
        gap: 10px !important;
    }

    body.one-ds-modern-page #showDetails .mx-resblock {
        margin-top: 10px !important;
    }

    body.one-ds-modern-page #showDetails .mx-docs {
        padding-top: 10px !important;
        padding-bottom: 10px !important;
    }

    body.one-ds-modern-page #showDetails .mx-docs .btn,
    body.one-ds-modern-page #showDetails .mx-docs a,
    body.one-ds-modern-page #showDetails .mx-docs button {
        min-height: 40px !important;
        padding-top: 7px !important;
        padding-bottom: 7px !important;
    }

    body.one-ds-modern-page #showDetails .modal-footer {
        padding-top: 9px !important;
        padding-bottom: 9px !important;
        flex: 0 0 auto;
    }
}

/* ORIGINAL 1DS - Manage Matrix incentive overflow guard (2026-09-25)
   Incentive count must never change the desktop Matrix Details modal height.
   Keep the summary card fixed with a compact + more launcher; overflow opens
   in a floating panel instead of stretching the Matrix row. */
@media (min-width: 1200px) {
    body.one-ds-modern-page #showDetails .mx-rates--three-tier > .mx-rail:nth-child(2),
    body.one-ds-modern-page #showDetails .mx-rates--three-tier > .mx-rail:nth-child(3),
    body.one-ds-modern-page #showDetails .mx-rates--three-tier > .mx-rail:nth-child(4) {
        height: 184px;
        min-height: 184px;
        max-height: 184px;
    }

    body.one-ds-modern-page #showDetails .mx-incentive-card {
        overflow: hidden;
    }

    body.one-ds-modern-page #showDetails .mx-incentive-grid {
        margin-top: 8px;
        gap: 4px 6px;
        align-content: start;
    }

    body.one-ds-modern-page #showDetails .mx-incentive-grid .mx-ip {
        line-height: 1.02;
    }
}

#showDetails .mx-incentive-more-btn {
    grid-column: 1 / -1;
    min-width: 0;
    width: 100%;
    margin: 2px 0 0;
    padding: 4px 8px;
    border: 1px solid rgba(124, 58, 237, .18);
    border-radius: 8px;
    background: rgba(124, 58, 237, .07);
    color: #6d28d9;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.1;
    text-align: center;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, transform .15s ease;
}

#showDetails .mx-incentive-more-btn:hover,
#showDetails .mx-incentive-more-btn.is-open {
    border-color: rgba(124, 58, 237, .36);
    background: rgba(124, 58, 237, .12);
}

#showDetails .mx-incentive-more-btn:hover {
    transform: translateY(-1px);
}

#showDetails .modal-content {
    position: relative;
}

#showDetails .mx-incentive-more-panel {
    position: absolute;
    z-index: 80;
    max-width: calc(100% - 28px);
    padding: 12px;
    border: 1px solid rgba(124, 58, 237, .22);
    border-radius: 14px;
    background: var(--mx-surface, #fff);
    box-shadow: 0 18px 44px rgba(15, 23, 42, .20);
}

#showDetails .mx-incentive-more-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    padding-bottom: 9px;
    border-bottom: 1px solid var(--mx-border-soft);
}

#showDetails .mx-incentive-more-head > div {
    min-width: 0;
}

#showDetails .mx-incentive-more-head strong {
    display: block;
    color: var(--mx-text);
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.15;
}

#showDetails .mx-incentive-more-head span {
    display: block;
    margin-top: 2px;
    color: var(--mx-muted);
    font-size: 10.5px;
    line-height: 1.2;
}

#showDetails .mx-incentive-more-close {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 1px solid var(--mx-border);
    border-radius: 50%;
    background: var(--mx-surface-2);
    color: var(--mx-text);
    font-size: 18px;
    line-height: 24px;
    cursor: pointer;
}

#showDetails .mx-incentive-more-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

#showDetails .mx-incentive-more-list.is-single-column {
    grid-template-columns: minmax(0, 1fr);
}

#showDetails .mx-incentive-more-item {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--mx-border-soft);
    border-radius: 10px;
    background: var(--mx-surface-2);
}

#showDetails .mx-more-ip {
    min-width: 0;
    color: var(--mx-text);
    font-size: 11px;
    font-weight: 650;
    line-height: 1.1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

#showDetails .mx-more-iv,
#showDetails .mx-more-ie {
    white-space: nowrap;
    font-variant-numeric: tabular-nums lining-nums;
}

#showDetails .mx-more-iv {
    color: var(--mx-text);
    font-size: 11px;
    font-weight: 800;
}

#showDetails .mx-more-iv.is-pool {
    color: #6d28d9;
}

#showDetails .mx-more-ie {
    color: var(--mx-label);
    font-size: 10px;
    font-weight: 700;
}

body.theme-dark #showDetails .mx-incentive-more-panel {
    background: #1f2937;
    border-color: rgba(167, 139, 250, .28);
    box-shadow: 0 18px 44px rgba(0, 0, 0, .42);
}

body.theme-dark #showDetails .mx-incentive-more-btn {
    color: #c4b5fd;
    background: rgba(139, 92, 246, .12);
    border-color: rgba(167, 139, 250, .22);
}

@media (max-width: 1199.98px) {
    #showDetails .mx-incentive-more-panel {
        width: calc(100% - 24px) !important;
        left: 12px !important;
    }
}

@media (max-width: 620px) {
    #showDetails .mx-incentive-more-list {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ORIGINAL 1DS - Manage Matrix document rail + incentive capacity (2026-09-25)
   Use the unused left rail below pricing for the matrix reference documents.
   This removes the full-width document strip from the bottom and gives the
   incentive summary more vertical room without growing the modal. */
@media (min-width: 992px) {
    body.one-ds-modern-page #showDetails .mx-left .mx-docs--rail {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        gap: 8px !important;
        margin: 18px 0 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        background: transparent !important;
    }

    body.one-ds-modern-page #showDetails .mx-left .mx-docs--rail .btn,
    body.one-ds-modern-page #showDetails .mx-left .mx-docs--rail a,
    body.one-ds-modern-page #showDetails .mx-left .mx-docs--rail button {
        min-height: 38px !important;
        padding: 7px 12px !important;
        border-radius: 11px !important;
        font-size: 12px !important;
        line-height: 1.15 !important;
    }

    /* With the bottom document strip gone, the middle row may use the freed
       vertical space. Keep all three cards aligned while allowing Incentives
       to show substantially more programs before the +more safety fallback. */
    body.one-ds-modern-page #showDetails .mx-rates--three-tier > .mx-rail:nth-child(n+2) {
        align-self: stretch;
    }
}

@media (max-width: 991.98px) {
    body.one-ds-modern-page #showDetails .mx-left .mx-docs--rail {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
        margin: 14px 0 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        background: transparent !important;
    }
}

@media (max-width: 520px) {
    body.one-ds-modern-page #showDetails .mx-left .mx-docs--rail {
        grid-template-columns: minmax(0, 1fr) !important;
    }
}

/* ORIGINAL 1DS - Manage Matrix document rail stack fix (2026-09-25)
   Keep the four matrix document actions vertically stacked beneath BDC.
   Deliberately avoids relying on the page body class so legacy/global
   .pdfBtnsRow rules cannot force these buttons back into one horizontal row. */
@media (min-width: 992px) {
    #showDetails .mx-left .mx-docs.mx-docs--rail.pdfBtnsRow,
    #showDetails .mx-left .mx-docs--rail {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-auto-flow: row !important;
        width: 100% !important;
        gap: 8px !important;
        margin: 18px 0 0 !important;
        padding: 0 !important;
        border-top: 0 !important;
        background: transparent !important;
    }

    #showDetails .mx-left .mx-docs--rail > .btn,
    #showDetails .mx-left .mx-docs--rail > a,
    #showDetails .mx-left .mx-docs--rail > button {
        display: flex !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 38px !important;
        margin: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        white-space: normal !important;
    }
}

/* ORIGINAL 1DS - Manage Matrix phone document placement (2026-09-25)
   On phones only, the reference document actions move below the complete
   rate stack, which places them directly after Incentives. Desktop/tablet
   keeps the approved vertical rail beneath BDC. */
@media (max-width: 767.98px) {
    #showDetails .mx-right > .mx-docs--rail.mx-docs--mobile-position,
    #showDetails .mx-right > .mx-docs.mx-docs--rail.pdfBtnsRow {
        order: 3 !important;
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-auto-flow: row !important;
        width: 100% !important;
        gap: 9px !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    #showDetails .mx-right > .mx-docs--rail > .btn,
    #showDetails .mx-right > .mx-docs--rail > a,
    #showDetails .mx-right > .mx-docs--rail > button {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        min-width: 0 !important;
        min-height: 43px !important;
        margin: 0 !important;
        padding: 8px 10px !important;
        white-space: normal !important;
    }

    #showDetails .mx-right > .mx-expline {
        order: 4 !important;
    }
}


/* ========================================================================
   Registration Problems - /sales/registrationProblem.php
   ======================================================================== */
body.ods-reg-problems-page .content.ods-reg-page {
    padding: 18px 0 34px;
}

body.ods-reg-problems-page .ods-reg-shell {
    width: 100%;
}

body.ods-reg-problems-page .ods-reg-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
    padding: 0 2px;
}

body.ods-reg-problems-page .ods-reg-heading {
    display: flex;
    align-items: center;
    gap: 13px;
    min-width: 0;
}

body.ods-reg-problems-page .ods-reg-heading-icon {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    border: 1px solid rgba(33, 150, 243, .18);
    border-radius: 14px;
    background: rgba(33, 150, 243, .09);
    color: #1689ed;
    font-size: 17px;
}

body.ods-reg-problems-page .ods-reg-heading h1 {
    margin: 0;
    color: var(--ods-text);
    font-size: 23px;
    font-weight: 820;
    letter-spacing: -.035em;
    line-height: 1.08;
}

body.ods-reg-problems-page .ods-reg-heading p {
    margin: 4px 0 0;
    color: var(--ods-muted);
    font-size: 12.5px;
    font-weight: 550;
}

body.ods-reg-problems-page .ods-reg-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

body.ods-reg-problems-page .ods-reg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 14px;
    border-radius: 999px;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1;
    transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease, background .15s ease;
}

body.ods-reg-problems-page .ods-reg-btn:hover {
    transform: translateY(-1px);
}

body.ods-reg-problems-page .ods-reg-btn-primary {
    border: 1px solid #2196f3;
    background: linear-gradient(135deg, #38bdf8, #2196f3);
    color: #fff;
    box-shadow: 0 8px 18px rgba(33, 150, 243, .20);
}

body.ods-reg-problems-page .ods-reg-btn-secondary {
    border: 1px solid var(--ods-border);
    background: var(--ods-surface);
    color: var(--ods-text);
    box-shadow: 0 4px 12px rgba(15, 23, 42, .04);
}

body.ods-reg-problems-page .ods-reg-table-card {
    padding: 14px 14px 12px;
    border: 1px solid var(--ods-border);
    border-radius: 20px;
    background: var(--ods-surface);
    box-shadow: var(--ods-shadow);
}

body.ods-reg-problems-page .ods-reg-table-card .dtsp-panes {
    display: none;
    margin-bottom: 12px;
    padding: 12px;
    border: 1px solid var(--ods-border-soft);
    border-radius: 14px;
    background: #f8fbff;
}

body.ods-reg-problems-page .ods-reg-table-card .dtsp-searchPane {
    border-radius: 12px;
    overflow: hidden;
}

body.ods-reg-problems-page #datatable-1 {
    width: 100% !important;
    table-layout: fixed;
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    margin-top: 2px !important;
    background: transparent;
}

body.ods-reg-problems-page #datatable-1 thead th {
    padding: 8px 12px !important;
    border: 0 !important;
    background: transparent !important;
    color: #66758b;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .065em;
    white-space: nowrap;
}

body.ods-reg-problems-page #datatable-1 tbody td {
    height: 47px;
    padding: 8px 12px !important;
    border-top: 1px solid #e8eef6 !important;
    border-bottom: 1px solid #e8eef6 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    background: #fff !important;
    color: #162236;
    font-size: 12px;
    font-weight: 650;
    line-height: 1.25;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    transition: background .15s ease, border-color .15s ease, box-shadow .15s ease;
}

body.ods-reg-problems-page #datatable-1 tbody td:first-child {
    border-left: 1px solid #e8eef6 !important;
    border-radius: 14px 0 0 14px;
}

body.ods-reg-problems-page #datatable-1 tbody td:last-child {
    border-right: 1px solid #e8eef6 !important;
    border-radius: 0 14px 14px 0;
}

body.ods-reg-problems-page #datatable-1 tbody tr:hover td {
    border-color: #d7e6f8 !important;
    background: #f8fbff !important;
}

body.ods-reg-problems-page #datatable-1 tbody tr {
    cursor: pointer;
}

body.ods-reg-problems-page #datatable-1 tbody td:nth-child(2) {
    font-weight: 820;
}

body.ods-reg-problems-page #datatable-1 tbody td:nth-child(4),
body.ods-reg-problems-page #datatable-1 tbody td:nth-child(7) {
    font-weight: 760;
}

body.ods-reg-problems-page #datatable-1 tbody td:nth-child(8),
body.ods-reg-problems-page #datatable-1 tbody td:nth-child(9) {
    white-space: normal;
    display: table-cell;
    line-height: 1.3;
}

body.ods-reg-problems-page .dataTables_wrapper .row:first-child {
    align-items: center;
    margin-bottom: 8px;
}

body.ods-reg-problems-page .dataTables_wrapper .dt-buttons {
    display: inline-flex;
    gap: 5px;
}

body.ods-reg-problems-page .dataTables_wrapper .dt-buttons .btn {
    min-width: 56px;
    padding: 6px 11px;
    border: 1px solid var(--ods-border) !important;
    border-radius: 999px !important;
    background: #f8fafc !important;
    color: #5c6b80 !important;
    font-size: 11.5px;
    font-weight: 750;
    box-shadow: none !important;
}

body.ods-reg-problems-page .dataTables_wrapper .dataTables_filter label {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: var(--ods-muted);
    font-size: 11.5px;
}

body.ods-reg-problems-page .dataTables_wrapper .dataTables_filter input {
    width: 170px;
    height: 34px;
    margin-left: 0 !important;
    padding: 5px 12px;
    border-radius: 11px;
}

body.ods-reg-problems-page .dataTables_wrapper .dataTables_length select {
    height: 32px;
    padding: 4px 24px 4px 10px;
    border-radius: 10px;
}

body.ods-reg-problems-page .ods-reg-status-tabs {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--ods-border);
    border-radius: 999px;
    background: #f5f7fa;
}

body.ods-reg-problems-page .ods-reg-status-tab {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    margin: 0;
    padding: 6px 11px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #66758b;
    cursor: pointer;
    font-size: 11.5px;
    font-weight: 800;
    transition: background .15s ease, color .15s ease, box-shadow .15s ease;
}

body.ods-reg-problems-page .ods-reg-status-tab input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

body.ods-reg-problems-page .ods-reg-status-tab.active {
    background: #fff;
    color: #0f172a;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .08);
}

body.ods-reg-problems-page .ods-reg-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #94a3b8;
}

body.ods-reg-problems-page .ods-reg-status-dot.is-open {
    background: #f59e0b;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, .12);
}

body.ods-reg-problems-page .ods-reg-status-dot.is-fixed {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, .12);
}

body.ods-reg-problems-page .ods-reg-status-count:empty {
    display: none;
}

body.ods-reg-problems-page .ods-reg-status-count {
    display: inline-grid;
    place-items: center;
    min-width: 19px;
    height: 19px;
    padding: 0 5px;
    border-radius: 999px;
    background: #e9eff7;
    color: #506178;
    font-size: 10px;
    font-weight: 850;
}

body.ods-reg-problems-page .ods-reg-status-tab.active .ods-reg-status-count {
    background: rgba(33, 150, 243, .11);
    color: #1677d2;
}

body.ods-reg-problems-page .custom-checkbox {
    display: inline-grid;
    place-items: center;
    margin: auto;
}

body.ods-reg-problems-page .custom-control-label::before {
    border-color: #c8d2df;
    background: #fff;
}

body.ods-reg-problems-page .ods-reg-modal .modal-dialog {
    max-width: 900px;
}

body.ods-reg-problems-page .ods-reg-modal .modal-content {
    border-radius: 22px;
}

body.ods-reg-problems-page .ods-reg-modal .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 72px;
    padding: 15px 20px;
}

body.ods-reg-problems-page .ods-reg-modal .modal-title {
    margin: 2px 0 0;
    font-size: 19px;
    font-weight: 820;
}

body.ods-reg-problems-page .ods-modal-eyebrow {
    display: block;
    color: #2196f3;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

body.ods-reg-problems-page .ods-modal-close {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid rgba(239, 68, 68, .12);
    border-radius: 50%;
    background: rgba(239, 68, 68, .09);
    color: #ef4444;
    font-size: 14px;
    transition: background .15s ease, transform .15s ease;
}

body.ods-reg-problems-page .ods-modal-close:hover {
    background: rgba(239, 68, 68, .15);
    transform: rotate(5deg);
}

body.ods-reg-problems-page .ods-reg-modal .modal-body {
    padding: 16px 20px 18px;
}

body.ods-reg-problems-page .ods-reg-modal .modal-footer {
    justify-content: flex-end;
    gap: 8px;
    padding: 12px 20px 16px;
}

body.ods-reg-problems-page .ods-form-section {
    margin-bottom: 12px;
    padding: 14px;
    border: 1px solid #e9eef5;
    border-radius: 15px;
    background: #fbfcfe;
}

body.ods-reg-problems-page .ods-form-section-last {
    margin-bottom: 0;
}

body.ods-reg-problems-page .ods-form-section-title {
    margin-bottom: 10px;
    color: #334155;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

body.ods-reg-problems-page .ods-reg-modal label {
    display: block;
    margin-bottom: 6px;
    color: #5b687b;
    font-size: 11px;
    font-weight: 750;
}

body.ods-reg-problems-page .ods-reg-modal .form-control,
body.ods-reg-problems-page .ods-reg-modal .bootstrap-select > .dropdown-toggle {
    min-height: 39px;
    border: 1px solid #dfe7f0 !important;
    border-radius: 11px !important;
    background: #fff !important;
    color: #172033 !important;
    box-shadow: none !important;
    font-size: 12.5px;
}

body.ods-reg-problems-page .ods-reg-modal .bootstrap-select > .dropdown-toggle {
    padding: 8px 12px;
}

body.ods-reg-problems-page .ods-reg-modal .form-control:focus,
body.ods-reg-problems-page .ods-reg-modal .bootstrap-select.show > .dropdown-toggle {
    border-color: #2196f3 !important;
    box-shadow: 0 0 0 3px rgba(33, 150, 243, .10) !important;
}

body.ods-reg-problems-page .ods-date-control .input-group-text {
    min-width: 39px;
    justify-content: center;
    border: 1px solid #dfe7f0;
    border-right: 0;
    border-radius: 11px 0 0 11px;
    background: #f4f7fb;
    color: #64809f;
}

body.ods-reg-problems-page .ods-date-control .form-control {
    border-radius: 0 11px 11px 0 !important;
}

body.ods-reg-problems-page .ods-reg-textarea {
    min-height: 86px;
    resize: vertical;
}

body.ods-reg-problems-page .ods-reg-textarea-tall {
    min-height: 150px;
}

body.ods-reg-problems-page .ods-reg-loading {
    padding: 34px 0;
    color: var(--ods-muted);
    font-size: 12px;
    font-weight: 650;
}

body.ods-reg-problems-page .ods-reg-loading .spinner-grow {
    display: block;
    width: 2rem;
    height: 2rem;
    margin: 0 auto 10px;
}

body.ods-reg-problems-page .dropdown-header.optgroup-1 {
    padding: 0 !important;
}

body.ods-reg-problems-page .tt-is-under-cursor,
body.ods-reg-problems-page .tt-cursor {
    background: #eaf4ff !important;
    color: #0f172a !important;
}

/* Dark mode */
body.ods-reg-problems-page.theme-dark .ods-reg-heading-icon {
    border-color: rgba(96, 165, 250, .22);
    background: rgba(96, 165, 250, .12);
    color: #7db7ff;
}

body.ods-reg-problems-page.theme-dark .ods-reg-btn-secondary,
body.ods-reg-problems-page.theme-dark .ods-reg-table-card {
    background: #1f2937;
}

body.ods-reg-problems-page.theme-dark .ods-reg-table-card .dtsp-panes,
body.ods-reg-problems-page.theme-dark .ods-reg-status-tabs {
    border-color: #374151;
    background: #172033;
}

body.ods-reg-problems-page.theme-dark #datatable-1 thead th {
    color: #aebdd0;
}

body.ods-reg-problems-page.theme-dark #datatable-1 tbody td {
    border-color: #344154 !important;
    background: #1f2937 !important;
    color: #eef4fb;
}

body.ods-reg-problems-page.theme-dark #datatable-1 tbody tr:hover td {
    border-color: #48617d !important;
    background: #263244 !important;
}

body.ods-reg-problems-page.theme-dark .dataTables_wrapper .dt-buttons .btn {
    border-color: #374151 !important;
    background: #172033 !important;
    color: #b8c5d7 !important;
}

body.ods-reg-problems-page.theme-dark .ods-reg-status-tab {
    color: #a9b8cb;
}

body.ods-reg-problems-page.theme-dark .ods-reg-status-tab.active {
    background: #253147;
    color: #f5f8fc;
    box-shadow: 0 3px 10px rgba(0, 0, 0, .22);
}

body.ods-reg-problems-page.theme-dark .ods-reg-status-count {
    background: #334155;
    color: #cbd5e1;
}

body.ods-reg-problems-page.theme-dark .ods-form-section {
    border-color: #344154;
    background: #1a2331;
}

body.ods-reg-problems-page.theme-dark .ods-form-section-title {
    color: #d6e0ec;
}

body.ods-reg-problems-page.theme-dark .ods-reg-modal label {
    color: #b6c3d4;
}

body.ods-reg-problems-page.theme-dark .ods-reg-modal .form-control,
body.ods-reg-problems-page.theme-dark .ods-reg-modal .bootstrap-select > .dropdown-toggle {
    border-color: #3a475b !important;
    background: #172033 !important;
    color: #eef4fb !important;
}

body.ods-reg-problems-page.theme-dark .ods-date-control .input-group-text {
    border-color: #3a475b;
    background: #111827;
    color: #9db0c7;
}

body.ods-reg-problems-page.theme-dark .custom-control-label::before {
    border-color: #64748b;
    background: #172033;
}

body.ods-reg-problems-page.theme-dark .tt-is-under-cursor,
body.ods-reg-problems-page.theme-dark .tt-cursor {
    background: #2b3a50 !important;
    color: #fff !important;
}

@media (max-width: 991.98px) {
    body.ods-reg-problems-page .ods-reg-heading p {
        display: none;
    }

    body.ods-reg-problems-page #datatable-1 {
        table-layout: auto;
    }
}

@media (max-width: 767.98px) {
    body.ods-reg-problems-page .content.ods-reg-page {
        padding-top: 12px;
    }

    body.ods-reg-problems-page .ods-reg-header {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
    }

    body.ods-reg-problems-page .ods-reg-actions {
        width: 100%;
    }

    body.ods-reg-problems-page .ods-reg-actions .ods-reg-btn {
        flex: 1 1 0;
    }

    body.ods-reg-problems-page .ods-reg-table-card {
        padding: 10px;
        border-radius: 16px;
    }

    body.ods-reg-problems-page .dataTables_wrapper .row:first-child > div {
        margin-bottom: 8px;
        text-align: left !important;
    }

    body.ods-reg-problems-page .ods-reg-modal .modal-dialog {
        margin: 10px;
    }

    body.ods-reg-problems-page .ods-reg-modal .modal-body {
        padding: 14px;
    }

    body.ods-reg-problems-page .ods-form-section {
        padding: 12px;
    }

    body.ods-reg-problems-page .ods-reg-modal .form-row > [class*="col-"] + [class*="col-"] {
        margin-top: 12px;
    }
}

/* ========================================================================== 
   ORIGINAL 1DS - REGISTRATION PROBLEMS PERFORMANCE FILTER (2026-09-28)
   Lightweight replacement for DataTables SearchPanes; built only when opened.
   ========================================================================== */
body.ods-reg-problems-page .ods-reg-filter-panel {
    display: none;
    margin-bottom: 12px;
    padding: 13px 14px;
    border: 1px solid #e4ebf4;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(15,23,42,.04);
}
body.ods-reg-problems-page .ods-reg-filter-panel.is-open { display: block; }
body.ods-reg-problems-page .ods-reg-filter-grid {
    display: grid;
    grid-template-columns: repeat(4,minmax(140px,1fr)) auto;
    gap: 9px;
    align-items: end;
}
body.ods-reg-problems-page .ods-reg-filter-grid label {
    display: block;
    margin: 0 0 5px;
    color: #64748b;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}
body.ods-reg-problems-page .ods-reg-filter-grid .form-control {
    height: 38px !important;
    min-height: 38px !important;
    padding: 6px 10px;
    border: 1px solid #dbe5f1 !important;
    border-radius: 11px !important;
    background: #fbfdff !important;
    color: #334155 !important;
    font-size: 11.5px !important;
    box-shadow: none !important;
}
body.ods-reg-problems-page .ods-reg-filter-actions {
    display: flex;
    gap: 7px;
    align-items: center;
}
body.ods-reg-problems-page.theme-dark .ods-reg-filter-panel {
    border-color: #374151;
    background: #1f2937;
}
body.ods-reg-problems-page.theme-dark .ods-reg-filter-grid label { color: #b9c6d8; }
body.ods-reg-problems-page.theme-dark .ods-reg-filter-grid .form-control {
    border-color: #3b4758 !important;
    background: #172033 !important;
    color: #f8fafc !important;
}
@media (max-width: 1100px) {
    body.ods-reg-problems-page .ods-reg-filter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    body.ods-reg-problems-page .ods-reg-filter-actions { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    body.ods-reg-problems-page .ods-reg-filter-grid { grid-template-columns: 1fr; }
    body.ods-reg-problems-page .ods-reg-filter-actions { grid-column: auto; }
    body.ods-reg-problems-page .ods-reg-filter-actions .ods-reg-btn { flex: 1 1 0; }
}


/* Registration Problems - age / insurance urgency formatting (2026-09-28)
   Match the compact AGE badge language used on Lot Wizard / Used Cars.
   Insurance / INS always wins and colors the entire row red.
   Other records: 1-3 neutral, 4-6 yellow, 7+ red. */
body.ods-reg-problems-page #datatable-1 tbody td.ods-reg-age-cell {
    position: relative !important;
    overflow: visible !important;
    padding: 8px 12px !important;
    text-align: center !important;
    background-clip: padding-box !important;
}

body.ods-reg-problems-page .ods-reg-age-badge {
    position: relative !important;
    z-index: 2 !important;
    display: inline-flex;
    width: 44px;
    min-width: 44px;
    height: 48px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1px;
    border: 1px solid #e2e8f0;
    border-radius: 11px;
    background: #f8fafc;
    color: #475569;
    line-height: 1;
    margin: 0 auto !important;
    transform: none !important;
}

body.ods-reg-problems-page .ods-reg-age-badge strong {
    font-size: 16px;
    font-weight: 950;
    letter-spacing: -.03em;
}

body.ods-reg-problems-page .ods-reg-age-badge small {
    font-size: 6px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}

body.ods-reg-problems-page .ods-reg-age-badge.is-warning {
    border-color: #fde68a;
    background: #fff7d6;
    color: #a16207;
}

body.ods-reg-problems-page .ods-reg-age-badge.is-critical {
    border-color: #fecaca;
    background: #fee2e2;
    color: #ef2029;
}

body.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance td {
    color: #991b1b !important;
    background: #fff1f2 !important;
    border-top-color: #fecaca !important;
    border-bottom-color: #fecaca !important;
}

body.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance td:first-child {
    border-left-color: #ef4444 !important;
    box-shadow: inset 4px 0 0 #ef4444 !important;
}

body.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance td:last-child {
    border-right-color: #fecaca !important;
}

body.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance:hover td {
    background: #ffe4e6 !important;
}

body.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance .ods-reg-age-badge {
    border-color: #fca5a5;
    background: #fee2e2;
    color: #dc2626;
}

body.ods-reg-problems-page.theme-dark .ods-reg-age-badge,
body.theme-dark.ods-reg-problems-page .ods-reg-age-badge {
    border-color: #3b4758;
    background: #172033;
    color: #cbd5e1;
}

body.ods-reg-problems-page.theme-dark .ods-reg-age-badge.is-warning,
body.theme-dark.ods-reg-problems-page .ods-reg-age-badge.is-warning {
    border-color: #8a6514;
    background: #4a3708;
    color: #fde68a;
}

body.ods-reg-problems-page.theme-dark .ods-reg-age-badge.is-critical,
body.theme-dark.ods-reg-problems-page .ods-reg-age-badge.is-critical {
    border-color: #8f2d35;
    background: #4b171c;
    color: #fecaca;
}

body.ods-reg-problems-page.theme-dark #datatable-1 tbody tr.ods-reg-row-insurance td,
body.theme-dark.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance td {
    color: #fecaca !important;
    background: #451a1f !important;
    border-color: #7f2b34 !important;
}

body.ods-reg-problems-page.theme-dark #datatable-1 tbody tr.ods-reg-row-insurance td:first-child,
body.theme-dark.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance td:first-child {
    border-left-color: #f87171 !important;
    box-shadow: inset 4px 0 0 #f87171 !important;
}

body.ods-reg-problems-page.theme-dark #datatable-1 tbody tr.ods-reg-row-insurance:hover td,
body.theme-dark.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance:hover td {
    background: #562027 !important;
}

body.ods-reg-problems-page.theme-dark #datatable-1 tbody tr.ods-reg-row-insurance .ods-reg-age-badge,
body.theme-dark.ods-reg-problems-page #datatable-1 tbody tr.ods-reg-row-insurance .ods-reg-age-badge {
    border-color: #9f3a43;
    background: #5a2027;
    color: #fecaca;
}

/* ==========================================================================
   ORIGINAL 1DS — SALES CONSULTANT TO-DO MODERNIZATION (2026-10-02)
   ========================================================================== */
/* Sales Consultant To-Do — modern 1DS page-specific layer */
    .sold-todo-page { padding: 16px 18px 30px; background: #f6f8fb; min-height: calc(100vh - 120px); }
    .sold-todo-shell { max-width: 100%; margin: 0 auto; }
    .sold-todo-hero { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:16px 18px; margin-bottom:14px; background:linear-gradient(135deg,#fff 0%,#f8fbff 100%); border:1px solid #e7edf5; border-radius:18px; box-shadow:0 10px 30px rgba(15,23,42,.06); }
    .sold-todo-title { margin:0; color:#0f172a; font-size:22px; font-weight:850; letter-spacing:-.02em; }
    .sold-todo-subtitle { margin:3px 0 0; color:#64748b; font-size:12px; font-weight:600; }
    .sold-todo-card { background:#fff; border:1px solid #e7edf5; border-radius:18px; box-shadow:0 8px 24px rgba(15,23,42,.05); overflow:hidden; }
    .sold-todo-toolbar { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; border-bottom:1px solid #edf1f6; }
    .sold-todo-toolbar .left-tools, .sold-todo-toolbar .right-tools { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
    .sold-todo-page .modern-btn { border-radius:999px!important; padding:8px 14px!important; font-weight:800!important; font-size:12px!important; }
    .sold-todo-page .modern-btn-primary { background:linear-gradient(135deg,#38bdf8,#2196f3)!important; color:#fff!important; border:1px solid #2196f3!important; box-shadow:0 5px 14px rgba(33,150,243,.18); }
    .sold-todo-page .modern-btn-secondary { background:#f8fafc!important; color:#334155!important; border:1px solid #dbe4ee!important; }
    .sold-todo-page .customFilters1 { margin:0!important; padding:14px!important; background:#f8fafc; border-bottom:1px solid #e7edf5; }
    .sold-todo-page .customFilters1 .dtsp-title { color:#0f172a; font-weight:800; font-size:13px; }
    .sold-todo-page .customFilters1 .select2-container .select2-selection--multiple { min-height:40px; border:1px solid #dbe4ee!important; border-radius:12px!important; background:#fff!important; }
    .sold-todo-page .customFilters1 .select2-selection__choice { border:0!important; border-radius:999px!important; background:#eaf5ff!important; color:#1269a8!important; font-weight:700; }
    .sold-todo-table-wrap { padding:4px 14px 14px; }
    .sold-todo-page #datatable-1 { width:100%!important; border-collapse:separate!important; border-spacing:0 9px!important; background:transparent!important; }
    .sold-todo-page #datatable-1 thead th { border:0!important; background:transparent!important; color:#64748b!important; font-size:10px!important; font-weight:850!important; text-transform:uppercase; letter-spacing:.045em; padding:9px 10px!important; white-space:nowrap; text-align:left!important; }
    .sold-todo-page #datatable-1 tbody td { padding:10px!important; background:#fff!important; border-top:1px solid #e7edf5!important; border-bottom:1px solid #e7edf5!important; border-left:0!important; border-right:0!important; color:#172033; font-size:12px; font-weight:650; vertical-align:middle; text-align:left!important; }
    .sold-todo-page #datatable-1 tbody tr:not(.dtrg-group) td:first-child { border-left:1px solid #e7edf5!important; border-radius:13px 0 0 13px; }
    .sold-todo-page #datatable-1 tbody tr:not(.dtrg-group) td:last-child { border-right:1px solid #e7edf5!important; border-radius:0 13px 13px 0; }
    .sold-todo-page #datatable-1 tbody tr:not(.dtrg-group) { cursor:pointer; transition:transform .14s ease, box-shadow .14s ease; }
    .sold-todo-page #datatable-1 tbody tr:not(.dtrg-group):hover td { background:#fbfdff!important; border-color:#cfe3f7!important; }
    .sold-todo-page #datatable-1 tbody tr.dtrg-start td { padding:10px 13px!important; border:1px solid #dfe8f2!important; border-radius:13px!important; background:#f8fafc!important; color:#172033!important; font-weight:850!important; box-shadow:none!important; cursor:pointer; }
    .sold-todo-page #datatable-1 tbody tr.dtrg-start td:after { content:'›'; float:right; color:#94a3b8; font-size:18px; transform:rotate(90deg); transition:transform .15s ease; }
    .sold-todo-page #datatable-1 tbody tr.dtrg-start.collapsed td:after { transform:rotate(0deg); }
    .sold-todo-page .badge.badge-lg.badge-pill { padding:5px 9px!important; border-radius:999px!important; font-size:10px!important; font-weight:850!important; line-height:1.1; border:1px solid transparent; }
    .sold-todo-page .badge-danger { background:#fff0f0!important; color:#dc2626!important; border-color:#fecaca!important; }
    .sold-todo-page .badge-success { background:#ecfdf3!important; color:#15803d!important; border-color:#bbf7d0!important; }
    .sold-todo-page .badge-primary { background:#eaf5ff!important; color:#1674b8!important; border-color:#bfdbfe!important; }
    .sold-todo-page .badge-warning { background:#fff8e6!important; color:#a16207!important; border-color:#fde68a!important; }
    .sold-todo-page #datatable-1_wrapper .dt-buttons .btn, .sold-todo-page #datatable-1_wrapper .dataTables_length select, .sold-todo-page #datatable-1_wrapper .dataTables_filter input { border-radius:999px!important; border:1px solid #dbe4ee!important; background:#f8fafc!important; color:#334155!important; box-shadow:none!important; }
    .sold-todo-page #datatable-1_wrapper .dt-buttons .btn { padding:7px 11px!important; font-size:11px!important; font-weight:750!important; }
    .sold-todo-page #datatable-1_wrapper .dataTables_filter input { height:34px; padding:5px 11px; }
    .sold-todo-page #statusFilterDiv .btn-group { padding:3px; border:1px solid #dbe4ee; border-radius:999px; background:#f3f6f9; }
    .sold-todo-page #statusFilterDiv .btn { border:0!important; border-radius:999px!important; padding:6px 12px!important; color:#64748b!important; background:transparent!important; font-size:11px; font-weight:800; }
    .sold-todo-page #statusFilterDiv .btn.active { color:#fff!important; background:linear-gradient(135deg,#38bdf8,#2196f3)!important; box-shadow:0 3px 10px rgba(33,150,243,.18); }
    .sold-todo-page #statusFilterDiv .custom-control-label { font-size:11px; font-weight:700; color:#64748b; }
    .sold-todo-modal .modal-content { border:0; border-radius:20px; overflow:hidden; box-shadow:0 24px 70px rgba(15,23,42,.22); }
    .sold-todo-modal .modal-header { padding:15px 18px; background:#f8fafc; border-bottom:1px solid #e7edf5; }
    .sold-todo-modal .modal-title { font-size:17px; font-weight:850; color:#0f172a; }
    .sold-todo-modal .modal-body { padding:16px 18px!important; }
    .sold-todo-modal .modal-footer { padding:12px 18px; background:#f8fafc; border-top:1px solid #e7edf5; }
    .sold-todo-modal .form-control, .sold-todo-modal .bootstrap-select>.dropdown-toggle { border-radius:10px!important; min-height:38px; border-color:#dbe4ee!important; }
    .sold-todo-modal label { color:#64748b; font-size:11px; font-weight:800; }
    .sold-todo-modal h5.my-4 { margin:12px 0 10px!important; font-size:12px; color:#0f172a; font-weight:850; text-transform:uppercase; letter-spacing:.04em; }
    .sold-todo-modal textarea { min-height:76px; resize:vertical; }
    .sold-todo-page .DTFC_RightBodyLiner { width:100%!important; overflow-x:hidden; overflow-y:auto!important; }
    @media (min-width:1025px){ .sold-todo-modal .modal-lg,.sold-todo-modal .modal-xl{max-width:980px!important;} }
    @media (max-width:900px){ .sold-todo-page{padding:10px;} .sold-todo-hero{padding:14px;} .sold-todo-toolbar{align-items:flex-start;flex-direction:column;} .sold-todo-table-wrap{overflow-x:auto;} .sold-todo-page #datatable-1{min-width:1180px;} }

    body.theme-dark .sold-todo-page { background:#111827!important; }
    body.theme-dark .sold-todo-hero, body.theme-dark .sold-todo-card { background:#1f2937!important; border-color:#374151!important; box-shadow:none; }
    body.theme-dark .sold-todo-title, body.theme-dark .sold-todo-page .customFilters1 .dtsp-title { color:#f8fafc!important; }
    body.theme-dark .sold-todo-subtitle, body.theme-dark .sold-todo-page #statusFilterDiv .custom-control-label { color:#cbd5e1!important; }
    body.theme-dark .sold-todo-toolbar, body.theme-dark .sold-todo-page .customFilters1 { background:#1f2937!important; border-color:#374151!important; }
    body.theme-dark .sold-todo-page #datatable-1 thead th { color:#94a3b8!important; }
    body.theme-dark .sold-todo-page #datatable-1 tbody td { background:#1f2937!important; color:#f8fafc!important; border-color:#3b4758!important; }
    body.theme-dark .sold-todo-page #datatable-1 tbody tr:not(.dtrg-group):hover td { background:#243244!important; border-color:#4a5b70!important; }
    body.theme-dark .sold-todo-page #datatable-1 tbody tr.dtrg-start td { background:#182232!important; color:#f8fafc!important; border-color:#374151!important; }
    body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .btn, body.theme-dark .sold-todo-page #datatable-1_wrapper .dataTables_length select, body.theme-dark .sold-todo-page #datatable-1_wrapper .dataTables_filter input, body.theme-dark .sold-todo-page .modern-btn-secondary { background:#182232!important; color:#e5edf7!important; border-color:#374151!important; }
    body.theme-dark .sold-todo-page #statusFilterDiv .btn-group { background:#182232; border-color:#374151; }
    body.theme-dark .sold-todo-page #statusFilterDiv .btn { color:#cbd5e1!important; }
    body.theme-dark .sold-todo-modal .modal-content, body.theme-dark .sold-todo-modal .modal-body { background:#1f2937!important; color:#f8fafc; }
    body.theme-dark .sold-todo-modal .modal-header, body.theme-dark .sold-todo-modal .modal-footer { background:#182232!important; border-color:#374151!important; }
    body.theme-dark .sold-todo-modal .modal-title, body.theme-dark .sold-todo-modal h5.my-4 { color:#f8fafc!important; }
    body.theme-dark .sold-todo-modal label { color:#cbd5e1!important; }
    body.theme-dark .sold-todo-modal .form-control, body.theme-dark .sold-todo-modal .bootstrap-select>.dropdown-toggle { background:#111827!important; color:#f8fafc!important; border-color:#374151!important; }

/* ========================================================================== */
/* ORIGINAL 1DS - SALES CONSULTANT TO-DO footer flow fix (2026-10-02)         */
/* Keep the shared footer in normal document flow below the full To-Do list.  */
/* ========================================================================== */
body.one-ds-modern-page .wrapper:has(.sold-todo-page) {
    height: auto !important;
    min-height: 100vh;
}

body.one-ds-modern-page .sold-todo-page {
    flex: 1 0 auto;
    min-height: calc(100vh - 120px);
}

body.one-ds-modern-page .sold-todo-page + .footer,
body.one-ds-modern-page .sold-todo-modal + .footer {
    position: relative;
    z-index: 1;
    flex: 0 0 auto;
}


/* ========================================================================== */
/* ORIGINAL 1DS - SALES CONSULTANT TO-DO approved Edit modal (2026-10-03)     */
/* Sidebar mirrors Add/Edit Sale; task order is locked to approved concept.   */
/* ========================================================================== */
body.one-ds-modern-page .sold-todo-modal .modal-dialog {
    width: min(1240px, 96vw);
    max-width: 1240px !important;
    margin: 1.4rem auto;
}

body.one-ds-modern-page .sold-todo-modal .modal-content {
    overflow: hidden;
    border: 0 !important;
    border-radius: 22px !important;
    background: #f8fbff !important;
    box-shadow: 0 28px 75px rgba(15, 23, 42, .24) !important;
}

body.one-ds-modern-page .sold-todo-modal form {
    margin: 0;
}

body.one-ds-modern-page .sold-todo-edit-shell {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 690px;
}

body.one-ds-modern-page .sold-todo-edit-sidebar {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 28px 22px 22px;
    border-right: 1px solid #e6edf5;
    background: linear-gradient(180deg, #f5faff 0%, #edf6ff 100%);
}

body.one-ds-modern-page .sold-todo-vehicle-visual {
    padding: 10px 8px 22px;
    border-bottom: 1px solid #dbe7f3;
    text-align: center;
}

body.one-ds-modern-page .sold-todo-vehicle-icon {
    display: grid;
    width: 62px;
    height: 62px;
    margin: 0 auto 12px;
    place-items: center;
    border: 1px solid #bfe0fb;
    border-radius: 18px;
    color: #1687e8;
    background: linear-gradient(145deg, #ffffff, #e8f5ff);
    box-shadow: 0 8px 22px rgba(33, 150, 243, .12);
    font-size: 25px;
}

body.one-ds-modern-page .sold-todo-vehicle-type {
    display: inline-flex;
    margin-bottom: 5px;
    padding: 3px 8px;
    border-radius: 999px;
    color: #1976d2;
    background: #e8f4ff;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

body.one-ds-modern-page .sold-todo-vehicle-visual h3 {
    margin: 0;
    color: #172033;
    font-size: 19px;
    font-weight: 900;
    line-height: 1.2;
    letter-spacing: -.025em;
}

body.one-ds-modern-page .sold-todo-summary-list {
    display: grid;
    gap: 0;
    margin-top: 10px;
}

body.one-ds-modern-page .sold-todo-summary-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
    min-height: 74px;
    padding: 10px 2px;
    border-bottom: 1px solid #dce7f2;
}

body.one-ds-modern-page .sold-todo-summary-item:last-child {
    border-bottom: 0;
}

body.one-ds-modern-page .sold-todo-summary-icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 12px;
    color: #1687e8;
    background: rgba(33, 150, 243, .11);
    font-size: 15px;
}

body.one-ds-modern-page .sold-todo-summary-item div {
    min-width: 0;
}

body.one-ds-modern-page .sold-todo-summary-item small,
body.one-ds-modern-page .sold-todo-summary-item strong {
    display: block;
}

body.one-ds-modern-page .sold-todo-summary-item small {
    margin-bottom: 2px;
    color: #748399;
    font-size: 10.5px;
    font-weight: 720;
}

body.one-ds-modern-page .sold-todo-summary-item strong {
    overflow: hidden;
    color: #172033;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

body.one-ds-modern-page .sold-todo-edit-main {
    display: flex;
    min-width: 0;
    flex-direction: column;
    background: #f8fbff;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-header {
    display: flex;
    min-height: 88px;
    align-items: center;
    justify-content: space-between;
    padding: 18px 22px !important;
    border-bottom: 1px solid #e6edf5 !important;
    background: #ffffff !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-header .modal-title {
    margin: 0;
    color: #101828 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: -.025em;
}

body.one-ds-modern-page .sold-todo-edit-header p {
    margin: 3px 0 0;
    color: #718096;
    font-size: 11.5px;
    font-weight: 650;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-header .btn-icon {
    width: 38px;
    height: 38px;
    border: 1px solid #fecaca !important;
    border-radius: 50% !important;
    color: #ef4444 !important;
    background: #fff5f5 !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-body {
    padding: 16px 18px !important;
    flex: 1 1 auto;
    background: #f8fbff !important;
}

body.one-ds-modern-page .sold-todo-loading {
    padding: 90px 0;
}

body.one-ds-modern-page .sold-todo-loading:has(.spinner-grow.d-none) {
    display: none !important;
    padding: 0 !important;
}

body.one-ds-modern-page .sold-todo-task-card {
    padding: 16px 18px 18px;
    border: 1px solid #e5edf5;
    border-radius: 17px;
    background: #ffffff;
    box-shadow: 0 7px 24px rgba(15, 23, 42, .04);
}

body.one-ds-modern-page .sold-todo-task-heading {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8eef5;
}

body.one-ds-modern-page .sold-todo-task-heading > span {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 9px;
    color: #1687e8;
    background: #eaf5ff;
    font-size: 13px;
}

body.one-ds-modern-page .sold-todo-task-heading h6 {
    margin: 0;
    color: #172033;
    font-size: 15px;
    font-weight: 900;
}

body.one-ds-modern-page .sold-todo-task-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px 14px;
}

body.one-ds-modern-page .sold-todo-task-field,
body.one-ds-modern-page .sold-todo-status-field,
body.one-ds-modern-page .sold-todo-notes-field {
    min-width: 0;
}

body.one-ds-modern-page .sold-todo-task-field > label,
body.one-ds-modern-page .sold-todo-status-field > label,
body.one-ds-modern-page .sold-todo-notes-field > label {
    display: block;
    margin: 0 0 6px;
    color: #536176 !important;
    font-size: 10.5px !important;
    font-weight: 850 !important;
    letter-spacing: .055em;
    text-transform: uppercase;
}

body.one-ds-modern-page .sold-todo-task-field .bootstrap-select,
body.one-ds-modern-page .sold-todo-status-field .bootstrap-select {
    width: 100% !important;
}

body.one-ds-modern-page .sold-todo-task-field .bootstrap-select > .dropdown-toggle,
body.one-ds-modern-page .sold-todo-status-field .bootstrap-select > .dropdown-toggle {
    display: flex !important;
    min-height: 52px !important;
    align-items: center;
    padding: 8px 38px 8px 14px !important;
    border-radius: 12px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    font-weight: 820 !important;
}

body.one-ds-modern-page .sold-todo-task-field .bootstrap-select > .btn-outline-danger,
body.one-ds-modern-page .sold-todo-status-field .bootstrap-select > .btn-outline-danger {
    border-color: #fecaca !important;
    color: #dc2626 !important;
    background: #fff4f4 !important;
}

body.one-ds-modern-page .sold-todo-task-field .bootstrap-select > .btn-outline-success,
body.one-ds-modern-page .sold-todo-status-field .bootstrap-select > .btn-outline-success {
    border-color: #86efac !important;
    color: #159447 !important;
    background: #f0fdf4 !important;
}

body.one-ds-modern-page .sold-todo-task-field .bootstrap-select > .btn-outline-primary,
body.one-ds-modern-page .sold-todo-status-field .bootstrap-select > .btn-outline-primary {
    border-color: #93c5fd !important;
    color: #1677d2 !important;
    background: #eff7ff !important;
}

body.one-ds-modern-page .sold-todo-status-field {
    margin-top: 16px;
}

body.one-ds-modern-page .sold-todo-status-field .bootstrap-select > .dropdown-toggle {
    min-height: 50px !important;
}

body.one-ds-modern-page .sold-todo-notes-field {
    margin-top: 16px;
}

body.one-ds-modern-page .sold-todo-notes-field textarea.form-control {
    min-height: 112px !important;
    height: 112px;
    padding: 11px 12px;
    border: 1px solid #d8e3ee !important;
    border-radius: 12px !important;
    color: #253247;
    background: #fbfdff !important;
    font-size: 12px;
    resize: vertical;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer {
    display: flex;
    min-height: 70px;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 20px !important;
    border-top: 1px solid #e6edf5 !important;
    background: #ffffff !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn {
    min-width: 132px;
    min-height: 40px;
    margin: 0 !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-primary {
    min-width: 168px;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .modal-content,
body.one-ds-modern-page.theme-dark .sold-todo-edit-main,
body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-body {
    background: #111827 !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-edit-sidebar {
    border-right-color: #334155;
    background: linear-gradient(180deg, #172033 0%, #141d2b 100%);
}

body.one-ds-modern-page.theme-dark .sold-todo-vehicle-visual,
body.one-ds-modern-page.theme-dark .sold-todo-summary-item {
    border-color: #334155;
}

body.one-ds-modern-page.theme-dark .sold-todo-vehicle-visual h3,
body.one-ds-modern-page.theme-dark .sold-todo-summary-item strong,
body.one-ds-modern-page.theme-dark .sold-todo-task-heading h6,
body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-header .modal-title {
    color: #f8fafc !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-summary-item small,
body.one-ds-modern-page.theme-dark .sold-todo-edit-header p,
body.one-ds-modern-page.theme-dark .sold-todo-task-field > label,
body.one-ds-modern-page.theme-dark .sold-todo-status-field > label,
body.one-ds-modern-page.theme-dark .sold-todo-notes-field > label {
    color: #b8c5d6 !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-header,
body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-footer,
body.one-ds-modern-page.theme-dark .sold-todo-task-card {
    border-color: #334155 !important;
    background: #1f2937 !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-task-heading {
    border-bottom-color: #334155;
}

body.one-ds-modern-page.theme-dark .sold-todo-task-field .bootstrap-select > .btn-outline-success,
body.one-ds-modern-page.theme-dark .sold-todo-status-field .bootstrap-select > .btn-outline-success {
    border-color: #237a48 !important;
    color: #86efac !important;
    background: rgba(22, 163, 74, .13) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-task-field .bootstrap-select > .btn-outline-danger,
body.one-ds-modern-page.theme-dark .sold-todo-status-field .bootstrap-select > .btn-outline-danger {
    border-color: #85404a !important;
    color: #fca5a5 !important;
    background: rgba(220, 38, 38, .12) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-task-field .bootstrap-select > .btn-outline-primary,
body.one-ds-modern-page.theme-dark .sold-todo-status-field .bootstrap-select > .btn-outline-primary {
    border-color: #315f8d !important;
    color: #93c5fd !important;
    background: rgba(33, 150, 243, .13) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-notes-field textarea.form-control {
    border-color: #3b4758 !important;
    color: #f8fafc !important;
    background: #172033 !important;
}

@media (max-width: 980px) {
    body.one-ds-modern-page .sold-todo-modal .modal-dialog {
        width: min(760px, 96vw);
    }
    body.one-ds-modern-page .sold-todo-edit-shell {
        grid-template-columns: 1fr;
    }
    body.one-ds-modern-page .sold-todo-edit-sidebar {
        display: grid;
        grid-template-columns: 180px minmax(0, 1fr);
        gap: 12px;
        padding: 16px;
        border-right: 0;
        border-bottom: 1px solid #e6edf5;
    }
    body.one-ds-modern-page .sold-todo-vehicle-visual {
        padding: 8px;
        border-bottom: 0;
        text-align: left;
    }
    body.one-ds-modern-page .sold-todo-vehicle-icon {
        margin: 0 0 8px;
    }
    body.one-ds-modern-page .sold-todo-summary-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 0;
    }
    body.one-ds-modern-page .sold-todo-summary-item {
        min-height: 58px;
        padding: 6px;
        border-bottom: 0;
    }
}

@media (max-width: 700px) {
    body.one-ds-modern-page .sold-todo-modal .modal-dialog {
        width: 100%;
        max-width: none !important;
        min-height: 100%;
        margin: 0;
    }
    body.one-ds-modern-page .sold-todo-modal .modal-content {
        min-height: 100vh;
        border-radius: 0 !important;
    }
    body.one-ds-modern-page .sold-todo-edit-sidebar {
        grid-template-columns: 1fr;
    }
    body.one-ds-modern-page .sold-todo-vehicle-visual {
        display: none;
    }
    body.one-ds-modern-page .sold-todo-summary-list {
        grid-template-columns: 1fr 1fr;
    }
    body.one-ds-modern-page .sold-todo-task-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }
    body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-header .modal-title {
        font-size: 18px !important;
    }
    body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer {
        position: sticky;
        bottom: 0;
        z-index: 4;
    }
}

/* ========================================================================== */
/* ORIGINAL 1DS - Sales Consultant To-Do dropdown modernization               */
/* ========================================================================== */
body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu {
    min-width: 100% !important;
    width: 100% !important;
    margin-top: 6px !important;
    padding: 6px !important;
    border: 1px solid #dbe5f0 !important;
    border-radius: 12px !important;
    background: #ffffff !important;
    box-shadow: 0 16px 36px rgba(15, 23, 42, .14) !important;
    overflow: hidden !important;
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu.inner {
    width: 100% !important;
    max-height: 260px !important;
    padding: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li {
    margin: 2px 0 !important;
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li a {
    position: relative;
    display: flex !important;
    min-height: 36px;
    align-items: center;
    padding: 8px 34px 8px 11px !important;
    border-radius: 8px !important;
    color: #475569 !important;
    background: transparent !important;
    font-size: 11.5px !important;
    font-weight: 720 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    transition: background .14s ease, color .14s ease;
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li a:hover,
body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li.active > a,
body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li:focus > a {
    color: #126db2 !important;
    background: #eef7ff !important;
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li.selected > a {
    color: #126db2 !important;
    background: #eaf4ff !important;
    font-weight: 840 !important;
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select .dropdown-menu li.selected > a::after {
    content: '\f00c';
    position: absolute;
    top: 50%;
    right: 11px;
    color: #2196f3;
    font-family: 'Font Awesome 5 Free';
    font-size: 10px;
    font-weight: 900;
    transform: translateY(-50%);
}

body.one-ds-modern-page .sold-todo-modal .bootstrap-select.show > .dropdown-toggle {
    box-shadow: 0 0 0 3px rgba(33, 150, 243, .10) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu {
    border-color: #3b4758 !important;
    background: #1f2937 !important;
    box-shadow: 0 18px 40px rgba(0, 0, 0, .34) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu li a {
    color: #dbe5f1 !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu li a:hover,
body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu li.active > a,
body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu li:focus > a {
    color: #8fd2ff !important;
    background: #263449 !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu li.selected > a {
    color: #8fd2ff !important;
    background: rgba(33, 150, 243, .16) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .bootstrap-select .dropdown-menu li.selected > a::after {
    color: #7dd3fc;
}

/* ========================================================================== */
/* ORIGINAL 1DS - SALES CONSULTANT TO-DO DataTables export button parity      */
/* Match the approved Sold Logs Copy / Excel / Print circular icon controls.  */
/* ========================================================================== */
.sold-todo-page #datatable-1_wrapper .dt-buttons {
    display: flex !important;
    align-items: center;
    justify-content: center;
    gap: 9px;
    float: none !important;
    margin: 0 !important;
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 38px !important;
    min-width: 38px !important;
    max-width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #e5eaf2 !important;
    border-radius: 50% !important;
    color: #475569 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .07) !important;
    font-size: 0 !important;
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy::before,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel::before,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print::before {
    font-family: "Font Awesome 5 Free";
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy::before { content: "\f0c5"; }
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel::before { content: "\f1c3"; }
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print::before { content: "\f02f"; }

.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy:hover,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy:focus,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel:hover,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel:focus,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print:hover,
.sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print:focus {
    color: #1677ff !important;
    border-color: #bfdbfe !important;
    background: #f8fbff !important;
    box-shadow: 0 8px 24px rgba(22, 119, 255, .14) !important;
    transform: translateY(-2px);
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    min-height: 38px;
    margin: 0 3px 0 0 !important;
    padding: 0 12px !important;
    border: 1px solid #dbe4ee !important;
    border-radius: 999px !important;
    color: #526177 !important;
    background: #ffffff !important;
    box-shadow: 0 4px 14px rgba(15, 23, 42, .05) !important;
    font-size: 11px !important;
    font-weight: 780 !important;
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn i {
    color: #1687e8;
    font-size: 12px;
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn:hover,
.sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn:focus {
    color: #1677ff !important;
    border-color: #bfdbfe !important;
    background: #f8fbff !important;
}

body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn {
    border-color: #374151 !important;
    color: #f8fafc !important;
    background: #111827 !important;
    box-shadow: none !important;
}

body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy:hover,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-copy:focus,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel:hover,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-excel:focus,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print:hover,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .buttons-print:focus,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn:hover,
body.theme-dark .sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn:focus {
    border-color: #3b82f6 !important;
    color: #93c5fd !important;
    background: #172554 !important;
}

/* ========================================================================== */
/* ORIGINAL 1DS - SALES CONSULTANT TO-DO compact Expand/Collapse control      */
/* Keep this utility action compact; do not allow DataTables/flex rules to     */
/* stretch it across the center toolbar.                                       */
/* ========================================================================== */
.sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn {
    flex: 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 32px !important;
    height: 32px !important;
    padding: 0 10px !important;
    border-radius: 10px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
}

.sold-todo-page #datatable-1_wrapper .dt-buttons .sold-todo-expand-btn i {
    font-size: 11px !important;
}

/* ========================================================================== */
/* ORIGINAL 1DS - Sales Consultant To-Do modal footer button scope fix        */
/* 2026-10-03: modal is rendered outside .sold-todo-page, so keep button      */
/* styling scoped to .sold-todo-modal instead of relying on page ancestry.    */
/* ========================================================================== */
body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px;
    min-width: 132px;
    min-height: 40px;
    margin: 0 !important;
    padding: 8px 14px !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    box-shadow: none;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-secondary {
    border: 1px solid #dbe4ee !important;
    color: #334155 !important;
    background: #f8fafc !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-secondary:hover,
body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-secondary:focus {
    border-color: #bfd2e5 !important;
    color: #1e293b !important;
    background: #f1f5f9 !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-primary {
    min-width: 168px;
    border: 1px solid #2196f3 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #38bdf8, #2196f3) !important;
    box-shadow: 0 5px 14px rgba(33, 150, 243, .18) !important;
}

body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-primary:hover,
body.one-ds-modern-page .sold-todo-modal .sold-todo-edit-footer .modern-btn-primary:focus {
    border-color: #1687e8 !important;
    color: #ffffff !important;
    background: linear-gradient(135deg, #2eb5ef, #1687e8) !important;
    box-shadow: 0 7px 18px rgba(33, 150, 243, .24) !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-footer .modern-btn-secondary {
    border-color: #374151 !important;
    color: #e5edf7 !important;
    background: #182232 !important;
}

body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-footer .modern-btn-secondary:hover,
body.one-ds-modern-page.theme-dark .sold-todo-modal .sold-todo-edit-footer .modern-btn-secondary:focus {
    border-color: #4b5e76 !important;
    color: #f8fafc !important;
    background: #223047 !important;
}

/* ========================================================================== 
   ORIGINAL 1DS — LOGIN EXPERIENCE (2026-10-09)
   Cinematic entry page. Scoped completely to body.one-ds-login-page.
   ========================================================================== */
body.one-ds-login-page {
    --ods-login-blue: #2196f3;
    --ods-login-cyan: #38bdf8;
    --ods-login-text: #f8fafc;
    --ods-login-muted: #a8b7cb;
    --ods-login-border: rgba(147, 197, 253, .28);
    --ods-login-surface: rgba(7, 20, 36, .87);
    position: relative;
    min-height: 100vh;
    margin: 0;
    overflow: hidden;
    color: var(--ods-login-text);
    background: #07111f !important;
    font-family: 'Poppins', sans-serif;
}

body.one-ds-login-page .holder,
body.one-ds-login-page .wrapper,
body.one-ds-login-page .content,
body.one-ds-login-page .container-fluid {
    background: transparent !important;
}

body.one-ds-login-page .ods-login-stage {
    position: relative;
    min-height: 100vh;
    overflow: hidden;
    isolation: isolate;
}

body.one-ds-login-page .ods-login-hero {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    background: #07111f;
}

body.one-ds-login-page .ods-login-hero img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 46%;
    filter: saturate(1.03) contrast(1.02);
}

body.one-ds-login-page .ods-login-hero-shade {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(3, 10, 19, .08) 0%, rgba(3, 10, 19, .03) 45%, rgba(3, 10, 19, .28) 68%, rgba(3, 10, 19, .58) 100%),
        linear-gradient(180deg, rgba(4, 11, 21, .03) 0%, rgba(4, 11, 21, .08) 68%, rgba(4, 11, 21, .20) 100%);
    pointer-events: none;
}

body.one-ds-login-page .ods-login-panel-wrap {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 100vh;
    align-items: center;
    justify-content: flex-end;
    padding: clamp(28px, 5vw, 78px) clamp(28px, 6vw, 110px);
    pointer-events: none;
}

body.one-ds-login-page .ods-login-panel {
    width: min(440px, 100%);
    padding: 44px 42px 28px;
    border: 1px solid var(--ods-login-border);
    border-radius: 28px;
    background: linear-gradient(155deg, rgba(14, 36, 59, .92), var(--ods-login-surface));
    box-shadow:
        0 34px 90px rgba(1, 7, 16, .48),
        inset 0 1px 0 rgba(255, 255, 255, .05);
    -webkit-backdrop-filter: blur(22px) saturate(1.1);
    backdrop-filter: blur(22px) saturate(1.1);
    pointer-events: auto;
}

body.one-ds-login-page .ods-login-heading {
    margin-bottom: 30px;
}

body.one-ds-login-page .ods-login-eyebrow {
    display: inline-block;
    margin-bottom: 10px;
    color: #78c9ff;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

body.one-ds-login-page .ods-login-heading h1 {
    margin: 0;
    color: #ffffff;
    font-size: clamp(30px, 2.2vw, 38px);
    font-weight: 700;
    line-height: 1.08;
    letter-spacing: -.035em;
}

body.one-ds-login-page .ods-login-heading p {
    margin: 9px 0 0;
    color: var(--ods-login-muted);
    font-size: 15px;
    font-weight: 400;
}

body.one-ds-login-page .ods-login-message:empty {
    display: none;
}

body.one-ds-login-page .ods-login-message .alert {
    margin: 0 0 18px;
    padding: 11px 12px;
    border: 1px solid rgba(248, 113, 113, .32);
    border-radius: 12px;
    color: #fecaca;
    background: rgba(127, 29, 29, .34);
    font-size: 11.5px;
}

body.one-ds-login-page .ods-login-message .alert .btn {
    color: #fecaca !important;
}

body.one-ds-login-page .ods-login-field {
    margin-bottom: 16px;
}

body.one-ds-login-page .ods-login-field > label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

body.one-ds-login-page .ods-login-control {
    position: relative;
}

body.one-ds-login-page .ods-login-control-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 16px;
    display: grid;
    width: 22px;
    height: 22px;
    place-items: center;
    color: #d6e3f2;
    font-size: 15px;
    transform: translateY(-50%);
    pointer-events: none;
}

body.one-ds-login-page .ods-login-control .form-control {
    width: 100%;
    height: 58px !important;
    padding: 0 50px 0 50px !important;
    border: 1px solid rgba(148, 163, 184, .34) !important;
    border-radius: 14px !important;
    color: #f8fafc !important;
    background: rgba(15, 35, 56, .76) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025) !important;
    font-family: inherit;
    font-size: 13.5px !important;
    font-weight: 500;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

body.one-ds-login-page .ods-login-control .form-control::placeholder {
    color: #8fa2b9;
    opacity: 1;
}

body.one-ds-login-page .ods-login-control .form-control:hover {
    border-color: rgba(147, 197, 253, .52) !important;
}

body.one-ds-login-page .ods-login-control .form-control:focus {
    border-color: #55b7fb !important;
    background: rgba(14, 38, 62, .90) !important;
    box-shadow: 0 0 0 4px rgba(33, 150, 243, .12) !important;
    outline: 0 !important;
}

body.one-ds-login-page .ods-login-control label.error {
    position: absolute;
    top: calc(100% + 4px);
    left: 2px;
    z-index: 3;
    width: auto;
    height: auto;
    margin: 0;
    clip: auto;
    color: #fda4af;
    font-size: 9.5px;
    font-weight: 650;
    white-space: nowrap;
}

body.one-ds-login-page .ods-login-field:has(label.error) {
    margin-bottom: 28px;
}

body.one-ds-login-page .ods-password-toggle {
    position: absolute;
    z-index: 3;
    top: 50%;
    right: 12px;
    display: grid;
    width: 34px;
    height: 34px;
    padding: 0;
    place-items: center;
    border: 0;
    border-radius: 9px;
    color: #d5e4f3;
    background: transparent;
    font-size: 15px;
    transform: translateY(-50%);
    cursor: pointer;
    transition: color .16s ease, background .16s ease;
}

body.one-ds-login-page .ods-password-toggle:hover,
body.one-ds-login-page .ods-password-toggle:focus-visible {
    color: #7dd3fc;
    background: rgba(56, 189, 248, .10);
    outline: 0;
}

body.one-ds-login-page .ods-login-options {
    display: flex;
    min-height: 42px;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 2px 0 20px;
}

body.one-ds-login-page .ods-login-remember {
    padding-left: 2.65rem;
}

body.one-ds-login-page .ods-login-remember .custom-control-label {
    color: #d8e3ef;
    font-size: 11.5px;
    font-weight: 500;
    cursor: pointer;
}

body.one-ds-login-page .ods-login-remember .custom-control-label::before {
    border-color: rgba(148, 163, 184, .50);
    background: rgba(15, 35, 56, .90);
    box-shadow: none;
}

body.one-ds-login-page .ods-login-remember .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--ods-login-blue);
    background: linear-gradient(135deg, var(--ods-login-cyan), var(--ods-login-blue));
}

body.one-ds-login-page #forgot-password {
    color: #40b9ff;
    font-size: 11.5px;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
}

body.one-ds-login-page #forgot-password:hover,
body.one-ds-login-page #forgot-password:focus {
    color: #8bd7ff;
    text-decoration: none;
}

body.one-ds-login-page .ods-login-submit {
    position: relative;
    display: flex;
    width: 100%;
    height: 58px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    overflow: hidden;
    border: 1px solid rgba(103, 210, 255, .42);
    border-radius: 14px;
    color: #ffffff;
    background: linear-gradient(135deg, #28c5f5 0%, #1687f8 100%);
    box-shadow: 0 14px 28px rgba(12, 121, 220, .24);
    font-family: inherit;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: translate .16s ease, box-shadow .16s ease, filter .16s ease;
}

body.one-ds-login-page .ods-login-submit::before {
    content: '';
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg, transparent 18%, rgba(255,255,255,.15) 48%, transparent 72%);
    translate: -125% 0;
    transition: translate .55s ease;
}

body.one-ds-login-page .ods-login-submit:hover {
    translate: 0 -1px;
    box-shadow: 0 18px 34px rgba(12, 121, 220, .31);
    filter: brightness(1.04);
}

body.one-ds-login-page .ods-login-submit:hover::before {
    translate: 125% 0;
}

body.one-ds-login-page .ods-login-submit:active {
    translate: 0 0;
}

body.one-ds-login-page .ods-login-submit i {
    font-size: 12px;
    transition: translate .16s ease;
}

body.one-ds-login-page .ods-login-submit:hover i {
    translate: 4px 0;
}

body.one-ds-login-page .ods-login-submit.is-loading {
    opacity: .76;
    cursor: wait;
}

body.one-ds-login-page .ods-login-submit.is-loading i {
    animation: none !important;
}

body.one-ds-login-page .ods-login-footnote {
    margin-top: 24px;
    padding-top: 18px;
    border-top: 1px solid rgba(148, 163, 184, .13);
    color: #7f91a6;
    font-size: 9.5px;
    font-weight: 500;
    letter-spacing: .025em;
    text-align: center;
}

body.one-ds-login-page .preload {
    background: #07111f;
}

body.one-ds-login-page .preload-spinner {
    color: #38bdf8 !important;
}

body.one-ds-login-page .float-btn,
body.one-ds-login-page #theme-toggle,
body.one-ds-login-page .footer,
body.one-ds-login-page .scrolltop,
body.one-ds-login-page #sidemenu-todo,
body.one-ds-login-page #sidemenu-settings {
    display: none !important;
}

@media (max-width: 1180px) {
    body.one-ds-login-page .ods-login-hero img {
        object-position: 42% 46%;
    }

    body.one-ds-login-page .ods-login-panel-wrap {
        padding-right: 42px;
        padding-left: 42px;
    }

    body.one-ds-login-page .ods-login-panel {
        width: 410px;
    }
}

@media (max-width: 860px) {
    body.one-ds-login-page {
        overflow: auto;
    }

    body.one-ds-login-page .ods-login-stage {
        display: flex;
        min-height: 100svh;
        align-items: flex-end;
    }

    body.one-ds-login-page .ods-login-hero img {
        object-position: 36% 44%;
    }

    body.one-ds-login-page .ods-login-hero-shade {
        background: linear-gradient(180deg, rgba(4,11,21,.08) 0%, rgba(4,11,21,.18) 42%, rgba(4,11,21,.82) 78%, rgba(4,11,21,.96) 100%);
    }

    body.one-ds-login-page .ods-login-panel-wrap {
        width: 100%;
        min-height: auto;
        align-items: flex-end;
        justify-content: center;
        padding: 120px 18px 22px;
    }

    body.one-ds-login-page .ods-login-panel {
        width: min(520px, 100%);
        padding: 30px 26px 22px;
        border-radius: 24px;
        background: rgba(7, 20, 36, .91);
    }

    body.one-ds-login-page .ods-login-heading {
        margin-bottom: 22px;
    }

    body.one-ds-login-page .ods-login-heading h1 {
        font-size: 29px;
    }
}

@media (max-width: 480px) {
    body.one-ds-login-page .ods-login-panel-wrap {
        padding: 96px 12px 12px;
    }

    body.one-ds-login-page .ods-login-panel {
        padding: 26px 20px 18px;
        border-radius: 20px;
    }

    body.one-ds-login-page .ods-login-eyebrow {
        display: none;
    }

    body.one-ds-login-page .ods-login-heading h1 {
        font-size: 26px;
    }

    body.one-ds-login-page .ods-login-heading p {
        font-size: 13px;
    }

    body.one-ds-login-page .ods-login-control .form-control,
    body.one-ds-login-page .ods-login-submit {
        height: 54px !important;
    }

    body.one-ds-login-page .ods-login-options {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.one-ds-login-page .ods-login-submit,
    body.one-ds-login-page .ods-login-submit::before,
    body.one-ds-login-page .ods-login-submit i,
    body.one-ds-login-page .ods-login-control .form-control,
    body.one-ds-login-page .ods-password-toggle {
        transition: none !important;
    }
}


/* ========================================================================== 
   ORIGINAL 1DS — LOGIN PAINT MATCH + MOBILE BOTTOM SHEET (2026-10-09)
   Keeps desktop composition intact while giving phone layouts an intentional
   hero + sheet treatment. Fully scoped to body.one-ds-login-page.
   ========================================================================== */
body.one-ds-login-page {
    --ods-login-paint-deep: #0050db;
    --ods-login-paint: #0869e8;
    --ods-login-paint-bright: #1f84e7;
    --ods-login-paint-highlight: #47bcf7;
}

body.one-ds-login-page .ods-login-submit {
    border-color: rgba(71, 188, 247, .46);
    background: linear-gradient(135deg, var(--ods-login-paint-deep) 0%, var(--ods-login-paint) 54%, var(--ods-login-paint-bright) 100%);
    box-shadow: 0 14px 30px rgba(0, 80, 219, .30);
}

body.one-ds-login-page .ods-login-submit:hover {
    box-shadow: 0 18px 38px rgba(0, 80, 219, .38);
    filter: brightness(1.07) saturate(1.04);
}

body.one-ds-login-page .ods-login-submit:active {
    filter: brightness(.96);
}

body.one-ds-login-page .ods-login-remember .custom-control-input:checked ~ .custom-control-label::before {
    border-color: var(--ods-login-paint-bright);
    background: linear-gradient(135deg, var(--ods-login-paint-deep), var(--ods-login-paint-bright));
}

body.one-ds-login-page .ods-login-control .form-control:focus {
    border-color: var(--ods-login-paint-highlight) !important;
    box-shadow: 0 0 0 4px rgba(31, 132, 231, .14) !important;
}

body.one-ds-login-page #forgot-password {
    color: var(--ods-login-paint-highlight);
}

body.one-ds-login-page #forgot-password:hover,
body.one-ds-login-page #forgot-password:focus {
    color: #83d2ff;
}

body.one-ds-login-page .ods-login-hero picture {
    display: block;
    width: 100%;
    height: 100%;
}

@media (max-width: 860px) {
    body.one-ds-login-page {
        min-height: 100svh;
        overflow-x: hidden;
        overflow-y: auto;
        background: #07111f !important;
    }

    body.one-ds-login-page .ods-login-stage {
        display: block;
        min-height: 100svh;
        overflow: visible;
        background: #07111f;
    }

    body.one-ds-login-page .ods-login-hero {
        position: relative;
        inset: auto;
        width: 100%;
        height: clamp(315px, 41svh, 390px);
        min-height: 315px;
        overflow: hidden;
        background: #07111f;
    }

    body.one-ds-login-page .ods-login-hero picture,
    body.one-ds-login-page .ods-login-hero img {
        width: 100%;
        height: 100%;
    }

    body.one-ds-login-page .ods-login-hero img {
        object-fit: cover;
        object-position: 50% 50%;
        filter: saturate(1.05) contrast(1.025);
    }

    body.one-ds-login-page .ods-login-hero-shade {
        background: linear-gradient(180deg,
            rgba(3, 10, 19, .02) 0%,
            rgba(3, 10, 19, .02) 58%,
            rgba(3, 10, 19, .24) 80%,
            rgba(7, 17, 31, .92) 100%);
    }

    body.one-ds-login-page .ods-login-panel-wrap {
        position: relative;
        z-index: 3;
        display: block;
        width: 100%;
        min-height: 0;
        margin-top: -22px;
        padding: 0 10px max(10px, env(safe-area-inset-bottom));
        pointer-events: none;
    }

    body.one-ds-login-page .ods-login-panel {
        width: min(560px, 100%);
        margin: 0 auto;
        padding: 24px 20px 16px;
        border: 1px solid rgba(71, 188, 247, .22);
        border-radius: 24px 24px 18px 18px;
        background: linear-gradient(180deg, rgba(7, 23, 40, .985) 0%, rgba(5, 17, 31, .995) 100%);
        box-shadow: 0 -16px 44px rgba(0, 0, 0, .28), 0 18px 44px rgba(0, 0, 0, .32);
        -webkit-backdrop-filter: blur(18px) saturate(1.06);
        backdrop-filter: blur(18px) saturate(1.06);
        pointer-events: auto;
    }

    body.one-ds-login-page .ods-login-heading {
        margin-bottom: 18px;
    }

    body.one-ds-login-page .ods-login-eyebrow {
        display: none;
    }

    body.one-ds-login-page .ods-login-heading h1 {
        font-size: 26px;
        line-height: 1.08;
    }

    body.one-ds-login-page .ods-login-heading p {
        margin-top: 6px;
        font-size: 12.5px;
    }

    body.one-ds-login-page .ods-login-field {
        margin-bottom: 12px;
    }

    body.one-ds-login-page .ods-login-control .form-control {
        height: 52px !important;
        padding-right: 46px !important;
        padding-left: 46px !important;
        border-radius: 13px !important;
        font-size: 13px !important;
    }

    body.one-ds-login-page .ods-login-control-icon {
        left: 14px;
        font-size: 14px;
    }

    body.one-ds-login-page .ods-password-toggle {
        right: 9px;
        width: 34px;
        height: 34px;
    }

    body.one-ds-login-page .ods-login-options {
        min-height: 34px;
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        gap: 10px;
        margin: 0 0 14px;
    }

    body.one-ds-login-page .ods-login-remember {
        min-width: 0;
        padding-left: 2.4rem;
    }

    body.one-ds-login-page .ods-login-remember .custom-control-label,
    body.one-ds-login-page #forgot-password {
        font-size: 10.5px;
    }

    body.one-ds-login-page .ods-login-submit {
        height: 52px;
        border-radius: 13px;
        font-size: 13px;
        box-shadow: 0 12px 26px rgba(0, 80, 219, .29);
    }

    body.one-ds-login-page .ods-login-footnote {
        margin-top: 16px;
        padding-top: 13px;
        font-size: 9px;
    }
}

@media (max-width: 480px) {
    body.one-ds-login-page .ods-login-hero {
        height: clamp(300px, 40svh, 350px);
        min-height: 300px;
    }

    body.one-ds-login-page .ods-login-panel-wrap {
        margin-top: -18px;
        padding-right: 8px;
        padding-left: 8px;
    }

    body.one-ds-login-page .ods-login-panel {
        padding: 22px 18px 14px;
        border-radius: 22px 22px 16px 16px;
    }

    body.one-ds-login-page .ods-login-heading h1 {
        font-size: 25px;
    }

    body.one-ds-login-page .ods-login-heading p {
        font-size: 12px;
    }

    body.one-ds-login-page .ods-login-options {
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
    }

    body.one-ds-login-page .ods-login-remember .custom-control-label,
    body.one-ds-login-page #forgot-password {
        font-size: 10px;
    }

    body.one-ds-login-page .ods-login-footnote {
        margin-top: 14px;
        padding-top: 12px;
    }
}

@media (max-height: 700px) and (max-width: 860px) {
    body.one-ds-login-page .ods-login-hero {
        height: 285px;
        min-height: 285px;
    }

    body.one-ds-login-page .ods-login-panel {
        padding-top: 19px;
    }

    body.one-ds-login-page .ods-login-heading {
        margin-bottom: 14px;
    }

    body.one-ds-login-page .ods-login-control .form-control,
    body.one-ds-login-page .ods-login-submit {
        height: 49px !important;
    }

    body.one-ds-login-page .ods-login-footnote {
        margin-top: 12px;
        padding-top: 10px;
    }
}

/* ========================================================================== 
   ORIGINAL 1DS — LOGIN MOBILE FRAMING + IOS FOCUS FIX (2026-10-09)
   Keeps the approved desktop login unchanged. On phones, gives the hero more
   room, lowers the visual crop and sheet, and prevents iOS focus zoom by
   keeping form text at 16px or larger.
   ========================================================================== */
@media (max-width: 860px) {
    body.one-ds-login-page .ods-login-hero {
        height: clamp(350px, 46svh, 420px);
        min-height: 350px;
    }

    body.one-ds-login-page .ods-login-hero img {
        object-position: 50% 24%;
    }

    body.one-ds-login-page .ods-login-panel-wrap {
        margin-top: 0;
    }

    body.one-ds-login-page .ods-login-control .form-control {
        font-size: 16px !important;
        -webkit-text-size-adjust: 100%;
        text-size-adjust: 100%;
    }
}

@media (max-width: 480px) {
    body.one-ds-login-page .ods-login-hero {
        height: clamp(365px, 46svh, 405px);
        min-height: 365px;
    }

    body.one-ds-login-page .ods-login-hero img {
        object-position: 50% 24%;
    }

    body.one-ds-login-page .ods-login-panel-wrap {
        margin-top: 0;
    }
}

@media (max-height: 700px) and (max-width: 860px) {
    body.one-ds-login-page .ods-login-hero {
        height: 320px;
        min-height: 320px;
    }

    body.one-ds-login-page .ods-login-hero img {
        object-position: 50% 22%;
    }
}
