﻿html {
    scroll-behavior: smooth;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

body {
    font-family: var(--font-sans);
    color: var(--color-text);
    line-height: 1.6;
    overflow-x: clip;
}

:root {
    --press-ease: cubic-bezier(0.2, 0.82, 0.18, 1);
    --press-shadow-green: 0 0.85rem 1.55rem rgba(14, 79, 49, 0.18);
    --press-shadow-soft: 0 0.7rem 1.35rem rgba(32, 47, 36, 0.12);
}

button,
a[href],
summary,
select,
input[type="checkbox"],
input[type="radio"] {
    cursor: pointer;
}

a {
    color: inherit;
    text-decoration: none;
}

img {
    max-width: 100%;
    display: block;
}

.app-shell {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.shell-main {
    flex: 1;
}

.shell-container {
    width: min(calc(100% - 2rem), var(--container-max));
    margin: 0 auto;
}

.announcement-bar {
    border-bottom: 1px solid var(--color-border);
    background: #edf2e8;
    color: var(--color-primary-ink);
    font-size: 0.94rem;
}

.announcement-bar__inner {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 0;
}

.announcement-bar a {
    font-weight: 600;
}

.main-header {
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(18px);
    background: rgba(247, 245, 239, 0.88);
    border-bottom: 1px solid rgba(82, 106, 80, 0.1);
}

.header-shell {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 1.25rem 0 1rem;
}

.brand-lockup {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
}

.brand-logo {
    width: auto;
    height: 2.9rem;
    object-fit: contain;
}

.brand-lockup strong,
.brand-lockup small {
    display: block;
}

.brand-lockup strong {
    font-size: 1rem;
    letter-spacing: 0.18em;
}

.brand-lockup small {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
}

.header-nav,
.utility-nav,
.footer-links,
.mobile-link-list {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.header-nav a,
.utility-nav a,
.mobile-link-list a {
    padding: 0.6rem 0.85rem;
    border-radius: var(--radius-pill);
    color: var(--color-text-muted);
    transform: translateY(0);
    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        transform 180ms var(--press-ease);
}

.header-nav a:hover,
.utility-nav a:hover,
.mobile-link-list a:hover {
    transform: translateY(-1px);
}

.header-nav a:active,
.utility-nav a:active,
.mobile-link-list a:active {
    transform: translateY(1px) scale(0.98);
}

.header-nav a.active,
.utility-nav a.active,
.mobile-link-list a.active,
.header-nav a:hover,
.utility-nav a:hover,
.mobile-link-list a:hover,
.footer-links a:hover,
.card-link:hover,
.announcement-bar a:hover {
    color: var(--color-primary-deep);
}

.header-nav a.active,
.utility-nav a.active,
.mobile-link-list a.active {
    background: rgba(156, 175, 136, 0.18);
    color: var(--color-primary-ink);
}

.header-actions,
.hero-actions,
.mobile-actions {
    display: flex;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.header-utility {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0 0 1rem;
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    min-height: 2.95rem;
    padding: 0.75rem 1.2rem;
    border-radius: var(--radius-pill);
    border: 1px solid transparent;
    font-weight: 600;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease,
        opacity 180ms ease;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
}

.button:hover:not(:disabled),
.button:focus-visible {
    transform: translateY(-2px) scale(1.015);
    box-shadow: var(--press-shadow-soft);
}

.button:active:not(:disabled) {
    transform: translateY(1px) scale(0.975);
    box-shadow: 0 0.28rem 0.75rem rgba(32, 47, 36, 0.1);
    transition-duration: 90ms;
}

.button:disabled {
    cursor: not-allowed;
    transform: none;
}

.button--primary {
    background: var(--color-primary-deep);
    color: white;
    box-shadow: 0 10px 24px rgba(48, 64, 50, 0.16);
}

.button--primary:hover {
    background: #234135;
    color: #fffdf9;
    box-shadow: var(--press-shadow-green);
}

.button--secondary {
    background: rgba(255, 255, 255, 0.72);
    border-color: var(--color-border-strong);
    color: var(--color-primary-deep);
}

.button--secondary:hover {
    background: rgba(236, 242, 230, 0.96);
    color: #1f352a;
    box-shadow: var(--press-shadow-soft);
}

.button--location-error {
    background: #b42318;
    border-color: #b42318;
    color: #fffaf8;
    box-shadow: 0 10px 24px rgba(125, 39, 31, 0.16);
}

.button--location-error:hover {
    background: #8f1f16;
    border-color: #8f1f16;
    color: #fffaf8;
}

.page-section {
    padding: var(--space-7) 0;
}

.page-section--soft {
    background: rgba(255, 255, 255, 0.38);
}

.page-section--accent {
    background: var(--color-surface-accent);
}

.hero-section {
    padding-top: 3.5rem;
}

.hero-grid,
.two-column-section,
.split-callout,
.footer-grid {
    display: grid;
    gap: 2rem;
}

.hero-grid {
    grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
    align-items: stretch;
}

.hero-copy,
.hero-panel-card,
.card,
.placeholder-state,
.error-shell,
.mobile-nav__panel {
    border: 1px solid var(--color-border);
    background: rgba(255, 253, 248, 0.92);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
}

.hero-copy {
    padding: clamp(2rem, 3vw, 3.4rem);
}

.eyebrow,
.panel-kicker,
.card-badge,
.mobile-link-group__title {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    margin-bottom: 0.85rem;
    color: var(--color-primary-deep);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.hero-copy h1,
.section-heading h2,
.placeholder-state h1,
.error-shell h1,
.split-callout h2,
.hero-panel-card h2,
.main-footer h2 {
    margin: 0;
    font-family: var(--font-display);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.03em;
    color: #203026;
}

.hero-copy h1 {
    font-size: clamp(2.9rem, 5vw, 5.2rem);
    max-width: 11ch;
}

.hero-text,
.section-heading p,
.placeholder-state p,
.error-shell p,
.hero-panel-card p,
.card p,
.main-footer p {
    color: var(--color-text-muted);
    margin-bottom: 0;
}

.hero-text {
    max-width: 60ch;
    margin: 1.35rem 0 0;
    font-size: 1.05rem;
}

.hero-metrics,
.hero-aside-grid {
    display: grid;
    gap: 1rem;
    margin-top: 1.6rem;
}

.hero-panel {
    display: grid;
    gap: 1rem;
}

.hero-panel-card {
    padding: 2rem;
    background: linear-gradient(180deg, rgba(238, 243, 235, 0.95), rgba(255, 253, 248, 0.95));
}

.hero-panel-card h2 {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.section-heading {
    max-width: 46rem;
    margin-bottom: 2rem;
}

.section-heading h2,
.placeholder-state h1,
.error-shell h1,
.split-callout h2,
.main-footer h2 {
    font-size: clamp(2rem, 3vw, 3rem);
    margin-bottom: 0.9rem;
}

.card-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
}

.card-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card-grid-four {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.card {
    padding: 1.55rem;
}

.card h3 {
    margin: 0 0 0.7rem;
    font-size: 1.1rem;
}

.card-link {
    display: inline-flex;
    margin-top: 1rem;
    font-weight: 600;
    color: var(--color-primary-deep);
}

.stat-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 8rem;
    background: var(--color-primary-deep);
    color: white;
}

.stat-card strong {
    font-size: 2.5rem;
    font-family: var(--font-display);
    font-weight: 600;
}

.info-card {
    background: rgba(255, 255, 255, 0.7);
}

.two-column-section {
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
}

.split-callout {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: start;
}

.placeholder-state,
.error-shell {
    padding: 2rem;
    margin-bottom: 1.5rem;
}

.request-id code {
    color: var(--color-primary-ink);
}

.main-footer {
    padding: var(--space-7) 0 var(--space-6);
    border-top: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.44);
}

.footer-grid {
    grid-template-columns: minmax(0, 1.5fr) repeat(2, minmax(0, 0.75fr));
    align-items: start;
}

.main-footer h3 {
    margin-top: 0;
    margin-bottom: 0.9rem;
    color: var(--color-primary-ink);
}

.footer-links {
    flex-direction: column;
    gap: 0.6rem;
    color: var(--color-text-muted);
}

.mobile-nav {
    display: none;
    margin-bottom: 1rem;
}

.mobile-nav summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.7);
    cursor: pointer;
}

.mobile-nav__toggle {
    width: 100%;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 1.1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.7);
    color: var(--color-text);
    cursor: pointer;
}

.mobile-nav summary::-webkit-details-marker {
    display: none;
}

.mobile-nav__icon {
    width: 1.1rem;
    height: 1.1rem;
    border-top: 2px solid var(--color-primary-deep);
    border-bottom: 2px solid var(--color-primary-deep);
    position: relative;
}

.mobile-nav__icon::before {
    content: "";
    position: absolute;
    inset: 0;
    top: 0.38rem;
    border-top: 2px solid var(--color-primary-deep);
}

.mobile-nav__panel {
    padding: 1rem;
    margin-top: 0.75rem;
}

.mobile-link-list {
    flex-direction: column;
}

.mobile-link-group {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--color-border);
}

@media (max-width: 1080px) {
    .header-nav--desktop,
    .header-actions--desktop,
    .header-utility {
        display: none;
    }

    .mobile-nav {
        display: block;
    }

    .hero-grid,
    .two-column-section,
    .split-callout,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .card-grid-four {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    :root {
        --oh-mobile-gutter: clamp(0.75rem, 3.4vw, 1.1rem);
    }

    .page-section {
        padding: 3.5rem var(--oh-mobile-gutter);
    }

    .announcement-bar__inner {
        flex-direction: column;
        align-items: flex-start;
    }

    .header-shell {
        padding: 1rem 0;
    }

    .hero-copy,
    .hero-panel-card,
    .card,
    .placeholder-state,
    .error-shell {
        padding: 1.4rem;
    }

    .hero-copy h1 {
        font-size: 2.6rem;
    }

    .card-grid,
    .card-grid-three,
    .card-grid-four {
        grid-template-columns: 1fr;
    }

    .shell-container {
        width: 100%;
        max-width: 100%;
        padding-inline: 0;
    }
}

.workspace-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    margin-bottom: 1.5rem;
}

.workspace-nav a {
    padding: 0.7rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.6);
    color: var(--color-text-muted);
}

.workspace-nav a.active {
    background: rgba(156, 175, 136, 0.18);
    color: var(--color-primary-deep);
    border-color: var(--color-border-strong);
}

.admin-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 1.5rem;
    align-items: stretch;
}

.card-grid > *,
.admin-grid > *,
.attendance-home-grid > *,
.attendance-check-shell > * {
    height: 100%;
}

.admin-grid-single {
    grid-template-columns: 1fr;
}

.admin-panel {
    border: 1px solid var(--color-border);
    background: rgba(255, 253, 248, 0.92);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-sm);
    padding: 1.5rem;
}

.panel-heading {
    margin-bottom: 1.25rem;
}

.panel-heading h3 {
    margin: 0 0 0.45rem;
    font-size: 1.25rem;
    color: var(--color-primary-ink);
}

.panel-heading p,
.table-meta {
    color: var(--color-text-muted);
}

.panel-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 1.25rem;
}

.status-banner {
    margin-bottom: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.2);
    border-radius: var(--radius-md);
    background: rgba(238, 243, 235, 0.8);
    color: var(--color-primary-ink);
}

#components-reconnect-modal {
    position: fixed;
    right: 1rem;
    bottom: 1rem;
    z-index: 9999;
    max-width: min(20rem, calc(100vw - 2rem));
    padding: 0.72rem 0.9rem;
    border: 1px solid rgba(27, 116, 74, 0.24);
    border-radius: 1rem;
    background: rgba(255, 245, 223, 0.78);
    color: var(--color-primary-ink);
    box-shadow: 0 1rem 2.6rem rgba(27, 41, 30, 0.18);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    font-family: var(--font-sans);
    font-size: 0;
    line-height: 1.25;
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.8rem) scale(0.96);
    transition:
        opacity 220ms ease,
        transform 220ms ease;
}

#components-reconnect-modal.components-reconnect-show,
#components-reconnect-modal.components-reconnect-failed,
#components-reconnect-modal.components-reconnect-rejected {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

#components-reconnect-modal::before {
    content: "Reconnecting...";
    display: block;
    font-family: var(--font-graphic);
    font-size: 1rem;
    color: var(--color-primary);
}

#components-reconnect-modal[data-state="waking"]::before {
    content: "Waking the page...";
}

#components-reconnect-modal.components-reconnect-failed::before,
#components-reconnect-modal.components-reconnect-rejected::before {
    content: "Refreshing connection...";
}

#components-reconnect-modal::after {
    content: "Your page will recover automatically.";
    display: block;
    margin-top: 0.18rem;
    font-size: 0.78rem;
    color: rgba(27, 41, 30, 0.72);
}

#components-reconnect-modal button,
#components-reconnect-modal a {
    display: none !important;
}

@media (max-width: 760px) {
    #components-reconnect-modal {
        right: 0.8rem;
        bottom: calc(5.6rem + env(safe-area-inset-bottom, 0px));
        max-width: calc(100vw - 1.6rem);
    }
}

.settings-list {
    display: grid;
    gap: 1rem;
}

.settings-list__item {
    display: grid;
    gap: 1rem;
    padding: 1rem;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: var(--radius-md);
    background: rgba(247, 249, 243, 0.72);
}

.settings-list__item > div:first-child strong {
    color: var(--color-primary-ink);
}

.checkout-profile-card {
    display: grid;
    gap: 0.9rem;
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: var(--radius-md);
    background: rgba(247, 249, 243, 0.92);
}

.checkout-profile-row {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: flex-start;
}

.checkout-profile-row span {
    color: var(--color-text-muted);
}

.checkout-profile-row strong {
    color: var(--color-primary-ink);
    text-align: right;
}

.checkout-profile-row--stacked {
    flex-direction: column;
    gap: 0.35rem;
}

.checkout-profile-row--stacked strong {
    text-align: left;
}

.checkout-location-builder {
    display: grid;
    gap: 1.2rem;
    margin: 1.5rem 0;
}

.checkout-location-saved,
.checkout-location-detect,
.checkout-login-prompt,
.checkout-driver-contact-card,
.checkout-location-preview,
.checkout-location-map-panel {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: var(--radius-md);
    background: rgba(247, 249, 243, 0.9);
}

.checkout-location-saved,
.checkout-location-detect,
.checkout-login-prompt,
.checkout-location-preview {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.checkout-location-saved p,
.checkout-location-detect p,
.checkout-login-prompt p,
.checkout-driver-contact-card p,
.checkout-location-preview p,
.checkout-location-map-panel__meta span {
    margin: 0.25rem 0 0;
    color: var(--color-text-muted);
}

.checkout-location-saved small,
.checkout-location-preview small {
    color: var(--color-text-muted);
}

.checkout-location-modes .location-chip {
    flex: 1 1 15rem;
    min-width: 15rem;
}

.checkout-location-map-panel {
    display: grid;
    gap: 0.85rem;
}

.checkout-location-map-panel__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    align-items: start;
}

.checkout-location-map {
    min-height: 24rem;
}

.checkout-location-fields {
    margin-top: 0.15rem;
}

.checkout-driver-contact-card strong,
.checkout-location-preview strong,
.checkout-location-saved strong,
.checkout-location-detect strong,
.checkout-login-prompt strong {
    color: var(--color-primary-ink);
}

.form-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

.form-grid-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.form-grid-span-2 {
    grid-column: 1 / -1;
}

.checkout-phone-row {
    display: grid;
    grid-template-columns: minmax(12rem, 0.95fr) minmax(0, 1.35fr);
    gap: 0.75rem;
    align-items: start;
}

.checkout-phone-country-select {
    min-width: 0;
}

.field-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
    margin-bottom: 1rem;
}

.field-group {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.field-group label {
    font-weight: 600;
    color: var(--color-primary-ink);
}

.checkout-login-prompt {
    margin-top: 1rem;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.checkout-login-prompt > div {
    max-width: 32rem;
}

.field-hint {
    color: var(--color-text-muted);
    font-size: 0.84rem;
    line-height: 1.35;
}

.validation-summary {
    margin: 0 0 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(191, 95, 95, 0.22);
    border-radius: 1rem;
    background: rgba(255, 242, 242, 0.92);
    color: #934545;
}

.validation-summary:empty {
    display: none;
}

.validation-summary ul {
    margin: 0;
    padding-left: 1.1rem;
}

.text-input,
.text-area {
    width: 100%;
    padding: 0.8rem 0.95rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.8);
    color: var(--color-text);
    font: inherit;
}

.text-area {
    min-height: 8rem;
    resize: vertical;
}

.text-input:focus,
.text-area:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(156, 175, 136, 0.15);
}

.checkbox-field {
    justify-content: end;
}

.checkbox-field label {
    display: inline-flex;
    align-items: center;
    gap: 0.65rem;
}

.field-validation-error {
    color: #a24f46;
    font-size: 0.9rem;
}

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

.table-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.45rem;
    align-items: center;
    flex-wrap: wrap;
}

.admin-data-table {
    table-layout: fixed;
}

.data-table th,
.data-table td {
    padding: 0.95rem 0.75rem;
    border-bottom: 1px solid var(--color-border);
    text-align: left;
    vertical-align: top;
}

.data-table th {
    font-size: 0.82rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.admin-panel,
.admin-grid > *,
.admin-data-table th,
.admin-data-table td,
.admin-data-table .table-subtext,
.admin-data-table strong,
.loyalty-member-cell,
.checkbox-option span {
    min-width: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.data-table tbody tr:hover {
    background: rgba(238, 243, 235, 0.4);
}

.status-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.4rem 0.75rem;
    border-radius: var(--radius-pill);
    font-size: 0.82rem;
    font-weight: 700;
}

.status-pill--active {
    background: rgba(156, 175, 136, 0.22);
    color: var(--color-primary-deep);
}

.status-pill--muted {
    background: rgba(96, 112, 99, 0.12);
    color: var(--color-text-muted);
}

.status-pill--accent {
    background: rgba(82, 106, 80, 0.14);
    color: var(--color-primary-ink);
}

.status-pill--success {
    background: rgba(72, 136, 94, 0.16);
    color: #2b6a41;
}

.table-pill-stack {
    display: flex;
    gap: 0.45rem;
    flex-wrap: wrap;
}

.button--compact {
    min-height: 2.4rem;
    padding: 0.55rem 0.9rem;
}

.location-selector {
    display: flex;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.location-chip {
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    min-width: 14rem;
    padding: 1rem;
    border: 1px solid var(--color-border);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.65);
    color: var(--color-text);
    text-align: left;
    cursor: pointer;
}

.location-chip strong {
    color: var(--color-primary-ink);
}

.location-chip span {
    color: var(--color-text-muted);
}

.location-chip--active {
    border-color: var(--color-border-strong);
    background: rgba(238, 243, 235, 0.85);
}

@media (max-width: 1080px) {
    .admin-grid,
    .form-grid-two {
        grid-template-columns: 1fr;
    }
}

.cart-link {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.7rem 1rem;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.74);
    color: var(--color-primary-deep);
    font-weight: 600;
}

.cart-count {
    display: inline-grid;
    place-items: center;
    min-width: 1.65rem;
    height: 1.65rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: var(--color-primary-deep);
    color: white;
    font-size: 0.8rem;
}

.storefront-hero,
.product-detail-layout,
.cart-layout,
.checkout-layout {
    display: grid;
    gap: 1.5rem;
}

.storefront-hero {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    margin-bottom: 1.5rem;
    align-items: end;
}

.storefront-hero h1,
.product-detail-card h1,
.checkout-success-card h1 {
    margin: 0 0 0.85rem;
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 4vw, 4rem);
    line-height: 1.06;
    letter-spacing: -0.03em;
    color: var(--color-primary-ink);
}

.storefront-hero p,
.storefront-search label,
.product-detail-subtitle,
.product-detail-copy,
.product-purchase-card p,
.summary-line-item span {
    color: var(--color-text-muted);
}

.storefront-search {
    padding: 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.75);
    box-shadow: var(--shadow-sm);
}

.storefront-search__row {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.shop-search-input-shell {
    position: relative;
    flex: 1 1 auto;
    min-width: 0;
}

.shop-search-input-shell .text-input {
    width: 100%;
}

.shop-search-animated-placeholder {
    position: absolute;
    inset: 0 auto 0 1rem;
    max-width: calc(100% - 2rem);
    display: flex;
    align-items: center;
    gap: 0.26rem;
    overflow: hidden;
    color: rgba(82, 106, 80, 0.48);
    font: inherit;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;
    transition:
        opacity 160ms ease,
        transform 160ms ease;
}

.shop-search-animated-placeholder__prefix {
    flex: 0 0 auto;
    white-space: nowrap;
}

.shop-search-animated-placeholder__words {
    display: inline-block;
    flex: 0 1 auto;
    min-width: 0;
    height: 1em;
    overflow: hidden;
    color: var(--color-primary);
    line-height: 1;
    vertical-align: top;
}

.shop-search-animated-placeholder__word-track {
    display: flex;
    flex-direction: column;
    animation: shopSearchWordTrack 12.4s cubic-bezier(0.22, 0.82, 0.21, 1) infinite;
    will-change: transform;
}

.shop-search-animated-placeholder__word-track > span {
    display: block;
    height: 1em;
    line-height: 1;
    white-space: nowrap;
}

.shop-search-input-shell:focus-within .shop-search-animated-placeholder,
.shop-search-input-shell--has-value .shop-search-animated-placeholder {
    opacity: 0;
    transform: translateY(-0.2rem);
}

@keyframes shopSearchWordTrack {
    0%,
    10% {
        transform: translateY(0);
    }

    15%,
    24% {
        transform: translateY(-1em);
    }

    29%,
    38% {
        transform: translateY(-2em);
    }

    43%,
    52% {
        transform: translateY(-3em);
    }

    57%,
    66% {
        transform: translateY(-4em);
    }

    71%,
    80% {
        transform: translateY(-5em);
    }

    85%,
    100% {
        transform: translateY(-6em);
    }
}

@media (prefers-reduced-motion: reduce) {
    .shop-search-animated-placeholder__word-track {
        animation: shopSearchWordTrack 12.4s cubic-bezier(0.22, 0.82, 0.21, 1) infinite;
    }

    .shop-search-animated-placeholder__word-track > span {
        opacity: 1;
    }
}

.storefront-filter-bar {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-bottom: 1.5rem;
}

.shop-mobile-filter-tools {
    display: flex;
    justify-content: flex-start;
    margin: 0 0 0.75rem;
}

.shop-mobile-favorites-filter {
    display: inline-flex;
    align-items: center;
    gap: 0.52rem;
    min-height: 2.75rem;
    padding: 0.58rem 0.86rem;
    border: 1px solid rgba(217, 62, 111, 0.3);
    border-radius: 999px;
    background: linear-gradient(135deg, rgba(255, 250, 238, 0.96), rgba(255, 226, 235, 0.86));
    color: #b83963;
    box-shadow: 0 0.55rem 1.2rem rgba(158, 57, 86, 0.12);
    font-weight: 900;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.shop-mobile-favorites-filter:hover {
    transform: translateY(-2px) scale(1.015);
    box-shadow: 0 0.75rem 1.5rem rgba(158, 57, 86, 0.16);
}

.shop-mobile-favorites-filter:active {
    transform: translateY(1px) scale(0.96);
    box-shadow: 0 0.25rem 0.65rem rgba(158, 57, 86, 0.12);
}

.shop-mobile-favorites-filter i {
    font-size: 1rem;
}

.shop-mobile-favorites-filter strong {
    display: inline-grid;
    min-width: 1.45rem;
    height: 1.45rem;
    place-items: center;
    padding: 0 0.38rem;
    border-radius: 999px;
    background: #d93e6f;
    color: #fff5df;
    font-size: 0.78rem;
    line-height: 1;
}

.shop-mobile-favorites-filter--active {
    border-color: rgba(217, 62, 111, 0.58);
    background: #ffd7e3;
    color: #9f244d;
    box-shadow: 0 0.28rem 0 #b83963;
}

.shop-mobile-favorites-filter--active strong {
    background: #9f244d;
}

.filter-chip,
.storefront-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.65rem 0.95rem;
    font-weight: 600;
}

.filter-chip {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.65);
    color: var(--color-primary-ink);
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease,
        color 180ms ease;
}

.filter-chip:hover {
    background: rgba(236, 242, 230, 0.96);
    color: #22392d;
    transform: translateY(-2px) scale(1.015);
    box-shadow: var(--press-shadow-soft);
}

.filter-chip:active {
    transform: translateY(1px) scale(0.96);
    box-shadow: none;
}

.storefront-chip {
    padding: 0.45rem 0.75rem;
    border: 1px solid rgba(82, 106, 80, 0.1);
    border-radius: 999px;
    background: rgba(244, 245, 239, 0.92);
    color: #4b5f4f;
    cursor: default;
    box-shadow: none;
}

.filter-chip--active,
.storefront-chip--accent {
    background: rgba(156, 175, 136, 0.18);
    border-color: var(--color-border-strong);
}

.filter-chip__label {
    min-width: 0;
}

.filter-chip__count {
    display: inline-grid;
    min-width: 1.45rem;
    height: 1.45rem;
    place-items: center;
    padding: 0 0.38rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.12);
    color: var(--color-primary-deep);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
}

.filter-chip--active .filter-chip__count {
    background: rgba(255, 255, 255, 0.72);
}

.storefront-chip--accent {
    color: #2f4938;
}

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

.shop-featured-carousel {
    --featured-slide-gap: 1rem;
    --featured-visible-slides: 3;
    --featured-slide-width: calc((100% - ((var(--featured-visible-slides) - 1) * var(--featured-slide-gap))) / var(--featured-visible-slides));
    position: relative;
    overflow: hidden;
}

.shop-featured-carousel__stage {
    position: relative;
}

.shop-featured-carousel__viewport {
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.1rem;
    scroll-behavior: auto;
    scroll-padding-inline: 0.1rem;
    scroll-snap-type: none;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
}

.shop-featured-carousel__viewport::-webkit-scrollbar {
    display: none;
}

.shop-featured-carousel__track {
    display: flex;
    gap: var(--featured-slide-gap);
    width: fit-content;
    min-width: 100%;
}

.shop-featured-carousel__slide {
    flex: 0 0 auto;
    width: var(--featured-slide-width);
    min-width: var(--featured-slide-width);
}

.shop-featured-carousel__slide > .storefront-card {
    height: 100%;
}

@media (prefers-reduced-motion: reduce) {
    .shop-featured-carousel__track {
        animation: none;
    }
}

.storefront-card,
.product-detail-card,
.product-purchase-card,
.cart-summary-card,
.checkout-success-card {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(255, 253, 248, 0.94);
    box-shadow: var(--shadow-sm);
}

.storefront-card {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 30rem;
    padding: 1.5rem;
}

.storefront-card__favorite {
    position: absolute;
    top: 1rem;
    right: 1rem;
    z-index: 2;
    display: inline-grid;
    width: 2.55rem;
    height: 2.55rem;
    place-items: center;
    border: 1px solid rgba(27, 116, 74, 0.2);
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.86);
    color: var(--color-primary-deep);
    box-shadow: 0 0.5rem 1.2rem rgba(32, 47, 36, 0.12);
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        background-color 180ms ease,
        color 180ms ease,
        border-color 180ms ease;
}

.storefront-card__favorite:hover {
    transform: translateY(-1px) scale(1.05);
    box-shadow: 0 0.7rem 1.45rem rgba(32, 47, 36, 0.16);
}

.storefront-card__favorite:active {
    transform: translateY(1px) scale(0.92);
}

.storefront-card__favorite--active {
    border-color: rgba(236, 116, 150, 0.45);
    background: #ffe4ec;
    color: #d93e6f;
}

.storefront-card__image-link {
    display: block;
    margin: -0.35rem -0.35rem 1rem;
    height: clamp(14rem, 22vw, 18rem);
    border-radius: calc(var(--radius-lg) - 0.35rem);
    overflow: hidden;
    background: rgba(156, 175, 136, 0.1);
}

.storefront-card__image-link--placeholder,
.product-detail-image--placeholder,
.table-product-thumb--placeholder {
    display: grid;
    place-items: center;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    background: linear-gradient(180deg, rgba(156, 175, 136, 0.18), rgba(82, 106, 80, 0.08));
}

.storefront-card__image-link--placeholder {
    height: clamp(14rem, 22vw, 18rem);
    padding: 1.1rem;
    text-align: center;
}

.storefront-card__placeholder-copy {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    max-width: 14rem;
}

.storefront-card__placeholder-copy strong {
    font-family: var(--font-display);
    font-size: 1.15rem;
    color: var(--color-primary-ink);
}

.storefront-card__placeholder-copy span {
    color: var(--color-text-muted);
    font-size: 0.95rem;
}

.storefront-card__image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.storefront-card__content {
    display: grid;
    align-content: start;
    gap: 0.9rem;
    flex: 1;
    min-width: 0;
}

.storefront-card h3 {
    margin: 0 0 0.65rem;
    font-size: 1.3rem;
    color: var(--color-primary-ink);
}

.storefront-card__meta,
.storefront-card__actions {
    display: flex;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.storefront-card p,
.storefront-card h3 a {
    overflow-wrap: break-word;
}

.storefront-card__footer {
    display: grid;
    gap: 0.85rem;
    margin-top: 1.5rem;
}

.storefront-card__footer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.storefront-card__footer-row--top {
    align-items: flex-end;
}

.storefront-card__footer-row--bottom {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
}

.storefront-card__price {
    display: grid;
    gap: 0.12rem;
}

.storefront-card__price strong {
    font-size: 1.55rem;
    line-height: 1;
    color: var(--color-primary-ink);
}

.storefront-card__price span {
    font-size: 0.88rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--color-text-muted);
}

.storefront-card__details-link {
    margin-left: auto;
    white-space: nowrap;
}

.storefront-quantity-picker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.22rem;
    border: 1px solid rgba(82, 106, 80, 0.18);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.86);
    box-shadow: 0 12px 26px rgba(27, 41, 30, 0.06);
}

.storefront-quantity-button {
    width: 2rem;
    height: 2rem;
    border: 0;
    border-radius: 50%;
    background: rgba(156, 175, 136, 0.16);
    color: var(--color-primary-ink);
    font-size: 1.1rem;
    font-weight: 700;
    cursor: pointer;
    transform: translateY(0) scale(1);
    transition: transform 0.18s var(--press-ease), background 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease;
}

.storefront-quantity-button:hover:not(:disabled) {
    background: rgba(156, 175, 136, 0.26);
    transform: translateY(-1px) scale(1.06);
    box-shadow: 0 0.45rem 1rem rgba(32, 47, 36, 0.1);
}

.storefront-quantity-button:active:not(:disabled) {
    transform: translateY(1px) scale(0.92);
    box-shadow: none;
}

.storefront-quantity-button:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

.storefront-quantity-value {
    min-width: 1.5rem;
    text-align: center;
    font-weight: 700;
    color: var(--color-primary-ink);
}

.storefront-card__add-button {
    width: 100%;
    flex: 1 1 10rem;
    justify-content: center;
    min-width: 0;
}

.storefront-back-link {
    display: inline-flex;
    margin-bottom: 1rem;
    color: var(--color-primary-deep);
    font-weight: 600;
}

.product-detail-layout,
.cart-layout,
.checkout-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
    align-items: start;
}

.product-detail-card,
.product-purchase-card,
.cart-summary-card,
.checkout-success-card {
    padding: 1.6rem;
}

.product-detail-image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--radius-md);
    margin-bottom: 1.2rem;
    background: rgba(156, 175, 136, 0.08);
}

.product-detail-summary {
    display: grid;
    gap: 0.5rem;
}

.product-detail-image--placeholder {
    min-height: 18rem;
    padding: 1.5rem;
    text-align: center;
    font-size: clamp(1.5rem, 2.5vw, 2.2rem);
}

.product-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(5.25rem, 1fr));
    gap: 0.75rem;
    margin-bottom: 1.1rem;
}

.product-gallery__thumb {
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: 0.95rem;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.88);
    cursor: pointer;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        border-color 180ms ease;
}

.product-gallery__thumb:hover {
    transform: translateY(-2px) scale(1.015);
    box-shadow: var(--press-shadow-soft);
}

.product-gallery__thumb:active {
    transform: translateY(1px) scale(0.96);
    box-shadow: none;
}

.product-gallery__thumb img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.product-gallery__thumb--active {
    border-color: var(--color-primary-deep);
    box-shadow: 0 0 0 2px rgba(82, 106, 80, 0.12);
}

.product-detail-price {
    margin: 0 0 1rem;
    font-size: 1.65rem;
    font-weight: 700;
    color: var(--color-primary-deep);
}

.product-detail-meta {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1.5rem;
}

.product-detail-meta strong,
.summary-row strong {
    color: var(--color-primary-ink);
}

.product-detail-meta span {
    display: block;
    color: var(--color-text-muted);
}

.quantity-row,
.cart-line__controls {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.quantity-button {
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.75);
    color: var(--color-primary-ink);
    font-size: 1.1rem;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        background-color 180ms ease,
        border-color 180ms ease;
}

.quantity-button:hover:not(:disabled) {
    transform: translateY(-1px) scale(1.05);
    background: rgba(236, 242, 230, 0.96);
    box-shadow: 0 0.45rem 1rem rgba(32, 47, 36, 0.1);
}

.quantity-button:active:not(:disabled) {
    transform: translateY(1px) scale(0.92);
    box-shadow: none;
}

.quantity-input {
    width: 5rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--color-border-strong);
    border-radius: 1rem;
    font: inherit;
}

.cart-line {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.1rem 0;
    border-bottom: 1px solid var(--color-border);
}

.cart-line__media {
    flex: 0 0 5.5rem;
    width: 5.5rem;
    height: 5.5rem;
    overflow: hidden;
    border-radius: 1rem;
    background: var(--color-surface-soft);
}

.cart-line__media img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
}

.cart-line__media-placeholder {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    color: var(--color-primary-ink);
    font-weight: 800;
}

.cart-line__details {
    min-width: 0;
    flex: 1 1 auto;
}

.cart-line:first-child {
    padding-top: 0;
}

.cart-line:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.cart-line h3 {
    margin: 0 0 0.4rem;
}

.cart-line__quantity {
    min-width: 1.5rem;
    text-align: center;
    font-weight: 700;
}

.summary-row,
.summary-line-item {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    padding: 0.85rem 0;
    border-bottom: 1px solid var(--color-border);
}

.summary-row--total {
    font-size: 1.08rem;
}

.checkout-loyalty-preview {
    display: grid;
    gap: 0.45rem;
    margin: 1rem 0 0.35rem;
    padding: 1rem;
    border: 1px solid rgba(14, 109, 71, 0.24);
    border-radius: 1.15rem;
    background:
        radial-gradient(circle at 86% 12%, rgba(246, 213, 88, 0.42), transparent 34%),
        linear-gradient(135deg, rgba(14, 109, 71, 0.12), rgba(255, 255, 255, 0.88));
    box-shadow: 0 0.75rem 1.8rem rgba(14, 109, 71, 0.08);
}

.checkout-loyalty-preview__copy {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.checkout-loyalty-preview__copy span {
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: 0.9rem;
    line-height: 1.05;
    text-transform: uppercase;
}

.checkout-loyalty-preview__copy strong {
    flex: 0 0 auto;
    color: var(--color-primary-deep);
    font-family: var(--font-display);
    font-size: clamp(1.45rem, 3vw, 2rem);
    line-height: 0.95;
}

.checkout-loyalty-preview p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    line-height: 1.45;
}

.checkout-success-card {
    margin-bottom: 1.5rem;
}

.dashboard-stat-grid .stat-card {
    min-height: 10rem;
}

.order-detail-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 1.5rem;
}

.order-detail-grid {
    display: grid;
    gap: 0.5rem;
}

.order-section-heading {
    margin-top: 1.5rem;
}

.status-action-stack {
    display: grid;
    gap: 0.75rem;
}

.dashboard-pos-grid {
    margin: 1rem 0 1.5rem;
}

.pos-layout,
.pos-layout-main {
    display: grid;
    gap: 1.5rem;
}

.pos-layout {
    grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
    margin-bottom: 1.5rem;
}

.pos-layout-main {
    grid-template-columns: minmax(0, 1.25fr) minmax(340px, 0.75fr);
    margin-top: 1.5rem;
}

.pos-results-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.pos-product-tile,
.receipt-shell {
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.72);
    box-shadow: var(--shadow-sm);
}

.pos-product-tile {
    display: grid;
    gap: 0.55rem;
    padding: 1.2rem;
    text-align: left;
    cursor: pointer;
    color: var(--color-primary-ink);
}

.pos-product-tile strong {
    font-size: 1rem;
}

.pos-product-tile span,
.pos-product-tile small {
    color: var(--color-text-muted);
}

.receipt-shell {
    max-width: 42rem;
    padding: 1.75rem;
    margin-bottom: 1.5rem;
}

.receipt-shell h1 {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--color-primary-ink);
}

.loyalty-card,
.loyalty-inline-summary {
    margin-top: 1.25rem;
    padding: 1.2rem 1.3rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(250, 252, 247, 0.95);
}

.loyalty-card {
    display: grid;
    gap: 0.9rem;
    box-shadow: var(--shadow-sm);
}

.loyalty-card h3 {
    margin: 0.25rem 0 0;
}

.loyalty-card p,
.helper-copy {
    margin: 0;
    color: var(--color-text-muted);
}

.loyalty-card__header,
.loyalty-card__meta,
.loyalty-member-cell {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.loyalty-card__meta {
    color: var(--color-text-muted);
    font-size: 0.92rem;
    flex-wrap: wrap;
}

.loyalty-progress {
    height: 0.8rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.1);
    overflow: hidden;
}

.loyalty-progress__fill {
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--color-primary), var(--color-primary-deep));
}

.points-positive {
    color: var(--color-primary-deep);
    font-weight: 700;
}

.points-negative {
    color: #8b5f55;
    font-weight: 700;
}

.status-pill--high {
    background: rgba(194, 141, 92, 0.16);
    color: #9a5f27;
}

.status-pill--critical {
    background: rgba(174, 91, 91, 0.14);
    color: #9a3d3d;
}

.data-table__row--selected td {
    background: rgba(156, 175, 136, 0.08);
}

.table-product-cell {
    display: flex;
    gap: 0.85rem;
    align-items: center;
}

.table-product-thumb {
    width: 3.8rem;
    height: 3.8rem;
    border-radius: 0.95rem;
    object-fit: cover;
    border: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.8);
    flex: 0 0 auto;
}

.product-image-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-top: 1rem;
}

.product-image-card {
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.76);
}

.product-image-card__image {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 0.9rem;
}

.product-image-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    align-items: center;
}

.consumption-card {
    display: grid;
    gap: 0.6rem;
    margin-top: 1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.72);
}

.consumption-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.seeded-access-list {
    display: grid;
    gap: 0.75rem;
    margin-top: 0.3rem;
}

.seeded-access-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.1);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.74);
}

.seeded-access-item__meta {
    display: grid;
    gap: 0.15rem;
}

.seeded-access-item__meta span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.table-subtext {
    margin-top: 0.2rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.proof-upload-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.proof-card {
    display: grid;
    gap: 0.8rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.78);
}

.proof-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.proof-image {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    border-radius: 0.9rem;
    border: 1px solid var(--color-border);
    background: rgba(255, 255, 255, 0.92);
}

.utility-account {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    color: var(--color-text-muted);
}

.auth-shell {
    display: grid;
    place-items: center;
    min-height: 62vh;
}

.auth-card {
    width: min(100%, 34rem);
    display: grid;
    gap: 1rem;
    padding: 2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.86);
    box-shadow: var(--shadow-md);
}

.auth-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.auth-form {
    display: grid;
    gap: 1rem;
}

.auth-provider-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 0.9rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: var(--radius-md);
    background:
        radial-gradient(circle at 8% 0%, rgba(255, 255, 255, 0.9), transparent 12rem),
        linear-gradient(135deg, rgba(255, 255, 255, 0.86), rgba(238, 243, 235, 0.82));
    color: var(--color-primary-ink);
    box-shadow: 0 14px 36px rgba(39, 56, 40, 0.08);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.auth-provider-card:hover {
    transform: translateY(-2px);
    border-color: rgba(82, 106, 80, 0.3);
    box-shadow: 0 18px 44px rgba(39, 56, 40, 0.13);
    color: var(--color-primary-ink);
}

.auth-provider-card__icon,
.auth-provider-card__arrow {
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
}

.auth-provider-card__icon {
    width: 2.75rem;
    height: 2.75rem;
    background: #fff;
    color: #4285f4;
    box-shadow: inset 0 0 0 1px rgba(82, 106, 80, 0.08), 0 8px 18px rgba(39, 56, 40, 0.08);
    font-size: 1.15rem;
}

.auth-provider-card__copy {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.auth-provider-card__copy strong {
    font-size: 1rem;
    letter-spacing: -0.01em;
}

.auth-provider-card__copy small {
    color: var(--color-text-muted);
    font-size: 0.86rem;
}

.auth-provider-card__arrow {
    width: 2rem;
    height: 2rem;
    background: rgba(82, 106, 80, 0.1);
    color: var(--color-primary-deep);
    transition: transform 180ms ease, background 180ms ease;
}

.auth-provider-card:hover .auth-provider-card__arrow {
    transform: translateX(2px);
    background: rgba(82, 106, 80, 0.16);
}

.google-signin-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.7rem;
    width: 100%;
    min-height: 3rem;
    padding: 0.72rem 1rem;
    border: 1px solid rgba(60, 64, 67, 0.12);
    border-radius: var(--radius-pill);
    background: #fff;
    color: #202124;
    box-shadow: 0 4px 14px rgba(60, 64, 67, 0.1);
    font-size: 0.98rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
    transition: transform 160ms ease, box-shadow 160ms ease, border-color 160ms ease, background 160ms ease;
}

.google-signin-button:hover {
    transform: translateY(-1px);
    border-color: rgba(60, 64, 67, 0.2);
    background: #fff;
    color: #202124;
    box-shadow: 0 8px 20px rgba(60, 64, 67, 0.14);
}

.google-signin-button:active {
    transform: translateY(1px);
    box-shadow: 0 3px 12px rgba(60, 64, 67, 0.14);
}

.google-signin-button__mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    place-items: center;
    flex: 0 0 auto;
    width: 1.375rem;
    height: 1.375rem;
    line-height: 0;
    overflow: hidden;
}

.google-signin-button__mark svg {
    width: 1.375rem !important;
    height: 1.375rem !important;
    display: block;
    flex: 0 0 auto;
    margin: auto;
}

.google-signin-button__text {
    display: inline-flex;
    align-items: center;
    min-width: 0;
}

.auth-divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 0.8rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
    font-weight: 700;
    margin: 0.2rem 0;
}

.auth-divider::before,
.auth-divider::after {
    content: "";
    height: 1px;
    background: var(--color-border);
}

.phone-auth-card,
.customer-registration-card {
    display: grid;
    gap: 1rem;
    padding: 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: var(--radius-md);
    background:
        radial-gradient(circle at 92% 10%, rgba(244, 211, 91, 0.2), transparent 8rem),
        linear-gradient(135deg, rgba(238, 243, 235, 0.9), rgba(255, 253, 248, 0.92));
}

.phone-auth-card__copy {
    display: grid;
    gap: 0.25rem;
}

.phone-auth-card__copy span,
.mock-otp-card span {
    color: var(--color-primary-deep);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.phone-auth-card__copy h2 {
    margin: 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: 1.8rem;
    line-height: 1;
}

.auth-form--phone,
.auth-form--phone-verify {
    padding: 0;
    border: 0;
    background: transparent;
}

.phone-input-shell {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: stretch;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-sm);
    background: rgba(255, 255, 255, 0.72);
    overflow: hidden;
}

.phone-input-shell__country {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0 0.78rem;
    border-right: 1px solid var(--color-border);
    background: rgba(255, 253, 248, 0.88);
    color: var(--color-primary-deep);
    font-weight: 900;
}

.phone-input-shell__flag {
    position: relative;
    display: inline-block;
    width: 1.35rem;
    height: 0.9rem;
    border-radius: 0.12rem;
    background: #8a1538;
    box-shadow: 0 0 0 1px rgba(32, 47, 36, 0.12);
    overflow: hidden;
}

.phone-input-shell__flag::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.48rem;
    background:
        linear-gradient(135deg, #fff 0 50%, transparent 51%) 100% 0 / 0.24rem 0.18rem repeat-y,
        #fff;
}

.phone-input-shell .phone-input-shell__input {
    width: 100%;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.mock-otp-card {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem 0.95rem;
    border: 1px solid rgba(27, 116, 74, 0.18);
    border-radius: 1rem;
    background: rgba(255, 253, 248, 0.66);
    color: var(--color-primary-ink);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

.mock-otp-card strong {
    color: var(--color-primary-deep);
    font-family: var(--font-display);
    font-size: clamp(2rem, 8vw, 3rem);
    line-height: 1;
    letter-spacing: 0.08em;
}

.mock-otp-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.mock-otp-card__link {
    overflow-wrap: anywhere;
    font-size: 0.82rem;
}

.customer-email-otp-modal__panel {
    max-width: min(92vw, 32rem);
}

.customer-email-otp-modal__content {
    display: grid;
    gap: 1rem;
}

.customer-email-otp-modal__content h2 {
    margin: 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 7vw, 3rem);
    line-height: 0.95;
}

.customer-email-otp-modal__content p {
    margin: 0;
}

.customer-email-otp-modal__content .field-group {
    display: grid;
    gap: 0.35rem;
}

.customer-registration-card {
    width: min(100%, 42rem);
}

.customer-registration-start-over {
    display: contents;
}

.customer-registration-form__email-actions {
    display: grid;
    grid-template-columns: auto minmax(10rem, 1fr) auto;
    align-items: end;
}

.customer-registration-form__otp {
    margin: 0;
}

@media (max-width: 640px) {
    .seeded-access-item {
        flex-direction: column;
        align-items: stretch;
    }
}

.checkbox-list {
    display: grid;
    gap: 0.7rem;
    padding: 1rem 1.05rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.78);
}

.checkbox-option {
    display: flex;
    align-items: start;
    gap: 0.7rem;
    color: var(--color-text);
}

.checkbox-option small {
    display: block;
    color: var(--color-text-muted);
    font-size: 0.84rem;
}

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

.prediction-card {
    display: grid;
    gap: 0.85rem;
    padding: 1.15rem 1.2rem;
    text-align: left;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.82);
    box-shadow: var(--shadow-sm);
}

.prediction-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.prediction-card__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.prediction-card--critical {
    border-color: rgba(154, 61, 61, 0.32);
}

.prediction-card--high {
    border-color: rgba(154, 95, 39, 0.28);
}

.prediction-card--medium {
    border-color: rgba(156, 175, 136, 0.36);
}

.storefront-chip--soft {
    background: rgba(156, 175, 136, 0.12);
    color: var(--color-text);
}

.storefront-chip--alert {
    background: rgba(154, 61, 61, 0.12);
    color: #8a3c3c;
}

.toast-stack {
    position: fixed;
    bottom: 1.2rem;
    right: 1.2rem;
    z-index: 1200;
    display: grid;
    gap: 0.85rem;
    width: min(24rem, calc(100vw - 2rem));
}

.toast {
    position: relative;
    display: grid;
    gap: 0.85rem;
    overflow: hidden;
    padding: 1rem 1.05rem 1rem 1.25rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 252, 248, 0.96);
    box-shadow: var(--shadow-md);
    backdrop-filter: blur(12px);
    animation: toast-in 180ms ease-out;
}

.toast::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 0.38rem;
    background: var(--toast-accent, var(--color-primary));
}

.toast--success {
    --toast-accent: #4f8f55;
    border-color: rgba(79, 143, 85, 0.45);
    background: linear-gradient(135deg, rgba(79, 143, 85, 0.16), rgba(255, 252, 248, 0.98));
    box-shadow: 0 18px 48px rgba(50, 99, 55, 0.18);
}

.toast--info {
    --toast-accent: #d19a35;
    border-color: rgba(209, 154, 53, 0.48);
    background: linear-gradient(135deg, rgba(209, 154, 53, 0.18), rgba(255, 252, 248, 0.98));
    box-shadow: 0 18px 48px rgba(151, 100, 28, 0.16);
}

.toast--warning {
    --toast-accent: #d19a35;
    border-color: rgba(209, 154, 53, 0.52);
    background: linear-gradient(135deg, rgba(209, 154, 53, 0.2), rgba(255, 252, 248, 0.98));
    box-shadow: 0 18px 48px rgba(151, 100, 28, 0.18);
}

.toast--error {
    --toast-accent: #b94a3f;
    border-color: rgba(185, 74, 63, 0.52);
    background: linear-gradient(135deg, rgba(185, 74, 63, 0.17), rgba(255, 252, 248, 0.98));
    box-shadow: 0 18px 48px rgba(128, 45, 39, 0.18);
}

.toast__content {
    display: grid;
    gap: 0.3rem;
}

.toast__content p {
    margin: 0;
    color: #526057;
}

.toast__actions {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
}

.toast__link,
.toast__dismiss {
    appearance: none;
    border: 0;
    background: none;
    padding: 0;
    color: var(--color-primary-deep);
    font: inherit;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}

.toast__link--action {
    padding: 0.45rem 0.7rem;
    border-radius: var(--radius-pill);
    background: var(--toast-accent, var(--color-primary-deep));
    color: #fff;
    box-shadow: 0 10px 24px rgba(36, 67, 52, 0.16);
}

.toast__dismiss {
    opacity: 0.72;
}

.activity-timeline {
    position: relative;
    display: grid;
    gap: 1rem;
}

.activity-timeline__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.9rem;
    align-items: start;
}

.activity-timeline__dot {
    width: 0.8rem;
    height: 0.8rem;
    margin-top: 0.35rem;
    border-radius: 999px;
    background: var(--color-primary);
    box-shadow: 0 0 0 6px rgba(156, 175, 136, 0.14);
}

.activity-timeline__body {
    display: grid;
    gap: 0.35rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid var(--color-border);
}

.activity-timeline__item:last-child .activity-timeline__body {
    border-bottom: 0;
    padding-bottom: 0;
}

.activity-timeline__body p,
.activity-timeline__body small {
    margin: 0;
    color: var(--color-text-muted);
}

.activity-timeline__meta {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
}

.merchant-locator-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
    gap: 1.5rem;
    align-items: start;
}

.merchant-map {
    position: relative;
    min-height: 28rem;
    border-radius: var(--radius-md);
    overflow: hidden;
    border: 1px solid var(--color-border);
    background: #f5f3ee;
    box-shadow: inset 0 0 0 1px rgba(82, 106, 80, 0.08);
}

.merchant-map::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 350;
    background:
        linear-gradient(180deg, rgba(250, 248, 244, 0.14), rgba(237, 242, 232, 0.08)),
        radial-gradient(circle at 18% 16%, rgba(156, 175, 136, 0.06), transparent 40%),
        radial-gradient(circle at 82% 24%, rgba(122, 145, 157, 0.08), transparent 36%);
    mix-blend-mode: soft-light;
}

.merchant-list {
    display: grid;
    gap: 0.85rem;
}

.merchant-list__item {
    display: grid;
    gap: 0.55rem;
    padding: 1rem 1.05rem;
    text-align: left;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.74);
    box-shadow: var(--shadow-sm);
    color: var(--color-text);
    cursor: pointer;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.merchant-list__item:hover {
    transform: translateY(-2px);
    box-shadow: var(--press-shadow-soft);
}

.merchant-list__item:active {
    transform: translateY(1px) scale(0.985);
    box-shadow: none;
}

.merchant-list__item p,
.merchant-list__item small,
.loyalty-identity-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.merchant-list__item--active {
    border-color: var(--color-border-strong);
    background: rgba(238, 243, 235, 0.86);
}

.merchant-list__header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.loyalty-identity-card {
    display: grid;
    gap: 0.8rem;
    padding: 1.4rem 1.45rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(246, 249, 243, 0.98), rgba(255, 253, 248, 0.96));
    box-shadow: var(--shadow-sm);
}

.loyalty-identity-card h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    color: var(--color-primary-ink);
}

.loyalty-identity-card--compact h2 {
    font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.loyalty-intro-card {
    margin-bottom: 1rem;
    padding: 1.2rem 1.25rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: var(--radius-lg);
    background: linear-gradient(180deg, rgba(244, 248, 240, 0.95), rgba(255, 253, 248, 0.95));
}

.loyalty-intro-card h4 {
    margin: 0.35rem 0 0.55rem;
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 2.2vw, 1.55rem);
    color: var(--color-primary-ink);
}

.loyalty-intro-card p {
    margin: 0 0 0.8rem;
    color: var(--color-text-muted);
}

.loyalty-intro-list {
    margin: 0;
    padding-left: 1.1rem;
    color: var(--color-primary-ink);
    display: grid;
    gap: 0.4rem;
}

.loyalty-events-panel {
    margin-top: 1.5rem;
}

.merchant-map .leaflet-tile-pane {
    filter: saturate(0.72) brightness(1.06) contrast(0.93);
}

.merchant-map .leaflet-container {
    background: #f5f3ee;
}

.merchant-map .leaflet-pane,
.merchant-map .leaflet-control-container,
.merchant-map .leaflet-top,
.merchant-map .leaflet-bottom {
    z-index: 400;
}

.merchant-map .leaflet-control-zoom a {
    background: rgba(255, 253, 248, 0.94);
    color: #5b6b63;
    border-bottom-color: rgba(207, 214, 217, 0.9);
}

.merchant-map .leaflet-control-zoom a:hover {
    background: rgba(247, 245, 240, 0.98);
}

.merchant-map .leaflet-control-attribution {
    background: rgba(255, 253, 248, 0.84);
    color: rgba(113, 127, 133, 0.86);
    border-radius: 0.7rem 0 0 0;
}

.merchant-map .leaflet-popup-content-wrapper,
.merchant-map .leaflet-popup-tip {
    background: rgba(255, 252, 247, 0.98);
    color: var(--color-text);
    box-shadow: var(--shadow-sm);
}

.merchant-map .leaflet-popup-content {
    margin: 0;
}

.coreza-map-popup {
    display: grid;
    gap: 0.25rem;
    min-width: 11rem;
    padding: 0.85rem 0.95rem;
}

.coreza-map-popup span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.coreza-map-popup__title {
    color: var(--color-primary-ink);
}

.coreza-map-marker {
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 3px solid rgba(255, 255, 255, 0.98);
    box-shadow: 0 10px 20px rgba(58, 71, 63, 0.18);
}

.coreza-map-marker--merchant {
    background: radial-gradient(circle at 35% 35%, #7de063 0, #4ec247 48%, #36a83b 100%);
}

.coreza-map-marker--merchant-selected {
    background: radial-gradient(circle at 35% 35%, #96ef81 0, #59cf50 46%, #2f9637 100%);
    transform: scale(1.14);
}

.coreza-map-marker--customer {
    position: relative;
    background: radial-gradient(circle at 35% 35%, #7dc7ff 0, #3f97ff 52%, #1f73f2 100%);
    box-shadow:
        0 0 0 6px rgba(63, 151, 255, 0.18),
        0 10px 20px rgba(31, 115, 242, 0.2);
}

.coreza-map-marker--customer::before {
    content: "";
    position: absolute;
    inset: 6px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.98);
    opacity: 0.35;
}

.coreza-map-marker--customer::after {
    content: "";
    position: absolute;
    inset: -8px;
    border-radius: 999px;
    border: 2px solid rgba(63, 151, 255, 0.2);
}

@keyframes toast-in {
    from {
        opacity: 0;
        transform: translateY(-10px) scale(0.98);
    }

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

@keyframes mobile-cart-toast-in {
    from {
        opacity: 0;
        transform: translateY(0.45rem) scale(0.98);
    }

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

@media (max-width: 1080px) {
    .storefront-grid,
    .storefront-hero,
    .product-detail-layout,
    .cart-layout,
    .checkout-layout,
    .order-detail-layout,
    .merchant-locator-layout,
    .prediction-grid,
    .pos-layout,
    .pos-layout-main {
        grid-template-columns: 1fr;
    }
}

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

    .product-detail-layout {
        display: grid;
        gap: 0.75rem;
        width: calc(100svw - (var(--oh-mobile-gutter, 0.9rem) * 2));
        max-width: calc(100svw - (var(--oh-mobile-gutter, 0.9rem) * 2));
        margin-inline: 0;
        overflow: hidden;
    }

    .product-detail-card {
        display: contents;
    }

    .product-detail-card,
    .product-purchase-card,
    .product-detail-media,
    .product-detail-summary,
    .product-detail-copy,
    .product-detail-meta {
        border-radius: 1.25rem;
    }

    .product-detail-media {
        order: 1;
        display: grid;
        gap: 0.65rem;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
        padding: 0;
        overflow: hidden;
        border: 2px solid rgba(27, 116, 74, 0.18);
        background: #efd48b;
        box-shadow: 0 0.45rem 0 rgba(9, 78, 46, 0.12);
    }

    .product-detail-image {
        width: 100%;
        height: clamp(13.5rem, 56vw, 24rem);
        margin: 0;
        aspect-ratio: 1 / 1;
        object-fit: cover;
        border: 0;
        border-radius: 0;
        background: #efd48b;
    }

    .product-gallery {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0.35rem;
        margin: 0;
        width: 100%;
        max-width: 100%;
        padding: 0.35rem;
        background: #fff5df;
        overflow: hidden;
    }

    .product-gallery__thumb {
        height: clamp(3.2rem, 12.5vw, 5.75rem);
        aspect-ratio: auto;
        border: 2px solid rgba(27, 116, 74, 0.22);
        border-radius: 0.65rem;
        background: #efd48b;
    }

    .product-gallery__thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        background: #efd48b;
    }

    .product-detail-summary {
        order: 2;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
        gap: 0.28rem;
        padding: 0.45rem 0.55rem 0.05rem;
        background: transparent;
        overflow: hidden;
    }

    .product-detail-card h1 {
        margin: 0;
        max-width: 100%;
        font-size: clamp(1.08rem, 4.7vw, 1.4rem);
        line-height: 0.94;
        letter-spacing: 0;
        overflow-wrap: anywhere;
        word-break: break-word;
        text-wrap: balance;
        white-space: normal !important;
    }

    .product-detail-summary .storefront-card__meta {
        gap: 0.4rem;
    }

    .product-detail-summary .storefront-chip {
        padding: 0.3rem 0.55rem;
        font-size: 0.64rem;
        line-height: 1;
    }

    .product-detail-subtitle {
        margin: 0;
        max-width: 100%;
        color: rgba(14, 79, 49, 0.76);
        font-size: 0.72rem;
        line-height: 1.18;
        overflow-wrap: anywhere;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .product-detail-price {
        margin: 0.05rem 0 0;
        color: var(--oh-mobile-green);
        font: 400 clamp(1.15rem, 5.6vw, 1.55rem)/1 var(--oh-mobile-font);
    }

    .product-purchase-card {
        order: 3;
        display: grid;
        gap: 0.65rem;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
        padding: 0.7rem;
        border: 2px solid rgba(27, 116, 74, 0.18);
        background: rgba(255, 253, 248, 0.78);
        box-shadow: 0 0.55rem 1.4rem rgba(14, 79, 49, 0.08);
    }

    .product-purchase-card h2,
    .product-purchase-card > p {
        display: none;
    }

    .product-purchase-card .status-banner {
        margin: 0;
        padding: 0.55rem 0.7rem;
        border-radius: 0.8rem;
        font-size: 0.82rem;
    }

    .product-purchase-card .quantity-row {
        display: grid !important;
        grid-template-columns: minmax(2.45rem, 3rem) minmax(3.8rem, 5.2rem) minmax(2.45rem, 3rem);
        justify-content: center;
        gap: 0.5rem;
        width: min(100%, 11.5rem);
        min-width: 0;
        max-width: 100%;
        margin-inline: auto;
        align-items: center;
        flex-wrap: nowrap;
    }

    .product-purchase-card .quantity-button,
    .product-purchase-card .quantity-input {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        height: 2.45rem;
        padding: 0;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.75rem;
        color: var(--oh-mobile-green);
        background: transparent;
        font: 400 1.15rem/1 var(--oh-mobile-font);
        text-align: center;
        box-sizing: border-box;
    }

    .product-purchase-card .quantity-input {
        -moz-appearance: textfield;
        appearance: textfield;
    }

    .product-purchase-card .quantity-input::-webkit-outer-spin-button,
    .product-purchase-card .quantity-input::-webkit-inner-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }

    .product-purchase-card .panel-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin: 0;
    }

    .product-purchase-card .panel-actions .button {
        min-height: 2.65rem;
        padding: 0.55rem 0.45rem;
        border-radius: 0.75rem;
        font: 400 clamp(0.78rem, 3.7vw, 1rem)/0.95 var(--oh-mobile-font);
        text-align: center;
        white-space: normal;
    }

    .product-purchase-card .panel-actions .button--primary {
        grid-column: 1 / -1;
    }

    .product-detail-copy {
        order: 4;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
        padding: 0.95rem;
        border: 2px solid rgba(27, 116, 74, 0.14);
        background: rgba(255, 253, 248, 0.7);
    }

    .product-detail-copy p {
        margin: 0;
        font-family: var(--font-sans);
        font-size: 0.94rem;
        line-height: 1.35;
    }

    .product-detail-meta {
        order: 5;
        width: 100%;
        max-width: 100%;
        justify-self: stretch;
        margin: 0;
        padding: 0.85rem;
        border: 2px solid rgba(27, 116, 74, 0.14);
        background: rgba(255, 253, 248, 0.7);
    }

    .product-image-grid,
    .pos-results-grid,
    .proof-upload-grid {
        grid-template-columns: 1fr;
    }

    .storefront-search__row,
    .storefront-card__footer-row,
    .cart-line {
        flex-direction: column;
        align-items: stretch;
    }

    .storefront-card__footer-row--bottom {
        grid-template-columns: 1fr;
    }

    .loyalty-card__header,
    .loyalty-card__meta,
    .loyalty-member-cell {
        flex-direction: column;
        align-items: start;
    }

    .product-detail-meta {
        grid-template-columns: 1fr;
    }

    .toast-stack {
        left: 1rem;
        right: 1rem;
        width: auto;
    }

    .activity-timeline__meta,
    .toast__actions {
        flex-direction: column;
        align-items: start;
    }

    .checkout-location-saved,
    .checkout-location-detect,
    .checkout-login-prompt,
    .checkout-location-preview,
    .checkout-location-map-panel__meta {
        flex-direction: column;
    }

    .checkout-location-modes .location-chip {
        min-width: 100%;
    }

    .checkout-phone-row {
        grid-template-columns: 1fr;
    }

    .checkout-location-map {
        min-height: 19rem;
    }
}

body {
    background: #fffdf9;
}

.shell-main {
    background: #fffdf9;
}

.announcement-bar {
    border-bottom: none;
    background: #b8ca92;
    color: #fffdf7;
}

.announcement-bar__inner {
    justify-content: center;
    align-items: center;
    min-height: 2.8rem;
    text-align: center;
    font-size: 0.95rem;
    letter-spacing: 0.01em;
}

.announcement-bar a {
    color: inherit;
}

.main-header--shopify {
    position: sticky;
    top: 0;
    z-index: 50;
    background: rgba(255, 253, 249, 0.96);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid rgba(80, 92, 78, 0.08);
}

.header-shell--shopify {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2rem;
    min-height: 10.5rem;
    padding: 1.55rem 0 1.35rem;
}

.brand-lockup--shopify {
    justify-self: start;
}

.brand-logo--shopify {
    height: 5.4rem;
    width: 5.4rem;
    object-fit: contain;
}

.header-nav--shopify {
    justify-content: center;
    align-items: center;
    gap: 0.7rem 1.35rem;
    max-width: 48rem;
    margin: 0 auto;
    font-family: var(--font-display);
    font-size: 1.08rem;
    color: #394038;
}

.header-nav--shopify a {
    position: relative;
    padding: 0.25rem 0;
    border-radius: 0;
    color: #474b45;
    background: transparent;
}

.header-nav--shopify a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -0.15rem;
    height: 1px;
    background: currentColor;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.18s ease;
}

.header-nav--shopify a.active,
.header-nav--shopify a:hover {
    color: #30362f;
    background: transparent;
}

.header-nav--shopify a.active::after,
.header-nav--shopify a:hover::after {
    transform: scaleX(1);
}

.header-icon-actions {
    display: inline-flex;
    justify-self: end;
    align-items: center;
    gap: 0.7rem;
}

.header-icon-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 999px;
    color: #373c38;
    transition: background-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.header-icon-link:hover {
    background: rgba(184, 202, 146, 0.16);
    color: #244430;
    transform: translateY(-1px);
}

.header-icon-link svg {
    width: 1.65rem;
    height: 1.65rem;
}

.install-app-button {
    gap: 0.55rem;
}

.install-app-button span {
    font-size: 0.96rem;
    font-weight: 600;
}

.install-app-button--mobile {
    justify-content: center;
    width: auto;
    min-height: 2.7rem;
    padding: 0.6rem 0.95rem;
    align-self: flex-start;
    flex: 0 0 auto;
    border-radius: 999px;
    white-space: nowrap;
}

.install-app-button--mobile svg {
    width: 1.1rem;
    height: 1.1rem;
}

.install-app-button--mobile span {
    font-size: 0.92rem;
}

.install-app-modal__panel {
    width: min(36rem, calc(100vw - 2rem));
    max-height: min(88vh, 42rem);
}

.install-app-modal__panel .rewards-modal__content {
    padding-top: 1.1rem;
}

.install-app-steps {
    margin: 0 0 1.25rem;
    padding-left: 1.2rem;
    display: grid;
    gap: 0.55rem;
    color: var(--color-primary-ink);
}

.header-icon-count {
    position: absolute;
    top: 0.2rem;
    right: 0.15rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.22rem;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #0d6a46;
    color: white;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
}

.mobile-actions--shopify .button--secondary,
.wholesale-banner .button--secondary {
    border-color: rgba(255, 255, 255, 0.7);
    background: rgba(255, 252, 246, 0.9);
}

.home-hero {
    padding: 3.2rem 0 4.35rem;
}

.home-hero__frame {
    position: relative;
    overflow: hidden;
    min-height: min(78vh, 58rem);
    background: #ece7de;
}

.home-hero__image {
    width: 100%;
    min-height: min(78vh, 58rem);
    object-fit: cover;
}

.home-hero__frame::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(90deg, rgba(26, 19, 13, 0.42) 0%, rgba(26, 19, 13, 0.14) 28%, rgba(26, 19, 13, 0.05) 55%, rgba(26, 19, 13, 0.1) 100%),
        linear-gradient(180deg, rgba(17, 12, 7, 0.08) 0%, rgba(17, 12, 7, 0.12) 100%);
    pointer-events: none;
}

.home-hero__overlay {
    position: absolute;
    left: clamp(1.8rem, 5vw, 4.6rem);
    bottom: clamp(1.8rem, 5vw, 4.1rem);
    z-index: 1;
    display: grid;
    gap: 0.45rem;
    max-width: 24rem;
    color: #fffaf1;
    text-shadow: 0 8px 28px rgba(31, 23, 18, 0.26);
}

.home-hero__overlay h1 {
    margin: 0;
    font-family: var(--font-graphic);
    font-size: clamp(2.8rem, 7vw, 5.8rem);
    line-height: 0.88;
    letter-spacing: -0.05em;
    max-width: 11rem;
}

.home-hero__subtitle {
    margin: 0;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.22em;
}

.home-shop {
    padding: 2.8rem 0 4.75rem;
}

.home-shop__heading {
    margin-bottom: 3rem;
    text-align: center;
}

.home-shop__heading h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(2.1rem, 3vw, 3rem);
    font-weight: 500;
    letter-spacing: 0.12em;
    color: #3b423c;
}

.home-shop__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2.8rem 3rem;
}

.home-shop__card {
    display: grid;
    gap: 1.2rem;
    color: inherit;
}

.home-shop__card:hover .home-shop__image {
    transform: translateY(-2px);
}

.home-shop__image {
    width: 100%;
    aspect-ratio: 0.94;
    object-fit: cover;
    background: #f1ede6;
    transition: transform 0.22s ease;
}

.home-shop__image--placeholder {
    display: grid;
    place-items: center;
    padding: 1rem;
    color: #617062;
    font-family: var(--font-display);
    text-align: center;
}

.home-shop__meta {
    display: grid;
    gap: 0.45rem;
    color: #393c38;
}

.home-shop__meta h3 {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    font-weight: 500;
    line-height: 1.24;
}

.home-shop__meta strong {
    font-size: 0.94rem;
    font-weight: 700;
    letter-spacing: 0.01em;
}

.wholesale-banner {
    position: relative;
    overflow: hidden;
    min-height: 34rem;
}

.wholesale-banner__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wholesale-banner__overlay {
    position: relative;
    min-height: 34rem;
    display: flex;
    align-items: center;
    background:
        linear-gradient(180deg, rgba(66, 52, 32, 0.3), rgba(66, 52, 32, 0.34)),
        linear-gradient(90deg, rgba(70, 52, 33, 0.46), rgba(70, 52, 33, 0.24));
}

.wholesale-banner__content {
    max-width: 58rem;
    margin: 0 auto;
    text-align: center;
    color: #fffaf0;
}

.wholesale-banner__content h2 {
    margin: 0 0 1rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3.6rem);
    font-weight: 500;
    line-height: 1.15;
}

.wholesale-banner__content p {
    margin: 0 auto 1.8rem;
    max-width: 54rem;
    font-size: clamp(1rem, 1.5vw, 1.35rem);
    line-height: 1.75;
}

.main-footer--shopify {
    display: block;
    width: 100%;
    max-width: none;
    margin-top: 0;
    background: #076b45;
    color: #fcfbf6;
}

.wholesale-footer-top {
    width: 100%;
    padding: 4rem 0 3.35rem;
}

.footer-grid--shopify {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1.7fr);
    gap: 2.5rem 3rem;
}

.footer-grid--shopify h3 {
    margin: 0 0 1.7rem;
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 500;
}

.footer-links--light {
    display: grid;
    gap: 0.95rem;
}

.footer-links--light a {
    color: rgba(252, 251, 246, 0.96);
    font-size: 1rem;
}

.footer-links--light a:hover {
    color: #fffdf9;
}

.footer-newsletter {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0;
    align-items: stretch;
}

.footer-newsletter__input {
    min-height: 4.35rem;
    padding: 0 1.5rem;
    border: none;
    outline: none;
    background: #fffdf8;
    color: #2f3b31;
    font-size: 1rem;
}

.footer-newsletter__button {
    min-width: 11.5rem;
    border: none;
    background: #f0b879;
    color: #fffef9;
    font-family: var(--font-display);
    font-size: 1rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.footer-newsletter__status {
    margin-top: 0.8rem;
}

.footer-newsletter__status--success {
    color: #f6fff9;
    font-weight: 600;
}

.main-footer__bottom {
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    padding: 2rem 0 2.15rem;
}

.main-footer__bottom-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.footer-selects {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

.footer-select {
    min-width: 10.5rem;
    min-height: 3.85rem;
    padding: 0 1rem;
    border: none;
    background: #fffdf8;
    color: #213327;
    font-family: var(--font-display);
    font-size: 1rem;
}

.footer-bottom-copy {
    color: rgba(252, 251, 246, 0.84);
    font-size: 0.95rem;
}

.floating-rewards {
    position: fixed;
    right: 1.75rem;
    bottom: 1.65rem;
    z-index: 75;
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    min-height: 4.6rem;
    padding: 0 1.45rem;
    border-radius: 999px;
    border: none;
    background: #0a7a4f;
    color: white;
    box-shadow: 0 18px 36px rgba(11, 76, 47, 0.24);
    cursor: pointer;
}

.floating-rewards:hover {
    background: #0c8457;
    color: #fffef9;
}

.floating-rewards svg {
    width: 1.5rem;
    height: 1.5rem;
}

.floating-rewards span {
    font-size: 1.15rem;
    font-weight: 600;
}

.rewards-modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.rewards-modal__backdrop {
    position: absolute;
    inset: 0;
    border: none;
    background: rgba(26, 39, 31, 0.54);
    cursor: pointer;
}

.rewards-modal__panel {
    position: relative;
    z-index: 1;
    width: min(72rem, 100%);
    max-height: min(90vh, 64rem);
    overflow: auto;
    overscroll-behavior: contain;
    padding: 1.4rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: var(--radius-lg);
    background: rgba(250, 248, 242, 0.98);
    box-shadow: 0 24px 60px rgba(18, 29, 23, 0.22);
}

body.modal-open {
    overflow: hidden;
    overscroll-behavior: none;
}

.rewards-modal__content h2 {
    margin: 0.3rem 0 0.7rem;
    font-family: var(--font-display);
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    color: var(--color-primary-ink);
}

.rewards-modal__content > p {
    margin: 0 0 1.4rem;
    color: var(--color-text-muted);
}

.rewards-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.92);
    color: var(--color-primary-ink);
    font-size: 1.6rem;
    line-height: 1;
    cursor: pointer;
}

.loyalty-lookup-panel {
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

@media (max-width: 1200px) {
    .header-shell--shopify {
        grid-template-columns: auto 1fr auto;
        min-height: auto;
    }

    .header-nav--shopify {
        gap: 0.6rem 1rem;
        font-size: 1rem;
    }

    .home-shop__grid {
        gap: 2.2rem;
    }
}

@media (max-width: 920px) {
    .header-nav--desktop,
    .header-actions--desktop {
        display: none;
    }

    .header-shell--shopify {
        display: flex;
        justify-content: space-between;
        min-height: auto;
        padding: 1.1rem 0 1rem;
    }

    .brand-logo--shopify {
        width: 4.35rem;
        height: 4.35rem;
    }

    .mobile-nav {
        display: block;
        padding-bottom: 1rem;
    }

    .home-hero {
        padding-top: 1.8rem;
    }

    .home-shop__grid,
    .footer-grid--shopify {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .footer-grid--shopify > :last-child {
        grid-column: 1 / -1;
    }

    .wholesale-banner,
    .wholesale-banner__overlay {
        min-height: 28rem;
    }
}

@media (max-width: 640px) {
    .announcement-bar__inner {
        min-height: auto;
        padding: 0.7rem 0;
        font-size: 0.86rem;
    }

    .shell-container {
        width: min(calc(100% - 1.2rem), var(--container-max));
    }

    .home-hero__frame,
    .home-hero__image {
        min-height: 62vh;
    }

    .home-hero__overlay h1 {
        max-width: 8.8rem;
        font-size: clamp(2.45rem, 13vw, 4rem);
    }

    .home-shop {
        padding-bottom: 3.5rem;
    }

    .home-shop__grid,
    .footer-grid--shopify {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem 1.1rem;
    }

    .home-shop__meta h3 {
        font-size: 1rem;
    }

    .wholesale-banner__content p {
        font-size: 1rem;
        line-height: 1.6;
    }

    .footer-newsletter {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .footer-newsletter__button {
        min-height: 3.5rem;
    }

    .rewards-modal {
        padding: 0.85rem;
    }

    .rewards-modal__panel {
        padding: 1rem;
    }

    .loyalty-lookup-panel {
        grid-template-columns: 1fr;
    }

    .main-footer__bottom-inner,
    .footer-selects {
        flex-direction: column;
        align-items: stretch;
    }

    .footer-select {
        width: 100%;
    }

    .floating-rewards {
        right: 1rem;
        bottom: 1rem;
        min-height: 3.9rem;
        padding: 0 1.15rem;
    }

    .floating-rewards span {
        font-size: 1rem;
    }
}

.merchant-portal {
    min-height: 100vh;
    background: linear-gradient(180deg, #f7f7f2 0%, #fdfbf7 100%);
}

.merchant-topbar {
    border-bottom: 1px solid rgba(82, 106, 80, 0.1);
    background: rgba(255, 253, 248, 0.96);
}

.merchant-topbar__inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 1.1rem 0;
}

.merchant-topbar__brand,
.merchant-topbar__context {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.merchant-topbar__brand img {
    width: 3.2rem;
    height: 3.2rem;
    object-fit: contain;
}

.merchant-topbar__brand strong,
.merchant-topbar__context span {
    display: block;
    color: var(--color-primary-ink);
}

.merchant-topbar__brand span,
.merchant-topbar__context small {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.merchant-portal__shell {
    display: grid;
    gap: 1.2rem;
    padding: 1.2rem 0 2rem;
}

.merchant-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.95rem 1.2rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: var(--shadow-sm);
}

.merchant-nav__links,
.merchant-nav__meta {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
}

.merchant-nav__links a {
    padding: 0.6rem 0.95rem;
    border-radius: var(--radius-pill);
    color: var(--color-text-muted);
}

.merchant-nav__links a.active,
.merchant-nav__links a:hover {
    background: rgba(156, 175, 136, 0.16);
    color: #1f352a;
}

.merchant-nav__logout {
    border: none;
    background: transparent;
    color: var(--color-primary-deep);
    font-weight: 600;
}

.merchant-portal__content {
    min-width: 0;
}

.admin-portal {
    display: grid;
    grid-template-columns: 18rem minmax(0, 1fr);
    min-height: 100vh;
    background: #f6f5f0;
}

.admin-sidebar {
    position: sticky;
    top: 0;
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 1.4rem;
    height: 100vh;
    padding: 1.5rem 1.15rem;
    border-right: 1px solid rgba(82, 106, 80, 0.1);
    background: linear-gradient(180deg, #21362c 0%, #172720 100%);
    color: rgba(255, 252, 247, 0.92);
}

.admin-sidebar__brand {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.admin-sidebar__brand img {
    width: 3rem;
    height: 3rem;
}

.admin-sidebar__brand strong,
.admin-sidebar__brand span {
    display: block;
}

.admin-sidebar__brand span {
    color: rgba(255, 252, 247, 0.68);
    font-size: 0.84rem;
}

.admin-sidebar__sections {
    display: grid;
    gap: 1.15rem;
    align-content: start;
    overflow: auto;
}

.admin-sidebar__section {
    display: grid;
    gap: 0.35rem;
}

.admin-sidebar__group,
.admin-sidebar__subgroup {
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.04);
    overflow: hidden;
}

.admin-sidebar__group-summary,
.admin-sidebar__subgroup-summary {
    list-style: none;
    cursor: pointer;
    user-select: none;
}

.admin-sidebar__group-summary::-webkit-details-marker,
.admin-sidebar__subgroup-summary::-webkit-details-marker {
    display: none;
}

.admin-sidebar__group-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin: 0;
    padding: 0.9rem 1rem;
    color: rgba(255, 252, 247, 0.86);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.admin-sidebar__group-summary::after,
.admin-sidebar__subgroup-summary::after {
    content: "+";
    font-size: 1rem;
    line-height: 1;
    color: rgba(255, 252, 247, 0.58);
}

.admin-sidebar__group[open] > .admin-sidebar__group-summary::after,
.admin-sidebar__subgroup[open] > .admin-sidebar__subgroup-summary::after {
    content: "âˆ’";
}

.admin-sidebar__group-links,
.admin-sidebar__subgroup-links {
    display: grid;
    gap: 0.35rem;
    padding: 0 0.65rem 0.65rem;
}

.admin-sidebar__subgroup {
    margin-top: 0.35rem;
    margin-left: 0.45rem;
    background: rgba(255, 255, 255, 0.03);
}

.admin-sidebar__subgroup-summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    margin: 0;
    padding: 0.72rem 0.85rem;
    color: rgba(255, 252, 247, 0.74);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-sidebar__subgroup-links {
    padding-left: 0.85rem;
}

.admin-sidebar__section p {
    margin: 0 0 0.35rem;
    color: rgba(255, 252, 247, 0.62);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.admin-sidebar__section a {
    padding: 0.72rem 0.85rem;
    border-radius: 0.95rem;
    color: rgba(255, 252, 247, 0.82);
}

.admin-sidebar__group-links > a,
.admin-sidebar__subgroup-links > a {
    display: block;
    padding: 0.72rem 0.85rem;
    border-radius: 0.95rem;
    color: rgba(255, 252, 247, 0.82);
}

.admin-sidebar__section a.active,
.admin-sidebar__section a:hover,
.admin-sidebar__group-links > a.active,
.admin-sidebar__group-links > a:hover,
.admin-sidebar__subgroup-links > a.active,
.admin-sidebar__subgroup-links > a:hover {
    background: rgba(184, 202, 146, 0.18);
    color: #fffdf8;
}

.validation-message,
.field-validation-error {
    color: #b42318;
    font-size: 0.9rem;
    font-weight: 600;
}

.admin-sidebar__footer {
    display: grid;
    gap: 0.9rem;
}

.admin-sidebar__user {
    display: grid;
    gap: 0.2rem;
}

.admin-sidebar__user span {
    color: rgba(255, 252, 247, 0.62);
    font-size: 0.88rem;
}

.admin-sidebar__logout {
    width: 100%;
    min-height: 2.9rem;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 999px;
    background: transparent;
    color: #fffdf8;
    font-weight: 600;
}

.admin-portal__main {
    min-width: 0;
    display: grid;
    grid-template-rows: auto 1fr;
}

.admin-topbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.8rem 1.1rem 0.7rem;
    border-bottom: 1px solid rgba(82, 106, 80, 0.08);
    background: rgba(255, 253, 248, 0.9);
}

.admin-topbar h1 {
    margin: 0.1rem 0 0;
    font-family: var(--font-display);
    font-size: 1.45rem;
    line-height: 0.98;
    color: var(--color-primary-ink);
}

.admin-topbar__context {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.admin-topbar__user {
    display: grid;
    gap: 0.2rem;
    text-align: right;
}

.admin-topbar__user span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.admin-portal__content {
    padding: 0 0.55rem 0.55rem;
}

.admin-dashboard-section {
    padding: 0.35rem 0 0;
}

.admin-dashboard-section .shell-container {
    width: 100%;
    max-width: none;
}

.admin-visual-dashboard {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr);
    gap: 0.65rem;
    min-height: calc(100dvh - 4.95rem);
    padding: 0.15rem 0 0;
}

.admin-visual-dashboard__topline {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(24rem, 1.05fr);
    gap: 0.9rem;
    align-items: stretch;
}

.admin-visual-title-card,
.admin-visual-dashboard__toolbar,
.admin-visual-card,
.admin-visual-stat {
    border: 1px solid rgba(82, 106, 80, 0.1);
    box-shadow: 0 18px 34px rgba(32, 47, 36, 0.08);
}

.admin-visual-title-card {
    display: grid;
    gap: 0.35rem;
    align-content: center;
    min-height: 5.8rem;
    padding: 0.95rem 1.1rem;
    border-radius: 2rem;
    background:
        radial-gradient(circle at top right, rgba(240, 190, 105, 0.22), transparent 34%),
        linear-gradient(135deg, rgba(255, 251, 241, 0.98), rgba(246, 244, 233, 0.94));
}

.admin-visual-title-card h2 {
    margin: 0.15rem 0 0;
    font-family: var(--oh-mobile-font);
    font-size: clamp(1.85rem, 2.5vw, 2.6rem);
    line-height: 0.94;
    color: #176c46;
}

.admin-visual-title-card p {
    margin: 0;
    max-width: 38rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.admin-visual-dashboard__toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    align-content: center;
    justify-content: flex-start;
    gap: 0.65rem;
    min-height: 5.8rem;
    padding: 0.8rem 0.95rem;
    border-radius: 2rem;
    background:
        radial-gradient(circle at top right, rgba(139, 214, 132, 0.16), transparent 32%),
        rgba(255, 255, 255, 0.9);
}

.admin-visual-dashboard__nav-chip,
.admin-visual-dashboard__quick-link {
    text-decoration: none;
}

.admin-visual-dashboard__nav-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.55rem;
    padding: 0.55rem 1rem;
    border: 1px solid rgba(23, 108, 70, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.88);
    color: #176c46;
    font: 400 0.92rem/1 var(--oh-mobile-font);
    transition: transform 180ms ease, box-shadow 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.admin-visual-dashboard__nav-chip:hover {
    transform: translateY(-1px);
    background: rgba(229, 241, 219, 0.96);
    border-color: rgba(23, 108, 70, 0.24);
    box-shadow: 0 12px 24px rgba(23, 108, 70, 0.1);
}

.admin-visual-dashboard__stat-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.75rem;
}

.admin-visual-stat {
    display: grid;
    gap: 0.48rem;
    align-content: center;
    min-height: 5.4rem;
    padding: 0.8rem 1rem 0.9rem;
    border-radius: 1.9rem;
}

.admin-visual-stat span {
    color: inherit;
    font: 400 0.82rem/1 var(--oh-mobile-font);
    opacity: 0.94;
}

.admin-visual-stat strong {
    font: 400 clamp(1.55rem, 2vw, 2.2rem)/0.92 var(--oh-mobile-font);
    letter-spacing: 0;
}

.admin-visual-stat--green {
    background: #1b744a;
    color: #fff6e6;
}

.admin-visual-stat--sage {
    background: linear-gradient(160deg, #2b7f55, #a8d978);
    color: #fffdf6;
}

.admin-visual-stat--cream {
    background: rgba(255, 255, 255, 0.9);
    color: #176c46;
}

.admin-visual-stat--coral {
    background: linear-gradient(160deg, #f28f72, #f3bf7a);
    color: #fff9f2;
}

.admin-visual-dashboard__mosaic {
    display: grid;
    grid-template-columns: minmax(18rem, 20rem) minmax(0, 1.25fr) minmax(18rem, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
        "quick revenue customer"
        "quick sales map";
    gap: 0.75rem;
    min-height: 0;
}

.admin-visual-card {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
    min-height: 0;
    padding: 0.85rem 0.95rem;
    border-radius: 2rem;
    background:
        radial-gradient(circle at top right, rgba(240, 190, 105, 0.1), transparent 26%),
        rgba(255, 255, 255, 0.9);
}

.admin-visual-card--quick {
    grid-area: quick;
    background:
        radial-gradient(circle at top right, rgba(139, 214, 132, 0.18), transparent 34%),
        rgba(255, 255, 255, 0.92);
}

.admin-visual-card--revenue {
    grid-area: revenue;
}

.admin-visual-card--customer {
    grid-area: customer;
    background:
        radial-gradient(circle at top right, rgba(240, 190, 105, 0.22), transparent 34%),
        linear-gradient(180deg, rgba(255, 251, 241, 0.98), rgba(255, 243, 215, 0.95));
}

.admin-visual-card--sales {
    grid-area: sales;
}

.admin-visual-card--map {
    grid-area: map;
    background:
        radial-gradient(circle at top right, rgba(93, 143, 232, 0.16), transparent 28%),
        rgba(255, 255, 255, 0.92);
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.admin-visual-card__heading {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.admin-visual-card__heading--compact h3 {
    font-size: clamp(1.1rem, 1.4vw, 1.4rem);
}

.admin-visual-card__heading h3 {
    margin: 0.16rem 0 0;
    font-family: var(--oh-mobile-font);
    font-size: clamp(1.05rem, 1.45vw, 1.35rem);
    line-height: 0.96;
    color: #176c46;
}

.admin-visual-card__heading > strong {
    color: #176c46;
    font: 700 0.92rem/1.1 var(--font-body);
}

.admin-visual-card__canvas {
    position: relative;
    min-height: 11.6rem;
    height: 100%;
}

.admin-visual-card__canvas--short {
    min-height: 10.2rem;
}

.admin-visual-card__canvas--mini {
    min-height: 7.6rem;
}

.admin-visual-card__canvas canvas {
    width: 100% !important;
    height: 100% !important;
}

.admin-visual-card__meta-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.admin-visual-card__meta-row > div,
.admin-order-map__summary-item,
.admin-visual-dashboard__signal-list > div {
    padding: 0.8rem 0.9rem;
    border-radius: 1rem;
    background: rgba(246, 244, 233, 0.88);
}

.admin-visual-card__meta-row span,
.admin-visual-dashboard__quick-link span,
.admin-visual-dashboard__signal-list span,
.admin-visual-mini-donut__legend-item span,
.admin-order-map__summary-item span,
.admin-visual-empty-state {
    color: var(--color-text-muted);
}

.admin-visual-card__meta-row strong,
.admin-visual-dashboard__signal-list strong,
.admin-order-map__summary-item strong {
    display: block;
    margin-top: 0.15rem;
    color: #176c46;
}

.admin-visual-empty-state {
    margin: 0;
    font-size: 0.94rem;
    line-height: 1.5;
}

.admin-visual-dashboard__quick-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.7rem;
}

.admin-visual-dashboard__quick-link {
    display: grid;
    gap: 0.22rem;
    padding: 0.88rem 0.92rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1.25rem;
    background: rgba(255, 255, 255, 0.78);
    color: var(--color-primary-ink);
    transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.admin-visual-dashboard__quick-link:hover {
    transform: translateY(-1px);
    border-color: rgba(23, 108, 70, 0.22);
    box-shadow: 0 12px 22px rgba(23, 108, 70, 0.08);
}

.admin-visual-dashboard__quick-link strong {
    color: #176c46;
    font: 400 0.96rem/0.96 var(--oh-mobile-font);
}

.admin-visual-dashboard__signal-list {
    display: grid;
    gap: 0.65rem;
}

.admin-visual-dashboard__signal-list > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
}

.admin-visual-mini-donut {
    display: grid;
    gap: 0.65rem;
    padding-top: 0.1rem;
}

.admin-visual-mini-donut__body {
    display: grid;
    grid-template-columns: minmax(8.5rem, 9.5rem) minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
}

.admin-visual-mini-donut__legend {
    display: grid;
    gap: 0.6rem;
}

.admin-visual-mini-donut__legend-item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.65rem;
    align-items: center;
}

.admin-visual-mini-donut__legend-item strong {
    color: #176c46;
    display: block;
}

.admin-visual-donut__swatch {
    width: 0.95rem;
    height: 0.95rem;
    border-radius: 999px;
}

.admin-order-map__canvas {
    min-height: 0;
    height: 100%;
    border-radius: 1.5rem;
    overflow: hidden;
    border: 1px solid rgba(82, 106, 80, 0.12);
}

.admin-order-map__summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
}

.admin-order-map__summary-item strong {
    margin: 0;
}

.admin-portal .workspace-nav,
.merchant-portal .workspace-nav {
    display: none;
}

@media (max-width: 1080px) {
    .admin-portal {
        grid-template-columns: 1fr;
    }

    .admin-sidebar {
        position: static;
        height: auto;
        grid-template-rows: auto;
        padding-bottom: 1rem;
    }

    .admin-sidebar__sections {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-visual-dashboard {
        min-height: auto;
    }

    .admin-visual-dashboard__topline,
    .admin-visual-dashboard__stat-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .admin-visual-dashboard__mosaic {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
        grid-template-areas:
            "quick revenue"
            "customer sales"
            "map map";
    }

    .admin-order-map__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .merchant-topbar__inner,
    .merchant-nav,
    .admin-topbar,
    .admin-topbar__context {
        flex-direction: column;
        align-items: start;
    }

    .admin-sidebar__sections {
        grid-template-columns: 1fr;
    }

    .admin-visual-dashboard__topline,
    .admin-visual-dashboard__stat-row,
    .admin-visual-dashboard__mosaic,
    .admin-visual-dashboard__quick-grid,
    .admin-visual-mini-donut__body,
    .admin-order-map__summary,
    .admin-visual-card__meta-row {
        grid-template-columns: 1fr;
    }

    .admin-visual-dashboard__mosaic {
        grid-template-areas:
            "quick"
            "revenue"
            "customer"
            "sales"
            "map";
    }

    .admin-visual-dashboard__toolbar {
        min-height: auto;
    }

    .admin-visual-title-card h2 {
        font-size: clamp(2rem, 11vw, 3rem);
    }

    .admin-visual-card__canvas,
    .admin-order-map__canvas {
        min-height: 15rem;
    }
}

.pos-terminal {
    display: grid;
    gap: 1.35rem;
}

.pos-terminal__header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1.5rem;
}

.pos-terminal__header h1 {
    margin: 0.2rem 0 0.45rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 3rem);
    color: var(--color-primary-ink);
}

.pos-terminal__header p {
    margin: 0;
    max-width: 38rem;
    color: var(--color-text-muted);
}

.pos-terminal__stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.9rem;
    min-width: 20rem;
}

.pos-stat-tile {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.8);
    box-shadow: var(--shadow-sm);
}

.pos-stat-tile span {
    color: var(--color-text-muted);
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.pos-stat-tile strong {
    font-size: 1.2rem;
    color: var(--color-primary-ink);
}

.pos-session-launch__panel {
    max-width: 42rem;
}

.pos-action-button,
.pos-complete-button {
    min-height: 3.6rem;
    min-width: 14rem;
}

.pos-session-strip {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    gap: 1rem;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.84);
    box-shadow: var(--shadow-sm);
}

.pos-session-strip__group {
    display: flex;
    align-items: center;
    gap: 0.9rem;
    flex-wrap: wrap;
}

.pos-session-strip__group--actions {
    justify-content: end;
}

.pos-session-strip__detail,
.pos-session-strip__metric {
    display: grid;
    gap: 0.15rem;
    min-width: 8.5rem;
}

.pos-session-strip__detail small,
.pos-session-strip__metric small {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.pos-session-strip__detail strong,
.pos-session-strip__metric strong {
    color: var(--color-primary-ink);
}

.pos-terminal__body {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.9fr);
    gap: 1.25rem;
    align-items: start;
}

.pos-terminal__checkout {
    display: grid;
    gap: 1rem;
    position: sticky;
    top: 1rem;
}

.pos-catalog-panel,
.pos-cart-panel,
.pos-customer-panel {
    background: rgba(255, 255, 255, 0.9);
}

.pos-lookup-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 0.8fr);
    gap: 1rem;
    margin-bottom: 1rem;
}

.pos-barcode-input {
    font-size: 1.05rem;
    letter-spacing: 0.04em;
}

.pos-results-grid--terminal {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.85rem;
}

.pos-product-tile--terminal {
    gap: 0.8rem;
    padding: 1rem;
    min-height: 12rem;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.pos-product-tile--terminal:hover {
    transform: translateY(-2px);
    border-color: rgba(82, 106, 80, 0.2);
    box-shadow: 0 16px 30px rgba(53, 66, 55, 0.1);
}

.pos-product-tile__header,
.pos-product-tile__footer {
    display: flex;
    justify-content: space-between;
    gap: 0.6rem;
    align-items: center;
    flex-wrap: wrap;
}

.pos-product-tile__name {
    font-size: 1.05rem;
    line-height: 1.3;
}

.pos-product-tile__sku {
    color: var(--color-text-muted);
}

.pos-sale-lines {
    display: grid;
    gap: 0.85rem;
}

.pos-sale-line {
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-md);
    background: rgba(248, 249, 244, 0.9);
}

.pos-sale-line__meta h3,
.pos-sale-line__meta p {
    margin: 0;
}

.pos-sale-line__meta p {
    color: var(--color-text-muted);
}

.pos-sale-line__actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.pos-sale-line__qty {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
}

.pos-sale-line .quantity-button {
    min-width: 2.7rem;
    min-height: 2.7rem;
    font-size: 1.1rem;
}

.pos-cart-panel__actions {
    margin-top: 1rem;
}

.pos-summary-panel {
    background: linear-gradient(180deg, rgba(35, 53, 42, 0.98), rgba(22, 36, 28, 0.98));
    color: #fcfbf6;
    box-shadow: 0 18px 40px rgba(24, 38, 30, 0.18);
}

.pos-summary-panel h2,
.pos-summary-panel label,
.pos-summary-panel strong,
.pos-summary-panel .summary-row--total {
    color: #fffdf8;
}

.pos-summary-panel .summary-row span,
.pos-summary-panel .field-group label {
    color: rgba(255, 252, 247, 0.76);
}

.pos-summary-panel .text-input,
.pos-summary-panel .text-area {
    border-color: rgba(255, 255, 255, 0.12);
    background: rgba(255, 255, 255, 0.08);
    color: #fffdf8;
}

.pos-summary-panel .text-input::placeholder,
.pos-summary-panel .text-area::placeholder {
    color: rgba(255, 252, 247, 0.48);
}

.pos-summary-panel .button--primary {
    width: 100%;
    background: #f1be7b;
    color: #243226;
    box-shadow: none;
}

@media (max-width: 1180px) {
    .pos-terminal__body {
        grid-template-columns: 1fr;
    }

    .pos-terminal__checkout {
        position: static;
    }
}

@media (max-width: 920px) {
    .pos-terminal__header,
    .pos-session-strip,
    .pos-sale-line__actions {
        flex-direction: column;
        align-items: start;
    }

    .pos-terminal__stats,
    .pos-lookup-grid,
    .pos-results-grid--terminal {
        grid-template-columns: 1fr;
    }
}

.admin-grid--balanced {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.split-callout--merchant-access {
    align-items: start;
}

.text-input--readonly {
    display: flex;
    align-items: center;
    min-height: 3rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-md);
    background: rgba(248, 249, 244, 0.92);
    color: var(--color-primary-ink);
    font-weight: 600;
}

.portal-account-menu {
    position: relative;
}

.portal-account-menu__toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 2.9rem;
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.94);
    color: var(--color-primary-ink);
    cursor: pointer;
    transform: translateY(0) scale(1);
    transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s var(--press-ease), box-shadow 0.18s ease;
}

.portal-account-menu__toggle:hover {
    border-color: rgba(82, 106, 80, 0.3);
    background: #fff;
    transform: translateY(-1px) scale(1.015);
    box-shadow: var(--press-shadow-soft);
}

.portal-account-menu__toggle:active {
    transform: translateY(1px) scale(0.96);
    box-shadow: none;
}

.portal-account-menu__toggle--link {
    text-decoration: none;
}

.portal-account-menu__icon {
    display: inline-flex;
    width: 1.35rem;
    height: 1.35rem;
}

.portal-account-menu__icon svg {
    width: 100%;
    height: 100%;
}

.portal-account-menu__panel {
    position: absolute;
    top: calc(100% + 0.65rem);
    right: 0;
    z-index: 30;
    min-width: 15rem;
    padding: 0.9rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.98);
    box-shadow: 0 18px 40px rgba(32, 47, 36, 0.12);
}

.portal-account-menu__identity {
    display: grid;
    gap: 0.15rem;
    padding-bottom: 0.75rem;
    margin-bottom: 0.75rem;
    border-bottom: 1px solid rgba(82, 106, 80, 0.1);
}

.portal-account-menu__identity span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.portal-account-menu__links {
    display: grid;
    gap: 0.3rem;
}

.portal-account-menu__links a,
.portal-account-menu__logout button {
    display: block;
    width: 100%;
    padding: 0.7rem 0.75rem;
    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
    color: var(--color-primary-ink);
    text-align: left;
    text-decoration: none;
    cursor: pointer;
    transform: translateX(0);
    transition:
        transform 160ms var(--press-ease),
        background-color 160ms ease,
        color 160ms ease;
}

.portal-account-menu__links a:hover,
.portal-account-menu__logout button:hover {
    background: rgba(82, 106, 80, 0.08);
    transform: translateX(2px);
}

.portal-account-menu__links a:active,
.portal-account-menu__logout button:active {
    transform: translateX(0) scale(0.985);
}

.portal-account-menu__logout {
    padding-top: 0.75rem;
    margin-top: 0.75rem;
    border-top: 1px solid rgba(82, 106, 80, 0.1);
}

.header-icon-actions .portal-account-menu__toggle {
    min-width: 2.9rem;
    padding-inline: 0.8rem;
}

.mobile-actions .portal-account-menu,
.mobile-actions .portal-account-menu__toggle,
.mobile-actions .portal-account-menu__toggle--link {
    width: 100%;
}

.mobile-actions .portal-account-menu__toggle {
    justify-content: flex-start;
}

.mobile-actions--shopify {
    align-items: center;
}

.admin-topbar__context,
.merchant-topbar__context {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.home-destinations {
    padding: 2rem 0 1rem;
}

.home-destinations__heading {
    max-width: 44rem;
    margin: 0 auto 2rem;
    text-align: center;
}

.home-destinations__heading h2 {
    margin: 0.35rem 0 0.75rem;
}

.home-destinations__heading p {
    margin: 0;
    color: var(--color-text-muted);
}

.home-destinations__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.home-destinations__card {
    display: grid;
    gap: 0.7rem;
    min-height: 13rem;
    padding: 1.35rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.92);
    color: inherit;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.home-destinations__card:hover {
    transform: translateY(-2px);
    border-color: rgba(82, 106, 80, 0.25);
    box-shadow: 0 16px 30px rgba(32, 47, 36, 0.08);
}

.home-destinations__eyebrow {
    color: var(--color-text-muted);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-destinations__card h3,
.home-destinations__card p {
    margin: 0;
}

.home-destinations__card p {
    color: var(--color-text-muted);
}

.customer-account-grid {
    align-items: start;
}

.customer-account-actions {
    align-content: start;
}

.customer-account-card {
    min-height: 100%;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.customer-account-card:hover {
    transform: translateY(-2px);
    border-color: rgba(82, 106, 80, 0.25);
    box-shadow: 0 16px 30px rgba(32, 47, 36, 0.08);
}

.customer-dashboard-page {
    min-height: 100svh;
    background:
        radial-gradient(circle at 88% 8%, rgba(244, 217, 110, 0.56), transparent 18rem),
        radial-gradient(circle at 40% 38%, rgba(255, 255, 255, 0.72), transparent 24rem),
        linear-gradient(135deg, #fffaf0 0%, #fff8ea 54%, #fff0b9 100%);
}

.customer-dashboard-page .shell-container {
    width: min(100%, 1180px);
    max-width: calc(100vw - 2rem);
    margin-inline: auto;
    padding-block: clamp(3.5rem, 6vw, 5.25rem) 2rem;
}

.customer-dash-shell {
    display: grid;
    gap: 1rem;
    width: 100%;
    max-width: 100%;
    color: var(--color-primary-ink);
    overflow-x: clip;
}

.customer-dash-header,
.customer-dash-metrics,
.customer-dash-grid {
    min-width: 0;
}

.customer-dash-header {
    display: flex;
    justify-content: space-between;
    gap: 1.5rem;
    align-items: center;
}

.customer-dash-kicker,
.customer-dash-output span,
.customer-dash-pill span,
.customer-dash-card-head span,
.customer-dash-rewards__top span,
.customer-dash-actions-card span {
    color: rgba(14, 79, 49, 0.72);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.customer-dash-header h1 {
    margin: 0.35rem 0 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(2.7rem, 5vw, 4.55rem);
    line-height: 0.88;
    text-transform: uppercase;
}

.customer-dash-output {
    display: grid;
    place-items: center;
    gap: 0.1rem;
    width: 5.25rem;
    aspect-ratio: 1;
    padding: 0.75rem;
    border: 1px solid rgba(82, 106, 80, 0.18);
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.72);
    box-shadow: 0 1rem 2rem rgba(34, 57, 45, 0.07);
}

.customer-dash-output strong {
    color: var(--color-primary-deep);
    font-size: 1.35rem;
    line-height: 1;
}

.customer-dash-metrics {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
    gap: 0.85rem;
    align-items: stretch;
}

.customer-dash-pill {
    display: grid;
    gap: 0.4rem;
    align-content: center;
    min-height: 8.15rem;
    padding: 1rem 1.25rem;
    border: 1px solid rgba(82, 106, 80, 0.15);
    border-radius: 2.4rem;
    background: rgba(255, 253, 248, 0.72);
    box-shadow: 0 1rem 2.6rem rgba(34, 57, 45, 0.06);
}

.customer-dash-pill--points {
    position: relative;
    grid-column: span 4;
    gap: 0.55rem;
    min-height: 10.2rem;
    align-content: center;
    padding: 1.15rem 1.25rem 1rem;
    overflow: hidden;
    border: 2px solid rgba(14, 79, 49, 0.22);
    border-radius: 1.45rem;
    background:
        radial-gradient(circle at 88% 18%, rgba(244, 217, 110, 0.82), transparent 6.5rem),
        linear-gradient(135deg, rgba(14, 109, 71, 0.98), rgba(14, 79, 49, 0.96));
    color: #fff5df;
    box-shadow: 0 1.4rem 3rem rgba(14, 79, 49, 0.2);
}

.customer-dash-pill--points::after {
    content: "";
    position: absolute;
    inset: auto 1.1rem 0.8rem;
    height: 0.45rem;
    border-radius: 999px;
    background: rgba(255, 245, 223, 0.18);
}

.customer-dash-pill--points span,
.customer-dash-pill--points small {
    position: relative;
    z-index: 1;
    color: rgba(255, 245, 223, 0.86);
}

.customer-dash-pill--points small {
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.customer-dash-pill--active {
    grid-column: span 2;
    background: #f4d96e;
    border-color: rgba(14, 79, 49, 0.18);
    border-radius: 999px;
}

.customer-dash-pill:not(.customer-dash-pill--points):not(.customer-dash-pill--active) {
    grid-column: span 2;
    border-radius: 999px;
}

.customer-dash-pill strong {
    color: var(--color-primary-ink);
    font-size: clamp(1.8rem, 3vw, 3.15rem);
    line-height: 1.1;
}

.customer-dash-pill--points strong {
    position: relative;
    z-index: 1;
    display: block;
    color: #fff5df;
    font-size: clamp(4.25rem, 9vw, 7.8rem);
    line-height: 0.88;
}

.customer-dash-pill--points .split-flap-number {
    font-size: inherit;
    max-width: 100%;
}

.split-flap-number {
    display: inline-flex;
    align-items: center;
    gap: 0.085em;
    font: inherit;
    line-height: 1;
    perspective: 18rem;
}

.split-flap-number__digit {
    --split-flap-delay: 0ms;
    position: relative;
    display: inline-grid;
    place-items: center;
    min-width: 0.76em;
    height: 1.06em;
    padding: 0 0.075em;
    overflow: hidden;
    border: 0.035em solid rgba(255, 245, 223, 0.24);
    border-radius: 0.16em;
    background:
        linear-gradient(180deg, rgba(255, 245, 223, 0.18) 0 48%, rgba(5, 35, 22, 0.48) 49% 51%, rgba(255, 245, 223, 0.08) 52%),
        #123c29;
    box-shadow:
        inset 0 0.045em 0 rgba(255, 255, 255, 0.28),
        inset 0 -0.06em 0 rgba(5, 35, 22, 0.45),
        0 0.1em 0.25em rgba(5, 35, 22, 0.28);
    transform-origin: 50% 50%;
    animation: split-flap-card-arrive 1120ms cubic-bezier(0.16, 1, 0.3, 1) both;
    animation-delay: var(--split-flap-delay);
}

.split-flap-number__digit::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent 42%),
        linear-gradient(90deg, rgba(255, 255, 255, 0.12), transparent 20% 80%, rgba(0, 0, 0, 0.12));
    pointer-events: none;
}

.split-flap-number__digit::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    z-index: 3;
    height: 0.035em;
    background: rgba(5, 35, 22, 0.78);
    box-shadow: 0 0.035em 0 rgba(255, 245, 223, 0.12);
    transform: translateY(-50%);
}

.split-flap-number__reel {
    display: grid;
    grid-auto-rows: 1.06em;
    place-items: center;
    transform: translateY(-3.18em);
    animation: split-flap-reel 1380ms cubic-bezier(0.16, 1, 0.3, 1) both;
    animation-delay: var(--split-flap-delay);
}

.split-flap-number__reel span {
    display: grid;
    place-items: center;
    height: 1.06em;
}

.split-flap-number__separator {
    display: inline-grid;
    place-items: center;
    min-width: 0.22em;
    opacity: 0;
    animation: split-flap-separator 220ms ease both;
    animation-delay: calc(var(--split-flap-delay, 0ms) + 260ms);
}

.split-flap-number--ring .split-flap-number__digit {
    background:
        linear-gradient(180deg, rgba(255, 245, 223, 0.3) 0 48%, rgba(14, 79, 49, 0.2) 49% 51%, rgba(255, 253, 248, 0.18) 52%),
        rgba(255, 245, 223, 0.78);
    color: var(--color-primary-ink);
}

.split-flap-number--metric .split-flap-number__digit {
    color: #fff5df;
}

@keyframes split-flap-card-arrive {
    0% {
        opacity: 0;
        transform: rotateX(84deg) translateY(-0.12em) scale(0.94);
    }

    26% {
        opacity: 1;
        transform: rotateX(-24deg) translateY(0.02em) scale(1.04);
    }

    48% {
        transform: rotateX(16deg) scale(0.98);
    }

    100% {
        opacity: 1;
        transform: rotateX(0deg) scale(1);
    }
}

@keyframes split-flap-reel {
    0% {
        transform: translateY(0);
        filter: blur(0);
    }

    18% {
        transform: translateY(-1.06em);
    }

    38% {
        transform: translateY(-2.12em);
        filter: blur(1px);
    }

    62% {
        transform: translateY(-3.28em);
    }

    78% {
        transform: translateY(-3.1em);
    }

    100% {
        transform: translateY(-3.18em);
        filter: blur(0);
    }
}

@keyframes split-flap-separator {
    to {
        opacity: 1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .split-flap-number__digit,
    .split-flap-number__reel,
    .split-flap-number__separator {
        animation: none;
        opacity: 1;
        filter: none;
    }

    .split-flap-number__reel {
        transform: translateY(-3.18em);
    }
}

.customer-dash-grid {
    display: grid;
    grid-template-columns: minmax(14rem, 1.05fr) minmax(14rem, 1.05fr) minmax(13rem, 0.86fr) minmax(14rem, 0.95fr);
    grid-auto-flow: dense;
    gap: 0.85rem;
    align-items: stretch;
}

.customer-dash-card {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 1.65rem;
    background: rgba(255, 253, 248, 0.78);
    box-shadow: 0 1.2rem 3rem rgba(32, 47, 36, 0.08);
    overflow: hidden;
}

.customer-dash-profile {
    position: relative;
    min-height: 16rem;
    display: grid;
    align-content: end;
    padding: 1rem;
    color: #fffaf0;
    background:
        linear-gradient(180deg, transparent 22%, rgba(14, 79, 49, 0.94)),
        radial-gradient(circle at 45% 24%, rgba(244, 217, 110, 0.65), transparent 9rem),
        radial-gradient(circle at 42% 38%, rgba(244, 217, 110, 0.5), transparent 6rem),
        linear-gradient(135deg, #1b744a, #0e4f31);
}

.customer-dash-avatar {
    position: absolute;
    inset: 1rem 1rem auto auto;
    display: grid;
    place-items: center;
    width: 4.4rem;
    height: 4.4rem;
    border: 2px solid rgba(255, 245, 223, 0.8);
    border-radius: 999px;
    background: rgba(255, 245, 223, 0.18);
    font: 700 1.35rem/1 var(--font-display);
}

.customer-dash-profile__caption {
    display: grid;
    gap: 0.2rem;
}

.customer-dash-profile__caption strong {
    font-size: 1.25rem;
}

.customer-dash-profile__caption span {
    color: rgba(255, 245, 223, 0.78);
    font-size: 0.9rem;
}

.customer-dash-profile__tag {
    width: max-content;
    max-width: 100%;
    margin-top: 0.8rem;
    padding: 0.55rem 0.85rem;
    border: 1px solid rgba(255, 245, 223, 0.45);
    border-radius: 999px;
    background: rgba(255, 245, 223, 0.18);
    color: #fff5df;
    font-weight: 800;
}

.customer-dash-progress,
.customer-dash-ring-card,
.customer-dash-activity,
.customer-dash-catering,
.customer-dash-empty {
    display: grid;
    gap: 0.8rem;
    padding: 1.1rem;
}

.customer-dash-card-head,
.customer-dash-rewards__top {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: center;
}

.customer-dash-card-head a {
    display: inline-grid;
    place-items: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.82);
    color: var(--color-primary-deep);
    font-weight: 900;
}

.customer-dash-progress strong {
    color: var(--color-primary-ink);
    font-size: clamp(2.4rem, 4vw, 3.6rem);
    line-height: 1;
}

.customer-dash-progress p,
.customer-dash-empty p {
    margin: 0;
    color: rgba(14, 79, 49, 0.72);
}

.customer-dash-bar {
    height: 0.8rem;
    overflow: hidden;
    border-radius: 999px;
    background: repeating-linear-gradient(-45deg, rgba(27, 116, 74, 0.12) 0 3px, transparent 3px 8px);
}

.customer-dash-bar span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #f4d96e, #ffe981);
}

.customer-dash-week {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.55rem;
    align-items: end;
    min-height: 5rem;
    padding-top: 0.3rem;
}

.customer-dash-week span {
    display: block;
    min-height: 1rem;
    border-radius: 999px;
    background: linear-gradient(180deg, #0e4f31 0 42%, rgba(14, 79, 49, 0.28));
}

.customer-dash-ring-card {
    justify-items: center;
}

.customer-dash-ring {
    --value: 0%;
    display: grid;
    place-items: center;
    align-content: center;
    width: clamp(9rem, 16vw, 12rem);
    aspect-ratio: 1;
    border-radius: 999px;
    background:
        radial-gradient(circle, rgba(255, 253, 248, 0.98) 0 56%, transparent 57%),
        conic-gradient(#f4d96e var(--value), rgba(14, 79, 49, 0.12) 0);
}

.customer-dash-ring strong {
    color: var(--color-primary-ink);
    font-size: 1.55rem;
    line-height: 1;
}

.customer-dash-ring span {
    color: rgba(14, 79, 49, 0.72);
    font-size: 0.82rem;
}

.customer-dash-mini-controls {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
}

.customer-dash-mini-controls span {
    display: grid;
    place-items: center;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    background: #fffdf8;
    color: var(--color-primary-deep);
}

.customer-dash-rewards {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 1rem;
    padding: 1.1rem;
    background: #203229;
    color: #fff5df;
}

.customer-dash-rewards__top span {
    color: rgba(255, 245, 223, 0.72);
}

.customer-dash-rewards__top strong {
    font-size: 2.2rem;
    line-height: 1;
}

.customer-dash-rewards__list,
.customer-dash-list {
    display: grid;
    gap: 0.65rem;
}

.customer-dash-rewards__list div,
.customer-dash-list div,
.customer-dash-list a {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    align-items: center;
    padding: 0.75rem 0.85rem;
    border-radius: 1.05rem;
    background: rgba(255, 255, 255, 0.08);
    color: inherit;
}

.customer-dash-rewards__list span,
.customer-dash-list span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.customer-dash-rewards__list strong {
    color: #f4d96e;
    white-space: nowrap;
}

.customer-dash-actions-card {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-column: span 2;
    gap: 0.7rem;
    padding: 0.85rem;
}

.customer-dash-actions-card a {
    display: grid;
    gap: 0.35rem;
    min-height: 7rem;
    align-content: end;
    padding: 1rem;
    border-radius: 1.15rem;
    background: rgba(27, 116, 74, 0.1);
    color: var(--color-primary-ink);
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        background-color 180ms ease;
}

.customer-dash-actions-card a:hover {
    transform: translateY(-3px) scale(1.012);
    background: rgba(27, 116, 74, 0.14);
    box-shadow: var(--press-shadow-soft);
}

.customer-dash-actions-card a:active {
    transform: translateY(1px) scale(0.975);
    box-shadow: none;
}

.customer-dash-actions-card strong {
    font-size: 1.02rem;
    line-height: 1.1;
}

.customer-dash-activity,
.customer-dash-catering {
    grid-column: span 2;
}

.customer-dash-list div,
.customer-dash-list a {
    background: rgba(27, 116, 74, 0.07);
}

.customer-dash-list strong {
    color: var(--color-primary-deep);
    white-space: nowrap;
}

.customer-dash-empty span {
    color: rgba(14, 79, 49, 0.72);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

.customer-dash-empty h2 {
    margin: 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.25rem);
    line-height: 1;
}

.customer-dash-actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

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

    .customer-dash-actions-card,
    .customer-dash-activity,
    .customer-dash-catering {
        grid-column: span 2;
    }
}

@media (max-width: 760px) {
    .customer-dashboard-page {
        color: var(--oh-mobile-green);
        font-family: var(--font-sans);
    }

    .customer-dashboard-page .shell-container {
        width: 100%;
        max-width: 100%;
        margin-inline: 0;
    }

    .customer-dash-shell {
        gap: 0.85rem;
        width: min(100%, calc(100svw - (var(--oh-mobile-gutter, 0.9rem) * 2)));
        max-width: 100%;
        padding-bottom: 1.5rem;
    }

    .customer-dash-header,
    .customer-dash-metrics,
    .customer-dash-grid,
    .customer-dash-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        overflow-x: clip;
    }

    .customer-dash-header {
        display: grid;
        grid-template-columns: 1fr;
        align-items: start;
    }

    .customer-dash-kicker,
    .customer-dash-output span,
    .customer-dash-pill span,
    .customer-dash-card-head span,
    .customer-dash-rewards__top span,
    .customer-dash-actions-card span {
        font-family: var(--font-sans);
        font-weight: 900;
        letter-spacing: 0.04em;
    }

    .customer-dash-header h1 {
        font: 400 clamp(1.85rem, 9vw, 3rem)/0.92 var(--oh-mobile-font);
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .customer-dash-output {
        width: max-content;
        justify-self: start;
        padding: 0.55rem 0.7rem;
        border-radius: 1rem;
    }

    .customer-dash-output strong {
        font: 400 1.15rem/1 var(--oh-mobile-font);
    }

    .customer-dash-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.55rem;
    }

    .customer-dash-pill {
        min-height: 3.8rem;
        border: 2px solid rgba(27, 116, 74, 0.18);
        border-radius: 1rem;
        background: rgba(255, 253, 248, 0.72);
    }

    .customer-dash-pill--active {
        background: #f4d96e;
    }

    .customer-dash-pill--points {
        grid-column: 1 / -1;
        min-height: clamp(8.8rem, 34vw, 11.5rem);
        padding: 1rem;
        border-radius: 1.35rem;
    }

    .customer-dash-pill--points strong {
        font-size: clamp(4.2rem, 18vw, 6.3rem);
    }

    .customer-dash-pill--points .split-flap-number {
        max-width: 100%;
        flex-wrap: wrap;
    }

    .customer-dash-pill strong {
        font: 400 1.15rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .customer-dash-pill--points strong {
        font-family: var(--oh-mobile-font);
        font-weight: 400;
        line-height: 0.88;
    }

    .customer-dash-pill--points small {
        font-size: 0.78rem;
    }

    .customer-dash-grid {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }

    .customer-dash-card,
    .customer-dash-profile {
        border: 2px solid rgba(27, 116, 74, 0.16);
        border-radius: 1.25rem;
        box-shadow: none;
    }

    .customer-dash-profile {
        min-height: 13rem;
    }

    .customer-dash-actions-card,
    .customer-dash-activity,
    .customer-dash-catering {
        grid-column: auto;
    }

    .customer-dash-actions-card {
        grid-template-columns: 1fr;
    }

    .customer-dash-actions-card a {
        min-height: 4.7rem;
        border: 2px solid var(--oh-mobile-green);
        background: rgba(255, 253, 248, 0.72);
    }

    .customer-dash-actions-card strong,
    .customer-dash-progress strong,
    .customer-dash-rewards__top strong,
    .customer-dash-empty h2 {
        font-family: var(--oh-mobile-font);
        font-weight: 400;
        letter-spacing: 0;
        text-transform: uppercase;
    }

    .customer-dash-ring {
        width: 8.5rem;
    }

    .customer-dash-week {
        min-height: 4rem;
    }

    .customer-dash-rewards {
        background: var(--oh-mobile-green-dark);
    }

    .customer-dash-list div,
    .customer-dash-list a,
    .customer-dash-rewards__list div {
        padding: 0.72rem;
        border-radius: 0.85rem;
    }
}

@media (max-width: 920px) {
    .admin-grid--balanced {
        grid-template-columns: 1fr;
    }

    .home-destinations__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.loyalty-card__summary-line {
    margin-top: 1rem;
}

.loyalty-card__tier {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(82, 106, 80, 0.12);
}

.loyalty-card__tier-note {
    margin-top: 0.85rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-md);
    background: rgba(243, 246, 238, 0.9);
    color: var(--color-primary-ink);
}

.loyalty-progress--tier {
    height: 0.55rem;
}

.loyalty-progress__fill--tier {
    background: linear-gradient(90deg, rgba(156, 175, 136, 0.95), rgba(82, 106, 80, 0.95));
}

.loyalty-account-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
}

.loyalty-tier-pill {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.9rem;
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.18);
    color: var(--color-primary-dark);
    font-size: 0.86rem;
    font-weight: 700;
    white-space: nowrap;
}

.loyalty-dashboard-grid {
    margin-top: 1.5rem;
}

.loyalty-tier-guide {
    display: grid;
    gap: 1rem;
    margin-top: 1.1rem;
}

.loyalty-tier-guide__heading {
    margin-bottom: 0;
}

.loyalty-tier-guide__callout {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 1rem;
    align-items: center;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: var(--radius-lg);
    background: linear-gradient(135deg, rgba(238, 243, 235, 0.98), rgba(255, 253, 248, 0.98));
}

.loyalty-tier-guide__callout-icon,
.loyalty-tier-guide__icon {
    display: inline-grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.18);
    color: var(--color-primary-deep);
    flex-shrink: 0;
}

.loyalty-tier-guide__callout-copy {
    display: grid;
    gap: 0.2rem;
}

.loyalty-tier-guide__callout-copy strong {
    color: var(--color-primary-ink);
    font-size: 1.1rem;
}

.loyalty-tier-guide__callout-copy span:last-child {
    color: var(--color-text-muted);
}

.loyalty-tier-guide__list {
    display: grid;
    gap: 0.85rem;
}

.loyalty-tier-guide__item {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.9rem;
    align-items: center;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.92);
}

.loyalty-tier-guide__item--current {
    border-color: rgba(82, 106, 80, 0.24);
    background: linear-gradient(135deg, rgba(247, 249, 243, 0.98), rgba(255, 253, 248, 0.98));
    box-shadow: 0 12px 26px rgba(32, 47, 36, 0.06);
}

.loyalty-tier-guide__item--locked {
    background: rgba(249, 249, 247, 0.92);
}

.loyalty-tier-guide__item--locked .loyalty-tier-guide__icon {
    background: rgba(96, 112, 99, 0.08);
    color: rgba(75, 95, 79, 0.72);
}

.loyalty-tier-guide__content {
    min-width: 0;
    display: grid;
    gap: 0.35rem;
}

.loyalty-tier-guide__title-row,
.loyalty-tier-guide__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: center;
    flex-wrap: wrap;
}

.loyalty-tier-guide__title-row strong {
    color: var(--color-primary-ink);
    font-size: 1rem;
}

.loyalty-tier-guide__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.35rem 0.7rem;
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.14);
    color: var(--color-primary-deep);
    font-size: 0.8rem;
    font-weight: 700;
}

.loyalty-tier-guide__meta {
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.loyalty-tier-guide__glyph {
    width: 1.45rem;
    height: 1.45rem;
    color: inherit;
}

.loyalty-tier-guide__glyph--active {
    filter: drop-shadow(0 3px 8px rgba(82, 106, 80, 0.18));
}

.loyalty-list {
    display: grid;
    gap: 0.85rem;
}

.loyalty-list__item {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.9);
}

.loyalty-list__item--earned {
    background: linear-gradient(180deg, rgba(156, 175, 136, 0.12), rgba(255, 255, 255, 0.95));
}

.loyalty-list__meta {
    display: grid;
    gap: 0.45rem;
    justify-items: end;
    text-align: right;
    color: var(--color-text-muted);
    font-size: 0.88rem;
}

.loyalty-reward-grid {
    display: grid;
    gap: 1rem;
}

.loyalty-reward-card {
    display: grid;
    gap: 0.8rem;
    padding: 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.92);
}

.loyalty-reward-card--ready {
    border-color: rgba(82, 106, 80, 0.25);
    box-shadow: 0 14px 24px rgba(32, 47, 36, 0.06);
}

.loyalty-reward-card__header,
.loyalty-reward-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 0.8rem;
    align-items: start;
}

.loyalty-reward-card p,
.loyalty-reward-card__header strong {
    margin: 0;
}

.loyalty-reward-card__meta {
    color: var(--color-text-muted);
    font-size: 0.88rem;
}

@media (max-width: 920px) {
    .loyalty-account-header,
    .loyalty-list__item,
    .loyalty-reward-card__header,
    .loyalty-reward-card__meta,
    .loyalty-tier-guide__title-row,
    .loyalty-tier-guide__meta {
        grid-template-columns: 1fr;
        display: grid;
    }

    .loyalty-list__meta {
        justify-items: start;
        text-align: left;
    }

    .loyalty-tier-guide__callout,
    .loyalty-tier-guide__item {
        grid-template-columns: 1fr;
    }
}

.loyalty-journey {
    display: grid;
    gap: 1.5rem;
}

.loyalty-journey--guest {
    gap: 1rem;
}

.loyalty-journey__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
    gap: 1.4rem;
    align-items: start;
    overflow: hidden;
}

.loyalty-journey__hero--guest {
    align-items: stretch;
}

.loyalty-journey__hero-copy {
    display: grid;
    gap: 1.15rem;
    min-width: 0;
}

.loyalty-account-header--hero h3 {
    margin: 0.2rem 0 0.35rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.5vw, 3rem);
    color: var(--color-primary-ink);
}

.loyalty-account-header--hero p {
    margin: 0;
    color: var(--color-text-muted);
}

.loyalty-tier-pill--hero {
    align-self: start;
    padding: 0.7rem 1rem;
    background: rgba(82, 106, 80, 0.16);
    font-size: 0.92rem;
}

.loyalty-journey__hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
}

.loyalty-metric-card {
    display: grid;
    gap: 0.22rem;
    padding: 1rem 1.05rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.9);
}

.loyalty-metric-card span,
.loyalty-metric-card small {
    color: var(--color-text-muted);
}

.loyalty-metric-card span {
    font-size: 0.82rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 700;
}

.loyalty-metric-card strong {
    color: var(--color-primary-ink);
    font-size: clamp(1.4rem, 2vw, 1.9rem);
    line-height: 1.1;
}

.loyalty-next-card {
    display: grid;
    gap: 0.45rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(248, 250, 245, 0.92);
}

.loyalty-next-card--ready {
    background: linear-gradient(135deg, rgba(237, 244, 231, 0.96), rgba(255, 253, 248, 0.96));
    border-color: rgba(82, 106, 80, 0.2);
}

.loyalty-next-card strong {
    color: var(--color-primary-ink);
    font-size: 1.1rem;
}

.loyalty-next-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.loyalty-journey__actions {
    margin-top: 0;
}

.loyalty-journey__priority {
    align-items: start;
}

.loyalty-list--priority .loyalty-list__item--voucher {
    border-color: rgba(82, 106, 80, 0.18);
    background: linear-gradient(135deg, rgba(248, 250, 245, 0.96), rgba(255, 255, 255, 0.96));
}

.loyalty-list__item--upcoming {
    background: rgba(249, 249, 247, 0.94);
}

.loyalty-list__item--activity {
    background: rgba(255, 255, 255, 0.92);
}

.loyalty-reward-grid--journey {
    gap: 0.9rem;
}

.loyalty-reward-card--locked {
    background: rgba(248, 248, 246, 0.92);
}

.loyalty-reward-card--next {
    border-color: rgba(156, 175, 136, 0.18);
}

.loyalty-step-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.85rem;
    align-items: start;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.88);
}

.loyalty-step-card__number {
    display: inline-grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.14);
    color: var(--color-primary-deep);
    font-weight: 700;
}

.loyalty-step-card strong {
    color: var(--color-primary-ink);
}

.loyalty-step-card p {
    margin: 0.2rem 0 0;
    color: var(--color-text-muted);
}

.loyalty-intro-card--feature {
    align-self: stretch;
    margin-bottom: 0;
}

@media (max-width: 1100px) {
    .loyalty-journey__hero,
    .loyalty-journey__hero--guest {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 920px) {
    .loyalty-journey__hero-metrics {
        grid-template-columns: 1fr;
    }

    .loyalty-step-card {
        grid-template-columns: 1fr;
    }
}

.catering-callout {
    align-items: start;
}

.catering-flow {
    display: grid;
    gap: 1.25rem;
}

.catering-flow__questionnaire {
    max-width: 56rem;
}

.catering-flow__intro {
    display: grid;
    gap: 0.35rem;
    margin-bottom: 1.15rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1rem;
    background: rgba(247, 251, 245, 0.9);
}

.catering-flow__intro strong {
    color: var(--color-primary-ink);
}

.catering-flow__intro span {
    color: var(--color-text-muted);
    line-height: 1.5;
}

.catering-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.catering-product-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: var(--radius-lg);
    background: rgba(255, 255, 255, 0.92);
    color: inherit;
    text-decoration: none;
}

button.catering-product-card {
    width: 100%;
    text-align: left;
    cursor: pointer;
    font: inherit;
}

.catering-product-card--selected {
    border-color: rgba(27, 116, 74, 0.42);
    box-shadow: 0 0.8rem 1.8rem rgba(27, 116, 74, 0.12);
    background: rgba(247, 251, 245, 0.98);
}

.catering-product-card img,
.catering-product-card__placeholder {
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: var(--radius-md);
}

.catering-product-card img {
    object-fit: cover;
}

.catering-product-card__placeholder {
    display: grid;
    place-items: center;
    background: rgba(248, 248, 245, 0.92);
    color: var(--color-text-muted);
    text-align: center;
    padding: 1rem;
}

.catering-request-panel {
    margin-top: 1.5rem;
}

.catering-brief-summary {
    margin-top: 1.5rem;
}

.design-workbench {
    display: grid;
    grid-template-columns: minmax(240px, 280px) minmax(0, 1fr) minmax(280px, 320px);
    gap: 1.25rem;
    margin-top: 1.5rem;
    align-items: start;
}

.design-tool-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
}

.design-tool-grid--stack {
    grid-template-columns: 1fr;
}

.design-upload-button {
    position: relative;
    overflow: hidden;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    text-align: center;
    line-height: 1.2;
    white-space: normal;
}

.design-upload-button input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.design-workbench__tools,
.design-workbench__settings {
    position: sticky;
    top: 5.75rem;
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto;
}

.design-workbench__canvas {
    min-width: 0;
}

.design-panel-section {
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
    margin-top: 1rem;
    border-radius: var(--radius-md);
    background: rgba(248, 250, 245, 0.72);
    border: 1px solid rgba(82, 106, 80, 0.12);
}

.design-panel-section--reference {
    margin-top: 1.25rem;
}

.design-panel-section__header {
    display: grid;
    gap: 0.15rem;
}

.design-panel-section__header strong {
    font-size: 0.95rem;
    color: var(--color-text);
}

.design-panel-section__header span {
    color: var(--color-text-muted);
    font-size: 0.85rem;
}

.design-checklist {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.design-checklist__item {
    display: grid;
    grid-template-columns: 2rem 1fr;
    gap: 0.75rem;
    align-items: start;
    padding: 0.85rem 1rem;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(82, 106, 80, 0.1);
}

.design-checklist__item strong {
    width: 2rem;
    height: 2rem;
    display: inline-grid;
    place-items: center;
    border-radius: 999px;
    background: rgba(25, 113, 76, 0.12);
    color: var(--color-primary);
    font-size: 0.9rem;
}

.design-stage-header {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: start;
    flex-wrap: wrap;
    margin-bottom: 1rem;
}

.design-stage-header h3 {
    margin-bottom: 0.3rem;
}

.design-stage-header p {
    margin: 0;
    color: var(--color-text-muted);
}

.design-stage-header__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.design-badge {
    display: inline-flex;
    align-items: center;
    padding: 0.5rem 0.8rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgba(82, 106, 80, 0.14);
    color: var(--color-text-muted);
    font-size: 0.85rem;
    white-space: nowrap;
}

.design-canvas-shell {
    display: grid;
    place-items: center;
    padding: 1.25rem;
    min-height: 44rem;
    border-radius: var(--radius-lg);
    overflow: hidden;
    border: 1px solid rgba(82, 106, 80, 0.12);
    background:
        linear-gradient(135deg, rgba(245, 247, 241, 0.98), rgba(255, 255, 255, 0.98)),
        repeating-linear-gradient(
            45deg,
            rgba(35, 65, 53, 0.03),
            rgba(35, 65, 53, 0.03) 12px,
            rgba(255, 255, 255, 0.06) 12px,
            rgba(255, 255, 255, 0.06) 24px
        );
}

.design-canvas-shell__viewport {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    display: grid;
    place-items: center;
    place-self: stretch;
    overflow: auto;
}

.design-canvas-shell .canvas-container {
    flex: 0 0 auto;
    margin: 0 auto;
}

.design-canvas-shell canvas {
    display: block;
    border-radius: 1rem;
    box-shadow: 0 22px 48px rgba(35, 65, 53, 0.12);
}

.design-canvas-footer {
    margin-top: 1rem;
}

.design-canvas-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    color: var(--color-text-muted);
    font-size: 0.9rem;
}

.design-selection-summary,
.catering-admin-notes {
    padding: 1rem;
    border-radius: var(--radius-md);
    background: rgba(248, 250, 245, 0.92);
    border: 1px solid rgba(82, 106, 80, 0.12);
}

.design-empty-selection {
    display: grid;
    gap: 1rem;
}

.design-reference-card {
    overflow: hidden;
    border-radius: var(--radius-md);
    border: 1px solid rgba(82, 106, 80, 0.12);
    background: rgba(255, 255, 255, 0.96);
}

.design-reference-card img {
    width: 100%;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.rewards-modal__panel.design-preview-modal {
    max-width: 840px;
}

.design-preview-frame {
    display: grid;
    place-items: center;
    padding: 1rem;
    border-radius: var(--radius-lg);
    background: rgba(245, 247, 241, 0.96);
}

.design-preview-frame img {
    max-width: 100%;
    border-radius: var(--radius-md);
    box-shadow: 0 18px 44px rgba(35, 65, 53, 0.12);
}

.design-preview-frame__image {
    display: block;
}

.design-preview-frame__image--hidden {
    display: none;
}

.design-preview-loading {
    display: grid;
    gap: 0.35rem;
    justify-items: center;
    text-align: center;
    color: var(--color-text-muted);
    padding: 2.5rem 1rem;
}

.design-preview-frame--admin {
    margin-bottom: 1rem;
}

.loyalty-list__item--link {
    color: inherit;
    text-decoration: none;
}

.catering-json-view {
    min-height: 220px;
    font-family: Consolas, "Courier New", monospace;
    font-size: 0.85rem;
}

@media (max-width: 1320px) {
    .design-workbench {
        grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
        grid-template-areas:
            "canvas canvas"
            "tools settings";
    }

    .design-workbench__canvas {
        grid-area: canvas;
    }

    .design-workbench__tools {
        grid-area: tools;
    }

    .design-workbench__settings {
        grid-area: settings;
    }
}

@media (max-width: 980px) {
    .design-workbench {
        grid-template-columns: 1fr;
        grid-template-areas:
            "canvas"
            "tools"
            "settings";
    }

    .design-workbench__tools,
    .design-workbench__settings {
        position: static;
        max-height: none;
        overflow: visible;
    }

    .design-canvas-shell {
        min-height: 34rem;
    }
}

@media (max-width: 720px) {
    .design-canvas-shell {
        padding: 0.9rem;
        min-height: 28rem;
    }

    .design-stage-header__badges,
    .design-canvas-meta {
        display: grid;
        gap: 0.5rem;
    }

    .design-tool-grid {
        grid-template-columns: 1fr;
    }
}

.coreza-map-marker--driver {
    width: 26px;
    height: 26px;
    background: radial-gradient(circle at 35% 35%, #82f0c6 0, #27b37b 44%, #0e6d47 100%);
    box-shadow: 0 0 0 7px rgba(14, 109, 71, 0.18);
}

.dispatch-layout {
    display: grid;
    gap: 1.5rem;
    grid-template-columns: 1.15fr 1fr;
}

.dispatch-map {
    min-height: 26rem;
}

.dispatch-queue-list,
.dispatch-stops,
.dispatch-manifest-grid,
.driver-stop-list {
    display: grid;
    gap: 1rem;
}

.dispatch-queue-item,
.dispatch-manifest-card,
.dispatch-stop-card,
.driver-stop-list__item {
    display: grid;
    gap: 0.75rem;
    border: 1px solid rgba(14, 109, 71, 0.14);
    border-radius: 1.25rem;
    background: #fffef9;
    padding: 1rem 1.1rem;
}

.dispatch-queue-item {
    grid-template-columns: auto 1fr auto;
    align-items: start;
}

.dispatch-manifest-grid {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.dispatch-manifest-card {
    color: inherit;
    text-decoration: none;
}

.dispatch-stop-card {
    grid-template-columns: 1fr auto;
    align-items: start;
}

.dispatch-stop-card--active,
.driver-stop-list__item--current {
    border-color: rgba(14, 109, 71, 0.45);
    box-shadow: 0 16px 36px rgba(14, 109, 71, 0.08);
}

.dispatch-stop-card__meta {
    display: grid;
    gap: 0.65rem;
    justify-items: end;
}

.dispatch-stop-order-input {
    width: 5rem;
}

.dispatch-scan-card,
.driver-hero-card,
.driver-stop-card {
    border-radius: 1.5rem;
    background: linear-gradient(180deg, #fffef9 0%, #f7f4ea 100%);
    border: 1px solid rgba(14, 109, 71, 0.14);
    padding: 1.25rem;
}

.driver-portal {
    min-height: 100vh;
    background: linear-gradient(180deg, #f4f0e3 0%, #eef5ee 100%);
}

.driver-topbar {
    position: sticky;
    top: 0;
    z-index: 20;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
    background: rgba(18, 37, 31, 0.96);
    color: #f9f6ec;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.driver-topbar__brand {
    display: flex;
    align-items: center;
    gap: 0.9rem;
}

.driver-topbar__brand img {
    width: 2.75rem;
    height: 2.75rem;
    object-fit: contain;
}

.driver-topbar__brand span {
    display: block;
    font-size: 0.88rem;
    color: rgba(249, 246, 236, 0.78);
}

.driver-topbar .portal-account-menu__toggle,
.driver-topbar .portal-account-menu__toggle--link {
    background: rgba(255, 255, 255, 0.08);
    color: #f9f6ec;
}

.driver-portal__content {
    max-width: 72rem;
    margin: 0 auto;
    padding: 1rem;
}

.driver-nav {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.driver-nav a {
    padding: 0.75rem 1rem;
    border-radius: 999px;
    background: rgba(14, 109, 71, 0.08);
    color: #244c3a;
    text-decoration: none;
    font-weight: 600;
}

.driver-nav a.active {
    background: #0e6d47;
    color: #fffef8;
}

.driver-dashboard-grid {
    display: grid;
    gap: 1rem;
}

.driver-stop-card--current h2 {
    margin: 0.25rem 0 0.75rem;
}

.driver-stop-card__body {
    display: grid;
    gap: 0.75rem;
}

.driver-action-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.driver-stop-list__item {
    color: inherit;
    text-decoration: none;
}

.delivery-scanner {
    display: grid;
    gap: 0.85rem;
    margin-top: 1rem;
}

.delivery-scanner__controls {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.delivery-scanner__viewport {
    min-height: 14rem;
    border-radius: 1rem;
    border: 1px dashed rgba(14, 109, 71, 0.28);
    background: rgba(14, 109, 71, 0.04);
    overflow: hidden;
}

.delivery-qr-display {
    display: grid;
    gap: 0.75rem;
    justify-items: center;
    margin: 1rem 0;
}

.delivery-qr-display__canvas {
    min-height: 10rem;
    min-width: 10rem;
    display: grid;
    place-items: center;
    padding: 0.75rem;
    background: #fff;
    border-radius: 1rem;
    border: 1px solid rgba(14, 109, 71, 0.12);
}

.delivery-qr-display__value {
    padding: 0.5rem 0.7rem;
    border-radius: 0.75rem;
    background: rgba(14, 109, 71, 0.06);
    color: #244c3a;
    word-break: break-all;
}

@media (max-width: 960px) {
    .dispatch-layout {
        grid-template-columns: 1fr;
    }

    .dispatch-stop-card,
    .dispatch-queue-item {
        grid-template-columns: 1fr;
    }

    .dispatch-stop-card__meta {
        justify-items: start;
    }

    .driver-action-grid {
        grid-template-columns: 1fr;
    }
}

.status-banner--error {
    border-color: rgba(154, 61, 61, 0.2);
    background: rgba(247, 232, 232, 0.9);
    color: #7b2f2f;
}

.storefront-chip--active {
    background: #0e6d47;
    border-color: rgba(14, 109, 71, 0.5);
    color: #fffef8;
    cursor: pointer;
}

.oh-mobile-top,
.oh-mobile-bottom-nav {
    display: none;
}

@media (max-width: 760px) {
    :root {
        --oh-mobile-green: #1b744a;
        --oh-mobile-green-dark: #0e4f31;
        --oh-mobile-cream: #fff5df;
        --oh-mobile-pink: #f29ab4;
        --oh-mobile-font: var(--font-graphic);
    }

    html,
    body {
        background: var(--oh-mobile-cream);
    }

    .public-portal {
        --oh-mobile-gutter: clamp(0.75rem, 3.4vw, 1.1rem);
        background: var(--oh-mobile-cream);
    }

    .public-portal::before {
        content: "";
        position: fixed;
        z-index: 650;
        top: 0;
        left: 0;
        width: 100%;
        height: calc(env(safe-area-inset-top, 0px) + 5.5rem);
        background: var(--oh-mobile-green);
        pointer-events: none;
    }

    .public-portal > .announcement-bar,
    .public-portal > .public-nav,
    .public-portal > .main-footer,
    .public-portal > .floating-rewards-button,
    .floating-rewards {
        display: none !important;
    }

    .public-portal .shell-main {
        width: 100%;
        max-width: none;
        margin: 0;
        padding: 0 0 6.7rem;
        background: var(--oh-mobile-cream);
        overflow-x: clip;
    }

    .public-portal .page-section {
        width: 100%;
        max-width: 100%;
        padding: 1.35rem var(--oh-mobile-gutter) 2rem;
        background: var(--oh-mobile-cream);
        overflow-x: clip;
    }

    .public-portal .shell-container {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        padding-inline: 0;
    }

    .public-portal .storefront-grid,
    .public-portal .cart-layout,
    .public-portal .checkout-layout,
    .public-portal .merchant-locator-layout,
    .shop-mobile-page .shell-container,
    .find-mobile-page .shell-container,
    .cart-mobile-page .shell-container,
    .login-mobile-page .shell-container {
        width: calc(100svw - (var(--oh-mobile-gutter, 0.9rem) * 2));
        max-width: calc(100svw - (var(--oh-mobile-gutter, 0.9rem) * 2));
        margin-inline: 0;
    }

    .public-portal .shell-container > *,
    .public-portal .page-section *,
    .home-landing-layout * {
        min-width: 0;
    }

    .public-portal h1,
    .public-portal h2,
    .public-portal h3,
    .public-portal .button,
    .public-portal button {
        overflow-wrap: anywhere;
    }

    .public-portal p,
    .public-portal small,
    .public-portal input,
    .public-portal textarea,
    .public-portal select,
    .public-portal .helper-copy,
    .public-portal .table-subtext,
    .public-portal .field-group label,
    .public-portal .summary-line-item span,
    .public-portal .summary-line-item strong,
    .public-portal .loyalty-list__meta,
    .public-portal .customer-dash-list,
    .public-portal .customer-dash-rewards__list {
        font-family: var(--font-sans);
    }

    .home-landing-layout {
        padding-bottom: 5.8rem;
    }

    .oh-mobile-top {
        --oh-menu-head: clamp(7.6rem, 16svh, 9.35rem);
        --oh-ease-menu: cubic-bezier(0.16, 0.86, 0.2, 1);
        --oh-ease-menu-close: cubic-bezier(0.52, 0, 0.18, 1);
        --oh-menu-spine-stroke: rgba(255, 245, 223, 0.88);
        position: sticky;
        top: 0;
        z-index: 700;
        width: 100%;
        max-width: none;
        min-height: 5.45rem;
        display: grid;
        grid-template-columns: 3.3rem 1fr 3.3rem;
        align-items: center;
        margin: 0 auto;
        padding: 1rem 1.3rem 0.9rem;
        border-bottom-left-radius: 2.4rem;
        border-bottom-right-radius: 2.4rem;
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        transition:
            min-height 1180ms var(--oh-ease-menu-close),
            padding 1180ms var(--oh-ease-menu-close),
            border-radius 1180ms var(--oh-ease-menu-close),
            transform 260ms ease;
        will-change: transform;
    }

    .oh-mobile-top.is-scroll-hidden:not(.is-menu-open) {
        transform: translateY(calc(-100% - 0.4rem));
    }

    .oh-mobile-top.is-menu-open {
        position: sticky;
        left: 0;
        width: 100vw;
        min-height: var(--oh-menu-head);
        align-items: start;
        padding: 1.15rem 1.35rem 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
        transition:
            min-height 1450ms var(--oh-ease-menu),
            padding 1450ms var(--oh-ease-menu),
            border-radius 1450ms var(--oh-ease-menu);
    }

    .oh-mobile-menu-button {
        width: 2.4rem;
        height: 2.4rem;
        display: grid;
        place-items: center;
        gap: 0.23rem;
        padding: 0.58rem;
        border: 2px solid var(--oh-mobile-cream);
        border-radius: 999px;
        background: transparent;
        cursor: pointer;
        z-index: 3;
        transition:
            background-color 260ms ease,
            border-color 260ms ease,
            transform 1180ms var(--oh-ease-menu-close);
    }

    .oh-mobile-menu-button:hover {
        transform: translateY(-1px) scale(1.04);
        background: rgba(255, 245, 223, 0.12);
    }

    .oh-mobile-menu-button:active {
        transform: translateY(1px) scale(0.9);
        transition-duration: 90ms;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-button {
        background: var(--oh-mobile-cream);
        border-color: var(--oh-mobile-cream);
        transform: scale(1.08);
        transition:
            background-color 320ms ease,
            border-color 320ms ease,
            transform 1450ms var(--oh-ease-menu);
    }

    .oh-mobile-menu-button span {
        width: 1.05rem;
        height: 0.14rem;
        border-radius: 999px;
        background: var(--oh-mobile-cream);
        transition: background-color 260ms ease;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-button span {
        background: var(--oh-mobile-green);
    }

    .oh-mobile-brand {
        z-index: 3;
        justify-self: center;
        color: var(--oh-mobile-cream);
        font-family: var(--oh-mobile-font);
        font-size: clamp(1.28rem, 5.1vw, 1.65rem);
        line-height: 1;
        text-decoration: none;
        text-transform: uppercase;
        transition: font-size 1180ms var(--oh-ease-menu-close);
    }

    .oh-mobile-top.is-menu-open .oh-mobile-brand {
        font-size: clamp(1.9rem, 8.5vw, 2.55rem);
        transition: font-size 1450ms var(--oh-ease-menu);
    }

    .oh-mobile-menu-spine {
        position: fixed;
        z-index: 691;
        top: 5.25rem;
        left: 0;
        width: 100vw;
        height: 4.8rem;
        pointer-events: none;
        opacity: 0;
        transform-origin: 0 0;
        transform: scaleY(0.04);
        transition:
            top 1180ms var(--oh-ease-menu-close),
            transform 1180ms var(--oh-ease-menu-close),
            opacity 420ms ease;
        will-change: top, transform, opacity;
    }

    .oh-mobile-menu-spine svg {
        display: block;
        width: 100%;
        height: 100%;
        overflow: visible;
    }

    .oh-mobile-menu-spine path {
        fill: var(--oh-mobile-green);
        stroke: none;
    }

    .oh-mobile-menu-spine__fill {
        opacity: 0;
        fill: var(--oh-mobile-green) !important;
        stroke: none !important;
        transition: opacity 220ms ease;
    }

    .oh-mobile-menu-spine__straight {
        opacity: 0;
        stroke-dasharray: 1;
        stroke-dashoffset: 0;
        transition: opacity 180ms ease;
    }

    .oh-mobile-menu-spine .oh-mobile-menu-spine__squiggle {
        opacity: 0;
        stroke: none;
        stroke-dasharray: 1;
        stroke-dashoffset: 1;
        transition: opacity 180ms ease;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-spine {
        top: calc(var(--oh-menu-head) - 0.25rem);
        left: 0;
        width: 100vw;
        opacity: 1;
        transform: scaleY(1);
        transition:
            top 1450ms var(--oh-ease-menu),
            transform 1450ms var(--oh-ease-menu),
            opacity 360ms ease;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-spine__fill {
        opacity: 1;
        transition: opacity 260ms ease;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-spine__straight {
        opacity: 0;
        stroke-dashoffset: 1;
        transition: opacity 180ms ease;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-spine .oh-mobile-menu-spine__squiggle {
        opacity: 0;
        stroke-dashoffset: 0;
        transition: opacity 180ms ease;
    }

    .oh-mobile-menu-panel {
        position: fixed;
        z-index: 690;
        top: calc(var(--oh-menu-head) - 0.2rem);
        left: 0;
        width: 100vw;
        min-height: calc(100svh - var(--oh-menu-head) + 0.2rem);
        display: grid;
        align-content: start;
        gap: clamp(0.6rem, 2svh, 1.15rem);
        padding:
            clamp(1.95rem, 4.6svh, 2.85rem)
            2.2rem
            2rem;
        visibility: hidden;
        opacity: 0;
        pointer-events: none;
        transform: translateY(-116%);
        transition:
            opacity 160ms ease,
            transform 1180ms var(--oh-ease-menu-close);
        will-change: transform;
        contain: layout paint style;
    }

    .oh-mobile-menu-panel::before {
        content: none;
        position: absolute;
        z-index: 0;
        top: -4.6rem;
        left: -10vw;
        width: 120vw;
        height: 7.4rem;
        border-radius: 50%;
        background: var(--oh-mobile-cream);
        pointer-events: none;
    }

    .oh-mobile-menu-panel::after {
        content: "";
        position: absolute;
        z-index: 0;
        inset: 0;
        background: var(--oh-mobile-cream);
        pointer-events: none;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel,
    .oh-mobile-menu-panel.is-open {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translateY(0);
        transition:
            opacity 180ms ease 130ms,
            transform 1450ms var(--oh-ease-menu) 85ms;
    }

    .oh-mobile-menu-panel a,
    .oh-mobile-menu-panel button {
        position: relative;
        z-index: 1;
        color: var(--oh-mobile-green);
        font-family: var(--oh-mobile-font);
        font-size: clamp(2.45rem, 11.5vw, 4.15rem);
        line-height: 0.9;
        text-decoration: none;
        text-transform: uppercase;
        opacity: 0;
        transform: translateY(1.1rem) rotate(-1deg);
        transition:
            opacity 520ms ease,
            transform 680ms cubic-bezier(0.19, 1, 0.22, 1);
    }

    .oh-mobile-menu-panel button {
        width: fit-content;
        padding: 0;
        border: 0;
        background: transparent;
        cursor: pointer;
        text-align: left;
    }

    .oh-mobile-menu-logout {
        position: relative;
        z-index: 1;
        margin: 0;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel a,
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel button,
    .oh-mobile-menu-panel.is-open a,
    .oh-mobile-menu-panel.is-open button {
        opacity: 1;
        transform: translateY(0) rotate(-1deg);
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(1) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(1) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(1),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(1) { transition-delay: 140ms; }
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(2) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(2) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(2),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(2) { transition-delay: 185ms; }
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(3) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(3) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(3),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(3) { transition-delay: 230ms; }
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(4) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(4) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(4),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(4) { transition-delay: 275ms; }
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(5) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(5) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(5),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(5) { transition-delay: 320ms; }
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(6) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(6) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(6),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(6) { transition-delay: 365ms; }
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > :nth-child(7) :is(a, button),
    .oh-mobile-menu-panel.is-open > :nth-child(7) :is(a, button),
    .oh-mobile-menu-panel.is-open > a:nth-child(7),
    .oh-mobile-top.is-menu-open .oh-mobile-menu-panel > a:nth-child(7) { transition-delay: 410ms; }

    .oh-mobile-bottom-nav {
        position: fixed;
        left: 50%;
        bottom: 0;
        z-index: 650;
        width: 100%;
        max-width: none;
        min-height: 5.3rem;
        display: grid;
        grid-template-columns: repeat(5, 1fr);
        align-items: center;
        gap: 0.1rem;
        padding: 0.75rem 1.05rem 0.9rem;
        border-top-left-radius: 2rem;
        border-top-right-radius: 2rem;
        background: var(--oh-mobile-green);
        transform: translateX(-50%);
    }

    .oh-mobile-bottom-nav a {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 3rem;
        color: var(--oh-mobile-cream);
        text-decoration: none;
        transform: translateY(0) scale(1);
        transition:
            transform 180ms var(--press-ease),
            color 180ms ease,
            opacity 180ms ease;
        -webkit-tap-highlight-color: transparent;
    }

    .oh-mobile-bottom-nav a:hover {
        transform: translateY(-3px) scale(1.06);
    }

    .oh-mobile-bottom-nav a:active {
        transform: translateY(2px) scale(0.9);
        opacity: 0.82;
    }

    .oh-mobile-bottom-nav svg {
        width: 2.25rem;
        height: 2.25rem;
        fill: none;
        stroke: currentColor;
        stroke-width: 1.85;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .oh-mobile-bottom-nav__cart span {
        position: absolute;
        top: 0.05rem;
        right: 0.55rem;
        min-width: 1.15rem;
        min-height: 1.15rem;
        display: inline-grid;
        place-items: center;
        border-radius: 999px;
        background: var(--oh-mobile-pink);
        color: var(--oh-mobile-green-dark);
        font: 400 0.72rem/1 var(--oh-mobile-font);
    }

    .merchant-map {
        z-index: 1;
        isolation: isolate;
    }

    .merchant-map .leaflet-container,
    .merchant-map .leaflet-pane,
    .merchant-map .leaflet-map-pane,
    .merchant-map .leaflet-tile-pane,
    .merchant-map .leaflet-overlay-pane,
    .merchant-map .leaflet-shadow-pane,
    .merchant-map .leaflet-marker-pane,
    .merchant-map .leaflet-tooltip-pane,
    .merchant-map .leaflet-popup-pane,
    .merchant-map .leaflet-control-container,
    .merchant-map .leaflet-top,
    .merchant-map .leaflet-bottom {
        z-index: 1 !important;
    }

    .merchant-map .leaflet-control {
        z-index: 2 !important;
    }

    .toast-stack {
        left: 50%;
        right: auto;
        bottom: 6.15rem;
        width: min(88vw, 21rem);
        transform: translateX(-50%);
        gap: 0.35rem;
        z-index: 900;
    }

    .toast[data-toast-group="cart-update"] {
        min-height: 0;
        gap: 0;
        padding: 0.72rem 0.9rem;
        border: 1px solid rgba(255, 245, 223, 0.46);
        border-radius: 1rem;
        background:
            linear-gradient(135deg, rgba(255, 245, 223, 0.66), rgba(177, 218, 190, 0.6)),
            rgba(255, 245, 223, 0.62);
        box-shadow: 0 0.8rem 2rem rgba(14, 79, 49, 0.18);
        color: var(--oh-mobile-green-dark);
        backdrop-filter: blur(16px) saturate(1.14);
        animation: mobile-cart-toast-in 180ms ease-out;
    }

    .toast[data-toast-group="cart-update"]::before,
    .toast[data-toast-group="cart-update"] .toast__actions {
        display: none;
    }

    .toast[data-toast-group="cart-update"] .toast__content {
        gap: 0.18rem;
    }

    .toast[data-toast-group="cart-update"] .toast__content strong {
        font: 400 0.98rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .toast[data-toast-group="cart-update"] .toast__content p {
        color: rgba(14, 79, 49, 0.8);
        font-size: 0.86rem;
        line-height: 1.25;
    }

    .shop-mobile-page {
        color: var(--oh-mobile-green);
        font-family: var(--font-sans);
    }

    .shop-mobile-page .shell-container {
        display: grid;
        gap: 1.25rem;
        overflow-x: clip;
    }

    .shop-mobile-hero {
        display: none;
    }

    .shop-mobile-search {
        display: block;
        width: 100%;
        max-width: 100%;
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        overflow: visible;
    }

    .shop-mobile-search label,
    .shop-mobile-search .button {
        display: none;
    }

    .shop-mobile-search .storefront-search__row {
        display: block;
        width: 100%;
        min-width: 0;
    }

    .shop-mobile-search .shop-search-input-shell {
        width: 100%;
    }

    .shop-mobile-search .text-input {
        display: block;
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 3.4rem;
        padding: 0.7rem 1.25rem;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.75rem;
        background: transparent;
        color: var(--oh-mobile-green);
        font: 400 clamp(1.35rem, 7vw, 1.7rem)/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .shop-mobile-search .shop-search-animated-placeholder {
        left: 1.25rem;
        max-width: calc(100% - 2.5rem);
        color: rgba(27, 116, 74, 0.2);
        font: 400 clamp(0.78rem, 3.35vw, 0.95rem)/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .shop-mobile-search .shop-search-animated-placeholder__words {
        color: rgba(27, 116, 74, 0.58);
    }

    .shop-mobile-search .text-input::placeholder {
        color: transparent;
        opacity: 1;
    }

    .shop-mobile-categories {
        display: grid;
        width: 100%;
        max-width: 100%;
        grid-template-columns: repeat(auto-fit, minmax(min(100%, 8.5rem), 1fr));
        gap: 0.55rem;
        margin: 0.6rem 0 0.45rem;
        overflow: visible;
    }

    .shop-mobile-filter-tools {
        margin: 0.15rem 0 -0.2rem;
    }

    .shop-mobile-favorites-filter {
        width: fit-content;
        min-height: 2.65rem;
        padding: 0.42rem 0.78rem;
        border: 2px solid #d93e6f;
        background: #ffd7e3;
        color: #b83963;
        box-shadow: 0.22rem 0.22rem 0 rgba(159, 36, 77, 0.28);
        font: 400 clamp(0.82rem, 4vw, 1rem)/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .shop-mobile-favorites-filter--active {
        background: #d93e6f;
        color: var(--oh-mobile-cream);
        box-shadow: 0.28rem 0.28rem 0 #9f244d;
    }

    .shop-mobile-favorites-filter strong {
        min-width: 1.25rem;
        height: 1.25rem;
        background: #b83963;
        color: var(--oh-mobile-cream);
        font: 900 clamp(0.52rem, 2.35vw, 0.66rem)/1 var(--font-sans);
    }

    .shop-mobile-favorites-filter--active strong {
        background: var(--oh-mobile-cream);
        color: #b83963;
    }

    .shop-mobile-categories .filter-chip {
        min-height: 3.45rem;
        justify-content: center;
        gap: 0.35rem;
        padding: 0.45rem 0.45rem;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.75rem;
        background: transparent;
        color: var(--oh-mobile-green);
        box-shadow: none;
        font: 400 clamp(0.95rem, 4.75vw, 1.22rem)/0.92 var(--oh-mobile-font);
        text-align: center;
        text-transform: uppercase;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .shop-mobile-categories .filter-chip__label {
        min-width: 0;
    }

    .shop-mobile-categories .filter-chip__count {
        min-width: 1.18rem;
        height: 1.18rem;
        padding: 0 0.28rem;
        border: 2px solid currentColor;
        background: rgba(255, 245, 223, 0.72);
        color: inherit;
        font: 900 clamp(0.52rem, 2.35vw, 0.66rem)/1 var(--font-sans);
    }

    .shop-mobile-categories .filter-chip--active {
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        box-shadow: 0.35rem 0.35rem 0 var(--oh-mobile-green-dark);
    }

    .shop-mobile-categories .filter-chip--active .filter-chip__count {
        background: rgba(255, 245, 223, 0.18);
    }

    .shop-mobile-grid {
        display: grid;
        width: 100%;
        max-width: 100%;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.9rem 0.78rem;
        overflow: hidden;
    }

    .shop-mobile-page .storefront-card {
        min-height: 0;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
        color: var(--oh-mobile-green);
    }

    .shop-mobile-page .storefront-card__favorite {
        top: 0.35rem;
        right: 0.35rem;
        width: 1.95rem;
        height: 1.95rem;
        border: 2px solid var(--oh-mobile-green);
        background: rgba(255, 245, 223, 0.82);
        color: var(--oh-mobile-green);
        box-shadow: 0.18rem 0.18rem 0 rgba(9, 78, 46, 0.24);
        font-size: 0.88rem;
    }

    .shop-mobile-page .storefront-card__favorite--active {
        border-color: #d93e6f;
        background: #ffd7e3;
        color: #d93e6f;
    }

    .shop-mobile-page .storefront-card__image-link {
        height: auto;
        aspect-ratio: 1 / 1.06;
        margin: 0 0 0.68rem;
        border-radius: 1.15rem;
        background: #eed28f;
    }

    .shop-mobile-page .storefront-card__image {
        object-fit: cover;
    }

    .shop-mobile-page .storefront-card__content {
        gap: 0;
        text-align: center;
    }

    .shop-mobile-page .storefront-card__meta,
    .shop-mobile-page .storefront-card p,
    .shop-mobile-page .storefront-card__details-link {
        display: none;
    }

    .shop-mobile-page .storefront-card h3 {
        margin: 0;
        min-height: 3.2rem;
        font: 400 clamp(1rem, 4vw, 1.24rem)/0.92 var(--oh-mobile-font);
        text-wrap: balance;
        text-transform: uppercase;
        overflow-wrap: anywhere;
    }

    .shop-mobile-page .storefront-card h3 a {
        display: block;
        color: var(--oh-mobile-green);
        text-decoration: none;
    }

    .shop-mobile-page .storefront-card h3::after {
        content: "Ceremonial grade";
        display: block;
        margin-top: 0.22rem;
        font-size: clamp(0.38rem, 2vw, 0.56rem);
        line-height: 1;
    }

    .shop-mobile-page .storefront-card__footer {
        margin-top: 0.38rem;
    }

    .shop-mobile-page .storefront-card__footer-row--top {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
        place-items: center;
        justify-items: center;
        justify-content: center;
        gap: 0.12rem;
        margin-bottom: 0.35rem;
        text-align: center;
    }

    .shop-mobile-page .storefront-card__price {
        display: flex;
        align-items: baseline;
        justify-content: center;
        justify-self: center;
        align-self: center;
        gap: 0.18rem;
        width: fit-content;
        min-width: 0;
        margin-inline: auto;
        padding: 0.08rem 0.38rem 0.12rem;
        border: 1px solid rgba(27, 116, 74, 0.2);
        border-radius: 999px;
        background: rgba(255, 245, 223, 0.7);
        color: var(--oh-mobile-green);
    }

    .shop-mobile-page .storefront-card__price strong {
        color: inherit;
        font: 400 clamp(0.78rem, 3.65vw, 0.98rem)/1 var(--oh-mobile-font);
        letter-spacing: 0;
    }

    .shop-mobile-page .storefront-card__price span {
        color: inherit;
        font: 900 clamp(0.48rem, 2.2vw, 0.58rem)/1 var(--font-sans);
        letter-spacing: 0.03em;
        text-transform: uppercase;
    }

    .shop-mobile-page .storefront-card__footer-row--bottom {
        display: block;
    }

    .shop-mobile-page .storefront-card__add-button,
    .shop-mobile-page .storefront-quantity-picker--in-cart {
        width: 100%;
        min-height: 3.05rem;
        padding: 0.42rem 0.3rem;
        border-radius: 0.65rem;
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        font: 400 clamp(0.76rem, 3.7vw, 0.98rem)/0.95 var(--oh-mobile-font);
        text-align: center;
        text-transform: uppercase;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .shop-mobile-page .storefront-quantity-picker--in-cart {
        display: grid;
        grid-template-columns: 1fr auto 1fr;
        align-items: center;
        gap: 0.35rem;
        padding: 0.25rem;
    }

    .shop-mobile-page .storefront-quantity-button {
        width: 100%;
        height: 2.55rem;
        border-radius: 0.5rem;
        background: transparent;
        color: inherit;
        font: inherit;
    }

    .shop-mobile-page .storefront-quantity-value {
        min-width: 1.8rem;
        color: inherit;
        font: inherit;
        text-align: center;
    }

    .shop-mobile-featured {
        --featured-slide-gap: 0.65rem;
        --featured-visible-slides: 3;
        width: 100%;
        max-width: 100%;
        margin: 2.4rem 0 0;
        padding: 2rem 0.78rem 1.9rem;
        border-radius: 2rem;
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
    }

    .shop-mobile-featured h2 {
        max-width: 22rem;
        margin: 0 auto 1.65rem;
        color: var(--oh-mobile-cream);
        font: 400 clamp(1.55rem, 7.8vw, 2.3rem)/0.92 var(--oh-mobile-font);
        text-align: center;
        text-transform: uppercase;
    }

    .shop-mobile-featured .storefront-card h3 a,
    .shop-mobile-featured .storefront-card h3 {
        color: var(--oh-mobile-cream);
    }

    .shop-mobile-featured .storefront-card__add-button,
    .shop-mobile-featured .storefront-quantity-picker--in-cart {
        background: var(--oh-mobile-cream);
        color: var(--oh-mobile-green);
    }

    .shop-mobile-featured .storefront-card__price {
        border-color: rgba(255, 245, 223, 0.34);
        background: rgba(255, 245, 223, 0.16);
        color: var(--oh-mobile-cream);
    }

    .shop-mobile-featured .shop-featured-carousel__viewport {
        padding: 0.05rem;
    }

    .shop-mobile-featured .shop-featured-carousel__track {
        align-items: stretch;
    }

    .shop-mobile-featured .shop-featured-carousel__slide {
        width: var(--featured-slide-width);
        min-width: var(--featured-slide-width);
    }

    @media (min-width: 700px) {
        .shop-mobile-grid {
            grid-template-columns: repeat(3, minmax(0, 1fr));
            gap: 1rem 0.95rem;
        }

        .shop-mobile-page .storefront-card__image-link {
            aspect-ratio: 1 / 1.02;
        }
    }

    @media (min-width: 980px) {
        .shop-mobile-grid {
            grid-template-columns: repeat(auto-fit, minmax(14.5rem, 1fr));
        }
    }

    @media (max-width: 430px) {
        .shop-mobile-grid {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 0.8rem 0.65rem;
        }

        .shop-mobile-featured {
            --featured-visible-slides: 2;
        }

        .shop-mobile-categories {
            grid-template-columns: repeat(2, minmax(0, 1fr));
        }
    }

    .find-mobile-page {
        color: var(--oh-mobile-green);
        font-family: var(--font-sans);
    }

    .find-mobile-page .shell-container {
        display: grid;
        gap: 0.75rem;
    }

    .find-mobile-heading {
        display: grid;
        gap: 0.2rem;
        padding-top: 0.35rem;
    }

    .find-mobile-heading .eyebrow,
    .find-mobile-heading p {
        display: none;
    }

    .find-mobile-heading h1 {
        margin: 0;
        color: var(--oh-mobile-green);
        font: 400 clamp(2rem, 9.6vw, 3.25rem)/0.9 var(--oh-mobile-font);
        text-wrap: balance;
        text-transform: uppercase;
    }

    .find-mobile-status {
        margin: 0;
        border: 0;
        border-radius: 0.8rem;
        background: rgba(27, 116, 74, 0.08);
        color: var(--oh-mobile-green-dark);
        font-size: 0.9rem;
    }

    .find-mobile-location-action {
        margin: -0.35rem 0 0;
    }

    .find-mobile-location-action .button {
        display: none;
    }

    .find-mobile-location-action .helper-copy {
        color: rgba(14, 79, 49, 0.72);
        font-size: 0.86rem;
        line-height: 1.25;
    }

    .find-mobile-category-bar {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 0.58rem;
        margin: -0.1rem 0 0.1rem;
    }

    .find-mobile-category-bar .filter-chip {
        justify-content: center;
        min-height: 3rem;
        padding: 0.45rem 0.4rem;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.78rem;
        background: transparent;
        color: var(--oh-mobile-green);
        box-shadow: none;
    }

    .find-mobile-category-bar .filter-chip--active {
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        box-shadow: 0.2rem 0.2rem 0 var(--oh-mobile-green-dark);
    }

    .find-mobile-category-bar .filter-chip__label {
        font: 400 clamp(0.78rem, 3.7vw, 1rem)/0.92 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .find-mobile-category-bar .filter-chip__count {
        min-width: 1.3rem;
        height: 1.3rem;
        background: rgba(27, 116, 74, 0.12);
        color: inherit;
        font-size: 0.68rem;
    }

    .find-mobile-category-bar .filter-chip--active .filter-chip__count {
        background: rgba(255, 245, 223, 0.24);
    }

    .find-mobile-page .merchant-locator-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .find-mobile-page .admin-panel {
        padding: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
    }

    .find-mobile-map-card {
        position: relative;
        overflow: hidden;
        border-radius: 1.7rem;
    }

    .find-mobile-map-card .merchant-map {
        min-height: 0;
        height: clamp(20rem, 48svh, 32rem);
        border: 0;
        border-radius: 1.7rem;
        overflow: hidden;
        background: #dfeee9;
    }

    .find-mobile-type-row {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1rem;
        margin: 0.25rem 0 1.05rem;
    }

    .find-mobile-type-row span {
        min-height: 3.35rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.75rem;
        color: var(--oh-mobile-green);
        font: 400 clamp(1.05rem, 5vw, 1.45rem)/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .find-mobile-type-row span:nth-child(2),
    .find-mobile-type-row span:nth-child(3) {
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        box-shadow: 0.35rem 0.35rem 0 var(--oh-mobile-green-dark);
    }

    .find-mobile-merchant-list {
        display: grid;
        gap: 0.5rem;
    }

    .find-mobile-merchant-row {
        display: grid;
        gap: 0.22rem;
        padding: 0.1rem 0;
    }

    .find-mobile-merchant-row button {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 0.75rem;
        align-items: baseline;
        padding: 0;
        border: 0;
        background: transparent;
        color: var(--oh-mobile-green);
        cursor: pointer;
        text-align: left;
        text-transform: uppercase;
    }

    .find-mobile-merchant-row span,
    .find-mobile-merchant-row strong {
        font: 400 clamp(1.15rem, 5.6vw, 1.85rem)/0.98 var(--oh-mobile-font);
    }

    .find-mobile-merchant-row strong {
        justify-self: end;
        white-space: nowrap;
    }

    .find-mobile-merchant-row a {
        width: max-content;
        color: rgba(14, 79, 49, 0.78);
        font-size: 0.78rem;
        text-decoration: none;
        text-transform: uppercase;
    }

    .find-mobile-merchant-row--active {
        margin-inline: -0.45rem;
        padding: 0.45rem;
        border-radius: 0.75rem;
        background: rgba(27, 116, 74, 0.1);
    }

    .find-mobile-merchant-row--active button,
    .find-mobile-merchant-row--active a {
        color: var(--oh-mobile-green-dark);
    }
}

.order-feedback-modal {
    max-width: 56rem;
    background:
        radial-gradient(circle at top left, rgba(156, 175, 136, 0.16), transparent 28%),
        linear-gradient(180deg, rgba(255, 254, 249, 0.99) 0%, rgba(248, 245, 236, 0.98) 100%);
}

.order-feedback-form {
    display: grid;
    gap: 1rem;
}

.order-feedback-hero {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.order-feedback-hero__badge {
    min-width: 9rem;
    padding: 0.95rem 1rem;
    border-radius: 1.25rem;
    background: linear-gradient(180deg, rgba(14, 109, 71, 0.1) 0%, rgba(14, 109, 71, 0.03) 100%);
    border: 1px solid rgba(14, 109, 71, 0.14);
    text-align: center;
}

.order-feedback-hero__badge span {
    display: block;
    margin-bottom: 0.15rem;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #5f6d63;
}

.order-feedback-hero__badge strong {
    color: #244c3a;
}

.order-feedback-question {
    display: grid;
    gap: 0.75rem;
}

.order-feedback-question > label {
    font-weight: 700;
    color: #244c3a;
}

.order-feedback-question-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem 1.05rem;
    border-radius: 1.35rem;
    border: 1px solid rgba(14, 109, 71, 0.12);
    background: rgba(255, 255, 252, 0.92);
    box-shadow: 0 14px 34px rgba(18, 29, 23, 0.04);
}

.order-feedback-question-card__header {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.8rem;
    align-items: start;
}

.order-feedback-question-card__header p {
    margin: 0.2rem 0 0;
    color: #5f6d63;
    font-size: 0.95rem;
}

.order-feedback-step {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(14, 109, 71, 0.1);
    color: #0e6d47;
    font-weight: 700;
}

.order-feedback-scale {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.75rem;
}

.order-feedback-choice {
    position: relative;
    display: grid;
    gap: 0.28rem;
    justify-items: center;
    align-content: center;
    min-height: 6rem;
    padding: 0.8rem 0.55rem;
    border-radius: 1.25rem;
    border: 1px solid rgba(14, 109, 71, 0.12);
    background: linear-gradient(180deg, rgba(255, 255, 253, 0.96) 0%, rgba(244, 245, 239, 0.92) 100%);
    color: #244c3a;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.order-feedback-choice__input {
    position: absolute;
    opacity: 0;
    inset: 0;
    margin: 0;
    cursor: pointer;
}

.order-feedback-choice:hover {
    transform: translateY(-1px);
    border-color: rgba(14, 109, 71, 0.32);
    box-shadow: 0 12px 24px rgba(14, 109, 71, 0.08);
}

.order-feedback-choice__value {
    display: grid;
    place-items: center;
    width: 2.15rem;
    height: 2.15rem;
    border-radius: 999px;
    background: rgba(14, 109, 71, 0.08);
    font-weight: 700;
    font-size: 1rem;
}

.order-feedback-choice__label {
    font-size: 0.88rem;
    text-align: center;
}

.order-feedback-choice--active {
    border-color: rgba(14, 109, 71, 0.52);
    background: linear-gradient(180deg, rgba(14, 109, 71, 0.16) 0%, rgba(14, 109, 71, 0.06) 100%);
    box-shadow: 0 16px 30px rgba(14, 109, 71, 0.1);
}

.order-feedback-choice--active .order-feedback-choice__value {
    background: #0e6d47;
    color: #fffef8;
}

.feedback-moment-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.feedback-breakdown-list {
    display: grid;
    gap: 0.85rem;
}

.feedback-breakdown-item {
    display: grid;
    grid-template-columns: minmax(5rem, 8rem) 1fr auto;
    gap: 0.85rem;
    align-items: center;
}

.feedback-breakdown-item__label {
    display: grid;
    gap: 0.18rem;
}

.feedback-breakdown-item__label span,
.feedback-breakdown-item__value {
    font-size: 0.9rem;
    color: #5f6d63;
}

.feedback-breakdown-item__bar {
    position: relative;
    overflow: hidden;
    height: 0.8rem;
    border-radius: 999px;
    background: rgba(14, 109, 71, 0.08);
}

.feedback-breakdown-item__bar span {
    position: absolute;
    inset: 0 auto 0 0;
    border-radius: inherit;
    background: linear-gradient(90deg, #0e6d47 0%, #6bbf93 100%);
}

@media (max-width: 720px) {
    .order-feedback-hero {
        flex-direction: column;
    }

    .order-feedback-hero__badge {
        min-width: 0;
        width: 100%;
    }

    .order-feedback-scale {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .feedback-breakdown-item {
        grid-template-columns: 1fr;
    }
}

.dynamic-feedback-host__panel {
    max-width: 760px;
}

.dynamic-feedback-host--sheet .dynamic-feedback-host__panel {
    margin-top: auto;
    border-radius: 1.6rem 1.6rem 0 0;
    max-width: min(100%, 760px);
}

.feedback-preview-overlay__panel {
    max-width: 900px;
}

.feedback-preview-overlay__panel--page {
    max-width: 1080px;
}

.feedback-preview-overlay__content {
    display: grid;
    gap: 1rem;
}

.feedback-preview-overlay__mode {
    display: flex;
    justify-content: flex-start;
}

.feedback-preview-page {
    min-height: 32rem;
    padding: 1.25rem;
    border-radius: 1.5rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    background:
        linear-gradient(180deg, rgba(255, 254, 250, 0.98), rgba(246, 244, 236, 0.96)),
        radial-gradient(circle at top left, rgba(156, 175, 136, 0.12), transparent 28%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
}

.dynamic-feedback {
    display: grid;
    gap: 1.1rem;
}

.dynamic-feedback__hero {
    display: grid;
    gap: 0.5rem;
}

.dynamic-feedback__hero h3,
.dynamic-feedback__success h3 {
    margin: 0;
}

.dynamic-feedback__questions {
    display: grid;
    gap: 1rem;
}

.dynamic-feedback__question {
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 1.1rem;
    background: rgba(255, 255, 255, 0.96);
    padding: 1rem;
    display: grid;
    gap: 0.85rem;
}

.dynamic-feedback__question-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.dynamic-feedback__question-head label {
    font-weight: 700;
    color: #102631;
}

.dynamic-feedback__question-head p {
    margin: 0.35rem 0 0;
    color: #5b6c73;
}

.dynamic-feedback__required {
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #7f8b8f;
}

.dynamic-feedback__rating-row,
.dynamic-feedback__option-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.dynamic-feedback__rating,
.dynamic-feedback__option {
    border: 1px solid rgba(82, 106, 80, 0.16);
    background: #fffdf9;
    border-radius: 999px;
    min-height: 3rem;
    padding: 0.7rem 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    color: #20353d;
    transform: translateY(0) scale(1);
    transition: transform 0.18s var(--press-ease), background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
    cursor: pointer;
}

.dynamic-feedback__rating:hover,
.dynamic-feedback__option:hover {
    transform: translateY(-2px) scale(1.015);
    border-color: rgba(82, 106, 80, 0.28);
    box-shadow: 0 14px 30px rgba(16, 38, 49, 0.08);
}

.dynamic-feedback__rating:active,
.dynamic-feedback__option:active {
    transform: translateY(1px) scale(0.965);
    box-shadow: none;
}

.dynamic-feedback__rating--active,
.dynamic-feedback__option--active {
    background: linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 244, 223, 0.95));
    border-color: rgba(82, 106, 80, 0.35);
    box-shadow: 0 0 0 2px rgba(82, 106, 80, 0.18), 0 12px 24px rgba(35, 65, 53, 0.08);
    color: var(--color-primary-ink);
    transform: translateY(-1px);
}

.dynamic-feedback__rating-row--soft .dynamic-feedback__rating--style-soft {
    background: linear-gradient(180deg, rgba(241, 247, 239, 0.96), rgba(255, 255, 252, 0.96));
}

.dynamic-feedback__rating-row--soft .dynamic-feedback__rating--style-soft.dynamic-feedback__rating--active {
    background: linear-gradient(135deg, rgba(195, 223, 194, 0.62), rgba(245, 250, 243, 0.98));
}

.dynamic-feedback__rating-row--premium .dynamic-feedback__rating--style-premium {
    border-color: rgba(35, 65, 53, 0.18);
    background: linear-gradient(180deg, rgba(255, 251, 242, 0.98), rgba(245, 239, 225, 0.96));
}

.dynamic-feedback__rating-row--premium .dynamic-feedback__rating--style-premium.dynamic-feedback__rating--active {
    background: linear-gradient(135deg, rgba(35, 65, 53, 0.18), rgba(212, 183, 120, 0.34));
    border-color: rgba(35, 65, 53, 0.32);
}

.dynamic-feedback__rating-row--celebration .dynamic-feedback__rating--style-celebration {
    background: linear-gradient(180deg, rgba(255, 248, 236, 0.98), rgba(255, 253, 247, 0.98));
}

.dynamic-feedback__rating-row--celebration .dynamic-feedback__rating--style-celebration.dynamic-feedback__rating--active {
    background: linear-gradient(135deg, rgba(255, 214, 138, 0.42), rgba(255, 244, 223, 0.98));
    border-color: rgba(202, 138, 4, 0.34);
}

.dynamic-feedback__rating--style-emoji {
    min-width: 6.35rem;
}

.dynamic-feedback__rating small {
    font-size: 0.82rem;
    color: #5b6c73;
}

.dynamic-feedback__success {
    display: grid;
    gap: 0.9rem;
    text-align: center;
}

.feedback-builder-grid {
    align-items: start;
}

.feedback-builder-card {
    margin-top: 1rem;
}

.feedback-forms__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.feedback-wizard-shell,
.feedback-wizard-main,
.feedback-wizard-sidebar {
    display: grid;
    gap: 1.25rem;
}

.feedback-wizard-shell__header,
.feedback-wizard-footer {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: center;
    flex-wrap: wrap;
}

.feedback-wizard-shell__header h3 {
    margin: 0 0 0.35rem;
    color: var(--color-primary-ink);
}

.feedback-wizard-shell__header p {
    margin: 0;
    color: var(--color-text-muted);
}

.feedback-wizard-shell__actions {
    display: flex;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.feedback-wizard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(18rem, 0.75fr);
    gap: 1.5rem;
    align-items: start;
}

.feedback-wizard-sidebar {
    position: sticky;
    top: 5.75rem;
}

.feedback-wizard-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.85rem;
}

.feedback-wizard-step {
    display: grid;
    gap: 0.2rem;
    justify-items: start;
    min-height: 6.4rem;
    padding: 1rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.88);
    color: var(--color-text);
    text-align: left;
    transform: translateY(0) scale(1);
    transition: transform 0.18s var(--press-ease), border-color 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease;
}

.feedback-wizard-step:hover {
    transform: translateY(-2px) scale(1.01);
    border-color: rgba(82, 106, 80, 0.3);
    box-shadow: 0 16px 30px rgba(16, 38, 49, 0.06);
}

.feedback-wizard-step:active {
    transform: translateY(1px) scale(0.98);
    box-shadow: none;
}

.feedback-wizard-step span {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.16);
    color: var(--color-primary-ink);
    font-weight: 700;
}

.feedback-wizard-step strong {
    color: var(--color-primary-ink);
}

.feedback-wizard-step small {
    color: var(--color-text-muted);
}

.feedback-wizard-step--active {
    border-color: rgba(14, 109, 71, 0.28);
    background: linear-gradient(180deg, rgba(241, 247, 239, 0.96), rgba(255, 253, 248, 0.96));
    box-shadow: 0 18px 32px rgba(14, 109, 71, 0.08);
}

.feedback-wizard-step--active span {
    background: #0e6d47;
    color: #fffef8;
}

.feedback-wizard-section {
    display: grid;
    gap: 1rem;
}

.feedback-question-editor {
    padding: 1.25rem;
}

.feedback-rule-groups,
.feedback-review-grid {
    display: grid;
    gap: 1rem;
}

.feedback-review-grid {
    grid-template-columns: minmax(16rem, 0.85fr) minmax(0, 1.15fr);
    align-items: start;
}

.feedback-review-preview {
    padding: 1rem;
}

.dynamic-feedback-preview {
    display: grid;
    gap: 0.9rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 1.2rem;
    background: linear-gradient(180deg, rgba(255, 252, 246, 0.98), rgba(247, 243, 234, 0.96));
    padding: 1.2rem;
}

.dynamic-feedback-preview h3,
.dynamic-feedback-preview p {
    margin: 0;
}

.dynamic-feedback-preview__question {
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(82, 106, 80, 0.1);
    padding: 0.9rem 1rem;
    display: grid;
    gap: 0.25rem;
}

.dynamic-feedback-preview__question span {
    color: #66767d;
    font-size: 0.86rem;
}

.feedback-analysis-card,
.feedback-segment-grid {
    margin-top: 1rem;
}

.feedback-segment-grid {
    display: grid;
    gap: 1rem;
}

@media (max-width: 900px) {
    .feedback-wizard-layout,
    .feedback-review-grid,
    .feedback-wizard-steps {
        grid-template-columns: 1fr;
    }

    .feedback-wizard-sidebar {
        position: static;
    }

    .dynamic-feedback__question-head {
        flex-direction: column;
    }

    .dynamic-feedback__rating-row,
    .dynamic-feedback__option-grid {
        gap: 0.55rem;
    }

    .dynamic-feedback__rating,
    .dynamic-feedback__option {
        width: 100%;
        justify-content: space-between;
    }
}

.country-selector-grid,
.warehouse-selector-grid {
    display: grid;
    gap: 1rem;
}

.country-selector-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.warehouse-selector-grid {
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.country-card,
.warehouse-card,
.receipt-card {
    border: 1px solid var(--color-border);
    background: rgba(255, 253, 248, 0.92);
    border-radius: var(--radius-lg);
    padding: 1rem 1.1rem;
    box-shadow: var(--shadow-sm);
    text-align: left;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.country-card:hover,
.warehouse-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--press-shadow-soft);
}

.country-card:active,
.warehouse-card:active {
    transform: translateY(1px) scale(0.985);
    box-shadow: none;
}

.country-card {
    display: grid;
    gap: 0.85rem;
}

.country-card--active,
.warehouse-card--active {
    border-color: rgba(40, 74, 58, 0.32);
    box-shadow: 0 14px 28px rgba(38, 62, 49, 0.1);
    background: rgba(242, 248, 239, 0.96);
}

.country-card__top,
.country-heading,
.country-inline {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.country-card__metrics,
.country-meta-line {
    color: var(--color-text-muted);
    font-size: 0.94rem;
}

.country-card__metrics {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
}

.country-flag-shell {
    width: 2rem;
    height: 2rem;
    border-radius: 999px;
    overflow: hidden;
    flex: 0 0 2rem;
    border: 1px solid rgba(31, 49, 39, 0.12);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

.country-flag-shell img,
.country-inline__flag {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.country-inline__flag {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    border: 1px solid rgba(31, 49, 39, 0.12);
}

.country-flag-fallback {
    width: 100%;
    height: 100%;
    align-items: center;
    justify-content: center;
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--color-primary-deep);
}

.warehouse-card,
.warehouse-card--static {
    display: grid;
    gap: 0.35rem;
}

.warehouse-card span,
.receipt-card span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.warehouse-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.5rem;
}

.receipt-list {
    display: grid;
    gap: 0.8rem;
}

.country-warehouse-section {
    margin-bottom: 1.25rem;
}

@media (max-width: 768px) {
    .country-card__metrics {
        flex-direction: column;
    }
}

.inventory-search-shell {
    display: grid;
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.inventory-search-results,
.inventory-inline-creator__body {
    display: grid;
    gap: 0.75rem;
}

.inventory-search-result {
    display: grid;
    gap: 0.2rem;
    padding: 0.9rem 1rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(255, 253, 248, 0.92);
    text-align: left;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.inventory-search-result:hover {
    border-color: rgba(40, 74, 58, 0.28);
    background: rgba(242, 248, 239, 0.96);
    transform: translateY(-2px);
    box-shadow: var(--press-shadow-soft);
}

.inventory-search-result:active {
    transform: translateY(1px) scale(0.985);
    box-shadow: none;
}

.inventory-search-result span {
    color: var(--color-text-muted);
    font-size: 0.92rem;
}

.inventory-inline-creator {
    margin: 1rem 0 1.35rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    background: rgba(255, 253, 248, 0.9);
    padding: 0.85rem 1rem 1rem;
}

.inventory-inline-creator summary {
    font-weight: 700;
    color: var(--color-primary-deep);
    list-style: none;
}

.inventory-inline-creator summary::-webkit-details-marker {
    display: none;
}

.attendance-home-grid,
.attendance-check-shell {
    display: grid;
    gap: 1.25rem;
    align-items: stretch;
}

.attendance-home-secondary-grid {
    align-items: start;
}

.attendance-home-grid > *,
.attendance-check-shell > *,
.attendance-home-secondary-grid > * {
    height: auto;
    align-self: start;
}

.attendance-home-panel--highlight,
.attendance-check-panel {
    border: 1px solid rgba(82, 106, 80, 0.12);
    box-shadow: 0 14px 40px rgba(19, 38, 28, 0.08);
}

.attendance-status-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem 1.1rem;
    border-radius: 1rem;
    background: rgba(156, 175, 136, 0.08);
    border: 1px solid rgba(156, 175, 136, 0.2);
    margin-bottom: 1rem;
}

.attendance-status-card--primary {
    background: linear-gradient(135deg, rgba(156, 175, 136, 0.14), rgba(82, 106, 80, 0.08));
}

.attendance-site-list,
.attendance-event-grid {
    display: grid;
    gap: 0.75rem;
}

.attendance-site-link {
    display: grid;
    gap: 0.2rem;
    padding: 0.95rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    text-decoration: none;
    color: inherit;
    background: #fff;
}

.attendance-action-button {
    width: 100%;
    min-height: 3.4rem;
    font-size: 1rem;
}

.attendance-helper-copy {
    margin-top: 0.75rem;
}

.details-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
}

.details-grid dt {
    font-size: 0.8rem;
    color: #6f7e74;
    margin-bottom: 0.25rem;
}

.details-grid dd {
    margin: 0;
    font-weight: 600;
}

.table-subtext {
    display: block;
    font-size: 0.8rem;
    color: #7a847d;
    margin-top: 0.2rem;
}

.checkbox-option {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    padding: 0.35rem 0;
}

.link-button {
    background: none;
    border: 0;
    color: #526a50;
    padding: 0;
    font: inherit;
    cursor: pointer;
    text-align: left;
}

.panel-heading--split,
.panel-actions--right {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
}

.admin-panel--subtle {
    background: rgba(255, 253, 248, 0.72);
}

.google-signin-compact {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.25rem;
    margin-bottom: 1.25rem;
}

.google-signin-compact__copy {
    display: flex;
    align-items: center;
    gap: 1rem;
    min-width: 0;
}

.google-signin-compact__copy h3 {
    margin: 0 0 0.25rem;
    color: var(--color-primary-ink);
}

.google-signin-compact__copy p {
    margin: 0;
    color: var(--color-text-muted);
}

.google-signin-compact__actions {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
}

.provider-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    min-height: 2.45rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-pill);
    background: rgba(255, 255, 255, 0.72);
    color: var(--color-text-muted);
    font-weight: 700;
}

.provider-toggle input {
    width: 1.1rem;
    height: 1.1rem;
    accent-color: var(--color-primary-deep);
}

.provider-toggle--active {
    border-color: rgba(72, 136, 94, 0.24);
    background: rgba(72, 136, 94, 0.13);
    color: #2b6a41;
}

.google-signin-status {
    margin-bottom: 1.25rem;
}

.admin-modal {
    position: fixed;
    inset: 0;
    z-index: 1400;
    display: grid;
    place-items: center;
    padding: 1rem;
}

body:has(.rewards-modal),
body:has(.admin-modal),
body:has(.modal-backdrop) {
    overflow: hidden;
    overscroll-behavior: none;
}

.admin-modal__backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(25, 37, 31, 0.48);
    backdrop-filter: blur(10px);
}

.admin-modal__panel {
    position: relative;
    z-index: 1;
    width: min(100%, 48rem);
    max-height: min(90vh, 56rem);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: var(--radius-lg);
    background: var(--color-surface);
    box-shadow: 0 24px 70px rgba(31, 44, 36, 0.22);
    overscroll-behavior: contain;
}

.attendance-site-modal {
    width: min(100%, 70rem);
}

.admin-modal__header,
.admin-modal__footer {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    padding: 1.25rem 1.35rem;
    border-bottom: 1px solid var(--color-border);
}

.admin-modal__header h2 {
    margin: 0.25rem 0 0.35rem;
    font-family: var(--font-display);
    color: var(--color-primary-ink);
}

.admin-modal__header p {
    margin: 0;
    color: var(--color-text-muted);
}

.admin-modal__close {
    width: 2.35rem;
    height: 2.35rem;
    border: 1px solid var(--color-border);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.75);
    color: var(--color-primary-ink);
    font-size: 1.35rem;
    line-height: 1;
}

.admin-modal__body {
    overflow: auto;
    padding: 1.35rem;
}

.employee-edit-modal {
    width: min(100%, 68rem);
}

.employee-edit-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.9rem;
    margin-bottom: 1rem;
}

.employee-edit-summary > div {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgba(156, 175, 136, 0.12), rgba(255, 253, 248, 0.94));
}

.employee-edit-summary span,
.employee-edit-summary small {
    color: var(--color-text-muted);
}

.employee-edit-summary strong {
    color: var(--color-primary-ink);
}

.admin-modal__footer {
    justify-content: flex-end;
    align-items: center;
    border-top: 1px solid var(--color-border);
    border-bottom: 0;
    background: rgba(247, 245, 239, 0.72);
}

.google-config-modal .status-banner {
    margin-bottom: 1.2rem;
}

@media (max-width: 760px) {
    .google-signin-compact,
    .google-signin-compact__copy,
    .google-signin-compact__actions,
    .admin-modal__header,
    .admin-modal__footer {
        flex-direction: column;
        align-items: stretch;
    }

    .admin-modal__panel {
        max-height: 94vh;
    }

    .employee-edit-summary {
        grid-template-columns: 1fr;
    }
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1200;
    display: grid;
    place-items: center;
    padding: 1.25rem;
    background: rgba(19, 28, 22, 0.44);
    backdrop-filter: blur(5px);
}

.contact-page-grid {
    align-items: stretch;
}

.contact-page-card {
    display: grid;
    gap: 0.85rem;
}

.contact-page-card h3 {
    margin: 0;
}

.contact-page-card__value {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--color-primary-deep);
    text-decoration: none;
    word-break: break-word;
}

.contact-page-card__value:hover {
    color: var(--color-primary-ink);
}

.contact-page-card__value--muted,
.contact-page-card__meta {
    color: var(--color-text-muted);
    font-size: 0.95rem;
}

.modal-panel {
    position: relative;
    width: min(760px, 100%);
    max-height: min(88vh, 980px);
    overflow: auto;
    overscroll-behavior: contain;
    border-radius: 1.4rem;
    background: #fffdf8;
    border: 1px solid rgba(82, 106, 80, 0.16);
    box-shadow: 0 28px 90px rgba(19, 38, 28, 0.22);
    padding: 1.35rem;
}

.modal-panel--wide {
    width: min(1120px, 100%);
}

.site-config-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    margin: 1rem 0;
}

.site-config-option {
    display: flex;
    gap: 0.75rem;
    align-items: flex-start;
    padding: 0.85rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1rem;
    background: rgba(156, 175, 136, 0.08);
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.site-config-option:hover {
    transform: translateY(-2px);
    border-color: rgba(82, 106, 80, 0.22);
    box-shadow: var(--press-shadow-soft);
}

.site-config-option:active {
    transform: translateY(1px) scale(0.985);
    box-shadow: none;
}

.site-config-option input {
    margin-top: 0.25rem;
}

.site-config-option span {
    display: grid;
    gap: 0.25rem;
}

.site-config-option small {
    color: #68766c;
    line-height: 1.45;
}

.attendance-site-map {
    min-height: 260px;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(82, 106, 80, 0.14);
    background: rgba(156, 175, 136, 0.08);
}

.merchant-map-picker-card {
    padding: 1rem 1rem 1.1rem;
}

.merchant-map-picker {
    min-height: 18rem;
    border-radius: 1.1rem;
}

.merchant-map-picker-card__actions {
    margin-top: 0.9rem;
}

.attendance-map-snippet-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.attendance-point-map {
    min-height: 210px;
    margin-top: 0.55rem;
    border-radius: 1rem;
    overflow: hidden;
    border: 1px solid rgba(82, 106, 80, 0.14);
    background: rgba(156, 175, 136, 0.08);
}

.map-empty-state {
    display: grid;
    min-height: 260px;
    place-items: center;
    padding: 1rem;
    color: #68766c;
    text-align: center;
}

.country-board,
.site-assignment-board,
.employee-drag-pool,
.employee-chip-list,
.metric-grid {
    display: grid;
    gap: 0.9rem;
}

.country-board,
.site-assignment-board {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    margin-bottom: 1rem;
}

.country-board-card,
.site-assignment-card,
.employee-drag-token,
.employee-chip {
    display: grid;
    gap: 0.3rem;
    text-align: left;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 1.05rem;
    background: #fff;
    color: inherit;
    padding: 0.95rem;
    cursor: pointer;
    transform: translateY(0) scale(1);
    transition:
        transform 180ms var(--press-ease),
        box-shadow 180ms ease,
        border-color 180ms ease,
        background-color 180ms ease;
}

.country-board-card:hover,
.site-assignment-card:hover,
.employee-drag-token:hover,
.employee-chip:hover {
    transform: translateY(-2px);
    box-shadow: var(--press-shadow-soft);
}

.country-board-card:active,
.site-assignment-card:active,
.employee-drag-token:active,
.employee-chip:active {
    transform: translateY(1px) scale(0.985);
    box-shadow: none;
}

.employee-drag-token {
    cursor: grab;
}

.employee-drag-token--assigned {
    border-color: rgba(82, 106, 80, 0.34);
    background: linear-gradient(135deg, rgba(156, 175, 136, 0.16), #fff);
}

.employee-drag-token span {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 0.18rem 0.5rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.1);
    color: #526a50;
    font-size: 0.76rem;
    font-weight: 700;
}

.employee-drag-pool {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    margin-bottom: 0.5rem;
}

.site-assignment-card--drop {
    position: relative;
}

.site-assignment-card--drop:hover {
    border-color: rgba(82, 106, 80, 0.45);
    background: rgba(156, 175, 136, 0.12);
}

.site-assignment-card--drop em {
    justify-self: start;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.1);
    color: #526a50;
    font-size: 0.78rem;
    font-style: normal;
    font-weight: 700;
}

.country-board-card--active,
.site-assignment-card--active {
    border-color: rgba(82, 106, 80, 0.48);
    background: linear-gradient(135deg, rgba(156, 175, 136, 0.18), rgba(255, 253, 248, 1));
    box-shadow: 0 12px 34px rgba(19, 38, 28, 0.08);
}

.assignment-conflict-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 1rem;
    margin: 0 0 1rem;
    padding: 1rem;
    border: 1px solid rgba(194, 107, 79, 0.34);
    border-radius: var(--radius-md);
    background:
        radial-gradient(circle at 0 0, rgba(255, 255, 255, 0.8), transparent 18rem),
        linear-gradient(135deg, rgba(247, 232, 226, 0.94), rgba(255, 252, 248, 0.98));
    box-shadow: 0 18px 42px rgba(122, 72, 55, 0.12);
}

.assignment-conflict-card__icon {
    display: grid;
    place-items: center;
    width: 2.85rem;
    height: 2.85rem;
    border-radius: 1rem;
    background: rgba(185, 74, 63, 0.12);
    color: #9a3d3d;
}

.assignment-conflict-card__copy {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.assignment-conflict-card__copy strong {
    color: #7e342e;
}

.assignment-conflict-card__copy p {
    margin: 0;
    color: #4f463f;
}

.assignment-conflict-card__copy small {
    color: var(--color-text-muted);
    font-weight: 700;
}

.assignment-conflict-card__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.6rem;
}

.country-flag {
    width: 34px;
    height: 24px;
    object-fit: cover;
    border-radius: 0.35rem;
    box-shadow: 0 4px 14px rgba(19, 38, 28, 0.12);
}

.country-flag--inline {
    width: 24px;
    height: 16px;
    margin-right: 0.4rem;
    vertical-align: middle;
}

.employee-chip {
    grid-template-columns: 1fr;
}

.employee-chip-actions {
    display: flex;
    gap: 0.4rem;
    margin-top: 0.35rem;
}

.chip-mini-action {
    width: fit-content;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: 999px;
    background: rgba(255, 253, 248, 0.92);
    color: #526a50;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.28rem 0.5rem;
    transform: translateY(0) scale(1);
    transition:
        transform 160ms var(--press-ease),
        background-color 160ms ease,
        border-color 160ms ease,
        color 160ms ease;
}

.chip-mini-action:hover {
    border-color: rgba(154, 74, 58, 0.28);
    color: #8f4638;
    background: rgba(154, 74, 58, 0.08);
    transform: translateY(-1px);
}

.chip-mini-action:active {
    transform: translateY(1px) scale(0.94);
}

@media (max-width: 900px) {
    .assignment-conflict-card {
        grid-template-columns: 1fr;
    }

    .assignment-conflict-card__actions {
        justify-content: flex-start;
    }
}

.metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
}

.metric-card {
    display: grid;
    gap: 0.25rem;
    padding: 1rem;
    border-radius: 1rem;
    background: rgba(156, 175, 136, 0.1);
    border: 1px solid rgba(82, 106, 80, 0.12);
}

.metric-card strong {
    font-size: 1.45rem;
    color: #24382a;
}

.metric-card--warning {
    background: rgba(210, 151, 85, 0.13);
}

.exception-review-card {
    border-color: rgba(210, 151, 85, 0.34);
}

.receipt-card--link {
    color: inherit;
    text-decoration: none;
}

.payroll-review-panel {
    border-color: rgba(210, 151, 85, 0.36);
    background: linear-gradient(135deg, rgba(210, 151, 85, 0.12), rgba(255, 253, 248, 0.96));
    margin-bottom: 1rem;
}

.table-row--selected {
    background: rgba(156, 175, 136, 0.12);
}

@media (min-width: 920px) {
    .attendance-home-grid,
    .attendance-check-shell {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        align-items: start;
    }
}
.module-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 1rem;
}

.module-card {
    display: grid;
    gap: 0.85rem;
    align-content: space-between;
    min-height: 260px;
    padding: 1.25rem;
    border: 1px solid rgba(82, 106, 80, 0.18);
    border-radius: 24px;
    background: linear-gradient(145deg, rgba(255, 255, 250, 0.96), rgba(244, 249, 235, 0.82));
    box-shadow: 0 20px 60px rgba(32, 50, 36, 0.08);
}

.module-card--enabled {
    border-color: rgba(82, 106, 80, 0.42);
    box-shadow: 0 24px 70px rgba(82, 106, 80, 0.14);
}

.module-card span {
    display: inline-flex;
    width: fit-content;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.16);
    color: var(--color-forest);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.module-card h2 {
    margin: 0.7rem 0 0.4rem;
    font-size: clamp(1.2rem, 2vw, 1.7rem);
}

.module-card p,
.module-card small {
    color: var(--color-muted);
}

.admin-page {
    display: grid;
    gap: 1.25rem;
    width: min(100%, 1240px);
    margin: 0 auto;
    padding: 1.25rem 0 2rem;
}

.admin-page__header {
    display: flex;
    justify-content: space-between;
    align-items: end;
    gap: 1rem;
}

.admin-page__header h1 {
    margin: 0.1rem 0 0.35rem;
    font-family: var(--font-display);
    font-size: clamp(2.2rem, 5vw, 4rem);
    line-height: 0.95;
    color: var(--color-primary-ink);
}

.admin-page__header p {
    max-width: 46rem;
    margin: 0;
    color: var(--color-text-muted);
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 1rem;
}

.dashboard-card,
.table-card,
.admin-form-card {
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1.4rem;
    background: rgba(255, 253, 248, 0.92);
    box-shadow: 0 20px 55px rgba(32, 50, 36, 0.08);
}

.dashboard-card {
    display: grid;
    gap: 0.45rem;
    padding: 1.15rem;
}

.dashboard-card span,
.table-card__header span {
    color: #526a50;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.dashboard-card strong {
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(2rem, 5vw, 3.4rem);
    line-height: 0.9;
}

.dashboard-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.table-card {
    overflow: hidden;
}

.table-card__header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    border-bottom: 1px solid rgba(82, 106, 80, 0.09);
}

.table-card__header h2,
.admin-form-card__header h2,
.coreza-owner-panel h2 {
    margin: 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2vw, 2rem);
    line-height: 1.05;
}

.table-card__header p,
.admin-form-card__header p {
    margin: 0.35rem 0 0;
    color: var(--color-text-muted);
}

.responsive-table {
    width: 100%;
    overflow-x: auto;
}

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

.responsive-table th,
.responsive-table td {
    padding: 0.9rem 1.25rem;
    border-bottom: 1px solid rgba(82, 106, 80, 0.08);
    text-align: left;
    vertical-align: middle;
}

.responsive-table th {
    color: #526a50;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.admin-form-card {
    display: grid;
    gap: 1rem;
    padding: 1.25rem;
}

.admin-form-card label,
.coreza-domain-form label {
    display: grid;
    gap: 0.4rem;
    color: #24382a;
    font-weight: 800;
}

.admin-form-card label > span,
.coreza-domain-form label > span {
    color: #526a50;
    font-size: 0.78rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-form-card input,
.admin-form-card select,
.admin-form-card textarea,
.coreza-domain-form input {
    width: 100%;
    min-height: 3rem;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.82);
    color: var(--color-primary-ink);
    padding: 0.8rem 0.95rem;
}

.admin-form-card textarea {
    min-height: 8rem;
    resize: vertical;
}

.status-message {
    padding: 0.9rem 1rem;
    border: 1px solid rgba(82, 106, 80, 0.18);
    border-radius: 1rem;
    background: rgba(232, 243, 218, 0.92);
    color: #2f5635;
    font-weight: 800;
}

.status-message--error {
    border-color: rgba(170, 62, 54, 0.24);
    background: rgba(255, 236, 232, 0.95);
    color: #8e372f;
}

.coreza-owner-portal {
    background:
        radial-gradient(circle at 86% 8%, rgba(184, 202, 146, 0.32), transparent 32rem),
        linear-gradient(135deg, #f8f6ee 0%, #f2f4ea 48%, #fbf7ef 100%);
}

.coreza-owner-sidebar {
    background:
        radial-gradient(circle at 18% 10%, rgba(184, 202, 146, 0.22), transparent 14rem),
        linear-gradient(180deg, #20392e 0%, #14251e 100%);
}

.coreza-owner-sidebar__mark {
    display: grid;
    place-items: center;
    width: 3rem;
    height: 3rem;
    border-radius: 1rem;
    background: linear-gradient(135deg, #e8f1d3, #9caf88);
    color: #173329 !important;
    font-family: var(--font-display);
    font-size: 1.5rem !important;
    font-weight: 900;
    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.16);
}

.coreza-owner-page {
    position: relative;
}

.coreza-owner-page::before {
    content: "";
    position: fixed;
    inset: 0 0 auto auto;
    width: min(48vw, 42rem);
    height: min(48vw, 42rem);
    pointer-events: none;
    background: radial-gradient(circle, rgba(156, 175, 136, 0.18), transparent 68%);
    filter: blur(4px);
    z-index: 0;
}

.coreza-owner-page > * {
    position: relative;
    z-index: 1;
}

.coreza-owner-hero {
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1.7rem;
    background:
        linear-gradient(135deg, rgba(255, 253, 248, 0.96), rgba(232, 241, 211, 0.62)),
        radial-gradient(circle at 88% 20%, rgba(156, 175, 136, 0.28), transparent 18rem);
    box-shadow: 0 26px 70px rgba(32, 50, 36, 0.1);
}

.coreza-owner-hero--compact h1 {
    font-size: clamp(2rem, 4vw, 3.35rem);
}

.coreza-owner-hero__actions,
.coreza-form-actions,
.coreza-action-cell,
.coreza-business-card__actions,
.coreza-domain-card__actions,
.coreza-module-card__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.65rem;
}

.coreza-action-cell a {
    display: inline-flex;
    margin-right: 0.45rem;
    color: #526a50;
    font-weight: 800;
}

.coreza-owner-stats,
.coreza-module-overview {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.coreza-owner-stat-card {
    min-height: 9rem;
    background:
        linear-gradient(145deg, rgba(255, 253, 248, 0.98), rgba(242, 248, 231, 0.9)),
        radial-gradient(circle at 82% 16%, rgba(156, 175, 136, 0.2), transparent 10rem);
}

.coreza-owner-panel {
    background:
        linear-gradient(145deg, rgba(255, 253, 248, 0.96), rgba(248, 247, 239, 0.92)),
        radial-gradient(circle at 90% 0%, rgba(156, 175, 136, 0.12), transparent 18rem);
}

.coreza-business-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 1rem;
}

.coreza-business-card {
    display: grid;
    gap: 1rem;
    padding: 1.2rem;
    border: 1px solid rgba(82, 106, 80, 0.13);
    border-radius: 1.35rem;
    background: rgba(255, 253, 248, 0.94);
    box-shadow: 0 20px 58px rgba(32, 50, 36, 0.08);
}

.coreza-business-card__header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
}

.coreza-business-card h2 {
    margin: 0.2rem 0 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: 1.65rem;
    line-height: 1;
}

.coreza-business-card__meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.65rem;
    margin: 0;
}

.coreza-business-card__meta div {
    min-width: 0;
    padding: 0.75rem;
    border-radius: 1rem;
    background: rgba(156, 175, 136, 0.09);
}

.coreza-business-card__meta dt {
    color: #526a50;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.coreza-business-card__meta dd {
    margin: 0.15rem 0 0;
    color: var(--color-primary-ink);
    font-weight: 800;
    overflow-wrap: anywhere;
}

.coreza-status-pill {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    padding: 0.28rem 0.62rem;
    border: 1px solid rgba(82, 106, 80, 0.14);
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.12);
    color: #526a50;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    white-space: nowrap;
}

.coreza-status-pill--active {
    border-color: rgba(69, 130, 72, 0.2);
    background: rgba(214, 237, 206, 0.9);
    color: #285f2d;
}

.coreza-status-pill--commissioning {
    border-color: rgba(210, 151, 85, 0.25);
    background: rgba(255, 238, 204, 0.9);
    color: #835622;
}

.coreza-status-pill--suspended,
.coreza-status-pill--disabled {
    border-color: rgba(139, 56, 48, 0.18);
    background: rgba(252, 232, 226, 0.88);
    color: #8b3830;
}

.coreza-status-pill--archived {
    border-color: rgba(82, 106, 80, 0.12);
    background: rgba(235, 235, 228, 0.88);
    color: #66705f;
}

.coreza-editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.85fr);
    gap: 1rem;
    align-items: start;
}

.coreza-editor-grid--accounts {
    grid-template-columns: minmax(320px, 0.78fr) minmax(0, 1.22fr);
}

.coreza-owner-page .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.coreza-side-stack {
    display: grid;
    gap: 1rem;
}

.coreza-tenant-summary,
.coreza-owner-panel {
    padding: 1.25rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1.4rem;
    box-shadow: 0 20px 55px rgba(32, 50, 36, 0.08);
}

.coreza-tenant-summary p,
.coreza-muted {
    color: var(--color-text-muted);
}

.coreza-summary-list {
    display: grid;
    gap: 0.7rem;
    margin-top: 1rem;
}

.coreza-summary-list div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid rgba(82, 106, 80, 0.08);
}

.coreza-summary-list span {
    color: #526a50;
    font-weight: 800;
}

.coreza-summary-list strong {
    color: var(--color-primary-ink);
    text-align: right;
    overflow-wrap: anywhere;
}

.coreza-domain-form {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
}

.coreza-checkbox-row {
    display: flex !important;
    grid-template-columns: none;
    align-items: center;
    gap: 0.55rem !important;
}

.coreza-checkbox-row input {
    width: 1rem;
    min-height: 1rem;
}

.coreza-domain-list {
    display: grid;
    gap: 0.6rem;
    margin-top: 1rem;
}

.coreza-domain-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.8rem;
    padding: 0.8rem;
    border: 1px solid rgba(82, 106, 80, 0.1);
    border-radius: 1rem;
    background: rgba(255, 255, 255, 0.62);
}

.coreza-domain-card strong,
.coreza-domain-card span {
    display: block;
}

.coreza-domain-card strong {
    color: var(--color-primary-ink);
    overflow-wrap: anywhere;
}

.coreza-domain-card span {
    color: var(--color-text-muted);
    font-size: 0.85rem;
}

.coreza-module-overview {
    display: grid;
    gap: 1rem;
}

.coreza-module-explorer {
    display: grid;
    grid-template-columns: minmax(270px, 0.38fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: start;
}

.coreza-module-list-panel,
.coreza-module-focus-panel {
    padding: 0;
    overflow: hidden;
}

.coreza-module-list {
    display: grid;
    gap: 0.55rem;
    max-height: calc(100vh - 18rem);
    min-height: 22rem;
    overflow: auto;
    padding: 1rem;
}

.coreza-module-list-card {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 0.35rem 0.7rem;
    align-items: center;
    width: 100%;
    padding: 0.8rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1rem;
    background: rgba(255, 253, 248, 0.78);
    color: inherit;
    text-align: left;
    transition: transform 160ms ease, opacity 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.coreza-module-list-card:hover,
.coreza-module-list-card--selected {
    transform: translateY(-1px);
    border-color: rgba(82, 106, 80, 0.34);
    box-shadow: 0 14px 38px rgba(32, 50, 36, 0.09);
}

.coreza-module-list-card--selected {
    background:
        linear-gradient(145deg, rgba(255, 253, 248, 0.98), rgba(236, 245, 219, 0.88)),
        radial-gradient(circle at 100% 0%, rgba(156, 175, 136, 0.2), transparent 8rem);
}

.coreza-module-list-card--disabled {
    opacity: 0.62;
    filter: grayscale(0.14);
}

.coreza-module-list-card--disabled:hover,
.coreza-module-list-card--selected {
    opacity: 1;
    filter: none;
}

.coreza-module-list-card--guarded {
    border-color: rgba(210, 151, 85, 0.28);
}

.coreza-module-list-card strong,
.coreza-module-list-card small {
    grid-column: 2;
    display: block;
}

.coreza-module-list-card strong {
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: 1.05rem;
    line-height: 1;
}

.coreza-module-list-card small {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.coreza-module-focus-panel {
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.coreza-module-empty-focus {
    display: grid;
    place-items: center;
    min-height: 24rem;
    text-align: center;
}

.coreza-module-empty-focus h2,
.coreza-module-focus-header h2 {
    margin: 0.25rem 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    line-height: 0.95;
}

.coreza-module-empty-focus p,
.coreza-module-focus-header p {
    margin: 0;
    color: var(--color-text-muted);
}

.coreza-module-focus-header {
    display: flex;
    justify-content: space-between;
    align-items: start;
    gap: 1rem;
    padding: 0.25rem 0.2rem 0.8rem;
    border-bottom: 1px solid rgba(82, 106, 80, 0.08);
}

.coreza-module-focus-header__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.55rem;
}

.coreza-module-focus-notification {
    width: 100%;
}

.coreza-module-relationship-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 0.78fr) minmax(0, 1fr);
    gap: 1rem;
    align-items: stretch;
}

.coreza-module-relationship-lane {
    display: grid;
    align-content: start;
    gap: 0.65rem;
    min-height: 18rem;
    padding: 0.85rem;
    border: 1px solid rgba(82, 106, 80, 0.1);
    border-radius: 1.2rem;
    background: rgba(255, 255, 255, 0.42);
}

.coreza-module-relationship-lane--selected {
    display: grid;
    place-items: center;
    background:
        linear-gradient(180deg, rgba(232, 241, 211, 0.58), rgba(255, 253, 248, 0.8)),
        radial-gradient(circle at 50% 20%, rgba(156, 175, 136, 0.18), transparent 12rem);
}

.coreza-module-relationship-lane__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.75rem;
    padding-bottom: 0.35rem;
    border-bottom: 1px solid rgba(82, 106, 80, 0.08);
}

.coreza-module-relationship-lane__header span {
    color: #526a50;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.coreza-module-relationship-lane__header strong {
    display: grid;
    place-items: center;
    min-width: 2rem;
    min-height: 2rem;
    border-radius: 999px;
    background: rgba(156, 175, 136, 0.16);
    color: var(--color-primary-ink);
}

.coreza-module-relation-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.7rem;
    align-items: center;
    padding: 0.72rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1rem;
    background: rgba(255, 253, 248, 0.86);
}

.coreza-module-relation-card--disabled {
    opacity: 0.65;
    filter: grayscale(0.12);
}

.coreza-module-relation-card--guarded {
    border-color: rgba(210, 151, 85, 0.28);
}

.coreza-module-relation-card strong,
.coreza-module-relation-card small {
    display: block;
}

.coreza-module-relation-card strong {
    margin-top: 0.35rem;
    color: var(--color-primary-ink);
    font-weight: 900;
}

.coreza-module-relation-card small {
    color: var(--color-text-muted);
    font-size: 0.78rem;
    font-weight: 800;
}

.coreza-module-relation-card .button {
    min-height: 2.35rem;
    padding: 0.5rem 0.8rem;
}

.coreza-module-center-card {
    display: grid;
    gap: 0.65rem;
    width: 100%;
    padding: 1.05rem;
    border: 1px solid rgba(82, 106, 80, 0.16);
    border-radius: 1.2rem;
    background:
        linear-gradient(145deg, rgba(255, 253, 248, 0.98), rgba(244, 249, 235, 0.88)),
        radial-gradient(circle at 92% 0%, rgba(156, 175, 136, 0.22), transparent 11rem);
    box-shadow: 0 18px 48px rgba(32, 50, 36, 0.1);
}

.coreza-module-center-card--disabled {
    background: linear-gradient(145deg, rgba(245, 245, 240, 0.96), rgba(236, 238, 232, 0.86));
}

.coreza-module-center-card h3 {
    margin: 0;
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: clamp(1.35rem, 2.4vw, 2rem);
    line-height: 1;
}

.coreza-module-center-card p {
    margin: 0;
    color: var(--color-text-muted);
}

.coreza-module-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.coreza-module-card {
    min-height: 310px;
    transition: opacity 160ms ease, transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.coreza-module-card:hover {
    transform: translateY(-2px);
}

.module-card--disabled {
    opacity: 0.58;
    filter: grayscale(0.18);
    background:
        linear-gradient(145deg, rgba(245, 245, 239, 0.92), rgba(234, 236, 229, 0.76)),
        radial-gradient(circle at 90% 0%, rgba(82, 106, 80, 0.06), transparent 16rem);
}

.module-card--disabled:hover {
    opacity: 0.82;
}

.module-card--guarded {
    border-color: rgba(210, 151, 85, 0.38);
    box-shadow: 0 24px 65px rgba(147, 91, 40, 0.1);
}

.module-card.coreza-module-card > div > span.coreza-status-pill {
    padding: 0.28rem 0.62rem;
}

.coreza-dependency-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.module-card .coreza-dependency-row span {
    padding: 0.25rem 0.55rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.08);
    color: #526a50;
    font-size: 0.7rem;
    font-weight: 900;
}

.coreza-module-card__footer {
    justify-content: space-between;
    margin-top: auto;
}

.coreza-module-guard-alert {
    display: grid;
    gap: 0.35rem;
    padding: 1.1rem 1.2rem;
    border: 1px solid rgba(170, 62, 54, 0.2);
    border-radius: 1.25rem;
    background:
        linear-gradient(135deg, rgba(255, 243, 235, 0.96), rgba(255, 253, 248, 0.92)),
        radial-gradient(circle at 94% 20%, rgba(210, 151, 85, 0.18), transparent 14rem);
    color: #7f342d;
    box-shadow: 0 18px 48px rgba(104, 48, 36, 0.08);
}

.coreza-module-guard-alert span,
.coreza-guard-card span,
.coreza-module-inline-guard {
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.coreza-module-guard-alert strong {
    color: #44201d;
    font-size: 1.05rem;
}

.coreza-module-guard-alert p {
    margin: 0;
}

.coreza-module-tree-panel {
    padding: 0;
    overflow: hidden;
}

.coreza-module-tree-shell {
    padding: 1rem;
    overflow: visible;
}

.coreza-module-tree-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 1rem;
}

.coreza-module-tree,
.coreza-module-tree ul {
    display: grid;
    gap: 0.55rem;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.coreza-module-tree ul {
    position: relative;
    min-width: 0;
    margin-top: 0.55rem;
    margin-left: 1.15rem;
    padding-left: 1.15rem;
}

.coreza-module-tree ul::before {
    content: "";
    position: absolute;
    top: 0.25rem;
    bottom: 0.25rem;
    left: 0.2rem;
    width: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(82, 106, 80, 0.2), rgba(210, 151, 85, 0.16));
}

.coreza-module-tree-node {
    position: relative;
    display: grid;
    min-width: 0;
}

.coreza-module-tree ul > .coreza-module-tree-node::before {
    content: "";
    position: absolute;
    top: 1.65rem;
    left: -1rem;
    width: 1rem;
    height: 2px;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.22);
}

.coreza-module-tree-node__card {
    display: grid;
    grid-template-columns: minmax(12rem, 0.95fr) minmax(0, 1.5fr) auto;
    gap: 0.75rem;
    align-items: center;
    width: 100%;
    min-height: 0;
    padding: 0.78rem;
    border: 1px solid rgba(82, 106, 80, 0.12);
    border-radius: 1rem;
    background:
        linear-gradient(145deg, rgba(255, 253, 248, 0.98), rgba(244, 249, 235, 0.86)),
        radial-gradient(circle at 92% 10%, rgba(156, 175, 136, 0.16), transparent 9rem);
    box-shadow: 0 12px 32px rgba(32, 50, 36, 0.06);
}

.coreza-module-tree-node--disabled > .coreza-module-tree-node__card {
    opacity: 0.58;
    filter: grayscale(0.16);
    background: linear-gradient(145deg, rgba(245, 245, 240, 0.94), rgba(236, 238, 232, 0.82));
}

.coreza-module-tree-node--guarded > .coreza-module-tree-node__card {
    border-color: rgba(210, 151, 85, 0.34);
}

.coreza-module-tree-node__header {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
}

.coreza-module-tree-node__guard {
    display: inline-flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    min-height: 1.7rem;
    padding: 0.28rem 0.62rem;
    border: 1px solid rgba(210, 151, 85, 0.24);
    border-radius: 999px;
    background: rgba(255, 237, 201, 0.9);
    color: #835622;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.coreza-module-tree-node__card strong,
.coreza-module-tree-node__card small {
    display: block;
}

.coreza-module-tree-node__card strong {
    color: var(--color-primary-ink);
    font-family: var(--font-display);
    font-size: 1.08rem;
    line-height: 1;
}

.coreza-module-tree-node__card small {
    margin-top: 0.18rem;
    color: #526a50;
    font-weight: 800;
}

.coreza-module-tree-node__card p {
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.82rem;
    line-height: 1.35;
}

.coreza-tree-chip-row,
.coreza-tree-guard-stack {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.coreza-tree-chip-row span {
    color: #526a50;
    font-size: 0.7rem;
    font-weight: 900;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.coreza-tree-chip-row em {
    padding: 0.18rem 0.48rem;
    border-radius: 999px;
    background: rgba(82, 106, 80, 0.08);
    color: #526a50;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
}

.coreza-tree-guard-card,
.coreza-module-inline-guard {
    width: fit-content;
    padding: 0.45rem 0.6rem;
    border: 1px solid rgba(210, 151, 85, 0.24);
    border-radius: 0.85rem;
    background: rgba(255, 239, 210, 0.8);
    color: #835622;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: normal;
    text-transform: none;
}

.coreza-tree-notification-card {
    display: grid;
    gap: 0.25rem;
    padding: 0.7rem 0.8rem;
    border: 1px solid rgba(170, 62, 54, 0.2);
    border-radius: 0.95rem;
    background:
        linear-gradient(135deg, rgba(255, 243, 235, 0.98), rgba(255, 253, 248, 0.94)),
        radial-gradient(circle at 92% 18%, rgba(210, 151, 85, 0.18), transparent 9rem);
    color: #7f342d;
    box-shadow: 0 12px 30px rgba(104, 48, 36, 0.08);
}

.coreza-tree-notification-card span {
    color: #8b3830;
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.coreza-tree-notification-card strong {
    color: #44201d;
    font-family: var(--font-sans);
    font-size: 0.9rem;
    line-height: 1.2;
}

.coreza-tree-notification-card p {
    margin: 0;
    color: #6e3932;
    font-size: 0.82rem;
}

.coreza-module-tree-node__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.55rem;
}

.coreza-module-tree-node__actions small {
    color: var(--color-text-muted);
    font-size: 0.75rem;
    font-weight: 800;
    white-space: nowrap;
}

.coreza-module-tree-node__actions .button {
    min-height: 2.45rem;
    padding: 0.55rem 0.85rem;
}

.coreza-guard-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 0.85rem;
}

.coreza-guard-card {
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
    border: 1px solid rgba(210, 151, 85, 0.24);
    border-radius: 1.1rem;
    background: linear-gradient(145deg, rgba(255, 249, 239, 0.96), rgba(255, 253, 248, 0.9));
    box-shadow: 0 16px 42px rgba(147, 91, 40, 0.08);
}

.coreza-guard-card span {
    color: #835622;
}

.coreza-guard-card strong {
    color: #44201d;
}

.coreza-guard-card p {
    margin: 0;
    color: #5f4d3a;
}

.coreza-guard-card b {
    color: #24382a;
}

@media (max-width: 1080px) {
    .coreza-editor-grid,
    .coreza-editor-grid--accounts,
    .coreza-owner-stats,
    .coreza-module-overview,
    .coreza-module-explorer,
    .coreza-module-relationship-grid {
        grid-template-columns: 1fr;
    }

    .coreza-module-list {
        max-height: none;
    }
}

@media (max-width: 760px) {
    .admin-page__header,
    .coreza-business-card__header,
    .coreza-domain-card {
        flex-direction: column;
        align-items: stretch;
    }

    .coreza-owner-page .form-grid,
    .coreza-business-card__meta {
        grid-template-columns: 1fr;
    }

    .table-card__header {
        flex-direction: column;
    }

    .coreza-module-tree-node__card {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .coreza-module-tree-node__actions {
        justify-content: flex-start;
    }

    .coreza-module-focus-header,
    .coreza-module-relation-card {
        grid-template-columns: 1fr;
        flex-direction: column;
        align-items: stretch;
    }

    .coreza-module-focus-header__actions {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .floating-rewards {
        display: none !important;
    }

    .login-mobile-page,
    .cart-mobile-page {
        color: var(--oh-mobile-green);
        font-family: var(--font-sans);
    }

    .login-mobile-page .auth-shell {
        min-height: auto;
        place-items: stretch;
    }

    .login-mobile-page .auth-card {
        width: 100%;
        gap: 1.1rem;
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .login-mobile-page .auth-card > .eyebrow {
        display: none;
    }

    .login-mobile-page .auth-card h1,
    .cart-mobile-page .section-heading h2 {
        margin: 0;
        color: var(--oh-mobile-green);
        font: 400 clamp(2.35rem, 11.2vw, 3.75rem)/0.9 var(--oh-mobile-font);
        text-wrap: balance;
        text-transform: uppercase;
    }

    .login-mobile-page .auth-card > p,
    .cart-mobile-page .section-heading p,
    .cart-mobile-page .section-heading .eyebrow {
        display: none;
    }

    .login-mobile-page .google-signin-button,
    .login-mobile-page .auth-form,
    .login-mobile-page .consumption-card,
    .cart-mobile-page .admin-panel,
    .cart-mobile-page .cart-summary-card {
        border: 2px solid rgba(27, 116, 74, 0.18);
        border-radius: 1.4rem;
        background: rgba(255, 253, 248, 0.7);
        box-shadow: none;
    }

    .login-mobile-page .google-signin-button {
        min-height: 3.65rem;
        padding: 0.7rem 1rem;
        color: var(--oh-mobile-green);
        font: 400 1.15rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .login-mobile-page .auth-divider {
        color: rgba(14, 79, 49, 0.64);
        font-size: 0.82rem;
        text-transform: uppercase;
    }

    .login-mobile-page .auth-form {
        gap: 0.85rem;
        padding: 1rem;
    }

    .login-mobile-page .phone-auth-card,
    .login-mobile-page .customer-registration-card {
        gap: 0.8rem;
        padding: 0.95rem;
        border: 2px solid rgba(27, 116, 74, 0.18);
        border-radius: 1.35rem;
        background: rgba(255, 253, 248, 0.68);
        box-shadow: 0 0.8rem 2rem rgba(14, 79, 49, 0.08);
    }

    .login-mobile-page .phone-auth-card__copy span,
    .login-mobile-page .mock-otp-card span {
        color: var(--oh-mobile-green);
        font: 900 0.7rem/1 var(--font-sans);
        letter-spacing: 0.08em;
    }

    .login-mobile-page .phone-auth-card__copy h2 {
        color: var(--oh-mobile-green);
        font: 400 2rem/0.95 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .login-mobile-page .phone-auth-card__copy p {
        color: rgba(14, 79, 49, 0.72);
        font-size: 0.88rem;
    }

    .login-mobile-page .auth-form--phone,
    .login-mobile-page .auth-form--phone-verify {
        padding: 0;
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .login-mobile-page .mock-otp-card {
        border: 2px solid rgba(27, 116, 74, 0.14);
        border-radius: 1rem;
        background:
            linear-gradient(135deg, rgba(255, 245, 223, 0.82), rgba(218, 239, 220, 0.82)),
            rgba(255, 253, 248, 0.76);
        color: var(--oh-mobile-green-dark);
    }

    .login-mobile-page .mock-otp-card strong {
        color: var(--oh-mobile-green);
        font: 400 clamp(2.2rem, 12vw, 3.5rem)/0.9 var(--oh-mobile-font);
    }

    .login-mobile-page .mock-otp-card p {
        color: rgba(14, 79, 49, 0.72);
        font-size: 0.88rem;
    }

    .login-mobile-page .customer-email-otp-modal__panel {
        width: min(92vw, 24rem);
        border: 2px solid rgba(27, 116, 74, 0.18);
        border-radius: 1.5rem;
        background: var(--oh-mobile-cream);
    }

    .login-mobile-page .customer-email-otp-modal__content h2 {
        color: var(--oh-mobile-green);
        font: 400 clamp(2rem, 10vw, 3rem)/0.9 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .login-mobile-page .customer-email-otp-modal__content p {
        color: rgba(14, 79, 49, 0.74);
        font-size: 0.95rem;
        line-height: 1.35;
    }

    .login-mobile-page .customer-email-otp-modal__content .panel-actions {
        grid-template-columns: 1fr;
    }

    .login-mobile-page .field-group label {
        color: var(--oh-mobile-green);
        font: 400 1rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .login-mobile-page .text-input {
        min-height: 3.25rem;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.85rem;
        background: transparent;
        color: var(--oh-mobile-green-dark);
        font: 700 1rem/1.2 var(--font-sans);
    }

    .login-mobile-page .phone-input-shell {
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.85rem;
        background: rgba(255, 245, 223, 0.44);
    }

    .login-mobile-page .phone-input-shell__country {
        border-right: 2px solid var(--oh-mobile-green);
        background: rgba(255, 245, 223, 0.72);
        color: var(--oh-mobile-green);
        font: 900 0.95rem/1 var(--font-sans);
    }

    .login-mobile-page .phone-input-shell .phone-input-shell__input {
        border: 0;
        border-radius: 0;
        background: transparent;
    }

    .login-mobile-page .panel-actions {
        display: grid;
        gap: 0.7rem;
    }

    .login-mobile-page .button,
    .cart-mobile-page .button {
        min-height: 3.35rem;
        justify-content: center;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 0.85rem;
        font: 400 1.12rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .login-mobile-page .button--primary,
    .cart-mobile-page .button--primary {
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        box-shadow: 0.25rem 0.25rem 0 var(--oh-mobile-green-dark);
    }

    .login-mobile-page .button--secondary,
    .cart-mobile-page .button--secondary {
        background: transparent;
        color: var(--oh-mobile-green);
    }

    .login-mobile-page .consumption-card {
        padding: 1rem;
    }

    .login-mobile-page .consumption-card > strong {
        color: var(--oh-mobile-green);
        font: 400 1.35rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .login-mobile-page .consumption-card > p {
        color: rgba(14, 79, 49, 0.72);
        font-size: 0.88rem;
    }

    .login-mobile-page .seeded-access-list {
        gap: 0.55rem;
    }

    .login-mobile-page .seeded-access-item {
        grid-template-columns: 1fr;
        gap: 0.55rem;
        padding: 0.75rem;
        border-radius: 0.95rem;
        background: rgba(27, 116, 74, 0.08);
    }

    .login-mobile-page .seeded-access-item__meta strong {
        color: var(--oh-mobile-green-dark);
        font-family: var(--font-sans);
        font-weight: 900;
        text-transform: uppercase;
    }

    .login-mobile-page .seeded-access-item__meta span {
        color: rgba(14, 79, 49, 0.7);
        font-size: 0.82rem;
    }

    .cart-mobile-page .section-heading {
        margin-bottom: 1.15rem;
    }

    .cart-mobile-page .cart-layout {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .cart-mobile-page .admin-panel {
        display: grid;
        gap: 0.75rem;
        padding: 1rem;
    }

    .cart-mobile-page .cart-line {
        display: grid;
        grid-template-columns: 6.4rem minmax(0, 1fr);
        gap: 0.85rem;
        align-items: center;
        padding: 0.85rem;
        border: 0;
        border-radius: 1rem;
        background: rgba(27, 116, 74, 0.08);
    }

    .cart-mobile-page .cart-line__media {
        display: block;
        width: 100%;
        aspect-ratio: 1;
        overflow: hidden;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 1rem;
        background: #efd48b;
        box-shadow: 0 0.45rem 0 rgba(9, 78, 46, 0.12);
        text-decoration: none;
    }

    .cart-mobile-page .cart-line__media img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .cart-mobile-page .cart-line__media-placeholder {
        display: grid;
        width: 100%;
        height: 100%;
        place-items: center;
        color: var(--oh-mobile-cream);
        background: var(--oh-mobile-green);
        font: 400 2rem/1 var(--oh-mobile-font);
    }

    .cart-mobile-page .cart-line__details {
        min-width: 0;
    }

    .cart-mobile-page .cart-line h3 {
        margin: 0 0 0.25rem;
        font: 400 1.45rem/0.95 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .cart-mobile-page .cart-line h3 a {
        color: var(--oh-mobile-green);
        text-decoration: none;
    }

    .cart-mobile-page .cart-line p {
        margin: 0;
        color: rgba(14, 79, 49, 0.72);
        font-size: 0.88rem;
    }

    .cart-mobile-page .cart-line__controls {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: 2.5rem 2.2rem 2.5rem minmax(0, 1fr);
        gap: 0.45rem;
        align-items: center;
    }

    .cart-mobile-page .quantity-button {
        width: 2.5rem;
        height: 2.5rem;
        border: 0;
        border-radius: 0.7rem;
        background: var(--oh-mobile-green);
        color: var(--oh-mobile-cream);
        font: 400 1.25rem/1 var(--oh-mobile-font);
    }

    .cart-mobile-page .cart-line__quantity {
        color: var(--oh-mobile-green-dark);
        font: 400 1.15rem/1 var(--oh-mobile-font);
        text-align: center;
    }

    .cart-mobile-page .cart-line__controls strong {
        justify-self: end;
        color: var(--oh-mobile-green-dark);
        font: 400 1.05rem/1 var(--oh-mobile-font);
    }

    .cart-mobile-page .cart-line__controls .button {
        grid-column: 1 / -1;
        min-height: 2.8rem;
        margin-top: 0.25rem;
        box-shadow: none;
    }

    .cart-mobile-page .cart-summary-card {
        padding: 1.15rem;
    }

    .cart-mobile-page .cart-summary-card h2 {
        margin: 0 0 0.9rem;
        color: var(--oh-mobile-green);
        font: 400 2rem/0.95 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .cart-mobile-page .summary-row {
        color: var(--oh-mobile-green-dark);
        font-size: 1rem;
    }

    .cart-mobile-page .summary-row--total {
        margin-top: 0.45rem;
        padding-top: 0.75rem;
        border-top: 2px solid rgba(27, 116, 74, 0.16);
        font: 400 1.4rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .cart-mobile-page .cart-summary-card .panel-actions {
        display: grid;
        gap: 0.7rem;
        margin-top: 1rem;
    }

    .cart-empty-mobile {
        display: grid;
        gap: 1rem;
        min-height: calc(100svh - 17rem);
        align-content: start;
        padding: 1.05rem;
        border: 2px solid rgba(27, 116, 74, 0.18);
        border-radius: 1.45rem;
        background: rgba(255, 253, 248, 0.74);
        box-shadow: 0 1rem 2.5rem rgba(14, 79, 49, 0.08);
    }

    .cart-empty-mobile__copy {
        display: grid;
        gap: 0.35rem;
    }

    .cart-empty-mobile__copy .eyebrow {
        color: var(--oh-mobile-green);
        font: 900 0.86rem/1.1 var(--font-sans);
        letter-spacing: 0.12em;
        text-transform: uppercase;
    }

    .cart-empty-mobile__copy h2 {
        margin: 0;
        color: var(--oh-mobile-green);
        font: 400 clamp(2.15rem, 10.2vw, 3.35rem)/0.92 var(--oh-mobile-font);
        text-wrap: balance;
        text-transform: uppercase;
    }

    .cart-empty-mobile__copy p {
        max-width: 24rem;
        margin: 0;
        color: rgba(14, 79, 49, 0.78);
        font: 700 1rem/1.35 var(--font-sans);
    }

    .cart-empty-mobile__image {
        display: block;
        aspect-ratio: 1.45;
        overflow: hidden;
        border: 2px solid var(--oh-mobile-green);
        border-radius: 1.25rem;
        background: #efd48b;
        box-shadow: 0 0.55rem 0 rgba(9, 78, 46, 0.16);
    }

    .cart-empty-mobile__image img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    .cart-empty-mobile__actions {
        display: grid;
        gap: 0.7rem;
        margin: 0;
    }

    .cart-mobile-page .placeholder-state,
    .login-mobile-page .status-banner,
    .cart-mobile-page .status-banner {
        border-radius: 1rem;
        background: rgba(27, 116, 74, 0.08);
        color: var(--oh-mobile-green-dark);
    }

    .login-mobile-page .status-banner--error,
    .cart-mobile-page .status-banner--error {
        border-color: rgba(180, 35, 24, 0.28);
        background: rgba(255, 232, 228, 0.94);
        color: #9f2d24;
    }

    .find-mobile-location-action {
        display: grid;
        gap: 0.45rem;
        margin: 0;
    }

    .find-mobile-location-action .button {
        width: max-content;
        min-height: 2.65rem;
        padding: 0.65rem 1.15rem;
        border-radius: 999px;
        font: 400 0.98rem/1 var(--oh-mobile-font);
    }

    .find-mobile-location-action .helper-copy {
        color: rgba(14, 79, 49, 0.75);
        font-size: 0.92rem;
        line-height: 1.3;
    }

    .find-mobile-type-row {
        display: none !important;
    }

    .find-mobile-list-card {
        padding: 0.8rem 1rem 1rem !important;
        border-radius: 1.35rem !important;
        background: rgba(255, 253, 248, 0.76) !important;
    }

    .find-mobile-merchant-row {
        border-radius: 0.85rem;
        transition:
            background-color 180ms ease,
            box-shadow 180ms ease,
            transform 180ms ease;
    }

    .find-mobile-merchant-row--active {
        margin-inline: -0.55rem;
        padding: 0.55rem;
        background: rgba(27, 116, 74, 0.17);
        box-shadow: inset 0 0 0 2px rgba(27, 116, 74, 0.18), 0 0.45rem 1.2rem rgba(14, 79, 49, 0.1);
        transform: translateX(0.08rem);
    }

    .find-mobile-merchant-row--active button {
        color: var(--oh-mobile-green-dark);
    }

    .find-mobile-merchant-row--active span::before {
        content: "";
        width: 0.58rem;
        height: 0.58rem;
        display: inline-block;
        margin-right: 0.42rem;
        border-radius: 999px;
        background: var(--oh-mobile-green);
        box-shadow: 0 0 0 0.22rem rgba(27, 116, 74, 0.16);
        vertical-align: 0.08rem;
    }

    .merchant-map .leaflet-popup {
        z-index: 4 !important;
    }

    .merchant-map .leaflet-popup-content-wrapper,
    .merchant-map .leaflet-popup-tip {
        border-radius: 1rem;
        background:
            linear-gradient(135deg, rgba(255, 245, 223, 0.94), rgba(218, 239, 220, 0.9)),
            rgba(255, 245, 223, 0.86);
        color: var(--oh-mobile-green-dark);
        box-shadow: 0 0.8rem 1.8rem rgba(14, 79, 49, 0.18);
        backdrop-filter: blur(14px);
    }

    .merchant-map .leaflet-popup-content {
        margin: 0;
    }

    .coreza-map-popup {
        min-width: 10rem;
        padding: 0.78rem 0.9rem;
    }

    .coreza-map-popup__title {
        font: 400 1rem/1 var(--oh-mobile-font);
        text-transform: uppercase;
    }

    .coreza-map-popup__maps-link {
        width: max-content;
        margin-top: 0.25rem;
        color: var(--oh-mobile-green);
        font: 400 0.86rem/1 var(--oh-mobile-font);
        text-decoration: none;
        text-transform: uppercase;
    }

    .button,
    .filter-chip,
    .shop-mobile-favorites-filter,
    .quantity-button,
    .storefront-quantity-button,
    .storefront-card__favorite,
    .storefront-card__details-link,
    .storefront-card__image-link,
    .shop-featured-carousel__button,
    .oh-mobile-menu-button,
    .oh-mobile-bottom-nav a,
    .merchant-list__item,
    .find-mobile-merchant-row button,
    .cart-line__controls button,
    .product-gallery__thumb,
    .google-signin-button,
    .portal-account-menu__toggle,
    .portal-account-menu__links a,
    .portal-account-menu__logout button,
    .dynamic-feedback__rating,
    .dynamic-feedback__option {
        touch-action: manipulation;
        -webkit-tap-highlight-color: transparent;
    }

    .button.is-touch-pressed,
    .filter-chip.is-touch-pressed,
    .shop-mobile-favorites-filter.is-touch-pressed,
    .quantity-button.is-touch-pressed,
    .storefront-quantity-button.is-touch-pressed,
    .storefront-card__favorite.is-touch-pressed,
    .storefront-card__details-link.is-touch-pressed,
    .storefront-card__image-link.is-touch-pressed,
    .merchant-list__item.is-touch-pressed,
    .find-mobile-merchant-row button.is-touch-pressed,
    .cart-line__controls button.is-touch-pressed,
    .product-gallery__thumb.is-touch-pressed,
    .google-signin-button.is-touch-pressed,
    .portal-account-menu__toggle.is-touch-pressed,
    .portal-account-menu__links a.is-touch-pressed,
    .portal-account-menu__logout button.is-touch-pressed,
    .dynamic-feedback__rating.is-touch-pressed,
    .dynamic-feedback__option.is-touch-pressed {
        transform: translateY(1px) scale(0.965) !important;
        box-shadow: 0 0.18rem 0.45rem rgba(14, 79, 49, 0.14) !important;
        transition-duration: 90ms !important;
    }

    .oh-mobile-menu-button.is-touch-pressed {
        transform: translateY(1px) scale(0.9) !important;
        transition-duration: 90ms !important;
    }

    .oh-mobile-top.is-menu-open .oh-mobile-menu-button.is-touch-pressed {
        transform: scale(0.96) !important;
    }

    .oh-mobile-bottom-nav a.is-touch-pressed {
        transform: translateY(2px) scale(0.9) !important;
        opacity: 0.82;
        transition-duration: 90ms !important;
    }

    .shop-featured-carousel__button--previous.is-touch-pressed {
        transform: translate(-45%, -50%) scale(0.9) !important;
    }

    .shop-featured-carousel__button--next.is-touch-pressed {
        transform: translate(45%, -50%) scale(0.9) !important;
    }

    .shop-mobile-featured .shop-featured-carousel__button--previous.is-touch-pressed {
        transform: translate(-38%, -50%) scale(0.9) !important;
    }

    .shop-mobile-featured .shop-featured-carousel__button--next.is-touch-pressed {
        transform: translate(38%, -50%) scale(0.9) !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    .button,
    .filter-chip,
    .shop-mobile-favorites-filter,
    .quantity-button,
    .storefront-quantity-button,
    .product-gallery__thumb,
    .shop-featured-carousel__button,
    .customer-dash-actions-card a,
    .oh-mobile-menu-button,
    .oh-mobile-bottom-nav a,
    .merchant-list__item,
    .portal-account-menu__toggle,
    .portal-account-menu__links a,
    .portal-account-menu__logout button,
    .dynamic-feedback__rating,
    .dynamic-feedback__option,
    .feedback-wizard-step,
    .country-card,
    .warehouse-card,
    .inventory-search-result,
    .site-config-option,
    .country-board-card,
    .site-assignment-card,
    .employee-drag-token,
    .employee-chip,
    .chip-mini-action,
    .header-nav a,
    .utility-nav a,
    .mobile-link-list a {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}


