/* Sofia Pro — same files & naming as everydaymeds.co.uk Shopify theme */
@font-face {
    font-family: 'Sofia Pro Light';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Light_Az_268c4b70-f424-4948-ab37-e04f33ee3391.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Light Az';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Light_Az_268c4b70-f424-4948-ab37-e04f33ee3391.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Regular';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Regular_Az_a72a383e-c8ef-4339-819c-2b50f65b0c5a.woff?v=1755691476") format("woff");
    font-display: swap;
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Regular Az';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Regular_Az_a72a383e-c8ef-4339-819c-2b50f65b0c5a.woff?v=1755691476") format("woff");
    font-display: swap;
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Medium';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Medium_Az_b089a1d2-3886-4dc5-9e12-28937af2862f.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Medium Az';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Medium_Az_b089a1d2-3886-4dc5-9e12-28937af2862f.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro SemiBold';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Semi_Bold_Az_e52b1180-e4bb-4fa0-bb23-ef8d2423f588.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Semi Bold';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Semi_Bold_Az_e52b1180-e4bb-4fa0-bb23-ef8d2423f588.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro Semi Bold Az';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Semi_Bold_Az_e52b1180-e4bb-4fa0-bb23-ef8d2423f588.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Light_Az_268c4b70-f424-4948-ab37-e04f33ee3391.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Regular_Az_a72a383e-c8ef-4339-819c-2b50f65b0c5a.woff?v=1755691476") format("woff");
    font-display: swap;
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Medium_Az_b089a1d2-3886-4dc5-9e12-28937af2862f.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Sofia Pro';
    src: url("https://cdn.shopify.com/s/files/1/0935/0479/9065/files/Sofia_Pro_Semi_Bold_Az_e52b1180-e4bb-4fa0-bb23-ef8d2423f588.woff?v=1755691475") format("woff");
    font-display: swap;
    font-weight: 600;
    font-style: normal;
}

.parent-mycustomer-portal-area .fluid_container {
    /* background: white; */
    padding: 20px;
    border-radius: 20px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 30px;
}
.parent-mycustomer-portal-area {
    padding: 20px;
    
}
.child-mycustomer-portal-area.left-sidebar-area {
    width: 20%;
    background: transparent;
    min-height: 300px;
    border-radius: 10px;
}
.child-mycustomer-portal-area.right-sidebar-area {
    background: transparent;
    width: 80%;
    border-radius: 10px;
}
.heading_area_for_portal {
    display: flex;
    flex-direction: row;
    align-items: center;
    background: #F9FCF1;
    padding: 30px 20px;
    border-radius: 10px;
    justify-content: space-between;
}
.main-area-for-customer-portal {
    background: transparent;
    margin-top: 20px;
    border-radius: 10px;
}
.footer__middle.section.pt-min.pb-min.remove_spacing {
    display: none;
} 
.text-area-for-heading h2 {
    font-size: 26px;
    margin: 0;
    font-family: 'Sofia Pro Light' !important;
    font-weight: 600;
    color: #0a4131;
}

/*sidebar — legacy pages only; .em-sidebar uses rules below */

nav.sidebar-nav-cls:not(.em-side-nav) a:hover {
    background: #B3E99E;
}
nav.sidebar-nav-cls:not(.em-side-nav) a {
    text-decoration: none;
    padding: 5px 10px;
    border-radius: 10PX;
    display: flex;
    flex-direction: row;
    align-items: center;
    align-content: center;
    gap: 10px;
    transition: 0.3s ease all;
    font-family: 'Sofia Pro Medium' !important;
    font-weight: 700;
    color: #0b4131;
}
nav.sidebar-nav-cls:not(.em-side-nav) {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px;
}

.main-orders-area-cls {
    background: #F7FAF3;
    padding: 40px 40px;
    border-radius: 10px;
    margin-bottom: 20px;
}
.heading-area-for-orders {
    display: flex
;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}
.heading-area-for-orders p {
    margin: 0;
}
p.id-for-order {
    font-family: 'Sofia Pro Regular' !important;
    font-weight: 600;
    font-size: 16px;
    color: #0B4131;
}
p.date-of-order {
    font-family: Sofia Pro Regular !important;
    color: #777 !important;
}
p.status-of-order {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 5px;
    background: #DFEFB9;
    padding: 4px 15px;
    border-radius: 22px;
    color: #0B4131;
     font-family: Sofia Pro SemiBold !important;
}
.heading-for-order-items p {
    margin: 0;
    font-family: Sofia Pro Regular !important;
    font-size: 14px;
    color: #0B4131;
}
.heading-for-order-items {
    margin-top: 10px;
}
.item-list-for-orders {
    display: flex
;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start;
}
.child-order-list {
    display: flex
;
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 15px;
}
.image-area-of-product {
    background: white;
    padding: 20px;
    border-radius: 10px;
    border: solid 1px #E2E8F0;
    max-height: 200px;
    min-height: 111px;
    display: flex
;
    flex-direction: column;
    justify-content: center;
}
.product-data h4 {
    margin: 0;
    font-size: 16px;
    color: #0B4131;
    font-family: Sofia Pro Regular !important;
    font-weight: 400;
}
.product-data p {
    margin: 0;
    font-size: 13px;
    color: #777777 ! IMPORTANT;
}
.product-data span {
    font-size: 12px;
    font-family: Sofia Pro Regular !important;
     color: #777777 ! IMPORTANT;
}
.child-order-list-tags p {
    margin: 0;
    text-align: right;
}
.next-dose-area p {
    background: #DFEFB9;
    width: 210px;
    text-align: center;
    padding: 4px 12px;
    border-radius: 15px;
    font-family: 'Sofia Pro SemiBold' !important;
    color: #0B4131;
}
.child-order-list-tags {
    display: flex
;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}
.next-dose-variation {
    font-family: Sofia Pro Regular !important;
    color: #777 !important;
    font-size: 14px;
        font-weight: 600;
}
.next-dose-data{
    font-family: Sofia Pro Regular !important;
    color: #777 !important;
    font-size: 14px;
        font-weight: 600;
}
.seperator-cls-for-orders {
    background: #DAE0E7;
    padding: 0;
    height: 1px;
    margin-top: 20px;
    border: solid 1px #DAE0E7;
}
.pricing-button-area-for-orders {
    display: flex
;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}
.total-amount-area p {
    font-family: Sofia Pro SemiBold !important;
    color: #0B4131 !important;
    font-size: 18px;
}
button.reorder-button, button.view-details-button {
    display: flex
;
    flex-direction: row;
    align-items: center;
    padding: 6px 20px;
    background: white;
    border: 0;
    border-radius: 7px;
    gap: 10px;
    font-family: 'Sofia Pro Regular' !important;
    border: solid 1px #DAE0E7;
}
.button-area-for-orders {
    display: flex
;
    gap: 10px;
}
.image-area-of-product img {
    height: 100px;
}

.reorder-product-main-area {
    background: #f9fcf1;
    padding: 20px;
    border-radius: 10px;
    display: flex
;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}
.img-product-area {
    width: 50%;
    background: white;
    display: flex
;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    border: solid 1px #E2E8F0;
}

.img-product-area img {
    height: 250px;
}
.previous-product-area h4 {
    margin: 0;
    font-size: 18px;
    color: #0B4131;
    font-family: Sofia Pro SemiBold !important;
}
p.previous-class {
    margin: 0;
    color: #777777;
    margin-top: 10px;
}
.child-last-order-block {
    display: flex
;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%;
    border: solid 1px #f4f9e5;
    background: #B3E99E;
    padding: 20PX 20PX;
    border-radius: 10px;
    gap: 20px;
}
.inner-child-order-block {
    display: flex
;
    flex-direction: row;
    justify-content: space-between;
    gap: 10px;
}
.previous-product-area {
    width: 50%;
}
.title-area-for-reorder p {
    font-weight: 700;
    font-family: 'Sofia Pro Regular' !important;
}
.inner-child-order-block p {
    margin: 0;
    color: #0a4131;
}
.recomdeded-dose p {
    font-size: 14px;
    background: #d3f3c7;
    padding: 3px 10px;
    border-radius: 25px;
    font-family: 'Sofia Pro Regular' !important;
    color: #0b4233;
}

.recomdeded-dose {
    display: flex
;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
}

.reorder-form-area {
    margin-top: 20px;
    /* background: #f9fcf1; */
    border-radius: 10px;
    display: flex
;
    flex-direction: row;
    justify-content: space-between;
    gap: 20px;
}
.bmi-count-area {
    width: 50%;
    border: solid 1px #E2E8F0;
    padding: 20px;
    margin-bottom: 20px;
    background: #f9fcf1;
    border-radius: 10px;
}
.bmi-count-area h5 {
    font-size: 18px;
    color: #0B4131;
    font-family: 'Sofia Pro Regular' !important;
    font-weight: 600;
    margin: 0;
    margin-bottom: 10px;
}
.parent-input-area input {
    border: solid 1px #E2E8F0;
    border-radius: 10px;
    background: white;
    font-size: 18px;
    font-family: 'Sofia Pro Regular' !important;
    color: #0b4133;
}

.parent-input-area {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 10px;
}
.parent-input-area label {
    font-size: 12px;
    font-weight: 600;
    color:#0B4131;
    font-family: 'Sofia Pro Regular' !important;
}
.bmi-result-area p {
    font-size: 18px;
    font-weight: 800;
    color: #0a4131;
    margin: 0;
}

.bmi-result-area {
    display: flex
;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    padding: 20px;
    background: white;
    border-radius: 10px;
    margin-top: 20px;
    border:solid 1px #E2E8F0;
}
.bmi-result-area span {
    font-size: 26px;
    font-weight: 700;
    font-family: Sofia Pro SemiBold !important;
    color: #0a4030;
}
.dosage-area {
    width: 50%;
    background: #b3e99e;
    padding: 20px;
    border-radius: 10px;
}
.dosage-area label {
    color: #0B4131;
    font-weight: 700;
}
.variation-area select {
    background: white;
    border-radius: 10px;
}

.variation-area {
    display: flex
;
    flex-direction: column;
    gap: 10px;
}
.addon-area select
 {
    background: white;
    border-radius: 10px;
}

.addon-area {
    display: flex
;
    flex-direction: column;
    margin-top: 10px;
}
.total-price-area {
    display: flex
;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    /* padding: 10px; */
    border-radius: 10px;
    /* background: #bfdf72; */
    margin-top: 10px;
    color: #0a4030;
}
.total-price-area p {
    font-size: 20px;
    font-weight: 700;
}
.total-price-area span {
    font-size: 28px;
    font-family: Sofia Pro Regular !important;
}
button.reorder-now-button:hover {
    background: #ffffff !important;
    color: #0a4030;
}
button.reorder-now-button {
    width: 100%;
    padding: 15px;
    border-radius: 10px;
    border: 0;
    background: #0a4030;
    font-size: 20px;
    color: white;
    font-family: Sofia Pro SemiBold !important;
    transition: 0.3s ease all;
}
.parent-upload-boxes-area-cls {
    display: flex;
    flex-direction: row;
    align-items: flex-start !important;
    gap: 10px;
}
.upload-box {
    width: 100%;
    padding: 10px;
}

.uploaded-image-preview {
    min-height: 100px !important;
    object-fit: contain !important;
}

.child-upload-boxes-area-cls h3 {
    font-size: 13px !important;
    text-align: left;
    width: 100%;
    margin: 0;
    margin-bottom: 20px;
    font-family: Sofia Pro Regular !important;
    font-weight: 500;
}
.child-upload-boxes-area-cls h3:before {
    content: url(data:image/svg+xml,%3Csvg%20width%3D%2225%22%20height%3D%2226%22%20viewBox%3D%220%200%2025%2026%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Crect%20x%3D%220.520833%22%20y%3D%221.02083%22%20width%3D%2223.9583%22%20height%3D%2223.9583%22%20rx%3D%223.64583%22%20stroke%3D%22%23777777%22%20stroke-opacity%3D%220.466667%22%20stroke-width%3D%221.04167%22%2F%3E%3Cpath%20d%3D%22M14.5827%2017.1663L10.416%2012.9997L14.5827%208.83301%22%20stroke%3D%22%230B4131%22%20stroke-width%3D%222.08333%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E);
    position: relative;
    top: 1px;
    left: -3px;
}
.upload-box {
    background: white;
    padding: 20px;
    display: flex
;
    flex-direction: column;
    align-items: center;
    border-radius: 10px;
    border: dashed 1px #D9D9D9;
    text-align: center;
}
.uploaded-image-preview {
  position: relative;
  display: inline-block;
}

button.delete-upload {
    /* position: absolute; */
    /* top: -15px; */
    /* right: -16px; */
    background: #215434;
    color: white;
    border: none;
    width: auto;
    border-radius: 5px;
    cursor: pointer;
    line-height: 26px;
    text-align: center;
    font-size: 16px;
    padding: 4px 20px;
}

.icon img {
    height: 40px;
}
div#uploadPlaceholder p {
    margin: 0 !important;
}
.parent-product-area-details {
    display: flex
;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 30px;
}
.product-data-area-details h4, .product-data-area-details p {
    font-size: 16px;
    margin: 0;
}
.product-data-area-details h4 {
    font-family: 'Sofia Pro Regular' !important;
    font-weight: 400 !important;
}

.parent-my-account-area {
    display: flex
;
    flex-direction: column;
}
.child-account-area-profile {
    display: flex
;
    flex-direction: column;
    background: #f9fcf1;
    padding: 25px;
    border-radius: 10px;
}
.child-my-account-heading-area h3 {
    margin: 0;
    font-size: 18px;
    color: #0B4131;
}
.child-my-account-input-area label {
    color: #0B4131;
    font-size: 14px;
    margin-bottom: 6px;
    font-weight: 600;
}
.child-my-account-input-area {
    width: 49%;
    display: flex
;
    flex-direction: column;
}
.parent-my-account-input-area {
    display: flex
;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 10px;
}
.child-my-account-input-area input {
    background: #ffffff;
    border-radius: 10px;
    border: solid 1px #E2E8F0;
}
.update-profile {
    background: #0d4030;
    padding: 10px 25px;
    font-size: 16px;
    border-radius: 10px;
    color: #bede71;
    border: 0;
    font-weight: 700;
}
.update-button-area {
    width: 100%;
    margin-top: 20px;
    display: flex
;
    flex-direction: column;
    align-items: flex-end;
}
.child-account-area-address {
    margin-top: 20px;
    background: #f9fcf1;
    padding: 25px;
    border-radius: 10px;
}
.child-account-area-alladdress {
    padding: 25px;
    background: #f9fcf1;
    border-radius: 10px;
    margin-top: 20px;
}
.child-all-address-area {
    display: flex
;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    /* background: white; */
    /* padding: 10px; */
    /* border-radius: 10px; */
    border-bottom: solid 1px #e3e3e3;
}
.inner-all-address-area {
    margin-top: 10px;
}
.inner-all-address-area p {
    margin: 0;
    color: #0d4334 !important;
}
button.edit-address-button {
    padding: 10px 25px;
    background: #0c4131;
    color: #bee074;
    border: 0;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
}
button.delete-address-button {
    background: #bddf72;
    padding: 10px 20px;
    border-radius: 5px;
    border: 0;
    font-weight: 700;
    color: #0b4133;
}
button.set-default-address-button {
    /* background: red; */
    /* padding: 20px; */
    padding: 10px 25px;
    background: #0c4131;
    color: #bee074;
    border: 0;
    border-radius: 5px;
    font-weight: 700;
    margin-right: 5px;
}
p.address-type-cls.default-address {
    background: #bfdf72;
    padding: 2px 10px;
    text-align: left;
    border-radius: 10px;
    margin-bottom: 10px;
    width: 130px;
}
.parent-change-password-area {
    display: flex
;
    flex-direction: column;
    background: #f9fcf1;
    padding: 25px;
    border-radius: 10px;
    min-height: 500px;
}

.child-change-password-input-area label {
    font-size: 14px;
    font-weight: 800;
    color: #0a4131;
}

.child-change-password-input-area input {
    background: white;
    border-radius: 5px;
    width: 100%;
}
.child-change-password-input-area {
    display: flex
;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 20px;
}
.child-my-task-area {
    display: flex
;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
}
.parent-product-my-task p {
    margin: 0;
}

.parent-product-my-task {
    display: flex
;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}
.child-my-task-area {
    display: flex
;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background: #f9fcf1;
    padding: 25px;
    margin-bottom: 20px;
    border-radius: 10px;
}
.product-image-area {
    padding: 10px;
    background: white;
    border-radius: 10px;
    border: solid 1px #f0f0f0;
}
p.product-title-for-task {
    font-size: 18px;
    font-weight: 700;
    color: #0c4233;
}

a.btn-upload {
    padding: 10px 20px;
    background: #0a4030;
    text-decoration: none;
    color: #bfdf73;
    border-radius: 10px;
    font-weight: 700 !important;
}
a.btn-upload:hover {
    background: #bfdf72;
    color: #0a4131;
}

.product-details-area-for-task p {
    color: #777 !important;
}

.product-details-area-for-task h4 {
    font-size: 18px;
    color: #0e4131;
}
.product-details-area-for-task h4, .product-details-area-for-task p {
    margin: 0;
}
.product-details-area-for-task svg {
    height: 30px;
}
@media only screen and (max-width: 600px) {


mobile-navigation-bar.mobile-navigation-bar.transition.flex.invisible.algin-center.hidden-md.fixed.bottom-0.inset-x-0.z-10.bg-white.shadow.px-15.py-13.color-default.show {
    display: none !important;
}

}



.upload-layout {
    display: grid;
    grid-template-columns: 1fr 1.2fr;
    gap: 30px;
    margin-top: 20px;
}

.upload-left,
.upload-right {
    background: #fff;
    border-radius: 12px;
    padding: 20px;
}

.camera-box {
    border: 2px dashed #dcdcdc;
    border-radius: 12px;
    padding: 30px;
    text-align: center;
}

.camera-box img {
    width: 60px;
    margin-bottom: 10px;
}

.uploadbtn {
    margin-top: 15px;
    background: #000;
    color: #fff;
    border-radius: 6px;
    padding: 10px 20px;
    cursor: pointer;
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 15px;
}

.gallery-item {
    position: relative;
}

.gallery-item img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.remove-photo {
    position: absolute;
    top: 6px;
    right: 6px;
    background: rgba(0,0,0,0.6);
    color: #fff;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    width: 24px;
    height: 24px;
}
.uploaded-multi-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(90px, 1fr));
  gap: 10px;
  margin-top: 15px;
  width: 100%;
}

.uploaded-multi-gallery img {
  width: 100%;
  height: 120px;
  object-fit: cover;
  border-radius: 8px;
  background: #eee;
}

.parent-instruction-heading h4 {
    font-size: 19px;
    text-align: center;
    font-weight: 500;
}
p.heading-inst {
    font-weight: 800;
    color: black;
}
.instruction-text-area ul li:before {
    content: " ";
    padding: 10px 13px;
    background: url(https://mycustomer.everydaymeds.co.uk/images/chck.svg);
    background-repeat: no-repeat;
    margin-top: 12px;
    position: relative;
    top: 7px;
    background-size: 20px;
}
.instruction-text-area ul li {
    margin-bottom: 14px;
}
.photoforinstruction img {
    width: 100%;
}
.instruction-text-area ul {
    list-style: none !important;
    padding: 0;
}
@media(max-width: 768px) {
    .upload-layout {
        grid-template-columns: 1fr;
    }
}
/* ════════════════════════════════════════════════════════════
   EVERYDAYMEDS — MY ORDERS (scoped under .em-orders)
   Append to panel.css. No conflicts with existing rules.
   ════════════════════════════════════════════════════════════ */

.em-orders {
    --em-green:      #0B4131;
    --em-green-dk:   #0a3527;
    --em-lime:       #cdeeab;
    --em-lime-soft:  #e7f4d6;
    --em-surface:    #ffffff;
    --em-tint:       #f3faec;
    --em-tint-2:     #fafcf7;
    --em-line:       #e7eee0;
    --em-line-soft:  #f1f5ec;
    --em-muted:      #8a948f;
    --em-track:      #e2e8e0;

    background: transparent;
    margin-top: 20px;
}

.em-orders * { box-sizing: border-box; }

/* ── Card shell ── */
.em-orders .em-order-card {
    background: var(--em-surface);
    border: 1px solid var(--em-line);
    border-radius: 18px;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 1px 2px rgba(11,65,49,.04), 0 10px 30px rgba(11,65,49,.05);
    transition: box-shadow .3s ease, transform .3s ease;
    position: relative;
    z-index: 0;
}
.em-orders .em-order-card:has(.em-collapse.is-open) {
    z-index: 1;
}
.em-orders .em-order-card:hover {
    box-shadow: 0 2px 4px rgba(11,65,49,.06), 0 16px 40px rgba(11,65,49,.08);
}
.em-orders .em-order-card.is-cancelled { opacity: .92; }
.em-orders .em-order-card.is-new-order {
    border-color: var(--em-primary, #0b4131);
    box-shadow: 0 0 0 2px rgba(11, 65, 49, 0.12), 0 10px 30px rgba(11, 65, 49, 0.08);
}

/* ════════════════════════════════════
   HEADER BAND
   ════════════════════════════════════ */
.em-orders .em-card-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 24px;
    background: linear-gradient(180deg, #f8fbf3, #ffffff);
    border-bottom: 1px solid var(--em-line-soft);
    flex-wrap: wrap;
}
.em-orders .em-card-head-toggle {
    width: 100%;
    border: 0;
    cursor: pointer;
    text-align: left;
    font: inherit;
    transition: background .2s ease;
}
.em-orders .em-card-head-toggle:hover {
    background: linear-gradient(180deg, #f3f9eb, #fafdf7);
}
.em-orders .em-order-card.is-collapsed .em-card-head {
    border-bottom: 0;
}

/* Smooth expand / collapse for order body and document panel */
.em-orders .em-collapse {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease;
    pointer-events: none;
}
.em-orders .em-collapse.is-open {
    grid-template-rows: 1fr;
    pointer-events: auto;
}
.em-orders .em-collapse-inner {
    overflow: hidden;
    min-height: 0;
}

.em-orders .em-head-right {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}
.em-orders .em-card-chevron {
    width: 20px;
    height: 20px;
    color: var(--em-muted);
    transition: transform 0.35s ease;
    flex-shrink: 0;
}
.em-orders .em-card-chevron.is-open {
    transform: rotate(180deg);
}
.em-orders .em-head-left {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
}
.em-orders .em-head-icon {
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: var(--em-green);
    color: var(--em-lime);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.em-orders .em-head-icon i { font-size: 22px; }
.em-orders .em-head-meta { min-width: 0; }
.em-orders .em-order-id {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 6px 10px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 700;
    font-size: 17px;
    color: var(--em-green);
    letter-spacing: .2px;
}
.em-orders .em-order-ref {
    white-space: nowrap;
}
.em-orders .em-order-med {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-weight: 500;
    font-size: 14px;
    color: #3d5248;
    letter-spacing: 0;
}
.em-orders .em-order-med::before {
    content: "\00B7";
    margin-right: 10px;
    color: var(--em-muted);
    font-weight: 400;
}
.em-orders .em-order-date {
    margin: 3px 0 0;
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12.5px;
    color: var(--em-muted);
}
.em-orders .em-order-date i { font-size: 14px; }

/* Status pill */
.em-orders .em-status-pill {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 7px 16px;
    border-radius: 999px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.em-orders .em-status-pill.pending {
    background: var(--em-lime-soft);
    color: #27500a;
}
.em-orders .em-status-pill.cancelled {
    background: #fdecec;
    color: #b23b3b;
}
.em-orders .em-status-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    flex-shrink: 0;
}

/* ════════════════════════════════════
   PROGRESS
   ════════════════════════════════════ */
.em-orders .em-progress-section {
    padding: 20px 24px;
    border-bottom: 1px solid var(--em-line-soft);
}
.em-orders .em-progress-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 16px;
}
.em-orders .em-progress-stage {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13.5px;
    color: var(--em-green);
}
.em-orders .em-progress-stage i { font-size: 15px; color: #639922; }
.em-orders .em-progress-count {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12px;
    color: var(--em-muted);
    background: #f1f6ec;
    padding: 4px 11px;
    border-radius: 999px;
    white-space: nowrap;
}

/* Desktop stepper */
.em-orders .em-stepper {
    display: flex;
    align-items: flex-start;
    width: 100%;
}
.em-orders .em-step {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
    text-align: center;
    width: 30px;
}
.em-orders .em-dot {
    width: 24px;
    height: 24px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 2px solid #d7e0d4;
    flex-shrink: 0;
    transition: all .3s ease;
}
.em-orders .em-dot.done {
    background: var(--em-green);
    border-color: var(--em-green);
    color: #fff;
}
.em-orders .em-dot.done i { font-size: 13px; }
.em-orders .em-dot.active {
    background: var(--em-green);
    border-color: var(--em-green);
    box-shadow: 0 0 0 4px rgba(11,65,49,.15);
}
.em-orders .em-dot-inner {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #fff;
}
.em-orders .em-step-label {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 11px;
    line-height: 1.3;
    color: #9aa39d;
    white-space: nowrap;
}
.em-orders .em-step.done .em-step-label,
.em-orders .em-step.active .em-step-label {
    color: var(--em-green);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-orders .em-bar {
    flex: 1 1 auto;
    height: 3px;
    background: var(--em-track);
    border-radius: 3px;
    margin: 11px 3px 0;
    min-width: 12px;
    transition: background .3s ease;
}
.em-orders .em-bar.filled { background: var(--em-green); }

/* Mobile compact bar (hidden on desktop) */
.em-orders .em-progress-mobile { display: none; }
.em-orders .em-mobile-track {
    width: 100%;
    height: 7px;
    background: #e7ede3;
    border-radius: 999px;
    overflow: hidden;
}
.em-orders .em-mobile-fill {
    height: 100%;
    background: linear-gradient(90deg, var(--em-green), #2f7a52);
    border-radius: 999px;
    transition: width .4s ease;
}

/* ════════════════════════════════════
   BODY — ITEMS + DOSE
   ════════════════════════════════════ */
.em-orders .em-body {
    padding: 22px 24px;
    display: flex;
    gap: 20px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.em-orders .em-items {
    flex: 1 1 10px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.em-orders .em-item {
    display: flex;
    align-items: center;
    gap: 16px;
}
.em-orders .em-item-img {
    width: 88px;
    height: 88px;
    border-radius: 14px;
    background: #f7faf3;
    border: 1px solid var(--em-line);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 10px;
}
.em-orders .em-item-img img {
    max-height: 68px;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}
.em-orders .em-item-info { min-width: 0; }
.em-orders .em-item-info h4 {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 14.5px;
    line-height: 1.4;
    color: var(--em-green);
}
.em-orders .em-item-info p {
    margin: 4px 0 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12.5px;
    color: var(--em-muted);
}
.em-orders .em-qty-chip {
    display: inline-block;
    margin-top: 8px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 11.5px;
    color: #5F5E5A;
    background: #f1efe8;
    padding: 3px 10px;
    border-radius: 6px;
}

/* Next dose */
.em-orders .em-dose-col {
    flex: 0 0 auto;
    width: 250px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.em-orders .em-dose-card {
    background: var(--em-tint);
    border: 1px solid #e3f0d2;
    border-radius: 14px;
    padding: 14px 16px;
}
.em-orders .em-dose-badge {
    display: inline-block;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    color: #27500a;
    background: var(--em-lime);
    padding: 4px 12px;
    border-radius: 999px;
    margin-bottom: 8px;
}
.em-orders .em-dose-title {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 13.5px;
    color: var(--em-green);
}
.em-orders .em-dose-date {
    margin: 6px 0 0;
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12px;
    color: var(--em-muted);
}
.em-orders .em-dose-date i { font-size: 14px; }

/* ════════════════════════════════════
   DOCUMENT UPLOAD PANEL
   ════════════════════════════════════ */
.em-orders .em-doc-panel {
    border-bottom: 1px solid var(--em-line-soft);
    background: #fcfdf9;
    margin-bottom: 14px;
}
.em-orders .em-doc-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 14px 24px;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    color: var(--em-green);
    text-align: left;
}
.em-orders .em-doc-toggle:hover {
    background: var(--em-tint);
}
.em-orders .em-doc-toggle.needs-action {
    background: #fff8eb;
}
.em-orders .em-doc-toggle-left {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.em-orders .em-doc-toggle-left svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--em-green);
}
.em-orders .em-doc-pending-count {
    margin-left: 8px;
    display: inline-flex;
    align-items: center;
    padding: 2px 10px;
    border-radius: 999px;
    background: #fdecc8;
    color: #8a5a00;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .3px;
}
.em-orders .em-doc-chevron {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: var(--em-muted);
    transition: transform 0.35s ease;
}
.em-orders .em-doc-toggle.is-open .em-doc-chevron {
    transform: rotate(180deg);
}
.em-orders .em-doc-toggle.is-open {
    margin-bottom: 10px;
}
.em-orders .em-doc-body {
    padding: 4px 24px 18px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.em-orders .em-doc-row {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid var(--em-line);
    border-radius: 12px;
    background: #fff;
}
@media (min-width: 640px) {
    .em-orders .em-doc-row {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
    }
}
.em-orders .em-doc-row.needs-action {
    border-color: #f0d48a;
    background: #fffbeb;
}
.em-orders .em-doc-row.is-uploaded {
    border-color: #bfe8cf;
    background: #f3fbf6;
}
.em-orders .em-doc-row.is-verified {
    border-color: #c5dcc9;
    background: #f6fbf7;
}
.em-orders .em-doc-row-main {
    min-width: 0;
    flex: 1;
}
.em-orders .em-doc-row-title {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13.5px;
    font-weight: 600;
    color: #1a2e24;
}
.em-orders .em-doc-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .4px;
}
.em-orders .em-doc-badge svg {
    width: 14px;
    height: 14px;
}
.em-orders .em-doc-badge-required { color: #b45309; }
.em-orders .em-doc-badge-rejected { color: #dc2626; }
.em-orders .em-doc-badge-uploaded { color: #047857; }
.em-orders .em-doc-badge-verified { color: var(--em-green); }
.em-orders .em-doc-note {
    margin: 6px 0 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12px;
    line-height: 1.45;
    color: var(--em-muted);
    white-space: pre-wrap;
}
.em-orders .em-doc-note-error {
    color: #b91c1c;
}
.em-orders .em-doc-rules-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 0;
    border: 0;
    background: transparent;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 12px;
    font-weight: 600;
    color: var(--em-green);
    cursor: pointer;
    text-decoration: underline;
}
.em-orders .em-doc-rules-link svg {
    width: 14px;
    height: 14px;
}
.em-orders .em-doc-row-actions {
    display: flex;
    flex-shrink: 0;
    flex-wrap: wrap;
    gap: 8px;
}
.em-orders .em-doc-footer-hint {
    margin: 4px 0 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12px;
    color: var(--em-muted);
}
.em-orders .em-doc-footer-link {
    font-weight: 600;
    color: var(--em-green);
    text-decoration: underline;
}

/* ════════════════════════════════════
   FOOTER BAND
   ════════════════════════════════════ */
.em-orders .em-footer {
    padding: 18px 24px;
    background: var(--em-tint-2);
    border-top: 1px solid var(--em-line-soft);
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 14px;
    flex-wrap: wrap;
}
.em-orders .em-total-label {
    display: block;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 11px;
    color: var(--em-muted);
    text-transform: uppercase;
    letter-spacing: .6px;
}
.em-orders .em-total-value {
    margin: 2px 0 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 700;
    font-size: 23px;
    color: var(--em-green);
}
.em-orders .em-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.em-orders .em-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 22px;
    border-radius: 11px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    transition: all .25s ease;
    border: 1px solid transparent;
}
.em-orders .em-btn i { font-size: 16px; }
.em-orders .em-btn-primary {
    background: var(--em-green);
    color: #fff;
    border-color: var(--em-green);
}
.em-orders .em-btn-primary:hover {
    background: var(--em-green-dk);
    transform: translateY(-1px);
}
.em-orders .em-btn-ghost {
    background: #fff;
    color: var(--em-green);
    border-color: #d7e0d4;
}
.em-orders .em-btn-ghost:hover {
    background: var(--em-tint);
    border-color: var(--em-green);
}

/* ── Empty + pagination ── */
.em-orders .em-empty {
    padding: 56px 20px;
    text-align: center;
    color: var(--em-muted);
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-orders .em-empty i { font-size: 40px; opacity: .5; display: block; margin-bottom: 10px; }
.em-orders .em-empty p { margin: 0; }

.em-orders .em-pagination {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin-top: 8px;
    flex-wrap: wrap;
}
.em-orders .em-page-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 10px 20px;
    border-radius: 11px;
    border: 1px solid #d7e0d4;
    background: #fff;
    color: var(--em-green);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px;
    cursor: pointer;
    transition: all .25s ease;
}
.em-orders .em-page-btn:hover:not([disabled]) {
    background: var(--em-green);
    color: #fff;
    border-color: var(--em-green);
}
.em-orders .em-page-btn[disabled] { opacity: .45; cursor: not-allowed; }

/* ════════════════════════════════════
   RESPONSIVE — TABLET
   ════════════════════════════════════ */
@media (max-width: 1024px) {
    .em-orders .em-body { flex-direction: column; }
    .em-orders .em-dose-col { width: 100%; }
}

/* ════════════════════════════════════
   RESPONSIVE — MOBILE (the overflow fix)
   ════════════════════════════════════ */
@media (max-width: 768px) {
    .em-orders .em-card-head { padding: 16px 16px; }
    .em-orders .em-head-icon { width: 40px; height: 40px; }
    .em-orders .em-head-icon i { font-size: 19px; }
    .em-orders .em-order-id { font-size: 15.5px; }

    .em-orders .em-progress-section { padding: 16px 16px; }
    /* Swap progress UIs */
    .em-orders .em-stepper { display: none; }
    .em-orders .em-progress-mobile { display: block; }

    .em-orders .em-body { padding: 18px 16px; gap: 16px; }
    .em-orders .em-item-img { width: 72px; height: 72px; padding: 8px; }
    .em-orders .em-item-img img { max-height: 54px; }
    .em-orders .em-item-info h4 { font-size: 14px; }

    .em-orders .em-footer { padding: 16px; flex-direction: column; align-items: stretch; }
    .em-orders .em-actions { width: 100%; }
    .em-orders .em-btn { flex: 1 1 0; padding: 12px 16px; }
}

@media (max-width: 400px) {
    .em-orders .em-actions { flex-direction: column; }
    .em-orders .em-btn { width: 100%; }
    .em-orders .em-status-pill { font-size: 12px; padding: 6px 13px; }
}

/* ════════════════════════════════════════════════════════════
   EVERYDAYMEDS — SIDEBAR + HEADER HERO
   Append to panel.css. Scoped to avoid conflicts.
   ════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════
   SIDEBAR
   ════════════════════════════════════ */
.em-sidebar {
    --em-green:     #0B4131;
    --em-lime:      #cdeeab;
    --em-lime-soft: #dff3c9;
    --em-muted:     #8a948f;
    --em-line:      #f1f5ec;

    display: block;
    background: #fff;
    border: 1px solid #e7eee0;
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 8px 24px rgba(11,65,49,.05);
}

/* Profile header */
.em-sidebar .em-side-profile {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px 14px;
    border-bottom: 1px solid var(--em-line);
    margin-bottom: 10px;
}
.em-sidebar .em-side-avatar {
    width: 38px; height: 38px;
    border-radius: 11px;
    background: var(--em-green);
    color: var(--em-lime);
    display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.em-sidebar .em-side-profile-text { display: flex; flex-direction: column; line-height: 1.3; }
.em-sidebar .em-side-welcome {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600; font-size: 13.5px; color: var(--em-green);
}
.em-sidebar .em-side-sub {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 11.5px; color: var(--em-muted);
}

/* Nav list */
.em-sidebar .em-side-nav,
.em-sidebar .sidebar-nav-cls.em-side-nav {
    display: flex;
    flex-direction: column;
    gap: 3px;
    padding: 0;
}
.em-sidebar .em-side-nav a {
    position: relative;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 11px 13px;
    border-radius: 11px;
    text-decoration: none;
    font-family: 'Sofia Pro Medium', sans-serif !important;
    font-size: 14px;
    font-weight: 500;
    color: #3a4540;
    transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
.em-sidebar .em-side-nav a .em-nav-ic {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: var(--em-green);
    flex-shrink: 0;
    transition: color .25s ease;
}
.em-sidebar .em-side-nav a .em-nav-label {
    font-family: inherit;
    line-height: 1.25;
}
.em-sidebar .em-side-nav a:hover:not(.em-logout):not(.active) {
    background: #f3faec;
    color: var(--em-green);
}
.em-sidebar .em-side-nav a:hover:not(.em-logout):not(.active) .em-nav-ic {
    color: var(--em-green);
}
.em-sidebar .em-side-nav a.active:hover:not(.em-logout) {
    background: #d4edc0;
    color: var(--em-green);
}
/* Active item */
.em-sidebar .em-side-nav a.active {
    background: var(--em-lime-soft);
    color: var(--em-green);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
}
.em-sidebar .em-side-nav a.active .em-nav-ic {
    color: var(--em-green);
}
.em-sidebar .em-side-nav a.active::before {
    content: "";
    position: absolute;
    left: 0; top: 9px; bottom: 9px;
    width: 3px;
    border-radius: 3px;
    background: var(--em-green);
}
.em-sidebar .em-side-divider {
    height: 1px;
    background: var(--em-line);
    margin: 8px 6px;
}
/* Log out */
.em-sidebar .em-side-nav a.em-logout { color: #b23b3b; }
.em-sidebar .em-side-nav a.em-logout .em-nav-ic { color: #b23b3b; }
.em-sidebar .em-side-nav a.em-logout:hover { background: #fdecec; color: #9a2f2f; }
.em-sidebar .em-side-nav a.em-logout:hover .em-nav-ic { color: #9a2f2f; }

/* ════════════════════════════════════
   HEADER HERO
   ════════════════════════════════════ */
.em-hero {
    position: relative;
    overflow: hidden;
    background: #0B4131;
    border-radius: 16px;
    padding: 26px 28px;
}
.em-hero-blob {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
}
.em-hero-blob-1 {
    right: -30px; top: -30px;
    width: 160px; height: 160px;
    background: rgba(205,238,171,.12);
}
.em-hero-blob-2 {
    right: 40px; bottom: -50px;
    width: 120px; height: 120px;
    background: rgba(205,238,171,.08);
}
.em-hero-content { position: relative; z-index: 1; }
.em-hero-title-row {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 6px;
}
.em-hero-icon { color: #cdeeab; display: inline-flex; }
.em-hero .em-hero-icon {
    width: 46px;
    height: 46px;
    min-width: 46px;
    border-radius: 12px;
    background: rgba(205,238,171,.14);
    color: #cdeeab;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}
.em-hero .em-hero-icon svg {
    width: 24px;
    height: 24px;
    display: block;
}
.em-hero-h {
    margin: 0;
    font-family: 'Sofia Pro Light', sans-serif !important;
    font-weight: 600;
    font-size: 24px;
    color: #fff;
}
.em-hero-sub {
    margin: 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 13.5px;
    color: #bcd8c8;
}
.em-hero-stats {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}
.em-hero-chip {
    background: rgba(255,255,255,.1);
    border-radius: 11px;
    padding: 10px 16px;
}
.em-chip-label {
    display: block;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 11px;
    color: #bcd8c8;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.em-chip-value {
    display: block;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 19px;
    color: #fff;
    margin-top: 2px;
}


/* ════════════════════════════════════════════════════════════
   MOBILE LAYOUT FIX — parent portal containers
   Append to the END of panel.css (after everything else).
   This is what was missing: the row layout + fixed widths
   never collapsed on mobile, squeezing the sidebar.
   ════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════
   IMPROVED MOBILE SIDEBAR — replace the sidebar rules inside
   your @media (max-width: 768px) block with these.
   Smoother scroll, snap, fade hint, consistent pill sizing.
   ════════════════════════════════════════════════════════════ */
@media (max-width: 992px) {

    .parent-mycustomer-portal-area {
        padding: 12px;
    }

    .parent-mycustomer-portal-area .fluid_container {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 12px;
    }

    .child-mycustomer-portal-area.left-sidebar-area,
    .child-mycustomer-portal-area.right-sidebar-area {
        width: 100%;
        max-width: 100%;
        min-height: 0;
    }

    .em-sidebar {
        width: 100%;
        max-width: 100%;
        margin: 0;
        padding: 8px;
        border-radius: 14px;
        box-sizing: border-box;
        position: relative;
    }
    .em-sidebar .em-side-profile { display: none; }

    .em-sidebar .em-side-nav,
    .em-sidebar .sidebar-nav-cls.em-side-nav {
        flex-direction: row;
        gap: 8px;
        overflow-x: auto;
        overflow-y: hidden;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        scroll-snap-type: x proximity;
        scroll-padding-inline: 8px;
        padding: 2px;
    }
    .em-sidebar .em-side-nav::-webkit-scrollbar,
    .em-sidebar .sidebar-nav-cls.em-side-nav::-webkit-scrollbar { display: none; }

    .em-sidebar .em-side-nav a,
    .em-sidebar .sidebar-nav-cls.em-side-nav a {
        flex-direction: column;
        gap: 6px;
        padding: 11px 10px !important;
        width: 78px;
        min-width: 78px;
        max-width: 100px;
        text-align: center;
        flex-shrink: 0;
        font-size: 10.5px;
        line-height: 1.25;
        border-radius: 13px;
        scroll-snap-align: start;
        background: #f5faee;
        white-space: normal;
        word-break: break-word;
        transition: background .2s ease, transform .15s ease, color .2s ease;
    }
    .em-sidebar .em-side-nav a:hover:not(.active):not(.em-logout),
    .em-sidebar .sidebar-nav-cls.em-side-nav a:hover:not(.active):not(.em-logout) {
        background: #eef8e4;
        color: var(--em-green);
    }
    .em-sidebar .em-side-nav a:hover:not(.active):not(.em-logout) .em-nav-ic,
    .em-sidebar .sidebar-nav-cls.em-side-nav a:hover:not(.active):not(.em-logout) .em-nav-ic {
        color: var(--em-green);
    }
    .em-sidebar .em-side-nav a.active:hover:not(.em-logout),
    .em-sidebar .sidebar-nav-cls.em-side-nav a.active:hover:not(.em-logout) {
        background: var(--em-green);
        color: #fff;
    }
    .em-sidebar .em-side-nav a:active,
    .em-sidebar .sidebar-nav-cls.em-side-nav a:active { transform: scale(.95); }

    .em-sidebar .em-side-nav a .em-nav-ic svg,
    .em-sidebar .sidebar-nav-cls.em-side-nav a .em-nav-ic svg { width: 22px; height: 22px; }
    .em-sidebar .em-side-nav a .em-nav-label,
    .em-sidebar .sidebar-nav-cls.em-side-nav a .em-nav-label {
        display: block;
        font-family: 'Sofia Pro Medium', sans-serif !important;
    }

    .em-sidebar .em-side-nav a.active::before,
    .em-sidebar .sidebar-nav-cls.em-side-nav a.active::before { display: none; }
    .em-sidebar .em-side-nav a.active,
    .em-sidebar .sidebar-nav-cls.em-side-nav a.active {
        background: var(--em-green);
        color: #fff;
    }
    .em-sidebar .em-side-nav a.active .em-nav-ic,
    .em-sidebar .sidebar-nav-cls.em-side-nav a.active .em-nav-ic { color: var(--em-lime); }

    .em-sidebar .em-side-divider { display: none; }

    .em-sidebar .em-side-nav a.em-logout,
    .em-sidebar .sidebar-nav-cls.em-side-nav a.em-logout {
        background: #fdeeee;
        color: #b23b3b;
    }
    .em-sidebar .em-side-nav a.em-logout .em-nav-ic,
    .em-sidebar .sidebar-nav-cls.em-side-nav a.em-logout .em-nav-ic { color: #b23b3b; }
}

/* ════════════════════════════════════════════════════════════
   EVERYDAYMEDS — TASKS / HOME (scoped under .em-tasks)
   Append to panel.css. Reuses .em-hero + .em-btn from My Orders.
   ════════════════════════════════════════════════════════════ */
.em-tasks {
    --em-green:     #0B4131;
    --em-green-dk:  #0a3527;
    --em-lime:      #cdeeab;
    --em-tint:      #f3faec;
    --em-line:      #e7eee0;
    --em-line-soft: #f1f5ec;
    --em-muted:     #8a948f;

    margin-top: 20px;
}
.em-tasks * { box-sizing: border-box; }

/* Section header */
.em-tasks .em-tasks-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.em-tasks .em-tasks-title {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 18px;
    color: var(--em-green);
}
.em-tasks .em-tasks-ic {
    display: inline-flex;
    width: 34px; height: 34px;
    border-radius: 10px;
    background: var(--em-tint);
    border: 1px solid #e3f0d2;
    align-items: center;
    justify-content: center;
    color: var(--em-green);
}
.em-tasks .em-tasks-badge {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 12px;
    font-weight: 600;
    color: #854f0b;
    background: #faeeda;
    padding: 5px 13px;
    border-radius: 999px;
}

/* Task card */
.em-tasks .em-task-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    background: #fff;
    border: 1px solid var(--em-line);
    border-radius: 16px;
    padding: 18px 20px;
    margin-bottom: 14px;
    box-shadow: 0 1px 2px rgba(11,65,49,.04), 0 8px 24px rgba(11,65,49,.04);
    transition: box-shadow .3s ease, transform .3s ease;
    flex-wrap: wrap;
}
.em-tasks .em-task-card:hover {
    box-shadow: 0 2px 4px rgba(11,65,49,.06), 0 14px 34px rgba(11,65,49,.07);
}
.em-tasks .em-task-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1 1 280px;
    min-width: 0;
}
.em-tasks .em-task-img {
    width: 84px; height: 84px;
    border-radius: 13px;
    background: #f7faf3;
    border: 1px solid var(--em-line);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 8px;
    overflow: hidden;
}
.em-tasks .em-task-img img {
    max-width: 100%;
    max-height: 68px;
    width: auto;
    object-fit: contain;
}
.em-tasks .em-task-img-fallback { color: #b4c4a8; display: inline-flex; }

.em-tasks .em-task-info { min-width: 0; }
.em-tasks .em-task-tag {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    color: #854f0b;
    background: #faeeda;
    padding: 4px 10px;
    border-radius: 999px;
    margin-bottom: 8px;
}
.em-tasks .em-task-name {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.4;
    color: var(--em-green);
}
.em-tasks .em-task-variant {
    margin: 4px 0 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12.5px;
    color: var(--em-muted);
}
.em-tasks .em-task-date {
    margin: 6px 0 0;
    display: flex;
    align-items: center;
    gap: 5px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12px;
    color: var(--em-muted);
}

/* Action button — reuse .em-btn look but ensure it works as <a> */
.em-tasks .em-task-action { flex-shrink: 0; }
.em-tasks .em-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 22px;
    border-radius: 11px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    text-decoration: none !important;
    transition: all .25s ease;
    border: 1px solid transparent;
}
.em-tasks .em-btn-primary {
    background: var(--em-green);
    color: #fff !important;
    border-color: var(--em-green);
}
.em-tasks .em-btn-primary:hover {
    background: var(--em-green-dk);
    color: #fff !important;
    transform: translateY(-1px);
}

/* All-clear empty state */
.em-tasks .em-task-empty {
    background: linear-gradient(180deg, #f8fbf3, #ffffff);
    border: 1px solid var(--em-line);
    border-radius: 16px;
    padding: 48px 24px;
    text-align: center;
}
.em-tasks .em-empty-ic {
    width: 72px; height: 72px;
    border-radius: 50%;
    background: var(--em-tint);
    border: 1px solid #e3f0d2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #157f60;
    margin-bottom: 14px;
}
.em-tasks .em-empty-title {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 18px;
    color: var(--em-green);
}
.em-tasks .em-empty-sub {
    margin: 6px auto 0;
    max-width: 380px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 13.5px;
    color: var(--em-muted);
    line-height: 1.5;
}

/* ════════════════════════════════════
   RESPONSIVE — MOBILE
   ════════════════════════════════════ */
@media (max-width: 768px) {
    .em-tasks .em-task-card {
        padding: 16px;
        gap: 14px;
    }
    .em-tasks .em-task-img { width: 64px; height: 64px; }
    .em-tasks .em-task-img img { max-height: 50px; }
    .em-tasks .em-task-name { font-size: 14px; }
    .em-tasks .em-task-action { width: 100%; }
    .em-tasks .em-btn { width: 100%; padding: 12px 16px; }
    .em-tasks .em-task-empty { padding: 36px 18px; }
}

/* ════════════════════════════════════════════════════════════
   EVERYDAYMEDS — MY ACCOUNT (scoped under .em-account)
   Append to panel.css. Reuses .em-hero + .em-btn.
   ════════════════════════════════════════════════════════════ */
.em-account {
    --em-green:     #0B4131;
    --em-green-dk:  #0a3527;
    --em-lime:      #cdeeab;
    --em-tint:      #f3faec;
    --em-line:      #e7eee0;
    --em-line-soft: #f1f5ec;
    --em-muted:     #8a948f;
    --em-input:     #d7e0d4;

    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.em-account * { box-sizing: border-box; }

/* Card */
.em-account .em-acc-card {
    background: #fff;
    border: 1px solid var(--em-line);
    border-radius: 16px;
    padding: 24px 26px;
    box-shadow: 0 1px 2px rgba(11,65,49,.04), 0 8px 24px rgba(11,65,49,.04);
}

/* Card header */
.em-account .em-acc-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--em-line-soft);
}
.em-account .em-acc-ic {
    display: inline-flex;
    width: 34px; height: 34px;
    border-radius: 10px;
    background: var(--em-tint);
    border: 1px solid #e3f0d2;
    align-items: center;
    justify-content: center;
    color: var(--em-green);
    flex-shrink: 0;
}
.em-account .em-acc-title {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 17px;
    color: var(--em-green);
}

/* Field grid */
.em-account .em-acc-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.em-account .em-field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    min-width: 0;
}
.em-account .em-field-full { grid-column: 1 / -1; }
.em-account .em-field label {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--em-green);
}
.em-account .em-field input {
    width: 100%;
    background: #fff;
    border: 1px solid var(--em-input);
    border-radius: 10px;
    padding: 11px 14px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 14px;
    color: #0b4133;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.em-account .em-field input::placeholder { color: #b4b2a9; }
.em-account .em-field input:focus {
    outline: none;
    border-color: var(--em-green);
    box-shadow: 0 0 0 3px rgba(11,65,49,.1);
}
.em-account .em-field input:disabled {
    background: #f5f7f2;
    color: #8a948f;
    cursor: not-allowed;
}

/* Actions */
.em-account .em-acc-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 20px;
}
.em-account .em-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 11px 24px;
    border-radius: 11px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    transition: all .25s ease;
    border: 1px solid transparent;
}
.em-account .em-btn-primary {
    background: var(--em-green);
    color: #fff;
    border-color: var(--em-green);
}
.em-account .em-btn-primary:hover {
    background: var(--em-green-dk);
    transform: translateY(-1px);
}
.em-account .em-btn-ghost {
    background: #fff;
    color: var(--em-green);
    border-color: var(--em-input);
}
.em-account .em-btn-ghost:hover {
    background: var(--em-tint);
    border-color: var(--em-green);
}

/* ── Address list ── */
.em-account .em-address-list {
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.em-account .em-address-card {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    background: #fafcf7;
    border: 1px solid var(--em-line);
    border-radius: 14px;
    padding: 18px 20px;
    flex-wrap: wrap;
    border-bottom: 1px solid var(--em-line); /* override old rule */
}
.em-account .em-address-card.is-default {
    background: var(--em-tint);
    border-color: #cfe6b3;
}
.em-account .em-address-info { margin: 0; min-width: 0; }
.em-account .em-address-info p { margin: 0; }
.em-account .em-address-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    color: #5F5E5A;
    background: #eef0ea;
    padding: 4px 12px;
    border-radius: 999px;
    margin-bottom: 10px !important;
    width: auto;
    text-align: left;
}
.em-account .em-address-badge.default-address {
    color: #27500a;
    background: var(--em-lime);
}
.em-account .em-address-line {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 14.5px;
    color: var(--em-green) !important;
    margin-bottom: 4px !important;
}
.em-account .em-address-meta {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 13px;
    color: #6c756f !important;
    line-height: 1.5;
}

/* Address action buttons */
.em-account .em-address-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 0;
    flex-shrink: 0;
}
.em-account .em-addr-btn {
    padding: 9px 16px;
    border-radius: 9px;
    border: 1px solid transparent;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s ease;
    margin: 0;
}
.em-account .em-addr-btn-solid {
    background: var(--em-green);
    color: #fff;
    border-color: var(--em-green);
}
.em-account .em-addr-btn-solid:hover { background: var(--em-green-dk); }
.em-account .em-addr-btn-soft {
    background: #fff;
    color: #b23b3b;
    border-color: #f0d0d0;
}
.em-account .em-addr-btn-soft:hover { background: #fdecec; border-color: #e0a8a8; }

/* Address empty */
.em-account .em-address-empty {
    text-align: center;
    padding: 36px 20px;
    color: var(--em-muted);
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-account .em-address-empty svg { color: #b4c4a8; margin-bottom: 8px; }
.em-account .em-address-empty p { margin: 0; }

/* ════════════════════════════════════
   RESPONSIVE — MOBILE
   ════════════════════════════════════ */
@media (max-width: 768px) {
    .em-account .em-acc-card { padding: 18px 16px; }
    .em-account .em-acc-grid { grid-template-columns: 1fr; gap: 14px; }
    .em-account .em-acc-actions { margin-top: 16px; }
    .em-account .em-btn { width: 100%; }

    .em-account .em-address-card { padding: 16px; }
    .em-account .em-address-actions { width: 100%; }
    .em-account .em-addr-btn { flex: 1 1 0; text-align: center; }
}

/* ════════════════════════════════════════════════════════════
   HERO PROGRESS — for Upload Documents page.
   Append to panel.css (under your existing .em-hero rules).
   White-on-green progress meter that lives inside the hero.
   ════════════════════════════════════════════════════════════ */
.em-hero-progress {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 18px;
    background: rgba(255,255,255,.1);
    border-radius: 12px;
    padding: 12px 16px;
}
.em-hero-progress-text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    flex-shrink: 0;
}
.em-hero-progress-count {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 22px;
    color: #fff;
    font-variant-numeric: tabular-nums;
}
.em-hero-progress-count span { color: #8fb39f; font-weight: 500; }
.em-hero-progress-label {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 10.5px;
    color: #bcd8c8;
    text-transform: uppercase;
    letter-spacing: .08em;
    margin-top: 3px;
}
.em-hero-progress-bar {
    flex: 1;
    height: 6px;
    background: rgba(255,255,255,.18);
    border-radius: 999px;
    overflow: hidden;
    min-width: 100px;
}
.em-hero-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #bede73, #cdeeab);
    border-radius: 999px;
    transition: width .6s cubic-bezier(.4,0,.2,1);
}

@media (max-width: 720px) {
    .em-hero-progress { margin-top: 14px; padding: 10px 14px; gap: 12px; }
    .em-hero-progress-count { font-size: 19px; }
}

/* ════════════════════════════════════════════════════════════
   CHANGE PASSWORD — extends .em-account (already in panel.css).
   Append to panel.css. Only adds the password-specific pieces.
   ════════════════════════════════════════════════════════════ */
.em-password .em-pw-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}
.em-password .em-pw-wrap {
    position: relative;
}
.em-password .em-pw-wrap input {
    width: 100%;
    background: #fff;
    border: 1px solid #d7e0d4;
    border-radius: 10px;
    padding: 11px 44px 11px 14px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 14px;
    color: #0b4133;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.em-password .em-pw-wrap input:focus {
    outline: none;
    border-color: #0B4131;
    box-shadow: 0 0 0 3px rgba(11,65,49,.1);
}
.em-password .em-pw-toggle {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 6px;
    color: #8a948f;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 7px;
    transition: color .2s ease, background .2s ease;
}
.em-password .em-pw-toggle:hover { color: #0B4131; background: #f3faec; }

/* Match hint */
.em-password .em-pw-match {
    display: block;
    margin-top: 6px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12px;
    min-height: 16px;
}
.em-password .em-pw-match.is-ok  { color: #15803d; }
.em-password .em-pw-match.is-bad { color: #b23b3b; }

/* Tips strip */
.em-password .em-pw-tips {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-top: 18px;
    padding: 12px 14px;
    background: #f3faec;
    border: 1px solid #e3f0d2;
    border-radius: 10px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12.5px;
    color: #4a5a4f;
    line-height: 1.45;
}
.em-password .em-pw-tips svg { color: #639922; flex-shrink: 0; margin-top: 1px; }

@media (max-width: 768px) {
    .em-password .em-pw-grid { grid-template-columns: 1fr; }
}
/* ════════════════════════════════════════════════════════════
   EVERYDAYMEDS — ORDER DETAIL (self-contained, scoped .em-detail)
   Append to panel.css. Does NOT depend on .em-acc-card existing.
   ════════════════════════════════════════════════════════════ */
.em-detail {
    --em-green:     #0B4131;
    --em-green-dk:  #0a3527;
    --em-lime:      #cdeeab;
    --em-tile:      #e3f0d2;   /* requested box color */
    --em-tint:      #f3faec;
    --em-line:      #e7eee0;
    --em-line-soft: #f1f5ec;
    --em-muted:     #8a948f;

    margin-top: 20px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.em-detail * { box-sizing: border-box; }

/* ── CARD (self-contained, no reliance on .em-acc-card) ── */
.em-detail .em-acc-card {
    background: #fff;
    border: 1px solid var(--em-line);
    border-radius: 16px;
    padding: 24px 26px;
    box-shadow: 0 1px 2px rgba(11,65,49,.04), 0 8px 24px rgba(11,65,49,.04);
}
.em-detail .em-acc-head {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--em-line-soft);
}
.em-detail .em-acc-ic {
    display: inline-flex;
    width: 36px; height: 36px;
    border-radius: 10px;
    background: var(--em-tile);          /* #e3f0d2 */
    border: 1px solid #d2e6bb;
    align-items: center;
    justify-content: center;
    color: var(--em-green);
    flex-shrink: 0;
}
.em-detail .em-acc-ic svg { width: 18px; height: 18px; display: block; }
.em-detail .em-acc-title {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 17px !important;
    color: var(--em-green);
    line-height: 1.2;
}

/* ── Hero topline (title + back button) ── */
.em-hero-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}
.em-hero-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(255,255,255,.12);
    color: #fff !important;
    text-decoration: none !important;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13px;
    font-weight: 600;
    padding: 9px 16px;
    border-radius: 10px;
    transition: background .2s ease;
}
.em-hero-back:hover { background: rgba(255,255,255,.2); }
.em-chip-value-sm { font-size: 14px !important; }

/* ── Items ── */
.em-detail .em-detail-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--em-line-soft);
    flex-wrap: wrap;
}
.em-detail .em-detail-item:last-child { border-bottom: 0; padding-bottom: 0; }
.em-detail .em-detail-item-left {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 1 1 260px;
    min-width: 0;
}
.em-detail .em-detail-item-img {
    width: 84px; height: 84px;
    border-radius: 13px;
    background: var(--em-tint);
    border: 1px solid var(--em-tile);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    padding: 8px;
    overflow: hidden;
}
.em-detail .em-detail-item-img img {
    max-width: 100%;
    max-height: 68px;
    width: auto;
    object-fit: contain;
}
.em-detail .em-detail-item-info { min-width: 0; }
.em-detail .em-detail-item-info h4 {
    margin: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-weight: 600;
    font-size: 15px !important;
    line-height: 1.4;
    color: var(--em-green);
}
.em-detail .em-detail-item-info p {
    margin: 4px 0 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 12.5px;
    color: var(--em-muted);
}
.em-detail .em-qty-chip {
    display: inline-block;
    margin-top: 8px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 11.5px;
    color: #5F5E5A;
    background: #f1efe8;
    padding: 3px 10px;
    border-radius: 6px;
}

/* Reorder button (ghost) */
.em-detail .em-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 10px 20px;
    border-radius: 11px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    line-height: 1;
    transition: all .25s ease;
    border: 1px solid transparent;
    flex-shrink: 0;
}
.em-detail .em-btn-ghost {
    background: #fff;
    color: var(--em-green);
    border-color: #d2e6bb;
}
.em-detail .em-btn-ghost:hover { background: var(--em-tile); border-color: var(--em-green); }

/* ── Address grid ── */
.em-detail .em-detail-addr-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 18px;
}
.em-detail .em-detail-field { margin-bottom: 16px; }
.em-detail .em-detail-field:last-child { margin-bottom: 0; }
.em-detail .em-detail-label {
    display: block;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    color: var(--em-muted);
    text-transform: uppercase;
    letter-spacing: .05em;
    margin-bottom: 5px;
}
.em-detail .em-detail-value {
    margin: 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 14px;
    color: #2c352f;
    line-height: 1.6;
}
.em-detail .em-detail-tel {
    color: var(--em-green);
    text-decoration: none;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-detail .em-detail-tel:hover { text-decoration: underline; }

/* ── Consultation Q&A ── */
.em-detail .em-qa-gp {
    background: var(--em-tile);          /* #e3f0d2 */
    border: 1px solid #d2e6bb;
    border-radius: 12px;
    padding: 14px 16px;
    margin-bottom: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.em-detail .em-qa-gp-item { display: flex; flex-direction: column; gap: 2px; }
.em-detail .em-qa-gp-k {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 11px;
    font-weight: 600;
    color: #27500a;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.em-detail .em-qa-gp-v {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 14px;
    color: var(--em-green);
}

.em-detail .em-qa-list { display: flex; flex-direction: column; }
.em-detail .em-qa-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 0;
    border-bottom: 1px solid var(--em-line-soft);
}
.em-detail .em-qa-row:last-child { border-bottom: 0; }
.em-detail .em-qa-q {
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 13.5px;
    color: #3a4540;
    line-height: 1.5;
    flex: 1 1 auto;
    min-width: 0;
}
.em-detail .em-qa-a { flex-shrink: 0; text-align: right; max-width: 50%; }
.em-detail .em-qa-text {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13.5px;
    color: var(--em-green);
}
.em-detail .em-qa-badge {
    display: inline-flex;
    align-items: center;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 12px;
    font-weight: 600;
    padding: 4px 14px;
    border-radius: 999px;
}
.em-detail .em-qa-badge.yes { background: #dcfce7; color: #15803d; }
.em-detail .em-qa-badge.no  { background: #fdecec; color: #b23b3b; }
.em-detail .em-qa-link {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13.5px;
    color: var(--em-green);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* ════════════════════════════════════
   RESPONSIVE
   ════════════════════════════════════ */
@media (max-width: 1024px) {
    .em-detail .em-detail-addr-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .em-detail .em-acc-card { padding: 18px 16px; }
    .em-hero-topline { align-items: flex-start; }
    .em-detail .em-detail-item-img { width: 64px; height: 64px; }
    .em-detail .em-detail-item-img img { max-height: 48px; }
    .em-detail .em-detail-item-left { flex: 1 1 100%; }
    .em-detail .em-btn { width: 100%; }
    .em-detail .em-qa-row { flex-direction: column; gap: 4px; }
    .em-detail .em-qa-a { text-align: left; max-width: 100%; }
}

/* ════════════════════════════════════════════════════════════
   REORDER YOUR TREATMENT — matches live EverydayMeds portal
   Same Sofia Pro stack as .em-orders / .em-sidebar
   ════════════════════════════════════════════════════════════ */
.em-reorder,
.em-reorder * { box-sizing: border-box; }

.em-reorder {
    --em-green: #0B4131;
    --em-green-dk: #0a3527;
    --em-green-700: #165d47;
    --em-green-600: #2f7a52;
    --em-green-500: #3d8a5f;
    --em-lime: #cdeeab;
    --em-tile: #e3f0d2;
    --em-tint: #f3faec;
    --em-tint-2: #fafcf7;
    --em-amber-bg: #faeeda;
    --em-amber-border: #f0c97a;
    --em-amber-text: #854f0b;
    --em-text: #0d2620;
    --em-text-muted: #5a6e66;
    --em-text-light: #8b9d95;
    --em-border: #d7e0d4;
    --em-line-soft: #f1f5ec;
    --em-shadow-md: 0 1px 2px rgba(11,65,49,.04), 0 8px 24px rgba(11,65,49,.05);
    --em-shadow-lg: 0 12px 32px rgba(11,65,49,.10);
    --em-glow: 0 0 0 3px rgba(11,65,49,.1);

    position: relative;
    margin: 0;
    padding: 0;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    color: var(--em-text);
}

.em-reorder .em-card,
.em-reorder .em-product-card,
.em-reorder .em-section,
.em-reorder .em-footer {
    background: #fff;
    border: 1px solid #e7eee0;
    border-radius: 16px;
    box-shadow: var(--em-shadow-md);
    margin-bottom: 18px;
}

.em-reorder .em-product-card {
    padding: 24px;
    display: flex;
    gap: 24px;
    align-items: stretch;
}
.em-reorder .em-product-img-wrap {
    flex: 0 0 140px;
    width: 140px;
    height: 140px;
    border-radius: 14px;
    background: var(--em-tint);
    border: 1px solid var(--em-tile);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px;
}
.em-reorder .em-product-img-wrap img { max-width: 100%; max-height: 100%; object-fit: contain; }
.em-reorder .em-product-body { flex: 1 1 auto; min-width: 0; }
.em-reorder .em-product-body h2 {
    margin: 0 0 10px;
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: var(--em-green);
    line-height: 1.25;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-prev-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    font-weight: 600;
    color: var(--em-green-700);
    background: var(--em-tint);
    border: 1px solid var(--em-tile);
    padding: 6px 12px;
    border-radius: 999px;
    margin-bottom: 14px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-prev-pill::before {
    content: "";
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--em-green-500);
}
.em-reorder .em-info-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.em-reorder .em-info-tile {
    background: var(--em-tint-2);
    border: 1px solid var(--em-line-soft);
    border-radius: 12px;
    padding: 12px 14px;
}
.em-reorder .em-info-label {
    margin: 0 0 4px;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--em-text-light);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-info-value {
    margin: 0;
    font-size: 15px;
    font-weight: 700;
    color: var(--em-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recommend-banner {
    margin-top: 14px;
    padding: 14px 16px;
    background: var(--em-amber-bg);
    border: 1px solid var(--em-amber-border);
    border-radius: 14px;
    display: flex;
    align-items: center;
    gap: 12px;
}
.em-reorder .em-recommend-icon {
    flex: 0 0 36px;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: #fff;
    border: 1px solid var(--em-amber-border);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}
.em-reorder .em-recommend-text p {
    margin: 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--em-amber-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recommend-text strong {
    display: block;
    margin-top: 2px;
    font-size: 15px;
    font-weight: 800;
    color: var(--em-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}

.em-reorder .em-section { padding: 24px; }
.em-reorder .em-section-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.em-reorder .em-step-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px; height: 34px;
    border-radius: 10px;
    background: var(--em-green);
    color: var(--em-lime);
    font-size: 15px;
    font-weight: 700;
    flex-shrink: 0;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-section-head h3 {
    margin: 0;
    font-size: 18px;
    font-weight: 700;
    color: var(--em-green);
    letter-spacing: -0.01em;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-section-head .em-section-sub {
    margin: 2px 0 0;
    font-size: 13px;
    font-weight: 500;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-reorder .em-section-head-text { flex: 1; min-width: 0; }

.em-reorder .em-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.em-reorder .em-field { display: flex; flex-direction: column; }
.em-reorder .em-field label {
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: var(--em-green);
    margin-bottom: 8px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-field input[type="number"],
.em-reorder .em-field input[type="text"] {
    width: 100%;
    padding: 13px 15px;
    border: 1px solid var(--em-border);
    border-radius: 11px;
    font-size: 15px;
    font-weight: 500;
    background: #fff;
    color: var(--em-text);
    transition: border-color .2s, box-shadow .2s;
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-reorder .em-field input:focus {
    outline: none;
    border-color: var(--em-green);
    box-shadow: var(--em-glow);
}
.em-reorder .em-field--full { margin-top: 14px; }
.em-reorder textarea#concertn {
    width: 100%;
    min-height: 90px;
    padding: 13px 15px;
    border: 1px solid var(--em-border);
    border-radius: 11px;
    font-size: 14px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    color: var(--em-text);
    resize: vertical;
    transition: border-color .2s, box-shadow .2s;
}
.em-reorder textarea#concertn:focus {
    outline: none;
    border-color: var(--em-green);
    box-shadow: var(--em-glow);
}
.em-reorder .em-required-mark { color: #b23b3b; }
.em-reorder .em-consult-prompt {
    background: var(--em-tint);
    border: 1px solid var(--em-tile);
    border-radius: 12px;
    padding: 14px 16px;
    margin: 4px 0 12px;
}
.em-reorder .em-consult-prompt-title {
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--em-green);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-consult-prompt ul { margin: 0 0 10px; padding-left: 18px; }
.em-reorder .em-consult-prompt li {
    font-size: 12.5px;
    color: var(--em-text-muted);
    line-height: 1.5;
    margin-bottom: 4px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-reorder .em-consult-prompt-footer {
    margin: 0;
    font-size: 12.5px;
    color: var(--em-text-muted);
    line-height: 1.5;
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-reorder .em-field-error { display: none; margin: 6px 0 0; font-size: 12px; color: #b23b3b; }
.em-reorder .em-field.has-error .em-field-error { display: block; }
.em-reorder .em-field.has-error textarea#concertn { border-color: #b23b3b; }

.em-reorder .em-bmi-result {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 14px;
    padding: 14px 18px;
    background: var(--em-tint);
    border: 1px solid var(--em-tile);
    border-radius: 12px;
}
.em-reorder .em-bmi-result-label {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--em-green);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-bmi-result-value {
    font-size: 20px;
    font-weight: 800;
    color: var(--em-green-700);
    letter-spacing: -0.02em;
    line-height: 1;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-bmi-result-value.is-empty { color: var(--em-text-light); font-size: 18px; }

/* ── Clinical steps — same white card shell as product / dose sections ── */
.em-reorder .em-section--bmi,
.em-reorder .em-section--safety {
    background: #fff;
    border: 1px solid #e7eee0;
    border-radius: 16px;
    box-shadow: var(--em-shadow-md);
}

.em-reorder .em-clinical-question,
.em-reorder .em-field label.em-clinical-question {
    display: block;
    margin: 0 0 8px;
    font-size: 13px;
    font-weight: 700;
    color: var(--em-green);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}

.em-reorder .em-recorded-height {
    margin-bottom: 16px;
    padding: 12px 14px;
    background: var(--em-tint-2);
    border: 1px solid var(--em-line-soft);
    border-radius: 12px;
}
.em-reorder .em-recorded-height-label {
    display: block;
    margin: 0 0 4px;
    font-size: .7rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--em-text-light);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recorded-height-value {
    display: block;
    font-size: 15px;
    font-weight: 700;
    color: var(--em-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recorded-height-note {
    margin: 8px 0 0;
    font-size: 12px;
    color: var(--em-text-muted);
    line-height: 1.45;
    font-family: 'Sofia Pro Regular', sans-serif !important;
}

/* Weight unit toggle — portal green, not checkout stone/primary */
.em-reorder .em-reorder-weight-toggle [role="switch"] {
    margin-top: 0;
    margin-bottom: 10px;
    max-width: 280px;
    border: 1px solid var(--em-border) !important;
    background: var(--em-tint-2) !important;
    border-radius: 11px !important;
    padding: 4px !important;
}
.em-reorder .em-reorder-weight-toggle [role="switch"] > span.absolute {
    background: var(--em-green) !important;
    box-shadow: var(--em-shadow-md);
}
.em-reorder .em-reorder-weight-toggle [role="switch"] > span.relative {
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    height: 40px !important;
}
.em-reorder .em-reorder-weight-toggle [role="switch"] > span.text-primary-foreground {
    color: var(--em-lime) !important;
}
.em-reorder .em-reorder-weight-toggle [role="switch"] > span.text-stone-600 {
    color: var(--em-text-muted) !important;
}

.em-reorder .em-reorder-clinical .em-field input[type="number"] {
    margin-top: 0;
}

/* Safety block layout */
.em-reorder .em-reorder-safety-inner { display: flex; flex-direction: column; gap: 0; }
.em-reorder .em-reorder-safety-block { padding: 4px 0 8px; }
.em-reorder .em-reorder-safety-block--divider {
    border-top: 1px solid var(--em-line-soft);
    padding-top: 20px;
    margin-top: 12px;
}

/* Yes / No — custom grid + shared consultation rows */
.em-reorder .em-reorder-yesno {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-bottom: 14px;
}
.em-reorder .em-reorder-yesno-btn {
    padding: 14px 16px;
    border: 1px solid var(--em-border);
    border-radius: 12px;
    background: #fff;
    font-size: 14px;
    font-weight: 600;
    color: var(--em-text);
    cursor: pointer;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    transition: border-color .18s, background .18s, box-shadow .18s;
}
.em-reorder .em-reorder-yesno-btn:hover {
    border-color: var(--em-green-500);
    background: var(--em-tint-2);
}
.em-reorder .em-reorder-yesno-btn.is-selected {
    border-color: var(--em-green);
    background: var(--em-tint);
    color: var(--em-green-700);
    box-shadow: var(--em-glow);
}

.em-reorder .em-reorder-clinical button.group,
.em-reorder .em-reorder-clinical .flex.flex-col.gap-2 > button {
    border: 1px solid var(--em-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--em-text) !important;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
    padding: 14px 18px !important;
}
.em-reorder .em-reorder-clinical button.group:hover,
.em-reorder .em-reorder-clinical .flex.flex-col.gap-2 > button:hover {
    border-color: var(--em-green-500) !important;
    background: var(--em-tint-2) !important;
}
.em-reorder .em-reorder-clinical button.group[aria-pressed="true"],
.em-reorder .em-reorder-clinical .flex.flex-col.gap-2 > button[class~="border-primary"] {
    border-color: var(--em-green) !important;
    background: var(--em-tint) !important;
    color: var(--em-green-700) !important;
    box-shadow: var(--em-glow) !important;
}
.em-reorder .em-reorder-clinical button.group[aria-pressed="true"]:hover,
.em-reorder .em-reorder-clinical .flex.flex-col.gap-2 > button[class~="border-primary"]:hover {
    border-color: var(--em-green) !important;
    background: var(--em-tint) !important;
}
.em-reorder .em-reorder-clinical button.group .text-sm.font-medium,
.em-reorder .em-reorder-clinical button.group .text-foreground {
    color: inherit !important;
    font-family: inherit !important;
    font-weight: inherit !important;
}
.em-reorder .em-reorder-clinical button.group span[class~="border-primary"],
.em-reorder .em-reorder-clinical .flex.flex-col.gap-2 > button span[class~="border-primary"] {
    border-color: var(--em-green) !important;
    background: var(--em-green) !important;
}
.em-reorder .em-reorder-clinical button.group span[class~="border-stone-300"] {
    border-color: var(--em-border) !important;
    background: #fff !important;
}

/* Side-effect symptom tiles */
.em-reorder .em-reorder-clinical ul.grid button {
    border: 1px solid var(--em-border) !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--em-text) !important;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    box-shadow: none !important;
}
.em-reorder .em-reorder-clinical ul.grid button[class~="border-primary"] {
    border-color: var(--em-green) !important;
    background: var(--em-tint) !important;
    color: var(--em-green-700) !important;
}
.em-reorder .em-reorder-clinical ul.grid button span[class~="border-primary"] {
    border-color: var(--em-green) !important;
    background: var(--em-green) !important;
    color: var(--em-lime) !important;
}
.em-reorder .em-reorder-clinical ul.grid button span[class*="border-stone-300"] {
    border-color: var(--em-border) !important;
    background: #fff !important;
}

/* Nested question copy from checkout components */
.em-reorder .em-reorder-clinical p[class*="mb-3.5"],
.em-reorder .em-reorder-clinical p[class*="text-secondary"],
.em-reorder .em-reorder-clinical [class*="text-secondary"] {
    color: var(--em-green) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-reorder-clinical [class*="text-muted-foreground"] {
    color: var(--em-text-muted) !important;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    font-size: 13px !important;
    font-weight: 500 !important;
}
.em-reorder .em-reorder-clinical [class*="border-stone-200"] {
    border-color: var(--em-line-soft) !important;
}

.em-reorder .em-consult-prompt--reorder { margin: 0 0 12px; }

.em-reorder .em-reorder-safety-textarea,
.em-reorder .em-reorder-clinical textarea {
    width: 100%;
    min-height: 100px;
    margin-top: 12px;
    padding: 13px 15px;
    border: 1px solid var(--em-border);
    border-radius: 11px;
    font-size: 14px;
    color: var(--em-text);
    font-family: 'Sofia Pro Regular', sans-serif !important;
    resize: vertical;
    background: #fff;
    transition: border-color .2s, box-shadow .2s;
}
.em-reorder .em-reorder-safety-textarea:focus,
.em-reorder .em-reorder-clinical textarea:focus {
    outline: none;
    border-color: var(--em-green);
    box-shadow: var(--em-glow);
}

/* Date field — match em-field inputs */
.em-reorder .em-reorder-date-field { margin-top: 16px; }
.em-reorder .em-reorder-date-field > .flex.flex-col > span,
.em-reorder .em-reorder-date-field .text-sm.font-semibold.text-secondary {
    display: block;
    margin-bottom: 8px;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--em-green) !important;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-reorder-date-field input[data-testid="input-dob"] {
    width: 100%;
    height: 48px !important;
    padding: 0 52px 0 15px !important;
    border: 1px solid var(--em-border) !important;
    border-radius: 11px !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--em-text) !important;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    box-shadow: none !important;
}
.em-reorder .em-reorder-date-field input[data-testid="input-dob"]:focus,
.em-reorder .em-reorder-date-field input[data-testid="input-dob"]:focus-visible {
    outline: none !important;
    border-color: var(--em-green) !important;
    box-shadow: var(--em-glow) !important;
}
.em-reorder .em-reorder-date-field button[aria-label="Open calendar"] {
    color: var(--em-green-700) !important;
    border-radius: 10px !important;
}
.em-reorder .em-reorder-date-field button[aria-label="Open calendar"]:hover {
    background: var(--em-tint) !important;
}

.em-reorder .em-dose-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.em-reorder .em-dose-filter {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 16px;
    border: 1px solid var(--em-border);
    border-radius: 999px;
    background: #fff;
    color: var(--em-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    font-size: 13.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all .18s;
    white-space: nowrap;
}
.em-reorder .em-dose-filter:hover { border-color: var(--em-green-500); background: var(--em-tint); }
.em-reorder .em-dose-filter.is-active { border-color: var(--em-green); background: var(--em-green); color: #fff; }
.em-reorder .em-dose-filter .em-dose-filter-count {
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 999px;
    background: var(--em-tile);
    color: var(--em-green-700);
}
.em-reorder .em-dose-filter.is-active .em-dose-filter-count { background: rgba(255,255,255,.22); color: #fff; }
.em-reorder .em-dose-filter .em-dose-filter-dot {
    width: 7px; height: 7px;
    border-radius: 50%;
    background: var(--em-green-500);
    display: none;
    flex-shrink: 0;
}
.em-reorder .em-dose-filter.has-selection .em-dose-filter-dot { display: inline-block; }
.em-reorder .em-dose-filter.is-active.has-selection .em-dose-filter-dot { background: #fff; }

.em-reorder .em-dose-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.em-reorder .em-dose-tile {
    position: relative;
    display: block;
    padding: 16px 16px 14px;
    border: 2px solid var(--em-border);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s, transform .18s, box-shadow .18s, background .18s;
    overflow: visible;
}
.em-reorder .em-dose-tile.is-recommended-tile {
    border-color: var(--em-green-500);
    padding-top: 22px;
}
.em-reorder .em-dose-tile:hover {
    border-color: var(--em-green-500);
    transform: translateY(-2px);
    box-shadow: var(--em-shadow-md);
}
.em-reorder .em-dose-tile.is-selected {
    border-color: var(--em-green);
    background: var(--em-tint);
    box-shadow: 0 0 0 3px rgba(11,65,49,.12);
}
.em-reorder .em-dose-radio { position: absolute; opacity: 0; pointer-events: none; }
.em-reorder .em-dose-rec-flag {
    display: none;
    position: absolute;
    top: -1px;
    right: -1px;
    z-index: 2;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .35px;
    text-transform: uppercase;
    color: var(--em-green);
    background: var(--em-lime);
    padding: 5px 10px;
    border-top-right-radius: 12px;
    border-bottom-left-radius: 12px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
}
.em-reorder .em-dose-tile.is-recommended-tile .em-dose-rec-flag { display: block; }
.em-reorder .em-dose-mg {
    font-size: 18px;
    font-weight: 800;
    color: var(--em-green);
    line-height: 1.1;
    letter-spacing: -0.02em;
    margin-top: 2px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-weeks {
    font-size: 11px;
    color: var(--em-text-muted);
    margin-top: 3px;
    font-weight: 600;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--em-text);
    line-height: 1.3;
    letter-spacing: -0.01em;
    margin-top: 2px;
    padding-right: 8px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-price {
    display: block;
    font-size: 15px;
    font-weight: 800;
    color: var(--em-green-700);
    margin-top: 10px;
    letter-spacing: -0.01em;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-check {
    position: absolute;
    top: 10px; right: 10px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--em-green);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    display: none;
    align-items: center;
    justify-content: center;
}
.em-reorder .em-dose-tile.is-selected .em-dose-check { display: flex; }
.em-reorder .em-dose-tile.is-selected.is-recommended-tile .em-dose-rec-flag { display: none; }

.em-reorder .em-dose-tile.is-unavailable {
    opacity: 0.48;
    cursor: not-allowed;
    pointer-events: none;
    border-color: var(--em-border);
    background: #f8f9f8;
    transform: none;
    box-shadow: none;
}
.em-reorder .em-dose-tile.is-unavailable:hover {
    border-color: var(--em-border);
    transform: none;
    box-shadow: none;
}
.em-reorder .em-dose-unavail-flag {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .4px;
    text-transform: uppercase;
    color: #6b7280;
    background: #eef0ef;
    padding: 4px 9px;
    border-bottom-left-radius: 12px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}

.em-reorder .em-last-injection {
    margin-bottom: 18px;
    max-width: 360px;
}

/* ── Last dose card (step 1 gate) ── */
.em-reorder .em-last-dose-card {
    position: relative;
    margin-bottom: 20px;
    border-radius: 16px;
    border: 1px solid #c8dfd3;
    background: linear-gradient(135deg, #f3faf6 0%, #ffffff 55%);
    overflow: hidden;
    box-shadow: 0 8px 28px rgba(11, 65, 49, 0.06);
}
.em-reorder .em-last-dose-card-accent {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: linear-gradient(180deg, var(--em-green) 0%, var(--em-green-500) 100%);
}
.em-reorder .em-last-dose-card-inner {
    display: flex;
    gap: 18px;
    padding: 22px 24px 22px 28px;
    align-items: flex-start;
}
.em-reorder .em-last-dose-card-icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--em-lime);
    color: var(--em-green);
    display: flex;
    align-items: center;
    justify-content: center;
}
.em-reorder .em-last-dose-card-content {
    flex: 1;
    min-width: 0;
}
.em-reorder .em-last-dose-card-title {
    margin: 0 0 8px;
    font-size: 17px;
    font-weight: 800;
    color: var(--em-green);
    letter-spacing: -0.02em;
    line-height: 1.25;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-last-dose-card-lead {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.55;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro', sans-serif !important;
}
.em-reorder .em-last-dose-prev-chip {
    display: inline-flex;
    flex-direction: column;
    gap: 2px;
    margin-bottom: 14px;
    padding: 8px 12px;
    border-radius: 10px;
    background: rgba(11, 65, 49, 0.06);
    border: 1px solid rgba(11, 65, 49, 0.1);
}
.em-reorder .em-last-dose-prev-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-last-dose-prev-chip strong {
    font-size: 14px;
    font-weight: 800;
    color: var(--em-green-700);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-last-dose-date-field {
    max-width: 100%;
    margin-top: 14px;
}
.em-reorder .em-last-dose-date-field.em-reorder-date-field > .flex.flex-col > span,
.em-reorder .em-last-dose-date-field.em-reorder-date-field .text-sm.font-semibold.text-secondary,
.em-reorder .em-last-dose-date-field label {
    display: block;
    margin-bottom: 8px;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: var(--em-green) !important;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-last-dose-date-field input[data-testid="input-dob"],
.em-reorder .em-reorder-date-field input[data-testid="input-dob"] {
    width: 100%;
    height: 48px !important;
    padding: 0 52px 0 15px !important;
    border: 1px solid var(--em-border) !important;
    border-radius: 11px !important;
    background: #fff !important;
    font-size: 15px !important;
    font-weight: 500 !important;
    color: var(--em-text) !important;
    font-family: 'Sofia Pro Regular', sans-serif !important;
    box-shadow: none !important;
}
.em-reorder .em-last-dose-date-field input[data-testid="input-dob"]:focus,
.em-reorder .em-last-dose-date-field input[data-testid="input-dob"]:focus-visible,
.em-reorder .em-reorder-date-field input[data-testid="input-dob"]:focus,
.em-reorder .em-reorder-date-field input[data-testid="input-dob"]:focus-visible {
    outline: none !important;
    border-color: var(--em-green) !important;
    box-shadow: var(--em-glow) !important;
}
.em-reorder .em-last-dose-date-field button[aria-label="Open calendar"],
.em-reorder .em-reorder-date-field button[aria-label="Open calendar"] {
    color: var(--em-green-700) !important;
    border-radius: 10px !important;
}
.em-reorder .em-last-dose-date-field button[aria-label="Open calendar"]:hover,
.em-reorder .em-reorder-date-field button[aria-label="Open calendar"]:hover {
    background: var(--em-tint) !important;
}

.em-reorder .em-dose-locked {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 16px 18px;
    margin-bottom: 4px;
    border-radius: 14px;
    border: 1px dashed #cfd8d3;
    background: #f8faf9;
    color: var(--em-text-muted);
}
.em-reorder .em-dose-locked-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #eef2f0;
    color: #6b7f76;
    display: flex;
    align-items: center;
    justify-content: center;
}
.em-reorder .em-dose-locked-title {
    margin: 0 0 4px;
    font-size: 14px;
    font-weight: 800;
    color: var(--em-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-locked-text {
    margin: 0;
    font-size: 13px;
    line-height: 1.45;
    font-family: 'Sofia Pro', sans-serif !important;
}

.em-reorder .em-dose-guidance {
    margin-bottom: 18px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #f3faf6;
    border: 1px solid #c8dfd3;
}
.em-reorder .em-dose-guidance-main {
    margin: 0 0 6px;
    font-size: 15px;
    font-weight: 700;
    color: var(--em-green-700);
    line-height: 1.45;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-guidance-main strong {
    color: #0a7a45;
    font-weight: 800;
}
.em-reorder .em-dose-guidance-sub {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro', sans-serif !important;
}
.em-reorder .em-dose-guidance-sub strong {
    color: var(--em-green);
    font-weight: 700;
}

.em-reorder .em-last-dose-prev-chip--inline {
    margin-bottom: 16px;
}

.em-reorder .em-dose-grid--orlistat {
    grid-template-columns: repeat(2, 1fr);
}

@media (max-width: 720px) {
    .em-reorder .em-dose-grid--orlistat { grid-template-columns: 1fr; }
}

.em-reorder .em-gap-weeks-pill {
    display: inline-block;
    margin-bottom: 10px;
    padding: 5px 11px;
    border-radius: 999px;
    background: var(--em-lime);
    color: var(--em-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-gap-summary {
    margin: 0 0 8px;
    font-size: 14px;
    font-weight: 700;
    color: var(--em-green-700);
    line-height: 1.45;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-gap-detail {
    margin: 0 0 14px;
    font-size: 13px;
    line-height: 1.5;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro', sans-serif !important;
}
.em-reorder .em-recommended-callout {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 16px;
    border-radius: 12px;
    background: #fff;
    border: 2px solid var(--em-green-500);
    box-shadow: 0 0 0 3px rgba(11, 65, 49, 0.08);
}
.em-reorder .em-recommended-callout-badge {
    flex-shrink: 0;
    padding: 6px 10px;
    border-radius: 8px;
    background: var(--em-lime);
    color: var(--em-green);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.3px;
    white-space: nowrap;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recommended-callout-label {
    margin: 0 0 4px;
    font-size: 12px;
    font-weight: 700;
    color: var(--em-text-muted);
    text-transform: uppercase;
    letter-spacing: 0.4px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recommended-callout-dose {
    display: block;
    margin-bottom: 6px;
    font-size: 22px;
    font-weight: 800;
    color: #0a7a45;
    letter-spacing: -0.02em;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-recommended-callout-hint {
    margin: 0;
    font-size: 12px;
    line-height: 1.45;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro', sans-serif !important;
}

.em-reorder .em-dose-picker-head {
    margin-bottom: 14px;
}
.em-reorder .em-dose-picker-head h4 {
    margin: 0 0 4px;
    font-size: 16px;
    font-weight: 800;
    color: var(--em-text);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-dose-picker-head p {
    margin: 0;
    font-size: 13px;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro', sans-serif !important;
}

.em-reorder .em-field-hint {
    margin-top: 6px;
    font-size: 12px;
    color: var(--em-text-muted);
    line-height: 1.45;
    font-family: 'Sofia Pro', sans-serif !important;
}
.em-reorder .em-restart-note {
    display: flex;
    gap: 14px;
    align-items: flex-start;
    margin-bottom: 16px;
    padding: 14px 16px;
    border-radius: 12px;
    background: #eef6f2;
    border: 1px solid #c8dfd3;
    color: var(--em-green-700);
    font-size: 13px;
    line-height: 1.5;
    font-family: 'Sofia Pro', sans-serif !important;
}
.em-reorder .em-restart-note-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #fef3c7;
    color: #92400e;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 800;
}
.em-reorder .em-restart-note-title {
    margin: 0 0 6px;
    font-size: 14px;
    font-weight: 800;
    color: #92400e;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-restart-note.is-blocked {
    background: #fef3c7;
    border-color: #fcd34d;
    color: #92400e;
}
.em-reorder .em-restart-blocked {
    display: block;
    margin-top: 6px;
    font-weight: 700;
}

/* Supply consistency — separate amber section on reorder page */
.em-reorder .em-section--supply-check {
    background: linear-gradient(180deg, #fffbeb 0%, #fef9e8 100%);
    border: 1px solid #fcd34d;
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(146, 64, 14, 0.08);
    z-index: 4;
}
.em-reorder .em-step-badge--alert {
    background: #fef3c7;
    color: #92400e;
    border: 1px solid #fcd34d;
}
.em-reorder .em-section--supply-check .em-section-head h3 {
    color: #92400e;
}
.em-reorder .em-section--supply-check .em-section-sub {
    color: #78350f;
}
.em-reorder .em-section--supply-check .em-dose-locked--inline {
    margin-top: 4px;
    background: rgba(255, 255, 255, 0.65);
    border-color: #fde68a;
}

/* Supply consistency panel — inner blocks inside supply-check section */
.em-reorder .em-supply-consistency {
    margin: 0;
    border: 1px solid #fde68a;
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.72);
    overflow: hidden;
}
.em-reorder .em-supply-consistency-summary {
    display: flex;
    gap: 14px;
    padding: 18px 20px;
    border-bottom: 1px solid #fde68a;
}
.em-reorder .em-supply-consistency-icon {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: #fef3c7;
    color: #92400e;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 800;
}
.em-reorder .em-supply-consistency-title {
    margin: 0 0 8px;
    font-size: 15px;
    font-weight: 800;
    color: #92400e;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-supply-consistency-lead,
.em-reorder .em-supply-consistency-sub {
    margin: 0 0 8px;
    font-size: 13.5px;
    line-height: 1.55;
    color: #78350f;
}
.em-reorder .em-supply-consistency-sub {
    margin-bottom: 0;
    font-size: 13px;
    color: #92400e;
}
.em-reorder .em-supply-consistency-questions {
    padding: 8px 20px 18px;
}
.em-reorder .em-supply-consistency-note {
    margin: 12px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    font-size: 13px;
    line-height: 1.5;
}
.em-reorder .em-supply-consistency-note.is-positive {
    background: #ecfdf5;
    border: 1px solid #a7f3d0;
    color: #065f46;
}
.em-reorder .em-supply-consistency-note.is-warning {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    color: #9a3412;
}
.em-reorder .em-supply-consistency-applied {
    margin: 0 20px 18px;
    padding: 12px 14px;
    border-radius: 12px;
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    font-size: 13px;
    color: #166534;
}

.em-reorder .em-addons { margin-top: 22px; }
.em-reorder .em-addons-label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    color: var(--em-green);
    margin-bottom: 4px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-addons-sub {
    font-size: 12.5px;
    color: var(--em-text-muted);
    font-weight: 500;
    margin: 0 0 12px;
    font-family: 'Sofia Pro Regular', sans-serif !important;
}
.em-reorder .em-addon-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.em-reorder .em-addon-tile {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 14px 14px 12px;
    border: 2px solid var(--em-border);
    border-radius: 14px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s, transform .18s, box-shadow .18s, background .18s;
    overflow: hidden;
}
.em-reorder .em-addon-tile:hover {
    border-color: var(--em-green-500);
    transform: translateY(-2px);
    box-shadow: var(--em-shadow-md);
}
.em-reorder .em-addon-tile.is-selected {
    border-color: var(--em-green);
    background: var(--em-tint);
    box-shadow: 0 0 0 3px rgba(11,65,49,.12);
}
.em-reorder .em-addon-tile-check { position: absolute; opacity: 0; pointer-events: none; }
.em-reorder .em-addon-tile-tick {
    position: absolute;
    top: 10px; right: 10px;
    width: 22px; height: 22px;
    border-radius: 50%;
    background: var(--em-green);
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    display: none;
    align-items: center;
    justify-content: center;
}
.em-reorder .em-addon-tile.is-selected .em-addon-tile-tick { display: flex; }
.em-reorder .em-addon-tile-img {
    width: 48px; height: 48px;
    object-fit: contain;
    border-radius: 10px;
    background: var(--em-tint);
    padding: 5px;
    border: 1px solid var(--em-tile);
    margin-bottom: 10px;
}
.em-reorder .em-addon-tile-name {
    font-size: 13.5px;
    font-weight: 700;
    color: var(--em-text);
    line-height: 1.3;
    padding-right: 24px;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-addon-tile-price {
    font-size: 14px;
    font-weight: 800;
    color: var(--em-green-700);
    margin-top: auto;
    padding-top: 8px;
    letter-spacing: -0.01em;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}

.em-reorder .em-footer {
    padding: 24px;
    background: var(--em-tint-2);
    border: 1px solid #e7eee0;
}
.em-reorder .em-total-row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--em-line-soft);
}
.em-reorder .em-total-label p {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--em-text-muted);
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-total-amount {
    font-size: 2rem;
    font-weight: 800;
    color: var(--em-green-700);
    letter-spacing: -0.03em;
    line-height: 1;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-cta {
    width: 100%;
    padding: 16px 24px;
    background: var(--em-green);
    color: #fff;
    border: none;
    border-radius: 13px;
    font-size: 16px;
    font-weight: 700;
    cursor: pointer;
    transition: all .2s;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.em-reorder .em-cta:hover:not([disabled]) { background: var(--em-green-dk); transform: translateY(-1px); }
.em-reorder .em-cta[disabled] { cursor: not-allowed; background: #b0c4ba; }
.em-reorder .em-cta-arrow { display: inline-block; transition: transform .2s; }
.em-reorder .em-cta:hover:not([disabled]) .em-cta-arrow { transform: translateX(3px); }
.em-reorder .em-helper-text {
    margin: 12px 0 0;
    font-size: .9rem;
    color: var(--em-text-muted);
    text-align: center;
    font-weight: 600;
    font-family: 'Sofia Pro SemiBold', sans-serif !important;
}
.em-reorder .em-section--dosage { z-index: 5; }
.em-reorder .em-section--supply-check { z-index: 4; }
.em-reorder .em-section--last-dose { z-index: 3; }
.em-reorder .em-section--bmi { z-index: 3; }

@media (max-width: 720px) {
    .em-reorder .em-product-card { flex-direction: column; gap: 18px; padding: 20px; }
    .em-reorder .em-product-img-wrap { flex: 0 0 auto; width: 100%; height: 180px; }
    .em-reorder .em-product-body h2 { font-size: 1.2rem; }
    .em-reorder .em-info-grid { grid-template-columns: 1fr; }
    .em-reorder .em-form-row { grid-template-columns: 1fr; }
    .em-reorder .em-section,
    .em-reorder .em-footer { padding: 20px 16px; }
    .em-reorder .em-section-head h3 { font-size: 16px; }
    .em-reorder .em-total-amount { font-size: 1.7rem; }
    .em-reorder .em-dose-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .em-reorder .em-addon-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
    .em-reorder .em-dose-filters { gap: 6px; }
    .em-reorder .em-dose-filter { padding: 9px 14px; font-size: 13px; }
    .em-reorder .em-dose-mg { font-size: 17px; }
    .em-reorder .em-last-dose-card-inner { flex-direction: column; padding: 18px 18px 18px 22px; }
    .em-reorder .em-last-dose-date-field { max-width: none; }
    .em-reorder .em-recommended-callout { flex-direction: column; }
}
@media (max-width: 400px) {
    .em-reorder .em-dose-grid,
    .em-reorder .em-addon-grid { grid-template-columns: 1fr; }
}