/**
 * CSS Styles for Modular Cryptocurrency Price Table
 * Supports all column modules with consistent styling
 */

/* =================================================================
   BASE TABLE STYLES
   ================================================================= */

#price-table {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif;
    font-size: 14px;
    border-collapse: collapse;
    width: 100%;
    table-layout: auto !important; /* Allow flexible column widths */
    max-width: 100% !important; /* Prevent overflow */
}

/* UNIVERSAL COLUMN WIDTH REDISTRIBUTION + TEXT VISIBILITY FIX */
@media (max-width: 800px) {
    /* REDISTRIBUTE TABLE COLUMN WIDTHS - More space for names, less for prices */
    #price-table {
        table-layout: fixed !important; /* Use fixed layout for precise control */
    }
    
    /* COIN/NAME COLUMN: Maximum space for mobile name visibility */
    #price-table th:nth-child(1),
    #price-table td:nth-child(1),
    .coin-cell {
        width: 60% !important;
        min-width: 60% !important;
        max-width: 60% !important;
    }
    
    /* PRICE COLUMN: Compact but readable */
    #price-table th:nth-child(2),
    #price-table td:nth-child(2) {
        width: 25% !important;
        min-width: 25% !important;
        max-width: 25% !important;
    }
    
    /* SENTIMENT COLUMN: DISABLED - Conflicts with responsive strategy in index.html */
    /*
    #price-table th:nth-child(3),
    #price-table td:nth-child(3) {
        width: 15% !important;
        min-width: 80px !important;
        max-width: 120px !important;
    }
    */
    
    /* OTHER COLUMNS: Share remaining space */
    #price-table th:nth-child(n+4),
    #price-table td:nth-child(n+4) {
        width: auto !important;
        min-width: auto !important;
    }
    
    /* KEEP SINGLE LINE BUT NO TRUNCATION DUE TO LARGER COLUMN */
    .coin-name,
    .coin-symbol {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: none !important;
        max-width: none !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
        /* FORCE OVERRIDE ANY ELLIPSIS */
        -webkit-text-overflow: none !important;
        text-overflow: unset !important;
    }
    
    .coin-details {
        overflow: visible !important;
        max-width: none !important;
        flex: 1 !important;
        width: 100% !important;
    }
    
    .coin-info {
        flex-wrap: nowrap !important;
        width: 100% !important;
        max-width: 100% !important;
    }
}

/* NUCLEAR SPECIFICITY: ELIMINATE ELLIPSIS COMPLETELY */
@media (max-width: 800px) {
    /* Ultra-high specificity to override any ellipsis rules */
    html body table#price-table tbody tr td.coin-cell div.coin-details div.coin-name,
    html body table#price-table tbody tr td.coin-cell div.coin-details div.coin-symbol,
    html body #price-table td.coin-cell .coin-details .coin-name,
    html body #price-table td.coin-cell .coin-details .coin-symbol,
    table#price-table tbody tr td.coin-cell div.coin-details div.coin-name,
    table#price-table tbody tr td.coin-cell div.coin-details div.coin-symbol,
    #price-table .coin-cell .coin-details .coin-name,
    #price-table .coin-cell .coin-details .coin-symbol,
    .coin-cell .coin-details .coin-name,
    .coin-cell .coin-details .coin-symbol {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: none !important;
        text-overflow: unset !important;
        -webkit-text-overflow: none !important;
        max-width: none !important;
        width: auto !important;
        opacity: 1 !important;
        visibility: visible !important;
        display: block !important;
    }
}

/* High specificity rule to override any conflicting styles */
table#price-table tbody tr td.coin-cell div.coin-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
}

table#price-table tbody tr td.coin-cell div.coin-info div.icon-container {
    order: 1 !important;
    flex: 0 0 32px !important;
    width: 32px !important;
    height: 32px !important;
    margin: 0 !important;
}

table#price-table tbody tr td.coin-cell div.coin-info div.coin-details {
    order: 2 !important;
    flex: 1 1 auto !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
}

#price-table td {
    padding: 8px 12px;
    vertical-align: middle;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    transition: background-color 0.2s ease;
}

/* Specific override for coin cells to ensure proper layout */
#price-table td.coin-cell {
    padding: 12px 8px !important;
    vertical-align: middle !important;
}

#price-table td.coin-cell .coin-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    /* Debug borders - remove in production */
    /* border: 1px solid red; */
}

#price-table td.coin-cell .icon-container {
    flex-shrink: 0 !important;
    width: 32px !important;
    height: 32px !important;
    margin-right: 0 !important; /* Ensure no extra margin */
    /* Debug borders - remove in production */
    /* border: 1px solid blue; */
}

#price-table td.coin-cell .coin-details {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    /* Debug borders - remove in production */
    /* border: 1px solid green; */
}

/* Disable table row hover when hovering over volatility elements */
#price-table tr:has(.volatility-cell:hover) {
    background-color: transparent !important;
}

#price-table tr:has(.volatility-cell:hover) .crypto-icon {
    transform: none !important;
    box-shadow: none !important;
}

#price-table tr:has(.volatility-cell:hover) .coin-name {
    color: inherit !important;
}

/* Normal table row hover effects (only when NOT hovering volatility) */
#price-table tr:hover:not(:has(.volatility-cell:hover)) {
    background-color: rgba(255, 255, 255, 0.05);
}

#price-table tr:hover:not(:has(.volatility-cell:hover)) .crypto-icon {
    transform: scale(1.05);
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.2);
}

#price-table tr:hover:not(:has(.volatility-cell:hover)) .coin-name {
    color: #22c55e;
}

.crypto-icon {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.coin-name {
    transition: color 0.2s ease;
}

.coin-symbol {
    transition: opacity 0.2s ease;
}

/* =================================================================
   COIN/NAME COLUMN STYLES - EXCHANGE STYLE
   ================================================================= */

.coin-cell {
    min-width: 110px !important;
    max-width: none !important; /* Remove max-width restriction */
    width: auto !important; /* Allow flexible width */
    overflow: hidden !important;
    padding: 12px 8px !important;
    vertical-align: middle !important;
    text-align: left !important;
    flex: 1 1 auto !important; /* Allow cell to grow and shrink */
}

.coin-info {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important; /* Reduce gap for more space */
    width: 100% !important;
}

.icon-container {
    position: relative !important;
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    width: 32px !important;
    height: 32px !important;
    order: 0 !important; /* Ensure icon comes first */
}

.crypto-icon {
    width: 32px !important;
    height: 32px !important;
    border-radius: 50% !important;
    object-fit: contain !important; /* Change to contain to prevent squashing */
    background-color: rgba(255, 255, 255, 0.05) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    flex-shrink: 0 !important;
    aspect-ratio: 1 / 1 !important;
}

.coin-details {
    flex: 1 !important;
    flex-grow: 1 !important;
    min-width: 0 !important; /* Allow text to truncate */
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 2px !important;
    order: 1 !important; /* Ensure text comes after icon */
}

.coin-name {
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
    color: #ffffff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.3px;
    /* Allow text to wrap on mobile */
}

/* CONDITIONAL OVERRIDE: Remove ellipsis on small screens */
@media (max-width: 800px) {
    .coin-name {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: none !important;
        text-overflow: unset !important;
    }
}

.coin-symbol {
    font-size: 12px;
    opacity: 0.6;
    line-height: 1.1;
    color: #9ca3af;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-weight: 500;
    letter-spacing: 0.5px;
}

/* CONDITIONAL OVERRIDE: Remove ellipsis on small screens */
@media (max-width: 800px) {
    .coin-symbol {
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: none !important;
        text-overflow: unset !important;
    }
}

/* =================================================================
   PRICE COLUMN STYLES & ANIMATIONS
   ================================================================= */

.price-value {
    font-family: 'Roboto Mono', monospace;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    min-width: 80px;
}

/* Price change animations - STRICTLY color-only, no size changes */
.price-flash-up {
    animation: priceFlashUp 1.5s ease-out !important;
    will-change: color !important;
    transform: none !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

.price-flash-down {
    animation: priceFlashDown 1.5s ease-out !important;
    will-change: color !important;
    transform: none !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

/* Mobile-optimized animations - STRICTLY color-only, no size changes */
.mobile-price-up {
    animation: mobilePriceUp 1.5s ease-out !important;
    will-change: color !important;
    transform: none !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

.mobile-price-down {
    animation: mobilePriceDown 1.5s ease-out !important;
    will-change: color !important;
    transform: none !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
}

@keyframes priceFlashUp {
    0% { 
        color: #22c55e !important; 
    }
    100% { 
        color: inherit !important; 
    }
}

@keyframes priceFlashDown {
    0% { 
        color: #ef4444 !important; 
    }
    100% { 
        color: inherit !important; 
    }
}

@keyframes mobilePriceUp {
    0% { 
        color: #22c55e !important; 
    }
    100% { 
        color: inherit !important; 
    }
}

@keyframes mobilePriceDown {
    0% { 
        color: #ef4444 !important; 
    }
    100% { 
        color: inherit !important; 
    }
}

/* CRITICAL: Prevent ANY size changes during price animations */
.price-flash-up, .price-flash-down, .mobile-price-up, .mobile-price-down,
[class*="price-flash"], [class*="mobile-price"] {
    transform: none !important;
    scale: 1 !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    line-height: inherit !important;
    width: auto !important;
    height: auto !important;
}

/* =================================================================
   PROFESSIONAL SENTIMENT COLUMN STYLES - DYNAMIC SCORING SYSTEM
   ================================================================= */

.sentiment-cell {
    min-width: 160px;
    padding: 8px 4px !important;
    text-align: center;
    vertical-align: middle;
    height: 48px;
    min-height: 48px;
    position: relative;
    display: table-cell !important;
    vertical-align: middle !important;
}

/* ULTRA HIGH SPECIFICITY: Sentiment tag styling to override ALL conflicts including JS updates */
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag,
html body table#price-table .sentiment-cell .sentiment-tag,
html body .sentiment-cell .sentiment-tag,
html .sentiment-cell .sentiment-tag,
.sentiment-cell .sentiment-tag,
#price-table .sentiment-cell .sentiment-tag,
table #price-table tbody tr td.sentiment-cell .sentiment-tag,
/* Also target by CSS class combinations that might be applied */
[class*="sentiment-score-"].sentiment-tag,
.sentiment-tag[class*="sentiment-score-"],
/* Target any programmatically updated sentiment tags */
.sentiment-tag.sentiment-tag {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 6px 8px !important;
    border-radius: 8px !important;
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    text-align: center !important;
    white-space: nowrap !important;
    gap: 4px !important;
    min-width: 0 !important;
    overflow: hidden !important;
    /* DISABLED: Use clean sentiment tag system instead */
    /* width: 75% !important;
    height: 80% !important;
    min-width: 75% !important;
    max-width: 75% !important;
    min-height: 25px !important;
    max-height: 80% !important; */
    /* Center the tag within the cell */
    margin: 0 auto !important;
    position: relative !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1) !important;
    letter-spacing: 0.5px !important;
    color: white !important;
    line-height: 1.2 !important;
    box-sizing: border-box !important;
}

.sentiment-tag * {
    font-size: 11px !important;
}

/* DISABLED: JAVASCRIPT UPDATE PROTECTION - Use clean sentiment tag system instead */
/*
.sentiment-tag,
span.sentiment-tag,
div.sentiment-tag,
.sentiment-cell span,
.sentiment-cell > span,
td.sentiment-cell span.sentiment-tag,
td.sentiment-cell > span.sentiment-tag {
    width: 75% !important;
    min-width: 75% !important;
    max-width: 75% !important;
    height: 80% !important;
    min-height: 25px !important;
    max-height: 80% !important;
    margin: 0 auto !important;
    display: block !important;
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
}
*/

/* DISABLED: FINAL OVERRIDE - Use clean sentiment tag system instead */
/*
.sentiment-cell .sentiment-tag {
    width: 75% !important;
    min-width: 75% !important;
    max-width: 75% !important;
    height: 80% !important;
    min-height: 25px !important;
    max-height: 80% !important;
    margin: 0 auto !important;
    display: block !important;
}
*/

/* Allow exceptions for inner text elements */
.sentiment-cell .sentiment-label,
.sentiment-cell .sentiment-score {
    width: auto !important;
    min-width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
}

/* PREVENT JUMPING: Disable transitions on sentiment tags during updates */
.sentiment-tag,
.sentiment-tag *,
.sentiment-cell *,
.sentiment-cell {
    transition: none !important;
    transform: none !important;
    animation: none !important;
}

/* STABILITY: Lock alignment to prevent left-right jumping */
.sentiment-cell,
.sentiment-cell .sentiment-tag {
    text-align: center !important;
    justify-content: center !important;
    align-items: center !important;
    position: relative !important;
}

/* OVERRIDE: Ensure no inherited positioning affects sentiment tags */
.sentiment-tag {
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    float: none !important;
}


.sentiment-label {
    font-size: 16px !important;
    font-weight: 600 !important;
    letter-spacing: 0.5px !important;
    line-height: 1.2 !important;
    z-index: 1 !important;
    text-align: center !important;
    box-shadow: none !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

.sentiment-score {
    font-size: 26px !important;
    font-weight: 600 !important;
    opacity: 1 !important;
    line-height: 1 !important;
    z-index: 1 !important;
    min-width: 28px !important;
    text-align: center !important;
    color: white !important;
    margin-left: 0 !important;
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
}

/* UNIVERSAL SENTIMENT STYLING - APPLIES TO ALL SCORES */
[class*="sentiment-score-"] {
    box-shadow: none !important;
}

/* MAKE ALL SENTIMENT BACKGROUNDS 20% OPACITY - TEXT STAYS OPAQUE */
[class*="sentiment-score-"] .sentiment-label,
[class*="sentiment-score-"] .sentiment-score {
    position: relative;
    z-index: 1;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    vertical-align: middle !important;
    height: 20px !important;
    margin: 0 !important;
    padding: 0 !important;
}

[class*="sentiment-score-"] .sentiment-score {
    font-size: 11px !important;
    font-weight: bold !important;
    color: white !important;
}

[class*="sentiment-score-"] .sentiment-label {
    font-size: 11px !important;
    font-weight: 600 !important;
}

/* =================================================================
   ENHANCED GRANULAR SENTIMENT SCORING SYSTEM (0-100 range)
   8 Distinct Visual Categories with Individual Score Mapping
   ================================================================= */

/* =================================================================
   SENTIMENT OPACITY-BASED SYSTEM - CONSISTENT BASE COLORS WITH INCREASING OPACITY
   Base colors: Green (#22c55e) for bullish, Red (#ef4444) for bearish
   Opacity increases with sentiment strength: 0.2 → 0.3 → 0.4 → 0.5 → 0.6 → 0.7 → 0.8 → 0.9 → 1.0
   ================================================================= */

/* NEUTRAL CENTER (40-50): Transparent White/Gray */
.sentiment-tag.sentiment-score-40, .sentiment-tag.sentiment-score-41, .sentiment-tag.sentiment-score-42, .sentiment-tag.sentiment-score-43, .sentiment-tag.sentiment-score-44,
.sentiment-tag.sentiment-score-45, .sentiment-tag.sentiment-score-46, .sentiment-tag.sentiment-score-47, .sentiment-tag.sentiment-score-48, .sentiment-tag.sentiment-score-49,
.sentiment-tag.sentiment-score-50 {
    background: rgba(128, 128, 128, 0.2) !important;
    color: rgba(255, 255, 255, 0.9) !important;
    border-color: rgba(255, 255, 255, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5) !important;
}
.sentiment-tag.sentiment-score-40 .sentiment-score, .sentiment-tag.sentiment-score-41 .sentiment-score, .sentiment-tag.sentiment-score-42 .sentiment-score, .sentiment-tag.sentiment-score-43 .sentiment-score, .sentiment-tag.sentiment-score-44 .sentiment-score,
.sentiment-tag.sentiment-score-45 .sentiment-score, .sentiment-tag.sentiment-score-46 .sentiment-score, .sentiment-tag.sentiment-score-47 .sentiment-score, .sentiment-tag.sentiment-score-48 .sentiment-score, .sentiment-tag.sentiment-score-49 .sentiment-score,
.sentiment-tag.sentiment-score-50 .sentiment-score {
    color: rgba(255, 255, 255, 0.9) !important;
}

/* BEARISH SPECTRUM: 39-0 (Base Red #ef4444 with increased opacity progression) */
/* Slightly Bearish (39-35): 0.3 opacity */
.sentiment-tag.sentiment-score-39, .sentiment-tag.sentiment-score-38, .sentiment-tag.sentiment-score-37, .sentiment-tag.sentiment-score-36, .sentiment-tag.sentiment-score-35 {
    background: rgba(239, 68, 68, 0.3) !important;
    color: white !important;
    border-color: rgba(239, 68, 68, 0.4) !important;
}
.sentiment-tag.sentiment-score-39 .sentiment-score, .sentiment-tag.sentiment-score-38 .sentiment-score, .sentiment-tag.sentiment-score-37 .sentiment-score, .sentiment-tag.sentiment-score-36 .sentiment-score, .sentiment-tag.sentiment-score-35 .sentiment-score {
    color: white !important;
}

/* Cautiously Bearish (34-30): 0.5 opacity */
.sentiment-tag.sentiment-score-34, .sentiment-tag.sentiment-score-33, .sentiment-tag.sentiment-score-32, .sentiment-tag.sentiment-score-31, .sentiment-tag.sentiment-score-30 {
    background: rgba(239, 68, 68, 0.5) !important;
    color: white !important;
    border-color: rgba(239, 68, 68, 0.6) !important;
}
.sentiment-tag.sentiment-score-34 .sentiment-score, .sentiment-tag.sentiment-score-33 .sentiment-score, .sentiment-tag.sentiment-score-32 .sentiment-score, .sentiment-tag.sentiment-score-31 .sentiment-score, .sentiment-tag.sentiment-score-30 .sentiment-score {
    color: white !important;
}

/* Bearish (29-25): 0.6 opacity */
.sentiment-tag.sentiment-score-29, .sentiment-tag.sentiment-score-28, .sentiment-tag.sentiment-score-27, .sentiment-tag.sentiment-score-26, .sentiment-tag.sentiment-score-25 {
    background: rgba(239, 68, 68, 0.6) !important;
    color: white !important;
    border-color: rgba(239, 68, 68, 0.7) !important;
}
.sentiment-tag.sentiment-score-29 .sentiment-score, .sentiment-tag.sentiment-score-28 .sentiment-score, .sentiment-tag.sentiment-score-27 .sentiment-score, .sentiment-tag.sentiment-score-26 .sentiment-score, .sentiment-tag.sentiment-score-25 .sentiment-score {
    color: white !important;
}

/* Strong Bearish (24-20): 0.7 opacity */
.sentiment-tag.sentiment-score-24, .sentiment-tag.sentiment-score-23, .sentiment-tag.sentiment-score-22, .sentiment-tag.sentiment-score-21, .sentiment-tag.sentiment-score-20 {
    background: rgba(239, 68, 68, 0.7) !important;
    color: white !important;
    border-color: rgba(239, 68, 68, 0.8) !important;
}
.sentiment-tag.sentiment-score-24 .sentiment-score, .sentiment-tag.sentiment-score-23 .sentiment-score, .sentiment-tag.sentiment-score-22 .sentiment-score, .sentiment-tag.sentiment-score-21 .sentiment-score, .sentiment-tag.sentiment-score-20 .sentiment-score {
    color: white !important;
}

/* Very Bearish (19-5): 0.8 opacity */
.sentiment-tag.sentiment-score-19, .sentiment-tag.sentiment-score-18, .sentiment-tag.sentiment-score-17, .sentiment-tag.sentiment-score-16, .sentiment-tag.sentiment-score-15,
.sentiment-tag.sentiment-score-14, .sentiment-tag.sentiment-score-13, .sentiment-tag.sentiment-score-12, .sentiment-tag.sentiment-score-11, .sentiment-tag.sentiment-score-10,
.sentiment-tag.sentiment-score-9, .sentiment-tag.sentiment-score-8, .sentiment-tag.sentiment-score-7, .sentiment-tag.sentiment-score-6, .sentiment-tag.sentiment-score-5 {
    background: rgba(239, 68, 68, 0.8) !important;
    color: white !important;
    border-color: rgba(239, 68, 68, 0.9) !important;
}
.sentiment-tag.sentiment-score-19 .sentiment-score, .sentiment-tag.sentiment-score-18 .sentiment-score, .sentiment-tag.sentiment-score-17 .sentiment-score, .sentiment-tag.sentiment-score-16 .sentiment-score, .sentiment-tag.sentiment-score-15 .sentiment-score,
.sentiment-tag.sentiment-score-14 .sentiment-score, .sentiment-tag.sentiment-score-13 .sentiment-score, .sentiment-tag.sentiment-score-12 .sentiment-score, .sentiment-tag.sentiment-score-11 .sentiment-score, .sentiment-tag.sentiment-score-10 .sentiment-score,
.sentiment-tag.sentiment-score-9 .sentiment-score, .sentiment-tag.sentiment-score-8 .sentiment-score, .sentiment-tag.sentiment-score-7 .sentiment-score, .sentiment-tag.sentiment-score-6 .sentiment-score, .sentiment-tag.sentiment-score-5 .sentiment-score {
    color: white !important;
}

/* Ultra Bearish (4-0): 1.0 opacity */
.sentiment-tag.sentiment-score-4, .sentiment-tag.sentiment-score-3, .sentiment-tag.sentiment-score-2, .sentiment-tag.sentiment-score-1, .sentiment-tag.sentiment-score-0 {
    background: rgba(239, 68, 68, 1.0) !important;
    color: white !important;
    border-color: rgba(239, 68, 68, 1.0) !important;
}
.sentiment-tag.sentiment-score-4 .sentiment-score, .sentiment-tag.sentiment-score-3 .sentiment-score, .sentiment-tag.sentiment-score-2 .sentiment-score, .sentiment-tag.sentiment-score-1 .sentiment-score, .sentiment-tag.sentiment-score-0 .sentiment-score {
    color: white !important;
}

/* BULLISH SPECTRUM: 51-100 (Base Green #22c55e with increasing opacity) */
/* Slightly Bullish (51-55): 0.1 opacity */
.sentiment-tag.sentiment-score-51, .sentiment-tag.sentiment-score-52, .sentiment-tag.sentiment-score-53, .sentiment-tag.sentiment-score-54, .sentiment-tag.sentiment-score-55 {
    background: rgba(34, 197, 94, 0.1) !important;
    color: white !important;
    border-color: rgba(34, 197, 94, 0.2) !important;
}
.sentiment-tag.sentiment-score-51 .sentiment-score, .sentiment-tag.sentiment-score-52 .sentiment-score, .sentiment-tag.sentiment-score-53 .sentiment-score, .sentiment-tag.sentiment-score-54 .sentiment-score, .sentiment-tag.sentiment-score-55 .sentiment-score {
    color: white !important;
}

/* Modestly Bullish (56-65): 0.2 opacity - UPDATED terminology */
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-56,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-57,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-58,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-59,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-60,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-61,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-62,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-63,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-64,
table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-65,
.sentiment-tag.sentiment-score-56, .sentiment-tag.sentiment-score-57, .sentiment-tag.sentiment-score-58, .sentiment-tag.sentiment-score-59, .sentiment-tag.sentiment-score-60,
.sentiment-tag.sentiment-score-61, .sentiment-tag.sentiment-score-62, .sentiment-tag.sentiment-score-63, .sentiment-tag.sentiment-score-64, .sentiment-tag.sentiment-score-65 {
    background: rgba(34, 197, 94, 0.2) !important;
    color: white !important;
    border-color: rgba(34, 197, 94, 0.3) !important;
}
.sentiment-tag.sentiment-score-56 .sentiment-score, .sentiment-tag.sentiment-score-57 .sentiment-score, .sentiment-tag.sentiment-score-58 .sentiment-score, .sentiment-tag.sentiment-score-59 .sentiment-score, .sentiment-tag.sentiment-score-60 .sentiment-score,
.sentiment-tag.sentiment-score-61 .sentiment-score, .sentiment-tag.sentiment-score-62 .sentiment-score, .sentiment-tag.sentiment-score-63 .sentiment-score, .sentiment-tag.sentiment-score-64 .sentiment-score, .sentiment-tag.sentiment-score-65 .sentiment-score {
    color: white !important;
}
.sentiment-tag.sentiment-score-61 .sentiment-score, .sentiment-tag.sentiment-score-62 .sentiment-score, .sentiment-tag.sentiment-score-63 .sentiment-score, .sentiment-tag.sentiment-score-64 .sentiment-score, .sentiment-tag.sentiment-score-65 .sentiment-score {
    color: white !important;
}

/* Strong Bullish (66-75): 0.4 opacity */
.sentiment-tag.sentiment-score-66, .sentiment-tag.sentiment-score-67, .sentiment-tag.sentiment-score-68, .sentiment-tag.sentiment-score-69, .sentiment-tag.sentiment-score-70,
.sentiment-tag.sentiment-score-71, .sentiment-tag.sentiment-score-72, .sentiment-tag.sentiment-score-73, .sentiment-tag.sentiment-score-74, .sentiment-tag.sentiment-score-75 {
    background: rgba(34, 197, 94, 0.4) !important;
    color: white !important;
    border-color: rgba(34, 197, 94, 0.5) !important;
}
.sentiment-tag.sentiment-score-66 .sentiment-score, .sentiment-tag.sentiment-score-67 .sentiment-score, .sentiment-tag.sentiment-score-68 .sentiment-score, .sentiment-tag.sentiment-score-69 .sentiment-score, .sentiment-tag.sentiment-score-70 .sentiment-score {
    color: white !important;
}

/* Very Bullish (76-90): 0.6 opacity */
.sentiment-tag.sentiment-score-76, .sentiment-tag.sentiment-score-77, .sentiment-tag.sentiment-score-78, .sentiment-tag.sentiment-score-79, .sentiment-tag.sentiment-score-80,
.sentiment-tag.sentiment-score-81, .sentiment-tag.sentiment-score-82, .sentiment-tag.sentiment-score-83, .sentiment-tag.sentiment-score-84, .sentiment-tag.sentiment-score-85,
.sentiment-tag.sentiment-score-86, .sentiment-tag.sentiment-score-87, .sentiment-tag.sentiment-score-88, .sentiment-tag.sentiment-score-89, .sentiment-tag.sentiment-score-90 {
    background: rgba(34, 197, 94, 0.6) !important;
    color: white !important;
    border-color: rgba(34, 197, 94, 0.7) !important;
}
.sentiment-tag.sentiment-score-71 .sentiment-score, .sentiment-tag.sentiment-score-72 .sentiment-score, .sentiment-tag.sentiment-score-73 .sentiment-score, .sentiment-tag.sentiment-score-74 .sentiment-score, .sentiment-tag.sentiment-score-75 .sentiment-score,
.sentiment-tag.sentiment-score-76 .sentiment-score, .sentiment-tag.sentiment-score-77 .sentiment-score, .sentiment-tag.sentiment-score-78 .sentiment-score, .sentiment-tag.sentiment-score-79 .sentiment-score, .sentiment-tag.sentiment-score-80 .sentiment-score,
.sentiment-tag.sentiment-score-81 .sentiment-score, .sentiment-tag.sentiment-score-82 .sentiment-score, .sentiment-tag.sentiment-score-83 .sentiment-score, .sentiment-tag.sentiment-score-84 .sentiment-score, .sentiment-tag.sentiment-score-85 .sentiment-score,
.sentiment-tag.sentiment-score-86 .sentiment-score, .sentiment-tag.sentiment-score-87 .sentiment-score, .sentiment-tag.sentiment-score-88 .sentiment-score, .sentiment-tag.sentiment-score-89 .sentiment-score, .sentiment-tag.sentiment-score-90 .sentiment-score {
    color: white !important;
}

/* Ultra Bullish (91-100): 0.8-1.0 opacity */
.sentiment-tag.sentiment-score-91, .sentiment-tag.sentiment-score-92, .sentiment-tag.sentiment-score-93, .sentiment-tag.sentiment-score-94, .sentiment-tag.sentiment-score-95,
.sentiment-tag.sentiment-score-96, .sentiment-tag.sentiment-score-97, .sentiment-tag.sentiment-score-98, .sentiment-tag.sentiment-score-99, .sentiment-tag.sentiment-score-100 {
    background: rgba(34, 197, 94, 0.8) !important;
    color: white !important;
    border-color: rgba(34, 197, 94, 0.9) !important;
}
.sentiment-tag.sentiment-score-91 .sentiment-score, .sentiment-tag.sentiment-score-92 .sentiment-score, .sentiment-tag.sentiment-score-93 .sentiment-score, .sentiment-tag.sentiment-score-94 .sentiment-score, .sentiment-tag.sentiment-score-95 .sentiment-score,
.sentiment-tag.sentiment-score-96 .sentiment-score, .sentiment-tag.sentiment-score-97 .sentiment-score, .sentiment-tag.sentiment-score-98 .sentiment-score, .sentiment-tag.sentiment-score-99 .sentiment-score, .sentiment-tag.sentiment-score-100 .sentiment-score {
    color: white !important;
}

/* =================================================================
   SIMPLIFIED SENTIMENT TEXT COLORS - WHITE TEXT FOR ALL SCORES
   ================================================================= */

/* UNIVERSAL TEXT COLOR: White text for all sentiment scores for consistency and readability */
.sentiment-tag .sentiment-label,
.sentiment-tag .sentiment-score {
    color: white !important;
}

/* ================================================================= 
   OLD GRADIENT SYSTEM REMOVED - USING OPACITY-BASED SYSTEM ABOVE 
   ================================================================= */

/* EMERGENCY DEBUG: Force weak bullish styling with nuclear specificity */
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-56,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-57,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-58,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-59,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-60 {
    background: rgba(34, 197, 94, 0.2) !important;
    background-color: rgba(34, 197, 94, 0.2) !important;
    background-image: none !important;
    color: white !important;
    border-color: rgba(34, 197, 94, 0.3) !important;
}

/* Force override any inline styles or JS applied styles */
.sentiment-tag.sentiment-score-56[style],
.sentiment-tag.sentiment-score-57[style],
.sentiment-tag.sentiment-score-58[style],
.sentiment-tag.sentiment-score-59[style],
.sentiment-tag.sentiment-score-60[style] {
    background: rgba(34, 197, 94, 0.2) !important;
    background-color: rgba(34, 197, 94, 0.2) !important;
    background-image: none !important;
}

/* SENTIMENT TAGS - BASIC STYLING */
.sentiment-tag,
.sentiment-tag *,
.sentiment-tag .sentiment-label,
.sentiment-tag .sentiment-score,
[class*="sentiment-score-"] .sentiment-label,
[class*="sentiment-score-"] .sentiment-score {
    /* Basic sentiment styling without color overrides */
}

/* Sentiment score styling - natural color inheritance */
.sentiment-score-52 .sentiment-label,
.sentiment-score-53 .sentiment-label,
.sentiment-score-54 .sentiment-label,
.sentiment-score-55 .sentiment-label,
.sentiment-score-56 .sentiment-label,
.sentiment-score-57 .sentiment-label,
.sentiment-score-58 .sentiment-label,
.sentiment-score-49 .sentiment-label,
.sentiment-score-50 .sentiment-label,
.sentiment-score-51 .sentiment-label,
.sentiment-score-41 .sentiment-label,
.sentiment-score-42 .sentiment-label,
.sentiment-score-43 .sentiment-label,
.sentiment-score-44 .sentiment-label,
.sentiment-score-45 .sentiment-label,
.sentiment-score-46 .sentiment-label,
.sentiment-score-47 .sentiment-label,
.sentiment-score-48 .sentiment-label,
.sentiment-score-52 .sentiment-score,
.sentiment-score-53 .sentiment-score,
.sentiment-score-54 .sentiment-score,
.sentiment-score-55 .sentiment-score,
.sentiment-score-56 .sentiment-score,
.sentiment-score-57 .sentiment-score,
.sentiment-score-58 .sentiment-score,
.sentiment-score-49 .sentiment-score,
.sentiment-score-50 .sentiment-score,
.sentiment-score-51 .sentiment-score,
.sentiment-score-41 .sentiment-score,
.sentiment-score-42 .sentiment-score,
.sentiment-score-43 .sentiment-score,
.sentiment-score-44 .sentiment-score,
.sentiment-score-45 .sentiment-score,
.sentiment-score-46 .sentiment-score,
.sentiment-score-47 .sentiment-score,
.sentiment-score-48 .sentiment-score {
    /* Allow natural color inheritance from background */
}

/* =================================================================
   STATIC PROFESSIONAL STYLING - NO HOVER EFFECTS
   ================================================================= */

/* =================================================================
   TRADE RATING COLUMN STYLES
   ================================================================= */

.trade-rating-cell {
    min-width: 130px;
    max-width: 130px;
    width: 130px;
    padding: 8px 6px;
}

.trade-rating-container {
    width: 100% !important;
    margin: 0 auto;
}

/* Force override for trade rating progress bars - Multiple selectors for maximum coverage */
.trade-rating-cell > div > div:first-child,
.trade-rating-cell .progress-background,
.trade-rating-cell .trade-rating-container > div:first-child,
td.trade-rating-cell > div > div:first-child {
    width: 100% !important;
    height: 11px !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

.trade-rating-cell .rating-info,
.trade-rating-cell .trade-rating-container .rating-info {
    width: 100% !important;
}

.progress {
    height: 11px;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    overflow: hidden;
}

.progress-bar {
    height: 100%;
    transition: width 0.5s ease;
    border-radius: 6px;
}

.rating-text {
    font-size: 11px;
    font-weight: 600;
    margin-top: 4px;
    text-align: center;
    color: #ffffff !important;
}

/* =================================================================
   FORECAST COLUMN STYLES
   ================================================================= */

.forecast-column {
    min-width: 64px;
}

.forecast-container {
    display: flex;
    justify-content: center;
}

.forecast-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 6px;
    border-radius: 8px;
    min-width: 50px;
}

.forecast-direction {
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
}

.forecast-confidence {
    font-size: 10px;
    font-weight: 600;
    margin-top: 2px;
}

.forecast-bullish {
    background-color: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.3);
}

.forecast-bearish {
    background-color: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.3);
}

.forecast-neutral {
    background-color: rgba(156, 163, 175, 0.15);
    color: #9ca3af;
    border: 1px solid rgba(156, 163, 175, 0.3);
}

.high-confidence {
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.2);
}

.medium-confidence {
    opacity: 0.85;
}

.low-confidence {
    opacity: 0.7;
}

/* =================================================================
   VOLATILITY COLUMN STYLES
   ================================================================= */

.volatility-cell {
    min-width: 110px;
}

.volatility-container {
    display: flex;
    justify-content: center;
}

.volatility-badge {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4px 8px;
    border-radius: 8px;
    min-width: 70px;
}

.volatility-label {
    font-size: 8px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    line-height: 1;
}

.volatility-score {
    font-size: 9px;
    margin-top: 2px;
    opacity: 0.8;
}

.volatility-minimal {
    background-color: rgba(34, 197, 94, 0.15);
    color: #22c55e;
    border: 1px solid rgba(34, 197, 94, 0.2);
}

/* .volatility-low {
    background-color: rgba(59, 130, 246, 0.15);
    color: #3b82f6;
    border: 1px solid rgba(59, 130, 246, 0.2);
} */ /* REMOVED - Conflicts with volatility-tags.css */

.volatility-conservative {
    background-color: rgba(16, 185, 129, 0.15);
    color: #10b981;
    border: 1px solid rgba(16, 185, 129, 0.2);
}

.volatility-balanced {
    background-color: rgba(245, 158, 11, 0.15);
    color: #f59e0b;
    border: 1px solid rgba(245, 158, 11, 0.2);
}

.volatility-growth {
    background-color: rgba(249, 115, 22, 0.15);
    color: #f97316;
    border: 1px solid rgba(249, 115, 22, 0.2);
}

.volatility-aggressive {
    background-color: rgba(239, 68, 68, 0.15);
    color: #ef4444;
    border: 1px solid rgba(239, 68, 68, 0.2);
}

/* Disable hover effects for all volatility elements */
.volatility-badge:hover,
.volatility-minimal:hover,
.volatility-conservative:hover,
.volatility-balanced:hover,
.volatility-growth:hover,
.volatility-aggressive:hover {
    transform: none !important;
    background-color: inherit !important;
    box-shadow: none !important;
    opacity: inherit !important;
}

/* =================================================================
   CHANGE COLUMN STYLES
   ================================================================= */

.change-cell {
    font-family: 'Roboto Mono', monospace;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    min-width: 80px;
}

/* High-specificity rules to ensure change colors override any other styling */
html body table#price-table tbody tr td.change-cell.change-positive {
    color: #15803d !important;
}

html body table#price-table tbody tr td.change-cell.change-positive-medium {
    color: #16a34a !important;
}

html body table#price-table tbody tr td.change-cell.change-positive-high {
    color: #22c55e !important;
}

html body table#price-table tbody tr td.change-cell.change-negative {
    color: #ff3547 !important;
}

html body table#price-table tbody tr td.change-cell.change-negative-medium {
    color: #dc2626 !important;
}

html body table#price-table tbody tr td.change-cell.change-negative-high {
    color: #ef4444 !important;
}

html body table#price-table tbody tr td.change-cell.change-neutral {
    color: #9ca3af !important;
}

.change-value {
    font-weight: 600;
}

.change-positive {
    color: #15803d;
}

.change-positive-medium {
    color: #16a34a;
    font-weight: 700;
}

.change-positive-high {
    color: #22c55e;
    font-weight: 700;
    text-shadow: 0 0 4px rgba(34, 197, 94, 0.3);
}

.change-negative {
    color: #b91c1c;
}

.change-negative-medium {
    color: #dc2626;
    font-weight: 700;
}

.change-negative-high {
    color: #ef4444;
    font-weight: 700;
    text-shadow: 0 0 4px rgba(239, 68, 68, 0.3);
}

.change-neutral {
    color: #9ca3af;
}

/* =================================================================
   RESPONSIVE DESIGN
   ================================================================= */

@media (max-width: 768px) {
    #price-table {
        font-size: 14px; /* Keep font size readable */
    }
    
    #price-table td {
        padding: 8px 6px; /* Keep adequate padding */
    }
    
    .coin-cell {
        min-width: 120px !important; /* Larger minimum for text space */
        max-width: none !important; /* Remove max restriction */
        width: auto !important; /* Allow flexible width */
        padding: 8px 6px !important; /* Keep adequate padding */
    }
    
    .coin-info {
        gap: 8px; /* Keep reasonable gap */
    }
    
    /* KEEP LOGOS LARGE: 32px below 800px */
    .crypto-icon {
        width: 32px !important;
        height: 32px !important;
        object-fit: contain !important;
        aspect-ratio: 1 / 1 !important;
        flex-shrink: 0 !important;
    }
    
    .icon-container {
        width: 32px !important;
        height: 32px !important;
        flex-shrink: 0 !important;
    }
    
    .coin-name {
        font-size: 14px !important;
        color: #ffffff !important;
        visibility: visible !important;
        display: block !important;
        /* REMOVE TRUNCATION */
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: none !important;
        max-width: none !important;
        word-wrap: break-word !important;
    }
    
    .coin-symbol {
        font-size: 12px !important;
        display: block !important; /* Keep ticker symbol on mobile for better UX */
        color: #9ca3af !important;
        visibility: visible !important;
        /* REMOVE TRUNCATION */
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: none !important;
        max-width: none !important;
    }
    
    .sentiment-tag,
    .forecast-badge,
    .volatility-badge {
        padding: 2px 4px;
        font-size: 10px;
    }
    
    .trade-rating-container .progress {
        height: 16px;
    }
    
    .rating-text {
        font-size: 10px;
    }
}

/* Critical 500px breakpoint - KEEP LOGOS LARGE */
@media (max-width: 500px) {
    #price-table {
        font-size: 13px; /* Keep readable font size */
        table-layout: auto !important; /* Allow table to size naturally */
    }
    
    #price-table td {
        padding: 6px 4px; /* Keep adequate padding */
    }
    
    .coin-cell {
        min-width: 110px !important; /* Larger minimum for text visibility */
        max-width: none !important;
        width: auto !important;
        padding: 6px 4px !important;
    }
    
    .coin-info {
        gap: 6px; /* Keep reasonable gap */
    }
    
    /* KEEP LOGOS LARGE: 32px at 500px */
    .crypto-icon {
        width: 32px !important;
        height: 32px !important;
        object-fit: contain !important;
        aspect-ratio: 1 / 1 !important;
        flex-shrink: 0 !important;
        border-radius: 50% !important;
    }
    
    .icon-container {
        width: 32px !important;
        height: 32px !important;
        flex-shrink: 0 !important;
    }
    
    .coin-name {
        font-size: 13px !important;
        color: #ffffff !important;
        visibility: visible !important;
        display: block !important;
        /* CRITICAL: REMOVE ALL TRUNCATION AT 500px */
        overflow: visible !important;
        text-overflow: none !important;
        white-space: normal !important;
        max-width: none !important;
        word-wrap: break-word !important;
        opacity: 1 !important;
    }
    
    .coin-symbol {
        font-size: 11px !important;
        color: #9ca3af !important;
        visibility: visible !important;
        display: block !important;
        /* CRITICAL: REMOVE ALL TRUNCATION AT 500px */
        overflow: visible !important;
        text-overflow: none !important;
        white-space: normal !important;
        max-width: none !important;
        opacity: 1 !important;
    }
    
    .coin-details {
        min-width: 0 !important; /* Allow text to shrink */
        overflow: visible !important; /* CRITICAL: Show text instead of hiding */
        flex: 1 !important;
        max-width: none !important;
        width: auto !important;
    }
}

@media (max-width: 480px) {
    /* FORCE FIXED TABLE LAYOUT FOR PRECISE COLUMN CONTROL */
    html body table#price-table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    
    /* NUCLEAR SPECIFICITY: Force 95% width with CSS custom properties */
    html body div table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    html body div table#price-table tbody tr td.sentiment-cell span.sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    html body div table#price-table tbody tr td.sentiment-cell span.sentiment-tag.sentiment-tag-clean,
    html body div table#price-table tbody tr td.sentiment-cell .sentiment-tag,
    html body table#price-table tbody tr td.sentiment-cell .sentiment-tag,
    html body #price-table tbody tr td.sentiment-cell .sentiment-tag,
    #price-table tbody tr td.sentiment-cell .sentiment-tag {
        --sentiment-width: 95%;
        width: var(--sentiment-width) !important;
        min-width: var(--sentiment-width) !important;
        max-width: var(--sentiment-width) !important;
    }
    
    /* ADDITIONAL NUCLEAR OVERRIDE - Target by attribute selectors */
    html body div table#price-table tbody tr td[class*="sentiment-cell"] span[class*="sentiment-tag"],
    html body div table#price-table tbody tr td[class*="sentiment-cell"] [class*="sentiment-tag"] {
        width: 95% !important;
        min-width: 95% !important;
        max-width: 95% !important;
    }
    
    /* FORCE ALL SENTIMENT TAGS TO 95% WIDTH at 480px */
    html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    html body table#price-table .sentiment-tag.sentiment-tag-clean,
    html body table#price-table .sentiment-tag.sentiment-height-width,
    html body table#price-table .sentiment-tag,
    table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    table#price-table .sentiment-tag.sentiment-tag-clean,
    table#price-table .sentiment-tag.sentiment-height-width,
    table#price-table .sentiment-tag,
    .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    .sentiment-tag.sentiment-tag-clean,
    .sentiment-tag.sentiment-height-width,
    .sentiment-tag {
        width: 95% !important;
        min-width: 95% !important;
        max-width: 95% !important;
    }
    
    /* Compact single-line styling for "SLIGHTLY" sentiment tags at 480px */
    html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment .sentiment-label,
    table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment .sentiment-label,
    .sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment .sentiment-label,
    span.sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment span.sentiment-label {
        font-size: 10px !important;
        line-height: 35px !important;
        text-align: center !important;
        white-space: nowrap !important;
        display: block !important;
        visibility: visible !important;
        overflow: visible !important;
    }
    
    /* ULTRA-HIGH SPECIFICITY COLUMN WIDTH DISTRIBUTION ON MOBILE */
    /* Name column: 35% - Override 800px breakpoint rules */
    html body table#price-table thead th:nth-child(1),
    html body table#price-table tbody td:nth-child(1),
    html body table#price-table th:nth-child(1),
    html body table#price-table td:nth-child(1),
    html body #price-table th:nth-child(1),
    html body #price-table td:nth-child(1),
    table#price-table th:nth-child(1),
    table#price-table td:nth-child(1) {
        width: 35% !important;
        min-width: 35% !important;
        max-width: 35% !important;
    }
    
    /* Price column: 20% - Override 800px breakpoint rules */  
    html body table#price-table thead th:nth-child(2),
    html body table#price-table tbody td:nth-child(2),
    html body table#price-table th:nth-child(2),
    html body table#price-table td:nth-child(2),
    html body #price-table th:nth-child(2),
    html body #price-table td:nth-child(2),
    table#price-table th:nth-child(2),
    table#price-table td:nth-child(2) {
        width: 20% !important;
        min-width: 20% !important;
        max-width: 20% !important;
    }
    
    /* Sentiment column: 45% - Override 800px breakpoint rules */
    html body table#price-table thead th:nth-child(3),
    html body table#price-table tbody td:nth-child(3),
    html body table#price-table th:nth-child(3),
    html body table#price-table td:nth-child(3),
    html body #price-table th:nth-child(3),
    html body #price-table td:nth-child(3),
    table#price-table th:nth-child(3),
    table#price-table td:nth-child(3) {
        width: 45% !important;
        min-width: 45% !important;
        max-width: 45% !important;
    }
    
    /* RIGHT-ALIGN SENTIMENT HEADER ON MOBILE - Target actual HTML structure */
    #price-table th:nth-child(3) {
        text-align: right !important;
    }
    
    #price-table th:nth-child(3) .d-flex.align-items-center.justify-content-center {
        justify-content: flex-end !important;
    }
    
    .sentiment-cell,
    .trade-rating-cell,
    .volatility-cell {
        min-width: auto;
    }
    
    /* COIN CELL AND TABLE CELL STANDARD - Increase image size to 20x20px */
    html body table#price-table tbody tr td.coin-cell.table-cell-standard img[style],
    html body table#price-table tbody tr td.table-cell-standard img.crypto-icon[style],
    html body #price-table .coin-cell.table-cell-standard img[style],
    table#price-table tbody tr td.coin-cell.table-cell-standard img,
    table#price-table tbody tr td.table-cell-standard img.crypto-icon,
    #price-table .coin-cell.table-cell-standard img,
    .coin-cell.table-cell-standard img,
    .table-cell-standard img.crypto-icon,
    .coin-cell img.crypto-icon,
    .table-cell-standard img {
        width: 20px !important;
        height: 20px !important;
        object-fit: contain !important;
        aspect-ratio: 1 / 1 !important;
        flex-shrink: 0 !important;
        border-radius: 50% !important;
    }
    
    /* Override coin-cell class width restrictions and prevent text wrapping */
    html body table#price-table tbody tr td.coin-cell,
    html body table#price-table td.coin-cell.table-cell-standard,
    html body #price-table .coin-cell,
    table#price-table .coin-cell,
    .coin-cell,
    .coin-cell.table-cell-standard {
        width: 35% !important; /* Force name column to 35% */
        min-width: 35% !important;
        max-width: 35% !important;
        padding: 6px 3px !important;
        overflow: visible !important;
        white-space: nowrap !important;
        word-wrap: normal !important;
        word-break: normal !important;
    }
    
    /* COIN NAME - Fix font size and prevent unwanted wrapping */
    html body table#price-table tbody tr td .coin-name[style],
    html body table#price-table .coin-name[style],
    html body #price-table .coin-name[style],
    table#price-table tbody tr td .coin-name,
    #price-table .coin-name,
    .coin-name {
        font-size: 14px !important;
        color: #ffffff !important;
        visibility: visible !important;
        display: block !important;
        /* PREVENT UNWANTED WORD WRAPPING */
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: normal !important;
        word-break: normal !important;
        max-width: none !important;
        width: auto !important;
        opacity: 1 !important;
        line-height: 1.2 !important;
    }
    
    /* SENTIMENT TAG CLASSES - Fix text overflow and sizing */
    html body table#price-table tbody tr td .sentiment-tag.sentiment-tag-clean.sentiment-height-width[style],
    html body table#price-table .sentiment-tag.sentiment-tag-clean[style],
    html body table#price-table .sentiment-tag.sentiment-height-width[style],
    html body #price-table .sentiment-tag.sentiment-tag-clean[style],
    html body .sentiment-tag.sentiment-tag-clean.sentiment-height-width[style],
    table#price-table tbody tr td .sentiment-tag.sentiment-tag-clean,
    table#price-table tbody tr td .sentiment-tag.sentiment-height-width,
    #price-table .sentiment-tag.sentiment-tag-clean,
    #price-table .sentiment-tag.sentiment-height-width,
    .sentiment-tag.sentiment-tag-clean,
    .sentiment-tag.sentiment-height-width,
    .sentiment-tag-clean,
    .sentiment-height-width {
        font-size: 11px !important;
        padding: 2px 4px !important;
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: normal !important;
        word-break: normal !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }
    
    /* Additional specificity for sentiment tag text elements */
    .sentiment-tag.sentiment-tag-clean .sentiment-label,
    .sentiment-tag.sentiment-tag-clean .sentiment-score,
    .sentiment-tag.sentiment-height-width .sentiment-label,
    .sentiment-tag.sentiment-height-width .sentiment-score,
    .sentiment-tag-clean .sentiment-label,
    .sentiment-tag-clean .sentiment-score,
    .sentiment-height-width .sentiment-label,
    .sentiment-height-width .sentiment-score {
        font-size: 11px !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: normal !important;
        word-break: normal !important;
    }
    
    /* ULTRA-HIGH SPECIFICITY: Override JavaScript inline styles for coin symbols */
    html body table#price-table tbody tr td.coin-cell div.coin-details div.coin-symbol[style],
    html body table#price-table tbody tr td.coin-cell .coin-details .coin-symbol[style],
    html body #price-table .coin-cell .coin-details .coin-symbol[style],
    table#price-table tbody tr td.coin-cell div.coin-details div.coin-symbol,
    #price-table .coin-cell .coin-details .coin-symbol,
    .coin-cell .coin-details .coin-symbol {
        font-size: 10px !important;
        color: #9ca3af !important;
        visibility: visible !important;
        display: block !important;
        /* REMOVE ALL TRUNCATION AT 480px */
        overflow: visible !important;
        text-overflow: none !important;
        white-space: normal !important;
        max-width: none !important;
        opacity: 1 !important;
    }
    
    .coin-details {
        overflow: visible !important;
        flex: 1 !important;
        max-width: none !important;
    }
    
    /* Maintain trade rating bar width on mobile */
    .trade-rating-cell > div > div:first-child,
    .trade-rating-cell .progress-background,
    .trade-rating-cell .trade-rating-container > div:first-child {
        width: 100% !important;
        min-width: 100% !important;
    }
    
    .trade-rating-cell .rating-info {
        width: 100% !important;
    }
    
    .forecast-badge,
    .volatility-badge {
        min-width: 40px;
        padding: 2px 4px;
    }
    
    .forecast-direction {
        font-size: 14px;
    }
    
    .forecast-confidence,
    .volatility-score {
        font-size: 9px;
    }
}


/* =================================================================
   LOADING AND ERROR STATES
   ================================================================= */

.loading-cell {
    color: #9ca3af;
    font-style: italic;
}

.error-cell {
    color: #ef4444;
    font-size: 12px;
}

.table-loading {
    opacity: 0.6;
}

/* =================================================================
   RESPONSIVE DESIGN - MOBILE-FIRST APPROACH
   ================================================================= */

/* Mobile devices: Below 600px - Show only name, price, and sentiment */
@media (max-width: 599px) {
    /* Hide columns 4, 5, 6, and 7 (trade rating, volatility, forecast, 24h change) */
    #price-table thead th:nth-child(4),
    #price-table thead th:nth-child(5),
    #price-table thead th:nth-child(6),
    #price-table thead th:nth-child(7),
    #price-table tbody td:nth-child(4),
    #price-table tbody td:nth-child(5),
    #price-table tbody td:nth-child(6),
    #price-table tbody td:nth-child(7) {
        display: none !important;
    }
    
    /* RIGHT-ALIGN SENTIMENT HEADER for screens below 600px - Target exact HTML structure */
    #price-table th:nth-child(3) {
        text-align: right !important;
    }
    
    /* Override Bootstrap flexbox classes with higher specificity */
    #price-table th:nth-child(3) div.d-flex.align-items-center.justify-content-center,
    #price-table th:nth-child(3) .d-flex.align-items-center.justify-content-center,
    #price-table thead th:nth-child(3) div.d-flex,
    #price-table thead th:nth-child(3) .d-flex {
        justify-content: flex-end !important;
        text-align: right !important;
    }
    
    /* Additional override for any inline styles */
    #price-table th[style*="text-align: center"]:nth-child(3) {
        text-align: right !important;
    }
    
    /* Optimize table layout for mobile - CRITICAL FIXES */
    #price-table {
        font-size: 13px;
        table-layout: auto !important; /* Essential for flexible width */
        width: 100% !important;
        max-width: 100% !important; /* Prevent overflow */
    }
    
    .table-responsive {
        overflow-x: visible !important;
        overflow-y: visible !important;
        overflow: visible !important;
        -webkit-overflow-scrolling: unset !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* CRITICAL: Mobile coin cell fixes - KEEP LARGE ICONS */
    .coin-cell {
        min-width: 100px !important; /* Adequate minimum for text visibility */
        max-width: none !important; /* Remove max-width restriction */
        width: auto !important; /* Allow flexible width */
        padding: 6px 4px !important; /* Keep adequate padding */
    }
    
    /* KEEP LOGOS LARGE: 32px below 600px */
    .crypto-icon {
        width: 32px !important;
        height: 32px !important;
        object-fit: contain !important;
        aspect-ratio: 1 / 1 !important;
        flex-shrink: 0 !important;
    }
    
    .icon-container {
        width: 32px !important;
        height: 32px !important;
        flex-shrink: 0 !important;
    }
    
    .coin-info {
        gap: 6px !important; /* Keep reasonable gap */
    }
    
    #price-table th,
    #price-table td {
        padding: 8px 4px;
        white-space: nowrap;
    }
    
    /* Make coin column more compact but keep text visible */
    .coin-cell {
        min-width: 110px !important;
        max-width: none !important;
        width: auto !important;
    }
    
    .coin-icon {
        width: 32px !important;
        height: 32px !important;
    }
    
    .coin-name {
        font-size: 14px !important;
        font-weight: 600;
        color: #ffffff !important;
        visibility: visible !important;
        display: block !important;
        /* REMOVE ALL TRUNCATION BELOW 600px */
        overflow: visible !important;
        text-overflow: none !important;
        white-space: normal !important;
        max-width: none !important;
        word-wrap: break-word !important;
        opacity: 1 !important;
    }
    
    .coin-symbol {
        font-size: 11px !important;
        opacity: 0.8;
        color: #9ca3af !important;
        visibility: visible !important;
        display: block !important;
        /* REMOVE ALL TRUNCATION BELOW 600px */
        overflow: visible !important;
        text-overflow: none !important;
        white-space: normal !important;
        max-width: none !important;
    }
    
    /* Optimize price column for mobile */
    .price-value {
        font-size: 16px !important;
        font-weight: 700;
        min-width: 80px;
    }
    
    /* Make sentiment tags fill mobile column */
    .sentiment-cell {
        min-width: 100px;
        padding: 4px 2px !important;
        height: 40px;
        min-height: 40px;
        display: table-cell !important;
        vertical-align: middle !important;
        text-align: center;
    }
    
    .sentiment-tag {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 35px !important;
        min-height: 35px !important;
        max-height: 35px !important;
        margin: 0 !important;
        padding: 6px 8px;
        font-size: 13px !important;
        border-radius: 6px !important;
        gap: 4px;
    }
    
    .sentiment-score {
        font-size: 18px !important;
    }
    
    .sentiment-label {
        font-size: 13px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

/* Tablet devices: 600px to 700px - Show name, price, sentiment, and trade rating */
@media (min-width: 600px) and (max-width: 700px) {
    /* Hide columns 5, 6, and 7 (volatility, forecast, 24h change) - Keep trade rating */
    #price-table thead th:nth-child(5),
    #price-table thead th:nth-child(6),
    #price-table thead th:nth-child(7),
    #price-table tbody td:nth-child(5),
    #price-table tbody td:nth-child(6),
    #price-table tbody td:nth-child(7) {
        display: none !important;
    }
    
    /* Optimize table layout for tablets */
    #price-table {
        font-size: 15px;
    }
    
    #price-table th,
    #price-table td {
        padding: 10px 6px;
    }
    
    /* Optimize coin column for tablets */
    .coin-cell {
        min-width: 130px !important;
        max-width: 130px !important;
        width: 130px !important;
    }
    
    .coin-icon {
        width: 28px !important;
        height: 28px !important;
    }
    
    .coin-name {
        font-size: 15px !important;
    }
    
    .coin-symbol {
        font-size: 13px !important;
    }
    
    /* Optimize price column for tablets */
    .price-value {
        font-size: 17px !important;
        min-width: 90px;
    }
    
    /* Optimize sentiment for tablets */
    .sentiment-cell {
        min-width: 140px;
        padding: 6px 4px !important;
        height: 44px;
        min-height: 44px;
        display: table-cell !important;
        vertical-align: middle !important;
        text-align: center;
    }
    
    .sentiment-tag {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 35px !important;
        min-height: 35px !important;
        max-height: 35px !important;
        margin: 0 !important;
        font-size: 14px !important;
        padding: 7px 10px;
        border-radius: 7px !important;
        gap: 5px;
    }
    
    .sentiment-score {
        font-size: 20px !important;
    }
    
    .sentiment-label {
        font-size: 14px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
    
    /* Optimize trade rating for tablets */
    .trade-rating-badge {
        width: 100px !important;
        min-width: 100px !important;
        font-size: 14px !important;
        padding: 4px 8px;
    }
}

/* Desktop: Above 700px - Show all columns */
@media (min-width: 701px) {
    /* All columns visible - this is the default behavior */
    #price-table th,
    #price-table td {
        display: table-cell;
    }
    
    /* Ensure proper spacing for desktop */
    #price-table th,
    #price-table td {
        padding: 12px 8px;
    }
    
    /* Optimize sentiment for desktop */
    .sentiment-cell {
        min-width: 160px;
        padding: 4px !important;
    }
    
    .sentiment-tag {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 35px !important;
        min-height: 35px !important;
        max-height: 35px !important;
        margin: 0 !important;
        font-size: 16px !important;
        padding: 8px 12px;
        border-radius: 8px !important;
        gap: 6px;
    }
    
    .sentiment-score {
        font-size: 22px !important;
    }
    
    .sentiment-label {
        font-size: 16px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

/* Extra responsive adjustments for very small screens */
@media (max-width: 480px) {
    .container-fluid {
        padding: 0 8px;
    }
    
    #price-table {
        font-size: 13px;
    }
    
    .coin-cell {
        min-width: 130px !important;
        max-width: 130px !important;
        width: 130px !important;
    }
    
    .coin-name {
        font-size: 13px !important;
    }
    
    .coin-symbol {
        font-size: 11px !important;
    }
    
    .price-value {
        font-size: 15px !important;
        min-width: 70px;
    }
    
    .sentiment-cell {
        min-width: 90px;
        padding: 4px 2px !important;
        height: 36px;
        min-height: 36px;
        display: table-cell !important;
        vertical-align: middle !important;
        text-align: center;
    }
    
    .sentiment-tag {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 35px !important;
        min-height: 35px !important;
        max-height: 35px !important;
        margin: 0 !important;
        font-size: 11px !important;
        padding: 5px 6px;
        border-radius: 5px !important;
        gap: 3px;
    }
    
    .sentiment-score {
        font-size: 16px !important;
    }
    
    .sentiment-label {
        font-size: 11px !important;
        letter-spacing: 0.2px !important;
        flex: 1 1 auto !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
    }
}

/* CRITICAL FIX: Prevent sentiment labels from pushing scores out of tags */
/* Ultra-specific selectors to override existing rules */
html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
html body table#price-table .sentiment-tag.sentiment-tag-clean,
html body table#price-table .sentiment-tag.sentiment-height-width,
html body table#price-table .sentiment-tag,
table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
table#price-table .sentiment-tag.sentiment-tag-clean,
table#price-table .sentiment-tag.sentiment-height-width,
table#price-table .sentiment-tag,
.sentiment-tag.sentiment-tag-clean.sentiment-height-width,
.sentiment-tag.sentiment-tag-clean,
.sentiment-tag.sentiment-height-width,
.sentiment-tag {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    min-width: 0 !important;
    overflow: hidden !important;
}

/* Ultra-specific sentiment label fixes */
html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-tag-clean .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-height-width .sentiment-label,
html body table#price-table .sentiment-tag .sentiment-label,
table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-label,
table#price-table .sentiment-tag.sentiment-tag-clean .sentiment-label,
table#price-table .sentiment-tag.sentiment-height-width .sentiment-label,
table#price-table .sentiment-tag .sentiment-label,
.sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-label,
.sentiment-tag.sentiment-tag-clean .sentiment-label,
.sentiment-tag.sentiment-height-width .sentiment-label,
.sentiment-tag .sentiment-label,
span.sentiment-label {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

/* Ultra-specific sentiment score fixes - NEVER shrink */
html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-tag-clean .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-height-width .sentiment-score,
html body table#price-table .sentiment-tag .sentiment-score,
table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-score,
table#price-table .sentiment-tag.sentiment-tag-clean .sentiment-score,
table#price-table .sentiment-tag.sentiment-height-width .sentiment-score,
table#price-table .sentiment-tag .sentiment-score,
.sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-score,
.sentiment-tag.sentiment-tag-clean .sentiment-score,
.sentiment-tag.sentiment-height-width .sentiment-score,
.sentiment-tag .sentiment-score,
span.sentiment-score {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    min-width: 24px !important;
    overflow: visible !important;
}

/* EMERGENCY FIX: Specific fixes for "EXTREMELY" and "SLIGHTLY" tags */
/* Nuclear-level specificity for EXTREMELY tags */
html body table#price-table .sentiment-tag.sentiment-score-90 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-91 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-92 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-93 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-94 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-95 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-96 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-97 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-98 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-99 .sentiment-label,
html body table#price-table .sentiment-tag.sentiment-score-100 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-90 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-91 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-92 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-93 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-94 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-95 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-96 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-97 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-98 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-99 .sentiment-label,
table#price-table .sentiment-tag.sentiment-score-100 .sentiment-label,
.sentiment-tag.sentiment-score-90 .sentiment-label,
.sentiment-tag.sentiment-score-91 .sentiment-label,
.sentiment-tag.sentiment-score-92 .sentiment-label,
.sentiment-tag.sentiment-score-93 .sentiment-label,
.sentiment-tag.sentiment-score-94 .sentiment-label,
.sentiment-tag.sentiment-score-95 .sentiment-label,
.sentiment-tag.sentiment-score-96 .sentiment-label,
.sentiment-tag.sentiment-score-97 .sentiment-label,
.sentiment-tag.sentiment-score-98 .sentiment-label,
.sentiment-tag.sentiment-score-99 .sentiment-label,
.sentiment-tag.sentiment-score-100 .sentiment-label {
    font-size: 7px !important;
    letter-spacing: 0px !important;
    font-weight: 500 !important;
}

/* Reduce padding and gap for EXTREMELY tags to save space */
html body table#price-table .sentiment-tag.sentiment-score-90,
html body table#price-table .sentiment-tag.sentiment-score-91,
html body table#price-table .sentiment-tag.sentiment-score-92,
html body table#price-table .sentiment-tag.sentiment-score-93,
html body table#price-table .sentiment-tag.sentiment-score-94,
html body table#price-table .sentiment-tag.sentiment-score-95,
html body table#price-table .sentiment-tag.sentiment-score-96,
html body table#price-table .sentiment-tag.sentiment-score-97,
html body table#price-table .sentiment-tag.sentiment-score-98,
html body table#price-table .sentiment-tag.sentiment-score-99,
html body table#price-table .sentiment-tag.sentiment-score-100,
table#price-table .sentiment-tag.sentiment-score-90,
table#price-table .sentiment-tag.sentiment-score-91,
table#price-table .sentiment-tag.sentiment-score-92,
table#price-table .sentiment-tag.sentiment-score-93,
table#price-table .sentiment-tag.sentiment-score-94,
table#price-table .sentiment-tag.sentiment-score-95,
table#price-table .sentiment-tag.sentiment-score-96,
table#price-table .sentiment-tag.sentiment-score-97,
table#price-table .sentiment-tag.sentiment-score-98,
table#price-table .sentiment-tag.sentiment-score-99,
table#price-table .sentiment-tag.sentiment-score-100,
.sentiment-tag.sentiment-score-90,
.sentiment-tag.sentiment-score-91,
.sentiment-tag.sentiment-score-92,
.sentiment-tag.sentiment-score-93,
.sentiment-tag.sentiment-score-94,
.sentiment-tag.sentiment-score-95,
.sentiment-tag.sentiment-score-96,
.sentiment-tag.sentiment-score-97,
.sentiment-tag.sentiment-score-98,
.sentiment-tag.sentiment-score-99,
.sentiment-tag.sentiment-score-100 {
    padding: 6px 6px !important;
    gap: 2px !important;
}

/* Match score font size to label for EXTREMELY tags - proper alignment */
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-90 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-91 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-92 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-93 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-94 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-95 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-96 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-97 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-98 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-99 .sentiment-score,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-100 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-90 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-91 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-92 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-93 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-94 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-95 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-96 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-97 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-98 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-99 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-100 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-90 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-91 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-92 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-93 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-94 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-95 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-96 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-97 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-98 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-99 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-100 .sentiment-score,
.sentiment-tag.sentiment-score-90 .sentiment-score,
.sentiment-tag.sentiment-score-91 .sentiment-score,
.sentiment-tag.sentiment-score-92 .sentiment-score,
.sentiment-tag.sentiment-score-93 .sentiment-score,
.sentiment-tag.sentiment-score-94 .sentiment-score,
.sentiment-tag.sentiment-score-95 .sentiment-score,
.sentiment-tag.sentiment-score-96 .sentiment-score,
.sentiment-tag.sentiment-score-97 .sentiment-score,
.sentiment-tag.sentiment-score-98 .sentiment-score,
.sentiment-tag.sentiment-score-99 .sentiment-score,
.sentiment-tag.sentiment-score-100 .sentiment-score {
    font-size: 10px !important;
    min-width: 18px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

/* NUCLEAR APPROACH: Force flexbox and overflow for EXTREMELY tags using transform */
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-90,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-91,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-92,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-93,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-94,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-95,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-96,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-97,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-98,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-99,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-100 {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

/* Readable size for EXTREMELY label with overflow protection */
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-90 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-91 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-92 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-93 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-94 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-95 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-96 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-97 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-98 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-99 .sentiment-label,
html body table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-score-100 .sentiment-label {
    font-size: 10px !important;
    letter-spacing: -0.2px !important;
    font-weight: 500 !important;
    transform: scaleX(0.9) !important;
    transform-origin: left center !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    margin-right: 2px !important;
}

.sentiment-tag.slightly-sentiment .sentiment-label,
.sentiment-tag.sentiment-score-50 .sentiment-label,
.sentiment-tag.sentiment-score-51 .sentiment-label,
.sentiment-tag.sentiment-score-52 .sentiment-label,
.sentiment-tag.sentiment-score-53 .sentiment-label,
.sentiment-tag.sentiment-score-54 .sentiment-label,
.sentiment-tag.sentiment-score-55 .sentiment-label,
.sentiment-tag.sentiment-score-56 .sentiment-label,
.sentiment-tag.sentiment-score-57 .sentiment-label,
.sentiment-tag.sentiment-score-58 .sentiment-label,
.sentiment-tag.sentiment-score-59 .sentiment-label {
    font-size: 10px !important;
    letter-spacing: 0.1px !important;
}

/* Match score font size to label for SLIGHTLY tags - proper alignment */
html body table#price-table .sentiment-tag.slightly-sentiment .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-50 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-51 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-52 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-53 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-54 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-55 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-56 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-57 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-58 .sentiment-score,
html body table#price-table .sentiment-tag.sentiment-score-59 .sentiment-score,
table#price-table .sentiment-tag.slightly-sentiment .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-50 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-51 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-52 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-53 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-54 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-55 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-56 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-57 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-58 .sentiment-score,
table#price-table .sentiment-tag.sentiment-score-59 .sentiment-score,
.sentiment-tag.slightly-sentiment .sentiment-score,
.sentiment-tag.sentiment-score-50 .sentiment-score,
.sentiment-tag.sentiment-score-51 .sentiment-score,
.sentiment-tag.sentiment-score-52 .sentiment-score,
.sentiment-tag.sentiment-score-53 .sentiment-score,
.sentiment-tag.sentiment-score-54 .sentiment-score,
.sentiment-tag.sentiment-score-55 .sentiment-score,
.sentiment-tag.sentiment-score-56 .sentiment-score,
.sentiment-tag.sentiment-score-57 .sentiment-score,
.sentiment-tag.sentiment-score-58 .sentiment-score,
.sentiment-tag.sentiment-score-59 .sentiment-score {
    font-size: 10px !important;
    min-width: 18px !important;
    font-weight: 500 !important;
    line-height: 1 !important;
}

/* Ultra-narrow screen emergency fix - very aggressive text truncation */
@media (max-width: 360px) {
    .sentiment-label {
        font-size: 9px !important;
        letter-spacing: 0.1px !important;
    }
    
    .sentiment-score {
        font-size: 14px !important;
        min-width: 20px !important;
    }
    
    .sentiment-tag {
        padding: 4px 6px !important;
        gap: 2px !important;
    }
    
    /* Emergency tiny text for extremely long labels on tiny screens */
    .sentiment-tag.sentiment-score-90 .sentiment-label,
    .sentiment-tag.sentiment-score-91 .sentiment-label,
    .sentiment-tag.sentiment-score-92 .sentiment-label,
    .sentiment-tag.sentiment-score-93 .sentiment-label,
    .sentiment-tag.sentiment-score-94 .sentiment-label,
    .sentiment-tag.sentiment-score-95 .sentiment-label,
    .sentiment-tag.sentiment-score-96 .sentiment-label,
    .sentiment-tag.sentiment-score-97 .sentiment-label,
    .sentiment-tag.sentiment-score-98 .sentiment-label,
    .sentiment-tag.sentiment-score-99 .sentiment-label,
    .sentiment-tag.sentiment-score-100 .sentiment-label {
        font-size: 7px !important;
        letter-spacing: 0px !important;
    }
}

/* =================================================================
   ACCESSIBILITY
   ================================================================= */

@media (prefers-reduced-motion: reduce) {
    .price-flash-up,
    .price-flash-down,
    .mobile-price-up,
    .mobile-price-down {
        animation: none;
    }
    
    .progress-bar {
        transition: none;
    }
}

/* =================================================================
   ULTRA-NARROW MOBILE SCREENS - FINAL OVERRIDE FOR <420px
   ================================================================= */

@media screen and (max-width: 420px) {
    /* NUCLEAR SPECIFICITY - FORCE COLUMN WIDTHS */
    /* DEBUG: Add red border to verify media query is working */
    html body table#price-table {
        table-layout: fixed !important;
        width: 100% !important;
        --name-width: 20% !important;
        --price-width: 20% !important;
        --sentiment-width: 60% !important;
    }
    
    /* FORCE TABLE LAYOUT FIXED TO RESPECT WIDTHS */
    * {
        box-sizing: border-box !important;
    }
    
    html body table#price-table,
    table#price-table {
        table-layout: fixed !important;
        width: 100% !important;
        border-collapse: collapse !important;
    }
    
    /* NEUTRALIZE JAVASCRIPT INLINE MIN-WIDTH STYLES */
    /* Override trade-rating-column.js (156px), forecast-column.js (120px), volatility-column.js (88px) */
    html body table#price-table td[style*="min-width"],
    html body table#price-table th[style*="min-width"],
    table#price-table td[style*="min-width"],
    table#price-table th[style*="min-width"] {
        min-width: unset !important;
        width: auto !important;
    }
    
    /* FORCE OVERRIDE ANY JAVASCRIPT INLINE STYLES */
    html body table#price-table td[style],
    html body table#price-table th[style],
    table#price-table td[style],
    table#price-table th[style] {
        min-width: unset !important;
    }
    
    /* NUCLEAR OPTION: HIDE PROBLEMATIC COLUMNS AND FORCE 3-COLUMN LAYOUT */
    /* Hide columns 4, 5, 6, 7+ to force only Name, Price, Sentiment */
    html body table#price-table th:nth-child(n+4),
    html body table#price-table td:nth-child(n+4),
    table#price-table th:nth-child(n+4),
    table#price-table td:nth-child(n+4) {
        display: none !important;
        width: 0 !important;
        min-width: 0 !important;
        max-width: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        border: none !important;
        overflow: hidden !important;
        visibility: hidden !important;
    }
    
    /* THERMONUCLEAR SPECIFICITY FOR NAME COLUMN: 20% */
    html body div.container-fluid table#price-table thead tr th:nth-child(1),
    html body div.container-fluid table#price-table tbody tr td:nth-child(1),
    html body div table#price-table thead th:nth-child(1),
    html body div table#price-table tbody td:nth-child(1),
    html body table#price-table thead tr th:nth-child(1),
    html body table#price-table tbody tr td:nth-child(1),
    html body table#price-table thead th:nth-child(1),
    html body table#price-table tbody td:nth-child(1),
    html body table#price-table th:nth-child(1),
    html body table#price-table td:nth-child(1),
    html body #price-table th:nth-child(1),
    html body #price-table td:nth-child(1),
    table#price-table th:nth-child(1),
    table#price-table td:nth-child(1) {
        width: var(--name-width, 20%) !important;
        min-width: var(--name-width, 20%) !important;
        max-width: var(--name-width, 20%) !important;
        flex: 0 0 var(--name-width, 20%) !important;
        flex-basis: var(--name-width, 20%) !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        position: relative !important;
    }
    
    /* THERMONUCLEAR SPECIFICITY FOR PRICE COLUMN: 20% */  
    html body div.container-fluid table#price-table thead tr th:nth-child(2),
    html body div.container-fluid table#price-table tbody tr td:nth-child(2),
    html body div table#price-table thead th:nth-child(2),
    html body div table#price-table tbody td:nth-child(2),
    html body table#price-table thead tr th:nth-child(2),
    html body table#price-table tbody tr td:nth-child(2),
    html body table#price-table thead th:nth-child(2),
    html body table#price-table tbody td:nth-child(2),
    html body table#price-table th:nth-child(2),
    html body table#price-table td:nth-child(2),
    html body #price-table th:nth-child(2),
    html body #price-table td:nth-child(2),
    table#price-table th:nth-child(2),
    table#price-table td:nth-child(2) {
        width: var(--price-width, 20%) !important;
        min-width: var(--price-width, 20%) !important;
        max-width: var(--price-width, 20%) !important;
        flex: 0 0 var(--price-width, 20%) !important;
        flex-basis: var(--price-width, 20%) !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        position: relative !important;
    }
    
    /* THERMONUCLEAR SPECIFICITY FOR SENTIMENT COLUMN: 60% */
    html body div.container-fluid table#price-table thead tr th:nth-child(3),
    html body div.container-fluid table#price-table tbody tr td:nth-child(3),
    html body div table#price-table thead th:nth-child(3),
    html body div table#price-table tbody td:nth-child(3),
    html body table#price-table thead tr th:nth-child(3),
    html body table#price-table tbody tr td:nth-child(3),
    html body table#price-table thead th:nth-child(3),
    html body table#price-table tbody td:nth-child(3),
    html body table#price-table th:nth-child(3),
    html body table#price-table td:nth-child(3),
    html body #price-table th:nth-child(3),
    html body #price-table td:nth-child(3),
    table#price-table th:nth-child(3),
    table#price-table td:nth-child(3) {
        width: var(--sentiment-width, 60%) !important;
        min-width: var(--sentiment-width, 60%) !important;
        max-width: var(--sentiment-width, 60%) !important;
        flex: 0 0 var(--sentiment-width, 60%) !important;
        flex-basis: var(--sentiment-width, 60%) !important;
        flex-grow: 0 !important;
        flex-shrink: 0 !important;
        position: relative !important;
    }
    
    /* NUCLEAR SPECIFICITY FOR COIN-CELL CLASSES */
    html body div.container-fluid table#price-table tbody tr td.coin-cell.table-cell-standard,
    html body div table#price-table tbody tr td.coin-cell.table-cell-standard,
    html body table#price-table tbody tr td.coin-cell.table-cell-standard,
    html body table#price-table tbody tr td.coin-cell,
    html body table#price-table td.coin-cell.table-cell-standard,
    html body #price-table .coin-cell.table-cell-standard,
    html body #price-table .coin-cell,
    table#price-table .coin-cell.table-cell-standard,
    table#price-table .coin-cell,
    .coin-cell.table-cell-standard,
    .coin-cell {
        width: 20% !important; /* Force name column to 20% */
        min-width: 20% !important;
        max-width: 20% !important;
        padding: 4px 2px !important; /* Tighter padding for narrow screens */
        overflow: visible !important;
        white-space: nowrap !important;
        word-wrap: normal !important;
        word-break: normal !important;
    }
    
    /* Optimize sentiment tags for maximum space utilization */
    html body table#price-table tbody tr td .sentiment-tag.sentiment-tag-clean.sentiment-height-width[style],
    html body table#price-table .sentiment-tag.sentiment-tag-clean[style],
    html body table#price-table .sentiment-tag.sentiment-height-width[style],
    html body #price-table .sentiment-tag.sentiment-tag-clean[style],
    html body .sentiment-tag.sentiment-tag-clean.sentiment-height-width[style],
    table#price-table tbody tr td .sentiment-tag.sentiment-tag-clean,
    table#price-table tbody tr td .sentiment-tag.sentiment-height-width,
    #price-table .sentiment-tag.sentiment-tag-clean,
    #price-table .sentiment-tag.sentiment-height-width,
    .sentiment-tag.sentiment-tag-clean,
    .sentiment-tag.sentiment-height-width,
    .sentiment-tag-clean,
    .sentiment-height-width {
        font-size: 10px !important; /* Slightly smaller text for narrow screens */
        padding: 1px 3px !important; /* Minimal padding for maximum content space */
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: normal !important;
        word-break: normal !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        flex-shrink: 0 !important;
    }
    
    /* Optimize sentiment tag text for ultra-narrow screens */
    .sentiment-tag.sentiment-tag-clean .sentiment-label,
    .sentiment-tag.sentiment-tag-clean .sentiment-score,
    .sentiment-tag.sentiment-height-width .sentiment-label,
    .sentiment-tag.sentiment-height-width .sentiment-score,
    .sentiment-tag-clean .sentiment-label,
    .sentiment-tag-clean .sentiment-score,
    .sentiment-height-width .sentiment-label,
    .sentiment-height-width .sentiment-score {
        font-size: 10px !important; /* Consistent smaller text */
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: normal !important;
        word-break: normal !important;
    }
    
    /* Optimize coin names for ultra-narrow screens */
    html body table#price-table tbody tr td .coin-name[style],
    html body table#price-table .coin-name[style],
    html body #price-table .coin-name[style],
    table#price-table tbody tr td .coin-name,
    #price-table .coin-name,
    .coin-name {
        font-size: 13px !important; /* Slightly smaller for narrow screens */
        color: #ffffff !important;
        visibility: visible !important;
        display: block !important;
        white-space: nowrap !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-wrap: normal !important;
        word-break: normal !important;
        max-width: none !important;
        width: auto !important;
        opacity: 1 !important;
        line-height: 1.2 !important;
    }
    
    /* Optimize crypto icons for ultra-narrow screens */
    html body table#price-table tbody tr td.coin-cell.table-cell-standard img[style],
    html body table#price-table tbody tr td.table-cell-standard img.crypto-icon[style],
    html body #price-table .coin-cell.table-cell-standard img[style],
    table#price-table tbody tr td.coin-cell.table-cell-standard img,
    table#price-table tbody tr td.table-cell-standard img.crypto-icon,
    #price-table .coin-cell.table-cell-standard img,
    .coin-cell.table-cell-standard img,
    .table-cell-standard img.crypto-icon,
    .coin-cell img.crypto-icon,
    .table-cell-standard img {
        width: 18px !important; /* Slightly smaller icons */
        height: 18px !important;
        object-fit: contain !important;
        aspect-ratio: 1 / 1 !important;
        flex-shrink: 0 !important;
        border-radius: 50% !important;
    }
}

/* FINAL NUCLEAR APPROACH: Target exact HTML inline styles from user feedback */
@media screen and (max-width: 420px) {
    /* ULTRA-SPECIFIC: Target exact inline style patterns revealed in HTML structure */
    html body table#price-table th[style*="text-align: center; min-width: 156px"],
    html body table#price-table th[style*="text-align: center; min-width: 120px"],
    html body table#price-table th[style*="text-align: center; min-width: 88px"],
    html body table#price-table th[style*="text-align: center; min-width: 64px"],
    html body table#price-table th[style*="min-width: 156px"],
    html body table#price-table th[style*="min-width: 120px"],
    html body table#price-table th[style*="min-width: 88px"],
    html body table#price-table th[style*="min-width: 64px"],
    table#price-table th[style*="text-align: center; min-width"],
    table#price-table th[style*="min-width"] {
        min-width: unset !important;
        width: auto !important;
    }
    
    /* EXACT COLUMN TARGETING: Override specific columns with inline styles */
    html body table#price-table th:nth-child(4)[style*="min-width"],
    html body table#price-table th:nth-child(5)[style*="min-width"],
    html body table#price-table th:nth-child(6)[style*="min-width"],
    html body table#price-table th:nth-child(7)[style*="min-width"],
    table#price-table th:nth-child(4)[style*="min-width"],
    table#price-table th:nth-child(5)[style*="min-width"],
    table#price-table th:nth-child(6)[style*="min-width"],
    table#price-table th:nth-child(7)[style*="min-width"] {
        display: none !important;
        min-width: 0 !important;
        width: 0 !important;
        max-width: 0 !important;
    }
    
    /* FORCE COMPLETE TABLE REBUILD FOR 3-COLUMN LAYOUT */
    html body table#price-table {
        table-layout: fixed !important;
        width: 100% !important;
    }
    
    /* THERMONUCLEAR NAME COLUMN: 20% */
    html body table#price-table th:nth-child(1),
    html body table#price-table td:nth-child(1) {
        width: 20% !important;
        min-width: 20% !important;
        max-width: 20% !important;
    }
    
    /* THERMONUCLEAR PRICE COLUMN: 20% */
    html body table#price-table th:nth-child(2),
    html body table#price-table td:nth-child(2) {
        width: 20% !important;
        min-width: 20% !important;
        max-width: 20% !important;
    }
    
    /* THERMONUCLEAR SENTIMENT COLUMN: 60% */
    html body table#price-table th:nth-child(3),
    html body table#price-table td:nth-child(3) {
        width: 60% !important;
        min-width: 60% !important;
        max-width: 60% !important;
    }
    
    /* HIDE ALL REMAINING COLUMNS */
    html body table#price-table th:nth-child(n+4),
    html body table#price-table td:nth-child(n+4) {
        display: none !important;
    }
    
    /* SENTIMENT LABEL FONT SIZE: 11px for ultra-narrow screens - Target exact HTML structure */
    html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-label,
    html body table#price-table .sentiment-tag-clean .sentiment-label,
    html body table#price-table .sentiment-height-width .sentiment-label,
    html body #price-table .sentiment-tag .sentiment-label,
    table#price-table .sentiment-tag .sentiment-label,
    .sentiment-tag.sentiment-tag-clean.sentiment-height-width .sentiment-label,
    .sentiment-tag-clean .sentiment-label,
    .sentiment-height-width .sentiment-label,
    .sentiment-tag .sentiment-label,
    span.sentiment-label {
        font-size: 11px !important;
    }
    
    /* NUCLEAR SPECIFICITY: Force 95% width with CSS custom properties at 420px */
    html body div table#price-table tbody tr td.sentiment-cell .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    html body div table#price-table tbody tr td.sentiment-cell span.sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    html body div table#price-table tbody tr td.sentiment-cell span.sentiment-tag.sentiment-tag-clean,
    html body div table#price-table tbody tr td.sentiment-cell .sentiment-tag,
    html body table#price-table tbody tr td.sentiment-cell .sentiment-tag,
    html body #price-table tbody tr td.sentiment-cell .sentiment-tag,
    #price-table tbody tr td.sentiment-cell .sentiment-tag {
        --sentiment-width: 95%;
        width: var(--sentiment-width) !important;
        min-width: var(--sentiment-width) !important;
        max-width: var(--sentiment-width) !important;
    }
    
    /* ADDITIONAL NUCLEAR OVERRIDE - Target by attribute selectors at 420px */
    html body div table#price-table tbody tr td[class*="sentiment-cell"] span[class*="sentiment-tag"],
    html body div table#price-table tbody tr td[class*="sentiment-cell"] [class*="sentiment-tag"] {
        width: 95% !important;
        min-width: 95% !important;
        max-width: 95% !important;
    }
    
    /* FORCE ALL SENTIMENT TAGS TO 95% WIDTH at 420px */
    html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    html body table#price-table .sentiment-tag.sentiment-tag-clean,
    html body table#price-table .sentiment-tag.sentiment-height-width,
    html body table#price-table .sentiment-tag,
    table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    table#price-table .sentiment-tag.sentiment-tag-clean,
    table#price-table .sentiment-tag.sentiment-height-width,
    table#price-table .sentiment-tag,
    .sentiment-tag.sentiment-tag-clean.sentiment-height-width,
    .sentiment-tag.sentiment-tag-clean,
    .sentiment-tag.sentiment-height-width,
    .sentiment-tag {
        width: 95% !important;
        min-width: 95% !important;
        max-width: 95% !important;
    }
    
    /* Compact single-line styling for "SLIGHTLY" sentiment tags at 420px */
    html body table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment .sentiment-label,
    table#price-table .sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment .sentiment-label,
    .sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment .sentiment-label,
    span.sentiment-tag.sentiment-tag-clean.sentiment-height-width.slightly-sentiment span.sentiment-label {
        font-size: 9px !important;
        line-height: 35px !important;
        text-align: center !important;
        white-space: nowrap !important;
        display: block !important;
        visibility: visible !important;
        overflow: visible !important;
    }
}

/* Cache bust: 1750094113 */
