/* =============================================
   Software Manager - Complete CSS Solution
   Version: 4.0 (Full Feature Set)
   =============================================
   
   TABLE OF CONTENTS:
   
   1. CSS Variables & Base Styles (line 13)
   2. Software Cards - Desktop (line 36)
   3. Desktop Tables (line 257)
      - Container & Layout (line 258)
      - Column Widths (line 382)
      - Scrollbar Styling (line 579)
      - Responsive Breakpoints (line 600)
   4. Mobile Layout ≤768px (line 699)
      - Software Cards Mobile (line 707)
      - Table Mobile Cards (line 1094)
      - Cell Layouts (line 1167)
   5. Table Interactions & Hover (line 1783)
   6. Star Rating System (line 1983)
   7. Button Styles (line 2272)
   8. Desktop Table Polish (line 2330)
   9. Mobile Fallback (line 2565)
   
   ============================================= */

/* ============================================
   1. CSS VARIABLES & BASE STYLES
   Core styling and scoped variables
   ============================================ */

/* Software Manager Specific Variables - Scoped to prevent conflicts */
.sm-plugin-wrapper {
    /* CSS Variables */
    --sm-primary: #1A172C;
    --sm-primary-hover: #362e62;
    --sm-secondary: #64748b;
    --sm-accent: #f1f5f9;
    --sm-border: #e0e6ed;
    --sm-shadow: rgba(0, 0, 0, 0.1);
    --sm-rating-color: #f59e0b;
    --sm-pricing-color: #1e40af;
    --sm-border-color: #1A172C;
    
    /* Minimal reset to prevent external CSS interference */
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    display: block;
    position: relative;
}

/* Apply box-sizing only within specific scopes */
.sm-plugin-wrapper .sm-software-card,
.sm-plugin-wrapper .sm-software-card *,
.sm-plugin-wrapper .sm-batch-container,
.sm-plugin-wrapper .sm-batch-container * {
    box-sizing: inherit;
}

/* ============================================
   2. SOFTWARE CARDS - DESKTOP
   Individual software card component styles
   ============================================ */

/* Base Styles - Only for software cards generated by plugin - Higher specificity */ 
.sm-plugin-wrapper .sm-software-card,
div.sm-plugin-wrapper .sm-software-card {
    display: flex;
    align-items: center;
    background-color: #ffffff;
    border: 3px solid #0d0a1a;
    border-radius: 70px;
    padding: 30px 30px;
    margin: 15px auto;
    width: 100%;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
}

.sm-plugin-wrapper .sm-software-card .sm-logo-container {
    flex: 0 0 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 25px;
    border-radius: 12px;
    overflow: hidden;
    background: #f8f8f8;
    transition: all 0.3s ease;
    border: 1px solid var(--sm-border);
    position: relative;
}

.sm-plugin-wrapper .sm-software-card .sm-logo {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    transition: transform 0.3s ease;
    position: relative;
}

.sm-plugin-wrapper .sm-software-card .sm-logo::after {
    content: attr(alt);
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    font-size: 10px;
    padding: 2px 4px;
    text-align: center;
    opacity: 0;
    transition: opacity 0.2s ease;
    border-radius: 0 0 12px 12px;
}

.sm-plugin-wrapper .sm-software-card .sm-logo:hover::after {
    opacity: 1;
}

.sm-plugin-wrapper .sm-software-card .sm-info-container {
    flex: 1;
    min-width: 0;
    overflow: hidden;
    padding-right: 20px;
}

/* Base software name style for cards */
.sm-plugin-wrapper .sm-software-card .sm-software-name {
    font-size: 12px;
    font-weight: 700;
    color: #222222;
    margin-bottom: 8px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    transition: color 0.3s ease;
}

.sm-plugin-wrapper .sm-software-card .sm-card-rating-container {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 8px 0;
    flex-wrap: wrap;
}

/* Software Card Rating Value */
.sm-plugin-wrapper .sm-software-card .sm-card-rating-value {
    font-size: clamp(16px, 1.8vw, 18px);
    font-weight: 700;
    color: #444444;
    position: relative;
    padding-right: 1.5rem;
    display: flex;
    align-items: center;
}

.sm-plugin-wrapper .sm-software-card .sm-card-rating-value::after {
    content: '/ 5';
    font-size: 0.75em;
    color: #666666;
    font-weight: 500;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}





.sm-plugin-wrapper .sm-image-cell img {
    max-width: 50px;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: transform 0.3s ease;
}

.sm-plugin-wrapper .sm-software-card .sm-button-container {
    flex: 0 0 auto;
    margin-left: auto;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

.sm-plugin-wrapper .sm-software-card .sm-visit-button,
.sm-plugin-wrapper .sm-software-card .sm-review-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 2px solid #1A172C;
    border-radius: 50px;
    background-color: #1A172C;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
    font-size: clamp(11px, 1.2vw, 12px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.3s ease;
    min-width: 140px;
    height: 48px;
    box-sizing: border-box;
    word-break: keep-all;
    box-shadow: 0 2px 8px rgba(26, 23, 44, 0.15);
}

.sm-plugin-wrapper .sm-software-card .sm-visit-button:hover,
.sm-plugin-wrapper .sm-software-card .sm-review-btn:hover {
    background-color: #362e62;
    color: #ffffff;
    transform: translateY(-2px);
    box-shadow: 0 6px 16px rgba(26, 23, 44, 0.25);
}

.sm-plugin-wrapper .sm-software-card .sm-hidden-notice {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border: 2px solid #e2e8f0;
    border-radius: 50px;
    background-color: rgba(248, 250, 252, 0.8);
    color: #64748b;
    font-family: 'Inter', sans-serif;
    font-size: clamp(11px, 1.2vw, 12px);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1px;
    min-width: 140px;
    height: 48px;
    box-sizing: border-box;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
    position: relative;
}

.sm-plugin-wrapper .sm-software-card.sm-hidden-software {
    opacity: 0.95;
    position: relative;
}

.sm-plugin-wrapper .sm-software-card.sm-hidden-software::before {
    content: none;
}

/* ============================================
   3. DESKTOP TABLES
   Software list table styles for desktop view
   ============================================ */

/* Table Container Improvements */
.sm-plugin-wrapper .sm-batch-container.software-list {
    width: 100%;
    max-width: 100%;
    margin: 25px 0;
    border-radius: 8px;
    background: #ffffff;
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 2px 15px rgba(0, 0, 0, 0.05);
    box-sizing: border-box;
    scrollbar-width: thin;
    scrollbar-color: #362e62 #e0e6ed;
    border: none;
    padding: 0;
}

/* Table Layout Improvements */
.sm-plugin-wrapper .sm-batch-table.software-list {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 14px;
    background: #ffffff;
    table-layout: fixed;
    min-width: 0; /* allow columns to control width without forcing extra empty space */
    border: 1px solid #e5e7eb;
    border-radius: 8px;
    overflow: hidden;
}

/* Dynamic width adjustment based on visible columns */
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="3"] .sm-batch-table.software-list,
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="4"] .sm-batch-table.software-list,
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="5"] .sm-batch-table.software-list,
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="6"] .sm-batch-table.software-list,
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="7"] .sm-batch-table.software-list,
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="8"] .sm-batch-table.software-list,
.sm-plugin-wrapper .sm-batch-container.software-list[data-columns="9"] .sm-batch-table.software-list {
    min-width: 0 !important; /* avoid artificial empty space between columns */
}

/* Cell Content Management */
.sm-plugin-wrapper .sm-batch-table.software-list td {
    padding: 10px 12px;
    vertical-align: top;
    word-break: normal;
    overflow-wrap: break-word;
    white-space: normal;
    line-height: 1.4;
    background: #ffffff;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    border-bottom: 1px solid #e5e7eb;
    font-size: 13px;
}

/* Add borders between columns */
.sm-plugin-wrapper .sm-batch-table.software-list td:not(:last-child),
.sm-plugin-wrapper .sm-batch-table.software-list th:not(:last-child) {
    border-right: 1px solid #e5e7eb;
}

/* Unified Table Header Styles - ALL HEADERS CONSISTENT */
.sm-plugin-wrapper .sm-batch-table.software-list th,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-serial,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-image,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-name,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-rating,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-pricing,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-compatibility,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-features,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-website,
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-actions {
    background-color: #1A172C !important;
    color: #ffffff !important;
    font-weight: 600 !important;
    text-align: center !important;
    padding: 12px 10px !important;
    position: sticky;
    top: 0;
    white-space: nowrap !important;
    z-index: 100;
    border-bottom: 1px solid #e5e7eb;
    font-size: 14px !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
    overflow: visible !important;
    text-overflow: unset !important;
    opacity: 1 !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list th:not(:last-child) {
    border-right: 1px solid #2d2b3e;
}

/* Ensure the table header spans full width */
.sm-plugin-wrapper .sm-batch-table.software-list thead tr {
    background-color: #1A172C;
}

/* Remove extra bottom border from last row */
.sm-plugin-wrapper .sm-batch-table.software-list tr:last-child td {
    border-bottom: none;
}


/* Column Width Adjustments - Only for software tables */
/* Sr column - optimized for 2-digit numbers with center alignment */
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-serial,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-serial {
    width: 45px;
    min-width: 45px;
    max-width: 45px;
    text-align: center !important;
    vertical-align: middle !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-serial {
    font-weight: 600;
    font-size: 14px;
    color: #1A172C;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-image {
    width: 80px;
    min-width: 80px;
    max-width: 80px;
}

/* Name column - both header and data cells */
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-name,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-name {
    width: 120px;
    min-width: 120px;
    max-width: 120px;
}

.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-name {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    color: #1A172C;
    max-width: 180px !important;
    cursor: pointer;
    margin-bottom: 0 !important;
    transition: none !important;
}


/* Override any software name styling specifically - STRONGER OVERRIDES */
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-name .sm-software-name,
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-name span,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-name .sm-software-name,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-name span {
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #1A172C !important;
    text-decoration: none !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-rating {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
}

/* Pricing column - center aligned */
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-pricing,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-pricing {
    width: 100px;
    min-width: 100px;
    max-width: 120px;
    text-align: center !important;
    vertical-align: middle !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-pricing {
    font-size: 13px !important;
    font-weight: 600;
    white-space: normal !important;
    word-wrap: break-word !important;
    color: #1A172C;
}

/* Compatibility column - both header and data cells */
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-compatibility,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-compatibility {
    width: 110px;
    min-width: 110px;
    max-width: 110px;
}

/* Compatibility header - keep text nowrap */
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-compatibility {
    white-space: nowrap !important;
    font-size: 14px !important;
}

/* Compatibility data cells - allow text wrapping */
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-compatibility {
    font-size: 10px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    line-height: 1.1 !important;
    padding: 6px 4px !important;
}

/* Compatibility content wrapping */
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-compatibility .sm-cell-content {
    display: block !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-categories {
    width: 160px;
    min-width: 160px;
    max-width: 200px;
    font-size: 12px !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    line-height: 1.3 !important;
}

/* Features column - both header and data cells */
.sm-plugin-wrapper .sm-batch-table.software-list th.sm-column-features,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-features {
    width: 320px;
    min-width: 320px;
    max-width: 340px;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    font-size: 13px !important;
    line-height: 1.5 !important;
}

/* Features column content styling */
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features .sm-cell-content ul,
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features .sm-features-list ul,
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features ul {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-left: 20px !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features .sm-cell-content li,
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features .sm-features-list li,
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features li {
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-bottom: 3px !important;
}

/* Website and Actions columns - reduced width and center alignment */
.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-website {
    width: 100px;
    min-width: 100px;
    max-width: 100px;
    text-align: center !important;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-column-actions {
    width: 110px;
    min-width: 110px;
    max-width: 110px;
    text-align: center !important;
}

/* Center align button content in both columns */
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-website,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-actions {
    text-align: center !important;
    vertical-align: middle !important;
    padding: 8px 4px !important;
}

/* Improved Scrollbar Styling */
.sm-batch-container.software-list::-webkit-scrollbar {
    height: 8px;
    width: 8px;
}

.sm-batch-container.software-list::-webkit-scrollbar-track {
    background: #e0e6ed;
    border-radius: 4px;
    margin: 0 14px;
}

.sm-batch-container.software-list::-webkit-scrollbar-thumb {
    background: #362e62;
    border-radius: 4px;
    border: 2px solid #e0e6ed;
}

.sm-batch-container.software-list::-webkit-scrollbar-thumb:hover {
    background: #2980b9;
}

/* Responsive Improvements */
@media screen and (max-width: 1400px) {
    .sm-plugin-wrapper .sm-batch-table.software-list {
        min-width: 0; /* prevent forced extra width on large screens */
    }
    
    /* Dynamic responsive widths */
    .sm-plugin-wrapper .sm-batch-container.software-list[data-columns="3"] .sm-batch-table.software-list {
        min-width: 350px !important;
    }
    .sm-plugin-wrapper .sm-batch-container.software-list[data-columns="4"] .sm-batch-table.software-list {
        min-width: 450px !important;
    }
    .sm-plugin-wrapper .sm-batch-container.software-list[data-columns="5"] .sm-batch-table.software-list {
        min-width: 580px !important;
    }
    .sm-plugin-wrapper .sm-batch-container.software-list[data-columns="6"] .sm-batch-table.software-list {
        min-width: 720px !important;
    }
    .sm-plugin-wrapper .sm-batch-container.software-list[data-columns="7"] .sm-batch-table.software-list {
        min-width: 850px !important;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features {
        width: 280px;
        min-width: 280px;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-compatibility {
        width: 100px;
        min-width: 100px;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-name {
        width: 110px;
        min-width: 110px;
    }
}

@media screen and (max-width: 1200px) {
    .sm-plugin-wrapper .sm-batch-table.software-list {
        min-width: 0;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features {
        width: 240px;
        min-width: 240px;
    }

    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-compatibility {
        width: 95px;
        min-width: 95px;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-name {
        width: 100px;
        min-width: 100px;
    }
}

@media screen and (max-width: 992px) {
    .sm-plugin-wrapper .sm-batch-table.software-list {
        min-width: 0;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features {
        width: 220px;
        min-width: 220px;
    }

    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-compatibility {
        width: 90px;
        min-width: 90px;
    }

    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-categories {
        width: 120px;
        min-width: 120px;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-name {
        width: 90px;
        min-width: 90px;
    }
    
    .sm-plugin-wrapper .sm-visit-button,
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-visit-button {
        min-width: 90px;
        padding: 6px 8px;
        font-size: 11px;
    }
}

/* ============================================
   4. MOBILE LAYOUT (≤768px)
   Software tables transform into card layout
   Includes: Cards + Table Cards + Cell Layouts
   ============================================ */
@media screen and (max-width: 768px) {
    /* Box-sizing for all table elements */
    .sm-plugin-wrapper *,
    .sm-batch-container.software-list,
    .sm-batch-table.software-list * {
        box-sizing: border-box !important;
    }
    
    .sm-plugin-wrapper .sm-software-card {
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }
    .sm-plugin-wrapper .sm-software-card .sm-software-name,
    .sm-plugin-wrapper .sm-software-card .sm-logo-container,
    .sm-plugin-wrapper .sm-software-card .sm-info-container {
        text-align: center !important;
        width: 100% !important;
    }
    .sm-plugin-wrapper .sm-software-card .sm-button-container {
        align-items: center !important;
    }
    /* Dedicated mobile software card container */
    .software-card-mobile {
        max-width: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: 12px;
        padding: 16px;
        background: linear-gradient(135deg, #e0f7fa 0%, #f1f8e9 100%);
        border-radius: 16px;
        box-shadow: 0 4px 20px rgba(0, 150, 136, 0.1);
        margin: 15px auto;
        box-sizing: border-box;
        position: relative;
        overflow: hidden;
    }
    
    .software-card-mobile::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 4px;
        background: linear-gradient(90deg, #00bcd4, #4caf50);
    }
    
    /* Section wrapper for consistent spacing */
    .software-card-mobile .section-wrap {
        margin-bottom: 10px;
        padding: 8px 16px;
        box-sizing: border-box;
    }
    
    /* Card heading style */
    .software-card-mobile .card-heading {
        font-weight: 600;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #00695c;
        margin-bottom: 4px;
        text-align: left;
        display: block;
    }
    
    /* Card label and value styles */
    .software-card-mobile .card-label {
        font-weight: 600;
        font-size: 12px;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        color: #00695c;
        margin-bottom: 4px;
        text-align: center;
        display: block;
    }
    
    .software-card-mobile .card-value {
        font-size: 14px;
        font-weight: 500;
        color: #37474f;
        line-height: 1.4;
        text-align: center;
        display: block;
        box-sizing: border-box;
    }
    
    /* Mobile container - overflow and display */
    .sm-plugin-wrapper .sm-batch-container.software-list {
        overflow-y: visible !important;
        -webkit-overflow-scrolling: touch !important;
        border: none !important;
        box-shadow: none !important;
        display: block !important;
        /* Full-viewport breakout without touching theme globals */
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    
    
    /* Pros and Cons CSS moved from JavaScript */
    .sm-plugin-wrapper .sm-pro-item, 
    .sm-plugin-wrapper .sm-con-item {
        display: flex !important;
        align-items: center;
        margin-bottom: 10px;
        width: 100% !important;
        max-width: 100% !important;
        position: relative;
        z-index: 1;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-pros-list, 
    .sm-plugin-wrapper .sm-cons-list {
        width: 100% !important;
        max-width: 100% !important;
        margin-bottom: 15px;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-pro-item input, 
    .sm-plugin-wrapper .sm-con-item input {
        flex: 1;
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-remove-item {
        margin-left: 10px;
        cursor: pointer;
        background: #f2f2f2;
        border: 1px solid #ddd;
        border-radius: 50%;
        width: 24px;
        height: 24px;
        line-height: 20px;
        text-align: center;
        flex-shrink: 0;
    }
    
    .sm-plugin-wrapper .sm-remove-item.hide {
        display: none !important;
    }
    
    .sm-plugin-wrapper .sm-add-pro, 
    .sm-plugin-wrapper .sm-add-con {
        margin-top: 5px !important;
        position: relative;
        z-index: 2;
        cursor: pointer;
        display: inline-block !important;
        padding: 5px 15px !important;
        color: #fff !important;
        background-color: #e91e63 !important;
        border: none !important;
        border-radius: 4px;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-custom-items {
        margin-top: 15px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-checkbox-grid {
        margin-bottom: 20px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-pros-cons-grid {
        margin-bottom: 20px;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    .sm-plugin-wrapper .sm-review-step[data-step="4"] .sm-pro-item, 
    .sm-plugin-wrapper .sm-review-step[data-step="4"] .sm-con-item {
        display: flex !important;
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }
    
    /* Mobile table row improvements - Fixed width and spacing */
    .sm-plugin-wrapper .sm-batch-table.software-list tr {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 15px 0 !important;
        box-sizing: border-box;
        min-width: 0 !important;
        padding: 15px 10px;
    }

    /* Ensure proper text wrapping for all mobile cells */
    .sm-plugin-wrapper .sm-batch-table.software-list td {
        max-width: 100% !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
        text-align: center !important;
        white-space: normal !important;
        flex-wrap: wrap !important;
        overflow: visible !important;
        text-overflow: unset !important;
    }
    
    /* Mobile-specific adjustments for smaller screens */
    @media screen and (max-width: 480px) {
        .sm-plugin-wrapper .sm-batch-table.software-list tr {
            margin: 0 0 12px 0 !important;
            padding: 15px 10px 12px 10px !important;
            width: 100% !important;
            max-width: 100% !important;
        }
        
        .sm-plugin-wrapper .sm-batch-table.software-list td {
            font-size: 13px !important;
            margin-bottom: 10px !important;
        }
        
        .sm-plugin-wrapper .sm-column-name {
            font-size: 16px !important;
        }
        
        .sm-plugin-wrapper .sm-batch-rating-value {
            font-size: 18px !important;
        }
    }
    
    /* Mobile text wrapping hard fix */
    table.sm-batch-table.software-list td,
    table.sm-batch-table.software-list td *,
    table.sm-batch-table.software-list td .sm-cell-content,
    table.sm-batch-table.software-list td .sm-cell-content *,
    table.sm-batch-table.software-list td span,
    table.sm-batch-table.software-list td li,
    table.sm-batch-table.software-list td a,
    table.sm-batch-table.software-list td p,
    table.sm-batch-table.software-list td div {
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    table.sm-batch-table.software-list .sm-column-features .sm-features-list,
    table.sm-batch-table.software-list .sm-column-features .sm-features-list li {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }

    /* Extra small screens - adjust further */
    @media screen and (max-width: 320px) {
        .sm-plugin-wrapper .sm-batch-table.software-list tr {
            margin: 0 0 10px 0 !important;
            padding: 12px 8px 10px 8px !important;
            width: 100% !important;
            max-width: 100% !important;
        }
        
        .sm-plugin-wrapper .sm-batch-table.software-list td {
            font-size: 12px !important;
            margin-bottom: 8px !important;
        }
        
        .sm-plugin-wrapper .sm-column-name {
            font-size: 14px !important;
        }
        
        .sm-plugin-wrapper .sm-batch-rating-value {
            font-size: 16px !important;
        }
    }
    /* Software Card Mobile Optimizations */
    .sm-plugin-wrapper .sm-software-card {
        border-radius: 25px !important;
        padding: 20px 15px !important;
        margin: 10px 5px !important;
        flex-direction: column !important;
        align-items: center !important;
        text-align: center !important;
        min-height: auto !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-logo-container {
        flex: 0 0 60px !important;
        height: 60px !important;
        width: 60px !important;
        margin-right: 0 !important;
        margin-bottom: 15px !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-info-container {
        flex: 1 !important;
        padding-right: 0 !important;
        width: 100% !important;
        margin-bottom: 15px !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-software-name {
        font-size: 16px !important;
        margin-bottom: 10px !important;
        text-align: center !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: unset !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-card-rating-container {
        justify-content: center !important;
        align-items: center !important;
        margin: 10px 0 !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-card-rating-value {
        font-size: 18px !important;
        margin-right: 10px !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-card-stars {
        width: 90px !important;
        height: 18px !important;
        background-size: 18px 18px !important;
        flex-shrink: 0 !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-card-stars-inner {
        background-size: 18px 18px !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-button-container {
        flex-direction: column !important;
        width: 100% !important;
        gap: 10px !important;
        margin-left: 0 !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-visit-button,
    .sm-plugin-wrapper .sm-software-card .sm-review-btn {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        padding: 15px 20px !important;
        font-size: 14px !important;
        border-radius: 25px !important;
        height: 50px !important;
    }

    /* Mobile table - full viewport width */
    .sm-plugin-wrapper .sm-batch-table.software-list {
        width: 100vw !important;
        min-width: 0 !important;
        max-width: 100vw !important;
        table-layout: auto !important;
        font-size: 14px !important;
        border-collapse: collapse !important;
        margin: 0 !important;
        padding: 0 !important;
        display: block !important;
        overflow-x: hidden !important;
        overflow-y: visible !important;
        border: none !important;
        box-shadow: none !important;
        background: transparent !important;
    }
    
    /* Hide table headers on mobile */
    .sm-plugin-wrapper .sm-batch-table.software-list thead {
        display: none !important;
        visibility: hidden !important;
    }
    
    /* Table body as block container - FULL WIDTH */
    .sm-plugin-wrapper .sm-batch-table.software-list tbody {
        display: block !important;
        width: 100vw !important;
        max-width: 100vw !important;
        padding: 0 !important;
        margin: 0 !important;
        box-sizing: border-box !important;
    }
    
    /* Each row becomes a card - FULL VIEWPORT WIDTH */
    .sm-plugin-wrapper .sm-batch-table.software-list tr {
        display: block !important;
        margin: 0 0 10px 0 !important;
        padding: 8px 10px !important;
        max-width: 100vw !important;
        width: 100vw !important;
        min-width: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: linear-gradient(135deg, #e0f7fa 0%, #f1f8e9 100%) !important;
        box-shadow: none !important;
        border-bottom: 3px solid #00bcd4 !important;
        position: relative !important;
        overflow: visible !important;
        box-sizing: border-box !important;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list tr:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        height: 0px;
        background: transparent;
    }
    
    /* Apply software-card-mobile class to table rows */
    .sm-plugin-wrapper .sm-batch-table.software-list tr {
        /* Inherit all software-card-mobile styles */
    }
    
    /* Mobile table cells - 2-column layout (Label | Value) */
    .sm-plugin-wrapper .sm-batch-table.software-list td {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        gap: 6px !important;
        flex-wrap: nowrap !important;
        padding: 8px 10px !important;
        border: none !important;
        margin-bottom: 6px !important;
        line-height: 1.5 !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
        overflow-wrap: break-word !important;
        word-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        white-space: normal !important;
        background: rgba(255, 255, 255, 0.6) !important;
        border-radius: 8px !important;
        text-align: left !important;
    }
    
    /* Add labels before each cell using data-label attribute */
    .sm-plugin-wrapper .sm-batch-table.software-list td:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        color: #00695c !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        margin: 0 0 6px 0 !important;
        flex-shrink: 0 !important;
        display: block !important;
        text-align: left !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: normal !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    
    /* SR Section - 2-column layout */
    .sm-batch-table.software-list .sm-column-serial {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 10px 12px !important;
        margin-bottom: 8px !important;
        background: rgba(255, 255, 255, 0.5) !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        min-height: 44px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    
    .sm-batch-table.software-list .sm-column-serial:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        color: #00695c !important;
        font-size: 14px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
        flex: 0 0 auto !important;
        margin-right: 10px !important;
    }
    
    .sm-batch-table.software-list .sm-column-serial {
        color: #1A172C !important;
        font-size: 16px !important;
        font-weight: 700 !important;
        text-align: right !important;
        flex: 1 !important;
    }
    
    /* Image Section - Stacked with centered image */
    .sm-batch-table.software-list .sm-column-image {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 8px !important;
        margin-bottom: 8px !important;
        background: rgba(255, 255, 255, 0.5) !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        min-height: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        text-align: center !important;
    }
    
    .sm-batch-table.software-list .sm-column-image:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        color: #00695c !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: center !important;
        margin-bottom: 8px !important;
        display: block !important;
        width: 100% !important;
    }
    
    .sm-batch-table.software-list .sm-column-image img {
        width: 60px !important;
        height: 60px !important;
        aspect-ratio: 1 / 1 !important;
        border-radius: 8px !important;
        object-fit: contain !important;
        object-position: center center !important;
        background: rgba(255, 255, 255, 0.9) !important;
        padding: 6px !important;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        display: block !important;
    }
    
    /* Name Section - 2-column layout */
    .sm-batch-table.software-list .sm-column-name {
        display: flex !important;
        align-items: flex-start !important;
        justify-content: space-between !important;
        flex-wrap: wrap !important;
        padding: 8px 10px !important;
        margin-bottom: 8px !important;
        background: rgba(255, 255, 255, 0.5) !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        min-height: 44px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    
    .sm-batch-table.software-list .sm-column-name:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        color: #00695c !important;
        font-size: 14px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
        flex: 0 0 100% !important;
        margin-bottom: 6px !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .sm-batch-table.software-list .sm-column-name .sm-software-name {
        font-size: 15px !important;
        font-weight: 700 !important;
        color: #1A172C !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        line-height: 1.4 !important;
        text-align: left !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        padding-right: 0 !important;
        margin: 0 !important;
    }
    
    /* Rating Section - 2-column layout */
    .sm-batch-table.software-list .sm-column-rating {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        padding: 8px 10px !important;
        margin-bottom: 8px !important;
        background: rgba(255, 255, 255, 0.5) !important;
        border-radius: 8px !important;
        box-sizing: border-box !important;
        min-height: 44px !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    
    .sm-batch-table.software-list .sm-column-rating:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        color: #00695c !important;
        font-size: 14px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
        flex: 0 0 auto !important;
        margin-right: 10px !important;
    }
    
    .sm-batch-table.software-list .sm-column-rating .sm-batch-rating-cell {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        gap: 8px !important;
        box-sizing: border-box !important;
        flex: 1 !important;
        justify-content: flex-end !important;
    }
    
    .sm-batch-table.software-list .sm-column-rating .sm-batch-rating-value {
        font-size: 16px !important;
        font-weight: 700 !important;
        color: #1A172C !important;
        box-sizing: border-box !important;
        margin-right: 5px !important;
    }
    
    /* Serial number - centered above image */
    .sm-column-serial:before {
        content: attr(data-label) !important;
        display: block !important;
        text-align: center !important;
        margin-bottom: 8px !important;
        color: #00695c !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .sm-column-serial {
        text-align: center;
        font-size: 18px;
        font-weight: 700;
        color: #00695c;
        margin-top: 12px;
        margin-bottom: 12px;
        padding: 0;
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 12px;
    }
    
    /* Mobile image styling - centered with proper spacing */
    .sm-column-image {
        text-align: center;
        margin-top: 12px;
        margin-bottom: 12px;
        padding: 0;
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 12px;
    }
    
    .sm-column-image:before {
        content: attr(data-label) !important;
        display: block !important;
        text-align: center !important;
        margin-bottom: 10px !important;
        color: #00695c !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .sm-column-image img {
        width: 70px;
        height: 70px;
        border-radius: 12px;
        object-fit: contain;
        background: rgba(255, 255, 255, 0.9);
        padding: 6px;
        box-shadow: 0 3px 8px rgba(0, 0, 0, 0.1);
        margin-top: 5px;
    }
    
    /* Mobile name styling - centered below image */
    .sm-column-name {
        text-align: center;
        margin-top: 12px;
        margin-bottom: 12px;
        padding: 0;
        border-bottom: 1px solid #e0e0e0;
        padding-bottom: 12px;
    }
    
    .sm-column-name:before {
        content: attr(data-label) !important;
        display: block !important;
        text-align: center !important;
        margin-bottom: 8px !important;
        color: #00695c !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .sm-column-name,
    .sm-column-name .sm-software-name {
        font-size: 18px;
        font-weight: 700;
        color: #00695c;
        white-space: normal;
        word-wrap: break-word;
        line-height: 1.3;
        text-align: center;
    }
    
    /* Mobile column content styling */
    .sm-column-compatibility,
    .sm-column-categories,
    .sm-column-pricing {
        flex-wrap: wrap;
        display: block;
    }
    
    .sm-column-compatibility .sm-cell-content,
    .sm-column-categories .sm-cell-content,
    .sm-column-pricing .sm-cell-content {
        white-space: normal;
        word-break: break-word;
        line-height: 1.4;
        display: block;
    }
    
    /* Mobile rating styling - centered and compact */
    .sm-column-rating {
        text-align: center;
        margin-top: 12px;
        margin-bottom: 12px;
        background: rgba(255, 255, 255, 0.7);
        padding: 12px;
        border-radius: 8px;
        overflow: visible !important;
    }
    
    .sm-column-rating:before {
        content: attr(data-label) !important;
        display: block !important;
        text-align: center !important;
        margin-bottom: 6px !important;
        color: #00695c !important;
        font-weight: 600 !important;
        font-size: 12px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
    }
    
    .sm-column-rating .sm-batch-rating-cell {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }
    
    .sm-column-rating .sm-batch-rating-value {
        font-size: 20px;
        font-weight: 700;
        color: #ff6f00;
    }
    
    /* Content Sections - 2-column layout with consistent spacing */
    .sm-batch-table.software-list .sm-column-pricing,
    .sm-batch-table.software-list .sm-column-compatibility,
    .sm-batch-table.software-list .sm-column-categories {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        justify-content: flex-start !important;
        background: rgba(255, 255, 255, 0.5) !important;
        padding: 8px 10px !important;
        border-radius: 8px !important;
        margin-bottom: 8px !important;
        box-sizing: border-box !important;
        min-height: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    
    .sm-batch-table.software-list .sm-column-pricing:before,
    .sm-batch-table.software-list .sm-column-compatibility:before,
    .sm-batch-table.software-list .sm-column-categories:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        color: #00695c !important;
        font-size: 13px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
        flex: 0 0 100% !important;
        margin-bottom: 6px !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    .sm-batch-table.software-list .sm-column-pricing .sm-cell-content,
    .sm-batch-table.software-list .sm-column-compatibility .sm-cell-content,
    .sm-batch-table.software-list .sm-column-categories .sm-cell-content {
        font-size: 14px !important;
        font-weight: 500 !important;
        color: #1A172C !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
        hyphens: auto !important;
        display: block !important;
        box-sizing: border-box !important;
        text-align: left !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 1 !important;
    }
    
    /* Special handling for categories with multiple values */
    .software-card-mobile .content-section.categories .card-value,
    .sm-batch-table.software-list .sm-column-categories .sm-cell-content {
        word-spacing: 2px;
        letter-spacing: 0.5px;
    }
    /* Features Section - Full-width with better spacing and icon alignment */
    .sm-batch-table.software-list .sm-column-features {
        display: flex !important;
        flex-direction: column !important;
        align-items: flex-start !important;
        background: rgba(255, 255, 255, 0.6) !important;
        padding: 16px !important;
        border-radius: 8px !important;
        margin-bottom: 12px !important;
        text-align: left !important;
        box-sizing: border-box !important;
        line-height: 1.5 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }
    
    .sm-batch-table.software-list .sm-column-features:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        display: block !important;
        color: #00695c !important;
        font-size: 13px !important;
        margin-bottom: 10px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: left !important;
        border-bottom: 1px solid rgba(0, 105, 92, 0.2) !important;
        padding-bottom: 8px !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }
    
    .sm-batch-table.software-list .sm-column-features ul {
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        box-sizing: border-box !important;
        line-height: 1.5 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }
    
    .sm-batch-table.software-list .sm-column-features li {
        font-size: 14px !important;
        line-height: 1.5 !important;
        margin-bottom: 8px !important;
        padding: 4px 0 4px 0 !important;
        margin-left: 24px !important;
        position: relative !important;
        color: #1A172C !important;
        white-space: normal !important;
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        hyphens: auto !important;
        display: block !important;
        box-sizing: border-box !important;
        width: 100% !important;
        max-width: calc(100% - 24px) !important;
        min-width: 0 !important;
    }
    
    .sm-batch-table.software-list .sm-column-features li:before {
        content: "✓" !important;
        position: absolute !important;
        left: -24px !important;
        top: 4px !important;
        color: #4caf50 !important;
        font-weight: bold !important;
        font-size: 16px !important;
        width: 20px !important;
        height: 20px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }
    
    /* Button Sections - Flexible layout with options for full-width or 2-column */
    .sm-batch-table.software-list .sm-column-website,
    .sm-batch-table.software-list .sm-column-actions {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        background: none !important;
        padding: 8px 12px !important;
        margin-bottom: 10px !important;
        box-sizing: border-box !important;
    }
    
    .sm-batch-table.software-list .sm-column-website:before,
    .sm-batch-table.software-list .sm-column-actions:before {
        content: attr(data-label) !important;
        font-weight: 600 !important;
        display: block !important;
        color: #00695c !important;
        font-size: 14px !important;
        margin-bottom: 10px !important;
        text-transform: uppercase !important;
        letter-spacing: 0.5px !important;
        text-align: center !important;
        border-bottom: 1px solid rgba(0, 105, 92, 0.2) !important;
        padding-bottom: 8px !important;
    }
    
    .sm-batch-table.software-list .sm-column-website .sm-visit-button,
    .sm-batch-table.software-list .sm-column-actions .sm-visit-button {
        background: #1A172C !important;
        color: white !important;
        padding: 8px 20px !important;
        border-radius: 8px !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        text-decoration: none !important;
        display: block !important;
        width: 100% !important;
        max-width: 240px !important;
        min-width: 0 !important;
        margin: 0 auto !important;
        box-shadow: 0 3px 12px rgba(26, 23, 44, 0.3) !important;
        transition: all 0.3s ease !important;
        border: 2px solid #1A172C !important;
        box-sizing: border-box !important;
        text-align: center !important;
        height: 40px !important;
        min-height: 40px !important;
        line-height: 1.5 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
        word-break: break-word !important;
    }
    
    .sm-batch-table.software-list .sm-column-website .sm-visit-button:hover,
    .sm-batch-table.software-list .sm-column-actions .sm-visit-button:hover {
        background: #362e62 !important;
        border-color: #362e62 !important;
        transform: translateY(-1px) !important;
        box-shadow: 0 4px 16px rgba(26, 23, 44, 0.4) !important;
    }
    
    /* Optional: 2-column button layout - uncomment if needed */
    /* 
    .sm-batch-table.software-list tr:last-child {
        display: flex !important;
        flex-direction: row !important;
        gap: 8px !important;
    }
    
    .sm-batch-table.software-list tr:last-child .sm-column-website,
    .sm-batch-table.software-list tr:last-child .sm-column-actions {
        flex: 1 !important;
    }
    */
    
    /* Mobile Star Rating Fixes */
    .sm-plugin-wrapper .sm-software-card .sm-card-stars {
        width: 90px !important;
        height: 18px !important;
        background-size: 18px 18px !important;
        min-width: 90px !important;
        flex-shrink: 0 !important;
        display: inline-block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-card-stars-inner {
        background-size: 18px 18px !important;
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
    }
    
    /* Mobile Software Card Layout Improvements */
    .sm-plugin-wrapper .sm-software-card {
        min-height: 200px !important;
        max-width: 95% !important;
        margin: 15px auto !important;
    }
    
    /* Mobile Button Improvements */
    .sm-plugin-wrapper .sm-software-card .sm-visit-button,
    .sm-plugin-wrapper .sm-software-card .sm-review-btn {
        font-weight: 600 !important;
        letter-spacing: 0.5px !important;
        text-transform: none !important;
        box-shadow: 0 4px 12px rgba(26, 23, 44, 0.2) !important;
    }
    
    .sm-plugin-wrapper .sm-software-card .sm-visit-button:hover,
    .sm-plugin-wrapper .sm-software-card .sm-review-btn:hover {
        transform: translateY(-1px) !important;
        box-shadow: 0 6px 16px rgba(26, 23, 44, 0.3) !important;
    }
}

/* CSS classes to replace inline styles from JavaScript */
.active-star {
    color: #ffca28 !important;
    text-shadow: 0 0 15px rgba(255, 202, 40, 0.5) !important;
}

.active-rating {
    opacity: 1 !important;
}

.sm-rating-value:not(.active-rating) {
    opacity: 0;
}

.error-highlight {
    border-color: #d32f2f !important;
    background-color: #fff8f8 !important;
}


/* Tablet Optimization */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .sm-plugin-wrapper .sm-batch-table.software-list {
        min-width: 0;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-features,
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-compatibility,
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-categories {
        width: 120px;
        min-width: 120px;
    }
    
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-column-name {
        width: 130px;
        min-width: 130px;
    }
    
    .sm-plugin-wrapper .sm-visit-button,
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-visit-button {
        min-width: 85px;
        padding: 6px 8px;
        font-size: 11px;
    }
}

/* Table Styles */
.sm-plugin-wrapper .sm-batch-table.software-list thead {
    position: relative;
    z-index: 100;
    pointer-events: none;
}

.sm-plugin-wrapper .sm-batch-table.software-list tbody {
    position: relative;
    z-index: 1;
    pointer-events: auto;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr {
    position: relative;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    z-index: 1;
    background: #ffffff;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:hover {
    position: relative;
    z-index: 2;
    background-color: rgba(0, 206, 201, 0.1);
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 206, 201, 0.15);
}

/* Remove backdrop filters completely from table rows */
.sm-plugin-wrapper .sm-batch-table.software-list tr,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover,
.sm-plugin-wrapper .sm-batch-table.software-list tr:active,
.sm-plugin-wrapper .sm-batch-table.software-list td {
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}

/* Ensure headers stay on top */
.sm-plugin-wrapper .sm-batch-table.software-list th::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #1A172C;
    z-index: -1;
}

/* Modern Hover Effects */
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover td {
    background-color: transparent;
    color: #1A172C;
    font-weight: 500;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-software-name {
    color: #00CEC9;
    font-weight: 600;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-rating-value {
    color: #1A172C;
    font-weight: 600;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-pricing {
    color: #1A172C;
    font-weight: 600;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-compatibility,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-categories,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-features {
    color: #1A172C;
    font-weight: 500;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-table-thumbnail {
    transform: scale(1.05);
    box-shadow: 0 4px 12px rgba(0, 206, 201, 0.2);
}


/* Even row styling */
.sm-plugin-wrapper .sm-batch-table.software-list tr:nth-child(even) {
    background-color: #fafbfd;
}

.sm-plugin-wrapper .sm-batch-table.software-list tr:nth-child(even):hover {
    background-color: rgba(0, 206, 201, 0.08);
}

/* Active row state */
.sm-plugin-wrapper .sm-batch-table.software-list tr:active {
    transform: translateY(0);
    box-shadow: 0 2px 6px rgba(0, 206, 201, 0.1);
    background-color: rgba(0, 206, 201, 0.15);
}

/* Ensure text remains readable with blur effect */
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover td,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-software-name,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-rating-value,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-pricing,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-compatibility,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-categories,
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover .sm-column-features {
    text-shadow: 0 0 0.5px rgba(0, 0, 0, 0.05);
}

/* Additional UI Elements - only for plugin context */
.sm-plugin-wrapper .sm-category-tag {
    display: inline-block;
    background-color: #e0e7ff;
    color: #4338ca;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 12px;
    margin-right: 5px;
    margin-bottom: 5px;
}

.sm-plugin-wrapper .sm-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: #64748b;
}

.sm-plugin-wrapper .sm-loading .spinner {
    margin-right: 10px;
}

/* Edge Case Handling */
.sm-plugin-wrapper .sm-batch-container[data-columns="5"] .sm-batch-table th,
.sm-plugin-wrapper .sm-batch-container[data-columns="5"] .sm-batch-table td {
    font-size: 14px !important;
}

.sm-plugin-wrapper .sm-batch-container[data-columns="6"] .sm-batch-table th,
.sm-plugin-wrapper .sm-batch-container[data-columns="6"] .sm-batch-table td {
    font-size: 13px !important;
}

.sm-plugin-wrapper .sm-batch-container[data-columns="7"] .sm-batch-table th,
.sm-plugin-wrapper .sm-batch-container[data-columns="7"] .sm-batch-table td {  
    font-size: 12px !important;
    padding: 10px 12px !important;
}

/* iOS Specific Fixes */
@supports (-webkit-touch-callout: none) {
    .sm-plugin-wrapper .sm-batch-container.software-list {
        padding-bottom: 1px;
    }
    
    .sm-plugin-wrapper .sm-software-card {
        -webkit-backface-visibility: hidden;
    }
}


.sm-plugin-wrapper .sm-batch-table.software-list .sm-hidden-notice {
    padding: 6px 14px;
    min-width: 100px;
    height: 36px;
    font-size: 11px;
    letter-spacing: 0.5px;
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
}

/* Remove hover effects from th */
.sm-plugin-wrapper .sm-batch-table.software-list tr:hover th,
.sm-plugin-wrapper .sm-batch-table.software-list th:hover {
    background-color: #1A172C !important;
    transform: none !important;
    box-shadow: none !important;
}

/* Accessibility Features */
.sm-plugin-wrapper .sm-software-card:focus-within,
.sm-plugin-wrapper .sm-batch-table.software-list a:focus {
    outline: 3px solid #3498db;
    outline-offset: 2px;
}

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

/* Star rating component (scoped, minimal specificity) */
.sm-plugin-wrapper .sm-software-card .sm-card-stars {
    position: relative;
    display: inline-block;
    width: 100px;
    height: 20px;
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="%23ddd" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/%3E%3C/svg%3E');
    background-size: 20px 20px;
    background-repeat: repeat-x;
}
.sm-plugin-wrapper .sm-software-card .sm-card-stars-inner {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="%23ffc107" stroke="%23ffc107" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"%3E%3Cpolygon points="12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"/%3E%3C/svg%3E');
    background-size: 20px 20px;
    background-repeat: repeat-x;
    overflow: hidden;
}
@media screen and (max-width: 768px) {
  .sm-plugin-wrapper .sm-software-card .sm-card-stars {
    width: 90px;
    height: 18px;
    background-size: 18px 18px;
  }
  .sm-plugin-wrapper .sm-software-card .sm-card-stars-inner {
    background-size: 18px 18px;
  }
}

/* CSS moved from JavaScript files - Desktop styles */
.sm-search-results {
    position: absolute;
    width: 100%;
    max-height: 300px;
    overflow-y: auto;
    z-index: 1000;
    background: white;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-top: 2px;
    box-sizing: border-box;
}

.sm-search-item, .search-results-item {
    padding: 10px;
    cursor: pointer;
    display: flex;
    align-items: center;
}

.sm-search-item:hover, .search-results-item:hover {
    background: #f5f5f5;
}

.sm-plugin-wrapper .sm-search-item-logo {
    width: 30px;
    height: 30px;
    margin-right: 10px;
    object-fit: contain;
}

.sm-plugin-wrapper .sm-loading, 
.sm-plugin-wrapper .sm-no-results, 
.sm-plugin-wrapper .sm-error {
    padding: 10px;
    text-align: center;
}

.sm-plugin-wrapper .sm-error {
    color: #d32f2f;
}

.sm-plugin-wrapper .sm-integration-items {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 15px 0;
}

.sm-plugin-wrapper .sm-integration-item {
    display: flex;
    align-items: center;
    padding: 5px 10px;
    background: #f1f1f1;
    border-radius: 20px;
    margin-bottom: 5px;
}

.sm-plugin-wrapper .sm-integration-logo {
    width: 20px;
    height: 20px;
    margin-right: 5px;
    object-fit: contain;
}

.sm-plugin-wrapper .sm-remove-integration {
    background: transparent;
    border: none;
    color: #666;
    cursor: pointer;
    font-size: 18px;
    padding: 0 0 0 5px;
}

.sm-plugin-wrapper .sm-search-container {
    position: relative;
}

/* Pros and Cons styles moved from JavaScript */
.sm-plugin-wrapper .sm-pro-item, 
.sm-plugin-wrapper .sm-con-item {
    display: flex !important;
    align-items: center;
    margin-bottom: 10px;
    width: 100%;
    position: relative;
    z-index: 1;
}

.sm-plugin-wrapper .sm-pros-list, 
.sm-plugin-wrapper .sm-cons-list {
    width: 100%;
    margin-bottom: 15px;
}

.sm-plugin-wrapper .sm-pro-item input, 
.sm-plugin-wrapper .sm-con-item input {
    flex: 1;
    width: 100%;
    display: block !important;
}

.sm-plugin-wrapper .sm-remove-item {
    margin-left: 10px;
    cursor: pointer;
    background: #f2f2f2;
    border: 1px solid #ddd;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    line-height: 20px;
    text-align: center;
}

.sm-plugin-wrapper .sm-remove-item.hide {
    display: none !important;
}

.sm-plugin-wrapper .sm-add-pro, 
.sm-plugin-wrapper .sm-add-con {
    margin-top: 5px !important;
    position: relative;
    z-index: 2;
    cursor: pointer;
    display: inline-block !important;
    padding: 5px 15px !important;
    color: #fff !important;
    background-color: #e91e63 !important;
    border: none !important;
    border-radius: 4px;
}

.sm-plugin-wrapper .sm-custom-items {
    margin-top: 15px;
}

.sm-plugin-wrapper .sm-checkbox-grid {
    margin-bottom: 20px;
}

.sm-plugin-wrapper .sm-pros-cons-grid {
    margin-bottom: 20px;
}

.sm-plugin-wrapper .sm-review-step[data-step="4"] .sm-pro-item, 
.sm-plugin-wrapper .sm-review-step[data-step="4"] .sm-con-item {
    display: flex !important;
}

/* Animation Enhancements */
.sm-plugin-wrapper .sm-visit-button::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, transparent, rgba(255, 255, 255, 0.3), transparent);
    transform: translateX(-100%);
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.sm-plugin-wrapper .sm-visit-button:hover::after {
    transform: translateX(100%);
}

/* Image Enhancements */
    .sm-plugin-wrapper .sm-batch-table.software-list .sm-table-thumbnail {
        width: 44px;
        height: 44px;
        max-width: 100%;
        max-height: 100%;
        aspect-ratio: 1 / 1;
        display: block;
        margin: 0 auto;
        object-fit: contain;
        object-position: center center;
        border-radius: 6px;
        background-color: #fff;
        box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        transition: transform 0.2s ease;
    }


/* Logo Container Enhancement - Already properly scoped above */

/* Rating Cell Styles */
.sm-plugin-wrapper .sm-batch-table.software-list .sm-batch-rating-cell {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 4px;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-batch-rating-value {
    font-size: 16px;
    font-weight: 700;
    color: #1A172C;
    line-height: 1;
    display: block;
    text-align: center;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-batch-rating-value::after {
    display: none;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-batch-stars {
    position: relative;
    display: inline-block;
    width: 80px;
    height: 16px;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z' fill='%23e0e0e0' stroke='none'/%3E%3C/svg%3E") repeat-x;
    background-size: 16px;
}

.sm-plugin-wrapper .sm-batch-table.software-list .sm-batch-stars-inner {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='16' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z' fill='%23ffc107' stroke='none'/%3E%3C/svg%3E") repeat-x;
    background-size: 16px;
}

/* Button Cell Styling */
.sm-plugin-wrapper .sm-batch-table.software-list td:last-child,
.sm-plugin-wrapper .sm-batch-table.software-list td:nth-last-child(2) {
    text-align: center;
    padding: 8px;
    white-space: nowrap;
}

/* Consolidated Button Styles - Optimized for smaller columns */
.sm-plugin-wrapper .sm-visit-button,
.sm-plugin-wrapper .sm-batch-table.software-list .sm-visit-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    border: 1px solid #1A172C;
    border-radius: 4px;
    background-color: #1A172C;
    color: #ffffff;
    font-size: 11px;
    font-weight: 500;
    text-decoration: none;
    transition: all 0.2s ease;
    min-width: 85px;
    max-width: 95px;
    height: 30px;
    margin: 0 auto;
    cursor: pointer;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    box-shadow: 0 2px 6px rgba(26, 23, 44, 0.15);
}

.sm-plugin-wrapper .sm-visit-button:hover,
.sm-batch-table.software-list .sm-visit-button:hover {
    background-color: #362e62;
    border-color: #362e62;
    color: #ffffff;
    box-shadow: 0 4px 12px rgba(26, 23, 44, 0.25);
}

/* Button Container in Table */
.sm-plugin-wrapper .sm-button-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

/* Visit button hover effects */
.sm-batch-table.software-list tr:hover .sm-visit-button {
    background-color: #00CEC9;
    color: #ffffff;
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 206, 201, 0.2);
}

@media screen and (min-width: 768px) {
  /* Table Container: Remove outer border, add border-radius */
    .sm-batch-container.software-list {
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
    border-radius: 14px !important;
    padding: 0 !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list {
    border: none !important;
    box-shadow: none !important;
    background: #fff !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 14px !important;
    overflow: hidden !important;
  }
  /* Clean grid-style inner borders */
  .sm-batch-container.software-list .sm-batch-table.software-list th, .sm-batch-container.software-list .sm-batch-table.software-list td {
    border: 1px solid #e5e7eb !important;
    border-top: none !important;
    border-left: none !important;
    background: #fff !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list th:first-child, .sm-batch-container.software-list .sm-batch-table.software-list td:first-child {
    border-left: 1px solid #e5e7eb !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list tr:first-child th {
    border-top: 1px solid #e5e7eb !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list tr:first-child td {
    border-top: 1px solid #e5e7eb !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list {
    border: none !important;
  }
  /* Tighter row height and smaller font */
  .sm-batch-container.software-list .sm-batch-table.software-list td, .sm-batch-container.software-list .sm-batch-table.software-list th {
    padding: 8px 10px !important;
    font-size: 12px !important;
    vertical-align: top;
    text-align: left;
    line-height: 1.3;
    white-space: normal !important;
    word-wrap: break-word !important;
  }
  /* Table software name cell: enhanced font size and weight for better visibility */
  .sm-batch-container .sm-batch-table .sm-column-name[title]:hover::after {
    content: attr(title);
    position: absolute;
    left: 0;
    top: 100%;
    background: #222;
    color: #fff;
    font-size: 12px;
    padding: 4px 10px;
    border-radius: 4px;
    white-space: normal;
    z-index: 10;
    min-width: 120px;
    max-width: 320px;
    box-shadow: 0 2px 8px rgba(30,40,90,0.13);
    margin-top: 2px;
    pointer-events: none;
  }
  /* Features column: proper text wrapping and formatting */
.sm-batch-container.software-list .sm-batch-table.software-list td.sm-column-features {
    padding-left: 8px !important;
    font-size: 11px !important;
    color: #222 !important;
    font-weight: 400;
    line-height: 1.3;
    white-space: normal !important;
    word-wrap: break-word !important;
    overflow-wrap: break-word !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list td.sm-column-features ul,
  .sm-batch-container.software-list .sm-batch-table.software-list td.sm-column-features li {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 11px !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    word-wrap: break-word !important;
    list-style: none !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list td.sm-column-features li {
    margin-bottom: 1px !important;
    display: block !important;
    position: relative !important;
    padding-left: 16px !important;
  }
  .sm-batch-container.software-list .sm-batch-table.software-list td.sm-column-features li::before {
    content: "✓" !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    color: #16a34a !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
  }
  }
  /* Table border-radius for smooth corners */
  .sm-batch-container .sm-batch-table th:first-child {
    border-top-left-radius: 14px !important;
  }
  .sm-batch-container .sm-batch-table th:last-child {
    border-top-right-radius: 14px !important;
  }
  .sm-batch-container .sm-batch-table tr:last-child td:first-child {
    border-bottom-left-radius: 14px !important;
  }
  .sm-batch-container .sm-batch-table tr:last-child td:last-child {
    border-bottom-right-radius: 14px !important;
  }
  /* Image column: center content and constrain image size */
  /* Image column cell: center content */
  .sm-batch-container .sm-batch-table td.sm-column-image {
    display: grid !important;
    place-items: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    padding: 4px 0 !important;
    min-height: 60px !important;
  }
  .sm-batch-container .sm-batch-table td.sm-column-image img {
    display: block !important;
    margin: 0 auto !important;
    width: 44px !important;
    height: 44px !important;
    max-width: 44px !important;
    max-height: 44px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
    vertical-align: middle !important;
    border-radius: 6px !important;
    background: #fff !important;
    padding: 2px !important;
    box-shadow: 0 1px 4px rgba(30,40,90,0.10);
  }
  /* Header cell alignment only (no grid) */
  .sm-batch-container .sm-batch-table th.sm-column-image {
    text-align: center !important;
    vertical-align: middle !important;
    padding: 4px 0 !important;
  }
  /* Fallback for empty header cells: show placeholder */
  .sm-batch-container .sm-batch-table th:empty::after {
    content: '—';
    color: #fff;
    opacity: 0.5;
    font-size: 14px;
    font-style: italic;
  }
  /* General cell alignment */
  .sm-batch-container .sm-batch-table td {
    vertical-align: middle !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
}

/* Table-specific software name style (desktop/tablet) - REMOVED BROAD SELECTOR */
/* Only target elements specifically within the software table context */

/* Remove global element resets - these were causing conflicts */


/* Software name: remove underlines only where needed (data cells) */
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-name a,
.sm-plugin-wrapper .sm-batch-table.software-list td.sm-column-name .sm-software-name {
    text-decoration: none !important;
    border-bottom: none !important;
}

/* --- Moved from Inline PHP (software-manager.php) --- */
/* Mobile responsiveness fixes for batch tables and plugin wrapper */
@media screen and (max-width: 768px) {
    html, body {
        overflow-x: hidden !important;
    }
    .sm-plugin-wrapper,
    .sm-batch-container.software-list,
    table.sm-batch-table.software-list {
        width: 100vw !important;
        margin-left: calc(-50vw + 50%) !important;
        margin-right: calc(-50vw + 50%) !important;
    }
    table.sm-batch-table.software-list tbody,
    table.sm-batch-table.software-list tr {
        width: 100vw !important;
        box-sizing: border-box !important;
    }
    table.sm-batch-table.software-list td,
    table.sm-batch-table.software-list td * {
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        overflow-wrap: break-word !important;
        box-sizing: border-box !important;
    }
}

/* ==========================================================================
   CSS SCOPING COMPLETED - All styles are now properly wrapped with
   .sm-plugin-wrapper to prevent conflicts with themes and other plugins.
   Version: 4.0.1 - Conflict Resolution Update
   ========================================================================== */

