body[data-module-theme="medicines"] {
    --medicine-accent: #2d7358;
    --medicine-accent-dark: #205741;
    --medicine-soft: #eaf5ef;
    --medicine-soft-strong: #d8ecdf;
    --medicine-blue: #eaf2f8;
    --medicine-border: #d7e3dd;
}

.medicines-header {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #eef8f2 0%, #f9fbfa 65%, #e8f2f7 100%);
}

.medicines-header > div { max-width: 760px; }
.medicines-header__symbol {
    position: absolute;
    right: max(5vw, 32px);
    bottom: -20px;
    color: rgba(45, 115, 88, .11);
    font-size: clamp(6rem, 14vw, 11rem);
    font-weight: 850;
    line-height: 1;
    transform: rotate(-8deg);
}

.medicines-tabs {
    position: sticky;
    z-index: 20;
    top: var(--primary-navigation-height, 72px);
    display: flex;
    gap: 6px;
    width: min(1180px, calc(100% - 32px));
    margin: -20px auto 0;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid var(--medicine-border);
    border-radius: 16px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 10px 28px rgba(31, 64, 51, .09);
    backdrop-filter: blur(14px);
}

.medicines-tabs button {
    flex: 1 0 auto;
    min-width: 92px;
    padding: 10px 14px;
    border: 0;
    border-radius: 11px;
    color: #50615a;
    background: transparent;
    font: inherit;
    font-weight: 750;
    cursor: pointer;
}

.medicines-tabs button:hover { background: #f3f7f5; }
.medicines-tabs button[aria-current="page"] { color: #fff; background: var(--medicine-accent); }

.medicines-page {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding: 34px 0 72px;
}

.medicine-safety-note {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 24px;
    padding: 13px 16px;
    border: 1px solid #cfdfd7;
    border-radius: 14px;
    color: #4b6258;
    background: #f7faf8;
}

.medicine-safety-note > span {
    display: grid;
    flex: 0 0 24px;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    color: #fff;
    background: var(--medicine-accent);
    font-size: .8rem;
    font-weight: 800;
}

.medicine-safety-note p { margin: 1px 0 0; font-size: .91rem; }

.medicines-start-grid,
.medicine-practice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.medicines-start-grid > button,
.medicine-practice-grid > button {
    position: relative;
    display: grid;
    grid-template-columns: 58px 1fr;
    grid-template-areas: "icon title" "icon text" "icon action";
    gap: 5px 16px;
    min-height: 174px;
    padding: 25px;
    height: auto;
    overflow: visible;
    border: 1px solid var(--medicine-border);
    border-radius: 20px;
    color: #18201d;
    text-align: left;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 64, 51, .06);
    cursor: pointer;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.medicines-start-grid > button:hover,
.medicine-practice-grid > button:hover {
    border-color: #a9c9b9;
    box-shadow: 0 14px 32px rgba(31, 64, 51, .1);
    transform: translateY(-2px);
}

.medicines-start-grid > button > span,
.medicine-practice-grid > button > span {
    grid-area: icon;
    display: grid;
    place-items: center;
    width: 58px;
    height: 58px;
    border-radius: 17px;
    color: var(--medicine-accent-dark);
    background: var(--medicine-soft);
    font-size: 1.14rem;
    font-weight: 850;
}

.medicines-start-grid strong,
.medicine-practice-grid strong { grid-area: title; align-self: end; font-size: 1.16rem; }
.medicines-start-grid small,
.medicine-practice-grid small { grid-area: text; color: #5d6a65; font-size: .94rem; line-height: 1.5; }
.medicines-start-grid em,
.medicine-practice-grid em { grid-area: action; align-self: start; color: var(--medicine-accent); font-size: .9rem; font-style: normal; font-weight: 800; }

.daily-medicine {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 28px;
    margin-top: 24px;
    padding: 30px;
    border: 1px solid #cfe2d7;
    border-radius: 22px;
    background: linear-gradient(135deg, #f3faf6, #e8f4ee);
}

.daily-medicine h2 { margin: 4px 0 6px; font-size: clamp(1.6rem, 4vw, 2.2rem); }
.daily-medicine p { margin: 0 0 16px; color: #52625b; }
.daily-medicine__answer { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 14px; }
.daily-medicine__answer span { color: #52625b; font-size: .9rem; }
.daily-medicine__answer button { padding: 0; border: 0; color: var(--medicine-accent); background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.daily-medicine__stat { display: grid; align-content: center; justify-items: center; min-width: 128px; padding: 18px; border-radius: 18px; color: #fff; background: var(--medicine-accent); }
.daily-medicine__stat strong { font-size: 2rem; }
.daily-medicine__stat span { font-size: .82rem; font-weight: 750; }

.medicines-section { margin-top: 32px; }
.medicines-section:first-of-type { margin-top: 0; }
.medicines-section__heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 16px; }
.medicines-section__heading h2 { margin: 4px 0 0; }
.medicines-section__heading > span { flex: 0 0 auto; padding: 6px 10px; border-radius: 999px; color: #50615a; background: #eef3f0; font-size: .83rem; font-weight: 750; }

.atc-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.atc-map details,
.medicine-group-card {
    border: 1px solid var(--medicine-border);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(31, 64, 51, .04);
}

.atc-map summary,
.medicine-group-card summary { list-style: none; cursor: pointer; }
.atc-map summary::-webkit-details-marker,
.medicine-group-card summary::-webkit-details-marker { display: none; }
.atc-map summary { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 12px; min-height: 68px; padding: 11px 15px; }
.atc-map summary > strong { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 12px; color: var(--medicine-accent-dark); background: var(--medicine-soft); font-size: 1.08rem; }
.atc-map summary > span { font-size: .94rem; font-weight: 750; }
.atc-map summary > em { color: #6b7772; font-size: .78rem; font-style: normal; }
.atc-map details[open] { grid-column: 1 / -1; border-color: #b8d3c5; }
.atc-map details[open] summary { border-bottom: 1px solid var(--medicine-border); }
.atc-map__empty { opacity: .72; }
.atc-map__content { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; padding: 18px; }
.atc-map__content > p { grid-column: 1 / -1; margin: 0; color: #68746f; }
.atc-map__content section { padding: 13px; border-radius: 13px; background: #f7faf8; }
.atc-map__content h3 { display: flex; gap: 8px; margin: 0 0 9px; font-size: .92rem; }
.atc-map__content h3 span { color: #5e6d66; font-weight: 550; }
.atc-map__content section > div { display: grid; gap: 5px; }
.atc-map__content button { display: flex; justify-content: space-between; gap: 8px; padding: 8px 9px; border: 0; border-radius: 9px; color: #233129; text-align: left; background: #fff; cursor: pointer; }
.atc-map__content button:hover { color: var(--medicine-accent-dark); background: var(--medicine-soft); }
.atc-map__content button small { color: #6a7771; }

.medicine-group-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.medicine-group-card[open] { grid-column: 1 / -1; border-color: #b8d3c5; }
.medicine-group-card summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 88px; padding: 18px; }
.medicine-group-card summary span { display: grid; gap: 5px; }
.medicine-group-card summary small { color: #6c7872; font-size: .8rem; }
.medicine-group-card summary em { max-width: 210px; color: var(--medicine-accent); font-size: .83rem; font-style: normal; text-align: right; }
.medicine-group-card__content { padding: 0 20px 20px; border-top: 1px solid var(--medicine-border); }
.medicine-group-card__content > p { color: #50615a; }
.medicine-group-card__example { margin: 14px 0; padding: 14px 16px; border-left: 4px solid var(--medicine-accent); border-radius: 0 12px 12px 0; background: var(--medicine-soft); }
.medicine-group-card__example strong { font-size: .84rem; }
.medicine-group-card__example p { margin: 5px 0 0; color: #41554b; font-size: .91rem; line-height: 1.55; }
.medicine-group-card__content dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 16px 0; }
.medicine-group-card__content dl > div { padding: 13px; border-radius: 12px; background: #f7faf8; }
.medicine-group-card__content dt { margin-bottom: 5px; font-size: .78rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.medicine-group-card__content dd { margin: 0; color: #52625b; font-size: .9rem; line-height: 1.45; }
.medicine-group-card__medicines { display: flex; flex-wrap: wrap; gap: 7px; }
.medicine-group-card__medicines button { padding: 8px 10px; border: 1px solid #cbded4; border-radius: 10px; color: var(--medicine-accent-dark); background: #fff; font: inherit; font-size: .86rem; font-weight: 700; cursor: pointer; }
.medicine-group-card__medicines button:hover { background: var(--medicine-soft); }
.medicine-group-card__medicines small { margin-left: 5px; color: #6b7772; }

.medicine-registry-controls { padding: 20px; border: 1px solid var(--medicine-border); border-radius: 20px; background: #fff; box-shadow: 0 7px 20px rgba(31, 64, 51, .05); }
.medicine-search { display: grid; gap: 7px; }
.medicine-search > span,
.medicine-filter-grid label > span { font-size: .8rem; font-weight: 800; }
.medicine-search input { width: 100%; padding: 14px 16px; border: 1px solid #becfc6; border-radius: 12px; color: inherit; background: #fbfcfb; font: inherit; }
.medicine-search input:focus,
.medicine-filter-grid select:focus { outline: 3px solid rgba(45, 115, 88, .16); border-color: var(--medicine-accent); }
.medicine-filter-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.medicine-filter-grid label { display: grid; gap: 6px; min-width: 0; }
.medicine-filter-grid select { min-width: 0; width: 100%; padding: 10px 30px 10px 10px; border: 1px solid #cedbd4; border-radius: 10px; color: inherit; background: #fff; font: inherit; font-size: .88rem; }
.medicine-registry-controls__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.medicine-registry-controls__heading p { margin: 0; color: #62716a; font-size: .82rem; }
.medicine-registry-controls__heading button { padding: 4px 0; border: 0; color: var(--medicine-accent); background: transparent; font: inherit; font-size: .8rem; font-weight: 800; cursor: pointer; }
.medicine-registry-summary { margin: 20px 2px 12px; color: #5f6d67; font-size: .9rem; }
.medicine-registry-summary strong { color: #1e2d26; }
.medicine-registry-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 13px; }

.medicine-card { position: relative; display: flex; flex-direction: column; min-height: 245px; padding: 18px; border: 1px solid var(--medicine-border); border-radius: 17px; background: #fff; box-shadow: 0 5px 17px rgba(31, 64, 51, .045); }
.medicine-card__topline { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.medicine-atc { color: var(--medicine-accent-dark); font-size: .78rem; font-weight: 850; letter-spacing: .04em; }
.medicine-importance { padding: 4px 7px; border-radius: 999px; font-size: .7rem; font-weight: 800; }
.medicine-importance--må-kunne { color: #205741; background: #dff1e7; }
.medicine-importance--vanlig { color: #315b76; background: #e2f0f8; }
.medicine-importance--utvidet { color: #67552e; background: #f4ecd8; }
.medicine-card h3 { margin: 18px 0 5px; font-size: 1.08rem; }
.medicine-card > p { margin: 0; color: #52625b; font-size: .9rem; }
.medicine-card > small { margin-top: 8px; color: #6b7772; line-height: 1.4; }
.medicine-mine-badge { align-self: flex-start; margin-top: 9px; padding: 4px 8px; border-radius: 999px; color: #4d3d77; background: #ede8f7; font-size: .72rem; font-weight: 800; }
.medicine-card__open { display: flex; justify-content: space-between; width: 100%; margin-top: auto; padding: 13px 0 0; border: 0; border-top: 1px solid #edf1ef; color: var(--medicine-accent); background: transparent; font: inherit; font-size: .87rem; font-weight: 800; cursor: pointer; }
.medicine-card--compact { min-height: 220px; }

.medicines-empty { grid-column: 1 / -1; padding: 45px 20px; border: 1px dashed #c4d4cc; border-radius: 18px; color: #5c6b64; text-align: center; background: #f8faf9; }
.medicines-empty strong { display: block; color: #26352e; font-size: 1.1rem; }
.medicines-empty p { margin: 7px 0 0; }
.medicines-empty--large { display: grid; justify-items: center; padding: 70px 20px; }
.medicines-empty--large > span { display: grid; place-items: center; width: 64px; height: 64px; margin-bottom: 15px; border-radius: 20px; color: var(--medicine-accent); background: var(--medicine-soft); font-size: 2rem; }
.medicines-empty--large .primary-button { margin-top: 18px; }

.medicine-back { margin: 0 0 14px; padding: 8px 0; border: 0; color: var(--medicine-accent); background: transparent; font: inherit; font-weight: 800; cursor: pointer; }
.medicine-detail__hero { display: grid; grid-template-columns: 1fr minmax(190px, auto); gap: 30px; padding: 26px; border: 1px solid var(--medicine-border); border-radius: 22px; background: linear-gradient(135deg, #fff, #f2f8f5); }
.medicine-detail__hero h2 { margin: 18px 0 7px; font-size: clamp(1.8rem, 4vw, 2.55rem); }
.medicine-detail__hero p { max-width: 760px; margin: 0 0 12px; color: #4f6058; font-size: 1.02rem; line-height: 1.55; }
.medicine-save-control { align-self: start; display: grid; gap: 7px; padding: 14px; border: 1px solid #c8ddd2; border-radius: 14px; background: #fff; }
.medicine-save-control span { font-size: .79rem; font-weight: 800; }
.medicine-save-control select { padding: 9px; border: 1px solid #c6d5cd; border-radius: 9px; color: inherit; background: #fff; font: inherit; }
.medicine-clinical-example { display: grid; grid-template-columns: auto 1fr; gap: 16px; margin-top: 13px; padding: 21px; border: 1px solid #b9d7c7; border-radius: 17px; background: #f1faf5; }
.medicine-clinical-example__icon { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 13px; color: var(--medicine-accent-dark); background: #dcefe4; font-size: 1.2rem; font-weight: 850; }
.medicine-clinical-example h3 { margin: 3px 0 7px; font-size: 1.05rem; }
.medicine-clinical-example p:last-child { margin: 0; color: #43584e; line-height: 1.6; }
.medicine-understanding { margin-top: 13px; padding: 23px; border: 1px solid #cbd9e3; border-radius: 17px; background: #f6f9fb; }
.medicine-understanding__heading h3 { margin: 3px 0 6px; }
.medicine-understanding__heading > p:last-child { margin: 0; color: #596a73; }
.medicine-understanding__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 19px 0 0; padding: 0; list-style: none; }
.medicine-understanding__steps li { position: relative; display: grid; grid-template-columns: auto 1fr; align-items: start; gap: 10px; padding: 15px; border: 1px solid #d9e2e7; border-radius: 13px; background: #fff; }
.medicine-understanding__steps li:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; top: 50%; right: -19px; width: 24px; color: #80949f; text-align: center; transform: translateY(-50%); }
.medicine-understanding__steps li > span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; color: #fff; background: var(--medicine-accent); font-size: .76rem; font-weight: 850; }
.medicine-understanding__steps strong { font-size: .9rem; }
.medicine-understanding__steps p { margin: 5px 0 0; color: #52636c; font-size: .88rem; line-height: 1.5; }
.medicine-detail__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin-top: 13px; }
.medicine-detail-section { padding: 21px; border: 1px solid var(--medicine-border); border-radius: 17px; background: #fff; }
.medicine-detail-section h3 { margin: 0 0 12px; font-size: 1.02rem; }
.medicine-detail-section ul { display: grid; gap: 7px; margin: 0; padding-left: 21px; color: #4f6058; }
.medicine-detail-section--observe { border-color: #bad7c8; background: #f3faf6; }
.medicine-detail-section--adverse { border-color: #e6d7bd; background: #fdf9f1; }
.medicine-detail-section--memory { border-color: #cbd9e3; background: #f3f7fa; }
.medicine-detail-section--memory p:last-child { margin-bottom: 0; color: #50616d; line-height: 1.55; }
.atc-breadcrumb { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; color: #50615a; font-size: .86rem; }
.atc-breadcrumb span,
.atc-breadcrumb strong { padding: 6px 8px; border-radius: 8px; background: #edf4f0; }
.atc-breadcrumb b { color: #95a49d; }
.medicine-practice-areas { display: flex; align-items: center; gap: 14px; margin-top: 13px; padding: 17px; border: 1px solid var(--medicine-border); border-radius: 15px; background: #fff; }
.medicine-practice-areas > div { display: flex; flex-wrap: wrap; gap: 6px; }
.medicine-practice-areas span { padding: 5px 8px; border-radius: 999px; color: #53635c; background: #edf3f0; font-size: .78rem; font-weight: 700; }
.medicine-sources { margin-top: 24px; padding: 17px; border-top: 1px solid #dce5e0; color: #627069; font-size: .83rem; }
.medicine-sources > p { margin: 4px 0 9px; }
.medicine-sources > div { display: flex; flex-wrap: wrap; gap: 12px; }
.medicine-sources a { color: var(--medicine-accent); font-weight: 750; }

.mine-medicines-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.mine-medicines-summary > div { display: grid; justify-items: center; padding: 18px; border: 1px solid var(--medicine-border); border-radius: 15px; background: #fff; }
.mine-medicines-summary strong { font-size: 1.6rem; }
.mine-medicines-summary span { color: #66736d; font-size: .78rem; }
.mine-medicines-empty { margin: 0; padding: 20px; border: 1px dashed #cad7d1; border-radius: 14px; color: #67746e; text-align: center; }
.mine-medicines-actions { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-top: 14px; padding: 22px; border: 1px solid #b9d7c7; border-radius: 17px; background: #f1faf5; }
.mine-medicines-actions h2 { margin: 3px 0 6px; font-size: 1.15rem; }
.mine-medicines-actions p:last-child { max-width: 680px; margin: 0; color: #52655c; }
.mine-medicines-actions > div:last-child { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; }

.medicine-practice-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.medicine-practice-grid > button {
    grid-template-columns: 46px minmax(0, 1fr);
    grid-template-rows: auto auto auto;
    align-content: start;
    min-height: 205px;
    padding: 19px;
}
.medicine-practice-grid > button > span { width: 46px; height: 46px; border-radius: 14px; font-size: .95rem; }
.medicine-practice-grid strong { font-size: 1rem; }
.medicine-practice-grid small { font-size: .86rem; }
.medicine-practice-page {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .72fr);
    grid-template-areas: "stage setup";
    align-items: start;
    gap: 20px;
}
.medicine-practice-page .medicine-practice-stage {
    grid-area: stage;
    min-height: 520px;
    margin-top: 0;
    padding: clamp(22px, 4vw, 38px);
    background: linear-gradient(145deg, #fbfefc, #edf7f2);
}
.medicine-practice-setup {
    position: sticky;
    top: calc(var(--primary-navigation-height, 72px) + 72px);
    grid-area: setup;
    display: grid;
    gap: 15px;
    padding: 20px;
    border: 1px solid var(--medicine-border);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(31, 64, 51, .07);
}
.medicine-practice-setup__heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.medicine-practice-setup__heading .eyebrow { margin: 0; }
.medicine-practice-setup__heading h2 { margin: 4px 0 0; font-size: 1.2rem; }
.medicine-practice-setup__heading > span { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: var(--medicine-accent-dark); background: var(--medicine-soft); font-size: .72rem; font-weight: 850; }
.medicine-practice-setup__saved { display: flex; align-items: center; gap: 7px; margin: -4px 0 0; color: #61716a; font-size: .76rem; }
.medicine-practice-setup__saved span { display: grid; width: 18px; height: 18px; place-items: center; border-radius: 50%; color: #fff; background: var(--medicine-accent); font-size: .65rem; }
.medicine-practice-source-select,
.medicine-practice-type-select { display: grid; gap: 7px; }
.medicine-practice-source-select > span,
.medicine-practice-type-select > span,
.medicine-practice-filters label > span { color: #3b4e46; font-size: .76rem; font-weight: 800; }
.medicine-practice-source-select select,
.medicine-practice-type-select select,
.medicine-practice-filters select { width: 100%; min-width: 0; padding: 11px 34px 11px 11px; border: 1px solid #c9d9d1; border-radius: 11px; color: #23342d; background: #fff; font: inherit; font-size: .85rem; }
.medicine-practice-source-select select:focus,
.medicine-practice-type-select select:focus,
.medicine-practice-filters select:focus { outline: 3px solid rgba(45, 115, 88, .15); border-color: var(--medicine-accent); }
.medicine-practice-filters { border-top: 1px solid #e2e9e5; border-bottom: 1px solid #e2e9e5; }
.medicine-practice-filters summary { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 0; color: #34483f; font-size: .82rem; font-weight: 800; cursor: pointer; }
.medicine-practice-filters summary span:not(:empty) { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; color: #fff; background: var(--medicine-accent); font-size: .68rem; }
.medicine-practice-filters > div { display: grid; gap: 10px; padding: 0 0 14px; }
.medicine-practice-filters label { display: grid; gap: 5px; min-width: 0; }
.medicine-practice-reset { justify-self: start; padding: 0; border: 0; color: #65746d; background: transparent; font: inherit; font-size: .76rem; font-weight: 750; text-decoration: underline; cursor: pointer; }
.medicine-practice-tip { padding: 13px; border-radius: 12px; color: #466055; background: var(--medicine-soft); }
.medicine-practice-tip strong { font-size: .78rem; }
.medicine-practice-tip p { margin: 4px 0 0; font-size: .75rem; line-height: 1.45; }
.medicine-practice-stage { scroll-margin-top: 150px; margin-top: 24px; padding: 26px; border: 1px solid #bad4c6; border-radius: 22px; background: #f5faf7; }
.medicine-question { max-width: 760px; margin: 0 auto; }
.medicine-question__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 30px; padding-bottom: 16px; border-bottom: 1px solid #d9e6df; }
.medicine-question__header .eyebrow { margin: 0 0 4px; }
.medicine-question__header > div { display: grid; }
.medicine-question__header > div > span { color: #697871; font-size: .72rem; }
.medicine-question__header > div:last-child { justify-items: end; }
.medicine-question__header > div:last-child strong { color: var(--medicine-accent-dark); font-size: 1.3rem; line-height: 1; }
.medicine-question h2,
.medicine-sorting h2,
.medicine-cases > h2 { margin: 5px 0 20px; font-size: clamp(1.35rem, 3vw, 1.8rem); }
.medicine-question__options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.medicine-question__options button,
.medicine-sorting__groups button { padding: 14px; border: 1px solid #c9d9d1; border-radius: 12px; color: #26352e; text-align: left; background: #fff; font: inherit; font-weight: 700; cursor: pointer; }
.medicine-question__options button:hover:not(:disabled),
.medicine-sorting__groups button:hover { border-color: var(--medicine-accent); background: var(--medicine-soft); }
.medicine-question__options button[data-correct="true"] { border-color: #4a9a71; color: #1f6545; background: #dff3e8; }
.medicine-question__options button[data-wrong="true"] { border-color: #ca7373; color: #842e2e; background: #f9e5e5; }
.medicine-question__feedback { margin-top: 14px; padding: 13px 15px; border-radius: 12px; }
.medicine-question__feedback[data-result="correct"] { color: #205f42; background: #dff2e8; }
.medicine-question__feedback[data-result="wrong"] { color: #7b3030; background: #f8e4e4; }
.medicine-question__feedback p { margin: 4px 0 0; font-size: .9rem; }
.medicine-question__feedback > p { color: inherit; }
.medicine-question__learning { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 12px; }
.medicine-question__learning > div { padding: 11px 12px; border: 1px solid rgba(38, 74, 57, .14); border-radius: 10px; background: rgba(255, 255, 255, .58); }
.medicine-question__learning span { font-size: .73rem; font-weight: 850; text-transform: uppercase; letter-spacing: .035em; }
.medicine-question__feedback .medicine-question__learning p { color: #365747; line-height: 1.5; }
.medicine-question__feedback[data-result="wrong"] .medicine-question__learning p { color: #623f3f; }
.medicine-question > .secondary-button,
.medicine-sorting > .secondary-button { margin-top: 14px; }
.medicine-practice-empty { display: grid; min-height: 390px; align-content: center; justify-items: center; max-width: 560px; margin: 0 auto; text-align: center; }
.medicine-practice-empty > span { display: grid; width: 58px; height: 58px; place-items: center; border-radius: 18px; color: var(--medicine-accent-dark); background: var(--medicine-soft); font-size: 1.35rem; }
.medicine-practice-empty h2 { margin: 16px 0 7px; }
.medicine-practice-empty p { max-width: 440px; margin: 0 0 18px; color: #607069; line-height: 1.55; }
.medicine-sorting { max-width: 820px; margin: 0 auto; }
.medicine-sorting__medicines,
.medicine-sorting__groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; margin-top: 15px; }
.medicine-sorting__medicines button { padding: 13px; border: 2px solid transparent; border-radius: 12px; color: var(--medicine-accent-dark); background: #e5f2eb; font: inherit; font-weight: 800; cursor: pointer; }
.medicine-sorting__medicines button[aria-pressed="true"] { border-color: var(--medicine-accent); }
.medicine-sorting__medicines button[data-correct="true"] { color: #fff; background: var(--medicine-accent); }
.medicine-sorting__groups button { text-align: center; }
.medicine-cases { display: grid; gap: 10px; max-width: 880px; margin: 0 auto; }
.medicine-cases > .eyebrow,
.medicine-cases > h2 { margin-bottom: 0; }
.medicine-cases details { border: 1px solid #cbdcd3; border-radius: 14px; background: #fff; }
.medicine-cases summary { display: flex; justify-content: space-between; gap: 18px; padding: 18px; list-style: none; cursor: pointer; }
.medicine-cases summary::-webkit-details-marker { display: none; }
.medicine-cases summary span { flex: 0 0 auto; color: var(--medicine-accent); font-size: .82rem; font-weight: 800; }
.medicine-cases details > div { padding: 0 18px 18px; color: #50615a; }
.medicine-cases li { margin-bottom: 7px; }
.medicine-cases details button { padding: 9px 11px; border: 1px solid #c3d7cd; border-radius: 9px; color: var(--medicine-accent-dark); background: var(--medicine-soft); font: inherit; font-weight: 750; cursor: pointer; }
.medicine-cases details section { margin-top: 12px; padding: 14px; border-radius: 12px; background: #f2f7f4; }
.medicine-cases details section h3 { margin: 0 0 9px; }
.medicine-cases details section p { margin: 7px 0; font-size: .9rem; }

@media (max-width: 900px) {
    .medicine-understanding__steps { grid-template-columns: 1fr; }
    .medicine-understanding__steps li:not(:last-child)::after { content: "↓"; top: auto; right: 50%; bottom: -19px; transform: translateX(50%); }
    .medicine-registry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .medicine-filter-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .medicine-practice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .medicine-practice-page { grid-template-columns: minmax(0, 1.4fr) minmax(250px, .8fr); }
}

@media (max-width: 680px) {
    .medicines-header__symbol { right: 12px; opacity: .65; }
    .medicines-tabs { top: 62px; width: calc(100% - 20px); margin-top: -13px; }
    .medicines-page { width: calc(100% - 22px); padding-top: 24px; }
    .medicines-start-grid,
    .medicine-practice-grid,
    .atc-map,
    .medicine-group-grid,
    .medicine-registry-grid,
    .medicine-detail__grid { grid-template-columns: 1fr; }
    .medicines-start-grid > button { min-height: 155px; padding: 20px; }
    .daily-medicine { grid-template-columns: 1fr; padding: 22px; }
    .daily-medicine__stat { grid-template-columns: auto auto; align-items: baseline; justify-content: center; gap: 7px; min-width: 0; }
    .daily-medicine__stat strong { font-size: 1.45rem; }
    .atc-map details[open],
    .medicine-group-card[open] { grid-column: auto; }
    .atc-map summary { grid-template-columns: 38px 1fr; }
    .atc-map summary > strong { width: 38px; height: 38px; }
    .atc-map summary > em { grid-column: 2; }
    .atc-map__content,
    .medicine-group-card__content dl { grid-template-columns: 1fr; }
    .medicine-group-card summary { align-items: flex-start; flex-direction: column; }
    .medicine-group-card summary em { text-align: left; }
    .medicine-filter-grid { grid-template-columns: 1fr; }
    .medicine-card { min-height: 220px; }
    .medicine-detail__hero { grid-template-columns: 1fr; padding: 20px; }
    .medicine-clinical-example { grid-template-columns: 1fr; }
    .medicine-understanding { padding: 19px 15px; }
    .medicine-save-control { width: 100%; }
    .medicine-practice-areas { align-items: flex-start; flex-direction: column; }
    .mine-medicines-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mine-medicines-actions { align-items: stretch; flex-direction: column; }
    .mine-medicines-actions > div:last-child { flex-direction: column; }
    .medicine-question__options,
    .medicine-question__learning,
    .medicine-sorting__medicines,
    .medicine-sorting__groups { grid-template-columns: 1fr; }
    .medicine-practice-stage { padding: 19px 14px; }
    .medicine-practice-page { grid-template-columns: 1fr; grid-template-areas: "stage" "setup"; }
    .medicine-practice-page .medicine-practice-stage { min-height: 460px; padding: 22px 16px; }
    .medicine-practice-setup { position: static; }
    .medicine-question__header { margin-bottom: 22px; }
    .medicine-cases summary { align-items: flex-start; flex-direction: column; }
}

body[data-dark-mode="true"] .medicines-header,
body.dark-mode .medicines-header,
html[data-theme="dark"] .medicines-header { background: linear-gradient(135deg, #172a22, #1d2824); }
body[data-dark-mode="true"] .medicines-tabs,
body[data-dark-mode="true"] .medicines-start-grid > button,
body[data-dark-mode="true"] .medicine-practice-grid > button,
body[data-dark-mode="true"] .atc-map details,
body[data-dark-mode="true"] .medicine-group-card,
body[data-dark-mode="true"] .medicine-registry-controls,
body[data-dark-mode="true"] .medicine-card,
body[data-dark-mode="true"] .medicine-detail__hero,
body[data-dark-mode="true"] .medicine-understanding__steps li,
body[data-dark-mode="true"] .medicine-detail-section,
body[data-dark-mode="true"] .medicine-practice-areas,
body[data-dark-mode="true"] .mine-medicines-summary > div,
body[data-dark-mode="true"] .medicine-practice-setup,
body[data-dark-mode="true"] .medicine-question__options button,
body[data-dark-mode="true"] .medicine-sorting__groups button,
body[data-dark-mode="true"] .medicine-cases details,
html[data-theme="dark"] .medicines-tabs,
html[data-theme="dark"] .medicines-start-grid > button,
html[data-theme="dark"] .medicine-practice-grid > button,
html[data-theme="dark"] .atc-map details,
html[data-theme="dark"] .medicine-group-card,
html[data-theme="dark"] .medicine-registry-controls,
html[data-theme="dark"] .medicine-card,
html[data-theme="dark"] .medicine-detail__hero,
html[data-theme="dark"] .medicine-understanding__steps li,
html[data-theme="dark"] .medicine-detail-section,
html[data-theme="dark"] .medicine-practice-areas,
html[data-theme="dark"] .mine-medicines-summary > div,
html[data-theme="dark"] .medicine-practice-setup,
html[data-theme="dark"] .medicine-question__options button,
html[data-theme="dark"] .medicine-sorting__groups button,
html[data-theme="dark"] .medicine-cases details { background: var(--surface-card, #1e2a25); }

html[data-theme="dark"] body[data-module-theme="medicines"] {
    --medicine-accent: #79d5aa;
    --medicine-accent-dark: #a8e4c8;
    --medicine-soft: #263f34;
    --medicine-soft-strong: #315444;
    --medicine-blue: #263b49;
    --medicine-border: #40544b;
}

html[data-theme="dark"] .medicines-start-grid > button,
html[data-theme="dark"] .medicine-practice-grid > button,
html[data-theme="dark"] .medicine-card,
html[data-theme="dark"] .medicine-detail-section,
html[data-theme="dark"] .medicine-group-card,
html[data-theme="dark"] .atc-map details,
html[data-theme="dark"] .mine-medicines-summary > div {
    color: #eef7f2;
}

html[data-theme="dark"] .medicines-start-grid small,
html[data-theme="dark"] .medicine-practice-grid small,
html[data-theme="dark"] .medicine-card > p,
html[data-theme="dark"] .medicine-card > small,
html[data-theme="dark"] .medicine-group-card__content dd,
html[data-theme="dark"] .medicine-group-card__example p,
html[data-theme="dark"] .medicine-clinical-example p:last-child,
html[data-theme="dark"] .medicine-understanding__heading > p:last-child,
html[data-theme="dark"] .medicine-understanding__steps p,
html[data-theme="dark"] .medicine-detail-section ul,
html[data-theme="dark"] .medicine-detail-section--memory p:last-child,
html[data-theme="dark"] .medicine-cases details > div,
html[data-theme="dark"] .mine-medicines-summary span {
    color: #b8c9c1;
}

html[data-theme="dark"] .medicine-question__learning > div {
    border-color: rgba(232, 247, 239, .16);
    background: rgba(18, 35, 27, .16);
}

html[data-theme="dark"][data-theme] main .medicine-question__feedback[data-result="correct"] > p { color: #205f42; }
html[data-theme="dark"][data-theme] main .medicine-question__feedback[data-result="wrong"] > p { color: #7b3030; }

html[data-theme="dark"][data-theme] main .medicine-question__feedback .medicine-question__learning p {
    color: #365747;
}

html[data-theme="dark"][data-theme] main .medicine-question__feedback[data-result="wrong"] .medicine-question__learning p {
    color: #623f3f;
}

html[data-theme="dark"] .medicines-start-grid em,
html[data-theme="dark"] .medicine-practice-grid em,
html[data-theme="dark"] .medicine-card__open,
html[data-theme="dark"] .medicine-cases summary span {
    color: #8fddb8;
}

html[data-theme="dark"] .medicines-start-grid > button > span,
html[data-theme="dark"] .medicine-practice-grid > button > span,
html[data-theme="dark"] .atc-map summary > strong {
    color: #b4ead0;
    background: #294338;
}

html[data-theme="dark"] .medicine-safety-note,
html[data-theme="dark"] .daily-medicine,
html[data-theme="dark"] .mine-medicines-actions,
html[data-theme="dark"] .medicine-clinical-example,
html[data-theme="dark"] .medicine-understanding,
html[data-theme="dark"] .atc-map__content section,
html[data-theme="dark"] .medicine-group-card__content dl > div,
html[data-theme="dark"] .medicine-practice-stage,
html[data-theme="dark"] .medicine-cases details section,
html[data-theme="dark"] .medicines-empty {
    color: #c7d6cf;
    background: #192620;
}

html[data-theme="dark"] .daily-medicine p,
html[data-theme="dark"] .daily-medicine__answer span,
html[data-theme="dark"] .mine-medicines-actions p:last-child,
html[data-theme="dark"] .medicine-detail__hero p,
html[data-theme="dark"] .atc-map__content > p,
html[data-theme="dark"] .mine-medicines-empty {
    color: #b8c9c1;
}

html[data-theme="dark"] .medicine-question__options button,
html[data-theme="dark"] .medicine-sorting__groups button,
html[data-theme="dark"] .atc-map__content button {
    color: #edf7f2;
    border-color: #496158;
    background: #24342d;
}

html[data-theme="dark"] .medicine-question__options button:hover:not(:disabled),
html[data-theme="dark"] .medicine-sorting__groups button:hover,
html[data-theme="dark"] .atc-map__content button:hover {
    color: #ffffff;
    border-color: #79d5aa;
    background: #2c493c;
}

html[data-theme="dark"] .medicine-search input,
html[data-theme="dark"] .medicine-filter-grid select,
html[data-theme="dark"] .medicine-practice-source-select select,
html[data-theme="dark"] .medicine-practice-type-select select,
html[data-theme="dark"] .medicine-practice-filters select,
html[data-theme="dark"] .medicine-save-control,
html[data-theme="dark"] .medicine-save-control select {
    color: #eef7f2;
    border-color: #4a6157;
    background: #192620;
}

html[data-theme="dark"] .medicine-practice-setup__heading h2,
html[data-theme="dark"] .medicine-practice-source-select > span,
html[data-theme="dark"] .medicine-practice-type-select > span,
html[data-theme="dark"] .medicine-practice-filters label > span,
html[data-theme="dark"] .medicine-practice-filters summary,
html[data-theme="dark"] .medicine-question__header > div:last-child strong {
    color: #e5f4ec;
}

html[data-theme="dark"] .medicine-practice-setup__saved,
html[data-theme="dark"] .medicine-practice-reset,
html[data-theme="dark"] .medicine-question__header > div > span,
html[data-theme="dark"] .medicine-practice-empty p,
html[data-theme="dark"] .medicine-registry-controls__heading p {
    color: #b8c9c1;
}

html[data-theme="dark"] .atc-breadcrumb span,
html[data-theme="dark"] .atc-breadcrumb strong,
html[data-theme="dark"] .medicine-practice-areas span {
    color: #d6e6de;
    background: #293c33;
}
