/**
 * Hotel Scheduler Pro - Enterprise Design System
 * Fortune 500-grade portal styling
 * 
 * This file overrides portal.css and sidebar styles to create
 * an institutional-quality interface. Load AFTER portal.css.
 *
 * Design references: Blackstone Aladdin, CBRE Host, Workday, Bloomberg Terminal
 * @version 1.0.0
 */

/* ============================================
   ENTERPRISE DESIGN TOKENS
   ============================================ */
:root {
    /* Sidebar - Dark Navy */
    --hsp-sidebar-bg: #0B1121;
    --hsp-sidebar-bg-hover: rgba(255, 255, 255, 0.06);
    --hsp-sidebar-bg-active: rgba(59, 130, 246, 0.12);
    --hsp-sidebar-border: rgba(255, 255, 255, 0.06);
    --hsp-sidebar-text: #94A3B8;
    --hsp-sidebar-text-hover: #E2E8F0;
    --hsp-sidebar-text-active: #FFFFFF;
    --hsp-sidebar-section-label: #475569;
    --hsp-sidebar-accent: #3B82F6;
    --hsp-sidebar-width: 260px;

    /* Content Area - Oracle-style warm neutral gray */
    --hsp-page-bg: #F5F6F8;
    --hsp-content-bg: #FFFFFF;
    --hsp-header-bg: #FFFFFF;
    --hsp-header-border: #E2E8F0;
    
    /* Typography */
    --hsp-font: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    --hsp-font-mono: 'JetBrains Mono', 'SF Mono', 'Cascadia Code', 'Consolas', monospace;
    
    /* Enterprise Color Palette */
    --hsp-navy-950: #0B1121;
    --hsp-navy-900: #0F172A;
    --hsp-navy-800: #1E293B;
    --hsp-navy-700: #334155;
    --hsp-navy-600: #475569;
    --hsp-navy-500: #64748B;
    --hsp-navy-400: #94A3B8;
    --hsp-navy-300: #CBD5E1;
    --hsp-navy-200: #E2E8F0;
    --hsp-navy-100: #F1F5F9;
    --hsp-navy-50: #F8FAFC;

    /* Accent Blue (single accent - no gold in enterprise) */
    --hsp-blue-600: #2563EB;
    --hsp-blue-500: #3B82F6;
    --hsp-blue-400: #60A5FA;
    --hsp-blue-100: #DBEAFE;
    --hsp-blue-50: #EFF6FF;

    /* Status */
    --hsp-green-600: #059669;
    --hsp-green-500: #10B981;
    --hsp-green-100: #D1FAE5;
    --hsp-green-50: #ECFDF5;
    --hsp-red-600: #DC2626;
    --hsp-red-500: #EF4444;
    --hsp-red-100: #FEE2E2;
    --hsp-red-50: #FEF2F2;
    --hsp-amber-600: #D97706;
    --hsp-amber-500: #F59E0B;
    --hsp-amber-100: #FEF3C7;
    --hsp-amber-50: #FFFBEB;
    --hsp-purple-600: #7C3AED;
    --hsp-purple-500: #8B5CF6;
    --hsp-purple-100: #EDE9FE;
    --hsp-purple-50: #F5F3FF;
    
    /* Shadows - Oracle-style: barely visible lift */
    --hsp-shadow-xs: 0 1px 2px rgba(0, 0, 0, 0.04);
    --hsp-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 2px rgba(0, 0, 0, 0.03);
    --hsp-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -2px rgba(0, 0, 0, 0.03);
    --hsp-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.06), 0 4px 6px -4px rgba(0, 0, 0, 0.03);
    --hsp-shadow-card: 0 1px 3px rgba(0, 0, 0, 0.04);

    /* Border radius */
    --hsp-radius-sm: 6px;
    --hsp-radius-md: 8px;
    --hsp-radius-lg: 12px;

    /* Transitions */
    --hsp-transition: 150ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* ============================================
   GLOBAL OVERRIDES
   ============================================ */

/* Load Inter font */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap');

body.portal-page,
.portal-layout {
    font-family: var(--hsp-font) !important;
    background: var(--hsp-page-bg) !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Oracle-style card lift: white boxes with micro-shadow on gray background */
.portal-content > div > div[style*="background:#fff"],
.portal-content > div > div[style*="background: #fff"],
.portal-content > div[style*="background:#fff"],
.portal-content > div[style*="background: #fff"] {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

/* ============================================
   SIDEBAR - DARK ENTERPRISE
   ============================================ */
.portal-sidebar {
    width: var(--hsp-sidebar-width) !important;
    background: var(--hsp-sidebar-bg) !important;
    border-right: 1px solid var(--hsp-sidebar-border) !important;
    box-shadow: none !important;
    font-family: var(--hsp-font) !important;
}

/* Sidebar Header / Logo */
.sidebar-header {
    padding: 20px 20px 16px !important;
    border-bottom: 1px solid var(--hsp-sidebar-border) !important;
    background: transparent !important;
}

.sidebar-logo img {
    height: 32px !important;
    width: auto !important;
    filter: brightness(10) !important;
    opacity: 0.9;
}

/* Property Selector */
.sidebar-property {
    margin: 12px 12px 0 !important;
    padding: 10px 12px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    border: 1px solid var(--hsp-sidebar-border) !important;
    border-radius: var(--hsp-radius-md) !important;
    transition: all var(--hsp-transition) !important;
}

.sidebar-property:hover {
    background: rgba(255, 255, 255, 0.07) !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
}

.property-indicator {
    background: var(--hsp-green-500) !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    box-shadow: 0 0 6px rgba(16, 185, 129, 0.4) !important;
}

.property-name {
    color: var(--hsp-sidebar-text-active) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    letter-spacing: -0.01em !important;
}

.property-code {
    color: var(--hsp-sidebar-text) !important;
    font-size: 11px !important;
    font-weight: 400 !important;
}

.property-switch {
    color: var(--hsp-sidebar-text) !important;
    background: transparent !important;
    border: none !important;
}

/* Property Dropdown */
.property-dropdown {
    background: var(--hsp-navy-900) !important;
    border: 1px solid var(--hsp-sidebar-border) !important;
    border-radius: var(--hsp-radius-md) !important;
    margin: 4px 12px 12px !important;
    box-shadow: var(--hsp-shadow-lg) !important;
}

.property-option {
    color: var(--hsp-sidebar-text) !important;
    border-radius: var(--hsp-radius-sm) !important;
    padding: 8px 12px !important;
    transition: all var(--hsp-transition) !important;
}

.property-option:hover {
    background: rgba(255, 255, 255, 0.06) !important;
    color: var(--hsp-sidebar-text-hover) !important;
}

.property-option.active {
    background: var(--hsp-sidebar-bg-active) !important;
    color: var(--hsp-sidebar-text-active) !important;
}

.property-option-indicator {
    background: var(--hsp-blue-500) !important;
}

.property-option-name {
    color: inherit !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.property-option-code {
    color: var(--hsp-sidebar-text) !important;
    font-size: 11px !important;
}

/* Navigation Sections */
.sidebar-nav {
    padding: 12px 8px !important;
    flex: 1;
    overflow-y: auto;
}

.nav-section {
    margin-bottom: 4px !important;
}

.nav-section-label {
    padding: 8px 16px 6px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.08em !important;
    color: var(--hsp-sidebar-section-label) !important;
    margin-top: 8px !important;
}

.nav-section:first-child .nav-section-label {
    margin-top: 0 !important;
}

.nav-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

/* Navigation Links */
.nav-link {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 12px !important;
    margin: 1px 4px !important;
    border-radius: var(--hsp-radius-sm) !important;
    color: var(--hsp-sidebar-text) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    transition: all var(--hsp-transition) !important;
    position: relative !important;
    border: none !important;
    border-left: none !important;
    margin-left: 4px !important;
}

.nav-link:hover {
    background: var(--hsp-sidebar-bg-hover) !important;
    color: var(--hsp-sidebar-text-hover) !important;
}

.nav-link.active {
    background: var(--hsp-sidebar-bg-active) !important;
    color: var(--hsp-sidebar-text-active) !important;
    border-left: none !important;
    margin-left: 4px !important;
}

.nav-link.active .nav-icon {
    color: var(--hsp-blue-400) !important;
}

/* Nav Icons - SVG styling */
.nav-icon {
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 14px !important;
    opacity: 0.7 !important;
    transition: opacity var(--hsp-transition) !important;
}

.nav-icon svg {
    width: 18px;
    height: 18px;
    stroke: currentColor;
    stroke-width: 1.75;
    fill: none;
}

.nav-link:hover .nav-icon,
.nav-link.active .nav-icon {
    opacity: 1 !important;
}

.nav-active-indicator {
    display: none !important; /* Remove the old indicator */
}

/* Sidebar Footer */
.sidebar-footer {
    padding: 12px 16px !important;
    border-top: 1px solid var(--hsp-sidebar-border) !important;
    background: transparent !important;
}

.sidebar-status {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 0 !important;
}

.status-indicator.online {
    width: 6px !important;
    height: 6px !important;
    background: var(--hsp-green-500) !important;
    border-radius: 50% !important;
    box-shadow: 0 0 4px rgba(16, 185, 129, 0.4) !important;
}

.status-text {
    font-size: 11px !important;
    color: var(--hsp-sidebar-section-label) !important;
    font-weight: 400 !important;
}

.sidebar-version {
    font-size: 10px !important;
    color: var(--hsp-sidebar-section-label) !important;
    padding: 4px 0 0 14px !important;
    font-family: var(--hsp-font-mono) !important;
}

/* ============================================
   HEADER - CLEAN ENTERPRISE
   ============================================ */
.portal-header {
    background: var(--hsp-header-bg) !important;
    border-bottom: 1px solid var(--hsp-header-border) !important;
    padding: 12px 28px !important;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03) !important;
    font-family: var(--hsp-font) !important;
}

.portal-page-title .page-icon {
    display: none !important;
}

.portal-page-title h1 {
    font-family: var(--hsp-font) !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--hsp-navy-900) !important;
    letter-spacing: -0.02em !important;
}

.portal-page-title p {
    font-size: 12px !important;
    color: var(--hsp-navy-500) !important;
}

.portal-breadcrumbs {
    font-size: 12px !important;
    color: var(--hsp-navy-500) !important;
    margin-bottom: 4px !important;
}

.portal-breadcrumbs a { color: var(--hsp-navy-500) !important; }
.portal-breadcrumbs a:hover { color: var(--hsp-blue-600) !important; }

/* View Mode Switcher */
.view-mode-trigger {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-300) !important;
    border-radius: 4px !important;
    color: var(--hsp-navy-700) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    gap: 6px !important;
}
.view-mode-trigger:hover {
    background: var(--hsp-navy-50) !important;
    border-color: var(--hsp-navy-400) !important;
}
.view-mode-dropdown {
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    box-shadow: var(--hsp-shadow-lg) !important;
    background: #FFFFFF !important;
}
.view-mode-option { border-radius: 3px !important; font-size: 13px !important; }
.view-mode-option.active { background: var(--hsp-blue-50) !important; color: var(--hsp-blue-600) !important; }
.view-mode-section-title {
    font-size: 10px !important; font-weight: 600 !important;
    text-transform: uppercase !important; letter-spacing: 0.06em !important;
    color: var(--hsp-navy-400) !important;
}

/* Header Buttons */
.portal-header-actions .btn,
.portal-header-actions .portal-btn,
.portal-header .portal-btn-primary,
.portal-header .btn-primary,
.portal-header-actions a.portal-btn-primary,
.portal-header-actions a.btn {
    background: #1a1a2e !important;
    color: #FFFFFF !important;
    border: 1px solid #1a1a2e !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    text-decoration: none !important;
    font-family: var(--hsp-font) !important;
}
.portal-header-actions .btn:hover,
.portal-header .portal-btn-primary:hover {
    background: #2d2d4a !important;
    border-color: #2d2d4a !important;
}
.portal-header .btn-icon { display: none !important; }

/* Notification Bell */
.portal-notifications {
    background: transparent !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    padding: 6px !important;
    color: var(--hsp-navy-500) !important;
}
.portal-notifications:hover {
    background: var(--hsp-navy-50) !important;
    color: var(--hsp-navy-700) !important;
}
.notification-badge {
    background: var(--hsp-red-500) !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    border-radius: 3px !important;
}
.notifications-dropdown {
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    box-shadow: var(--hsp-shadow-lg) !important;
    background: #FFFFFF !important;
}
.notifications-header h3 { font-size: 13px !important; font-weight: 600 !important; color: var(--hsp-navy-900) !important; }

/* User Menu */
.user-menu-trigger {
    background: transparent !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    padding: 4px 10px !important;
    gap: 8px !important;
    cursor: pointer !important;
}
.user-menu-trigger:hover { background: var(--hsp-navy-50) !important; border-color: var(--hsp-navy-300) !important; }
.user-menu-name { font-size: 12px !important; font-weight: 600 !important; color: var(--hsp-navy-700) !important; }
.user-avatar-small {
    width: 28px !important; height: 28px !important;
    border-radius: 4px !important;
    background: var(--hsp-navy-800);
    font-size: 11px !important; color: #FFFFFF !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    background-size: cover !important; background-position: center !important;
}
.user-dropdown {
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    box-shadow: var(--hsp-shadow-lg) !important;
    background: #FFFFFF !important;
}
.user-avatar-large { width: 40px !important; height: 40px !important; border-radius: 4px !important; background: var(--hsp-navy-800); color: #FFFFFF !important; background-size: cover !important; background-position: center !important; }
.user-dropdown-name { font-size: 13px !important; font-weight: 600 !important; color: var(--hsp-navy-900) !important; }
.user-dropdown-email { font-size: 11px !important; color: var(--hsp-navy-500) !important; }
.user-dropdown-nav a { font-size: 13px !important; color: var(--hsp-navy-700) !important; border-radius: 3px !important; }
.user-dropdown-nav a:hover { background: var(--hsp-navy-50) !important; }
.user-dropdown-logout { color: var(--hsp-red-600) !important; font-size: 13px !important; }
.user-dropdown-logout:hover { background: var(--hsp-red-50) !important; }

/* ============================================
   MAIN CONTENT AREA
   ============================================ */
.portal-main {
    margin-left: var(--hsp-sidebar-width) !important;
    background: var(--hsp-page-bg) !important;
    min-height: 100vh !important;
}

.portal-content {
    padding: 24px 32px !important;
    max-width: 1440px !important;
}

/* ============================================
   ENTERPRISE CARD COMPONENT
   ============================================ */
.hsp-card,
.portal-card,
.card,
.analytics-card,
.metric-card {
    background: var(--hsp-content-bg) !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: var(--hsp-radius-lg) !important;
    box-shadow: var(--hsp-shadow-card) !important;
    padding: 20px 24px !important;
    transition: box-shadow var(--hsp-transition) !important;
}

.hsp-card:hover,
.portal-card:hover {
    box-shadow: var(--hsp-shadow-md) !important;
}

/* ============================================
   ENTERPRISE TABLE COMPONENT
   ============================================ */
.hsp-table,
table.dataTable,
.analytics-table,
.labor-table {
    width: 100% !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    font-family: var(--hsp-font) !important;
    font-size: 13px !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: var(--hsp-radius-md) !important;
    overflow: hidden !important;
}

.hsp-table thead th,
table.dataTable thead th,
.analytics-table thead th,
.labor-table thead th {
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 10px 16px !important;
    border-bottom: none !important;
    white-space: nowrap !important;
    text-align: left !important;
}

.hsp-table tbody td,
table.dataTable tbody td,
.analytics-table tbody td,
.labor-table tbody td {
    padding: 10px 16px !important;
    border-bottom: 1px solid var(--hsp-navy-100) !important;
    color: var(--hsp-navy-700) !important;
    vertical-align: middle !important;
}

.hsp-table tbody tr:nth-child(even),
table.dataTable tbody tr:nth-child(even),
.analytics-table tbody tr:nth-child(even) {
    background: var(--hsp-navy-50) !important;
}

.hsp-table tbody tr:last-child td {
    border-bottom: none !important;
}

.hsp-table tbody tr:hover,
table.dataTable tbody tr:hover {
    background: var(--hsp-blue-50) !important;
}

/* Numeric cells */
.hsp-table td[data-type="number"],
.hsp-table .num,
td.text-right {
    font-family: var(--hsp-font-mono) !important;
    font-size: 12px !important;
    text-align: right !important;
    font-variant-numeric: tabular-nums !important;
}

/* Table total/footer rows */
.hsp-table tfoot td,
.hsp-table tbody tr.total-row td,
.hsp-table tbody tr:last-child.summary td {
    font-weight: 700 !important;
    background: var(--hsp-navy-100) !important;
    border-top: 2px solid var(--hsp-navy-300) !important;
    color: var(--hsp-navy-900) !important;
}

/* ============================================
   ENTERPRISE METRIC CARDS (KPIs)
   ============================================ */
.hsp-metric {
    background: var(--hsp-content-bg);
    border: 1px solid var(--hsp-navy-200);
    border-radius: var(--hsp-radius-lg);
    padding: 20px 24px;
    box-shadow: var(--hsp-shadow-card);
}

.hsp-metric-label {
    font-size: 11px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--hsp-navy-500);
    margin-bottom: 8px;
}

.hsp-metric-value {
    font-family: var(--hsp-font);
    font-size: 28px;
    font-weight: 700;
    color: var(--hsp-navy-900);
    letter-spacing: -0.02em;
    line-height: 1.1;
    font-variant-numeric: tabular-nums;
}

.hsp-metric-detail {
    font-size: 12px;
    color: var(--hsp-navy-500);
    margin-top: 4px;
}

/* ============================================
   ENTERPRISE BADGE COMPONENT
   ============================================ */
.hsp-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.02em;
    white-space: nowrap;
}

.hsp-badge-success,
.badge-success,
.status-on-target {
    background: var(--hsp-green-50) !important;
    color: var(--hsp-green-600) !important;
    border: 1px solid var(--hsp-green-100) !important;
}

.hsp-badge-warning,
.badge-warning,
.status-over {
    background: var(--hsp-amber-50) !important;
    color: var(--hsp-amber-600) !important;
    border: 1px solid var(--hsp-amber-100) !important;
}

.hsp-badge-danger,
.badge-danger,
.status-under {
    background: var(--hsp-red-50) !important;
    color: var(--hsp-red-600) !important;
    border: 1px solid var(--hsp-red-100) !important;
}

.hsp-badge-info,
.badge-info {
    background: var(--hsp-blue-50) !important;
    color: var(--hsp-blue-600) !important;
    border: 1px solid var(--hsp-blue-100) !important;
}

.hsp-badge-neutral {
    background: var(--hsp-navy-100) !important;
    color: var(--hsp-navy-600) !important;
    border: 1px solid var(--hsp-navy-200) !important;
}

/* ============================================
   ENTERPRISE FORM ELEMENTS
   ============================================ */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="date"],
input[type="search"],
textarea,
select {
    font-family: var(--hsp-font) !important;
    font-size: 13px !important;
    padding: 8px 12px !important;
    border: 1px solid var(--hsp-navy-300) !important;
    border-radius: var(--hsp-radius-sm) !important;
    background: var(--hsp-content-bg) !important;
    color: var(--hsp-navy-900) !important;
    transition: border-color var(--hsp-transition), box-shadow var(--hsp-transition) !important;
    outline: none !important;
}

input:focus,
textarea:focus,
select:focus {
    border-color: var(--hsp-blue-500) !important;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.12) !important;
}

/* Enterprise Buttons */
.hsp-btn,
.btn,
button[type="submit"],
input[type="submit"] {
    font-family: var(--hsp-font) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 8px 16px !important;
    border-radius: var(--hsp-radius-sm) !important;
    border: 1px solid transparent !important;
    cursor: pointer !important;
    transition: all var(--hsp-transition) !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    letter-spacing: -0.01em !important;
}

.hsp-btn-primary,
.btn-primary {
    background: #1a1a2e !important;
    color: #FFFFFF !important;
    border-color: #1a1a2e !important;
}

.hsp-btn-primary:hover,
.btn-primary:hover {
    background: #2d2d4a !important;
    border-color: #2d2d4a !important;
    box-shadow: var(--hsp-shadow-sm) !important;
}

.hsp-btn-secondary,
.btn-secondary {
    background: var(--hsp-content-bg) !important;
    color: var(--hsp-navy-700) !important;
    border-color: var(--hsp-navy-300) !important;
}

.hsp-btn-secondary:hover,
.btn-secondary:hover {
    background: var(--hsp-navy-50) !important;
    border-color: var(--hsp-navy-400) !important;
}

/* ============================================
   ENTERPRISE TAB COMPONENT
   ============================================ */
.hsp-tabs,
.nav-tabs,
.tab-nav,
.analytics-tabs {
    display: flex !important;
    gap: 0 !important;
    border-bottom: 2px solid var(--hsp-navy-200) !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
    background: transparent !important;
}

.hsp-tab,
.nav-tabs a,
.tab-link,
.analytics-tab {
    padding: 10px 20px !important;
    font-size: 13px !important;
    font-weight: 500 !important;
    color: var(--hsp-navy-500) !important;
    text-decoration: none !important;
    border: none !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    transition: all var(--hsp-transition) !important;
    background: transparent !important;
    white-space: nowrap !important;
}

.hsp-tab:hover,
.nav-tabs a:hover,
.tab-link:hover,
.analytics-tab:hover {
    color: var(--hsp-navy-700) !important;
    background: transparent !important;
}

.hsp-tab.active,
.nav-tabs a.active,
.tab-link.active,
.analytics-tab.active {
    color: var(--hsp-blue-600) !important;
    border-bottom-color: var(--hsp-blue-600) !important;
    font-weight: 600 !important;
    background: transparent !important;
}

/* ============================================
   FOUR PILLARS COLOR SYSTEM
   ============================================ */
.pillar-theoretical { color: var(--hsp-blue-600) !important; }
.pillar-scheduled { color: var(--hsp-green-600) !important; }
.pillar-worked { color: var(--hsp-purple-600) !important; }
.pillar-paid { color: var(--hsp-amber-600) !important; }

.pillar-theoretical-bg { background: var(--hsp-blue-50) !important; border-color: var(--hsp-blue-100) !important; }
.pillar-scheduled-bg { background: var(--hsp-green-50) !important; border-color: var(--hsp-green-100) !important; }
.pillar-worked-bg { background: var(--hsp-purple-50) !important; border-color: var(--hsp-purple-100) !important; }
.pillar-paid-bg { background: var(--hsp-amber-50) !important; border-color: var(--hsp-amber-100) !important; }

/* ============================================
   ENTERPRISE ALERT/CALLOUT
   ============================================ */
.hsp-callout {
    padding: 16px 20px;
    border-radius: var(--hsp-radius-md);
    border-left: 4px solid;
    font-size: 13px;
}

.hsp-callout-info {
    background: var(--hsp-blue-50);
    border-color: var(--hsp-blue-500);
    color: var(--hsp-navy-700);
}

.hsp-callout-success {
    background: var(--hsp-green-50);
    border-color: var(--hsp-green-500);
    color: var(--hsp-navy-700);
}

.hsp-callout-warning {
    background: var(--hsp-amber-50);
    border-color: var(--hsp-amber-500);
    color: var(--hsp-navy-700);
}

.hsp-callout-danger {
    background: var(--hsp-red-50);
    border-color: var(--hsp-red-500);
    color: var(--hsp-navy-700);
}

/* ============================================
   RESPONSIVE - MOBILE SIDEBAR
   ============================================ */
@media (max-width: 1024px) {
    .portal-sidebar {
        transform: translateX(-100%) !important;
        transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    
    .portal-sidebar.open {
        transform: translateX(0) !important;
    }
    
    .portal-main {
        margin-left: 0 !important;
    }
    
    .sidebar-mobile-toggle {
        display: flex !important;
        position: fixed !important;
        top: 16px !important;
        left: 16px !important;
        z-index: 200 !important;
        background: var(--hsp-content-bg) !important;
        border: 1px solid var(--hsp-navy-200) !important;
        border-radius: var(--hsp-radius-sm) !important;
        padding: 8px !important;
        box-shadow: var(--hsp-shadow-md) !important;
        color: var(--hsp-navy-700) !important;
        cursor: pointer !important;
    }
    
    .sidebar-overlay.active {
        background: rgba(15, 23, 42, 0.5) !important;
        backdrop-filter: blur(4px) !important;
    }
}

@media (min-width: 1025px) {
    .sidebar-mobile-toggle {
        display: none !important;
    }
    .sidebar-overlay {
        display: none !important;
    }
}

/* ============================================
   UTILITY CLASSES
   ============================================ */
.text-mono { font-family: var(--hsp-font-mono) !important; }
.text-navy { color: var(--hsp-navy-900) !important; }
.text-muted { color: var(--hsp-navy-500) !important; }
.text-xs { font-size: 11px !important; }
.text-sm { font-size: 13px !important; }
.text-base { font-size: 14px !important; }
.text-lg { font-size: 16px !important; }
.text-xl { font-size: 20px !important; }
.text-2xl { font-size: 24px !important; }
.font-medium { font-weight: 500 !important; }
.font-semibold { font-weight: 600 !important; }
.font-bold { font-weight: 700 !important; }
.uppercase { text-transform: uppercase !important; letter-spacing: 0.05em !important; }
.tabular-nums { font-variant-numeric: tabular-nums !important; }

/* ============================================
   LABOR ANALYTICS - ENTERPRISE OVERRIDES
   ============================================ */

/* Tab Navigation - flat underline style with distinct background */
.labor-tabs {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-bottom: 2px solid var(--hsp-navy-200) !important;
    border-radius: 4px 4px 0 0 !important;
    padding: 0 12px !important;
    gap: 0 !important;
    margin-bottom: 20px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.labor-tab {
    border-radius: 0 !important;
    padding: 10px 18px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    color: var(--hsp-navy-500) !important;
    border-bottom: 2px solid transparent !important;
    margin-bottom: -2px !important;
    min-width: auto !important;
    flex: none !important;
    font-family: var(--hsp-font) !important;
    background: transparent !important;
}

.labor-tab:hover {
    color: var(--hsp-navy-700) !important;
    background: transparent !important;
}

.labor-tab.active {
    background: transparent !important;
    color: var(--hsp-blue-600) !important;
    border-bottom-color: var(--hsp-blue-600) !important;
}

/* Override the Deep Dive and Executive Report special tab styles */
.labor-tab[style*="background: linear-gradient"],
.labor-tab[style*="background: #0f172a"] {
    background: transparent !important;
    color: var(--hsp-navy-500) !important;
    border-bottom: 2px solid transparent !important;
}
.labor-tab[style*="background: linear-gradient"]:hover,
.labor-tab[style*="background: #0f172a"]:hover {
    color: var(--hsp-navy-700) !important;
}
.labor-tab[style*="background: linear-gradient"].active,
.labor-tab[style*="background: #0f172a"].active {
    color: var(--hsp-blue-600) !important;
    border-bottom-color: var(--hsp-blue-600) !important;
}

/* Executive Header - cleaner, flatter navy */
.exec-header {
    background: var(--hsp-navy-900) !important;
    border-radius: 4px !important;
    padding: 24px 28px !important;
    margin-bottom: 20px !important;
    border: 1px solid var(--hsp-navy-800) !important;
}

.exec-logo-icon {
    background: var(--hsp-blue-600) !important;
    border-radius: 4px !important;
    font-size: 18px !important;
    width: 36px !important;
    height: 36px !important;
}

.exec-logo-text {
    font-size: 16px !important;
    font-family: var(--hsp-font) !important;
}

.exec-date-badge {
    background: rgba(59, 130, 246, 0.15) !important;
    border: 1px solid rgba(59, 130, 246, 0.3) !important;
    border-radius: 4px !important;
    color: var(--hsp-blue-400) !important;
    font-size: 12px !important;
    padding: 6px 12px !important;
}

.exec-title {
    font-size: 22px !important;
    font-family: var(--hsp-font) !important;
    letter-spacing: -0.02em !important;
}

.exec-subtitle {
    font-size: 13px !important;
}

/* KPI Cards on header */
.exec-kpi {
    border-radius: 4px !important;
    padding: 16px !important;
    background: rgba(255, 255, 255, 0.06) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

.exec-kpi-value {
    font-size: 22px !important;
    font-family: var(--hsp-font-mono) !important;
}

.exec-kpi-label {
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
}

/* Sections - enterprise card style */
.exec-section {
    border-radius: 4px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
    border: 1px solid var(--hsp-navy-200) !important;
}

.exec-section-header {
    padding: 10px 16px !important;
    background: #FFFFFF !important;
    border-bottom: 2px solid var(--hsp-navy-200) !important;
}

.exec-section-title {
    font-size: 12px !important;
    font-weight: 700 !important;
    color: var(--hsp-navy-900) !important;
    font-family: var(--hsp-font) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

.exec-section-body {
    padding: 14px 16px !important;
}

/* Tables - navy header matching Executive Report print */
.exec-table th {
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    padding: 8px 12px !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
}

.exec-table td {
    padding: 8px 12px !important;
    font-size: 13px !important;
    border-bottom: 1px solid var(--hsp-navy-100) !important;
    color: var(--hsp-navy-700) !important;
}

.exec-table tr:nth-child(even) td {
    background: var(--hsp-navy-50) !important;
}

.exec-table tr:hover td {
    background: var(--hsp-blue-50) !important;
}

.exec-table .mono {
    font-family: var(--hsp-font-mono) !important;
    font-size: 12px !important;
    font-variant-numeric: tabular-nums !important;
}

/* Badges - enterprise */
.exec-badge {
    border-radius: 3px !important;
    font-size: 11px !important;
    padding: 2px 8px !important;
}

.exec-badge-success {
    background: var(--hsp-green-50) !important;
    color: var(--hsp-green-600) !important;
    border: 1px solid var(--hsp-green-100) !important;
}

.exec-badge-warning {
    background: var(--hsp-amber-50) !important;
    color: var(--hsp-amber-600) !important;
    border: 1px solid var(--hsp-amber-100) !important;
}

.exec-badge-danger {
    background: var(--hsp-red-50) !important;
    color: var(--hsp-red-600) !important;
    border: 1px solid var(--hsp-red-100) !important;
}

/* Rating badges */
.exec-rating {
    border-radius: 3px !important;
    font-size: 11px !important;
}

/* Controls/Filter bar */
.exec-controls {
    border-radius: 4px !important;
    border: 1px solid var(--hsp-navy-200) !important;
    padding: 14px 20px !important;
    margin-bottom: 16px !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04) !important;
}

.exec-control-label {
    font-size: 10px !important;
    color: var(--hsp-navy-500) !important;
}

.exec-input,
.exec-select {
    border-radius: 4px !important;
    border: 1px solid var(--hsp-navy-300) !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    font-family: var(--hsp-font) !important;
}

.exec-input:focus,
.exec-select:focus {
    border-color: var(--hsp-blue-500) !important;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.12) !important;
}

/* Buttons - navy institutional */
.exec-btn {
    background: #1a1a2e !important;
    color: #FFFFFF !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    padding: 6px 14px !important;
    font-family: var(--hsp-font) !important;
    border: 1px solid #1a1a2e !important;
}

.exec-btn:hover {
    background: #2d2d4a !important;
}

.exec-btn-secondary {
    background: #FFFFFF !important;
    color: var(--hsp-navy-700) !important;
    border: 1px solid var(--hsp-navy-300) !important;
}

.exec-btn-secondary:hover {
    background: var(--hsp-navy-50) !important;
}

.exec-btn-outline {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-300) !important;
    color: var(--hsp-navy-700) !important;
    border-radius: 4px !important;
    font-size: 12px !important;
}

.exec-btn-outline:hover {
    background: var(--hsp-navy-50) !important;
}

/* Insights bar */
.exec-insight {
    border-radius: 4px !important;
    background: var(--hsp-navy-50) !important;
    border: 1px solid var(--hsp-navy-100) !important;
    padding: 10px 14px !important;
}

.exec-insight-text {
    font-size: 13px !important;
    color: var(--hsp-navy-700) !important;
}

/* Chart containers */
.exec-chart-container {
    border-radius: 4px !important;
}

/* Deep Dive and Alert tables inherit same styling */
.deepdive-table th,
.alert-table th {
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 8px 12px !important;
}

.deepdive-table td,
.alert-table td {
    padding: 8px 12px !important;
    font-size: 13px !important;
    border-bottom: 1px solid var(--hsp-navy-100) !important;
}

.deepdive-table tr:nth-child(even) td,
.alert-table tr:nth-child(even) td {
    background: var(--hsp-navy-50) !important;
}

/* Four Pillars visualization */
.pillar-card {
    border-radius: 4px !important;
    border: 1px solid var(--hsp-navy-200) !important;
}

/* Status indicators */
.status-ok, .status-on-target { color: var(--hsp-green-600) !important; }
.status-over { color: var(--hsp-red-600) !important; }
.status-under { color: var(--hsp-amber-600) !important; }
.status-review { color: var(--hsp-red-600) !important; }

/* ============================================
   DEEP DIVE & ALL TABS - COMPREHENSIVE
   ============================================ */

/* Any table inside labor analytics content */
.portal-content table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-family: var(--hsp-font) !important;
    font-size: 13px !important;
}

.portal-content table th {
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 8px 12px !important;
    border-bottom: none !important;
    white-space: nowrap !important;
}

.portal-content table td {
    padding: 8px 12px !important;
    font-size: 13px !important;
    border-bottom: 1px solid var(--hsp-navy-100) !important;
    color: var(--hsp-navy-700) !important;
}

.portal-content table tr:nth-child(even) td {
    background: var(--hsp-navy-50) !important;
}

.portal-content table tr:hover td {
    background: var(--hsp-blue-50) !important;
}
/* Protect dark-background rows from hover override */
.portal-content table tr.dept-header-row:hover td,
.portal-content table tr.position-header-row:hover td,
.portal-content table tr[style*="background: #0F172A"]:hover td,
.portal-content table tr[style*="background: #0f172a"]:hover td,
.portal-content table tr[style*="background: #2c5282"]:hover td,
.portal-content table tr[style*="border-top: 2px"]:hover td,
.portal-content table tfoot tr:hover td {
    background: inherit !important;
}

/* Total/summary rows */
.portal-content table tr:last-child td[style*="font-weight: 700"],
.portal-content table tr td[style*="font-weight: bold"],
.portal-content table tfoot td {
    background: var(--hsp-navy-100) !important;
    font-weight: 700 !important;
    border-top: 2px solid var(--hsp-navy-300) !important;
}

/* Deep Dive view toggle buttons */
.deepdive-view-btn {
    font-family: var(--hsp-font) !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    padding: 6px 14px !important;
}

/* All h3 headings inside labor analytics content */
.portal-content h3 {
    font-family: var(--hsp-font) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--hsp-navy-900) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
}

/* Data source banners */
.exec-data-source-banner {
    border-radius: 4px !important;
    font-family: var(--hsp-font) !important;
    font-size: 12px !important;
}

/* Number formatting in all tables */
.portal-content table td[style*="font-family"],
.portal-content table .mono,
.portal-content table td[align="right"] {
    font-family: var(--hsp-font-mono) !important;
    font-size: 12px !important;
    font-variant-numeric: tabular-nums !important;
}


/* ============================================
   INSTITUTIONAL REPORT STYLES (er-* classes)
   Available across all tabs, matching Executive Report
   ============================================ */
.er { font-family: 'Inter', -apple-system, Helvetica, Arial, sans-serif; color: #1a1a2e; line-height: 1.45; font-size: 12px; }
.er * { box-sizing: border-box; }
.er-masthead { border-bottom: 3px solid #1a1a2e; padding-bottom: 14px; margin-bottom: 20px; }
.er-masthead-top { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 10px; }
.er-masthead-brand { font-size: 10px; text-transform: uppercase; letter-spacing: 2px; color: #6b7280; font-weight: 600; }
.er-masthead-brand strong { color: #1a1a2e; letter-spacing: 1.5px; }
.er-masthead-conf { font-size: 9px; text-transform: uppercase; letter-spacing: 1.5px; color: #991b1b; font-weight: 700; border: 1px solid #991b1b; padding: 3px 10px; }
.er-masthead h1 { font-size: 20px; font-weight: 300; color: #1a1a2e; margin: 0; letter-spacing: -0.3px; }
.er-masthead h1 strong { font-weight: 700; }
.er-masthead-meta { display: flex; gap: 20px; margin-top: 6px; font-size: 10px; color: #6b7280; flex-wrap: wrap; }
.er-masthead-meta strong { color: #374151; font-weight: 600; }

.er-section { margin-bottom: 20px; }
.er-section-title { font-size: 11px; font-weight: 700; color: #1a1a2e; text-transform: uppercase; letter-spacing: 1.2px; margin: 0 0 8px; padding-bottom: 5px; border-bottom: 1.5px solid #1a1a2e; }
.er-section-subtitle { font-size: 10px; color: #6b7280; margin: -5px 0 8px; font-style: italic; }
.er-divider { border: none; border-top: 1.5px solid #1a1a2e; margin: 24px 0 20px; }

.er-kpi-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; margin-bottom: 16px; }
.er-kpi-row.cols-4 { grid-template-columns: repeat(4, 1fr); }
.er-kpi-row.cols-6 { grid-template-columns: repeat(6, 1fr); }
.er-kpi { background: #f9fafb; border: 1px solid #d1d5db; border-radius: 3px; padding: 10px 8px; text-align: center; }
.er-kpi-value { font-size: 20px; font-weight: 700; color: #1a1a2e; font-variant-numeric: tabular-nums; }
.er-kpi-label { font-size: 8px; text-transform: uppercase; letter-spacing: 0.8px; color: #6b7280; margin-top: 2px; font-weight: 600; }
.er-kpi-sub { font-size: 9px; color: #9ca3af; margin-top: 1px; }
.er-kpi.highlight { background: #1a1a2e; border-color: #1a1a2e; }
.er-kpi.highlight .er-kpi-value { color: white; }
.er-kpi.highlight .er-kpi-label { color: rgba(255,255,255,0.6); }
.er-kpi.highlight .er-kpi-sub { color: rgba(255,255,255,0.4); }

.er-table { width: 100%; border-collapse: collapse; font-size: 11px; }
.er-table th { background: #f3f4f6; color: #374151; font-weight: 700; font-size: 8px; text-transform: uppercase; letter-spacing: 0.5px; padding: 6px 8px; text-align: left; border-bottom: 1.5px solid #9ca3af; }
.er-table td { padding: 6px 8px; border-bottom: 1px solid #e5e7eb; font-variant-numeric: tabular-nums; }
.er-table tr:last-child td { border-bottom: none; }
.er-table .text-right { text-align: right; }
.er-table .text-center { text-align: center; }
.er-table .mono { font-family: var(--hsp-font-mono); font-size: 10px; }
.er-table tfoot td { background: #f3f4f6; font-weight: 700; border-top: 1.5px solid #9ca3af; border-bottom: none; }
.er-table .row-highlight { background: #fffbeb; }

.er-pillars { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-bottom: 16px; border: 1px solid #d1d5db; overflow: hidden; border-radius: 3px; }
.er-pillar { padding: 12px 8px; text-align: center; border-right: 1px solid #d1d5db; }
.er-pillar:last-child { border-right: none; }
.er-pillar-value { font-size: 22px; font-weight: 700; font-variant-numeric: tabular-nums; }
.er-pillar-cost { font-size: 11px; margin-top: 1px; }
.er-pillar-label { font-size: 8px; text-transform: uppercase; letter-spacing: 0.8px; margin-top: 3px; font-weight: 700; }

.er-callout { padding: 12px 14px; margin-bottom: 12px; font-size: 11px; line-height: 1.6; border-left: 3px solid #1a1a2e; background: #f9fafb; }
.er-callout-title { font-weight: 700; font-size: 10px; margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.8px; }
.er-bar { height: 18px; overflow: hidden; display: flex; margin: 5px 0; border: 1px solid #d1d5db; border-radius: 2px; }
.er-bar-seg { display: flex; align-items: center; justify-content: center; color: white; font-size: 9px; font-weight: 700; }
.er-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
.er-badge { display: inline-block; padding: 2px 6px; border-radius: 2px; font-size: 9px; font-weight: 600; }
.er-badge-success { background: #dcfce7; color: #166534; }
.er-badge-warning { background: #fef3c7; color: #92400e; }
.er-badge-danger { background: #fee2e2; color: #991b1b; }
.er-badge-info { background: #dbeafe; color: #1e40af; }
.er-text-green { color: #059669; }
.er-text-red { color: #dc2626; }
.er-text-amber { color: #d97706; }
.er-text-blue { color: #2563eb; }
.er-text-purple { color: #7c3aed; }
.er-text-muted { color: #9ca3af; }

/* Print header - hidden everywhere (masthead replaces it) */
.print-header { display: none !important; }

/* ============================================
   AI INTELLIGENCE PAGE - Enterprise Overrides
   ============================================ */
.ai-container {
    grid-template-columns: 240px 1fr !important;
    gap: 16px !important;
    height: calc(100vh - 160px) !important;
    min-height: 400px !important;
    max-height: none !important;
}

.ai-sidebar {
    gap: 12px !important;
    overflow-y: auto !important;
}

.ai-card {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    padding: 14px !important;
}

.ai-card h3 {
    font-size: 11px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    color: var(--hsp-navy-900) !important;
    margin: 0 0 10px !important;
    padding-bottom: 8px !important;
    border-bottom: 1.5px solid var(--hsp-navy-200) !important;
}

.report-btn {
    padding: 8px 12px !important;
    margin-bottom: 6px !important;
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-family: var(--hsp-font) !important;
    color: var(--hsp-navy-700) !important;
}

.report-btn:hover {
    background: var(--hsp-navy-50) !important;
    border-color: var(--hsp-blue-600) !important;
    color: var(--hsp-navy-900) !important;
}

.quick-prompt {
    padding: 6px 10px !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    font-family: var(--hsp-font) !important;
    color: var(--hsp-navy-600) !important;
}

.quick-prompt:hover {
    background: var(--hsp-navy-50) !important;
    border-color: var(--hsp-blue-600) !important;
}

/* Chat area */
.ai-chat-area {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    min-height: 0 !important;
}

.chat-header {
    padding: 10px 16px !important;
    border-bottom: 1.5px solid var(--hsp-navy-200) !important;
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
}

.chat-header h2 {
    font-size: 12px !important;
    font-weight: 600 !important;
    color: #FFFFFF !important;
    letter-spacing: 0.03em !important;
}

.chat-header .status {
    font-size: 10px !important;
    color: rgba(255,255,255,0.6) !important;
}

.chat-header .status.configured {
    color: #86efac !important;
}

.chat-header .status.not-configured {
    color: #fca5a5 !important;
}

.chat-messages {
    flex: 1 !important;
    overflow-y: auto !important;
    padding: 16px !important;
    gap: 14px !important;
    min-height: 0 !important;
}

.message-content {
    border-radius: 4px !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
    padding: 10px 14px !important;
    font-family: var(--hsp-font) !important;
}

.chat-message.user .message-content {
    background: var(--hsp-blue-600) !important;
    color: #FFFFFF !important;
    border-radius: 4px 4px 2px 4px !important;
}

.chat-message.assistant .message-content {
    background: var(--hsp-navy-50) !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px 4px 4px 2px !important;
}

.message-content table th {
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
}

/* Welcome */
.welcome-message {
    padding: 40px 24px !important;
}

.welcome-message h3 {
    font-size: 16px !important;
    font-weight: 600 !important;
    color: var(--hsp-navy-900) !important;
}

.welcome-message p {
    font-size: 12px !important;
    color: var(--hsp-navy-500) !important;
}

.welcome-suggestion {
    border-radius: 3px !important;
    font-size: 11px !important;
    padding: 6px 12px !important;
    font-family: var(--hsp-font) !important;
    border: 1px solid var(--hsp-navy-200) !important;
    background: #FFFFFF !important;
    color: var(--hsp-navy-600) !important;
}

.welcome-suggestion:hover {
    border-color: var(--hsp-blue-600) !important;
    color: var(--hsp-navy-900) !important;
}

/* Input area */
.chat-input-area {
    padding: 10px 16px !important;
    border-top: 1.5px solid var(--hsp-navy-200) !important;
    background: var(--hsp-navy-50) !important;
}

.chat-input {
    padding: 10px 14px !important;
    border: 1px solid var(--hsp-navy-300) !important;
    border-radius: 3px !important;
    background: #FFFFFF !important;
    font-size: 13px !important;
    font-family: var(--hsp-font) !important;
    min-height: 40px !important;
    max-height: 100px !important;
}

.chat-input:focus {
    border-color: var(--hsp-blue-600) !important;
    box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.1) !important;
}

.send-btn {
    padding: 10px 18px !important;
    background: var(--hsp-blue-600) !important;
    border: none !important;
    border-radius: 3px !important;
    color: #FFFFFF !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    font-family: var(--hsp-font) !important;
}

.send-btn:hover {
    background: #1D4ED8 !important;
    transform: none !important;
}

/* AI badges */
.ai-badge-lg, .ai-badge-sm {
    border-radius: 3px !important;
    font-family: var(--hsp-font) !important;
}

/* Config warning */
.config-warning {
    border-radius: 4px !important;
}

/* Property selector in chat header */
.chat-property-selector select {
    background: rgba(255,255,255,0.1) !important;
    border: 1px solid rgba(255,255,255,0.2) !important;
    color: #FFFFFF !important;
    border-radius: 3px !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
}

/* ============================================
   SCHEDULER PAGE — Enterprise Data Grid
   Oracle/Workday institutional scheduling grid
   ============================================ */

/* === GLOBAL WRAPPER === */
.hsp-frontend-scheduler {
    font-family: var(--hsp-font) !important;
    font-size: 12px !important;
    color: #1a1a2e !important;
}
.hsp-frontend-scheduler * { font-family: var(--hsp-font) !important; }

/* Hide the default h2 title — portal header handles it */
.hsp-frontend-scheduler > h2 {
    font-size: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
}

/* === PORTAL CARD WRAPPER === */
body.page-template-scheduler .portal-card {
    border-radius: 3px !important;
    border: none !important;
    box-shadow: none !important;
    overflow: visible !important;
    background: transparent !important;
}
body.page-template-scheduler .portal-card-body { padding: 0 !important; }

/* === CONTROLS BAR — Institutional Toolbar === */
.scheduler-controls {
    gap: 8px !important;
    margin-bottom: 12px !important;
    padding: 10px 14px !important;
    background: #f3f4f6 !important;
    border: 1px solid #d1d5db !important;
    border-radius: 3px !important;
}
.scheduler-controls form {
    gap: 8px !important;
    align-items: center !important;
}
.scheduler-controls label {
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    color: #6b7280 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
}
.scheduler-controls select,
.scheduler-controls input[type="date"] {
    font-size: 12px !important;
    border-radius: 3px !important;
    padding: 5px 8px !important;
    border: 1px solid #d1d5db !important;
    background: #FFFFFF !important;
    color: #1a1a2e !important;
    font-weight: 500 !important;
}

/* === ALL BUTTONS — Institutional === */
.hsp-frontend-scheduler .button,
.hsp-frontend-scheduler button[style*="background"] {
    font-size: 10px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    padding: 5px 12px !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    transition: none !important;
    transform: none !important;
    box-shadow: none !important;
}
.hsp-frontend-scheduler button[style*="background: #2c5282"],
.hsp-frontend-scheduler button[style*="background: #1e3a5f"],
.hsp-frontend-scheduler button[id*="print"] {
    background: #1a1a2e !important;
    border: none !important;
}
.hsp-frontend-scheduler button[style*="background: #2563EB"] {
    background: #2563EB !important;
    border: none !important;
    border-radius: 3px !important;
}
.hsp-frontend-scheduler button[id*="save"],
.hsp-frontend-scheduler button[id*="Save"],
.hsp-frontend-scheduler button[id*="submit"] {
    background: #2563EB !important;
    color: #FFFFFF !important;
    border: none !important;
    border-radius: 3px !important;
    font-size: 10px !important;
    padding: 6px 14px !important;
}
.hsp-frontend-scheduler button[disabled] {
    background: #9ca3af !important;
    color: #d1d5db !important;
    cursor: not-allowed !important;
    opacity: 0.7 !important;
}

/* === SCHEDULE TABLE — Oracle-style Data Grid === */
.schedule-table-wrapper {
    border: 1px solid #9ca3af !important;
    border-radius: 3px !important;
    overflow-x: auto !important;
}
.hsp-frontend-scheduler table.schedule-table {
    font-size: 11px !important;
    border-collapse: collapse !important;
    border: none !important;
}
.hsp-frontend-scheduler table th {
    background: #0F172A !important;
    color: #FFFFFF !important;
    font-size: 8px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    padding: 7px 8px !important;
    border: 1px solid #1e293b !important;
    white-space: nowrap !important;
}
.hsp-frontend-scheduler table td {
    font-size: 11px !important;
    padding: 2px 4px !important;
    border: 1px solid #e5e7eb !important;
    vertical-align: top !important;
}

/* === DEPARTMENT HEADER ROWS — Navy institutional group headers === */
.dept-header-row td {
    background: #0F172A !important;
    color: #FFFFFF !important;
    font-weight: 700 !important;
    font-size: 10px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    padding: 5px 10px !important;
    border: 1px solid #1e293b !important;
}

/* === SCHEDULER CLASS SUB-HEADERS === */
.scheduler-class-header-row td {
    background: #334155 !important;
    color: #e2e8f0 !important;
    font-weight: 600 !important;
    font-size: 10px !important;
    letter-spacing: 0.3px !important;
    padding: 4px 10px 4px 16px !important;
    border-left: 3px solid #60a5fa !important;
}

/* === POSITION HEADER ROWS — Institutional sub-group === */
.position-header-row td {
    background: #e5e7eb !important;
    color: #374151 !important;
    font-weight: 600 !important;
    font-size: 10px !important;
    padding: 3px 8px 3px 18px !important;
    border-left: 3px solid #6b7280 !important;
    border-bottom: 1px solid #d1d5db !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

/* === EMPLOYEE ROWS — Dense data grid === */
.emp-row {
    border-bottom: 1px solid #e5e7eb !important;
}
.emp-row:hover td {
    background: #EFF6FF !important;
}

/* Protect ALL dark-background rows from hover — totals, dept headers, summary rows */
.hsp-frontend-scheduler table .dept-header-row:hover td,
.hsp-frontend-scheduler table .position-header-row:hover td,
.hsp-frontend-scheduler table tr[style*="background: #0F172A"]:hover td,
.hsp-frontend-scheduler table tr[style*="background: #0f172a"]:hover td,
.hsp-frontend-scheduler table tr[style*="background: #334155"]:hover td,
.hsp-frontend-scheduler table tr[style*="background: #1e293b"]:hover td,
.hsp-frontend-scheduler table tr[style*="border-top: 2px"]:hover td {
    background: inherit !important;
    color: inherit !important;
}
.dept-header-row:hover td { background: #0F172A !important; color: #fff !important; }
.position-header-row:hover td { background: #e5e7eb !important; color: #374151 !important; }

/* Employee name cell */
.emp-name-cell {
    padding: 3px 6px !important;
    white-space: nowrap !important;
    line-height: 1.5 !important;
    font-weight: 600 !important;
    font-size: 11px !important;
    background: #f9fafb !important;
    border-right: 1.5px solid #d1d5db !important;
}

/* Shift cells */
.shift-cell {
    padding: 2px 3px !important;
    text-align: center !important;
    vertical-align: top !important;
}

/* Dual-rated info in cells */
.dual-rated-info {
    font-size: 9px !important;
    color: #0F172A !important;
    padding: 2px !important;
}
.dual-rated-info small {
    color: #7c3aed !important;
    font-size: 9px !important;
}
.dual-dept-note {
    color: #6b7280 !important;
    font-size: 8px !important;
}

.emp-row.has-alert-severe { border-left: 3px solid #dc2626 !important; }
.emp-row.has-alert-warning { border-left: 3px solid #f59e0b !important; }

/* Employee cell buttons */
.emp-quick-edit-btn,
.copy-last-week-btn {
    font-family: var(--hsp-font) !important;
    font-size: 8px !important;
    font-weight: 600 !important;
    padding: 1px 5px !important;
    border-radius: 2px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    border: 1px solid #d1d5db !important;
    background: #f3f4f6 !important;
    color: #374151 !important;
    cursor: pointer !important;
}
.emp-quick-edit-btn:hover,
.copy-last-week-btn:hover {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1e40af !important;
}

/* Shift time selects */
.hsp-frontend-scheduler .time-start,
.hsp-frontend-scheduler .time-end {
    font-family: var(--hsp-font-mono) !important;
    font-size: 10px !important;
    border-radius: 2px !important;
    padding: 1px 2px !important;
    border: 1px solid #d1d5db !important;
    background: #fff !important;
    width: 56px !important;
}
.hsp-frontend-scheduler .time-start:focus,
.hsp-frontend-scheduler .time-end:focus {
    border-color: #2563EB !important;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.15) !important;
    outline: none !important;
}

/* Leave dropdown — clean institutional */
.leave-select {
    font-family: var(--hsp-font) !important;
    font-size: 8px !important;
    font-weight: 500 !important;
    border-radius: 2px !important;
    padding: 1px 2px !important;
    border: 1px solid #d1d5db !important;
    background: #f9fafb !important;
    color: #6b7280 !important;
    cursor: pointer !important;
    width: 56px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}
.leave-select.has-leave {
    background: #dbeafe !important;
    border-color: #93c5fd !important;
    color: #1e40af !important;
    border-style: solid !important;
    font-weight: 600 !important;
}

/* Weekly Hours column */
.weekly-hrs {
    font-family: var(--hsp-font-mono) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    background: #f3f4f6 !important;
    border-left: 1.5px solid #9ca3af !important;
}
.weekly-hrs.over-40 {
    color: #dc2626 !important;
    background: #fef2f2 !important;
}
.weekly-hrs.under-40 {
    color: #059669 !important;
}

/* === BANNERS & STATUS BARS === */
.schedule-approval-banner {
    border-radius: 3px !important;
    padding: 8px 14px !important;
    font-size: 11px !important;
    margin-bottom: 10px !important;
}
.approval-status-badge {
    border-radius: 2px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    padding: 2px 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
}
.approval-actions .button,
.approval-actions button {
    font-size: 10px !important;
    padding: 4px 10px !important;
    border-radius: 3px !important;
}
.demo-mode-banner {
    border-radius: 3px !important;
    font-size: 11px !important;
    padding: 8px 14px !important;
    margin-bottom: 10px !important;
}

/* === CBA ALERT BAR === */
#cba-alert-bar {
    border-radius: 3px !important;
    padding: 6px 12px !important;
    margin-bottom: 8px !important;
    font-size: 10px !important;
    background: #fef2f2 !important;
    border: 1px solid #fecaca !important;
}
#cba-alert-bar span[style*="border-radius"] {
    border-radius: 2px !important;
    font-size: 8px !important;
    padding: 1px 5px !important;
}

/* === LABOR COST PANEL — Institutional KPI strip === */
#labor-cost-panel {
    border-radius: 3px !important;
    padding: 10px 14px !important;
    margin-bottom: 10px !important;
    box-shadow: none !important;
    border: 1px solid #1e293b !important;
    background: #0F172A !important;
}
#labor-cost-panel * { font-family: var(--hsp-font) !important; }
#labor-cost-panel [style*="font-size: 20px"],
#labor-cost-panel [style*="font-size: 18px"],
#labor-cost-panel [style*="font-size: 16px"] {
    font-size: 15px !important;
    font-weight: 700 !important;
    font-variant-numeric: tabular-nums !important;
}
#labor-cost-panel [style*="font-size: 10px"],
#labor-cost-panel [style*="font-size: 11px"],
#labor-cost-panel [style*="font-size: 12px"]:not([style*="font-size: 120px"]) {
    font-size: 8px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    font-weight: 600 !important;
}
#labor-cost-panel [style*="border-radius: 8px"],
#labor-cost-panel [style*="border-radius: 12px"],
#labor-cost-panel [style*="border-radius: 6px"] {
    border-radius: 3px !important;
}

/* === THEORETICAL REQUIREMENTS === */
#hsp-theoretical-section { font-size: 13px !important; }
#hsp-theoretical-section table { font-size: 12px !important; }
#hsp-theoretical-section table th {
    background: #0F172A !important;
    color: #FFFFFF !important;
    font-size: 10px !important;
}
#hsp-theoretical-section table td {
    font-size: 12px !important;
    padding: 4px 8px !important;
}
.theoretical-print-header,
.required-count,
.scheduled-count,
.sched-vs-req { font-size: 11px !important; }

/* === ALERT & COMPLIANCE BADGES === */
.emp-alert-badge {
    border-radius: 2px !important;
    font-size: 7px !important;
    padding: 0px 3px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
}
.consec-day-badge {
    border-radius: 2px !important;
    font-size: 8px !important;
    padding: 0px 4px !important;
    font-weight: 700 !important;
}

/* === CBA ALERT SLIDE PANEL === */
#cba-alert-panel {
    font-family: var(--hsp-font) !important;
    border-radius: 0 !important;
}
#cba-alert-panel h3 { font-size: 13px !important; font-weight: 700 !important; }
#cba-alert-panel .alert-item { font-size: 11px !important; border-radius: 3px !important; }

/* === FLOATING HEADER (sticky header on scroll) === */
.floating-schedule-header {
    background: #0F172A !important;
    border-bottom: 2px solid #334155 !important;
}
.floating-schedule-header th {
    background: #0F172A !important;
    color: #FFFFFF !important;
}

/* === MODAL DIALOGS — Navy headers === */
.hsp-frontend-scheduler [style*="position: fixed"][style*="z-index"] > div {
    border-radius: 3px !important;
    font-family: var(--hsp-font) !important;
    box-shadow: 0 25px 50px rgba(0,0,0,0.25) !important;
}
.hsp-frontend-scheduler [style*="position: fixed"][style*="z-index"] > div > div:first-child {
    background: #0F172A !important;
    border-radius: 3px 3px 0 0 !important;
    border-bottom: 1px solid #334155 !important;
}
.hsp-frontend-scheduler [style*="position: fixed"][style*="z-index"] > div > div:first-child h3,
.hsp-frontend-scheduler [style*="position: fixed"][style*="z-index"] > div > div:first-child h2 {
    color: #FFFFFF !important;
    font-size: 14px !important;
}
.hsp-frontend-scheduler [style*="position: fixed"][style*="z-index"] > div > div:last-child {
    background: #f9fafb !important;
    border-top: 1px solid #e5e7eb !important;
}
.hsp-frontend-scheduler [style*="position: fixed"] [style*="border-radius: 12px"],
.hsp-frontend-scheduler [style*="position: fixed"] [style*="border-radius: 8px"],
.hsp-frontend-scheduler [style*="position: fixed"] [style*="border-radius: 16px"] {
    border-radius: 3px !important;
}

/* === COMPLEX BANNER === */
.complex-banner {
    border-radius: 3px !important;
    font-size: 11px !important;
}

/* === THIRD PARTY STAFFING TABLE === */
.tps-entry-row td { font-size: 11px !important; }
.tps-entry-row select,
.tps-entry-row input {
    font-size: 11px !important;
    border-radius: 2px !important;
}

/* === SUMMARY/TOTAL ROWS === */
.hsp-frontend-scheduler table tr[style*="background: #0F172A"] td,
.hsp-frontend-scheduler table tr[style*="border-top: 2px"] td {
    font-weight: 700 !important;
    font-size: 10px !important;
}

/* === PRINT === */
@media print {
    .hsp-frontend-scheduler table th,
    .dept-header-row td {
        background: #0F172A !important;
        color: #FFFFFF !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
    .position-header-row td {
        background: #e5e7eb !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}

/* ============================================
   EVENTS / BANQUETS PAGE - Enterprise Overrides
   ============================================ */

/* Stat cards */
.portal-stats-grid .portal-stat-card {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    padding: 12px 16px !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

.portal-stat-card .stat-value {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #1a1a2e !important;
    font-family: var(--hsp-font) !important;
    font-variant-numeric: tabular-nums !important;
}

.portal-stat-card .stat-label {
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
    color: #6b7280 !important;
    margin-top: 2px !important;
}

.portal-stat-card .stat-icon-wrap {
    display: none !important;
}

.portal-stat-card .stat-header {
    margin-bottom: 4px !important;
}

/* Date group headers */
.date-group {
    margin-bottom: 16px !important;
}

.date-header {
    padding: 6px 0 !important;
    border-bottom: 1.5px solid #1a1a2e !important;
    margin-bottom: 8px !important;
    gap: 8px !important;
}

.date-header h3 {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #1a1a2e !important;
}

.date-header .day-badge {
    border-radius: 2px !important;
    padding: 2px 6px !important;
    font-size: 9px !important;
    font-weight: 600 !important;
    background: #f3f4f6 !important;
}

/* Event cards */
.event-card {
    background: #FFFFFF !important;
    border: 1px solid var(--hsp-navy-200) !important;
    border-radius: 4px !important;
    padding: 10px 14px !important;
    margin-bottom: 6px !important;
    gap: 14px !important;
    box-shadow: none !important;
}

.event-card:hover {
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
    border-color: var(--hsp-navy-300) !important;
}

.event-time .time {
    font-family: var(--hsp-font-mono) !important;
    font-size: 12px !important;
}

.event-info h4 {
    font-size: 13px !important;
    font-weight: 600 !important;
    margin: 0 0 4px !important;
}

.event-info .event-meta {
    gap: 8px !important;
}

.event-info .meta-item {
    font-size: 11px !important;
    gap: 2px !important;
}

/* Badges */
.badge {
    border-radius: 2px !important;
    padding: 2px 6px !important;
    font-size: 9px !important;
}

/* Action buttons */
.event-actions .btn-icon {
    width: auto !important;
    height: auto !important;
    border-radius: 2px !important;
    font-size: 9px !important;
    padding: 2px 8px !important;
    font-family: var(--hsp-font) !important;
}

/* Filter form */
.portal-card .portal-input,
.portal-card .portal-select {
    font-family: var(--hsp-font) !important;
    font-size: 12px !important;
    padding: 6px 10px !important;
    border-radius: 3px !important;
}

/* Portal card */
.portal-card {
    border-radius: 4px !important;
    border: 1px solid var(--hsp-navy-200) !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
}

/* Portal buttons */
.portal-btn {
    font-family: var(--hsp-font) !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    padding: 6px 14px !important;
}

.portal-btn-primary {
    background: #1a1a2e !important;
    color: #FFFFFF !important;
    border: 1px solid #1a1a2e !important;
}

.portal-btn-primary:hover {
    background: #2d2d4a !important;
}

/* Modal */
.modal {
    border-radius: 4px !important;
    font-family: var(--hsp-font) !important;
}

.modal-header {
    padding: 12px 16px !important;
    background: var(--hsp-navy-900) !important;
    color: #FFFFFF !important;
}

.modal-header h3 {
    color: #FFFFFF !important;
    font-size: 13px !important;
    font-weight: 600 !important;
}

.modal-body {
    padding: 16px !important;
}

.modal-body .form-group label {
    font-size: 11px !important;
    font-weight: 600 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.03em !important;
}

.modal-body .form-group input,
.modal-body .form-group select,
.modal-body .form-group textarea {
    font-family: var(--hsp-font) !important;
    font-size: 12px !important;
    border-radius: 3px !important;
    padding: 6px 10px !important;
}

.modal-footer {
    padding: 10px 16px !important;
}

.btn-close {
    color: rgba(255,255,255,0.6) !important;
    font-size: 18px !important;
}

/* ============================================
   GUEST REVIEWS PAGE - Enterprise Overrides
   ============================================ */
.hsp-guest-reviews-wrap {
    font-family: var(--hsp-font) !important;
    font-size: 12px !important;
    color: #1a1a2e !important;
}

.hsp-guest-reviews-wrap * {
    font-family: var(--hsp-font) !important;
}

/* Header */
.hsp-guest-reviews-wrap > div:first-child h1 {
    font-size: 16px !important;
    font-weight: 600 !important;
}

.hsp-guest-reviews-wrap > div:first-child p {
    font-size: 11px !important;
}

/* Stats cards */
.hsp-guest-reviews-wrap .stat-card,
#stats-dashboard > div {
    background: #FFFFFF !important;
    border: 1px solid #d1d5db !important;
    border-radius: 3px !important;
    padding: 10px 14px !important;
    box-shadow: none !important;
}

#stats-dashboard {
    gap: 8px !important;
    margin-bottom: 16px !important;
}

#stats-dashboard [style*="font-size: 18px"] {
    font-size: 18px !important;
    font-variant-numeric: tabular-nums !important;
}

#stats-dashboard [style*="color: #64748b"] {
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    font-weight: 600 !important;
}

/* Selects and inputs */
.hsp-guest-reviews-wrap select,
.hsp-guest-reviews-wrap input[type="text"],
.hsp-guest-reviews-wrap input[type="date"],
.hsp-guest-reviews-wrap input[type="search"] {
    font-size: 11px !important;
    border-radius: 3px !important;
    padding: 5px 8px !important;
    border: 1px solid #d1d5db !important;
}

/* Buttons */
.hsp-guest-reviews-wrap .hsp-btn-primary,
.hsp-guest-reviews-wrap button[style*="background: #2563EB"],
.hsp-guest-reviews-wrap button[style*="background: #0F172A"] {
    font-size: 11px !important;
    font-weight: 600 !important;
    border-radius: 3px !important;
    padding: 5px 14px !important;
}

/* Tab navigation */
.hsp-guest-reviews-wrap [role="tablist"],
.hsp-guest-reviews-wrap .tabs-container,
.hsp-guest-reviews-wrap [style*="border-bottom"][style*="display: flex"][style*="gap"] {
    border-bottom: 1.5px solid #1a1a2e !important;
    gap: 0 !important;
    margin-bottom: 16px !important;
}

/* Tables */
.hsp-guest-reviews-wrap table {
    width: 100% !important;
    border-collapse: collapse !important;
    font-size: 11px !important;
}

.hsp-guest-reviews-wrap table th {
    background: #0F172A !important;
    color: #FFFFFF !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.05em !important;
    padding: 6px 8px !important;
    border: 1px solid #1e293b !important;
}

.hsp-guest-reviews-wrap table td {
    font-size: 11px !important;
    padding: 5px 8px !important;
    border-bottom: 1px solid #e5e7eb !important;
}

.hsp-guest-reviews-wrap table tr:nth-child(even) td {
    background: #f9fafb !important;
}

.hsp-guest-reviews-wrap table tr:hover td {
    background: #EFF6FF !important;
}

/* Review cards → compact rows */
.hsp-guest-reviews-wrap .review-card,
.hsp-guest-reviews-wrap [class*="review-item"],
.hsp-guest-reviews-wrap [style*="border-radius: 3px"][style*="padding: 20px"] {
    padding: 10px 14px !important;
    margin-bottom: 6px !important;
    border: 1px solid #d1d5db !important;
    box-shadow: none !important;
}

/* Standup report modal/output */
.hsp-guest-reviews-wrap [style*="max-height: 70vh"],
.hsp-guest-reviews-wrap [style*="max-height: 80vh"] {
    font-size: 12px !important;
}

/* Section headers */
.hsp-guest-reviews-wrap h2,
.hsp-guest-reviews-wrap h3 {
    font-size: 12px !important;
    font-weight: 700 !important;
    text-transform: uppercase !important;
    letter-spacing: 0.04em !important;
    color: #1a1a2e !important;
}

/* Action plan items */
.hsp-guest-reviews-wrap [style*="border-left: 3px"],
.hsp-guest-reviews-wrap [style*="border-left: 4px"] {
    border-radius: 0 3px 3px 0 !important;
    padding: 8px 12px !important;
}

/* Badges/pills */
.hsp-guest-reviews-wrap [style*="border-radius: 3px"][style*="padding"][style*="font-size: 11px"],
.hsp-guest-reviews-wrap [style*="border-radius: 3px"][style*="padding"][style*="font-size: 12px"] {
    border-radius: 2px !important;
    font-size: 9px !important;
    padding: 1px 6px !important;
}

/* Print */
@media print {
    .hsp-guest-reviews-wrap table th {
        background: #0F172A !important;
        color: #FFFFFF !important;
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}
