/* ================================================================
   KW SERVERS — PREMIUM UI/UX UPGRADE (CLEANED & OPTIMIZED)
   ================================================================ */

:root {
  /* Brand Colors */
  --kw-banner-bg: #63054f; 
  --kw-banner-bg-dark: #370649; 
  --kw-orange: #ff6c2c;
  --kw-orange-hover: #e65c20;
  
  /* Modern UI Colors */
  --bg-body: #f8fafc;
  --text-main: #334155;
  --text-muted: #64748b;
  --border-light: #e2e8f0;
  
  /* Upgraded Button Colors */
  --kw-btn-dark: #34024b; 
  --kw-btn-dark-hover: #4a056a;
  --kw-btn-green: #059669;
  --kw-btn-green-hover: #047857;
  
  /* Nav & Variables */
  --kw-nav-box: rgba(80, 16, 80, 0.6);
  --kw-nav-active: rgba(255, 255, 255, 0.15);
  --kw-nav-border: rgba(255, 255, 255, 0.1);
  --radius-sm: 8px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --tr: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body { font-family: 'Poppins', sans-serif; background: var(--bg-body); color: var(--text-main); -webkit-font-smoothing: antialiased; }
#kw-home-body { background: var(--bg-body); padding-bottom: 60px; }
section#main-body { background-color: transparent !important; }

/* ================================================================
   1. GLOBAL BANNER & TOP NAVIGATION
   ================================================================ */
.kw-banner-wrap {
  width: 100vw; position: relative; left: 50%; margin-left: -50vw;
  background: linear-gradient(45deg, var(--kw-banner-bg) 0%, var(--kw-banner-bg-dark) 50%, var(--kw-banner-bg) 100%);
  padding: 110px 0 80px 0; color: #fff;
  
}
.kw-banner-inner { max-width: 1400px; margin: 0 auto; padding: 0 24px; position: relative; z-index: 99; }

.kw-topnav-box {
  background: var(--kw-nav-box); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--kw-nav-border); border-radius: var(--radius-md); padding: 8px 16px;
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; margin-bottom: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.1); position: relative; z-index: 999;
}
.kw-topnav-links { display: flex;flex-wrap: wrap; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.kw-topnav-links li a {
  color: rgba(255,255,255); font-size: 1rem; font-weight: 500; padding: 8px 16px; display: flex; align-items: center; gap: 8px;
  border-radius: var(--radius-sm); text-decoration: none; transition: var(--tr);white-space: nowrap;
}
.kw-topnav-links li a i { font-size: 0.8rem; opacity: 0.7; }
.kw-topnav-links li a:hover { color: #fff; background: rgba(255,255,255,0.08); }
.kw-topnav-links li a.active { color: #fff; background: var(--kw-nav-active); font-weight: 600; box-shadow: inset 0 1px 0 rgba(255,255,255,0.1); }

.kw-topnav-right { display: flex; align-items: center; gap: 16px; flex-shrink: 0;}
.kw-user-pill {
  display: flex; align-items: center; gap: 10px; cursor: pointer; background: rgba(0,0,0,0.2);
  border: 1px solid rgba(255,255,255,0.05); padding: 4px 12px 4px 4px; border-radius: 50px; transition: var(--tr);
}
.kw-user-pill:hover { background: rgba(0,0,0,0.3); }
.kw-avatar {
  width: 28px; height: 28px; border-radius: 50%; background: var(--kw-orange); color: #fff; font-size: 0.75rem;
  font-weight: 700; display: flex; align-items: center; justify-content: center;
}
.kw-uname { color: #fff; font-size: 0.8rem; font-weight: 600; display: flex; align-items: center; gap: 6px; }
.kw-cart-btn { position: relative; color: #fff; font-size: 1.1rem; transition: var(--tr); }
.kw-cart-btn:hover { color: var(--kw-orange); transform: scale(1.05); }
.kw-cart-badge {
  position: absolute; top: -6px; right: -8px; background: #38bdf8; color: #0f172a; font-size: 0.6rem;
  font-weight: 700; width: 16px; height: 16px; border-radius: 50%; display: flex; align-items: center; justify-content: center;
}

/* Nav Dropdowns */
.kw-topnav-links .dropdown-toggle::after, .kw-topnav-right .dropdown-toggle::after { display: none !important; }
.kw-topnav-box .dropdown-menu { background: #370649; border: 1px solid rgba(255, 255, 255, 0.1); border-radius: var(--radius-md); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.4); padding: 8px 0; margin-top: 15px; min-width: 220px; }
.kw-topnav-box .dropdown-menu li a { color: #d1b3d5; font-size: 0.85rem; font-weight: 700; padding: 7px 20px; display: flex; align-items: center; gap: 12px; transition: var(--tr); }
.kw-topnav-box .dropdown-menu li a:hover { background: rgba(255, 255, 255, 0.08); color: #fff; padding-left: 24px; }
.kw-topnav-box .dropdown-menu li a i { color: var(--kw-orange); font-size: 0.9rem; width: 16px; text-align: center; }
.kw-topnav-box .dropdown-menu .divider { height: 1px; background: rgba(255, 255, 255, 0.08); margin: 8px 0; }

/* ================================================================
   2. BANNER TEXT & ACTION BUTTONS
   ================================================================ */
.kw-banner-header-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 35px; }
.kw-banner-text-col { flex: 1; }
.kw-banner-action-col { display: flex; gap: 16px; align-items: center; z-index: 10; }

.kw-breadcrumb .breadcrumb { background: transparent !important; padding: 0 !important; margin: 0 0 10px 0 !important; font-size: 0.75rem; font-weight: 600; text-transform: uppercase; letter-spacing: 1.2px; }
.kw-breadcrumb .breadcrumb-item, .kw-breadcrumb .breadcrumb-item a { color: var(--kw-orange) !important; text-decoration: none !important; font-size: 0.75rem; }
.kw-breadcrumb .breadcrumb-item + .breadcrumb-item::before { color: rgba(255, 108, 44, 0.5) !important; }
.kw-breadcrumb .breadcrumb-item.active { color: #d1b3d5 !important; font-size: 0.75rem; }

.kw-welcome-title { font-size: 2.5rem; font-weight: 700; color: #fff; margin-bottom: 8px; letter-spacing: -0.5px; }
.kw-welcome-desc { font-size: 0.95rem; color: rgba(255,255,255,0.8); max-width: 550px; margin-bottom: 0; line-height: 1.6; }

/* Banner Buttons */
.kw-btn-banner { display: inline-flex; align-items: center; gap: 10px; padding: 12px 24px; font-size: 0.9rem; font-weight: 700; border-radius: var(--radius-sm); text-decoration: none !important; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); letter-spacing: 0.5px; }
.kw-btn-banner i { font-size: 1.1rem; }
.kw-btn-banner-outline { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.15); color: #fff !important; backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.kw-btn-banner-outline:hover { background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.4); transform: translateY(-3px); box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); }
.kw-btn-banner-primary { background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%); border: 1px solid #ff6c2c; color: #fff !important; box-shadow: 0 4px 15px rgba(255, 108, 44, 0.25); }
.kw-btn-banner-primary:hover { background: linear-gradient(135deg, #ff814a 0%, #ff6c2c 100%); border-color: #ff814a; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(255, 108, 44, 0.5); }

@media (max-width: 991px) {
  .kw-banner-header-row { flex-direction: column; align-items: flex-start; gap: 20px; }
  .kw-banner-action-col { width: 100%; }
  .kw-btn-banner { flex: 1; justify-content: center; }
}

/* --- MOBILE RESPONSIVENESS FOR TOP NAV BOX --- */
@media (max-width: 991px) {
    .kw-topnav-box {
        flex-direction: column;
        align-items: stretch;
        padding: 16px;
        gap: 16px;
    }
    
    /* Make the links horizontally swipeable on touch devices */
    .kw-topnav-links {
        justify-content: center;
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none; /* Hides scrollbar in Firefox */
        padding-bottom: 5px;
        justify-content: flex-start;
    }
    
    /* Hides scrollbar in Chrome/Safari/Edge */
    .kw-topnav-links::-webkit-scrollbar { 
        display: none; 
    }
    
    /* Keep button text on one line so it swipes cleanly */
    .kw-topnav-links li a {
        white-space: nowrap; 
    }
    
    /* Push User Profile to the left, Cart to the right */
    .kw-topnav-right {
        width: 100%;
        justify-content: space-between;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 16px;
    }
}

/* ================================================================
   3. SAAS STAT CARDS (HOMEPAGE BANNER)
   ================================================================ */
.kw-stat-card {
  position: relative; background: #3C0753; border: 1px solid rgba(255, 255, 255, 0.06); border-radius: var(--radius-lg); padding: 24px;
  min-height: 140px; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none !important;
  overflow: hidden; box-shadow: 0 8px 24px rgba(0,0,0,0.2); transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); z-index: 1;
}
.kw-stat-card-credit .kw-stat-num{ font-size: 2rem;}
.kw-stat-card::before { content: ''; position: absolute; top: -40px; right: -40px; width: 120px; height: 120px; background: radial-gradient(circle, rgba(145, 10, 103, 0.6) 0%, rgba(145, 10, 103, 0) 70%); border-radius: 50%; z-index: 0; transition: transform 0.6s ease; }
.kw-stat-card::after { content: ''; position: absolute; bottom: 0; left: 0; width: 0; height: 3px; background: #ff6c2c; transition: width 0.4s ease; z-index: 0; }
.kw-stat-card:hover { transform: translateY(-5px); border-color: rgba(255, 108, 44, 0.4); box-shadow: 0 15px 35px rgba(60, 7, 83, 0.5), 0 0 15px rgba(255, 108, 44, 0.1); background: #310545; }
.kw-stat-card:hover::before { transform: scale(1.6); }
.kw-stat-card:hover::after { width: 100%; }

.kw-stat-top, .kw-stat-num { position: relative; z-index: 2; }
.kw-stat-top { display: flex; justify-content: space-between; align-items: flex-start; }
.kw-stat-label { font-size: 0.8rem; font-weight: 700; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 2px; margin-top: 4px; }
.kw-stat-card .kw-stat-icon {
  background: linear-gradient(135deg, #720455 0%, #910A67 100%); color: #fff; font-size: 1.2rem; width: 42px; height: 42px;
  display: flex; align-items: center; justify-content: center; border-radius: 12px; box-shadow: 0 4px 12px rgba(114, 4, 85, 0.4), inset 0 1px 0 rgba(255,255,255,0.2); transition: all 0.4s ease;
}
.kw-stat-card:hover .kw-stat-icon { background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%); box-shadow: 0 6px 16px rgba(255, 108, 44, 0.5), inset 0 1px 0 rgba(255,255,255,0.4); transform: translateY(-3px) scale(1.05); }

.kw-stat-num { font-size: 2.8rem; font-weight: 800; line-height: 1; margin-top: 15px; background: linear-gradient(to right, #ffffff 0%, #d1b3d5 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; display: inline-block; transition: all 0.4s ease; }
.kw-stat-card:hover .kw-stat-num { background: linear-gradient(to right, #ffffff 0%, #ff6c2c 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }

/* ================================================================
   4. CONTENT LAYOUT & RIGHT SIDEBAR INFO BOXES
   ================================================================ */
.kw-content-overlap { max-width: 1400px; margin: -100px auto 0; padding: 0 24px; position: relative; z-index: 20; }
body.clientareahome .kw-content-overlap {
    margin-top: -55px;
}

/* Action Required Box */
.kw-action-box { background: white; border-radius: var(--radius-lg); padding: 24px; color: #fff; margin-bottom: 24px; box-shadow: 0 10px 25px rgba(52, 2, 75, 0.3); border: 1px solid rgba(255,255,255,0.1); position: relative; overflow: hidden; }
.kw-action-box::before { content: ''; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, transparent, rgba(74, 15, 90, 0.1), transparent); transform: skewX(-20deg); animation: shine 6s infinite; }
@keyframes shine { 0% { left: -100%; } 20% { left: 200%; } 100% { left: 200%; } }
.kw-action-top { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 16px; position: relative; z-index: 2; }
.kw-action-icon { width: 36px; height: 36px; border-radius: 50%; background: rgba(255,108,44,0.15); display: flex; align-items: center; justify-content: center; }
.kw-action-icon i { color: var(--kw-orange); font-size: 1rem; }
.kw-action-close { background: none; border: none; color: rgba(255,255,255,0.4); cursor: pointer; font-size: 1.1rem; transition: var(--tr); }
.kw-action-close:hover { color: #fff; transform: scale(1.1); }
.kw-action-box h4 { font-size: 1.05rem; font-weight: 700; margin-bottom: 8px; color: #4a0f5a; position: relative; z-index: 2;}
.kw-action-box p { font-size: 0.85rem; color: rgb(74 15 90 / 70%); margin-bottom: 20px; line-height: 1.6; position: relative; z-index: 2;}
.kw-resend-btn { display: block; width: 100%; text-align: center; background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%); border-radius: var(--radius-sm); padding: 12px; color: #fff !important; font-size: 0.8rem; font-weight: 700; text-decoration: none !important; transition: var(--tr); border: 1px solid rgba(255,255,255,0.1); position: relative; z-index: 2; }

/* Sidebar Info Cards */
.kw-sidebar-panel { background: #fff; border-radius: var(--radius-lg); margin-bottom: 24px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); border: 1px solid rgba(0,0,0,0.02); }
.kw-sidebar-head { padding: 20px 24px; border-bottom: 1px solid var(--border-light); display: flex; align-items: center; justify-content: space-between; }
.kw-sidebar-head-left { display: flex; align-items: center; gap: 10px; color: var(--text-main); font-size: 0.85rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; }
.kw-sidebar-head-left i { color: var(--text-muted); font-size: 1.1rem; }
.kw-sidebar-chevron { color: #cbd5e1; font-size: 0.8rem; transition: var(--tr); }
.kw-sidebar-panel:hover .kw-sidebar-chevron { color: var(--text-muted); }
.kw-sidebar-body { padding: 14px 24px; }
.kw-info-name { font-size: 1.05rem; font-weight: 700; color: var(--text-main); margin-bottom: 4px; }
.kw-info-address { font-size: 1rem; color: var(--text-muted); line-height: 1.6; margin-bottom: 24px; }

/* The Green Update Button */
.kw-update-btn { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; background: #4b9605; color: #fff !important; border-radius: var(--radius-sm); font-size: 0.85rem; font-weight: 600; padding: 12px; text-decoration: none !important; transition: var(--tr); box-shadow: 0 4px 12px rgba(5, 150, 105, 0.2); }
.kw-update-btn:hover { background: var(--kw-btn-green-hover); transform: translateY(-2px); box-shadow: 0 6px 16px rgba(5, 150, 105, 0.3); }

/* ================================================================
   5. DASHBOARD HOMEPAGE PANEL CARDS (Individual Floating Cards)
   ================================================================ */
.kw-panel-card {
  background: #ffffff; border-radius: 16px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
  border: none; margin-bottom: 24px; overflow: hidden; position: relative; z-index: 10;
}
.kw-panel-header { padding: 24px 24px 16px 24px; display: flex; justify-content: space-between; align-items: center; background: #ffffff; }
.kw-panel-title { font-size: 1.1rem; font-weight: 800; color: #111827; display: flex; align-items: center; gap: 10px; margin: 0; }
.kw-panel-title i { color: #ff6c2c; font-size: 1.2rem; }

.kw-hdr-btn {
  background: #4a0f5a !important; color: #ffffff !important; font-size: 0.7rem; font-weight: 800; text-transform: uppercase;
  padding: 8px 16px; border-radius: 6px; text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; letter-spacing: 0.5px; transition: all 0.3s ease;
}
.kw-hdr-btn:hover { background: #320a3d !important; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(74, 15, 90, 0.3); }

.kw-panel-body { padding: 0 24px 24px 24px; }
.kw-panel-body > div, .kw-panel-body .text-center, .kw-panel-body p {
  background: #f8fafc; border-radius: 12px; padding: 30px 20px; color: #475569; font-size: 0.9rem; font-weight: 500; text-align: center; border: 1px solid #f1f5f9; margin: 0;
}
.kw-panel-body a { color: #ff6c2c !important; font-weight: 700; text-decoration: none !important; }
.kw-panel-body a:hover { text-decoration: underline !important; }

/* List items inside panels */
.kw-panel-card .list-group-item { padding: 16px 24px; font-size: 0.9rem; border: none; border-bottom: 1px solid var(--border-light); color: var(--text-main); transition: var(--tr); }
.kw-panel-card .list-group-item:last-child { border-bottom: none; }
.kw-panel-card .list-group-item:hover { background: #f8fafc; padding-left: 28px; }

/* ================================================================
   6. PRODUCTS & SERVICES PAGE (The Big White Layout & Data Grid)
   ================================================================ */
.kw-ps-layout {
  background: #ffffff; border-radius: 16px; padding: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05); margin-bottom: 40px; border: 1px solid #f3f4f6; position: relative; z-index: 10;
}
.kw-ps-header-wrapper { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 30px; gap: 20px; flex-wrap: wrap; }
.kw-ps-subtitle { color: #ff6c2c; font-size: 0.75rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; display: block; margin-bottom: 8px; }
.kw-ps-title { font-size: 2rem; font-weight: 800; color: #111827; margin-bottom: 12px; margin-top: 0; }
.kw-ps-desc { color: #6b7280; font-size: 0.95rem; line-height: 1.6; max-width: 650px; margin: 0; }

/* Custom Search Bar */
.kw-custom-search { position: relative; display: flex; align-items: center; }
.kw-custom-search i { position: absolute; left: 16px; color: #9ca3af; font-size: 0.9rem; }
.kw-custom-search input { background: #f4f5f7; border: 1px solid transparent; border-radius: 8px; padding: 12px 16px 12px 42px; outline: none; font-size: 0.9rem; color: #111827; width: 280px; transition: all 0.2s ease; font-family: inherit; }
.kw-custom-search input:focus { background: #fff; border-color: #3C0753; box-shadow: 0 0 0 3px rgba(60, 7, 83, 0.1); }

/* Table Stat Cards */
.kw-ps-stats-row { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; margin-bottom: 30px; }
.kw-ps-stat-box { background: #f4f5f7; border-radius: 12px; padding: 20px; display: flex; flex-direction: column; }
.kw-ps-stat-label { font-size: 0.75rem; color: #9ca3af; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px; }
.kw-ps-stat-value { font-size: 1.8rem; font-weight: 800; color: #111827; line-height: 1; }

@media (max-width: 1200px) { .kw-ps-stats-row { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 991px) { .kw-ps-stats-row { grid-template-columns: repeat(2, 1fr); } .kw-custom-search input { width: 100%; } }
@media (max-width: 575px) { .kw-ps-stats-row { grid-template-columns: 1fr; } }
.kw-ps-stats-row.grid-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1200px) { .kw-ps-stats-row.grid-4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .kw-ps-stats-row.grid-4 { grid-template-columns: 1fr; } }
.kw-ps-stats-row.grid-2 { grid-template-columns: repeat(2, 1fr); }
@media (max-width: 575px) { .kw-ps-stats-row.grid-2 { grid-template-columns: 1fr; } }

/* The Data Table (MOCKUP MATCH) */
.kw-ps-table-wrap { border: 1px solid #f1f5f9; border-radius: 12px; overflow: hidden; background: #fff; }
.kw-ps-table { width: 100%; border-collapse: collapse;  margin-top: 0px !important;}
.kw-ps-table thead th { background: #f8fafc; padding: 18px 24px; font-size: 0.75rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; border-bottom: 1px solid #f1f5f9; text-align: left; letter-spacing: 0.5px; }
.kw-ps-table tbody tr { border-bottom: 1px solid #f1f5f9; transition: background 0.2s; cursor: pointer; }
.kw-ps-table tbody tr:last-child { border-bottom: none; }
.kw-ps-table tbody tr:hover { background: #f8fafc; }
.kw-ps-table tbody td { padding: 20px 24px; vertical-align: middle; }

/* Table Cell Typography */
.kw-product-cell { display: flex; align-items: center; gap: 16px; }
.kw-product-icon { width: 46px; height: 46px; border-radius: 10px; background: #4a0f5a; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
.kw-td-product strong, .kw-td-ip strong, .kw-td-date strong { display: block; font-size: 0.95rem; font-weight: 700; color: #1e293b; margin-bottom: 4px; }
.kw-td-product span, .kw-td-ip span, .kw-td-date span { display: block; font-size: 0.8rem; color: #94a3b8; font-weight: 500; }

/* Custom Billing Cell (Purple Price) */
.kw-td-billing strong { display: block; font-size: 1.05rem; font-weight: 800; color: #4a0f5a; margin-bottom: 4px; }
.kw-td-billing span { display: block; font-size: 0.8rem; color: #94a3b8; font-weight: 500; }

/* Status Pills */
.kw-status-pill { padding: 6px 14px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; display: inline-block; text-transform: capitalize; letter-spacing: 0.3px; white-space: nowrap; }
.kw-status-pill.status-active, .kw-status-pill.status-paid, .kw-status-pill.status-accepted { background: #dcfce7; color: #16a34a; }
.kw-status-pill.status-pending, .kw-status-pill.status-pending-setup, .kw-status-pill.status-dead, .kw-status-pill.status-lost { background: #ffedd5; color: #c2410c; }
.kw-status-pill.status-suspended, .kw-status-pill.status-unpaid { background-color: #fee2e2 !important; color: #b91c1c; }
.kw-status-pill.status-terminated, .kw-status-pill.status-cancelled , .kw-status-pill.status-on-hold { background: #f1f5f9; color: #64748b; }
.kw-status-pill.status-open { background: #dcfce7; color: #16a34a; }
.kw-status-pill.status-answered, .kw-status-pill.status-delivered { background: #e0e7ff; color: #3b82f6; }
.kw-status-pill.status-customer-reply { background: #ffedd5; color: #c2410c; }
.kw-status-pill.status-closed { background: #f1f5f9; color: #64748b; }

/* Table Action Buttons */
.kw-td-actions { display: flex; gap: 10px; align-items: center; }
.kw-btn-action { padding: 8px 18px; border-radius: 6px; font-size: 0.8rem; font-weight: 700; text-decoration: none !important; transition: all 0.2s; }
.kw-btn-light { background: #f1f5f9; color: #334155; }
.kw-btn-light:hover { background: #e2e8f0; color: #0f172a; }
.kw-btn-dark { background: #4a0f5a; color: #fff; }
.kw-btn-dark:hover { background: #320a3d; color: #fff; }

/* ================================================================
   7. AGGRESSIVE DATATABLES CLEANUP (Hide WHMCS Defaults)
   ================================================================ */
.dataTables_wrapper .dataTables_filter, .dataTables_wrapper .dataTables_length, .dataTables_wrapper .dataTables_info { display: none !important; }
.dataTables_wrapper .dataTables_paginate { padding: 20px; text-align: right; }
.dataTables_wrapper .dataTables_paginate .paginate_button { margin-left: 4px !important; border-radius: 6px !important; border: 1px solid #e5e7eb !important; background: #fff !important; color: #111827 !important; font-weight: 600 !important; cursor: pointer; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current { background: #3C0753 !important; color: #fff !important; border-color: #3C0753 !important; }

/* ================================================================
   8. CUSTOM WHMCS SIDEBAR (Matches Mockup Exactly)
   ================================================================ */

/* Apply the white card to our new unified wrapper */
.kw-unified-sidebar {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
}

/* Ensure the inner sidebars are transparent so they don't create boxes */
.col-lg-4 > .sidebar, .col-xl-3 > .sidebar, .sidebar {
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
}

/* Remove default card background and borders inside the sidebar */
.card-sidebar {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin-bottom: 24px !important;
    padding: 0 !important;
}
.card-sidebar:last-child {
    margin-bottom: 0 !important;
}

/* Headers (VIEW / ACTIONS) */
.card-sidebar .card-header {
    background: transparent !important;
    border: none !important;
    padding: 0 0 12px 0 !important;
}
.card-sidebar .card-title {
    color: #9ca3af !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.card-sidebar .card-title i { display: none !important; } 

/* List Container */
.card-sidebar .list-group {
    background: transparent !important;
    border: none !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important; /* Spacing between pills */
}

/* Inactive Pills - Light Gray Background */
.card-sidebar .list-group-item {
    background: #f4f5f7 !important; 
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    color: #111827 !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    transition: all 0.2s ease !important;
    margin: 0 !important; 
}
.card-sidebar .list-group-item:hover {
    background: #e5e7eb !important;
}

/* Active Pill - Brand Purple */
.card-sidebar .list-group-item.active {
    background: #720455 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(114, 4, 85, 0.25) !important;
}

/* Wrapper for flex alignment */
.card-sidebar .sidebar-menu-item-wrapper {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
}

/* Left Icon */
.card-sidebar .sidebar-menu-item-icon-wrapper {
    margin-right: 12px !important;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 20px;
}
.card-sidebar .sidebar-menu-item-icon {
    color: #3C0753 !important; /* Dark purple */
    font-size: 1.1rem !important;
}
.card-sidebar .list-group-item.active .sidebar-menu-item-icon {
    color: #ffffff !important;
}

/* Text */
.card-sidebar .sidebar-menu-item-label {
    flex-grow: 1 !important;
}

/* Badges (Numbers) */
.card-sidebar .sidebar-menu-item-badge .badge,
.card-sidebar .badge {
    background: #ffffff !important;
    color: #720455 !important;
    border-radius: 20px !important;
    font-size: 0.75rem !important;
    font-weight: 800 !important;
    padding: 4px 10px !important;
    min-width: 32px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.card-sidebar .list-group-item.active .sidebar-menu-item-badge .badge,
.card-sidebar .list-group-item.active .badge {
    background: rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
    box-shadow: none;
}

/* Right Arrow for non-badged items */
.card-sidebar .list-group-item .sidebar-menu-item-wrapper:not(:has(.sidebar-menu-item-badge))::after {
    content: '\f061';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: #9ca3af;
    font-size: 0.85rem;
    margin-left: auto;
    transition: all 0.2s ease;
}
.card-sidebar .list-group-item.active .sidebar-menu-item-wrapper:not(:has(.sidebar-menu-item-badge))::after {
    color: #ffffff;
}

/* ----------------------------------------------------------------
   Sidebar "My Invoices Summary" & Alert Boxes Fix
   ---------------------------------------------------------------- */
/* ----------------------------------------------------------------
   Sidebar "My Invoices Summary" Alert Box Fix (Bulletproof Layout)
   ---------------------------------------------------------------- */
.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"]{
    background: #fffbeb !important; /* Soft warning orange/yellow */
    border: 1px solid #fdba74 !important; /* Brand orange tint */
    border-radius: 12px !important;
    padding: 24px 20px !important;
    box-shadow: 0 6px 20px rgba(255, 108, 44, 0.15) !important;
    margin-bottom: 24px !important;
    display: block !important;
}

.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .card-header{
    background: transparent !important;
    border-bottom: 1px solid #fed7aa !important;
    padding: 0 0 12px 0 !important;
    margin-bottom: 12px !important;
}

.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .card-title{
    color: #c2410c !important;
    font-size: 0.85rem !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .card-body{
    color: #475569 !important;
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    text-align: center !important;
    padding: 0 !important;
    background: transparent !important;
}

/* Force the hidden WHMCS form to be 100% width so the button spans across */
.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] form{
    display: block !important;
    width: 100% !important;
    margin: 20px 0 15px 0 !important;
}

/* The Green 'Pay All' Button */
.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .btn-success{
    background: #16a34a !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    padding: 14px !important;
    width: 100% !important; /* Forces full width inside the form */
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.25) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}
.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .btn-success:hover{
    background: #15803d !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(22, 163, 74, 0.35) !important;
}

.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] i{
    display: none;
}


/* Footer 'Add Funds' Link Wrapper */
.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .card-footer{
    background: transparent !important;
    border-top: none !important;
    padding: 0 !important;
    text-align: center !important;
    display: block !important;
    width: 100% !important;
    margin-top: 13px;
}

/* Center the Add Funds text properly */

.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .btn-default{
    background: #ff6c2c !important;
    border: none !important;
    color: #ffffff !important;
    font-weight: 800 !important;
    font-size: 0.9rem !important;
    text-transform: uppercase !important;
    border-radius: 8px !important;
    padding: 14px !important;
    width: 100% !important; /* Forces full width inside the form */
    box-shadow: 0 4px 12px rgba(22, 163, 74, 0.25) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    margin: 0 !important;
}
.kw-unified-sidebar .card-sidebar[menuItemName="My Invoices Summary"] .btn-default:hover{
    background: #e05013 !important;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(22, 163, 74, 0.35) !important;
}
/* ================================================================
   9. ADD FUNDS PAGE SPECIFIC STYLES
   ================================================================ */

/* 3-Column Grid for Add Funds Limits */
.kw-ps-stats-row.grid-3 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 991px) { .kw-ps-stats-row.grid-3 { grid-template-columns: repeat(1, 1fr); } }

/* Custom Add Funds Form Card */
.kw-add-funds-wrapper {
    background: #ffffff;
    border: 1px solid #f1f5f9;
    border-radius: 12px;
    padding: 30px;
}

/* Form Groups & Labels */
.kw-form-group { margin-bottom: 24px; }
.kw-form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 10px;
}

/* Inputs with Icons */
.kw-input-with-icon { position: relative; display: flex; align-items: center; }
.kw-input-with-icon i {
    position: absolute;
    left: 18px;
    color: #94a3b8;
    font-size: 1.1rem;
    pointer-events: none;
}
.kw-input-with-icon input, .kw-input-with-icon select {
    width: 100%;
    background: #f8fafc;
    border: 2px solid #e2e8f0;
    border-radius: 10px;
    padding: 16px 20px 16px 48px;
    font-size: 1.05rem;
    color: #1e293b;
    font-weight: 700;
    transition: all 0.3s ease;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
}

/* Add custom dropdown arrow back since we removed default appearance */
.kw-input-with-icon select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 18px center;
}

.kw-input-with-icon input:focus, .kw-input-with-icon select:focus {
    background: #ffffff;
    border-color: #3C0753;
    box-shadow: 0 0 0 4px rgba(60, 7, 83, 0.1);
    outline: none;
}

/* Form Footer & Button */
.kw-add-funds-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 10px;
    padding-top: 24px;
    border-top: 1px solid #f1f5f9;
    flex-wrap: wrap;
    gap: 16px;
}
.kw-form-note {
    font-size: 0.85rem;
    color: #94a3b8;
    font-weight: 500;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 8px;
}

.kw-btn-orange {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%);
    color: #ffffff !important;
    border: none;
    padding: 14px 32px;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.25);
    transition: all 0.3s ease;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
.kw-btn-orange:hover {
    background: linear-gradient(135deg, #ff814a 0%, #ff6c2c 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 108, 44, 0.4);
}

/* ================================================================
   10. SUBMIT TICKET / DEPARTMENTS PAGE
   ================================================================ */
.kw-ticket-depts-layout {
    background: #ffffff;
    border-radius: 16px;
    padding: 50px 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    margin-bottom: 40px;
    border: 1px solid #f3f4f6;
}

/* Header Styling */
.kw-ticket-header {
    text-align: center;
    margin-bottom: 40px;
}
.kw-ticket-header h2 {
    font-size: 2.2rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 12px;
}
.kw-ticket-header p {
    color: #64748b;
    font-size: 1.05rem;
    max-width: 600px;
    margin: 0 auto;
    line-height: 1.6;
}

/* The Grid Layout */
.kw-dept-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}
@media (max-width: 991px) {
    .kw-dept-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 767px) {
    .kw-dept-grid { grid-template-columns: 1fr; }
}

/* Department Cards */
.kw-dept-card {
    background: #f8fafc;
    border: 2px solid #f1f5f9;
    border-radius: 16px;
    padding: 35px 24px;
    text-align: center;
    text-decoration: none !important;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
}
.kw-dept-card:hover {
    background: #ffffff;
    border-color: #ff6c2c; /* Brand Orange */
    transform: translateY(-8px);
    box-shadow: 0 20px 40px rgba(255, 108, 44, 0.12);
}

/* Icons */
.kw-dept-icon {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    background: rgba(114, 4, 85, 0.08); /* Light Brand Purple */
    color: #720455; /* Brand Purple */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.8rem;
    margin-bottom: 20px;
    transition: all 0.4s ease;
}
.kw-dept-card:hover .kw-dept-icon {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%);
    color: #ffffff;
    transform: scale(1.1) rotate(5deg);
    box-shadow: 0 10px 20px rgba(255, 108, 44, 0.3);
}

/* Text inside cards */
.kw-dept-name {
    font-size: 1.25rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 10px;
    transition: color 0.3s ease;
}
.kw-dept-card:hover .kw-dept-name {
    color: #ff6c2c;
}
.kw-dept-desc {
    font-size: 0.9rem;
    color: #64748b;
    line-height: 1.5;
    margin: 0;
}

/* ================================================================
   11. SUBMIT TICKET FORM (STEP 2)
   ================================================================ */
.kw-ticket-form-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
    border: 1px solid #f3f4f6;
    margin-bottom: 40px;
}

/* Title & Icon */
.kw-ticket-form-title {
    font-size: 1.5rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.kw-ticket-form-title i {
    color: var(--kw-orange);
    font-size: 1.6rem;
}

/* Form Labels */
.kw-form-label {
    display: block;
    font-size: 0.85rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 8px;
}

/* Custom Inputs & Selects */
.kw-form-control {
    width: 100%;
    background: #f4f5f7;
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 14px 16px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #1e293b;
    transition: all 0.3s ease;
    appearance: none;
    -webkit-appearance: none;
}
.kw-form-control:focus {
    background: #ffffff;
    border-color: #3C0753;
    box-shadow: 0 0 0 3px rgba(60, 7, 83, 0.1);
    outline: none;
}
.kw-form-control:disabled, .kw-form-control[readonly] {
    background: #e2e8f0;
    color: #64748b;
    cursor: not-allowed;
    opacity: 0.8;
}

/* Custom Select Dropdown Arrow */
select.kw-form-control {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}

/* Custom File Upload Area */
.kw-attachment-row {
    display: flex;
    gap: 12px;
    margin-bottom: 10px;
}
.kw-attachment-row .custom-file {
    flex-grow: 1;
    height: auto;
}
.kw-attachment-row .custom-file-label {
    background: #f4f5f7;
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 14px 16px;
    height: auto;
    font-weight: 600;
    color: #64748b;
    cursor: pointer;
    line-height: 1.5;
}
.kw-attachment-row .custom-file-label::after {
    display: none; /* Hides default Bootstrap 'Browse' button */
}
.kw-attachment-note {
    font-size: 0.8rem;
    color: #94a3b8;
    font-weight: 500;
}

/* Submit & Cancel Buttons */
.kw-submit-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 30px;
}
.kw-btn-red {
    background: #dc2626;
    color: #ffffff !important;
    border: none;
    padding: 14px 32px;
    font-size: 1rem;
    font-weight: 700;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.25);
    transition: all 0.3s ease;
    cursor: pointer;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.kw-btn-red:hover {
    background: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(220, 38, 38, 0.4);
}

/* ================================================================
   12. SERVER STATUS / NETWORK ISSUES PAGE
   ================================================================ */

/* Custom Status Alerts */
.kw-status-alert {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 20px 24px;
    border-radius: 12px;
    margin-bottom: 30px;
    font-weight: 700;
    font-size: 1.05rem;
}
.kw-status-alert i {
    font-size: 1.8rem;
}
.kw-status-alert-success {
    background: #dcfce7;
    color: #16a34a;
    border: 1px solid #bbf7d0;
}
.kw-status-alert-warning {
    background: #ffedd5;
    color: #c2410c;
    border: 1px solid #fed7aa;
}
.kw-status-alert-warning a {
    color: #c2410c;
    text-decoration: underline;
    margin-left: 8px;
}

/* Issue Cards */
.kw-issue-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 24px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    transition: all 0.3s ease;
}
.kw-issue-card:hover {
    border-color: #cbd5e1;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.05);
}

.kw-issue-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 16px;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px;
}
.kw-issue-title {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 10px;
}
.kw-issue-status-text {
    font-weight: 600;
    color: #94a3b8;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.kw-issue-meta {
    display: flex;
    gap: 24px;
    font-size: 0.85rem;
    color: #64748b;
    margin-bottom: 16px;
    font-weight: 600;
    flex-wrap: wrap;
}
.kw-issue-meta i {
    color: var(--kw-orange);
    margin-right: 6px;
}

.kw-issue-desc {
    color: #475569;
    line-height: 1.6;
    font-size: 0.95rem;
    margin: 0;
}

/* Custom Pagination */
.kw-pagination-wrap {
    display: flex;
    gap: 10px;
    margin-top: 30px;
}
.kw-pagination-wrap a {
    cursor: pointer;
}
.kw-pagination-wrap a.disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* ================================================================
   13. DOWNLOADS PAGE
   ================================================================ */
/* Custom Search Hero Bar */
.kw-dl-search-form { 
    position: relative; 
    margin-bottom: 40px; 
    display: flex; 
}
.kw-dl-search-input { 
    flex-grow: 1; 
    background: #f4f5f7; 
    border: 2px solid transparent; 
    border-radius: 12px; 
    padding: 18px 24px 18px 56px; 
    font-size: 1.1rem; 
    color: #1e293b; 
    font-weight: 600; 
    transition: all 0.3s ease; 
    outline: none; 
    width: 100%;
}
.kw-dl-search-input:focus { 
    background: #fff; 
    border-color: #3C0753; 
    box-shadow: 0 0 0 4px rgba(60, 7, 83, 0.1); 
}
.kw-dl-search-icon { 
    position: absolute; 
    left: 20px; 
    top: 50%; 
    transform: translateY(-50%); 
    color: #94a3b8; 
    font-size: 1.2rem; 
    pointer-events: none; 
}
.kw-dl-search-btn { 
    position: absolute; 
    right: 8px; 
    top: 8px; 
    bottom: 8px; 
    background: #4a0f5a; 
    color: #fff; 
    border: none; 
    border-radius: 8px; 
    padding: 0 24px; 
    font-weight: 700; 
    transition: all 0.3s ease; 
    cursor: pointer; 
}
.kw-dl-search-btn:hover { 
    background: #320a3d; 
}

/* Category Grid (Folders) */
.kw-dl-grid { 
    display: grid; 
    grid-template-columns: repeat(2, 1fr); 
    gap: 24px; 
    margin-bottom: 40px; 
}
@media (max-width: 767px) { 
    .kw-dl-grid { grid-template-columns: 1fr; } 
}

.kw-dl-card { 
    background: #fff; 
    border: 2px solid #f1f5f9; 
    border-radius: 12px; 
    padding: 24px; 
    display: flex; 
    align-items: flex-start; 
    gap: 20px; 
    text-decoration: none !important; 
    transition: all 0.3s ease; 
    cursor: pointer; 
}
.kw-dl-card:hover { 
    border-color: #ff6c2c; /* Brand Orange */
    transform: translateY(-4px); 
    box-shadow: 0 12px 24px rgba(255, 108, 44, 0.1); 
}
.kw-dl-card-icon { 
    width: 50px; 
    height: 50px; 
    border-radius: 10px; 
    background: rgba(114, 4, 85, 0.08); 
    color: #720455; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 1.5rem; 
    flex-shrink: 0; 
    transition: all 0.3s; 
}
.kw-dl-card:hover .kw-dl-card-icon { 
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%); 
    color: #fff; 
    transform: scale(1.1); 
}
.kw-dl-card-content { 
    flex-grow: 1; 
}
.kw-dl-card-title { 
    font-size: 1.15rem; 
    font-weight: 800; 
    color: #1e293b; 
    margin: 0 0 6px 0; 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    transition: color 0.3s; 
}
.kw-dl-card:hover .kw-dl-card-title { 
    color: #ff6c2c; 
}
.kw-dl-card-desc { 
    font-size: 0.85rem; 
    color: #64748b; 
    margin: 0; 
    line-height: 1.5; 
}
.kw-dl-badge { 
    background: #f1f5f9; 
    color: #475569; 
    font-size: 0.75rem; 
    font-weight: 700; 
    padding: 4px 10px; 
    border-radius: 20px; 
}

/* Popular Downloads List */
.kw-dl-section-title { 
    font-size: 1.25rem; 
    font-weight: 800; 
    color: #111827; 
    margin-bottom: 20px; 
    display: flex; 
    align-items: center; 
    gap: 10px; 
}
.kw-dl-section-title i { color: #ff6c2c; }

.kw-dl-list { 
    border: 1px solid #f1f5f9; 
    border-radius: 12px; 
    overflow: hidden; 
    background: #fff; 
}
.kw-dl-item { 
    display: flex; 
    align-items: center; 
    justify-content: space-between; 
    padding: 20px 24px; 
    border-bottom: 1px solid #f1f5f9; 
    text-decoration: none !important; 
    transition: background 0.2s; 
    gap: 20px; 
}
.kw-dl-item:last-child { border-bottom: none; }
.kw-dl-item:hover { background: #f8fafc; }

.kw-dl-item-main { 
    display: flex; 
    align-items: center; 
    gap: 16px; 
    flex-grow: 1; 
}
.kw-dl-item-icon { 
    width: 40px; 
    height: 40px; 
    border-radius: 8px; 
    background: #f4f5f7; 
    color: #64748b; 
    display: flex; 
    align-items: center; 
    justify-content: center; 
    font-size: 1.2rem; 
    flex-shrink: 0; 
}
.kw-dl-item-info h4 { 
    margin: 0 0 4px 0; 
    font-size: 1rem; 
    font-weight: 700; 
    color: #1e293b; 
}
.kw-dl-item-info p { 
    margin: 0; 
    font-size: 0.85rem; 
    color: #64748b; 
}

.kw-dl-item-meta { 
    display: flex; 
    flex-direction: column; 
    align-items: flex-end; 
    gap: 6px; 
    flex-shrink: 0; 
}
.kw-dl-filesize { 
    font-size: 0.8rem; 
    font-weight: 700; 
    color: #94a3b8; 
    background: #f1f5f9; 
    padding: 4px 10px; 
    border-radius: 6px; 
}
.kw-dl-restricted { 
    font-size: 0.75rem; 
    font-weight: 700; 
    color: #dc2626; 
    background: #fee2e2; 
    padding: 4px 10px; 
    border-radius: 6px; 
    display: inline-flex; 
    align-items: center; 
    gap: 4px; 
}

/* ================================================================
   14. ANNOUNCEMENTS PAGE
   ================================================================ */
.kw-ann-feed {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-bottom: 40px;
}

/* Individual Announcement Card */
.kw-ann-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 30px;
    display: flex;
    gap: 30px;
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.02);
    text-decoration: none !important;
    align-items: flex-start;
}
.kw-ann-card:hover {
    border-color: #ff6c2c;
    box-shadow: 0 15px 35px rgba(255, 108, 44, 0.1);
    transform: translateY(-4px);
    background: #ffffff;
}

/* Responsive adjustment */
@media (max-width: 767px) {
    .kw-ann-card { flex-direction: column; gap: 20px; padding: 24px; }
}

/* Date Box (Calendar Style) */
.kw-ann-date-box {
    background: rgba(114, 4, 85, 0.06);
    border: 1px solid rgba(114, 4, 85, 0.1);
    border-radius: 12px;
    min-width: 90px;
    text-align: center;
    padding: 16px 12px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: all 0.4s ease;
}
.kw-ann-card:hover .kw-ann-date-box {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%);
    border-color: transparent;
}

.kw-ann-date-month {
    font-size: 0.85rem;
    font-weight: 800;
    color: #720455;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 2px;
    transition: color 0.3s;
}
.kw-ann-card:hover .kw-ann-date-month { color: rgba(255,255,255,0.9); }

.kw-ann-date-day {
    font-size: 2.2rem;
    font-weight: 800;
    color: #1e293b;
    line-height: 1;
    transition: color 0.3s;
}
.kw-ann-card:hover .kw-ann-date-day { color: #ffffff; }

.kw-ann-date-year {
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    margin-top: 4px;
    transition: color 0.3s;
}
.kw-ann-card:hover .kw-ann-date-year { color: rgba(255,255,255,0.7); }

/* Content Section */
.kw-ann-content { flex-grow: 1; }
.kw-ann-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: #111827;
    margin: 0 0 12px 0;
    transition: color 0.3s;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}
.kw-ann-card:hover .kw-ann-title { color: #ff6c2c; }

.kw-ann-summary {
    font-size: 0.95rem;
    color: #475569;
    line-height: 1.6;
    margin: 0 0 20px 0;
}

/* Read More Link */
.kw-ann-readmore {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
    font-weight: 800;
    color: #720455;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: color 0.3s;
}
.kw-ann-readmore i { transition: transform 0.3s ease; }
.kw-ann-card:hover .kw-ann-readmore { color: #ff6c2c; }
.kw-ann-card:hover .kw-ann-readmore i { transform: translateX(6px); }

/* Admin Edit Button Override */
.kw-ann-edit-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #f1f5f9;
    color: #475569;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 6px;
    transition: all 0.2s;
    letter-spacing: 0;
}
.kw-ann-edit-btn:hover { background: #1e293b; color: #fff; }

/* ================================================================
   15. PRODUCT DETAILS PAGE (BRANDED UX)
   ================================================================ */
.kw-pd-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #3C0753; /* Brand Dark Purple */
    margin-bottom: 24px;
    display: inline-flex; /* This makes the box wrap tightly around the text */
    align-items: center;
    gap: 10px;
    background: #ffffff; /* Adds the solid white background */
    padding: 12px 24px;
    border-radius: 12px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
    border: 1px solid #f1f5f9;
}
.kw-pd-title i {
    color: #ff6c2c;
}

/* Main Detail Cards */
.kw-pd-card {
    background: #ffffff;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 30px;
    border: 1px solid #f1f5f9;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.06); /* Tinted Purple Shadow */
}

/* Brand Gradient Header */
.kw-pd-header {
    background: linear-gradient(135deg, #3C0753 0%, #720455 100%);
    padding: 24px 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 16px;
    border-bottom: 3px solid #ff6c2c; /* Brand Orange Accent Border */
}
.kw-pd-header-left {
    display: flex;
    align-items: center;
    gap: 20px;
}
.kw-pd-header-icon {
    width: 54px;
    height: 54px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
    color: #ff6c2c; /* Orange Icon */
    flex-shrink: 0;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
}
.kw-pd-header-title {
    font-size: 1.25rem;
    font-weight: 800;
    color: #ffffff;
    margin: 0 0 4px 0;
    letter-spacing: 0.5px;
}
.kw-pd-header-desc {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.7);
    margin: 0;
}

/* The Grid inside the Card */
.kw-pd-body {
    padding: 30px;
}
.kw-pd-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 991px) { .kw-pd-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 575px) { .kw-pd-grid { grid-template-columns: 1fr; } }

/* Individual Info Blocks */
.kw-pd-item {
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    border-radius: 8px;
    padding: 16px 20px;
    position: relative;
    transition: all 0.3s ease;
}
.kw-pd-item:hover {
    box-shadow: 0 6px 15px rgba(60, 7, 83, 0.06);
    border-color: #910A67; /* Magenta hover border */
    background: #ffffff;
}
.kw-pd-item::before {
    content: '';
    position: absolute;
    left: 0;
    top: 16px;
    bottom: 16px;
    width: 4px;
    background: linear-gradient(to bottom, #ff6c2c, #e65c20); /* Orange accent line */
    border-radius: 0 4px 4px 0;
}
.kw-pd-item-label {
    font-size: 0.7rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}
.kw-pd-item-label i { color: #910A67; font-size: 0.8rem; } /* Magenta Icons */
.kw-pd-item-value {
    font-size: 0.95rem;
    font-weight: 700;
    color: #1e293b;
}

/* Server Control Buttons (Modern Tinted Style) */
.kw-server-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 15px;
}
.kw-btn-server {
    padding: 12px 24px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    transition: all 0.3s ease;
}
.kw-btn-server.reboot { 
    color: #ff6c2c; 
    border: 1px solid rgba(255, 108, 44, 0.3); 
    background: rgba(255, 108, 44, 0.05); 
}
.kw-btn-server.reboot:hover { background: #ff6c2c; color: #fff; box-shadow: 0 4px 12px rgba(255, 108, 44, 0.3); }

.kw-btn-server.shutdown { 
    color: #dc2626; 
    border: 1px solid rgba(220, 38, 38, 0.3); 
    background: rgba(220, 38, 38, 0.05); 
}
.kw-btn-server.shutdown:hover { background: #dc2626; color: #fff; box-shadow: 0 4px 12px rgba(220, 38, 38, 0.3); }

.kw-btn-server.manual_reboot { 
    color: #910A67; 
    border: 1px solid rgba(145, 10, 103, 0.3); 
    background: rgba(145, 10, 103, 0.05); 
}
.kw-btn-server.manual_reboot:hover { background: #910A67; color: #fff; box-shadow: 0 4px 12px rgba(145, 10, 103, 0.3); }

/* OS Install Form */
.kw-os-form {
    display: flex;
    gap: 16px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 15px;
}
.kw-os-form select {
    flex-grow: 1;
    min-width: 250px;
}

/* ================================================================
   16. SECURE CREDENTIAL VAULT PAGE
   ================================================================ */
.kw-vault-container {
    padding: 0px 24px;
    max-width: 650px;
    margin: 0 auto;
}

.kw-vault-card {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 15px 40px rgba(60, 7, 83, 0.1);
    border: 1px solid #f1f5f9;
    overflow: hidden;
}

/* Vault Header */
.kw-vault-header {
    background: linear-gradient(135deg, #3C0753 0%, #720455 100%);
    padding: 30px;
    text-align: center;
    color: #ffffff;
    border-bottom: 4px solid #ff6c2c;
}
.kw-vault-header h3 {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
}
.kw-vault-header i {
    font-size: 1.8rem;
    color: #ff6c2c;
}

/* Vault Body */
.kw-vault-body {
    padding: 40px 30px;
    text-align: center;
}

/* Custom Alert / Notice Blocks */
.kw-vault-alert {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
    text-align: left;
    font-size: 0.9rem;
    color: #475569;
    line-height: 1.6;
}
.kw-vault-alert strong {
    color: #1e293b;
}
.kw-vault-alert i.fa-shield-alt {
    color: #3b82f6;
    font-size: 1.2rem;
    margin-bottom: 10px;
    display: block;
}
.kw-vault-alert ul {
    margin: 10px 0 0 0;
}
.kw-vault-alert li {
    margin-bottom: 6px;
}

.iti__globe {
    background-image: none !important; /* Remove the default globe SVG */
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* Insert the FontAwesome Phone Icon */
.iti__globe::before {
    content: "\f095"; /* FontAwesome unicode for 'phone' */
    font-family: "Font Awesome 5 Free";
    font-weight: 900; /* Font weight 900 is required for FA Solid icons */
    font-size: 12px; 
    color: #4b5563; /* Matches your UI's text color */
}

/* Forms & Inputs */
.kw-vault-form-group {
    margin-bottom: 24px;
    text-align: left;
    display: flex;
    align-items: center;
}
.kw-vault-form-group label {
    font-size: 0.85rem;
    font-weight: 800;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
    display: block;
    width: 190px;
}
.kw-vault-input {
    width: 100%;
    background: #f4f5f7;
    border: 2px solid transparent;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 1.1rem;
    color: #1e293b;
    font-weight: 700;
    transition: all 0.3s ease;
    font-family: inherit;
    box-sizing: border-box;
}
.kw-vault-input:focus {
    background: #ffffff;
    border-color: #3C0753;
    box-shadow: 0 0 0 4px rgba(60, 7, 83, 0.1);
    outline: none;
}

/* Custom SMS Code Input */
#smsCodeInput {
    text-align: center;
    letter-spacing: 12px;
    font-size: 1.5rem;
    font-weight: 800;
    color: #3C0753;
}

/* Buttons */
.kw-vault-btn {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%);
    color: #ffffff !important;
    border: none;
    padding: 14px;
    font-size: 14px;
    font-weight: 800;
    border-radius: 10px;
    box-shadow: 0 4px 15px rgba(255, 108, 44, 0.25);
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.kw-vault-btn:hover {
    background: linear-gradient(135deg, #ff814a 0%, #ff6c2c 100%);
    transform: translateY(-2px);
    box-shadow: 0 8px 25px rgba(255, 108, 44, 0.4);
}
.kw-vault-btn-outline {
    background: transparent;
    color: #64748b !important;
    border: 2px solid #e2e8f0;
    box-shadow: none;
}
.kw-vault-btn-outline:hover {
    background: #f8fafc;
    border-color: #cbd5e1;
    color: #1e293b !important;
    transform: translateY(0);
    box-shadow: none;
}

/* Status Icons (Expired / Locked) */
.kw-vault-status-icon {
    font-size: 4.5rem;
    margin-bottom: 20px;
}
.kw-vault-status-icon.text-danger { color: #ef4444; }
.kw-vault-status-icon.text-warning { color: #f59e0b; }

.kw-vault-title {
    font-size: 1.6rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 12px;
}
.kw-vault-desc {
    font-size: 0.95rem;
    color: #64748b;
    line-height: 1.6;
    margin-bottom: 30px;
}

/* SMS Timer Block */
.kw-vault-timer-block {
    background: #f8fafc;
    border-radius: 10px;
    padding: 15px;
    margin-bottom: 24px;
    display: inline-block;
    border: 1px solid #e2e8f0;
}
.kw-vault-timer-text {
    font-size: 0.85rem;
    font-weight: 700;
    color: #64748b;
    text-transform: uppercase;
}
.kw-vault-timer-countdown {
    font-size: 1.2rem;
    font-weight: 800;
    color: #dc2626; /* Red to indicate urgency */
    display: block;
    margin-top: 4px;
}

/* Final Reveal Block */
.kw-vault-reveal-block {
    background: #1e293b; /* Dark Slate for contrast */
    color: #f8fafc;
    padding: 24px;
    border-radius: 12px;
    text-align: left;
    margin-bottom: 24px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 0.95rem;
    line-height: 1.6;
    white-space: pre-wrap;
    word-break: break-all;
    border-left: 4px solid #ff6c2c;
}
.kw-vault-action-row {
    display: flex;
    gap: 12px;
    justify-content: center;
}
.kw-vault-action-row button {
    flex: 1;
}

/* Override intl-tel-input so it matches our custom input */
.iti { width: 100%; display: block; }
.iti__flag-container { padding: 4px; }

/* ================================================================
   17. USER MANAGEMENT PAGE
   ================================================================ */

/* Content Card Enclosure */
.kw-user-card-wrap {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.05);
    border: 1px solid #f1f5f9;
    margin-bottom: 30px;
}

.kw-user-header {
    font-size: 1.4rem;
    font-weight: 800;
    color: #3C0753;
    margin-bottom: 8px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.kw-user-header i { color: #ff6c2c; }
.kw-user-desc {
    color: #64748b;
    font-size: 0.95rem;
    margin-bottom: 24px;
}

/* User List (Replacing the Table) */
.kw-user-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 20px;
}
.kw-user-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 20px 24px;
    transition: all 0.3s ease;
    flex-wrap: wrap;
    gap: 20px;
}
.kw-user-item:hover {
    border-color: #910A67;
    background: #ffffff;
    box-shadow: 0 4px 15px rgba(60, 7, 83, 0.06);
}

/* User Info Layout */
.kw-user-info-box {
    display: flex;
    align-items: center;
    gap: 16px;
}
.kw-user-avatar {
    width: 48px;
    height: 48px;
    background: rgba(145, 10, 103, 0.1);
    color: #910A67;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    font-weight: 800;
    flex-shrink: 0;
}
.kw-user-details h4 {
    margin: 0 0 4px 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.kw-user-details p {
    margin: 0;
    font-size: 0.85rem;
    color: #64748b;
}

/* Badges */
.kw-badge-owner {
    background: #e0e7ff;
    color: #4f46e5;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}
.kw-badge-pending {
    background: #ffedd5;
    color: #c2410c;
    font-size: 0.7rem;
    font-weight: 800;
    padding: 3px 8px;
    border-radius: 4px;
    text-transform: uppercase;
}

/* Action Buttons Container */
.kw-user-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.kw-user-actions .kw-btn-action {
    padding: 10px 16px;
    font-size: 0.85rem;
}
.kw-user-actions .kw-btn-action.disabled {
    opacity: 0.5;
    pointer-events: none;
    cursor: not-allowed;
}

/* Form Styles */
.kw-invite-form {
    background: #f8fafc;
    padding: 24px;
    border-radius: 10px;
    border: 1px solid #e2e8f0;
}
.kw-invite-input {
    width: 100%;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 14px 16px;
    font-size: 1rem;
    color: #1e293b;
    margin-bottom: 20px;
    transition: border 0.3s;
}
.kw-invite-input:focus {
    border-color: #3C0753;
    outline: none;
    box-shadow: 0 0 0 3px rgba(60, 7, 83, 0.1);
}

/* Custom Radio Buttons */
.kw-radio-group {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    flex-wrap: wrap;
}
.kw-radio-label {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #334155;
    cursor: pointer;
}
.kw-radio-label input[type="radio"] {
    accent-color: #ff6c2c;
    width: 18px;
    height: 18px;
    cursor: pointer;
}

/* Permissions Checkbox Grid */
#invitePermissions {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    padding: 20px;
    margin-bottom: 20px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
.kw-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.kw-checkbox-label input[type="checkbox"] {
    margin-top: 4px;
    accent-color: #720455;
    width: 16px;
    height: 16px;
    cursor: pointer;
}
.kw-checkbox-text {
    display: flex;
    flex-direction: column;
}
.kw-checkbox-title {
    font-weight: 700;
    color: #1e293b;
    font-size: 0.9rem;
}
.kw-checkbox-desc {
    color: #64748b;
    font-size: 0.8rem;
}

/* ================================================================
   18. CONTACTS PAGE (NEW & EDIT)
   ================================================================ */
/* Top Selection Bar */
.kw-contact-top-bar {
    background: #dbeafe; /* Very light blue */
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    padding: 16px 24px;
    margin-bottom: 24px;
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}
.kw-contact-top-label {
    font-size: 0.9rem;
    font-weight: 800;
    color: #1e293b;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}
.kw-contact-top-select {
    flex-grow: 1;
    max-width: 400px;
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 10px 16px;
    font-size: 0.95rem;
    font-weight: 600;
    color: #334155;
    outline: none;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 16px center;
}
.kw-contact-top-btn {
    background: transparent;
    border: none;
    color: #3b82f6;
    font-weight: 800;
    font-size: 0.9rem;
    text-transform: uppercase;
    cursor: pointer;
    transition: color 0.2s;
}
.kw-contact-top-btn:hover { color: #1d4ed8; }

/* Form Cards */
.kw-contact-card {
    background: #ffffff;
    border-radius: 16px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.05);
    border: 1px solid #f1f5f9;
    margin-bottom: 24px;
}
.kw-contact-card-title {
    font-size: 1.4rem;
    font-weight: 800;
    color: #111827;
    margin-bottom: 30px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.kw-contact-card-title i {
    color: #ff6c2c;
    font-size: 1.5rem;
}

/* WHMCS BULLETPROOF FORM INPUTS */
.kw-contact-form-group {
    margin-bottom: 20px;
}
.kw-contact-form-group label {
    display: block;
    font-size: 0.85rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 8px;
}

/* Target inputs securely so WHMCS JS overrides don't break them */
.kw-contact-form-group input[type="text"],
.kw-contact-form-group input[type="email"],
.kw-contact-form-group input[type="tel"],
.kw-contact-form-group select {
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
    background: #f1f5f9 !important;
    border: 2px solid transparent !important;
    border-radius: 12px !important;
    padding: 12px 20px !important;
    min-height: 48px !important; /* Fixes the collapsed State dropdown */
    font-size: 0.95rem !important;
    color: #334155 !important;
    font-weight: 600 !important;
    transition: all 0.3s ease !important;
    outline: none !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
}

.kw-contact-form-group input[type="text"]:focus,
.kw-contact-form-group input[type="email"]:focus,
.kw-contact-form-group input[type="tel"]:focus,
.kw-contact-form-group select:focus {
    background: #ffffff !important;
    border-color: #3C0753 !important;
    box-shadow: 0 0 0 4px rgba(60, 7, 83, 0.1) !important;
}

/* Custom Dropdown Arrows for Dynamically created Selects */
.kw-contact-form-group select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 40px !important;
}

/* WHMCS Phone Input Override */
.iti { width: 100% !important; display: block !important; }
.iti__flag-container { z-index: 5; }
.iti input[type="tel"] { padding-left: 55px !important; /* Makes room for the flag inside the pill */ }

/* Checkboxes */
.kw-pref-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.kw-pref-item {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer;
}
.kw-pref-item input[type="checkbox"] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
    accent-color: #910A67;
    cursor: pointer;
}
.kw-pref-text {
    font-size: 0.9rem;
    color: #475569;
    font-weight: 600;
    line-height: 1.5;
}

/* Action Buttons Footer */
.kw-contact-actions {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-top: 30px;
}
.kw-btn-save {
    background: linear-gradient(135deg, #720455 0%, #910A67 100%);
    color: #ffffff !important;
    border: none;
    padding: 12px 32px;
    font-size: 0.95rem;
    font-weight: 800;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(114, 4, 85, 0.3);
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;
}
.kw-btn-save:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(114, 4, 85, 0.5);
}
.kw-btn-cancel {
    background: #dc2626;
    color: #ffffff !important;
    border: none;
    padding: 12px 32px;
    font-size: 0.95rem;
    font-weight: 800;
    border-radius: 20px;
    box-shadow: 0 4px 15px rgba(220, 38, 38, 0.25);
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;
}
.kw-btn-cancel:hover {
    background: #b91c1c;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(220, 38, 38, 0.4);
}

/* ================================================================
   19. EMAIL HISTORY PAGE
   ================================================================ */
/* Dark Header Modifier for Tables */
.kw-table-dark-header thead th {
    background: linear-gradient(135deg, #3C0753 0%, #720455 100%) !important;
    color: #ffffff !important;
    border-bottom: none !important;
    padding: 18px 24px !important;
}

.kw-email-date {
    font-size: 0.95rem;
    color: #64748b;
    font-weight: 600;
    white-space: nowrap;
}

.kw-email-subject {
    font-weight: 700;
    color: #1e293b;
    display: flex;
    align-items: center;
    gap: 12px;
}
.kw-email-subject i.fa-envelope {
    color: #910A67; /* Brand Magenta */
    font-size: 1.2rem;
    background: rgba(145, 10, 103, 0.1);
    padding: 8px;
    border-radius: 8px;
}

/* Magenta Action Button */
.kw-btn-magenta {
    background: #910A67;
    color: #ffffff !important;
    border: none;
    padding: 10px 20px;
    font-size: 0.8rem;
    font-weight: 800;
    border-radius: 6px;
    transition: all 0.3s ease;
    text-transform: uppercase;
    cursor: pointer;
    letter-spacing: 0.5px;
}
.kw-btn-magenta:hover {
    background: #720455;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(145, 10, 103, 0.3);
}

/* ================================================================
   20. USER PROFILE PAGE
   ================================================================ */
.kw-profile-actions {
    display: flex;
    gap: 16px;
    margin-top: 10px;
    flex-wrap: wrap;
}

.kw-badge-unverified {
    background: #64748b;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
}

.kw-badge-verified {
    background: #16a34a;
    color: #ffffff;
    font-size: 0.7rem;
    font-weight: 700;
    padding: 6px 12px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 24px;
}

/* ================================================================
   21. CHANGE PASSWORD / SECURITY SETTINGS
   ================================================================ */
.kw-pw-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 24px;
    gap: 20px;
}
.kw-pw-label {
    width: 100%;
    max-width: 200px;
    font-size: 0.95rem;
    font-weight: 800;
    color: #1e293b;
    margin: 0;
}
.kw-pw-input-wrap {
    flex: 1;
    min-width: 250px;
    max-width: 500px;
}
.kw-pw-action-wrap {
    min-width: 180px;
}

/* Dark Purple Generate Button */
.kw-btn-generate {
    background: #3C0753;
    color: #ffffff !important;
    border: none;
    padding: 16px 20px;
    font-size: 0.85rem;
    font-weight: 800;
    border-radius: 8px;
    box-shadow: 0 4px 15px rgba(60, 7, 83, 0.2);
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    line-height: 1.4;
}
.kw-btn-generate:hover {
    background: #720455;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(114, 4, 85, 0.3);
}

/* Light Blue Password Tips Box */
.kw-pw-tips {
    background: #e0f2fe;
    border: 1px solid #bae6fd;
    border-radius: 8px;
    padding: 16px;
    margin-top: 16px;
    color: #0369a1;
    font-size: 0.85rem;
    line-height: 1.6;
}
.kw-pw-tips h5 {
    margin: 0 0 6px 0;
    font-size: 0.9rem;
    font-weight: 800;
    display: flex;
    align-items: center;
    gap: 6px;
    color: #075985;
}
.kw-pw-tips ul {
    margin: 0;
    padding-left: 20px;
}
.kw-pw-tips li { 
    margin-bottom: 4px; 
}

/* ================================================================
   22. SECURITY SETTINGS PAGE
   ================================================================ */
.kw-btn-green {
    background: #16a34a;
    color: #ffffff !important;
    border: none;
    padding: 12px 32px;
    font-size: 0.95rem;
    font-weight: 800;
    border-radius: 20px; /* Pill button */
    box-shadow: 0 4px 15px rgba(22, 163, 74, 0.25);
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;
    text-decoration: none !important;
    display: inline-block;
}
.kw-btn-green:hover {
    background: #15803d;
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(22, 163, 74, 0.4);
    color: #ffffff !important;
}

/* ================================================================
   24. CANCELLATION REQUEST PAGE
   ================================================================ */
.kw-cancel-card {
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.05);
    border: 1px solid #f1f5f9;
    overflow: hidden;
    margin-bottom: 30px;
}

/* Light Blue Informational Banner */
.kw-cancel-header {
    background: #e0f2fe;
    border-bottom: 1px solid #bae6fd;
    padding: 16px 24px;
    font-size: 0.95rem;
    color: #0369a1;
    display: flex;
    align-items: center;
    gap: 12px;
}
.kw-cancel-header i {
    font-size: 1.1rem;
    color: #0ea5e9;
}
.kw-cancel-header strong {
    color: #075985;
    font-weight: 800;
}

.kw-cancel-body {
    padding: 30px;
}

/* Form Styles */
.kw-cancel-form-group {
    margin-bottom: 24px;
}
.kw-cancel-form-group label {
    display: block;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e293b;
    margin-bottom: 12px;
}
.kw-cancel-textarea {
    width: 100%;
    background: #f8fafc;
    border: 2px solid transparent;
    border-radius: 12px;
    padding: 16px;
    font-size: 0.95rem;
    color: #334155;
    font-family: inherit;
    resize: vertical;
    min-height: 140px;
    transition: all 0.3s ease;
    box-sizing: border-box;
}
.kw-cancel-textarea:focus {
    background: #ffffff;
    border-color: #3C0753;
    box-shadow: 0 0 0 4px rgba(60, 7, 83, 0.1);
    outline: none;
}

/* Flexbox Row for the Dropdown */
.kw-cancel-type-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-bottom: 30px;
    flex-wrap: wrap;
}
.kw-cancel-type-row label {
    margin: 0;
    font-size: 0.9rem;
    font-weight: 700;
    color: #1e293b;
}
.kw-cancel-type-row select {
    background: #ffffff;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 8px 36px 8px 16px;
    font-size: 0.9rem;
    font-weight: 600;
    color: #334155;
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 12px center;
    outline: none;
    cursor: pointer;
}
.kw-cancel-type-row select:focus {
    border-color: #3C0753;
}

/* Right-aligned Footer Buttons */
.kw-cancel-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 20px;
    border-top: 1px solid #f1f5f9;
    padding-top: 24px;
    flex-wrap: wrap;
}
.kw-btn-cancel-link {
    color: #64748b;
    font-weight: 800;
    text-decoration: none !important;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: color 0.2s;
    cursor: pointer;
}
.kw-btn-cancel-link:hover {
    color: #1e293b;
}

/* Custom Danger Button */
.kw-btn-danger-action {
    background: #ef4444;
    color: #ffffff !important;
    border: none;
    padding: 12px 24px;
    font-size: 0.95rem;
    font-weight: 800;
    border-radius: 8px;
    transition: all 0.3s ease;
    cursor: pointer;
    text-transform: uppercase;
}
.kw-btn-danger-action:hover {
    background: #dc2626;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

/* ================================================================
   25. VIEW TICKET & CONVERSATION THREAD
   ================================================================ */
.kw-ticket-view-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.05);
    border: 1px solid #f1f5f9;
    margin-bottom: 30px;
}

/* Ticket Top Header */
.kw-ticket-header-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    border-bottom: 1px solid #f1f5f9;
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.kw-ticket-header-row h2 {
    font-size: 1.4rem;
    font-weight: 800;
    color: #3C0753;
    margin: 0;
}
.kw-ticket-actions {
    display: flex;
    gap: 10px;
}
.kw-ticket-subject {
    font-size: 1.05rem;
    color: #475569;
    margin-bottom: 30px;
}
.kw-ticket-subject strong {
    color: #1e293b;
    font-weight: 800;
}

/* Action Buttons (Header) */
.kw-btn-yellow {
    background: #f59e0b;
    color: #ffffff !important;
    border: none;
    padding: 8px 18px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 0.8rem;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.kw-btn-yellow:hover {
    background: #d97706;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3);
}
.kw-btn-red-sm {
    background: #ef4444;
    color: #ffffff !important;
    border: none;
    padding: 8px 18px;
    border-radius: 6px;
    font-weight: 800;
    font-size: 0.8rem;
    cursor: pointer;
    text-transform: uppercase;
    transition: all 0.3s ease;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.kw-btn-red-sm:hover {
    background: #dc2626;
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3);
}

/* Conversation Message Blocks */
.kw-msg-block {
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    margin-bottom: 20px;
    overflow: hidden;
}
.kw-msg-header {
    padding: 12px 20px;
    font-size: 0.85rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}
.kw-msg-header strong {
    font-weight: 800;
    color: inherit;
}
.kw-msg-header-client {
    background: #ffedd5; /* Light Orange */
    border-bottom: 1px solid #fed7aa;
    color: #9a3412;
}
.kw-msg-header-admin {
    background: #f1f5f9; /* Light Grey/Blue */
    border-bottom: 1px solid #e2e8f0;
    color: #334155;
}

/* Role Badges */
.kw-msg-badge {
    padding: 4px 12px;
    font-size: 0.7rem;
    font-weight: 800;
    text-transform: uppercase;
    border-radius: 4px;
}
.kw-msg-badge-client {
    background: #64748b; /* Grey matching mockup */
    color: #ffffff;
}
.kw-msg-badge-admin {
    background: #38bdf8; /* Cyan matching mockup */
    color: #ffffff;
}

/* Message Body */
.kw-msg-body {
    padding: 24px;
    background: #ffffff;
    color: #334155;
    font-size: 0.95rem;
    line-height: 1.6;
}
.kw-msg-body hr {
    border-color: #f1f5f9;
    margin: 20px 0;
}
.kw-msg-attachments {
    background: #f8fafc;
    border-top: 1px solid #f1f5f9;
    padding: 16px 24px;
}
.kw-msg-attachments ul {
    list-style: none;
    padding: 0;
    margin: 10px 0 0 0;
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}
.kw-msg-attachments a {
    color: #3C0753;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}
.kw-msg-attachments a:hover {
    color: #ff6c2c;
}

/* ================================================================
   26. ENTERPRISE HOMEPAGE DASHBOARD (MOCKUP MATCH)
   ================================================================ */
/* Split Banner Layout */
.kw-banner-split {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 40px;
    margin-bottom: 50px;
    flex-wrap: wrap;
}
.kw-banner-text-col { flex: 1; min-width: 300px; }
.kw-banner-coverage-col { width: 380px; }

/* Coverage Card */
.kw-coverage-card {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 24px;
    backdrop-filter: blur(10px);
}
.kw-cov-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75rem;
    font-weight: 800;
    color: rgba(255,255,255,0.7);
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 12px;
}
.kw-cov-header i {
    background: rgba(255, 255, 255, 0.1);
    padding: 6px;
    border-radius: 6px;
    color: #fff;
}
.kw-cov-num { font-size: 1.8rem; font-weight: 800; color: #fff; margin-bottom: 10px; line-height: 1; }
.kw-cov-desc { font-size: 0.85rem; color: rgba(255,255,255,0.9); line-height: 1.5; margin-bottom: 20px; }
.kw-progress-bar { height: 6px; background: rgba(255,255,255,0.2); border-radius: 10px; margin-bottom: 10px; overflow: hidden; }
.kw-progress-fill { height: 100%; background: #e0f2fe; border-radius: 10px; }
.kw-cov-footer { font-size: 0.75rem; color: rgba(255,255,255,0.6); margin: 0; }

/* New Overlapping Stat Cards */
.kw-new-stats-row {
    margin-top: -60px; /* Pulls cards up over the banner */
    position: relative;
    z-index: 10;
}
.kw-new-stat-card {
    background: #ffffff;
    border-radius: 12px;
    padding: 24px;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.05);
    border: 1px solid #f1f5f9;
    height: 100%;
    transition: transform 0.3s ease;
}
.kw-new-stat-card:hover { transform: translateY(-5px); border-color: #cbd5e1; }
.kw-new-stat-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    font-size: 0.75rem;
    font-weight: 800;
    color: #64748b;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.kw-new-stat-icon {
    background: #fff0eb;
    color: #ff6c2c;
    width: 36px; height: 36px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.1rem;
}
.kw-new-stat-num { font-size: 2.2rem; font-weight: 800; color: #1e293b; margin: 10px 0 5px 0; line-height: 1; }
.kw-new-stat-desc { font-size: 0.85rem; color: #94a3b8; line-height: 1.5; margin: 0; }

/* Product List Layout */
.kw-pl-container { 
    box-shadow: rgba(60, 7, 83, 0.05) 0px 10px 30px;
    margin-bottom: 40px;
    background: rgb(255, 255, 255);
    border-radius: 16px;
    padding: 40px;
    border-width: 1px;
    border-style: solid;
    border-color: rgb(241, 245, 249);
    border-image: initial;}
.kw-pl-header-wrap {
    display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 30px; flex-wrap: wrap; gap: 20px;
}
.kw-pl-title-area { max-width: 600px; }
.kw-pl-subtitle { font-size: 0.75rem; font-weight: 800; color: #ff6c2c; text-transform: uppercase; letter-spacing: 1px; display: block; margin-bottom: 8px; }
.kw-pl-title { font-size: 1.8rem; font-weight: 800; color: #1e293b; margin: 0 0 10px 0; letter-spacing: -0.5px; }
.kw-pl-desc { font-size: 0.95rem; color: #64748b; line-height: 1.6; margin: 0; }

/* Filters */
/* Filters (Bulletproof Override) */
.kw-pl-filters { display: flex; gap: 12px; align-items: center; }
.kw-pl-search { position: relative; }
.kw-pl-search i { position: absolute; left: 16px; top: 50%; transform: translateY(-50%); color: #94a3b8; }
.kw-pl-search input {
    background: #f1f5f9 !important; border: 1px solid transparent !important; border-radius: 8px !important;
    padding: 10px 16px 10px 40px !important; font-size: 0.9rem !important; font-weight: 600 !important; 
    color: #334155 !important; outline: none !important; transition: all 0.2s !important; width: 220px !important;
}
.kw-pl-search input:focus { background: #fff !important; border-color: #3C0753 !important; box-shadow: 0 0 0 3px rgba(60, 7, 83, 0.1) !important; }

.kw-pl-select {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-color: #f1f5f9 !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 10px 40px 10px 16px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    color: #334155 !important;
    outline: none !important;
    transition: all 0.2s ease !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23334155' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    cursor: pointer !important;
}
.kw-pl-select:focus { background: #fff !important; border-color: #3C0753 !important; box-shadow: 0 0 0 3px rgba(60, 7, 83, 0.1) !important; }

/* Quick Stats Bar */
.kw-pl-quick-stats {
    display: flex; gap: 60px; margin-bottom: 40px; border-top: 1px solid #f1f5f9; padding-top: 24px; flex-wrap: wrap;
}
.kw-pl-qstat { display: flex; flex-direction: column; }
.kw-pl-qstat .label { font-size: 0.7rem; font-weight: 800; color: #64748b; text-transform: uppercase; margin-bottom: 4px; letter-spacing: 0.5px;}
.kw-pl-qstat .value { font-size: 1.6rem; font-weight: 800; color: #1e293b; line-height: 1;}

/* Modern List Table */
.kw-pl-table { background: #ffffff; border: 1px solid #f1f5f9; border-radius: 12px; overflow: hidden; }
.kw-pl-thead {
    display: grid; grid-template-columns: 2fr 1fr 1.5fr 1fr 150px; padding: 16px 24px;
    background: #f8fafc; border-bottom: 1px solid #f1f5f9;
    font-size: 0.75rem; font-weight: 800; color: #94a3b8; text-transform: uppercase; letter-spacing: 0.5px;
}
.kw-pl-row {
    display: grid; grid-template-columns: 2fr 1fr 1.5fr 1fr 150px; padding: 20px 24px;
    border-bottom: 1px solid #f1f5f9; align-items: center; transition: background 0.2s;
}
.kw-pl-row:hover { background: #f8fafc; }
.kw-pl-row:last-child { border-bottom: none; }

.kw-pl-col-main { display: flex; align-items: center; gap: 16px; }
.kw-pl-icon { width: 42px; height: 42px; border-radius: 8px; background: #3C0753; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; }
.kw-pl-name strong { display: block; font-size: 0.95rem; font-weight: 800; color: #1e293b; margin-bottom: 2px; }
.kw-pl-name span { display: block; font-size: 0.8rem; color: #64748b; font-weight: 500; }

.kw-pl-col-cat .kw-pill { padding: 4px 10px; border-radius: 20px; font-size: 0.7rem; font-weight: 800; text-transform: uppercase; }
.kw-pill-green { background: #dcfce7; color: #16a34a; }
.kw-pill-orange { background: #fff0eb; color: #ea580c; }
.kw-pill-purple { background: rgba(145, 10, 103, 0.1); color: #910A67; }
.kw-pill-blue { background: #e0f2fe; color: #0284c7; }

.kw-pl-col-count strong, .kw-pl-col-location strong { display: block; font-size: 0.9rem; font-weight: 700; color: #1e293b; margin-bottom: 2px;}
.kw-pl-col-count span, .kw-pl-col-location span { display: block; font-size: 0.8rem; color: #64748b; }

.kw-btn-dark-sm {
    background: #3C0753; color: #fff !important; font-size: 0.8rem; font-weight: 700; padding: 10px 16px;
    border-radius: 6px; text-decoration: none !important; display: inline-block; text-align: center; transition: all 0.3s;
}
.kw-btn-dark-sm:hover { background: #720455; transform: translateY(-2px); box-shadow: 0 4px 12px rgba(60, 7, 83, 0.3); }

@media (max-width: 1024px) {
    .kw-pl-thead { display: none; }
    .kw-pl-row { grid-template-columns: 1fr; gap: 16px; padding: 24px; position: relative; }
    .kw-pl-col-action { text-align: left !important; margin-top: 10px; }
    .kw-new-stats-row { margin-top: 20px; }
}
/* Make the Stat Cards clickable and responsive as links */
a.kw-new-stat-card {
    text-decoration: none !important;
    display: flex;
    flex-direction: column;
    color: inherit;
}
a.kw-new-stat-card:hover .kw-new-stat-num {
    color: #ff6c2c;
}
/* Load More Button (Bulletproof Override) */
.kw-btn-seemore-list {
    background: #ffffff !important; 
    color: #3C0753 !important; 
    border: 2px solid #3C0753 !important; 
    padding: 12px 40px !important; 
    border-radius: 8px !important; 
    font-weight: 800 !important; 
    text-transform: uppercase !important; 
    transition: all 0.3s ease !important; 
    display: inline-block !important; 
    cursor: pointer !important;
    letter-spacing: 0.5px !important;
    box-shadow: 0 4px 10px rgba(60, 7, 83, 0.05) !important;
}
.kw-btn-seemore-list:hover { 
    background: #3C0753 !important; 
    color: #ffffff !important; 
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 15px rgba(60, 7, 83, 0.2) !important;
}

/* ================================================================
   27. SHOPPING CART & PRICING CARDS
   ================================================================ */
/* Main Cart Body (Right Side) */
.kw-cart-layout {
    background: #f8fafc; 
    border-radius: 24px;
    padding: 40px;
    box-shadow: 0 10px 30px rgba(60, 7, 83, 0.05);
    border: 1px solid #e2e8f0;
}

/* Cart Sidebar (Left Side) - Matches Dashboard Sidebar */
.kw-cart-sidebar-block {
    background: #ffffff !important;
    border-radius: 16px !important;
    padding: 24px !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04) !important;
    margin-bottom: 30px;
    border: 1px solid #f1f5f9;
    position: relative;
    z-index: 10;
}
.kw-cart-sidebar-block .panel {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding-top: 1rem;
}
.kw-cart-sidebar-block .panel-heading .panel-title {
    background: transparent !important;
    padding: 12px 0 12px 0 !important;
    border: none !important;
    font-weight: 800 !important;
    color: #9ca3af !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1.5px !important;
}
.kw-cart-sidebar-block .panel-heading .pull-right { display: none !important; }
.kw-cart-sidebar-block .list-group {
    display: flex !important;
    flex-direction: column !important;
    gap: 8px !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}
.kw-cart-sidebar-block .list-group-item {
    background: #f4f5f7 !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 12px 16px !important;
    color: #111827 !important;
    font-weight: 600 !important;
    font-size: 0.9rem !important;
    transition: all 0.2s ease !important;
    margin: 0 !important;
}
.kw-cart-sidebar-block .list-group-item:hover { background: #e5e7eb !important; }
.kw-cart-sidebar-block .list-group-item.active {
    background: #720455 !important;
    color: #ffffff !important;
    box-shadow: 0 4px 12px rgba(114, 4, 85, 0.25) !important;
}
.kw-cart-sidebar-block .list-group-item i {
    color: #3C0753 !important;
    width: 20px;
    text-align: center;
    margin-right: 8px;
}
.kw-cart-sidebar-block .list-group-item.active i { color: #ffffff !important; }

/* Cart Header */
.kw-cart-header {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #f1f5f9;
}
.kw-cart-title {
    font-size: 2rem;
    font-weight: 800;
    color: #3C0753;
    margin: 0 0 8px 0;
    letter-spacing: -0.5px;
}
.kw-cart-desc {
    color: #64748b;
    font-size: 1.05rem;
    margin: 0;
}

/* ================================================================
   THE NEW HORIZONTAL PRICING CARDS (MOCKUP MATCH)
   ================================================================ */
.kw-horizontal-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    display: flex;
    align-items: stretch; /* Forces equal height for left and right */
    transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    overflow: hidden;
    margin-bottom: 24px;
}
.kw-horizontal-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 40px rgba(60, 7, 83, 0.12);
    border-color: #910A67;
}

/* Left Side: Details & Specs */
.kw-hc-left {
    flex: 1;
    padding: 25px;
    background: #ffffff;
}

.kw-hc-category {
    display: inline-flex; align-items: center; gap: 8px;
    background: #dcfce7; color: #16a34a;
    padding: 6px 14px; border-radius: 8px; font-size: 0.8rem; font-weight: 800;
    margin-bottom: 16px; text-transform: uppercase; letter-spacing: 1px;
}
.kw-hc-category.gpu { background: #fff0eb; color: #ea580c; }
.kw-hc-category.gaming { background: #e0f2fe; color: #0284c7; }
.kw-hc-category.storage { background: rgba(145, 10, 103, 0.1); color: #910A67; }

.kw-hc-title {
    font-size: 20px; font-weight: 800; color: #1e293b; margin: 0 0 16px 0; line-height: 1.3; letter-spacing: -0.5px;
}

.kw-hc-desc {
    background: #f8fafc; border-left: 4px solid #ff6c2c;
    padding: 16px 20px; border-radius: 0 12px 12px 0;
    font-size: 0.9rem; color: #475569; margin: 0; line-height: 1.6;
}

/* Feature Badges (Replacing bullet lists) */
.kw-hc-features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.kw-hc-feature-badge {
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    padding: 8px 14px;
    border-radius: 8px;
    font-size: 0.85rem;
    color: #334155;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.kw-hc-feature-badge i { color: #ff6c2c; } /* Orange accent icons */

.kw-hc-desc {
    font-size: 0.9rem;
    color: #64748b;
    margin-bottom: 16px;
    line-height: 1.5;
}

/* Right Side: Price & CTA */
.kw-hc-right {
    width: 320px;
    background: linear-gradient(135deg, #3C0753 0%, #720455 100%);
    padding: 25px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    position: relative;
    flex-shrink: 0;
}
/* Glowing ambient orb behind the price */
.kw-hc-right::before {
    content: ''; position: absolute; top: -50px; right: -50px;
    width: 150px; height: 150px; background: #ff6c2c; filter: blur(60px);
    border-radius: 50%; opacity: 0.3; pointer-events: none;
}

.kw-hc-starting { font-size: 0.75rem; font-weight: 800; color: rgba(255,255,255,0.6); text-transform: uppercase; letter-spacing: 1px; display: block; margin-bottom: 8px; }
.kw-hc-price { font-size: 30px; font-weight: 800; color: #ffffff; margin: 0 0 4px 0; }
.kw-hc-cycle { font-size: 0.9rem; font-weight: 700; color: rgba(255,255,255,0.8); text-transform: uppercase; display: block; margin-bottom: 24px;}
.kw-hc-setup { font-size: 0.8rem; font-weight: 700; color: #ff6c2c; margin-top: -15px; margin-bottom: 20px; background: rgba(255,108,44,0.1); padding: 4px 10px; border-radius: 6px; }

/* The Order Button */
.kw-hc-btn {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%) !important;
    color: #ffffff !important; border: none; padding: 12px 20px; border-radius: 12px;
    font-weight: 800; font-size: 1.05rem; text-transform: uppercase;
    display: flex; justify-content: center; align-items: center; gap: 10px;
    box-shadow: 0 8px 20px rgba(255, 108, 44, 0.3); transition: all 0.3s;
    position: relative; z-index: 1; text-decoration: none !important;
}
.kw-hc-btn:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(255, 108, 44, 0.5); }

/* Mobile Responsiveness */
@media (max-width: 991px) {
    .kw-cart-layout { padding: 24px; }
    .kw-horizontal-card { flex-direction: column; }
    .kw-hc-right { width: 100%; padding: 30px; border-radius: 0 0 20px 20px; }
}

/* ================================================================
   28. PRODUCT CONFIGURATION PAGE (ULTRA MODERN SAAS)
   ================================================================ */

/* Selected Product Hero Box */
.kw-config-hero {
    background: linear-gradient(135deg, rgba(60, 7, 83, 0.05) 0%, rgba(145, 10, 103, 0.02) 100%);
    border: none;
    border-radius: 16px;
    padding: 30px;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
    gap: 24px;
}
.kw-config-hero-icon {
    width: 60px; height: 60px;
    border-radius: 14px;
    background: linear-gradient(135deg, #3C0753 0%, #720455 100%);
    color: #ffffff;
    display: flex; justify-content: center; align-items: center;
    font-size: 1.8rem; flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(60, 7, 83, 0.2);
}
.kw-config-hero-title {
    font-size: 1.6rem; font-weight: 800; color: #1e293b; margin: 0 0 6px 0; letter-spacing: -0.5px;
}
.kw-config-hero-desc {
    font-size: 0.95rem; color: #64748b; margin: 0; line-height: 1.5;
}

/* Section Headings */
.kw-config-section-title {
    font-size: 1.05rem;
    font-weight: 800;
    color: #1e293b;
    margin: 40px 0 25px 0;
    padding-bottom: 12px;
    border-bottom: 1px solid #e2e8f0;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: flex; align-items: center; gap: 12px;
}
.kw-config-section-title i { 
    color: #ff6c2c; 
    background: #fff0eb; 
    padding: 8px; 
    border-radius: 8px; 
    font-size: 1.1rem; 
}

/* Modern Form Controls */
.kw-config-form label {
    font-size: 0.85rem !important;
    font-weight: 700 !important;
    color: #475569 !important;
    margin: 10px 0px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.kw-config-form .form-control {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    padding: 16px 20px !important;
    height: auto !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
    transition: all 0.3s ease !important;
}
.kw-config-form .form-control:focus {
    background: #ffffff !important;
    border-color: #910A67 !important;
    box-shadow: 0 0 0 4px rgba(145, 10, 103, 0.1) !important;
}
.kw-config-form select.form-control {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 20px center !important;
    padding-right: 45px !important;
    cursor: pointer;
}

/* Radio & Checkbox Styling */
.kw-config-radio-label {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    cursor: pointer;
    transition: all 0.2s;
    background: #ffffff;
    font-weight: 600;
    color: #334155;
    font-size: 0.95rem;
}
.kw-config-radio-label:hover { border-color: #910A67;  }
.kw-config-radio-label input[type="radio"],
.kw-config-radio-label input[type="checkbox"] {
    margin: 0;
    accent-color: #ff6c2c;
    width: 20px; height: 20px;
    cursor: pointer;
}

#order-standard_cart .order-summary{
    background-color: transparent !important;
    border-bottom: none !important;
}

/* Addon Cards */
.kw-addon-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 24px;
    cursor: pointer;
    transition: all 0.3s;
    height: 100%;
    display: flex;
    flex-direction: column;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.kw-addon-card:hover { border-color: #910A67; box-shadow: 0 10px 25px rgba(145, 10, 103, 0.08); transform: translateY(-3px); }
.kw-addon-card.panel-addon-selected {
    border-color: #ff6c2c;
    background: #fff0eb;
    box-shadow: 0 10px 25px rgba(255, 108, 44, 0.1);
}
.kw-addon-card label { cursor: pointer; display: flex; align-items: flex-start; gap: 12px; font-size: 1.05rem; font-weight: 800; color: #1e293b; margin-bottom: 12px; text-transform: none;}
.kw-addon-card input[type="checkbox"] { accent-color: #ff6c2c; width: 22px; height: 22px; margin-top: 2px; cursor: pointer; }
.kw-addon-desc { font-size: 0.9rem; color: #64748b; line-height: 1.6; flex-grow: 1; margin-bottom: 20px; padding-left: 34px;}
.kw-addon-price { font-weight: 800; color: #3C0753; font-size: 1.2rem; padding-left: 34px;}

/* Order Summary Box (Sticky Right Sidebar) */
.kw-summary-box {
    background: #ffffff;
    border: none;
    border-radius: 20px;
    padding: 30px;
    position: sticky;
    top: 100px;
    box-shadow: 0 20px 50px rgba(60, 7, 83, 0.08);
}
.kw-summary-header {
    font-size: 1.25rem;
    font-weight: 800;
    color: #1e293b;
    border-bottom: 2px solid #f1f5f9;
    padding-bottom: 20px;
    margin-bottom: 20px;
    display: flex; align-items: center; gap: 12px;
}
.kw-summary-header i { color: #ffffff; background: #3C0753; padding: 10px; border-radius: 10px; font-size: 1.1rem; }

/* WHMCS Injected Pricing Table Overrides */
#producttotal { font-size: 0.95rem; color: #475569; }
#producttotal .summary-totals { margin-bottom: 20px; }
#producttotal .clearfix { display: flex; justify-content: space-between; margin-bottom: 10px; padding: 6px 0; border-bottom: 1px dashed #f1f5f9; }
#producttotal .clearfix:last-child { border-bottom: none; }
#producttotal .pull-left { font-weight: 600; color: #64748b; }
#producttotal .pull-right { font-weight: 800; color: #1e293b; text-align: right;}
#producttotal .total-due-today {
    margin-top: 20px; padding-top: 20px; border-top: 2px solid #e2e8f0;
}
#producttotal .total-due-today .pull-left { font-size: 1.1rem; font-weight: 800; color: #1e293b; margin-top: 10px;}
#producttotal .total-due-today .pull-right { font-size: 2rem; font-weight: 800; color: #ff6c2c; letter-spacing: -1px; }

/* Continue Button */
.kw-btn-continue {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%);
    color: #ffffff !important;
    border: none;
    width: 100%;
    padding: 18px;
    border-radius: 12px;
    font-weight: 800;
    font-size: 1.1rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    box-shadow: 0 8px 25px rgba(255, 108, 44, 0.3);
    transition: all 0.3s ease;
    display: flex; justify-content: center; align-items: center; gap: 12px;
    margin-top: 25px;
}
.kw-btn-continue:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 30px rgba(255, 108, 44, 0.5);
    background: linear-gradient(135deg, #ff814a 0%, #ff6c2c 100%);
}

/* ================================================================
   29. REVIEW CART / CHECKOUT PAGE (MOCKUP MATCH)
   ================================================================ */

/* Cart Items Wrapper & Header */
.kw-cart-items-wrapper {
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    background: #ffffff;
    margin-bottom: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}
.kw-cart-items-header {
    background: linear-gradient(135deg, #3C0753 0%, #720455 100%);
    color: #ffffff;
    padding: 16px 24px;
    border-radius: 12px 12px 0 0;
    display: flex;
    justify-content: space-between;
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 1px;
}

/* Individual Cart Item Row */
.kw-cart-item {
    display: flex;
    justify-content: space-between;
    padding: 24px;
    border-bottom: 1px solid #f1f5f9;
    transition: background 0.2s;
}
.kw-cart-item:last-child { border-bottom: none; border-radius: 0 0 12px 12px; }
.kw-cart-item:hover { background: #fdfbf9; }

/* Left Side - Product Info */
.kw-cart-item-info { flex: 1; padding-right: 20px; }
.kw-cart-item-group {
    font-size: 0.7rem;
    font-weight: 800;
    color: #ff6c2c;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 6px;
    display: block;
}
.kw-cart-item-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #1e293b;
    margin-bottom: 12px;
    display: block;
}
.kw-cart-item-domain {
    font-size: 0.85rem; font-weight: 700; color: #3C0753; display: inline-block; margin-bottom: 12px; background: rgba(60, 7, 83, 0.05); padding: 4px 10px; border-radius: 6px;
}
.kw-cart-item-options {
    list-style: none; padding: 0; margin: 0 0 15px 0; font-size: 0.85rem; color: #64748b; line-height: 1.6;
}
.kw-cart-item-options li strong { color: #475569; font-weight: 600; margin-right: 4px; }
.kw-cart-item-options li i { color: #94a3b8; font-size: 0.7rem; margin-right: 6px; }

.kw-cart-edit-btn {
    font-size: 16px; font-weight: 800; color: #ff6c2c; text-transform: uppercase; text-decoration: none !important; display: inline-flex; align-items: center; gap: 6px; transition: color 0.2s;
}
.kw-cart-edit-btn:hover { color: #e65c20; }

/* Right Side - Price & Actions */
.kw-cart-item-right {
    display: flex;
    align-items: center;
    gap: 24px;
    min-width: 180px;
    justify-content: flex-end;
}
.kw-cart-item-pricing { text-align: right; }
.kw-cart-item-price {
    font-size: 1.3rem;
    font-weight: 800;
    color: #3C0753;
    line-height: 1;
    display: block;
    margin-bottom: 6px;
}
.kw-cart-item-cycle {
    font-size: 0.75rem;
    font-weight: 700;
    color: #94a3b8;
    text-transform: uppercase;
    display: block;
}
.kw-cart-item-setup {
    font-size: 0.75rem; color: #ea580c; display: block; margin-top: 6px; font-weight: 600;
}
.kw-cart-remove-btn {
    background: #fee2e2;
    color: #dc2626;
    border: none;
    width: 38px; height: 38px;
    border-radius: 8px;
    display: flex; align-items: center; justify-content: center;
    cursor: pointer; transition: all 0.2s; font-size: 1rem;
}
.kw-cart-remove-btn:hover { background: #dc2626; color: #fff; transform: scale(1.05); }

/* Order Summary Box Totals */
.kw-summary-line {
    display: flex; justify-content: space-between; align-items: center;
    padding: 12px 0; border-bottom: 1px dashed #e2e8f0;
    font-size: 0.95rem; color: #475569; font-weight: 500;
}
.kw-summary-line:last-of-type { border-bottom: none; }
.kw-summary-line .value { font-weight: 800; color: #1e293b; }
.kw-summary-total {
    margin-top: 20px; padding-top: 20px; border-top: 2px solid #e2e8f0;
    display: flex; flex-direction: column; align-items: center; text-align: center;
}
.kw-summary-total .value { font-size: 2.5rem; font-weight: 800; color: #3C0753; line-height: 1; letter-spacing: -1px; margin-bottom: 5px; }
.kw-summary-total .label { font-size: 0.85rem; font-weight: 700; color: #64748b; text-transform: uppercase; letter-spacing: 0.5px;}

/* Buttons */
.kw-btn-checkout {
    background: #16a34a !important; color: #ffffff !important; border: none; width: 100%; padding: 16px; border-radius: 12px; font-weight: 800; font-size: 1.05rem; text-transform: uppercase; box-shadow: 0 8px 25px rgba(22, 163, 74, 0.3); transition: all 0.3s; display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 25px; text-decoration: none !important;
}
.kw-btn-checkout:hover { transform: translateY(-3px); box-shadow: 0 12px 30px rgba(22, 163, 74, 0.4); background: #15803d !important; }

.kw-btn-continue-shop {
    background: linear-gradient(135deg, #720455 0%, #910A67 100%); color: #ffffff !important; padding: 10px 20px; border-radius: 50px; font-weight: 800; font-size: 0.8rem; text-transform: uppercase; text-decoration: none !important; display: inline-flex; align-items: center; gap: 8px; box-shadow: 0 4px 15px rgba(114, 4, 85, 0.3); transition: all 0.3s; margin-bottom: 20px;
}
.kw-btn-continue-shop:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(114, 4, 85, 0.4); color: #fff !important; }

/* Empty Cart / Promo */
.kw-promo-box { background: #ffffff; border: 1px solid #e2e8f0; border-radius: 12px; padding: 24px; display: flex; align-items: center; gap: 15px; margin-bottom: 20px; }
.kw-promo-box input { flex: 1; background: #f8fafc; border: 1px solid #cbd5e1; border-radius: 8px; padding: 12px 16px; font-weight: 600; outline: none; }
.kw-promo-box input:focus { border-color: #3C0753; background: #fff; }
.kw-promo-btn { background: #3C0753; color: #fff; border: none; padding: 12px 24px; border-radius: 8px; font-weight: 800; text-transform: uppercase; cursor: pointer; transition: all 0.2s; }
.kw-promo-btn:hover { background: #720455; }

@media (max-width: 767px) {
    .kw-cart-items-header { display: none; }
    .kw-cart-item { flex-direction: column; gap: 20px; }
    .kw-cart-item-right { justify-content: space-between; width: 100%; border-top: 1px solid #f1f5f9; padding-top: 20px; }
    .kw-cart-item-pricing { text-align: left; }
}

/* ================================================================
   30. FINAL CHECKOUT PAGE (MODERN SAAS)
   ================================================================ */

/* Form Headers & Zones */
.kw-checkout-section-title {
    font-size: 1.15rem;
    font-weight: 800;
    color: #3C0753;
    background: #f8fafc;
    padding: 16px 24px;
    border-radius: 12px;
    border: 1px solid #f1f5f9;
    margin: 40px 0 25px 0;
    display: flex;
    align-items: center;
    gap: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.kw-checkout-section-title i {
    color: #ffffff;
    background: #ff6c2c;
    padding: 8px;
    border-radius: 8px;
    font-size: 1rem;
}

/* Auth / Existing User Box */
.kw-checkout-auth-box {
    background: rgba(145, 10, 103, 0.03);
    border: 1px solid rgba(145, 10, 103, 0.1);
    border-radius: 12px;
    padding: 24px;
    margin-bottom: 30px;
}
.kw-checkout-auth-box .btn {
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 8px;
    padding: 10px 20px;
}

/* Bulletproof Modern Form Controls */
#frmCheckout .form-group label:not(.radio-inline):not(.checkbox-inline):not(.field-icon) {
    font-size: 0.85rem;
    font-weight: 700;
    color: #475569;
    margin-bottom: 8px;
    display: block;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
#frmCheckout .form-control {
    background: #f8fafc !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 10px !important;
    padding: 14px 16px !important;
    height: auto !important;
    font-size: 1rem !important;
    font-weight: 600 !important;
    color: #1e293b !important;
    box-shadow: inset 0 2px 4px rgba(0,0,0,0.02) !important;
    transition: all 0.3s ease !important;
}
#frmCheckout .form-control:focus {
    background: #ffffff !important;
    border-color: #910A67 !important;
    box-shadow: 0 0 0 4px rgba(145, 10, 103, 0.1) !important;
}
#frmCheckout select.form-control {
    appearance: none !important;
    -webkit-appearance: none !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 16px center !important;
    padding-right: 40px !important;
}

/* Hide the ugly WHMCS prepend icons since we are styling the labels beautifully */
#frmCheckout .form-group.prepend-icon .field-icon { display: none !important; }
#frmCheckout .form-group.prepend-icon .form-control { padding-left: 16px !important; }
#frmCheckout .form-group.prepend-icon .form-control#inputPhone { padding-left: 85px !important; }
#registration label{ width: fit-content;}
/* Total Due Bar */
.kw-checkout-total-bar {
    background: #dcfce7;
    border: 1px solid #bbf7d0;
    color: #16a34a;
    border-radius: 12px;
    padding: 20px;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 800;
    margin: 30px 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 15px;
}
.kw-checkout-total-bar strong { font-size: 1.6rem; color: #15803d; }

/* Payment Methods */
.kw-payment-methods {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 20px;
    margin-bottom: 24px;
}
.kw-payment-methods .radio-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    color: #1e293b;
    margin-right: 20px;
    cursor: pointer;
}
.kw-payment-methods input[type="radio"] { accent-color: #ff6c2c; width: 18px; height: 18px; }

/* Final Action Area */
.kw-checkout-footer {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 16px;
    padding: 30px;
    margin-top: 40px;
    text-align: center;
}
.kw-btn-complete-order {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%) !important;
    color: #ffffff !important;
    border: none !important;
    padding: 15px 20px !important;
    border-radius: 50px !important;
    font-weight: 800 !important;
    font-size: 1.2rem !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    box-shadow: 0 8px 25px rgba(255, 108, 44, 0.3) !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 12px !important;
    width: fit-content !important;
    margin-bottom: 20px !important;
}
.kw-btn-complete-order:hover {
    transform: translateY(-3px) !important;
    box-shadow: 0 12px 30px rgba(255, 108, 44, 0.4) !important;
    background: linear-gradient(135deg, #ff814a 0%, #ff6c2c 100%) !important;
}
.kw-btn-complete-order.disabled { opacity: 0.5 !important; cursor: not-allowed !important; transform: none !important; }

.kw-security-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background: #fffbeb;
    color: #d97706;
    padding: 12px 20px;
    border-radius: 8px;
    border: 1px solid #fde68a;
    font-size: 0.85rem;
    font-weight: 600;
    width: 100%;
}
.kw-security-badge i { font-size: 1.2rem; }

/* ================================================================
   31. LOGIN & REGISTER PAGES (ULTRA MODERN SPLIT DESIGN)
   ================================================================ */
.kw-auth-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 30px 24px;
    min-height: calc(100vh - 250px);
    margin-top: 175px;
}

.kw-auth-container {
    display: flex;
    width: 100%;
    max-width: 1100px;
    background: #ffffff;
    border-radius: 24px;
    box-shadow: 0 25px 70px rgba(60, 7, 83, 0.15);
    overflow: hidden;
    border: 1px solid #e2e8f0;
}

/* --- Left Side: Ambient Brand Visuals --- */
.kw-auth-left {
    width: 45%;
    background: linear-gradient(145deg, #3C0753 0%, #720455 100%);
    position: relative;
    padding: 60px 50px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: #ffffff;
    overflow: hidden;
}
/* Glowing Ambient Orbs */
.kw-auth-left::before {
    content: ''; position: absolute; top: -20%; left: -20%; width: 400px; height: 400px;
    background: #910A67; border-radius: 50%; filter: blur(100px); opacity: 0.6;
}
.kw-auth-left::after {
    content: ''; position: absolute; bottom: -10%; right: -10%; width: 300px; height: 300px;
    background: #ff6c2c; border-radius: 50%; filter: blur(90px); opacity: 0.4;
}

.kw-auth-left-content {
    position: relative;
    z-index: 2;
}
.kw-auth-left-content img {
    max-width: 220px;
    margin-bottom: 50px;
    /* Optional: filter: brightness(0) invert(1); to make logo pure white */
}
.kw-auth-left-content h2 {
    font-size: 2.4rem;
    font-weight: 800;
    line-height: 1.2;
    margin-bottom: 20px;
    letter-spacing: -0.5px;
    color: #ffffff;
}
.kw-auth-left-content p {
    font-size: 1.05rem;
    color: rgba(255, 255, 255, 0.8);
    line-height: 1.6;
}

/* --- Right Side: Clean Form Interface --- */
.kw-auth-right {
    width: 55%;
    padding: 60px 80px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: #ffffff;
}

.kw-auth-header { margin-bottom: 40px; }
.kw-auth-header h3 { 
    font-size: 2.2rem; font-weight: 800; color: #1e293b; margin: 0 0 10px 0; letter-spacing: -0.5px; 
}
.kw-auth-header p { color: #64748b; font-size: 1.05rem; margin: 0; }
.kw-auth-header a { color: #ff6c2c; font-weight: 800; text-decoration: none; transition: color 0.3s; }
.kw-auth-header a:hover { color: #e65c20; text-decoration: underline; }

/* Modern Form Controls */
.kw-auth-form .kw-form-group { margin-bottom: 24px; position: relative; }
.kw-auth-form label { 
    font-size: 0.85rem; font-weight: 800; color: #475569; margin-bottom: 10px; 
    display: block; text-transform: uppercase; letter-spacing: 0.5px; 
}
.kw-auth-form .kw-form-label-row { display: flex; justify-content: space-between; align-items: baseline; }
.kw-auth-form .kw-forgot-pw { 
    font-size: 0.85rem; font-weight: 700; color: #910A67; text-decoration: none; 
    text-transform: none; letter-spacing: 0; transition: color 0.3s; 
}
.kw-auth-form .kw-forgot-pw:hover { color: #ff6c2c; }

.kw-auth-form input[type="email"],
.kw-auth-form input[type="password"],
.kw-auth-form input[type="text"] {
    width: 100%; background: #f8fafc; border: 2px solid transparent; border-radius: 12px;
    padding: 16px 20px; font-size: 1.05rem; font-weight: 600; color: #1e293b;
    outline: none; transition: all 0.3s ease; box-sizing: border-box; font-family: inherit;
}
.kw-auth-form input:focus { 
    background: #ffffff; border-color: #3C0753; box-shadow: 0 0 0 4px rgba(60, 7, 83, 0.1); 
}

.kw-pw-input-wrapper { position: relative; display: flex; align-items: center; }
.kw-pw-toggle { 
    position: absolute; right: 18px; background: none; border: none; color: #94a3b8; 
    cursor: pointer; font-size: 1.2rem; padding: 0; outline: none; transition: color 0.2s; 
}
.kw-pw-toggle:hover { color: #3C0753; }

/* Custom Checkbox */
.kw-form-checkbox { margin: 25px 0 35px 0; }
.kw-form-checkbox label { 
    display: flex; align-items: center; gap: 12px; cursor: pointer; 
    font-weight: 600; color: #334155; text-transform: none; letter-spacing: 0; font-size: 0.95rem; 
}
.kw-form-checkbox input[type="checkbox"] { 
    width: 20px; height: 20px; accent-color: #ff6c2c; margin: 0; cursor: pointer; 
}

/* Huge CTA Button */
.kw-btn-auth {
    background: linear-gradient(135deg, #ff6c2c 0%, #e65c20 100%); color: #ffffff !important; border: none;
    width: 100%; padding: 18px; border-radius: 12px; font-weight: 800; font-size: 1.1rem; text-transform: uppercase;
    letter-spacing: 0.5px; box-shadow: 0 8px 25px rgba(255, 108, 44, 0.3); transition: all 0.3s ease;
    display: flex; justify-content: center; align-items: center; gap: 12px; cursor: pointer;
}
.kw-btn-auth:hover { 
    transform: translateY(-3px); box-shadow: 0 12px 30px rgba(255, 108, 44, 0.4); 
    background: linear-gradient(135deg, #ff814a 0%, #ff6c2c 100%); 
}

/* Captcha Spacing */
.kw-captcha-container { margin-bottom: 24px; display: flex; justify-content: center; }

/* Responsive adjustments */
@media (max-width: 991px) {
    .kw-auth-left { display: none; }
    .kw-auth-right { width: 100%; padding: 50px 30px; }
    .kw-auth-container { max-width: 500px; }
}