/* fix overlapping bug */
.header {
    z-index: 99;

    border-top-style: none !important;
    border-top-color: unset !important;
    width: unset !important;
    position: unset !important;
    background-color: unset !important;
}

/* TOGGLE BUTTON */
.toggle-wrapper {
    display: flex;
    justify-content: space-between;
    font-family: 'Poppins';
    padding: 18px 16px;
    background-color: #BDD9EF;
}

.shift_button {
    color: #004973;
    font-size: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
}

.shift_button img {
    width: 23px;
    padding-left: 3px;
}


.toggle-switch {
    position: relative;
    display: inline-block;
    width: 50px;
    height: 24px;
}

.toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border-radius: 34px;
}

.slider:before {
    position: absolute;
    content: "";
    height: 18px;
    width: 18px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    transition: .4s;
    border-radius: 50%;
}

input:checked+.slider {
    background-color: #004973;
}

input:checked+.slider:before {
    transform: translateX(26px);
}

/* TOGGLE BUTTON END*/

/* ======================= Tooltip override========================== */
.tooltip-wrap .tooltip-content-override {
    top: 110% !important;
    left: -617% !important;
    right: 20% !important;
}

/* HEADER SECTION */
.wrapper-section__header-bg {
    background-color: #E2ECF5;
    padding: 30px 0 50px 0;
}

.searchheadersection.responsive-search-page {
    display: flex;
    margin: 0 0 60px 0;
    padding: 0 7.5%;
}

/* header title section */
.codetitle {
    display: flex;
    gap: 10px;
    align-items: baseline;
    padding: 0 7.5%;
    margin: 0 auto 1rem;
}

.responsive-table {
    overflow-x: auto;
    max-width: 100%;
    margin: auto;
    padding: 20px;
}

/* only enable horizontal scroll on mobile/tablet */
@media (max-width: 1023px) {
    .responsive-table {
        overflow-x: scroll;
    }
}

.tbl-main {
    margin: 0 auto;
}

.chartdiv-wrapper {
    background-color: #E2ECF5;
    max-width: 100%;
}

.chartdiv {
    background-color: #E2ECF5;
    padding-top: 2px;
    margin: 0 auto;
    padding: 20px 70px 40px;
}


@media (max-width: 768px) {
    .searchheadersection.responsive-search-page {
        max-width: 100%;
        padding: 0 15px;
    }

    .responsive-table {
        max-width: 100%;
        padding: 15px;
    }

    .chartdiv {
        padding: 15px;
    }

    .codetitle {
        max-width: 100%;
        padding: 0 15px;
    }

    .codetitle h2 {
        margin-top: 0;
    }
}

.headersidepanel1 {
    display: flex;
}

.headersidepanel2 {
    width: 30%;
}

.codetitle h2,
.codetitle h3 {
    color: #004973;
}

.codetitle h2 {
    font-size: 2.5rem;
    line-height: 2.5rem;
    margin: 0.5rem 0;
}

.codetitle h3 {
    font-size: 2rem;
    /* font-family: 'Open Sans', sans-serif; */
}

/* code table info */
.codeinfotabe {
    border-radius: 6px;
    border-collapse: collapse;
    background-color: #004973;
}

#manufacture-name {
    text-wrap: nowrap;
}

/* 2 rows month/year on smaller screens */
@media (min-width: 1024px) and (max-width: 1650px) {
    .slide_tr .tableheader {
        word-spacing: 100px;
    }
}

/* allow wrapping on smaller desktop screens */
@media (min-width: 1024px) and (max-width: 1400px) {
    #manufacture-name {
        text-wrap: balance;
        white-space: normal;
        word-break: break-word;
    }

    .wrapper-section-maintable .slide__td {
        width: 180px;
    }
}

/*align text to middle*/
.table-data-row .tableheader {
    vertical-align: middle !important;
}

.tbl-main td {
    vertical-align: middle;
}

.codeinfotabe .tableheader {
    line-height: 0.5rem;

}

.codeinfotabe .tablecontent {
    /* line-height: 0.2rem; */
    border-bottom: 2px solid white;
}

.codeinfotabe .tablecontent a {
    line-height: unset !important;
    font-weight: 300;
}

.codeinfotabe .tableheader td {
    background-color: #004973;
    font-weight: bold;
    color: #fff;
    font-size: 16px;
    text-align: left;
    text-wrap: nowrap;
}

.codeinfotabe .tablecontent td {
    background-color: #004973;
    font-weight: 300;
    color: #fff;
    font-size: 16px;
    text-align: left;
    padding-top: 0px;
}

/*
.codeinfotabe a.tip{
    text-decoration: none;
    float: unset !important;
    display: none;
}*/


/* header sidepanel 2 css */
.headersidepanel2 .button-container {
    display: flex;
    align-items: center;
    justify-content: start;
    border-radius: 8px;
    flex-wrap: wrap;
    background: #FFFFFF;
}

.headersidepanel2 .button-container a {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    padding: 8px 13px;
    text-decoration: none;
    color: #004973;
    background: #0000000D;
    width: 100%;
    margin: 8px 12px;
    font-family: 'Poppins';
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    max-width: 380px;
    border-radius: 8px;
}

.headersidepanel2 .button-container .flex-container a {
    padding: 0;
    max-width: 100%;
    margin: 0;
}

.headersidepanel2 .button-container h2 {
    font-family: 'Poppins';
    font-weight: 700;
    font-size: 24px;
    line-height: 150%;
    color: #004973;
    width: 100%;
    padding-left: 12px;
    margin-bottom: 0;
    margin-top: 0;
}

.headersidepanel2 .button-container a svg path {
    fill: #004973;
}

.headersidepanel2 .button-container a:hover svg path {
    fill: #fff;
}

.headersidepanel2 .button-container a svg {
    margin-right: 10px;
}

.headersidepanel2 .button-container a:hover {
    text-decoration: none;
    color: #fff;
    background: #004973;
}


.headersidepanel2 .divider {
    width: 2px;
    height: 100%;
    background-color: #004973;
}

.headersidepanel2 .image-container {
    background: #3f3f3f;
    padding: 20px;
    border-radius: 4px;
    height: 70px;
    display: flex;
    align-items: center;
}

.headersidepanel2 .image-container img {
    max-width: 100%;
}

/* ========== CODE BANNER SECTION ========== */
/* Local styles for the code banner section only */

.new-hcpcs-info-table {
    background: transparent;
}

.new-hcpcs-info-grid {
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
    background: #0B4F79;
    /* blue banner */
    color: #fff;
    border-radius: 12px;
    padding: 32px;
    /* requested section padding */
    display: flex;
    /* content-width tiles in one row */
    flex-wrap: wrap;
    /* keep single line */
    justify-content: space-between;
    /* evenly spread items across width */
    gap: 20px;
    /* spacing handled by space-between */
    align-items: flex-start;
}

.new-hcpcs-info-grid.is-cpt-code {
    justify-content: start!important;
}

.new-hcpcs-info-grid.is-cpt-code .item {
    margin-right: 2%;
}

@media (max-width: 1460px) {
    .new-hcpcs-info-grid {
        justify-content: flex-start;
    }
}

/* Each item tile (manufacturer, dosage, descriptor, links, etc.) */
.new-hcpcs-info-grid .item {
    flex: 0 0 auto;
    min-width: 0;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
}

.new-hcpcs-info-grid .item .value {
    display: inline-block;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.25;
    color: #fff;
    margin-bottom: 4px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.new-hcpcs-info-grid .item .label {
    display: inline-block;
    /* size to content */
    font-size: 16px;
    font-weight: 500;
    letter-spacing: .02em;
    color: rgba(255, 255, 255, .85);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Link items should look like the first three text tiles: no background/padding, just underlined text */

/* Make links inside .value look exactly like the .value text */
/* Links inside the top value line */
.new-hcpcs-info-grid .item .value>a:any-link {
    font: inherit;
    /* inherits size/weight/line-height/family */
    letter-spacing: inherit;
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: from-font;
    background: transparent;
    padding: 0;
    border-radius: 0;
}

.new-hcpcs-info-grid .item .value>a:hover {
    text-decoration: underline;
}

.new-hcpcs-info-grid .item .value>a:focus-visible {
    outline: 2px solid rgba(255, 255, 255, .9);
    outline-offset: 2px;
}

/* Optional: at very small widths, allow horizontal scroll to keep items on one row */
@media (max-width: 600px) {
    .new-hcpcs-info-grid {
        overflow-x: auto;
        padding-bottom: 8px;
    }
}

/* ========== TOOL BUTTONS SECTION ========== */
/* Tools row: pill buttons under the banner */
.headersidepanel2 {
    margin-top: 12px;
    padding: 6px 2px;
}

.headersidepanel2 .tools {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    align-items: center;
}

/* Ensure tool buttons sit side-by-side with 16px gap and no trailing space */
.button-container {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    width: auto;
    /* override any global width:100% rules */
    flex: 0 0 auto;
    /* do not grow to fill remaining space */
}

.headersidepanel2 .tools h2 {
    display: none;
}

/* Modern, clean tool button (single class) */
.tool-button {
    --brand: #0B4F79;
    --text: #0B4F79;
    --bg: #FFFFFF;
    --bg-hover: #F6F9FC;
    --border: rgba(2, 6, 23, .12);
    --ring: rgba(11, 79, 121, .16);

    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--bg);
    color: var(--text);
    font-weight: 500;
    font-size: 15px;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;

    position: relative;
    overflow: hidden;
    /* contain sheen/ripple */
    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        box-shadow .25s ease,
        transform .15s ease;
    will-change: transform, box-shadow;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
    /* subtle base elevation */
    -webkit-tap-highlight-color: transparent;
}

/* Hover: lighter surface + soft ring + slight lift */
.tool-button:hover {
    background: var(--bg-hover);
    box-shadow:
        0 4px 10px rgba(16, 24, 40, .08),
        0 1px 2px rgba(16, 24, 40, .06),
        0 0 0 4px var(--ring);
    transform: translateY(-1px);
}

/* Press: gentle compress, tighter ring */
.tool-button:active {
    transform: translateY(0) scale(.985);
    box-shadow:
        0 2px 6px rgba(16, 24, 40, .07),
        0 0 0 2px var(--ring);
}

/* Keyboard focus: clear, accessible ring */
.tool-button:focus-visible {
    outline: none;
    box-shadow:
        0 2px 10px rgba(16, 24, 40, .08),
        0 0 0 4px rgba(11, 79, 121, .32);
}

/* Optional icon micro-motion (safe if no icon present) */
.tool-button svg {
    width: 20px;
    height: 20px;
    display: block;
    transition: transform .25s cubic-bezier(.2, .9, .2, 1);
}

.tool-button:hover svg {
    transform: translateX(2px);
}

.tool-button:active svg {
    transform: translateX(1px) scale(.98);
}

/* Sheen sweep on hover (subtle) */
.tool-button::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg,
            transparent 0%,
            transparent 55%,
            rgba(255, 255, 255, .20) 60%,
            transparent 65%,
            transparent 100%);
    background-size: 220% 100%;
    background-position: -120% 0;
    opacity: 0;
    transition: background-position .6s cubic-bezier(.2, .9, .2, 1), opacity .2s ease;
}

.tool-button:hover::before {
    opacity: 1;
    background-position: 120% 0;
}

/* Lightweight ripple on press (centered by default) */
.tool-button {
    background-image:
        radial-gradient(120px 120px at var(--x, 50%) var(--y, 50%), rgba(11, 79, 121, .12), transparent 60%);
    background-repeat: no-repeat;
    background-size: 0 0;
}

.tool-button:active {
    background-size: 220% 220%;
    transition: background-size .35s ease;
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {

    .tool-button,
    .tool-button:active {
        transition: none;
        transform: none !important;
        box-shadow: 0 1px 2px rgba(16, 24, 40, .06);
    }

    .tool-button::before {
        transition: none;
    }

    .tool-button svg {
        transition: none;
        transform: none !important;
    }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {

    .tool-button,
    .tool-button::before {
        transition: none;
    }

    .tool-button {
        transform: none !important;
        box-shadow: none !important;
        background-size: 0 0 !important;
    }

    .tool-button svg {
        transition: none;
        transform: none !important;
    }
}

.headersidepanel2 .tooltip .tooltip-text {
    display: none;
}

/* ========== CODE ACTIONS ROW & SUBTABS ========== */
/* Actions row below the blue info bar: left subtabs + right tools */
/* add styles for code-actions-row-multicode */
.code-actions-row,
.code-actions-row-multicode {
    width: 90%;
    margin: 45px auto 0;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    border-bottom: 1px solid #bac4cc;
    flex-wrap: wrap;
}

.code-actions-row .subtabs,
.code-actions-row-multicode .subtabs {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: nowrap;
}

a.subtab__btn {
    font-family: Arial;
}

@media (min-width: 1200px) and (max-width: 1565px) {
    .code-actions-row,
    .code-actions-row-multicode {
        width: 96%;
    }

    .code-actions-row {
        .button-container a,
        .button-container form {
            font-size: clamp(12px, 0.8vw + 2.4px, 14px) !important;
            padding: 0px 5px;
        }

        .subtabs {
            gap: 5px !important;
        }

        .subtabs button,
        .subtabs a {
            font-size: clamp(12px, 0.8vw + 2.4px, 14px) !important;
            padding: 20px 10px !important;
        }
    }
}

/* responsive layout for code actions row */
@media (max-width: 1200px) {

    .code-actions-row,
    .code-actions-row-multicode {
        flex-direction: column;
        gap: 15px;
    }

    .code-actions-row .subtabs,
    .code-actions-row-multicode .subtabs {
        margin-bottom: 0;
    }
}

/* unify subtab button base styles for single and multi-code */
.code-actions-row .subtab__btn,
.code-actions-row-multicode .subtab__btn {
    appearance: none;
    -webkit-appearance: none;
    background: transparent;
    border: none;
    color: #333;
    padding: 20px 24px;
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
    margin-bottom: -2px;
}

/* unify active state for both variants */
.code-actions-row .subtab__btn.active,
.code-actions-row-multicode .subtab__btn.active {
    background: #0B4F79;
    /* brand blue */
    color: #ffffff;
    /* white label */
}

/* Smooth transitions + prep for effects */
.code-actions-row .subtab__btn,
.code-actions-row-multicode .subtab__btn {
    position: relative;
    overflow: hidden;
    /* for ripple/sheen */
    transition:
        background-color .25s ease,
        color .25s ease,
        box-shadow .25s ease,
        transform .15s ease;
    will-change: transform, box-shadow;
}

/* Hover: gentle lift + soft shadow */
.code-actions-row .subtab__btn:hover,
.code-actions-row-multicode .subtab__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .06);
}

/* Press: subtle compress */
.code-actions-row .subtab__btn:active,
.code-actions-row-multicode .subtab__btn:active {
    transform: translateY(0) scale(.985);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .05);
}

/* Keyboard focus: visible and accessible */
.code-actions-row .subtab__btn:focus-visible,
.code-actions-row-multicode .subtab__btn:focus-visible {
    outline: 2px solid #0B4F79;
    outline-offset: 2px;
}

/* Animated underline (shows on hover/focus, persists on .active) */
.code-actions-row .subtab__btn::after,
.code-actions-row-multicode .subtab__btn::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -2px;
    height: 2px;
    background: #0B4F79;
    transform: scaleX(0);
    transform-origin: left center;
    opacity: 0;
    transition: transform .25s ease, opacity .2s ease;
}

/* show underline on hover and focus */
.code-actions-row .subtab__btn:hover::after,
.code-actions-row .subtab__btn:focus-visible::after,
.code-actions-row-multicode .subtab__btn:hover::after,
.code-actions-row-multicode .subtab__btn:focus-visible::after {
    transform: scaleX(1);
    opacity: .9;
}

/* active underline */
.code-actions-row .subtab__btn.active::after,
.code-actions-row-multicode .subtab__btn.active::after {
    transform: scaleX(1);
    opacity: 1;
}

/* Active: smooth color change */
.code-actions-row .subtab__btn.active,
.code-actions-row-multicode .subtab__btn.active {
    transition: background-color .25s ease, color .25s ease, box-shadow .25s ease;
}

/* Optional: lightweight ripple on click (pure css) */
.code-actions-row .subtab__btn,
.code-actions-row-multicode .subtab__btn {
    background-image: radial-gradient(120px 120px at var(--x, 50%) var(--y, 50%), rgba(255, 255, 255, .25), transparent 60%);
    background-repeat: no-repeat;
    background-size: 0 0;
}

.code-actions-row .subtab__btn:active,
.code-actions-row-multicode .subtab__btn:active {
    background-size: 240% 240%;
    transition: background-size .35s ease;
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {

    .code-actions-row .subtab__btn,
    .code-actions-row-multicode .subtab__btn {
        transition: none;
        transform: none !important;
        box-shadow: none !important;
    }

    .code-actions-row .subtab__btn::after,
    .code-actions-row-multicode .subtab__btn::after {
        transition: none;
    }
}

/* add multi-code support for tools section */
.code-actions-row .tools,
.code-actions-row-multicode .tools {
    margin-left: auto;
    padding-bottom: 5px;
    flex-wrap: wrap;
}

.code-actions-row .tools a,
.code-actions-row-multicode .tools a {
    padding: 0px 12px;
    border-radius: 10px;
    border: 1px solid #0000001F;
    font-size: 14px;
}

.code-actions-row .tools a:hover,
.code-actions-row-multicode .tools a:hover {
    background: #004973;
    color: #fff;
    box-shadow: none;
    transform: translateY(-1px);
}

.chartdiv .toolbox select {
    padding: 5px 10px 5px 5px;
    margin: -5px 0;
    font-size: 16px;
    border-radius: 5px;
}

/* MAIN TABLE */
.wrapper-section-maintable {
    background-color: #fff;
}

.tbl-main .tableheadernav img {
    height: 25px;
    width: 25px;
}

.tbl-main .tableheader {
    background-color: #004973;
    border-radius: 8px;
    text-wrap: nowrap;
    font-weight: bold;
}

.tooltip {
    position: relative;
    cursor: pointer;
    display: inline-block;
}

.tooltip .tooltip-text {
    visibility: hidden;
    background-color: #333;
    color: #fff;
    text-align: center;
    padding: 4px 8px;
    border-radius: 4px;
    position: absolute;
    z-index: 1;
    bottom: 125%;
    /* Position above */
    left: 50%;
    transform: translateX(-50%);
    opacity: 0;
    transition: opacity 0.2s;
    white-space: nowrap;
}

.tooltip:hover .tooltip-text {
    visibility: visible;
    opacity: 1;
}

.ndc-sub-button a {
    color: #004972;
}


@media (max-width: 1200px) {

    .headersidepanel1,
    .headersidepanel2 {
        width: 100%;
    }

    .info-grid {
        border-radius: 8px 8px 0 0;
        width: 100%;
    }

    .headersidepanel2 .button-container {
        border-radius: 0 0 8px 8px;
    }
}


/* viewport scaling for screens between 1024px and 1920px */
@media (min-width: 1024px) and (max-width: 1920px) {
    .responsive-table {
        overflow-x: hidden;
        padding: clamp(10px, 2vw, 20px);
    }

    .tbl-main tr:nth-child(n+3) td:nth-child(n+3) {
        padding: clamp(6px, 1vw, 12px);
        font-size: clamp(12px, 0.9vw, 17px);
    }

    .chartdiv {
        padding: clamp(15px, 3vw, 20px) clamp(30px, 5vw, 70px) clamp(20px, 4vw, 40px);
    }

    .chartdiv .toolbox select {
        font-size: clamp(14px, 1vw, 16px);
        padding: clamp(4px, 0.5vw, 5px) clamp(8px, 1vw, 10px);
    }
}

/* specific breakpoints for common laptop resolutions */

/* 1366px - hd laptops and scaled displays */
@media (min-width: 1024px) and (max-width: 1366px) {
    .tbl-main {
        width: 100%;
        font-size: clamp(11px, 1vw, 14px);
    }

    .tbl-main .tableheader {
        font-size: clamp(10px, 0.9vw, 12px);
        padding: clamp(4px, 0.8vw, 8px);
    }

    .tbl-main td {
        padding: clamp(4px, 0.8vw, 8px);
    }
}

/* 1440px - macbook pro 13" scaled */
@media (min-width: 1367px) and (max-width: 1440px) {
    .tbl-main {
        font-size: clamp(12px, 1vw, 14px);
    }

    .tbl-main .tableheader {
        font-size: clamp(11px, 0.95vw, 13px);
    }
}

/* 1680px - macbook pro 16" scaled */
@media (min-width: 1537px) and (max-width: 1680px) {
    .tbl-main {
        font-size: clamp(13px, 1vw, 15px);
    }

    .tbl-main .tableheader {
        font-size: clamp(12px, 0.95vw, 14px);
    }
}

/* flexible table layout for all desktop screens */
@media (min-width: 1024px) {
    .wrapper-section-maintable {
        overflow: auto;
    }

    .tbl-main {
        table-layout: auto;
        width: 100%;
    }

    .tbl-main .tableheader {
        text-wrap: wrap;
        white-space: normal;
        word-wrap: break-word;
    }

    .tbl-main td {
        min-width: fit-content;
        max-width: 100%;
    }

    .tbl-main .ndc-sub-button a {
        font-size: clamp(14px, 1vw, 16px);
        padding: clamp(8px, 1vw, 12px);
    }
}

/* very narrow laptop screens */
@media (min-width: 1024px) and (max-width: 1280px) {
    .responsive-table {
        padding: clamp(8px, 1.5vw, 15px);
    }

    .tbl-main {
        font-size: clamp(10px, 0.85vw, 13px);
    }

    .tbl-main .tableheader {
        font-size: clamp(9px, 0.8vw, 11px);
        padding: clamp(3px, 0.5vw, 6px);
    }

    .tbl-main td {
        padding: clamp(3px, 0.5vw, 6px);
    }

    .tbl-main .ndc-sub-button a {
        font-size: clamp(14px, 0.85vw, 13px);
        padding: clamp(6px, 0.8vw, 10px);
    }
}

/* improve responsiveness for standard full hd displays */
@media (min-width: 1681px) and (max-width: 1920px) {
    .tbl-main {
        font-size: 14px;
    }

    .tbl-main .tableheader {
        font-size: 13px;
    }
}

/* responsive improvements for info grid on desktop/laptop */
@media (min-width: 1024px) and (max-width: 1460px) {
    .new-hcpcs-info-grid {
        width: 95% !important;
        padding: clamp(16px, 2.5vw, 32px) !important;
        gap: clamp(12px, 1.5vw, 20px) !important;
    }

    .new-hcpcs-info-grid .item .value {
        font-size: clamp(14px, 1.3vw, 17px) !important;
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
        word-break: break-word !important;
    }

    .new-hcpcs-info-grid .item .label {
        font-size: clamp(13px, 1.2vw, 16px) !important;
    }
}

/* very narrow laptop screens */
@media (min-width: 1024px) and (max-width: 1280px) {
    .new-hcpcs-info-grid {
        width: 98% !important;
        padding: clamp(12px, 2vw, 24px) !important;
        gap: clamp(8px, 1.2vw, 16px) !important;
    }

    .new-hcpcs-info-grid .item .value {
        font-size: clamp(13px, 1.2vw, 15px) !important;
        max-width: 180px !important;
    }

    .new-hcpcs-info-grid .item .label {
        font-size: clamp(12px, 1.1vw, 14px) !important;
    }
}

@media (max-width: 1400px) {
    .tbl-main .tableheader {
        font-size: 12px;
        line-height: 22px;
        vertical-align: middle;
        text-wrap: wrap;
    }

    .tbl-main tr:nth-child(n+3) td:nth-child(n+3) {
        vertical-align: middle;
    }

    .tbl-main .ndc-sub-button {
        vertical-align: middle;
    }

}

.tbl-main .ndc-sub-button a:hover {
    background: #004973;
    color: white !important;
}

/* ========== TOP HERO HEADER ========== */
/* Top hero header */
.top-hero {
    position: relative;
    width: 100%;
    background-image: url('https://reports.buyandbill.com/wp-content/uploads/2023/04/billboard.jpeg');
    background-size: cover;
    background-position: center;
    overflow: hidden;
    margin-bottom: 28px;
    /* space before next section */
    min-height: 160px;
    /* slightly taller for better composition */
}

.top-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(11, 79, 121, 0.75) 0%, rgba(11, 79, 121, 0.75) 100%);
}

.top-hero__inner {
    position: relative;
    z-index: 1;
    width: 90%;
    margin: 0 auto;
    min-height: 180px;
    /* match hero height */
    display: flex;
    align-items: center;
    justify-content: start;
}

.top-hero .new-hcpcs-title h1 {
    color: #ffffff;
    margin: 0;
}

.top-hero__tabs {
    position: absolute;
    right: 0%;
    bottom: -1px;
    display: flex;
    gap: 10px;
    z-index: 2;
}

/* Reuse subtab button styles inside hero */
.top-hero__tabs .subtab__btn {
    background: #ECF2F6;
    /* subtle gray pill for inactive */
    border: 1px solid #D0DDE7;
    /* light border */
    color: #004973;
    /* slightly darker text */
    padding: 16px 24px;
    /* unified padding with lower tabs */
    border-top-left-radius: 17px;
    border-top-right-radius: 17px;
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
    font-weight: 700;
    font-size: 16px;
    /* unified font size */
    margin-bottom: -2px;
    cursor: pointer;
}

.top-hero__tabs .subtab__btn:hover {
    background: #C2D8ED;
    /* requested active background */
    border-color: #C2D8ED;
    /* seamless with active fill */
}

.top-hero__tabs .subtab__btn.active {
    background: #C2D8ED;
    /* requested active background */
    color: #004973;
    /* brand blue text */
    border-color: #C2D8ED;
    /* seamless with active fill */
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

/* === Micro-animations for subtab buttons === */
.top-hero__tabs .subtab__btn {
    position: relative;
    overflow: hidden;
    /* for underline/ink effects */
    transition:
        background-color .25s ease,
        border-color .25s ease,
        color .25s ease,
        box-shadow .25s ease,
        transform .15s ease;
    /* lift/press */
    will-change: transform, box-shadow;
}

/* Hover: gentle lift + soft shadow (no layout shift) */
.top-hero__tabs .subtab__btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .06);
}

/* Pressed state: snap back with a tiny compress */
.top-hero__tabs .subtab__btn:active {
    transform: translateY(0) scale(0.99);
    box-shadow: 0 2px 6px rgba(0, 0, 0, .05);
}

/* Keyboard focus: visible, accessible */
.top-hero__tabs .subtab__btn:focus-visible {
    outline: 2px solid #004973;
    outline-offset: 2px;
}

/* Animated underline that appears on hover and persists on .active */
.top-hero__tabs .subtab__btn::after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -1px;
    /* aligns with bottom border */
    height: 2px;
    background: #004973;
    /* brand blue */
    transform: scaleX(0);
    transform-origin: left center;
    opacity: 0;
    transition: transform .25s ease, opacity .2s ease;
}

.top-hero__tabs .subtab__btn:hover::after,
.top-hero__tabs .subtab__btn:focus-visible::after {
    transform: scaleX(1);
    opacity: 0.85;
}

.top-hero__tabs .subtab__btn.active::after {
    transform: scaleX(1);
    opacity: 1;
}

/* Optional: subtle "sheen" sweep on hover (keeps your colors) */
.top-hero__tabs .subtab__btn::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg,
            transparent 0%,
            transparent 55%,
            rgba(255, 255, 255, .20) 60%,
            transparent 65%,
            transparent 100%);
    background-size: 220% 100%;
    background-position: -120% 0;
    transition: background-position .6s cubic-bezier(.2, .9, .2, 1);
    opacity: 0;
    /* off by default */
}

.top-hero__tabs .subtab__btn:hover::before {
    opacity: 1;
    background-position: 120% 0;
    /* sweep across */
}

/* Respect motion preferences */
@media (prefers-reduced-motion: reduce) {
    .top-hero__tabs .subtab__btn {
        transition: none;
        transform: none !important;
    }

    .top-hero__tabs .subtab__btn::after,
    .top-hero__tabs .subtab__btn::before {
        transition: none;
    }
}

/* Top hero banners - top right corner */
.top-hero__banners {
    position: absolute;
    top: 10px;
    right: 0px;
    display: flex;
    gap: 12px;
    z-index: 3;
    max-width: 730px;
}

.top-hero__banners .c-img-msg-bx {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    max-width: 730px;
    height: 90px;
}

.top-hero__banners .c-img-msg-bx:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.top-hero__banners .c-img-msg-bx a {
    display: block;
    text-decoration: none;
    height: 100%;
}

.top-hero__banners .c-img-msg-bx img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.top-hero__banners .c-img-msg-bx p {
    padding: 8px 12px;
    margin: 0;
    font-size: 13px;
    color: #333;
    line-height: 1.4;
}

/* responsive adjustments */
@media (max-width: 1024px) {
    .top-hero__banners {
        max-width: 40%;
    }
}

@media (max-width: 768px) {
    .top-hero__banners {
        position: static;
        max-width: 100%;
        margin-top: 12px;
        flex-wrap: wrap;
    }

    .subtabs .subtab__btn {
        padding: 15px 10px;
    }
}

.popup-calculator {
    border-radius: 30px;
    max-width: 950px;
}

.popup-calculator .popup-exit {
    width: 15px;
    height: 15px;
    z-index: 1000;
    cursor: pointer;
}

.tbl-main .ndc-sub-button a {
    text-decoration: none;
    display: grid;
    align-items: center;
    width: auto;
    height: 100%;
    /*min-height: 46px; remove forcing height */
    border-radius: 8px;
    font-weight: 600;
}

.ndc-sub-button.active {
    background-color: #004973 !important;
}

.tbl-main .active a {
    background-color: #004973;
    color: #ffffff !important;
}

.tbl-main .tip {
    float: right !important;
    text-decoration: none !important;
    display: none;
}

.tbl-main .ndc-sub-button {
    background-color: #BDD9EF;
    border-radius: 8px;
    text-decoration: none;
    padding: unset !important;
}

/*.tbl-main td {*/
/*    line-height: 2rem; remove forcing height*/
/*}*/

.tbl-main tr:nth-child(n+3) td:nth-child(n+3) {
    background-color: #f1f1f1;
    color: #000;
    border-radius: 5px;
    /* font-weight: 600; */
}


/* ndc grid row font size */
tr.ndc-grid-row tr td {
    font-size: 12px !important;
}

/* sub table */
table.list-medcl tr:first-child td {
    background-color: #004973 !important;
}

.search-page .wrapper-section-maintable table.list-medcl tr:first-child td:hover {
    background-color: #fff !important;
}

table.list-medcl tr:first-child td span {
    color: white !important;
}

.search-page .wrapper-section-maintable table.list-medcl tr:first-child td:hover span {
    color: #004973 !important;
}

table.list-medcl td {
    background-color: #E2ECF5 !important;
    color: #000;
    line-height: 1rem;
}

table.list-medcl.cpt-admin-table tr:nth-child(n+2) td:nth-last-child(1) {
    background-color: #004973 !important;
}

table.list-medcl td:nth-last-child(2) {
    min-width: 255px;
}


/* CHART */


.chartdiv .chartheading {
    color: #004973;
    padding: 1% 0%;
}

.chartdiv .chartselectors {
    color: #000;
    display: flex;
    flex-wrap: wrap;
}

.chartdiv .toolbox {
    color: #000;
    display: flex;
    gap: 10px;
    margin-top: 2%;
    display: flex;
    padding: 15px 0;
    flex-wrap: wrap;
    align-items: center;
}

.chartdiv .chartsubheading {
    padding: 1% 2%;
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
}

.chartdiv .chartsubheading .toolbar {
    background-color: #fff !important;
    padding: 0px !important;
    color: #000;
}

.chartdiv .chartsubheading .toolbar span {
    color: #004973;
}


.chartdiv .c-sub-tab {
    color: #000;
    background-color: #fff !important;
}

.chartdiv .c-sub-tab .c-drugname strong {
    color: #004973;
}

.chartdiv .c-sub-tab .c-drugname-code strong {
    color: #004973;
}

#chart-container0 {
    overflow-x: auto;
}

/* CACULATOR POPUP */

.popup-box .popup-top {
    display: flex;
    justify-content: space-between;
    align-items: start;
    padding: 10px 10px;
}

.popup-top p {
    color: #000;
    margin-top: 0;
    font-weight: 600;
    font-size: 14px;
    line-height: 16px;
}

.popup-box #text {
    display: none;
}

.popup-box .maincontent {
    display: flex;
    flex-wrap: wrap;
}

.popup-box .code-info-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 24px;
    background-color: #004973;
    color: #FFFFFF;
    width: 100%;
    border-radius: 14px;
    margin-bottom: 20px;
}

.code-info-row h2 {
    font-family: 'Poppins';
    font-weight: 600;
    line-height: 150%;
    color: #FFFFFFE5;
}

.calculator-bottom {
    border: 1px solid #00000014;
    border-radius: 30px;
}

.second-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    border-top-left-radius: 30px;
    border-top-right-radius: 30px;
    flex-wrap: wrap;
}

.benchmark-price {
    padding: 25px;
}

.packages-markup {
    flex: 1;
    padding: 25px;
}

.popup-box .button-calculate {
    font-family: Open Sans;
    line-height: 16px;
    text-align: center;
    vertical-align: middle;
    min-width: 150px;
    background: #004973 !important;
    color: white !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 18px 55px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.2s ease !important;
    margin-top: 12px;
    margin-right: 18px;
    margin-left: 12px;
}

.popup-box .button-calculate:hover {
    background: #dc3545;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    transform: translateY(-1px);
    color: white;
    border: 0;
}

.popup-box .result-buttons {
    flex: 1;
    min-width: 250px;
}


/* botom buttons */
.clear-all:hover,
.print-all:hover,
.export-all:hover {
    background: #BDD9EF !important;
    color: #004973 !important;
}

.clear-all,
.print-all,
.export-all {
    background: #004973 !important;
    color: white !important;
}

/* First column */
.popup-box .code-info-column {
    display: flex;
    flex-flow: column;
    min-height: 100%;
    gap: 20px;
    width: 200px;
    height: 160px;
    align-items: baseline;
    justify-content: center;
    border-right: solid 2px #000;

}

.popup-drug-name {
    font-size: 18px;
    margin-top: 0;
    font-weight: 700;
    color: #FFFFFF;
    margin-bottom: 5px !important;
}

.popup-first-row-text {
    margin: 0px !important;
    font-weight: 400;
    font-size: 14px;
    line-height: 100%;
    color: #FFFFFF99;
}

.popup-hcpcs-code {
    font-size: 18px;
    font-weight: 600;
    margin-top: 0;
    color: #FFFFFF;
    text-align: center !important;
    margin-bottom: 5px !important;
}

.popup-ndc {
    font-size: 18px;
    font-weight: 600;
    color: #FFFFFF;
    text-align: center !important;
    margin-bottom: 5px !important;
    margin-top: 0;
}

.row-price-popup {
    font-size: 18px;
    margin-top: 0;
    font-weight: 600;
    color: #FFFFFF;
    text-align: left !important;
    margin-bottom: 5px !important;
}

/* second column */
.popup-box .benchmark-price label {
    font-size: 12px;
    color: #000;
    font-family: 'Poppins';
    font-weight: 500;
    line-height: 16px;
}

.popup-header__inner {
    padding: 0px 0px;
    border-top: 1px solid #00000014;
    padding: 0px 10px 0px 10px;
}

.popup-box .benchmark-price select {
    width: 100%;
    height: 40px;
    margin-top: 6px;
    margin-bottom: 14px;
    border-color: #000 !important;
    border-radius: 12px !important;
    padding: 10px !important;
    font-size: 14px !important;
    background-color: #ffffff;
    border: 1px solid #000;
}

/* third column */
.popup-box .packages-markup label {
    font-size: 12px;
    color: #000;
}

.popup-box .packages-markup input {
    width: 100%;
    height: 18px;
    margin-top: 6px;
    margin-bottom: 14px;
    border-color: #000 !important;
    border-radius: 12px !important;
    padding: 10px !important;
    font-size: 14px !important;
    background-color: #ffffff !important;
    border: 1px solid #000;
}

/* fourth column */
.popup-box .calculatorbuttons-container {
    display: flex;
    flex-direction: column;
}

.popup-content .button {
    padding-top: 5px !important;
    padding-left: 0px !important;
    float: none !important;
    width: 100% !important;
}

.popup-box .result-buttons .button-calculate {
    width: 100%;
    background: #004973 !important;
    color: white !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 15px !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1) !important;
    transition: all 0.3s ease !important;
}

.popup-box .result-buttons .button-calculate:hover {
    background: #0071bc;
    transform: translateY(-2px);
    box-shadow: 0 6px 8px rgba(0, 0, 0, 0.15);
}

.popup-box .result-buttons .butn-save-cntr {
    width: 98%;
}

.popup-box .result-buttons {
    width: 100%;
    border-radius: 8px;
    padding: 15px;
    font-size: 18px;
    font-weight: 600;
}

.popup-table {
    background: white;
    margin-top: 20px;
}

.popup-table table {
    width: 100%;
    border-collapse: collapse;
}

.header-row th:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
}

.header-row th:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
}

.header-row td {
    border-right: none;
    border-left: none;
}

.popup-table th {
    color: #fff;
    font-weight: 600;
    text-align: left;
    padding: 12px 15px;
    font-size: 12px;
    white-space: nowrap;
}

.popup-table td,
.popup-table th {
    padding: 12px 15px;
    font-size: 12px;
}

/* Popup overall styling */
.popup-box {
    border-radius: 6px;
    padding: 8px;
    overflow: hidden;
}

.popup-box .maincontent {
    display: flex;
    flex-wrap: wrap;
}

.popup-box .code-info-column {
    flex: 1;
    min-width: 200px;
    padding: 20px;
    border-right: solid 2px #000;
}

.popup-box .benchmark-price {
    flex: 1;
    padding: 20px 0px 20px 20px;
}

.popup-box .packages-markup {
    flex: 1;
    padding: 20px;
}

.popup-box .result-buttons {
    flex: 1;
    min-width: 200px;
}

/* hide header */
.popup-header {
    display: none;
}

/* popup table */
.popup-table tr:first-child th {
    background-color: #BDD9EF;
    color: #000;
    height: 22px;
    font-family: 'Poppins';
    font-weight: 400;
    font-size: 12px;
    line-height: 16px;
}

.popup-table th {
    border-left: solid 0.0px;
    border-right: solid 0.0px;
    font-size: 0.8rem;
    padding: 5px 3px !important;
}

.saved_bb_row {
    font-family: 'Poppins';
    font-weight: 400;
    border-top: 1px solid #e5e3e3;
    color: #00000099;
    font-size: 10px;
    font-weight: 600;
}

.saved_bb_row__charge {
    color: #000000;
    font-weight: 600;
    font-size: 14px;
    line-height: 16px;
    padding: 5px 3px;
}

.popup-table .charge-cell {
    text-align: center;
    padding: 5px !important;
}

.wrapper-section-header {
    background-color: #E2ECF5;
    padding: 20px 0;
}

.ndc-package-btn {
    cursor: pointer;
    margin-right: 10px;
}

.icon-column {
    width: 41px;
}

@media (max-width: 992px) {

    .popup-drug-name {
        line-height: 45px;
    }

    .popup-box .code-info-column {
        width: 100%;
        border-right: 0;
        line-height: 15px;
        height: auto;
    }

    .popup-box .maincontent {
        flex-wrap: wrap;
    }

    .popup-box .benchmark-price {
        padding: 0 20px;
        width: 100%;
    }

    .popup-box .packages-markup {
        padding: 0 20px;
        width: 100%;
    }

    .popup-box .result-buttons {
        width: 100%;
    }

    .popup.visible {
        width: 80%;
        margin: auto;
    }

    .cpt-code-footer {
        flex-wrap: wrap;
    }

    .popup-box .benchmark-price select {
        width: 100%;
    }

    .popup-box .packages-markup input {
        width: 100%;
    }
}

.show-ndc-info-button {
    display: inline-block;
    min-width: 180px;
    text-align: center;
    margin: 0;
    padding: 0.75rem 1.5rem;
    background: #004973;
    color: #fff;
    border-radius: 8px;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
    transition: background 0.2s;
    box-shadow: none;
    border: none;
    cursor: pointer;
}

.show-ndc-info-button:hover {
    background: #0071bc;
}



.un_assigned_hcpcs_wrapper {
    position: absolute;
    z-index: 1000;
    left: 56%;
    transform: translate(-50%, -50%);
    background: white;
    padding: 18px 22px;
    border-radius: 12px;
    color: black;
    bottom: 63px;
}

/* Sorting styles with svg icons - only header row */
tr:first-child>td[data-column] {
    position: relative;
    transition: background-color 0.2s;
    padding-right: 28px !important;
    /* space for icon */
}

td[data-column]:hover {
    background-color: #e0e0e0 !important;
}

/* default sortable indicator (both arrows) - only on header row */
tr:first-child>td[data-column]::after {
    content: "";
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M7 3L4 6h6L7 3z' fill='%23ffffff' opacity='0.5'/%3E%3Cpath d='M7 11l3-3H4l3 3z' fill='%23ffffff' opacity='0.5'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* ascending sort (up arrow) */
tr:first-child>td[data-column].sort-asc::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M7 3L4 6h6L7 3z' fill='%23ffffff'/%3E%3Cpath d='M7 11l3-3H4l3 3z' fill='%23ffffff' opacity='0.3'/%3E%3C/svg%3E");
}

/* descending sort (down arrow) */
tr:first-child>td[data-column].sort-desc::after {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M7 3L4 6h6L7 3z' fill='%23ffffff' opacity='0.3'/%3E%3Cpath d='M7 11l3-3H4l3 3z' fill='%23ffffff'/%3E%3C/svg%3E");
}

tr:first-child>td[data-column] span {
    pointer-events: none;
}

/* Make sortable columns more visually distinct - only header row */
tr:first-child>td[data-column] span {
    color: #004972 !important;
    font-weight: 500;
}

/* Add subtle border to sortable columns - only header row */
tr:first-child>td[data-column] {
    border-left: 2px solid #e0e0e0;
    border-right: 2px solid #e0e0e0;
}

/* Filter controls styling */
.ndc-filters {
    border-radius: 4px;
    margin-bottom: 5px;
}

.ndc-filters input {
    transition: border-color 0.2s;
}

.ndc-filters input:focus {
    outline: none;
    border-color: #004972;
    box-shadow: 0 0 3px rgba(0, 73, 114, 0.3);
}

.ndc-filters button:hover {
    background-color: #003d5f !important;
}

.ndc-filters label {
    font-weight: 500;
}

/* Table filter input styling */
table input[type="text"] {
    transition: all 0.2s ease;
}

table input[type="text"]:focus {
    outline: none;
    border-color: #004972 !important;
    box-shadow: 0 0 3px rgba(0, 73, 114, 0.3);
    background-color: #fff;
}

table input[type="text"]:hover {
    border-color: #999;
}

/* Filter row styling */
tr:has(input[type="text"]) {
    background-color: #f8f8f8 !important;
}

tr:has(input[type="text"]) td {
    border-bottom: 1px solid #ddd;
}


.global-footer .footer-third-row a {
    color: #ffffff7a;
    text-decoration: none;
}


.select2-results__option {
    color: black !important;
}

.cpt-rate-modal-container {
    display: none;
    position: fixed;
    z-index: 100000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    align-items: center;
    justify-content: center;
}

.cpt-rate-modal {
    background: #fff;
    max-width: 1020px;
    width: 95%;
    margin: auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    position: relative;
    padding: 32px 24px 24px 24px;
    font-family: 'Open Sans', Arial, sans-serif;
    max-height: 80vh;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
}

.cpt_rate_modal_title {
    font-weight: 700;
    font-size: 2rem;
    margin-bottom: 18px;
    color: #004973;
    font-family: 'Open Sans', Arial, sans-serif;
}


.cpt-rate-modal-dropdowns {
    display: flex;
    gap: 15px;
}

.cpt-rate-modal-dropdown-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    color: black;
    margin: 0 auto;
    width: 100%;
}

.cpt-rate-modal-dropdown {
    width: 50%;
}

.cpt-rate-modal-dropdown-select {
    flex: 1;
    padding: 8px 5px 10px 16px;
    border: 1px solid #ccc;
    border-radius: 9px;
    font-size: 1rem;
    outline: none;
    background: white;
    appearance: none;
    width: 100%;
    min-height: 43px;
    color: #0000009e;
    cursor: pointer;
    transition: all 0.2s ease;
    background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path fill="%23666" d="M6 8L0 2h12z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 16px center;
    background-size: 12px;
}

.cpt-rate-modal-dropdown-select:hover {
    border-color: #999;
    box-shadow: rgba(99, 99, 99, 0.1) 0px 1px 4px 0px;
}

.cpt-rate-modal-dropdown-select:focus {
    border-color: #004972;
    box-shadow: rgba(0, 73, 114, 0.2) 0px 2px 8px 0px;
}

/* Style dropdown container - Always keep border-radius */
.cpt-rate-modal-dropdown-select {
    border-radius: 9px !important;
}

/* Style dropdown options */
.cpt-rate-modal-dropdown-select option {
    padding: 8px 12px;
    font-size: 1rem;
    color: #333;
    background: white;
    border: none;
}

.cpt-rate-modal-dropdown-select option:hover {
    background: #f8f9fa;
    color: #333;
}

.cpt-rate-modal-dropdown-select option:checked {
    background: #004972;
    color: white;
    font-weight: 500;
}

.cpt-rate-modal-dropdown-select option:disabled {
    color: #999;
    background: #f5f5f5;
}

/* Enhanced dropdown styling for better appearance */
.cpt-rate-modal-dropdown-select {
    /* Enhanced appearance properties */
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* Firefox specific styling */
@-moz-document url-prefix() {
    .cpt-rate-modal-dropdown-select {
        text-indent: 0.01px;
        text-overflow: '';
    }

    .cpt-rate-modal-dropdown-select option {
        padding: 8px 12px !important;
        background: white !important;
        color: #333 !important;
    }

    .cpt-rate-modal-dropdown-select option:hover {
        background: #f8f9fa !important;
    }
}

/* WebKit specific styling */
@media screen and (-webkit-min-device-pixel-ratio:0) {
    .cpt-rate-modal-dropdown-select {
        background-image: url('data:image/svg+xml;charset=US-ASCII,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 8"><path fill="%23666" d="M6 8L0 2h12z"/></svg>') !important;
    }
}

/* Ensure consistent border-radius across browsers */
select.cpt-rate-modal-dropdown-select {
    border-radius: 9px !important;
}

/* When dropdown is open, adjust select box corners */
/* select.cpt-rate-modal-dropdown-select:focus,
select.cpt-rate-modal-dropdown-select:active {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
} */

/* Try to style the dropdown container - limited browser support */
select.cpt-rate-modal-dropdown-select::-ms-expand {
    display: none;
}

/* Webkit dropdown styling */
select.cpt-rate-modal-dropdown-select::-webkit-select-dropdown {
    border-radius: 0 0 9px 9px !important;
    border: 1px solid #ccc !important;
    border-top: none !important;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px !important;
}

/* Firefox dropdown styling */
@-moz-document url-prefix() {
    select.cpt-rate-modal-dropdown-select {
        border-radius: 9px !important;
    }

    /* select.cpt-rate-modal-dropdown-select:focus {
        border-bottom-left-radius: 0 !important;
        border-bottom-right-radius: 0 !important;
    } */
}


/* select2 sryling start */
.cpt-rate-modal-dropdown-form .select2-container {
    width: 100% !important;
}

.cpt-rate-modal-dropdown-form .select2-selection--multiple {
    border: 1px solid #ccc !important;
    border-radius: 9px !important;
    padding: 8px 5px 10px 40px !important;
    min-height: 43px !important;
    background: white !important;
    position: relative !important;
    font-size: 1rem !important;
    outline: none !important;
}

.cpt-rate-modal-dropdown-form .select2-selection--multiple:before {
    content: "";
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    width: 18px;
    height: 18px;
    background: url('data:image/svg+xml;charset=US-ASCII,<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 21L16.514 16.506L21 21ZM19 10.5C19 15.194 15.194 19 10.5 19C5.806 19 2 15.194 2 10.5C2 5.806 5.806 2 10.5 2C15.194 2 19 5.806 19 10.5Z" stroke="%23999" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat;
    background-size: contain;
    z-index: 1;
}

.cpt-rate-modal-dropdown-form .select2-selection__rendered {
    padding: 0 !important;
    margin: 0 !important;
}

.cpt-rate-modal-dropdown-form .select2-search--inline {
    float: none !important;
    display: inline-block !important;
    width: 400px !important;
}

.cpt-rate-modal-dropdown-form .select2-search--inline .select2-search__field {
    border: none !important;
    outline: none !important;
    padding: 0 !important;
    font-size: 1rem !important;
    background: transparent !important;
    margin: 0 !important;
    min-width: 150px !important;
}

.cpt-rate-modal-dropdown-form .select2-search--inline .select2-search__field::placeholder {
    color: #999 !important;
}

.cpt-rate-modal-dropdown-form .select2-selection__choice {
    margin: 1px
}

.cpt-rate-modal-dropdown-form .select2-selection__choice__remove {
    color: #1976d2 !important;
    margin-right: 5px !important;
}

.cpt-rate-modal-dropdown-form .select2-selection__choice__remove:hover {
    color: red !important;
}

/* Hide the default dropdown arrow for Select2 */
.cpt-rate-modal-dropdown-form .select2-selection__arrow {
    display: none !important;
}

/* Select2 Dropdown Styling */
.cpt-rate-modal-dropdown-form .select2-container--open .select2-dropdown--below {
    border: 1px solid #ccc !important;
    border-top: none !important;
    border-radius: 0 0 9px 9px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    margin-top: -1px !important;
}

.cpt-rate-modal-dropdown-form .select2-dropdown {
    background: white !important;
    border: 1px solid #ccc !important;
    border-radius: 0 0 9px 9px !important;
}

.cpt-rate-modal-dropdown-form .select2-results__options {
    max-height: 200px !important;
    overflow-y: auto !important;
}

.cpt-rate-modal-dropdown-form .select2-results__option {
    padding: 8px 12px !important;
    font-size: 1rem !important;
    color: #333 !important;
    background: white !important;
    border-bottom: 1px solid #f0f0f0 !important;
}

.cpt-rate-modal-dropdown-form .select2-results__option:last-child {
    border-bottom: none !important;
}

.cpt-rate-modal-dropdown-form .select2-results__option--highlighted {
    background: #f8f9fa !important;
    color: #333 !important;
}

.cpt-rate-modal-dropdown-form .select2-results__option--selected {
    background: #e3f2fd !important;
    color: #1976d2 !important;
    font-weight: 500 !important;
}

.cpt-rate-modal-dropdown-form .select2-container--open .select2-selection--multiple {
    border-bottom-left-radius: 10px !important;
    border-bottom-right-radius: 10px !important;
}

.select2-container--open .select2-dropdown--below {
    border: none !important;
    border-radius: 7px !important;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.select2-container--open .select2-dropdown--above {
    border: none !important;
    border-radius: 7px !important;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
    background-color: #004972 !important;
    color: white !important;
    border-radius: 6px !important;
}

.select2-results__option--selectable {
    cursor: pointer;
    padding: 8px;
    color: #0000009e !important;
}

/* select2 sryling end */

/* Get Rate Button Styling */
.cpt-rate-get-button {
    background: #004972;
    color: #fff;
    border: none;
    border-radius: 9px;
    padding: 12px 24px;
    font-size: 1rem;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    min-height: 43px;
    box-shadow: rgba(99, 99, 99, 0.1) 0px 1px 4px 0px;
}

.cpt-rate-get-button:hover {
    background: #0071bc;
    box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
    transform: translateY(-1px);
}

.cpt-rate-get-button:active {
    transform: translateY(0);
    box-shadow: rgba(99, 99, 99, 0.1) 0px 1px 4px 0px;
}

/* CPT Rate Results Table Styling */
#cpt-rate-result table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    /* font-size: 1em; */
    background: #f9fbfd;
    margin-top: 8px;
}

/* Modal Scrolling Fix */
#cpt-rate-modal {
    display: none;
    position: fixed;
    z-index: 100000;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.7);
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

#cpt-rate-modal>div {
    background: #fff;
    max-width: 950px;
    width: 95%;
    margin: 20px auto;
    border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    position: relative;
    padding: 32px 24px 24px 24px;
    font-family: 'Open Sans', Arial, sans-serif;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    min-height: auto;
}

/* Ensure results area is properly included in scrolling */
#cpt-rate-result {
    flex: 1 1 auto;
    overflow-y: visible !important;
    max-height: none !important;
    margin-top: 18px;
    font-size: 1.1rem;
    color: #222;
}

/* Ensure smooth scrolling */
#cpt-rate-modal,
#cpt-rate-modal>div {
    scroll-behavior: smooth;
}

/* Fix for iOS Safari */
@supports (-webkit-touch-callout: none) and (not (translate: none)) {
    #cpt-rate-modal {
        position: absolute;
        height: 100%;
    }
}



/* close button styling */


/* table css start */

#cpt-rate-result table thead tr th {
    background: #c4d5de;
    color: #004972;
    padding: 12px 16px;
    text-align: left;
    font-weight: 800;
    font-size: 0.95rem;
    letter-spacing: 0.025em;
    white-space: nowrap;
}

#cpt-rate-result table thead tr th:first-child {
    border-top-left-radius: 9px;
}

#cpt-rate-result table thead tr th:last-child {
    border-top-right-radius: 9px;
    text-align: right;
}

#cpt-rate-result table tbody tr {
    background: #f2f2f2;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: all 0.2s ease;
}

/* #cpt-rate-result table tbody tr:nth-child(even) {
    background: #f8f9fa;
} */

#cpt-rate-result table tbody tr:hover {
    background: #e3f2fd;
    box-shadow: 0 2px 8px rgba(0, 73, 114, 0.1);
    transform: translateY(-1px);
}

#cpt-rate-result table tbody tr td {
    padding: 12px 16px;
    vertical-align: middle;
    /* border-radius: 0; */
    font-size: 1.04rem;
}

/* 
#cpt-rate-result table tbody tr td:first-child {
    font-weight: 600;
    letter-spacing: 0.5px;
    color: #004973;
    border-radius: 9px 0 0 9px;
} */

#cpt-rate-result table tbody tr td:last-child {
    text-align: right;
    font-weight: 700;
    color: #1a7f37;
    /* font-size: 1.05em; */
    /* border-radius: 0 9px 9px 0; */
}

#cpt-rate-result table tbody tr td[colspan="4"] {
    text-align: center;
    padding: 24px 16px;
    font-weight: 600;
    color: #666;
    font-size: 1.1em;
    border-radius: 9px;
}


/* talbe css close   */

/* ========== DRUG INFORMATION TAB STYLES ========== */
/* Drug information tab styles */

.drug-info__inner {
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
}

/* Template styles */
.drug-info__about p,
.drug-info__ndc p,
.drug-info__cpt-conditions>div.cpt p,
.drug-info__cpt-conditions>div.conditions p,
.drug-info__snapshot-disclaimer {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin: 5px 0 8px;
}

.drug-info__about h2,
.drug-info__ndc h2,
.drug-info__cpt-conditions h2,
.drug-info__snapshot-title,
.drug-info__biosimilar h2 {
    font-size: 16px;
    font-weight: 600;
    font-style: SemiBold;
    color: #000000B2;
    margin: 2px 0 12px;
}

.section-divider-and-spacer {
    margin: 60px 0;
}

/* Smooth tab transitions */
.tabs__panel {
    transition: opacity .25s ease, transform .25s ease;
}

.tabs__panel[style*="display: none"] {
    opacity: 0;
    transform: translateY(8px);
}

.tabs__panel[style*="display: block"],
.tabs__panel[style=""] {
    opacity: 1;
    transform: translateY(0);
}

/* Hide info-only tool buttons by default */
.drug-info-tab-button {
    display: none;
}

.comparative-report-tab-button {
    display: none;
}

.drug-info__firstblock {
    max-width: 86%;
    margin: 48px auto 80px;
    padding: 2%;
    background: #F8F8F8;
    border: 1px solid #b3b3b3;
    border-radius: 12px;
}

.drug-info__secondblock {
    max-width: 90%;
    margin: 24px auto 60px;
    padding: 0%;
    background: #FFFFFF;
}

.drug-info__thirdblock {
    max-width: 86%;
    margin: 24px auto 80px;
    padding: 2%;
    background: #F8F8F8;
    border: 1px solid #b3b3b3;
    border-radius: 12px;
}

.drug-info__chips {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 24px;
}

@media (max-width: 1280px) {
    .drug-info__chips {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .drug-info__chips {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.drug-info__chips .chip {
    background: #FFFFFF;
    border: 1px solid #b3b3b3;
    border-radius: 10px;
    padding: 12px 14px;
}

.drug-info__chips .chip .label {
    font-size: 15px;
    font-weight: 525;
    color: #00000099;
    margin-bottom: 4px;
}

.drug-info__chips .chip .value {
    font-size: 16px;
    font-weight: 600;
    color: #333333;
}

/* Truncated chip tooltip for long values */
.drug-info__chips .chip {
    position: relative;
}

.drug-info__chips .chip .value.truncated {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    cursor: help;
}

.drug-info__chips .chip .chip-tooltip {
    display: none;
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    background: #fff;
    border: 1px solid #E6EFF7;
    border-radius: 8px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.12);
    padding: 10px 12px;
    max-width: 420px;
    width: max-content;
    color: #143B54;
    z-index: 1000;
}

.drug-info__chips .chip:hover .chip-tooltip {
    display: block;
}

/* --- Modern micro-interactions for chips (no layout shift) --- */
.drug-info__chips .chip {
    position: relative;
    overflow: visible;
    will-change: transform, box-shadow;
    background: #FFFFFF;
    border: 1px solid #b3b3b3;
    border-radius: 10px;
    padding: 12px 14px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

/* Hover: gentle lift + soft shadow + slightly brighter border */
.drug-info__chips .chip:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    background: linear-gradient(145deg, #ffffff, #f8fbff);
}

/* Press: quick, subtle compress */
.drug-info__chips .chip:active {
    transform: translateY(0) scale(.985);
    box-shadow:
        0 3px 8px rgba(16, 24, 40, .09);
}

/* Keyboard focus: clear, accessible ring */
.drug-info__chips .chip:focus-within {
    outline: none;
    box-shadow:
        0 2px 10px rgba(16, 24, 40, .10),
        0 0 0 3px rgba(11, 79, 121, .18);
    /* soft brand ring */
    border-color: #b3b3b3;
    /* keep visual consistency */
}

/* Optional: subtle sheen sweep on hover (very light) */
.drug-info__chips .chip::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(120deg,
            transparent 0%,
            transparent 55%,
            rgba(255, 255, 255, .18) 60%,
            transparent 65%,
            transparent 100%);
    background-size: 220% 100%;
    background-position: -120% 0;
    opacity: 0;
    transition: background-position .6s cubic-bezier(.2, .9, .2, 1), opacity .2s ease;
    border-radius: inherit;
}

.drug-info__chips .chip:hover::before {
    opacity: 1;
    background-position: 120% 0;
}

/* Smooth, non-jumpy tooltip (replaces display:none/block) */
.drug-info__chips .chip .chip-tooltip {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    max-width: 420px;
    width: max-content;
    padding: 10px 12px;
    background: #fff;
    border: 1px solid #E6EFF7;
    border-radius: 8px;
    color: #143B54;
    box-shadow: 0 6px 18px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .08);
    z-index: 1000;

    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity .18s ease, transform .18s ease, visibility 0s linear .18s;
    pointer-events: none;
    /* avoid hover flicker */
}

.drug-info__chips .chip:hover .chip-tooltip,
.drug-info__chips .chip:focus-within .chip-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity .18s ease, transform .18s ease;
}

.drug-info__chips .chip .chip-tooltip::after {
    content: "";
    position: absolute;
    top: -6px;
    left: 12px;
    border: 6px solid transparent;
    border-bottom-color: #E6EFF7;
    /* border arrow */
}

.drug-info__chips .chip .chip-tooltip::before {
    content: "";
    position: absolute;
    top: -5px;
    left: 12px;
    border: 5px solid transparent;
    border-bottom-color: #fff;
    /* fill arrow */
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {

    .drug-info__chips .chip,
    .drug-info__chips .chip::before,
    .drug-info__chips .chip .chip-tooltip {
        transition: none;
        transform: none !important;
    }
}

/* Drug info: about section */
.drug-info__about {
    margin-bottom: 16px;
}

/* Container */
.ndc__filters {
    display: flex;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}

@media (max-width: 992px) {
    .ndc__filters {
        flex-wrap: wrap;
    }
}

/* Inputs + selects: modern surface + micro-interactions */
.ndc__filters input,
.ndc__filters select {
    width: 250px;
    padding: 10px 14px;
    border: 1px solid #E1ECF5;
    border-radius: 10px;
    background: #fff;
    color: #143B54;
    line-height: 1.25;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .04) inset;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        box-shadow .2s ease,
        transform .12s ease;
    -webkit-tap-highlight-color: transparent;
    caret-color: #0B4F79;
}

/* Hover: subtle emphasis */
.ndc__filters input:hover,
.ndc__filters select:hover {
    border-color: #D8E7F2;
    box-shadow: 0 1px 0 rgba(16, 24, 40, .06) inset;
    transform: translateY(-1px);
}

/* Focus: clear, accessible ring */
.ndc__filters input:focus-visible,
.ndc__filters select:focus-visible {
    outline: none;
    border-color: #0B4F79;
    box-shadow:
        0 0 0 3px rgba(11, 79, 121, .20),
        0 1px 2px rgba(16, 24, 40, .04) inset;
}

/* Active: tactile compress */
.ndc__filters input:active,
.ndc__filters select:active {
    transform: translateY(0) scale(.995);
}

/* Placeholder polish */
.ndc__filters input::placeholder {
    color: #7A8A99;
    opacity: 1;
}

/* Select: css-only chevron + consistent look */
.ndc__filters select {
    appearance: none;
    -webkit-appearance: none;
    padding-right: 36px;
    /* space for chevron */
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="currentColor"><path d="M4.646 6.646a.5.5 0 01.708 0L8 9.293l2.646-2.647a.5.5 0 11.708.708l-3 3a.5.5 0 01-.708 0l-3-3a.5.5 0 010-.708z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 12px center;
    background-size: 12px 12px;
    cursor: pointer;
}

/* Disabled state */
.ndc__filters input:disabled,
.ndc__filters select:disabled {
    background: #F6F9FC;
    color: #98A2B3;
    border-color: #E7EEF6;
    cursor: not-allowed;
    transform: none;
}

/* Basic error/invalid hint (optional) */
.ndc__filters input:invalid {
    border-color: #F97066;
    box-shadow: 0 0 0 3px rgba(249, 112, 102, .15);
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {

    .ndc__filters input,
    .ndc__filters select {
        transition: none !important;
        transform: none !important;
    }
}

/* Root: set size/weight/color once */
.ndc-select {
    position: relative;
    display: inline-block;
    font-size: 15px;
    font-weight: 500;
    color: #000;
}

/* Children inherit */
.ndc-select__toggle,
.ndc-select__option {
    font-size: inherit;
    font-weight: inherit;
    color: inherit;
}

/* Chevron — matches text color; choose size */
.ndc-select__toggle::after {
    color: currentColor;
    font-size: 0.9em;
    line-height: 1;
}

/* Toggle (modern surface + micro-interactions) */
.ndc-select__toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: min(300px, 100%);
    padding: 10px 12px;
    background: #fff;
    color: #143B54;
    border: 1px solid #E1ECF5;
    border-radius: 10px;

    cursor: pointer;
    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease,
        box-shadow .2s ease,
        transform .15s ease;
    will-change: transform, box-shadow;
    box-shadow: 0 1px 2px rgba(16, 24, 40, .05);
    -webkit-tap-highlight-color: transparent;
}

.ndc-select__toggle:hover {
    background: #F6F9FC;
    border-color: #D8E7F2;
    box-shadow:
        0 4px 10px rgba(16, 24, 40, .08),
        0 1px 2px rgba(16, 24, 40, .06);
    transform: translateY(-1px);
}

.ndc-select__toggle:active {
    transform: translateY(0) scale(.985);
    box-shadow: 0 2px 6px rgba(16, 24, 40, .07);
}

.ndc-select__toggle:focus-visible {
    outline: none;
    box-shadow:
        0 2px 10px rgba(16, 24, 40, .08),
        0 0 0 3px rgba(11, 79, 121, .28);
}

/* Chevron */
.ndc-select__toggle::after {
    content: "▾";
    /* U+25BE */
    font-size: 12px;
    color: #667085;
    transition: transform .2s ease, color .2s ease;
}

.ndc-select__toggle:hover::after {
    color: #0B4F79;
}

/* Menu surface (keeps display:none; animates on show) */
.ndc-select__menu {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: max(230px, 100%);
    max-height: 300px;

    background: #fff;
    border: 1px solid #E6EFF7;
    border-radius: 12px;
    box-shadow: 0 12px 24px rgba(16, 24, 40, .14), 0 4px 8px rgba(16, 24, 40, .08);
    padding: 8px;
    overflow: auto;
    z-index: 1000;

    /* your existing visibility control */
    display: none;

    /* when your code flips to display:block, this plays */
    animation: ndcMenuIn .18s ease both;
}

/* Options (clean hover/active/focus/selected) */
.ndc-select__option {
    padding: 10px 12px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    color: #143B54;
    transition: background-color .15s ease, color .15s ease;
}

.ndc-select__option:hover {
    background: #F6F9FC;
}

.ndc-select__option:active {
    background: #EAF3FB;
}

.ndc-select__option:focus-visible {
    outline: none;
    box-shadow: inset 0 0 0 3px rgba(11, 79, 121, .22);
}

.ndc-select__option[aria-selected="true"] {
    background: #F0F6FB;
    color: #0B4F79;
    position: relative;
}

.ndc-select__option[aria-selected="true"]::after {
    content: "✓";
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-weight: 700;
    color: #0B4F79;
}

/* Polished thin scrollbar */
.ndc-select__menu {
    scrollbar-width: thin;
    scrollbar-color: #CFE0EB transparent;
}

.ndc-select__menu::-webkit-scrollbar {
    width: 8px;
}

.ndc-select__menu::-webkit-scrollbar-thumb {
    background: #CFE0EB;
    border-radius: 8px;
}

.ndc-select__menu::-webkit-scrollbar-track {
    background: transparent;
}

/* Entrance keyframes (runs when menu becomes visible) */
@keyframes ndcMenuIn {
    from {
        opacity: 0;
        transform: translateY(-6px) scale(.98);
    }

    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {

    .ndc-select__toggle,
    .ndc-select__menu,
    .ndc-select__option {
        transition: none !important;
        transform: none !important;
    }

    .ndc-select__menu {
        animation: none !important;
    }
}

/* Hide native select (kept for state) */
.ndc-select--native {
    display: none;
}

/* Layout ndc header/description left and filters right */
.drug-info__ndc {
    display: grid;
    grid-template-columns: 1fr auto;
    column-gap: 48px;
    align-items: start;
}

.drug-info__ndc h2,
.drug-info__ndc p {
    grid-column: 1;
    min-width: 300px;
}

.drug-info__ndc .ndc__filters {
    grid-column: 2;
    justify-self: end;
    margin-top: 0;
}

.drug-info__ndc .table-responsive {
    grid-column: 1 / -1;
}

/* Unified drug info tables (ndc, cpt, biosimilar) */
.drug-info__container .table-responsive {
    width: 100%;
    overflow: auto;
}

.drug-info__container table.ndc-table,
.drug-info__container table.cpt-table,
.drug-info__container table.bio-table {
    width: 100%;
    border-collapse: separate;
    /* needed for per-row border radius */
    border-spacing: 0 8px;
    /* gap between rows */
}

/* Header row */
.drug-info__container table.ndc-table thead th,
.drug-info__container table.cpt-table thead th,
.drug-info__container table.bio-table thead th {
    background: #C2D8ED;
    /* blue header bar */
    color: #000000B2;
    /* brand blue text */
    font-weight: 700;
    text-align: left;
    padding: 12px;
    border: 0;
    white-space: nowrap;
}

.drug-info__container table.ndc-table thead th:first-child,
.drug-info__container table.cpt-table thead th:first-child,
.drug-info__container table.bio-table thead th:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.drug-info__container table.ndc-table thead th:last-child,
.drug-info__container table.cpt-table thead th:last-child,
.drug-info__container table.bio-table thead th:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

/* Blurred cpt rows for restricted subscriptions */
.drug-info__container table.cpt-table tbody tr.cpt-row--blurred td {
    filter: blur(3px);
    opacity: 0.6;
    pointer-events: none;
}

/* Body rows with alternating backgrounds */
.drug-info__container table.ndc-table tbody tr td,
.drug-info__container table.cpt-table tbody tr td,
.drug-info__container table.bio-table tbody tr td {
    padding: 12px;
    font-size: 14px;
    line-height: 18px;
    color: #000000;
    vertical-align: top;
}

/* column widths - all columns equal except last (package description takes remaining space) */
.drug-info__ndc table thead th:nth-child(1),
.drug-info__ndc table thead th:nth-child(2),
.drug-info__ndc table thead th:nth-child(3),
.drug-info__ndc table thead th:nth-child(4),
.drug-info__ndc table thead th:nth-child(5),
.drug-info__ndc table thead th:nth-child(6),
.drug-info__ndc table thead th:nth-child(7),
.drug-info__ndc table tbody tr td:nth-child(1),
.drug-info__ndc table tbody tr td:nth-child(2),
.drug-info__ndc table tbody tr td:nth-child(3),
.drug-info__ndc table tbody tr td:nth-child(4),
.drug-info__ndc table tbody tr td:nth-child(5),
.drug-info__ndc table tbody tr td:nth-child(6),
.drug-info__ndc table tbody tr td:nth-child(7) {
    width: 10%;
}


/* Right-align the ndc table controls row (show more button) */
.drug-info__ndc .ndc__controls {
    display: flex;
    justify-content: flex-end;
    grid-column: 2;
}

.ndc-showmore-btn {
    margin: 0px 0px 20px;
    font-weight: 600;
    color: #0c5db3;
    text-decoration: underline;
    white-space: nowrap;
}

.ndc-showmore-btn:hover {
    color: #0a4e95;
}

/* Partial blur for ndc description remainder (sub_type=1) */
.ndc-desc__blur {
    filter: blur(3px);
    opacity: 0.6;
}

.ndc-upgrade-link {
    margin: 0px 0px 20px;
    font-weight: 600;
    color: #0c5db3;
    text-decoration: underline;
    white-space: nowrap;
}

.ndc-upgrade-link:hover {
    color: #0a4e95;
}

.upgrade-note {
    margin-top: 8px;
    font-size: 13px;
    color: #0B4F79;
}

.upgrade-note a {
    color: #0c5db3;
    text-decoration: underline;
}

.upgrade-note a:hover {
    color: #0a4e95;
}

/* Blurred ndc rows for restricted subscriptions */
.drug-info__container table.ndc-table tbody tr.ndc-row--blurred td {
    filter: blur(3px);
    opacity: 0.6;
    pointer-events: none;
}

.ndc-row--blurred {
    filter: blur(3px);
    opacity: 0.6;
    pointer-events: none;
}

.drug-info__container table.ndc-table tbody tr:nth-child(odd) td,
.drug-info__container table.cpt-table tbody tr:nth-child(odd) td,
.drug-info__container table.bio-table tbody tr:nth-child(odd) td {
    background: #F8F8F8;
}

.drug-info__container table.ndc-table tbody tr:nth-child(even) td,
.drug-info__container table.cpt-table tbody tr:nth-child(even) td,
.drug-info__container table.bio-table tbody tr:nth-child(even) td {
    background: #FFFFFF;
}

.drug-info__container table.ndc-table tbody tr td:first-child,
.drug-info__container table.cpt-table tbody tr td:first-child,
.drug-info__container table.bio-table tbody tr td:first-child {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}

.drug-info__container table.ndc-table tbody tr td:last-child,
.drug-info__container table.cpt-table tbody tr td:last-child,
.drug-info__container table.bio-table tbody tr td:last-child {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}

.drug-info__cpt-conditions {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 110px;
    margin-top: 40px;
    align-items: start;
}

@media (max-width: 900px) {
    .drug-info__cpt-conditions {
        grid-template-columns: 1fr;
    }
}

.drug-info__cpt-conditions .cpt h2,
.drug-info__cpt-conditions .conditions h2 {
    margin-top: 0;
}

.drug-info__cpt-conditions .cpt p {
    margin: 6px 0 12px;
    line-height: 1.45;
    color: #6A7F91;
}

.drug-info__cpt-conditions .conditions ul {
    padding-left: 18px;
    margin: 8px 0 12px;
}

.drug-info__cpt-conditions .conditions li {
    margin: 6px 0;
    color: #000000;
    font-weight: 400;
}

.drug-info__snapshot {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 28px 0;
}

@media (max-width: 900px) {
    .drug-info__snapshot {
        grid-template-columns: 1fr;
    }
}

.drug-info__snapshot .card {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    align-items: baseline;
    background: #fff;
    border: 1px solid #b3b3b3;
    border-radius: 14px;
    padding: 20px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

.drug-info__snapshot .card:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    background: linear-gradient(145deg, #ffffff, #f8fbff);
}

.drug-info__snapshot .card:active {
    transform: scale(0.98);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.drug-info__snapshot .card .value {
    color: #004973;
    font-weight: 700;
    margin-bottom: 25px;
    font-size: 20px;
    grid-column: 1 / -1;
    /* span both columns */
}

.drug-info__snapshot .card strong {
    color: #004973;
    font-size: 1.2rem;
    transition: color 0.3s ease;
}

.drug-info__snapshot .card:hover strong {
    color: #004973;
}

.drug-info__snapshot .card .label {
    color: #00000066;
    margin: 0;
    /* keep tight next to meta */
    grid-column: 1;
    grid-row: 2;
    font-size: 18px;
    font-weight: 600;
}

.drug-info__snapshot .card .meta {
    color: #00000066;
    margin: 0;
    /* align with label */
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
    font-size: 18px;
    font-weight: 600;
    /* right align */
}

.drug-info__biosimilar .bio-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 1024px) {
    .drug-info__biosimilar .bio-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .drug-info__biosimilar .bio-grid {
        grid-template-columns: 1fr;
    }

    .subtabs .subtab__btn {
        font-size: 14px;
    }
}

.drug-info__biosimilar .bio-chip {
    background: #FFFFFF;
    border: 1px solid #b3b3b3;
    border-radius: 10px;
    padding: 12px 14px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
    cursor: pointer;
}

.drug-info__biosimilar .bio-chip:hover {
    transform: translateY(-6px);
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
    background: linear-gradient(145deg, #ffffff, #f8fbff);
}

.drug-info__biosimilar .bio-chip .label {
    font-size: 12px;
    font-weight: 400;
    color: #00000099;
    margin-bottom: 4px;
}

.drug-info__biosimilar .bio-chip .value {
    font-weight: 600;
    color: #333333;
}

/* Add spacing between biosimilar chip grid and the table */
.drug-info__biosimilar .bio-grid {
    margin-bottom: 16px;
}

.drug-info__biosimilar .table-responsive {
    margin-top: 8px;
}

.drug-info__biosimilar p {
    font-size: 16px;
    color: #333;
    line-height: 1.5;
    margin: 5px 0 8px;
}

/* Compare products tab */
.compare__container {
    max-width: 90%;
    margin: 24px auto 100px;
    padding: 0 16px;
}

.compare__container h2 {
    font-size: 18px;
    color: #0B4F79;
    margin: 0 0 6px;
}

.compare__note {
    color: #6A7F91;
    font-size: 12px;
    margin: 0 0 16px;
}

.compare__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

@media (max-width: 1024px) {
    .compare__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .compare__grid {
        grid-template-columns: 1fr;
    }
}

.compare-card {
    display: block;
    text-decoration: none;
    background: #fff;
    border: 1px solid #E6EFF7;
    border-radius: 12px;
    padding: 14px 16px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    color: #0B3650;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.compare-card:hover {
    border-color: #C2D8ED;
    box-shadow: 0 2px 8px rgba(11, 79, 121, 0.08);
}

.compare-card .code {
    color: #0B4F79;
    font-weight: 700;
    margin-bottom: 6px;
}

.compare-card .name {
    font-weight: 700;
    margin-bottom: 4px;
}

.compare-card .desc {
    color: #4C6A80;
    font-size: 14px;
}

/* Payer reimbursement section styles */
#payer-reimbursement-section {
    width: 90%;
    margin: auto;
    /*background: #fff; */
    border-radius: 8px;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: max-height 0.6s ease-in-out, opacity 0.6s ease-in-out, margin 0.6s ease-in-out;
}

#payer-reimbursement-section.active {
    max-height: 2000px;
    opacity: 1;
}

.payer-section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 40px;
    margin-top: 24px;
}

.payer-section-title {
    font-family: 'Poppins', sans-serif;
    font-size: 24px;
    font-weight: 600;
    font-style: normal;
    line-height: 32px;
    letter-spacing: 0;
    color: #000000B2;
    margin: 0;
}

.payer-price-logo {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    color: #666;
}

.payer-price-logo img {
    height: 20px;
    width: auto;
}

.payer-cards-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

.payer-card {
    background-color: #FFFFFF;
    border: 1px solid #0000001F;
    text-align: center;
    border-radius: 10px;
    padding: 1px 20px 20px 20px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05);
}

.payer-card:hover {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.payer-logo {
    height: 68px;
    margin-bottom: 16px;
    object-fit: contain;
}

.payer-price {
    font-size: 38px;
    font-weight: 700;
    color: #0B4F79;
    margin: 0;
}

.payer-verification-center {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 12px;
    background: #e8f5e9;
    border-radius: 7px;
    font-size: 16px;
    color: #228538;
    margin-bottom: 16px;
    border: 1px solid #228538;
    font-weight: 600;
}

.payer-verification-center svg {
    width: 16px;
    height: 16px;
}

.payer-bottom-section {
    margin-top: 24px;
    text-align: center;
}

.payer-cta-text {
    font-size: 18px;
    color: #666;
    margin: 16px 0 12px;
}

.payer-cta-button {
    display: inline-block;
    padding: 10px 24px;
    background: #fff;
    border: 1px solid #0B4F79;
    border-radius: 6px;
    color: #0B4F79;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

.payer-cta-button:hover {
    background: #0B4F79;
    color: #fff;
    box-shadow: 0 2px 8px rgba(11, 79, 121, 0.2);
}

@media (max-width: 768px) {
    .payer-cards-container {
        grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    }
}


/* Calculator Icon Bounce Animation */
@keyframes bounce {

    0%,
    20%,
    50%,
    80%,
    100% {
        transform: translateY(0);
    }

    40% {
        transform: translateY(-10px);
    }

    60% {
        transform: translateY(-5px);
    }
}

.calculator-bounce {
    animation: bounce 1s ease-in-out 5;
}

/* Tablet Styles (768px - 1024px) */
@media (max-width: 1024px) and (min-width: 768px) {
    .popup {
        width: 90%;
        top: 50%;
    }

    .popup-box .maincontent {
        flex-direction: column;
    }

    .popup-box .code-info-row {
        flex-direction: column;
        gap: 15px;
        padding: 20px;
        text-align: center;
    }

    .popup-box .code-info-column {
        border-right: none;
        border-bottom: solid 2px #000;
        width: 100%;
        padding: 15px;
        height: auto;
    }

    .benchmark-price,
    .packages-markup {
        min-width: 100%;
        padding: 20px;
    }

    .result-buttons {
        min-width: 100%;
        padding: 20px;
    }

    .popup-table {
        height: 200px;
        max-width: 100%;
    }
}

/* Mobile Styles (320px - 767px) */
@media (max-width: 767px) {
    .popup {
        width: 95%;
        top: 50%;
        left: 50%;
        margin: 0;
    }

    .popup-header__inner {
        border: none;
    }

    .popup-box .result-buttons {
        width: 0%;
    }

    .popup-box {
        border-radius: 6px;
        padding: 15px;
    }

    .popup-top {
        padding: 10px 5px;
    }

    .popup-top p {
        font-size: 18px;
        font-weight: 600;
    }

    .popup-box .maincontent {
        flex-direction: column;
        gap: 0;
    }

    .popup-box .code-info-row {
        flex-direction: column;
        gap: 10px;
        padding: 15px;
        margin-bottom: 15px;
        text-align: center;
    }

    .popup-drug-name {
        font-size: 16px;
    }

    .popup-hcpcs-code,
    .popup-ndc,
    .row-price-popup {
        font-size: 16px;
    }

    .popup-first-row-text {
        font-size: 14px;
    }

    .popup-box .code-info-column {
        border-right: none;
        border-bottom: solid 1px #000;
        width: 100%;
        padding: 10px;
        height: auto;
        gap: 10px;
    }

    .calculator-bottom {
        border-radius: 20px;
    }

    .second-row {
        border-radius: 20px 20px 0 0;
        gap: 0;
    }

    @media (max-width: 767px) {
        .second-row {
            display: flex;
            flex-direction: column;
            border-radius: 20px 20px 0 0;
            gap: 0;
            justify-content: center;
            align-items: center;
            width: 90%;
        }
    }

    .benchmark-price {
        min-width: 100%;
        padding: 15px;
    }

    .packages-markup {
        min-width: 100%;
        padding: 15px;
    }

    .popup-box .benchmark-price select {
        height: 45px;
        font-size: 16px;
        padding: 12px !important;
        margin-left: 3px;
        width: 108%;
    }

    .popup-box .packages-markup input {
        height: 25px;
        font-size: 16px;
        padding: 12px;
        margin-left: 3px;
    }

    .popup-box .benchmark-price label,
    .popup-box .packages-markup label {
        font-size: 14px;
        font-weight: 500;
        margin-left: 6px;
        ;
    }

    .popup-content .button {
        width: 100%;
        padding: 15px;
        text-align: center;
    }

    .popup-box .button-calculate {
        width: 100%;
        padding: 15px;
        font-size: 16px;
        margin: 10px 0;
    }

    .result-buttons {
        min-width: 100%;
        padding: 15px;
    }

    .total-charge {
        padding: 10px 0;
        text-align: center;
        flex: 1;
    }

    .total-charge label {
        font-size: 16px;
        font-weight: 600;
    }

    .price-popup {
        font-size: 24px;
        color: #004973;
    }

    .butn-save-cntr {
        flex-direction: column;
        gap: 10px;
        padding: 15px 0;
    }

    .clear-all-btn,
    .button-save-all {
        width: 100%;
        padding: 15px;
        font-size: 16px;
        min-width: 100%;
    }

    .popup-header__inner {
        padding: 0;
    }

    .popup-table {
        height: 150px;
        max-width: 100%;
        overflow-x: auto;
    }

    .popup-table table {
        min-width: 800px;
        font-size: 11px;
    }

    .popup-table th,
    .popup-table td {
        padding: 8px 6px;
        font-size: 10px;
        white-space: nowrap;
    }

    .popup-table th {
        font-size: 11px;
        font-weight: 600;
    }
}

@media (min-width: 720px) and (max-width: 1024px) {
    .second-row {
        padding-left: 20px;
        display: flex;
        flex-direction: column;
        border-radius: 20px 20px 0 0;
        gap: 0;
        justify-content: center;
        align-items: center;
        width: 90%;
    }
}

@media (max-width: 1024px) {
    .popup {
        width: 98%;
        margin: 0;
    }

    .popup-box {
        padding: 10px;
    }

    .popup-top p {
        font-size: 16px;
    }

    .popup-box .code-info-row {
        padding: 0px;
    }

    .popup-drug-name,
    .popup-hcpcs-code,
    .popup-ndc,
    .row-price-popup {
        font-size: 14px;
    }

    .popup-first-row-text {
        font-size: 12px;
    }

    .benchmark-price,
    .packages-markup {
        padding: 12px;
    }

    .popup-box .benchmark-price label,
    .popup-box .packages-markup label {
        font-size: 13px;
    }

    .result-buttons {
        padding: 12px;
    }

    .total-charge label {
        font-size: 14px;
    }

    .price-popup {
        font-size: 20px;
    }

    .clear-all-btn,
    .button-save-all {
        padding: 12px;
        font-size: 14px;
    }

    .popup-table {
        height: 120px;
    }

    .popup-table table {
        min-width: 700px;
    }

    .popup-table th,
    .popup-table td {
        padding: 6px 4px;
        font-size: 9px;
    }

    .popup-table {
        width: 100%;
        float: left;
        overflow-y: scroll;
        height: 290px;
    }
}


.calc-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    z-index: 10000;
    overflow-y: auto;
}

.calc-overlay .popup.popup-calculator {
    display: block !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    margin: 40px auto !important;
    z-index: 1 !important;
}

/* ama/cpt popup styles */
#ama-cpt-popup {
    display: none;
    position: fixed;
    z-index: 99999;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.8);
}

#ama-cpt-popup[style*="display: block"] {
    display: flex !important;
    align-items: center;
    justify-content: center;
}

#ama-cpt-popup .popup-inner {
    background: #fff;
    max-width: 600px;
    width: 100%;
    margin: 0;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    position: relative;
    padding: 40px 32px 32px 32px;
    font-family: 'Inter', Arial, sans-serif;
}

#ama-cpt-popup #ama-cpt-close {
    position: absolute;
    top: 18px;
    right: 22px;
    background: none;
    border: none;
    font-size: 2rem;
    color: #222;
    cursor: pointer;
}

#ama-cpt-popup .popup-title {
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 24px;
    font-family: inherit;
    color: black;
}

#ama-cpt-popup .popup-body {
    font-size: 1.15rem;
    color: #222;
    line-height: 1.5;
    margin-bottom: 36px;
}

#ama-cpt-popup #ama-cpt-ok {
    background: #004973;
    color: #fff;
    border: none;
    border-radius: 4px;
    padding: 10px 28px;
    font-size: 1rem;
    font-weight: 500;
    cursor: pointer;
    margin-top: 0;
}

.popup.visible {
    z-index: 10000 !important;
}

.ndc-modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 9999;
    padding: 24px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity 0.2s ease-out;
}

.ndc-modal-overlay.ndc-modal-overlay--open {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .ndc-modal-overlay,
    .ndc-modal-overlay.ndc-modal-overlay--open {
        transition: none;
    }
    .ndc-modal,
    .ndc-modal-overlay.ndc-modal-overlay--open .ndc-modal {
        transition: none;
    }
    .ndc-detail-overlay,
    .ndc-detail-overlay.ndc-detail-overlay--open {
        transition: none;
    }
    .ndc-detail-popup,
    .ndc-detail-overlay.ndc-detail-overlay--open .ndc-detail-popup {
        transition: none;
    }
    .ndc-modal-spinner {
        animation: none;
        border-top-color: #004973;
    }
}

.ndc-modal {
    background: #fff;
    border-radius: 12px;
    width: 100%;
    max-width: min(1600px, calc(100vw - 48px));
    max-height: calc(100vh - 48px);
    margin: 0 auto;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-self: center;
    transform: scale(0.98);
    opacity: 0;
    transition: transform 0.25s ease-out, opacity 0.25s ease-out;
}

.ndc-modal-overlay.ndc-modal-overlay--open .ndc-modal {
    transform: scale(1);
    opacity: 1;
}

.ndc-modal-header {
    padding: 24px 24px 16px;
    position: relative;
    border-bottom: 1px solid #F3F4F6;
}

.ndc-modal-title {
    font-size: 24px;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 4px 0;
    font-family: 'Poppins', sans-serif;
}

.ndc-modal-title .ndc-modal-hcpcs {
    font-weight: 700;
}

.ndc-modal-subtitle {
    font-size: 16px;
    font-weight: 500;
    font-style: italic;
    color: #9CA3AF;
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

.ndc-modal-search-wrap {
    padding: 14px 20px;
}

.ndc-modal-search-container {
    display: flex;
    align-items: center;
    max-width: 360px;
    position: relative;
}

.ndc-modal-search {
    width: 100%;
    padding: 10px 36px 10px 36px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    font-size: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23999' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85zm-5.242.156a5 5 0 1 1 0-10 5 5 0 0 1 0 10z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 12px center;
    box-sizing: border-box;
}

.ndc-modal-search:focus {
    outline: none;
    border-color: #004973;
}

.ndc-modal-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: #E5E7EB;
    color: #6B7280;
    border-radius: 50%;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ndc-modal-search-clear:hover {
    background: #D1D5DB;
    color: #374151;
}

.ndc-modal-search-count {
    margin: 8px 0 0;
    font-size: 13px;
    color: #6B7280;
    font-family: 'Poppins', sans-serif;
}

.ndc-modal-table-outer {
    flex: 1;
    min-height: 0;
    margin: 0 20px 20px;
    border: 1px solid #E5E7EB;
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    position: relative;
}

.ndc-modal-loading {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    background: rgba(255, 255, 255, 0.9);
    z-index: 2;
    font-size: 14px;
    color: #6B7280;
    font-family: 'Poppins', sans-serif;
}

.ndc-modal-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #E5E7EB;
    border-top-color: #004973;
    border-radius: 50%;
    animation: ndc-spinner 0.8s linear infinite;
}

@keyframes ndc-spinner {
    to { transform: rotate(360deg); }
}

.ndc-modal-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    z-index: 1;
    font-size: 15px;
    color: #6B7280;
    font-family: 'Poppins', sans-serif;
}

.ndc-modal-table-wrap {
    overflow: auto;
    flex: 1;
    min-height: 0;
}

.ndc-modal-table-wrap::-webkit-scrollbar {
    width: 6px;
    height: 6px;
}

.ndc-modal-table-wrap::-webkit-scrollbar-track {
    background: transparent;
}

.ndc-modal-table-wrap::-webkit-scrollbar-thumb {
    background: #C4CAD4;
    border-radius: 3px;
}

.ndc-modal-table-wrap::-webkit-scrollbar-corner {
    background: transparent;
}

#ndc-modal-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    font-size: 12px;
    font-family: 'Poppins', sans-serif;
    table-layout: fixed;
}

#ndc-modal-table thead tr {
    background: #004973;
}

#ndc-modal-table thead td,
#ndc-modal-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: #004973;
}

#ndc-modal-table thead .ndc-sticky-col {
    position: sticky;
    top: 0;
    left: 0;
    z-index: 2;
    background: #004973;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.08);
}

#ndc-modal-table tbody .ndc-sticky-col {
    position: sticky;
    left: 0;
    z-index: 1;
    box-shadow: 2px 0 4px rgba(0, 0, 0, 0.06);
}

#ndc-modal-table thead td:hover,
#ndc-modal-table thead th:hover {
    background: #003a5c !important;
}

#ndc-modal-table thead td,
#ndc-modal-table thead th {
    color: #fff;
    font-size: 12px;
    font-weight: 600;
    padding: 10px 8px;
    text-align: left;
    line-height: 16px;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    border: none;
    cursor: pointer;
    user-select: none;
}


#ndc-modal-table thead td .ndc-modal-tooltip,
#ndc-modal-table thead th .ndc-modal-tooltip {
    display: inline-block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, 0.6);
    font-size: 10px;
    line-height: 14px;
    text-align: center;
    margin-left: 3px;
    vertical-align: middle;
    cursor: help;
}

#ndc-modal-table tbody tr {
    color: #374151;
    font-size: 12px;
    font-weight: 400;
    line-height: 16px;
}

#ndc-modal-table tbody tr {
    background: #fff;
}

#ndc-modal-table tbody td {
    padding: 10px 8px;
    text-align: left;
    vertical-align: top;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

#ndc-modal-table tbody .ndc-money {
    font-weight: 500;
}

#ndc-modal-table .ndc-modal-show-more-btn {
    background: none;
    border: none;
    padding: 0;
    color: #004973;
    text-decoration: underline;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
}

#ndc-modal-table .ndc-modal-show-more-btn:hover {
    color: #003a5c;
}

#ndc-modal-table td:has(.ndc-calc-wrap) {
    text-align: left;
}

#ndc-modal-table .ndc-calc-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    background: #004973;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}

#ndc-modal-table .ndc-calc-wrap .calicon-svg {
    cursor: pointer;
    display: block;
}

#ndc-modal-table .ndc-calc-wrap .calicon-svg path {
    fill: #fff;
}

@media (max-width: 768px) {
    .ndc-modal-overlay {
        padding: 12px;
    }

    .ndc-modal {
        max-height: calc(100vh - 24px);
    }

    .ndc-modal-header {
        padding: 12px 12px 8px;
    }

    .ndc-modal-title {
        font-size: 16px;
        padding-right: 28px;
    }

    .ndc-modal-search-wrap {
        padding: 12px 5px;
    }

    .ndc-modal-table-wrap {
        margin: 0 4px 12px;
    }
}

.ndc-detail-overlay {
    display: none;
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.45);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    z-index: 10001;
    justify-content: center;
    align-items: center;
    padding: 24px;
    box-sizing: border-box;
    opacity: 0;
    transition: opacity 0.2s ease-out;
}

.ndc-detail-overlay[style*="display: flex"],
.ndc-detail-overlay[style*="display:flex"] {
    display: flex !important;
}

.ndc-detail-overlay.ndc-detail-overlay--open {
    opacity: 1;
}

.ndc-detail-popup {
    background: #fff;
    border-radius: 12px;
    max-width: min(640px, calc(100vw - 48px));
    width: 100%;
    max-height: calc(100vh - 48px);
    display: flex;
    flex-direction: column;
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.18), 0 0 0 1px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    transform: scale(0.98);
    opacity: 0;
    transition: transform 0.25s ease-out, opacity 0.25s ease-out;
}

.ndc-detail-overlay.ndc-detail-overlay--open .ndc-detail-popup {
    transform: scale(1);
    opacity: 1;
}

.ndc-detail-header {
    padding: 24px 32px 16px;
    position: relative;
    border-bottom: 1px solid #F3F4F6;
}

.ndc-detail-title {
    font-size: 24px;
    font-weight: 600;
    color: #1F2937;
    margin: 0;
    padding-right: 36px;
    font-family: 'Poppins', sans-serif;
}

.ndc-detail-subtitle {
    font-size: 16px;
    color: #9CA3AF;
    margin: 4px 0 0;
    font-family: 'Poppins', sans-serif;
}

.ndc-detail-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 32px;
    height: 32px;
    background: #004973;
    color: #fff;
    border: none;
    border-radius: 8px;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.ndc-detail-close:hover {
    background: #003a5c;
}

.ndc-detail-body {
    flex: 1;
    overflow-y: auto;
    padding: 0 32px 24px;
}

.ndc-detail-section {
    padding: 32px 0 0;
}

.ndc-detail-section + .ndc-detail-section {
    border-top: 1px solid #E5E7EB;
    margin-top: 32px;
}

.ndc-detail-section-title {
    font-size: 16px;
    font-weight: 600;
    color: #1F2937;
    margin: 0 0 16px;
    font-family: 'Poppins', sans-serif;
}

.ndc-detail-description {
    font-size: 16px;
    color: #1F2937;
    line-height: 1.5;
    margin: 0;
    font-family: 'Poppins', sans-serif;
}

.ndc-detail-group + .ndc-detail-group {
    margin-top: 16px;
}

.ndc-detail-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 10px 0;
    gap: 16px;
}

.ndc-detail-label {
    font-size: 16px;
    color: #6B7280;
    font-weight: 500;
    flex-shrink: 0;
    font-family: 'Poppins', sans-serif;
}

.ndc-detail-value {
    font-size: 16px;
    color: #1F2937;
    font-weight: 400;
    text-align: right;
    font-family: 'Poppins', sans-serif;
}

.ndc-detail-blurred {
    color: transparent !important;
    text-shadow: 0 0 8px #000;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

#ndc-modal-table .ndc-detail-link {
    color: #004973;
    text-decoration: underline;
    cursor: pointer;
    font-size: 12px;
    font-weight: 600;
}

#ndc-modal-table .ndc-detail-link:hover {
    color: #003a5c;
}

#ndc-modal-table .ndc-detail-btn {
    display: inline-block;
    margin-top: 4px;
    padding: 4px 10px;
    background: #f3f4f6;
    color: #004973;
    text-decoration: none;
    font-size: 11px;
    font-weight: 600;
    border: 1px solid #004973;
    border-radius: 4px;
    cursor: pointer;
}

#ndc-modal-table .ndc-detail-btn:hover {
    background: #e5e7eb;
    color: #003a5c;
    border-color: #003a5c;
}

@media (max-width: 768px) {
    .ndc-detail-overlay {
        padding: 12px;
    }

    .ndc-detail-popup {
        max-height: calc(100vh - 24px);
    }

    .ndc-detail-header {
        padding: 14px 16px 12px;
    }

    .ndc-detail-title {
        font-size: 16px;
    }

    .ndc-detail-body {
        padding: 0 16px 16px;
    }
}

/* calculator redesign */
.popup-calculator {
    --navy: #004973;
    --navy-light: #005a8f;
    --accent: #00a3e0;
    --accent-light: #e6f6fd;
    --bg: #f7f9fb;
    --white: #ffffff;
    --text: #1a2b3c;
    --text-muted: #6b7a8d;
    --border: #e2e8f0;
    --danger: #ef4444;
    --danger-light: #fef2f2;
    width: 100%;
    max-width: 720px;
    max-height: calc(100vh - 80px);
    background: var(--white);
    border-radius: 16px;
    box-shadow: 0 4px 24px rgba(0, 73, 115, 0.08), 0 1px 3px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    font-family: 'Sora', system-ui, -apple-system, sans-serif;
    color: var(--text);
    margin: 40px auto;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    position: relative;
}

.calc-overlay {
    padding: 0 20px;
    box-sizing: border-box;
}

.popup-calculator .calc-header {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    padding: 24px 28px;
    flex-shrink: 0;
}

.popup-calculator .calc-header-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 20px;
}

.popup-calculator .header-label {
    font-family: 'Sora', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
    margin-bottom: 4px;
}

.popup-calculator .header-title {
    font-family: 'Poppins', sans-serif;
    font-size: 26px;
    font-weight: 700;
    color: var(--white);
    letter-spacing: -0.02em;
}

.popup-calculator .close-btn {
    background: rgba(255, 255, 255, 0.12);
    border: none;
    border-radius: 8px;
    width: 32px;
    height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: rgba(255, 255, 255, 0.7);
    font-size: 16px;
    transition: background 0.15s;
    flex-shrink: 0;
}

.popup-calculator .close-btn:hover {
    background: rgba(255, 255, 255, 0.2);
}

.popup-calculator .calc-meta-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
}

.popup-calculator .calc-meta-card {
    background: rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 12px 14px;
    text-align: left;
}

.popup-calculator .calc-meta-card-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.45);
    margin-bottom: 4px;
}

.popup-calculator .calc-meta-card-value {
    font-size: 15px;
    font-weight: 600;
    color: var(--white);
    font-family: 'DM Mono', monospace;
    letter-spacing: -0.01em;
}

.popup-calculator .inputs-section {
    padding: 24px 28px 20px;
    flex-shrink: 0;
}

.popup-calculator .inputs-grid {
    display: grid;
    grid-template-columns: 1fr 1.2fr 0.9fr;
    gap: 12px;
    margin-bottom: 16px;
    align-items: end;
}

.popup-calculator .field-label {
    display: block;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 5px;
    width: fit-content;
}

.popup-calculator .benchmark-group {
    display: flex;
    gap: 4px;
}

.popup-calculator .benchmark-btn {
    flex: 1;
    padding: 9px 0;
    border-radius: 8px;
    border: 1.5px solid var(--border);
    background: var(--white);
    color: var(--text);
    font-size: 12px;
    font-weight: 600;
    font-family: 'DM Mono', monospace;
    cursor: pointer;
    transition: all 0.15s ease;
    max-width: 100px;
}

.popup-calculator .benchmark-btn:hover {
    border-color: var(--navy);
    background: var(--accent-light);
}

.popup-calculator .benchmark-btn.active {
    border-color: var(--navy);
    background: var(--navy);
    color: var(--white);
}

.popup-calculator .qty-header {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 5px;
}

.popup-calculator .qty-header .field-label {
    margin-bottom: 0;
    white-space: nowrap;
}

.popup-calculator .mode-toggle {
    display: flex;
    align-items: center;
    background: #f1f5f9;
    border-radius: 5px;
    padding: 2px;
    flex-shrink: 0;
}

.popup-calculator .mode-toggle-option {
    font-size: 8px;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    padding: 2px 6px;
    border-radius: 3px;
    color: var(--text-muted);
    transition: all 0.15s;
    cursor: pointer;
    white-space: nowrap;
    border: none;
    background: none;
    font-family: 'Sora', sans-serif;
}

.popup-calculator .mode-toggle-option.active {
    background: var(--navy);
    color: var(--white);
    box-shadow: 0 1px 3px rgba(0, 73, 115, 0.2);
}

.popup-calculator .field-input {
    width: 100%;
    max-width: 220px;
    padding: 9px 12px;
    border-radius: 8px;
    border: 1.5px solid var(--border);
    font-size: 14px;
    font-family: 'DM Mono', monospace;
    color: var(--text);
    outline: none;
    transition: border-color 0.15s;
    background: var(--white);
}

.popup-calculator .field-input:focus {
    border-color: var(--navy);
}

.popup-calculator .markup-wrap {
    position: relative;
}

.popup-calculator .markup-wrap .field-input {
    padding-right: 28px;
}

.popup-calculator .markup-suffix {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--text-muted);
    font-size: 13px;
    font-weight: 600;
    pointer-events: none;
}

.popup-calculator .result-row {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 12px;
}

.popup-calculator .live-result {
    flex: 1;
    background: #f1f5f9;
    border-radius: 10px;
    padding: 14px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.popup-calculator .live-result.active {
    background: var(--accent-light);
    border-color: rgba(0, 163, 224, 0.2);
}

.popup-calculator .live-result-label {
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--text-muted);
    margin-bottom: 2px;
}

.popup-calculator .live-result-detail {
    font-size: 11px;
    color: var(--text-muted);
}

.popup-calculator .live-result-amount {
    font-size: 24px;
    font-weight: 700;
    font-family: 'DM Mono', monospace;
    color: #cbd5e1;
    letter-spacing: -0.02em;
    transition: color 0.2s;
}

.popup-calculator .live-result.active .live-result-amount {
    color: var(--navy);
}

.popup-calculator .calresult1 strong {
    font-family: 'DM Mono', monospace;
    font-size: 15px;
    font-weight: 600;
    color: var(--white);
}

.popup-calculator .add-btn {
    background: #e2e8f0;
    color: #94a3b8;
    border: none;
    border-radius: 10px;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 700;
    font-family: 'Sora', sans-serif;
    cursor: not-allowed;
    white-space: nowrap;
    transition: all 0.15s ease;
}

.popup-calculator .add-btn.enabled {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    color: var(--white);
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 73, 115, 0.25);
}

.popup-calculator .add-btn.enabled:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 73, 115, 0.3);
}

.popup-calculator .calc-divider {
    height: 1px;
    background: var(--border);
    margin: 0 28px;
    flex-shrink: 0;
}

.popup-calculator .charges-section {
    padding: 20px 28px 24px;
    overflow-y: auto;
    flex: 1 1 auto;
    min-height: 0;
}

.popup-calculator .charges-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
}

.popup-calculator .charges-title {
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
    display: flex;
    align-items: center;
    gap: 8px;
}

.popup-calculator .calc-charges-count {
    background: var(--navy);
    color: var(--white);
    border-radius: 10px;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 700;
    display: none;
}

.popup-calculator .calc-charges-count.visible {
    display: inline;
}

.popup-calculator .calc-clear-btn {
    background: none;
    border: none;
    color: var(--danger);
    font-size: 12px;
    font-weight: 600;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 6px;
    transition: background 0.15s;
    display: none;
}

.popup-calculator .calc-clear-btn.visible {
    display: inline;
}

.popup-calculator .calc-clear-btn:hover {
    background: var(--danger-light);
}

.popup-calculator .calc-empty-state {
    text-align: center;
    padding: 36px 20px;
    color: var(--text-muted);
    font-size: 13px;
}

.popup-calculator .empty-state-icon {
    font-size: 28px;
    margin-bottom: 8px;
    opacity: 0.4;
}

.popup-calculator .calc-charges-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.popup-calculator .charge-card {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border-radius: 10px;
    background: #f8fafc;
    border: 1px solid #f1f5f9;
    transition: all 0.3s ease;
    animation: calcSlideIn 0.3s ease;
}

@keyframes calcSlideIn {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.popup-calculator .charge-card.flash {
    background: var(--accent-light);
    border-color: rgba(0, 163, 224, 0.2);
}

.popup-calculator .charge-meta {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.popup-calculator .charge-badge {
    font-size: 11px;
    font-weight: 700;
    font-family: 'DM Mono', monospace;
    background: var(--navy);
    color: var(--white);
    border-radius: 4px;
    padding: 1px 6px;
    letter-spacing: 0.02em;
}

.popup-calculator .charge-drug {
    font-size: 12px;
    font-weight: 600;
    color: var(--text);
}

.popup-calculator .charge-jcode {
    font-size: 11px;
    color: var(--text-muted);
    font-family: 'DM Mono', monospace;
}

.popup-calculator .charge-detail {
    font-size: 11px;
    color: var(--text-muted);
}

.popup-calculator .charge-amount {
    font-size: 18px;
    font-weight: 700;
    font-family: 'DM Mono', monospace;
    color: var(--navy);
    letter-spacing: -0.02em;
    text-align: right;
    white-space: nowrap;
}

.popup-calculator .remove-btn {
    background: none;
    border: none;
    cursor: pointer;
    color: #cbd5e1;
    font-size: 15px;
    padding: 4px 6px;
    border-radius: 6px;
    transition: all 0.15s;
    line-height: 1;
}

.popup-calculator .remove-btn:hover {
    color: var(--danger);
    background: var(--danger-light);
}

.popup-calculator .calc-total-bar {
    display: none;
    justify-content: space-between;
    align-items: center;
    padding: 14px 16px;
    border-radius: 10px;
    background: var(--navy);
    margin-top: 12px;
}

.popup-calculator .calc-total-bar.visible {
    display: flex;
}

.popup-calculator .calc-total-label {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.7);
}

.popup-calculator .calc-total-amount {
    font-size: 20px;
    font-weight: 700;
    font-family: 'DM Mono', monospace;
    color: var(--white);
    letter-spacing: -0.02em;
}

.popup-calculator .calc-footer {
    padding: 14px 24px;
    display: none;
    gap: 12px;
    justify-content: flex-end;
    flex-shrink: 0;
}

.popup-calculator .calc-footer.visible {
    display: flex;
}

.popup-calculator .footer-btn {
    border-radius: 10px;
    padding: 12px 24px;
    font-size: 13px;
    font-weight: 700;
    font-family: 'Sora', sans-serif;
    cursor: pointer;
    transition: all 0.15s;
}

.popup-calculator .footer-btn.outline {
    background: var(--white);
    color: var(--navy);
    border: 1.5px solid var(--navy);
}

.popup-calculator .footer-btn.outline:hover {
    background: var(--accent-light);
}

.popup-calculator .footer-btn.primary {
    background: linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);
    color: var(--white);
    border: none;
    box-shadow: 0 2px 8px rgba(0, 73, 115, 0.25);
}

.popup-calculator .footer-btn.primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(0, 73, 115, 0.3);
}

@media (max-width: 600px) {
    .popup-calculator .calc-header {
        padding: 20px;
    }

    .popup-calculator .calc-meta-grid {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .popup-calculator .inputs-section {
        padding: 20px;
    }

    .popup-calculator .inputs-grid {
        grid-template-columns: 1fr;
    }

    .popup-calculator .result-row {
        flex-direction: column;
    }

    .popup-calculator .add-btn {
        width: 100%;
    }

    .popup-calculator .calc-divider {
        margin: 0 20px;
    }

    .popup-calculator .charges-section {
        padding: 16px 20px 20px;
    }

    .popup-calculator .calc-footer {
        padding: 0 20px 20px;
    }
}

.field-input.mark_down {
    max-width: 150px;
}

.popup-calculator .calc-toast {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%) translateY(12px);
    background: var(--navy);
    color: var(--white);
    font-size: 13px;
    font-weight: 600;
    font-family: 'Sora', sans-serif;
    padding: 10px 24px;
    display: flex;
    align-items: center;
    gap: 8px;
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0, 73, 115, 0.25);
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s, transform 0.3s;
}

.popup-calculator .calc-toast.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

