/* ================================
   1. THEME TOKENS
   Uses global variables from main.php only.
   Do NOT redefine --hms-primary or --hms-accent here.
================================ */
.hms-dashboard-container,
.hms-premium-dashboard {
    --hms-panel: color-mix(in srgb, var(--hms-white) 92%, transparent);
    --hms-panel-solid: var(--hms-white);
    --hms-border-strong: color-mix(in srgb, var(--hms-black) 8%, transparent);
    --hms-text: var(--hms-black);
    --hms-muted: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    --hms-soft: var(--hms-off-white);
    --hms-shadow: 0 22px 60px color-mix(in srgb, var(--hms-black) 8%, transparent);
    --hms-shadow-soft: 0 12px 30px color-mix(in srgb, var(--hms-black) 6%, transparent);
    --hms-radius-xl: 28px;
    --hms-radius-lg: 22px;
    --hms-radius-md: 16px;
}

.hms-dashboard-container *,
.hms-dashboard-container *::before,
.hms-dashboard-container *::after {
    box-sizing: border-box;
}

.hms-dashboard-container .dashicons {
    width: auto;
    height: auto;
    font-size: inherit;
    line-height: 1;
}

/* ================================
   2. MAIN DASHBOARD WRAPPER
================================ */
.hms-dashboard-container {
    position: relative;
    min-height: 100vh;
    /*padding: 24px;*/
    /*background:*/
    /*    radial-gradient(circle at top left, color-mix(in srgb, var(--hms-primary) 13%, transparent), transparent 32%),*/
    /*    radial-gradient(circle at top right, color-mix(in srgb, var(--hms-accent) 12%, transparent), transparent 28%),*/
    /*    linear-gradient(180deg, color-mix(in srgb, var(--hms-off-white) 55%, var(--hms-white)) 0%, var(--hms-off-white) 42%, color-mix(in srgb, var(--hms-off-white) 88%, var(--hms-primary) 12%) 100%);*/
    color: var(--hms-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    overflow: visible;
}

/* Legacy card support */
.hms-premium-card,
.hms-dash-card,
.hms-premium-panel,
.hms-premium-stat-card,
.hms-command-kpi-card {
    background: var(--hms-panel);
    border: 1px solid var(--hms-border);
    box-shadow: var(--hms-shadow-soft);
    transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.hms-premium-card:hover,
.hms-dash-card:hover,
.hms-premium-panel:hover,
.hms-premium-stat-card:hover,
.hms-command-kpi-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--hms-shadow);
    border-color: color-mix(in srgb, var(--hms-primary) 25%, transparent);
}

/* ================================
   3. PREMIUM HERO
================================ */
.hms-dash-hero {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 24px;
    align-items: stretch;
    padding: 20px;
    border-radius: 15px;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--hms-black) 98%, transparent), color-mix(in srgb, var(--hms-black-light) 94%, transparent)),
        linear-gradient(135deg, var(--hms-black), var(--hms-black-light));
    color: var(--hms-white);
    overflow: hidden;
    box-shadow: 0 28px 80px color-mix(in srgb, var(--hms-black) 22%, transparent);
}

.hms-dash-hero-bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 15% 20%, color-mix(in srgb, var(--hms-primary) 42%, transparent), transparent 24%),
        radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--hms-accent) 34%, transparent), transparent 28%),
        radial-gradient(circle at 78% 90%, color-mix(in srgb, var(--hms-primary) 22%, transparent), transparent 26%);
    opacity: 0.92;
}

.hms-dash-hero-left,
.hms-dash-hero-right {
    position: relative;
    z-index: 2;
}

.hms-dash-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 9px 13px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hms-white) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--hms-white) 18%, transparent);
    color: rgba(255, 255, 255, 0.9);
    font-size: 12px;
    font-weight: 500;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.hms-dash-hero h1 {
    margin: 12px 0 10px;
    color: var(--hms-white);
    font-size: clamp(26px, 3vw, 36px);
    line-height: 1.02;
    /*letter-spacing: -0.055em;*/
    font-weight: 600;
}

.hms-dash-hero p {
    max-width: 95%;
    margin: 0;
    color: color-mix(in srgb, var(--hms-off-white) 88%, transparent);
    font-size: 15px;
    line-height: 1.75;
}

.hms-dash-hero-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.hms-dash-hero-chips span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hms-white) 10%, transparent);
    border: 1px solid color-mix(in srgb, var(--hms-white) 16%, transparent);
    color: color-mix(in srgb, var(--hms-white) 88%, transparent);
    font-size: 12px;
    font-weight: 600;
}

.hms-live-dot,
.hms-pulse-dot {
    width: 9px;
    height: 9px;
    display: inline-block;
    border-radius: 999px;
    background: var(--hms-primary);
    box-shadow: 0 0 0 6px color-mix(in srgb, var(--hms-primary) 16%, transparent);
    animation: hmsPulseRing 2s infinite;
}

.hms-dash-hero-right {
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 260px;
}

.hms-digital-clock-card,
.hms-digital-clock-pill,
.hms-clock-widget {
    padding: 22px;
    border-radius: 26px;
    background: color-mix(in srgb, var(--hms-white) 12%, transparent);
    border: 1px solid color-mix(in srgb, var(--hms-white) 18%, transparent);
    backdrop-filter: blur(18px);
}

.hms-clock-label {
    display: block;
    color: color-mix(in srgb, var(--hms-off-white) 78%, transparent);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    margin-bottom: 10px;
}

#hms-digital-time,
#hms-time {
    display: block;
    font-size: 28px;
    line-height: 1;
    color: var(--hms-white);
    font-weight: 900;
    letter-spacing: -0.04em;
}

#hms-digital-date,
#hms-date {
    display: block;
    margin-top: 9px;
    color: color-mix(in srgb, var(--hms-off-white) 78%, transparent);
    font-size: 13px;
    font-weight: 600;
}

.hms-dash-reset-btn,
#hms-reset-dashboard {
    position: relative;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 8px 18px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--hms-white) 22%, transparent);
    background: var(--hms-white);
    color: var(--hms-black);
    font-weight: 700;
    cursor: pointer;
    box-shadow: 0 16px 30px color-mix(in srgb, var(--hms-black) 16%, transparent);
    transition: 0.22s ease;
    overflow: hidden;
}

.hms-dash-reset-btn:hover,
#hms-reset-dashboard:hover {
    transform: translateY(-2px);
    box-shadow: 0 22px 42px color-mix(in srgb, var(--hms-black) 22%, transparent);
}

/* ================================
   4. FILTER BAR + DATE PICKER INPUT
================================ */
.hms-dash-filter-shell,
.hms-dashboard-top-bar,
.hms-dashboard-filter-bar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 16px;
    align-items: center;
    margin-top: 22px;
    padding: 14px;
    border-radius: 15px;
    background: color-mix(in srgb, var(--hms-white) 84%, transparent);
    border: 1px solid var(--hms-border);
    box-shadow: var(--hms-shadow-soft);
    backdrop-filter: blur(14px);
    overflow: visible !important;
    z-index: 50;
}

.hms-dashboard-top-bar {
    grid-column: 1 / -1;
}

.hms-dash-filter-title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 8px;
    color: color-mix(in srgb, var(--hms-black) 78%, var(--hms-white));
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
}

.flatpickr-input{
    font-size: 16px!important;
    font-weight: 600!important;
}

.filter-group,
.hms-premium-filter-group {
    position: relative;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hms-off-white) 82%, var(--hms-white));
}

.hms-filter-slider {
    position: absolute;
    top: 6px;
    bottom: 6px;
    left: 0;
    background: var(--hms-white);
    border-radius: 999px;
    z-index: 1;
    box-shadow: 0 2px 8px color-mix(in srgb, var(--hms-black) 8%, transparent), 0 1px 2px color-mix(in srgb, var(--hms-black) 4%, transparent);
    transition: transform .4s cubic-bezier(.2,1,.2,1), width .3s cubic-bezier(.2,1,.2,1);
    pointer-events: none;
}

.hms-filter-btn {
    position: relative;
    z-index: 2;
    min-height: 40px;
    padding: 10px 16px;
    border: 0 !important;
    border-radius: 999px;
    background: transparent;
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
    transition: 0.22s ease;
    white-space: nowrap;
}

.hms-filter-btn:hover {
    color: var(--hms-black);
    background: color-mix(in srgb, var(--hms-white) 72%, transparent);
}

.hms-filter-btn.active {
    color: var(--hms-white) !important;
    background: linear-gradient(135deg, var(--hms-primary), var(--hms-accent)) !important;
    box-shadow: 0 12px 24px color-mix(in srgb, var(--hms-primary) 24%, transparent);
}

.hms-custom-range {
    position: relative;
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid color-mix(in srgb, var(--hms-border-light) 28%, transparent);
    background: var(--hms-white);
    color: color-mix(in srgb, var(--hms-black) 68%, var(--hms-white));
    z-index: 1000 !important;
}

.hms-custom-range input,
.hms-date-picker-input {
    width: 180px;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    background: transparent !important;
    color: var(--hms-black);
    font-weight: 800;
    cursor: pointer;
}

.hms-custom-range:focus-within {
    border-color: var(--hms-primary) !important;
    background: var(--hms-white) !important;
    box-shadow: 0 4px 12px color-mix(in srgb, var(--hms-primary) 10%, transparent) !important;
}

/* ================================
   5. TOP STAT CARDS
================================ */
.hms-premium-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(180px, 1fr));
    gap: 18px;
    margin-top: 22px;
}

.stat-card,
.hms-premium-stat-card,
.hms-dash-card {
    position: relative;
    min-height: 158px;
    padding: 22px;
    border-radius: 26px;
    background: var(--hms-panel);
    border: 1px solid var(--hms-border);
    box-shadow: var(--hms-shadow-soft);
    overflow: hidden;
}

.stat-card::before,
.hms-premium-stat-card::before,
.hms-dash-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 15% 0%, color-mix(in srgb, var(--hms-primary) 10%, transparent), transparent 36%),
        linear-gradient(180deg, color-mix(in srgb, var(--hms-white) 80%, transparent), transparent);
    opacity: 0.9;
    pointer-events: none;
}

.arrivals { border-bottom: 4px solid color-mix(in srgb, var(--hms-primary) 48%, transparent) !important; }
.departures { border-bottom: 4px solid color-mix(in srgb, var(--hms-accent) 48%, transparent) !important; }
.occupancy { border-bottom: 4px solid color-mix(in srgb, var(--hms-primary) 48%, transparent) !important; }
.revenue { border-bottom: 4px solid color-mix(in srgb, var(--hms-accent) 48%, transparent) !important; }

.hms-stat-top {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.stat-card small,
.hms-premium-stat-card small,
.hms-command-kpi-card small {
    display: block;
    color: var(--hms-muted);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.stat-value,
.gauge-value {
    display: block;
    margin-top: 10px;
    color: var(--hms-text);
    font-size: 34px;
    line-height: 1;
    letter-spacing: -0.06em;
    font-weight: 950;
}

.card-icon,
.hms-stat-icon {
    display: inline-flex;
    width: 54px;
    height: 54px;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    color: var(--hms-white);
    font-size: 24px;
    flex: 0 0 auto;
    box-shadow: 0 14px 25px color-mix(in srgb, var(--hms-black) 14%, transparent);
    background: linear-gradient(135deg, var(--hms-primary), var(--hms-accent));
}

.hms-stat-blue { background: linear-gradient(135deg, var(--hms-primary), color-mix(in srgb, var(--hms-primary) 65%, var(--hms-white))); }
.hms-stat-orange { background: linear-gradient(135deg, var(--hms-accent), color-mix(in srgb, var(--hms-accent) 65%, var(--hms-white))); }
.hms-stat-green { background: linear-gradient(135deg, var(--hms-primary), color-mix(in srgb, var(--hms-primary) 60%, var(--hms-white))); }

.stat-footer {
    position: relative;
    z-index: 2;
    margin-top: 18px;
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-size: 13px;
    font-weight: 800;
}

.hms-range-tag {
    display: inline-block;
    vertical-align: middle;
    font-size: 11px;
    color: var(--hms-primary);
    background: color-mix(in srgb, var(--hms-primary) 10%, var(--hms-white));
    padding: 2px 6px;
    border-radius: 6px;
    margin-left: 5px;
    font-weight: 800;
}

.hms-revenue-pace {
    font-size: 11px;
    font-weight: 800;
    padding: 2px 6px;
    border-radius: 6px;
    margin-left: 8px;
    vertical-align: middle;
}

.hms-pace-up { background: color-mix(in srgb, var(--hms-primary) 14%, var(--hms-white)); color: color-mix(in srgb, var(--hms-primary) 75%, var(--hms-black)); }
.hms-pace-down { background: color-mix(in srgb, var(--hms-red) 14%, var(--hms-white)); color: color-mix(in srgb, var(--hms-red) 75%, var(--hms-black)); }

/* Occupancy gauge */
.hms-mini-gauge {
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
}

.hms-mini-gauge svg,
.hms-gauge-svg {
    width: 72px;
    height: 72px;
    transform: rotate(-90deg);
}

.hms-gauge-bg,
.gauge-track {
    fill: none;
    stroke: color-mix(in srgb, var(--hms-border-light) 36%, var(--hms-off-white));
    stroke-width: 11;
}

.hms-gauge-progress,
.gauge-progress,
#occupancy-circle {
    fill: none;
    stroke: var(--hms-primary);
    stroke-width: 11;
    stroke-linecap: round;
    stroke-dasharray: 282.743;
    stroke-dashoffset: 282.743;
    transition: stroke-dashoffset 0.8s ease, stroke 0.25s ease;
}

.gauge-low,
#occupancy-circle.gauge-low { stroke: var(--hms-primary); }

.gauge-mid,
#occupancy-circle.gauge-mid { stroke: var(--hms-accent); }

.gauge-high,
#occupancy-circle.gauge-high { stroke: var(--hms-red); }

/* ================================
   6. KPI STRIP
================================ */
.hms-command-kpi-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(150px, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.hms-command-kpi-card {
    position: relative;
    padding: 18px;
    min-height: 132px;
    border-radius: 22px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--hms-white) 96%, transparent), color-mix(in srgb, var(--hms-off-white) 92%, transparent));
    overflow: hidden;
}

.hms-command-kpi-card::after {
    content: "";
    position: absolute;
    width: 74px;
    height: 74px;
    right: -28px;
    top: -28px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hms-primary) 11%, transparent);
}

.hms-command-kpi-card.hms-kpi-danger::after {
    background: color-mix(in srgb, var(--hms-red) 11%, transparent);
}

.hms-kpi-label {
    display: block;
    color: color-mix(in srgb, var(--hms-black) 68%, var(--hms-white));
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.hms-command-kpi-card strong {
    display: block;
    margin: 11px 0 7px;
    font-size: 30px;
    line-height: 1;
    letter-spacing: -0.055em;
    font-weight: 950;
    color: var(--hms-black);
}

/* ================================
   7. PANELS + GRIDS
================================ */
.hms-dashboard-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(360px, 0.9fr);
    gap: 18px;
    margin-top: 22px;
}

.hms-operations-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(260px, 1fr));
    gap: 18px;
    margin-top: 18px;
}

.hms-premium-panel {
    position: relative;
    padding: 22px;
    border-radius: 28px;
    background: var(--hms-panel);
    border: 1px solid var(--hms-border);
    box-shadow: var(--hms-shadow-soft);
    overflow: hidden;
}

.hms-premium-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(255,255,255,.8), transparent 42%),
        radial-gradient(circle at top right, rgba(37,99,235,.07), transparent 30%);
    pointer-events: none;
}

.hms-premium-panel > * {
    position: relative;
    z-index: 2;
}

.hms-panel-header,
.hms-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 18px;
}

.hms-panel-kicker {
    display: block;
    color: var(--hms-primary);
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    /*letter-spacing: 0.08em;*/
    margin-bottom: 6px;
}

.hms-panel-header h2,
.hms-card-header h2 {
    margin: 0;
    color: var(--hms-black);
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -0.02em;
    font-weight: 600;
}

.hms-panel-pill,
.hms-panel-total {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 8px 12px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hms-primary) 10%, var(--hms-white));
    color: var(--hms-primary);
    font-size: 12px;
    font-weight: 650;
    white-space: nowrap;
    border: 1px solid;
}

.hms-danger-pill {
    background: color-mix(in srgb, var(--hms-red) 8%, var(--hms-white));
    color: var(--hms-red);
}

/* ================================
   8. PERFORMANCE CHART
================================ */
.hms-performance-panel,
.revenue-performance-card {
    min-height: 410px;
    background: var(--hms-panel);
    overflow: visible !important;
}

.hms-performance-scroll,
.hms-scrollbar-custom {
    width: 100%;
    overflow-x: auto;
    padding-bottom: 6px;
}

#hms-performance-container,
.hms-performance-chart {
    display: flex;
    align-items: flex-end;
    gap: 14px;
    min-height: 300px;
    padding: 18px 18px 30px;
    border-radius: 24px;
    background: linear-gradient(180deg, color-mix(in srgb, var(--hms-off-white) 90%, transparent), color-mix(in srgb, var(--hms-off-white) 78%, transparent));
    border: 1px solid color-mix(in srgb, var(--hms-border-light) 18%, transparent);
}

.hms-perf-bar:hover {
    filter: brightness(1.1);
    box-shadow: 0 0 15px color-mix(in srgb, var(--hms-accent) 40%, transparent);
}

.hms-performance-chart .bar,
.hms-performance-chart .hms-bar,
.hms-performance-chart .hms-chart-bar,
#hms-performance-container .hms-bar-fill {
    border-radius: 999px 999px 10px 10px;
    background: linear-gradient(180deg, var(--hms-primary), var(--hms-accent));
    box-shadow: 0 12px 24px color-mix(in srgb, var(--hms-primary) 24%, transparent);
}

.hms-skeleton {
    border-radius: 14px;
    background: linear-gradient(90deg, color-mix(in srgb, var(--hms-border-light) 36%, var(--hms-off-white)) 0%, var(--hms-off-white) 50%, color-mix(in srgb, var(--hms-border-light) 36%, var(--hms-off-white)) 100%);
    background-size: 200% 100%;
    animation: hmsPremiumShimmer 1.35s infinite;
}

/* ================================
   9. ROOM INVENTORY
================================ */
.hms-room-breakdown-list {
    display: flex;
    flex-direction: column;
    gap: 13px;
    max-height: 360px;
    overflow: auto;
    padding-right: 4px;
}

.hms-room-breakdown-list .room-row,
.hms-room-breakdown-list .hms-room-row,
.hms-room-breakdown-list > div:not(.hms-mini-placeholder) {
    padding: 14px;
    border-radius: 18px;
    background: var(--hms-white);
    border: 1px solid color-mix(in srgb, var(--hms-border-light) 18%, transparent);
    box-shadow: 0 8px 20px color-mix(in srgb, var(--hms-black) 4%, transparent);
}

.hms-room-breakdown-list .room-label,
.hms-room-breakdown-list .hms-room-title {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    color: var(--hms-black);
    font-size: 13px;
    font-weight: 900;
    margin-bottom: 9px;
}

.hms-room-breakdown-list .room-bar-bg,
.hms-room-breakdown-list .progress-bg,
.hms-room-breakdown-list .hms-room-progress {
    height: 9px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--hms-border-light) 36%, var(--hms-off-white));
    overflow: hidden;
}

.hms-room-breakdown-list .room-bar-fill,
.hms-room-breakdown-list .progress-fill,
.hms-room-breakdown-list .hms-room-progress-fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--hms-primary), var(--hms-primary));
}

/* ================================
   10. ACTIONS / RADAR / RECENT LISTS
================================ */
.hms-action-alerts-list,
.hms-radar-list,
.hms-recent-bookings-list,
.hms-dish-stock-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 390px;
    overflow: auto;
    padding-right: 4px;
}

.hms-mini-placeholder {
    padding: 18px;
    border-radius: 18px;
    background: var(--hms-off-white);
    border: 1px dashed color-mix(in srgb, var(--hms-border-light) 42%, transparent);
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-size: 13px;
    font-weight: 800;
    text-align: center;
}

.hms-action-alerts-list > div:not(.hms-mini-placeholder),
.hms-recent-bookings-list > div:not(.hms-mini-placeholder),
.hms-dish-stock-list > div:not(.hms-mini-placeholder),
.hms-radar-list > div:not(.hms-mini-placeholder),
.hms-radar-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    padding: 15px;
    border-radius: 20px;
    background: var(--hms-white);
    border: 1px solid color-mix(in srgb, var(--hms-border-light) 18%, transparent);
    border-left: 4px solid color-mix(in srgb, var(--hms-border-light) 36%, var(--hms-off-white));
    box-shadow: 0 10px 24px color-mix(in srgb, var(--hms-black) 5%, transparent);
}

.hms-radar-item.radar-in { border-left-color: var(--hms-primary); }
.hms-radar-item.radar-out { border-left-color: var(--hms-accent); }
.hms-radar-item.radar-stay { border-left-color: var(--hms-primary); }

.radar-info strong {
    display: block;
    color: var(--hms-black-light);
    font-size: 14px;
    font-weight: 950;
}

.radar-info span {
    font-size: 12px;
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-weight: 700;
}

.radar-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

.radar-status {
    text-align: right;
}

.radar-tag {
    display: inline-flex;
    font-size: 10px;
    font-weight: 900;
    padding: 4px 8px;
    border-radius: 999px;
    margin-bottom: 4px;
}

.radar-in .radar-tag { background: color-mix(in srgb, var(--hms-primary) 14%, var(--hms-white)); color: color-mix(in srgb, var(--hms-primary) 75%, var(--hms-black)); }
.radar-out .radar-tag { background: color-mix(in srgb, var(--hms-accent) 16%, var(--hms-white)); color: color-mix(in srgb, var(--hms-accent) 80%, var(--hms-black)); }
.radar-stay .radar-tag { background: color-mix(in srgb, var(--hms-primary) 16%, var(--hms-white)); color: var(--hms-primary); }

.hms-radar-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    min-width: 38px;
    height: 38px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--hms-primary), var(--hms-accent));
    color: var(--hms-white);
    cursor: pointer;
    box-shadow: 0 12px 22px color-mix(in srgb, var(--hms-primary) 22%, transparent);
    transition: 0.22s ease;
}

.hms-radar-view-btn:hover {
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 16px 30px color-mix(in srgb, var(--hms-primary) 30%, transparent);
}

.hms-radar-view-btn .dashicons {
    font-size: 18px;
}

/* ================================
   11. KITCHEN / DISH / FINANCE
================================ */
.hms-kitchen-status-row,
.hms-dish-stock-grid,
.hms-finance-metrics {
    display: grid;
    gap: 12px;
}

.hms-kitchen-status-row {
    grid-template-columns: repeat(3, 1fr);
}

.hms-dish-stock-grid,
.hms-finance-metrics {
    grid-template-columns: repeat(2, 1fr);
}

.hms-kitchen-status-row > div,
.hms-dish-stock-grid > div,
.hms-finance-metrics > div,
.hms-restaurant-sales-box {
    padding: 16px;
    border-radius: 20px;
    background: var(--hms-white);
    border: 1px solid color-mix(in srgb, var(--hms-border-light) 18%, transparent);
    box-shadow: 0 10px 24px color-mix(in srgb, var(--hms-black) 4%, transparent);
}

.hms-kitchen-status-row span,
.hms-dish-stock-grid span,
.hms-finance-metrics span,
.hms-restaurant-sales-box span {
    display: block;
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.hms-kitchen-status-row strong,
.hms-dish-stock-grid strong,
.hms-finance-metrics strong,
.hms-restaurant-sales-box strong {
    display: block;
    margin-top: 8px;
    color: var(--hms-black);
    font-size: 25px;
    line-height: 1;
    letter-spacing: -0.05em;
    font-weight: 950;
}

.hms-restaurant-sales-box {
    margin-top: 12px;
    background: linear-gradient(135deg, color-mix(in srgb, var(--hms-primary) 8%, var(--hms-white)), var(--hms-white));
}

.hms-restaurant-sales-box strong {
    color: var(--hms-primary);
}

/* ================================
   12. RADAR MODAL
================================ */
body.hms-radar-modal-lock {
    overflow: hidden;
}

#hms-radar-modal.hms-radar-dashboard-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px !important;
    background: color-mix(in srgb, var(--hms-black) 68%, transparent) !important;
    backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

#hms-radar-modal.hms-radar-is-open,
#hms-radar-modal.hms-radar-modal-open,
#hms-radar-modal.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

#hms-radar-modal:not(.hms-radar-is-open):not(.hms-radar-modal-open):not(.active) {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.hms-radar-dashboard-card {
    position: relative;
    width: min(760px, 96vw);
    max-height: 88vh;
    overflow: auto;
    padding: 26px;
    border-radius: 30px;
    background: var(--hms-white);
    border: 1px solid color-mix(in srgb, var(--hms-white) 68%, transparent);
    box-shadow: 0 35px 100px color-mix(in srgb, var(--hms-black) 34%, transparent);
    pointer-events: auto !important;
}

.hms-radar-close-btn,
#hms-close-radar-modal {
    position: absolute;
    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: color-mix(in srgb, var(--hms-off-white) 82%, var(--hms-white));
    color: var(--hms-black);
    font-size: 28px;
    line-height: 1;
    font-weight: 800;
    cursor: pointer;
    transition: 0.2s ease;
    z-index: 5;
}

.hms-radar-close-btn:hover,
#hms-close-radar-modal:hover {
    background: color-mix(in srgb, var(--hms-red) 14%, var(--hms-white));
    color: var(--hms-red);
    transform: rotate(90deg);
}

/* ================================
   13. GLOBAL MODAL / HEADER SEARCH MODAL SUPPORT
================================ */
.hms-modal-overlay,
#hms-quickbook-modal,
#hms-view-booking-modal,
#hms-cancel-modal,
#hms-checkout-modal,
#hms-extend-modal,
#hms-qr-payment-modal,
#hms-user-perm-modal {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999990 !important;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 22px;
    background: color-mix(in srgb, var(--hms-black) 62%, transparent);
    backdrop-filter: blur(10px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.hms-modal-overlay.active,
#hms-quickbook-modal.active,
#hms-view-booking-modal.active,
#hms-cancel-modal.active,
#hms-checkout-modal.active,
#hms-extend-modal.active,
#hms-qr-payment-modal.active,
#hms-user-perm-modal.active {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
}

.hms-modal-content,
.hms-modal-box,
.hms-modal-card,
.hms-detail-panel,
.hms-search-modal,
.hms-global-search-modal,
.hms-header-search-modal {
    position: relative;
    width: min(720px, 96vw);
    max-height: 88vh;
    overflow: auto;
    background: var(--hms-white);
    border-radius: 26px;
    border: 1px solid color-mix(in srgb, var(--hms-white) 72%, transparent);
    box-shadow: 0 30px 90px color-mix(in srgb, var(--hms-black) 28%, transparent);
    opacity: 1;
    pointer-events: auto;
}

.hms-detail-panel {
    display: none;
    flex-direction: column;
    transform: none !important;
}

.hms-detail-panel.active {
    display: flex !important;
    opacity: 1 !important;
}

.hms-modal-close-x,
.hms-modal-close,
.hms-btn-discard,
.hms-close-cancel-modal,
.hms-close-extend-modal,
#hms-close-view-modal,
#hms-close-view-btn,
#hms-close-qr-modal {
    cursor: pointer;
}

.hms-search-bar-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 0 14px;
    border-radius: 16px;
    background: var(--hms-white);
    border: 1px solid color-mix(in srgb, var(--hms-border-light) 26%, transparent);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.05);
}

.hms-search-bar-wrapper input,
#hms-global-search {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    width: 100%;
    color: var(--hms-black);
}

.hms-search-bar-wrapper input:focus,
#hms-global-search:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* Detail panel overlay used in some modules */
#hms-panel-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: color-mix(in srgb, var(--hms-black) 70%, transparent) !important;
    backdrop-filter: blur(4px) !important;
    z-index: 999998 !important;
    display: none;
}

/* ================================
   14. FLATPICKR PREMIUM THEME
================================ */
.flatpickr-calendar {
    z-index: 9999999999 !important;
    background: rgba(255, 255, 255, 0.98) !important;
    backdrop-filter: blur(18px) !important;
    border-radius: 20px !important;
    border: 1px solid color-mix(in srgb, var(--hms-black) 5%, transparent) !important;
    overflow: hidden;
    box-shadow: 0 18px 50px color-mix(in srgb, var(--hms-black) 16%, transparent) !important;
}

.flatpickr-calendar.static {
    width: 100% !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 8px;
}

.flatpickr-wrapper {
    width: 100%;
}

.flatpickr-months,
.flatpickr-months .flatpickr-month {
    background: var(--hms-primary) !important;
    color: var(--hms-white) !important;
    fill: var(--hms-white) !important;
}

.flatpickr-months {
    padding: 14px 0 !important;
}

.flatpickr-current-month,
.flatpickr-monthName,
.flatpickr-monthDropdown-months {
    color: var(--hms-white) !important;
    font-weight: 900 !important;
}

.flatpickr-prev-month,
.flatpickr-next-month {
    fill: var(--hms-white) !important;
    color: var(--hms-white) !important;
    background: transparent !important;
    top: 8px !important;
}

.flatpickr-innerContainer,
.flatpickr-days,
.dayContainer {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

span.flatpickr-weekday {
    background: var(--hms-white) !important;
    color: color-mix(in srgb, var(--hms-black) 45%, var(--hms-white)) !important;
    font-weight: 800 !important;
    padding: 10px 0 !important;
}

.flatpickr-day {
    max-width: none !important;
    flex-basis: 14.28% !important;
    color: var(--hms-black) !important;
    border-radius: 12px !important;
}

.flatpickr-day.selected,
.flatpickr-day.startRange,
.flatpickr-day.endRange {
    background: var(--hms-primary) !important;
    border-color: var(--hms-primary) !important;
    color: var(--hms-white) !important;
}

.flatpickr-day.inRange {
    background: color-mix(in srgb, var(--hms-primary) 12%, transparent) !important;
    border-color: transparent !important;
    box-shadow: -5px 0 0 color-mix(in srgb, var(--hms-primary) 12%, transparent),
                 5px 0 0 color-mix(in srgb, var(--hms-primary) 12%, transparent) !important;
}

.flatpickr-day.today {
    border-color: var(--hms-primary) !important;
    color: var(--hms-primary) !important;
}

.flatpickr-calendar.arrowTop::before,
.flatpickr-calendar.arrowTop::after {
    border-bottom-color: var(--hms-primary) !important;
}

/* ================================
   15. SCROLLBAR + LOADERS
================================ */
.hms-dashboard-container ::-webkit-scrollbar,
.hms-custom-scroll::-webkit-scrollbar,
.hms-scrollbar-custom::-webkit-scrollbar {
    width: 7px;
    height: 7px;
}

.hms-dashboard-container ::-webkit-scrollbar-track,
.hms-custom-scroll::-webkit-scrollbar-track,
.hms-scrollbar-custom::-webkit-scrollbar-track {
    background: transparent;
}

.hms-dashboard-container ::-webkit-scrollbar-thumb,
.hms-custom-scroll::-webkit-scrollbar-thumb,
.hms-scrollbar-custom::-webkit-scrollbar-thumb {
    background: color-mix(in srgb, var(--hms-black) 32%, transparent);
    border-radius: 999px;
}

.hms-dashboard-container ::-webkit-scrollbar-thumb:hover,
.hms-custom-scroll::-webkit-scrollbar-thumb:hover,
.hms-scrollbar-custom::-webkit-scrollbar-thumb:hover {
    background: color-mix(in srgb, var(--hms-black) 50%, transparent);
}

.hms-loading-pulse {
    animation: hmsStatPulse 1.5s infinite ease-in-out;
    pointer-events: none;
}

.hms-skeleton-avatar {
    width: 74px;
    height: 74px;
    border-radius: 999px;
}

.hms-skeleton-line {
    height: 16px;
    width: 62%;
    margin-top: 16px;
    border-radius: 999px;
}

.hms-skeleton-line.wide {
    width: 86%;
}

.hms-skeleton-box {
    height: 120px;
    margin-top: 18px;
    border-radius: 22px;
}

.hms-skeleton-box.small {
    height: 70px;
}

/* ================================
   16. ANIMATIONS
================================ */
@keyframes hmsPremiumShimmer {
    0% { background-position: 200% 0; }
    100% { background-position: -200% 0; }
}

@keyframes hmsPulseRing {
    0% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--hms-primary) 70%, transparent); }
    70% { box-shadow: 0 0 0 10px color-mix(in srgb, var(--hms-primary) 0%, transparent); }
    100% { box-shadow: 0 0 0 0 color-mix(in srgb, var(--hms-primary) 0%, transparent); }
}

@keyframes hmsStatPulse {
    0% { opacity: 0.35; transform: translateY(0); }
    50% { opacity: 0.75; transform: translateY(-2px); }
    100% { opacity: 0.35; transform: translateY(0); }
}

/* ================================
   17. RESPONSIVE
================================ */
@media (max-width: 1280px) {
    .hms-premium-stat-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }

    .hms-command-kpi-grid {
        grid-template-columns: repeat(3, minmax(180px, 1fr));
    }

    .hms-dashboard-main-grid {
        grid-template-columns: 1fr;
    }

    .hms-operations-grid {
        grid-template-columns: repeat(2, minmax(260px, 1fr));
    }
}

@media (max-width: 900px) {
    .hms-dashboard-container {
        padding: 16px;
    }

    .hms-dash-hero {
        grid-template-columns: 1fr;
        padding: 24px;
    }

    .hms-dash-hero-right {
        min-width: 0;
    }

    .hms-dash-filter-shell,
    .hms-dashboard-top-bar,
    .hms-dashboard-filter-bar {
        grid-template-columns: 1fr;
    }

    .filter-group,
    .hms-premium-filter-group {
        overflow-x: auto;
        flex-wrap: nowrap;
        justify-content: flex-start;
    }

    .hms-custom-range input {
        width: 100%;
    }

    .hms-command-kpi-grid,
    .hms-operations-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .hms-dashboard-container {
        padding: 12px;
    }

    .hms-dash-hero {
        border-radius: 24px;
        padding: 20px;
    }

    .hms-dash-hero h1 {
        font-size: 30px;
    }

    .hms-premium-stat-grid {
        grid-template-columns: 1fr;
    }

    .stat-card,
    .hms-premium-stat-card,
    .hms-premium-panel,
    .hms-command-kpi-card {
        border-radius: 22px;
    }

    .hms-kitchen-status-row,
    .hms-dish-stock-grid,
    .hms-finance-metrics {
        grid-template-columns: 1fr;
    }

    .hms-panel-header,
    .hms-card-header {
        flex-direction: column;
        align-items: flex-start;
    }

    #hms-performance-container {
        min-width: 520px;
    }

    .hms-radar-dashboard-card,
    .hms-modal-content,
    .hms-modal-box,
    .hms-modal-card,
    .hms-detail-panel,
    .hms-search-modal,
    .hms-global-search-modal,
    .hms-header-search-modal {
        padding: 20px 16px;
        border-radius: 24px;
    }
}




/* =========================================================
   HMS REVENUE PERFORMANCE GRAPH FIX
   Add at bottom of assets/css/admin/dashboard.css
========================================================= */

.hms-performance-panel {
    min-height: 460px !important;
}

.hms-performance-scroll {
    min-height: 350px !important;
    width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    padding: 18px 0 8px;
}

#hms-performance-container {
    height: 320px !important;
    min-height: 320px !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: 16px !important;
    padding: 42px 22px 46px !important;
    border-radius: 26px !important;
    overflow: visible !important;
}

.hms-perf-bar-wrapper {
    height: 240px !important;
    min-height: 240px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

.hms-perf-bar {
    width: 100% !important;
    min-height: 5px;
    border-radius: 999px 999px 10px 10px !important;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--hms-accent) 80%, white),
        var(--hms-primary)
    ) !important;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--hms-primary) 22%, transparent) !important;
}

.hms-perf-tooltip {
    pointer-events: none;
}

.hms-performance-empty {
    width: 100%;
    min-height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-size: 13px;
    font-weight: 800;
    border-radius: 22px;
    background: color-mix(in srgb, var(--hms-off-white) 70%, var(--hms-white));
    border: 1px dashed color-mix(in srgb, var(--hms-primary) 18%, transparent);
}






/* =========================================================
   HMS REVENUE GRAPH HARD FIX
   Pixel-height chart rendering support
========================================================= */

.hms-performance-panel {
    min-height: 500px !important;
}

.hms-performance-scroll {
    width: 100% !important;
    min-height: 380px !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding: 18px 0 12px !important;
}

#hms-performance-container {
    width: max-content !important;
    min-width: 100% !important;
    height: 340px !important;
    min-height: 340px !important;
    display: flex !important;
    align-items: flex-end !important;
    gap: 16px !important;
    padding: 45px 24px 55px !important;
    border-radius: 26px !important;
    overflow: visible !important;
}

.hms-perf-bar-wrapper {
    width: 46px !important;
    height: 240px !important;
    min-height: 240px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end !important;
    align-items: center !important;
    position: relative !important;
    flex-shrink: 0 !important;
}

.hms-perf-bar {
    display: block !important;
    width: 100% !important;
    min-height: 6px !important;
    border-radius: 999px 999px 10px 10px !important;
    background: linear-gradient(
        180deg,
        color-mix(in srgb, var(--hms-accent) 82%, white),
        var(--hms-primary)
    ) !important;
    box-shadow: 0 14px 28px color-mix(in srgb, var(--hms-primary) 24%, transparent) !important;
    opacity: 1 !important;
    visibility: visible !important;
}

.hms-perf-date-label {
    font-size: 10px !important;
    color: color-mix(in srgb, var(--hms-black) 52%, var(--hms-white)) !important;
    margin-top: 12px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    transform: rotate(-45deg) !important;
    display: block !important;
    width: 36px !important;
    text-align: right !important;
    white-space: nowrap !important;
}

.hms-performance-empty {
    width: 100%;
    min-height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: color-mix(in srgb, var(--hms-black) 55%, var(--hms-white));
    font-size: 13px;
    font-weight: 800;
    border-radius: 22px;
    background: color-mix(in srgb, var(--hms-off-white) 70%, var(--hms-white));
    border: 1px dashed color-mix(in srgb, var(--hms-primary) 18%, transparent);
}


