/* ========================================
   RIDDHIX CSS - COMPLETE LIBRARY
   Version: 1.0.0
   Brand Colors: #02183c & #0153e6
   ======================================== */
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&amp;display=swap');

:root {
	/* Brand Colors */
  --rx-brand-dark: #02183c;
  --rx-brand-primary: #0153e6;
  --rx-brand-light: #e8f0fe;
	
    /* Professional Dark Theme */
    --rx-primary: #6366f1;
    --rx-primary-dark: #4f46e5;
    --rx-primary-light: #818cf8;
    --rx-primary-bg: #eef2ff;
	--rx-white:#ffffff;
	--rx-gray-50: #f8fafc;
	--rx-gray-100: #f1f5f9;
	--rx-gray-200: #e2e8f0;
	--rx-gray-300: #cbd5e1;
	--rx-gray-400: #94a3b8;
	--rx-gray-500: #64748b;
	--rx-gray-600: #475569;
	--rx-gray-700: #334155;
	--rx-gray-800: #1e293b;
	--rx-gray-900: #0f172a;

    
    --rx-secondary: #64748b;
    --rx-secondary-dark: #475569;
    --rx-secondary-light: #94a3b8;
    
    --rx-success: #22c55e;
    --rx-success-dark: #16a34a;
    --rx-success-bg: #f0fdf4;
    
    --rx-danger: #ef4444;
    --rx-danger-dark: #dc2626;
    --rx-danger-bg: #fef2f2;
    
    --rx-warning: #f59e0b;
    --rx-warning-dark: #d97706;
    --rx-warning-bg: #fffbeb;
    
    --rx-info: #06b6d4;
    --rx-info-dark: #0891b2;
    --rx-info-bg: #ecfeff;
    
    /* Dark Mode Colors */
	--rx-brand-bg: #02183c;
    --rx-bg-dark: #0f172a;
    --rx-bg-card: #1e293b;
    --rx-bg-hover: rgba(255,255,255,0.05);
    --rx-border: rgba(255,255,255,0.06);
    --rx-text-primary: #f1f5f9;
    --rx-text-secondary: #94a3b8;
    --rx-text-muted: #64748b;

        
    /* Typography */
	@font-face {
	  font-family: 'Inter Display';
	  src: url('../assets/fonts/InterDisplay-Medium.html') format('woff2'), url('../assets/fonts/InterDisplay-Medium-2.html') format('woff');
	  font-weight: 500;
	  font-style: normal;
	  font-display: swap;
	}
	@font-face {
	  font-family: 'Inter Display';
	  src: url('../assets/fonts/InterDisplay-SemiBold.html') format('woff2'), url('../assets/fonts/InterDisplay-SemiBold-2.html') format('woff');
	  font-weight: 600;
	  font-style: normal;
	  font-display: swap;
	}
    --rx-font-family: "Inter", sans-serif;
	--rx-font-display: "Inter Display" 'sans-serif';
    --rx-font-size-base: 16px;
    --rx-font-size-sm: 0.875rem;
    --rx-font-size-lg: 1.125rem;
    --rx-font-size-xl: 1.25rem;
    --rx-font-size-2xl: 1.5rem;
    --rx-font-size-3xl: 1.875rem;
    
    /* Spacing */
    --rx-spacing-1: 0.25rem;
    --rx-spacing-2: 0.5rem;
    --rx-spacing-3: 0.75rem;
    --rx-spacing-4: 1rem;
    --rx-spacing-5: 1.25rem;
    --rx-spacing-6: 1.5rem;
    --rx-spacing-8: 2rem;
    --rx-spacing-10: 2.5rem;
    --rx-spacing-12: 3rem;
    --rx-spacing-16: 4rem;
    --rx-spacing-20: 5rem;
    
    /* Border Radius */
    --rx-radius-sm: 0.25rem;
    --rx-radius: 0.375rem;
    --rx-radius-md: 0.5rem;
    --rx-radius-lg: 0.75rem;
    --rx-radius-xl: 1rem;
    --rx-radius-full: 9999px;
    
    /* Shadows */
    --rx-shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --rx-shadow: 8px 8px 36px -12px rgba(0, 0, 0, 0.14);
    --rx-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --rx-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --rx-shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    
    /* Transitions */
    --rx-transition-fast: 150ms;
    --rx-transition: 250ms;
    --rx-transition-slow: 350ms;
    
    /* Z-index */
    --rx-z-dropdown: 1000;
    --rx-z-sticky: 1020;
    --rx-z-fixed: 1030;
    --rx-z-modal-backdrop: 1040;
    --rx-z-modal: 1050;
    --rx-z-popover: 1060;
    --rx-z-tooltip: 1070;
}

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: var(--rx-font-family);
    font-size: var(--rx-font-size-base);
    line-height: 1.6;
    color: var(--rx-gray-900);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Remove default list styles */
ul, ol {
    list-style: none;
}

/* Remove default anchor styles */
a {
    text-decoration: none;
    color: var(--rx-primary);
}


.rx-text-32 {
	font-size: var(--rx-font-size-2xl);
	font-weight:700;
}
a:hover {
    color: var(--rx-primary-dark);
}

/* Remove default button styles */
button,
input,
select,
textarea {
    font-family: inherit;
    font-size: inherit;
    line-height: inherit;
}

button {
    cursor: pointer;
    border: none;
    background: none;
}

/* ============================================
   RIDDHIX BUTTON ANIMATIONS
   ============================================ */

/* Base Button with Animation */
.rx-btn-animate {
   position: relative;
   z-index: 2;
   overflow: hidden;
   border-radius: 9999px;
   padding: 0.8rem 2rem;
   text-align: center;
   font-size: 1rem;
   font-weight: 600;
   line-height: 1;
   color: #ffffff;
   background-color: #0153e6;
   cursor: pointer;
   border: none;
   transition: all 500ms ease-in-out;

}


/* Button Text - Z-index higher */
.rx-btn-animate .rx-btn-text {
   position: relative;
   z-index: 5;
   transition: all 500ms ease-in-out 100ms;
}

/* Hover Background Effect - No extra div needed */
.rx-btn-animate::before {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   z-index: 1;
   width: 0;
   height: 0;
   border-radius: 9999px;
   background-color: #02183c;
   transform: translate(-50%, -50%);
   transition: all 700ms linear;
}

/* Hover State */
.rx-btn-animate:hover {
   color: #ffffff;
}

.rx-btn-animate:hover::before {
   width: 500px;
   height: 500px;
}

/* ============================================
   BUTTON WITH DIFFERENT COLORS
   ============================================ */

/* Primary Button */
.rx-btn-primary-animate {
   background-color: #0153e6;
   color: #ffffff;
}

.rx-btn-primary-animate::before {
   background-color: #02183c;
}

/* Success Button */
.rx-btn-success-animate {
   background-color: #22c55e;
   color: #ffffff;
}

.rx-btn-success-animate::before {
   background-color: #16a34a;
}

/* Danger Button */
.rx-btn-danger-animate {
   background-color: #ef4444;
   color: #ffffff;
}

.rx-btn-danger-animate::before {
   background-color: #dc2626;
}

/* Warning Button */
.rx-btn-warning-animate {
   background-color: #f59e0b;
   color: #1a1a2e;
}

.rx-btn-warning-animate::before {
   background-color: #d97706;
}

/* Outline Button */
.rx-btn-outline-animate {
   background-color: transparent;
   color: #0153e6;
   border: 2px solid #0153e6;
}

.rx-btn-outline-animate::before {
   background-color: #0153e6;
}

.rx-btn-outline-animate:hover {
   color: #ffffff;
}

/* ============================================
   BUTTON SIZES
   ============================================ */

/* Small Button */
.rx-btn-sm-animate {
   padding: 0.4rem 1.2rem;
   font-size: 0.75rem;
}

/* Large Button */
.rx-btn-lg-animate {
   padding: 1rem 3rem;
   font-size: 1.125rem;
}

/* ============================================
   ALTERNATIVE - SIMPLE HOVER EFFECT
   ============================================ */

/* Simple Scale on Hover */
.rx-btn-scale {
   transition: all 300ms ease;
}

.rx-btn-scale:hover {
   transform: scale(1.05);
   box-shadow: 0 8px 25px rgba(1, 83, 230, 0.35);
}

/* Slide Effect */
.rx-btn-slide {
   position: relative;
   overflow: hidden;
   z-index: 1;
}

.rx-btn-slide::before {
   content: '';
   position: absolute;
   top: 0;
   left: -100%;
   width: 100%;
   height: 100%;
   background: #02183c;
   transition: all 400ms ease;
   z-index: -1;
}

.rx-btn-slide:hover::before {
   left: 0;
}

/* Shine Effect */
.rx-btn-shine {
   position: relative;
   overflow: hidden;
}

.rx-btn-shine::after {
   content: '';
   position: absolute;
   top: -50%;
   left: -50%;
   width: 200%;
   height: 200%;
   background: linear-gradient(45deg, transparent 40%, rgba(255,255,255,0.15) 50%, transparent 60%);
   transform: rotate(45deg) translateX(-100%);
   transition: all 600ms ease;
}

.rx-btn-shine:hover::after {
   transform: rotate(45deg) translateX(100%);
}

/* Ripple Effect */
.rx-btn-ripple {
   position: relative;
   overflow: hidden;
}

.rx-btn-ripple::before {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   width: 0;
   height: 0;
   border-radius: 50%;
   background: rgba(255, 255, 255, 0.3);
   transform: translate(-50%, -50%);
   transition: all 600ms ease;
}

.rx-btn-ripple:hover::before {
   width: 400px;
   height: 400px;
}

/* Gradient Button */
.rx-btn-gradient {
   background: linear-gradient(135deg, #0153e6, #02183c);
   border: none;
   color: #ffffff;
   transition: all 400ms ease;
}

.rx-btn-gradient:hover {
   background: linear-gradient(135deg, #02183c, #0153e6);
   transform: translateY(-2px);
   box-shadow: 0 8px 30px rgba(1, 83, 230, 0.4);
}

/* Remove default table styles */
table {
    border-collapse: collapse;
    width: 100%;
}

/* Remove default image styles */
img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* Remove default fieldset styles */
fieldset {
    border: none;
}

/* Remove default HR styles */
hr {
    border: 0;
    border-top: 1px solid var(--rx-gray-200);
    margin: var(--rx-spacing-4) 0;
}

/* Accessibility */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

/* Focus styles */
:focus-visible {
    outline: 2px solid var(--rx-primary);
    outline-offset: 2px;
}

/* assets/css/rx_hms_layout.css */
/* Container */
.rx-container {
    width: 100%;
    max-width: 95%;
    margin: 0 auto;
    padding: 0 var(--rx-spacing-4);
}

.rx-container-fluid {
    width: 100%;
    padding: 0 var(--rx-spacing-4);
}


/* Row with gap */
.rx-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px;
    gap: 0;
}

/* Columns with proper padding */
.rx-col-1,
.rx-col-2,
.rx-col-3,
.rx-col-4,
.rx-col-5,
.rx-col-6,
.rx-col-7,
.rx-col-8,
.rx-col-9,
.rx-col-10,
.rx-col-11,
.rx-col-12 {
    padding: 0 12px;
    box-sizing: border-box;
}

/* Column widths */
.rx-col-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
.rx-col-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
.rx-col-3 { flex: 0 0 25%; max-width: 25%; }
.rx-col-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
.rx-col-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
.rx-col-6 { flex: 0 0 50%; max-width: 50%; }
.rx-col-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
.rx-col-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
.rx-col-9 { flex: 0 0 75%; max-width: 75%; }
.rx-col-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
.rx-col-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
.rx-col-12 { flex: 0 0 100%; max-width: 100%; }

/* Gap utility classes */
.rx-gap-1 { gap: 4px; }
.rx-gap-2 { gap: 8px; }
.rx-gap-3 { gap: 12px; }
.rx-gap-4 { gap: 16px; }
.rx-gap-5 { gap: 20px; }
.rx-gap-6 { gap: 24px; }

/* Margin utilities */
.rx-mt-1 { margin-top: 4px; }
.rx-mt-2 { margin-top: 8px; }
.rx-mt-3 { margin-top: 12px; }
.rx-mt-4 { margin-top: 16px; }
.rx-mt-5 { margin-top: 20px; }
.rx-mt-6 { margin-top: 24px; }
.rx-mt-30 { margin-top: 30px; }
.rx-mt-60 { margin-top: 60px; }

.rx-mb-1 { margin-bottom: 4px; }
.rx-mb-2 { margin-bottom: 8px; }
.rx-mb-3 { margin-bottom: 12px; }
.rx-mb-4 { margin-bottom: 16px; }
.rx-mb-5 { margin-bottom: 20px; }
.rx-mb-6 { margin-bottom: 24px; }
.rx-mb-30 { margin-bottom: 30px; }
.rx-mb-60 { margin-bottom: 60px; }

/* Form row with gaps */
.rx-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-end;
}

.rx-form-row .rx-form-group {
    flex: 1;
    min-width: 180px;
    margin-bottom: 0;
}

/* Sidebar Layout */
.rx-layout {
    display: flex;
    min-height: 100vh;
}

.rx-sidebar {
    width: 250px;
    background-color: var(--rx-gray-900);
    color: var(--rx-white);
    flex-shrink: 0;
    transition: transform var(--rx-transition);
}

.rx-main {
    flex: 1;
    padding: var(--rx-spacing-4);
    overflow-x: hidden;
}

/* Login/Register Layouts */
.rx-auth-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 100vh;
    background: linear-gradient(135deg, var(--rx-primary) 0%, var(--rx-primary-dark) 100%);
}

.rx-auth-card {
    background: var(--rx-white);
    border-radius: var(--rx-radius-lg);
    padding: var(--rx-spacing-8);
    max-width: 450px;
    width: 100%;
    box-shadow: var(--rx-shadow-xl);
}

/* Navigation */
.rx-nav {
    background-color: var(--rx-primary);
    padding: var(--rx-spacing-3) var(--rx-spacing-4);
    color: var(--rx-white);
}

.rx-nav-brand {
    font-size: var(--rx-font-size-xl);
    font-weight: 700;
    color: var(--rx-white);
    text-decoration: none;
}

.rx-nav-menu {
    display: flex;
    gap: var(--rx-spacing-4);
    align-items: center;
}

.rx-nav-link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: none;
    padding: var(--rx-spacing-1) var(--rx-spacing-2);
    transition: color var(--rx-transition-fast);
}

.rx-nav-link:hover {
    color: var(--rx-white);
}

.rx-nav-link-active {
    color: var(--rx-white);
    font-weight: 600;
}

/* Sidebar Navigation */
.rx-sidebar-nav {
    padding: var(--rx-spacing-4) 0;
}

.rx-sidebar-nav-item {
    padding: var(--rx-spacing-2) var(--rx-spacing-4);
    color: rgba(255, 255, 255, 0.7);
    text-decoration: none;
    display: flex;
    align-items: center;
    gap: var(--rx-spacing-3);
    transition: all var(--rx-transition-fast);
}

.rx-sidebar-nav-item:hover {
    background-color: rgba(255, 255, 255, 0.1);
    color: var(--rx-white);
}

.rx-sidebar-nav-item-active {
    background-color: rgba(255, 255, 255, 0.15);
    color: var(--rx-white);
}

/* Main Layout with Sticky Sidebar */
.rx-layout {
    display: flex;
    min-height: 100vh;
    background: #f8fafc;
}

/* Form Groups */
.rx-form-group {
    margin-bottom: var(--rx-spacing-4);
}

.rx-form-label {
    display: block;
    margin-bottom: var(--rx-spacing-1);
    font-weight: 500;
    color: var(--rx-gray-700);
}

.rx-form-label-required::after {
    content: '*';
    color: var(--rx-danger);
    margin-left: var(--rx-spacing-1);
}

/* Form Controls */
.rx-form-control {
    display: block;
    width: 100%;
    padding: var(--rx-spacing-2) var(--rx-spacing-3);
    font-size: var(--rx-font-size-base);
    line-height: 1.5;
    color: var(--rx-gray-900);
    background-color: var(--rx-white);
    border: 1px solid var(--rx-gray-300);
    border-radius: var(--rx-radius);
    transition: border-color var(--rx-transition-fast), box-shadow var(--rx-transition-fast);
}

.rx-form-control:focus {
    border-color: var(--rx-primary);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

.rx-form-control:disabled {
    background-color: var(--rx-gray-100);
    cursor: not-allowed;
}

.rx-form-control-error {
    border-color: var(--rx-danger);
}
.rx-form-control-error:focus {
    border-color: var(--rx-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.1);
}

.rx-form-control-success {
    border-color: var(--rx-success);
}
.rx-form-control-success:focus {
    border-color: var(--rx-success);
    box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.1);
}

/* Textarea */
.rx-form-textarea {
    resize: vertical;
    min-height: 100px;
}

/* Select */
.rx-form-select {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2364748b' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--rx-spacing-3) center;
    padding-right: var(--rx-spacing-8);
}

/* Input Groups */
.rx-input-group {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.rx-input-group-prepend,
.rx-input-group-append {
    display: flex;
    align-items: center;
    padding: var(--rx-spacing-2) var(--rx-spacing-3);
    background-color: var(--rx-gray-100);
    border: 1px solid var(--rx-gray-300);
    color: var(--rx-gray-600);
}

.rx-input-group-prepend {
    border-radius: var(--rx-radius) 0 0 var(--rx-radius);
    border-right: none;
}

.rx-input-group-append {
    border-radius: 0 var(--rx-radius) var(--rx-radius) 0;
    border-left: none;
}

.rx-input-group .rx-form-control {
    border-radius: 0;
    flex: 1;
}
.rx-input-group .rx-form-control:first-child {
    border-radius: var(--rx-radius) 0 0 var(--rx-radius);
}
.rx-input-group .rx-form-control:last-child {
    border-radius: 0 var(--rx-radius) var(--rx-radius) 0;
}

/* Checkboxes and Radio */
.rx-check {
    display: flex;
    align-items: center;
    gap: var(--rx-spacing-2);
    cursor: pointer;
}

.rx-check-input {
    width: 1rem;
    height: 1rem;
    cursor: pointer;
}

.rx-check-label {
    cursor: pointer;
    user-select: none;
}

/* Form Validation */
.rx-feedback {
    display: block;
    margin-top: var(--rx-spacing-1);
    font-size: var(--rx-font-size-sm);
    color: var(--rx-gray-500);
}

.rx-feedback-error {
    color: var(--rx-danger);
}

.rx-feedback-success {
    color: var(--rx-success);
}

/* Form Row */
.rx-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: var(--rx-spacing-3);
}

.rx-form-row .rx-form-group {
    flex: 1;
    min-width: 200px;
}

/* Main Content Area */
.rx-main {
    flex: 1;
    padding: 24px 32px;
    min-height: 100vh;
    background: #f8fafc;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* When sidebar is collapsed */
.rx-sidebar.collapsed ~ .rx-main {
    padding-left: 24px;
}

/* ============================================
   MOBILE SIDEBAR OVERLAY
   ============================================ */

.rx-sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 999;
    backdrop-filter: blur(4px);
}

.rx-sidebar-overlay.active {
    display: block;
}

/* Mobile Sidebar Toggle Button */
.rx-mobile-sidebar-toggle {
    display: none;
    position: fixed;
    bottom: 24px;
    right: 24px;
    width: 52px;
    height: 52px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    border: none;
    border-radius: 50%;
    color: white;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 24px rgba(99, 102, 241, 0.4);
    cursor: pointer;
    z-index: 100;
    transition: all 0.3s;
}

.rx-mobile-sidebar-toggle:hover {
    transform: scale(1.05);
    box-shadow: 0 6px 32px rgba(99, 102, 241, 0.5);
}

.rx-mobile-sidebar-toggle:active {
    transform: scale(0.95);
}
.ultra-small {
	font-size:10px;
	display:block;
}

@media (max-width: 768px) {
    .rx-mobile-sidebar-toggle {
        display: flex !important;
    }
    
    .rx-main {
        padding: 16px;
    }
}

@media (max-width: 480px) {
    .rx-main {
        padding: 12px;
    }
}

/* ============================================
   SIDEBAR - CLEAN COLLAPSE WITH DISPLAY NONE
   ============================================ */

.rx-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    width: 260px;
    min-width: 260px;
    background: #0f172a;
    border-right: 1px solid rgba(255,255,255,0.05);
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    overflow-x: hidden;
    transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 50;
    scrollbar-width: thin;
    scrollbar-color: rgba(255,255,255,0.1) transparent;
}

.rx-sidebar::-webkit-scrollbar {
    width: 4px;
}

.rx-sidebar::-webkit-scrollbar-track {
    background: transparent;
}

.rx-sidebar::-webkit-scrollbar-thumb {
    background: rgba(255,255,255,0.1);
    border-radius: 4px;
}

/* ============================================
   SIDEBAR HEADER
   ============================================ */

.rx-sidebar-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 20px 20px 16px;
    border-bottom: 1px solid rgba(255,255,255,0.05);
    flex-shrink: 0;
    min-height: 72px;
}

.rx-sidebar-logo {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    overflow: hidden;
}

.rx-sidebar-logo-icon {
    width: 38px;
    height: 38px;
    background: rgba(99, 102, 241, 0.15);
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rx-sidebar-logo-icon svg {
    display: block;
}

.rx-sidebar-brand {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.5px;
    white-space: nowrap;
}

.rx-sidebar-version {
    font-size: 10px;
    color: #64748b;
    background: rgba(255,255,255,0.05);
    padding: 2px 8px;
    border-radius: 12px;
    margin-left: 4px;
    white-space: nowrap;
}

.rx-sidebar-toggle {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    color: #94a3b8;
    width: 28px;
    height: 28px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s;
    flex-shrink: 0;
    padding: 0;
}

.rx-sidebar-toggle:hover {
    background: rgba(255,255,255,0.1);
    color: #ffffff;
}

.rx-sidebar-toggle svg {
    display: block;
}

/* ============================================
   SIDEBAR NAVIGATION
   ============================================ */

.rx-sidebar-nav {
    flex: 1;
    padding: 16px 12px 12px;
    overflow-y: auto;
}

.rx-sidebar-section {
    margin-bottom: 20px;
}

.rx-sidebar-section:last-child {
    margin-bottom: 0;
}

.rx-sidebar-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    color: #475569;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    padding: 0 12px;
    margin-bottom: 8px;
    white-space: nowrap;
}

.rx-sidebar-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.rx-sidebar-nav ul li {
    margin-bottom: 2px;
}

/* ============================================
   SIDEBAR LINKS
   ============================================ */

.rx-sidebar-link {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: 10px;
    color: #94a3b8;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    transition: all 0.2s;
    min-height: 44px;
    position: relative;
}

.rx-sidebar-link:hover {
    background: rgba(255,255,255,0.06);
    color: #e2e8f0;
}

.rx-sidebar-link.active {
    background: rgba(99, 102, 241, 0.15);
    color: #818cf8;
}

.rx-sidebar-link.active .rx-sidebar-icon {
    color: #818cf8;
}

/* Icon Container */
.rx-sidebar-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    color: #64748b;
}

.rx-sidebar-icon svg {
    width: 18px;
    height: 18px;
    display: block;
    stroke: currentColor;
    fill: none;
}

.rx-sidebar-link:hover .rx-sidebar-icon {
    color: #94a3b8;
}

.rx-sidebar-link.active .rx-sidebar-icon {
    color: #818cf8;
}

/* Text */
.rx-sidebar-text {
    flex: 1;
    white-space: nowrap;
    line-height: 1;
}

/* Badges */
.rx-sidebar-badge {
    font-size: 10px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 12px;
    background: rgba(255,255,255,0.08);
    color: #94a3b8;
    flex-shrink: 0;
    min-width: 20px;
    text-align: center;
    line-height: 1.4;
}

.rx-sidebar-badge-warning {
    background: rgba(245, 158, 11, 0.2);
    color: #fbbf24;
}

.rx-sidebar-badge-danger {
    background: rgba(239, 68, 68, 0.2);
    color: #f87171;
}

.rx-sidebar-badge-success {
    background: rgba(34, 197, 94, 0.2);
    color: #4ade80;
}

/* Active Indicator */
.rx-sidebar-active {
    width: 3px;
    height: 20px;
    background: #818cf8;
    border-radius: 4px;
    flex-shrink: 0;
}

/* ============================================
   SIDEBAR FOOTER
   ============================================ */

.rx-sidebar-footer {
    padding: 12px 16px;
    border-top: 1px solid rgba(255,255,255,0.05);
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
    min-height: 60px;
}

.rx-sidebar-user {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
    min-width: 0;
}

.rx-sidebar-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 600;
    font-size: 13px;
    flex-shrink: 0;
}

.rx-sidebar-user-info {
    flex: 1;
    min-width: 0;
}

.rx-sidebar-user-name {
    display: block;
    color: #e2e8f0;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rx-sidebar-user-role {
    display: block;
    color: #64748b;
    font-size: 11px;
    text-transform: capitalize;
}

.rx-sidebar-logout {
    color: #64748b;
    padding: 6px;
    border-radius: 6px;
    transition: all 0.2s;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.rx-sidebar-logout:hover {
    background: rgba(239, 68, 68, 0.1);
    color: #f87171;
}

.rx-sidebar-logout svg {
    display: block;
}

/* ============================================
   COLLAPSED STATE - USING DISPLAY NONE
   ============================================ */

.rx-sidebar.collapsed {
    width: 72px;
    min-width: 72px;
}

/* Hide text elements using display: none */
.rx-sidebar.collapsed .rx-sidebar-brand,
.rx-sidebar.collapsed .rx-sidebar-version,
.rx-sidebar.collapsed .rx-sidebar-text,
.rx-sidebar.collapsed .rx-sidebar-label,
.rx-sidebar.collapsed .rx-sidebar-badge,
.rx-sidebar.collapsed .rx-sidebar-active,
.rx-sidebar.collapsed .rx-sidebar-user-info {
    display: none;
}

/* Center icons */
.rx-sidebar.collapsed .rx-sidebar-link {
    justify-content: center;
    padding: 10px 0;
}

.rx-sidebar.collapsed .rx-sidebar-icon {
    margin: 0;
}

.rx-sidebar.collapsed .rx-sidebar-toggle svg {
    transform: rotate(180deg);
}

.rx-sidebar.collapsed .rx-sidebar-user {
    justify-content: center;
}

.rx-sidebar.collapsed .rx-sidebar-footer {
    justify-content: center;
}

.rx-sidebar.collapsed .rx-sidebar-avatar {
    width: 28px;
    height: 28px;
    font-size: 11px;
}

/* ============================================
   HOVER EXPAND - REVEAL WITH DISPLAY BLOCK
   ============================================ */

.rx-sidebar.collapsed:hover {
    width: 260px;
    min-width: 260px;
}

/* Show hidden elements on hover */
.rx-sidebar.collapsed:hover .rx-sidebar-brand,
.rx-sidebar.collapsed:hover .rx-sidebar-version,
.rx-sidebar.collapsed:hover .rx-sidebar-text,
.rx-sidebar.collapsed:hover .rx-sidebar-label,
.rx-sidebar.collapsed:hover .rx-sidebar-badge,
.rx-sidebar.collapsed:hover .rx-sidebar-active,
.rx-sidebar.collapsed:hover .rx-sidebar-user-info {
    display: block;
}

/* For flex items that need to be flex */
.rx-sidebar.collapsed:hover .rx-sidebar-user-info {
    display: block;
}

/* Reset link padding on hover */
.rx-sidebar.collapsed:hover .rx-sidebar-link {
    justify-content: flex-start;
    padding: 10px 14px;
}

.rx-sidebar.collapsed:hover .rx-sidebar-user {
    justify-content: flex-start;
}

.rx-sidebar.collapsed:hover .rx-sidebar-footer {
    justify-content: space-between;
}

.rx-sidebar.collapsed:hover .rx-sidebar-avatar {
    width: 32px;
    height: 32px;
    font-size: 13px;
}

/* ============================================
   MOBILE RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .rx-sidebar {
        position: fixed;
        top: 0;
        left: -280px;
        height: 100vh;
        width: 280px;
        min-width: 280px;
        box-shadow: 0 0 40px rgba(0,0,0,0.5);
        transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 1000;
    }

    .rx-sidebar.mobile-open {
        left: 0;
    }

    /* Override collapsed styles on mobile - always show full */
    .rx-sidebar.collapsed {
        width: 280px;
        min-width: 280px;
    }

    .rx-sidebar.collapsed .rx-sidebar-brand,
    .rx-sidebar.collapsed .rx-sidebar-version,
    .rx-sidebar.collapsed .rx-sidebar-text,
    .rx-sidebar.collapsed .rx-sidebar-label,
    .rx-sidebar.collapsed .rx-sidebar-badge,
    .rx-sidebar.collapsed .rx-sidebar-active,
    .rx-sidebar.collapsed .rx-sidebar-user-info {
        display: block;
    }

    .rx-sidebar.collapsed .rx-sidebar-link {
        justify-content: flex-start;
        padding: 10px 14px;
    }

    .rx-sidebar.collapsed .rx-sidebar-user {
        justify-content: flex-start;
    }

    .rx-sidebar.collapsed .rx-sidebar-footer {
        justify-content: space-between;
    }

    .rx-sidebar.collapsed .rx-sidebar-avatar {
        width: 32px;
        height: 32px;
        font-size: 13px;
    }

    .rx-sidebar.collapsed .rx-sidebar-toggle svg {
        transform: rotate(0deg);
    }

    .rx-sidebar.collapsed:hover {
        width: 280px;
        min-width: 280px;
    }

    .rx-sidebar.collapsed:hover .rx-sidebar-brand,
    .rx-sidebar.collapsed:hover .rx-sidebar-version,
    .rx-sidebar.collapsed:hover .rx-sidebar-text,
    .rx-sidebar.collapsed:hover .rx-sidebar-label,
    .rx-sidebar.collapsed:hover .rx-sidebar-badge,
    .rx-sidebar.collapsed:hover .rx-sidebar-active,
    .rx-sidebar.collapsed:hover .rx-sidebar-user-info {
        display: block;
    }

    .rx-sidebar.collapsed:hover .rx-sidebar-link {
        justify-content: flex-start;
        padding: 10px 14px;
    }

    /* Mobile Overlay */
    .rx-sidebar-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(0,0,0,0.5);
        z-index: 999;
        backdrop-filter: blur(4px);
    }

    .rx-sidebar-overlay.active {
        display: block;
    }

    .rx-mobile-sidebar-toggle {
        display: flex !important;
        position: fixed;
        bottom: 24px;
        right: 24px;
        width: 52px;
        height: 52px;
        background: linear-gradient(135deg, #6366f1, #8b5cf6);
        border: none;
        border-radius: 50%;
        color: white;
        align-items: center;
        justify-content: center;
        box-shadow: 0 4px 24px rgba(99, 102, 241, 0.4);
        cursor: pointer;
        z-index: 100;
        transition: all 0.3s;
    }

    .rx-mobile-sidebar-toggle:hover {
        transform: scale(1.05);
        box-shadow: 0 6px 32px rgba(99, 102, 241, 0.5);
    }
}

@media (min-width: 769px) {
    .rx-mobile-sidebar-toggle {
        display: none !important;
    }
}
/* Cards */
.rx-card {
    background: var(--rx-white);
    border-radius: var(--rx-radius-md);
    box-shadow: var(--rx-shadow);
    overflow: hidden;
}

.rx-card-header {
    padding: var(--rx-spacing-4) var(--rx-spacing-5);
    border-bottom: 1px solid var(--rx-gray-200);
    background-color: var(--rx-gray-900);
}

.rx-card-header span,
.rx-card-header h3 {
	color:#fff;
}

.rx-card-body {
    padding: var(--rx-spacing-5);
}

.rx-card-footer {
    padding: var(--rx-spacing-4) var(--rx-spacing-5);
    border-top: 1px solid var(--rx-gray-200);
    background-color: var(--rx-gray-50);
}

/* Buttons */
.rx-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--rx-spacing-2);
    padding: var(--rx-spacing-2) var(--rx-spacing-4);
    border-radius: var(--rx-radius);
	font-size:14px;
    font-weight: 500;
    transition: all var(--rx-transition-fast);
    cursor: pointer;
    border: 1px solid transparent;
    text-decoration: none;
}


.rx-btn-primary {
    background-color: var(--rx-primary);
    color: var(--rx-white);
}
.rx-btn-primary:hover {
    background-color: var(--rx-primary-dark);
    color: var(--rx-white);
}

.rx-btn-success {
    background-color: var(--rx-success);
    color: var(--rx-white);
}
.rx-btn-success:hover {
    background-color: var(--rx-success-dark);
    color: var(--rx-white);
}

.rx-btn-danger {
    background-color: var(--rx-danger);
    color: var(--rx-white);
}
.rx-btn-danger:hover {
    background-color: var(--rx-danger-dark);
    color: var(--rx-white);
}

.rx-btn-warning {
    background-color: var(--rx-warning);
    color: var(--rx-gray-900);
}
.rx-btn-warning:hover {
    background-color: var(--rx-warning-dark);
    color: var(--rx-gray-900);
}

.rx-btn-info {
    background-color: var(--rx-info);
    color: var(--rx-white);
}
.rx-btn-info:hover {
    background-color: var(--rx-info-dark);
    color: var(--rx-white);
}

.rx-btn-secondary {
    background-color: var(--rx-gray-200);
    color: var(--rx-gray-800);
}
.rx-btn-secondary:hover {
    background-color: var(--rx-gray-300);
}

.rx-btn-outline-primary {
    background-color: transparent;
    border-color: var(--rx-brand-primary);
    color: var(--rx-brand-primary);
}
.rx-btn-outline-primary:hover {
    background-color: var(--rx-brand-dark);
    color: var(--rx-white);
}

.rx-btn-sm {
    padding: var(--rx-spacing-1) var(--rx-spacing-3);
    font-size: var(--rx-font-size-sm);
}

.rx-btn-lg {
    padding: var(--rx-spacing-3) var(--rx-spacing-6);
    font-size: var(--rx-font-size-lg);
}

.rx-btn-block {
    display: block;
    width: 100%;
}

/* Alerts */
.rx-alert {
    padding: var(--rx-spacing-3) var(--rx-spacing-4);
    border-radius: var(--rx-radius);
    border: 1px solid transparent;
    margin-bottom: var(--rx-spacing-4);
}

.rx-alert-success {
    background-color: var(--rx-success-bg);
    border-color: var(--rx-success-light);
    color: var(--rx-success-dark);
}

.rx-alert-danger {
    background-color: var(--rx-danger-bg);
    border-color: var(--rx-danger-light);
    color: var(--rx-danger-dark);
}

.rx-alert-warning {
    background-color: var(--rx-warning-bg);
    border-color: var(--rx-warning-light);
    color: var(--rx-warning-dark);
}

.rx-alert-info {
    background-color: var(--rx-info-bg);
    border-color: var(--rx-info-light);
    color: var(--rx-info-dark);
}

.rx-alert-close {
    float: right;
    cursor: pointer;
    font-size: var(--rx-font-size-xl);
    line-height: 1;
    color: inherit;
    opacity: 0.5;
}
.rx-alert-close:hover {
    opacity: 1;
}

/* Tables */
.rx-table {
    width: 100%;
    background: var(--rx-white);
    border-radius: var(--rx-radius);
    overflow: hidden;
}

.rx-table thead {
    background-color: var(--rx-white);
}

.rx-table th {
    padding: var(--rx-spacing-3) var(--rx-spacing-4);
    text-align: left;
    font-weight: 700;
    color: var(--rx-gray-900);
    border-bottom: 2px solid var(--rx-gray-200);
}

.rx-table td {
	font-size: 14px;
    padding: var(--rx-spacing-3) var(--rx-spacing-4);
    border-bottom: 1px solid var(--rx-gray-200);
}

.rx-table td .rx-badge {
	font-size: 12px;
    line-height: 15px;
}

.rx-table tr:hover {
    background-color: var(--rx-gray-50);
}

.rx-table-striped tbody tr:nth-child(odd) {
    background-color: var(--rx-gray-50);
}

.rx-table-sm th,
.rx-table-sm td {
    padding: var(--rx-spacing-2) var(--rx-spacing-3);
}

/* Badges */
.rx-badge {
    display: inline-block;
    padding: var(--rx-spacing-1) var(--rx-spacing-3);
    border-radius: var(--rx-radius-full);
    font-size: var(--rx-font-size-sm);
    font-weight: 600;
}

.rx-badge-primary {
    background-color: var(--rx-primary);
    color: var(--rx-white);
}
.rx-badge-success {
    background-color: var(--rx-success);
    color: var(--rx-white);
}
.rx-badge-danger {
    background-color: var(--rx-danger);
    color: var(--rx-white);
}
.rx-badge-warning {
    background-color: var(--rx-warning);
    color: var(--rx-gray-900);
}
.rx-badge-info {
    background-color: var(--rx-info);
    color: var(--rx-white);
}
.rx-badge-secondary {
    background-color: var(--rx-gray-500);
    color: var(--rx-white);
}

/* Progress Bars */
.rx-progress {
    height: 0.5rem;
    background-color: var(--rx-gray-200);
    border-radius: var(--rx-radius-full);
    overflow: hidden;
}

.rx-progress-bar {
    height: 100%;
    background-color: var(--rx-primary);
    transition: width var(--rx-transition);
}

/* Modals */
.rx-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: none;
    align-items: center;
    justify-content: center;
    z-index: var(--rx-z-modal-backdrop);
}

.rx-modal-overlay-active {
    display: flex;
}

.rx-modal {
    background: var(--rx-white);
    border-radius: var(--rx-radius-lg);
    max-width: 500px;
    width: 90%;
    max-height: 90vh;
    overflow: auto;
    box-shadow: var(--rx-shadow-xl);
    z-index: var(--rx-z-modal);
}

.rx-modal-header {
    padding: var(--rx-spacing-4) var(--rx-spacing-5);
    border-bottom: 1px solid var(--rx-gray-200);
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.rx-modal-body {
    padding: var(--rx-spacing-5);
}

.rx-modal-footer {
    padding: var(--rx-spacing-4) var(--rx-spacing-5);
    border-top: 1px solid var(--rx-gray-200);
    display: flex;
    justify-content: flex-end;
    gap: var(--rx-spacing-2);
}

/* assets/css/rx_hms_components.css - Add these */

/* Icon-only buttons */
.rx-btn-icon {
    padding: 8px;
    border-radius: var(--rx-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all var(--rx-transition-fast);
}
.rx-btn-icon:hover {
    background: var(--rx-gray-100);
}

/* Cards with icons */
.rx-stat-card {
    display: flex;
    flex-direction: column;
    gap: 4px;
}
.rx-stat-card .rx-stat-icon {
    color: var(--rx-primary);
}
.rx-stat-card-primary .rx-stat-icon { color: var(--rx-primary); }
.rx-stat-card-success .rx-stat-icon { color: var(--rx-success); }
.rx-stat-card-info .rx-stat-icon { color: var(--rx-info); }
.rx-stat-card-warning .rx-stat-icon { color: var(--rx-warning); }

/* Page header with icons */
.rx-page-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: 24px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--rx-gray-200);
}
.rx-page-header h1 {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 24px;
    font-weight: 600;
}
.rx-page-header p {
    color: var(--rx-gray-500);
    margin-top: 4px;
}

/* Action buttons with icons */
.rx-action-btn {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    padding: 16px;
    background: var(--rx-white);
    border: 1px solid var(--rx-gray-200);
    border-radius: var(--rx-radius);
    text-decoration: none;
    color: var(--rx-gray-700);
    transition: all var(--rx-transition-fast);
}
.rx-action-btn:hover {
    border-color: var(--rx-primary);
    color: var(--rx-primary);
    transform: translateY(-2px);
    box-shadow: var(--rx-shadow-md);
}
.rx-action-btn svg {
    flex-shrink: 0;
}

/* Dropdown items with icons */
.rx-dropdown-item {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    text-decoration: none;
    color: var(--rx-gray-700);
    transition: background var(--rx-transition-fast);
}
.rx-dropdown-item:hover {
    background: var(--rx-gray-50);
}
.rx-dropdown-item svg {
    flex-shrink: 0;
}

/* Badge with icon */
.rx-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

/* Form icons */
.rx-input-group-prepend,
.rx-input-group-append {
    display: flex;
    align-items: center;
    padding: 0 12px;
    color: var(--rx-gray-500);
}

/* assets/css/rx_hms_components.css - Add these styles */

/* Form Row with proper gaps */
.rx-form-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-end;
}

.rx-form-row .rx-form-group {
    flex: 1;
    min-width: 150px;
}

/* Responsive form row */
@media (max-width: 768px) {
    .rx-form-row {
        flex-direction: column;
        gap: 12px;
    }
    .rx-form-row .rx-form-group {
        min-width: 100%;
    }
    .rx-form-row .rx-form-group:last-child {
        flex-direction: row;
    }
}

/* Column spacing */
.rx-row {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -12px;
}

.rx-row > [class*="rx-col-"] {
    padding: 0 12px;
    box-sizing: border-box;
}

/* Stats Grid Gap */
.rx-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 16px;
    margin-bottom: 24px;
}

/* Actions Grid Gap */
.rx-actions-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}

/* Features Grid Gap */
.rx-features-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 8px;
    padding: 12px;
    background: rgba(255,255,255,0.03);
    border-radius: 8px;
    border: 1px solid rgba(255,255,255,0.06);
}

/* Button Group Gap */
.ac-btn {
    padding: 0 4px;
}

.rx-btn-group {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

/* Table spacing */
.rx-table th,
.rx-table td {
    padding: 12px 16px;
}

/* Card spacing */
.rx-card {
    margin-bottom: 20px;
}

.rx-card-header {
    padding: 16px 20px;
}

.rx-card-body {
    padding: 20px;
}
.index-table-card .rx-card-body {
	padding:0px;
}

.hotel-header {
	display: flex;
	align-items: center;
	gap: 20px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 2px solid #e2e8f0;
}
.hotel-logo {
	max-height: 80px;
	max-width: 150px;
}
.hotel-details {
	flex: 1;
}
.hotel-name {
	font-size: 24px;
	font-weight: 700;
	color: #0f172a;
}
.hotel-address {
	color: #64748b;
	font-size: 14px;
	line-height: 1.6;
}
.hotel-contact {
	color: #64748b;
	font-size: 13px;
}
.hotel-gst {
	color: #64748b;
	font-size: 12px;
	margin-top: 5px;
}
.invoice-footer-text {
	color: #64748b;
	font-size: 13px;
	text-align: center;
	padding: 15px 0;
	border-top: 1px solid #e2e8f0;
	margin-top: 30px;
}
.bank-details {
	font-size: 12px;
	color: #64748b;
	padding: 10px;
	background: #f8fafc;
	border-radius: 4px;
	margin-top: 15px;
}
.terms-text {
	font-size: 12px;
	color: #64748b;
	padding: 10px;
	background: #f8fafc;
	border-radius: 4px;
	margin-top: 10px;
}
/* Responsive fixes */
@media (max-width: 768px) {
    .rx-stats-grid {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
        gap: 12px;
    }
    
    .rx-features-grid {
        grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    }
    
    .rx-actions-grid {
        grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
    }
}

@media (max-width: 480px) {
    .rx-stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 8px;
    }
    
    .rx-table th,
    .rx-table td {
        padding: 8px 10px;
        font-size: 13px;
    }
}

/* Typography */
.rx-heading-1 {
    font-size: var(--rx-font-size-3xl);
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: var(--rx-spacing-4);
}

.rx-heading-2 {
    font-size: var(--rx-font-size-2xl);
    font-weight: 600;
    line-height: 1.3;
    margin-bottom: var(--rx-spacing-3);
}

.rx-heading-3 {
    font-size: var(--rx-font-size-xl);
    font-weight: 600;
    line-height: 1.4;
    margin-bottom: var(--rx-spacing-2);
}

/* Icons */
.rx-icon {
   display: inline-block;
   width: 24px;
   height: 24px;
   background-color: currentColor;
   mask-size: contain;
   -webkit-mask-size: contain;
   mask-repeat: no-repeat;
   -webkit-mask-repeat: no-repeat;
   transition: all 0.3s ease;
}

.rx-icon-sm { width: 16px; height: 16px; }
.rx-icon-md { width: 24px; height: 24px; }
.rx-icon-lg { width: 32px; height: 32px; }
.rx-icon-xl { width: 48px; height: 48px; }

.rx-text-center {
    text-align: center;
}
.rx-text-left {
    text-align: left;
}
.rx-text-right {
    text-align: right;
}

.rx-text-muted {
    color: var(--rx-gray-500);
}
.rx-text-primary {
    color: var(--rx-primary);
}
.rx-text-success {
    color: var(--rx-success);
}
.rx-text-danger {
    color: var(--rx-danger);
}
.rx-text-warning {
    color: var(--rx-warning);
}
.rx-text-info {
    color: var(--rx-info);
}

.rx-text-white {
	color:#fff;
}

/* Background Colors */
.rx-bg-white {
    background-color: var(--rx-white);
}
.rx-bg-gray-50 {
    background-color: var(--rx-gray-50);
}
.rx-bg-gray-100 {
    background-color: var(--rx-gray-100);
}
.rx-bg-primary {
    background-color: var(--rx-primary);
}
.rx-bg-success {
    background-color: var(--rx-success);
}
.rx-bg-danger {
    background-color: var(--rx-danger);
}
.rx-bg-warning {
    background-color: var(--rx-warning);
}
.rx-bg-info {
    background-color: var(--rx-info);
}

.rx-bg-brand {
	Background-color: var(--rx-brand-bg);
}
/* Display Utilities */
.rx-d-block {
    display: block;
}
.rx-d-inline {
    display: inline;
}
.rx-d-inline-block {
    display: inline-block;
}
.rx-d-flex, .rx-flex {
    display: flex;
}
.rx-d-grid {
    display: grid;
}
.rx-d-none {
    display: none;
}

/* Flex Utilities */
.rx-flex-row {
    flex-direction: row;
}
.rx-flex-column {
    flex-direction: column;
}
.rx-flex-wrap {
    flex-wrap: wrap;
}
.rx-flex-nowrap {
    flex-wrap: nowrap;
}
.rx-justify-start {
    justify-content: flex-start;
}
.rx-justify-center {
    justify-content: center;
}
.rx-justify-end {
    justify-content: flex-end;
}
.rx-justify-between {
    justify-content: space-between;
}
.rx-justify-around {
    justify-content: space-around;
}
.rx-align-start {
    align-items: flex-start;
}
.rx-align-center {
    align-items: center;
}
.rx-align-end {
    align-items: flex-end;
}
.rx-align-stretch {
    align-items: stretch;
}
.rx-self-auto { align-self: auto; }
.rx-self-start { align-self: flex-start; }
.rx-self-end { align-self: flex-end; }
.rx-self-center { align-self: center; }
.rx-self-stretch { align-self: stretch; }
.rx-flex-1 { flex: 1 1 0%; }
.rx-flex-auto { flex: 1 1 auto; }
.rx-flex-initial { flex: 0 1 auto; }
.rx-flex-none { flex: none; }
.rx-grow { flex-grow: 1; }
.rx-grow-0 { flex-grow: 0; }
.rx-shrink { flex-shrink: 1; }
.rx-shrink-0 { flex-shrink: 0; }


/* ========================================
   POSITION UTILITIES
   ======================================== */
.rx-relative { position: relative; }
.rx-absolute { position: absolute; }
.rx-fixed { position: fixed; }
.rx-sticky { position: sticky; }
.rx-static { position: static; }

.rx-top-0 { top: 0; }
.rx-right-0 { right: 0; }
.rx-bottom-0 { bottom: 0; }
.rx-left-0 { left: 0; }
.rx-inset-0 { top: 0; right: 0; bottom: 0; left: 0; }

/* ========================================
   OVERFLOW UTILITIES
   ======================================== */
.rx-overflow-hidden { overflow: hidden; }
.rx-overflow-auto { overflow: auto; }
.rx-overflow-scroll { overflow: scroll; }
.rx-overflow-visible { overflow: visible; }
.rx-overflow-x-hidden { overflow-x: hidden; }
.rx-overflow-y-hidden { overflow-y: hidden; }
.rx-overflow-x-auto { overflow-x: auto; }
.rx-overflow-y-auto { overflow-y: auto; }

/* ========================================
   BACKGROUND UTILITIES
   ======================================== */
.rx-bg-cover { background-size: cover; }
.rx-bg-center { background-position: center; }
.rx-bg-top { background-position: top; }
.rx-bg-no-repeat { background-repeat: no-repeat; }
.rx-bg-contain { background-size: contain; }

/* ========================================
   BORDER UTILITIES
   ======================================== */
.rx-border-solid { border-style: solid; }
.rx-border-dashed { border-style: dashed; }
.rx-border-dotted { border-style: dotted; }
.rx-border-none { border-style: none; }

.rx-border-brand-dark { border-color: #02183c; }
.rx-border-brand-primary { border-color: #0153e6; }
.rx-border-brand-light { border-color: #e8f0fe; }

/* ========================================
   BRAND COLOR CLASSES
   ======================================== */
.rx-text-brand-dark { color: #02183c; }
.rx-text-brand-primary { color: #0153e6; }
.rx-text-brand-light { color: #e8f0fe; }

.rx-bg-brand-dark { background-color: #02183c; }
.rx-bg-brand-primary { background-color: #0153e6; }
.rx-bg-brand-light { background-color: #e8f0fe; }

.rx-bg-gradient-brand {
    background: linear-gradient(135deg, #02183c 0%, #0153e6 100%);
}

/* ========================================
   Z-INDEX
   ======================================== */
.rx-z-0 { z-index: 0; }
.rx-z-10 { z-index: 10; }
.rx-z-20 { z-index: 20; }
.rx-z-30 { z-index: 30; }
.rx-z-40 { z-index: 40; }
.rx-z-50 { z-index: 50; }
.rx-z-auto { z-index: auto; }

/* ========================================
   VISIBILITY
   ======================================== */
.rx-visible { visibility: visible; }
.rx-invisible { visibility: hidden; }

/* ========================================
   17. TRANSITIONS
   ======================================== */
.rx-transition { 
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.rx-transition-colors {
  transition-property: color, background-color, border-color;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.rx-transition-opacity {
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.rx-transition-shadow {
  transition-property: box-shadow;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}
.rx-transition-transform {
  transition-property: transform;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-duration: 150ms;
}

.rx-duration-150 { transition-duration: 150ms; }
.rx-duration-200 { transition-duration: 200ms; }
.rx-duration-300 { transition-duration: 300ms; }
.rx-duration-500 { transition-duration: 500ms; }

/* ========================================
   18. TRANSFORM & ANIMATIONS
   ======================================== */
.rx-scale-95 { transform: scale(0.95); }
.rx-scale-100 { transform: scale(1); }
.rx-scale-105 { transform: scale(1.05); }
.rx-scale-110 { transform: scale(1.1); }

.rx-rotate-0 { transform: rotate(0deg); }
.rx-rotate-45 { transform: rotate(45deg); }
.rx-rotate-90 { transform: rotate(90deg); }
.rx-rotate-180 { transform: rotate(180deg); }

@keyframes rx-spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
@keyframes rx-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.5; }
}
@keyframes rx-bounce {
  0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(0.8, 0, 1, 1); }
  50% { transform: translateY(0); animation-timing-function: cubic-bezier(0, 0, 0.2, 1); }
}

.rx-animate-spin { animation: rx-spin 1s linear infinite; }
.rx-animate-pulse { animation: rx-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite; }
.rx-animate-bounce { animation: rx-bounce 1s infinite; }

/* ========================================
   HOVER STATES
   ======================================== */
.hover\:rx-bg-brand-dark:hover { background-color: #02183c; }
.hover\:rx-bg-brand-primary:hover { background-color: #0153e6; }
.hover\:rx-scale-105:hover { transform: scale(1.05); }
.hover\:rx-shadow-lg:hover { box-shadow: var(--rx-shadow-lg); }
.hover\:rx-opacity-80:hover { opacity: 0.8; }
.hover\:rx-opacity-90:hover { opacity: 0.9; }

/* ========================================
   FOCUS STATES
   ======================================== */
.focus\:rx-outline-none:focus { outline: 2px solid transparent; outline-offset: 2px; }
.focus\:rx-ring-2:focus { 
    --rx-ring-offset-shadow: var(--rx-ring-inset) 0 0 0 var(--rx-ring-offset-width) var(--rx-ring-offset-color); 
    --rx-ring-shadow: var(--rx-ring-inset) 0 0 0 calc(2px + var(--rx-ring-offset-width)) var(--rx-ring-color); 
    box-shadow: var(--rx-ring-offset-shadow), var(--rx-ring-shadow), var(--rx-shadow, 0 0 #0000); 
}
.focus\:rx-ring-primary-500:focus { --rx-ring-color: var(--rx-primary); }
.focus\:rx-ring-offset-2:focus { --rx-ring-offset-width: 2px; }

/* ========================================
   DISABLED STATES
   ======================================== */
.disabled\:rx-opacity-50:disabled { opacity: 0.5; }
.disabled\:rx-cursor-not-allowed:disabled { cursor: not-allowed; }

/* Mega Menu Styles - Enhanced */
/* ============================================
   SINGLE MENU STYLES
   ============================================ */

/* Reset ul styles */
.nav-menu {
   list-style: none;
   padding: 0;
   margin: 0;
   display: flex;
   align-items: center;
   gap: 0.25rem;
}

.nav-menu li {
   display: inline-block;
}

/* ============================================================
   1. BASE STYLES & WRAPPERS
   ============================================================ */
.mega-menu-wrapper {
   position: relative;
}

/* Nav Link */
.nav-link {
   background: none;
   border: none;
   font-family: inherit;
   font-size: 0.875rem;
   font-weight: 500;
   color: #1a1a2e;
   padding: 0.5rem 0.75rem;
   cursor: pointer;
   transition: all 0.2s ease;
   display: flex;
   align-items: center;
   gap: 0.25rem;
   border-radius: 6px;
   white-space: nowrap;
}

.nav-link:hover {
   color: #0153e6;
   background: rgba(1, 83, 230, 0.06);
}

.dropdown-arrow {
   display: inline-block;
   margin-left: 0.25rem;
   font-size: 0.6rem;
   transition: transform 0.3s ease;
   color: #6b7280;
}

/* Base Dropdown Setup */
.mega-menu-dropdown {
   display: none;
   position: absolute;
   top: 100%;
   background: #ffffff;
   box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
   border-radius: 12px;
   padding: 1.5rem;
   z-index: 100;
   border: 1px solid rgba(2, 24, 60, 0.06);
   box-sizing: border-box;
}

/* Dropdown Content Typography */
.mega-menu-dropdown ul {
   list-style: none;
   padding: 0;
   margin: 0;
}

.mega-menu-dropdown ul li {
   margin-bottom: 1.15rem;
}

.mega-menu-dropdown ul li:last-child {
   margin-bottom: 0;
}

.mega-menu-dropdown ul li a {
   display: block;
   color: #1a1a2e;
   text-decoration: none;
   font-size: 0.875rem;
   padding: 0.25rem 0;
   transition: all 0.2s ease;
   font-weight: 500;
}

.mega-menu-dropdown ul li a:hover {
   color: #0153e6;
}

.mega-menu-dropdown ul li .sub-text {
   display: block;
   font-size: 0.75rem;
   color: #6b7280;
   font-weight: 400;
   margin-top: 0.125rem;
}

.mega-menu-dropdown ul li a:hover .sub-text {
   color: #0153e6;
}

/* Buttons */
.rx-btn-primary {
   background-color: #0153e6;
   color: #ffffff;
   padding: 0.75rem 1.5rem;
   border-radius: 8px;
   font-weight: 600;
   font-size: 0.95rem;
   border: none;
   cursor: pointer;
   transition: all 0.2s ease;
   margin-left: 0.5rem;
}

.rx-btn-primary:hover {
   background-color: #0146c4;
   transform: translateY(-1px);
   box-shadow: 0 4px 12px rgba(1, 83, 230, 0.3);
}

.mobile-menu-btn {
   display: none;
   background: none;
   border: none;
   cursor: pointer;
   padding: 0.5rem;
   border-radius: 8px;
   transition: background 0.2s ease;
}

.mobile-menu-btn:hover {
   background: rgba(0, 0, 0, 0.05);
}

.hamburger-icon {
   display: block;
   width: 28px;
   height: 28px;
}

/* Keyframe Animations */
@keyframes megaFadeIn {
   from {
      opacity: 0;
      transform: translateX(-50%) translateY(8px);
   }
   to {
      opacity: 1;
      transform: translateX(-50%) translateY(0);
   }
}

/* ============================================================
   2. DESKTOP / LARGE SCREENS (>= 1200px)
   ============================================================ */
@media screen and (min-width: 1200px) {
   /* Bridge hover gap between link and dropdown */
   .mega-menu-wrapper:hover .mega-menu-dropdown::before {
      content: '';
      position: absolute;
      top: -10px;
      left: 0;
      width: 100%;
      height: 10px;
   }

   .mega-menu-wrapper:hover .services-dropdown {
      display: grid !important;
      grid-template-columns: repeat(4, 1fr) !important;
      width: 1050px !important;   
      left: 50% !important;
      transform: translateX(-50%) !important;
      gap: 1.8rem !important;
      animation: megaFadeIn 0.25s ease forwards;
   }

   .mega-menu-wrapper:hover .industries-dropdown,
   .mega-menu-wrapper:hover .products-dropdown {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      width: 550px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      gap: 1.5rem !important;
      animation: megaFadeIn 0.25s ease forwards;
   }
}

/* ============================================================
   3. SMALL DESKTOP & LAPTOPS (992px to 1199px)
   ============================================================ */
@media screen and (min-width: 992px) and (max-width: 1199px) {
   .mega-menu-wrapper:hover .services-dropdown {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      width: 90vw !important;
      max-width: 850px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      gap: 1.5rem !important;
      animation: megaFadeIn 0.25s ease forwards;
   }

   .mega-menu-wrapper:hover .industries-dropdown,
   .mega-menu-wrapper:hover .products-dropdown {
      display: grid !important;
      grid-template-columns: repeat(2, 1fr) !important;
      width: 480px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
      gap: 1.2rem !important;
      animation: megaFadeIn 0.25s ease forwards;
   }
}

/* Desktop Reset Rule for Navigation Wrapper */
@media screen and (min-width: 992px) {
   .nav-menu-wrapper {
      display: block !important;
   }

   .mobile-menu-btn {
      display: none !important;
   }
}

/* ============================================================
   4. TABLETS & MOBILE DEVICES (<= 991px)
   ============================================================ */
@media screen and (max-width: 991px) {
   /* Disable Hover Triggers on Touch Devices */
   .mega-menu-wrapper:hover .services-dropdown,
   .mega-menu-wrapper:hover .industries-dropdown,
   .mega-menu-wrapper:hover .products-dropdown,
   .mega-menu-wrapper:hover .mega-menu-dropdown {
      display: none !important;
   }

   /* Main Off-Canvas / Overlay Mobile Navigation */
   .nav-menu-wrapper {
      display: none;
      position: absolute;
      top: 100%;
      left: 0;
      right: 0;
      background: #ffffff;
      padding: 1rem 1.5rem;
      border-top: 1px solid #e2e8f0;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
      z-index: 999;
   }

   .nav-menu-wrapper.open {
      display: block !important;
   }

   .mobile-menu-btn {
      display: flex !important;
   }

   .nav-menu {
      flex-direction: column;
      align-items: stretch;
      gap: 0;
   }

   .nav-link {
      width: 100%;
      justify-content: space-between;
      padding: 0.75rem 0;
   }

   /* Mobile Mega Dropdown Inline Accordion Styling */
   .mega-menu-dropdown {
      position: static !important;
      top: auto !important;
      left: auto !important;
      transform: none !important;
      width: 100% !important;
      max-width: 100% !important;
      box-shadow: none !important;
      border-radius: 8px !important;
      border: none !important;
      background: #f8fafc;
      padding: 0.8rem 1rem !important;
      margin-top: 0.5rem;
      animation: none !important;
   }

   /* Active Accordion State triggered via JavaScript */
   .mega-menu-wrapper.active .mega-menu-dropdown,
   .mega-menu-wrapper.is-open .mega-menu-dropdown {
      display: grid !important;
      grid-template-columns: 1fr !important;
      gap: 0.8rem !important;
   }

   .mega-menu-wrapper {
      width: 100%;
   }

   .rx-btn-primary {
      width: 100%;
      margin-left: 0;
      margin-top: 0.75rem;
      text-align: center;
   }
}
/* Customer Love Cards */
.customer-love-card {
 background: #ffffff;
 border-radius: 12px;
 padding: 1.5rem;
 box-shadow: 0 1px 3px rgba(0,0,0,0.06);
 border: 1px solid #f0f0f0;
 transition: all 0.3s ease;
}

.customer-love-card:hover {
 box-shadow: 0 8px 30px rgba(2, 24, 60, 0.08);
 transform: translateY(-2px);
 border-color: #0153e6;
}

.customer-love-card .avatar {
 width: 48px;
 height: 48px;
 border-radius: 50%;
 background: #e8f0fe;
 display: flex;
 align-items: center;
 justify-content: center;
 font-weight: 600;
 color: #0153e6;
 font-size: 0.875rem;
 flex-shrink: 0;
}

.customer-love-card .stars {
 color: #f59e0b;
 letter-spacing: 2px;
 font-size: 0.875rem;
}
 
 .customer-love-cards-grid {
	grid-template-columns: 1fr !important;
 }
 
 .customer-love-footer {
	flex-direction: column !important;
	align-items: flex-start !important;
	gap: 1.5rem !important;
 }
 
 .customer-love-stats {
	width: 100% !important;
	justify-content: space-around !important;
 }
 
}

@media (max-width: 480px) {
 .logo-text {
	font-size: 1.25rem !important;
 }
 
 .customer-love-stats {
	flex-wrap: wrap !important;
	gap: 1rem !important;
 }
}


/* Spacing Utilities */
.rx-p-1 { padding: var(--rx-spacing-1); }
.rx-p-2 { padding: var(--rx-spacing-2); }
.rx-p-3 { padding: var(--rx-spacing-3); }
.rx-p-4 { padding: var(--rx-spacing-4); }
.rx-p-5 { padding: var(--rx-spacing-5); }
.rx-p-6 { padding: var(--rx-spacing-6); }
.rx-p-10 { padding: var(--rx-spacing-10); }
.rx-p-16 { padding: var(--rx-spacing-16); }
.rx-p-12 { padding: var(--rx-spacing-12); }
.rx-p-20 { padding: var(--rx-spacing-20); }

.rx-p-t-20 { padding-top: var(--rx-spacing-20); }


.rx-m-1 { margin: var(--rx-spacing-1); }
.rx-m-2 { margin: var(--rx-spacing-2); }
.rx-m-3 { margin: var(--rx-spacing-3); }
.rx-m-4 { margin: var(--rx-spacing-4); }
.rx-m-5 { margin: var(--rx-spacing-5); }
.rx-m-6 { margin: var(--rx-spacing-6); }

.rx-mt-1 { margin-top: var(--rx-spacing-1); }
.rx-mt-2 { margin-top: var(--rx-spacing-2); }
.rx-mt-3 { margin-top: var(--rx-spacing-3); }
.rx-mt-4 { margin-top: var(--rx-spacing-4); }
.rx-mt-5 { margin-top: var(--rx-spacing-5); }
.rx-mt-6 { margin-top: var(--rx-spacing-6); }

.rx-mb-1 { margin-bottom: var(--rx-spacing-1); }
.rx-mb-2 { margin-bottom: var(--rx-spacing-2); }
.rx-mb-3 { margin-bottom: var(--rx-spacing-3); }
.rx-mb-4 { margin-bottom: var(--rx-spacing-4); }
.rx-mb-5 { margin-bottom: var(--rx-spacing-5); }
.rx-mb-6 { margin-bottom: var(--rx-spacing-6); }

/* Width Utilities */
.rx-w-full { width: 100%; }
.rx-w-50 { width: 50%; }
.rx-w-33 { width: 33.333%; }
.rx-w-25 { width: 25%; }
.rx-w-auto { width: auto; }

/* Height Utilities */
.rx-h-full { height: 100%; }
.rx-h-auto { height: auto; }
.rx-min-vh-100 { min-height: 100vh; }

/* assets/css/rx_hms_responsive.css */
/* Mobile First Approach */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .rx-col-sm-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .rx-col-sm-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .rx-col-sm-3 { flex: 0 0 25%; max-width: 25%; }
    .rx-col-sm-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .rx-col-sm-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .rx-col-sm-6 { flex: 0 0 50%; max-width: 50%; }
    .rx-col-sm-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .rx-col-sm-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .rx-col-sm-9 { flex: 0 0 75%; max-width: 75%; }
    .rx-col-sm-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .rx-col-sm-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .rx-col-sm-12 { flex: 0 0 100%; max-width: 100%; }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    .rx-col-md-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .rx-col-md-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .rx-col-md-3 { flex: 0 0 25%; max-width: 25%; }
    .rx-col-md-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .rx-col-md-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .rx-col-md-6 { flex: 0 0 50%; max-width: 50%; }
    .rx-col-md-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .rx-col-md-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .rx-col-md-9 { flex: 0 0 75%; max-width: 75%; }
    .rx-col-md-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .rx-col-md-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .rx-col-md-12 { flex: 0 0 100%; max-width: 100%; }
    
    .rx-d-md-block { display: block; }
    .rx-d-md-flex { display: flex; }
    .rx-d-md-none { display: none; }
}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    .rx-col-lg-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .rx-col-lg-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .rx-col-lg-3 { flex: 0 0 25%; max-width: 25%; }
    .rx-col-lg-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .rx-col-lg-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .rx-col-lg-6 { flex: 0 0 50%; max-width: 50%; }
    .rx-col-lg-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .rx-col-lg-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .rx-col-lg-9 { flex: 0 0 75%; max-width: 75%; }
    .rx-col-lg-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .rx-col-lg-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .rx-col-lg-12 { flex: 0 0 100%; max-width: 100%; }
    
    .rx-d-lg-block { display: block; }
    .rx-d-lg-flex { display: flex; }
    .rx-d-lg-none { display: none; }
}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    .rx-col-xl-1 { flex: 0 0 8.333333%; max-width: 8.333333%; }
    .rx-col-xl-2 { flex: 0 0 16.666667%; max-width: 16.666667%; }
    .rx-col-xl-3 { flex: 0 0 25%; max-width: 25%; }
    .rx-col-xl-4 { flex: 0 0 33.333333%; max-width: 33.333333%; }
    .rx-col-xl-5 { flex: 0 0 41.666667%; max-width: 41.666667%; }
    .rx-col-xl-6 { flex: 0 0 50%; max-width: 50%; }
    .rx-col-xl-7 { flex: 0 0 58.333333%; max-width: 58.333333%; }
    .rx-col-xl-8 { flex: 0 0 66.666667%; max-width: 66.666667%; }
    .rx-col-xl-9 { flex: 0 0 75%; max-width: 75%; }
    .rx-col-xl-10 { flex: 0 0 83.333333%; max-width: 83.333333%; }
    .rx-col-xl-11 { flex: 0 0 91.666667%; max-width: 91.666667%; }
    .rx-col-xl-12 { flex: 0 0 100%; max-width: 100%; }
}

/* ========================================
   ADDITIONAL RESPONSIVE BREAKPOINT - 2XL
   ======================================== */
@media (min-width: 1536px) {
    .\32xl\:rx-block { display: block; }
    .\32xl\:rx-inline-block { display: inline-block; }
    .\32xl\:rx-flex { display: flex; }
    .\32xl\:rx-grid { display: grid; }
    .\32xl\:rx-hidden { display: none; }
}

/* Mobile navigation */
.rx-nav-toggle {
    display: none;
    flex-direction: column;
    gap: 4px;
    padding: 8px;
    background: none;
    border: none;
    cursor: pointer;
}

.rx-nav-toggle span {
    display: block;
    width: 25px;
    height: 3px;
    background: white;
    border-radius: 2px;
    transition: all 0.3s;
}

@media (max-width: 768px) {
    .rx-nav-toggle {
        display: flex;
    }
    
    .rx-nav-menu {
        display: none;
        width: 100%;
        flex-direction: column;
        padding: var(--rx-spacing-3) 0;
    }
    
    .rx-nav-menu-open {
        display: flex;
    }
}

/* Responsive sidebar */
@media (max-width: 768px) {
    .rx-sidebar {
        position: fixed;
        top: 0;
        left: -250px;
        height: 100%;
        z-index: var(--rx-z-fixed);
        transition: left var(--rx-transition);
    }
    
    .rx-sidebar-open {
        left: 0;
    }
    
    .rx-main {
        padding: var(--rx-spacing-3);
    }
}

/* Responsive cards */
@media (max-width: 576px) {
    .rx-stats-grid {
        grid-template-columns: 1fr;
    }
    
    .rx-actions-grid {
        grid-template-columns: 1fr 1fr;
    }
    
    .rx-auth-card {
        padding: var(--rx-spacing-4);
        margin: var(--rx-spacing-3);
    }
    
    .rx-table {
        font-size: var(--rx-font-size-sm);
    }
    
    .rx-table th,
    .rx-table td {
        padding: var(--rx-spacing-2);
    }
}