/* --------------------------------------------------------------------------
   Meal plans
   -------------------------------------------------------------------------- */

.br-meal-plan-page,
.br-meal-plan-editor-page {
    width: min(1320px, calc(100% - 32px));
    margin: 26px auto 56px;
}

.br-meal-plan-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    padding: 24px 26px;
    border: 1px solid #e2dcc8;
    border-radius: 18px;
    background: #f8f4e8;
}

.br-meal-plan-hero h1,
.br-meal-plan-editor-heading h1 {
    margin: 5px 0 5px;
    color: #103f31;
    font-size: clamp(2rem, 4vw, 2.65rem);
    font-weight: 800;
    line-height: 1.05;
}

.br-meal-plan-hero p,
.br-meal-plan-editor-heading p {
    max-width: 760px;
    margin: 0;
    color: #5e6d65;
}

.br-meal-plan-toolbar {
    display: grid;
    grid-template-columns: 46px 1fr 46px;
    align-items: center;
    gap: 14px;
    margin: 18px 0;
}

.br-meal-plan-week-label {
    text-align: center;
}

.br-meal-plan-week-label span {
    display: block;
    margin-bottom: 2px;
    color: #718078;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.br-meal-plan-week-label strong {
    color: #153f32;
    font-size: 1.08rem;
}

.br-meal-plan-week-button {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid #d9dfd8;
    border-radius: 13px;
    background: #fff;
    color: #153f32;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.br-meal-plan-week-button:hover {
    border-color: #153f32;
    background: #f4f7f3;
    color: #153f32;
    transform: translateY(-1px);
}

.br-meal-plan-add-card {
    margin-bottom: 20px;
    padding: 20px;
    border: 1px solid #dfe4dc;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgb(29 56 47 / 5%);
}

.br-meal-plan-add-heading {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 16px;
}

.br-meal-plan-add-icon {
    display: grid;
    flex: 0 0 42px;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: #edf4e8;
    color: #1d6a4e;
}

.br-meal-plan-add-heading h2 {
    margin: 0 0 2px;
    color: #173f33;
    font-size: 1.1rem;
    font-weight: 800;
}

.br-meal-plan-add-heading p,
.br-meal-plan-no-recipes p {
    margin: 0;
    color: #6b7771;
    font-size: .91rem;
}

.br-meal-plan-add-form {
    display: grid;
    grid-template-columns: minmax(260px, 1.7fr) minmax(150px, .65fr) minmax(135px, .55fr) minmax(230px, 1fr) auto;
    align-items: end;
    gap: 12px;
}

.br-meal-plan-add-form .br-field-group {
    min-width: 0;
}

.br-meal-plan-add-form label,
.br-meal-plan-editor-card label {
    display: block;
    margin-bottom: 6px;
    color: #2f4c42;
    font-size: .78rem;
    font-weight: 800;
}

.br-meal-plan-add-form label span,
.br-meal-plan-editor-card label span {
    color: #819087;
    font-weight: 600;
}

.br-meal-plan-add-form .form-control,
.br-meal-plan-add-form .form-select,
.br-meal-plan-editor-card .form-control,
.br-meal-plan-editor-card .form-select {
    min-height: 44px;
    border-color: #d5ddd7;
    border-radius: 11px;
}

.br-meal-plan-add-button {
    min-height: 44px;
    white-space: nowrap;
}

.br-meal-plan-no-recipes {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-top: 4px;
}

.br-meal-plan-no-recipes > div {
    display: flex;
    gap: 9px;
}

.br-meal-plan-days {
    display: grid;
    gap: 14px;
}

.br-meal-plan-day {
    overflow: hidden;
    border: 1px solid #dfe4dc;
    border-radius: 18px;
    background: #fff;
}

.br-meal-plan-day.is-today {
    border-color: #9ebba1;
    box-shadow: 0 0 0 2px rgb(119 157 112 / 10%);
}

.br-meal-plan-day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 18px;
    border-bottom: 1px solid #edf0ec;
    background: #fbfaf5;
}

.br-meal-plan-day-header span:first-child {
    display: block;
    margin-bottom: 1px;
    color: #718078;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .11em;
}

.br-meal-plan-day-header h2 {
    margin: 0;
    color: #153f32;
    font-size: 1.22rem;
    font-weight: 800;
}

.br-meal-plan-today {
    padding: 5px 10px;
    border-radius: 999px;
    background: #eaf3df;
    color: #356326 !important;
    font-size: .72rem !important;
    font-weight: 800;
    letter-spacing: 0 !important;
}

.br-meal-plan-slots {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.br-meal-plan-slot {
    min-width: 0;
    padding: 14px;
    border-right: 1px solid #edf0ec;
}

.br-meal-plan-slot:last-child {
    border-right: 0;
}

.br-meal-plan-slot-label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: 10px;
    color: #567064;
    font-size: .76rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .045em;
}

.br-meal-plan-slot-label i {
    width: 17px;
    color: #d8792c;
    text-align: center;
}

.br-meal-plan-slot-content {
    display: grid;
    gap: 9px;
}

.br-meal-plan-empty-slot {
    display: block;
    padding: 16px 8px;
    border: 1px dashed #dfe4dc;
    border-radius: 12px;
    color: #98a29c;
    font-size: .82rem;
    text-align: center;
}

.br-meal-plan-entry {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 9px;
    border: 1px solid #e4e8e3;
    border-radius: 13px;
    background: #fff;
}

.br-meal-plan-entry-photo {
    display: block;
    width: 54px;
    height: 54px;
    overflow: hidden;
    border-radius: 10px;
    background: #f1f3ed;
}

.br-meal-plan-entry-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.br-meal-plan-entry-body {
    min-width: 0;
}

.br-meal-plan-entry-body h3 {
    margin: 1px 0 3px;
    font-size: .93rem;
    font-weight: 800;
    line-height: 1.22;
}

.br-meal-plan-entry-body h3 a {
    color: #173f33;
    text-decoration: none;
}

.br-meal-plan-entry-body h3 a:hover {
    color: #d56f27;
}

.br-meal-plan-entry-time {
    display: block;
    margin-bottom: 3px;
    color: #7b8982;
    font-size: .72rem;
}

.br-meal-plan-entry-body p {
    margin: 4px 0 0;
    color: #65736c;
    font-size: .76rem;
    line-height: 1.35;
}

.br-meal-plan-entry-actions {
    display: flex;
    gap: 4px;
}

.br-icon-button {
    display: grid;
    width: 31px;
    height: 31px;
    place-items: center;
    border: 0;
    border-radius: 8px;
    background: #f1f4f1;
    color: #52645b;
    font-size: .76rem;
    text-decoration: none;
}

.br-icon-button:hover {
    background: #e5ece7;
    color: #153f32;
}

.br-icon-button-danger {
    background: #fff4f1;
    color: #b14436;
}

.br-icon-button-danger:hover {
    background: #fbe9e6;
    color: #a43b30;
}

.br-meal-plan-editor-page {
    max-width: 840px;
}

.br-meal-plan-editor-card {
    margin-top: 14px;
    padding: 26px;
    border: 1px solid #dfe4dc;
    border-radius: 18px;
    background: #fff;
}

.br-meal-plan-editor-heading {
    margin-bottom: 22px;
}

.br-meal-plan-editor-heading h1 {
    font-size: 2rem;
}

.br-meal-plan-edit-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

@media (max-width: 1180px) {
    .br-meal-plan-add-form {
        grid-template-columns: 1.4fr 1fr 1fr;
    }

    .br-meal-plan-notes-field {
        grid-column: span 2;
    }

    .br-meal-plan-add-button {
        width: 100%;
    }

    .br-meal-plan-slots {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .br-meal-plan-slot:nth-child(2) {
        border-right: 0;
    }

    .br-meal-plan-slot:nth-child(-n+2) {
        border-bottom: 1px solid #edf0ec;
    }
}

@media (max-width: 720px) {
    .br-meal-plan-page,
    .br-meal-plan-editor-page {
        width: min(100% - 20px, 1320px);
        margin-top: 14px;
    }

    .br-meal-plan-hero {
        flex-direction: column;
        padding: 20px;
    }

    .br-meal-plan-hero > .btn {
        width: 100%;
    }

    .br-meal-plan-add-form,
    .br-meal-plan-edit-row {
        grid-template-columns: 1fr;
    }

    .br-meal-plan-notes-field {
        grid-column: auto;
    }

    .br-meal-plan-no-recipes {
        align-items: stretch;
        flex-direction: column;
    }

    .br-meal-plan-no-recipes > div {
        display: grid;
    }

    .br-meal-plan-slots {
        grid-template-columns: 1fr;
    }

    .br-meal-plan-slot,
    .br-meal-plan-slot:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #edf0ec;
    }

    .br-meal-plan-slot:last-child {
        border-bottom: 0;
    }

    .br-meal-plan-entry {
        grid-template-columns: 48px minmax(0, 1fr);
    }

    .br-meal-plan-entry-photo {
        width: 48px;
        height: 48px;
    }

    .br-meal-plan-entry-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .br-meal-plan-editor-card {
        padding: 20px;
    }
}

/* Step 38 - Shopping list */
.br-shopping-page {
    width: min(1320px, calc(100% - 32px));
    margin: 26px auto 56px;
}

.br-shopping-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 28px;
    padding: 24px 26px;
    border: 1px solid #e2dcc8;
    border-radius: 18px;
    background: #f8f4e8;
}

.br-shopping-hero h1 {
    margin: 5px 0 5px;
    color: #103f31;
    font-size: clamp(2rem, 4vw, 2.65rem);
    font-weight: 800;
    line-height: 1.05;
}

.br-shopping-hero p {
    max-width: 760px;
    margin: 0;
    color: #5e6d65;
}

.br-shopping-hero-actions,
.br-meal-plan-hero-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}

.br-shopping-weekbar {
    display: grid;
    grid-template-columns: 46px 1fr 46px auto;
    align-items: center;
    gap: 14px;
    margin: 18px 0;
}

.br-shopping-week-button {
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    border: 1px solid #d9dfd8;
    border-radius: 13px;
    background: #fff;
    color: #153f32;
    text-decoration: none;
    transition: border-color .16s ease, background-color .16s ease, transform .16s ease;
}

.br-shopping-week-button:hover {
    border-color: #b8c9bf;
    background: #f7faf8;
    color: #103f31;
    transform: translateY(-1px);
}

.br-shopping-week-title {
    text-align: center;
}

.br-shopping-week-title span {
    display: block;
    margin-bottom: 2px;
    color: #718078;
    font-size: .69rem;
    font-weight: 800;
    letter-spacing: .12em;
}

.br-shopping-week-title strong {
    color: #153f32;
    font-size: 1.08rem;
}

.br-shopping-current-week {
    white-space: nowrap;
}

.br-shopping-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.br-shopping-summary > div {
    display: flex;
    align-items: center;
    gap: 13px;
    min-height: 82px;
    padding: 16px 18px;
    border: 1px solid #e0e6e1;
    border-radius: 16px;
    background: #fff;
}

.br-shopping-summary-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border-radius: 50%;
    background: #eef5ef;
    color: #1b654f;
}

.br-shopping-summary strong,
.br-shopping-summary span:not(.br-shopping-summary-icon) {
    display: block;
}

.br-shopping-summary strong {
    color: #143f32;
    font-size: 1.28rem;
    line-height: 1;
}

.br-shopping-summary div > div > span {
    margin-top: 4px;
    color: #718078;
    font-size: .83rem;
}

.br-shopping-add-card,
.br-shopping-list-card {
    margin-bottom: 18px;
    padding: 22px;
    border: 1px solid #e0e6e1;
    border-radius: 18px;
    background: #fff;
}

.br-shopping-section-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
}

.br-shopping-section-heading h2 {
    margin: 2px 0 0;
    color: #153f32;
    font-size: 1.32rem;
    font-weight: 800;
}

.br-shopping-add-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.7fr) 110px 130px minmax(200px, 1.2fr) auto;
    align-items: end;
    gap: 12px;
}

.br-shopping-add-form .br-field-group {
    margin: 0;
}

.br-shopping-add-form label {
    margin-bottom: 6px;
    color: #31483f;
    font-size: .78rem;
    font-weight: 800;
}

.br-shopping-add-form label span {
    color: #86948d;
    font-weight: 600;
}

.br-shopping-add-button {
    min-height: 42px;
    white-space: nowrap;
}

.br-shopping-list-heading {
    margin-bottom: 10px;
}

.br-shopping-list-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.br-shopping-unit-converter {
    margin: 0;
}


.br-shopping-items {
    overflow: hidden;
    border: 1px solid #e5eae6;
    border-radius: 15px;
}

.br-shopping-item {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) 40px;
    align-items: center;
    gap: 10px;
    min-height: 72px;
    padding: 12px 14px;
    background: #fff;
}

.br-shopping-item + .br-shopping-item {
    border-top: 1px solid #edf0ed;
}

.br-shopping-item.is-checked {
    background: #f8faf8;
}

.br-shopping-toggle-form {
    margin: 0;
}

.br-shopping-check-button {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #1b654f;
    font-size: 1.25rem;
}

.br-shopping-check-button:hover {
    background: #eef5ef;
}

.br-shopping-item-main {
    min-width: 0;
}

.br-shopping-item-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.br-shopping-item h3 {
    margin: 0;
    color: #203e34;
    font-size: 1rem;
    font-weight: 800;
}

.br-shopping-item.is-checked h3,
.br-shopping-item.is-checked .br-shopping-item-amount {
    color: #87938d;
    text-decoration: line-through;
}

.br-shopping-plan-badge,
.br-shopping-manual-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    font-size: .67rem;
    font-weight: 800;
    line-height: 1;
}

.br-shopping-plan-badge {
    background: #edf5ef;
    color: #27644f;
}

.br-shopping-manual-badge {
    background: #fff2df;
    color: #9b5b15;
}

.br-shopping-item-amount {
    display: flex;
    align-items: baseline;
    gap: 5px;
    margin-top: 4px;
    color: #53645c;
    font-size: .88rem;
}

.br-shopping-item-amount strong {
    color: inherit;
    font-weight: 800;
}

.br-shopping-item p {
    margin: 4px 0 0;
    color: #74827b;
    font-size: .82rem;
}

.br-shopping-delete-button {
    justify-self: end;
}

.br-shopping-checked-section {
    margin-top: 20px;
}

.br-shopping-checked-heading {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px 4px;
    color: #75837c;
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .1em;
}

.br-shopping-checked-heading strong {
    display: grid;
    min-width: 22px;
    height: 22px;
    place-items: center;
    border-radius: 999px;
    background: #eef1ee;
    color: #5d6b64;
    font-size: .7rem;
    letter-spacing: 0;
}

.br-shopping-empty {
    padding: 48px 20px;
    text-align: center;
}

.br-shopping-empty-icon {
    display: grid;
    width: 56px;
    height: 56px;
    margin: 0 auto 12px;
    place-items: center;
    border-radius: 50%;
    background: #eef5ef;
    color: #1b654f;
    font-size: 1.25rem;
}

.br-shopping-empty h3 {
    margin: 0 0 6px;
    color: #153f32;
    font-size: 1.12rem;
    font-weight: 800;
}

.br-shopping-empty p {
    margin: 0 auto 16px;
    color: #6d7a74;
}

@media (max-width: 1000px) {
    .br-shopping-add-form {
        grid-template-columns: minmax(0, 1.5fr) 100px 120px;
    }

    .br-shopping-notes-field {
        grid-column: 1 / 3;
    }

    .br-shopping-add-button {
        grid-column: 3;
    }
}

@media (max-width: 760px) {
    .br-shopping-page {
        width: min(100% - 20px, 1320px);
        margin-top: 14px;
    }

    .br-shopping-hero,
    .br-meal-plan-hero {
        flex-direction: column;
    }

    .br-shopping-hero-actions,
    .br-meal-plan-hero-actions {
        width: 100%;
        justify-content: stretch;
    }

    .br-shopping-hero-actions .btn,
    .br-shopping-hero-actions form,
    .br-shopping-hero-actions form .btn,
    .br-meal-plan-hero-actions .btn {
        flex: 1 1 0;
    }

    .br-shopping-weekbar {
        grid-template-columns: 42px 1fr 42px;
    }

    .br-shopping-current-week {
        grid-column: 1 / -1;
        justify-self: center;
    }

    .br-shopping-summary {
        grid-template-columns: 1fr;
        gap: 9px;
    }

    .br-shopping-summary > div {
        min-height: 70px;
    }

    .br-shopping-add-form {
        grid-template-columns: 1fr 1fr;
    }

    .br-shopping-name-field,
    .br-shopping-notes-field {
        grid-column: 1 / -1;
    }

    .br-shopping-add-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .br-shopping-list-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .br-shopping-list-actions {
        width: 100%;
        justify-content: space-between;
    }
}

@media (max-width: 480px) {
    .br-shopping-hero,
    .br-shopping-add-card,
    .br-shopping-list-card {
        padding: 18px;
    }

    .br-shopping-add-form {
        grid-template-columns: 1fr;
    }

    .br-shopping-name-field,
    .br-shopping-quantity-field,
    .br-shopping-unit-field,
    .br-shopping-notes-field,
    .br-shopping-add-button {
        grid-column: 1;
    }

    .br-shopping-item {
        grid-template-columns: 38px minmax(0, 1fr) 38px;
        padding-inline: 10px;
    }

    .br-shopping-plan-badge,
    .br-shopping-manual-badge {
        margin-top: 2px;
    }
}

/* Step 39 - Pantry */
.br-pantry-page {
    display: grid;
    gap: 22px;
}

.br-pantry-hero,
.br-pantry-add-card,
.br-pantry-list-card,
.br-pantry-edit-card {
    background: var(--br-surface, #fffdf7);
    border: 1px solid rgba(36, 61, 42, .12);
    border-radius: 22px;
    box-shadow: 0 12px 32px rgba(35, 49, 38, .07);
    padding: 26px;
}

.br-pantry-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.br-pantry-hero h1,
.br-pantry-list-card h2,
.br-pantry-add-card h2,
.br-pantry-edit-card h1 {
    margin: 4px 0 8px;
}

.br-pantry-hero p {
    margin: 0;
    max-width: 720px;
}

.br-pantry-hero-actions {
    display: flex;
    gap: 10px;
    flex: 0 0 auto;
}

.br-pantry-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.br-pantry-summary a {
    display: flex;
    min-height: 86px;
    flex-direction: column;
    justify-content: center;
    gap: 2px;
    padding: 16px 18px;
    border: 1px solid rgba(36, 61, 42, .12);
    border-radius: 18px;
    background: #fffdf7;
    color: inherit;
    text-decoration: none;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.br-pantry-summary a:hover,
.br-pantry-summary a.is-active {
    border-color: rgba(64, 111, 69, .45);
    box-shadow: 0 8px 22px rgba(35, 49, 38, .07);
    transform: translateY(-1px);
}

.br-pantry-summary strong {
    color: #24442d;
    font-size: 1.55rem;
    line-height: 1;
}

.br-pantry-summary span {
    color: #6d756d;
    font-size: .88rem;
}

.br-pantry-add-form,
.br-pantry-edit-form {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(110px, .55fr) minmax(110px, .55fr);
    gap: 14px;
    align-items: end;
}

.br-pantry-wide {
    grid-column: span 2;
}

.br-pantry-add-button {
    min-height: 46px;
}

.br-pantry-toolbar {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.br-pantry-search {
    display: flex;
    min-width: min(360px, 100%);
    border: 1px solid rgba(36, 61, 42, .16);
    border-radius: 999px;
    background: #fff;
    overflow: hidden;
}

.br-pantry-search input {
    min-width: 0;
    flex: 1 1 auto;
    border: 0;
    outline: 0;
    padding: 10px 14px;
    background: transparent;
}

.br-pantry-search button {
    width: 44px;
    border: 0;
    background: transparent;
    color: #31583a;
}

.br-pantry-grid {
    display: grid;
    gap: 10px;
}

.br-pantry-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(36, 61, 42, .11);
    border-radius: 16px;
    background: #fff;
}

.br-pantry-item.is-low {
    border-color: rgba(205, 123, 31, .28);
}

.br-pantry-item.is-out {
    opacity: .7;
}

.br-pantry-item-main {
    min-width: 0;
    flex: 1 1 auto;
}

.br-pantry-item-title-row,
.br-pantry-badges,
.br-pantry-meta,
.br-pantry-item-actions,
.br-pantry-edit-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.br-pantry-item-title-row h3 {
    margin: 0;
    font-size: 1.02rem;
}

.br-pantry-meta {
    margin-top: 5px;
    color: #70776f;
    font-size: .88rem;
}

.br-pantry-meta span + span::before {
    content: "•";
    margin-right: 8px;
    color: #a1a79f;
}

.br-pantry-badge,
.br-rd-pantry-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border-radius: 999px;
    padding: 4px 8px;
    font-size: .74rem;
    font-weight: 700;
    line-height: 1;
}

.br-pantry-badge-low {
    background: #fff0d9;
    color: #99570d;
}

.br-pantry-badge-out,
.br-pantry-badge-expired {
    background: #f9e1dd;
    color: #9a3f35;
}

.br-pantry-badge-soon {
    background: #eef2d0;
    color: #65740d;
}

.br-rd-pantry-badge {
    background: #e8f1df;
    color: #3f692f;
}


.br-pantry-view-all {
    display: inline-flex;
    margin-top: 2px;
    color: #365f3e;
    font-size: .82rem;
    font-weight: 700;
    text-decoration: none;
}

.br-pantry-view-all:hover {
    text-decoration: underline;
}

.br-pantry-status-control {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-right: 4px;
}

.br-pantry-status-label {
    color: #697269;
    font-size: .78rem;
    font-weight: 700;
}

.br-pantry-status-options {
    display: inline-flex;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid rgba(36, 61, 42, .18);
    border-radius: 10px;
    background: #fff;
}

.br-pantry-status-options form {
    display: flex;
}

.br-pantry-status-options form + form {
    border-left: 1px solid rgba(36, 61, 42, .14);
}

.br-pantry-status-btn {
    min-height: 36px;
    border: 0;
    padding: 7px 11px;
    background: transparent;
    color: #536056;
    font-size: .79rem;
    font-weight: 750;
    line-height: 1;
    cursor: pointer;
    transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}

.br-pantry-status-btn:hover {
    background: #f3f5ef;
}

.br-pantry-status-ok.is-active {
    background: #e6f0e0;
    color: #315d35;
    box-shadow: inset 0 0 0 1px rgba(49, 93, 53, .12);
}

.br-pantry-status-low.is-active {
    background: #fff0d9;
    color: #99570d;
    box-shadow: inset 0 0 0 1px rgba(153, 87, 13, .10);
}

.br-pantry-status-out.is-active {
    background: #f9e1dd;
    color: #9a3f35;
    box-shadow: inset 0 0 0 1px rgba(154, 63, 53, .10);
}

.br-pantry-item-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.br-pantry-item-actions form {
    margin: 0;
}

.br-pantry-item-actions .btn {
    min-height: 38px;
}

.br-pantry-empty {
    padding: 42px 20px;
    text-align: center;
    color: #727a71;
}

.br-pantry-empty > i {
    margin-bottom: 12px;
    color: #58795b;
    font-size: 2rem;
}

.br-pantry-empty h3 {
    margin: 0 0 6px;
    color: #2c4431;
}

.br-pantry-empty p {
    margin: 0;
}

.br-pantry-edit-card {
    max-width: 820px;
    margin: 0 auto;
}

.br-pantry-edit-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
    margin-top: 6px;
}

.br-shopping-pantry-check {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-right: 8px;
    color: #556257;
    font-size: .84rem;
    white-space: nowrap;
}

.br-shopping-pantry-check input {
    accent-color: #355f3c;
}

@media (max-width: 900px) {
    .br-pantry-summary {
        grid-template-columns: 1fr 1fr;
    }

    .br-pantry-add-form,
    .br-pantry-edit-form {
        grid-template-columns: 1fr 1fr;
    }

    .br-pantry-wide {
        grid-column: 1 / -1;
    }

    .br-pantry-add-button {
        grid-column: 1 / -1;
    }
}

@media (max-width: 700px) {
    .br-pantry-hero,
    .br-pantry-toolbar,
    .br-pantry-item {
        align-items: stretch;
        flex-direction: column;
    }

    .br-pantry-hero-actions,
    .br-pantry-hero-actions .btn,
    .br-pantry-search {
        width: 100%;
    }

    .br-pantry-item-actions {
        justify-content: flex-start;
    }

    .br-pantry-status-control {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .br-pantry-status-options {
        width: 100%;
    }

    .br-pantry-status-options form {
        flex: 1 1 0;
    }

    .br-pantry-status-btn {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .br-pantry-hero,
    .br-pantry-add-card,
    .br-pantry-list-card,
    .br-pantry-edit-card {
        padding: 18px;
    }

    .br-pantry-summary,
    .br-pantry-add-form,
    .br-pantry-edit-form {
        grid-template-columns: 1fr;
    }

    .br-pantry-wide,
    .br-pantry-add-button {
        grid-column: 1;
    }
}

/* Step 39B - shared meal plans and shopping lists */
.br-sharing-page{max-width:1180px;margin:0 auto;padding:2rem 1rem 4rem}.br-sharing-hero,.br-sharing-card{background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:18px;box-shadow:0 10px 28px rgba(30,46,39,.06)}.br-sharing-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.5rem 1.75rem;margin-bottom:1rem}.br-sharing-hero h1{margin:.2rem 0 .35rem}.br-sharing-hero p{margin:0;color:#6b746f}.br-sharing-card{padding:1.4rem 1.5rem;margin-top:1rem}.br-sharing-card h2{font-size:1.1rem;margin:0 0 1rem}.br-sharing-search{display:flex;gap:.65rem}.br-sharing-search .form-control{min-width:0}.br-sharing-results,.br-sharing-current-list{margin-top:1rem;border-top:1px solid rgba(15,73,57,.09)}.br-sharing-member-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 0;border-bottom:1px solid rgba(15,73,57,.09)}.br-sharing-member{display:flex;align-items:center;gap:.7rem;font-weight:700}.br-sharing-avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf4ea;color:#0f4939;font-weight:800}.br-sharing-add-form{display:flex;align-items:center;gap:.75rem}.br-sharing-edit-check{display:flex;align-items:center;gap:.4rem;font-size:.88rem;color:#59645e}.br-sharing-shared-badge,.br-sharing-permission{font-size:.78rem;font-weight:700;border-radius:999px;padding:.25rem .55rem;background:#edf4ea;color:#0f4939}.br-sharing-permission{margin-left:.5rem}.br-shared-grid{display:grid;gap:.75rem}.br-shared-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;text-decoration:none;color:inherit;padding:1rem;border:1px solid rgba(15,73,57,.1);border-radius:14px}.br-shared-card:hover{border-color:#0f4939;background:#fbfcf7}.br-shared-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#edf4ea;color:#0f4939}.br-shared-card div{display:flex;flex-direction:column}.br-shared-card div span,.br-shared-card small{color:#6b746f}.br-shared-card strong{font-size:1rem}.br-sharing-empty{text-align:center;padding:2.5rem 1rem;color:#66716b}.br-sharing-empty>i{font-size:1.6rem;color:#0f4939;margin-bottom:.6rem}.br-shopping-check-button.is-readonly{cursor:default}
@media(max-width:720px){.br-sharing-hero{align-items:flex-start;flex-direction:column}.br-sharing-search,.br-sharing-add-form{width:100%;flex-direction:column;align-items:stretch}.br-sharing-member-row{align-items:flex-start;flex-direction:column}.br-sharing-member-row form{width:100%}.br-sharing-member-row .br-btn{width:100%}}

/* Step 40 - What Can I Make */
.br-discover-page{max-width:1180px;margin:0 auto}.br-discover-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem 1.75rem;margin-bottom:1rem;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:18px}.br-discover-hero h1{margin:.2rem 0 .35rem}.br-discover-hero p{margin:0;color:#68736b}.br-discover-hero-actions{display:flex;gap:.65rem;flex-wrap:wrap}.br-discover-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1rem}.br-discover-summary a{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem;text-decoration:none;color:#314437;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:14px}.br-discover-summary a.is-active{border-color:#35643d;box-shadow:0 0 0 2px rgba(53,100,61,.08)}.br-discover-summary strong{font-size:1.35rem}.br-discover-summary span{font-weight:700;color:#667269}.br-discover-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1rem 0 1.15rem}.br-discover-filters{display:flex;gap:.45rem;flex-wrap:wrap}.br-discover-filters a{padding:.48rem .75rem;border:1px solid rgba(15,73,57,.13);border-radius:999px;text-decoration:none;color:#526057;background:#fff;font-size:.84rem;font-weight:700}.br-discover-filters a.is-active{background:#315f39;color:#fff;border-color:#315f39}.br-discover-search{display:flex;min-width:260px}.br-discover-search input{width:100%;border:1px solid rgba(15,73,57,.15);border-right:0;border-radius:10px 0 0 10px;padding:.62rem .75rem;background:#fff}.br-discover-search button{border:1px solid rgba(15,73,57,.15);border-left:0;border-radius:0 10px 10px 0;background:#fff;color:#315f39;padding:0 .8rem}.br-discover-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.br-discover-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:16px;box-shadow:0 8px 24px rgba(31,49,39,.05)}.br-discover-photo{display:block;aspect-ratio:16/9;background:#eef3e8;overflow:hidden}.br-discover-photo img{width:100%;height:100%;object-fit:cover}.br-discover-photo span{width:100%;height:100%;display:grid;place-items:center;color:#58755b;font-size:2rem}.br-discover-card-body{padding:1rem 1rem .8rem;flex:1}.br-discover-card-topline{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.55rem}.br-discover-source{font-size:.75rem;font-weight:750;color:#657168}.br-discover-match{font-size:.78rem;font-weight:800;color:#315f39}.br-discover-card h2{margin:0 0 .45rem;font-size:1.12rem}.br-discover-card h2 a{color:#263d2b;text-decoration:none}.br-discover-description{margin:0 0 .8rem;color:#68736b;font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.br-discover-progress{height:7px;background:#edf0e8;border-radius:99px;overflow:hidden;margin:.65rem 0 .45rem}.br-discover-progress span{display:block;height:100%;background:#6d964f;border-radius:inherit}.br-discover-count{font-size:.82rem;color:#637067;margin-bottom:.55rem}.br-discover-state{display:inline-flex;padding:.3rem .55rem;border-radius:999px;background:#f2efe6;color:#785e27;font-size:.76rem;font-weight:800}.br-discover-state.is-ready{background:#e5f1df;color:#315f39}.br-discover-state.is-close{background:#fff0d8;color:#995d14}.br-discover-missing{margin-top:.65rem;color:#69736c;font-size:.82rem;line-height:1.45}.br-discover-actions{display:flex;gap:.55rem;padding:.85rem 1rem 1rem;border-top:1px solid rgba(15,73,57,.08);flex-wrap:wrap}.br-discover-actions form{margin:0;flex:1}.br-discover-actions .btn{width:100%;white-space:nowrap}.br-discover-empty{text-align:center;padding:3rem 1rem;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:16px;color:#68736b}.br-discover-empty>i{font-size:2rem;color:#4f7354;margin-bottom:.7rem}.br-discover-empty h2{color:#304635}.br-discover-pager{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:1.25rem}.br-discover-pager a{color:#315f39;font-weight:750;text-decoration:none}.br-discover-pager span{color:#6b756e;font-size:.88rem}
@media(max-width:900px){.br-discover-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.br-discover-toolbar{align-items:stretch;flex-direction:column}.br-discover-search{min-width:0;width:100%}}
@media(max-width:640px){.br-discover-hero{align-items:stretch;flex-direction:column;padding:1.2rem}.br-discover-hero-actions,.br-discover-hero-actions .btn{width:100%}.br-discover-summary,.br-discover-grid{grid-template-columns:1fr}.br-discover-filters{overflow-x:auto;flex-wrap:nowrap;padding-bottom:.25rem}.br-discover-filters a{white-space:nowrap}.br-discover-actions{flex-direction:column}.br-discover-actions form{width:100%}}

/* Step 41 - Discover feed */
.br-discover-feed-page{max-width:1240px;margin:0 auto}.br-discover-feed-hero{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.6rem 1.75rem;margin-bottom:1rem;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:18px}.br-discover-feed-hero h1{margin:.2rem 0 .35rem}.br-discover-feed-hero p{margin:0;max-width:720px;color:#68736b}.br-discover-feed-hero-actions{display:flex;gap:.65rem;flex-wrap:wrap}.br-discover-feed-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,240px) auto auto;gap:.65rem;align-items:center;margin:1rem 0 .75rem}.br-discover-feed-search{position:relative}.br-discover-feed-search>i{position:absolute;left:.85rem;top:50%;transform:translateY(-50%);color:#7a847d}.br-discover-feed-search input,.br-discover-feed-toolbar select{width:100%;min-height:42px;border:1px solid rgba(15,73,57,.16);border-radius:11px;background:#fff;color:#2b3f31}.br-discover-feed-search input{padding:.66rem .8rem .66rem 2.35rem}.br-discover-feed-toolbar select{padding:.62rem .75rem}.br-discover-feed-quick{display:flex;gap:.5rem;overflow-x:auto;padding:.15rem 0 .75rem;margin-bottom:.85rem}.br-discover-feed-quick a{flex:0 0 auto;padding:.48rem .78rem;border:1px solid rgba(15,73,57,.14);border-radius:999px;background:#fff;color:#526057;font-size:.84rem;font-weight:750;text-decoration:none}.br-discover-feed-quick a.is-active{background:#315f39;border-color:#315f39;color:#fff}.br-discover-feed-section{margin-top:1.5rem}.br-discover-feed-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.br-discover-feed-heading h2{margin:.15rem 0 0;font-size:1.35rem;color:#293f2e}.br-discover-feed-heading>a{color:#315f39;font-weight:750;text-decoration:none;white-space:nowrap}.br-discover-feed-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.br-discover-feed-card{display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:16px;box-shadow:0 8px 24px rgba(31,49,39,.05)}.br-discover-feed-photo{position:relative;display:block;aspect-ratio:16/9;background:#edf2e8;overflow:hidden}.br-discover-feed-photo>img{width:100%;height:100%;object-fit:cover;transition:transform .18s ease}.br-discover-feed-card:hover .br-discover-feed-photo>img{transform:scale(1.025)}.br-discover-feed-placeholder{display:grid;width:100%;height:100%;place-items:center}.br-discover-feed-placeholder img{width:54px;height:54px;object-fit:contain;opacity:.58}.br-discover-feed-rating{position:absolute;right:.7rem;bottom:.7rem;display:inline-flex;gap:.28rem;align-items:center;padding:.3rem .52rem;border-radius:999px;background:rgba(255,252,241,.94);color:#5f4a18;font-size:.78rem;font-weight:800}.br-discover-feed-body{padding:1rem;flex:1}.br-discover-feed-reason{display:flex;align-items:center;gap:.35rem;margin-bottom:.48rem;color:#62804e;font-size:.76rem;font-weight:800;text-transform:uppercase;letter-spacing:.035em}.br-discover-feed-card h3{margin:0 0 .25rem;font-size:1.12rem}.br-discover-feed-card h3 a{color:#263d2b;text-decoration:none}.br-discover-feed-owner{font-size:.8rem;color:#737c75}.br-discover-feed-owner a{color:#45664c;text-decoration:none;font-weight:700}.br-discover-feed-description{margin:.7rem 0;color:#68736b;font-size:.88rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.br-discover-feed-meta{display:flex;gap:.75rem;flex-wrap:wrap;margin:.7rem 0;color:#647068;font-size:.78rem}.br-discover-feed-meta span{display:inline-flex;align-items:center;gap:.3rem}.br-discover-feed-chips{display:flex;gap:.35rem;flex-wrap:wrap;margin:.6rem 0}.br-discover-feed-chips span{padding:.25rem .48rem;border-radius:999px;background:#f0f3e9;color:#60705f;font-size:.72rem;font-weight:700}.br-discover-feed-missing,.br-discover-feed-ready{margin-top:.7rem;padding:.62rem .7rem;border-radius:10px;font-size:.8rem}.br-discover-feed-missing{background:#fff7e8;color:#765c2b}.br-discover-feed-ready{display:flex;align-items:center;gap:.4rem;background:#eaf4e5;color:#315f39;font-weight:750}.br-discover-feed-actions{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.8rem 1rem 1rem;border-top:1px solid rgba(15,73,57,.08)}.br-discover-feed-actions form{margin:0}.br-discover-feed-actions .btn{min-height:36px;padding:.42rem .62rem;font-size:.8rem}.br-discover-hide{margin-left:auto}.br-discover-feed-empty{text-align:center;padding:3rem 1rem;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:16px;color:#68736b}.br-discover-feed-empty>i{font-size:2rem;color:#527457;margin-bottom:.7rem}.br-discover-feed-empty h2,.br-discover-feed-empty h3{color:#304635}
@media(max-width:1000px){.br-discover-feed-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.br-discover-feed-toolbar{grid-template-columns:1fr 1fr}.br-discover-feed-toolbar .btn{width:100%}}
@media(max-width:680px){.br-discover-feed-hero{align-items:stretch;flex-direction:column;padding:1.2rem}.br-discover-feed-hero-actions,.br-discover-feed-hero-actions .btn{width:100%}.br-discover-feed-toolbar{grid-template-columns:1fr}.br-discover-feed-grid{grid-template-columns:1fr}.br-discover-feed-heading{align-items:flex-start;flex-direction:column}.br-discover-feed-actions form{flex:1}.br-discover-feed-actions form .btn{width:100%}}

/* Step 42: Nutrition goals + planned meal nutrition */
.br-nutrition-page { display: grid; gap: 1.25rem; }
.br-nutrition-hero { display:flex; align-items:flex-end; justify-content:space-between; gap:1rem; padding:1.4rem 0 .25rem; }
.br-nutrition-hero h1 { margin:.15rem 0 .35rem; }
.br-nutrition-hero p { margin:0; color:var(--br-muted, #6f746b); }
.br-nutrition-hero-actions { display:flex; gap:.65rem; flex-wrap:wrap; }
.br-nutrition-week-nav { display:grid; grid-template-columns:auto 1fr auto auto; align-items:center; gap:.75rem; }
.br-nutrition-this-week { white-space:nowrap; }
.br-nutrition-goals-card { background:var(--br-surface, #fffdf6); border:1px solid rgba(32,65,45,.12); border-radius:22px; padding:1.2rem; box-shadow:0 8px 28px rgba(34,55,39,.06); }
.br-nutrition-section-heading h2 { margin:.1rem 0 .25rem; font-size:1.35rem; }
.br-nutrition-section-heading p { margin:0 0 1rem; color:var(--br-muted, #6f746b); }
.br-nutrition-goals-form { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:.8rem; align-items:end; }
.br-nutrition-input-unit { position:relative; }
.br-nutrition-input-unit .form-control { padding-right:3rem; }
.br-nutrition-input-unit > span { position:absolute; right:.85rem; top:50%; transform:translateY(-50%); font-size:.8rem; font-weight:700; color:var(--br-muted,#6f746b); pointer-events:none; }
.br-nutrition-summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.8rem; }
.br-nutrition-summary-card { background:#fff; border:1px solid rgba(32,65,45,.11); border-radius:18px; padding:1rem; display:grid; gap:.12rem; }
.br-nutrition-summary-card span,.br-nutrition-summary-card small { color:var(--br-muted,#6f746b); font-size:.78rem; }
.br-nutrition-summary-card strong { color:var(--br-forest,#163d2b); font-size:1.45rem; }
.br-nutrition-days { display:grid; gap:1rem; }
.br-nutrition-day { background:#fff; border:1px solid rgba(32,65,45,.11); border-radius:22px; overflow:hidden; }
.br-nutrition-day.is-today { border-color:rgba(104,143,55,.5); box-shadow:0 0 0 2px rgba(104,143,55,.08); }
.br-nutrition-day-header { display:flex; justify-content:space-between; align-items:center; padding:1rem 1.1rem; border-bottom:1px solid rgba(32,65,45,.09); background:rgba(247,244,232,.65); }
.br-nutrition-day-header span:first-child { font-size:.72rem; letter-spacing:.09em; font-weight:800; color:var(--br-muted,#6f746b); }
.br-nutrition-day-header h2 { font-size:1.15rem; margin:.08rem 0 0; }
.br-nutrition-progress-list { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; padding:1rem 1.1rem; }
.br-nutrition-progress-row > div:first-child { display:flex; justify-content:space-between; gap:.5rem; margin-bottom:.4rem; font-size:.82rem; }
.br-nutrition-progress-row strong { font-size:.78rem; color:var(--br-muted,#6f746b); }
.br-nutrition-progress { height:8px; overflow:hidden; border-radius:999px; background:#ecece6; }
.br-nutrition-progress span { display:block; height:100%; border-radius:inherit; background:#668f39; }
.br-nutrition-progress-row.is-over .br-nutrition-progress span { background:#c96d36; }
.br-nutrition-progress-row.is-under .br-nutrition-progress span { background:#d5a13d; }
.br-nutrition-meals { border-top:1px solid rgba(32,65,45,.08); }
.br-nutrition-meal { display:grid; grid-template-columns:90px 1fr auto; align-items:center; gap:.8rem; padding:.75rem 1.1rem; color:inherit; text-decoration:none; border-bottom:1px solid rgba(32,65,45,.07); }
.br-nutrition-meal:last-child { border-bottom:0; }
.br-nutrition-meal:hover { background:rgba(247,244,232,.65); }
.br-nutrition-meal-type { font-size:.72rem; font-weight:800; text-transform:uppercase; color:var(--br-orange,#c96d36); }
.br-nutrition-meal div { display:grid; }
.br-nutrition-meal small { color:var(--br-muted,#6f746b); }
.br-nutrition-meal-calories { font-weight:800; color:var(--br-forest,#163d2b); }
.br-nutrition-no-meals { margin:0; padding:.9rem 1.1rem; border-top:1px solid rgba(32,65,45,.08); color:var(--br-muted,#6f746b); }
.br-nutrition-disclaimer { font-size:.82rem; color:var(--br-muted,#6f746b); margin:.25rem 0 1rem; }
.br-meal-plan-entry-servings { display:inline-flex; gap:.35rem; align-items:center; font-size:.8rem; color:var(--br-muted,#6f746b); margin-top:.25rem; }

@media (max-width: 1100px) {
    .br-nutrition-goals-form { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .br-nutrition-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .br-nutrition-progress-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
    .br-nutrition-hero { align-items:flex-start; flex-direction:column; }
    .br-nutrition-week-nav { grid-template-columns:auto 1fr auto; }
    .br-nutrition-this-week { grid-column:1 / -1; justify-self:stretch; }
    .br-nutrition-goals-form,.br-nutrition-summary-grid,.br-nutrition-progress-list { grid-template-columns:1fr 1fr; }
    .br-nutrition-goals-form .br-btn { grid-column:1 / -1; }
    .br-nutrition-meal { grid-template-columns:1fr auto; }
    .br-nutrition-meal-type { grid-column:1 / -1; }
}

@media (max-width: 450px) {
    .br-nutrition-goals-form,.br-nutrition-summary-grid,.br-nutrition-progress-list { grid-template-columns:1fr; }
}
.br-nutrition-day-badges { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; justify-content:flex-end; }
.br-nutrition-day-status { border-radius:999px; padding:.3rem .55rem; font-size:.72rem; font-weight:800; background:#edf3e8; color:#4c6a35; }
.br-nutrition-day-status.is-under { background:#fff4dd; color:#9b6717; }
.br-nutrition-day-status.is-over { background:#fff0e8; color:#a64e21; }

/* Step 42F: deterministic macro calculator */
.br-macro-calculator-card { background:var(--br-surface,#fffdf6); border:1px solid rgba(32,65,45,.12); border-radius:22px; padding:1.2rem; box-shadow:0 8px 28px rgba(34,55,39,.06); }
.br-macro-calculator-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:1rem; }
.br-macro-unit-toggle { display:inline-flex; padding:.2rem; border:1px solid rgba(22,61,43,.16); border-radius:12px; background:#f3f1e8; flex:0 0 auto; }
.br-macro-unit-button { border:0; background:transparent; color:var(--br-muted,#6f746b); border-radius:9px; padding:.45rem .75rem; font-weight:800; font-size:.82rem; }
.br-macro-unit-button.is-active { background:var(--br-forest,#163d2b); color:#fff; box-shadow:0 3px 10px rgba(22,61,43,.15); }
.br-macro-calculator-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.8rem; align-items:end; }
.br-macro-activity-field { grid-column:span 2; }
.br-macro-height-row { display:grid; grid-template-columns:1fr 1fr; gap:.45rem; }
.br-macro-calculate-button { min-height:42px; }
.br-macro-formula-note { margin:.8rem 0 0; color:var(--br-muted,#6f746b); font-size:.8rem; }
.br-macro-results { margin-top:1rem; padding-top:1rem; border-top:1px solid rgba(32,65,45,.10); display:grid; gap:.85rem; }
.br-macro-result-summary { display:flex; gap:1.5rem; flex-wrap:wrap; }
.br-macro-result-summary > div { display:grid; }
.br-macro-result-summary span { color:var(--br-muted,#6f746b); font-size:.76rem; }
.br-macro-result-summary strong { color:var(--br-forest,#163d2b); font-size:1.35rem; line-height:1.15; }
.br-macro-result-summary small { color:var(--br-muted,#6f746b); font-size:.72rem; }
.br-macro-result-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.7rem; }
.br-macro-result-grid article { background:#fff; border:1px solid rgba(32,65,45,.11); border-radius:16px; padding:.85rem 1rem; display:grid; gap:.08rem; }
.br-macro-result-grid span,.br-macro-result-grid small { color:var(--br-muted,#6f746b); font-size:.76rem; }
.br-macro-result-grid strong { color:var(--br-forest,#163d2b); font-size:1.35rem; }
.br-macro-result-actions { display:flex; gap:.8rem; align-items:center; flex-wrap:wrap; }
.br-macro-result-actions > span { color:var(--br-muted,#6f746b); font-size:.82rem; }
.br-macro-error { margin-top:.8rem; padding:.75rem .9rem; border-radius:12px; background:#fff0e8; color:#9b421e; font-weight:700; font-size:.86rem; }
.br-macro-imperial-field[hidden],.br-macro-metric-field[hidden],.br-macro-results[hidden],.br-macro-error[hidden] { display:none !important; }

@media (max-width: 1100px) {
    .br-macro-calculator-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
    .br-macro-activity-field { grid-column:span 2; }
}

@media (max-width: 760px) {
    .br-macro-calculator-heading { flex-direction:column; }
    .br-macro-unit-toggle { width:100%; }
    .br-macro-unit-button { flex:1; }
    .br-macro-calculator-grid { grid-template-columns:1fr 1fr; }
    .br-macro-activity-field,.br-macro-calculate-button { grid-column:1 / -1; }
    .br-macro-result-grid { grid-template-columns:1fr 1fr; }
}

@media (max-width: 480px) {
    .br-macro-calculator-grid,.br-macro-result-grid { grid-template-columns:1fr; }
    .br-macro-activity-field,.br-macro-calculate-button { grid-column:auto; }
}

/* ========================================================================== 
   Step 46 - Better Collections
   ========================================================================== */
.br-collection-title-row,
.br-collection-detail-actions,
.br-collection-recipe-actions,
.br-public-collection-owner {
    display: flex;
    align-items: center;
    gap: 10px;
}

.br-collection-title-row {
    flex-wrap: wrap;
}

.br-collection-title-row h2 {
    margin: 0;
}

.br-collection-visibility-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #f1f3ef;
    color: #5b675f;
    font-size: .68rem;
    font-weight: 800;
    line-height: 1;
}

.br-collection-visibility-badge.is-public {
    background: #eef7e4;
    color: #315b2b;
}

.br-collection-preview-cover {
    display: block;
}

.br-collection-cover-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.br-collection-visibility-option {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 14px;
    border: 1px solid #dfe4dc;
    border-radius: 12px;
    background: #fafbf8;
    cursor: pointer;
}

.br-collection-visibility-option input {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    accent-color: #153f32;
}

.br-collection-visibility-option span {
    display: grid;
    gap: 3px;
}

.br-collection-visibility-option strong {
    color: #153f32;
}

.br-collection-visibility-option small,
.br-field-help {
    color: #68756e;
    font-size: .78rem;
    line-height: 1.4;
}

.br-collection-recipe-actions {
    align-items: center;
    gap: 5px;
}

.br-collection-recipe-actions form {
    margin: 0;
}

.br-collection-order-button {
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border: 1px solid #d8e0da;
    border-radius: 8px;
    background: #fff;
    color: #345044;
}

.br-collection-order-button:hover:not(:disabled) {
    background: #eef5ef;
    color: #153f32;
}

.br-collection-order-button:disabled {
    opacity: .35;
    cursor: default;
}

.br-public-collection-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    overflow: hidden;
    margin-bottom: 18px;
    border: 1px solid #dfe4dc;
    border-radius: 18px;
    background: #fff;
}

.br-public-collection-cover {
    min-height: 300px;
}

.br-public-collection-cover img {
    width: 100%;
    height: 100%;
    min-height: 300px;
    object-fit: cover;
}

.br-public-collection-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 34px;
}

.br-public-collection-copy h1 {
    margin: 4px 0 12px;
    color: #153f32;
}

.br-public-collection-copy p {
    color: #5c6c63;
}

.br-public-collection-owner {
    flex-wrap: wrap;
    color: #65736c;
    font-size: .83rem;
}

.br-public-collection-owner a {
    color: #153f32;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 767.98px) {
    .br-collection-detail-actions {
        width: 100%;
        flex-direction: column;
        align-items: stretch;
    }

    .br-collection-detail-actions .btn {
        width: 100%;
    }

    .br-public-collection-hero {
        grid-template-columns: 1fr;
    }

    .br-public-collection-cover,
    .br-public-collection-cover img {
        min-height: 210px;
        max-height: 260px;
    }

    .br-public-collection-copy {
        padding: 24px 20px;
    }
}



/* ==========================================================================
   Step 46A - My Recipes Add to Collection
   ========================================================================== */
.br-library-collection-link {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--br-green-700);
    font: inherit;
    font-size: .73rem;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.br-library-collection-link:hover {
    color: var(--br-orange-600);
}

.br-collection-picker-dialog {
    max-width: 620px;
}

.br-collection-picker-modal {
    border: 1px solid var(--br-border);
    border-radius: 18px;
    overflow: hidden;
    background: #fff;
}

.br-collection-picker-modal .modal-header {
    align-items: flex-start;
    padding: 20px 22px 16px;
    border-bottom: 1px solid var(--br-border);
    background: var(--br-cream);
}

.br-collection-picker-modal .modal-title {
    margin: 2px 0 0;
    color: var(--br-green-900);
    font-size: 1.35rem;
    font-weight: 900;
}

.br-collection-picker-recipe {
    margin: 4px 0 0;
    color: var(--br-muted);
    font-size: .86rem;
}

.br-collection-picker-modal .modal-body {
    padding: 18px 22px 20px;
}

.br-collection-picker-search {
    position: relative;
    margin-bottom: 14px;
}

.br-collection-picker-search > i {
    position: absolute;
    top: 50%;
    left: 13px;
    z-index: 1;
    color: var(--br-muted);
    transform: translateY(-50%);
    pointer-events: none;
}

.br-collection-picker-search .form-control {
    min-height: 42px;
    padding-left: 38px;
    border-color: var(--br-border);
    border-radius: 11px;
    background: #fbfcfa;
}

.br-collection-picker-list {
    display: grid;
    gap: 9px;
    max-height: min(440px, 55vh);
    overflow-y: auto;
    padding-right: 3px;
}

.br-collection-picker-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 13px 14px;
    border: 1px solid var(--br-border);
    border-radius: 12px;
    background: #fff;
}

.br-collection-picker-row[hidden] {
    display: none !important;
}

.br-collection-picker-copy {
    min-width: 0;
}

.br-collection-picker-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.br-collection-picker-title-row strong {
    color: var(--br-green-900);
    font-size: .94rem;
}

.br-collection-picker-copy p {
    margin: 4px 0 0;
    color: var(--br-muted);
    font-size: .8rem;
    line-height: 1.4;
}

.br-collection-picker-copy small {
    display: block;
    margin-top: 5px;
    color: #7a857f;
    font-size: .72rem;
}

.br-collection-visibility {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: .65rem;
    font-weight: 800;
}

.br-collection-visibility.is-private {
    background: #edf2ef;
    color: var(--br-green-700);
}

.br-collection-visibility.is-public {
    background: #edf7df;
    color: #587a22;
}

.br-collection-picker-form {
    flex: 0 0 auto;
}

.br-collection-picker-add {
    min-width: 82px;
    justify-content: center;
}

.br-collection-picker-add.is-added,
.br-collection-picker-add:disabled {
    border-color: #d8e2da;
    background: #edf2ef;
    color: var(--br-green-700);
    opacity: 1;
    cursor: default;
    box-shadow: none;
}

.br-collection-picker-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid var(--br-border);
}

.br-collection-picker-manage {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--br-green-700);
    font-size: .78rem;
    font-weight: 800;
    text-decoration: none;
}

.br-collection-picker-manage:hover {
    color: var(--br-orange-600);
}

.br-collection-picker-empty {
    padding: 26px 12px 20px;
    text-align: center;
}

.br-collection-picker-empty-icon {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    margin: 0 auto 10px;
    border-radius: 50%;
    background: var(--br-green-050);
    color: var(--br-green-700);
    font-size: 1.15rem;
}

.br-collection-picker-empty h3 {
    margin: 0;
    color: var(--br-green-900);
    font-size: 1rem;
}

.br-collection-picker-empty p {
    max-width: 380px;
    margin: 6px auto 14px;
    color: var(--br-muted);
    font-size: .84rem;
}

@media (max-width: 575.98px) {
    .br-library-footer {
        align-items: flex-start;
        gap: 10px;
    }

    .br-library-footer > div {
        justify-content: flex-end;
    }

    .br-collection-picker-dialog {
        margin: 10px;
    }

    .br-collection-picker-modal .modal-header,
    .br-collection-picker-modal .modal-body {
        padding-left: 16px;
        padding-right: 16px;
    }

    .br-collection-picker-row {
        align-items: stretch;
        flex-direction: column;
    }

    .br-collection-picker-form,
    .br-collection-picker-add {
        width: 100%;
    }

    .br-collection-picker-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .br-collection-picker-footer .br-btn {
        width: 100%;
        justify-content: center;
    }

    .br-collection-picker-manage {
        justify-content: center;
    }
}

/* ==========================================================================
   Step 47 - Meal Plan Templates
   ========================================================================== */
.br-template-modal .modal-header {
    align-items: flex-start;
}

.br-template-modal .modal-title {
    margin-top: 0.2rem;
    color: var(--br-green-950);
    font-size: 1.25rem;
    font-weight: 850;
}

.br-template-modal-copy {
    margin: 0 0 1rem;
    color: var(--br-muted);
}

.br-meal-template-page {
    display: grid;
    gap: 1rem;
}

.br-meal-template-target {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.35rem;
    background: #fff;
    border: 1px solid var(--br-border);
    border-radius: 14px;
    box-shadow: var(--br-shadow-soft);
}

.br-meal-template-target h2 {
    margin: 0.15rem 0 0.25rem;
    color: var(--br-green-950);
    font-size: 1.15rem;
    font-weight: 850;
}

.br-meal-template-target p {
    margin: 0;
    color: var(--br-muted);
}

.br-meal-template-week-form {
    display: grid;
    grid-template-columns: minmax(170px, 220px) auto;
    gap: 0.55rem;
    align-items: end;
}

.br-meal-template-week-form label {
    grid-column: 1 / -1;
    color: var(--br-green-950);
    font-size: 0.76rem;
    font-weight: 800;
}

.br-meal-template-grid {
    display: grid;
    gap: 1rem;
}

.br-meal-template-card {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--br-border);
    border-radius: 14px;
    box-shadow: var(--br-shadow-soft);
}

.br-meal-template-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid var(--br-border);
}

.br-meal-template-card-header h2 {
    margin: 0.15rem 0 0.25rem;
    color: var(--br-green-950);
    font-size: 1.3rem;
    font-weight: 900;
}

.br-meal-template-card-header p {
    max-width: 760px;
    margin: 0;
    color: var(--br-muted);
}

.br-meal-template-days {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    gap: 0;
}

.br-meal-template-day {
    min-width: 0;
    padding: 0.9rem;
    border-right: 1px solid var(--br-border);
}

.br-meal-template-day:last-child {
    border-right: 0;
}

.br-meal-template-day > strong {
    display: block;
    margin-bottom: 0.55rem;
    color: var(--br-green-900);
    font-size: 0.7rem;
    font-weight: 900;
    text-transform: uppercase;
}

.br-meal-template-day > div {
    display: grid;
    gap: 0.45rem;
}

.br-meal-template-meal {
    display: grid;
    gap: 0.1rem;
    padding: 0.55rem 0.6rem;
    background: var(--br-green-050);
    border-radius: 9px;
    color: var(--br-text);
    font-size: 0.72rem;
}

.br-meal-template-meal b {
    color: var(--br-orange-700, #c7520a);
    font-size: 0.62rem;
    text-transform: uppercase;
}

.br-meal-template-meal small {
    color: var(--br-muted);
    font-size: 0.62rem;
}

.br-meal-template-meal.is-missing {
    opacity: 0.6;
    text-decoration: line-through;
}

.br-meal-template-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.9rem 1.25rem;
    border-top: 1px solid var(--br-border);
    color: var(--br-muted);
    font-size: 0.72rem;
}

.br-meal-template-apply {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.br-meal-template-apply .form-select {
    min-width: 190px;
}

@media (max-width: 991.98px) {
    .br-meal-template-days {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .br-meal-template-day {
        border-bottom: 1px solid var(--br-border);
    }
}

@media (max-width: 767.98px) {
    .br-meal-template-target,
    .br-meal-template-card-footer,
    .br-meal-template-apply {
        align-items: stretch;
        flex-direction: column;
    }

    .br-meal-template-week-form {
        width: 100%;
        grid-template-columns: 1fr auto;
    }

    .br-meal-template-days {
        grid-template-columns: 1fr;
    }

    .br-meal-template-day {
        border-right: 0;
    }

    .br-meal-template-apply,
    .br-meal-template-apply .form-select,
    .br-meal-template-apply .btn {
        width: 100%;
    }
}

/* ==========================================================================
   Step 47A - Restore My Recipes card action-menu visuals
   Step 47 was based on an older site.css and dropped the Step 46H rules.
   ========================================================================== */
.br-library-card {
    position: relative;
}

.br-library-card-photo {
    position: relative;
    display: block;
    overflow: hidden;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: var(--br-green-050);
}

.br-library-card-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.br-library-card-menu {
    position: absolute;
    top: 9px;
    left: 9px;
    z-index: 6;
    margin: 0;
}

.br-library-card-menu-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: var(--br-green-950);
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(11, 37, 27, 0.10);
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(10, 19, 16, 0.12);
    backdrop-filter: blur(4px);
}

.br-library-card-menu-button:hover,
.br-library-card-menu-button:focus-visible,
.br-library-card-menu-button[aria-expanded="true"] {
    color: var(--br-green-950);
    background: #fff;
}

.br-library-card-menu .dropdown-menu {
    min-width: 220px;
    margin-top: 5px;
}

.br-dropdown-item-danger {
    color: var(--br-danger-700, #b42318);
}

.br-dropdown-item-danger:hover,
.br-dropdown-item-danger:focus {
    color: #fff;
    background: #d92d20;
}

.br-library-footer {
    justify-content: flex-start;
}


/* ========================================================================== 
   Step 54 - Restore responsive header/mobile navigation behavior
   ========================================================================== */
.br-mobile-account-slot,
.br-mobile-guest-actions,
.br-mobile-header-search {
    display: none;
}

.br-desktop-account-slot {
    display: flex;
    align-items: center;
}

.br-account-menu-compact {
    display: flex;
    align-items: center;
}

.br-account-button-compact {
    width: 42px;
    min-width: 42px;
    height: 40px;
    min-height: 40px;
    padding: 0;
    justify-content: center;
    background: #fff;
    border: 1px solid var(--br-border);
    border-radius: 10px;
}

.br-account-button-compact:hover,
.br-account-button-compact:focus {
    background: var(--br-green-050);
}

.br-account-button-compact::after {
    display: none;
}

.br-account-button-compact .br-account-avatar {
    width: 30px;
    height: 30px;
}

.br-account-avatar {
    position: relative;
    overflow: hidden;
}

.br-account-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: inherit;
}

.br-account-avatar img:not([hidden]) + .br-account-avatar-fallback,
.br-account-avatar img[src] ~ .br-account-avatar-fallback {
    display: none;
}

@media (max-width: 1199.98px) {
    .br-navbar {
        padding-top: max(6px, env(safe-area-inset-top));
    }

    .br-navbar-inner {
        flex-wrap: wrap;
        gap: 10px;
        padding-top: 5px;
        padding-bottom: 9px;
    }

    .br-brand {
        order: 1 !important;
        min-width: 0;
        max-width: calc(100% - 151px);
        margin-right: auto;
    }

    .br-mobile-account-slot {
        display: flex;
        order: 2 !important;
        margin-left: auto;
        position: relative;
    }

    .br-mobile-guest-actions {
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 5px;
        order: 2 !important;
        margin-left: auto;
        white-space: nowrap;
    }

    .br-mobile-sign-in {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 34px;
        padding: 5px 7px;
        color: var(--br-green-950);
        border-radius: 8px;
        font-size: 0.72rem;
        font-weight: 800;
        line-height: 1;
    }

    .br-mobile-sign-in:hover,
    .br-mobile-sign-in:focus-visible {
        color: var(--br-green-950);
        background: var(--br-green-050);
    }

    .br-mobile-sign-up {
        min-height: 34px;
        padding: 5px 10px;
        border-radius: 8px;
        font-size: 0.72rem;
        line-height: 1;
    }

    .br-nav-toggle {
        order: 3 !important;
        flex: 0 0 42px;
    }

    .br-mobile-header-search {
        display: flex;
        order: 4 !important;
        flex: 0 0 100%;
        width: 100%;
        max-width: none;
        min-width: 0;
        height: 40px;
        margin: 9px 0 0;
    }

    #beastRecipesNavigation .br-desktop-header-search,
    .br-desktop-account-slot {
        display: none !important;
    }

    #beastRecipesNavigation {
        order: 5 !important;
        flex-basis: 100%;
        width: 100%;
        min-width: 0;
        margin-top: 8px;
        padding: 0 0 8px;
    }

    #beastRecipesNavigation.show,
    #beastRecipesNavigation.collapsing {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    #beastRecipesNavigation .br-primary-nav {
        order: 1;
        width: 100%;
        margin: 0;
        align-items: stretch;
    }

    #beastRecipesNavigation .br-nav-actions {
        order: 2;
        width: 100%;
        align-items: stretch;
        flex-direction: column;
        margin: 8px 0 0;
    }

    .br-nav-create {
        width: 100%;
    }

    .br-mobile-account-slot .br-account-dropdown {
        position: fixed !important;
        top: 68px !important;
        right: 10px !important;
        left: auto !important;
        width: 280px !important;
        min-width: 280px !important;
        max-width: calc(100vw - 20px);
        max-height: calc(100vh - 82px);
        margin: 0 !important;
        overflow-y: auto;
        transform: none !important;
        z-index: 1060;
    }
}

@media (max-width: 575.98px) {
    .br-navbar {
        padding-top: max(7px, env(safe-area-inset-top));
    }

    .br-navbar-inner {
        padding-top: 5px;
        padding-bottom: 8px;
    }

    .br-brand {
        max-width: calc(100% - 145px);
    }

    .br-mobile-guest-actions {
        gap: 4px;
    }

    .br-mobile-sign-in {
        padding-inline: 5px;
        font-size: 0.69rem;
    }

    .br-mobile-sign-up {
        padding-inline: 8px;
        font-size: 0.69rem;
    }

    .br-mobile-account-slot .br-account-dropdown {
        right: 8px !important;
        width: min(280px, calc(100vw - 16px)) !important;
        min-width: 0 !important;
    }
}


@media (max-width: 359.98px) {
    .br-navbar-inner {
        gap: 6px;
    }

    .br-brand {
        gap: 5px;
    }

    .br-brand-mark {
        width: 34px;
        height: 39px;
    }

    .br-brand-name {
        font-size: 0.92rem;
    }

    .br-brand-tagline {
        font-size: 0.52rem;
    }

    .br-mobile-sign-in {
        padding-inline: 4px;
        font-size: 0.64rem;
    }

    .br-mobile-sign-up {
        min-height: 32px;
        padding-inline: 7px;
        font-size: 0.64rem;
    }

    .br-nav-toggle {
        width: 38px;
        flex-basis: 38px;
    }
}

/* ========================================================================== 
   Notification center header button
   ========================================================================== */
.br-notification-button {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 42px;
    width: 42px;
    height: 40px;
    color: var(--br-green-900);
    background: #fff;
    border: 1px solid var(--br-border);
    border-radius: 10px;
    font-size: 1rem;
    transition:
        background-color 0.15s ease,
        border-color 0.15s ease,
        transform 0.15s ease;
}

.br-notification-button:hover,
.br-notification-button:focus-visible {
    color: var(--br-green-950);
    background: var(--br-green-050);
    border-color: var(--br-border-strong);
}

.br-notification-button.has-unread {
    color: var(--br-green-950);
}

.br-notification-badge {
    position: absolute;
    top: -6px;
    right: -7px;
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    color: #fff;
    background: var(--br-orange);
    border: 2px solid #fff;
    border-radius: 999px;
    font-size: 0.62rem;
    font-weight: 900;
    line-height: 1;
}

.br-desktop-account-slot,
.br-mobile-account-slot {
    gap: 7px;
}


/* ==========================================================================
   Accessibility hardening
   ========================================================================== */

.br-skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 2000;
    padding: 10px 14px;
    color: #fff;
    background: #0f4a3a;
    border: 2px solid #fff;
    border-radius: 9px;
    box-shadow: 0 6px 18px rgba(15, 42, 33, 0.24);
    font-size: 0.86rem;
    font-weight: 800;
    text-decoration: none;
    transform: translateY(calc(-100% - 20px));
    transition: transform 120ms ease;
}

.br-skip-link:focus,
.br-skip-link:focus-visible {
    color: #fff;
    transform: translateY(0);
}

/*
 * Keyboard focus must remain visible even on components that intentionally
 * remove the browser's default outline for mouse/touch presentation.
 */
:where(
    a[href],
    button,
    input:not([type="hidden"]),
    select,
    textarea,
    summary,
    [role="button"],
    [tabindex]:not([tabindex="-1"])
):focus-visible {
    outline: 3px solid #0f4a3a !important;
    outline-offset: 3px !important;
}

/*
 * Header search inputs live inside an overflow-hidden shell, so an outline
 * on the input itself can be clipped. Give the entire control a focus ring.
 */
.br-header-search:focus-within {
    border-color: #0f4a3a;
    box-shadow:
        0 0 0 2px #fff,
        0 0 0 5px rgba(15, 74, 58, 0.42);
}

.br-rd-rating-star:focus-visible {
    border-radius: 6px;
    background: #fff7e8;
    transform: translateY(-1px);
}

@media (prefers-reduced-motion: reduce) {
    .br-skip-link {
        transition: none;
    }
}

/* Sharing dashboard */
.br-sharing-dashboard-hero{margin-bottom:1rem}.br-sharing-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1rem}.br-sharing-overview-card{display:flex;align-items:center;gap:1rem;padding:1.15rem 1.2rem;background:#fff;border:1px solid rgba(15,73,57,.12);border-radius:16px;box-shadow:0 8px 22px rgba(30,46,39,.05);color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.br-sharing-overview-card:hover{color:inherit;border-color:rgba(15,73,57,.34);transform:translateY(-1px);box-shadow:0 12px 28px rgba(30,46,39,.08)}.br-sharing-overview-icon{flex:0 0 auto;width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:#edf4ea;color:#0f4939;font-size:1.05rem}.br-sharing-overview-copy{display:flex;min-width:0;flex-direction:column}.br-sharing-overview-copy>strong{font-size:1.45rem;line-height:1;color:#0b3f32}.br-sharing-overview-copy>span{font-weight:800;margin-top:.22rem}.br-sharing-overview-copy>small{margin-top:.12rem;color:#6b746f}.br-sharing-dashboard-summary{display:flex;align-items:center;justify-content:center;gap:.45rem;padding:.3rem 0 .1rem;color:#68736d;font-size:.9rem}.br-sharing-dashboard-summary strong{color:#0f4939}.br-sharing-dashboard-dot{width:4px;height:4px;border-radius:50%;background:#a8b1ac;margin:0 .25rem}.br-sharing-section-card{scroll-margin-top:6rem}.br-sharing-section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:1rem;border-bottom:1px solid rgba(15,73,57,.09)}.br-sharing-section-title{display:flex;align-items:center;gap:.8rem}.br-sharing-section-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf4ea;color:#0f4939}.br-sharing-section-title h2{margin:0;font-size:1.15rem}.br-sharing-section-title p{margin:.12rem 0 0;color:#6b746f}.br-sharing-section-empty{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem .1rem .1rem;color:#6b746f}.br-sharing-section-empty a{font-weight:800;color:#0f4939;text-decoration:none}.br-sharing-resource-stack{display:grid;gap:.9rem;padding-top:1rem}.br-sharing-resource-card{border:1px solid rgba(15,73,57,.11);border-radius:14px;overflow:hidden;background:#fbfcf9}.br-sharing-resource-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.05rem;background:#fff}.br-sharing-resource-head h3{margin:.18rem 0 .15rem;font-size:1rem}.br-sharing-resource-eyebrow{display:block;color:#0f4939;font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.br-sharing-resource-meta{color:#6b746f;font-size:.84rem}.br-sharing-week-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .48rem;background:#f0f2ed;color:#637069;font-size:.7rem;font-weight:800}.br-sharing-recipient-list{border-top:1px solid rgba(15,73,57,.09)}.br-sharing-recipient-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1.05rem;border-bottom:1px solid rgba(15,73,57,.08)}.br-sharing-recipient-row:last-child{border-bottom:0}.br-sharing-recipient-person{display:flex;align-items:center;min-width:0;gap:.7rem}.br-sharing-recipient-person>div{display:flex;min-width:0;flex-direction:column}.br-sharing-recipient-person>div>strong{line-height:1.15}.br-sharing-recipient-person>div>span{margin-top:.15rem;color:#6b746f;font-size:.8rem}.br-sharing-recipient-avatar{flex:0 0 auto;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#edf4ea;color:#0f4939;font-size:.82rem;font-weight:900}.br-sharing-recipient-actions{display:flex;align-items:center;justify-content:flex-end;gap:.55rem}.br-sharing-permission-form{display:flex;align-items:center;gap:.55rem}.br-sharing-permission-form .form-select{width:132px;min-width:132px}.br-btn-compact{padding:.52rem .78rem;white-space:nowrap}.br-sharing-dashboard-empty h2{margin:.15rem 0 .35rem}.br-sharing-dashboard-empty p{max-width:620px;margin-inline:auto}
@media(max-width:900px){.br-sharing-overview-grid{grid-template-columns:1fr}.br-sharing-resource-head{align-items:flex-start}.br-sharing-recipient-row-editable{align-items:flex-start;flex-direction:column}.br-sharing-recipient-actions{width:100%;justify-content:space-between}.br-sharing-permission-form{flex:1}.br-sharing-permission-form .form-select{flex:1;width:auto}.br-sharing-section-empty{align-items:flex-start;flex-direction:column}}
@media(max-width:620px){.br-sharing-resource-head{flex-direction:column}.br-sharing-resource-head>.br-btn{width:100%}.br-sharing-recipient-row{align-items:flex-start;flex-direction:column}.br-sharing-recipient-row>form,.br-sharing-recipient-actions,.br-sharing-recipient-actions>form,.br-sharing-permission-form{width:100%}.br-sharing-recipient-row .br-btn{width:100%}.br-sharing-permission-form{flex-direction:column;align-items:stretch}.br-sharing-permission-form .form-select{width:100%}.br-sharing-dashboard-summary{flex-wrap:wrap}}

/* Shared with Me action buttons */
.br-shared-card .br-shared-card-actions{
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-end;
    gap:.55rem;
    flex-wrap:nowrap;
}
.br-shared-card .br-shared-card-actions>form{
    display:flex;
    margin:0;
}
.br-shared-card .br-shared-card-actions .br-btn{
    white-space:nowrap;
}
@media(max-width:620px){
    .br-shared-card .br-shared-card-actions{
        grid-column:1 / -1;
        width:100%;
        justify-content:stretch;
    }
    .br-shared-card .br-shared-card-actions>a,
    .br-shared-card .br-shared-card-actions>form{
        flex:1 1 0;
    }
    .br-shared-card .br-shared-card-actions>form .br-btn,
    .br-shared-card .br-shared-card-actions>a{
        width:100%;
    }
}
