/* Modern Hotel Booking — Premium Admin Styles */

:root {
    --mhbo-midnight: #1a3b5d;
    --mhbo-sand: #c5a059;
    --mhbo-sand-light: #f4eee1;
    --mhbo-white: #ffffff;
    --mhbo-offwhite: #f8f9fa;
    --mhbo-text: #2c3338;
    --mhbo-text-light: #646970;
    --mhbo-border: #dcdcde;
    --mhbo-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
    --mhbo-shadow-hover: 0 8px 16px rgba(0, 0, 0, 0.1);
    --mhbo-radius: 12px;
    --mhbo-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Animations */
@keyframes mhboFadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.mhbo-animate-in {
    animation: mhboFadeIn 0.4s ease forwards;
}

/* Tooltips & Help Context */
.mhbo-tooltip {
    position: relative;
    display: inline-block;
    cursor: help;
}

.mhbo-tooltip .mhbo-tooltip-text {
    display: none;
    visibility: hidden;
    width: 220px;
    background-color: var(--mhbo-midnight);
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 8px 12px;
    position: absolute;
    z-index: 10001;
    bottom: 125%;
    left: 50%;
    margin-left: -110px;
    opacity: 0;
    transition: opacity 0.3s;
    font-size: 13px;
    line-height: 1.4;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    pointer-events: none;
    font-weight: 400;
}

.mhbo-tooltip .mhbo-tooltip-text::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: var(--mhbo-midnight) transparent transparent transparent;
}

.mhbo-tooltip:hover .mhbo-tooltip-text {
    display: block;
    visibility: visible;
    opacity: 1;
}

.mhbo-help-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    background: var(--mhbo-sand);
    color: white;
    border-radius: 50%;
    font-size: 12px;
    font-weight: bold;
    margin-left: 8px;
    font-style: normal;
}

/* Form Component Polishing */
.wrap.mhbo-admin-wrap .large-text,
.wrap.mhbo-admin-wrap textarea.large-text {
    max-width: 800px;
    width: 100%;
}

#mhbo-hotel-booking-overview .large-text {
    max-width: 450px;
    width: 100%;
}

/* Specific Room Type Form Refinement */
.mhbo-admin-wrap form table.form-table th {
    width: 200px;
}

/* Global Polish */
.wrap.mhbo-dashboard,
.wrap.mhbo-admin-wrap {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    color: var(--mhbo-text);
    margin: 20px 20px 40px 0 !important;
    padding: 0 0 100px 0;
    min-height: 500px;
}

.mhbo-settings-section {
    color: var(--mhbo-text);
    margin: 10px 0 20px 0 !important;
    padding: 0;
    min-height: auto;
}

.mhbo-admin-page-header {
    background: linear-gradient(135deg, rgba(240, 249, 255, 0.9) 0%, rgba(255, 255, 255, 0.9) 100%);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(224, 242, 254, 0.8);
    border-radius: var(--mhbo-radius);
    padding: 25px 35px;
    margin: 0 20px 30px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    box-shadow: 0 10px 25px -5px rgba(186, 230, 253, 0.4);
    position: relative;
    overflow: hidden;
}

.mhbo-admin-page-header::after {
    content: "\f22f"; /* dashed building icon */
    font-family: dashicons;
    position: absolute;
    right: 10px;
    top: -10px;
    font-size: 120px;
    opacity: 0.02;
    color: var(--mhbo-midnight);
    pointer-events: none;
    transform: rotate(-10deg);
}

.mhbo-admin-page-header h1 {
    margin: 0 !important;
    font-weight: 800 !important;
    color: var(--mhbo-midnight) !important;
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
}

.mhbo-admin-page-header .subtitle {
    margin-top: 6px;
    font-size: 14px;
    font-weight: 400;
    color: #64748b;
    max-width: 600px;
}

.mhbo-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Premium Button Styling */
.wp-admin .mhbo-admin-wrap .mhbo-btn-primary {
    background: #2563eb !important; /* MHBO Primary Blue */
    color: #fff !important;
    border: none !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
    cursor: pointer;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.2), 0 2px 4px -1px rgba(37, 99, 235, 0.1);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.wp-admin .mhbo-admin-wrap .mhbo-btn-primary:hover {
    background: #1d4ed8 !important; /* Slightly darker on hover */
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.3), 0 4px 6px -2px rgba(37, 99, 235, 0.1);
    transform: translateY(-1px);
}

.wp-admin .mhbo-admin-wrap .mhbo-btn-primary:active {
    transform: translateY(0);
}

/* Breadcrumbs */
.mhbo-breadcrumbs {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--mhbo-text-light);
}

.mhbo-breadcrumbs a {
    color: var(--mhbo-sand);
    text-decoration: none;
    transition: var(--mhbo-transition);
}

.mhbo-breadcrumbs a:hover {
    color: var(--mhbo-midnight);
}

.mhbo-breadcrumb-sep {
    margin: 0 8px;
    opacity: 0.3;
}

.mhbo-breadcrumb-current {
    color: var(--mhbo-midnight);
}

/* Premium Card Component */
.mhbo-card {
    background: var(--mhbo-white);
    border-radius: var(--mhbo-radius);
    border: 1px solid var(--mhbo-border);
    box-shadow: var(--mhbo-shadow);
    padding: 30px;
    margin-bottom: 30px;
    position: relative;
    overflow: hidden;
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    transition: var(--mhbo-transition);
}

.mhbo-card:hover {
    box-shadow: var(--mhbo-shadow-hover);
}

.mhbo-card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--mhbo-midnight);
}

.mhbo-card.accent::before {
    background: var(--mhbo-sand);
}

.mhbo-card h2,
.mhbo-card h3 {
    margin-top: 0;
    color: var(--mhbo-midnight);
    font-weight: 800;
    font-size: 1.25rem;
}

/* Stats Grid */
.mhbo-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 20px 0;
}

.mhbo-stat-card {
    background: var(--mhbo-white);
    border: 1px solid var(--mhbo-border);
    border-radius: var(--mhbo-radius);
    padding: 25px;
    box-shadow: var(--mhbo-shadow);
    transition: var(--mhbo-transition);
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.mhbo-stat-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

.mhbo-stat-value, .mhbo-stat-card p {
    font-size: 36px;
    font-weight: 800;
    color: var(--mhbo-midnight);
    line-height: 1;
    margin: 0 0 8px 0 !important;
}

.mhbo-stat-label, .mhbo-stat-card h3 {
    font-size: 14px;
    color: var(--mhbo-text-light);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 5px;
}

/* Status Pills */
.mhbo-status-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.mhbo-status-pending {
    background: #fff8e1;
    color: #f57c00;
    border: 1px solid #ffe0b2;
}

.mhbo-status-confirmed {
    background: #e8f5e9;
    color: #2e7d32;
    border: 1px solid #c8e6c9;
}

.mhbo-status-cancelled {
    background: #ffebee;
    color: #c62828;
    border: 1px solid #ffcdd2;
}

.mhbo-lang-badge {
    display: inline-block;
    padding: 2px 6px;
    background: #eee;
    border-radius: 4px;
    font-size: 10px;
    font-weight: bold;
    color: #666;
}

/* Admin Tabs Redesign */
.mhbo-admin-wrap .nav-tab-wrapper {
    border-bottom: 2px solid var(--mhbo-border);
    margin-bottom: 30px !important;
    padding-top: 10px;
    display: flex;
    gap: 5px;
}

.mhbo-admin-wrap .nav-tab {
    background: transparent;
    border: none;
    padding: 10px 20px;
    font-weight: 600;
    color: var(--mhbo-text-light);
    margin: 0;
    transition: all 0.2s;
    border-radius: 6px 6px 0 0;
}

.mhbo-admin-wrap .nav-tab:hover {
    background: var(--mhbo-offwhite);
    color: var(--mhbo-midnight);
}

.mhbo-admin-wrap .nav-tab-active {
    background: var(--mhbo-midnight) !important;
    color: var(--mhbo-white) !important;
    border-bottom: none;
}

/* Form Polish */
.form-table th {
    font-weight: 600;
    color: var(--mhbo-midnight);
    display: block;
    width: 100% !important;
    padding: 20px 0 5px 0 !important;
}

.mhbo-card .form-table {
    width: 100%;
}

.mhbo-card .form-table td {
    display: block;
    width: 100% !important;
    padding: 0 0 15px 0 !important;
}

/* Tooltip Styles */
.mhbo-tooltip {
    color: var(--mhbo-sand);
    cursor: help;
    font-size: 16px !important;
    width: 16px !important;
    height: 16px !important;
    margin-left: 5px;
    vertical-align: middle;
}

.mhbo-tooltip:hover {
    color: var(--mhbo-midnight);
}

.mhbo-holiday-tag {
    background: var(--mhbo-sand-light) !important;
    border: 1px solid var(--mhbo-sand) !important;
    color: var(--mhbo-midnight) !important;
    font-weight: 600;
}

/* Booking Form Restructure */
.mhbo-form-section-header th {
    background: var(--mhbo-sand-light) !important;
    padding: 15px 20px !important;
    border-top: 1px solid var(--mhbo-border);
    border-bottom: 2px solid var(--mhbo-sand) !important;
    width: 100% !important;
}

.mhbo-form-section-header h3 {
    margin: 0 !important;
    font-size: 0.9rem !important;
    color: var(--mhbo-midnight) !important;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    font-weight: 800 !important;
}

/* Modern Extras Grid & Cards */
.mhbo-extras-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 25px;
    margin-top: 25px;
}

.mhbo-extra-item {
    position: relative;
    background: #ffffff !important;
    border: 1.5px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 25px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important;
    margin-bottom: 0 !important;
}

.mhbo-extra-item:hover {
    border-color: var(--mhbo-sand) !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08) !important;
}

.mhbo-extra-item::before {
    display: none !important;
}

.mhbo-extra-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.mhbo-extra-item .notice-dismiss {
    top: 15px;
    right: 15px;
}

.mhbo-extra-actions {
    display: flex;
    gap: 10px;
    justify-content: flex-end;
    padding-top: 16px;
    border-top: 1px solid #f1f5f9;
    margin-top: 16px;
}

.mhbo-icon-picker {
    flex-shrink: 0;
}

.mhbo-dashicon-select {
    width: 60px !important;
    height: 40px !important;
    padding: 0 8px !important;
    font-size: 1.2rem !important;
    text-align: center;
}

@media (max-width: 1000px) {
    .mhbo-extra-grid {
        grid-template-columns: 1fr;
        gap: 0;
    }
}

#mhbo_add_amount_outstanding,
#mhbo_edit_amount_outstanding {
    font-weight: 700;
    font-size: 1.1rem;
    color: var(--mhbo-midnight);
    border-color: var(--mhbo-sand);
}

/* Dashboard Layout */
.mhbo-dashboard-layout {
    display: flex;
    gap: 30px;
    margin-top: 20px;
}

.mhbo-main-col {
    flex: 2;
}

.mhbo-side-col {
    flex: 1;
}

/* List Table Polish */
.wp-list-table {
    border: 1px solid var(--mhbo-border) !important;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--mhbo-shadow);
}

.wp-list-table thead th {
    background: var(--mhbo-offwhite);
    border-bottom: 2px solid var(--mhbo-border) !important;
    color: var(--mhbo-midnight);
    font-weight: 700;
}

.wp-list-table td {
    vertical-align: top !important;
    padding: 12px 10px !important;
}

/* Responsive */
@media (max-width: 1200px) {
    .mhbo-dashboard-layout {
        flex-direction: column;
    }
}

@media (max-width: 960px) {

    .wp-list-table,
    .wp-list-table thead,
    .wp-list-table tbody,
    .wp-list-table th,
    .wp-list-table td,
    .wp-list-table tr {
        display: block !important;
        width: 100% !important;
    }

    .wp-list-table thead tr {
        position: absolute;
        top: -9999px;
        left: -9999px;
    }

    .wp-list-table tr {
        border-bottom: 2px solid var(--mhbo-border) !important;
        margin-bottom: 10px;
        background: #fff;
    }

    .wp-list-table td {
        border: none !important;
        position: relative;
        padding-left: 40% !important;
        text-align: left !important;
        min-height: 40px;
    }

    .wp-list-table td:before {
        position: absolute;
        top: 12px;
        left: 10px;
        width: 35%;
        padding-right: 10px;
        white-space: nowrap;
        font-weight: bold;
        color: var(--mhbo-midnight);
        content: attr(data-colname);
    }

    /* Fixing overlapping badges on mobile stack */
    .mhbo-status-badge,
    .mhbo-lang-badge {
        margin-bottom: 5px;
    }

    .wp-list-table td .button {
        margin-bottom: 5px;
        width: 100%;
        text-align: center;
    }
}

@media (max-width: 782px) {
    .form-table th {
        width: auto !important;
        display: block;
        padding: 10px 0 5px !important;
    }

    .form-table td {
        display: block;
        padding: 0 0 15px !important;
        width: 100%;
    }

    .form-table input.regular-text,
    .form-table textarea {
        width: 100% !important;
    }

    .mhbo-stats-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 480px) {
    .mhbo-stats-grid {
        grid-template-columns: 1fr;
    }

    .wp-list-table td {
        padding-left: 10px !important;
        padding-top: 35px !important;
    }

    .wp-list-table td:before {
        position: static;
        display: block;
        width: 100%;
        margin-bottom: 5px;
    }

    .mhbo-admin-page-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .mhbo-admin-page-header h1 {
        font-size: 1.5rem !important;
    }
}

/* ========================================
   Pro Features Overview Page Styles
   ======================================== */

/* License Status Banner */
.mhbo-license-banner {
    background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
    border-radius: 12px;
    padding: 20px 25px;
    margin-bottom: 25px;
    border: 1px solid var(--mhbo-border);
    position: relative;
    overflow: hidden;
}

.mhbo-license-banner::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: var(--mhbo-midnight);
}

.mhbo-license-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--mhbo-border);
}

.mhbo-license-header h2 {
    margin: 0 !important;
}

.mhbo-badge-premium {
    display: inline-flex;
    align-items: center;
    padding: 6px 14px;
    border-radius: 50px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #fff;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.mhbo-pro-features {
    margin-top: 30px;
    padding: 20px;
    background: var(--mhbo-offwhite);
    border-radius: 10px;
    border: 1px dashed var(--mhbo-border);
}

.mhbo-pro-features h4 {
    margin: 0 0 15px 0;
    color: var(--mhbo-midnight);
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.mhbo-pro-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.mhbo-pro-item {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: var(--mhbo-text-light);
}

.mhbo-pro-item .dashicons {
    color: #10b981;
    font-size: 18px;
    width: 18px;
    height: 18px;
}

.mhbo-license-banner.mhbo-license-active {
    background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
    border-color: #a5d6a7;
}

.mhbo-license-banner.mhbo-license-active::before {
    background: #2e7d32;
}

.mhbo-license-banner.mhbo-license-inactive {
    background: linear-gradient(135deg, #fff8e1 0%, #ffecb3 100%);
    border-color: #ffe082;
}

.mhbo-license-banner.mhbo-license-inactive::before {
    background: #f57c00;
}

.mhbo-license-banner-content {
    display: flex;
    align-items: center;
    gap: 20px;
}

.mhbo-license-icon {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.8);
    flex-shrink: 0;
}

.mhbo-license-icon .dashicons {
    font-size: 24px;
    width: 24px;
    height: 24px;
}

.mhbo-license-active .mhbo-license-icon {
    color: #2e7d32;
}

.mhbo-license-inactive .mhbo-license-icon {
    color: #f57c00;
}

.mhbo-license-info {
    flex: 1;
}

.mhbo-license-info h3 {
    margin: 0 0 5px 0;
    font-size: 1.1rem;
    color: var(--mhbo-midnight);
}

.mhbo-license-info p {
    margin: 0;
    color: var(--mhbo-text-light);
    font-size: 14px;
}

.mhbo-license-action {
    flex-shrink: 0;
}

.mhbo-license-benefits {
    display: flex;
    gap: 15px;
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    flex-wrap: wrap;
}

.mhbo-benefit-item {
    font-size: 12px;
    color: #856404;
    background: rgba(255, 255, 255, 0.6);
    padding: 4px 10px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
}

.mhbo-benefit-item::before {
    content: '✓';
    margin-right: 5px;
    color: #2e7d32;
    font-weight: bold;
}

/* Feature Categories */
.mhbo-feature-categories {
    display: flex;
    flex-direction: column;
    gap: 25px;
}

.mhbo-feature-category {
    background: var(--mhbo-white);
    border-radius: 12px;
    border: 1px solid var(--mhbo-border);
    overflow: hidden;
    box-shadow: var(--mhbo-shadow);
}

.mhbo-feature-category-dark {
    background: var(--mhbo-midnight);
    border-color: #0f2a45;
}

.mhbo-category-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 20px 25px;
    background: var(--mhbo-offwhite);
    border-bottom: 1px solid var(--mhbo-border);
}

.mhbo-feature-category-dark .mhbo-category-header {
    background: rgba(255, 255, 255, 0.05);
    border-bottom-color: rgba(255, 255, 255, 0.1);
}

.mhbo-category-header h2 {
    margin: 0;
    font-size: 1.2rem;
    color: var(--mhbo-midnight);
    display: flex;
    align-items: center;
    gap: 10px;
}

.mhbo-feature-category-dark .mhbo-category-header h2 {
    color: #c5a059;
}

.mhbo-category-icon {
    font-size: 1.4rem;
}

.mhbo-configure-link {
    color: var(--mhbo-sand);
    text-decoration: none;
    font-weight: 600;
    font-size: 13px;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: color 0.2s;
}

.mhbo-configure-link:hover {
    color: #b38d48;
}

.mhbo-configure-link .dashicons {
    font-size: 16px;
    width: 16px;
    height: 16px;
}

/* Feature Grid */
.mhbo-feature-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: 20px;
    padding: 25px;
}

.mhbo-feature-card {
    background: var(--mhbo-offwhite);
    border-radius: 10px;
    padding: 20px;
    position: relative;
    transition: transform 0.2s, box-shadow 0.2s;
    border: 1px solid transparent;
}

.mhbo-feature-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    border-color: var(--mhbo-sand);
}

.mhbo-feature-card-dark {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

.mhbo-feature-card-dark:hover {
    border-color: var(--mhbo-sand);
}

.mhbo-feature-icon {
    font-size: 28px;
    display: block;
    margin-bottom: 12px;
}

.mhbo-feature-card h4 {
    margin: 0 0 8px 0;
    color: var(--mhbo-midnight);
    font-size: 1rem;
}

.mhbo-feature-card-dark h4 {
    color: #c5a059;
}

.mhbo-feature-card p {
    margin: 0;
    font-size: 13px;
    color: var(--mhbo-text-light);
    line-height: 1.5;
}

.mhbo-feature-card-dark p {
    color: #cbd5e0;
}

/* Feature Badges */
.mhbo-badge {
    position: absolute;
    top: 12px;
    right: 12px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 3px 8px;
    border-radius: 10px;
}

.mhbo-badge-new {
    background: #e3f2fd;
    color: #1565c0;
}

.mhbo-badge-popular {
    background: #fce4ec;
    color: #c2185b;
}

.mhbo-badge-updated {
    background: #e8f5e9;
    color: #2e7d32;
}

/* Quick Actions Section */
.mhbo-quick-actions {
    background: var(--mhbo-white);
    border-radius: 12px;
    border: 1px solid var(--mhbo-border);
    padding: 25px;
    margin-top: 25px;
    box-shadow: var(--mhbo-shadow);
}

.mhbo-quick-actions h2 {
    margin: 0 0 20px 0;
    font-size: 1.2rem;
    color: var(--mhbo-midnight);
}

.mhbo-quick-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 15px;
}

.mhbo-quick-action-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px 20px;
    background: var(--mhbo-offwhite);
    border-radius: 8px;
    text-decoration: none;
    color: var(--mhbo-midnight);
    font-weight: 600;
    font-size: 14px;
    transition: all 0.2s;
    border: 1px solid transparent;
}

.mhbo-quick-action-btn:hover {
    background: var(--mhbo-sand-light);
    border-color: var(--mhbo-sand);
    color: var(--mhbo-midnight);
}

.mhbo-quick-action-btn .dashicons {
    font-size: 20px;
    width: 20px;
    height: 20px;
    color: var(--mhbo-sand);
}

/* Pro Page Responsive Styles */
@media (max-width: 782px) {
    .mhbo-license-banner-content {
        flex-direction: column;
        text-align: center;
    }

    .mhbo-license-info {
        text-align: center;
    }

    .mhbo-license-benefits {
        justify-content: center;
    }

    .mhbo-category-header {
        flex-direction: column;
        gap: 10px;
        text-align: center;
    }

    .mhbo-feature-grid {
        grid-template-columns: 1fr;
        padding: 15px;
    }

    .mhbo-quick-actions-grid {
        grid-template-columns: 1fr;
    }

    .mhbo-admin-page-header {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
        text-align: left;
    }

    .mhbo-header-actions {
        width: 100%;
        margin-top: 16px;
    }
}

@media (max-width: 480px) {
    .mhbo-license-banner {
        padding: 15px;
    }

    .mhbo-license-icon {
        width: 40px;
        height: 40px;
    }

    .mhbo-license-icon .dashicons {
        font-size: 20px;
        width: 20px;
        height: 20px;
    }

    .mhbo-license-benefits {
        flex-direction: column;
        align-items: center;
    }

    .mhbo-feature-card {
        padding: 15px;
    }

    .mhbo-badge {
        position: static;
        display: inline-block;
        margin-top: 10px;
    }
}

/* Theme Card Styles */
.mhbo-theme-card:hover {
    border-color: #c5a059 !important;
}

.mhbo-theme-card.active {
    border-color: #c5a059 !important;
    background: #fffcf5 !important;
    box-shadow: 0 4px 12px rgba(197, 160, 89, 0.15);
}

/* Calendar Card Polish */
.mhbo-calendar-card {
    background: var(--mhbo-white);
    border-radius: var(--mhbo-radius);
    border: 1px solid var(--mhbo-border);
    box-shadow: var(--mhbo-shadow);
    padding: 25px;
    margin-top: 30px;
    margin-right: 20px;
    transition: var(--mhbo-transition);
}

.mhbo-calendar-card:hover {
    box-shadow: var(--mhbo-shadow-hover);
}

#mhbo-calendar {
    min-height: 500px;
}

/* Action Buttons Grid in Table */
.mhbo-actions-cell {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.mhbo-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    background: #fff;
    border: 1.5px solid var(--mhbo-border);
    color: var(--mhbo-midnight);
    text-decoration: none;
    transition: var(--mhbo-transition);
    cursor: pointer;
}

.mhbo-action-btn .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
}

/* Color Modifiers */
.mhbo-btn-edit:hover,
.mhbo-btn-confirm:hover {
    background: #eff6ff;
    border-color: #3b82f6;
    color: #2563eb;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.2);
}

.mhbo-btn-cancel:hover,
.mhbo-btn-delete:hover {
    background: #fef2f2;
    border-color: #ef4444;
    color: #dc2626;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.2);
}

.mhbo-btn-confirm {
    border-color: rgba(34, 197, 94, 0.3);
    color: #16a34a;
}

.mhbo-btn-confirm:hover {
    background: #f0fdf4;
    border-color: #22c55e;
    color: #16a34a;
}

.mhbo-btn-delete {
    border-color: rgba(239, 68, 68, 0.2);
    color: #dc2626;
}

/* Tooltip fallback for icon buttons */
.mhbo-action-btn:active {
    transform: scale(0.95);
}

/* --- Bookings Table & Data Grid --- */

.mhbo-table-container.mhbo-card {
    background: var(--mhbo-white);
    border-radius: var(--mhbo-radius);
    border: 1px solid var(--mhbo-border);
    box-shadow: var(--mhbo-shadow);
    padding: 0; /* Let the table fill the card */
    margin-top: 30px;
    overflow: hidden;
}

.mhbo-bookings-table {
    border: none !important;
    border-collapse: separate;
    border-spacing: 0;
    width: 100%;
}

.mhbo-bookings-table thead th {
    background: #f8fafc;
    border-bottom: 2px solid var(--mhbo-border);
    padding: 16px 20px !important;
    font-weight: 700;
    color: #475569;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 0.1em;
}

.mhbo-bookings-table tbody td {
    padding: 18px 20px !important;
    vertical-align: middle;
    border-bottom: 1px solid #f1f5f9;
}

.mhbo-bookings-table tbody tr:last-child td {
    border-bottom: none;
}

.mhbo-bookings-table tbody tr:hover {
    background: #fdfaf5 !important; /* Subtle sand highlight */
}

/* Row Animations */
.mhbo-animate-in {
    animation: mhbo-fade-slide-up 0.4s ease-out forwards;
    opacity: 0;
}

@keyframes mhbo-fade-slide-up {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Column Specific Styles */
.mhbo-id-badge {
    display: inline-block;
    padding: 4px 8px;
    background: #f1f5f9;
    color: #475569;
    border-radius: 6px;
    font-weight: 600;
    font-size: 12px;
}

.mhbo-guest-info strong {
    display: block;
    color: var(--mhbo-midnight);
    font-size: 14px;
    margin-bottom: 2px;
}

.mhbo-guest-email, .mhbo-guest-phone {
    display: block;
    font-size: 12px;
    color: #94a3b8;
}

.mhbo-room-info .mhbo-room-number {
    font-weight: 600;
    color: var(--mhbo-sand);
    display: block;
}

.mhbo-room-info small {
    color: #94a3b8;
    font-size: 11px;
}

.mhbo-dates-info {
    font-size: 13px;
    color: var(--mhbo-midnight);
    display: flex;
    align-items: center;
    gap: 8px;
}

.mhbo-arrow {
    color: #cbd5e1;
}

.mhbo-price {
    font-weight: 700;
    color: var(--mhbo-midnight);
    font-size: 14px;
}

.mhbo-balance-pill {
    display: inline-block;
    margin-top: 4px;
    font-size: 9px;
    padding: 2px 8px;
    border-radius: 4px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
}

.mhbo-balance-pill.paid {
    background: #dcfce7;
    color: #166534;
}

.mhbo-balance-pill.pending {
    background: #fef3c7;
    color: #92400e;
}

/* Status Badges */
.mhbo-status-badge {
    display: inline-block;
    padding: 5px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}

.mhbo-status-pending { background: #fee2e2; color: #991b1b; }
.mhbo-status-confirmed { background: #dcfce7; color: #166534; }
.mhbo-status-cancelled { background: #f1f5f9; color: #475569; }

/* Payment Pills */
.mhbo-payment-pill {
    display: inline-block;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 600;
    margin-top: 5px;
}

.mhbo-payment-pending { background: #ffe4e6; color: #be123c; }
.mhbo-payment-completed { background: #ecfdf5; color: #047857; }
.mhbo-payment-refunded { background: #f1f5f9; color: #475569; }

.mhbo-lang-tag {
    font-size: 10px;
    font-weight: 700;
    color: #94a3b8;
    background: #f8fafc;
    padding: 2px 5px;
    border: 1px solid #e2e8f0;
    border-radius: 4px;
}

/* Premium Row Interactions */
.mhbo-booking-row {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, background 0.3s ease;
}

.mhbo-booking-row:hover {
    transform: translateY(-3px);
    box-shadow: 0 15px 30px -10px rgba(0, 0, 0, 0.12);
    background: #ffffff !important;
    position: relative;
    z-index: 5;
}

.mhbo-primary-text {
    font-size: 15px;
    color: var(--mhbo-midnight);
    letter-spacing: -0.01em;
}

.mhbo-actions-group {
    display: flex;
    gap: 8px;
    align-items: center;
}

/* Empty State */
.mhbo-empty-state-cell {
    padding: 80px 0 !important;
}

.mhbo-empty-state {
    text-align: center;
    max-width: 400px;
    margin: 0 auto;
}

.mhbo-empty-state .dashicons {
    font-size: 48px;
    width: 48px;
    height: 48px;
    color: #cbd5e1;
    margin-bottom: 20px;
}

.mhbo-empty-state h3 {
    margin: 0 0 10px 0;
    color: var(--mhbo-midnight);
}

.mhbo-empty-state p {
    margin: 0;
    color: #94a3b8;
    font-size: 14px;
}

/* Payment Info Column */
.mhbo-payment-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.mhbo-payment-method {
    font-weight: 600;
    color: #475569;
    font-size: 11px;
}

/* Responsiveness Fix for Modern Data Grid */
/* 
   ==========================================================================
   DIAMOND-GRADE 2026 RESPONSIVE DASHBOARD (MOBILE & TABLET)
   Architecture: High-Density CSS Grid
   Adaptive 2x2 (Mobile) and 3x3 (Tablet) optimized viewports.
   Targets: .mhbo-bookings-table 
   - 1920px: Proportional Data Grid with 'Row-Lift' Interaction
   - 992px:  Tablet 3x3 Grid Matrix
   - 782px:  Mobile 2x2 High-Density Matrix
   ==========================================================================
*/
@media (max-width: 992px) {
    .wp-admin .wrap table.mhbo-bookings-table,
    .wp-admin .wrap table.mhbo-bookings-table thead,
    .wp-admin .wrap table.mhbo-bookings-table tbody,
    .wp-admin .wrap table.mhbo-bookings-table tr,
    .wp-admin .wrap table.mhbo-bookings-table th,
    .wp-admin .wrap table.mhbo-bookings-table td {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
        float: none !important;
        position: relative !important;
    }

    .wp-admin .wrap table.mhbo-bookings-table thead {
        display: none !important;
    }

    .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row {
        display: grid !important;
        grid-template-columns: 1fr 1fr !important; /* Default Mobile */
        grid-template-areas: 
            "id lang"
            "guest guest"
            "dates dates"
            "room status"
            "total payment"
            "actions actions" !important;
        background: var(--mhbo-white) !important;
        margin: 24px 0 !important;
        border-radius: 20px !important;
        overflow: hidden !important;
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
        border: 1px solid var(--mhbo-border) !important;
        padding: 0 !important;
    }

    /* Tablet Specific 3-Column Optimization (783px - 992px) */
    @media (min-width: 783px) {
        .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row {
            grid-template-columns: 1fr 1.2fr 1fr !important;
            grid-template-areas: 
                "id guest status"
                "lang dates room"
                "total payment actions" !important;
            background: #fff !important;
        }

        .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row td.mhbo-col-actions {
            border-top: none !important;
            border-left: 1px solid #f1f5f9 !important;
            background: transparent !important;
            display: flex !important;
            align-items: center !important;
            justify-content: center !important;
            padding: 16px !important;
        }

        .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row td.mhbo-col-id,
        .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row td.mhbo-col-lang {
            background: transparent !important;
            border-right: 1px solid #f1f5f9 !important;
        }
    }

    .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row td {
        display: block !important;
        padding: 44px 16px 16px !important;
        min-height: 94px !important;
        border: none !important;
        border-bottom: 1px solid #f1f5f9 !important;
        background: transparent !important;
    }

    /* Meta Label Styling - Absolute Precision */
    .wp-admin .wrap table.mhbo-bookings-table tbody tr.mhbo-booking-row td::before {
        content: attr(data-colname) !important;
        position: absolute !important;
        top: 18px !important;
        left: 16px !important;
        font-size: 9px !important;
        font-weight: 700 !important;
        text-transform: uppercase !important;
        letter-spacing: 0.12em !important;
        color: #94a3b8 !important;
        line-height: 1 !important;
        display: block !important;
        z-index: 10 !important;
    }

    /* Grid Area Assignments */
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-id      { grid-area: id !important; background: #f8fafc !important; border-right: 1px solid #f1f5f9 !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-lang    { grid-area: lang !important; background: #f8fafc !important; border-right: 1px solid #f1f5f9 !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-guest   { grid-area: guest !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-dates   { grid-area: dates !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-room    { grid-area: room !important; border-right: 1px solid #f1f5f9 !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-status  { grid-area: status !important; border-bottom: 1px solid #f1f5f9 !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-total   { grid-area: total !important; border-right: 1px solid #f1f5f9 !important; border-bottom: none !important; }
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-payment { grid-area: payment !important; border-bottom: none !important; }
    
    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-actions { 
        grid-area: actions !important; 
        background: #f8fafc !important;
        padding: 20px !important;
        border-top: 1px solid #f1f5f9 !important;
        border-bottom: none !important;
    }

    .wp-admin .wrap table.mhbo-bookings-table tr.mhbo-booking-row td.mhbo-col-actions::before {
        display: none !important;
    }

    .mhbo-actions-group {
        justify-content: center !important;
        gap: 16px !important;
        display: flex !important;
        width: 100% !important;
    }

    /* Lang Tag Adjustment */
    .mhbo-lang-tag {
        position: relative !important;
        top: 0 !important;
        font-weight: 600 !important;
        color: #475569 !important;
    }
}

@media (max-width: 480px) {
    .mhbo-header-actions {
        flex-direction: column;
        width: 100%;
        gap: 12px;
    }
    
    .mhbo-header-actions .button {
        width: 100%;
        justify-content: center;
    }
}

/* ==========================================================================
   MHBO — ROOM TYPES & CONFIGURATION (DIAMOND-GRADE 2026)
   ========================================================================== */

/* Universal Layout Container */
.wp-admin .mhbo-admin-wrap .mhbo-modern-form-layout {
    display: flex;
    flex-direction: column;
    gap: 32px;
    margin-bottom: 24px;
}

.wp-admin .mhbo-admin-wrap .mhbo-form-section {
    background: #ffffff;
    border-radius: 20px;
    padding: 30px;
    border: 1px solid var(--mhbo-border);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
}

.wp-admin .mhbo-admin-wrap .mhbo-section-title {
    font-size: 1rem;
    font-weight: 800;
    color: var(--mhbo-primary);
    margin: 0 0 24px 0;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    display: flex;
    align-items: center;
    gap: 12px;
}

/* Language Tabs — Glassmorphic Design */
.wp-admin .mhbo-admin-wrap .mhbo-lang-tabs-container {
    background: var(--mhbo-white);
    border-radius: 12px;
    border: 1px solid var(--mhbo-border);
    overflow: hidden;
    margin-bottom: 20px;
}

.wp-admin .mhbo-admin-wrap .mhbo-tab-nav {
    display: flex;
    background: #f8fafc;
    border-bottom: 1px solid var(--mhbo-border);
    padding: 4px;
    gap: 4px;
}

.wp-admin .mhbo-admin-wrap .mhbo-tab-btn {
    padding: 8px 16px;
    border: none;
    background: transparent;
    cursor: pointer;
    font-weight: 700;
    font-size: 12px;
    color: #94a3b8;
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    border-radius: 8px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.wp-admin .mhbo-admin-wrap .mhbo-tab-btn:hover {
    color: var(--mhbo-primary);
    background: #f1f5f9;
}

.wp-admin .mhbo-admin-wrap .mhbo-tab-btn.mhbo-tab-active {
    background: var(--mhbo-white);
    color: var(--mhbo-primary);
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

/* Settings Matrix (2x2) */
.wp-admin .mhbo-admin-wrap .mhbo-settings-grid {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 24px !important;
}

@media (max-width: 782px) {
    .wp-admin .mhbo-admin-wrap .mhbo-settings-grid {
        grid-template-columns: 1fr !important;
    }
}

.wp-admin .mhbo-admin-wrap .mhbo-settings-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Compact Prefix Container */
.wp-admin .mhbo-admin-wrap .mhbo-input-prefix-container {
    display: flex;
    align-items: stretch;
    border-radius: 12px;
    border: 1px solid #e2e8f0;
    background: #fff;
    transition: all 0.2s ease;
    height: 48px;
}

.wp-admin .mhbo-admin-wrap .mhbo-input-prefix-container:focus-within {
    border-color: var(--mhbo-primary);
    box-shadow: 0 0 0 4px rgba(var(--mhbo-primary-rgb), 0.1);
}

.wp-admin .mhbo-admin-wrap .mhbo-input-prefix {
    background: #f8fafc;
    padding: 0 16px;
    display: flex;
    align-items: center;
    font-weight: 800;
    font-size: 12px;
    color: #64748b;
    border-right: 1px solid #e2e8f0;
}

.wp-admin .mhbo-admin-wrap .mhbo-input-prefix-container input {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    flex-grow: 1;
    margin: 0 !important;
    height: auto !important;
    padding: 0 16px !important;
    font-weight: 600 !important;
    font-size: 14px !important;
}

/* Room Card Grid — High Density (Corrected Breakthrough) */
/* --------------------------------------------------------------------------
   DIAMOND-GRADE ROOM TYPE GRID (2026 GLASSMORPHISM EDITION)
   -------------------------------------------------------------------------- */

:root {
    --mhbo-glass-bg:     rgba(255, 255, 255, 0.75);
    --mhbo-glass-border: rgba(255, 255, 255, 0.4);
    --mhbo-glass-blur:   blur(12px);
    
    --mhbo-primary-hsl:  222, 47%, 11%;
    --mhbo-accent-hsl:   215, 89%, 60%;
    --mhbo-success-hsl:  142, 70%, 45%;
    --mhbo-danger-hsl:   0, 84%, 60%;
    
    --mhbo-shadow-premium: 0 10px 25px -5px rgba(0, 0, 0, 0.05), 0 8px 10px -6px rgba(0, 0, 0, 0.05);
}

.wp-admin .mhbo-admin-wrap .mhbo-room-type-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 32px !important;
    margin: 20px 0 60px !important;
    width: 100% !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
}

/* Breakpoints for High-Density Grid */
@media (min-width: 640px)  { .wp-admin .mhbo-admin-wrap .mhbo-room-type-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (min-width: 1100px) { .wp-admin .mhbo-admin-wrap .mhbo-room-type-grid { grid-template-columns: repeat(3, 1fr) !important; } }
@media (min-width: 1500px) { .wp-admin .mhbo-admin-wrap .mhbo-room-type-grid { grid-template-columns: repeat(4, 1fr) !important; } }

/* Premium Room Card — Glassmorphism Light */
.wp-admin .mhbo-admin-wrap .mhbo-room-card {
    background: var(--mhbo-glass-bg) !important;
    backdrop-filter: var(--mhbo-glass-blur);
    -webkit-backdrop-filter: var(--mhbo-glass-blur);
    border: 1px solid var(--mhbo-glass-border) !important;
    border-radius: 24px !important;
    box-shadow: var(--mhbo-shadow-premium) !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    display: flex;
    flex-direction: column;
    min-height: 280px;
    position: relative;
    overflow: hidden;
    cursor: default;
}

.wp-admin .mhbo-admin-wrap .mhbo-room-card:hover {
    transform: translateY(-8px) scale(1.01);
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15) !important;
    border-color: hsla(var(--mhbo-accent-hsl), 0.4) !important;
    background: rgba(255, 255, 255, 0.85) !important;
}

/* Card Head — Visual Balance */
.wp-admin .mhbo-admin-wrap .mhbo-room-card-head {
    padding: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid hsla(var(--mhbo-primary-hsl), 0.05);
    background: hsla(var(--mhbo-primary-hsl), 0.02);
}

/* Diamond Thumbnail — Refined */
.wp-admin .mhbo-admin-wrap .mhbo-room-thumb.mhbo-diamond-thumb {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    border-radius: 18px !important;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
    border: 2px solid #fff !important;
    transition: transform 0.3s ease;
}

.wp-admin .mhbo-admin-wrap .mhbo-room-card:hover .mhbo-room-thumb {
    transform: rotate(-3deg) scale(1.05);
}

/* Premium Index Badge */
.wp-admin .mhbo-admin-wrap .mhbo-room-badge-index {
    position: absolute !important;
    top: -6px !important;
    right: -6px !important;
    background: hsl(var(--mhbo-primary-hsl)) !important;
    color: #fff !important;
    padding: 4px 8px !important;
    border-radius: 8px !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: 0.05em;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-room-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: hsl(var(--mhbo-primary-hsl)) !important;
    letter-spacing: -0.02em !important;
}

/* Card Body Content */
.wp-admin .mhbo-admin-wrap .mhbo-room-card-body {
    padding: 24px;
    flex-grow: 1;
}

.wp-admin .mhbo-admin-wrap .mhbo-room-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #64748b;
    margin-bottom: 20px !important;
}

/* Meta Grid — High Detail */
.wp-admin .mhbo-admin-wrap .mhbo-room-meta-row {
    display: flex;
    gap: 16px;
    margin-bottom: 20px;
}

.wp-admin .mhbo-admin-wrap .mhbo-meta-item {
    background: hsla(var(--mhbo-primary-hsl), 0.03);
    padding: 10px 14px;
    border-radius: 12px;
    flex: 1;
    border: 1px solid hsla(var(--mhbo-primary-hsl), 0.05);
}

.wp-admin .mhbo-admin-wrap .mhbo-meta-label {
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    letter-spacing: 0.08em;
    margin-bottom: 4px;
}

.wp-admin .mhbo-admin-wrap .mhbo-meta-value {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700;
    font-size: 15px;
    color: hsl(var(--mhbo-accent-hsl));
}

/* Mini Tags — Glass Style */
.wp-admin .mhbo-admin-wrap .mhbo-mini-tag {
    background: hsla(var(--mhbo-accent-hsl), 0.08) !important;
    color: hsl(var(--mhbo-accent-hsl)) !important;
    border: 1px solid hsla(var(--mhbo-accent-hsl), 0.1) !important;
    padding: 4px 10px !important;
    border-radius: 6px !important;
    font-size: 9px !important;
}

/* Actions Strip — Integrated */
.wp-admin .mhbo-admin-wrap .mhbo-room-card-actions {
    padding: 16px 24px;
    background: hsla(var(--mhbo-primary-hsl), 0.03);
    border-top: 1px solid hsla(var(--mhbo-primary-hsl), 0.05);
    display: flex;
    justify-content: flex-end;
    gap: 12px;
}

.wp-admin .mhbo-admin-wrap .mhbo-action-btn {
    width: 36px;
    height: 36px;
    background: #fff;
    border: 1px solid hsla(var(--mhbo-primary-hsl), 0.1);
    border-radius: 10px;
    color: hsl(var(--mhbo-primary-hsl));
    transition: all 0.3s cubic-bezier(0.19, 1, 0.22, 1);
}

.wp-admin .mhbo-admin-wrap .mhbo-btn-edit:hover {
    background: hsl(var(--mhbo-accent-hsl)) !important;
    color: #fff !important;
    border-color: hsl(var(--mhbo-accent-hsl)) !important;
    transform: translateY(-4px) rotate(5deg);
    box-shadow: 0 8px 16px hsla(var(--mhbo-accent-hsl), 0.3) !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-btn-delete:hover {
    background: hsl(var(--mhbo-danger-hsl)) !important;
    color: #fff !important;
    border-color: hsl(var(--mhbo-danger-hsl)) !important;
    transform: translateY(-4px) rotate(-5deg);
    box-shadow: 0 8px 16px hsla(var(--mhbo-danger-hsl), 0.3) !important;
}

/* Pro Calendar Button — Distinctive */
.wp-admin .mhbo-admin-wrap .mhbo-action-btn[title*="Calendar"] {
    background: hsla(258, 68%, 55%, 0.1) !important;
    color: hsl(258, 68%, 55%) !important;
    border-color: hsla(258, 68%, 55%, 0.2) !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-action-btn[title*="Calendar"]:hover {
    background: hsl(258, 68%, 55%) !important;
    color: #fff !important;
    transform: translateY(-4px);
    box-shadow: 0 8px 16px hsla(258, 68%, 55%, 0.3) !important;
}

/* ==========================================================================
   PREMIUM CONFIGURATION FORM (GLASSMORPHISM LIGHT)
   ========================================================================== */

.wp-admin .mhbo-admin-wrap .mhbo-room-form-card {
    background: var(--mhbo-glass-bg) !important;
    backdrop-filter: var(--mhbo-glass-blur);
    -webkit-backdrop-filter: var(--mhbo-glass-blur);
    border: 1px solid var(--mhbo-glass-border) !important;
    padding: 40px !important;
    border-radius: 32px !important;
    box-shadow: var(--mhbo-shadow-premium) !important;
    margin-bottom: 48px;
}

.wp-admin .mhbo-admin-wrap .mhbo-field-group {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 28px;
}

.wp-admin .mhbo-admin-wrap .mhbo-label {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700;
    font-size: 14px;
    color: hsl(var(--mhbo-primary-hsl));
    letter-spacing: -0.01em;
}

/* Modern Inputs — Crystal Clear */
.wp-admin .mhbo-admin-wrap .mhbo-input-large,
.wp-admin .mhbo-admin-wrap .mhbo-input-mid {
    background: rgba(255, 255, 255, 0.5) !important;
    border: 1.5px solid hsla(var(--mhbo-primary-hsl), 0.1) !important;
    border-radius: 14px !important;
    padding: 12px 18px !important;
    font-size: 15px !important;
    color: hsl(var(--mhbo-primary-hsl)) !important;
    transition: all 0.3s ease !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-input-large:focus,
.wp-admin .mhbo-admin-wrap .mhbo-input-mid:focus {
    background: #fff !important;
    border-color: hsl(var(--mhbo-accent-hsl)) !important;
    box-shadow: 0 0 0 4px hsla(var(--mhbo-accent-hsl), 0.15) !important;
    outline: none !important;
}

/* Section Dividers — Elegant */
.wp-admin .mhbo-admin-wrap .mhbo-section-title {
    font-family: 'Outfit', sans-serif !important;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.15em;
    color: #94a3b8;
    margin-bottom: 32px;
    margin-top: 48px;
    border-bottom: 1px solid hsla(var(--mhbo-primary-hsl), 0.05);
    padding-bottom: 16px;
    font-weight: 800;
}

/* Form Action Strip */
.wp-admin .mhbo-admin-wrap .mhbo-form-actions-dock {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid hsla(var(--mhbo-primary-hsl), 0.05);
}

.wp-admin .mhbo-admin-wrap .mhbo-form-actions-dock .button-primary {
    height: 48px !important;
    padding: 0 32px !important;
    border-radius: 14px !important;
    background: hsl(var(--mhbo-primary-hsl)) !important;
    font-weight: 700 !important;
    font-size: 15px !important;
    border: none !important;
    box-shadow: 0 4px 12px hsla(var(--mhbo-primary-hsl), 0.2) !important;
    transition: all 0.3s ease !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-form-actions-dock .button-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px hsla(var(--mhbo-primary-hsl), 0.3) !important;
}

/* Lang Tabs Integration */
.wp-admin .mhbo-admin-wrap .mhbo-lang-tabs-container {
    background: hsla(var(--mhbo-primary-hsl), 0.02) !important;
    border-radius: 16px !important;
    padding: 6px !important;
    display: inline-flex !important;
    gap: 4px !important;
    margin-bottom: 24px !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-lang-tab {
    padding: 8px 16px !important;
    border-radius: 12px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
}

.wp-admin .mhbo-admin-wrap .mhbo-lang-tab.active {
    background: #fff !important;
    color: hsl(var(--mhbo-primary-hsl)) !important;
    box-shadow: 0 2px 6px rgba(0,0,0,0.05) !important;
}

/* --------------------------------------------------------------------------
 * RESPONSIVE DATA TABLES (Bookings)
 * -------------------------------------------------------------------------- */

.wp-admin .mhbo-admin-wrap .mhbo-table-container {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* Smooth iOS horizontal scrolling */
    border-radius: 16px; /* Diamond Grade contour */
    box-shadow: var(--mhbo-shadow-sm);
    background: var(--mhbo-white);
    margin-top: 24px;
    border: 1px solid var(--mhbo-border);
}

/* Neutralize the inner WP list table to inherit the container's aesthetic */
.wp-admin .mhbo-admin-wrap .mhbo-table-container .wp-list-table {
    border: none;
    box-shadow: none;
    margin: 0;
}

/* Premium internal spacing */
.wp-admin .mhbo-admin-wrap .mhbo-table-container .wp-list-table th,
.wp-admin .mhbo-admin-wrap .mhbo-table-container .wp-list-table td {
    vertical-align: middle;
}

/* --------------------------------------------------------------------------
 * MODERN ROOMS INVENTORY GRID (GLASSMORPHISM LIGHT)
 * -------------------------------------------------------------------------- */

.mhbo-inventory-header {
    margin-bottom: 24px !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
}

.mhbo-inventory-header h3 {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.4rem !important;
    font-weight: 800 !important;
    margin: 0 !important;
    color: hsl(var(--mhbo-primary-hsl)) !important;
}

/* The Grid — Super Responsive */
.mhbo-inventory-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    gap: 24px !important;
    width: 100% !important;
    margin-top: 20px !important;
}

/* Inventory Card — Glassmorphism Perfection */
.mhbo-inventory-card {
    background: var(--mhbo-glass-bg) !important;
    backdrop-filter: var(--mhbo-glass-blur) !important;
    -webkit-backdrop-filter: var(--mhbo-glass-blur) !important;
    border: 1px solid var(--mhbo-glass-border) !important;
    border-radius: 24px !important;
    padding: 24px !important;
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    box-shadow: var(--mhbo-shadow-sm) !important;
    min-height: 200px !important;
}

.mhbo-inventory-card:hover {
    transform: translateY(-8px) scale(1.02) !important;
    box-shadow: var(--mhbo-shadow-premium) !important;
    border-color: hsla(var(--mhbo-accent-hsl), 0.3) !important;
}

/* Card Header — Stats & Status */
.mhbo-inv-card-header {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    margin-bottom: 16px !important;
}

.mhbo-inv-id {
    font-family: monospace !important;
    font-size: 11px !important;
    color: #94a3b8 !important;
    background: hsla(var(--mhbo-primary-hsl), 0.05) !important;
    padding: 2px 8px !important;
    border-radius: 6px !important;
}

.status-pill {
    font-size: 10px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 4px 10px !important;
    border-radius: 99px !important;
    display: inline-block !important;
}

.status-pill.live {
    background: #dcfce7 !important;
    color: #166534 !important;
}

.status-pill.maintenance {
    background: #fee2e2 !important;
    color: #991b1b !important;
}

/* Content — Typography Outfit */
.mhbo-inv-content {
    margin-bottom: 24px !important;
    flex-grow: 1 !important;
}

.mhbo-inv-number {
    font-family: 'Outfit', sans-serif !important;
    font-size: 1.35rem !important;
    font-weight: 700 !important;
    margin: 0 0 4px 0 !important;
    color: hsl(var(--mhbo-primary-hsl)) !important;
}

.mhbo-inv-type {
    font-size: 0.9rem !important;
    color: #64748b !important;
    margin-bottom: 12px !important;
    font-weight: 500 !important;
}

.mhbo-inv-price {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.mhbo-inv-price .amount {
    font-weight: 800 !important;
    font-size: 1.15rem !important;
    color: #166534 !important;
}

/* Action Strip — Diamond Aligned */
.mhbo-inv-actions {
    display: flex !important;
    gap: 12px !important;
    padding-top: 16px !important;
    border-top: 1px solid hsla(var(--mhbo-primary-hsl), 0.05) !important;
    justify-content: center !important;
    margin-top: auto !important;
}

.mhbo-inv-btn {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all 0.3s ease !important;
    text-decoration: none !important;
    background: #fff !important;
    border: 1px solid #e2e8f0 !important;
    color: #64748b !important;
    padding: 0 !important;
    box-shadow: 0 2px 4px rgba(0,0,0,0.02) !important;
}

.mhbo-inv-btn:hover {
    transform: translateY(-2px) !important;
    background: hsl(var(--mhbo-primary-hsl)) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 6px 15px hsla(var(--mhbo-primary-hsl), 0.2) !important;
}

.mhbo-inv-btn.ical:hover {
    background: #3b82f6 !important;
    box-shadow: 0 6px 15px rgba(59, 130, 246, 0.3) !important;
}

.mhbo-inv-btn.calendar {
    background: #ede9fe !important;
    color: #6d28d9 !important;
    border-color: #c4b5fd !important;
}

.mhbo-inv-btn.calendar:hover {
    background: #7c3aed !important;
    color: #fff !important;
    box-shadow: 0 6px 15px rgba(124, 58, 237, 0.3) !important;
}

.mhbo-inv-btn.delete:hover {
    background: #ef4444 !important;
    box-shadow: 0 6px 15px rgba(239, 68, 68, 0.3) !important;
}

.mhbo-inv-btn .dashicons {
    font-size: 20px !important;
    width: 20px !important;
    height: 20px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Breakpoints - Optimized for Table View */
@media (max-width: 782px) {
    .mhbo-table-responsive {
        overflow-x: auto !important;
    }
}

/* Polishing Action Buttons Alignment */
.wp-admin .mhbo-admin-wrap .wp-list-table td:last-child {
    white-space: nowrap !important;
    min-width: 180px !important;
}

.wp-admin .mhbo-admin-wrap .wp-list-table th:last-child {
    width: 180px !important;
}

/* Modern Hotel Booking - Calendar Backend UI Premium 2026 Styling */

/* Modern Hotel Booking - 2026 Luxury Calendar Architecture */

/* Calendar Card Container */
.mhbo-calendar-card {
    background: #ffffff !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 30px -5px rgba(15, 23, 42, 0.05), 0 1px 3px rgba(15, 23, 42, 0.03) !important;
    padding: 28px !important;
    border: 1px solid #e2e8f0 !important;
    margin-bottom: 24px !important;
}

/* Header Toolbar & Title */
.fc .fc-toolbar {
    margin-bottom: 24px !important;
    padding: 4px 4px 8px 4px !important;
}

.fc .fc-toolbar-title {
    font-family: 'Outfit', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    letter-spacing: -0.025em !important;
    color: #0f172a !important;
}

/* Toolbar Buttons & View Switcher Segmented Control */
.fc .fc-button-primary {
    background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%) !important;
    border: 1px solid #334155 !important;
    color: #f8fafc !important;
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    border-radius: 10px !important;
    padding: 8px 16px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 2px 4px rgba(15, 23, 42, 0.1) !important;
    transition: all 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.fc .fc-button-primary:hover {
    background: linear-gradient(180deg, #334155 0%, #1e293b 100%) !important;
    border-color: #475569 !important;
    transform: translateY(-1px) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 4px 8px rgba(15, 23, 42, 0.15) !important;
}

.fc .fc-button-primary.fc-button-active,
.fc .fc-button-primary:active {
    background: linear-gradient(180deg, #4f46e5 0%, #4338ca 100%) !important;
    border-color: #4338ca !important;
    box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.2) !important;
}

.fc .fc-button-primary:disabled {
    background: #94a3b8 !important;
    border-color: #94a3b8 !important;
    opacity: 0.6 !important;
}

.fc .fc-button-group {
    background: #f1f5f9 !important;
    padding: 3px !important;
    border-radius: 12px !important;
    border: 1px solid #e2e8f0 !important;
}

.fc .fc-button-group > .fc-button {
    border: none !important;
    background: transparent !important;
    color: #475569 !important;
    box-shadow: none !important;
    border-radius: 8px !important;
}

.fc .fc-button-group > .fc-button.fc-button-active {
    background: #ffffff !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.1) !important;
}

/* Day Column Headers (Sun, Mon, Tue...) */
.fc .fc-col-header-cell {
    background: #f8fafc !important;
    padding: 12px 0 !important;
    border-color: #e2e8f0 !important;
}

.fc .fc-col-header-cell-cushion {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: #64748b !important;
    text-decoration: none !important;
}

/* Grid Lines & Cell Styling */
.fc td, .fc th {
    border-color: #e2e8f0 !important;
}

.fc-daygrid-day-number {
    font-family: 'Outfit', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.85rem !important;
    color: #475569 !important;
    padding: 6px 10px !important;
    text-decoration: none !important;
}

.fc-day-other {
    background-color: #fafafa !important;
}
.fc-day-other .fc-daygrid-day-number {
    opacity: 0.4 !important;
}

/* Today Highlight: Gold Inset Border on background layer (underneath events) */
.mhbo-day-today-highlight,
.fc-day-today,
td.fc-day-today,
.fc-daygrid-day.fc-day-today {
    box-shadow: inset 0 0 0 3px #f59e0b !important;
    background-color: rgba(254, 240, 138, 0.25) !important;
}

/* If Today is ALSO a Full Day (100% Occupancy) */
.mhbo-day-today-highlight.mhbo-day-full,
.fc-day-today.mhbo-day-full,
td.fc-day-today.mhbo-day-full {
    background-color: #fee2e2 !important;
}

.fc-day-today .fc-daygrid-day-number {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    border-radius: 50% !important;
    width: 26px !important;
    height: 26px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-shadow: 0 2px 6px rgba(245, 158, 11, 0.4) !important;
}

/* Full Days (100% Occupancy): Solid Red Background Square */
.mhbo-day-full,
td.mhbo-day-full,
.fc-daygrid-day.mhbo-day-full,
.mhbo-day-full .fc-daygrid-day-frame {
    background: #fee2e2 !important;
    background-color: #fee2e2 !important;
}

/* Event Bars Refinement - 2026 Pill Capsules & Rich Gradients */
.fc-event,
.fc-daygrid-event,
.fc .fc-daygrid-event {
    font-family: 'Outfit', -apple-system, sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    border-radius: 8px !important;
    margin-top: 3px !important;
    margin-bottom: 3px !important;
    padding: 4px 8px !important;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.25) !important;
    transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.15s cubic-bezier(0.4, 0, 0.2, 1) !important;
    border: 1px solid rgba(255, 255, 255, 0.25) !important;
}

.mhbo-status-confirmed,
.fc-event[style*="28a745"],
.fc-event[style*="059669"],
.fc-event[style*="rgb(40, 167, 69)"],
.fc-event[style*="rgb(5, 150, 105)"] {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
    background-color: #059669 !important;
    color: #ffffff !important;
}

.mhbo-status-pending,
.fc-event[style*="ffc107"],
.fc-event[style*="d97706"],
.fc-event[style*="rgb(255, 193, 7)"],
.fc-event[style*="rgb(217, 119, 6)"] {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
    background-color: #d97706 !important;
    color: #ffffff !important;
}

.fc-event:hover,
.fc-daygrid-event:hover {
    transform: translateY(-2px) scale(1.005) !important;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.3) !important;
    z-index: 10 !important;
}

/* Modern Hotel Booking - Airbnb Style Half-Day Split Cells (FullCalendar v7) */

/* 1. Establish Container Query context on FullCalendar root & wrappers */
#mhbo-calendar,
.mhbo-calendar-card,
.fc,
.fc-view,
.fc-daygrid,
.fc-daygrid-body {
    container-type: inline-size !important;
}

/* 2. Clip-path & Padding for Check-in events (80% coverage on check-in day: clips left 20% of day column) */
.mhbo-event-checkin,
[class*="mhbo-event-checkin"] {
    clip-path: inset(0 0 0 calc(100cqw * 2 / 70)) !important;
    padding-left: calc(100cqw * 2 / 70) !important;
    box-sizing: border-box !important;
}

/* 3. Clip-path & Padding for Check-out events (20% coverage on check-out day: clips right 80% of day column) */
.mhbo-event-checkout,
[class*="mhbo-event-checkout"] {
    clip-path: inset(0 calc(100cqw * 8 / 70) 0 0) !important;
    padding-right: calc(100cqw * 8 / 70) !important;
    box-sizing: border-box !important;
}

/* 4. Clip-path & Padding for events that are both Check-in and Check-out */
.mhbo-event-checkin.mhbo-event-checkout,
[class*="mhbo-event-checkin"][class*="mhbo-event-checkout"] {
    clip-path: inset(0 calc(100cqw * 8 / 70) 0 calc(100cqw * 2 / 70)) !important;
    padding-left: calc(100cqw * 2 / 70) !important;
    padding-right: calc(100cqw * 8 / 70) !important;
    box-sizing: border-box !important;
}

/* Check-in & Check-out HTML Dot Badges */
.mhbo-event-inner {
    display: inline-flex !important;
    align-items: center !important;
    width: 100% !important;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.mhbo-event-inner .fc-event-title {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    flex: 1 !important;
}

.mhbo-dot-checkin {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    background-color: #22c55e !important;
    border: 1.5px solid #ffffff !important;
    border-radius: 50% !important;
    margin-right: 6px !important;
    box-shadow: 0 0 6px rgba(34, 197, 94, 0.9) !important;
    flex-shrink: 0 !important;
}

.mhbo-dot-checkout {
    display: inline-block !important;
    width: 8px !important;
    height: 8px !important;
    min-width: 8px !important;
    min-height: 8px !important;
    background-color: #ef4444 !important;
    border: 1.5px solid #ffffff !important;
    border-radius: 50% !important;
    margin-left: 6px !important;
    box-shadow: 0 0 6px rgba(239, 68, 68, 0.9) !important;
    flex-shrink: 0 !important;
}

/* 5. List View Modern Styling (Restores high contrast & eliminates clipping in List view) */
.fc-list-event,
.fc-list-event * {
    clip-path: none !important;
}
.fc-list-event {
    background: transparent !important;
}

.fc-list-event:hover td {
    background-color: #f8fafc !important;
}

.fc-list-event-title,
.fc-list-event-title a,
.fc-list-day-text,
.fc-list-day-side-text {
    font-family: 'Outfit', sans-serif !important;
    color: #0f172a !important;
    font-weight: 600 !important;
    text-decoration: none !important;
}

.fc-list-day-header th,
.fc-list-day-header td,
.fc .fc-list-day-cushion {
    background-color: #f1f5f9 !important;
    color: #0f172a !important;
    font-weight: 700 !important;
    padding: 10px 14px !important;
}

.fc-list-event-time {
    color: #64748b !important;
    font-weight: 500 !important;
}

/* Calendar Legend Bar */
.mhbo-calendar-legend {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    margin-top: 24px !important;
    padding-top: 18px !important;
    border-top: 1px solid #e2e8f0 !important;
    font-family: 'Outfit', sans-serif !important;
    font-size: 0.8rem !important;
    font-weight: 600 !important;
    color: #475569 !important;
}

.mhbo-legend-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}

.mhbo-legend-dot {
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    border: 1.5px solid #ffffff !important;
    display: inline-block !important;
}

.mhbo-legend-green-dot {
    background-color: #22c55e !important;
    box-shadow: 0 0 6px rgba(34, 197, 94, 0.9) !important;
}

.mhbo-legend-red-dot {
    background-color: #ef4444 !important;
    box-shadow: 0 0 6px rgba(239, 68, 68, 0.9) !important;
}

.mhbo-legend-badge {
    width: 14px !important;
    height: 14px !important;
    border-radius: 4px !important;
    display: inline-block !important;
}

.mhbo-legend-today {
    border: 2px solid #f59e0b !important;
    background-color: rgba(254, 240, 138, 0.4) !important;
}

.mhbo-legend-full {
    background-color: #fee2e2 !important;
    border: 1px solid #fca5a5 !important;
}

.mhbo-legend-pill {
    width: 14px !important;
    height: 10px !important;
    border-radius: 4px !important;
    display: inline-block !important;
}

.mhbo-legend-confirmed {
    background: linear-gradient(135deg, #059669 0%, #10b981 100%) !important;
}

.mhbo-legend-pending {
    background: linear-gradient(135deg, #d97706 0%, #f59e0b 100%) !important;
}

/* 6. Mobile Responsiveness (Screen sizes <= 768px and <= 480px) */
@media screen and (max-width: 768px) {
    .mhbo-calendar-card {
        padding: 12px !important;
        border-radius: 12px !important;
        margin-bottom: 16px !important;
    }

    .fc .fc-toolbar {
        flex-direction: column !important;
        gap: 12px !important;
        align-items: center !important;
        text-align: center !important;
        margin-bottom: 16px !important;
    }

    .fc .fc-toolbar-title {
        font-size: 1.3rem !important;
    }

    .fc .fc-button-group {
        width: 100% !important;
        display: flex !important;
        justify-content: center !important;
    }

    .fc .fc-button-primary {
        padding: 6px 12px !important;
        font-size: 0.8rem !important;
        min-height: 36px !important;
    }

    .fc .fc-col-header-cell-cushion {
        font-size: 0.68rem !important;
        letter-spacing: 0.02em !important;
        padding: 4px 2px !important;
    }

    .fc-daygrid-day-number {
        font-size: 0.75rem !important;
        padding: 3px 5px !important;
    }

    .fc-day-today .fc-daygrid-day-number {
        width: 20px !important;
        height: 20px !important;
        font-size: 0.7rem !important;
    }

    .fc-event,
    .fc-daygrid-event {
        font-size: 0.72rem !important;
        padding: 2px 4px !important;
        border-radius: 5px !important;
    }
}

@media screen and (max-width: 480px) {
    .mhbo-calendar-card {
        padding: 8px !important;
    }

    .fc .fc-toolbar-title {
        font-size: 1.15rem !important;
    }

    .fc .fc-button-primary {
        padding: 5px 8px !important;
        font-size: 0.75rem !important;
    }
}
