:root {
    --tma-dark-blue: #2c3e50;
    --tma-light-blue: #33cccc;
    --tma-blue: #2980b9;
    --tma-light-gray: #ecf0f1;
    --tma-red: #cc3333;
    --tma-light-red: #ea9a9b;
    --tma-app-bg: #829ebb;
    --tma-text: #4e6e8d;
    --tma-subtle: #8aa0b0;
    --tma-border: #d6dee4;
    --tma-white: #ffffff;
}

* {
    box-sizing: border-box;
}

html,
body {
    min-height: 100%;
}

body {
    background: var(--tma-app-bg);
    color: var(--tma-text);
    font-family: "Noto Sans", ui-sans-serif, system-ui, "Segoe UI", Arial, sans-serif;
    letter-spacing: 0;
    margin: 0;
}

a {
    color: inherit;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

img {
    height: auto;
    max-width: 100%;
}

.skip-link {
    background: var(--tma-dark-blue);
    border-radius: 0 0 8px 0;
    color: white;
    font-weight: 800;
    left: 0;
    padding: 0.75rem 1rem;
    position: fixed;
    top: 0;
    transform: translateY(-120%);
    transition: transform 160ms ease;
    z-index: 2000;
}

.skip-link:focus {
    outline: 3px solid var(--tma-light-blue);
    outline-offset: 2px;
    transform: translateY(0);
}

.site-shell {
    min-height: 100vh;
}

.site-header {
    background: var(--tma-blue) !important;
    color: #f5f8f8 !important;
    left: 50% !important;
    max-width: 600px;
    right: auto !important;
    transform: translateX(-50%);
    width: min(100%, 600px);
}

.site-header .mud-toolbar {
    align-items: center;
    min-height: 48px;
    overflow: visible;
    padding: 0 !important;
}

.app-toolbar {
    align-items: center;
    display: grid;
    grid-template-areas: "menu title logo";
    grid-template-columns: 56px minmax(0, 1fr) 56px;
    height: 48px;
    max-height: 48px;
    min-height: 48px;
    width: 100%;
}

.toolbar-menu {
    grid-area: menu;
    height: 48px;
    justify-self: center;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    width: 48px !important;
}

.toolbar-title {
    color: #f5f8f8 !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    grid-area: title;
    justify-self: center;
    letter-spacing: 0 !important;
    line-height: 1;
    max-width: 100%;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* WC.2: workspace-mode app-bar brand — the selected concept, with the location stacked below it when set. Each
   line truncates independently with an ellipsis so a long concept/location name never overflows at 375px. */
.toolbar-workspace-brand {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    line-height: 1.15;
    max-width: 100%;
    overflow: hidden;
}

.toolbar-workspace-concept {
    font-weight: 800;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.toolbar-workspace-location {
    font-size: 0.7rem;
    font-weight: 600;
    max-width: 100%;
    opacity: 0.85;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.toolbar-public-nav {
    display: none;
}

.toolbar-app-signin {
    display: none;
}

.toolbar-logo {
    align-items: center;
    display: flex;
    grid-area: logo;
    height: 48px;
    justify-content: center;
    justify-self: center;
    margin-left: 0;
    padding: 0.35rem;
    width: 48px;
}

.toolbar-logo img {
    display: block;
    max-height: 30px;
    object-fit: contain;
    width: 42px;
}

.toolbar-admin-menu {
    grid-area: logo;
    height: 48px;
    justify-self: center;
    margin-inline: 0 !important;
    padding-inline: 0 !important;
    width: 48px !important;
}

.app-drawer {
    color: var(--tma-text);
    width: min(86vw, 304px) !important;
}

.admin-nav-drawer {
    color: var(--tma-text);
    width: min(92vw, 360px) !important;
}

.app-drawer.mud-drawer--closed,
.app-drawer.mud-drawer--initial,
.admin-nav-drawer.mud-drawer--closed,
.admin-nav-drawer.mud-drawer--initial {
    pointer-events: none;
    visibility: hidden;
}

.app-drawer.mud-drawer--open,
.admin-nav-drawer.mud-drawer--open {
    pointer-events: auto;
    visibility: visible;
}

.admin-drawer-head {
    align-items: center;
    background: #07101d;
    border-bottom: 1px solid rgba(244, 247, 255, 0.14);
    color: #f4f8fb;
    display: flex;
    justify-content: space-between;
    min-height: 64px;
    padding: 0.85rem 1rem;
}

.admin-drawer-head strong,
.admin-drawer-head small {
    display: block;
    line-height: 1.2;
}

.admin-drawer-head strong {
    font-size: 1rem;
    font-weight: 950;
}

.admin-drawer-head small {
    color: rgba(244, 247, 255, 0.72);
    font-size: 0.76rem;
    font-weight: 850;
    margin-top: 0.15rem;
}

.admin-drawer-nav {
    padding: 0.7rem 0.75rem 1rem;
}

/* The audience group heading ("Platform admin" / "Restaurant workspace") above each block of sections. */
.admin-drawer-audience-title {
    border-top: 1px solid var(--tma-border, #d8e4ea);
    color: var(--tma-blue, #2980b9);
    font-size: 0.82rem;
    font-weight: 800;
    letter-spacing: 0.01em;
    margin-top: 0.6rem;
    padding: 0.9rem 0.75rem 0.1rem;
}

.admin-drawer-audience-title:first-of-type {
    border-top: 0;
    margin-top: 0;
}

.admin-drawer-nav .mud-nav-link {
    border: 1px solid transparent;
    border-radius: 8px;
    margin-bottom: 0.12rem;
    min-height: 42px;
}

.admin-drawer-nav .mud-nav-link.is-active-admin-link {
    background: #eaf7fb;
    border-color: rgba(51, 204, 204, 0.34);
    color: #153f55;
    font-weight: 900;
}

.app-drawer.mud-drawer--closed {
    transform: translateX(-100%) !important;
}

.app-drawer.mud-drawer--open {
    transform: translateX(0) !important;
}

.drawer-head {
    align-items: center;
    border-bottom: 1px solid var(--tma-border);
    display: flex;
    justify-content: space-between;
    padding: 0.85rem 1rem;
}

.drawer-logo {
    align-items: center;
    display: inline-flex;
    height: 52px;
    justify-content: center;
    width: 112px;
}

.drawer-logo img {
    max-height: 50px;
    object-fit: contain;
}

.drawer-nav .mud-nav-link {
    min-height: 44px;
}

.drawer-nav .mud-nav-group > .mud-nav-link {
    font-weight: 750;
}

.drawer-nav .mud-nav-group .mud-nav-link {
    padding-left: 1.6rem;
}

.drawer-account-actions {
    display: grid;
    gap: 0.35rem;
    padding: 0.25rem 0.85rem 0.75rem;
}

.drawer-account-actions .mud-nav-link {
    border-radius: 8px;
    padding-left: 0.75rem !important;
}

.drawer-access-status {
    align-items: center;
    background: #f4f8fb;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    color: #526b80;
    display: grid;
    font-size: 0.78rem;
    font-weight: 800;
    gap: 0.5rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.35;
    margin-top: 0.15rem;
    padding: 0.65rem 0.7rem;
}

.drawer-access-status.is-unlocked {
    background: #e9f6f3;
    border-color: rgba(51, 204, 204, 0.55);
    color: #145d63;
}

.drawer-access-status.is-admin {
    background: #eef4f7;
    border-color: rgba(44, 62, 80, 0.28);
    color: #2c3e50;
}

.drawer-signed-in-label {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.28rem;
}

.drawer-signed-in-label strong {
    font-weight: 900;
}

/* WC.2: the current concept (+ location), directly above "Signed in as". The static form (single concept) and
   the clickable toggle (>1 concept) share the same compact card look as .drawer-access-status; each text line
   truncates independently so a long name never overflows the drawer at 375px. */
.drawer-current-workspace-static,
.drawer-current-workspace-toggle {
    align-items: center;
    background: #f4f8fb;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: flex;
    gap: 0.5rem;
    margin-top: 0.15rem;
    max-width: 100%;
    min-height: 44px;
    padding: 0.5rem 0.7rem;
}

.drawer-current-workspace-toggle {
    color: inherit;
    cursor: pointer;
    font: inherit;
    justify-content: space-between;
    width: 100%;
}

.drawer-current-workspace-label {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 0.05rem;
    min-width: 0;
    text-align: left;
}

.drawer-current-workspace-concept {
    color: #2c3e50;
    font-size: 0.85rem;
    font-weight: 800;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.drawer-current-workspace-location {
    color: #526b80;
    font-size: 0.72rem;
    font-weight: 600;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.drawer-workspace-switcher {
    margin-top: 0.4rem;
    padding: 0 0.1rem;
}

/* The compact WorkspaceScopePicker (WC.1) hosted inline by the switcher — stacked, full-width selects instead
   of the wide horizontal layout the page-level picker uses. */
.workspace-scope-picker--compact .workspace-concept-select,
.workspace-scope-picker--compact .workspace-location-select {
    width: 100%;
}

.drawer-app-login-button {
    box-shadow: 0 8px 18px rgba(21, 52, 67, 0.18);
    justify-content: flex-start;
    min-height: 44px;
    text-transform: none;
}

.drawer-app-login-button .mud-button-label {
    font-weight: 800;
}

.drawer-admin-action-button {
    justify-content: flex-start;
    min-height: 40px;
    text-transform: none;
}

.drawer-admin-action-button .mud-button-label {
    font-weight: 800;
}

.drawer-signout-button {
    margin-top: 0.1rem;
}

.drawer-preview-lock-button {
    justify-content: flex-start;
    min-height: 38px;
    text-transform: none;
}

.drawer-preview-lock-button .mud-button-label {
    font-size: 0.84rem;
    font-weight: 800;
}

.tool-nav-label {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
    min-width: 0;
}

.tool-nav-status {
    border: 1px solid currentColor;
    border-radius: 999px;
    font-size: 0.66rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.18rem 0.35rem;
    text-transform: uppercase;
}

.tool-nav-status.is-enabled {
    color: #1f8a55;
}

.tool-nav-status.is-coming-soon {
    color: #9a6a00;
}

.tool-nav-status.is-hidden {
    color: #687887;
}

.drawer-app-signin {
    padding: 0.75rem 0.85rem 1rem;
}

.drawer-app-signin .app-signin-card {
    box-shadow: none;
}

.site-main {
    margin-inline: auto;
    max-width: 600px;
    min-height: 100vh;
    padding-top: 48px;
    width: min(100%, 600px);
}

.site-shell.is-public-site {
    --public-bg: #f4f8fb;
    --public-surface: #ffffff;
    --public-surface-alt: #f8fbfc;
    --public-text: #22384e;
    --public-muted: #697f91;
    --public-border: #d9e2e8;
    --public-hero-bg: #07101d;
    --public-hero-text: #f4f7ff;
    --public-hero-muted: rgba(244, 247, 255, 0.74);
    --public-hero-panel: rgba(244, 247, 255, 0.07);
    --public-hero-border: rgba(244, 247, 255, 0.15);
    --public-header-bg: #07101d;
    --public-section-light: #edf6f8;
    --public-section-dark: #123747;
    --public-section-dark-text: #f4fbff;
    --public-section-dark-muted: rgba(244, 251, 255, 0.75);
    --public-section-dark-border: rgba(244, 251, 255, 0.14);
    --public-content-max: 1040px;
    --public-hero-max: 1120px;
    color-scheme: light;
}

.site-shell.is-public-site .site-header,
.site-shell.is-public-site .site-main {
    max-width: none;
    width: 100%;
}

.site-shell.is-public-site .site-header {
    background: var(--public-header-bg) !important;
    border-bottom: 1px solid var(--public-hero-border);
}

.site-shell.is-public-site .site-footer {
    background: var(--public-header-bg);
    border-top: 1px solid var(--public-border);
}

.site-shell.is-public-site .app-toolbar {
    margin-inline: auto;
    max-width: var(--public-hero-max);
}

.site-shell.is-public-site .toolbar-public-nav a {
    align-items: center;
    border-radius: 4px;
    color: rgba(244, 247, 255, 0.76);
    display: inline-flex;
    font-size: 0.88rem;
    font-weight: 750;
    min-height: 34px;
    padding: 0.35rem 0.5rem;
}

.site-shell.is-public-site .toolbar-public-nav a:hover,
.site-shell.is-public-site .toolbar-public-nav a:focus-visible {
    background: rgba(244, 247, 255, 0.08);
    color: #ffffff;
    text-decoration: none;
}

.site-shell.is-public-site .app-canvas {
    background: var(--public-bg);
    box-shadow: none;
    color: var(--public-text);
}

.site-shell.is-public-site .app-page-title {
    color: var(--public-hero-text);
    max-width: 660px;
}

.site-shell.is-public-site .app-page-subtitle {
    color: #9be8ed;
}

.site-shell.is-public-site .app-page-lead {
    color: var(--public-hero-muted);
    max-width: 640px;
}

.site-shell.is-public-site .app-hero {
    background:
        linear-gradient(135deg, rgba(51, 204, 204, 0.12), transparent 38%),
        linear-gradient(160deg, var(--public-hero-bg) 0%, #0a1b2d 64%, #082534 100%);
    align-items: flex-start;
    border-top: 1px solid var(--public-hero-border);
    color: var(--public-hero-text);
    padding-block: 2.35rem 2.15rem;
    padding-inline: max(1.35rem, calc((100vw - var(--public-content-max)) / 2));
}

.site-shell.is-public-site .app-page-eyebrow {
    justify-content: flex-start;
}

.site-shell.is-public-site .app-page-title,
.site-shell.is-public-site .app-page-subtitle,
.site-shell.is-public-site .app-page-lead,
.site-shell.is-public-site .app-section-head .mud-typography,
.site-shell.is-public-site .app-signup-band > .mud-typography {
    text-align: left !important;
}

.site-shell.is-public-site .app-page-title,
.site-shell.is-public-site .app-page-subtitle,
.site-shell.is-public-site .app-page-lead {
    margin-inline: 0 auto;
}

.site-shell.is-public-site .app-signup-band > .mud-button-root {
    justify-self: start;
}

.site-shell.is-public-site .app-hero .mud-button-outlined {
    border-color: rgba(155, 232, 237, 0.55) !important;
    color: #9be8ed !important;
}

.site-shell.is-public-site .app-hero .mud-chip-outlined {
    border-color: rgba(155, 232, 237, 0.45) !important;
    color: var(--public-hero-text) !important;
}

.site-shell.is-public-site .app-section {
    background: var(--public-section-light);
    border-top: 1px solid var(--public-border);
    padding-block: 2.25rem;
    padding-inline: max(1.35rem, calc((100vw - var(--public-content-max)) / 2));
}

.site-shell.is-public-site .app-preview-section,
.site-shell.is-public-site .home-founder-section {
    background: var(--public-section-light);
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(even) {
    background: var(--public-section-light);
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) {
    background: var(--public-section-dark);
    border-top-color: var(--public-section-dark-border);
    color: var(--public-section-dark-text);
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .app-section-head > .mud-typography-h5,
.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd).app-signup-band > .mud-typography-h5,
.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .home-intent-head .mud-typography-h5 {
    color: var(--public-section-dark-text);
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .app-section-head > .app-section-lead,
.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd).app-signup-band > .mud-typography-body2,
.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .home-intent-head .mud-typography-body2 {
    color: var(--public-section-dark-muted);
}

.site-shell.is-public-site .app-section .mud-typography-h5,
.site-shell.is-public-site .app-signup-band .mud-typography-h5 {
    color: var(--public-text);
}

.site-shell.is-public-site .app-section-lead,
.site-shell.is-public-site .app-signup-band .mud-typography-body2 {
    color: var(--public-muted);
}

.site-shell.is-public-site .app-cta-row {
    max-width: 620px;
}

.home-hero {
    background:
        linear-gradient(135deg, rgba(51, 204, 204, 0.12), transparent 36%),
        linear-gradient(160deg, var(--public-hero-bg) 0%, #0a1b2d 62%, #082534 100%);
    border-top: 1px solid var(--public-hero-border);
    color: var(--public-hero-text);
    display: grid;
    gap: 1.5rem;
    overflow: hidden;
    padding: 2.7rem max(1.35rem, calc((100vw - var(--public-hero-max)) / 2)) 2.25rem;
}

.home-intent-hero {
    min-height: auto;
}

.home-product-hero {
    min-height: 520px;
}

.home-hero-copy {
    display: grid;
    gap: 0.82rem;
    justify-items: start;
}

.home-hero-title {
    color: var(--public-hero-text);
    font-size: 2.55rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 0.98 !important;
    max-width: 11ch;
}

.home-hero-subtitle {
    color: #9be8ed;
    font-size: 1.08rem !important;
    font-weight: 800 !important;
    letter-spacing: 0 !important;
    line-height: 1.35 !important;
    max-width: 38ch;
}

.home-hero-lead {
    color: var(--public-hero-muted);
    line-height: 1.55 !important;
    margin: 0 !important;
    max-width: 62ch;
}

.home-hero-notice {
    background: rgba(39, 129, 184, 0.1);
    border: 1px solid rgba(39, 129, 184, 0.26);
    border-radius: 8px;
    color: rgba(244, 247, 255, 0.88);
    display: grid;
    gap: 0.35rem;
    max-width: 640px;
    padding: 0.92rem 1rem;
}

.home-hero-notice strong,
.home-hero-notice span {
    display: block;
    min-width: 0;
    overflow-wrap: anywhere;
}

.home-hero-notice strong {
    color: var(--public-hero-text);
    font-size: 0.95rem;
    font-weight: 900;
    line-height: 1.26;
}

.home-hero-notice span {
    color: var(--public-hero-muted);
    font-size: 0.88rem;
    line-height: 1.45;
}

.home-founder-lock {
    align-items: start;
    background: var(--public-hero-panel);
    border: 1px solid var(--public-hero-border);
    border-left: 4px solid var(--tma-red);
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto minmax(0, 1fr);
    max-width: 560px;
    padding: 0.76rem 0.82rem;
}

.home-founder-lock strong,
.home-founder-lock small,
.founder-lock-points strong,
.founder-lock-points small,
.founder-rate-row strong,
.founder-rate-row small {
    display: block;
}

.home-founder-lock strong,
.founder-lock-points strong,
.founder-rate-row strong {
    color: var(--public-text);
    font-size: 0.96rem;
    font-weight: 800;
    line-height: 1.3;
}

.home-founder-lock strong {
    color: var(--public-hero-text);
}

.home-founder-lock small,
.founder-lock-points small,
.founder-rate-row small {
    color: var(--public-muted);
    font-size: 0.84rem;
    line-height: 1.34;
    margin-top: 0.22rem;
}

.home-founder-lock small {
    color: var(--public-hero-muted);
}

.home-hero-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    max-width: 520px;
    width: 100%;
}

.home-hero-actions .mud-button-root {
    min-width: 10.25rem;
}

.home-hero-actions .mud-button-outlined {
    border-color: rgba(155, 232, 237, 0.55) !important;
    color: #9be8ed !important;
}

.home-proof-strip {
    border-top: 1px solid var(--public-hero-border);
    display: grid;
    gap: 0.75rem;
    margin-top: 0.15rem;
    padding-top: 0.9rem;
    width: 100%;
}

.home-intent-hero .home-proof-strip {
    max-width: 620px;
}

.home-intent-router {
    border-top: 1px solid var(--public-border);
}

.home-router-eyebrow {
    color: var(--tma-blue);
    font-size: 0.76rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-transform: uppercase;
}

.home-intent-router .home-journey-card {
    box-shadow: 0 14px 36px rgba(14, 34, 52, 0.08);
}

.home-intent-router .home-journey-card .mud-button-root {
    justify-self: start;
    min-width: max-content;
}

.evidence-stats-section {
    display: grid;
    gap: 1.25rem;
}

.evidence-stats-head {
    display: grid;
    gap: 0.48rem;
    max-width: 760px;
}

.evidence-stats-head .mud-typography-h5 {
    color: var(--public-text);
    font-size: clamp(1.45rem, 3vw, 2rem) !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    line-height: 1.12 !important;
}

.evidence-stats-eyebrow {
    color: var(--tma-blue);
    font-size: 0.76rem;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.evidence-stats-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.evidence-stat-card {
    border: 1px solid var(--public-border);
    border-radius: 8px;
    display: grid;
    gap: 0.58rem;
    padding: 1rem;
}

.evidence-stat-kicker {
    align-self: start;
    background: rgba(51, 204, 204, 0.12);
    border: 1px solid rgba(51, 204, 204, 0.24);
    border-radius: 999px;
    color: #146f85;
    font-size: 0.74rem;
    font-weight: 850;
    justify-self: start;
    line-height: 1.2;
    padding: 0.34rem 0.62rem;
}

.evidence-stat-value {
    color: #22384e;
    display: block;
    font-size: clamp(2rem, 4vw, 2.9rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

.evidence-stat-card .mud-typography-h6 {
    color: #22384e;
    font-size: 1.02rem !important;
    font-weight: 850 !important;
    letter-spacing: 0 !important;
    line-height: 1.25 !important;
    margin: 0 !important;
}

.evidence-stat-card .mud-typography-body2 {
    color: #697f91;
    line-height: 1.5 !important;
}

.evidence-stat-source {
    align-items: center;
    color: var(--tma-blue);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 800;
    justify-self: start;
    line-height: 1.35;
    margin-top: 0.15rem;
    text-decoration: none;
}

.evidence-stat-source:hover {
    text-decoration: underline;
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stats-head .mud-typography-h5 {
    color: var(--public-section-dark-text);
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stats-eyebrow,
.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stat-source {
    color: #9be8ed;
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stat-card .evidence-stat-value,
.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stat-card .mud-typography-h6 {
    color: #22384e !important;
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stat-card .mud-typography-body2 {
    color: #697f91 !important;
}

.site-shell.is-public-site .app-canvas > section:not(.app-hero):not(.home-hero):nth-of-type(odd) .evidence-stat-card .evidence-stat-source {
    color: #146f85 !important;
}

.home-proof-strip strong,
.home-proof-strip small {
    display: block;
}

.home-proof-strip strong {
    color: var(--public-hero-text);
    font-size: 0.92rem;
    font-weight: 900;
    line-height: 1.25;
}

.home-proof-strip small {
    color: var(--public-hero-muted);
    font-size: 0.82rem;
    line-height: 1.32;
    margin-top: 0.15rem;
}

.home-hero-media {
    align-items: center;
    display: flex;
    justify-content: center;
    min-height: 300px;
}

.home-hero-media > img {
    filter: drop-shadow(0 24px 44px rgba(0, 0, 0, 0.45));
    justify-self: center;
    max-height: 430px;
    object-fit: contain;
    width: min(92%, 400px);
}

.home-intent-section {
    background: var(--public-section-light);
    border-bottom: 1px solid var(--public-border);
    display: grid;
    gap: 1rem;
    padding: 1.35rem max(1.35rem, calc((100vw - var(--public-hero-max)) / 2));
}

.home-intent-head {
    display: grid;
    gap: 0.25rem;
}

.home-intent-head .mud-typography-h5 {
    color: var(--public-text);
    font-size: 1.18rem;
    font-weight: 800;
    letter-spacing: 0;
}

.home-intent-head .mud-typography-body2 {
    color: var(--public-muted);
    line-height: 1.45;
}

.home-intent-list {
    border: 1px solid var(--public-border);
    border-radius: 8px;
    overflow: hidden;
}

.home-journey-section {
    background: var(--public-section-light);
    border-bottom: 1px solid var(--public-border);
    display: grid;
    gap: 1rem;
    padding: 1.35rem max(1.35rem, calc((100vw - var(--public-hero-max)) / 2));
}

.home-journey-head {
    display: grid;
    gap: 0.25rem;
    max-width: 48rem;
}

.home-journey-head .mud-typography-h5 {
    color: var(--public-text);
    font-size: 1.18rem;
    font-weight: 850;
    letter-spacing: 0;
}

.home-journey-head .mud-typography-body2 {
    color: var(--public-muted);
    line-height: 1.45;
}

.home-journey-grid {
    display: grid;
    gap: 0.85rem;
}

.home-journey-card {
    background: var(--public-surface);
    border: 1px solid var(--public-border);
    border-radius: 8px;
    display: grid;
    gap: 0.82rem;
    min-width: 0;
    padding: 1rem;
}

.home-journey-card-head {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.home-journey-card-head span,
.home-journey-card-head small,
.home-journey-card-head strong,
.home-journey-links a {
    min-width: 0;
}

.home-journey-card-head small,
.home-journey-card-head strong,
.home-journey-links a {
    display: block;
}

.home-journey-card-head small {
    color: var(--tma-blue);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-journey-card-head strong {
    color: var(--public-text);
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.18;
    margin-top: 0.16rem;
}

.home-journey-card .mud-typography-body2 {
    color: var(--public-muted);
    line-height: 1.5;
}

.home-journey-card .mud-button-root {
    justify-self: start;
}

.home-journey-links {
    border-top: 1px solid var(--public-border);
    display: grid;
    gap: 0.25rem;
    padding-top: 0.72rem;
}

.home-journey-links a {
    align-items: center;
    border-radius: 8px;
    color: #244761;
    display: grid;
    font-size: 0.86rem;
    font-weight: 850;
    gap: 0.5rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.25;
    padding: 0.44rem 0.5rem;
    text-decoration: none;
}

.home-journey-links a:hover,
.home-journey-links a:focus-visible {
    background: #eef6fa;
    outline: 2px solid rgba(41, 128, 185, 0.24);
    outline-offset: 0;
}

.section-anchor {
    height: 0;
    scroll-margin-top: 72px;
}

.founder-offer-card {
    background: var(--public-surface);
    border: 1px solid var(--public-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
    padding: 1rem;
}

.founder-offer-copy {
    display: grid;
    gap: 0.65rem;
}

.founder-offer-copy .mud-typography-h5 {
    color: var(--public-text);
    font-size: 1.35rem;
    font-weight: 750;
    letter-spacing: 0;
    line-height: 1.25;
}

.founder-offer-copy .mud-typography-body2 {
    color: var(--public-text);
    line-height: 1.55;
}

.founder-lock-points {
    border-top: 1px solid var(--public-border);
    display: grid;
    gap: 0.65rem;
    padding-top: 0.75rem;
}

.founder-rate-row {
    display: grid;
    gap: 0.75rem;
    margin: 0.85rem 0 1rem;
}

.founder-rate-row span {
    background: var(--public-surface);
    border: 1px solid var(--public-border);
    border-radius: 8px;
    padding: 0.85rem;
}

.founder-principles {
    margin-top: 0.25rem;
}

.host-market-offer-hero-card {
    background: var(--public-hero-panel);
    border: 1px solid var(--public-hero-border);
    border-radius: 8px;
    color: var(--public-hero-text);
    display: grid;
    gap: 1rem;
    margin-top: 1.15rem;
    max-width: 860px;
    padding: 1rem;
    width: 100%;
}

.host-market-offer-price-grid {
    display: grid;
    gap: 0.75rem;
}

.host-market-offer-price-grid span {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 8px;
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem;
}

.host-market-offer-price-grid small,
.host-market-story-points small,
.host-market-step-card small {
    line-height: 1.4;
}

.host-market-offer-price-grid small {
    color: #9be8ed;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.host-market-offer-price-grid strong {
    color: #ffffff;
    font-size: clamp(1.35rem, 7vw, 2.1rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
}

.host-market-offer-price-grid em {
    color: var(--public-hero-muted);
    font-size: 0.9rem;
    font-style: normal;
    line-height: 1.45;
}

.host-market-offer-alert {
    background: rgba(255, 255, 255, 0.04) !important;
    color: var(--public-hero-text) !important;
}

.host-market-promo-code-card {
    align-items: center;
    background: #f4fbff;
    border: 1px solid rgba(155, 232, 237, 0.45);
    border-radius: 8px;
    color: var(--tma-text);
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.95rem;
}

.host-market-promo-code-card small,
.pricing-promo-card small {
    color: var(--tma-blue);
    display: block;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.25;
    text-transform: uppercase;
}

.host-market-promo-code-card strong,
.pricing-promo-card strong {
    color: var(--tma-text);
    display: block;
    font-size: 1.05rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.18;
}

.host-market-promo-code-card em,
.pricing-promo-card em {
    color: var(--tma-subtle);
    display: block;
    font-size: 0.86rem;
    font-style: normal;
    line-height: 1.4;
    margin-top: 0.2rem;
}

.host-market-metric-card {
    background: var(--public-surface);
}

.host-market-source-note {
    color: var(--public-muted);
    display: block;
    font-size: 0.78rem;
    line-height: 1.45;
    margin-top: 1rem;
}

.host-market-source-note a {
    color: var(--tma-blue);
    font-weight: 800;
}

.host-market-story-card {
    align-items: start;
    background: var(--public-surface);
    border: 1px solid var(--public-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.host-market-story-card .mud-typography-h5 {
    color: var(--public-text);
    font-size: 1.3rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    margin-bottom: 0.55rem;
}

.host-market-story-card .mud-typography-body2 {
    color: var(--public-text);
    line-height: 1.58;
}

.host-market-story-points {
    display: grid;
    gap: 0.7rem;
}

.host-market-story-points span {
    background: var(--public-surface-alt);
    border: 1px solid var(--public-border);
    border-radius: 8px;
    display: grid;
    gap: 0.25rem;
    padding: 0.85rem;
}

.host-market-story-points strong,
.host-market-step-card strong {
    color: var(--public-text);
    font-weight: 800;
}

.host-market-story-points small,
.host-market-step-card small {
    color: var(--public-muted);
}

.host-market-steps {
    display: grid;
    gap: 0.75rem;
    margin-bottom: 1rem;
}

.host-market-step-card {
    border: 1px solid var(--public-border);
    border-radius: 8px;
    display: grid;
    gap: 0.35rem;
    padding: 0.95rem;
}

.host-market-step-card > span {
    align-items: center;
    background: var(--tma-blue);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 900;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.host-market-offer-final {
    background: var(--public-surface-alt);
}

.app-canvas {
    background: #ffffff;
    box-shadow: 0 0 18px rgba(44, 62, 80, 0.18);
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 48px);
    min-height: calc(100dvh - 48px);
    overflow: hidden;
}

.app-hero,
.app-section {
    padding-inline: clamp(1.4rem, 5vw, 2rem);
}

.app-hero {
    align-items: center;
    display: flex;
    flex-direction: column;
    padding-block: 2rem 1.8rem;
}

.hero-logo {
    display: block;
    margin-bottom: 1.1rem;
    max-width: 250px;
    object-fit: contain;
    width: 68%;
}

.app-page-title {
    color: var(--tma-text);
    font-size: 1.85rem !important;
    font-weight: 600 !important;
    letter-spacing: 0 !important;
    line-height: 1.1 !important;
    max-width: 500px;
}

.app-page-eyebrow {
    align-items: center;
    color: var(--tma-subtle);
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 850;
    gap: 0.4rem;
    justify-content: center;
    letter-spacing: 0.08em;
    line-height: 1.2;
    margin-bottom: 0.8rem;
    text-transform: uppercase;
}

.app-page-eyebrow .mud-icon-root {
    font-size: 1rem;
}

.site-shell.is-public-site .app-page-eyebrow {
    color: rgba(244, 247, 255, 0.62);
}

.home-hero-eyebrow {
    color: rgba(244, 247, 255, 0.62);
    justify-content: flex-start;
    margin-bottom: 0;
}

.app-page-subtitle {
    color: var(--tma-blue);
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    margin-top: 0.8rem !important;
}

.app-page-lead {
    color: var(--tma-text);
    line-height: 1.6 !important;
    margin-top: 1rem !important;
    max-width: 520px;
}

.app-cta-row {
    display: grid;
    gap: 0.75rem;
    margin-top: 1.55rem;
    max-width: 540px;
    width: 100%;
}

.thank-you-actions {
    justify-content: center;
}

.thank-you-actions .mud-button-root {
    justify-self: center;
    width: fit-content;
}

.checkout-account-handoff-card {
    align-items: center;
    border: 1px solid rgba(41, 128, 185, 0.22);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 1rem;
}

.checkout-account-handoff-card .mud-button-root {
    justify-self: end;
    width: fit-content;
}

.checkout-account-handoff-copy {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
}

.checkout-account-handoff-copy .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 700;
    letter-spacing: 0;
}

.checkout-account-handoff-copy .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.app-section {
    border-top: 1px solid rgba(214, 222, 228, 0.9);
    padding-block: 1.85rem;
}

.app-section-head {
    margin-bottom: 1.15rem;
}

.app-section .mud-typography-h5 {
    color: var(--tma-text);
    font-size: 1.25rem;
    font-weight: 500;
    letter-spacing: 0;
    margin-bottom: 0;
}

.app-section-lead {
    color: var(--tma-subtle);
    line-height: 1.55 !important;
    margin-top: 0.45rem !important;
}

.app-list {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    overflow: hidden;
}

.app-list-item {
    align-items: center;
    background: white;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 76px;
    padding: 0.95rem 1rem;
}

.app-list-item + .app-list-item {
    border-top: 1px solid var(--tma-border);
}

.app-list-item:hover {
    background: rgba(41, 128, 185, 0.045);
    text-decoration: none;
}

.site-shell.is-public-site .app-list-item,
.site-shell.is-public-site .app-feature-card,
.site-shell.is-public-site .metric-card,
.site-shell.is-public-site .comparison-card,
.site-shell.is-public-site .pricing-plan-card,
.site-shell.is-public-site .pricing-addon-strip,
.site-shell.is-public-site .pricing-value-card,
.site-shell.is-public-site .pricing-terms-card,
.site-shell.is-public-site .pricing-builder,
.site-shell.is-public-site .pricing-module-card,
.site-shell.is-public-site .addon-card,
.site-shell.is-public-site .preview-panel,
.site-shell.is-public-site .video-player-card,
.site-shell.is-public-site .video-list-card,
.site-shell.is-public-site .contact-form-card,
.site-shell.is-public-site .story-card,
.site-shell.is-public-site .fit-card {
    background: var(--public-surface);
    border-color: var(--public-border);
}

.site-shell.is-public-site .app-list-item:hover {
    background: var(--public-surface-alt);
}

.site-shell.is-public-site .app-list-item strong,
.site-shell.is-public-site .preview-row strong,
.site-shell.is-public-site .app-feature-card strong,
.site-shell.is-public-site .comparison-card .mud-typography-subtitle2,
.site-shell.is-public-site .comparison-card-grid strong,
.site-shell.is-public-site .pricing-plan-head .mud-typography-h5,
.site-shell.is-public-site .pricing-plan-price strong,
.site-shell.is-public-site .pricing-addon-strip strong,
.site-shell.is-public-site .pricing-value-card strong,
.site-shell.is-public-site .pricing-terms-card strong,
.site-shell.is-public-site .pricing-module-head strong,
.site-shell.is-public-site .pricing-getstarted strong,
.site-shell.is-public-site .addon-card .mud-typography-subtitle1,
.site-shell.is-public-site .pricing-builder-head .mud-typography-h6 {
    color: var(--public-text);
}

.site-shell.is-public-site .app-list-item small,
.site-shell.is-public-site .preview-row small,
.site-shell.is-public-site .app-feature-card small,
.site-shell.is-public-site .comparison-card-grid span,
.site-shell.is-public-site .pricing-plan-head .mud-typography-body2,
.site-shell.is-public-site .pricing-plan-price small,
.site-shell.is-public-site .pricing-plan-detail small,
.site-shell.is-public-site .pricing-addon-strip small,
.site-shell.is-public-site .pricing-value-card small,
.site-shell.is-public-site .pricing-module-card small,
.site-shell.is-public-site .pricing-getstarted small,
.site-shell.is-public-site .pricing-terms-card .mud-typography-body2,
.site-shell.is-public-site .pricing-terms-card small,
.site-shell.is-public-site .addon-card .mud-typography-body2,
.site-shell.is-public-site .pricing-builder-head .mud-typography-body2,
.site-shell.is-public-site .pricing-snapshot small,
.site-shell.is-public-site .pricing-snapshot em,
.site-shell.is-public-site .pricing-summary .mud-typography-caption {
    color: var(--public-muted);
}

.site-shell.is-public-site .video-list-button {
    background: var(--public-surface);
    color: var(--public-text);
}

.site-shell.is-public-site .video-list-button:hover,
.site-shell.is-public-site .video-list-button.is-active {
    background: var(--public-surface-alt);
}

.site-shell.is-public-site .video-list,
.site-shell.is-public-site .mud-tabs-tabbar {
    background: var(--public-surface);
    border-color: var(--public-border);
}

.site-shell.is-public-site .mud-tab {
    color: var(--public-muted);
}

.site-shell.is-public-site .mud-tab.mud-tab-active {
    color: #9be8ed;
}

.site-shell.is-public-site .contact-form-card .mud-input,
.site-shell.is-public-site .contact-form-card input,
.site-shell.is-public-site .contact-form-card textarea {
    color: var(--public-text) !important;
}

.site-shell.is-public-site .contact-form-card .mud-input-label {
    color: var(--public-muted) !important;
}

.site-shell.is-public-site .contact-form-card .mud-input-outlined-border {
    border-color: var(--public-border) !important;
}

.site-shell.is-public-site .contact-form-card .mud-input:hover .mud-input-outlined-border,
.site-shell.is-public-site .contact-form-card .mud-input:focus-within .mud-input-outlined-border {
    border-color: rgba(51, 204, 204, 0.72) !important;
}

.site-shell.is-public-site .pricing-snapshot > span {
    background: var(--public-surface-alt);
    border-color: var(--public-border);
}

.site-shell.is-public-site .pricing-builder-checkout {
    background: var(--public-surface-alt);
    border-color: var(--public-border);
}

.site-shell.is-public-site .billing-toggle {
    background: var(--public-surface);
    border-color: var(--public-border);
}

.site-shell.is-public-site .billing-toggle .mud-toggle-item:not(:first-child) {
    border-color: var(--public-border) !important;
}

.site-shell.is-public-site .billing-toggle .mud-toggle-item.mud-selected {
    background: rgba(51, 204, 204, 0.16);
    box-shadow: inset 0 0 0 2px rgba(51, 204, 204, 0.28);
}

.site-shell.is-public-site .billing-toggle .mud-toggle-item small {
    color: var(--public-muted);
}

.site-shell.is-public-site .pricing-selected-plan {
    background: rgba(51, 204, 204, 0.12);
    border-color: rgba(51, 204, 204, 0.36);
}

.site-shell.is-public-site .pricing-selected-plan small {
    color: var(--public-muted);
}

.site-shell.is-public-site .pricing-selected-plan strong {
    color: #9be8ed;
}

.site-shell.is-public-site .pricing-plan-card.is-best-value {
    background: linear-gradient(180deg, rgba(51, 204, 204, 0.16), var(--public-surface) 36%);
    border-color: rgba(51, 204, 204, 0.48);
}

.public-card-grid {
    isolation: isolate;
}

.app-list-item strong,
.app-list-item small,
.preview-row strong,
.preview-row small,
.app-feature-card strong,
.app-feature-card small {
    display: block;
}

.app-list-item strong,
.preview-row strong,
.app-feature-card strong {
    color: var(--tma-text);
    font-size: 0.98rem;
    font-weight: 650;
    line-height: 1.25;
}

.app-list-item small,
.preview-row small,
.app-feature-card small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
    line-height: 1.35;
    margin-top: 0.2rem;
}

.app-preview-section {
    background: #f9fbfc;
}

.product-preview {
    align-items: center;
    display: grid;
    gap: 1.25rem;
    grid-template-columns: minmax(0, 0.76fr) minmax(0, 1fr);
}

.product-preview > img {
    justify-self: center;
    max-height: 360px;
    object-fit: contain;
}

.preview-panel {
    background: white;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    overflow: hidden;
}

.preview-row {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.95rem;
}

.preview-row + .preview-row {
    border-top: 1px solid var(--tma-border);
}

.app-feature-card {
    align-items: start;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    height: 100%;
    padding: 0.95rem;
}

.app-alert {
    margin-bottom: 1rem;
}

.app-button-row {
    flex-wrap: wrap;
    margin-top: 0.25rem;
}

.intake-draft-panel {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    margin-bottom: 1rem;
    padding: 0.8rem;
}

.intake-draft-actions {
    flex-wrap: wrap;
}

.intake-draft-status {
    color: var(--tma-subtle);
    margin-left: auto;
}

.intake-upload-panel {
    background: #f8fbfd;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    padding: 0.9rem;
}

.intake-file-input {
    background: #ffffff;
    border: 1px dashed #a9bfd0;
    border-radius: 8px;
    color: var(--tma-text);
    cursor: pointer;
    max-width: 100%;
    padding: 0.8rem;
}

.intake-file-table {
    overflow-wrap: anywhere;
}

.app-access-loading {
    gap: 0.8rem;
    min-height: 360px;
    justify-content: center;
}

.app-signin {
    justify-content: center;
    min-height: calc(100vh - 48px);
    padding-block: 2rem;
}

.app-signin-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1.15rem;
    max-width: 420px;
    padding: 1.25rem;
    width: 100%;
}

.app-signin-card-compact {
    gap: 0.85rem;
    padding: 0.85rem;
}

.app-signin-card-compact .app-signin-logo {
    max-width: 150px;
}

.app-signin-card-compact .app-signin-copy .mud-typography-h5 {
    font-size: 1.02rem;
}

.app-signin-card-compact .app-signin-copy .mud-typography-body2 {
    font-size: 0.82rem;
}

.app-signin-logo {
    justify-self: center;
    max-width: 220px;
    width: 72%;
}

.app-signin-copy {
    display: grid;
    gap: 0.45rem;
}

.app-signin-copy .mud-typography-h5 {
    color: var(--tma-text);
    font-size: 1.35rem;
    font-weight: 700;
    letter-spacing: 0;
}

.app-signin-copy .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
}

.app-signin-form {
    display: grid;
    gap: 0.85rem;
}

.pricing-plan-grid {
    display: grid;
    gap: 0.85rem;
}

.pricing-plan-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    align-content: start;
    display: grid;
    gap: 0.95rem;
    height: 100%;
    min-height: 100%;
    padding: 1rem;
    position: relative;
}

.pricing-plan-card.is-best-value {
    background: linear-gradient(180deg, rgba(51, 204, 204, 0.12), #ffffff 34%);
    border-color: rgba(41, 128, 185, 0.46);
    box-shadow: 0 12px 30px rgba(44, 62, 80, 0.12);
}

.pricing-plan-badge {
    align-items: center;
    background: var(--tma-blue);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 900;
    height: auto !important;
    left: auto !important;
    letter-spacing: 0;
    line-height: 1;
    min-height: 1.45rem;
    min-width: 0;
    padding: 0.36rem 0.56rem;
    position: absolute;
    right: 0.72rem !important;
    text-transform: uppercase;
    top: 0.72rem !important;
    transform: none !important;
    white-space: nowrap;
}

.pricing-plan-head {
    display: grid;
    gap: 0.35rem;
}

.pricing-plan-head .mud-typography-h5 {
    color: var(--tma-text);
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
}

.pricing-plan-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.pricing-plan-price {
    align-content: start;
    display: grid;
    gap: 0.3rem;
}

.pricing-plan-price strong {
    color: var(--tma-blue);
    font-size: clamp(2rem, 3vw, 2.35rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 0.98;
    white-space: nowrap;
}

.pricing-plan-price small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    font-weight: 700;
}

.pricing-plan-detail {
    border-top: 1px solid var(--tma-border);
    display: grid;
    gap: 0.25rem;
    padding-top: 0.8rem;
}

.pricing-plan-detail span {
    color: var(--tma-blue);
    font-size: 0.9rem;
    font-weight: 800;
    line-height: 1.25;
}

.pricing-plan-detail small {
    color: var(--tma-subtle);
    font-size: 0.83rem;
    line-height: 1.35;
}

.pricing-plan-lock {
    margin: 0;
}

.pricing-addon-strip {
    align-items: center;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    margin-top: 0.85rem;
    padding: 0.95rem;
}

.pricing-addon-strip strong,
.pricing-addon-strip small,
.pricing-value-card strong,
.pricing-value-card small,
.pricing-terms-card strong,
.pricing-terms-card small {
    display: block;
}

.pricing-addon-strip strong,
.pricing-value-card strong,
.pricing-terms-card strong {
    color: var(--tma-text);
    font-weight: 800;
    line-height: 1.25;
}

.pricing-addon-strip small,
.pricing-value-card small,
.pricing-terms-card small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
    line-height: 1.4;
    margin-top: 0.2rem;
}

.pricing-value-grid {
    display: grid;
    gap: 0.85rem;
}

.pricing-value-card {
    align-items: start;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.95rem;
}

.pricing-getstarted {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    padding: 1rem 1.15rem;
}

.pricing-getstarted span {
    display: grid;
    flex: 1 1 16rem;
    gap: 0.2rem;
}

/* Keep the CTA at its content width so its label and arrow stay on one line (it was shrinking below
   its content and wrapping the arrow to a second row); it still drops to its own row when space is tight. */
.pricing-getstarted .mud-button-root {
    flex: none;
    white-space: nowrap;
}

.pricing-module-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
    margin-bottom: 1rem;
}

.pricing-module-card {
    align-content: start;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.55rem;
    height: 100%;
    padding: 1rem;
}

.pricing-module-head {
    align-items: center;
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
}

.pricing-module-head strong {
    font-size: 1.02rem;
}

.pricing-module-foot {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: space-between;
    margin-top: 0.35rem;
}

.pricing-module-price {
    color: var(--tma-blue);
    font-size: 1.1rem;
    font-weight: 700;
}

.pricing-module-foot em {
    color: var(--tma-muted, #6b7280);
    font-size: 0.8rem;
    font-style: normal;
}

.pricing-crossover {
    margin-top: 0.5rem;
}

/* UXB.2 plan picker: the two catalog plan cards inside PlanBuilder. auto-fit collapses to one
   column on narrow phones (375px) so the cards stack with no horizontal overflow. */
.plan-picker-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
}

.plan-picker-card {
    align-content: start;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    gap: 0.35rem;
    padding: 1rem;
}

.plan-picker-card.is-selected {
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 1px var(--mud-palette-primary);
}

.plan-picker-card-price {
    font-size: 1.25rem;
    font-weight: 700;
}

.plan-builder {
    display: grid;
    gap: 0.75rem;
    margin-top: 1rem;
    padding: 1.15rem;
}

.plan-builder-head .mud-typography-h6 {
    color: var(--public-text);
}

.plan-builder-cadence {
    width: fit-content;
}

.plan-builder-row {
    align-items: center;
    border: 1px solid var(--public-border);
    border-radius: 8px;
    color: var(--public-text);
    cursor: pointer;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.6rem 0.85rem;
}

.plan-builder-row.is-base {
    cursor: default;
    background: rgba(41, 128, 185, 0.10);
}

.plan-builder-row.is-on {
    border-color: rgba(41, 128, 185, 0.55);
    background: rgba(41, 128, 185, 0.12);
}

.plan-builder-row-main {
    align-items: center;
    display: flex;
    gap: 0.55rem;
}

.plan-builder-row-price,
.plan-builder-included-label {
    color: var(--tma-blue, #2980b9);
    font-weight: 700;
    white-space: nowrap;
}

.plan-builder-bar {
    color: var(--public-text);
    font-size: 0.95rem;
    font-weight: 600;
}

.plan-builder-row.is-included {
    background: rgba(41, 128, 185, 0.06);
    cursor: default;
}

.plan-builder-row-tail {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-end;
}

.plan-builder-row-price.is-struck {
    color: var(--public-muted, #6b7280);
    font-weight: 600;
    text-decoration: line-through;
}

.plan-upsell-banner {
    align-items: center;
    background: rgba(41, 128, 185, 0.08);
    border: 1px solid rgba(41, 128, 185, 0.45);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    padding: 0.7rem 0.85rem;
}

.plan-upsell-copy {
    color: var(--public-text);
    flex: 1 1 14rem;
}

.roi-calculator {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 2.2vw, 1.35rem);
}

.roi-calculator-head {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.roi-calculator-head .mud-typography-h6,
.roi-calculator-head .mud-typography-body2 {
    margin: 0;
}

.roi-calculator-head .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    line-height: 1.2;
}

.roi-calculator-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
    margin-top: 0.18rem;
}

.roi-preset-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.roi-preset-row .mud-button-root {
    min-width: 0;
}

.roi-assumption-list {
    display: grid;
    gap: 0.8rem;
}

.roi-assumption-row {
    align-items: start;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    grid-template-areas:
        "copy fields"
        "summary summary";
    grid-template-columns: minmax(14rem, 0.85fr) minmax(0, 1.45fr);
    padding: clamp(0.85rem, 1.8vw, 1rem);
}

.roi-assumption-copy {
    align-items: start;
    display: grid;
    gap: 0.65rem;
    grid-area: copy;
    grid-template-columns: auto minmax(0, 1fr);
}

.roi-assumption-copy .mud-typography-subtitle2 {
    color: var(--tma-text);
    font-weight: 900;
    line-height: 1.25;
    margin: 0;
}

.roi-assumption-copy .mud-typography-caption {
    color: var(--tma-subtle);
    display: block;
    line-height: 1.4;
    margin-top: 0.2rem;
}

.roi-row-fields {
    display: grid;
    gap: 0.7rem;
    grid-area: fields;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.roi-row-fields.is-two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.roi-row-fields .mud-input-control {
    margin: 0;
}

.roi-row-summary {
    border-top: 1px solid #dce6ee;
    display: grid;
    gap: 0.65rem;
    grid-area: summary;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    padding-top: 0.85rem;
}

.roi-mini-result {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.15rem;
    padding: 0.75rem;
}

.roi-mini-result.is-wide {
    min-height: 100%;
}

.roi-mini-result small,
.roi-mini-result strong {
    display: block;
    line-height: 1.25;
}

.roi-mini-result small {
    color: var(--tma-subtle);
    font-size: 0.75rem;
    font-weight: 800;
    text-transform: uppercase;
}

.roi-mini-result strong {
    color: var(--tma-blue);
    font-size: 1.1rem;
    font-weight: 900;
}

.roi-result-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.roi-result-card {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.9rem;
}

.roi-result-card small,
.roi-result-card strong {
    display: block;
    line-height: 1.25;
}

.roi-result-card small {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
}

.roi-result-card strong {
    color: var(--tma-blue);
    font-size: clamp(1.2rem, 2.3vw, 1.65rem);
    font-weight: 900;
}

.roi-result-card.is-emphasis {
    background: #edf6f8;
    border-color: rgba(42, 133, 179, 0.28);
}

.roi-result-card.is-quiet strong {
    font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.roi-result-card.is-total {
    background: var(--tma-blue);
    border-color: rgba(42, 133, 179, 0.5);
}

.roi-result-card.is-total small,
.roi-result-card.is-total strong {
    color: #ffffff;
}

@media (max-width: 980px) {
    .roi-assumption-row {
        grid-template-areas:
            "copy"
            "fields"
            "summary";
        grid-template-columns: minmax(0, 1fr);
    }

    .roi-row-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .roi-mini-result.is-wide {
        min-height: 0;
    }
}

@media (max-width: 640px) {
    .roi-calculator {
        gap: 0.85rem;
    }

    .roi-assumption-row,
    .roi-row-fields,
    .roi-row-fields.is-two,
    .roi-row-summary {
        grid-template-columns: minmax(0, 1fr);
    }

    .roi-assumption-copy {
        gap: 0.55rem;
    }

    .roi-preset-row .mud-button-root {
        flex: 1 1 auto;
    }
}

.pricing-terms-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.pricing-terms-intro {
    align-items: start;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.pricing-terms-card .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.55;
}

.pricing-terms-alert {
    margin-bottom: 0;
}

.pricing-builder {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1.1rem;
    max-width: none;
    padding: clamp(1rem, 2vw, 1.35rem);
    width: 100%;
}

#plan-builder + .pricing-builder,
#host-market-plan-builder + .pricing-builder {
    margin-top: clamp(2.35rem, 4vw, 3rem);
}

.pricing-builder-head {
    align-items: start;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
}

.pricing-builder-head .mud-typography-h6 {
    color: var(--tma-text);
    font-size: 1.05rem;
    font-weight: 700;
    letter-spacing: 0;
}

.pricing-builder-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
    margin-top: 0.15rem;
}

.pricing-promo-card {
    align-items: center;
    background: #f4fbff;
    border: 1px solid rgba(41, 128, 185, 0.24);
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.95rem;
}

.pricing-builder-body,
.pricing-builder-options,
.pricing-builder-checkout {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.pricing-builder-checkout {
    align-content: start;
}

.billing-toggle {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid !important;
    grid-template-columns: repeat(3, minmax(8rem, 1fr));
    overflow: hidden;
    width: 100%;
}

.billing-toggle .mud-toggle-item {
    border: 0 !important;
    border-radius: 0 !important;
    justify-content: center;
    min-height: 70px;
    min-width: 0;
    padding: 0.75rem 0.65rem;
    text-align: center;
    white-space: normal;
}

.billing-toggle .mud-toggle-item:not(:first-child) {
    border-left: 1px solid var(--tma-border) !important;
}

.billing-toggle .mud-toggle-item.mud-selected {
    background: rgba(51, 204, 204, 0.12);
    box-shadow: inset 0 0 0 2px rgba(41, 128, 185, 0.28);
}

.billing-toggle .mud-toggle-item strong,
.billing-toggle .mud-toggle-item small {
    display: block;
}

.cadence-save-chip {
    color: var(--tma-blue);
    display: block;
    font-size: 0.72rem;
    font-weight: 600;
    line-height: 1.1;
    margin-top: 0.15rem;
}

.billing-toggle .mud-toggle-item strong {
    font-size: 0.95rem;
    line-height: 1.15;
}

.billing-toggle .mud-toggle-item small {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    margin-top: 0.15rem;
}

.pricing-selected-plan {
    align-items: center;
    background: rgba(51, 204, 204, 0.1);
    border: 1px solid rgba(41, 128, 185, 0.24);
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.65rem 0.75rem;
}

.pricing-selected-plan small,
.pricing-selected-plan strong {
    display: block;
    line-height: 1.2;
}

.pricing-selected-plan small {
    color: var(--tma-subtle);
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.pricing-selected-plan strong {
    color: var(--tma-blue);
    font-size: 0.96rem;
    font-weight: 900;
}

.pricing-snapshot {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr 1fr;
}

.pricing-snapshot > span {
    background: #f8fbfc;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.2rem;
    padding: 0.85rem;
}

.pricing-snapshot small,
.pricing-snapshot em,
.pricing-summary .mud-typography-caption {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-style: normal;
    line-height: 1.35;
}

.pricing-snapshot strong {
    color: var(--tma-blue);
    font-size: 1.25rem;
    line-height: 1.15;
}

.addon-card {
    align-items: center;
    border: 1px solid rgba(41, 128, 185, 0.22);
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.85rem;
}

.addon-card .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 700;
    letter-spacing: 0;
}

.addon-card .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.pricing-summary {
    display: grid;
    gap: 0.65rem;
}

.pricing-builder-checkout > .mud-button-root {
    justify-self: start;
    min-width: min(100%, 16rem);
    width: auto !important;
}

.summary-row {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.summary-row span {
    color: var(--tma-subtle);
    font-size: 0.88rem;
}

.summary-row strong {
    color: var(--tma-text);
    display: grid;
    gap: 0.1rem;
    font-size: 0.98rem;
    justify-items: end;
    text-align: right;
}

.summary-row strong small {
    color: var(--tma-subtle);
    font-size: 0.74rem;
    font-weight: 700;
    line-height: 1.2;
}

.checkout-start-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.checkout-start-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Inline plan picker — the prospect sees and can change the plan instead of a silent default. */
.checkout-start-plans {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    margin: 0;
    padding: 0.6rem 0.9rem 0.9rem;
}

.checkout-start-plans-label {
    color: var(--tma-text);
    font-weight: 700;
    padding: 0 0.3rem;
}

.checkout-start-plan .checkout-start-plan-main {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.checkout-start-plan-price {
    color: var(--tma-blue, #2980b9);
    font-weight: 700;
}

.checkout-start-plan-cadence {
    color: var(--tma-subtle, #6e6e6e);
    font-weight: 400;
}

.checkout-start-plan-lock {
    background: rgba(51, 204, 204, 0.16);
    border-radius: 999px;
    color: #157d7d;
    font-size: 0.72rem;
    font-weight: 700;
    margin-left: 0.5rem;
    padding: 0.1rem 0.5rem;
}

.checkout-start-summary {
    background: #f8fbfc;
    border: 1px solid rgba(41, 128, 185, 0.22);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0.9rem;
}

.checkout-start-summary > span {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.checkout-start-summary small,
.checkout-start-summary em {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-style: normal;
    line-height: 1.35;
}

.checkout-start-summary strong {
    color: var(--tma-blue);
    font-size: 1.05rem;
    line-height: 1.15;
    overflow-wrap: anywhere;
}

.checkout-start-promo {
    align-items: center;
    background: #f4fbff;
    border: 1px solid rgba(41, 128, 185, 0.24);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.85rem;
}

.checkout-start-promo strong,
.checkout-start-promo small {
    display: block;
}

.checkout-start-promo strong {
    color: var(--tma-text);
    font-size: 0.95rem;
}

.checkout-start-promo small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    line-height: 1.35;
}

.checkout-start-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-start;
}

.checkout-assisted-review {
    background: #fffaf2;
    border: 1px solid rgba(230, 145, 56, 0.32);
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
}

.checkout-assisted-review-copy strong {
    color: var(--tma-text);
    display: block;
    font-size: 0.98rem;
}

.checkout-assisted-review-copy p {
    color: var(--tma-subtle);
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 0.35rem 0 0;
}

.checkout-assisted-review .mud-button-root {
    justify-self: start;
}

.promotion-row strong {
    color: var(--mud-palette-success);
}

.pricing-total {
    align-items: end;
    display: flex;
    flex-direction: column;
}

.pricing-total del {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    font-weight: 500;
}

.app-expansion-panels .mud-expand-panel {
    border: 1px solid var(--tma-border);
}

.app-expansion-panels .mud-expand-panel + .mud-expand-panel {
    margin-top: 0.55rem;
}

.app-table {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    overflow: hidden;
}

.app-table th {
    color: var(--tma-text) !important;
    font-weight: 700 !important;
}

.app-table td {
    color: var(--tma-text) !important;
    line-height: 1.4;
}

.app-table td strong,
.app-table td small,
.app-table td span {
    display: block;
}

.app-table td small {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    margin-top: 0.12rem;
    overflow-wrap: anywhere;
}

.comparison-card-list {
    display: none;
}

.comparison-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    padding: 0.95rem;
}

.comparison-card + .comparison-card {
    margin-top: 0.75rem;
}

.comparison-card .mud-typography-subtitle2 {
    color: var(--tma-text);
    font-size: 1rem;
    font-weight: 800;
    letter-spacing: 0;
}

.comparison-card-grid {
    border-top: 1px solid var(--tma-border);
    display: grid;
    gap: 0.35rem 0.85rem;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
    padding-top: 0.75rem;
}

.comparison-card-grid span {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.3;
    text-transform: uppercase;
}

.comparison-card-grid strong {
    color: var(--tma-text);
    font-size: 0.92rem;
    font-weight: 650;
    line-height: 1.35;
}

.app-data-grid {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    overflow: hidden;
}

.app-data-grid .mud-table-cell,
.app-data-grid .mud-table-head .mud-table-cell {
    color: var(--tma-text);
}

.performance-card-list {
    display: none;
}

.performance-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    padding: 0.95rem;
}

.performance-card + .performance-card {
    margin-top: 0.75rem;
}

.performance-card-head {
    align-items: start;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
}

.performance-card-head .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.2;
}

.performance-card-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.35;
    margin-top: 0.2rem;
}

.performance-card-meter {
    display: grid;
    gap: 0.35rem;
}

.performance-card-meter span,
.performance-card-details span {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.25;
    text-transform: uppercase;
}

.performance-card-meter strong,
.performance-card-details strong {
    color: var(--tma-text);
    font-weight: 800;
    line-height: 1.3;
}

.performance-card-details {
    border-top: 1px solid var(--tma-border);
    display: grid;
    gap: 0.3rem 0.85rem;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
    padding-top: 0.75rem;
}

.tasks-nav-badge {
    align-items: center;
    display: inline-flex;
    line-height: 1;
}

.task-metric-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.task-metric-card {
    min-height: 100%;
}

.task-builder-panel,
.task-preview-card,
.calendar-preview-card {
    align-content: start;
}

.task-type-options {
    background: rgba(41, 128, 185, 0.055);
    border: 1px solid rgba(41, 128, 185, 0.18);
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    padding: 0.9rem;
}

.task-type-options .mud-typography-subtitle1,
.task-preview-card .mud-typography-h6,
.calendar-preview-card .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 800;
    letter-spacing: 0;
}

.task-builder-actions {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.task-preview-icon {
    align-items: center;
    background: rgba(41, 128, 185, 0.08);
    border: 1px solid rgba(41, 128, 185, 0.18);
    border-radius: 8px;
    display: inline-flex;
    height: 54px;
    justify-content: center;
    width: 54px;
}

.task-preview-meta,
.task-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.task-preview-detail,
.task-card-meta {
    border-top: 1px solid var(--tma-border);
    display: grid;
    gap: 0.35rem 0.85rem;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
    padding-top: 0.75rem;
}

.task-preview-detail span,
.task-card-meta span {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-weight: 750;
    line-height: 1.25;
    text-transform: uppercase;
}

.task-preview-detail strong,
.task-card-meta strong {
    color: var(--tma-text);
    font-weight: 800;
    line-height: 1.3;
}

.task-card-list {
    display: none;
}

.task-card,
.employee-task-card,
.task-template-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    padding: 0.95rem;
}

.task-card + .task-card,
.employee-task-card + .employee-task-card {
    margin-top: 0.75rem;
}

.task-card-head {
    align-items: start;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
}

.task-card-head .mud-typography-subtitle1,
.task-template-card strong,
.calendar-preview-row strong,
.checklist-step-row strong {
    color: var(--tma-text);
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
}

.task-card-head .mud-typography-body2,
.task-template-card small,
.calendar-preview-row small,
.checklist-step-row small,
.employee-task-card > .mud-typography-body2,
.calendar-preview-card > .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.35;
}

.employee-task-list,
.calendar-preview-list,
.checklist-step-list {
    display: grid;
    gap: 0.75rem;
}

.task-template-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.task-template-card {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
}

.task-template-card .mud-button-root {
    grid-column: 1 / -1;
    justify-self: stretch;
}

.calendar-preview-row,
.checklist-step-row {
    align-items: center;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.75rem;
}

.calendar-preview-row small,
.checklist-step-row small {
    display: block;
    font-size: 0.82rem;
    margin-top: 0.15rem;
}

.checklist-builder-panel {
    margin-top: 0.9rem;
}

.app-breadcrumbs {
    margin-bottom: 0.85rem;
}

.legal-copy {
    color: var(--tma-text);
    line-height: 1.55 !important;
    margin-bottom: 0.8rem !important;
}

.legal-list {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    margin-top: 0.8rem;
}

.legal-full-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    padding: 1rem;
}

.legal-document-full {
    display: grid;
    gap: 0.85rem;
}

.legal-document-full h2 {
    color: var(--tma-text);
    font-size: 1.05rem;
    font-weight: 800;
    letter-spacing: 0;
    line-height: 1.25;
    margin: 1.1rem 0 0;
}

.legal-document-full p,
.legal-document-full li {
    color: var(--tma-text);
    font-size: 0.9rem;
    line-height: 1.55;
    margin: 0;
}

.legal-document-full li {
    display: list-item;
    list-style-position: outside;
    list-style-type: disc;
    margin-left: 1.15rem;
}

.legal-document-full a {
    color: var(--tma-blue);
    font-weight: 700;
}

.metric-card {
    align-items: center;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.45rem;
    height: 100%;
    justify-items: center;
    padding: 1rem;
    text-align: center;
}

.metric-card .mud-typography-h6 {
    color: var(--tma-blue);
    font-weight: 800;
    letter-spacing: 0;
}

.metric-card .mud-typography-subtitle2 {
    color: var(--tma-text);
    font-weight: 750;
    letter-spacing: 0;
}

.metric-card .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.35;
}

.metric-source {
    color: var(--tma-blue);
    font-size: 0.78rem;
    font-weight: 800;
    margin-top: 0.25rem;
}

.feature-gallery {
    display: grid;
    gap: 0.9rem;
}

.gallery-card {
    align-items: center;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.7fr) minmax(0, 1fr);
    overflow: hidden;
    padding: 0.9rem;
}

.gallery-card img {
    justify-self: center;
    max-height: 230px;
    object-fit: contain;
}

.gallery-card strong,
.gallery-card small {
    display: block;
}

.gallery-card strong {
    color: var(--tma-text);
    font-size: 1rem;
    line-height: 1.25;
}

.gallery-card small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
    line-height: 1.4;
    margin-top: 0.25rem;
}

.app-timeline {
    padding: 0.2rem 0 0.2rem 0.2rem;
}

.timeline-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    padding: 0.85rem;
}

.timeline-card .mud-typography-subtitle1,
.fit-card .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 700;
    letter-spacing: 0;
}

.timeline-card .mud-typography-body2,
.fit-card .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
    margin-top: 0.25rem;
}

.fit-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    height: 100%;
}

.fit-card .mud-card-content {
    display: grid;
    gap: 0.45rem;
}

.video-tabs {
    margin-bottom: 1rem;
}

.video-grid {
    margin-top: 0 !important;
}

.video-player-card,
.video-list-card,
.contact-form-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 0.95rem;
}

.video-frame {
    aspect-ratio: 16 / 9;
    background: var(--tma-dark-blue);
    border-radius: 8px;
    overflow: hidden;
    width: 100%;
}

.video-frame iframe {
    border: 0;
    display: block;
    height: 100%;
    width: 100%;
}

.video-thumbnail-button {
    align-items: end;
    background-color: var(--tma-dark-blue);
    background-position: center;
    background-size: cover;
    border: 0;
    color: white;
    cursor: pointer;
    display: flex;
    height: 100%;
    padding: 0;
    text-align: left;
    width: 100%;
}

.video-thumbnail-overlay {
    align-items: center;
    background: linear-gradient(180deg, rgba(44, 62, 80, 0.18), rgba(44, 62, 80, 0.86));
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 100%;
    padding: 1rem;
    width: 100%;
}

.video-thumbnail-overlay .mud-icon-root {
    filter: drop-shadow(0 2px 4px rgba(44, 62, 80, 0.45));
}

.video-thumbnail-overlay strong {
    font-size: 1.02rem;
    line-height: 1.25;
    text-shadow: 0 2px 4px rgba(44, 62, 80, 0.55);
}

.video-current .mud-typography-subtitle1,
.video-list-card .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 700;
    letter-spacing: 0;
}

.video-current .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
    margin-top: 0.25rem;
}

.video-controls {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 1fr 1fr;
}

.video-list {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    max-height: 420px;
    overflow: auto;
}

.video-list-button {
    align-items: start;
    background: #ffffff;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.8rem;
    text-align: left;
    width: 100%;
}

.video-list-button + .video-list-button {
    border-top: 1px solid var(--tma-border);
}

.video-list-button:hover,
.video-list-button.is-active {
    background: rgba(41, 128, 185, 0.06);
}

.video-list-button strong,
.video-list-button small {
    display: block;
}

.video-list-button strong {
    color: var(--tma-text);
    font-size: 0.9rem;
    line-height: 1.25;
}

.video-list-button small {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    line-height: 1.25;
    margin-top: 0.2rem;
}

.contact-form-card .mud-input-control {
    margin: 0;
}

.contact-submit {
    align-self: flex-start;
    justify-self: start;
    margin-top: 1rem !important;
    max-width: 100%;
    width: fit-content;
}

.contact-ticket-status {
    margin-top: 1rem;
}

.app-coming-soon-frame {
    max-width: 100%;
    overflow-x: hidden;
    position: relative;
}

.app-coming-soon-disabled {
    filter: grayscale(1);
    max-width: 100%;
    opacity: 0.38;
    overflow: hidden;
    pointer-events: none;
    user-select: none;
}

.app-coming-soon-disabled *,
.site-shell.is-app-preview .tool-panel,
.site-shell.is-app-preview .tool-preview-card,
.site-shell.is-app-preview .mud-input-control,
.site-shell.is-app-preview .mud-input,
.site-shell.is-app-preview .mud-select {
    min-width: 0;
    max-width: 100%;
}

.app-coming-soon-overlay {
    align-items: center;
    background: rgba(236, 240, 241, 0.58);
    bottom: 0;
    display: grid;
    justify-items: center;
    left: 0;
    padding: 1.25rem;
    pointer-events: auto;
    position: fixed;
    right: 0;
    top: 48px;
    z-index: 1290;
}

.app-coming-soon-banner {
    align-items: center;
    background: rgba(255, 255, 255, 0.96);
    border: 1px solid rgba(204, 51, 51, 0.2);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(44, 62, 80, 0.24);
    color: var(--tma-dark-blue);
    display: grid;
    gap: 0.65rem;
    justify-items: center;
    max-width: 440px;
    padding: 1.25rem;
    text-align: center;
    width: min(100%, 440px);
}

.app-coming-soon-banner .mud-typography-h4 {
    color: var(--tma-dark-blue);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.1;
}

.app-coming-soon-banner .mud-typography-body1 {
    color: var(--tma-text);
    line-height: 1.5;
}

.social-post-composer {
    align-content: start;
}

.social-post-composer > .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 800;
    letter-spacing: 0;
}

.social-post-preview {
    align-content: start;
}

.social-post-preview-head {
    align-items: center;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.social-post-preview-head strong,
.social-post-preview-head small,
.social-menu-item-card strong,
.social-menu-item-card small,
.social-account-card strong,
.social-account-card small {
    display: block;
}

.social-post-preview-head strong,
.social-menu-item-card strong,
.social-account-card strong {
    color: var(--tma-text);
    font-weight: 800;
    line-height: 1.25;
}

.social-post-preview-head small,
.social-menu-item-card small,
.social-account-card small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    line-height: 1.35;
    margin-top: 0.18rem;
}

.social-post-art {
    align-items: center;
    aspect-ratio: 1 / 1;
    background:
        linear-gradient(135deg, rgba(51, 204, 204, 0.2), transparent 52%),
        linear-gradient(160deg, #f4f8fb 0%, #dce9f2 100%);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    color: var(--tma-dark-blue);
    display: grid;
    gap: 0.45rem;
    justify-items: center;
    min-height: 240px;
    padding: 1rem;
}

.social-post-art .mud-icon-root {
    font-size: 3.4rem;
}

.social-post-art span {
    color: var(--tma-dark-blue);
    font-size: 1.15rem;
    font-weight: 900;
}

.social-post-preview-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.social-menu-item-grid {
    display: grid;
    gap: 0.8rem;
}

.social-menu-item-card {
    align-items: center;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.9rem;
}

.social-menu-item-card.is-selected {
    border-color: rgba(41, 128, 185, 0.45);
    box-shadow: inset 4px 0 0 var(--tma-blue);
}

.social-menu-item-art {
    align-items: center;
    background: rgba(41, 128, 185, 0.08);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: inline-grid;
    height: 54px;
    justify-items: center;
    width: 54px;
}

.social-menu-item-card .mud-checkbox {
    grid-column: 2;
}

.social-account-card {
    align-content: start;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.45rem;
    height: 100%;
    padding: 0.9rem;
}

.intake-form,
.tool-panel,
.tool-preview-card,
.flashcard-shell {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 0.95rem;
}

.app-stepper {
    color: var(--tma-text);
}

.control-group {
    display: grid;
    gap: 0.55rem;
}

.control-group .mud-typography-subtitle2,
.tool-panel .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 750;
    letter-spacing: 0;
}

.segmented-control {
    gap: 0.35rem;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
}

.segmented-wrap {
    align-items: stretch;
    display: flex !important;
    flex-wrap: wrap;
    gap: 0.35rem;
    grid-template-columns: none;
    overflow: visible;
}

.segmented-control .mud-toggle-item {
    border-radius: 8px !important;
    min-height: 42px;
}

.segmented-wrap .mud-toggle-item {
    flex: 1 0 calc(33.333% - 0.35rem);
    min-width: 96px;
    overflow: hidden;
}

.tool-panel-head {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.tool-panel-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.35;
}

.suggested-items {
    display: grid;
    gap: 0.5rem;
}

.suggested-items .mud-typography-subtitle2 {
    color: var(--tma-text);
    font-weight: 750;
    letter-spacing: 0;
}

.suggested-item-button {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    color: inherit;
    cursor: pointer;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
    padding: 0.75rem;
    text-align: left;
    width: 100%;
}

.suggested-item-button:hover,
.suggested-item-button:focus-visible {
    background: rgba(41, 128, 185, 0.055);
    border-color: rgba(41, 128, 185, 0.42);
}

.suggested-item-button strong,
.suggested-item-button small {
    display: block;
}

.suggested-item-button strong {
    color: var(--tma-text);
    font-size: 0.9rem;
    line-height: 1.25;
}

.suggested-item-button small {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    line-height: 1.25;
    margin-top: 0.2rem;
}

.tool-preview-card {
    align-content: start;
}

/* This exception exists so a subscriber tool workbench's sticky live-preview panel (QR templates, the flashcards
   toolbar, the printable-menu preview) can stick while scrolling — a sticky element can't stick if a clipping
   ancestor sits between it and its scroll container, and .app-canvas (the shared page wrapper, base rule above)
   clips by default. None of those preview tools live under /admin. */
.site-shell.is-app-preview .app-canvas,
.qr-template-workbench-section {
    overflow: visible;
}

/* FB-86: restore .app-canvas's containment for the /admin workspace pages specifically — none of them render a
   sticky preview panel, so nothing above needs the visible exception there, and without it a wide data table/grid
   (e.g. the descriptor-review card grid, the allergen-incidents table) stretched the shell's rendered width past
   the fixed (position: fixed) app-bar's own 1180px cap, breaking the right margin/edge alignment. Wide content now
   scrolls inside its own container (MudBlazor's table wrapper) instead of the whole shell. */
.site-shell.is-app-preview.is-admin-route .app-canvas {
    overflow: hidden;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .site-header,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .site-main {
    max-width: min(100%, 1180px);
    width: min(100%, 1180px);
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-canvas {
    background: #f4f8fb;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-hero,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-section {
    padding-inline: clamp(1.15rem, 4vw, 3rem);
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-hero {
    padding-block: clamp(2rem, 3.8vw, 3rem) clamp(1.7rem, 3vw, 2.35rem);
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-section {
    padding-block: clamp(2rem, 3.8vw, 3.25rem);
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-section-head {
    margin-bottom: clamp(1.25rem, 2vw, 1.75rem);
    max-width: 760px;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-section .mud-typography-h5 {
    font-size: clamp(1.28rem, 1.7vw, 1.55rem);
    font-weight: 750;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-section-lead {
    font-size: 0.96rem !important;
    max-width: 70ch;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-preview-section {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.55), transparent 220px),
        #eef5f8;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-panel,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-preview-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .intake-form,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .metric-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .challenge-prompt,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .employee-task-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-template-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .social-account-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .social-menu-item-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .performance-card {
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(44, 62, 80, 0.06);
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-panel,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-preview-card,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .intake-form {
    gap: clamp(1rem, 1.6vw, 1.35rem);
    padding: clamp(1rem, 1.8vw, 1.35rem);
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-panel-head {
    align-items: flex-start;
    border-bottom: 1px solid rgba(214, 222, 228, 0.76);
    padding-bottom: 0.9rem;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-panel-head .mud-typography-subtitle1,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .tool-panel > .mud-typography-subtitle1 {
    font-size: 1.04rem;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs {
    display: grid;
    gap: 1.1rem;
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs > .mud-tabs-tabbar,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs > .mud-tabs-tabbar {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(44, 62, 80, 0.05);
    max-width: 100%;
    min-height: 52px;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 0.24rem;
    width: 100%;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tabs-tabbar-inner,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tabs-tabbar-content,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tabs-tabbar-wrapper,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tabs-panels,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tab-panel,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tabs-tabbar-inner,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tabs-tabbar-content,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tabs-tabbar-wrapper,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tabs-panels,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tab-panel {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tabs-tabbar-wrapper,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tabs-tabbar-wrapper {
    justify-content: flex-start;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .video-tabs .mud-tab,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-tabs .mud-tab {
    border-radius: 6px;
    min-height: 44px;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-table .mud-table-cell,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .app-data-grid .mud-table-cell {
    padding: 0.82rem 0.9rem !important;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-metric-grid,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .social-menu-item-grid,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .employee-task-list,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .calendar-preview-list,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .checklist-step-list,
.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .suggested-items {
    gap: 1rem;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .metric-card {
    padding: 1.15rem;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .task-type-options {
    background: #f7fbfd;
    gap: 1rem;
    padding: 1rem;
}

.site-shell.is-app-preview:not(.is-local-menus-route):not(.is-flashcards-route) .ticket-list {
    border: 1px solid rgba(214, 222, 228, 0.82);
    border-radius: 8px;
    overflow: hidden;
}

.site-shell.is-local-menus-route .site-header,
.site-shell.is-local-menus-route .site-main {
    max-width: none;
    width: 100%;
}

.site-shell.is-local-menus-route .app-canvas {
    background: #edf6f8;
    box-shadow: none;
}

.local-menus-page {
    background: #edf6f8;
    color: #22384e;
    min-height: calc(100dvh - 48px);
}

.local-menus-access-loading {
    align-content: center;
    display: grid;
    gap: 0.8rem;
    justify-items: center;
    min-height: calc(100dvh - 48px);
    padding: 2rem;
}

.local-menus-hero {
    align-items: stretch;
    background:
        linear-gradient(135deg, rgba(51, 204, 204, 0.14), transparent 38%),
        linear-gradient(160deg, #102438 0%, #0a1b2d 62%, #082534 100%);
    color: #f4fbff;
    padding: 2.35rem max(1.35rem, calc((100vw - 1120px) / 2)) 1.8rem;
}

.local-menus-hero .app-page-title,
.local-menus-hero .app-page-subtitle,
.local-menus-hero .app-page-lead {
    max-width: 690px;
    text-align: left !important;
}

.local-menus-hero .app-page-eyebrow {
    justify-content: flex-start;
}

.local-menus-hero .app-page-title {
    color: #f4fbff;
    font-size: clamp(2rem, 4vw, 4rem) !important;
    font-weight: 900 !important;
}

.local-menus-hero .app-page-subtitle {
    color: #9be8ed;
}

.local-menus-hero .app-page-lead {
    color: rgba(244, 251, 255, 0.76);
}

.local-menus-coming-soon-panel {
    background: rgba(244, 251, 255, 0.96);
    border: 1px solid rgba(155, 232, 237, 0.35);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
    color: #22384e;
    display: grid;
    gap: 0.9rem;
    margin-top: 1.45rem;
    max-width: 44rem;
    padding: 1rem;
    width: 100%;
}

.local-menus-coming-soon-search {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    color: #526b80;
    display: flex;
    gap: 0.7rem;
    min-height: 3.25rem;
    padding: 0.8rem 0.95rem;
}

.local-menus-coming-soon-search span {
    font-weight: 850;
}

.local-menus-coming-soon-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.local-menus-coming-soon-tags span {
    background: #eef7fb;
    border: 1px solid rgba(41, 128, 185, 0.22);
    border-radius: 999px;
    color: #21618c;
    font-size: 0.78rem;
    font-weight: 900;
    padding: 0.4rem 0.62rem;
}

.local-menus-coming-soon-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.local-menus-coming-soon-actions .mud-button-root {
    min-height: 42px;
    width: auto;
}

.local-menus-coming-soon-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.local-menus-coming-soon-grid article {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.55rem;
    min-width: 0;
    padding: 1rem;
}

.local-menus-coming-soon-grid strong {
    color: #20384d;
    font-size: 1rem;
    font-weight: 900;
}

.local-menus-coming-soon-grid span {
    color: #647b8f;
    font-size: 0.9rem;
    line-height: 1.45;
}

.local-menus-search-panel {
    background: rgba(244, 251, 255, 0.96);
    border: 1px solid rgba(155, 232, 237, 0.35);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
    color: #22384e;
    display: grid;
    gap: 1rem;
    margin-top: 1.45rem;
    max-width: 1120px;
    padding: 1rem;
    width: 100%;
}

.local-menus-search-copy {
    display: grid;
    gap: 0.2rem;
}

.local-menus-search-copy .mud-typography-h6 {
    color: #20384d;
    font-weight: 900;
}

.local-menus-search-copy .mud-typography-body2 {
    color: #647b8f;
}

.local-menus-search-primary {
    align-items: stretch;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) minmax(9rem, auto);
}

.local-menus-filter-grid {
    align-items: stretch;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.local-menus-results-section {
    background: #edf6f8;
    border-top: 1px solid rgba(20, 57, 74, 0.1);
    padding-inline: max(1.35rem, calc((100vw - 1120px) / 2));
}

.local-menus-results-section .app-section-inner {
    max-width: 1120px;
}

.local-menus-discovery-panel {
    background: transparent;
    display: grid;
    gap: 1rem;
}

.local-menus-loading,
.local-menu-empty-detail {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    justify-items: center;
    min-height: 12rem;
    padding: 1rem;
    text-align: center;
}

.local-menus-stats-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.local-menus-stats-grid article {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.15rem;
    padding: 0.9rem;
}

.local-menus-stats-grid strong {
    color: #20384d;
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 900;
    line-height: 1;
}

.local-menus-stats-grid span {
    color: #647b8f;
    font-size: 0.82rem;
    font-weight: 850;
}

.local-menus-discovery-grid {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(18rem, 0.38fr) minmax(0, 1fr);
    min-width: 0;
}

.local-menus-results-shell {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    padding: 0.85rem;
}

.local-menus-results-head {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
}

.local-menus-results-head .mud-typography-h6 {
    color: #20384d;
    font-weight: 900;
}

.local-menus-results-head span {
    color: #647b8f;
    font-size: 0.8rem;
    font-weight: 850;
}

.local-menus-results {
    align-content: start;
    display: grid;
    gap: 0.65rem;
    max-height: 72dvh;
    overflow: auto;
    padding-right: 0.15rem;
}

.local-menu-result-card {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    color: #22384e;
    cursor: pointer;
    display: grid;
    gap: 0.4rem;
    padding: 0.85rem;
    text-align: left;
}

.local-menu-result-card:hover,
.local-menu-result-card:focus-visible,
.local-menu-result-card.is-active {
    border-color: rgba(41, 128, 185, 0.58);
    box-shadow: 0 10px 22px rgba(44, 62, 80, 0.1);
    outline: none;
}

.local-menu-result-card.is-active {
    background: #eef7fb;
}

.local-menu-card-head {
    align-items: start;
    display: grid;
    gap: 0.4rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.local-menu-card-head strong {
    color: #20384d;
    font-size: 0.96rem;
    font-weight: 900;
    line-height: 1.2;
}

.local-menu-card-head small {
    background: rgba(41, 128, 185, 0.1);
    border: 1px solid rgba(41, 128, 185, 0.22);
    border-radius: 999px;
    color: #21618c;
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.28rem 0.45rem;
    text-transform: uppercase;
}

.local-menu-result-card > span:not(.local-menu-card-head) {
    color: #647b8f;
    font-size: 0.82rem;
    line-height: 1.3;
}

.local-menu-card-meta {
    font-weight: 800;
}

.local-menu-detail-shell {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    min-width: 0;
    padding: 1rem;
}

.local-menu-detail-head {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.local-menu-detail-head .mud-typography-overline {
    color: #2980b9;
    font-weight: 900;
}

.local-menu-detail-head .mud-typography-h5 {
    color: #20384d;
    font-weight: 900;
}

.local-menu-detail-head .mud-typography-body2 {
    color: #647b8f;
}

.local-menu-detail-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.local-menu-detail-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.local-menu-detail-meta span {
    background: #f4f8fb;
    border: 1px solid var(--tma-border);
    border-radius: 999px;
    color: #526b80;
    font-size: 0.78rem;
    font-weight: 850;
    padding: 0.3rem 0.55rem;
}

.local-menu-tabs {
    min-width: 0;
}

.local-menu-sections {
    display: grid;
    gap: 0.9rem;
    padding-top: 0.8rem;
}

.local-menu-section {
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    overflow: hidden;
}

.local-menu-section-head {
    align-items: center;
    background: #f7fafc;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.7rem 0.85rem;
}

.local-menu-section-head .mud-typography-subtitle1 {
    color: #20384d;
    font-weight: 900;
}

.local-menu-section-head span {
    color: #647b8f;
    font-size: 0.78rem;
    font-weight: 850;
}

.local-menu-item-list {
    display: grid;
}

.local-menu-item-card {
    align-items: start;
    border-top: 1px solid #e7eef4;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.8rem 0.85rem;
}

.local-menu-item-card strong {
    color: #20384d;
    font-size: 0.94rem;
    font-weight: 900;
    line-height: 1.2;
}

.local-menu-item-card p {
    color: #647b8f;
    font-size: 0.84rem;
    line-height: 1.4;
    margin: 0.25rem 0 0;
}

.local-menu-item-card > span {
    color: #20384d;
    font-size: 0.86rem;
    font-weight: 900;
    white-space: nowrap;
}

@media (max-width: 980px) {
    .local-menus-search-primary,
    .local-menus-filter-grid,
    .local-menus-discovery-grid,
    .local-menus-coming-soon-grid {
        grid-template-columns: 1fr;
    }

    .local-menus-results {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }

    .local-menu-detail-head {
        grid-template-columns: 1fr;
    }

    .local-menu-detail-actions {
        justify-content: stretch;
    }

    .local-menu-detail-actions .mud-button-root {
        flex: 1 1 12rem;
    }
}

@media (max-width: 640px) {
    .local-menus-hero,
    .local-menus-results-section {
        padding-inline: 1rem;
    }

    .local-menus-search-panel {
        padding: 0.85rem;
    }

    .local-menus-stats-grid {
        grid-template-columns: 1fr;
    }

    .local-menus-coming-soon-actions .mud-button-root {
        width: 100%;
    }

    .local-menu-card-head,
    .local-menu-item-card {
        grid-template-columns: 1fr;
    }

    .local-menu-card-head small {
        justify-self: start;
    }

    .local-menu-item-card > span {
        white-space: normal;
    }
}

.local-menu-hero-search-card {
    background: rgba(244, 251, 255, 0.96);
    border: 1px solid rgba(155, 232, 237, 0.35);
    border-radius: 8px;
    box-shadow: 0 18px 42px rgba(0, 0, 0, 0.2);
    color: #22384e;
    display: grid;
    gap: 1rem;
    margin-top: 1.45rem;
    max-width: 1120px;
    padding: 1rem;
    width: 100%;
}

.local-menu-hero-form {
    align-items: stretch;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.local-menu-hero-actions {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto auto;
}

.local-menu-search-mode-guide {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.local-menu-search-mode-guide article {
    align-items: start;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.75rem;
}

.local-menu-search-mode-guide article.is-strict {
    background: #fffaf0;
    border-color: rgba(202, 138, 4, 0.35);
}

.local-menu-search-mode-guide strong,
.local-menu-search-mode-guide small {
    display: block;
    line-height: 1.35;
}

.local-menu-search-mode-guide strong {
    color: #20384d;
    font-size: 0.86rem;
    font-weight: 900;
}

.local-menu-search-mode-guide small {
    color: #647b8f;
    font-size: 0.78rem;
    margin-top: 0.12rem;
}

.local-menu-intent-summary {
    background: #f7fbfd;
    border: 1px solid #dce8ef;
    border-radius: 8px;
    display: grid;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: hidden;
}

.local-menu-intent-lane {
    display: grid;
    gap: 0.55rem;
    padding: 0.75rem;
}

.local-menu-intent-lane.is-editable {
    cursor: pointer;
    transition: background-color 140ms ease, box-shadow 140ms ease;
}

.local-menu-intent-lane.is-editable:hover,
.local-menu-intent-lane.is-editable:focus-visible {
    background: #ffffff;
    box-shadow: inset 0 0 0 2px rgba(42, 133, 179, 0.18);
    outline: 0;
}

.local-menu-intent-lane + .local-menu-intent-lane {
    border-left: 1px solid #dce8ef;
}

.local-menu-intent-lane.is-avoid {
    background: #fffaf0;
}

.local-menu-intent-lane-head {
    align-items: start;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.local-menu-intent-lane-head strong,
.local-menu-intent-lane-head small,
.local-menu-intent-lane-head em {
    display: block;
    line-height: 1.3;
}

.local-menu-intent-lane-head strong {
    color: #20384d;
    font-size: 0.82rem;
    font-weight: 900;
}

.local-menu-intent-lane-head small {
    color: #647b8f;
    font-size: 0.74rem;
    margin-top: 0.1rem;
}

.local-menu-intent-lane-head em {
    color: #2a85b3;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.local-menu-intent-primary,
.local-menu-intent-empty,
.local-menu-intent-token,
.local-menu-intent-flag {
    max-width: 100%;
    overflow-wrap: anywhere;
}

.local-menu-intent-primary {
    color: #153f55;
    font-size: 0.92rem;
    font-weight: 900;
}

.local-menu-intent-empty {
    color: #728699;
    font-size: 0.78rem;
    font-weight: 800;
}

.local-menu-intent-token-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.local-menu-intent-token,
.local-menu-intent-flag {
    align-items: center;
    background: #eaf5f8;
    border: 1px solid #cfe2eb;
    border-radius: 999px;
    color: #21618c;
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 850;
    line-height: 1.2;
    min-height: 1.65rem;
    padding: 0.25rem 0.48rem;
}

.local-menu-intent-token.is-avoid {
    background: #fff4d9;
    border-color: rgba(202, 138, 4, 0.32);
    color: #7a5200;
}

.local-menu-intent-flag {
    background: #edf7ff;
    border-color: #c8dfef;
    color: #1d5f86;
    justify-self: start;
}

.local-menu-craving-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.local-menu-craving-row button,
.local-menu-toggle-button,
.local-menu-text-link {
    border: 0;
    cursor: pointer;
    font: inherit;
}

.local-menu-craving-row button {
    background: #eaf5f8;
    border: 1px solid #cfe2eb;
    border-radius: 999px;
    color: #21618c;
    font-size: 0.82rem;
    font-weight: 850;
    padding: 0.45rem 0.7rem;
}

.local-menu-craving-row button:hover,
.local-menu-craving-row button:focus-visible {
    background: #dff2f7;
    outline: 2px solid rgba(41, 128, 185, 0.3);
    outline-offset: 2px;
}

.local-menu-craving-row button.is-selected {
    background: #d9f2f1;
    border-color: rgba(51, 204, 204, 0.55);
    color: #153f55;
}

.local-menu-mood-panel {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.55rem;
    padding: 0.75rem;
}

.local-menu-mood-panel strong,
.local-menu-mood-panel small {
    display: block;
    line-height: 1.3;
}

.local-menu-mood-panel strong {
    color: #20384d;
    font-size: 0.88rem;
    font-weight: 900;
}

.local-menu-mood-panel small {
    color: #647b8f;
    font-size: 0.78rem;
    margin-top: 0.12rem;
}

.local-menu-mood-row button {
    background: #f4fbff;
}

.local-menu-preference-workspace {
    display: grid;
    gap: 0.75rem;
}

.local-menu-preference-module-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.local-menu-preference-module {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem;
}

.local-menu-preference-module.is-moods {
    padding: 0.75rem;
}

.local-menu-module-head {
    align-items: start;
    background: transparent;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0;
    text-align: left;
    width: 100%;
}

.local-menu-module-head:hover,
.local-menu-module-head:focus-visible {
    outline: 2px solid rgba(42, 133, 179, 0.22);
    outline-offset: 4px;
}

.local-menu-module-head strong,
.local-menu-module-head small,
.local-menu-module-head em {
    display: block;
    line-height: 1.3;
}

.local-menu-module-head strong {
    color: #20384d;
    font-size: 0.88rem;
    font-weight: 900;
}

.local-menu-module-head small {
    color: #647b8f;
    font-size: 0.78rem;
    margin-top: 0.12rem;
}

.local-menu-module-head em {
    color: #2a85b3;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    text-transform: uppercase;
}

.local-menu-suggestion-panel {
    background: #fffaf0;
    border: 1px solid rgba(202, 138, 4, 0.34);
    border-radius: 8px;
    color: #20384d;
    display: grid;
    gap: 0.75rem;
    padding: 0.82rem;
}

.local-menu-suggestion-head {
    align-items: start;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.local-menu-suggestion-head strong,
.local-menu-suggestion-head small,
.local-menu-suggestion-row small,
.local-menu-suggestion-row strong {
    display: block;
    line-height: 1.35;
}

.local-menu-suggestion-head strong {
    font-size: 0.9rem;
    font-weight: 900;
}

.local-menu-suggestion-head small {
    color: #647b8f;
    font-size: 0.8rem;
}

.local-menu-suggestion-list {
    display: grid;
    gap: 0.55rem;
}

.local-menu-suggestion-row {
    align-items: center;
    background: rgba(255, 255, 255, 0.76);
    border: 1px solid rgba(202, 138, 4, 0.18);
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.65rem;
}

.local-menu-suggestion-row > span {
    min-width: 0;
}

.local-menu-suggestion-row small {
    color: #8a6b1d;
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.local-menu-suggestion-row strong {
    color: #20384d;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.local-menu-suggestion-row > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.local-menu-suggestion-row button {
    align-items: center;
    background: #ffffff;
    border: 1px solid rgba(202, 138, 4, 0.38);
    border-radius: 999px;
    color: #20384d;
    cursor: pointer;
    display: inline-flex;
    gap: 0.3rem;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 850;
    max-width: 100%;
    padding: 0.38rem 0.6rem;
}

.local-menu-suggestion-row button span,
.local-menu-suggestion-row button strong {
    display: inline;
    line-height: 1.15;
}

.local-menu-suggestion-row button:hover,
.local-menu-suggestion-row button:focus-visible {
    background: #fff6df;
    outline: 2px solid rgba(202, 138, 4, 0.24);
    outline-offset: 2px;
}

.local-menu-suggestion-row .local-menu-suggestion-reject {
    background: transparent;
    border-color: rgba(82, 107, 128, 0.24);
    color: #526b80;
}

.local-menu-suggestion-row .local-menu-suggestion-reject:hover,
.local-menu-suggestion-row .local-menu-suggestion-reject:focus-visible {
    background: #f6f9fb;
    outline-color: rgba(82, 107, 128, 0.22);
}

.local-menu-location-status {
    align-items: center;
    color: #526b80;
    display: flex;
    font-size: 0.84rem;
    font-weight: 800;
    gap: 0.45rem;
}

.local-menu-active-preferences {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.local-menu-active-preferences.is-compact {
    margin-top: 0.65rem;
}

.local-menu-preference-chip {
    align-items: baseline;
    background: #f4f8fb;
    border: 1px solid #d9e4ec;
    border-radius: 999px;
    color: #526b80;
    display: inline-flex;
    gap: 0.32rem;
    max-width: 100%;
    padding: 0.34rem 0.58rem;
}

.local-menu-preference-chip small,
.local-menu-preference-chip strong {
    display: inline;
    line-height: 1.15;
    min-width: 0;
}

.local-menu-preference-chip small {
    color: #6e8494;
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.local-menu-preference-chip strong {
    color: #20384d;
    font-size: 0.78rem;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.local-menu-preference-chip.is-search,
.local-menu-preference-chip.is-include,
.local-menu-preference-chip.is-mood {
    background: #e8f6f7;
    border-color: rgba(51, 204, 204, 0.42);
}

.local-menu-preference-chip.is-exclude {
    background: #f9f5ee;
    border-color: rgba(180, 130, 61, 0.34);
}

.local-menu-preference-chip.is-location {
    background: #eef7fb;
    border-color: rgba(41, 128, 185, 0.25);
}

.local-menu-search-shell {
    gap: 1rem;
}

.local-menu-empty-state {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    justify-items: center;
    min-height: 16rem;
    padding: 1.25rem;
    text-align: center;
}

.local-menu-empty-state .mud-typography-h6 {
    color: #20384d;
    font-weight: 900;
}

.local-menu-empty-state .mud-typography-body2 {
    color: #647b8f;
    max-width: 34rem;
}

.local-menu-empty-actions,
.local-menu-results-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
}

.local-menu-results-toolbar {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.95rem;
}

.local-menu-results-toolbar .mud-typography-h6 {
    color: #20384d;
    font-weight: 900;
}

.local-menu-results-toolbar p {
    color: #647b8f;
    font-size: 0.88rem;
    margin: 0.2rem 0 0;
}

.local-menu-results-actions {
    flex: 0 0 auto;
    justify-content: flex-end;
}

.local-menu-demand-panel {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.95rem;
}

.local-menu-demand-panel strong,
.local-menu-demand-panel small {
    display: block;
    line-height: 1.35;
    min-width: 0;
}

.local-menu-demand-panel strong {
    color: #20384d;
    font-weight: 900;
}

.local-menu-demand-panel small {
    color: #647b8f;
    font-size: 0.86rem;
    margin-top: 0.16rem;
}

.local-menu-match-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.local-menu-restaurant-feed {
    display: grid;
    gap: 1rem;
}

.local-menu-load-more {
    display: flex;
    justify-content: center;
    padding: 0.5rem 0 0.25rem;
}

.local-menu-restaurant-row {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    overflow: hidden;
    padding: 0.95rem;
}

.local-menu-restaurant-head {
    align-items: start;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.local-menu-restaurant-head .mud-typography-h6 {
    color: #20384d;
    font-weight: 900;
    line-height: 1.2;
}

.local-menu-restaurant-head p {
    color: #647b8f;
    font-size: 0.86rem;
    line-height: 1.35;
    margin: 0.25rem 0 0;
}

.local-menu-restaurant-actions {
    display: grid;
    gap: 0.5rem;
    justify-items: end;
    text-align: right;
}

.local-menu-duplicate-toggle {
    align-items: center;
    background: #eaf5f8;
    border: 1px solid #cfe2eb;
    border-radius: 999px;
    color: #21618c;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-size: 0.76rem;
    font-weight: 900;
    gap: 0.18rem;
    min-height: 1.85rem;
    padding: 0.32rem 0.62rem;
}

.local-menu-duplicate-toggle:hover,
.local-menu-duplicate-toggle:focus-visible {
    background: #dff2f7;
    outline: 2px solid rgba(42, 133, 179, 0.24);
    outline-offset: 2px;
}

.local-menu-restaurant-actions > span {
    background: #f4f8fb;
    border: 1px solid var(--tma-border);
    border-radius: 999px;
    color: #526b80;
    font-size: 0.78rem;
    font-weight: 850;
    padding: 0.34rem 0.6rem;
}

.local-menu-restaurant-meta {
    align-items: center;
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.42rem;
    justify-content: flex-end;
}

.local-menu-restaurant-meta strong {
    color: #20384d;
    font-weight: 900;
}

.local-menu-restaurant-meta > span {
    white-space: nowrap;
}

.local-menu-restaurant-actions > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: flex-end;
}

.local-menu-item-strip {
    display: grid;
    gap: 0.75rem;
    grid-auto-columns: minmax(18rem, 25rem);
    grid-auto-flow: column;
    min-width: 0;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    padding: 0 0 0.45rem;
    scroll-snap-type: inline proximity;
    scrollbar-color: rgba(41, 128, 185, 0.42) rgba(217, 228, 236, 0.65);
}

.local-menu-item-strip:focus-visible {
    outline: 2px solid rgba(41, 128, 185, 0.35);
    outline-offset: 3px;
}

.local-menu-item-strip .local-menu-match-card {
    scroll-snap-align: start;
}

.local-menu-match-card {
    background: #f8fbfc;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    min-width: 0;
    padding: 1rem;
}

.local-menu-match-head {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.local-menu-match-head span {
    color: #2980b9;
    display: block;
    font-size: 0.72rem;
    font-weight: 900;
    margin-bottom: 0.25rem;
    text-transform: uppercase;
}

.local-menu-match-head h3 {
    color: #20384d;
    font-size: 1.08rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
}

.local-menu-match-head h4 {
    color: #20384d;
    font-size: 1.02rem;
    font-weight: 900;
    line-height: 1.2;
    margin: 0;
}

.local-menu-match-head > strong {
    color: #20384d;
    font-size: 0.95rem;
    font-weight: 900;
    white-space: nowrap;
}

.local-menu-match-card > p {
    color: #647b8f;
    font-size: 0.9rem;
    line-height: 1.45;
    margin: 0;
}

.local-menu-match-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.local-menu-match-meta span {
    background: #f4f8fb;
    border: 1px solid var(--tma-border);
    border-radius: 999px;
    color: #526b80;
    font-size: 0.76rem;
    font-weight: 850;
    padding: 0.3rem 0.55rem;
}

.local-menu-match-meta .local-menu-match-intent {
    background: rgba(41, 128, 185, 0.11);
    border-color: rgba(41, 128, 185, 0.28);
    color: #21618c;
}

.local-menu-match-meta .local-menu-match-intent.is-exact-preference {
    background: rgba(51, 204, 204, 0.13);
    border-color: rgba(51, 204, 204, 0.38);
    color: #126a6a;
}

.local-menu-match-meta .local-menu-match-intent.is-exact-phrase {
    background: rgba(41, 128, 185, 0.11);
    border-color: rgba(41, 128, 185, 0.3);
    color: #1d5f86;
}

.local-menu-match-card-actions {
    align-items: center;
    border-top: 1px solid #e7eef4;
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
    padding-top: 0.75rem;
}

.local-menu-cart-bar {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe2eb;
    border-radius: 8px;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
    padding: 0.85rem 0.95rem;
}

.local-menu-cart-bar > div {
    align-items: center;
    display: flex;
    gap: 0.7rem;
    min-width: 0;
}

.local-menu-cart-bar strong,
.local-menu-cart-bar small {
    display: block;
    line-height: 1.3;
}

.local-menu-cart-bar strong {
    color: #20384d;
    font-weight: 900;
}

.local-menu-cart-bar small {
    color: #647b8f;
    font-size: 0.84rem;
}

.local-menu-cart-drawer {
    max-width: 430px;
    width: min(92vw, 430px) !important;
}

.local-menu-cart-drawer.mud-drawer--closed {
    transform: translateX(100%) !important;
    visibility: hidden !important;
}

.local-menu-cart-drawer.mud-drawer--open {
    transform: translateX(0) !important;
    visibility: visible !important;
}

.local-menu-cart-drawer-inner {
    background: #f4f8fb;
    color: #22384e;
    display: grid;
    gap: 0.9rem;
    min-height: 100%;
    padding: 1rem;
}

.local-menu-cart-drawer-head {
    align-items: start;
    background: #102438;
    border-radius: 8px;
    color: #f4fbff;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.95rem;
}

.local-menu-cart-drawer-head .mud-typography-overline {
    color: #9be8ed;
    font-weight: 900;
}

.local-menu-cart-drawer-head .mud-typography-h5 {
    color: #f4fbff;
    font-size: 1.24rem;
    font-weight: 900;
}

.local-menu-cart-drawer-head p {
    color: rgba(244, 251, 255, 0.82);
    font-size: 0.86rem;
    line-height: 1.4;
    margin: 0.25rem 0 0;
}

.local-menu-cart-empty,
.local-menu-cart-group,
.local-menu-cart-footer {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    padding: 0.9rem;
}

.local-menu-cart-empty {
    justify-items: center;
    min-height: 12rem;
    place-content: center;
    text-align: center;
}

.local-menu-cart-empty strong {
    color: #20384d;
    font-weight: 900;
}

.local-menu-cart-empty span,
.local-menu-cart-footer p {
    color: #647b8f;
    font-size: 0.86rem;
    line-height: 1.4;
    margin: 0;
}

.local-menu-cart-list {
    display: grid;
    gap: 0.8rem;
}

.local-menu-cart-group > div:first-child strong,
.local-menu-cart-group > div:first-child small {
    display: block;
    line-height: 1.3;
}

.local-menu-cart-group > div:first-child strong {
    color: #20384d;
    font-weight: 900;
}

.local-menu-cart-group > div:first-child small {
    color: #647b8f;
    font-size: 0.8rem;
    margin-top: 0.1rem;
}

.local-menu-cart-item {
    align-items: center;
    border-top: 1px solid #edf3f6;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-top: 0.75rem;
}

.local-menu-cart-item strong,
.local-menu-cart-item small {
    display: block;
    line-height: 1.3;
    min-width: 0;
}

.local-menu-cart-item strong {
    color: #20384d;
    font-size: 0.94rem;
    font-weight: 900;
}

.local-menu-cart-item small {
    color: #647b8f;
    font-size: 0.78rem;
    margin-top: 0.15rem;
}

.local-menu-cart-item-actions {
    align-items: center;
    display: inline-grid;
    gap: 0.2rem;
    grid-auto-flow: column;
}

.local-menu-cart-item-actions > span {
    color: #20384d;
    font-weight: 900;
    min-width: 1.25rem;
    text-align: center;
}

.local-menu-cart-order-options {
    background: #f4fbfc;
    border: 1px solid #cfe8ed;
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    padding: 0.75rem;
}

.local-menu-cart-order-options strong,
.local-menu-cart-order-options small {
    display: block;
    line-height: 1.35;
}

.local-menu-cart-order-options strong {
    color: #20384d;
    font-size: 0.9rem;
    font-weight: 900;
}

.local-menu-cart-order-options small {
    color: #647b8f;
    font-size: 0.78rem;
}

.local-menu-cart-order-link-grid {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.local-menu-cart-order-link {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0e9;
    border-radius: 8px;
    color: #17405d;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 900;
    gap: 0.35rem;
    justify-content: center;
    min-height: 2.45rem;
    padding: 0.55rem 0.65rem;
    text-align: center;
    text-decoration: none;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.local-menu-cart-order-link:hover,
.local-menu-cart-order-link:focus-visible {
    border-color: #2fc7c8;
    box-shadow: 0 8px 18px rgba(47, 199, 200, 0.18);
    color: #0d4b66;
    text-decoration: none;
    transform: translateY(-1px);
}

.local-menu-cart-order-link.is-tma {
    background: #12344a;
    border-color: #12344a;
    color: #ffffff;
    grid-column: 1 / -1;
}

.local-menu-cart-order-link.is-tma:hover,
.local-menu-cart-order-link.is-tma:focus-visible {
    border-color: #2fc7c8;
    box-shadow: 0 10px 22px rgba(18, 52, 74, 0.22);
    color: #ffffff;
}

.local-menu-cart-footer > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    justify-content: flex-end;
}

.local-menu-order-page {
    background: #eaf6f8;
    min-height: 100%;
}

.local-menu-order-steps {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 1.25rem;
}

.local-menu-order-steps article {
    align-items: flex-start;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 8px;
    display: flex;
    gap: 0.6rem;
    padding: 0.85rem;
}

.local-menu-order-steps strong,
.local-menu-order-steps small {
    display: block;
    line-height: 1.25;
}

.local-menu-order-steps strong {
    color: #ffffff;
    font-weight: 900;
}

.local-menu-order-steps small {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    margin-top: 0.15rem;
}

.local-menu-order-section {
    background: #f4fbfc;
}

.local-menu-order-loading,
.local-menu-order-empty,
.local-menu-order-shell {
    background: #ffffff;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    box-shadow: 0 18px 40px rgba(17, 48, 70, 0.08);
}

.local-menu-order-loading,
.local-menu-order-empty {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    justify-items: center;
    min-height: 16rem;
    padding: 2rem;
    text-align: center;
}

.local-menu-order-empty strong {
    color: #12344a;
    font-size: 1.15rem;
    font-weight: 900;
}

.local-menu-order-empty span {
    color: #587289;
    max-width: 30rem;
}

.local-menu-order-shell {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.5rem);
}

.local-menu-order-summary,
.local-menu-order-copy-panel,
.local-menu-order-group-head,
.local-menu-order-item,
.local-menu-order-actions {
    align-items: center;
    display: flex;
    gap: 0.85rem;
}

.local-menu-order-summary,
.local-menu-order-copy-panel {
    background: #f4fbfc;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    justify-content: space-between;
    padding: 0.9rem;
}

.local-menu-order-request-form {
    border-top: 1px solid #e8f0f5;
    display: grid;
    gap: 1rem;
    padding-top: 0.25rem;
}

.local-menu-order-receipts {
    display: grid;
    gap: 0.75rem;
}

.local-menu-order-receipt {
    align-items: center;
    background: #f4fbfc;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    display: flex;
    gap: 0.75rem;
    padding: 0.85rem;
}

.local-menu-order-receipt > span {
    min-width: 0;
}

.local-menu-order-receipt strong,
.local-menu-order-receipt small,
.local-menu-order-receipt em {
    display: block;
    line-height: 1.35;
}

.local-menu-order-receipt strong {
    color: #12344a;
    font-weight: 900;
}

.local-menu-order-receipt small,
.local-menu-order-receipt em {
    color: #587289;
    font-style: normal;
    margin-top: 0.15rem;
}

.local-menu-order-readiness {
    background: #f4fbfc;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
}

.local-menu-order-readiness-head,
.local-menu-order-readiness-row {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.local-menu-order-readiness-head {
    border-bottom: 1px solid #e8f0f5;
    padding-bottom: 0.75rem;
}

.local-menu-order-readiness-head > span,
.local-menu-order-readiness-row > span {
    min-width: 0;
}

.local-menu-order-readiness-head strong,
.local-menu-order-readiness-row strong {
    color: #12344a;
    display: block;
    font-weight: 900;
    line-height: 1.25;
}

.local-menu-order-readiness-head small,
.local-menu-order-readiness-row small {
    color: #587289;
    display: block;
    font-size: 0.84rem;
    line-height: 1.35;
    margin-top: 0.15rem;
}

.local-menu-order-readiness-row {
    justify-content: space-between;
}

.local-menu-order-ticket-form {
    box-shadow: none;
    padding: 0;
}

.local-menu-order-ticket-form .mud-input-control {
    margin-bottom: 0;
}

.local-menu-order-summary > span,
.local-menu-order-copy-panel > div,
.local-menu-order-item > span,
.local-menu-order-group-head > span {
    min-width: 0;
}

.local-menu-order-summary strong,
.local-menu-order-copy-panel strong,
.local-menu-order-group-head strong,
.local-menu-order-item strong {
    color: #12344a;
    display: block;
    font-weight: 900;
    line-height: 1.25;
}

.local-menu-order-summary small,
.local-menu-order-copy-panel p,
.local-menu-order-group-head small,
.local-menu-order-item small {
    color: #587289;
    display: block;
    font-size: 0.84rem;
    line-height: 1.35;
    margin: 0.15rem 0 0;
}

.local-menu-order-group-list {
    display: grid;
    gap: 0.8rem;
}

.local-menu-order-group {
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    padding: 0.9rem;
}

.local-menu-order-group-head {
    border-bottom: 1px solid #e8f0f5;
    justify-content: space-between;
    padding-bottom: 0.65rem;
}

.local-menu-order-item {
    justify-content: space-between;
}

.local-menu-order-item b {
    align-items: center;
    background: #eaf6f8;
    border-radius: 999px;
    color: #12344a;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 0.85rem;
    font-weight: 900;
    justify-content: center;
    min-height: 2rem;
    min-width: 2rem;
}

.local-menu-order-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.local-menu-order-status-shell {
    gap: 1rem;
}

.local-menu-order-status-form {
    align-items: flex-end;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.local-menu-order-status-empty,
.local-menu-order-status-card {
    background: #ffffff;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
}

.local-menu-order-status-empty {
    align-items: center;
    display: grid;
    gap: 0.65rem;
    justify-items: center;
    min-height: 12rem;
    padding: 1.5rem;
    text-align: center;
}

.local-menu-order-status-empty strong {
    color: #12344a;
    font-size: 1.05rem;
    font-weight: 900;
}

.local-menu-order-status-empty span {
    color: #587289;
    max-width: 30rem;
}

.local-menu-order-status-card {
    display: grid;
    gap: 1rem;
    padding: clamp(1rem, 3vw, 1.25rem);
}

.local-menu-order-status-head {
    align-items: center;
    border-bottom: 1px solid #e8f0f5;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding-bottom: 0.9rem;
}

.local-menu-order-status-head small,
.local-menu-order-status-grid span,
.local-menu-order-status-timeline small,
.local-menu-order-status-timeline em {
    color: #587289;
    display: block;
    line-height: 1.35;
}

.local-menu-order-status-head strong,
.local-menu-order-status-grid strong,
.local-menu-order-status-timeline > strong,
.local-menu-order-status-timeline article strong {
    color: #12344a;
    display: block;
    font-weight: 900;
    line-height: 1.25;
}

.local-menu-order-status-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.local-menu-order-status-grid article {
    background: #f4fbfc;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    min-width: 0;
    padding: 0.8rem;
}

.local-menu-order-status-timeline {
    border-top: 1px solid #e8f0f5;
    display: grid;
    gap: 0.75rem;
    padding-top: 1rem;
}

.local-menu-order-status-timeline article {
    align-items: flex-start;
    display: flex;
    gap: 0.65rem;
}

.local-menu-order-status-timeline article span {
    min-width: 0;
}

.local-menu-order-status-timeline em {
    font-style: normal;
    margin-top: 0.15rem;
}

.local-menu-match-footer {
    border-top: 1px solid #e7eef4;
    display: grid;
    gap: 0.75rem;
    margin-top: auto;
    padding-top: 0.8rem;
}

.local-menu-match-footer strong {
    color: #20384d;
    display: block;
    font-size: 0.92rem;
    font-weight: 900;
}

.local-menu-match-footer small {
    color: #647b8f;
    display: block;
    font-size: 0.78rem;
    line-height: 1.35;
    margin-top: 0.2rem;
}

.local-menu-match-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.local-menu-safety-note {
    color: #647b8f;
    font-size: 0.82rem;
    line-height: 1.45;
    margin: 0;
}

.local-menu-filter-drawer {
    max-width: 440px;
    width: min(92vw, 440px) !important;
}

.local-menu-filter-drawer.mud-drawer--closed {
    transform: translateX(100%) !important;
    visibility: hidden !important;
}

.local-menu-filter-drawer.mud-drawer--open {
    transform: translateX(0) !important;
    visibility: visible !important;
}

.local-menu-filter-drawer-inner {
    background: #f4f8fb;
    color: #22384e;
    display: grid;
    gap: 0.95rem;
    min-height: 100%;
    padding: 1rem;
}

.local-menu-filter-drawer-head {
    align-items: start;
    background: #102438;
    border-radius: 8px;
    color: #f4fbff;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.95rem;
}

.local-menu-filter-drawer-head .mud-typography-overline {
    color: #9be8ed;
    font-weight: 900;
}

.local-menu-filter-drawer-head .mud-typography-h5 {
    color: #f4fbff;
    font-size: 1.25rem;
    font-weight: 900;
}

.local-menu-drawer-map {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.62rem;
    padding: 0.75rem;
}

.local-menu-drawer-map .mud-typography-overline {
    color: #647b8f;
    font-weight: 950;
    letter-spacing: 0;
}

.local-menu-drawer-map > div {
    display: grid;
    gap: 0.45rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.local-menu-drawer-map a {
    align-items: center;
    background: #f4f8fb;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    color: #20384d;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    gap: 0.35rem;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0.5rem 0.55rem;
    text-align: center;
    text-decoration: none;
}

.local-menu-drawer-map a:hover,
.local-menu-drawer-map a:focus-visible {
    background: #eaf7fb;
    border-color: rgba(51, 204, 204, 0.55);
    color: #0f5e66;
    outline: none;
}

.local-menu-filter-section,
.local-menu-save-preferences {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem;
}

.local-menu-filter-section .mud-typography-subtitle2 {
    color: #20384d;
    font-weight: 900;
}

.local-menu-filter-section-head {
    align-items: start;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.local-menu-filter-section-head p {
    color: #647b8f;
    font-size: 0.84rem;
    line-height: 1.45;
    margin: 0.2rem 0 0;
}

.local-menu-strict-section {
    background: #fffaf0;
    border-color: rgba(202, 138, 4, 0.28);
}

.local-menu-mode-section,
.local-menu-always-section {
    background: #f7fbfd;
    border-color: #cfe2eb;
}

.local-menu-inline-allergy-note {
    align-items: start;
    background: rgba(255, 255, 255, 0.72);
    border: 1px solid rgba(202, 138, 4, 0.24);
    border-radius: 8px;
    color: #20384d;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.75rem;
}

.local-menu-inline-allergy-note strong,
.local-menu-inline-allergy-note small {
    display: block;
}

.local-menu-inline-allergy-note strong {
    font-size: 0.82rem;
    font-weight: 950;
    line-height: 1.2;
    text-transform: uppercase;
}

.local-menu-inline-allergy-note small {
    color: #526b7d;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.45;
    margin-top: 0.16rem;
}

.local-menu-always-on-panel {
    background: #f4fbff;
    border: 1px solid #cfe2eb;
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    padding: 0.78rem;
}

.local-menu-always-on-head {
    align-items: start;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.local-menu-always-on-head strong,
.local-menu-always-on-head small,
.local-menu-preference-cluster p {
    display: block;
    line-height: 1.35;
}

.local-menu-always-on-head strong {
    color: #20384d;
    font-size: 0.9rem;
    font-weight: 900;
}

.local-menu-always-on-head small,
.local-menu-preference-cluster p {
    color: #647b8f;
    font-size: 0.78rem;
    margin: 0.12rem 0 0;
}

.local-menu-preference-cluster {
    display: grid;
    gap: 0.58rem;
}

.local-menu-exact-entry-grid {
    display: grid;
    gap: 0.72rem;
}

.local-menu-preference-cluster.is-include,
.local-menu-preference-cluster.is-avoid {
    border-radius: 8px;
    padding: 0.72rem;
}

.local-menu-preference-cluster.is-include {
    background: #f7fbfd;
    border: 1px solid #d6e7ef;
}

.local-menu-preference-cluster.is-avoid {
    background: #fffaf0;
    border: 1px solid rgba(202, 138, 4, 0.22);
}

.local-menu-preference-cluster.is-mood {
    background: rgba(255, 255, 255, 0.7);
    border: 1px solid rgba(217, 228, 236, 0.9);
    border-radius: 8px;
    padding: 0.72rem;
}

.local-menu-preference-cluster.is-allergy-list,
.local-menu-preference-cluster.is-dietary-list {
    background: #ffffff;
    border: 1px solid rgba(217, 228, 236, 0.92);
    border-radius: 8px;
    padding: 0.72rem;
}

.local-menu-preference-cluster.is-allergy-list {
    background: #fffaf0;
    border-color: rgba(202, 138, 4, 0.22);
}

.local-menu-toggle-grid {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
}

.local-menu-toggle-button {
    align-items: center;
    background: #f4f8fb;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    color: #526b80;
    display: inline-flex;
    font-size: 0.84rem;
    font-weight: 850;
    gap: 0.45rem;
    justify-content: center;
    line-height: 1.18;
    min-height: 42px;
    padding: 0.55rem 0.65rem;
    text-align: center;
    white-space: normal;
}

.local-menu-toggle-button.is-selected {
    background: #e0f4f5;
    border-color: rgba(51, 204, 204, 0.75);
    color: #0f5e66;
}

.local-menu-toggle-button.is-selected::before {
    border-bottom: 2px solid currentColor;
    border-left: 2px solid currentColor;
    content: "";
    flex: 0 0 auto;
    height: 0.38rem;
    transform: rotate(-45deg);
    width: 0.72rem;
}

.local-menu-toggle-button:hover,
.local-menu-toggle-button:focus-visible {
    border-color: rgba(41, 128, 185, 0.48);
    outline: none;
}

.local-menu-kind-grid {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.local-menu-location-drawer-row {
    display: grid;
    gap: 0.55rem;
}

.local-menu-location-drawer-note {
    color: #647b8f;
    font-size: 0.84rem;
    line-height: 1.4;
    margin: 0;
}

.local-menu-sort-status {
    color: #647b8f;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.35;
    margin: 0.22rem 0 0;
}

.local-menu-sort-status strong {
    color: #20384d;
    font-weight: 950;
}

.local-menu-filter-grid {
    display: grid;
    gap: 0.75rem;
}

.local-menu-price-row {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.local-menu-save-preferences strong {
    color: #20384d;
    font-weight: 900;
}

.local-menu-save-preferences p {
    color: #647b8f;
    font-size: 0.86rem;
    line-height: 1.45;
    margin: 0.25rem 0 0;
}

.local-menu-text-link {
    background: transparent;
    color: #21618c;
    font-weight: 900;
    justify-self: start;
    padding: 0;
    text-decoration: underline;
}

.local-menu-signup-form {
    display: grid;
    gap: 0.65rem;
}

.local-menu-account-state {
    align-items: start;
    background: #f4fbff;
    border: 1px solid #cfe2eb;
    border-radius: 8px;
    display: grid;
    gap: 0.6rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.75rem;
}

.local-menu-account-saved-panel {
    align-items: start;
    background: #edfafa;
    border: 1px solid rgba(51, 204, 204, 0.32);
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.75rem;
}

.local-menu-account-state strong,
.local-menu-account-state small,
.local-menu-account-saved-panel strong,
.local-menu-account-saved-panel small {
    display: block;
    line-height: 1.35;
}

.local-menu-account-state strong,
.local-menu-account-saved-panel strong {
    color: #20384d;
    font-size: 0.86rem;
    font-weight: 900;
}

.local-menu-account-state small,
.local-menu-account-saved-panel small {
    color: #526b7d;
    font-size: 0.78rem;
    font-weight: 700;
}

.local-menu-account-saved-panel .mud-button-root {
    grid-column: 1 / -1;
    justify-self: start;
    min-width: 0;
}

.local-menu-signup-message {
    color: #526b80 !important;
    font-size: 0.82rem !important;
    line-height: 1.4 !important;
}

.local-menu-drawer-actions {
    background: #f4f8fb;
    bottom: 0;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: 1fr 1.2fr;
    padding-top: 0.3rem;
    position: sticky;
}

.local-menu-allergy-reminder-backdrop {
    align-items: center;
    background: rgba(6, 20, 32, 0.68);
    display: grid;
    inset: 0;
    justify-items: center;
    padding: 1rem;
    position: fixed;
    z-index: 1400;
}

.local-menu-allergy-reminder {
    background: #ffffff;
    border: 1px solid rgba(202, 138, 4, 0.38);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.36);
    color: #22384e;
    display: grid;
    gap: 0.95rem;
    max-width: 560px;
    padding: 1rem;
    width: min(100%, 560px);
}

.local-menu-allergy-reminder-icon {
    align-items: center;
    background: #fff4d7;
    border: 1px solid rgba(202, 138, 4, 0.32);
    border-radius: 8px;
    color: #9a5b00;
    display: inline-grid;
    height: 44px;
    justify-content: center;
    width: 44px;
}

.local-menu-allergy-reminder-copy {
    display: grid;
    gap: 0.7rem;
}

.local-menu-allergy-reminder-copy .mud-typography-h5 {
    color: #20384d;
    font-size: 1.45rem;
    font-weight: 950;
    line-height: 1.15;
}

.local-menu-allergy-reminder-copy p {
    color: #374f63;
    font-size: 0.98rem;
    font-weight: 750;
    line-height: 1.55;
    margin: 0;
}

.local-menu-allergy-reminder-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.local-menu-search-progress-overlay {
    align-items: center;
    background: rgba(7, 18, 29, 0.42);
    bottom: 0;
    display: grid;
    justify-items: center;
    left: 0;
    padding: 1rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1600;
}

.local-menu-search-progress-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    box-shadow: 0 20px 55px rgba(0, 0, 0, 0.28);
    color: #20384d;
    display: grid;
    gap: 0.55rem;
    justify-items: center;
    max-width: 18rem;
    padding: 1rem;
    text-align: center;
    width: min(100%, 18rem);
}

.local-menu-search-progress-card strong {
    font-size: 1rem;
    font-weight: 900;
}

.local-menu-search-progress-card span {
    color: #647b8f;
    font-size: 0.82rem;
    font-weight: 750;
}

.local-menu-guide-overlay {
    align-items: end;
    background: radial-gradient(circle at 75% 20%, rgba(51, 204, 204, 0.22), transparent 28%), rgba(7, 18, 29, 0.58);
    bottom: 0;
    display: grid;
    justify-items: start;
    left: 0;
    padding: 1rem;
    pointer-events: none;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 1000;
}

.local-menu-guide-card {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    box-shadow: 0 22px 60px rgba(0, 0, 0, 0.32);
    color: #20384d;
    display: grid;
    gap: 0.58rem;
    max-width: 22rem;
    padding: 1rem;
    pointer-events: auto;
    width: min(100%, 22rem);
}

.local-menu-guide-progress {
    display: flex;
    gap: 0.3rem;
}

.local-menu-guide-progress span {
    background: #d9e4ec;
    border-radius: 999px;
    height: 0.35rem;
    width: 1.2rem;
}

.local-menu-guide-progress span.is-active {
    background: #33cccc;
}

.local-menu-guide-card .mud-typography-overline {
    color: #2a85b3;
    font-weight: 900;
    letter-spacing: 0;
}

.local-menu-guide-card .mud-typography-h6 {
    color: #20384d;
    font-weight: 950;
    line-height: 1.15;
}

.local-menu-guide-card p {
    color: #647b8f;
    font-size: 0.9rem;
    line-height: 1.35;
    margin: 0;
}

.local-menu-guide-actions {
    align-items: center;
    display: flex;
    gap: 0.7rem;
    justify-content: space-between;
    margin-top: 0.2rem;
}

.is-guide-target {
    animation: local-menu-guide-pulse 1400ms ease-in-out infinite;
    box-shadow: 0 0 0 3px rgba(51, 204, 204, 0.55), 0 14px 40px rgba(21, 63, 85, 0.18);
    position: relative;
}

@keyframes local-menu-guide-pulse {
    0%,
    100% {
        box-shadow: 0 0 0 3px rgba(51, 204, 204, 0.55), 0 14px 40px rgba(21, 63, 85, 0.18);
    }

    50% {
        box-shadow: 0 0 0 6px rgba(51, 204, 204, 0.2), 0 18px 50px rgba(21, 63, 85, 0.22);
    }
}

@media (prefers-reduced-motion: reduce) {
    .is-guide-target {
        animation: none;
    }
}

.admin-tool-preview-banner {
    margin: 1rem auto 0;
    max-width: var(--public-content-max, 1040px);
}

.tool-access-filter-panel {
    align-items: end;
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: minmax(16rem, 1.4fr) minmax(12rem, 0.8fr) minmax(12rem, 0.8fr) auto;
    margin-bottom: 1rem;
    padding: 1rem;
}

.tool-access-filter-summary {
    align-content: center;
    background: #f4f8fb;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    color: #47677f;
    display: grid;
    min-height: 56px;
    min-width: 8rem;
    padding: 0.55rem 0.7rem;
}

.tool-access-filter-summary strong,
.tool-access-filter-summary span {
    display: block;
    line-height: 1.2;
}

.tool-access-filter-summary strong {
    color: #20384d;
    font-size: 1.1rem;
    font-weight: 900;
}

.tool-access-filter-summary span {
    font-size: 0.76rem;
    font-weight: 850;
}

.tool-access-bulk-panel {
    align-items: center;
    background: #f8fbfd;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(12rem, 1fr) auto auto;
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
}

.tool-access-bulk-summary {
    align-items: center;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.tool-access-bulk-summary strong,
.tool-access-bulk-summary small {
    display: block;
    line-height: 1.25;
}

.tool-access-bulk-summary strong {
    color: #20384d;
    font-size: 0.95rem;
    font-weight: 900;
}

.tool-access-bulk-summary small {
    color: #647b8f;
    font-size: 0.78rem;
    font-weight: 750;
    margin-top: 0.12rem;
}

.tool-access-bulk-actions,
.tool-access-save-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.tool-access-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.tool-access-card {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    padding: 1rem;
}

.tool-access-card-head {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.tool-access-card-badges {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
}

.tool-access-card-head .mud-typography-h6 {
    color: #20384d;
    font-weight: 900;
    line-height: 1.2;
}

.tool-access-card-head .mud-typography-body2,
.tool-access-message {
    color: #647b8f;
    line-height: 1.45;
}

.tool-access-route {
    align-items: center;
    background: #f4f8fb;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    color: #21618c;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 850;
    gap: 0.45rem;
    min-width: 0;
    padding: 0.55rem 0.65rem;
    width: fit-content;
}

.tool-access-controls {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.tool-access-impact {
    border-top: 1px solid #e7eef4;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-top: 0.85rem;
}

.tool-access-impact strong {
    color: #20384d;
    display: block;
    font-size: 0.86rem;
    font-weight: 900;
}

.tool-access-impact small {
    color: #647b8f;
    display: block;
    line-height: 1.4;
    margin-top: 0.18rem;
}

@media (max-width: 1100px) {
    .local-menu-match-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tool-access-grid {
        grid-template-columns: 1fr;
    }

    .tool-access-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .tool-access-bulk-panel {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .tool-access-bulk-actions,
    .tool-access-save-actions {
        justify-content: flex-start;
    }

    .tool-access-filter-summary {
        min-width: 0;
    }
}

@media (max-width: 820px) {
    .local-menu-hero-form,
    .local-menu-hero-actions,
    .local-menu-search-mode-guide,
    .local-menu-intent-summary,
    .local-menu-preference-module-grid,
    .local-menu-results-toolbar,
    .local-menu-demand-panel,
    .local-menu-order-steps,
    .local-menu-order-status-grid,
    .local-menu-restaurant-head {
        grid-template-columns: 1fr;
    }

    .local-menu-intent-lane + .local-menu-intent-lane {
        border-left: 0;
        border-top: 1px solid #dce8ef;
    }

    .local-menu-hero-actions,
    .local-menu-results-toolbar {
        display: grid;
    }

    .local-menu-cart-bar {
        align-items: stretch;
        display: grid;
    }

    .local-menu-results-actions,
    .local-menu-demand-panel .mud-button-root,
    .local-menu-order-actions .mud-button-root,
    .local-menu-cart-bar .mud-button-root {
        justify-content: stretch;
        width: 100%;
    }

    .local-menu-suggestion-row {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .local-menu-suggestion-row > div {
        justify-content: flex-start;
    }

    .local-menu-match-grid {
        grid-template-columns: 1fr;
    }

    .local-menu-restaurant-actions {
        justify-items: start;
        text-align: left;
    }

    .local-menu-restaurant-actions > div {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .local-menu-hero-search-card {
        padding: 0.85rem;
    }

    .local-menu-craving-row {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .local-menu-craving-row button {
        border-radius: 8px;
    }

    .local-menu-match-head,
    .local-menu-cart-item,
    .local-menu-order-copy-panel,
    .local-menu-order-receipt,
    .local-menu-order-group-head,
    .local-menu-order-item,
    .local-menu-order-status-form,
    .local-menu-order-status-head,
    .local-menu-price-row,
    .local-menu-drawer-actions {
        align-items: stretch;
        display: grid;
        grid-template-columns: 1fr;
    }

    .local-menu-match-card-actions,
    .local-menu-order-actions,
    .local-menu-cart-footer > div {
        justify-content: stretch;
    }

    .local-menu-match-card-actions .mud-button-root,
    .local-menu-order-copy-panel .mud-button-root,
    .local-menu-cart-footer .mud-button-root {
        width: 100%;
    }

    .local-menu-cart-order-link-grid {
        grid-template-columns: 1fr;
    }

    .local-menu-cart-item-actions {
        justify-content: start;
    }

    .local-menu-allergy-reminder-actions {
        display: grid;
    }

    .local-menu-match-head > strong {
        white-space: normal;
    }

    .local-menu-item-strip {
        grid-auto-columns: minmax(16rem, 82vw);
    }

    .local-menu-filter-drawer {
        max-width: none;
        width: 100vw !important;
    }

    .local-menu-preference-chip {
        border-radius: 8px;
        justify-content: center;
        text-align: center;
    }

    .local-menu-guide-overlay {
        align-items: end;
        justify-items: center;
    }

    .local-menu-guide-card {
        max-width: none;
        width: 100%;
    }

    .tool-access-card-head,
    .tool-access-controls,
    .tool-access-impact,
    .tool-access-filter-panel {
        grid-template-columns: 1fr;
    }

    .tool-access-route {
        width: 100%;
    }
}

.qr-template-workbench-section {
    container-type: inline-size;
}

.qr-template-workbench {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.qr-template-workbench > * {
    min-width: 0;
}

.qr-template-live-preview {
    background: #ffffff;
    box-shadow: 0 10px 28px rgba(44, 62, 80, 0.12);
    position: sticky;
    top: 54px;
    z-index: 20;
}

.qr-template-preview-head {
    align-items: start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.qr-template-preview-head .mud-typography-h6,
.qr-template-controls-panel .mud-typography-h6 {
    color: var(--tma-text);
    font-size: 1.02rem;
    font-weight: 850;
    letter-spacing: 0;
}

.qr-template-preview-head .mud-typography-body2,
.qr-template-controls-panel .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.35;
    margin-top: 0.16rem;
}

.qr-template-preview-wrap {
    background:
        radial-gradient(360px 240px at 10% 8%, rgba(41, 128, 185, 0.16), transparent 62%),
        linear-gradient(180deg, #f8fbfc, #eef5f8);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    justify-items: center;
    overflow: hidden;
    padding: 0.72rem;
}

.qr-template-canvas {
    --qr-template-style-paper: #ffffff;
    --qr-template-style-ink: #08101d;
    --qr-template-style-accent: #2781b8;
    --qr-template-style-accent-2: #33cccc;
    --qr-template-style-border: rgba(15, 23, 42, 0.12);
    --qr-template-style-heading-font: "Noto Sans", "Segoe UI", Arial, sans-serif;
    --qr-template-style-body-font: "Noto Sans", "Segoe UI", Arial, sans-serif;
    aspect-ratio: var(--qr-template-ratio, 8.5 / 11);
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 14px 30px rgba(44, 62, 80, 0.18);
    color: var(--qr-template-style-ink);
    max-width: 100%;
    overflow: hidden;
    position: relative;
    width: min(100%, 330px);
}

.qr-template-canvas[data-template-shape="round"] {
    border-radius: 50%;
}

.qr-template-border {
    border: var(--qr-template-border-thickness, 2px) solid var(--qr-template-style-ink);
    border-radius: inherit;
    display: none;
    inset: 0;
    pointer-events: none;
    position: absolute;
    z-index: 4;
}

.qr-template-canvas[data-template-border-visibility="on"] .qr-template-border {
    display: block;
}

.qr-template-surface {
    background: var(--qr-template-style-paper);
    color: var(--qr-template-style-ink);
    display: grid;
    font-family: var(--qr-template-style-body-font);
    height: 100%;
    min-height: 0;
    overflow: hidden;
    padding: 4.3%;
    position: relative;
    width: 100%;
}

.qr-template-canvas[data-template-shape="round"] .qr-template-surface {
    border-radius: 50%;
}

.qr-template-surface::before,
.qr-template-surface::after {
    content: "";
    pointer-events: none;
    position: absolute;
    z-index: 0;
}

.qr-template-layout {
    display: grid;
    height: 100%;
    min-height: 0;
    position: relative;
    width: 100%;
    z-index: 1;
}

.qr-template-layout-qr-only {
    align-content: center;
    justify-items: center;
}

.qr-template-code-shell {
    display: grid;
    place-items: center;
    width: 100%;
}

.qr-template-code-frame {
    aspect-ratio: 1 / 1;
    background: #ffffff;
    border: 1px solid var(--qr-template-style-border);
    border-radius: 18px;
    box-shadow: 0 12px 22px rgba(15, 23, 42, 0.12);
    display: grid;
    padding: 4.3%;
    place-items: center;
    width: 70%;
}

.qr-template-code-frame.is-placeholder-qr {
    background: transparent;
    border-color: transparent;
    box-shadow: none;
}

.qr-template-code-frame-solo {
    width: 92%;
}

.qr-template-code-frame-filter {
    width: 76%;
}

.qr-template-canvas[data-template-format="poster"] .qr-template-code-frame-filter {
    width: 72%;
}

.qr-template-canvas[data-template-shape="round"] .qr-template-code-frame {
    border-radius: 50%;
}

.qr-template-placeholder,
.qr-template-placeholder-icon,
.qr-template-qr-image {
    display: block;
    height: 100%;
    width: 100%;
}

.qr-template-qr-image {
    object-fit: contain;
}

.qr-template-placeholder {
    color: #06080d;
}

.qr-template-placeholder-icon {
    fill: currentColor;
}

.qr-template-layout-international {
    align-content: stretch;
    justify-items: stretch;
}

.qr-template-international-grid {
    align-items: center;
    align-self: stretch;
    display: grid;
    gap: clamp(0.38rem, 2.6vw, 0.92rem);
    height: 100%;
    justify-items: stretch;
    justify-self: stretch;
    min-height: 0;
    position: relative;
    width: 100%;
}

.qr-template-canvas[data-template-layout-style="column"] .qr-template-international-grid {
    align-content: stretch;
    align-items: stretch;
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 0.56fr) minmax(0, 0.44fr);
}

.qr-template-canvas[data-template-layout-style="column"] .qr-template-code-frame-international {
    width: 66%;
}

.qr-template-language-column {
    min-width: 0;
}

.qr-template-language-column[data-layout-style="column"] {
    align-content: center;
    display: grid;
    gap: clamp(0.22rem, 1.1vw, 0.55rem);
    height: 100%;
    justify-items: stretch;
    width: 100%;
}

.qr-template-language-heading {
    color: var(--qr-template-style-ink);
    font-family: var(--qr-template-style-heading-font);
    font-size: clamp(0.78rem, calc(1.02rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 1.2rem);
    font-weight: 1000;
    letter-spacing: 0;
    line-height: 1.08;
    text-align: center;
    text-wrap: balance;
}

.qr-template-language-grid {
    align-items: start;
    display: grid;
    gap: clamp(0.12rem, 0.8vw, 0.34rem) clamp(0.42rem, 1.6vw, 0.8rem);
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
}

.qr-template-language-stack {
    display: grid;
    gap: clamp(0.12rem, 0.7vw, 0.28rem);
    min-width: 0;
}

.qr-template-language-item {
    color: var(--qr-template-style-ink);
    font-family: var(--qr-template-style-body-font);
    font-size: clamp(0.46rem, calc(0.74rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 0.86rem);
    font-weight: 850;
    letter-spacing: 0;
    line-height: 1.12;
    overflow-wrap: anywhere;
    text-wrap: balance;
}

.qr-template-language-item[dir="rtl"] {
    text-align: right;
}

.qr-template-language-column[data-layout-style="square"],
.qr-template-language-mosaic {
    display: contents;
}

.qr-template-canvas[data-template-layout-style="square"] .qr-template-international-grid {
    align-items: stretch;
    gap: clamp(0.24rem, 1.1vw, 0.62rem);
    grid-template-columns: minmax(0, 1fr) minmax(88px, 37%) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(88px, auto) minmax(0, 1fr);
}

.qr-template-canvas[data-template-layout-style="square"] .qr-template-code-shell-international {
    grid-column: 2;
    grid-row: 2;
}

.qr-template-canvas[data-template-layout-style="square"] .qr-template-code-frame-international {
    width: 100%;
}

.qr-template-canvas[data-template-format="sticker"][data-template-layout-style="square"] .qr-template-international-grid {
    grid-template-columns: minmax(0, 1fr) minmax(0, 56%) minmax(0, 1fr);
    grid-template-rows: minmax(0, 1fr) minmax(0, 56%) minmax(0, 1fr);
}

.qr-template-language-side {
    align-items: center;
    display: grid;
    gap: clamp(0.12rem, 0.65vw, 0.32rem);
    height: 100%;
    justify-content: center;
    min-width: 0;
    width: 100%;
}

.qr-template-language-side--top,
.qr-template-language-side--bottom {
    grid-column: 1 / -1;
    grid-template-columns: repeat(var(--qr-template-side-count, 4), minmax(0, 1fr));
    justify-self: stretch;
    max-width: none;
}

.qr-template-language-side--top {
    align-self: end;
    grid-row: 1;
}

.qr-template-language-side--bottom {
    align-self: start;
    grid-row: 3;
}

.qr-template-language-side--left,
.qr-template-language-side--right {
    align-self: stretch;
    grid-row: 2;
    grid-template-rows: repeat(var(--qr-template-side-count, 3), minmax(0, 1fr));
}

.qr-template-language-side--left {
    grid-column: 1;
}

.qr-template-language-side--right {
    grid-column: 3;
}

.qr-template-language-side .qr-template-language-item {
    align-items: center;
    display: grid;
    font-weight: 950;
    height: 100%;
    justify-items: center;
    line-height: 1.02;
    max-width: none;
    min-height: clamp(2.45rem, calc(4.15rem * var(--qr-template-compact-scale, 1)), 5.8rem);
    overflow: hidden;
    padding: clamp(0.26rem, 0.86vw, 0.62rem);
    text-align: center;
    width: 100%;
}

.qr-template-canvas[data-template-layout-style="square"] .qr-template-language-side {
    align-items: stretch;
    justify-items: center;
}

.qr-template-canvas[data-template-layout-style="square"] .qr-template-language-side .qr-template-language-item {
    --qr-template-square-lang-size: clamp(2.75rem, calc(5.6rem * var(--qr-template-compact-scale, 1)), 5.8rem);
    aspect-ratio: 1 / 1;
    height: min(100%, var(--qr-template-square-lang-size));
    min-height: 0;
    width: min(100%, var(--qr-template-square-lang-size));
}

.qr-template-language-column[data-layout-style="ring"] {
    border-radius: inherit;
    height: 100%;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    width: 100%;
    z-index: 3;
}

.qr-template-canvas[data-template-layout-style="ring"] .qr-template-international-grid {
    align-content: center;
    justify-items: center;
}

.qr-template-canvas[data-template-layout-style="ring"] .qr-template-code-frame-international {
    width: 60%;
}

.qr-template-language-orbit-item {
    display: grid;
    min-height: 1.9rem;
    place-items: center;
    position: absolute;
    text-align: center;
    transform: translate(-50%, -50%);
    width: 7.8ch;
}

.qr-template-language-orbit-label {
    display: block;
}

.qr-template-language-spiral {
    height: 100%;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
    position: absolute;
    width: 100%;
}

.qr-template-language-spiral path {
    fill: none;
}

.qr-template-language-spiral-text {
    fill: var(--qr-template-style-ink);
    font-family: var(--qr-template-style-body-font);
    font-weight: 900;
    letter-spacing: 0;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-language-side .qr-template-language-item {
    font-size: clamp(0.34rem, calc(0.46rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 0.5rem);
    min-height: 0;
    padding: 0.07rem;
}

.qr-template-canvas[data-template-format="sticker"][data-template-layout-style="square"] .qr-template-language-side .qr-template-language-item {
    --qr-template-square-lang-size: clamp(2.75rem, calc(5.6rem * var(--qr-template-compact-scale, 1)), 3.75rem);
    aspect-ratio: 1 / 1;
    height: min(100%, var(--qr-template-square-lang-size));
    width: min(100%, var(--qr-template-square-lang-size));
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-language-column[data-layout-style="column"] {
    gap: 0.06rem;
    overflow: hidden;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-language-column[data-layout-style="column"] .qr-template-language-heading {
    font-size: 0.34rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-language-column[data-layout-style="column"] .qr-template-language-grid {
    gap: 0.02rem 0.08rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-language-column[data-layout-style="column"] .qr-template-language-stack {
    gap: 0.02rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-language-column[data-layout-style="column"] .qr-template-language-item {
    font-size: 0.24rem;
    line-height: 1;
}

.qr-template-canvas[data-template-format="coaster"] .qr-template-language-side .qr-template-language-item {
    font-size: clamp(0.48rem, calc(0.68rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 0.76rem);
    min-height: clamp(1.45rem, calc(2rem * var(--qr-template-compact-scale, 1)), 2.45rem);
}

.qr-template-layout-filter {
    align-content: stretch;
    align-items: center;
    gap: clamp(0.45rem, 2.1vw, 1.1rem);
    grid-template-rows: minmax(0, 0.22fr) minmax(0, 0.58fr) minmax(0, 0.2fr);
    justify-items: stretch;
    text-align: center;
}

.qr-template-filter-heading,
.qr-template-filter-footer {
    align-content: center;
    display: grid;
    gap: 0.08rem;
    height: 100%;
    overflow: hidden;
    width: 100%;
}

.qr-template-filter-heading p,
.qr-template-filter-footer p {
    margin: 0;
}

.qr-template-filter-title-line,
.qr-template-filter-footer {
    color: var(--qr-template-style-ink);
    font-family: var(--qr-template-style-heading-font);
    font-weight: 1000;
    letter-spacing: 0;
    line-height: 1.05;
    text-wrap: balance;
}

.qr-template-filter-title-line-top {
    font-size: clamp(1.08rem, calc(2rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 2.75rem);
}

.qr-template-filter-title-line-bottom {
    font-size: clamp(1.22rem, calc(2.24rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 3rem);
}

.qr-template-filter-footer {
    font-family: var(--qr-template-style-body-font);
    font-size: clamp(0.86rem, calc(1.28rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 2rem);
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-code-frame-filter {
    width: 60%;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-layout-filter {
    gap: 0.06rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-filter-heading,
.qr-template-canvas[data-template-format="sticker"] .qr-template-filter-footer {
    gap: 0.01rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-filter-title-line-top {
    font-size: 0.38rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-filter-title-line-bottom {
    font-size: 0.46rem;
}

.qr-template-canvas[data-template-format="sticker"] .qr-template-filter-footer {
    font-size: 0.34rem;
    line-height: 1;
}

.qr-template-canvas[data-template-visual-style="modern"] {
    --qr-template-style-paper: #f8fcfd;
    --qr-template-style-ink: #071923;
    --qr-template-style-accent: #008b8b;
    --qr-template-style-accent-2: #1b4f72;
    --qr-template-style-border: rgba(0, 139, 139, 0.28);
}

.qr-template-canvas[data-template-visual-style="retro"] {
    --qr-template-style-paper: #fff1d1;
    --qr-template-style-ink: #24140f;
    --qr-template-style-accent: #c6452c;
    --qr-template-style-accent-2: #087e8b;
    --qr-template-style-border: rgba(198, 69, 44, 0.32);
    --qr-template-style-heading-font: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
}

.qr-template-canvas[data-template-visual-style="bistro"] {
    --qr-template-style-paper: #fbf7ef;
    --qr-template-style-ink: #182019;
    --qr-template-style-accent: #1f5c45;
    --qr-template-style-accent-2: #b4823d;
    --qr-template-style-border: rgba(31, 92, 69, 0.3);
    --qr-template-style-heading-font: Georgia, "Times New Roman", serif;
}

.qr-template-canvas[data-template-visual-style="taqueria"] {
    --qr-template-style-paper: #fff8e9;
    --qr-template-style-ink: #1e2a15;
    --qr-template-style-accent: #cf2e1f;
    --qr-template-style-accent-2: #0b7a53;
    --qr-template-style-border: rgba(207, 46, 31, 0.32);
    --qr-template-style-heading-font: "Arial Rounded MT Bold", "Trebuchet MS", sans-serif;
}

.qr-template-canvas[data-template-visual-style="sushi"] {
    --qr-template-style-paper: #f9fbf7;
    --qr-template-style-ink: #111827;
    --qr-template-style-accent: #c92a2a;
    --qr-template-style-accent-2: #203b73;
    --qr-template-style-border: rgba(201, 42, 42, 0.28);
}

.qr-template-canvas[data-template-visual-style="modern"] .qr-template-surface {
    background:
        linear-gradient(90deg, rgba(0, 139, 139, 0.12), transparent 18%, transparent 82%, rgba(27, 79, 114, 0.1)),
        var(--qr-template-style-paper);
}

.qr-template-canvas[data-template-visual-style="modern"] .qr-template-surface::before {
    border: clamp(2px, 0.6vw, 5px) solid var(--qr-template-style-accent);
    inset: 4.2%;
    opacity: 0.22;
}

.qr-template-canvas[data-template-visual-style="retro"] .qr-template-surface {
    background:
        radial-gradient(circle at 12% 14%, rgba(8, 126, 139, 0.16), transparent 18%),
        radial-gradient(circle at 88% 86%, rgba(198, 69, 44, 0.17), transparent 20%),
        var(--qr-template-style-paper);
}

.qr-template-canvas[data-template-visual-style="retro"] .qr-template-surface::before {
    border: clamp(2px, 0.7vw, 6px) double var(--qr-template-style-accent);
    inset: 5.3%;
    opacity: 0.55;
}

.qr-template-canvas[data-template-visual-style="bistro"] .qr-template-surface {
    background:
        linear-gradient(180deg, rgba(180, 130, 61, 0.11), transparent 24%),
        var(--qr-template-style-paper);
}

.qr-template-canvas[data-template-visual-style="bistro"] .qr-template-surface::before {
    border: 1px solid var(--qr-template-style-border);
    inset: 4.8%;
}

.qr-template-canvas[data-template-visual-style="bistro"] .qr-template-surface::after {
    background: linear-gradient(90deg, transparent, var(--qr-template-style-accent-2), transparent);
    bottom: 7%;
    height: 2px;
    left: 8%;
    opacity: 0.58;
    right: 8%;
}

.qr-template-canvas[data-template-visual-style="taqueria"] .qr-template-surface {
    background:
        linear-gradient(90deg, rgba(11, 122, 83, 0.12), transparent 17%, transparent 83%, rgba(207, 46, 31, 0.12)),
        var(--qr-template-style-paper);
}

.qr-template-canvas[data-template-visual-style="taqueria"] .qr-template-surface::before {
    border: clamp(2px, 0.55vw, 5px) solid var(--qr-template-style-accent);
    inset: 4.5%;
    opacity: 0.42;
    outline: clamp(1px, 0.35vw, 3px) solid rgba(11, 122, 83, 0.72);
    outline-offset: clamp(0.22rem, 1.2vw, 0.52rem);
}

.qr-template-canvas[data-template-visual-style="sushi"] .qr-template-surface {
    background:
        radial-gradient(circle at 82% 14%, rgba(201, 42, 42, 0.18) 0 8%, transparent 8.5%),
        linear-gradient(180deg, rgba(32, 59, 115, 0.06), transparent 34%),
        var(--qr-template-style-paper);
}

.qr-template-canvas[data-template-visual-style="sushi"] .qr-template-surface::before {
    background: var(--qr-template-style-accent);
    bottom: 6%;
    left: 6.2%;
    opacity: 0.62;
    top: 6%;
    width: clamp(3px, 0.75vw, 7px);
}

.qr-template-canvas[data-template-visual-style="sushi"] .qr-template-surface::after {
    border: 1px solid rgba(32, 59, 115, 0.22);
    inset: 5.4%;
}

.qr-template-preview-specs,
.qr-template-spec-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.qr-template-preview-specs span,
.qr-template-spec-item {
    background: #f8fbfc;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.12rem;
    padding: 0.65rem;
}

.qr-template-preview-specs small,
.qr-template-spec-item small {
    color: var(--tma-subtle);
    font-size: 0.72rem;
    line-height: 1.25;
}

.qr-template-preview-specs strong,
.qr-template-spec-item strong {
    color: var(--tma-text);
    font-size: 0.84rem;
    line-height: 1.25;
}

.qr-template-controls-panel {
    align-content: start;
    min-width: 0;
}

.qr-builder-tabs,
.qr-template-controls-panel .mud-tabs,
.qr-template-controls-panel .mud-tabs-panels,
.qr-template-controls-panel .mud-tab-panel {
    min-width: 0;
    width: 100%;
}

.qr-template-controls-panel .mud-tabs-tabbar,
.qr-template-controls-panel .mud-tabs-tabbar-inner,
.qr-template-controls-panel .mud-tabs-tabbar-content,
.qr-template-controls-panel .mud-tabs-tabbar-wrapper,
.qr-template-controls-panel .mud-tabs-panels {
    max-width: 100%;
    min-width: 0;
    width: 100%;
}

.qr-template-controls-panel .mud-tabs-tabbar {
    overflow-x: auto;
    overflow-y: hidden;
}

.qr-template-controls-panel .mud-tabs-tabbar-wrapper {
    justify-content: flex-start;
}

.qr-template-tab-panel {
    display: grid;
    gap: 1rem;
    padding-top: 0.95rem;
}

.qr-builder-stepper {
    display: grid !important;
    gap: 0.4rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
}

.qr-builder-stepper .mud-toggle-item {
    flex: none;
    min-width: 0;
}

.qr-template-controls-panel .segmented-control .mud-toggle-item {
    background: #ffffff !important;
    border: 1px solid var(--tma-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    margin: 0 !important;
    position: relative;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.qr-template-controls-panel .segmented-control .mud-toggle-item:not(:first-child) {
    border-left: 1px solid var(--tma-border) !important;
}

.qr-template-controls-panel .segmented-control .mud-toggle-item.mud-selected,
.qr-template-controls-panel .segmented-control .mud-toggle-item.mud-toggle-item-selected {
    background: var(--mud-palette-primary) !important;
    border-color: var(--mud-palette-primary) !important;
    box-shadow: 0 10px 22px rgba(41, 128, 185, 0.18) !important;
    color: #ffffff !important;
}

.qr-template-controls-panel .segmented-control .mud-toggle-item.mud-selected::after,
.qr-template-controls-panel .segmented-control .mud-toggle-item.mud-toggle-item-selected::after,
.qr-format-toggle .mud-toggle-item.mud-selected::after,
.qr-format-toggle .mud-toggle-item.mud-toggle-item-selected::after,
.qr-style-toggle .mud-toggle-item.mud-selected::after,
.qr-style-toggle .mud-toggle-item.mud-toggle-item-selected::after {
    align-items: center;
    background: rgba(255, 255, 255, 0.92);
    border-radius: 999px;
    color: var(--mud-palette-primary);
    content: "\2713";
    display: inline-flex;
    font-size: 0.74rem;
    font-weight: 950;
    height: 1.18rem;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 0.42rem;
    top: 0.42rem;
    width: 1.18rem;
}

.qr-template-controls-panel .segmented-control .mud-toggle-item:hover {
    border-color: rgba(41, 128, 185, 0.74) !important;
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.1) !important;
}

.qr-template-controls-panel .segmented-control .mud-toggle-item.mud-selected:hover,
.qr-template-controls-panel .segmented-control .mud-toggle-item.mud-toggle-item-selected:hover {
    box-shadow: 0 10px 22px rgba(41, 128, 185, 0.18) !important;
}

.qr-builder-step {
    align-items: center;
    display: inline-flex;
    gap: 0.4rem;
    justify-content: center;
    min-width: 0;
    width: 100%;
}

.qr-builder-step span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.qr-format-toggle .mud-toggle-item {
    min-height: 66px;
}

.qr-format-toggle,
.qr-style-toggle {
    align-items: stretch;
    background: color-mix(in srgb, var(--tma-surface) 72%, #ffffff 28%);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid !important;
    gap: 0.5rem !important;
    grid-auto-rows: 1fr;
    grid-template-columns: repeat(auto-fit, minmax(8.8rem, 1fr));
    overflow: visible;
    padding: 0.5rem;
    width: 100%;
}

.qr-format-toggle .mud-toggle-item,
.qr-style-toggle .mud-toggle-item {
    background: #ffffff !important;
    border: 1px solid var(--tma-border) !important;
    border-radius: 8px !important;
    box-shadow: none !important;
    flex: none;
    margin: 0 !important;
    min-width: 0;
    padding: 0.58rem 0.72rem;
    position: relative;
    transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, color 160ms ease;
}

.qr-format-toggle .mud-toggle-item:first-child,
.qr-format-toggle .mud-toggle-item:last-child,
.qr-style-toggle .mud-toggle-item:first-child,
.qr-style-toggle .mud-toggle-item:last-child {
    border-radius: 8px !important;
}

.qr-format-toggle .mud-toggle-item:not(:first-child),
.qr-style-toggle .mud-toggle-item:not(:first-child) {
    border-left: 1px solid var(--tma-border) !important;
}

.qr-format-toggle .mud-toggle-item.mud-selected,
.qr-style-toggle .mud-toggle-item.mud-selected {
    background: var(--mud-palette-primary) !important;
    border-color: var(--mud-palette-primary) !important;
    box-shadow: 0 10px 22px rgba(41, 128, 185, 0.2) !important;
    color: #ffffff !important;
}

.qr-format-toggle .mud-toggle-item:hover,
.qr-style-toggle .mud-toggle-item:hover {
    border-color: rgba(41, 128, 185, 0.74) !important;
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.1) !important;
}

.qr-format-toggle .mud-toggle-item.mud-selected:hover,
.qr-style-toggle .mud-toggle-item.mud-selected:hover {
    box-shadow: 0 10px 22px rgba(41, 128, 185, 0.2) !important;
}

.qr-format-toggle .mud-toggle-item span span,
.qr-format-toggle .mud-toggle-item strong,
.qr-format-toggle .mud-toggle-item small,
.qr-style-toggle .mud-toggle-item span span,
.qr-template-style-choice strong {
    display: block;
}

.qr-format-toggle .mud-toggle-item strong,
.qr-template-style-choice strong {
    font-size: 0.86rem;
    line-height: 1.15;
}

.qr-format-toggle .mud-toggle-item small {
    color: var(--tma-subtle);
    font-size: 0.72rem;
    line-height: 1.2;
    margin-top: 0.18rem;
}

.qr-format-toggle .mud-toggle-item.mud-selected small {
    color: rgba(255, 255, 255, 0.82);
}

.qr-template-style-choice {
    align-items: center;
    display: flex;
    gap: 0.46rem;
    min-width: 0;
}

.qr-template-style-swatch {
    border: 2px solid rgba(255, 255, 255, 0.85);
    border-radius: 50%;
    box-shadow: 0 0 0 1px rgba(44, 62, 80, 0.34);
    flex: 0 0 auto;
    height: 1.08rem;
    width: 1.08rem;
}

.qr-template-style-swatch[data-template-style-swatch="classic"] {
    background: linear-gradient(135deg, #ffffff 0 48%, #08101d 49% 100%);
}

.qr-template-style-swatch[data-template-style-swatch="modern"] {
    background: linear-gradient(135deg, #f8fcfd 0 48%, #00a8a8 49% 100%);
}

.qr-template-style-swatch[data-template-style-swatch="retro"] {
    background: linear-gradient(135deg, #fff0cf 0 35%, #c6452c 36% 67%, #087e8b 68% 100%);
}

.qr-template-style-swatch[data-template-style-swatch="bistro"] {
    background: linear-gradient(135deg, #fbf7ef 0 48%, #1f5c45 49% 100%);
}

.qr-template-style-swatch[data-template-style-swatch="taqueria"] {
    background: linear-gradient(135deg, #fff8e9 0 34%, #cf2e1f 35% 66%, #0b7a53 67% 100%);
}

.qr-template-style-swatch[data-template-style-swatch="sushi"] {
    background: radial-gradient(circle at 34% 42%, #d62f2f 0 34%, #f9fbf7 35% 100%);
}

.qr-slider-label {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    justify-content: space-between;
}

.qr-template-action-row {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.qr-template-action-row .mud-button-root {
    min-height: 42px;
}

.qr-template-action-row .mud-button-root:last-child {
    grid-column: 1 / -1;
}

.qr-template-spec-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.qr-template-spec-grid .qr-template-spec-item:first-child {
    grid-column: 1 / -1;
}

.qr-template-controls-panel .mud-tabs-toolbar {
    border-bottom: 1px solid var(--tma-border);
    min-height: 44px;
    overflow-x: auto;
    overflow-y: hidden;
}

.qr-template-controls-panel .mud-tabs-toolbar-wrapper {
    min-height: 44px;
    min-width: 0;
}

.qr-template-controls-panel .mud-tabs-toolbar-content,
.qr-template-controls-panel .mud-tabs-toolbar-inner,
.qr-template-controls-panel .mud-tabs-toolbar-wrapper {
    width: 100%;
}

.qr-template-controls-panel .mud-tabs-scroll-button {
    display: none;
}

.qr-template-controls-panel .mud-tabs-tabbar-content {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.qr-template-controls-panel .mud-tab {
    justify-content: center;
    min-height: 44px;
    min-width: 0;
    padding-inline: 0.45rem;
}

.qr-template-controls-panel .mud-tab .mud-tab-label {
    gap: 0.35rem;
    min-width: 0;
}

.qr-template-controls-panel .mud-tab .mud-tab-label .mud-tab-text {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@container (min-width: 760px) {
    .qr-template-workbench {
        align-items: start;
        grid-template-columns: minmax(320px, 0.84fr) minmax(0, 1fr);
    }

    .qr-template-live-preview {
        top: 72px;
    }

    .qr-template-canvas {
        width: min(100%, 360px);
    }
}

@media (max-width: 560px) {
    .qr-template-workbench {
        gap: 0.75rem;
    }

    .qr-template-live-preview {
        gap: 0.55rem;
        margin-inline: -0.45rem;
        padding: 0.68rem;
        top: 48px;
    }

    .qr-template-preview-head {
        gap: 0.42rem;
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .qr-template-preview-head .mud-typography-h6 {
        font-size: 0.94rem;
    }

    .qr-template-preview-head .mud-typography-body2 {
        display: none;
    }

    .qr-template-preview-wrap {
        padding: 0.52rem;
    }

    .qr-template-canvas {
        width: min(100%, 224px);
    }

    .qr-template-preview-specs {
        display: none;
    }

    .qr-template-controls-panel {
        padding: 0.8rem;
    }

    .qr-builder-stepper {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    .qr-builder-stepper .mud-toggle-item {
        min-height: 42px;
    }

    .qr-template-controls-panel .mud-tab {
        padding-inline: 0.3rem;
    }

    .qr-template-controls-panel .mud-tab .mud-icon-root {
        font-size: 1.12rem;
    }

    .qr-template-controls-panel .mud-tab .mud-tab-label {
        gap: 0.24rem;
    }

    .qr-template-tab-panel {
        gap: 0.85rem;
        padding-top: 0.8rem;
    }

    .qr-template-action-row,
    .qr-template-spec-grid {
        grid-template-columns: 1fr;
    }

    .qr-template-spec-grid .qr-template-spec-item:first-child,
    .qr-template-action-row .mud-button-root:last-child {
        grid-column: auto;
    }

    .qr-template-action-row .mud-button-root {
        width: 100%;
    }

    .qr-format-toggle .mud-toggle-item {
        min-height: 58px;
    }

    .qr-template-language-side .qr-template-language-item {
        font-size: clamp(0.48rem, calc(0.7rem * var(--qr-template-compact-scale, 1) * var(--qr-template-text-scale, 1)), 0.78rem);
        min-height: clamp(1.7rem, calc(2.35rem * var(--qr-template-compact-scale, 1)), 3rem);
    }
}

@media print {
    .site-header,
    .site-footer,
    .app-page-eyebrow,
    .app-page-title,
    .app-page-subtitle,
    .app-page-lead,
    .app-section-head,
    .flashcards-spa-toolbar,
    .flashcards-spa-actions,
    .flashcards-drawer-backdrop,
    .flashcards-settings-drawer,
    .menu-memory-fullscreen,
    .qr-template-controls-panel,
    .qr-template-preview-head,
    .qr-template-preview-specs,
    /* QR designer chrome hidden for print (FB-106): */
    .qr-designer-toolbar,
    .qr-designer-properties,
    .qr-designer-block-toolbar,
    .qr-designer-resize-handle,
    .qr-designer-ruler,
    .qr-designer-grid,
    .edit-save-bar {
        display: none !important;
    }

    .site-main,
    .app-canvas,
    .app-section,
    .qr-template-workbench-section,
    .qr-template-workbench,
    .qr-template-live-preview,
    .qr-template-preview-wrap,
    .qr-designer,
    .qr-designer-workspace {
        background: #ffffff !important;
        border: 0 !important;
        box-shadow: none !important;
        margin: 0 !important;
        max-width: none !important;
        padding: 0 !important;
        width: auto !important;
    }

    .flashcards-spa,
    .flashcards-page,
    .menu-item-sheet,
    .menu-item-card-section,
    .menu-item-sheet-field,
    .menu-item-sheet-section {
        background: #ffffff !important;
        box-shadow: none !important;
    }

    .qr-template-live-preview {
        display: block !important;
        position: static !important;
    }

    .qr-template-canvas {
        aspect-ratio: auto !important;
        border-radius: 0 !important;
        box-shadow: none !important;
        height: var(--qr-template-print-height) !important;
        margin: 0 auto !important;
        max-width: none !important;
        width: var(--qr-template-print-width) !important;
    }

    /* Designer canvas prints alone: drop the workspace + ruler-frame grids. */
    .qr-designer-workspace,
    .qr-designer-canvas-frame {
        display: block !important;
        gap: 0 !important;
    }

    /* Blocks stay (they ARE the design) but shed editing decoration. */
    .qr-designer-block,
    .qr-designer-block.is-selected {
        border: 0 !important;
        box-shadow: none !important;
        cursor: default !important;
    }
}

/* QR designer canvas (FB-78): reuses .qr-template-canvas sizing + an absolute block layer. */
.qr-designer-canvas {
    touch-action: none;
}

.qr-designer-canvas:focus-visible {
    outline: 2px solid var(--tma-blue, #2980b9);
    outline-offset: 2px;
}

.qr-designer-block {
    border: 1px dashed rgba(244, 247, 255, 0.35);
    border-radius: 6px;
    cursor: move;
    position: absolute;
    touch-action: none;
}

.qr-designer-block.is-selected {
    border-color: var(--tma-blue, #2980b9);
    box-shadow: 0 0 0 2px rgba(41, 128, 185, 0.45);
}

/* FB-87: the crop/clip lives HERE, not on .qr-designer-block, so the resize handle isn't clipped off. */
.qr-designer-block-content {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    overflow: hidden;
    width: 100%;
}

.qr-designer-block-text {
    overflow-wrap: anywhere;
    text-align: center;
    width: 100%;
}

.qr-designer-block-qr {
    height: 100%;
    object-fit: contain;
    width: 100%;
}

.qr-designer-block-image {
    height: 100%;
    width: 100%;
}

.qr-designer-block-placeholder {
    color: rgba(244, 247, 255, 0.65);
    font-size: 0.75rem;
    padding: 0.25rem;
    text-align: center;
}

.qr-designer-resize-handle {
    align-items: center;
    bottom: -0.6rem;
    color: var(--tma-blue, #2980b9);
    cursor: nwse-resize;
    display: flex;
    font-size: 1.4rem;
    height: 2.75rem;
    justify-content: center;
    position: absolute;
    right: -0.6rem;
    text-shadow: 0 0 3px #f4f7ff;
    touch-action: none;
    width: 2.75rem;
}

/* Ruler frame (V74.3): grid tracks seat the rulers OUTSIDE the canvas cell; off collapses to the cell.
   330px = canvas width cap (UW.1). */
.qr-designer-canvas-frame {
    display: grid;
    gap: 8px;
    grid-template: 0.8rem auto / 0.8rem minmax(0, 330px);
}

.qr-designer-canvas-frame[data-designer-rulers="off"] {
    gap: 0;
    grid-template: auto / minmax(0, 1fr);
}

.qr-designer-canvas-frame > .qr-designer-canvas {
    grid-area: 2 / 2;
}

.qr-designer-canvas-frame[data-designer-rulers="off"] > .qr-designer-canvas {
    grid-area: 1 / 1;
}

/* Rulers (V65.4; grid tracks V74.3): ticks placed by inline percent stops. */
.qr-designer-ruler {
    color: rgba(8, 16, 29, 0.6);
    font-size: 0.5rem;
    line-height: 1;
    pointer-events: none;
    position: relative;
}

.qr-designer-ruler--top {
    grid-area: 1 / 2;
    height: 0.8rem;
}

.qr-designer-ruler--left {
    grid-area: 2 / 1;
    width: 0.8rem;
}

.qr-designer-ruler-tick {
    position: absolute;
}

/* Alignment grid overlay (V65.5): gradient drawn inline; these toggle it off the data-attribute. */
.qr-designer-grid {
    display: none;
}

.qr-designer-canvas[data-designer-grid="on"] .qr-designer-grid {
    display: block;
}

.qr-designer-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.qr-designer-toolbar .mud-button-root {
    min-height: 2.75rem;
}

/* Whole-designer layout (V56.7): single column, widening to two inside the wide workbench (FB-87 scopes the query). */
.qr-designer {
    container-type: inline-size;
    display: grid;
    gap: 0.85rem;
}

.qr-designer-workspace {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.qr-designer-properties {
    display: grid;
    gap: 0.6rem;
    padding: 0.85rem;
}

.qr-designer-block-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
}

.qr-designer-block-toolbar .mud-icon-button-root {
    min-height: 2.75rem;
    min-width: 2.75rem;
}

.qr-designer-pan-control {
    display: grid;
    gap: 0.2rem;
}

@container (min-width: 640px) {
    .qr-designer-workspace {
        align-items: start;
        grid-template-columns: minmax(220px, 1fr) minmax(240px, 300px);
    }
}

.qr-template-preview {
    align-items: center;
    aspect-ratio: 3 / 4;
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    justify-items: center;
    min-height: 320px;
    padding: 1rem;
    text-align: center;
}

.qr-template-preview.is-coaster,
.qr-template-preview.is-sticker {
    aspect-ratio: 1;
}

.qr-template-preview.is-tabletent {
    aspect-ratio: 4 / 3;
}

.qr-template-preview p,
.qr-template-preview strong {
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.08;
    margin: 0;
    text-transform: uppercase;
}

.qr-mock {
    aspect-ratio: 1;
    background: white;
    border: 8px solid currentColor;
    display: grid;
    gap: 4px;
    grid-template-columns: repeat(5, 1fr);
    padding: 8px;
}

.qr-mock span {
    background: rgba(41, 128, 185, 0.16);
}

.qr-mock span.is-dark {
    background: currentColor;
}

.flashcard-shell {
    align-content: start;
}

.flashcard-generated-alert {
    margin-top: 0.15rem;
}

.flashcard-empty-state {
    align-content: center;
    border: 1px dashed var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.7rem;
    justify-items: center;
    min-height: 280px;
    padding: 1.2rem;
    text-align: center;
}

.flashcard-empty-state .mud-icon-root {
    font-size: 2rem;
}

.flashcard-empty-state .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 800;
    letter-spacing: 0;
}

.flashcard-empty-state .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
    max-width: 34ch;
}

.flashcard-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    min-height: 300px;
    padding: 1rem;
}

.flashcard-card-head {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    justify-content: space-between;
}

.flashcard-card .mud-typography-h5 {
    color: var(--tma-text);
    font-weight: 800;
    letter-spacing: 0;
}

.flashcard-card .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
}

.flashcard-progress {
    margin-top: 0.25rem;
}

.site-shell.is-flashcards-route .site-header,
.site-shell.is-flashcards-route .site-main {
    max-width: min(100%, 1440px);
    width: 100%;
}

.site-shell.is-flashcards-route .app-canvas {
    background: #f4f8fb;
}

.flashcards-page {
    background: #f4f8fb;
    color: #22384e;
    min-height: calc(100dvh - 48px);
}

.flashcards-page-generated {
    display: grid;
}

.flashcards-builder-section .app-section-inner {
    max-width: 1120px;
}

.flashcards-builder-panel {
    background: #ffffff;
    gap: 1.1rem;
}

.flashcards-builder-head,
.flashcards-control-row,
.flashcards-spa-actions,
.menu-item-sheet-header,
.menu-item-card-section-head,
.flashcards-settings-head,
.menu-memory-fullscreen-bar,
.menu-memory-head {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    justify-content: space-between;
}

.flashcards-builder-head .mud-typography-body2,
.menu-item-sheet-header-copy .mud-typography-body2,
.menu-item-card-section-head .mud-typography-body2,
.flashcards-position-pill span,
.menu-memory-fullscreen-bar .mud-typography-body2 {
    color: #647b8f;
    line-height: 1.45;
}

.flashcards-source-stat {
    align-items: center;
    background: #eef7fb;
    border: 1px solid #cfe1ed;
    border-radius: 8px;
    color: #20384d;
    display: inline-flex;
    flex: 0 0 auto;
    gap: 0.55rem;
    justify-content: center;
    min-width: 5.8rem;
    padding: 0.55rem 0.7rem;
}

.flashcards-source-stat span {
    display: grid;
    gap: 0.02rem;
}

.flashcards-source-stat strong,
.flashcards-source-stat small {
    display: block;
    line-height: 1.05;
}

.flashcards-source-stat strong {
    font-size: 1rem;
    font-weight: 900;
}

.flashcards-source-stat small {
    color: #647b8f;
    font-size: 0.72rem;
    font-weight: 800;
    text-transform: uppercase;
}

.flashcards-control-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.flashcards-control-group {
    display: grid;
    gap: 0.65rem;
    min-width: 0;
}

.flashcards-control-group .mud-typography-subtitle2,
.flashcards-builder-head .mud-typography-h6,
.menu-item-sheet-subsection-title,
.menu-item-sheet-section .mud-typography-subtitle1 {
    color: #20384d;
    font-weight: 850;
    letter-spacing: 0;
}

.flashcards-section-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.flashcards-section-picker {
    background: #f7fafc;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 20rem;
    overflow: auto;
    padding: 0.65rem;
}

.flashcards-section-picker.is-compact {
    grid-template-columns: 1fr;
    max-height: 18rem;
}

.flashcards-section-option {
    align-items: start;
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    cursor: pointer;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-width: 0;
    padding: 0.7rem;
}

.flashcards-section-option:hover,
.flashcards-section-option:focus-within {
    border-color: rgba(41, 128, 185, 0.45);
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.08);
}

.flashcards-section-option strong,
.flashcards-section-option small {
    display: block;
    min-width: 0;
}

.flashcards-section-option strong {
    color: #22384e;
    font-size: 0.94rem;
    font-weight: 850;
    line-height: 1.25;
}

.flashcards-section-option small {
    color: #71889b;
    font-size: 0.8rem;
    line-height: 1.3;
    margin-top: 0.1rem;
}

.flashcards-generate-button {
    justify-self: start;
    min-height: 48px;
    min-width: 12rem;
    width: auto;
}

.flashcards-spa {
    display: grid;
    gap: 0.9rem;
    padding: 0.75rem clamp(0.75rem, 2.5vw, 1.5rem) 1.5rem;
}

.flashcards-spa-toolbar {
    align-items: center;
    background: #071625;
    border: 1px solid rgba(51, 204, 204, 0.32);
    border-radius: 8px;
    box-shadow: 0 16px 38px rgba(15, 31, 46, 0.24);
    display: grid;
    gap: 0.55rem;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    margin-inline: auto;
    max-width: 1040px;
    padding: 0.45rem;
    position: sticky;
    top: calc(48px + 0.5rem);
    width: min(100%, 1040px);
    z-index: 20;
}

.flashcards-spa-toolbar .mud-button-root {
    min-height: 48px;
}

.flashcards-nav-button:first-child {
    justify-self: start;
}

.flashcards-nav-button:last-child {
    justify-self: end;
}

.flashcards-position-pill {
    align-content: center;
    background: rgba(244, 247, 255, 0.08);
    border: 1px solid rgba(244, 247, 255, 0.14);
    border-radius: 999px;
    color: #f4fbff;
    display: grid;
    min-height: 48px;
    min-width: 12rem;
    padding: 0.45rem 0.9rem;
    text-align: center;
}

.flashcards-position-pill strong,
.flashcards-position-pill span {
    display: block;
    line-height: 1.2;
}

.flashcards-position-pill strong {
    color: #ffffff;
    font-size: 0.95rem;
    font-weight: 900;
}

.flashcards-position-pill span {
    color: rgba(244, 251, 255, 0.74);
    font-size: 0.74rem;
    font-weight: 800;
}

.flashcards-spa-actions {
    justify-content: center;
    margin-inline: auto;
    max-width: 1040px;
    width: 100%;
}

.flashcards-spa-actions .mud-button-root {
    min-height: 44px;
}

.flashcards-progress {
    margin: 0 auto;
    max-width: 1040px;
    width: 100%;
}

.menu-item-sheet {
    background: #ffffff;
    border: 1px solid #d9e4ec;
    border-radius: 8px;
    box-shadow: 0 18px 46px rgba(44, 62, 80, 0.12);
    display: grid;
    gap: 1rem;
    margin-inline: auto;
    max-width: 1120px;
    padding: clamp(0.9rem, 2.4vw, 1.35rem);
    width: 100%;
}

.menu-item-sheet-header {
    align-items: start;
}

.menu-item-sheet-header-copy {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.menu-item-sheet-header-copy .mud-typography-overline,
.menu-memory-fullscreen-bar .mud-typography-overline,
.menu-memory-head .mud-typography-overline,
.menu-item-sheet .mud-typography-overline {
    color: #2980b9;
    font-weight: 900;
    letter-spacing: 0;
}

.menu-item-sheet-header-copy .mud-typography-h4 {
    color: #13283a;
    font-size: clamp(1.55rem, 3.5vw, 2.45rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.08;
}

.menu-item-sheet-header-actions,
.menu-item-card-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    justify-content: flex-end;
}

.menu-item-sheet-price-card {
    background: #edf7f8;
    border: 1px solid rgba(51, 204, 204, 0.35);
    border-radius: 8px;
    display: grid;
    gap: 0.15rem;
    min-width: 10.5rem;
    padding: 0.75rem 0.85rem;
}

.menu-item-sheet-price-card span,
.menu-item-sheet-price-card small,
.menu-item-sheet-context-label,
.menu-item-sheet-subsection-title {
    color: #61788b;
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.menu-item-sheet-price-card strong {
    color: #173248;
    font-size: 1.45rem;
    font-weight: 900;
    line-height: 1.1;
}

.menu-item-sheet-context-row {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.menu-item-sheet-context-group {
    background: #f7fafc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.45rem;
    padding: 0.75rem;
}

.menu-item-sheet-context-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.menu-item-sheet-context-pill,
.menu-item-sheet-tag {
    align-items: center;
    background: #eaf5fb;
    border: 1px solid #cde4f2;
    border-radius: 999px;
    color: #22455f;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.2;
    padding: 0.32rem 0.55rem;
}

.menu-item-card-section-nav {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.menu-item-card-section-nav-button {
    background: #f7fafc;
    border: 1px solid #dbe6ee;
    border-radius: 8px;
    color: #345269;
    cursor: pointer;
    display: grid;
    gap: 0.15rem;
    min-height: 64px;
    padding: 0.65rem;
    text-align: left;
}

.menu-item-card-section-nav-button:hover,
.menu-item-card-section-nav-button:focus-visible,
.menu-item-card-section-nav-button.is-active {
    border-color: rgba(41, 128, 185, 0.55);
    box-shadow: inset 0 3px 0 var(--tma-blue);
    outline: none;
}

.menu-item-card-section-nav-button.is-active {
    background: #e9f5fb;
    color: #14334a;
}

.menu-item-card-section-nav-button span,
.menu-item-card-section-nav-button small {
    display: block;
    min-width: 0;
}

.menu-item-card-section-nav-button span {
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.2;
}

.menu-item-card-section-nav-button small {
    color: #71889b;
    font-size: 0.74rem;
    font-weight: 750;
    line-height: 1.2;
}

.menu-item-card-section {
    background: #fbfdfe;
    border: 1px solid #dbe6ee;
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: clamp(0.85rem, 2vw, 1.15rem);
}

.menu-item-card-section-head {
    align-items: start;
}

.menu-item-card-section-head .mud-typography-h5,
.menu-memory-fullscreen-bar .mud-typography-h5 {
    color: #142b40;
    font-weight: 900;
    letter-spacing: 0;
}

.menu-item-sheet-field-groups {
    display: grid;
    gap: 1rem;
}

.menu-item-sheet-field-group-shell {
    display: grid;
    gap: 0.65rem;
}

.menu-item-sheet-field-group-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.menu-item-sheet-field,
.menu-item-sheet-section,
.menu-practice-card {
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.5rem;
    min-width: 0;
    padding: 0.85rem;
}

.menu-item-sheet-field.is-missing {
    background: #f6f9fb;
    border-style: dashed;
}

.menu-item-sheet-field-header strong {
    color: #20384d;
    font-size: 0.88rem;
    font-weight: 900;
    line-height: 1.25;
}

.menu-item-sheet-field-text,
.menu-item-sheet-field-placeholder,
.menu-item-sheet-section p,
.menu-item-sheet-ingredient-copy p,
.menu-item-sheet-pairing p,
.menu-practice-card .mud-typography-body2 {
    color: #526f87;
    font-size: 0.92rem;
    line-height: 1.48;
    margin: 0;
}

.menu-item-sheet-field-placeholder {
    color: #8aa0b0;
    font-style: italic;
}

.menu-item-sheet-image-placeholder {
    align-items: center;
    aspect-ratio: 16 / 9;
    background: #edf5f8;
    border: 1px dashed #b9cfdd;
    border-radius: 8px;
    color: #526f87;
    display: grid;
    gap: 0.45rem;
    justify-items: center;
    min-height: 140px;
    padding: 1rem;
    text-align: center;
}

.menu-item-sheet-image-placeholder .mud-icon-root {
    font-size: 2rem;
}

.menu-item-sheet-section-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.menu-item-sheet-section-full {
    grid-column: 1 / -1;
}

.menu-item-sheet-recipe-meta {
    display: grid;
    gap: 0.55rem;
}

.menu-item-sheet-recipe-meta span {
    background: #f4f8fb;
    border: 1px solid #dde7ee;
    border-radius: 8px;
    color: #526f87;
    display: grid;
    gap: 0.1rem;
    padding: 0.6rem;
}

.menu-item-sheet-recipe-meta strong {
    color: #20384d;
    font-size: 0.78rem;
    font-weight: 900;
    text-transform: uppercase;
}

.menu-item-sheet-ingredient-list,
.menu-item-sheet-pairings,
.menu-item-sheet-steps {
    display: grid;
    gap: 0.6rem;
    margin: 0;
    padding: 0;
}

.menu-item-sheet-ingredient,
.menu-item-sheet-pairing,
.menu-item-sheet-steps li {
    background: #f8fbfd;
    border: 1px solid #dde7ee;
    border-radius: 8px;
    display: grid;
    gap: 0.35rem;
    list-style: none;
    padding: 0.7rem;
}

.menu-item-sheet-steps {
    counter-reset: training-step;
}

.menu-item-sheet-steps li {
    counter-increment: training-step;
    padding-left: 3.2rem;
    position: relative;
}

.menu-item-sheet-steps li::before {
    background: var(--tma-blue);
    border-radius: 999px;
    color: #ffffff;
    content: counter(training-step);
    font-size: 0.76rem;
    font-weight: 900;
    height: 1.65rem;
    left: 0.7rem;
    line-height: 1.65rem;
    position: absolute;
    text-align: center;
    top: 0.7rem;
    width: 1.65rem;
}

.menu-item-sheet-ingredient-heading {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.menu-item-sheet-ingredient-heading strong,
.menu-item-sheet-pairing strong,
.menu-practice-card .mud-typography-subtitle1 {
    color: #20384d;
    font-weight: 900;
}

.menu-item-sheet-ingredient-measure {
    background: #eaf5fb;
    border: 1px solid #cde4f2;
    border-radius: 999px;
    color: #22455f;
    font-size: 0.74rem;
    font-weight: 850;
    padding: 0.24rem 0.46rem;
}

.menu-item-sheet-ingredient-measure.is-placeholder {
    background: #f4f8fb;
    color: #7f96a8;
}

.menu-practice-panel {
    display: grid;
    gap: 0.75rem;
}

.flashcards-drawer-backdrop {
    background: rgba(7, 18, 29, 0.55);
    inset: 0;
    position: fixed;
    z-index: 1400;
}

.flashcards-settings-drawer {
    background: #ffffff;
    border-left: 1px solid #d9e4ec;
    box-shadow: -20px 0 48px rgba(15, 31, 46, 0.28);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    inset: 0 0 0 auto;
    max-width: min(100%, 440px);
    padding: 1rem;
    position: fixed;
    width: 440px;
    z-index: 1410;
}

.flashcards-settings-head {
    align-items: start;
    border-bottom: 1px solid #dce6ee;
    padding-bottom: 0.8rem;
}

.flashcards-settings-body {
    display: grid;
    gap: 1rem;
    min-height: 0;
    overflow: auto;
    padding-block: 1rem;
}

.flashcards-settings-footer {
    border-top: 1px solid #dce6ee;
    padding-top: 0.8rem;
}

.menu-memory-fullscreen {
    background: #071625;
    color: #f4fbff;
    inset: 0;
    padding: clamp(0.65rem, 2vw, 1rem);
    position: fixed;
    z-index: 1500;
}

.menu-memory-fullscreen-shell {
    display: grid;
    gap: 0.9rem;
    grid-template-rows: auto minmax(0, 1fr);
    height: 100%;
    margin-inline: auto;
    max-width: 1180px;
}

.menu-memory-fullscreen-bar {
    background: #0d1f31;
    border: 1px solid rgba(51, 204, 204, 0.28);
    border-radius: 8px;
    padding: 0.8rem;
}

.menu-memory-layout {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: minmax(220px, 290px) minmax(0, 1fr);
    min-height: 0;
}

.menu-memory-settings,
.menu-memory-module {
    background: #ffffff;
    border: 1px solid #d6e4ee;
    border-radius: 8px;
    color: #22384e;
    min-height: 0;
    overflow: auto;
    padding: 0.9rem;
}

.menu-memory-settings {
    align-content: start;
    display: grid;
    gap: 0.8rem;
}

.menu-memory-section-tabs,
.menu-memory-focus-list {
    display: grid;
    gap: 0.45rem;
}

.menu-memory-section-tab,
.menu-memory-focus-option {
    align-items: center;
    background: #f7fafc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    color: #345269;
    cursor: pointer;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 42px;
    padding: 0.55rem 0.65rem;
    text-align: left;
}

.menu-memory-section-tab {
    display: block;
    font: inherit;
    font-weight: 900;
}

.menu-memory-section-tab:hover,
.menu-memory-section-tab:focus-visible,
.menu-memory-section-tab.is-active,
.menu-memory-focus-option:hover,
.menu-memory-focus-option:focus-within {
    border-color: rgba(41, 128, 185, 0.52);
    outline: none;
}

.menu-memory-section-tab.is-active {
    background: #e9f5fb;
    color: #14334a;
}

.menu-memory-module {
    display: grid;
    gap: 0.9rem;
    grid-template-rows: auto auto minmax(0, 1fr);
    overflow: hidden;
    position: relative;
}

.menu-memory-tabs {
    align-items: stretch;
    background: #eef4fa;
    border: 1px solid #d4e3ef;
    border-radius: 8px;
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 0.4rem;
}

.menu-memory-tab {
    align-items: center;
    background: #ffffff;
    border: 1px solid #cfe0ec;
    border-radius: 8px;
    box-sizing: border-box;
    color: #36536c;
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 0.5rem;
    grid-template-columns: auto auto minmax(0, 1fr);
    height: 100%;
    min-height: 72px;
    min-width: 0;
    padding: 0.6rem 0.65rem;
    text-align: left;
    width: 100%;
}

.menu-memory-tab:hover,
.menu-memory-tab:focus-visible {
    border-color: #c8d9e8;
    box-shadow: 0 8px 18px rgba(39, 129, 184, 0.1);
    outline: none;
    outline-offset: 2px;
}

.menu-memory-tab.is-active {
    background: #ffffff;
    border-color: #9dc4e3;
    box-shadow: 0 8px 20px rgba(39, 129, 184, 0.12);
    color: #123a59;
}

.menu-memory-radio {
    background: #ffffff;
    border: 2px solid #9fb8ca;
    border-radius: 999px;
    display: inline-block;
    height: 0.9rem;
    position: relative;
    width: 0.9rem;
}

.menu-memory-tab.is-active .menu-memory-radio {
    border-color: #2781b8;
}

.menu-memory-tab.is-active .menu-memory-radio::after {
    background: #2781b8;
    border-radius: 999px;
    content: "";
    height: 0.42rem;
    inset: 50% auto auto 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    width: 0.42rem;
}

.menu-memory-tab-icon {
    color: #2781b8;
}

.menu-memory-tab-copy {
    display: grid;
    gap: 0.15rem;
    min-width: 0;
}

.menu-memory-tab-copy strong {
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.1;
}

.menu-memory-tab-copy small {
    color: #61788b;
    font-size: 0.73rem;
    font-weight: 750;
    line-height: 1.25;
}

.menu-memory-count {
    align-content: center;
    background: #edf7f8;
    border: 1px solid rgba(51, 204, 204, 0.35);
    border-radius: 8px;
    display: grid;
    min-width: 5.5rem;
    padding: 0.55rem;
    text-align: center;
}

.menu-memory-count strong,
.menu-memory-count span {
    display: block;
}

.menu-memory-count strong {
    color: #173248;
    font-size: 1.25rem;
    font-weight: 900;
}

.menu-memory-count span {
    color: #61788b;
    font-size: 0.76rem;
    font-weight: 850;
}

.menu-memory-panel {
    display: grid;
    gap: 0.75rem;
    grid-template-rows: auto minmax(0, 1fr) auto;
    min-height: 0;
}

.menu-memory-status {
    color: #60788c;
    font-size: 0.88rem;
    font-weight: 850;
    margin: 0;
}

.menu-memory-recall-text,
.menu-memory-built,
.menu-memory-initials-text,
.menu-memory-reference,
.menu-memory-type-feedback,
.menu-memory-empty {
    background: #f8fbfe;
    border: 1px solid #dce8f2;
    border-radius: 8px;
    color: #172d43;
    font-size: 1rem;
    line-height: 1.75;
    min-height: 12rem;
    overflow: auto;
    padding: 1rem;
}

.menu-memory-recall-groups {
    align-content: start;
    display: grid;
    gap: 0.85rem;
}

.menu-memory-value-group {
    display: grid;
    gap: 0.35rem;
}

.menu-memory-value-group + .menu-memory-value-group {
    border-top: 1px solid #dce8f2;
    padding-top: 0.85rem;
}

.menu-memory-value-group h3,
.menu-memory-value-group p {
    margin: 0;
}

.menu-memory-value-group h3 {
    color: #3d5b76;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.15;
    text-transform: uppercase;
}

.menu-memory-empty {
    align-content: center;
    display: grid;
    justify-items: center;
    text-align: center;
}

.menu-memory-word {
    border-radius: 6px;
    display: inline-block;
    margin-right: 0.22rem;
    min-width: 1ch;
    padding-inline: 0.08rem;
}

.menu-memory-word.is-hidden {
    background: #d8e8f5;
    box-shadow: inset 0 -0.12em 0 #bad5ea;
    color: transparent;
    user-select: none;
}

.menu-memory-placeholder-word {
    color: #7f96a8;
    font-style: italic;
    font-weight: 800;
}

.menu-memory-controlbar {
    align-items: center;
    background: #0d1f31;
    border: 1px solid rgba(51, 204, 204, 0.3);
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.55rem;
}

.menu-memory-controlbar-blur {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.menu-memory-controlbar-blur .mud-button-root {
    width: 100%;
}

.menu-memory-controlbar-words,
.menu-memory-controlbar-initials,
.menu-memory-controlbar-type {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
}

.menu-memory-controlbar-initials {
    grid-template-columns: minmax(0, 1fr) auto auto;
}

.menu-memory-choice-grid {
    display: grid;
    gap: 0.5rem;
    grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr));
}

.menu-memory-choice {
    background: #ffffff;
    border: 1px solid #cfe0ee;
    border-radius: 8px;
    color: #16334c;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    min-height: 46px;
    padding: 0.6rem 0.7rem;
    text-align: left;
}

.menu-memory-choice:hover,
.menu-memory-choice:focus-visible {
    background: #f2f8fd;
    border-color: #88b8dc;
    outline: none;
}

.menu-memory-initials-text {
    align-content: start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.menu-memory-type-feedback {
    align-content: start;
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.menu-memory-token-groups {
    align-content: start;
    display: grid;
    gap: 0.85rem;
}

.menu-memory-token-line {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0;
}

.menu-memory-type-token {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-radius: 8px;
    color: #405b73;
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 850;
    min-height: 38px;
    padding: 0.18rem 0.48rem;
}

.menu-memory-initial-token {
    align-items: center;
    background: #ffffff;
    border: 1px solid #d6e4ef;
    border-radius: 8px;
    color: #405b73;
    display: inline-flex;
    font-size: 0.9rem;
    font-weight: 850;
    min-height: 38px;
    padding: 0.18rem 0.48rem;
}

.menu-memory-initial-token.is-correct {
    background: #edf8f5;
    border-color: #88c8b6;
    color: #155c50;
}

.menu-memory-initial-token.is-incorrect {
    background: #fff4f1;
    border-color: #d99a91;
    color: #7b2e25;
}

.menu-memory-initial-token.is-pending {
    color: #71879a;
}

.menu-memory-type-token.is-correct {
    background: #edf8f5;
    border-color: #88c8b6;
    color: #155c50;
}

.menu-memory-type-token.is-incorrect {
    background: #fff4f1;
    border-color: #d99a91;
    color: #7b2e25;
}

.menu-memory-type-token.is-pending {
    color: #71879a;
}

@media (max-width: 900px) {
    .flashcards-control-grid,
    .flashcards-section-picker,
    .menu-item-sheet-context-row,
    .menu-item-card-section-nav,
    .menu-item-sheet-field-group-grid,
    .menu-item-sheet-section-grid,
    .admin-metric-grid,
    .admin-insight-grid,
    .admin-roadmap-grid,
    .admin-function-grid,
    .admin-workspace-grid,
    .admin-config-grid,
    .account-mapping-grid,
    .account-mapping-command,
    .operational-link-command,
    .retention-target-grid,
    .admin-support-panel,
    .pending-action-card,
    .support-ticket-layout,
    .support-ticket-field-grid,
    .setup-help-phase-grid,
    .setup-help-step-list,
    .menu-memory-layout {
        grid-template-columns: 1fr;
    }

    .flashcards-spa-toolbar {
        grid-template-columns: auto minmax(0, 1fr) auto;
        top: calc(48px + 0.35rem);
    }

    .flashcards-nav-button {
        min-width: 44px !important;
        padding-inline: 0.6rem !important;
    }

    .flashcards-nav-button .mud-button-label {
        display: none;
    }

    .flashcards-position-pill {
        min-width: 0;
        width: 100%;
    }

    .flashcards-spa-actions,
    .menu-item-sheet-header,
    .menu-item-card-section-head,
    .flashcards-builder-head,
    .menu-memory-fullscreen-bar,
    .menu-memory-head {
        align-items: stretch;
        flex-direction: column;
    }

    .flashcards-source-stat {
        align-self: flex-start;
    }

    .flashcards-spa-actions .mud-button-root,
    .menu-item-card-actions .mud-button-root,
    .menu-item-sheet-header-actions .mud-button-root {
        width: 100%;
    }

    .flashcards-generate-button {
        justify-self: stretch;
        width: 100%;
    }

    .menu-item-sheet-header-actions,
    .menu-item-card-actions {
        justify-content: stretch;
    }

    .menu-item-sheet-price-card {
        width: 100%;
    }

    .menu-memory-layout {
        overflow: auto;
    }

    .menu-memory-module {
        overflow: visible;
    }

    .menu-memory-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .menu-memory-controlbar,
    .menu-memory-controlbar-words,
    .menu-memory-controlbar-initials,
    .menu-memory-controlbar-type,
    .menu-memory-controlbar-blur {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 520px) {
    .flashcards-spa {
        padding-inline: 0.55rem;
    }

    .flashcards-position-pill strong {
        font-size: 0.82rem;
    }

    .flashcards-position-pill span {
        font-size: 0.68rem;
    }

    .menu-memory-tabs {
        grid-template-columns: 1fr;
    }

    .menu-item-sheet,
    .menu-item-card-section,
    .admin-metric-card,
    .admin-list-card,
    .admin-roadmap-card,
    .admin-function-card,
    .admin-workspace-card,
    .admin-config-card,
    .admin-filter-panel,
    .account-mapping-command,
    .account-mapping-panel,
    .support-ticket-list-panel,
    .support-ticket-detail-panel,
    .admin-support-panel {
        padding: 0.75rem;
    }

    .flashcards-settings-drawer {
        max-width: 100%;
        width: 100%;
    }
}

.challenge-prompt {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.7rem;
    padding: 0.9rem;
}

.challenge-prompt + .challenge-prompt {
    margin-top: 0.85rem;
}

.challenge-prompt .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 700;
    letter-spacing: 0;
}

.ticket-list {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
}

.ticket-list .mud-list-item.is-active {
    background: rgba(41, 128, 185, 0.08);
}

.ticket-list-item strong,
.ticket-list-item small,
.autocomplete-item strong,
.autocomplete-item small {
    display: block;
}

.ticket-list-item strong,
.autocomplete-item strong {
    color: var(--tma-text);
    font-weight: 700;
    line-height: 1.25;
}

.ticket-list-item small,
.autocomplete-item small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    line-height: 1.3;
    margin-top: 0.2rem;
}

.order-summary {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-block: 1rem;
}

.order-summary .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 750;
    letter-spacing: 0;
}

.order-summary .mud-typography-h6 {
    color: var(--tma-blue);
    font-weight: 900;
    letter-spacing: 0;
}

.ticket-line-list {
    display: none;
}

.ticket-line-card {
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    padding: 0.9rem;
}

.ticket-line-card + .ticket-line-card {
    margin-top: 0.7rem;
}

.ticket-line-head {
    align-items: start;
    display: flex;
    gap: 0.8rem;
    justify-content: space-between;
}

.ticket-line-head strong,
.ticket-line-head small {
    display: block;
}

.ticket-line-head strong {
    color: var(--tma-text);
    font-weight: 800;
    line-height: 1.25;
}

.ticket-line-head small {
    color: var(--tma-subtle);
    font-size: 0.8rem;
    line-height: 1.3;
    margin-top: 0.2rem;
}

.ticket-line-head b {
    color: var(--tma-blue);
    font-weight: 900;
    line-height: 1.25;
    white-space: nowrap;
}

.ticket-line-card p {
    border-top: 1px solid var(--tma-border);
    color: var(--tma-text);
    font-size: 0.88rem;
    line-height: 1.45;
    margin: 0;
    padding-top: 0.65rem;
}

.story-card {
    align-items: center;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.72fr) minmax(0, 1fr);
    padding: 0.95rem;
}

.story-card img {
    border-radius: 8px;
    object-fit: cover;
}

.story-card .mud-typography-subtitle1 {
    color: var(--tma-text);
    font-weight: 700;
    letter-spacing: 0;
}

.story-card .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
    margin-top: 0.45rem;
}

.app-signup-band {
    display: grid;
    gap: 0.95rem;
}

.app-signup-band .mud-typography-body2 {
    color: var(--tma-text);
    line-height: 1.55;
}

.site-shell.is-public-site .app-signup-band > .mud-button-root {
    justify-self: start;
    max-width: 320px;
    width: 100%;
}

.site-shell.is-app-preview .app-signup-band > .mud-button-root,
.site-shell.is-admin-console .app-signup-band > .mud-button-root {
    justify-self: center;
    width: auto;
}

.setup-help-phase-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: 1fr;
}

.workflow-path-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(13.5rem, 1fr));
}

.workflow-path-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    color: var(--tma-text);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto auto minmax(0, 1fr);
    min-width: 0;
    padding: 0.8rem;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.workflow-path-card:hover,
.workflow-path-card:focus-visible {
    border-color: rgba(41, 128, 185, 0.42);
    box-shadow: 0 12px 30px rgba(14, 34, 52, 0.11);
    outline: 0;
    transform: translateY(-1px);
}

.workflow-path-card .mud-icon-root {
    background: #f6faf8;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    font-size: 1.45rem;
    height: 2.25rem;
    padding: 0.35rem;
    width: 2.25rem;
}

.workflow-path-number {
    align-items: center;
    background: var(--tma-blue);
    border: 1px solid var(--tma-blue);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    height: 2.25rem;
    justify-content: center;
    line-height: 1;
    width: 2.25rem;
}

.workflow-path-card strong,
.workflow-path-card small {
    display: block;
    min-width: 0;
}

.restaurant-owner-section .workflow-path-card {
    align-items: start;
    min-height: 100%;
}

.restaurant-owner-path-grid {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
}

.workflow-path-card strong {
    font-size: 0.98rem;
    line-height: 1.2;
}

.workflow-path-card small {
    color: var(--tma-subtle);
    font-size: 0.79rem;
    font-weight: 700;
    line-height: 1.35;
    margin-top: 0.16rem;
}

.setup-help-phase-card {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    scroll-margin-top: 5.5rem;
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding: 1rem;
}

.setup-help-phase-head {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto auto minmax(0, 1fr);
}

.setup-help-phase-head .mud-icon-root {
    background: #f6faf8;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    font-size: 1.65rem;
    height: 2.45rem;
    padding: 0.4rem;
    width: 2.45rem;
}

.setup-help-phase-number,
.setup-help-step-number {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    line-height: 1;
}

.setup-help-phase-number {
    background: var(--tma-blue);
    border: 1px solid var(--tma-blue);
    border-radius: 999px;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    height: 2.45rem;
    width: 2.45rem;
}

.setup-help-phase-head .mud-typography-overline {
    color: var(--tma-muted);
    font-weight: 900;
    letter-spacing: 0.08em;
}

.setup-help-phase-head .mud-typography-h5 {
    color: var(--tma-text);
    font-size: 1.15rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.15;
}

.setup-help-phase-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
    margin-top: 0.25rem;
}

.setup-help-phase-outcome {
    align-items: start;
    background: #f6faf8;
    border: 1px solid #d7e7df;
    border-radius: 8px;
    color: #24554b;
    display: grid;
    font-size: 0.9rem;
    font-weight: 800;
    gap: 0.45rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.35;
    padding: 0.7rem;
}

.setup-help-step-list {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr));
    list-style: none;
    margin: 0;
    padding: 0;
}

.setup-help-step-card {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    min-width: 0;
    overflow: hidden;
}

.setup-help-step-visual {
    aspect-ratio: 16 / 10;
    background: #edf3f7;
    border-bottom: 1px solid #dce6ee;
    min-height: 9rem;
    overflow: hidden;
    position: relative;
}

.setup-help-step-visual img {
    display: block;
    height: 100%;
    object-fit: cover;
    object-position: top center;
    width: 100%;
}

.setup-help-step-image-button {
    background: transparent;
    border: 0;
    cursor: zoom-in;
    display: block;
    height: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    width: 100%;
}

.setup-help-step-zoom-icon {
    align-items: center;
    background: rgba(16, 36, 56, 0.84);
    border: 1px solid rgba(255, 255, 255, 0.46);
    border-radius: 999px;
    color: #ffffff;
    display: inline-flex;
    height: 2.15rem;
    justify-content: center;
    position: absolute;
    right: 0.7rem;
    top: 0.7rem;
    width: 2.15rem;
    z-index: 1;
}

.setup-help-step-image-button:hover img,
.setup-help-step-image-button:focus-visible img {
    filter: saturate(1.05) contrast(1.03);
    transform: scale(1.015);
}

.setup-help-step-image-button:focus-visible {
    outline: 3px solid rgba(41, 128, 185, 0.55);
    outline-offset: -3px;
}

.setup-help-step-image-placeholder {
    align-items: center;
    color: var(--tma-muted);
    display: flex;
    height: 100%;
    justify-content: center;
}

.setup-help-step-number {
    background: var(--tma-blue);
    border: 1px solid rgba(255, 255, 255, 0.72);
    border-radius: 999px;
    box-shadow: 0 8px 18px rgba(14, 34, 52, 0.24);
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 900;
    height: 2.25rem;
    left: 0.7rem;
    padding-inline: 0.7rem;
    position: absolute;
    top: 0.7rem;
    z-index: 1;
}

.setup-help-step-copy {
    display: grid;
    gap: 0.35rem;
    padding: 0.85rem;
}

.setup-help-step-copy .mud-typography-subtitle2 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.25;
}

.setup-help-step-copy .mud-typography-body2,
.setup-help-faq .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
}

.setup-help-faq .mud-expand-panel {
    border: 1px solid var(--tma-border);
    border-radius: 8px !important;
    margin-bottom: 0.65rem;
    overflow: hidden;
}

.setup-help-lightbox {
    align-items: center;
    background: rgba(7, 22, 37, 0.76);
    display: grid;
    inset: 0;
    justify-items: center;
    padding: clamp(0.75rem, 2.5vw, 1.5rem);
    position: fixed;
    transition: opacity 120ms ease, visibility 120ms ease;
    z-index: 1700;
}

.setup-help-lightbox-hidden {
    opacity: 0;
    pointer-events: none;
    visibility: hidden;
}

.setup-help-lightbox-panel {
    background: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 8px;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34);
    display: grid;
    gap: 0.75rem;
    max-height: min(92vh, 900px);
    max-width: min(94vw, 1180px);
    overflow: auto;
    padding: 0.85rem;
}

.setup-help-lightbox-head {
    align-items: center;
    background: #102438;
    border-radius: 8px;
    color: #f4fbff;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    padding: 0.75rem 0.85rem;
}

.setup-help-lightbox-head .mud-typography-overline {
    color: #9be8ed;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.setup-help-lightbox-head .mud-typography-h6 {
    color: #f4fbff;
    font-weight: 900;
    letter-spacing: 0;
}

.setup-help-lightbox-close {
    align-items: center;
    appearance: none;
    background: transparent;
    border: 0;
    border-radius: 999px;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 2.75rem;
    height: 2.75rem;
    justify-content: center;
    padding: 0;
    width: 2.75rem;
}

.setup-help-lightbox-close:hover,
.setup-help-lightbox-close:focus-visible {
    background: rgba(255, 255, 255, 0.14);
    outline: none;
}

.setup-help-lightbox-content {
    display: grid;
    gap: 0.75rem;
}

.setup-help-lightbox-content > img {
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: block;
    height: auto;
    max-height: 70vh;
    object-fit: contain;
    width: 100%;
}

.setup-help-lightbox-copy {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.3rem;
    padding: 0.75rem 0.85rem;
}

.setup-help-lightbox-copy .mud-typography-subtitle2 {
    color: var(--tma-text);
    font-weight: 900;
    line-height: 1.25;
}

.setup-help-lightbox-copy .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
}

.admin-console {
    display: grid;
    gap: 0;
}

/* AR.1 item-editor mobile-first — start */
/* The per-item editor (AdminItemEditor + its recipe/pricing/nutrition/allergen/… tabs) is authored on phones as much as
   on desktops. These rules are authored mobile-first: the base targets a 375px viewport (self-contained scroll, single
   column, 44px touch targets), and a min-width query layers the roomier desktop treatment on top. Everything is scoped
   to .admin-item-editor / .item-editor-tabs so no other admin console is affected. Layout only — no behaviour changes. */
.admin-item-editor,
.admin-item-editor .app-section,
.admin-item-editor .item-editor-tabs,
.admin-item-editor .mud-tabs-panels,
.admin-item-editor .mud-tab-panel {
    max-width: 100%;
    min-width: 0;
}

/* The eight-tab strip scrolls within its own container instead of widening the page; native horizontal scroll replaces
   the arrow buttons (unreliable on touch and they add width). */
.item-editor-tabs .mud-tabs-toolbar,
.item-editor-tabs .mud-tabs-toolbar-wrapper,
.item-editor-tabs .mud-tabs-tabbar {
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
}

.item-editor-tabs .mud-tabs-toolbar-content,
.item-editor-tabs .mud-tabs-toolbar-inner,
.item-editor-tabs .mud-tabs-tabbar-inner,
.item-editor-tabs .mud-tabs-tabbar-content {
    min-width: 0;
}

.item-editor-tabs .mud-tabs-scroll-button {
    display: none;
}

/* FB-58: the strip's native scroll (above) replaced the arrow buttons, but that left nothing telling the operator
   there were more tabs off-screen. A right-edge fade is a cheap, state-free hint that the strip keeps going — it
   only needs to affect the last few pixels, so it costs nothing when the tabs already fit. */
.item-editor-tabs .mud-tabs-toolbar-wrapper {
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent);
}

/* FB-58: a compact "jump to tab" selector beside the strip reaches a facet several swipes away in one tap instead
   of blind scrolling. It stays narrow on a phone and never forces the page wider than the viewport. */
.item-editor-tab-jump {
    margin-bottom: 0.5rem;
    max-width: 12rem;
}

/* 44px minimum touch target on each tab and on the per-row icon actions inside the facet tabs. */
.item-editor-tabs .mud-tab {
    min-height: 48px;
}

.admin-item-editor .mud-tab-panel .mud-icon-button {
    min-height: 44px;
    min-width: 44px;
}

/* Wide sub-widgets (the computed-nutrition table) scroll inside their own box rather than pushing the page wide. */
.admin-item-editor .tab-scroll-x {
    max-width: 100%;
    overflow-x: auto;
}

/* Facet-list rows (a name plus presence/exposure chips and icon actions) wrap on a narrow screen instead of forcing the
   page wider than the viewport; letting the name shrink to 0 keeps the whole row inside 375px. */
.admin-item-editor .mud-list-item .d-flex.align-center {
    flex-wrap: wrap;
    min-width: 0;
}

.admin-item-editor .mud-list-item .flex-grow-1 {
    min-width: 0;
}

/* Compact panel padding on phones keeps the tab content inside the narrow viewport. */
.item-editor-tabs .mud-tab-panel {
    padding: 0.85rem;
}

@media (min-width: 600px) {
    /* Layer the roomier desktop padding on top once there's width to spare. */
    .item-editor-tabs .mud-tab-panel {
        padding: 1.25rem;
    }
}
/* AR.1 item-editor mobile-first — end */

/* UI1.3 order-queue filter pills — start */
/* The order-queue status filter pills (All / Requested / Needs Edit / …) are tapped one-handed mid-service, so every
   pill clears the 44px touch floor (docs/05 §4 — WCAG 2.5.5). min-height, never a fixed height, so the label stays
   centered; the set keeps wrapping at 375px instead of pushing the page into horizontal scroll. Scoped to this filter
   row only — dense status chips elsewhere on the console are read, not tapped, and stay compact. */
.order-queue-filter-pills {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    row-gap: 0.25rem;
}

.order-queue-filter-pills .mud-chip {
    min-height: 44px;
}
/* UI1.3 order-queue filter pills — end */

/* AR.2 admin authoring rows mobile-first — start */
/* Several operator-authoring pages pack a label/switch plus one or more MudBlazor inputs and a button into a single
   inline flex row (location & menu-availability hours, the modifier add-option row, the kitchen-area rows, the
   ticket-routing item overrides). That fits a desktop but overflows a 375px phone — each MudBlazor input carries an
   intrinsic ~180px min-width, so two time pickers, or a field + capped select + button, run past the viewport. These
   rules are authored mobile-first: the row wraps and its children may shrink to 0 so the whole row stays inside the
   narrow viewport. Nothing here forces a desktop-only width, so there is no max-width claw-back; on a wide screen the
   row simply doesn't need to wrap. Scoped to .admin-authoring-row so no other console row is affected. Layout only —
   no behaviour change. */
.admin-authoring-row {
    flex-wrap: wrap;
}

.admin-authoring-row > * {
    min-width: 0;
}

/* The one-time integration credential (client id + secret) is a long unbroken token; let it break so the alert can't
   push the page wider than the viewport (matches the client-list caption, which already breaks anywhere). */
.credential-token {
    overflow-wrap: anywhere;
}
/* AR.2 admin authoring rows mobile-first — end */

.admin-access-panel {
    display: grid;
    gap: 1rem;
    justify-items: start;
}

.admin-metric-grid,
.admin-insight-grid,
.admin-roadmap-grid,
.admin-function-grid,
.admin-workspace-grid,
.admin-config-grid {
    display: grid;
    gap: 0.9rem;
}

.admin-metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}

.admin-workspace-filter {
    margin-bottom: 1rem;
    max-width: 24rem;
}

.admin-workspace-empty {
    color: var(--tma-subtle);
    margin-top: 0.75rem;
}

/* Disclosures embedded in an admin section get a little separation from the content above them. */
.app-section .app-disclosure {
    margin-top: 0.9rem;
}

.admin-insight-grid,
.admin-roadmap-grid {
    margin-top: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-function-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-workspace-grid,
.admin-config-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.admin-form-grid {
    display: grid;
    gap: 0.8rem;
    grid-template-columns: 1fr;
}

.admin-metric-card,
.admin-list-card,
.admin-roadmap-card,
.admin-function-card,
.admin-support-panel,
.admin-workspace-card,
.admin-config-card,
.admin-filter-panel,
.support-ticket-list-panel,
.support-ticket-detail-panel,
.account-admin-card {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    min-width: 0;
    padding: 1rem;
}

.admin-metric-card {
    display: grid;
    gap: 0.22rem;
}

.admin-metric-card.is-link {
    color: inherit;
    text-decoration: none;
    transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}

.admin-metric-card.is-link:hover,
.admin-metric-card.is-link:focus-visible {
    border-color: rgba(21, 101, 192, 0.42);
    box-shadow: 0 12px 30px rgba(10, 31, 53, 0.1);
    outline: none;
    transform: translateY(-1px);
}

.admin-metric-card span,
.admin-metric-card small,
.admin-list-card .mud-typography-body2,
.admin-roadmap-card .mud-typography-body2,
.admin-function-card .mud-typography-body2,
.admin-support-panel .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.admin-metric-card span {
    font-size: 0.78rem;
    font-weight: 850;
    text-transform: uppercase;
}

.admin-metric-card strong {
    color: var(--tma-blue);
    font-size: 1.85rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.05;
}

.admin-list-card {
    display: grid;
    gap: 0.75rem;
}

.admin-list-card .mud-typography-h6,
.admin-roadmap-card .mud-typography-h6,
.admin-function-card .mud-typography-h6,
.admin-support-panel .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
}

.admin-list-card ol,
.admin-roadmap-card ul {
    display: grid;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.admin-list-card li,
.admin-roadmap-card li {
    align-items: start;
    background: #f8fbfd;
    border: 1px solid #dde7ee;
    border-radius: 8px;
    color: var(--tma-text);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    line-height: 1.35;
    list-style: none;
    padding: 0.62rem 0.7rem;
}

.admin-list-card li strong {
    color: var(--tma-blue);
    font-weight: 900;
}

.admin-roadmap-card,
.admin-function-card,
.admin-workspace-card,
.admin-config-card {
    display: grid;
    gap: 0.75rem;
}

.admin-check-list {
    display: grid;
    gap: 0.45rem;
    padding: 0;
}

.admin-check-list .mud-list-item {
    background: #f8fbfd;
    border: 1px solid #dde7ee;
    border-radius: 8px;
    padding: 0.62rem 0.7rem;
}

.admin-check-list .mud-list-item-text {
    margin: 0;
}

.admin-workflow-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.7rem;
}

.admin-workflow-last-result {
    align-items: center;
    background: #f8fbfd;
    border: 1px solid #dde7ee;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    padding: 0.55rem 0.65rem;
}

.admin-workflow-next-step {
    align-items: center;
    background: #f8fbfd;
    border: 1px solid #d6e6ef;
    border-radius: 8px;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    padding: 1rem;
}

.admin-workflow-confirm {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    justify-content: space-between;
}

.admin-workflow-confirm-check {
    margin-top: 0.35rem;
}

.admin-workspace-card {
    align-content: start;
}

.admin-workspace-card .app-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.admin-workspace-card .mud-icon-root,
.admin-config-card .mud-icon-root {
    font-size: 2rem;
}

.admin-workspace-card .mud-button-root {
    justify-self: start;
}

.admin-field-preview-list {
    display: grid;
    gap: 0.55rem;
    margin: 0.75rem 0;
}

.admin-field-preview-item {
    background: color-mix(in srgb, var(--tma-surface-alt) 78%, transparent);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    padding: 0.65rem 0.75rem;
}

.admin-field-preview-item .mud-typography-body2 {
    overflow-wrap: anywhere;
}

.admin-manifest-preview {
    border-left: 3px solid var(--tma-blue);
    display: grid;
    gap: 0.4rem;
    margin: 0.75rem 0;
    padding-left: 0.75rem;
}

.patron-preference-lead-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.patron-preference-filter-panel {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(180px, 260px)) auto;
    margin: 1rem 0;
}

.patron-preference-lead-card .mud-button-root {
    grid-column: 2;
}

.patron-preference-meta,
.patron-preference-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.patron-preference-meta span {
    background: #f4f8fb;
    border: 1px solid #dce7ee;
    border-radius: 999px;
    color: var(--tma-subtle);
    font-size: 0.76rem;
    font-weight: 800;
    padding: 0.28rem 0.55rem;
}

.patron-preference-meta span.is-ready {
    background: #eef8f0;
    border-color: #ccebd3;
    color: #226c35;
}

.patron-preference-meta span.is-provisioned {
    background: #eef5ff;
    border-color: #c9ddf6;
    color: #225c96;
}

.patron-preference-meta span.is-blocked {
    background: #fff7ec;
    border-color: #f2ddbf;
    color: #8a5a16;
}

.patron-preference-status-detail {
    color: var(--tma-subtle);
    grid-column: 2;
}

.descriptor-review-actions {
    align-items: end;
    display: grid;
    gap: 0.7rem;
}

.descriptor-draft-panel {
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    padding: 0.85rem;
}

.descriptor-draft-panel .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

/* FB-40 — the enrichment-style review tables. The table scrolls inside its own box on narrow screens (375px)
   instead of widening the page, and every decision button keeps a 44px touch target. */
.admin-review-table {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}

.admin-review-table table {
    min-width: 44rem;
}

.admin-review-table .descriptor-review-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-review-table .descriptor-review-actions .mud-button-root {
    min-height: 44px;
}

/* The shared sortable-header treatment: a real button in the th (keyboard operable, 44px touch target),
   direction shown by the icon and announced via aria-sort. */
.sortable-column-button {
    align-items: center;
    background: none;
    border: 0;
    color: inherit;
    cursor: pointer;
    display: inline-flex;
    font: inherit;
    font-weight: 600;
    gap: 0.3rem;
    min-height: 44px;
    padding: 0;
    white-space: nowrap;
}

.sortable-column-button .mud-icon-root {
    font-size: 1.05rem;
}

.descriptor-review-warning {
    color: #8a5a16;
    font-weight: 800;
}

.descriptor-review-recommendation {
    background: #f8fbfd;
    border-left: 3px solid var(--tma-blue);
    color: var(--tma-subtle);
    line-height: 1.45;
    margin-top: 0.55rem;
    padding: 0.55rem 0.7rem;
}

.descriptor-review-recommendation strong {
    color: var(--tma-text);
    font-weight: 900;
}

.menu-descriptor-link-search {
    align-items: end;
}

.menu-descriptor-link-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.menu-descriptor-link-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.menu-descriptor-link-card > .descriptor-review-actions,
.menu-descriptor-link-existing {
    grid-column: 1 / -1;
}

.menu-descriptor-link-existing {
    display: grid;
    gap: 0.45rem;
}

.admin-config-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.admin-config-card span {
    align-self: start;
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
    color: #244761;
    font-size: 0.75rem;
    font-weight: 900;
    grid-column: 1 / -1;
    justify-self: start;
    padding: 0.28rem 0.55rem;
    text-transform: uppercase;
}

.retention-command-panel {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.retention-command-panel > div:first-child {
    max-width: 42rem;
}

.retention-target-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.retention-target-card {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    min-width: 0;
    padding: 1rem;
}

.retention-target-head {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.retention-target-head > div {
    display: grid;
    gap: 0.2rem;
    min-width: 0;
}

.retention-target-head .mud-typography-h5 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
}

.retention-target-head .mud-typography-body2,
.retention-command-panel .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.retention-path {
    background: #f8fbfd;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    display: grid;
    gap: 0.25rem;
    min-width: 0;
    padding: 0.65rem 0.75rem;
}

.retention-path code {
    color: #244761;
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.admin-first-run-actions { display: flex; flex-wrap: wrap; gap: 0.6rem; justify-content: center; margin-top: 0.75rem; }
.admin-first-run-actions .mud-button-root { min-height: 44px; }

.admin-empty-state {
    align-items: start;
    display: grid;
    gap: 0.65rem;
    justify-items: start;
    padding: 1rem;
}

.admin-empty-state .mud-icon-root {
    font-size: 2rem;
}

.admin-empty-state .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
}

.admin-empty-state .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
    max-width: 56rem;
}

.admin-roadmap-card .mud-icon-root {
    font-size: 2rem;
}

.admin-support-panel {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.admin-support-steps {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.admin-support-steps span {
    background: #eaf5fb;
    border: 1px solid #cde4f2;
    border-radius: 999px;
    color: #22455f;
    font-size: 0.82rem;
    font-weight: 850;
    padding: 0.35rem 0.62rem;
}

.support-admin-console .app-cta-row {
    justify-content: flex-start;
}

.admin-filter-panel {
    margin-bottom: 1rem;
}

.admin-filter-actions {
    align-items: center;
    display: flex;
    gap: 0.65rem;
}

.support-ticket-metrics {
    margin-bottom: 1rem;
}

.support-ticket-layout {
    align-items: start;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(260px, 0.72fr) minmax(0, 1.28fr);
}

.account-filter-panel {
    margin-top: 1rem;
}

.account-admin-command-panel,
.account-editor-panel {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    margin-top: 1rem;
    padding: 1rem;
}

.account-admin-command-panel {
    align-items: center;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.account-admin-command-panel .mud-typography-h6,
.account-editor-head .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.25;
}

.account-admin-command-panel .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
    max-width: 46rem;
}

.account-editor-panel {
    display: grid;
    gap: 1rem;
}

.account-editor-head,
.account-editor-actions,
.account-card-actions {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.account-editor-head {
    justify-content: space-between;
}

.account-editor-actions {
    justify-content: center;
}

.account-card-actions {
    justify-content: flex-start;
}

.account-admin-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(19rem, 1fr));
}

.account-admin-card {
    align-content: start;
    display: grid;
    gap: 1rem;
}

.account-card-head {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.account-card-head .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.25;
}

.account-card-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.account-consent-pill {
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
    color: #34566f;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 900;
    padding: 0.34rem 0.52rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.account-consent-pill.is-ready {
    background: #edf8f5;
    border-color: #94d1bd;
    color: #155c50;
}

.account-card-facts {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.account-fact {
    background: #f8fbfd;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.62rem;
}

.account-fact small {
    color: var(--tma-subtle);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.account-fact strong {
    color: var(--tma-text);
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.account-source-list {
    border-top: 1px solid var(--tma-border);
    display: grid;
    gap: 0.6rem;
    padding-top: 0.9rem;
}

.account-source-row {
    display: grid;
    gap: 0.25rem;
}

.account-source-row strong,
.account-source-row small {
    display: block;
}

.account-source-row strong {
    color: var(--tma-text);
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.25;
}

.account-source-row small,
.account-source-row em {
    color: var(--tma-subtle);
    font-size: 0.8rem;
    line-height: 1.35;
}

.account-source-row em {
    font-style: normal;
}

.account-mapping-empty {
    margin-top: 1rem;
}

.account-mapping-command {
    align-items: end;
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(18rem, 1.1fr) minmax(13rem, 0.9fr) minmax(15rem, 1fr) auto;
    margin-top: 1rem;
    padding: 1rem;
}

.account-mapping-command > div:first-child {
    align-self: center;
}

.account-mapping-command .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
}

.account-mapping-command .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.account-mapping-command .mud-button-root {
    justify-self: start;
    white-space: nowrap;
}

.account-mapping-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 1rem;
}

.account-mapping-panel {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding: 1rem;
}

.account-mapping-panel-head {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.account-mapping-panel-head .mud-icon-root {
    font-size: 1.8rem;
}

.account-mapping-panel-head .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
}

.account-mapping-panel-head .mud-typography-body2,
.account-mapping-list > .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.account-mapping-list {
    display: grid;
    gap: 0.65rem;
}

.account-mapping-row {
    align-items: start;
    background: #f8fbfd;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    min-width: 0;
    padding: 0.75rem;
}

.account-mapping-row span {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
}

.account-mapping-row strong {
    color: var(--tma-text);
    font-size: 0.9rem;
    font-weight: 900;
    line-height: 1.25;
}

.account-mapping-row small,
.account-mapping-row code {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.account-mapping-row code {
    background: #edf4f8;
    border: 1px solid #d7e6ef;
    border-radius: 6px;
    justify-self: start;
    padding: 0.18rem 0.35rem;
}

.account-mapping-row b {
    color: var(--tma-blue);
    display: grid;
    flex: 0 0 auto;
    font-size: 1.15rem;
    font-weight: 900;
    justify-items: end;
    line-height: 1;
}

.account-mapping-row b small {
    color: var(--tma-subtle);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.support-ticket-list-panel,
.support-ticket-detail-panel {
    display: grid;
    gap: 1rem;
}

.admin-intake-list {
    display: grid;
    gap: 1rem;
}

.admin-intake-card {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.admin-intake-head {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.admin-intake-head span {
    background: #edf8f5;
    border: 1px solid #94d1bd;
    border-radius: 999px;
    color: #155c50;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.34rem 0.5rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.pending-action-list,
.pending-action-card-list {
    display: grid;
    gap: 1rem;
}

.pending-action-track {
    display: grid;
    gap: 1rem;
}

.pending-action-track-head {
    align-items: end;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.pending-action-track-head .mud-typography-h4 {
    color: var(--tma-text);
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.1;
}

.pending-action-track-head span {
    background: #edf8f5;
    border: 1px solid #b8dfd2;
    border-radius: 999px;
    color: #155c50;
    font-size: 0.75rem;
    font-weight: 900;
    padding: 0.36rem 0.62rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.pending-action-group {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.pending-action-group-head {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.pending-action-group-head span {
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
    color: #244761;
    font-size: 0.75rem;
    font-weight: 900;
    padding: 0.28rem 0.55rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.pending-action-card {
    align-items: start;
    background: #fffdf6;
    border: 1px solid #ead68c;
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.9rem;
}

.pending-action-card.is-product-readiness {
    background: #f5fbff;
    border-color: #b8d8ea;
}

.pending-action-card.is-complete {
    background: #edf8f5;
    border-color: #94d1bd;
}

.pending-action-copy {
    display: grid;
    gap: 0.35rem;
    min-width: 0;
}

.pending-action-copy .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.pending-action-copy span,
.pending-action-copy small {
    color: #34566f;
    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1.35;
}

.admin-audit-list {
    display: grid;
    gap: 1rem;
}

.admin-audit-card {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 1rem;
    padding: 1rem;
}

.admin-audit-head {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.admin-audit-head span {
    background: #f8fbfd;
    border: 1px solid #dbe7ef;
    border-radius: 999px;
    color: #244761;
    font-size: 0.75rem;
    font-weight: 900;
    padding: 0.28rem 0.55rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.admin-audit-metadata {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.admin-audit-metadata span {
    background: #f8fbfd;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    color: #34566f;
    font-size: 0.8rem;
    line-height: 1.3;
    padding: 0.4rem 0.5rem;
}

.admin-audit-metadata strong {
    color: var(--tma-text);
    margin-right: 0.25rem;
}

.support-panel-head,
.support-ticket-detail-head {
    align-items: start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
}

.support-ticket-list {
    display: grid;
    gap: 0.55rem;
}

.support-ticket-list-item {
    align-items: start;
    background: #f8fbfd;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    color: inherit;
    cursor: pointer;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.72rem;
    text-align: left;
    width: 100%;
}

.support-ticket-list-item:hover,
.support-ticket-list-item.is-active {
    background: #edf7fb;
    border-color: #9fc9dd;
}

.support-ticket-list-item strong,
.support-ticket-list-item small {
    display: block;
}

.support-ticket-list-item strong {
    color: var(--tma-text);
    font-weight: 900;
    line-height: 1.25;
}

.support-ticket-list-item small {
    color: var(--tma-subtle);
    font-size: 0.8rem;
    line-height: 1.35;
    margin-top: 0.18rem;
}

.support-ticket-list-item small em {
    background: #eaf7fb;
    border: 1px solid #acd6e8;
    border-radius: 999px;
    color: #195270;
    display: inline-flex;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 950;
    line-height: 1;
    margin-left: 0.35rem;
    padding: 0.25rem 0.42rem;
    text-transform: uppercase;
    vertical-align: middle;
}

.support-status-pill {
    border-radius: 999px;
    border: 1px solid #d8e5ed;
    color: #34566f;
    flex: 0 0 auto;
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1;
    padding: 0.34rem 0.5rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.support-status-pill.is-new,
.support-status-pill.is-open {
    background: #edf7fb;
    border-color: #a9d4e7;
    color: #195270;
}

.support-status-pill.is-in-progress {
    background: #fff8e8;
    border-color: #e8c66a;
    color: #6d520b;
}

.support-status-pill.is-waiting {
    background: #f5f0fb;
    border-color: #c7b2df;
    color: #4f3772;
}

.support-status-pill.is-resolved,
.support-status-pill.is-closed {
    background: #edf8f5;
    border-color: #94d1bd;
    color: #155c50;
}

.support-status-pill.is-canceled {
    background: #f6f7f8;
    border-color: #ccd6dd;
    color: #647783;
}

.support-ticket-field-grid {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.support-ticket-field {
    background: #f8fbfd;
    border: 1px solid #dce8f0;
    border-radius: 8px;
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.65rem;
}

.support-ticket-field span {
    color: var(--tma-subtle);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.support-ticket-field strong {
    color: var(--tma-text);
    font-weight: 800;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.support-ticket-message,
.operational-link-box,
.support-ticket-update-box,
.support-ticket-timeline {
    border-top: 1px solid var(--tma-border);
    display: grid;
    gap: 0.75rem;
    padding-top: 1rem;
}

.operational-link-box .mud-typography-h6 {
    color: var(--tma-text);
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.25;
}

.operational-link-box .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.operational-link-command {
    align-items: end;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(14rem, 1fr) auto;
}

.operational-link-command .mud-button-root {
    justify-self: start;
    min-width: max-content;
}

.support-ticket-message p {
    color: var(--tma-text);
    line-height: 1.55;
    margin: 0;
    white-space: pre-wrap;
}

.ticket-line-list.is-visible {
    display: grid;
    gap: 0.7rem;
}

.tools-action-grid,
.tools-mode-grid,
.tools-snapshot-grid,
.tools-area-grid,
.tools-loop-grid,
.demand-metric-grid,
.demand-funnel-grid,
.demand-signal-grid,
.demand-action-grid,
.challenge-mode-grid {
    display: grid;
    gap: 0.9rem;
}

.tools-action-grid,
.tools-mode-grid,
.tools-snapshot-grid,
.demand-metric-grid,
.demand-funnel-grid,
.demand-action-grid,
.challenge-mode-grid {
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
}

.tools-header-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: center;
    margin-top: 1.1rem;
}

.tools-header-actions .mud-button-root {
    min-width: 0;
}

.tools-area-grid,
.demand-signal-grid {
    grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
}

.tools-loop-grid {
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
}

.tools-action-card,
.tools-mode-card,
.tools-snapshot-card,
.tools-area-card,
.tools-loop-card,
.demand-action-card,
.demand-funnel-step,
.challenge-mode-card,
.supplier-rule-panel,
.demand-privacy-panel {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    min-width: 0;
}

.tools-action-card,
.tools-mode-card,
.tools-snapshot-card,
.tools-loop-card,
.demand-action-card,
.demand-funnel-step,
.challenge-mode-card {
    align-content: start;
    display: grid;
    gap: 0.7rem;
    padding: 1rem;
}

.tools-action-card .mud-button-root {
    justify-self: start;
}

.tools-action-card span,
.tools-mode-card span,
.tools-snapshot-card span,
.tools-loop-card,
.demand-action-card span,
.demand-funnel-step span,
.challenge-mode-card {
    min-width: 0;
}

.tools-action-card small,
.tools-action-card strong,
.tools-action-card em,
.tools-mode-card small,
.tools-mode-card strong,
.tools-snapshot-card small,
.tools-snapshot-card strong,
.tools-snapshot-card em,
.tools-loop-card strong,
.tools-loop-card span,
.demand-action-card strong,
.demand-action-card small,
.demand-funnel-step span,
.demand-funnel-step strong,
.demand-funnel-step small,
.challenge-mode-card strong,
.challenge-mode-card span {
    display: block;
    line-height: 1.35;
}

.tools-action-card small {
    color: var(--tma-blue);
    font-size: 0.74rem;
    font-weight: 900;
    text-transform: uppercase;
}

.tools-action-card strong,
.tools-mode-card strong,
.tools-snapshot-card strong,
.tools-loop-card strong,
.demand-action-card strong,
.demand-funnel-step strong,
.challenge-mode-card strong {
    color: var(--tma-text);
    font-weight: 900;
}

.tools-action-card em,
.tools-mode-card .mud-typography-body2,
.tools-snapshot-card em,
.tools-loop-card span,
.demand-action-card small,
.demand-funnel-step small,
.challenge-mode-card span {
    color: var(--tma-subtle);
    font-size: 0.9rem;
    font-style: normal;
}

.tools-mode-card {
    grid-template-rows: auto minmax(4.4rem, auto) auto auto;
}

.tools-mode-head {
    align-items: start;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.tools-mode-card small {
    color: var(--tma-blue);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.tools-mode-card strong {
    display: block;
    font-size: 1.03rem;
    line-height: 1.18;
    margin-top: 0.15rem;
}

.tools-mode-card .mud-button-root {
    justify-self: start;
}

.tools-mode-links {
    border-top: 1px solid #dce6ee;
    display: grid;
    gap: 0.25rem;
    padding-top: 0.65rem;
}

.tools-mode-links a {
    align-items: center;
    border-radius: 8px;
    color: #244761;
    display: grid;
    font-size: 0.84rem;
    font-weight: 850;
    gap: 0.5rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.25;
    padding: 0.4rem 0.48rem;
    text-decoration: none;
}

.tools-mode-links a:hover,
.tools-mode-links a:focus-visible {
    background: #f3f8fb;
    outline: 2px solid rgba(41, 128, 185, 0.22);
    outline-offset: 0;
}

.tools-snapshot-card {
    color: inherit;
    grid-template-columns: auto minmax(0, 1fr);
    text-decoration: none;
}

.tools-snapshot-card:hover,
.tools-snapshot-card:focus-visible {
    background: #f8fbfc;
    outline: 2px solid rgba(41, 128, 185, 0.24);
    outline-offset: -2px;
}

.tools-snapshot-card small {
    color: #47677f;
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.tools-snapshot-card strong {
    font-size: 1rem;
}

.tools-area-card {
    display: grid;
    gap: 0.85rem;
    padding: 1rem;
}

.tools-area-head,
.tools-area-link,
.demand-privacy-panel,
.supplier-rule-panel {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.tools-area-head h2,
.tools-area-head p {
    margin: 0;
}

.tools-area-head h2 {
    color: var(--tma-text);
    font-size: 1.05rem;
    font-weight: 900;
    line-height: 1.2;
}

.tools-area-head p {
    color: var(--tma-subtle);
    line-height: 1.45;
}

.tools-area-list {
    border: 1px solid #dce6ee;
    border-radius: 8px;
    overflow: hidden;
}

.tools-area-link {
    background: #f8fbfc;
    color: inherit;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.82rem;
    text-decoration: none;
}

.tools-area-link.has-status {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.tools-area-link + .tools-area-link {
    border-top: 1px solid #dce6ee;
}

.tools-area-link:hover,
.tools-area-link:focus-visible {
    background: #ffffff;
    outline: 2px solid rgba(41, 128, 185, 0.24);
    outline-offset: -2px;
}

.tools-area-link strong,
.tools-area-link small {
    display: block;
    min-width: 0;
}

.tools-area-link strong {
    color: var(--tma-text);
    font-weight: 900;
    line-height: 1.2;
}

.tools-area-link small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    line-height: 1.35;
    margin-top: 0.18rem;
}

.tools-area-link em {
    align-self: start;
    border: 1px solid #cfe1ed;
    border-radius: 999px;
    color: #47677f;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    padding: 0.32rem 0.45rem;
    text-transform: uppercase;
    white-space: nowrap;
}

.tools-area-link em.is-ready {
    border-color: rgba(0, 139, 139, 0.34);
    color: #087e8b;
}

.tools-area-link em.is-soon {
    border-color: rgba(241, 157, 56, 0.42);
    color: #8a5a13;
}

.tools-area-link em.is-hidden {
    color: #66788a;
}

@media (max-width: 560px) {
    .tools-action-card .mud-button-root,
    .tools-mode-card .mud-button-root,
    .tools-header-actions .mud-button-root {
        width: 100%;
    }
}

.demand-metric-card {
    align-content: start;
    gap: 0.45rem;
}

.demand-funnel-step {
    position: relative;
}

.demand-funnel-step span {
    color: #47677f;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.demand-funnel-step strong {
    font-size: 2rem;
    line-height: 1;
}

.demand-funnel-step small {
    max-width: 24rem;
}

.demand-signal-panel {
    align-content: start;
}

.demand-signal-row,
.supplier-prize-row,
.supplier-preview-prize {
    align-items: center;
    border-top: 1px solid #dce6ee;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding-block: 0.7rem;
}

.demand-signal-row:first-of-type,
.supplier-prize-row:first-child {
    border-top: 0;
}

.demand-signal-row strong,
.demand-signal-row small,
.supplier-preview-prize span,
.supplier-preview-prize strong {
    display: block;
    line-height: 1.3;
}

.demand-signal-row strong {
    color: var(--tma-text);
    font-weight: 900;
}

.demand-signal-row small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
}

.demand-signal-row em {
    background: #eef7fb;
    border-radius: 999px;
    color: var(--tma-blue);
    font-style: normal;
    font-weight: 900;
    padding: 0.34rem 0.55rem;
}

.demand-privacy-panel,
.supplier-rule-panel {
    padding: 1rem;
}

.digital-order-pos-readiness {
    align-items: center;
    border: 1px solid #dce6ee;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: 0.8rem;
}

.digital-order-pos-readiness.is-ready {
    background: #eefaf4;
    border-color: #b8e2cb;
}

.digital-order-pos-readiness.is-warning {
    background: #fff8e8;
    border-color: #efd69c;
}

.digital-order-pos-readiness.is-blocked {
    background: #fff0f0;
    border-color: #efb9b9;
}

.digital-order-pos-readiness.is-planned {
    background: #eef7fb;
    border-color: #cfe5ef;
}

.digital-order-pos-preview {
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.8rem;
    margin-top: 0.8rem;
    padding: 1rem;
}

.digital-order-pos-preview.is-ready {
    background: #f6fcf9;
    border-color: #b8e2cb;
}

.digital-order-pos-preview.is-warning {
    background: #fffbf0;
    border-color: #efd69c;
}

.digital-order-pos-preview.is-blocked {
    background: #fff7f7;
    border-color: #efb9b9;
}

.digital-order-pos-preview.is-planned {
    background: #f4fafc;
    border-color: #cfe5ef;
}

.digital-order-pos-preview-head {
    align-items: start;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.digital-order-pos-preview-head strong,
.digital-order-pos-preview-head small,
.digital-order-pos-preview-facts small,
.digital-order-pos-preview-facts strong,
.digital-order-pos-preview-refs small,
.digital-order-pos-preview-refs strong {
    display: block;
    line-height: 1.35;
}

.digital-order-pos-preview-head strong,
.digital-order-pos-preview-facts strong,
.digital-order-pos-preview-refs strong {
    color: var(--tma-text);
    font-weight: 900;
}

.digital-order-pos-preview-head small,
.digital-order-pos-preview-facts small,
.digital-order-pos-preview-refs small {
    color: var(--tma-subtle);
}

.digital-order-pos-preview-facts,
.digital-order-pos-preview-refs {
    display: grid;
    gap: 0.65rem;
}

.digital-order-pos-preview-facts {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.digital-order-pos-preview-facts span,
.digital-order-pos-preview-refs span {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid #dce6ee;
    border-radius: 8px;
    padding: 0.65rem;
}

.digital-order-pos-preview-refs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 640px) {
    .digital-order-pos-readiness,
    .digital-order-pos-preview-head {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .digital-order-pos-readiness .mud-chip,
    .digital-order-pos-preview-head .mud-chip {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .digital-order-pos-preview-facts,
    .digital-order-pos-preview-refs {
        grid-template-columns: 1fr;
    }
}

.demand-privacy-panel strong,
.demand-privacy-panel small,
.supplier-rule-panel strong,
.supplier-rule-panel small {
    display: block;
    line-height: 1.45;
}

.demand-privacy-panel strong,
.supplier-rule-panel strong {
    color: var(--tma-text);
    font-weight: 900;
}

.demand-privacy-panel small,
.supplier-rule-panel small {
    color: var(--tma-subtle);
}

.supplier-contest-builder,
.supplier-contest-preview,
.supplier-portfolio-builder,
.supplier-sync-preview,
.inventory-par-builder,
.inventory-alert-preview,
.digital-order-queue,
.digital-order-detail {
    align-content: start;
}

.supplier-prize-panel,
.supplier-item-list,
.supplier-draft-list {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.55rem;
    padding: 0.85rem;
}

.supplier-prize-grid {
    display: grid;
}

.supplier-item-list {
    gap: 0.2rem;
}

.supplier-builder-actions {
    display: flex;
    justify-content: center;
}

.supplier-draft-list {
    margin-top: 1rem;
}

.supplier-draft-row {
    align-items: center;
    border-top: 1px solid #dce6ee;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding-block: 0.75rem;
}

.supplier-item-row,
.supplier-sync-step {
    align-items: start;
    border-top: 1px solid #dce6ee;
    display: grid;
    gap: 0.7rem;
    padding-block: 0.7rem;
}

.supplier-item-row {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.supplier-sync-step {
    grid-template-columns: auto minmax(0, 1fr);
}

.supplier-item-row:first-of-type,
.supplier-sync-step:first-of-type,
.supplier-draft-row:first-of-type {
    border-top: 0;
}

.supplier-item-row strong,
.supplier-item-row small,
.supplier-sync-step strong,
.supplier-sync-step small,
.supplier-draft-row strong,
.supplier-draft-row small {
    display: block;
    line-height: 1.35;
    min-width: 0;
}

.supplier-item-row strong,
.supplier-sync-step strong,
.supplier-draft-row strong {
    color: var(--tma-text);
    font-weight: 900;
}

.supplier-item-row small,
.supplier-sync-step small,
.supplier-draft-row small {
    color: var(--tma-subtle);
    font-size: 0.84rem;
}

.supplier-draft-row > span:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    justify-content: flex-end;
}

.supplier-prize-row strong,
.supplier-prize-row span {
    line-height: 1.3;
}

.supplier-prize-row strong {
    color: var(--tma-blue);
    font-weight: 900;
}

.supplier-prize-row span {
    color: var(--tma-text);
    text-align: right;
}

.supplier-contest-preview {
    display: grid;
    gap: 0.85rem;
}

.supplier-contest-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.supplier-preview-prize {
    padding-block: 0.45rem;
}

.supplier-preview-prize span {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-weight: 900;
}

.supplier-preview-prize strong {
    color: var(--tma-text);
    font-size: 0.86rem;
    text-align: right;
}

.inventory-count-meter {
    background: #e6eef4;
    border-radius: 999px;
    height: 0.65rem;
    overflow: hidden;
}

.inventory-count-meter span {
    background: linear-gradient(90deg, var(--tma-blue), var(--tma-teal));
    display: block;
    height: 100%;
    min-width: 0.4rem;
}

.digital-order-lines {
    border: 1px solid #dce6ee;
    border-radius: 8px;
    overflow: hidden;
}

.order-workspace-metrics {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    margin-bottom: 1rem;
}

.order-metric-card {
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(44, 62, 80, 0.055);
    color: var(--tma-text);
    display: grid;
    gap: 0.22rem;
    min-height: 7.25rem;
    padding: 0.95rem;
    text-align: left;
}

.order-metric-card:not(:disabled) {
    cursor: pointer;
}

.order-metric-card:not(:disabled):hover,
.order-metric-card.is-active {
    border-color: rgba(41, 128, 185, 0.5);
    box-shadow: 0 14px 30px rgba(41, 128, 185, 0.12);
}

.order-metric-card span,
.order-metric-card small {
    color: var(--tma-subtle);
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1.25;
}

.order-metric-card strong {
    color: var(--tma-blue);
    font-size: 1.65rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1.05;
}

.order-filter-strip {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 1rem;
}

.order-filter-button {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 999px;
    color: var(--tma-text);
    display: inline-flex;
    font-weight: 850;
    gap: 0.38rem;
    min-height: 2.45rem;
    padding: 0.45rem 0.72rem;
}

.order-filter-button:not(:disabled) {
    cursor: pointer;
}

.order-filter-button.is-active,
.order-filter-button:not(:disabled):hover {
    background: rgba(41, 128, 185, 0.08);
    border-color: rgba(41, 128, 185, 0.5);
    color: var(--tma-blue);
}

.order-refresh-button {
    margin-left: auto;
    width: auto;
}

.digital-order-readiness-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
    margin-bottom: 1rem;
}

.digital-order-readiness-card {
    align-items: center;
    background: #ffffff;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    box-shadow: 0 10px 26px rgba(44, 62, 80, 0.045);
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 5.75rem;
    padding: 0.85rem;
}

.digital-order-readiness-card.is-ready {
    border-color: rgba(46, 204, 113, 0.35);
}

.digital-order-readiness-card.is-warning {
    border-color: rgba(241, 196, 15, 0.45);
}

.digital-order-readiness-card.is-blocked {
    border-color: rgba(231, 76, 60, 0.35);
}

.digital-order-readiness-card.is-planned {
    border-color: rgba(41, 128, 185, 0.35);
}

.digital-order-readiness-card strong,
.digital-order-readiness-card small {
    display: block;
    line-height: 1.3;
    min-width: 0;
}

.digital-order-readiness-card strong {
    color: var(--tma-text);
    font-weight: 900;
}

.digital-order-readiness-card small {
    color: var(--tma-subtle);
    font-size: 0.82rem;
    margin-top: 0.12rem;
}

.digital-order-ticket-list .mud-list-item {
    min-height: 4.2rem;
}

.digital-order-list-item {
    align-items: center;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: minmax(0, 1fr) auto;
    width: 100%;
}

.order-empty-state {
    align-items: center;
    background: #f8fbfc;
    border: 1px dashed #b9cfdd;
    border-radius: 8px;
    display: grid;
    gap: 0.45rem;
    justify-items: center;
    min-height: 12rem;
    padding: 1.2rem;
    text-align: center;
}

.order-empty-state strong,
.order-empty-state span {
    display: block;
    line-height: 1.35;
}

.order-empty-state strong {
    color: var(--tma-text);
    font-weight: 900;
}

.order-empty-state span {
    color: var(--tma-subtle);
    max-width: 34ch;
}

.order-detail-summary {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.order-detail-summary div {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.15rem;
    padding: 0.82rem;
}

.order-detail-summary span,
.order-detail-summary small {
    color: var(--tma-subtle);
    font-size: 0.78rem;
    font-weight: 850;
    line-height: 1.25;
}

.order-detail-summary strong {
    color: var(--tma-text);
    font-weight: 900;
    line-height: 1.25;
    min-width: 0;
}

.digital-order-line {
    align-items: start;
    background: #f8fbfc;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.85rem;
}

.digital-order-lines-head,
.digital-order-line-detail {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: minmax(0, 1fr) auto;
    padding: 0.85rem;
}

.digital-order-lines-head {
    background: #ffffff;
    border-bottom: 1px solid #dce6ee;
}

.digital-order-line-detail {
    background: #f8fbfc;
}

.digital-order-line-detail + .digital-order-line-detail,
.digital-order-line-detail + .digital-order-line,
.digital-order-lines-head + .digital-order-line-detail {
    border-top: 1px solid #dce6ee;
}

.digital-order-line + .digital-order-line {
    border-top: 1px solid #dce6ee;
}

.digital-order-lines-head strong,
.digital-order-lines-head small,
.digital-order-line-detail strong,
.digital-order-line-detail small,
.digital-order-line strong,
.digital-order-line small {
    display: block;
    line-height: 1.35;
    min-width: 0;
}

.digital-order-lines-head strong,
.digital-order-line-detail strong,
.digital-order-line-detail b,
.digital-order-line strong,
.digital-order-line b {
    color: var(--tma-text);
    font-weight: 900;
}

.digital-order-lines-head small,
.digital-order-line-detail small,
.digital-order-line small {
    color: var(--tma-subtle);
    font-size: 0.84rem;
    margin-top: 0.18rem;
}

.digital-order-modifier-list {
    display: grid;
    gap: 0.22rem;
    margin-top: 0.45rem;
    padding-left: 0.7rem;
}

.digital-order-modifier-list small {
    color: #436175;
    font-weight: 800;
}

.digital-order-line-empty {
    border: 1px dashed #c8d6df;
    border-radius: 8px;
    color: var(--tma-subtle);
    font-size: 0.86rem;
    font-weight: 800;
    margin: 0.85rem;
    padding: 0.75rem;
}

.digital-order-timeline {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    padding: 0.95rem;
}

.digital-order-timeline-head,
.digital-order-timeline-item {
    align-items: start;
    display: grid;
    gap: 0.65rem;
}

.digital-order-timeline-head {
    grid-template-columns: minmax(0, 1fr) auto;
}

.digital-order-timeline-head strong,
.digital-order-timeline-head small,
.digital-order-timeline-item strong,
.digital-order-timeline-item small {
    display: block;
    line-height: 1.35;
}

.digital-order-timeline-head strong,
.digital-order-timeline-item strong {
    color: var(--tma-text);
    font-weight: 900;
}

.digital-order-timeline-head small,
.digital-order-timeline-item small,
.digital-order-timeline-item em,
.digital-order-timeline-empty {
    color: var(--tma-subtle);
}

.digital-order-timeline-item {
    background: #ffffff;
    border: 1px solid #e3ebf1;
    border-radius: 8px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    padding: 0.7rem;
}

.digital-order-timeline-item em {
    font-size: 0.76rem;
    font-style: normal;
    font-weight: 850;
    line-height: 1.25;
    text-align: right;
}

.digital-order-timeline-empty {
    border: 1px dashed #c8d6df;
    border-radius: 8px;
    font-size: 0.86rem;
    font-weight: 800;
    padding: 0.75rem;
}

.order-next-step-card,
.order-action-bar {
    background: #f8fbfc;
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.order-next-step-card {
    align-items: start;
    grid-template-columns: auto minmax(0, 1fr);
}

.order-next-step-card strong,
.order-next-step-card small,
.order-action-bar strong,
.order-action-bar small {
    display: block;
    line-height: 1.35;
}

.order-next-step-card strong,
.order-action-bar strong {
    color: var(--tma-text);
    font-weight: 900;
}

.order-next-step-card small,
.order-action-bar small {
    color: var(--tma-subtle);
}

.order-action-bar {
    align-items: center;
    grid-template-columns: minmax(0, 1fr) auto;
}

.order-action-bar > div {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
    justify-content: flex-end;
}

.order-action-bar .mud-button-root {
    width: auto;
}

@media (max-width: 720px) {
    .order-workspace-metrics,
    .order-detail-summary,
    .order-action-bar {
        grid-template-columns: 1fr;
    }

    .order-refresh-button {
        margin-left: 0;
    }

    .order-action-bar > div {
        justify-content: flex-start;
    }

    .digital-order-timeline-item {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .digital-order-timeline-item em {
        grid-column: 2;
        text-align: left;
    }
}

.support-center-form,
.support-center-context {
    align-content: start;
}

.support-form-anchor {
    scroll-margin-top: 5.5rem;
}

.support-form-readiness {
    margin-top: 0.85rem;
}

.support-center-list {
    display: grid;
    gap: 0.75rem;
}

.support-center-list span {
    align-items: start;
    border-top: 1px solid #dce6ee;
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding-top: 0.75rem;
}

.support-center-list span:first-child {
    border-top: 0;
    padding-top: 0;
}

.support-center-list strong,
.support-center-list small {
    display: block;
    line-height: 1.35;
    min-width: 0;
}

.support-center-list strong {
    color: var(--tma-text);
    font-weight: 900;
}

.support-center-list small {
    color: var(--tma-subtle);
    font-size: 0.84rem;
    grid-column: 2;
}

.account-launch-layout {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.05fr) minmax(18rem, 0.95fr);
}

.account-launch-primary {
    align-content: start;
    background: linear-gradient(135deg, #ffffff 0%, #f5fbfd 100%);
    border: 1px solid #d7e8f0;
    border-radius: 8px;
    display: grid;
    gap: 0.9rem;
    padding: 1.1rem;
}

.account-launch-step {
    background: #e7f2f6;
    border: 1px solid #cfe1ed;
    border-radius: 999px;
    color: #315873;
    font-size: 0.72rem;
    font-weight: 950;
    justify-self: start;
    letter-spacing: 0;
    line-height: 1;
    padding: 0.42rem 0.58rem;
    text-transform: uppercase;
}

.account-launch-primary .mud-typography-h5 {
    color: var(--tma-text);
    font-weight: 950;
    line-height: 1.1;
}

.account-launch-primary .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.5;
    max-width: 46rem;
}

.account-launch-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.account-launch-next-grid,
.account-checklist-grid,
.account-admin-signal-grid {
    display: grid;
    gap: 0.85rem;
}

.account-launch-next-card,
.account-checklist-card,
.account-admin-signal-panel {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    min-width: 0;
    padding: 1rem;
}

.account-launch-next-card {
    align-items: start;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.account-launch-next-card strong,
.account-launch-next-card small {
    display: block;
    line-height: 1.35;
}

.account-launch-next-card strong {
    color: var(--tma-text);
    font-weight: 950;
}

.account-launch-next-card small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
    margin-top: 0.2rem;
}

.account-checklist-grid {
    grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
}

.account-checklist-card {
    align-content: start;
    display: grid;
    gap: 0.8rem;
}

.account-checklist-card .mud-button-root {
    justify-self: start;
}

.account-checklist-number {
    align-items: center;
    background: #163a52;
    border-radius: 50%;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 950;
    height: 2.25rem;
    justify-content: center;
    width: 2.25rem;
}

.account-checklist-card strong,
.account-checklist-card small {
    display: block;
    line-height: 1.35;
}

.account-checklist-card strong {
    color: var(--tma-text);
    font-weight: 950;
}

.account-checklist-card small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
    margin-top: 0.2rem;
}

.account-admin-signal-grid {
    grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
    margin-bottom: 1rem;
}

.account-admin-signal-panel {
    align-items: center;
    display: grid;
    gap: 0.8rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.account-admin-signal-panel strong,
.account-admin-signal-panel small {
    display: block;
    line-height: 1.35;
}

.account-admin-signal-panel strong {
    color: var(--tma-text);
    font-weight: 950;
}

.account-admin-signal-panel small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
}

.account-access-action-grid,
.account-readiness-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(15.5rem, 1fr));
}

.account-access-action-card,
.account-readiness-card {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    min-width: 0;
    padding: 1rem;
}

.account-access-action-card .mud-button-root,
.account-support-card .mud-button-root {
    justify-self: start;
}

.account-access-action-card span,
.account-readiness-card span {
    min-width: 0;
}

.account-access-action-card strong,
.account-access-action-card small,
.account-readiness-card strong,
.account-readiness-card small {
    display: block;
    line-height: 1.35;
}

.account-access-action-card strong,
.account-readiness-card strong {
    color: var(--tma-text);
    font-weight: 900;
}

.account-access-action-card small,
.account-readiness-card small {
    color: var(--tma-subtle);
    font-size: 0.86rem;
    margin-top: 0.18rem;
}

.account-plan-panel,
.account-support-card {
    align-content: start;
}

.account-plan-price {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 0.25rem 0.45rem;
}

.account-plan-price strong {
    color: var(--tma-blue);
    font-size: clamp(2rem, 4vw, 3rem);
    font-weight: 950;
    line-height: 1;
}

.account-plan-price span {
    color: var(--tma-subtle);
    font-weight: 800;
}

.account-plan-price.is-small strong {
    font-size: 1.75rem;
}

.account-plan-list {
    border: 1px solid #dce6ee;
    border-radius: 8px;
    display: grid;
    overflow: hidden;
}

.account-plan-list span {
    align-items: start;
    background: #f8fbfc;
    color: var(--tma-text);
    display: grid;
    gap: 0.55rem;
    grid-template-columns: auto minmax(0, 1fr);
    line-height: 1.35;
    padding: 0.78rem;
}

.account-plan-list span + span {
    border-top: 1px solid #dce6ee;
}

.account-readiness-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.account-readiness-card em {
    align-self: start;
    border: 1px solid #cfe1ed;
    border-radius: 999px;
    color: #47677f;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 900;
    grid-column: 2;
    justify-self: start;
    line-height: 1;
    padding: 0.34rem 0.48rem;
    text-transform: uppercase;
}

@media (max-width: 599px) {
    .supplier-item-row,
    .supplier-draft-row {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .supplier-item-row .mud-chip {
        grid-column: 2;
        justify-self: start;
    }

    .supplier-draft-row > span:last-child {
        grid-column: 2;
        justify-content: flex-start;
    }

    .account-access-action-card .mud-button-root,
    .account-support-card .mud-button-root {
        width: 100%;
    }
}

@media (max-width: 899px) {
    .account-launch-layout,
    .account-admin-signal-panel {
        grid-template-columns: 1fr;
    }

    .account-launch-actions .mud-button-root,
    .account-admin-signal-panel .mud-button-root {
        width: fit-content;
    }
}

.site-footer {
    align-items: center;
    background: var(--tma-blue);
    color: #f5f8f8;
    display: grid;
    gap: 0.3rem 0.85rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
    margin-top: auto;
    padding: 0.75rem 1rem;
    text-align: left;
}

.footer-logo {
    display: inline-flex;
    grid-row: 1 / span 2;
    justify-self: start;
}

.footer-logo img {
    max-width: 46px;
}

.site-footer p {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.84rem;
    grid-column: 2;
    line-height: 1.35;
    margin: 0;
}

.site-footer nav {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.82rem;
    gap: 0.3rem 0.75rem;
    grid-column: 2;
    justify-content: flex-start;
    min-width: 0;
}

.site-footer a {
    color: #ffffff;
}

.footer-language {
    align-items: center;
    color: rgba(255, 255, 255, 0.78);
    display: inline-flex;
    font-size: 0.76rem;
    gap: 0.45rem;
    grid-column: 3;
    grid-row: 1 / span 2;
    justify-self: end;
    line-height: 1;
}

.footer-language select {
    appearance: none;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 4px;
    color: #ffffff;
    cursor: pointer;
    font: inherit;
    min-height: 30px;
    padding: 0 1.65rem 0 0.65rem;
}

.footer-language select:focus-visible {
    outline: 2px solid #ffffff;
    outline-offset: 2px;
}

.footer-language option {
    color: #10212b;
}

.locale-prompt {
    background: #ffffff;
    border: 1px solid rgba(16, 33, 43, 0.14);
    border-radius: 8px;
    bottom: 1rem;
    box-shadow: 0 16px 42px rgba(16, 33, 43, 0.22);
    color: #10212b;
    left: 50%;
    max-width: min(92vw, 460px);
    padding: 0.85rem;
    position: fixed;
    transform: translateX(-50%);
    z-index: 1400;
}

.locale-prompt p {
    color: rgba(16, 33, 43, 0.72);
    font-size: 0.88rem;
    line-height: 1.4;
    margin: 0.25rem 0 0;
}

.locale-prompt strong {
    display: block;
    font-size: 0.95rem;
}

.locale-prompt-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
    margin-top: 0.75rem;
}

.locale-prompt button {
    border-radius: 4px;
    cursor: pointer;
    font: inherit;
    font-weight: 750;
    min-height: 34px;
    padding: 0.35rem 0.7rem;
}

.locale-prompt button:first-child {
    background: var(--tma-blue);
    border: 1px solid var(--tma-blue);
    color: #ffffff;
}

.locale-prompt button:last-child {
    background: transparent;
    border: 1px solid rgba(16, 33, 43, 0.2);
    color: #10212b;
}

.mud-button-root {
    border-radius: 4px !important;
    font-weight: 750 !important;
    letter-spacing: 0 !important;
    min-height: 42px;
    text-transform: none !important;
    /* In a flex action row, keep the button at its content width instead of shrinking and splitting its
       label across rows (the /pricing "Get Started" symptom — wrapping rows still wrap whole buttons). */
    flex-shrink: 0;
}

/* Keep a button's start/end icon on the same row as its text — never let the icon wrap to its own line. */
.mud-button-root .mud-button-label {
    flex-wrap: nowrap;
}

.mud-paper {
    color: inherit;
}

h1:focus {
    outline: none;
}

[id] {
    scroll-margin-top: 64px;
}

@media (prefers-color-scheme: dark) {
    .site-shell.is-public-site:not(.is-locked-light) {
        --public-bg: #050913;
        --public-surface: #0c1522;
        --public-surface-alt: #09111d;
        --public-text: #f4f7ff;
        --public-muted: rgba(244, 247, 255, 0.68);
        --public-border: rgba(244, 247, 255, 0.14);
        --public-hero-bg: #050913;
        --public-hero-text: #f4f7ff;
        --public-hero-muted: rgba(244, 247, 255, 0.74);
        --public-hero-panel: rgba(244, 247, 255, 0.07);
        --public-hero-border: rgba(244, 247, 255, 0.15);
        --public-header-bg: #050913;
        --public-section-light: #0c1824;
        --public-section-dark: #102f3d;
        --public-section-dark-text: #f4f7ff;
        --public-section-dark-muted: rgba(244, 247, 255, 0.68);
        --public-section-dark-border: rgba(244, 247, 255, 0.14);
        color-scheme: dark;
    }

    .site-shell.is-public-site:not(.is-locked-light) .app-page-subtitle {
        color: #9be8ed;
    }

    .site-shell.is-public-site:not(.is-locked-light) .mud-table-root,
    .site-shell.is-public-site:not(.is-locked-light) .mud-table,
    .site-shell.is-public-site:not(.is-locked-light) .mud-table-container {
        background: var(--public-surface);
        color: var(--public-text);
    }
}

.valid.modified:not([type=checkbox]) {
    outline: 1px solid #33cccc;
}

.invalid {
    outline: 1px solid #cc3333;
}

.validation-message {
    color: #cc3333;
}

.blazor-error-boundary {
    background: #cc3333;
    color: white;
    padding: 1rem;
}

.blazor-error-boundary::after {
    content: "An error has occurred.";
}

@media (min-width: 700px) {
    .site-shell.is-public-site .app-cta-row > .mud-button-root:only-child {
        justify-self: start;
        max-width: 360px;
        width: 100%;
    }

    .home-proof-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .founder-lock-points,
    .founder-rate-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .founder-lock-points span + span {
        border-left: 1px solid var(--public-border);
        padding-left: 0.85rem;
    }

    .site-shell.is-public-site .app-cta-row {
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    }

    .site-shell.is-public-site .public-card-grid {
        border: 0;
        display: grid;
        gap: 0.9rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        overflow: visible;
    }

    .site-shell.is-public-site .public-card-grid .app-list-item {
        align-content: start;
        align-items: start;
        border: 1px solid var(--tma-border);
        border-radius: 8px;
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-rows: auto 1fr auto;
        min-height: 160px;
    }

    .site-shell.is-public-site .public-card-grid .app-list-item + .app-list-item {
        border-top: 1px solid var(--tma-border);
    }

    .site-shell.is-public-site .public-card-grid .app-list-item > .mud-icon-root:last-child {
        align-self: end;
        grid-column: 2;
        justify-self: end;
    }

    .site-shell.is-public-site .product-preview {
        gap: 2rem;
        grid-template-columns: minmax(0, 0.9fr) minmax(320px, 1fr);
    }

    .site-shell.is-public-site .product-preview > img {
        max-height: 430px;
    }

    .site-shell.is-public-site .feature-gallery {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-shell.is-public-site .pricing-plan-grid {
        align-items: stretch;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-shell.is-public-site .pricing-plan-card {
        grid-template-rows: minmax(5.8rem, auto) minmax(3.7rem, auto) minmax(3.35rem, auto) auto;
    }

    .site-shell.is-public-site .pricing-value-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-shell.is-public-site .gallery-card {
        align-content: start;
        align-items: start;
        grid-template-columns: 1fr;
        min-height: 100%;
    }

    .site-shell.is-public-site .gallery-card img {
        max-height: 190px;
        min-height: 150px;
    }

    .site-shell.is-public-site .video-grid {
        align-items: start;
    }

    .site-shell.is-public-site .video-list {
        max-height: 520px;
    }

    .site-shell.is-public-site .video-player-card,
    .site-shell.is-public-site .video-list-card {
        height: 100%;
    }

    .site-shell.is-public-site .pricing-builder {
        margin-inline: 0;
        max-width: none;
        width: 100%;
    }

    .site-shell.is-public-site .pricing-builder-body {
        align-items: stretch;
        grid-template-columns: minmax(0, 1.14fr) minmax(18rem, 0.86fr);
    }

    .site-shell.is-public-site .pricing-builder-checkout {
        border: 1px solid var(--tma-border);
        border-radius: 8px;
        padding: 1rem;
    }

    .site-shell.is-public-site .pricing-summary-divider {
        display: none;
    }

    .site-shell.is-public-site .pricing-builder-checkout > .mud-button-root {
        justify-self: stretch;
        min-width: 0;
        width: 100% !important;
    }
}

@media (min-width: 860px) {
    .site-shell.is-public-site .app-toolbar {
        display: grid;
        grid-template-areas: "menu title nav app logo";
        grid-template-columns: auto auto minmax(0, 1fr) auto auto;
        gap: 0.85rem;
        height: 56px;
        max-height: 56px;
        min-height: 56px;
        padding-inline: 1.35rem;
    }

    .site-shell.is-public-site .site-header .mud-toolbar {
        min-height: 56px;
    }

    .site-shell.is-public-site .toolbar-menu {
        grid-area: menu;
        padding-inline: 0.35rem !important;
    }

    .site-shell.is-public-site .toolbar-title {
        grid-area: title;
        justify-self: start;
        left: auto;
        max-width: none;
        position: static;
        transform: none;
        white-space: nowrap;
    }

    .site-shell.is-public-site .toolbar-public-nav {
        align-items: center;
        display: flex;
        gap: 0.2rem;
        grid-area: nav;
        justify-self: end;
        min-width: 0;
    }

    .site-shell.is-public-site .toolbar-app-signin {
        align-items: center;
        background: #9be8ed;
        border: 1px solid rgba(155, 232, 237, 0.86);
        border-radius: 4px;
        color: #07101d;
        display: inline-flex;
        font-size: 0.86rem;
        font-weight: 900;
        gap: 0.36rem;
        grid-area: app;
        justify-self: end;
        min-height: 34px;
        padding: 0.36rem 0.68rem;
        text-decoration: none;
        white-space: nowrap;
    }

    .site-shell.is-public-site .toolbar-app-signin:hover,
    .site-shell.is-public-site .toolbar-app-signin:focus-visible {
        background: #ffffff;
        border-color: #ffffff;
        color: #07101d;
        outline: 2px solid rgba(155, 232, 237, 0.5);
        outline-offset: 2px;
        text-decoration: none;
    }

    .site-shell.is-public-site .toolbar-logo {
        grid-area: logo;
        padding-right: 0;
    }

    .site-shell.is-public-site .app-page-title {
        font-size: 2.28rem !important;
    }

    .home-hero {
        align-items: center;
        gap: 1.75rem 2.7rem;
        grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.92fr);
        min-height: 540px;
        padding-block: 3rem 2.35rem;
    }

    .home-intent-hero {
        grid-template-columns: minmax(0, 0.92fr) minmax(340px, 0.78fr);
        min-height: 500px;
    }

    .home-hero-title {
        font-size: 3.75rem !important;
        max-width: 11ch;
    }

    .home-intent-hero .home-hero-title {
        max-width: 14ch;
    }

    .home-hero-subtitle,
    .home-hero-lead {
        max-width: 62ch;
    }

    .home-hero-media {
        min-height: 360px;
    }

    .home-hero-media > img {
        max-height: 480px;
        width: min(100%, 440px);
    }

    .home-intent-section {
        align-items: center;
        grid-template-columns: minmax(220px, 0.38fr) minmax(0, 1fr);
        padding-block: 1.2rem;
    }

    .home-intent-list {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-journey-section {
        align-items: start;
        gap: 1rem 1.35rem;
        grid-template-columns: minmax(220px, 0.28fr) minmax(0, 1fr);
        padding-block: 1.6rem;
    }

    .home-journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-intent-router {
        grid-template-columns: minmax(220px, 0.24fr) minmax(0, 1fr);
        padding-block: 2rem;
    }

    .home-intent-router .home-journey-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .evidence-stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-journey-card {
        align-content: start;
        grid-template-rows: auto minmax(5.2rem, auto) auto auto;
        min-height: 100%;
    }

    .home-intent-router .home-journey-card {
        grid-template-rows: auto minmax(5.8rem, auto) auto auto;
    }

    .host-market-offer-price-grid,
    .host-market-steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .host-market-story-card {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.72fr);
        padding: 1.2rem;
    }

    .home-intent-list .app-list-item {
        align-content: start;
        align-items: start;
        border: 0;
        min-height: 146px;
    }

    .home-intent-list .app-list-item + .app-list-item {
        border-left: 1px solid var(--public-border);
        border-top: 0;
    }

    .founder-offer-card {
        align-items: center;
        grid-template-columns: minmax(0, 1fr) minmax(210px, 0.34fr);
        padding: 1.25rem;
    }
}

@media (max-width: 620px) {
    .site-header {
        left: 0 !important;
        transform: none;
        width: 100%;
    }

    .site-main {
        width: 100%;
    }

    .app-canvas {
        box-shadow: none;
    }
}

@media (max-width: 560px) {
    .home-hero {
        gap: 0.95rem;
        padding-block: 1.2rem 0.95rem;
    }

    .home-product-hero {
        min-height: 0;
    }

    .home-hero,
    .home-hero-copy,
    .home-intent-section,
    .home-journey-section,
    .home-journey-grid,
    .home-intent-list,
    .evidence-stats-grid,
    .founder-offer-card,
    .founder-offer-copy,
    .app-list-item {
        max-width: 100%;
        min-width: 0;
    }

    .home-hero-copy {
        gap: 0.54rem;
    }

    .home-hero-title {
        font-size: 2.2rem !important;
        line-height: 1.04 !important;
    }

    .home-hero-subtitle {
        font-size: 1rem !important;
        line-height: 1.32 !important;
    }

    .home-hero-lead {
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }

    .home-hero-title,
    .home-hero-subtitle,
    .home-hero-lead,
    .home-journey-card-head strong,
    .home-journey-card .mud-typography-body2,
    .home-journey-links a,
    .home-intent-list .app-list-item strong,
    .home-intent-list .app-list-item small,
    .founder-offer-copy .mud-typography-h5,
    .founder-offer-copy .mud-typography-body2 {
        overflow-wrap: anywhere;
    }

    .home-founder-lock {
        gap: 0.5rem;
        padding: 0.68rem 0.72rem;
    }

    .home-hero-actions {
        gap: 0.62rem;
    }

    .home-hero-actions .mud-button-root {
        justify-content: center;
        min-width: 0;
        width: 100%;
    }

    .home-hero-notice {
        padding: 0.78rem 0.82rem;
    }

    .home-hero-notice span {
        font-size: 0.8rem;
        line-height: 1.34;
    }

    .home-proof-strip {
        gap: 0.5rem;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        padding-top: 0.72rem;
    }

    .home-proof-strip strong {
        font-size: 0.74rem;
    }

    .home-proof-strip small {
        font-size: 0.68rem;
    }

    .evidence-stats-section {
        gap: 1rem;
    }

    .evidence-stats-grid {
        grid-template-columns: 1fr;
    }

    .evidence-stat-card {
        padding: 0.88rem;
    }

    .home-hero-media {
        display: none;
    }

    .home-intent-router .home-journey-card .mud-button-root {
        justify-self: stretch;
        min-width: 0;
    }

    .contact-submit {
        align-self: stretch;
        width: 100%;
    }

    .checkout-start-grid {
        grid-template-columns: 1fr;
    }

    .checkout-start-summary {
        grid-template-columns: 1fr;
    }

    .checkout-start-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .checkout-start-actions .mud-button-root {
        width: 100%;
    }

    .checkout-account-handoff-card {
        align-items: stretch;
        grid-template-columns: 1fr;
    }

    .checkout-account-handoff-card .mud-button-root {
        justify-self: stretch;
        width: 100%;
    }

    .hero-logo {
        max-width: 218px;
        width: 76%;
    }

    .product-preview {
        grid-template-columns: 1fr;
    }

    .product-preview > img {
        max-height: 310px;
    }

    .pricing-builder-head,
    .addon-card,
    .pricing-addon-strip,
    .pricing-value-card,
    .pricing-terms-intro,
    .pricing-promo-card,
    .host-market-promo-code-card,
    .gallery-card {
        grid-template-columns: 1fr;
    }

    .billing-toggle {
        grid-template-columns: 1fr;
    }

    .billing-toggle .mud-toggle-item:not(:first-child) {
        border-left: 0 !important;
        border-top: 1px solid var(--tma-border) !important;
    }

    .pricing-snapshot {
        grid-template-columns: 1fr;
    }

    .pricing-builder-checkout > .mud-button-root {
        justify-self: stretch;
        width: 100% !important;
    }

    .comparison-table-wrap {
        display: none;
    }

    .comparison-card-list {
        display: block;
    }

    .performance-grid-wrap {
        display: none;
    }

    .performance-card-list {
        display: block;
    }

    .task-metric-grid,
    .task-template-grid,
    .task-builder-actions {
        grid-template-columns: 1fr;
    }

    .task-table-wrap {
        display: none;
    }

    .task-card-list {
        display: block;
    }

    .ticket-table-wrap {
        display: none;
    }

    .ticket-line-list {
        display: block;
    }

    .video-controls {
        grid-template-columns: 1fr;
    }

    .segmented-control {
        grid-template-columns: 1fr;
    }

    .segmented-wrap .mud-toggle-item {
        flex-basis: calc(50% - 0.35rem);
    }

    .story-card {
        grid-template-columns: 1fr;
    }

    .site-footer {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .footer-logo {
        grid-row: auto;
    }

    .site-footer nav {
        grid-column: auto;
        justify-content: center;
    }

    .site-footer p {
        grid-column: auto;
    }

    .footer-language {
        grid-column: auto;
        grid-row: auto;
        justify-content: center;
        justify-self: center;
    }
}

.patron-account-section {
    --patron-card-bg: color-mix(in srgb, var(--tma-surface) 94%, var(--mud-palette-primary) 6%);
}

.patron-account-action-row {
    display: flex;
    justify-content: center;
    padding-top: 0.75rem;
}

.patron-account-metric-grid,
.patron-account-card-grid {
    display: grid;
    gap: 0.9rem;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.patron-account-action-grid {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    padding-top: 1rem;
}

.patron-account-management-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.patron-account-card-grid.is-moods {
    grid-template-columns: repeat(auto-fit, minmax(245px, 1fr));
}

.patron-account-filter-card,
.patron-account-empty-card,
.patron-account-action-card,
.patron-account-management-card,
.patron-mood-workspace-card,
.patron-preference-group-card,
.patron-party-plan-card {
    align-items: flex-start;
    background: var(--patron-card-bg);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.75rem;
    padding: 1rem;
}

.patron-account-filter-card {
    grid-template-columns: auto 1fr auto;
}

.patron-account-action-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.patron-account-management-card {
    grid-template-columns: auto minmax(0, 1fr);
}

.patron-account-action-card .mud-button-root {
    grid-column: 2;
    justify-self: start;
    min-width: 0;
}

.patron-account-management-card .mud-input-control,
.patron-account-management-card .mud-button-root {
    grid-column: 1 / -1;
}

.patron-account-management-card .mud-button-root {
    justify-self: start;
    min-width: 0;
}

.patron-account-action-state {
    align-self: start;
    grid-column: 2;
    justify-self: start;
}

.patron-account-filter-card strong,
.patron-account-empty-card strong,
.patron-account-action-card strong,
.patron-account-management-card strong,
.patron-mood-workspace-card strong,
.patron-preference-group-card strong,
.patron-party-plan-card strong,
.patron-party-step-card strong {
    color: var(--tma-ink);
    display: block;
    line-height: 1.25;
}

.patron-account-filter-card small,
.patron-account-empty-card small,
.patron-account-action-card small,
.patron-account-management-card small,
.patron-mood-workspace-card small,
.patron-preference-group-card small,
.patron-party-plan-card small,
.patron-party-step-card small {
    color: var(--tma-muted);
    display: block;
    line-height: 1.35;
    margin-top: 0.2rem;
}

.patron-account-filter-card.is-exclude {
    background: color-mix(in srgb, var(--tma-surface) 92%, var(--mud-palette-warning) 8%);
}

.patron-preference-group-card {
    gap: 0.85rem;
}

.patron-preference-group-card.is-allergies {
    background: color-mix(in srgb, var(--tma-surface) 91%, var(--mud-palette-warning) 9%);
}

.patron-preference-group-head {
    align-items: flex-start;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.patron-preference-list {
    display: grid;
    gap: 0.62rem;
}

.patron-preference-list .patron-account-filter-card {
    background: var(--tma-surface);
    padding: 0.75rem;
}

.patron-account-empty-card {
    grid-template-columns: auto 1fr;
}

.patron-party-plan-card {
    gap: 0.9rem;
}

.patron-party-summary,
.patron-party-action-row {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.patron-party-step-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.patron-party-step-card {
    align-items: flex-start;
    background: var(--tma-surface);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 100%;
    padding: 0.85rem;
}

.patron-party-step-number {
    align-items: center;
    background: color-mix(in srgb, var(--mud-palette-primary) 14%, transparent);
    border: 1px solid color-mix(in srgb, var(--mud-palette-primary) 28%, var(--tma-border));
    border-radius: 999px;
    color: var(--mud-palette-primary);
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 900;
    height: 1.65rem;
    justify-content: center;
    line-height: 1;
    width: 1.65rem;
}

.patron-mood-card-head {
    align-items: flex-start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto 1fr;
}

.patron-mood-term-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.patron-mood-plan-grid {
    display: grid;
    gap: 0.65rem;
}

.patron-mood-term-group {
    background: var(--tma-surface);
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    display: grid;
    gap: 0.5rem;
    padding: 0.75rem;
}

.patron-mood-term-group > span {
    color: var(--tma-muted);
    font-size: 0.74rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.patron-mood-term-group.is-exclude {
    background: color-mix(in srgb, var(--tma-surface) 92%, var(--mud-palette-warning) 8%);
}

.patron-mood-base-note {
    border-top: 1px solid var(--tma-border);
    padding-top: 0.7rem;
}

.patron-mood-term-list span {
    border: 1px solid var(--tma-border);
    border-radius: 999px;
    color: var(--tma-ink);
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1;
    padding: 0.42rem 0.58rem;
}

.patron-mood-term-list .is-include {
    background: color-mix(in srgb, var(--mud-palette-primary) 10%, transparent);
}

.patron-mood-term-list .is-exclude {
    background: color-mix(in srgb, var(--mud-palette-warning) 12%, transparent);
}

@media (max-width: 560px) {
    .patron-account-filter-card,
    .patron-preference-group-head,
    .patron-party-summary,
    .patron-party-action-row {
        grid-template-columns: auto 1fr;
    }

    .patron-account-filter-card .mud-chip,
    .patron-preference-group-head .mud-chip,
    .patron-party-summary .mud-chip,
    .patron-party-action-row .mud-button-root {
        grid-column: 1 / -1;
        justify-self: start;
    }

    .patron-party-step-grid {
        grid-template-columns: 1fr;
    }
}

.home-cost-hero {
    align-items: start;
    min-height: 0;
}

.home-cost-hero-title {
    max-width: 14ch;
}

.home-card-eyebrow {
    color: var(--tma-blue);
    font-size: 0.74rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    text-transform: uppercase;
}

.home-cost-card {
    align-self: start;
    background: var(--public-surface);
    border: 1px solid rgba(155, 232, 237, 0.32);
    border-radius: 8px;
    box-shadow: 0 22px 54px rgba(0, 0, 0, 0.28);
    color: var(--public-text);
    display: grid;
    gap: 1rem;
    min-width: 0;
    padding: 1rem;
    width: 100%;
}

.site-shell.is-public-site .home-cost-card {
    background: var(--public-surface) !important;
    color: var(--public-text) !important;
}

.home-cost-card-head,
.home-pricing-offer-head,
.home-white-glove-card,
.home-unsure-card {
    align-items: start;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.home-cost-card-head span,
.home-cost-card-head .mud-typography,
.home-pricing-offer-head span,
.home-pricing-offer-head .mud-typography,
.home-white-glove-card span,
.home-unsure-card span {
    min-width: 0;
}

.home-cost-card-head .mud-typography-h5,
.home-pricing-offer-head .mud-typography-h5,
.home-white-glove-card .mud-typography-h5,
.home-unsure-card .mud-typography-h5 {
    color: var(--public-text);
    font-size: 1.18rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
    margin: 0 !important;
}

.site-shell.is-public-site .home-cost-card-head .mud-typography-h5,
.site-shell.is-public-site .home-cost-summary-grid strong {
    color: var(--public-text) !important;
}

.home-cost-value-wrap {
    background: #eef9fa;
    border: 1px solid rgba(51, 204, 204, 0.24);
    border-radius: 8px;
    display: grid;
    gap: 0.25rem;
    padding: 0.95rem;
}

.site-shell.is-public-site .home-cost-value-wrap,
.site-shell.is-public-site .home-cost-summary-grid span,
.site-shell.is-public-site .home-cost-assumptions .mud-expand-panel {
    background: var(--public-surface) !important;
}

.site-shell.is-public-site .home-cost-value-wrap {
    background: #eef9fa !important;
}

.home-cost-value {
    color: #07101d;
    display: block;
    font-size: 2.65rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.home-cost-value-wrap small,
.home-cost-summary-grid small,
.home-cost-summary-grid strong,
.home-pricing-price small,
.home-savings-card small,
.home-white-glove-card .mud-typography-body2,
.home-unsure-card .mud-typography-body2 {
    display: block;
}

.home-cost-value-wrap small {
    color: var(--public-muted);
    font-size: 0.88rem;
    font-weight: 800;
    line-height: 1.35;
}

.home-cost-summary-grid {
    display: grid;
    gap: 0.6rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.home-cost-summary-grid span {
    background: #f7fbfc;
    border: 1px solid var(--public-border);
    border-radius: 8px;
    min-width: 0;
    padding: 0.7rem;
}

.home-cost-summary-grid small {
    color: var(--public-muted);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.25;
}

.site-shell.is-public-site .home-cost-value-wrap small,
.site-shell.is-public-site .home-cost-summary-grid small,
.site-shell.is-public-site .home-cost-note {
    color: var(--public-muted) !important;
}

.home-cost-summary-grid strong {
    color: var(--public-text);
    font-size: 1rem;
    font-weight: 950;
    line-height: 1.1;
    margin-top: 0.28rem;
}

.home-cost-assumptions {
    border: 1px solid var(--public-border);
    border-radius: 8px;
    overflow: hidden;
}

.home-cost-assumptions .mud-expand-panel {
    background: var(--public-surface) !important;
    box-shadow: none !important;
}

.home-cost-assumptions .mud-expand-panel-header {
    min-height: 46px;
}

.home-cost-assumptions .mud-expand-panel-header-title {
    color: var(--public-text);
    font-size: 0.92rem;
    font-weight: 900;
}

.home-cost-fields {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr);
    padding-top: 0.4rem;
}

.home-cost-field-section {
    background: rgba(245, 248, 248, 0.72);
    border: 1px solid rgba(18, 53, 72, 0.12);
    border-radius: 8px;
    padding: 0.85rem;
}

.home-cost-field-section-title {
    color: var(--public-text) !important;
    font-size: 0.86rem !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    line-height: 1.15 !important;
    margin-bottom: 0.72rem !important;
}

.home-cost-field-section-grid {
    display: grid;
    gap: 0.72rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-cost-note {
    color: var(--public-muted);
    display: block;
    line-height: 1.38 !important;
    margin-top: 0.85rem !important;
}

.home-savings-grid {
    display: grid;
    gap: 0.85rem;
}

.site-shell.is-public-site .home-savings-section {
    padding-inline: max(1.35rem, calc((100vw - var(--public-hero-max)) / 2));
}

.home-savings-card,
.home-founder-story-card,
.home-pricing-offer-card,
.home-white-glove-card,
.home-unsure-card {
    background: var(--public-surface);
    border: 1px solid var(--public-border);
    border-radius: 8px;
    min-width: 0;
    padding: 1rem;
}

.home-savings-card {
    align-items: start;
    display: grid;
    gap: 0.7rem;
    grid-template-columns: auto minmax(0, 1fr);
}

.home-savings-card strong {
    color: var(--public-text);
    display: block;
    font-size: 1rem;
    font-weight: 900;
    line-height: 1.22;
}

.home-savings-card small {
    color: var(--public-muted);
    font-size: 0.86rem;
    line-height: 1.42;
    margin-top: 0.22rem;
}

.home-founder-pricing-grid {
    display: grid;
    gap: 1rem;
}

.home-founder-story-card {
    display: grid;
    gap: 1rem;
}

.home-founder-story-card img {
    aspect-ratio: 4 / 3;
    border-radius: 8px;
    object-fit: cover;
    width: 100%;
}

.home-founder-story-card > div {
    display: grid;
    gap: 0.65rem;
}

.home-founder-story-card .mud-typography-h5 {
    color: var(--public-text);
    font-size: 1.3rem !important;
    font-weight: 900 !important;
    letter-spacing: 0 !important;
    line-height: 1.18 !important;
}

.home-founder-story-card .mud-typography-body2,
.home-pricing-offer-card .mud-typography-body2 {
    color: var(--public-muted);
    line-height: 1.5 !important;
}

.home-founder-story-card .mud-button-root {
    justify-self: start;
}

.home-pricing-offer-card {
    display: grid;
    gap: 1rem;
}

.home-pricing-price {
    background: #07101d;
    border-radius: 8px;
    color: #f4f7ff;
    display: grid;
    gap: 0.18rem;
    padding: 1rem;
}

.home-pricing-price strong {
    display: block;
    font-size: 2.4rem;
    font-weight: 950;
    letter-spacing: 0;
    line-height: 1;
}

.home-pricing-price small {
    color: rgba(244, 247, 255, 0.78);
    font-size: 0.86rem;
    font-weight: 800;
}

.home-final-grid {
    display: grid;
    gap: 1rem;
}

.home-white-glove-card,
.home-unsure-card {
    align-content: start;
    gap: 0.9rem;
}

.home-white-glove-card span,
.home-unsure-card span {
    display: grid;
    gap: 0.72rem;
}

.home-white-glove-card .mud-typography-body2,
.home-unsure-card .mud-typography-body2 {
    color: var(--public-muted);
    line-height: 1.5 !important;
}

.home-white-glove-card .mud-button-root,
.home-unsure-card .mud-button-root {
    max-width: 100%;
    justify-self: start;
    min-width: 0;
    white-space: nowrap;
}

.home-white-glove-card .mud-button-label,
.home-unsure-card .mud-button-label {
    align-items: center;
    display: inline-flex;
    flex-wrap: nowrap;
    min-width: 0;
    white-space: nowrap;
}

.home-white-glove-card .mud-button-icon-end,
.home-unsure-card .mud-button-icon-end {
    flex: 0 0 auto;
}

@media (min-width: 860px) {
    .home-cost-hero {
        align-items: center;
        grid-template-columns: minmax(0, 0.95fr) minmax(360px, 0.8fr);
        min-height: 0;
        padding-block: 2.65rem 2.15rem;
    }

    .home-cost-hero-title {
        font-size: 3.35rem !important;
        max-width: 15ch;
    }

    .home-savings-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .home-savings-card {
        grid-template-columns: 1fr;
        min-height: 100%;
    }

    .home-founder-pricing-grid {
        align-items: stretch;
        grid-template-columns: minmax(0, 1fr) minmax(310px, 0.72fr);
    }

    .home-founder-story-card {
        grid-template-columns: minmax(240px, 0.7fr) minmax(0, 1fr);
    }

    .home-founder-story-card img {
        height: 100%;
    }

    .home-final-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .home-cost-hero {
        gap: 0.8rem;
        padding-block: 0.95rem 0.8rem;
    }

    .home-cost-hero .home-hero-copy {
        gap: 0.46rem;
    }

    .home-cost-hero .home-hero-subtitle,
    .home-cost-hero .home-hero-lead,
    .home-cost-card-head .mud-typography-h5 {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .home-cost-hero-title {
        font-size: 1.9rem !important;
        line-height: 1.08 !important;
        max-width: 17ch;
    }

    .home-cost-card {
        gap: 0.6rem;
        overflow: hidden;
        padding: 0.78rem;
    }

    .home-cost-card-head {
        gap: 0.55rem;
    }

    .home-cost-card-head .mud-typography-h5 {
        font-size: 1rem !important;
        line-height: 1.16 !important;
    }

    .home-cost-card,
    .home-savings-card,
    .home-founder-story-card,
    .home-pricing-offer-card,
    .home-white-glove-card,
    .home-unsure-card {
        max-width: 100%;
        min-width: 0;
    }

    .home-cost-value {
        font-size: 1.95rem;
    }

    .home-cost-value-wrap {
        gap: 0.12rem;
        justify-self: start;
        max-width: 100%;
        padding: 0.56rem 0.68rem 0.52rem;
        width: fit-content;
    }

    .home-cost-value-wrap small {
        max-width: 19rem;
    }

    .home-cost-fields,
    .home-savings-grid,
    .home-founder-pricing-grid,
    .home-final-grid {
        grid-template-columns: 1fr;
    }

    .home-cost-field-section {
        padding: 0.75rem;
    }

    .home-cost-field-section-grid {
        grid-template-columns: 1fr;
    }

    .home-cost-summary-grid {
        display: none;
    }

    .home-cost-assumptions .mud-expand-panel-header {
        min-height: 42px;
    }

    .home-cost-card-head .mud-typography-h5,
    .home-pricing-offer-head .mud-typography-h5,
    .home-white-glove-card .mud-typography-h5,
    .home-unsure-card .mud-typography-h5,
    .home-founder-story-card .mud-typography-h5,
    .home-savings-card strong,
    .home-savings-card small,
    .home-cost-value-wrap small,
    .home-cost-summary-grid small,
    .home-white-glove-card .mud-typography-body2,
    .home-unsure-card .mud-typography-body2 {
        overflow-wrap: anywhere;
    }

    .home-white-glove-card,
    .home-unsure-card {
        grid-template-columns: 1fr;
    }

    .home-white-glove-card .mud-button-root,
    .home-unsure-card .mud-button-root {
        justify-self: start;
        width: auto;
    }
}

.printable-menu-template-section {
    container-type: inline-size;
}

.printable-menu-workbench {
    display: grid;
    gap: 1rem;
    min-width: 0;
}

.printable-menu-workbench > * {
    min-width: 0;
}

.printable-menu-controls,
.printable-menu-preview-panel {
    background: #ffffff;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    box-shadow: 0 10px 28px rgba(44, 62, 80, 0.1);
}

.printable-menu-controls {
    align-content: start;
    display: grid;
    gap: 0.85rem;
}

.printable-menu-controls-head {
    display: grid;
    gap: 0.18rem;
}

.printable-menu-controls-head .mud-typography-h6,
.printable-menu-preview-head .mud-typography-h6 {
    color: var(--tma-text);
    font-size: 1.02rem;
    font-weight: 850;
    letter-spacing: 0;
}

.printable-menu-controls-head .mud-typography-body2,
.printable-menu-preview-head .mud-typography-body2 {
    color: var(--tma-subtle);
    line-height: 1.35;
}

.printable-menu-preset-grid {
    display: grid;
    gap: 0.56rem;
}

.printable-menu-control-group {
    display: grid;
    gap: 0.54rem;
}

.printable-menu-control-title {
    display: grid;
    gap: 0.18rem;
}

.printable-menu-size-grid {
    display: grid;
    gap: 0.48rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.printable-menu-preset-card {
    align-items: center;
    background: color-mix(in srgb, var(--printable-menu-paper) 88%, #ffffff 12%);
    border: 1px solid color-mix(in srgb, var(--printable-menu-accent) 24%, var(--tma-border) 76%);
    border-radius: 8px;
    color: var(--printable-menu-ink);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 0.64rem;
    grid-template-columns: 2.25rem minmax(0, 1fr) auto;
    min-height: 3.75rem;
    padding: 0.62rem 0.68rem;
    text-align: left;
    transition: border-color 140ms ease, box-shadow 140ms ease, transform 140ms ease;
    width: 100%;
}

.printable-menu-size-card {
    align-items: center;
    background: #fbfdfe;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    color: var(--tma-text);
    cursor: pointer;
    display: grid;
    font: inherit;
    gap: 0.38rem;
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 3.42rem;
    padding: 0.55rem 0.58rem;
    text-align: left;
    transition: border-color 140ms ease, box-shadow 140ms ease;
    width: 100%;
}

.printable-menu-size-card:hover,
.printable-menu-size-card:focus-visible {
    border-color: rgba(41, 128, 185, 0.74);
    box-shadow: 0 8px 18px rgba(44, 62, 80, 0.1);
    outline: none;
}

.printable-menu-preset-card:hover,
.printable-menu-preset-card:focus-visible {
    border-color: var(--printable-menu-accent);
    box-shadow: 0 8px 18px color-mix(in srgb, var(--printable-menu-accent) 18%, transparent);
    outline: none;
    transform: translateY(-1px);
}

.printable-menu-preset-card.is-selected {
    background: color-mix(in srgb, var(--printable-menu-paper) 72%, #ffffff 28%);
    border-color: var(--printable-menu-accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--printable-menu-accent) 18%, transparent);
}

.printable-menu-size-card.is-selected {
    background: #eef8fb;
    border-color: var(--mud-palette-primary);
    box-shadow: 0 0 0 2px rgba(41, 128, 185, 0.14);
}

.printable-menu-preset-card strong,
.printable-menu-coverage-card strong,
.printable-menu-size-card strong {
    display: block;
    font-size: 0.93rem;
    font-weight: 850;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.printable-menu-preset-card small,
.printable-menu-coverage-card small,
.printable-menu-feature-note small,
.printable-menu-size-card small {
    color: color-mix(in srgb, var(--printable-menu-ink, var(--tma-text)) 70%, #ffffff 30%);
    display: block;
    font-size: 0.76rem;
    line-height: 1.24;
    margin-top: 0.12rem;
    overflow-wrap: anywhere;
}

.printable-menu-preset-swatch {
    background:
        linear-gradient(135deg, var(--printable-menu-paper) 0 48%, var(--printable-menu-accent) 48% 68%, var(--printable-menu-accent-2) 68% 100%);
    border: 1px solid color-mix(in srgb, var(--printable-menu-ink) 22%, #ffffff 78%);
    border-radius: 8px;
    display: block;
    height: 2.25rem;
    width: 2.25rem;
}

.printable-menu-feature-note {
    align-items: start;
    background: #f7fbfc;
    border: 1px solid color-mix(in srgb, var(--tma-blue) 18%, var(--tma-border) 82%);
    border-radius: 8px;
    color: var(--tma-text);
    display: grid;
    gap: 0.58rem;
    grid-template-columns: auto minmax(0, 1fr);
    padding: 0.68rem;
}

.printable-menu-image-toggle {
    background: #fbfdfe;
    border: 1px solid var(--tma-border);
    border-radius: 8px;
    padding: 0.32rem 0.6rem;
}

.printable-menu-image-toggle .mud-switch {
    margin: 0;
}

.printable-menu-feature-note strong {
    display: block;
    font-size: 0.86rem;
    font-weight: 850;
    line-height: 1.2;
}

.printable-menu-preview-panel {
    display: grid;
    gap: 0.8rem;
}

.printable-menu-preview-head {
    align-items: start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.printable-menu-preview-head > span {
    min-width: 0;
}

.printable-menu-preview {
    aspect-ratio: var(--printable-menu-ratio, 8.5 / 11);
    background: var(--printable-menu-paper);
    border: 1px solid color-mix(in srgb, var(--printable-menu-accent) 28%, #000000 6%);
    border-radius: 8px;
    box-shadow: 0 16px 34px rgba(44, 62, 80, 0.14);
    color: var(--printable-menu-ink);
    display: grid;
    font-family: var(--printable-menu-body-font);
    gap: 0.86rem;
    margin-inline: auto;
    max-width: 100%;
    min-width: 0;
    overflow: hidden;
    padding: 1rem;
    width: min(100%, var(--printable-menu-preview-width, 31rem));
}

.printable-menu-sheet-head,
.printable-menu-sheet-foot {
    border-color: color-mix(in srgb, var(--printable-menu-accent) 34%, transparent);
    color: var(--printable-menu-ink);
    display: grid;
    justify-items: center;
    text-align: center;
}

.printable-menu-sheet-head {
    border-bottom: 2px solid;
    gap: 0.18rem;
    padding-bottom: 0.72rem;
}

.printable-menu-sheet-head small {
    color: var(--printable-menu-accent);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1;
    text-transform: uppercase;
}

.printable-menu-sheet-head strong {
    font-family: var(--printable-menu-heading-font);
    font-size: 1.72rem;
    font-weight: 900;
    line-height: 1.03;
    overflow-wrap: anywhere;
}

.printable-menu-sheet-head span {
    color: color-mix(in srgb, var(--printable-menu-ink) 76%, var(--printable-menu-paper) 24%);
    font-size: 0.78rem;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.printable-menu-section-grid {
    display: grid;
    gap: 0.82rem;
    grid-template-columns: repeat(var(--printable-menu-section-columns, 2), minmax(0, 1fr));
}

.printable-menu-section {
    display: grid;
    gap: 0.42rem;
    min-width: 0;
}

.printable-menu-section-head {
    border-bottom: 1px solid color-mix(in srgb, var(--printable-menu-accent) 36%, transparent);
    display: grid;
    gap: 0.16rem;
    padding-bottom: 0.24rem;
}

.printable-menu-section-head h3 {
    color: var(--printable-menu-accent);
    font-family: var(--printable-menu-heading-font);
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.12;
    margin: 0;
    text-transform: uppercase;
}

.printable-menu-section-head p {
    color: color-mix(in srgb, var(--printable-menu-ink) 66%, var(--printable-menu-paper) 34%);
    font-size: 0.65rem;
    line-height: 1.28;
    margin: 0;
    overflow-wrap: anywhere;
}

.printable-menu-item,
.printable-menu-featured-callout {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.printable-menu-item-has-image {
    align-items: start;
    grid-template-columns: 4.3rem minmax(0, 1fr);
}

.printable-menu-item-image {
    aspect-ratio: 1 / 1;
    border: 1px solid color-mix(in srgb, var(--printable-menu-accent) 26%, var(--printable-menu-paper) 74%);
    border-radius: 8px;
    display: block;
    height: auto;
    object-fit: cover;
    overflow: hidden;
    width: 100%;
}

.printable-menu-item-copy {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

.printable-menu-item-row {
    align-items: baseline;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: minmax(0, 1fr) auto;
}

.printable-menu-item-row strong {
    font-family: var(--printable-menu-heading-font);
    font-size: 0.8rem;
    font-weight: 850;
    line-height: 1.18;
    overflow-wrap: anywhere;
}

.printable-menu-item-row span {
    color: var(--printable-menu-accent);
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.printable-menu-item p,
.printable-menu-featured-callout p {
    color: color-mix(in srgb, var(--printable-menu-ink) 72%, var(--printable-menu-paper) 28%);
    font-size: 0.68rem;
    line-height: 1.3;
    margin: 0;
    overflow-wrap: anywhere;
}

.printable-menu-featured-callout {
    background: color-mix(in srgb, var(--printable-menu-accent) 8%, var(--printable-menu-paper) 92%);
    border: 1px solid color-mix(in srgb, var(--printable-menu-accent) 42%, var(--printable-menu-paper) 58%);
    border-radius: 8px;
    box-shadow: inset 0 0 0 1px color-mix(in srgb, #ffffff 52%, transparent);
    padding: 0.52rem;
}

.printable-menu-callout-label {
    align-items: center;
    color: var(--printable-menu-accent);
    display: flex;
    font-size: 0.66rem;
    font-weight: 900;
    gap: 0.24rem;
    line-height: 1;
    text-transform: uppercase;
}

.printable-menu-sheet-foot {
    border-top: 1px solid;
    font-size: 0.66rem;
    line-height: 1.24;
    padding-top: 0.58rem;
}

.printable-menu-preview--taqueria .printable-menu-sheet-head {
    border-bottom-style: dashed;
}

.printable-menu-preview--taqueria .printable-menu-featured-callout {
    border-width: 2px;
}

.printable-menu-preview--sushi .printable-menu-section-grid {
    gap: 1rem;
}

.printable-menu-preview--sushi .printable-menu-featured-callout {
    background: color-mix(in srgb, var(--printable-menu-accent-2) 7%, var(--printable-menu-paper) 93%);
}

.printable-menu-preview--brunch .printable-menu-section h3,
.printable-menu-preview--family-diner .printable-menu-section h3 {
    text-transform: none;
}

.printable-menu-preview--steakhouse .printable-menu-sheet-head strong {
    text-transform: uppercase;
}

.printable-menu-paper--letter-landscape .printable-menu-sheet-head,
.printable-menu-paper--tabloid .printable-menu-sheet-head {
    padding-bottom: 0.52rem;
}

.printable-menu-paper--letter-landscape .printable-menu-section-grid,
.printable-menu-paper--tabloid .printable-menu-section-grid {
    gap: 0.68rem;
}

.printable-menu-paper--letter-landscape .printable-menu-item-has-image,
.printable-menu-paper--tabloid .printable-menu-item-has-image {
    grid-template-columns: 3.35rem minmax(0, 1fr);
}

.printable-menu-paper--half-letter .printable-menu-section-grid {
    gap: 0.58rem;
}

.printable-menu-paper--half-letter .printable-menu-item-has-image {
    grid-template-columns: 3.75rem minmax(0, 1fr);
}

.printable-menu-coverage-grid {
    display: grid;
    gap: 0.72rem;
    grid-template-columns: repeat(auto-fit, minmax(10.5rem, 1fr));
}

.printable-menu-coverage-card {
    align-content: start;
    background: color-mix(in srgb, var(--printable-menu-paper) 86%, #ffffff 14%);
    border: 1px solid color-mix(in srgb, var(--printable-menu-accent) 20%, var(--tma-border) 80%);
    border-radius: 8px;
    color: var(--printable-menu-ink);
    display: grid;
    gap: 0.38rem;
    min-height: 9rem;
    padding: 0.78rem;
}

.printable-menu-coverage-card em {
    align-self: end;
    border-top: 1px solid color-mix(in srgb, var(--printable-menu-accent) 28%, transparent);
    color: var(--printable-menu-accent);
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 900;
    line-height: 1.2;
    padding-top: 0.42rem;
    text-transform: uppercase;
}

@container (min-width: 860px) {
    .printable-menu-workbench {
        align-items: start;
        grid-template-columns: minmax(17rem, 0.86fr) minmax(0, 1.14fr);
    }

    .printable-menu-preview-panel {
        position: sticky;
        top: 54px;
        z-index: 20;
    }
}

@container (max-width: 620px) {
    .printable-menu-preset-card {
        grid-template-columns: 2rem minmax(0, 1fr) auto;
        min-height: 3.45rem;
        padding: 0.56rem;
    }

    .printable-menu-preset-swatch {
        height: 2rem;
        width: 2rem;
    }

    .printable-menu-preview {
        padding: 0.72rem;
    }

    .printable-menu-sheet-head strong {
        font-size: 1.38rem;
    }

    .printable-menu-section-grid {
        grid-template-columns: 1fr;
    }

    .printable-menu-coverage-grid {
        grid-template-columns: 1fr;
    }

    .printable-menu-size-grid {
        grid-template-columns: 1fr;
    }

    .printable-menu-item-has-image,
    .printable-menu-paper--letter-landscape .printable-menu-item-has-image,
    .printable-menu-paper--tabloid .printable-menu-item-has-image,
    .printable-menu-paper--half-letter .printable-menu-item-has-image {
        grid-template-columns: 3.5rem minmax(0, 1fr);
    }
}

/* FB-92 descriptor-review mobile-first — start */
/* The /admin/descriptor-review console is triaged from phones as much as desktops, and each of its five sections
   carries a region wider than a 375px viewport: the provenance tables, the triage/catalog card grids, and the
   filter panels (whose shared desktop template starts at a 16rem column). Authored mobile-first à la AR.1: the
   base rules target 375px — single column, stacked cards, self-contained horizontal scroll for the tables, 44px
   touch targets — and min-width queries layer the desktop grids back on. The admin canvas clips the shell
   (FB-86 containment rule), so every region here must stay inside its own box: max-width: 100% / min-width: 0
   down the chain. Scoped to the descriptor-review-* classes only. Layout only — no decision-flow changes. */
.descriptor-review-section,
.descriptor-review-section .admin-metric-grid,
.descriptor-review-section .admin-workspace-grid,
.descriptor-review-section .admin-workspace-card,
.descriptor-review-section .admin-workspace-card > *,
.descriptor-review-section .tool-access-filter-panel {
    max-width: 100%;
    min-width: 0;
}

/* The wide provenance tables scroll inside their own wrapper instead of pushing the shell wide; the table keeps
   its readable min-width (the FB-40 rule above) and this wrapper owns the overflow. */
.descriptor-review-scroll-x {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
}

/* Base = 375px: metrics, triage cards, and the filter panels all stack to one full-width column. */
.descriptor-review-metric-grid.admin-metric-grid,
.descriptor-review-card-grid.admin-workspace-grid,
.descriptor-review-filter-panel.tool-access-filter-panel {
    grid-template-columns: 1fr;
}

.descriptor-review-filter-panel .tool-access-filter-summary {
    min-width: 0;
}

/* A long submitted/canonical term breaks instead of forcing its card wider than the viewport. */
.descriptor-review-section .admin-workspace-card .mud-typography-h6 {
    overflow-wrap: anywhere;
}

/* 44px touch floor on the card decision/draft actions; the table decision buttons already carry it (FB-40). */
.descriptor-review-section .descriptor-review-actions .mud-button-root,
.descriptor-review-section .descriptor-draft-panel .mud-button-root {
    min-height: 44px;
}

@media (min-width: 640px) {
    /* Layer the shared multi-column grids back on once there's width to spare. */
    .descriptor-review-metric-grid.admin-metric-grid {
        grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    }

    .descriptor-review-card-grid.admin-workspace-grid {
        grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    }

    .descriptor-review-filter-panel.tool-access-filter-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (min-width: 1100px) {
    /* The filter panels return to the full desktop search/filters/summary row. */
    .descriptor-review-filter-panel.tool-access-filter-panel {
        grid-template-columns: minmax(16rem, 1.4fr) minmax(12rem, 0.8fr) minmax(12rem, 0.8fr) auto;
    }
}
/* FB-92 descriptor-review mobile-first — end */

/* Admin-console page-scoped blocks continue in admin.css: app.css sits just under the public-surface
   size budget, so new admin styling lands there (same mobile-first authoring rules). */
