:root {
    /* Light Mode Defaults (Theme 1) */
    --bg-body: #fcfcfc; --bg-main: #ffffff; --color-text: #333; --color-header: #003B65; --color-border-main: #005A9C; --color-border-sub: #eee; --bg-note: #f9f9f9; --color-note-text: #555; --bg-subheader: #f8f9fa; --bg-table-header: #495057; --color-table-header: white; --color-cell-text: #1a4a6e; --bg-filter-controls: #fff; --color-filter-label-bg: #f0f2f5; --color-filter-label-text: #555; --bg-contact-odd: #f9f9f9; --bg-feedback: #f0f8ff; --color-button-bg: #f8f9fa; --color-button-hover: #e9ecef; --bg-row-hover: #f1f7ff; --color-numeric-emphasis: #005a9c; --color-shadow: rgba(0,0,0,0.1);
    
    /* Carrier Colors */
    --color-uhc: #003B65; --color-braven: #FDB813; --color-aetna: #7D3F98; --color-humana: #00A550; --color-wellcare: #F97B22; --color-clover: #2AC48A; --color-amerihealth: #004B8D; --color-jefferson: #004E8A; --color-cigna: #007AC3; --color-horizon: #007DC3; --color-wellpoint: #00579D; --color-physicians: #800000;
    
    --info-btn-1-bg: linear-gradient(145deg, #007dc5, #005a9c); --info-btn-2-bg: linear-gradient(145deg, #5a6268, #343a40); --info-btn-3-bg: linear-gradient(145deg, #28a745, #1e7e34); --info-btn-4-bg: linear-gradient(145deg, #d9534f, #c9302c);
    --theme-btn-bg: #003B65; --theme-btn-text: white; --theme-btn-hover: #005A9C; --glow-color: rgba(0, 59, 101, 0.7);
    --bg-commission-on: linear-gradient(145deg, #d4edda, #c3e6cb); --border-commission-on: #155724; --bg-commission-off: linear-gradient(145deg, #f8d7da, #f5c6cb); --border-commission-off: #721c24; --color-commission-box-text: #1a1a1a;
    --color-modal-bg: rgba(0, 0, 0, 0.5); --bg-modal-content: white; --color-modal-text: #333; --color-modal-header: #003B65;

    /* Search Highlight - Light Mode */
    --bg-highlight: #ffeb3b; --color-highlight-text: #000;
}

/* Dark Mode */
body.dark-mode {
    --bg-body: #121212; --bg-main: #1e1e1e; --color-text: #e0e0e0; --color-header: #90caf9; --color-border-main: #3498db; --color-border-sub: #333333; --bg-note: #2c2c2c; --color-note-text: #bbbbbb; --bg-subheader: #2c2c2c; --bg-table-header: #343a40; --color-table-header: #f8f9fa; --color-cell-text: #a0c4ff; --bg-filter-controls: #1e1e1e; --color-filter-label-bg: #2c2c2c; --color-filter-label-text: #cccccc; --bg-contact-odd: #2c2c2c; --bg-feedback: #1a1a2e; --color-button-bg: #333; --color-button-hover: #444; --bg-row-hover: #2a3b4c; --color-numeric-emphasis: #90caf9; --color-shadow: rgba(0,0,0,0.3);
    --info-btn-1-bg: linear-gradient(145deg, #3498db, #2980b9); --info-btn-2-bg: linear-gradient(145deg, #6c757d, #495057); --info-btn-3-bg: linear-gradient(145deg, #27ae60, #1e7e34); --info-btn-4-bg: linear-gradient(145deg, #e74c3c, #c0392b);
    --theme-btn-bg: #FFD700; --theme-btn-text: #121212; --theme-btn-hover: #ffec80; --glow-color: rgba(255, 215, 0, 0.5);
    --bg-commission-on: linear-gradient(145deg, #1e4620, #2d6a30); --border-commission-on: #67b86a; --bg-commission-off: linear-gradient(145deg, #491217, #6f1c24); --border-commission-off: #b8676f; --color-commission-box-text: #f0f0f0;
    --bg-modal-content: #2c2c2c; --color-modal-text: #e0e0e0; --color-modal-header: #90caf9;
    --bg-highlight: #d4af37; --color-highlight-text: #000;
}

/* High Visibility Mode */
body.high-vis-mode {
    --bg-body: #404040; --bg-main: #505050; --color-text: #ffffff; --color-header: #87ceeb; --color-border-main: #ffae42; --color-border-sub: #666666; --bg-note: #383838; --color-note-text: #dddddd; --bg-subheader: #555555; --bg-table-header: #303030; --color-table-header: #ffffff; --color-cell-text: #c1e1ec; --bg-filter-controls: #505050; --color-filter-label-bg: #606060; --color-filter-label-text: #ffffff; --bg-contact-odd: #454545; --bg-feedback: #405060; --color-button-bg: #606060; --color-button-hover: #707070; --bg-row-hover: #656565; --color-numeric-emphasis: #ffae42; --color-shadow: rgba(0,0,0,0.4);
    --info-btn-1-bg: linear-gradient(145deg, #87ceeb, #5f9ea0); --info-btn-2-bg: linear-gradient(145deg, #aaaaaa, #888888); --info-btn-3-bg: linear-gradient(145deg, #90ee90, #3cb371); --info-btn-4-bg: linear-gradient(145deg, #ff6347, #e52b50);
    --theme-btn-bg: #ffae42; --theme-btn-text: #000000; --theme-btn-hover: #ffc87c; --glow-color: rgba(255, 174, 66, 0.6);
    --bg-commission-on: linear-gradient(145deg, #3cb371, #2e8b57); --border-commission-on: #98fb98; --bg-commission-off: linear-gradient(145deg, #cd5c5c, #a52a2a); --border-commission-off: #f08080; --color-commission-box-text: #ffffff;
    --bg-modal-content: #555555; --color-modal-text: #ffffff; --color-modal-header: #87ceeb;
    --bg-highlight: #00ff00; --color-highlight-text: #000;
}

/* Color Mode */
body.color-mode {
    --bg-body: #0d1b2a; --bg-main: #1b263b; --color-text: #e0e1dd; --color-header: #00f5d4; --color-border-main: #ff9f1c; --color-border-sub: #415a77; --bg-note: #102033; --color-note-text: #a9b4c2; --bg-subheader: #2a3b52; --bg-table-header: #0d1b2a; --color-table-header: #00f5d4; --color-cell-text: #e0e1dd; --bg-filter-controls: #1b263b; --color-filter-label-bg: #2a3b52; --color-filter-label-text: #e0e1dd; --bg-contact-odd: #102033; --bg-feedback: #1a2e4a; --color-button-bg: #415a77; --color-button-hover: #778da9; --bg-row-hover: #2a3b52; --color-numeric-emphasis: #ff9f1c; --color-shadow: rgba(0,0,0,0.5);
    --info-btn-1-bg: linear-gradient(145deg, #00f5d4, #00bfa5); --info-btn-2-bg: linear-gradient(145deg, #ff9f1c, #e76f51); --info-btn-3-bg: linear-gradient(145deg, #9b59b6, #8e44ad); --info-btn-4-bg: linear-gradient(145deg, #9b59b6, #8e44ad);
    --theme-btn-bg: #00f5d4; --theme-btn-text: #0d1b2a; --theme-btn-hover: #80fff0; --glow-color: rgba(0, 245, 212, 0.5);
    --bg-commission-on: linear-gradient(145deg, #2a9d8f, #264653); --border-commission-on: #00f5d4; --bg-commission-off: linear-gradient(145deg, #e76f51, #c14953); --border-commission-off: #f4a261; --color-commission-box-text: #ffffff;
    --bg-modal-content: #1b263b; --color-modal-text: #e0e1dd; --color-modal-header: #00f5d4;
    --bg-highlight: #ff006e; --color-highlight-text: #fff;
}

/* General Body & Header */
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif; margin: 0; padding: 20px; color: var(--color-text); background-color: var(--bg-body); transition: background-color 0.3s, color 0.3s; }
.header { display: flex; flex-direction: column; align-items: center; gap: 15px; text-align: center; border-bottom: 2px solid var(--color-border-main); padding: 15px 20px; margin-bottom: 10px; }
.header h1 { margin: 0; color: var(--color-header); font-size: 24px; }
.header .version-info { margin-top: 5px; font-size: 12px; color: var(--color-note-text); }
#changelog-btn { background: none; border: none; color: var(--color-border-main); text-decoration: underline; cursor: pointer; font-size: 11px; padding: 0 5px; }
.header-actions { display: flex; justify-content: center; gap: 15px; flex-wrap: wrap; }
.action-button-group { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; justify-content: center; }
.action-button-group button { padding: 8px 12px; border: 1px solid #ccc; border-radius: 5px; background-color: var(--color-button-bg); color: var(--color-text); cursor: pointer; font-size: 12px; font-weight: bold; display: flex; align-items: center; gap: 5px; transition: all 0.2s; }
.action-button-group button:hover { background-color: var(--color-button-hover); }
.action-button-group button.active { background-color: var(--color-header); color: var(--bg-main); border-color: var(--color-header); }
button#theme-cycle-btn { background-color: var(--theme-btn-bg); color: var(--theme-btn-text); border: 2px solid var(--theme-btn-text); box-shadow: 0 0 10px var(--glow-color); font-weight: 900; }
button#theme-cycle-btn:hover { background-color: var(--theme-btn-hover); transform: scale(1.03); }
.note, .disclaimer { text-align: center; font-style: italic; margin-bottom: 20px; font-size: 12px; border: 1px dashed #ccc; padding: 10px; background-color: var(--bg-note); color: var(--color-note-text); }
.note strong { color: var(--color-header); }
.disclaimer { border-style: solid; border-color: #e67e22; background-color: #fff3e0; }
body.dark-mode .disclaimer { background-color: #3e2723; border-color: #ffab40; }
body.high-vis-mode .disclaimer { background-color: #6d4c41; border-color: #ffcc80; }

/* Layout */
.main-layout { display: flex; flex-direction: column; gap: 25px; }
@media (min-width: 1280px) { .main-layout { flex-direction: row; align-items: flex-start; } .filter-controls-container { position: sticky; top: 20px; width: 400px; flex-shrink: 0; max-height: calc(100vh - 40px); overflow-y: auto; } .plans-container { flex-grow: 1; min-width: 0; } }

/* Filter Panel */
.filter-controls { border: 1px solid #ddd; padding: 20px; border-radius: 8px; box-shadow: 0 2px 8px var(--color-shadow); background-color: var(--bg-main); }
.filter-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 15px; flex-wrap: wrap; }
.filter-header h3 { margin: 0; color: var(--color-header); flex-grow: 1; }
.filter-header-buttons { display: flex; gap: 8px; }
.plan-counter { display: flex; align-items: center; justify-content: center; gap: 8px; font-weight: bold; background-color: #ffc107; color: #212529; padding: 8px 14px; border-radius: 20px; font-size: 14px; min-height: 55px; text-align: center; }
.plan-counter-number { font-size: 1.5em; font-weight: 800; }
#status-tracker-box { border: 1px solid var(--color-border-sub); border-radius: 6px; padding: 12px; margin-bottom: 20px; text-align: center; background-color: var(--bg-note); }
#status-tracker-box strong { color: var(--color-header); font-size: 14px; }
#status-tracker-box .tracker-values { display: flex; justify-content: space-around; margin-top: 8px; font-size: 16px; font-weight: bold; color: var(--color-text); }
#collapsible-filter-area.collapsed { display: none; }
#toggle-filters-btn, #toggle-filters-btn-bottom { padding: 6px 12px; background-color: #17a2b8; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 12px; font-weight: bold; }
.filter-grid { display: flex; flex-direction: column; gap: 20px; }
.filter-group { display: flex; flex-direction: column; gap: 10px; }
.filter-group strong { color: var(--color-border-main); font-size: 13px; }
.filter-options { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.filter-group input[type="checkbox"] { display: none; }
.filter-group label { display: inline-block; padding: 5px 12px; font-size: 11px; font-weight: 500; border-radius: 16px; cursor: pointer; transition: all 0.2s; border: 1px solid #ccc; background-color: var(--color-filter-label-bg); color: var(--color-filter-label-text); }
.filter-group label:hover { border-color: #999; transform: translateY(-1px); }
.reset-filters, #save-search-btn, #delete-search-btn { padding: 6px 12px; color: white; border: none; border-radius: 5px; cursor: pointer; font-size: 12px; font-weight: bold; }
.reset-filters { background-color: #dc3545; } #save-search-btn { background-color: #28a745; } #delete-search-btn { background-color: #6c757d; }

/* Search Button Styles */
#clear-search-btn {
    display: none; 
    position: absolute; 
    right: 5px; 
    top: 50%; 
    transform: translateY(-50%); 
    background: none; 
    border: none; 
    cursor: pointer; 
    color: #999; 
    font-weight: bold;
    padding: 0 5px;
    font-size: 14px;
}
#clear-search-btn:hover { color: #555; }

.favorites-control-group { display: flex; align-items: stretch; gap: 10px; width: 100%; }
.favorite-toggle-switch { flex-grow: 1; }
.favorite-toggle-switch input[type="checkbox"] { display: none; }
.favorite-toggle-switch label { display: flex; align-items: center; justify-content: center; height: 100%; padding: 8px 12px; background-color: var(--color-button-bg); color: var(--color-text); border: 1px solid var(--color-border-sub); border-radius: 5px; cursor: pointer; text-align: center; font-weight: bold; font-size: 12px; transition: all 0.2s ease; box-sizing: border-box; }
.favorite-toggle-switch label:hover { background-color: var(--color-button-hover); border-color: #999; }
.favorite-toggle-switch input[type="checkbox"]:checked + label { background-color: var(--color-border-main); color: white; border-color: var(--color-header); box-shadow: inset 0 2px 4px rgba(0,0,0,0.2); }
#clear-favorites-btn { padding: 8px 12px; background-color: #dc3545; color: white; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; flex-shrink: 0; }

#global-text-search-group input, #location-filter-group input[type="text"], #location-filter-group select, #saved-searches-group select { padding: 8px; border: 1px solid #ccc; border-radius: 4px; width: 100%; box-sizing: border-box; }
#location-filter-group button { padding: 8px 12px; border: none; border-radius: 4px; color: white; cursor: pointer; font-size: 12px; }
#zip-search-btn { background-color: #007bff; } #clear-location-btn { background-color: #dc3545; }
#county-display { margin-top: 10px; font-size: 12px; background-color: #e9ecef; padding: 10px; border-radius: 4px; }
#county-display strong { color: var(--color-header); } #county-display label { background: white; border: 1px solid #ccc; color: #333; }
#saved-searches-group { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px; }

#commission-filter-special { margin-top: 20px; padding: 20px 20px 10px 20px; border-radius: 12px; box-shadow: 0 4px 15px var(--color-shadow); position: relative; max-width: 450px; align-self: flex-start; transition: background 0.4s, border-color 0.4s; }
#commission-filter-special.commission-on { background: var(--bg-commission-on); border: 3px solid var(--border-commission-on); }
#commission-filter-special.off { background: var(--bg-commission-off); border: 3px solid var(--border-commission-off); }
#commission-filter-special::before, #commission-filter-special::after { content: '💲'; position: absolute; font-size: 30px; } #commission-filter-special::before { top: -20px; left: 20px; transform: rotate(-15deg); } #commission-filter-special::after { bottom: -15px; right: 20px; transform: rotate(15deg); }
#commission-filter-special .filter-group { background-color: rgba(255,255,255,0.7); padding: 15px; border-radius: 8px; border: 2px dashed #007bff; color: var(--color-commission-box-text); }
body.dark-mode #commission-filter-special .filter-group { background-color: rgba(30,30,30,0.7); }
body.high-vis-mode #commission-filter-special .filter-group, body.color-mode #commission-filter-special .filter-group { background-color: rgba(255,255,255,0.2); }
.commission-note { display: flex; align-items: center; gap: 15px; margin-top: 10px; } .commission-note .arrow { font-size: 40px; line-height: 1; color: var(--color-commission-box-text); } .commission-note p { margin: 0; font-size: 12px; font-style: italic; font-weight: 500; color: var(--color-commission-box-text);} .commission-note p strong { font-weight: bold; }

.filter-group input[type="checkbox"]:checked + label { color: white; border-color: transparent; box-shadow: 0 1px 3px rgba(0,0,0,0.1); }
.filter-group[data-filter-group="carrier"] input[value="uhc"]:checked + label { background-color: var(--color-uhc); } .filter-group[data-filter-group="carrier"] input[value="braven"]:checked + label { background-color: var(--color-braven); } .filter-group[data-filter-group="carrier"] input[value="aetna"]:checked + label { background-color: var(--color-aetna); } .filter-group[data-filter-group="carrier"] input[value="humana"]:checked + label { background-color: var(--color-humana); } .filter-group[data-filter-group="carrier"] input[value="wellcare"]:checked + label { background-color: var(--color-wellcare); } .filter-group[data-filter-group="carrier"] input[value="clover"]:checked + label { background-color: var(--color-clover); } .filter-group[data-filter-group="carrier"] input[value="amerihealth"]:checked + label { background-color: var(--color-amerihealth); } .filter-group[data-filter-group="carrier"] input[value="jefferson"]:checked + label { background-color: var(--color-jefferson); } .filter-group[data-filter-group="carrier"] input[value="cigna"]:checked + label { background-color: var(--color-cigna); } .filter-group[data-filter-group="carrier"] input[value="horizon"]:checked + label { background-color: var(--color-horizon); } .filter-group[data-filter-group="carrier"] input[value="wellpoint"]:checked + label { background-color: var(--color-wellpoint); }
.filter-group[data-filter-group="plan-type"] input[value="ppo"]:checked + label { background-color: #2ecc71; } .filter-group[data-filter-group="plan-type"] input[value="hmo"]:checked + label { background-color: #3498db; } .filter-group[data-filter-group="plan-type"] input[value="csnp"]:checked + label, .filter-group[data-filter-group="plan-type"] input[value="dsnp"]:checked + label { background-color: #f39c12; } .filter-group[data-filter-group="plan-type"] input[value="pdp"]:checked + label { background-color: #9b59b6; }
.filter-group[data-filter-group="category"] input[value="mapd"]:checked + label { background-color: #0077b6; } .filter-group[data-filter-group="category"] input[value="ma-only"]:checked + label { background-color: #6c757d; } .filter-group[data-filter-group="category"] input[value="pdp"]:checked + label { background-color: #9b59b6; } .filter-group[data-filter-group="category"] input[value="snp"]:checked + label { background-color: #f39c12; }
.filter-group[data-filter-group="benefits"] input[value="giveback"]:checked + label { background-color: #1abc9c; } .filter-group[data-filter-group="benefits"] input[value="otc"]:checked + label { background-color: #e67e22; } .filter-group[data-filter-group="benefits"] input[value="zero-ded"]:checked + label { background-color: #e74c3c; } .filter-group[data-filter-group="benefits"] input[value="zero-prem"]:checked + label { background-color: #f1c40f; color: #333; }
.filter-group[data-filter-group="leaders"] input[value="market"]:checked + label { background-color: #c0392b; } .filter-group[data-filter-group="leaders"] input[value="carrier"]:checked + label { background-color: #8e44ad; }
.filter-group[data-filter-group="commission"] input[value="true"]:checked + label { background-color: #27ae60; }

body.dark-mode .filter-group label, body.high-vis-mode .filter-group label, body.color-mode .filter-group label { background-color: var(--color-filter-label-bg); color: var(--color-filter-label-text); border-color: #555; }
body.dark-mode .reset-filters, body.high-vis-mode .reset-filters, body.color-mode .reset-filters { background-color: #a72333; } body.dark-mode .reset-filters:hover, body.high-vis-mode .reset-filters:hover, body.color-mode .reset-filters:hover { background-color: #c82333; }
body.dark-mode #save-search-btn, body.high-vis-mode #save-search-btn, body.color-mode #save-search-btn { background-color: #1e7e34; } body.dark-mode #save-search-btn:hover, body.high-vis-mode #save-search-btn:hover, body.color-mode #save-search-btn:hover { background-color: #28a745; }
body.dark-mode #delete-search-btn, body.high-vis-mode #delete-search-btn, body.color-mode #delete-search-btn { background-color: #495057; } body.dark-mode #delete-search-btn:hover, body.high-vis-mode #delete-search-btn:hover, body.color-mode #delete-search-btn:hover { background-color: #6c757d; }
body.dark-mode #county-display, body.high-vis-mode #county-display, body.color-mode #county-display { background-color: #2c2c2c; } body.dark-mode #county-display label, body.high-vis-mode #county-display label, body.color-mode #county-display label { background: #1e1e1e; border: 1px solid #444; color: #ccc; }

.plans-container { position: relative; padding-bottom: 80px; }
#info-buttons-container { margin: 25px 0; display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; }
#info-buttons-container button { width: 100%; max-width: 400px; padding: 18px; font-size: 16px; font-weight: bold; color: white; border: none; border-radius: 8px; cursor: pointer; text-align: center; box-shadow: 0 4px 15px rgba(0,0,0,0.2); transition: all 0.3s ease; flex-grow: 1; }
#info-buttons-container button:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,0.3); }
#show-costs-btn { background: var(--info-btn-1-bg); }
#carrier-info-btn-main { background: var(--info-btn-2-bg); }
#objections-btn-main { background: var(--info-btn-3-bg); }
#my-guide-btn { background: var(--info-btn-4-bg); }

.legend { padding: 15px; margin-bottom: 25px; border: 1px solid #ddd; border-radius: 8px; background-color: var(--bg-main); box-shadow: 0 2px 5px rgba(0,0,0,0.05); }
.legend h3 { margin: 0 0 10px 0; text-align: center; color: var(--color-header); border-bottom: 1px solid var(--color-border-sub); padding-bottom: 10px; }
.legend-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 10px; }
.legend-item { display: flex; align-items: center; font-size: 12px; }
.pill, .leader-text { display: inline-block; padding: 2px 8px; font-size: 10px; font-weight: bold; color: white; border-radius: 10px; margin-left: 8px; vertical-align: middle; }
.pill-hmo { background-color: #3498db; } .pill-ppo { background-color: #2ecc71; } .pill-snp { background-color: #f39c12; } .pill-pdp { background-color: #9b59b6; }
.leader-text { font-size: 9px; padding: 2px 6px; }
.leader-zero { background-color: #f1c40f; color: #333 !important; } .leader-carrier { background-color: #8e44ad; } .leader-market { background-color: #c0392b; }
.carrier-block { border-left: 8px solid; margin-bottom: 30px; background-color: var(--bg-main); box-shadow: 0 2px 8px rgba(0,0,0,0.05); border-radius: 0 4px 4px 0; }
.carrier-header { font-size: 16px; font-weight: bold; color: white; margin: 0; padding: 8px 12px; display: flex; justify-content: space-between; align-items: center; }
.market-share { font-weight: normal; font-size: 13px; opacity: 0.9; margin-left: 10px; }
.carrier-header a { color: white; font-size: 11px; font-weight: normal; text-decoration: underline; }
.carrier-aetna .carrier-header { background-color: var(--color-aetna); } .carrier-aetna { border-left-color: var(--color-aetna); } .carrier-amerihealth .carrier-header { background-color: var(--color-amerihealth); } .carrier-amerihealth { border-left-color: var(--color-amerihealth); } .carrier-braven .carrier-header { background-color: var(--color-braven); } .carrier-braven { border-left-color: var(--color-braven); } .carrier-clover .carrier-header { background-color: var(--color-clover); } .carrier-clover { border-left-color: var(--color-clover); } .carrier-cigna .carrier-header { background-color: var(--color-cigna); } .carrier-cigna { border-left-color: var(--color-cigna); } .carrier-horizon .carrier-header { background-color: var(--color-horizon); } .carrier-horizon { border-left-color: var(--color-horizon); } .carrier-humana .carrier-header { background-color: var(--color-humana); } .carrier-humana { border-left-color: var(--color-humana); } .carrier-jefferson .carrier-header { background-color: var(--color-jefferson); } .carrier-jefferson { border-left-color: var(--color-jefferson); } .carrier-uhc .carrier-header { background-color: var(--color-uhc); } .carrier-uhc { border-left-color: var(--color-uhc); } .carrier-wellcare .carrier-header { background-color: var(--color-wellcare); } .carrier-wellcare { border-left-color: var(--color-wellcare); } .carrier-wellpoint .carrier-header { background-color: var(--color-wellpoint); } .carrier-wellpoint { border-left-color: var(--color-wellpoint); }
table { width: 100%; border-collapse: collapse; font-size: 13.5px; background-color: var(--bg-main); }
th, td { border-bottom: 1px solid var(--color-border-sub); padding: 14px 10px; text-align: left; vertical-align: middle; line-height: 1.5; }
tr:not(.plan-type-subheader):hover { background-color: var(--bg-row-hover); }
.plan-name-cell { display: flex; flex-direction: column; gap: 4px; }
.plan-name-link { font-weight: bold; color: var(--color-cell-text); text-decoration: none; } .plan-name-link:hover { text-decoration: underline; color: var(--color-header); }
.contract-code-text { font-size: 12px; font-weight: normal; color: var(--color-note-text); }
.leader-explanation { font-size: 11px; font-style: italic; margin-top: 5px; padding-left: 8px; border-left: 3px solid var(--color-border-sub); color: var(--color-note-text); }
th { background-color: var(--bg-table-header); color: var(--color-table-header) !important; font-weight: bold; border-bottom: 2px solid #343a40; position: sticky; top: 0; z-index: 10; }
th[data-sort-key] { cursor: pointer; } th[data-sort-key]:hover { background-color: #343a40; }
th .sort-indicator { float: right; opacity: 0.5; } th.sorted .sort-indicator { opacity: 1; }
th.align-center-numeric { text-align: center !important; }
td.align-center-numeric { text-align: center !important; color: var(--color-numeric-emphasis) !important; font-weight: bold; }
.part-header { font-size: 24px; color: white; background: linear-gradient(to right, #003B65, #005A9C); padding: 12px; border-radius: 8px; text-align: center; margin: 40px 0 20px 0; font-weight: bold; }
body.dark-mode .part-header { background: linear-gradient(to right, #3498db, #90caf9); color: #121212; }
body.high-vis-mode .part-header { background: linear-gradient(to right, #ffae42, #ff8c00); color: #000000; }
.section-header { font-size: 20px; color: var(--color-header); background-color: var(--bg-subheader); padding: 10px 15px; margin-top: 30px; margin-bottom: 20px; font-weight: bold; border-left: 5px solid var(--color-border-main); }
.plan-type-subheader td { background-color: var(--bg-subheader); color: var(--color-header); font-size: 14px; font-weight: 800; text-align: center; border-top: 2px solid var(--color-border-main); border-bottom: 2px solid var(--color-border-main); padding: 10px; text-transform: uppercase; }
.commission-note-text { font-size: 10px; font-style: italic; color: var(--color-note-text); margin-top: 5px; font-weight: normal; line-height: 1.2; }
.pill-non-comm { background-color: #dc3545; color: white; }

.footer-redesigned { background-color: var(--bg-main); color: var(--color-note-text); padding: 40px 20px 20px; margin-top: 40px; border-top: 4px solid var(--color-border-main); font-size: 14px; }
.footer-content { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 30px; max-width: 1200px; margin: 0 auto; padding-bottom: 30px; }
.footer-section { flex: 1; min-width: 220px; }
.footer-section h4 { color: var(--color-header); font-size: 16px; margin-bottom: 15px; font-weight: 600; border-bottom: 2px solid var(--color-border-sub); padding-bottom: 10px; }
.footer-logo { font-size: 18px !important; font-weight: 700 !important; border-bottom: none !important; padding-bottom: 0 !important; margin-bottom: 5px !important; }
.footer-philosophy { margin-top: 15px; }
.footer-philosophy blockquote { margin: 0; padding-left: 15px; border-left: 3px solid var(--color-border-sub); font-style: italic; font-size: 13px; }
.footer-section p { margin: 0 0 10px; line-height: 1.6; }
.footer-section .disclaimer-text { font-size: 12px; opacity: 0.8; }
.footer-section.links ul { list-style: none; padding: 0; margin: 0; }
.footer-section.links ul li { margin-bottom: 10px; }
.footer-section a { color: var(--color-border-main); text-decoration: none; transition: color 0.2s; }
.footer-section a:hover { color: var(--color-header); text-decoration: underline; }
.footer-bottom { text-align: center; padding-top: 20px; border-top: 1px solid var(--color-border-sub); font-size: 12px; margin-top: 20px; }
.footer-credit { margin-bottom: 10px; font-style: italic; }

.condensed-view table { font-size: 9px; } .condensed-view th, .condensed-view td { padding: 4px; } .condensed-view .explanation, .condensed-view .leader-explanation, .condensed-view .plan-compare-cb-cell { display: none; }

.plan-compare-cb-cell, .favorite-toggle-cell, .scb-link-cell { width: 1%; text-align: center !important; }
th.favorite-toggle-cell, th.scb-link-cell { font-size: 10px; font-weight: normal; }
.favorite-toggle { cursor: pointer; font-size: 18px; color: #ccc; transition: color 0.2s; -webkit-text-stroke: 1px #888; }
.favorite-toggle:hover { color: #f1c40f; }
.favorite-toggle.is-favorite { color: #f1c40f; -webkit-text-stroke: 0; }
.scb-icon-link { font-size: 18px; text-decoration: none; cursor: pointer; transition: transform 0.2s; display: inline-block; }
.scb-icon-link:hover { transform: scale(1.2); }
.scb-icon-disabled { font-size: 18px; opacity: 0.3; cursor: not-allowed; }
body.dark-mode .favorite-toggle, body.high-vis-mode .favorite-toggle, body.color-mode .favorite-toggle { -webkit-text-stroke: 1px #bbb; color: #777; }
body.dark-mode .favorite-toggle.is-favorite, body.high-vis-mode .favorite-toggle.is-favorite, body.color-mode .favorite-toggle.is-favorite { color: #f1c40f; -webkit-text-stroke: 0; }
body.color-mode .favorite-toggle.is-favorite { color: #ff9f1c; }

.toggle-compare-all-btn { padding: 4px 6px; font-size: 10px; font-weight: bold; cursor: pointer; border: 1px solid var(--color-border-sub); border-radius: 4px; background-color: var(--color-button-bg); color: var(--color-text); }
.toggle-compare-all-btn:hover { background-color: var(--color-button-hover); }

#comparison-bar { position: fixed; bottom: -100px; left: 50%; transform: translateX(-50%); width: 90%; max-width: 600px; background-color: var(--color-header); color: white; padding: 15px; border-radius: 12px 12px 0 0; box-shadow: 0 -4px 15px rgba(0,0,0,0.2); display: flex; justify-content: space-between; align-items: center; z-index: 1000; transition: bottom 0.3s ease-in-out; }
#comparison-bar.visible { bottom: 0; }
#comparison-bar span { font-weight: bold; }
#comparison-bar button { padding: 8px 12px; border: none; border-radius: 5px; cursor: pointer; font-weight: bold; }
#compare-btn-action { background-color: #28a745; color: white; }
#clear-compare-btn { background-color: #dc3545; color: white; }

#comparison-modal .modal-content { max-width: 95%; width: auto; }
#comparison-modal table { width: 100%; table-layout: fixed; }
#comparison-modal th, #comparison-modal td { border: 1px solid var(--color-border-sub); padding: 8px; vertical-align: top; font-size: 11px; }
#comparison-modal th { background-color: var(--bg-table-header); text-align: center; font-size: 12px; font-weight: bold; }
#comparison-modal td:first-child { font-weight: bold; color: var(--color-header); background-color: var(--bg-subheader); text-align: right; padding-right: 15px; width: 20%; }
#comparison-modal tbody tr:nth-child(even) td { background-color: var(--bg-row-hover); }

.changelog-list { list-style-type: none; padding-left: 20px; border-left: 2px solid var(--color-border-main); }
.changelog-list li { position: relative; margin-bottom: 20px; padding-left: 15px; }
.changelog-list li::before { content: '✓'; position: absolute; left: -32px; top: 0; background-color: var(--color-border-main); color: white; width: 20px; height: 20px; border-radius: 50%; text-align: center; line-height: 20px; font-size: 12px; font-weight: bold; }
.changelog-list strong { display: inline-block; background-color: var(--color-header); color: var(--bg-main); padding: 2px 8px; border-radius: 12px; font-size: 12px; margin-bottom: 5px; }

.modal { display: none; position: fixed; z-index: 2000; left: 0; top: 0; width: 100%; height: 100%; overflow: auto; background-color: var(--color-modal-bg); backdrop-filter: blur(4px); }
.modal-content { background-color: var(--bg-modal-content); color: var(--color-modal-text); margin: 5% auto; padding: 25px; border-radius: 12px; width: 90%; max-width: 800px; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); animation-name: animatetop; animation-duration: 0.4s; }
@keyframes animatetop { from {top: -300px; opacity: 0} to {top: 5%; opacity: 1} }
.modal-close { color: var(--color-note-text); float: right; font-size: 28px; font-weight: bold; cursor: pointer; }
.modal-actions { display: flex; align-items: center; gap: 10px; margin-bottom: 15px; padding-bottom: 15px; border-bottom: 1px solid var(--color-border-sub); }
.modal-actions button, .modal-actions a, .scb-controls a { text-decoration: none; display: inline-block; padding: 8px 12px; border: 1px solid #ccc; border-radius: 5px; background-color: var(--color-button-bg); color: var(--color-text); cursor: pointer; font-size: 12px; font-weight: bold; }
.modal-actions button:hover, .modal-actions a:hover, .scb-controls a:hover { background-color: var(--color-button-hover); }

#help-content h4 { color: var(--color-header); margin-top: 20px; border-bottom: 1px solid var(--color-border-sub); padding-bottom: 5px; }
#help-content ul { list-style: none; padding-left: 0; }
#help-content li { margin-bottom: 15px; }
#help-content p { margin-top: 5px; line-height: 1.6; }
#help-content code { background-color: var(--bg-subheader); padding: 2px 5px; border-radius: 4px; font-family: monospace; }

#plan-detail-modal .modal-content { max-width: 1000px; }
#plan-detail-modal table { font-size: 14px; width: 100%; }
#plan-detail-modal td { padding: 12px; border: 1px solid var(--color-border-sub); }
#plan-detail-modal td:first-child { font-weight: bold; color: var(--color-header); background-color: var(--bg-subheader); text-align: right; padding-right: 15px; width: 25%; }
.scb-controls { margin-bottom: 10px; text-align: right; }

#carrier-info-modal .modal-content { max-width: 1000px; }
.carrier-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
.carrier-card { background-color: var(--bg-subheader); border-radius: 8px; padding: 20px; text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.1); border-left: 5px solid; transition: transform 0.2s, box-shadow 0.2s; }
.carrier-card:hover { transform: translateY(-3px); box-shadow: 0 4px 10px rgba(0,0,0,0.15); }
.carrier-card h4 { margin: 0 0 15px 0; font-size: 18px; color: var(--color-header); }
.carrier-card a { display: block; background-color: var(--color-button-bg); color: var(--color-text); text-decoration: none; padding: 10px; margin-top: 10px; border-radius: 5px; font-weight: bold; font-size: 13px; transition: background-color 0.2s; }
.carrier-card a:hover { background-color: var(--color-button-hover); }
.carrier-card-aetna { border-left-color: var(--color-aetna); } .carrier-card-amerihealth { border-left-color: var(--color-amerihealth); } .carrier-card-braven { border-left-color: var(--color-braven); } .carrier-card-cigna { border-left-color: var(--color-cigna); } .carrier-card-clover { border-left-color: var(--color-clover); } .carrier-card-horizon { border-left-color: var(--color-horizon); } .carrier-card-humana { border-left-color: var(--color-humana); } .carrier-card-jefferson { border-left-color: var(--color-jefferson); } .carrier-card-uhc { border-left-color: var(--color-uhc); } .carrier-card-wellcare { border-left-color: var(--color-wellcare); } .carrier-card-wellpoint { border-left-color: var(--color-wellpoint); }

#objections-modal .modal-content, #costs-modal .modal-content, #medicare-and-you-modal .modal-content, #help-modal .modal-content { max-width: 950px; }
.objection-main-title { text-align: center; margin-top: 0; color: var(--color-header); font-size: 24px; }
.objection-tabs { overflow: hidden; border-bottom: 2px solid var(--color-border-main); margin-bottom: 20px; display: flex; justify-content: center; flex-wrap: wrap; gap: 5px; }
.objection-tabs .tab-link { background-color: transparent; float: left; border: none; outline: none; cursor: pointer; padding: 12px 16px; transition: 0.3s; font-size: 15px; font-weight: bold; color: var(--color-note-text); border-bottom: 3px solid transparent; }
.objection-tabs .tab-link:hover { background-color: var(--bg-subheader); }
.objection-tabs .tab-link.active { color: var(--color-header); border-bottom-color: var(--color-header); }
.tab-content { display: none; padding: 6px 12px; border-top: none; animation: fadeIn 0.5s; }
.tab-content h4 { font-size: 22px; color: var(--color-border-main); margin-top: 25px; }
.tab-content h5 { font-size: 18px; color: var(--color-text); margin-top: 20px; margin-bottom: 10px; }
.tab-content h6 { font-size: 14px; color: var(--color-note-text); margin-top: 15px; margin-bottom: 5px; text-transform: uppercase; }
.tab-content p, .tab-content ul li { font-size: 16px; line-height: 1.8; }
.tab-content p, .tab-content ul { margin-bottom: 1.2em; }
.tab-content ul { padding-left: 25px; }
.objection-highlight { background-color: var(--bg-subheader); border-left: 5px solid var(--color-border-main); padding: 15px; margin: 20px 0; border-radius: 0 8px 8px 0; }
.objection-highlight p { margin: 0; }
.info-block { background-color: var(--bg-note); border: 1px solid var(--color-border-sub); padding: 15px; margin: 15px 0; border-radius: 4px; }
.info-block p { font-size: 14px; font-style: italic; margin: 0; }
.objection-example { border: 1px dashed var(--color-border-sub); padding: 15px; margin-top: 15px; border-radius: 8px; }
.objection-example p { margin: 0 0 10px 0; }
.objection-script { margin-top: 15px; } .objection-script p { margin-bottom: 5px; }
blockquote { margin: 10px 0; padding: 10px 20px; background-color: var(--bg-note); border-left: 4px solid var(--color-border-main); font-style: italic; }
.objection-table { width: 100%; border-collapse: collapse; margin-top: 20px; font-size: 14px; }
.objection-table th, .objection-table td { border: 1px solid var(--color-border-sub); padding: 12px; text-align: left; }
.objection-table th { background-color: var(--bg-table-header); color: var(--color-table-header); font-weight: bold; }
@keyframes fadeIn { from {opacity: 0;} to {opacity: 1;} }

#password-overlay { display: flex; align-items: center; justify-content: center; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: linear-gradient(135deg, rgba(13, 27, 42, 0.8) 0%, rgba(27, 38, 59, 0.9) 100%); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); }
#password-modal { background-color: var(--bg-main); color: var(--color-text); padding: 40px; border-radius: 16px; width: 90%; max-width: 450px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3); text-align: center; border: 1px solid var(--color-border-sub); transform: scale(1); animation: fadeIn 0.5s ease-out; }
#password-modal .lock-icon { font-size: 40px; margin-bottom: 15px; }
#password-modal h2 { color: var(--color-header); margin-top: 0; margin-bottom: 10px; font-size: 26px; font-weight: 600; }
#password-modal p { font-size: 14px; line-height: 1.6; margin-bottom: 25px; color: var(--color-note-text); }
.password-form { display: flex; flex-direction: column; gap: 15px; margin-bottom: 15px; }
#password-input { padding: 14px; font-size: 16px; border: 2px solid var(--color-border-sub); border-radius: 8px; background-color: var(--bg-body); color: var(--color-text); text-align: center; transition: border-color 0.3s, box-shadow 0.3s; }
#password-input:focus { outline: none; border-color: var(--color-border-main); box-shadow: 0 0 0 3px rgba(0, 90, 156, 0.25); }
#password-submit { padding: 14px 20px; font-size: 16px; font-weight: bold; color: white; background: linear-gradient(145deg, #007dc5, #005a9c); border: none; border-radius: 8px; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
#password-submit:hover { transform: translateY(-2px); box-shadow: 0 4px 15px rgba(0, 90, 156, 0.4); }
#password-error.error-message { color: #e74c3c; font-weight: bold; min-height: 20px; margin: 0; }
.contact-info { font-size: 12px; color: var(--color-note-text); margin-top: 20px; line-height: 1.6; }
.contact-info strong { color: var(--color-text); }
.contact-info a { color: var(--color-border-main); text-decoration: none; font-weight: 500; }
.contact-info a:hover { text-decoration: underline; }

#costs-modal .modal-content { max-width: 1100px; }
.costs-modal-header { text-align: center; margin-bottom: 20px; }
.costs-modal-header h4 { font-size: 22px; color: var(--color-header); margin: 0 0 10px 0; }
.costs-modal-header p { font-size: 15px; color: var(--color-note-text); margin:0; max-width: 80%; margin-left: auto; margin-right: auto;}
.costs-section { margin-bottom: 30px; }
.costs-section h5 { font-size: 18px; color: var(--color-border-main); border-bottom: 1px solid var(--color-border-sub); padding-bottom: 8px; margin-bottom: 15px; }
.cost-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 15px; margin-bottom: 20px; }
.cost-card { background-color: var(--bg-subheader); padding: 15px; border-radius: 8px; text-align: center; border-left: 4px solid var(--color-border-main); }
.cost-card.highlight { border-color: var(--color-header); background: linear-gradient(145deg, var(--bg-subheader), var(--bg-main)); }
.cost-card-title { font-size: 14px; font-weight: 600; color: var(--color-note-text); }
.cost-card-value { font-size: 28px; font-weight: 800; color: var(--color-header); margin: 5px 0; }
.cost-card-desc { font-size: 12px; font-style: italic; }
.costs-table-container { overflow-x: auto; }
#costs-modal table { width: 100%; margin-top: 15px; }
#costs-modal th { background-color: var(--bg-table-header); color: var(--color-table-header); }
#costs-modal td, #costs-modal th { border: 1px solid var(--color-border-sub); padding: 10px; font-size: 14px; text-align: center; }
#costs-modal th:first-child, #costs-modal td:first-child { text-align: left;}
#costs-modal tbody tr:nth-child(even) { background-color: var(--bg-row-hover); }
#costs-modal .highlight-row td { background-color: var(--color-border-main); color: white; font-weight: bold; }
#costs-modal .highlight-cell { background-color: var(--bg-commission-on); color: #155724; font-weight: bold; }
body.color-mode #costs-modal .highlight-row td { color: #0d1b2a; }
.resource-block { background-color: var(--bg-note); border: 1px solid var(--color-border-sub); border-left: 4px solid var(--color-border-main); padding: 15px; margin-bottom: 15px; border-radius: 4px; }
.resource-block.highlight { border-color: var(--color-header); }
.resource-block p { margin: 0 0 10px 0; font-size: 14px; }

.resource-link-group { display: flex; flex-direction: column; gap: 10px; margin-top: 15px; }
.resource-link { display: block; padding: 12px 18px; background: var(--info-btn-1-bg); color: white !important; text-decoration: none; border-radius: 8px; font-weight: bold; text-align: center; box-shadow: 0 2px 8px rgba(0,0,0,0.2); transition: all 0.3s ease; }
.resource-link:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.3); background: var(--info-btn-1-bg); }
.links-table .resource-link { display: inline-block; padding: 8px 15px; width: auto; }

details { border: 1px solid var(--color-border-sub); border-radius: 4px; margin-bottom: 10px; }
details summary { cursor: pointer; padding: 10px; font-weight: bold; color: var(--color-border-main); }
details div { padding: 0 10px 10px 10px; }
.links-table td:nth-child(2) { font-size: 12px; color: var(--color-note-text); }
.links-table td:nth-child(3) { width: 1%; white-space: nowrap; }

.modal-tab-nav { display: flex; justify-content: space-between; margin-bottom: 20px; margin-top: -5px; }
.modal-tab-nav button { background-color: var(--color-button-bg); color: var(--color-text); border: 1px solid var(--color-border-sub); padding: 8px 16px; border-radius: 5px; cursor: pointer; font-weight: bold; font-size: 12px; transition: background-color 0.2s; }
.modal-tab-nav button:hover { background-color: var(--color-button-hover); }

#carrier-info-modal .btn { display: inline-block; padding: 8px 14px; font-size: 13px; font-weight: 500; text-align: center; text-decoration: none; border-radius: 5px; cursor: pointer; box-sizing: border-box; white-space: nowrap; vertical-align: middle; transition: opacity 0.2s ease; }
#carrier-info-modal .btn-full-width { display: block; width: 100%; }
#carrier-info-modal .btn + .btn { margin-top: 8px; }
#carrier-info-modal .portal-links .btn + .btn { margin-top: 0; margin-left: 6px; }
#carrier-info-modal .btn-primary { background-color: #495057; color: #ffffff; border: 1px solid #495057; }
#carrier-info-modal .btn-primary:hover { opacity: 0.85; }
#carrier-info-modal .btn-secondary { background-color: transparent; color: var(--color-note-text, #6c757d); border: 1px solid var(--color-border-main, #dee2e6); }
#carrier-info-modal .btn-secondary:hover { background-color: var(--color-border-main, #dee2e6); color: #343a40; }
#carrier-info-modal .carrier-card h4 { font-size: 16px; font-weight: 600; padding-bottom: 6px; margin-bottom: 12px; border-bottom: 1px solid var(--color-border-main, #eee); }
.carrier-table { width: 100%; border-collapse: collapse; margin-top: 10px; }
.carrier-table th, .carrier-table td { padding: 12px 10px; text-align: left; border-bottom: 1px solid var(--color-border-main, #eee); vertical-align: middle; }
.carrier-table th { font-size: 12px; font-weight: 600; color: var(--color-note-text, #6c757d); text-transform: uppercase; }
.carrier-table td:nth-child(1) { font-weight: 600; }
.carrier-table th:nth-child(2), .carrier-table th:nth-child(3), .carrier-table td:nth-child(2), .carrier-table td:nth-child(3) { text-align: right; }
#carrier-info-modal .carrier-table .btn { width: 150px; }
.carrier-table tr { border-left: 4px solid transparent; }
.carrier-table .carrier-aetna { border-left-color: var(--color-aetna); } .carrier-table .carrier-amerihealth { border-left-color: var(--color-amerihealth); } .carrier-table .carrier-braven { border-left-color: var(--color-braven); } .carrier-table .carrier-clover { border-left-color: var(--color-clover); } .carrier-table .carrier-cigna { border-left-color: var(--color-cigna); } .carrier-table .carrier-horizon { border-left-color: var(--color-horizon); } .carrier-table .carrier-humana { border-left-color: var(--color-humana); } .carrier-table .carrier-jefferson { border-left-color: var(--color-jefferson); } .carrier-table .carrier-uhc { border-left-color: var(--color-uhc); } .carrier-table .carrier-wellcare { border-left-color: var(--color-wellcare); } .carrier-table .carrier-wellpoint { border-left-color: var(--color-wellpoint); }
.carrier-table .carrier-physicians { border-left-color: var(--color-physicians); }

body.color-mode #password-modal { background-color: #2a3b52; border: 1px solid #778da9; }

#mobile-filter-toggle { display: none; position: fixed; top: 15px; left: 15px; z-index: 6000; background-color: var(--color-header); color: var(--bg-main); border: 1px solid var(--color-border-sub); border-radius: 8px; padding: 10px 15px; font-size: 16px; font-weight: bold; cursor: pointer; box-shadow: 0 4px 12px var(--color-shadow); }
#mobile-backdrop { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.6); z-index: 4000; opacity: 0; transition: opacity 0.3s ease-in-out; }
.filters-open #mobile-backdrop { display: block; opacity: 1; }
body.filters-open { overflow: hidden; }

@media (max-width: 1279px) {
    body { padding: 10px; }
    #mobile-filter-toggle { display: block; }
    .filter-controls-container { position: fixed; top: 0; left: 0; width: 320px; max-width: 90%; height: 100%; z-index: 5000; transform: translateX(-100%); transition: transform 0.3s ease-in-out; background-color: var(--bg-body); border-right: 1px solid var(--color-border-sub); max-height: 100vh; overflow-y: auto; }
    .filters-open .filter-controls-container { transform: translateX(0); box-shadow: 5px 0 15px rgba(0,0,0,0.2); }
    .header h1 { font-size: 18px; }
    .header-actions { justify-content: center; }
    table thead { display: none; }
    .carrier-block table tr { display: block; border: 1px solid var(--color-border-sub); border-radius: 8px; margin-bottom: 15px; padding: 10px; }
    .plan-type-subheader { display: block; }
    .plan-type-subheader td { display: block; width: 100%; text-align: left; }
    table td { display: block; width: 100% !important; text-align: right; padding: 8px 4px; border-bottom: 1px dashed var(--color-border-sub); }
    table td:last-child { border-bottom: none; }
    table td[data-label]::before { content: attr(data-label); float: left; font-weight: bold; color: var(--color-header); }
    .plan-compare-cb-cell, .favorite-toggle-cell, .scb-link-cell { display: inline-block; width: auto !important; border: none; padding: 0 10px 0 0; }
    table td:not([data-label]) { text-align: left; border-bottom: none; padding-bottom: 0; }
}

.advanced-commission-toggle { margin-top: 10px; text-align: center; }
.advanced-commission-toggle a { font-size: 11px; font-weight: bold; color: var(--color-border-main); text-decoration: none; }
.advanced-commission-toggle a:hover { text-decoration: underline; }
#advanced-commission-filters { margin-top: 10px; padding: 10px; border-radius: 6px; background-color: var(--bg-note); }
#advanced-commission-filters input[type="radio"] { display: none; }
#advanced-commission-filters label { border: 1px solid var(--color-border-sub); }
#advanced-commission-filters input[type="radio"]:checked + label { background-color: #17a2b8; color: white; border-color: #17a2b8; }
#f_commission:disabled + label { cursor: not-allowed; background-color: var(--color-button-hover) !important; color: var(--color-note-text) !important; opacity: 0.6; text-decoration: line-through; }

.modal-content p, .modal-content ul li { font-size: 16px !important; line-height: 1.7 !important; }
.modal-content h3 { font-size: 26px !important; }
.modal-content h4 { font-size: 22px !important; }
.modal-content h5 { font-size: 18px !important; }
.modal-content h6 { font-size: 14px !important; letter-spacing: 0.5px; }

.lis-paad-premium { font-weight: bold; color: var(--color-header); margin-top: 5px; font-size: 11px; padding: 3px 6px; background-color: var(--bg-note); border-radius: 4px; border-left: 3px solid var(--color-border-main); }
mark.search-highlight { background-color: var(--bg-highlight); color: var(--color-highlight-text); border-radius: 2px; padding: 0 2px; font-weight: bold; box-shadow: 0 0 5px var(--color-shadow); }

/* --- ULTRA-DENSE COLOR-CODED PRINT STYLE --- */
@media print {
    @page {
        size: portrait;
        margin: 5mm;
    }

    body {
        background-color: white !important;
        color: black !important;
        font-size: 6.5pt !important;
        line-height: 0.9 !important;
        margin: 0 !important;
        padding: 0 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .no-print, .header, .filter-controls-container, .footer-redesigned,
    .plan-compare-cb-cell, .favorite-toggle-cell, .scb-link-cell,
    #info-buttons-container, .legend, #mobile-filter-toggle, #comparison-bar,
    .leader-explanation, .pill,
    .resource-results-container, .market-share, .carrier-header a {
        display: none !important;
    }

    .main-layout, .plans-container {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    .carrier-block {
        border: none !important;
        margin-bottom: 0 !important;
        box-shadow: none !important;
    }
    .carrier-header {
        background-color: #333 !important; /* Dark header for contrast */
        color: white !important;
        font-weight: bold;
        font-size: 7.5pt !important;
        padding: 1px 2px !important;
        border: 1px solid #000;
        border-bottom: none;
        margin: 0;
    }

    table {
        width: 100%;
        border-collapse: collapse;
        table-layout: fixed;
    }

    thead { display: none !important; }

    td {
        border: 1px solid #666;
        padding: 0px 2px !important;
        vertical-align: top;
        overflow: hidden;
        white-space: normal;
    }

    /* === COLOR CODING COLUMNS === */
    td:nth-child(4) { width: 18%; font-weight: bold; background-color: #fff; border-right: 2px solid #000 !important; }
    
    td:nth-child(5) { width: 10%; background-color: #e8f5e9 !important; border-right: 2px solid #000 !important; }
    
    td:nth-child(6) { width: 23%; font-size: 6pt !important; background-color: #e3f2fd !important; border-right: 2px solid #000 !important; }
    
    td:nth-child(7) { width: 23%; font-size: 6pt !important; background-color: #fff !important; border-right: 2px solid #000 !important; }
    
    td:nth-child(8) { width: 12%; background-color: #ffebee !important; border-right: 2px solid #000 !important; }
    
    td:nth-child(9) { width: 8%; }
    
    td:nth-child(10) { width: 6%; text-align: center; background-color: #f5f5f5 !important; }

    tr:nth-child(even) { background-color: transparent !important; }
    tr { border-bottom: 1px solid #999; page-break-inside: avoid; }

    /* Data Flattening */
    td br { display: none; }
    td strong { display: inline; font-weight: 700; margin-right: 2px; }
    td strong:not(:first-child)::before { content: " | "; font-weight: normal; color: #666; }

    .plan-name-cell div { display: inline; }
    .contract-code-text { font-size: 6pt; margin-left: 3px; }

    /* UNHIDE LIS/PAAD and Commission Notes for Print */
    .lis-paad-premium, .commission-note-text {
        display: inline-block !important;
        font-size: 5.5pt !important;
        font-style: italic !important;
        color: #333 !important;
        margin-left: 3px;
        background: none !important;
        border: none !important;
        padding: 0 !important;
    }
    
    .lis-paad-premium::before { content: " [LIS/PAAD: "; font-weight: bold; }
    .lis-paad-premium::after { content: "]"; font-weight: bold; }
    
    .commission-note-text::before { content: " [NOTE: "; font-weight: bold; color: red; }
    .commission-note-text::after { content: "]"; font-weight: bold; }

    .part-header, .section-header {
        font-size: 8pt !important;
        font-weight: bold;
        background: #ccc !important;
        border: 1px solid #000;
        padding: 1px !important;
        margin: 0;
        text-align: center;
    }
}