:root {
    --green:#075b4f;
    --green-dark:#063f38;
    --cream:#f8f4e9;
    --paper:#fffdf7;
    --red:#a63828;
    --gold:#f3c968;
    --line:#a9c9c0;
    --muted:#476b64
}
* {
    box-sizing:border-box
}
html,body {
    margin:0;
    background:var(--cream);
    color:var(--green-dark);
    font-family:Inter,system-ui,sans-serif
}
h1,h2,h3 {
    font-family:Georgia,serif;
    margin-top:0
}
h1 {
    font-size:clamp(44px,7vw,74px);
    line-height:.98
}
h2 {
    font-size:clamp(28px,4vw,42px)
}
a {
    color:inherit
}
.page-width {
    width:min(1180px,calc(100% - 40px));
    margin-inline:auto
}
.site-header {
    position:fixed;
    inset:0 0 auto;
    z-index:1000;
    height:82px;
    background:#fbf8ef;
    border-bottom:1px solid #8fb5aa
}
.site-header__inner {
    width:min(1180px,calc(100% - 40px));
    height:100%;
    margin:auto;
    display:flex;
    align-items:center;
    gap:24px
}
.brand {
    text-decoration:none
}
.brand__name,.brand__tagline {
    display:block
}
.brand__name {
    font:700 30px Georgia
}
.brand__tagline {
    font-size:9px;
    font-weight:800;
    letter-spacing:.2em;
    text-transform:uppercase
}
.site-nav {
    margin-left:auto;
    display:flex;
    align-items:center;
    gap:4px
}
.site-nav__link {
    display:flex;
    min-height:54px;
    padding:8px 12px;
    flex-direction:column;
    justify-content:center;
    text-decoration:none;
    font-weight:750
}
.site-nav__link small {
    margin-top:3px;
    color:var(--red);
    font-size:9px
}
.announcement {
    position:fixed;
    z-index:999;
    top:82px;
    width:100%;
    overflow:hidden;
    background:var(--green-dark);
    color:#fff;
    white-space:nowrap
}
.announcement__track {
    display:inline-flex;
    gap:22px;
    padding:9px 0;
    font-size:10px;
    font-weight:900;
    letter-spacing:.13em;
    animation:ticker 30s linear infinite
}
.announcement b {
    color:var(--gold)
}
@keyframes ticker {
    to {
        transform:translateX(-50%)
    }
}
.site-main {
    min-height:calc(100vh - 90px);
    padding-top:116px
}
.site-footer {
    padding:30px;
    text-align:center;
    background:var(--green-dark);
    color:#d6e5e1
}
.hero-section {
    padding:70px 0 45px
}
.hero-section__inner {
    text-align:center
}
.hero-section__copy {
    max-width:650px;
    margin:18px auto;
    color:var(--muted);
    line-height:1.7
}
.eyebrow {
    margin:0 0 12px;
    color:var(--red);
    font-size:11px;
    font-weight:900;
    letter-spacing:.13em
}
.content-section,.customer-night,.order-page,.owner-page {
    padding:55px 0 75px
}
.section-heading {
    display:flex;
    justify-content:space-between;
    align-items:end;
    gap:30px;
    margin-bottom:26px
}
.section-heading>p {
    max-width:430px;
    color:var(--muted)
}
.night-grid,.favourites-grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:18px
}
.night-card,.favourite-card,.panel,.product-card {
    padding:24px;
    border:1px solid var(--line);
    border-radius:22px;
    background:var(--paper)
}
.night-card {
    display:flex;
    min-height:280px;
    flex-direction:column
}
.night-card h3,.favourite-card h3,.product-card h2 {
    margin:18px 0 8px;
    font-size:28px
}
.card-actions {
    display:flex;
    gap:9px;
    margin-top:auto;
    flex-wrap:wrap
}
.button {
    display:inline-flex;
    min-height:44px;
    padding:0 17px;
    align-items:center;
    justify-content:center;
    border:1px solid transparent;
    border-radius:12px;
    text-decoration:none;
    font:800 14px Inter,system-ui;
    cursor:pointer
}
.button--primary {
    background:var(--green);
    color:#fff
}
.button--ghost {
    border-color:var(--green);
    color:var(--green)
}
.button--light {
    background:#fff;
    color:var(--green)
}
.button--wide {
    width:100%
}
.button:disabled {
    cursor:not-allowed;
    opacity:.45
}
.favourites-section {
    padding:65px 0;
    background:var(--green);
    color:#fff
}
.section-heading--light .eyebrow {
    color:var(--gold)
}
.favourite-card {
    background:#0b5047;
    border-color:#589186
}
.favourite-card__tag,.status-chip {
    display:inline-flex;
    padding:7px 10px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em
}
.favourite-card__tag {
    background:#fff;
    color:var(--green)
}
.status-chip {
    background:#e5eee9;
    color:var(--green)
}
.status-chip--live {
    background:#23765e;
    color:#fff
}
.status-chip--cancelled {
    background:#f6dfda;
    color:#8b281b
}
.status-chip--completed {
    background:#d7d4cb;
    color:#423f38
}
.customer-night__hero,.page-heading {
    text-align:center;
    margin-bottom:34px
}
.customer-night__hero>p:last-child {
    max-width:650px;
    margin-inline:auto;
    color:var(--muted)
}
.metric-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
    gap:12px;
    margin:22px 0
}
.metric-grid--five {
    grid-template-columns:repeat(5,1fr)
}
.metric-card {
    padding:22px;
    border-radius:20px;
    background:var(--paper);
    text-align:center
}
.metric-card--accent {
    background:var(--red);
    color:#fff
}
.metric-card__value,.metric-card__label {
    display:block
}
.metric-card__value {
    font-size:34px
}
.metric-card__label {
    margin-top:5px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.08em;
    text-transform:uppercase
}
.customer-night__grid,.owner-two-column {
    display:grid;
    grid-template-columns:1.2fr .8fr;
    gap:18px
}
.panel--dark,.order-summary {
    background:var(--green);
    color:#fff
}
.panel--dark .eyebrow {
    color:var(--gold)
}
.slot-row,.summary-row {
    display:flex;
    justify-content:space-between;
    padding:11px 2px;
    border-bottom:1px solid #c7d7d2
}
.next-night-panel {
    max-width:620px;
    margin:auto;
    text-align:center
}
.order-layout {
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(310px,1fr);
    gap:20px;
    align-items:start
}
.product-list {
    display:grid;
    gap:14px
}
.product-card {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}
.order-summary {
    position:sticky;
    top:135px;
    padding:24px;
    border-radius:22px
}
.summary-row--total {
    margin-top:8px;
    font-size:18px
}
.payment-note {
    display:flex;
    margin:18px 0;
    padding:15px;
    flex-direction:column;
    border-radius:12px;
    background:#fff;
    color:var(--green-dark)
}
.quantity-picker {
    display:grid;
    grid-template-columns:40px 42px 40px;
    height:40px;
    overflow:hidden;
    border:1px solid #639b8c;
    border-radius:12px;
    background:#fff
}
.quantity-picker__button {
    display:grid;
    width:40px;
    height:40px;
    margin:0;
    padding:0;
    place-items:center;
    border:0;
    background:#fff;
    color:var(--green);
    cursor:pointer
}
.quantity-picker__button:disabled {
    opacity:.35
}
.quantity-picker__value {
    display:grid;
    width:42px;
    height:40px;
    place-items:center;
    border-inline:1px solid #99bbb2;
    color:var(--green);
    font-weight:900
}
.owner-tabs {
    display:flex;
    gap:7px;
    margin-bottom:30px;
    overflow-x:auto
}
.owner-tabs__link {
    padding:10px 14px;
    border-radius:10px;
    text-decoration:none;
    white-space:nowrap
}
.owner-tabs__link--active {
    background:var(--green);
    color:#fff
}
.large-value {
    display:block;
    font-size:42px
}
.loading-state {
    display:grid;
    min-height:45vh;
    place-items:center
}
.login-page {
    padding:80px 0
}
.login-card {
    border-radius:24px!important
}
.owner-login-form {
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-top:24px;
    text-align:left
}
.owner-login-form>input {
    height:52px;
    padding:0 14px;
    border:1px solid #7ba89d;
    border-radius:12px
}
.owner-login-submit {
    height:54px;
    margin-top:10px;
    border:0;
    border-radius:14px;
    background:var(--green);
    color:#fff;
    font-weight:900
}
.ticket,.slot-editor {
    border-radius:18px!important
}
.ticket-item {
    justify-content:space-between!important
}
.ticket-item.done {
    opacity:.55
}
@media(max-width:850px) {
    .night-grid,.favourites-grid {
        grid-template-columns:1fr
    }
    .order-layout,.customer-night__grid,.owner-two-column {
        grid-template-columns:1fr
    }
    .metric-grid--five {
        grid-template-columns:repeat(2,1fr)
    }
    .order-summary {
        position:static
    }
    .section-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .product-card {
        align-items:flex-start
    }
    .site-nav__link {
        padding:6px
    }
    .site-nav__link small {
        display:none
    }
    .brand__tagline {
        display:none
    }
}
@media(max-width:560px) {
    .page-width,.site-header__inner {
        width:min(100% - 24px,1180px)
    }
    .site-header {
        height:72px
    }
    .announcement {
        top:72px
    }
    .site-main {
        padding-top:106px
    }
    .brand__name {
        font-size:23px
    }
    .site-nav {
        gap:0
    }
    .site-nav__link {
        font-size:12px
    }
    .product-card {
        flex-direction:column
    }
    .quantity-picker {
        align-self:flex-end
    }
    .metric-grid {
        grid-template-columns:1fr 1fr
    }
}
@media(prefers-reduced-motion:reduce) {
    .announcement__track {
        animation:none
    }
}
.confirmation-page {
    display:grid;
    min-height:calc(100vh - 220px);
    padding:65px 0 85px;
    place-items:center
}
.confirmation-card {
    width:min(620px,100%);
    padding:48px 32px;
    border:1px solid var(--line);
    border-radius:24px;
    background:var(--paper);
    text-align:center
}
.confirmation-card__icon {
    margin-bottom:16px
}
.confirmation-card__icon .mud-icon-root {
    font-size:64px!important
}
.confirmation-card h1 {
    font-size:clamp(40px,6vw,62px)
}
.confirmation-card__message {
    max-width:480px;
    margin:0 auto 28px;
    color:var(--muted);
    line-height:1.7
}
.owner-title-row,.cancelled-orders-header {
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:24px
}
.owner-actions {
    display:flex;
    gap:10px;
    align-items:center;
    flex-wrap:wrap
}
.owner-actions form {
    margin:0
}
.button--danger {
    border-color:#b33c2e;
    background:#fff;
    color:#922d21
}
.owner-feature-card {
    margin:26px 0
}
.owner-list-section {
    margin-top:42px
}
.night-card--cancelled {
    border-color:#d4a097;
    background:#fff8f6
}
.text-link {
    display:inline-block;
    margin-bottom:24px;
    font-weight:800
}
.cancelled-orders-header {
    margin-bottom:24px
}
.metric-grid--cancelled {
    grid-template-columns:repeat(6,1fr)
}
.cancelled-order-list {
    display:grid;
    gap:16px
}
.cancelled-order-card {
    padding:24px;
    border:1px solid var(--line);
    border-radius:20px;
    background:var(--paper)
}
.cancelled-order-card__header {
    display:flex;
    justify-content:space-between;
    gap:20px
}
.cancelled-order-card__time {
    color:var(--red);
    font-weight:900
}
.cancelled-order-card__header h2 {
    margin:5px 0
}
.cancelled-order-card__header p {
    margin:0;
    color:var(--muted)
}
.cancelled-order-card__contact {
    display:flex;
    gap:16px;
    margin:18px 0;
    flex-wrap:wrap
}
.cancelled-order-card__contact a {
    font-weight:800
}
.payment-badge {
    align-self:flex-start;
    padding:8px 11px;
    border-radius:999px;
    font-size:10px;
    font-weight:900;
    letter-spacing:.07em;
    white-space:nowrap
}
.payment-badge--paid {
    background:#f8ddaf;
    color:#704600
}
.payment-badge--unpaid {
    background:#dfe9e5;
    color:var(--green)
}
.cancelled-order-card__items {
    padding:12px 16px;
    border-radius:14px;
    background:#f5f0e5
}
.empty-state {
    text-align:center
}
@media(max-width:950px) {
    .metric-grid--cancelled {
        grid-template-columns:repeat(3,1fr)
    }
}
@media(max-width:650px) {
    .owner-title-row,.cancelled-orders-header,.cancelled-order-card__header {
        flex-direction:column
    }
    .metric-grid--cancelled {
        grid-template-columns:repeat(2,1fr)
    }
}

/* So Doughlicious-inspired action system: bold rounded CTAs, restrained secondary actions, and calm destructive controls. */
.button {
    gap:9px;
    min-height:48px;
    padding:0 20px;
    border-width:2px;
    border-radius:999px;
    font-size:13px;
    font-weight:900;
    letter-spacing:.01em;
    box-shadow:none;
    transition:transform .15s ease,background-color .15s ease,color .15s ease,border-color .15s ease
}
.button .mud-icon-root {
    font-size:19px
}
.button:hover {
    transform:translateY(-1px)
}
.button:focus-visible {
    outline:3px solid var(--gold);
    outline-offset:3px
}
.button--primary {
    border-color:var(--green-dark);
    background:var(--green-dark);
    color:#fff
}
.button--primary:hover {
    border-color:var(--red);
    background:var(--red)
}
.button--secondary {
    border-color:var(--green-dark);
    background:var(--gold);
    color:var(--green-dark)
}
.button--secondary:hover {
    background:#f8d985
}
.button--ghost {
    border-color:var(--green-dark);
    background:transparent;
    color:var(--green-dark)
}
.button--quiet {
    min-height:42px;
    padding-inline:12px;
    border-color:transparent;
    background:transparent;
    color:var(--green-dark)
}
.button--quiet:hover {
    background:#e8eee8
}
.button--quiet-danger {
    min-height:42px;
    padding-inline:12px;
    border-color:transparent;
    background:transparent;
    color:#8f3025
}
.button--quiet-danger:hover {
    background:#f6e3df;
    color:#702219
}
.button--light {
    border-color:#fff;
    background:#fff;
    color:var(--green-dark)
}
.button--light:hover {
    border-color:var(--gold);
    background:var(--gold)
}
.button--danger {
    border-color:#8f3025;
    background:#8f3025;
    color:#fff
}
.button--danger:hover {
    border-color:#702219;
    background:#702219
}
.card-actions {
    align-items:center
}
.owner-feature-card .card-actions {
    padding-top:5px;
    border-top:1px solid #d8e3df
}
.night-card .card-actions .button--quiet-danger {
    margin-left:auto
}
.mud-button-root {
    border-radius:999px!important;
    font-weight:900!important;
    text-transform:none!important;
    letter-spacing:.01em!important
}
.mud-button-filled-primary {
    background:var(--green-dark)!important
}
.mud-button-filled-primary:hover {
    background:var(--red)!important
}
.mud-icon-button-root {
    border-radius:999px!important
}
.quantity-picker__button:hover {
    background:#eef4f1
}
.confirmation-card__icon .mud-icon-root {
    color:var(--green)!important
}

/* Aligned top navigation */
.site-header__inner {
    display:grid!important;
    grid-template-columns:auto 1fr;
    align-items:center!important
}
.site-nav {
    height:100%;
    display:flex!important;
    align-items:stretch!important;
    justify-content:flex-end;
    gap:2px
}
.site-nav__link {
    display:flex!important;
    min-width:92px;
    min-height:100%!important;
    padding:0 15px!important;
    align-items:center!important;
    justify-content:center!important;
    flex-direction:column;
    text-align:center;
    line-height:1.1;
    border-bottom:3px solid transparent
}
.site-nav__link:hover {
    background:#f0ebde;
    border-bottom-color:var(--gold)
}
.site-nav__link--preorder {
    background:var(--green-dark);
    color:#fff
}
.site-nav__link--preorder:hover {
    background:var(--red);
    border-bottom-color:var(--red)
}
.site-nav__link small {
    height:12px;
    margin-top:4px!important;
    color:var(--gold)!important;
    line-height:12px
}
.menu-page {
    padding:55px 0 85px
}
.public-menu-grid {
    display:grid;
    gap:12px
}
.public-menu-card {
    display:grid;
    grid-template-columns:58px 1fr auto;
    gap:20px;
    padding:24px;
    border-block-end:1px solid var(--line);
    align-items:start
}
.public-menu-card__number {
    font:700 28px Georgia;
    color:var(--red)
}
.public-menu-card h2 {
    margin:5px 0 8px
}
.public-menu-card p {
    max-width:720px;
    color:var(--muted)
}
.public-menu-card__price {
    font-size:21px
}
.menu-extras-details {
    margin-top:14px
}
.menu-extras-details summary {
    cursor:pointer;
    font-weight:850
}
.menu-extras-details div {
    display:flex;
    max-width:420px;
    padding:7px 0;
    justify-content:space-between;
    border-bottom:1px solid #ddd7c9
}
.product-card--customisable {
    display:block!important
}
.product-card__main {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px
}
.product-card__tags {
    display:flex;
    gap:6px;
    flex-wrap:wrap
}
.product-card__tags span {
    display:inline-flex;
    padding:5px 8px;
    border-radius:999px;
    background:#e4eee9;
    color:var(--green-dark);
    font-size:9px;
    font-weight:900;
    letter-spacing:.06em
}
.extras-picker {
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid var(--line)
}
.extras-picker h3 {
    font:850 13px Inter,sans-serif
}
.extras-picker__grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
}
.extra-option {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:9px;
    padding:11px;
    align-items:center;
    border:1px solid #cee0da;
    border-radius:13px;
    background:#fff;
    cursor:pointer
}
.extra-option:has(input:checked) {
    border-color:var(--green);
    background:#eaf2ee
}
.extra-option input {
    width:18px;
    height:18px;
    accent-color:var(--green)
}
.extra-option strong {
    font-size:11px
}
.summary-product small {
    display:block;
    padding:2px 0 2px 12px;
    color:#dcece7
}
.menu-admin-tabs {
    display:flex;
    gap:5px;
    margin:28px 0
}
.menu-admin-tab {
    min-height:44px;
    padding:0 19px;
    border:0;
    border-radius:999px;
    background:transparent;
    color:var(--green-dark);
    font-weight:900;
    cursor:pointer
}
.menu-admin-tab--active {
    background:var(--green-dark);
    color:#fff
}
.admin-section-heading {
    display:flex;
    margin-bottom:16px;
    align-items:center;
    justify-content:space-between
}
.menu-admin-list {
    display:grid;
    gap:10px
}
.menu-admin-row {
    display:grid;
    grid-template-columns:1fr auto auto;
    gap:18px;
    padding:20px;
    align-items:center;
    border:1px solid var(--line);
    border-radius:18px;
    background:var(--paper)
}
.menu-admin-row h3 {
    margin:7px 0
}
.menu-admin-row p {
    margin:0;
    color:var(--muted)
}
.menu-editor {
    width:min(680px,100%);
    max-height:90vh;
    overflow:auto;
    padding:30px;
    border-radius:25px;
    background:var(--paper)
}
.editor-switches {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
.extras-assignment {
    margin:16px 0;
    padding:15px;
    border:1px solid var(--line);
    border-radius:15px
}
.extras-assignment legend {
    padding:0 7px;
    font-weight:900
}
.extras-assignment label {
    display:grid;
    grid-template-columns:auto 1fr auto;
    gap:10px;
    padding:8px;
    align-items:center
}
.extras-assignment input {
    width:18px;
    height:18px;
    accent-color:var(--green)
}
@media(max-width:760px) {
    .site-header__inner {
        grid-template-columns:auto 1fr
    }
    .site-nav__link {
        min-width:auto;
        padding:0 8px!important;
        font-size:11px
    }
    .public-menu-card {
        grid-template-columns:42px 1fr
    }
    .public-menu-card__price {
        grid-column:2
    }
    .extras-picker__grid {
        grid-template-columns:1fr
    }
    .menu-admin-row {
        grid-template-columns:1fr auto
    }
    .menu-admin-row .button {
        grid-column:1/-1
    }
    .product-card__main {
        align-items:flex-start;
        flex-direction:column
    }
}
@media(max-width:520px) {
    .site-nav__link {
        padding:0 5px!important
    }
    .site-nav__link--preorder small {
        display:none!important
    }
    .brand__name {
        font-size:21px
    }
    .public-menu-card {
        padding-inline:8px
    }
    .editor-switches {
        display:grid
    }
}
.ticket-item .mud-button-label {
    display:flex;
    align-items:flex-start;
    flex-direction:column;
    text-align:left
}
.ticket-item__extras {
    margin-top:3px;
    color:var(--muted);
    font-weight:700
}
.order-item-extras {
    display:block;
    margin-top:3px;
    color:var(--muted);
    font-weight:700
}
.extras-picker__heading {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px
}
.extras-picker__heading span {
    color:var(--muted);
    font-size:11px;
    font-weight:900
}
.extra-option:has(input:disabled) {
    cursor:not-allowed;
    opacity:.45
}
.menu-preview-panel {
    margin:28px 0;
    padding:28px;
    border:2px solid var(--gold);
    border-radius:24px;
    background:#fffaf0
}
.menu-preview-panel__header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:12px
}
.menu-preview-panel__header>span {
    padding:7px 10px;
    border-radius:999px;
    background:var(--green-dark);
    color:#fff;
    font-size:10px;
    font-weight:900
}
.public-menu-grid--preview {
    max-height:520px;
    overflow:auto;
    border-radius:18px;
    background:var(--paper)
}
.menu-editor__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:12px
}
@media(max-width:700px) {
    .menu-editor__grid {
        grid-template-columns:1fr
    }
    .menu-preview-panel__header {
        flex-direction:column
    }
}
.menu-limit-note {
    margin:8px 0!important;
    color:var(--green-dark)!important;
    font-size:11px;
    font-weight:850
}
.live-order-page {
    padding:54px 0 90px
}
.live-order-hero {
    max-width:820px;
    margin:0 auto 18px;
    padding:34px;
    border-radius:26px;
    background:var(--green-dark);
    color:#fff;
    text-align:center
}
.live-order-hero .eyebrow {
    color:var(--gold)
}
.live-order-hero h1 {
    font-size:clamp(38px,7vw,66px)
}
.live-order-hero--preparing {
    background:#9b6818
}
.live-order-hero--ready {
    background:#08745f
}
.live-order-hero--cancelled {
    background:#8f3025
}
.order-progress {
    display:grid;
    max-width:820px;
    margin:18px auto;
    grid-template-columns:repeat(4,1fr);
    gap:8px
}
.order-progress__step {
    display:flex;
    padding:14px 8px;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:14px;
    background:#e4e1d7;
    color:#777;
    text-align:center
}
.order-progress__step.complete {
    background:#dbeae5;
    color:var(--green-dark)
}
.order-progress__step.current {
    background:var(--gold);
    color:var(--green-dark)
}
.order-progress__step .mud-icon-root {
    font-size:16px
}
.live-kitchen-pulse {
    margin:22px 0;
    padding:25px;
    border:2px solid var(--gold);
    border-radius:22px;
    background:#fffaf0;
    text-align:center
}
.live-kitchen-pulse h2 {
    margin-bottom:8px
}
.live-kitchen-pulse>strong {
    display:block;
    color:var(--red);
    font-size:20px
}
.kitchen-status-actions {
    padding:0 16px 16px!important
}
@media(max-width:650px) {
    .order-progress {
        grid-template-columns:1fr 1fr
    }
}
.service-settings-actions {
    display:flex;
    justify-content:flex-end
}
.service-settings-actions--top {
    margin:18px 0 4px
}
.service-settings-actions--bottom {
    margin-top:26px;
    padding-top:20px;
    border-top:1px solid var(--line)
}
@media(max-width:600px) {
    .service-settings-actions .mud-button-root {
        width:100%
    }
}
.confirmation-card__actions {
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap
}
.button--whatsapp {
    border-color:#128c7e;
    background:#25d366;
    color:#063f38
}
.button--whatsapp:hover {
    border-color:#0e7a6d;
    background:#1fbd5a
}
.button--whatsapp-light {
    margin-top:18px;
    border-color:#fff;
    background:#fff;
    color:#075b4f
}
.button--whatsapp-light:hover {
    border-color:var(--gold);
    background:var(--gold)
}
.private-link-note {
    max-width:500px;
    margin:20px auto 0;
    color:var(--muted);
    font-size:12px;
    line-height:1.6
}
.live-order-hero__actions {
    display:flex;
    justify-content:center
}
@media(max-width:600px) {
    .confirmation-card__actions {
        display:grid
    }
    .confirmation-card__actions .button {
        width:100%
    }
}
.one-off-menu-picker {
    margin-top:18px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:18px;
    background:#fffaf0
}
.one-off-menu-option {
    display:grid;
    grid-template-columns:auto 1fr;
    gap:12px;
    padding:12px 4px;
    align-items:start;
    border-bottom:1px solid #ddd7c9;
    cursor:pointer
}
.one-off-menu-option:last-child {
    border-bottom:0
}
.one-off-menu-option input {
    width:20px;
    height:20px;
    accent-color:var(--green)
}
.one-off-menu-option span,.one-off-menu-option small {
    display:block
}
.one-off-menu-option small {
    margin-top:3px;
    color:var(--muted)
}

/* Higher-contrast pre-order contact fields on the dark order summary. */
.order-summary .preorder-contact-field .mud-input-outlined {
    background:#fffdf7;
    color:#063f38;
    border-radius:12px
}
.order-summary .preorder-contact-field .mud-input-root {
    color:#063f38!important;
    font-weight:750
}
.order-summary .preorder-contact-field .mud-input-label {
    color:#063f38!important;
    font-weight:900;
    opacity:1!important
}
.order-summary .preorder-contact-field .mud-input-outlined-border {
    border-color:#075b4f!important;
    border-width:2px!important
}
.order-summary .preorder-contact-field:hover .mud-input-outlined-border,.order-summary .preorder-contact-field .mud-input-root.mud-input-root-focused .mud-input-outlined-border {
    border-color:#a63828!important
}
.order-summary .preorder-contact-field input {
    color:#063f38!important;
    caret-color:#a63828!important
}
.order-summary .preorder-contact-field input::placeholder {
    color:#476b64!important;
    opacity:1
}
.live-order-hero__actions {
    gap:10px;
    flex-wrap:wrap
}
.live-order-hero__actions .button {
    min-width:210px
}
@media(max-width:600px) {
    .live-order-hero__actions {
        display:grid
    }
    .live-order-hero__actions .button {
        width:100%
    }
}
.night-card__date {
    margin-top:18px;
    margin-bottom:0
}
.night-card__date+h3 {
    margin-top:6px
}
.service-status-heading {
    margin:8px 0;
    color:var(--red);
    font-size:18px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.05em
}
.order-page .page-heading h2 {
    margin-top:10px;
    color:var(--red);
    font:900 18px Inter,system-ui,sans-serif;
    text-transform:uppercase;
    letter-spacing:.05em
}

/* Keep all live-order actions visually aligned regardless of anchor/button defaults. */
.live-order-hero__actions .button {
    height:50px;
    min-height:50px;
    padding-block:0;
    line-height:1;
    box-sizing:border-box;
    align-items:center
}
.live-order-hero__actions a.button,.live-order-hero__actions button.button {
    margin:0;
    vertical-align:middle
}
.walk-in-products {
    display:grid;
    gap:8px
}
.walk-in-product-row {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:12px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--paper)
}
.walk-in-product-row small {
    display:block;
    margin-top:3px;
    color:var(--muted)
}
.walk-in-summary {
    display:flex;
    justify-content:space-between;
    margin:16px 0;
    padding:14px;
    border-radius:14px;
    background:#e8f1ed;
    color:var(--green-dark)
}
@media(max-width:560px) {
    .walk-in-product-row {
        align-items:flex-start;
        flex-direction:column
    }
    .walk-in-product-row .quantity-picker {
        align-self:stretch
    }
}
.walk-in-capacity-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:10px;
    margin:12px 0 24px
}
.walk-in-capacity-card {
    display:grid;
    gap:4px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:14px;
    background:var(--paper)
}
.walk-in-capacity-card strong {
    font-size:19px
}
.walk-in-capacity-card small {
    color:var(--red);
    font-weight:800
}
.walk-in-reserve-settings {
    border:2px solid var(--gold)!important
}
.slot-capacity-preview {
    display:grid;
    gap:3px;
    margin:4px 0 10px;
    padding:10px;
    border-radius:10px;
    background:#eef4f1
}
.slot-capacity-preview .mud-typography:last-child {
    color:var(--red);
    font-weight:850
}

/* v16: Pizza by Ana editorial artisan theme. Customer-facing pages are warm, restrained and ingredient-led. */
:root {
    --green:#5f684b;
    --green-dark:#384034;
    --cream:#f4efe6;
    --paper:#fbf8f1;
    --red:#a43824;
    --gold:#c79a48;
    --line:#cfc5b6;
    --muted:#6d665d;
    --ink:#25221e;
    --clay:#a43824;
    --olive:#5f684b
}
html,body {
    background:var(--cream);
    color:var(--ink);
    font-family:Arial,Helvetica,sans-serif
}
h1,h2,h3 {
    color:var(--ink);
    font-family:Georgia,"Times New Roman",serif;
    font-weight:500;
    letter-spacing:-.025em
}
h1 {
    font-size:clamp(42px,6vw,68px);
    line-height:1.02
}
h2 {
    font-size:clamp(27px,3.5vw,40px)
}
.page-width {
    width:min(1120px,calc(100% - 48px))
}
.site-header {
    height:76px;
    background:rgba(244,239,230,.96);
    border-bottom:1px solid var(--line);
    backdrop-filter:blur(8px)
}
.site-header__inner {
    width:min(1120px,calc(100% - 48px));
    grid-template-columns:auto 1fr!important
}
.brand__name {
    font:500 29px Georgia,"Times New Roman",serif;
    letter-spacing:-.035em;
    color:var(--ink)
}
.brand__tagline {
    margin-top:3px;
    color:var(--muted);
    font-size:9px;
    font-weight:700;
    letter-spacing:.14em
}
.site-nav__link {
    min-width:auto!important;
    min-height:100%!important;
    padding:0 14px!important;
    border-bottom:1px solid transparent;
    color:var(--ink);
    font-size:13px;
    font-weight:700
}
.site-nav__link:hover {
    background:transparent;
    border-bottom-color:var(--clay);
    color:var(--clay)
}
.site-nav__link--preorder {
    margin-block:14px;
    min-height:auto!important;
    border:1px solid var(--ink);
    background:transparent;
    color:var(--ink)
}
.site-nav__link--preorder:hover {
    border-color:var(--clay);
    background:var(--clay);
    color:#fff
}
.site-nav__link small {
    color:inherit!important;
    font-size:8px
}
.announcement {
    top:76px;
    background:var(--ink);
    color:#f7f1e7
}
.announcement__track {
    display:flex;
    width:100%;
    justify-content:center;
    gap:18px;
    padding:8px 20px;
    font-size:9px;
    font-weight:700;
    letter-spacing:.13em;
    text-transform:uppercase;
    animation:none
}
.announcement b {
    color:#d6a95c
}
.site-main {
    padding-top:108px
}
.site-footer {
    background:var(--ink);
    color:#e7ded0
}
.eyebrow {
    color:var(--clay);
    font-size:10px;
    font-weight:800;
    letter-spacing:.16em
}
.hero-section {
    padding:96px 0 72px;
    border-bottom:1px solid var(--line);
    background:var(--paper)
}
.hero-section__inner {
    max-width:850px;
    text-align:left!important
}
.hero-section h1 {
    max-width:700px;
    margin-bottom:25px;
    font-size:clamp(54px,8vw,92px);
    line-height:.93
}
.hero-section__copy {
    max-width:600px!important;
    margin:0!important;
    color:var(--muted);
    font-size:18px;
    line-height:1.65
}
.content-section,.customer-night,.order-page,.owner-page {
    padding:68px 0 90px
}
.section-heading {
    padding-bottom:18px;
    border-bottom:1px solid var(--ink)
}
.section-heading>p {
    color:var(--muted)
}
.night-grid,.favourites-grid {
    gap:1px;
    background:var(--line);
    border:1px solid var(--line)
}
.night-card,.favourite-card,.panel,.product-card {
    border:0;
    border-radius:0;
    background:var(--paper);
    box-shadow:none
}
.night-card {
    padding:28px;
    min-height:320px
}
.night-card h3 {
    font-size:33px
}
.night-card__date {
    margin-top:28px
}
.night-card .card-actions {
    padding-top:22px;
    border-top:1px solid var(--line)
}
.status-chip {
    padding:5px 8px;
    border-radius:2px;
    background:#e9e1d5;
    color:var(--ink);
    font-size:9px;
    letter-spacing:.12em
}
.status-chip--live {
    background:var(--clay);
    color:#fff
}
.status-chip--cancelled {
    background:#eadad4;
    color:#7c2f20
}
.button {
    min-height:46px;
    padding:0 18px;
    border-radius:4px;
    font-size:12px;
    letter-spacing:.035em;
    box-shadow:none;
    transform:none!important
}
.button--primary {
    border-color:var(--ink);
    background:var(--ink);
    color:#fff
}
.button--primary:hover {
    border-color:var(--clay);
    background:var(--clay)
}
.button--secondary {
    border-color:var(--ink);
    background:transparent;
    color:var(--ink)
}
.button--secondary:hover {
    border-color:var(--clay);
    background:var(--clay);
    color:#fff
}
.button--ghost {
    border-color:var(--line);
    background:transparent;
    color:var(--ink)
}
.button--ghost:hover {
    border-color:var(--ink);
    background:transparent
}
.button--light {
    border-color:#fff;
    background:#fff;
    color:var(--ink)
}
.button--whatsapp {
    border-radius:4px
}
.favourites-section {
    padding:78px 0;
    background:var(--ink);
    color:#f7f1e7
}
.favourites-section h2,.favourite-card h3 {
    color:#f7f1e7
}
.favourite-card {
    background:#302d29
}
.favourite-card__tag {
    border-radius:2px;
    background:#f4efe6;
    color:var(--ink)
}
.public-menu-grid {
    gap:0;
    border-top:1px solid var(--ink)
}
.public-menu-card {
    padding:30px 8px;
    border-color:var(--line)
}
.public-menu-card__number {
    color:var(--clay);
    font-size:19px
}
.public-menu-card h2 {
    font-size:31px
}
.public-menu-card p {
    color:var(--muted)
}
.customer-night__hero,.page-heading {
    text-align:left;
    margin-bottom:42px
}
.customer-night__hero>p:last-child {
    margin-inline:0
}
.service-status-heading {
    color:var(--clay);
    font-size:14px;
    letter-spacing:.1em
}
.metric-card {
    border:1px solid var(--line);
    border-radius:0;
    background:var(--paper)
}
.metric-card--accent {
    border-color:var(--clay);
    background:var(--clay);
    color:#fff
}
.order-layout {
    gap:28px
}
.product-list {
    gap:1px;
    background:var(--line);
    border:1px solid var(--line)
}
.product-card {
    padding:26px
}
.product-card h2 {
    font-size:30px
}
.extras-picker {
    border-color:var(--line)
}
.order-summary {
    top:125px;
    border-radius:0;
    background:var(--ink);
    color:#fff
}
.order-summary h1,.order-summary h2,.order-summary h3 {
    color:#fff
}
.payment-note {
    border-radius:2px
}
.quantity-picker {
    border-radius:3px
}
.quantity-picker__button,.quantity-picker__value {
    color:var(--clay)
}
.confirmation-card,.customer-order-card,.live-order-hero {
    border-radius:4px;
    box-shadow:none
}
.confirmation-card {
    background:var(--paper)
}
.live-order-hero {
    background:var(--ink)
}
.live-order-hero--preparing {
    background:#7b5725
}
.live-order-hero--ready {
    background:var(--olive)
}
.menu-preview-panel,.walk-in-reserve-settings,.live-kitchen-pulse {
    border-radius:4px!important;
    box-shadow:none
}
.mud-paper,.mud-card {
    box-shadow:none!important
}
.mud-button-root {
    border-radius:4px!important
}
.mud-input-outlined {
    border-radius:4px!important
}

/* Owner operations retain clearer cards and controls while inheriting the calmer palette. */
.owner-page .panel,.owner-page .mud-paper,.owner-page .ticket,.owner-page .slot-editor {
    border-radius:8px!important
}
.owner-tabs__link {
    border-radius:3px
}
.owner-tabs__link--active {
    background:var(--ink);
    color:#fff
}
@media(max-width:850px) {
    .night-grid,.favourites-grid {
        background:transparent;
        border:0;
        gap:14px
    }
    .night-card,.favourite-card {
        border:1px solid var(--line)
    }
    .hero-section {
        padding-top:72px
    }
    .site-header__inner {
        width:min(100% - 28px,1120px)
    }
}
@media(max-width:600px) {
    .page-width {
        width:min(100% - 28px,1120px)
    }
    .announcement__track {
        justify-content:flex-start;
        overflow:hidden
    }
    .announcement__track span:nth-of-type(n+3),.announcement__track b:nth-of-type(n+3) {
        display:none
    }
    .hero-section h1 {
        font-size:54px
    }
    .site-nav__link {
        padding:0 7px!important
    }
    .site-nav__link--preorder {
        margin-block:12px
    }
    .brand__name {
        font-size:22px
    }
}

/* Restore a subtle continuous ticker while retaining the v16 editorial theme. */
.announcement__track {
    display:inline-flex;
    width:max-content;
    min-width:max-content;
    justify-content:flex-start;
    gap:18px;
    animation:pizzabyana-ticker 32s linear infinite;
    will-change:transform
}
.announcement:hover .announcement__track {
    animation-play-state:paused
}
@keyframes pizzabyana-ticker {
    from {
        transform:translateX(0)
    }
    to {
        transform:translateX(-50%)
    }
}
@media(prefers-reduced-motion:reduce) {
    .announcement__track {
        animation:none
    }
}
@media(max-width:600px) {
    .announcement__track span:nth-of-type(n+3),.announcement__track b:nth-of-type(n+3) {
        display:inline
    }
}

/* v16b typography: a more refined, professional editorial system using dependable system fonts. */
html,body {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size:16px;
    line-height:1.55;
    font-weight:400;
    letter-spacing:0;
    color:var(--ink);
    -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility
}
h1,h2,h3,.brand__name {
    font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
    font-weight:600;
    letter-spacing:-.028em
}
h1 {
    line-height:.98
}
.brand__name {
    font-size:30px;
    letter-spacing:-.035em
}
.brand__tagline {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:600;
    letter-spacing:.11em
}
.site-nav__link {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:600;
    letter-spacing:.005em
}
.eyebrow {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:700;
    letter-spacing:.14em
}
.hero-section__copy,.section-heading>p,.public-menu-card p {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:400;
    letter-spacing:0
}
.button,.mud-button-root {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
    font-weight:650!important;
    letter-spacing:.015em!important
}
.metric-card__value {
    font-family:"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
    font-weight:600
}
.metric-card__label,.status-chip {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:700;
    letter-spacing:.08em
}
.announcement__track {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:600;
    letter-spacing:.11em
}
.mud-typography,.mud-input-root,.mud-input-label {
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important
}

/* v17: warm Italian pizzeria palette and food-first ordering layout, adapted for Pizza by Ana. */
:root {
    --green:#536b50;
    --green-dark:#34473a;
    --cream:#f6f0e4;
    --paper:#fffaf1;
    --red:#bf3f32;
    --gold:#e2b14a;
    --line:#d7c9b7;
    --muted:#6e695f;
    --ink:#26302a;
    --clay:#bf3f32;
    --olive:#536b50;
    --tomato:#bf3f32;
    --tomato-dark:#963126;
    --lemon:#f2ce59
}
html,body {
    background:var(--cream);
    color:var(--ink)
}
.site-header {
    background:rgba(246,240,228,.97);
    border-bottom-color:#cdbda8
}
.site-nav__link--preorder {
    border-color:var(--tomato);
    background:var(--tomato);
    color:#fff
}
.site-nav__link--preorder:hover {
    border-color:var(--tomato-dark);
    background:var(--tomato-dark)
}
.announcement {
    background:var(--tomato);
    color:#fffaf1
}
.announcement b {
    color:var(--lemon)
}
.hero-section {
    background:#fffaf1
}
.eyebrow {
    color:var(--tomato)
}
.button--primary {
    border-color:var(--tomato);
    background:var(--tomato);
    color:#fff
}
.button--primary:hover {
    border-color:var(--tomato-dark);
    background:var(--tomato-dark)
}
.button--secondary {
    border-color:var(--tomato);
    color:var(--tomato)
}
.button--secondary:hover {
    border-color:var(--tomato-dark);
    background:var(--tomato-dark)
}
.status-chip--live,.metric-card--accent {
    border-color:var(--tomato);
    background:var(--tomato)
}
.favourites-section,.site-footer {
    background:var(--green-dark)
}

/* Ordering is deliberately lighter and more menu-led than the previous dark basket panel. */
.order-page {
    width:min(1220px,calc(100% - 48px))
}
.order-page .page-heading {
    max-width:760px
}
.order-page .page-heading h1 {
    margin-bottom:6px
}
.order-page .page-heading h2 {
    color:var(--tomato);
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-size:16px;
    font-weight:750;
    letter-spacing:.08em
}
.order-layout {
    grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);
    gap:34px;
    align-items:start
}
.product-list {
    border:0;
    background:transparent;
    gap:0
}
.product-card {
    padding:28px 6px;
    border-top:1px solid var(--line);
    background:transparent
}
.product-card:last-child {
    border-bottom:1px solid var(--line)
}
.product-card__main {
    align-items:center;
    gap:26px
}
.product-card__main>div:first-child {
    flex:1;
    min-width:0
}
.order-product-title-row {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:18px
}
.order-product-title-row h2 {
    margin:0;
    font-size:31px
}
.order-product-price {
    flex:none;
    color:var(--tomato);
    font-size:20px;
    font-weight:750
}
.product-card p {
    max-width:590px;
    margin:8px 0 0;
    color:var(--muted);
    font-size:15px;
    line-height:1.6
}
.product-card__tags {
    margin-bottom:8px
}
.product-card__tags span {
    border:1px solid #8da086;
    border-radius:2px;
    background:transparent;
    color:var(--green-dark);
    font-size:9px;
    letter-spacing:.1em
}
.quantity-picker {
    flex:none;
    border-color:#c9b9a6;
    background:#fffaf1
}
.quantity-picker__button {
    background:#fffaf1;
    color:var(--tomato)
}
.quantity-picker__button:hover {
    background:#f3e5d7
}
.quantity-picker__value {
    color:var(--ink)
}
.extras-picker {
    margin-top:20px;
    padding:18px;
    border:1px solid var(--line);
    background:#fbf3e7
}
.extra-option {
    border-radius:3px;
    background:#fffaf1
}
.order-summary {
    position:sticky;
    top:124px;
    padding:27px;
    border:1px solid #cdbda8;
    border-top:5px solid var(--tomato);
    border-radius:5px;
    background:#fffaf1;
    color:var(--ink);
    box-shadow:0 12px 30px rgba(55,42,27,.08)
}
.order-summary h2 {
    margin:2px 0 22px;
    color:var(--ink);
    font-size:30px
}
.order-summary__eyebrow {
    margin:0;
    color:var(--tomato);
    font-size:10px;
    font-weight:800;
    letter-spacing:.14em
}
.order-summary>p:not(.order-summary__eyebrow) {
    color:var(--muted)
}
.summary-product {
    padding:12px 0;
    border-bottom:1px solid var(--line)
}
.summary-product small {
    display:block;
    margin-top:5px;
    color:var(--muted)
}
.summary-row {
    color:var(--ink)
}
.summary-row--total {
    margin:18px 0;
    padding-top:16px;
    border-top:2px solid var(--ink);
    font-size:19px
}
.payment-note {
    margin:18px 0;
    border:1px solid #d8c9ae;
    background:#f3e4c8;
    color:var(--ink)
}
.payment-note span {
    color:#625b50
}
.order-summary .button--light {
    border-color:var(--tomato);
    background:var(--tomato);
    color:#fff
}
.order-summary .button--light:hover {
    border-color:var(--tomato-dark);
    background:var(--tomato-dark)
}
.order-summary .preorder-contact-field input {
    color:var(--ink)!important;
    caret-color:var(--tomato)!important
}
@media(max-width:900px) {
    .order-layout {
        grid-template-columns:1fr
    }
    .order-summary {
        position:static
    }
    .order-page {
        width:min(100% - 28px,1220px)
    }
}
@media(max-width:600px) {
    .product-card {
        padding:22px 4px
    }
    .product-card__main {
        align-items:flex-start;
        flex-direction:column
    }
    .order-product-title-row {
        width:100%
    }
    .quantity-picker {
        align-self:flex-end
    }
    .order-summary {
        padding:22px
    }
}

/* v17a: reliable active navigation highlighting. */
.site-nav__link.active {
    border-bottom-color:var(--tomato);
    color:var(--tomato)
}
.site-nav__link--preorder.active {
    border-color:var(--tomato-dark);
    background:var(--tomato-dark);
    color:#fff
}
.site-nav__link.active:hover {
    color:var(--tomato-dark)
}

/* Order status aligned with the warm Pizza by Ana theme. */
.live-order-page {
    background:var(--cream)
}
.live-order-hero--warm {
    position:relative;
    overflow:hidden;
    max-width:920px;
    padding:38px 40px;
    border:1px solid #cdbda8;
    border-top:6px solid var(--tomato);
    border-radius:6px;
    background:#fffaf1;
    color:var(--ink);
    box-shadow:0 14px 34px rgba(55,42,27,.08)
}
.live-order-hero--warm::after {
    position:absolute;
    right:-58px;
    top:-76px;
    width:190px;
    height:190px;
    border:34px solid rgba(191,63,50,.08);
    border-radius:50%;
    content:""
}
.live-order-hero--warm .eyebrow {
    color:var(--tomato)
}
.live-order-hero--warm h1 {
    position:relative;
    z-index:1;
    margin:8px 0 12px;
    color:var(--green-dark);
    font-size:clamp(39px,6vw,64px)
}
.live-order-hero--warm>p:not(.eyebrow) {
    position:relative;
    z-index:1;
    max-width:620px;
    margin:0 auto;
    color:var(--muted);
    font-size:17px;
    line-height:1.6
}
.live-order-updated {
    display:block;
    margin-top:12px;
    color:#777064
}
.live-order-hero--preparing.live-order-hero--warm {
    border-top-color:#d4972f;
    background:#fff8e8;
    color:var(--ink)
}
.live-order-hero--ready.live-order-hero--warm {
    border-top-color:var(--green);
    background:#f1f5ec;
    color:var(--ink)
}
.live-order-hero--cancelled.live-order-hero--warm {
    border-top-color:#8a3b31;
    background:#f8e9e4;
    color:var(--ink)
}
.live-order-hero__actions--warm {
    position:relative;
    z-index:1;
    margin-top:24px
}
.live-order-hero__actions--warm .button--whatsapp-light {
    margin-top:0;
    border-color:#217a55;
    background:#daf0e2;
    color:#174d39
}
.live-order-hero__actions--warm .button--whatsapp-light:hover {
    border-color:#166443;
    background:#c9e8d5
}
.live-order-hero__actions--warm .button--light {
    border-color:var(--tomato);
    background:transparent;
    color:var(--tomato)
}
.live-order-hero__actions--warm .button--light:hover {
    background:var(--tomato);
    color:#fff
}
.status-section-heading {
    max-width:920px;
    margin:42px auto 16px;
    padding-bottom:15px;
    border-bottom:1px solid var(--line)
}
.status-section-heading h2 {
    margin:3px 0 0;
    font-size:30px
}
.order-progress--warm {
    max-width:920px;
    margin-inline:auto;
    gap:8px
}
.order-progress--warm .order-progress__step {
    border:1px solid var(--line);
    border-radius:4px;
    background:#fffaf1;
    color:var(--muted)
}
.order-progress--warm .order-progress__step.complete {
    border-color:#9caf98;
    background:#e7efe3;
    color:var(--green-dark)
}
.order-progress--warm .order-progress__step.current {
    border-color:var(--tomato);
    background:var(--tomato);
    color:#fff
}
.order-progress--warm .order-progress__step.current .mud-icon-root {
    color:#fff
}
.customer-order-card {
    max-width:920px;
    margin-inline:auto;
    border:1px solid #cdbda8;
    border-radius:6px;
    background:#fffaf1;
    box-shadow:0 10px 28px rgba(55,42,27,.06)
}
.customer-order-facts {
    border-color:var(--line);
    background:#f7eddf
}
.customer-order-facts span {
    color:var(--muted)
}
.customer-order-facts strong {
    color:var(--ink)
}
.customer-order-items--warm {
    border-color:var(--line)
}
.customer-order-item {
    border-color:var(--line)
}
.customer-order-item .summary-row,.customer-order-items--warm .summary-row--total {
    color:var(--ink)
}
.customer-order-items--warm .summary-row--total {
    border-top:2px solid var(--tomato)
}
.order-item-extras {
    color:var(--muted)
}
@media(max-width:650px) {
    .live-order-hero--warm {
        padding:28px 20px
    }
    .status-section-heading {
        margin-top:30px
    }
    .live-order-hero__actions--warm .button {
        width:100%
    }
    .customer-order-card {
        border-radius:4px
    }
}

/* v17b: Pre-order navigation is outlined by default and filled only while active. */
.site-nav__link--preorder {
    border-color:var(--tomato);
    background:transparent;
    color:var(--tomato)
}
.site-nav__link--preorder:hover {
    border-color:var(--tomato-dark);
    background:#f4ded7;
    color:var(--tomato-dark)
}
.site-nav__link--preorder.active {
    border-color:var(--tomato);
    background:var(--tomato);
    color:#fff
}
.site-nav__link--preorder.active:hover {
    border-color:var(--tomato-dark);
    background:var(--tomato-dark);
    color:#fff
}

/* v17c: menu heading spacing below the fixed header/ticker. */
.menu-page {
    padding-top:78px
}
.menu-page>.page-heading {
    display:block;
    margin:0 0 42px;
    padding:0 0 22px;
    border-bottom:1px solid var(--line);
    text-align:left
}
.menu-page>.page-heading .eyebrow {
    display:block;
    margin:0 0 12px;
    line-height:1.2
}
.menu-page>.page-heading h1 {
    display:block;
    margin:0 0 18px;
    line-height:1.02
}
.menu-page>.page-heading>p:last-child {
    display:block;
    max-width:680px;
    margin:0;
    color:var(--muted);
    font-size:16px;
    line-height:1.65
}
@media(max-width:600px) {
    .menu-page {
        padding-top:58px
    }
    .menu-page>.page-heading {
        margin-bottom:32px
    }
    .menu-page>.page-heading h1 {
        font-size:44px
    }
}

/* v18: elapsed slot visibility. */
.slot-empty-message {
    margin:14px 0 0;
    padding:14px;
    border-left:3px solid var(--tomato);
    background:#f7eddf;
    color:var(--muted)
}
.elapsed-slot-note {
    display:block;
    margin-top:10px;
    color:var(--muted);
    font-style:italic
}

/* v19: pizza photography across customer menus and owner-managed uploads. */
.public-menu-card--with-image {
    grid-template-columns:180px 54px minmax(0,1fr) auto;
    align-items:center;
    gap:22px
}
.public-menu-card__image,.order-product-image,.favourite-card__image {
    display:block;
    width:100%;
    aspect-ratio:1;
    object-fit:cover;
    background:#eadfce
}
.public-menu-card__image {
    border-radius:5px
}
.product-card--with-image {
    display:grid;
    grid-template-columns:170px minmax(0,1fr);
    gap:26px;
    align-items:start
}
.product-card--with-image .product-card__main {
    min-width:0
}
.product-card--with-image .extras-picker {
    grid-column:2
}
.order-product-image {
    border-radius:5px
}
.favourite-card--with-image {
    overflow:hidden;
    padding:0 0 26px
}
.favourite-card__image {
    margin-bottom:22px
}
.favourite-card--with-image>:not(img) {
    margin-left:26px;
    margin-right:26px
}
.product-image-editor {
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    gap:18px;
    align-items:center;
    margin-bottom:18px;
    padding:14px;
    border:1px solid var(--line);
    border-radius:6px;
    background:#fffaf1
}
.product-image-editor img {
    width:150px;
    aspect-ratio:1;
    object-fit:cover;
    border-radius:5px;
    background:#eadfce
}
.product-image-editor small,.product-image-editor strong {
    display:block;
    margin-top:8px
}
.product-image-upload {
    position:relative;
    overflow:hidden;
    cursor:pointer
}
.product-image-upload input {
    position:absolute;
    inset:0;
    opacity:0;
    cursor:pointer
}
@media(max-width:760px) {
    .public-menu-card--with-image {
        grid-template-columns:100px 42px minmax(0,1fr)
    }
    .public-menu-card--with-image .public-menu-card__price {
        grid-column:3
    }
    .product-card--with-image {
        grid-template-columns:110px minmax(0,1fr);
        gap:16px
    }
    .product-card--with-image .extras-picker {
        grid-column:1/-1
    }
}
@media(max-width:520px) {
    .public-menu-card--with-image {
        grid-template-columns:86px minmax(0,1fr);
        gap:14px
    }
    .public-menu-card--with-image .public-menu-card__number {
        display:none
    }
    .public-menu-card--with-image .public-menu-card__price {
        grid-column:2
    }
    .product-card--with-image {
        grid-template-columns:1fr
    }
    .product-card--with-image .extras-picker {
        grid-column:1
    }
    .order-product-image {
        max-height:260px
    }
    .product-image-editor {
        grid-template-columns:90px minmax(0,1fr)
    }
    .product-image-editor img {
        width:90px
    }
}

/* Compact preorder product photography */
.order-page .product-card--with-image {
    grid-template-columns:112px minmax(0,1fr);
    gap:18px;
    align-items:center
}
.order-page .order-product-image {
    width:112px;
    height:112px;
    aspect-ratio:auto;
    object-fit:cover;
    border-radius:8px
}
.order-page .product-card--with-image .extras-picker {
    grid-column:2
}
@media(max-width:760px) {
    .order-page .product-card--with-image {
        grid-template-columns:88px minmax(0,1fr);
        gap:14px
    }
    .order-page .order-product-image {
        width:88px;
        height:88px
    }
    .order-page .product-card--with-image .extras-picker {
        grid-column:1/-1
    }
}
@media(max-width:520px) {
    .order-page .product-card--with-image {
        grid-template-columns:76px minmax(0,1fr);
        gap:12px
    }
    .order-page .order-product-image {
        width:76px;
        height:76px;
        max-height:none
    }
    .order-page .product-card--with-image .extras-picker {
        grid-column:1/-1
    }
}

/* Explicit kitchen state: action buttons no longer look like the current order status. */
.kitchen-ticket-status {
    display:inline-flex;
    margin-top:8px;
    padding:6px 9px;
    border:1px solid var(--line);
    border-radius:4px;
    background:#f3ede2;
    color:var(--ink);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.04em;
    text-transform:uppercase
}
.kitchen-ticket-status--preparing {
    border-color:#d5a14d;
    background:#fff3d9;
    color:#694612
}
.kitchen-ticket-status--ready {
    border-color:#78936f;
    background:#e7f0e3;
    color:#34473a
}
.kitchen-ticket-status--collected {
    border-color:#9aa09a;
    background:#eceeea;
    color:#4a504a
}
/* Simplified kitchen workflow: food lines are display-only;
order status is authoritative. */ .ticket-item--display {
    display:flex;
    padding:11px 2px;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    border-bottom:1px solid var(--line)
}
.ticket-item--display:last-child {
    border-bottom:0
}
.ticket-item--display strong {
    color:var(--ink)
}
.kitchen-status-actions {
    display:grid!important;
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
    gap:10px
}

/* v22a: clearer single-case pizzabyana wordmark while preserving the brand spelling. */
.brand__name {
    display:flex;
    align-items:baseline;
    gap:0;
    font-weight:650;
    letter-spacing:-.04em;
    white-space:nowrap
}
.brand__pizza {
    color:var(--ink)
}
.brand__by {
    margin-inline:.08em;
    color:var(--tomato);
    font-size:.63em;
    font-family:"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
    font-weight:800;
    letter-spacing:.02em
}
.brand__ana {
    color:var(--tomato)
}
.brand:hover .brand__pizza {
    color:var(--tomato-dark)
}
.brand:hover .brand__ana {
    color:var(--tomato-dark)
}

/* v22b: finished Pizza by Ana logo in the site header. */
.brand {
    display:flex;
    align-items:center;
    min-width:0;
    height:100%
}
.brand__logo {
    display:block;
    width:clamp(190px,22vw,285px);
    height:66px;
    object-fit:contain;
    object-position:left center
}
@media(max-width:760px) {
    .brand__logo {
        width:190px;
        height:58px
    }
}
@media(max-width:560px) {
    .brand__logo {
        width:156px;
        height:52px
    }
    .site-header__inner {
        column-gap:8px
    }
}

/* v23e: denser owner workspace that uses desktop width without shrinking touch targets. */
.owner-page {
    width:min(1480px,calc(100% - 32px));
    max-width:1480px!important;
    padding:34px 0 58px!important
}
.owner-page .owner-tabs {
    margin-bottom:18px
}
.owner-page>h1,.owner-page>.mud-typography-h2 {
    margin-bottom:4px!important
}
.owner-page>h2,.owner-page>.mud-typography-h5 {
    margin-bottom:4px!important
}
.owner-page .metric-grid {
    grid-template-columns:repeat(auto-fit,minmax(135px,1fr));
    gap:9px;
    margin:14px 0 20px
}
.owner-page .metric-card {
    padding:14px 12px
}
.owner-page .metric-card__value {
    font-size:28px
}
.owner-page .panel {
    padding:20px
}
.owner-page .night-grid {
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:12px;
    background:transparent;
    border:0
}
.owner-page .night-card {
    min-height:0;
    padding:20px;
    border:1px solid var(--line)
}
.owner-page .night-card h3 {
    margin:10px 0 5px;
    font-size:25px
}
.owner-page .night-card__date {
    margin-top:14px
}
.owner-page .night-card .card-actions {
    padding-top:14px
}
.owner-page .mud-paper {
    padding:20px!important
}
.owner-page .mud-grid {
    margin-top:-6px!important;
    margin-bottom:-6px!important
}
.owner-page .mud-grid-item {
    padding-top:10px!important
}
.owner-page .service-settings-actions--top {
    margin:8px 0
}
.owner-settings-page .slot-editor {
    height:100%;
    padding:15px!important
}
.owner-settings-page .walk-in-reserve-settings {
    margin-block:14px!important;
    padding:18px!important
}
.owner-kitchen-page .walk-in-capacity-grid {
    grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
    gap:8px;
    margin:8px 0 16px
}
.owner-kitchen-page .walk-in-capacity-card {
    padding:10px 12px
}
.owner-kitchen-page .ticket {
    height:100%;
    display:flex;
    flex-direction:column
}
.owner-kitchen-page .ticket .mud-card-content {
    flex:1;
    padding-block:10px
}
.owner-kitchen-page .ticket .mud-card-header {
    padding-bottom:6px
}
.owner-kitchen-page .kitchen-status-actions {
    padding:10px 16px 16px!important
}
.owner-dashboard-page .owner-two-column {
    grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);
    gap:12px
}
.owner-menu-page .menu-admin-list {
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:10px
}
.owner-menu-page .menu-admin-row {
    grid-template-columns:minmax(0,1fr) auto;
    padding:15px;
    gap:10px
}
.owner-menu-page .menu-admin-row .button {
    grid-column:auto
}
.owner-cancelled-page .cancelled-order-list {
    grid-template-columns:repeat(auto-fit,minmax(360px,1fr));
    gap:12px
}
.owner-create-page .mud-paper {
    padding:22px!important
}
@media(max-width:900px) {
    .owner-page {
        width:min(100% - 24px,1480px);
        padding-top:28px!important
    }
    .owner-dashboard-page .owner-two-column {
        grid-template-columns:1fr
    }
    .owner-menu-page .menu-admin-list,.owner-cancelled-page .cancelled-order-list {
        grid-template-columns:1fr
    }
}
@media(max-width:600px) {
    .owner-page {
        width:min(100% - 18px,1480px);
        padding:22px 0 44px!important
    }
    .owner-page .mud-paper {
        padding:14px!important
    }
    .owner-page .metric-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .owner-page .night-grid {
        grid-template-columns:1fr
    }
    .owner-menu-page .menu-admin-row {
        grid-template-columns:1fr
    }
    .owner-menu-page .menu-admin-row .button {
        grid-column:1
    }
}

/* v24: explicit global-catalogue selection for every service night. */
.service-menu-picker-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
    gap:9px
}
.service-menu-settings {
    margin-block:14px!important
}
.service-menu-option {
    height:100%
}
@media(max-width:600px) {
    .service-menu-picker-grid {
        grid-template-columns:1fr
    }
}

/* v25: passwordless customer identity, My Pizza and rewards. */
.customer-signin,.my-pizza {
    padding:62px 0 90px
}
.customer-signin__card {
    width:min(620px,100%);
    margin:auto;
    padding:36px;
    border:1px solid var(--line);
    border-top:5px solid var(--tomato);
    background:var(--paper)
}
.customer-signin__form {
    display:grid;
    gap:10px;
    margin-top:22px
}
.customer-signin__form label {
    font-weight:750
}
.customer-signin__form input {
    min-height:52px;
    padding:0 14px;
    border:1px solid #b7a895;
    border-radius:4px;
    background:#fff;
    font:inherit
}
.customer-signin__note {
    color:var(--muted);
    font-size:13px
}
.my-pizza__header {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px
}
.my-pizza__header h1 {
    margin-bottom:6px
}
.rewards-card {
    display:grid;
    grid-template-columns:minmax(220px,.7fr) minmax(320px,1.3fr);
    gap:24px;
    margin:24px 0;
    padding:28px;
    border:1px solid var(--line);
    border-top:5px solid var(--tomato);
    background:var(--paper)
}
.reward-stamps {
    display:grid;
    grid-template-columns:repeat(9,1fr);
    gap:6px;
    align-items:center
}
.reward-stamps span {
    display:grid;
    aspect-ratio:1;
    place-items:center;
    border:1px solid var(--line);
    filter:grayscale(1);
    opacity:.3
}
.reward-stamps span.earned {
    border-color:var(--tomato);
    background:#f7e1da;
    filter:none;
    opacity:1
}
.my-pizza__columns {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:22px
}
.customer-order-summary {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    margin-bottom:10px;
    padding:16px;
    border:1px solid var(--line);
    background:var(--paper)
}
.customer-order-summary div {
    display:flex;
    flex-direction:column
}
.customer-order-summary .button {
    grid-column:1/-1;
    justify-self:start
}
.claim-order-card {
    margin:24px 0 0;
    padding:18px;
    border:1px solid var(--line);
    background:#f7eddf
}
.claim-order-card p {
    margin:5px 0 13px;
    color:var(--muted)
}
@media(max-width:760px) {
    .rewards-card,.my-pizza__columns {
        grid-template-columns:1fr
    }
    .reward-stamps {
        grid-template-columns:repeat(5,1fr)
    }
}

/* v26: scan-in-person Pizza Rewards card. */
.reward-qr-card {
    display:grid;
    grid-template-columns:minmax(0,1fr) 230px;
    gap:28px;
    margin:24px 0;
    padding:28px;
    align-items:center;
    border:1px solid var(--line);
    background:var(--paper)
}
.reward-qr-card img {
    display:block;
    width:230px;
    height:230px;
    padding:10px;
    border:1px solid var(--line);
    background:#fffaf1;
    image-rendering:crisp-edges
}
.reward-scanner {
    position:relative;
    width:min(540px,100%);
    aspect-ratio:4/3;
    margin:20px 0;
    overflow:hidden;
    border:1px solid var(--line);
    background:var(--ink)
}
.reward-scanner video {
    width:100%;
    height:100%;
    object-fit:cover
}
.reward-scanner__frame {
    position:absolute;
    inset:15%;
    border:4px solid var(--gold);
    box-shadow:0 0 0 999px rgba(0,0,0,.32)
}
.reward-code-manual {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:10px;
    width:min(700px,100%);
    margin-top:18px
}
.reward-code-manual label {
    grid-column:1/-1;
    font-weight:700
}
.reward-code-manual input {
    min-height:48px;
    padding:0 12px;
    border:1px solid var(--line);
    background:#fff;
    font:inherit
}
.reward-adjustment {
    display:grid;
    grid-template-columns:180px minmax(280px,1fr) auto;
    gap:12px;
    align-items:end
}
.reward-adjustment .mud-typography-h5 {
    grid-column:1/-1
}
.reward-history {
    margin-top:28px
}
.reward-history>div {
    display:grid;
    grid-template-columns:50px minmax(0,1fr) auto;
    gap:12px;
    padding:11px 0;
    border-bottom:1px solid var(--line)
}
.reward-history>div>strong {
    color:var(--tomato)
}
.reward-history small {
    color:var(--muted)
}
@media(max-width:700px) {
    .reward-qr-card {
        grid-template-columns:1fr
    }
    .reward-qr-card img {
        width:min(230px,100%);
        height:auto
    }
    .reward-adjustment,.reward-code-manual {
        grid-template-columns:1fr
    }
    .reward-code-manual label,.reward-adjustment .mud-typography-h5 {
        grid-column:1
    }
    .reward-history>div {
        grid-template-columns:45px 1fr
    }
    .reward-history small {
        grid-column:2
    }
}

/* v26a: explicit guest checkout choice. */
.checkout-identity-choice {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:12px;
    margin:18px 0 6px;
    padding:15px;
    border:1px solid var(--line);
    background:#f7eddf;
    color:var(--ink)
}
.checkout-identity-choice strong,.checkout-identity-choice span {
    display:block
}
.checkout-identity-choice span {
    margin-top:3px;
    color:var(--muted);
    font-size:12px
}
.checkout-identity-choice .button {
    align-self:center;
    white-space:nowrap
}
@media(max-width:600px) {
    .checkout-identity-choice {
        grid-template-columns:1fr
    }
    .checkout-identity-choice .button {
        justify-self:start
    }
}

/* v27: inline guest-or-rewards preorder flow. */
.inline-rewards-panel {
    margin:20px 0 8px;
    padding:20px;
    border:1px solid #9ec7b8;
    border-radius:8px;
    background:#edf6ef;
    color:var(--ink)
}
.inline-rewards-panel h3 {
    margin:0 0 4px;
    font-size:28px
}
.inline-rewards-panel>p {
    margin:0 0 12px
}
.rewards-choice-actions {
    display:flex;
    gap:10px;
    flex-wrap:wrap
}
.inline-rewards-signin {
    display:grid;
    gap:9px;
    margin-top:10px;
    padding:18px;
    border:1px solid #9ec7b8;
    border-radius:8px;
    background:#fffdf8
}
.inline-rewards-signin h4 {
    margin:0;
    font:700 20px Georgia,serif
}
.inline-rewards-signin>p {
    margin:0 0 4px;
    color:var(--muted);
    font-size:13px;
    line-height:1.5
}
.inline-rewards-signin>label:not(.rewards-consent) {
    font-size:12px;
    font-weight:800
}
.inline-rewards-signin>input {
    width:100%;
    min-height:46px;
    padding:0 11px;
    border:1px solid #6e9c8d;
    border-radius:7px;
    background:#fff;
    font:inherit
}
.rewards-consent {
    display:grid;
    grid-template-columns:22px 1fr;
    gap:8px;
    align-items:start;
    font-size:12px;
    line-height:1.45
}
.rewards-consent input {
    width:20px;
    height:20px;
    accent-color:var(--green)
}
.signin-code-input {
    max-width:190px;
    font-size:22px!important;
    font-weight:800;
    letter-spacing:.18em;
    text-align:center
}
.rewards-code-actions {
    display:flex;
    gap:8px;
    flex-wrap:wrap
}
.inline-rewards-signin small {
    color:var(--muted)
}
.rewards-how {
    margin-top:12px;
    padding-top:12px;
    border-top:1px solid #bdd6ca
}
.rewards-how summary {
    cursor:pointer;
    font-weight:800
}
.rewards-signed-in {
    display:flex;
    padding:12px;
    justify-content:space-between;
    gap:10px;
    border:1px solid #8fbfac;
    background:#fff
}
.rewards-signed-in span {
    color:var(--muted);
    font-size:12px
}
@media(max-width:600px) {
    .rewards-choice-actions,.rewards-choice-actions .button,.rewards-code-actions,.rewards-code-actions .button {
        width:100%
    }
    .rewards-signed-in {
        flex-direction:column
    }
}

/* v27a: make new versus returning Pizza Rewards membership explicit. */
.rewards-user-explainer {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin:4px 0 8px
}
.rewards-user-explainer>div {
    padding:12px;
    border-left:3px solid var(--green);
    background:#f4f7f1
}
.rewards-user-explainer strong,.rewards-user-explainer span {
    display:block
}
.rewards-user-explainer strong {
    margin-bottom:3px;
    font-size:13px
}
.rewards-user-explainer span {
    color:var(--muted);
    font-size:12px;
    line-height:1.45
}
.field-helper {
    margin-left:5px;
    color:var(--muted);
    font-size:10px;
    font-weight:600
}
@media(max-width:650px) {
    .rewards-user-explainer {
        grid-template-columns:1fr
    }
}

/* v28: My Pizza customer dashboard. */
.my-pizza-dashboard {
    padding:48px 0 88px
}
.my-pizza-welcome,.customer-dashboard-nav,.customer-dashboard-section {
    border:1px solid #9ec7b8;
    border-radius:18px;
    background:#fffdf8
}
.my-pizza-welcome {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    padding:24px
}
.my-pizza-welcome h1 {
    margin:0 0 3px;
    font-size:clamp(34px,5vw,54px)
}
.my-pizza-welcome p {
    margin:0;
    color:var(--muted)
}
.my-pizza-preorder {
    display:flex;
    grid-column:1/-1;
    min-height:58px;
    padding:0 20px;
    align-items:center;
    justify-content:space-between;
    border-radius:12px;
    background:var(--green-dark);
    color:#fff;
    text-decoration:none;
    font-weight:800
}
.my-pizza-preorder small {
    color:#fff;
    font-weight:700
}
.customer-dashboard-nav {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:8px;
    margin:12px 0;
    padding:10px
}
.customer-dashboard-nav__item {
    display:grid;
    min-height:72px;
    padding:10px;
    place-items:center;
    border:1px solid #b8d3c8;
    border-radius:12px;
    background:#edf5f1;
    color:var(--green-dark);
    font:800 14px inherit;
    cursor:pointer
}
.customer-dashboard-nav__item span {
    font-size:20px
}
.customer-dashboard-nav__item.active {
    border-color:var(--green-dark);
    background:var(--green-dark);
    color:#fff
}
.customer-dashboard-section {
    padding:22px
}
.dashboard-section-heading {
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px
}
.dashboard-section-heading h2 {
    margin:0
}
.dashboard-section-heading>span {
    padding:7px 12px;
    border-radius:999px;
    background:#e5eee9;
    font-size:10px;
    font-weight:800
}
.customer-glance-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    margin-top:12px
}
.customer-glance-grid article {
    display:flex;
    min-height:150px;
    padding:16px;
    flex-direction:column;
    border:1px solid #b8d3c8;
    border-radius:15px;
    background:#edf5f1
}
.customer-glance-grid small {
    font-weight:800
}
.customer-glance-grid strong {
    margin:5px 0;
    font:700 24px Georgia,serif
}
.customer-glance-grid p {
    margin:0;
    color:var(--muted);
    font-size:12px
}
.customer-glance-grid button,.customer-glance-grid a {
    margin-top:auto;
    padding:14px 0 0;
    border:0;
    background:transparent;
    color:var(--green-dark);
    font:800 12px inherit;
    text-align:left;
    text-decoration:none;
    cursor:pointer
}
.rewards-progress-panel {
    display:grid;
    grid-template-columns:minmax(220px,.8fr) 1.2fr;
    gap:20px;
    margin-top:14px;
    padding:20px;
    border:1px solid var(--line);
    border-radius:15px;
    background:#fffaf1
}
.customer-reward-history {
    margin-top:14px;
    padding:18px;
    border-top:1px solid var(--line)
}
.customer-reward-history>div:not(.dashboard-section-heading) {
    display:grid;
    grid-template-columns:45px 1fr auto;
    gap:10px;
    padding:10px 0;
    border-bottom:1px solid var(--line)
}
.customer-reward-history strong {
    color:var(--tomato)
}
.account-dashboard {
    max-width:760px
}
.account-dashboard dl {
    display:grid;
    gap:0;
    border-top:1px solid var(--line)
}
.account-dashboard dl>div {
    display:grid;
    grid-template-columns:130px 1fr;
    padding:15px 0;
    border-bottom:1px solid var(--line)
}
.account-dashboard dt {
    font-weight:800
}
.account-dashboard dd {
    margin:0
}
.account-dashboard dd span {
    margin-left:8px;
    color:var(--green);
    font-size:11px;
    font-weight:800
}
.account-note {
    padding:13px;
    background:#edf5f1;
    color:var(--muted)
}
.qr-dialog-backdrop {
    position:fixed;
    z-index:2000;
    inset:0;
    display:grid;
    padding:20px;
    place-items:center;
    background:rgba(38,48,42,.72)
}
.qr-dialog {
    position:relative;
    width:min(420px,100%);
    padding:30px;
    border-radius:18px;
    background:#fffaf1;
    text-align:center
}
.qr-dialog img {
    display:block;
    width:min(260px,85%);
    margin:15px auto;
    padding:10px;
    border:1px solid var(--line);
    background:#fff
}
.qr-dialog strong,.qr-dialog span {
    display:block
}
.qr-dialog__close {
    position:absolute;
    right:12px;
    top:9px;
    width:40px;
    height:40px;
    border:0;
    background:transparent;
    font-size:30px;
    cursor:pointer
}
@media(max-width:700px) {
    .my-pizza-welcome {
        grid-template-columns:1fr
    }
    .my-pizza-welcome>.button {
        justify-self:start
    }
    .customer-dashboard-nav {
        grid-template-columns:1fr 1fr 1fr
    }
    .customer-glance-grid,.rewards-progress-panel {
        grid-template-columns:1fr
    }
    .customer-reward-history>div:not(.dashboard-section-heading) {
        grid-template-columns:40px 1fr
    }
    .customer-reward-history small {
        grid-column:2
    }
    .my-pizza-preorder {
        align-items:flex-start;
        flex-direction:column;
        justify-content:center
    }
    .account-dashboard dl>div {
        grid-template-columns:1fr;
        gap:3px
    }
}
/* v29: focused pre-order flow;
ordering is the default and rewards sign-in is optional. */ .order-page-heading {
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    margin-bottom:22px;
    padding-bottom:18px;
    border-bottom:1px solid rgba(28,74,61,.18)
}
.order-page-heading h1 {
    margin:.15rem 0 .35rem
}
.order-page-heading p:last-child {
    margin:0;
    color:var(--muted)
}
.order-step {
    flex:0 0 auto;
    padding:9px 12px;
    border:1px solid rgba(28,74,61,.2);
    border-radius:999px;
    background:#fffdf8;
    color:var(--green);
    font-size:12px;
    font-weight:800;
    white-space:nowrap
}
.order-step span {
    margin-left:10px;
    color:var(--muted);
    font-weight:600
}
.inline-rewards-panel {
    padding:16px 18px;
    background:#fffdf8;
    border-color:rgba(28,74,61,.2)
}
.inline-rewards-panel h3 {
    font-size:22px;
    margin:0 0 3px
}
.inline-rewards-panel>p {
    margin-bottom:8px
}
.rewards-summary .eyebrow {
    margin-bottom:2px
}
.rewards-summary p:last-child {
    margin:0;
    color:var(--muted);
    font-size:13px;
    line-height:1.45
}
.rewards-choice-actions {
    margin-top:10px
}
.rewards-signin-toggle {
    padding:0;
    border:0;
    background:transparent;
    color:var(--green);
    font:inherit;
    font-size:13px;
    font-weight:800;
    text-decoration:underline;
    text-underline-offset:3px;
    cursor:pointer
}
.rewards-signin-toggle:hover {
    color:var(--orange)
}
.inline-rewards-signin {
    margin-top:12px;
    padding:15px
}
@media(max-width:760px) {
    .order-page-heading {
        align-items:flex-start;
        flex-direction:column;
        gap:12px
    }
    .order-step {
        white-space:normal
    }
    .order-step span {
        margin-left:6px
    }
    .inline-rewards-panel {
        padding:14px
    }
}

/* v30: simpler contemporary pizzeria typography and cleaner brand treatment. */
html,body {
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
    letter-spacing:0
}
h1,h2,h3,h4,h5,h6,.brand__name {
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
    font-weight:800;
    letter-spacing:-.035em
}
h1 {
    font-size:clamp(40px,6vw,68px);
    line-height:1
}
h2 {
    font-size:clamp(26px,3.5vw,38px);
    line-height:1.08
}
.eyebrow,.brand__tagline,.announcement__track {
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
    letter-spacing:.11em
}
.site-nav__link,.button,button,input,select,textarea {
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif
}
.brand__logo {
    width:auto;
    max-width:185px;
    height:52px;
    object-fit:contain;
    object-position:left center
}
.product-card h2,.order-summary h2,.my-pizza-welcome h1,.dashboard-section-heading h2 {
    font-family:Arial,"Helvetica Neue",Helvetica,sans-serif;
    font-weight:800;
    letter-spacing:-.025em
}

/* v31: unified modern pizzeria type system and explicit rewards contrast. */
:root {
    --type-display:Arial,"Helvetica Neue",Helvetica,sans-serif;
    --type-body:Arial,"Helvetica Neue",Helvetica,sans-serif
}
html,body,.mud-typography,.mud-input,.mud-button-root,.mud-table,.mud-list,.mud-chip {
    font-family:var(--type-body)!important
}
h1,h2,h3,h4,h5,h6,.brand__name,.hero h1,.hero h2,.product-card h2,.order-summary h2,.owner-card h2,.dashboard-section-heading h2,.my-pizza-welcome h1,.reward-card h2 {
    font-family:var(--type-display)!important;
    font-style:normal;
    font-weight:800;
    letter-spacing:-.035em
}
p,span,a,label,strong,small,button,input,select,textarea,dt,dd,th,td {
    font-family:var(--type-body)
}
.eyebrow,.brand__tagline,.announcement__track {
    font-family:var(--type-body)!important;
    font-weight:800;
    letter-spacing:.1em
}
.inline-rewards-panel,.rewards-summary {
    color:var(--green-dark)!important;
    background:#fffdf8
}
.inline-rewards-panel .rewards-summary h3 {
    color:var(--green-dark)!important;
    background:transparent!important;
    font-size:22px;
    line-height:1.1
}
.inline-rewards-panel .rewards-summary p {
    color:var(--muted)!important
}
.inline-rewards-panel .rewards-summary .eyebrow {
    color:var(--red)!important
}

/* v34: stronger order-status framing and no low-contrast white-on-white actions. */
.live-order-hero--warm {
    border:2px solid #8eaa9f;
    border-top:7px solid var(--tomato);
    box-shadow:0 14px 34px rgba(55,42,27,.10),0 0 0 4px rgba(7,91,79,.06)
}
.live-order-hero--preparing.live-order-hero--warm {
    border-color:#c9a45f;
    border-top-color:#d4972f
}
.live-order-hero--ready.live-order-hero--warm {
    border-color:#82a994;
    border-top-color:var(--green)
}
.live-order-hero--cancelled.live-order-hero--warm {
    border-color:#b7938b;
    border-top-color:#8a3b31
}
.customer-order-card {
    border:1.5px solid #9eb8af;
    box-shadow:0 8px 20px rgba(6,63,56,.06)
}

/* Secondary/quiet buttons must remain visible on paper/white surfaces. */
.button--secondary {
    border:1.5px solid var(--green)!important;
    background:#edf5f1!important;
    color:var(--green-dark)!important
}
.button--secondary:hover {
    border-color:var(--green-dark)!important;
    background:#dcebe5!important;
    color:var(--green-dark)!important
}
.button--quiet {
    border:1.5px solid #9ab6ad!important;
    background:#f3f7f4!important;
    color:var(--green-dark)!important
}
.button--quiet:hover {
    border-color:var(--green)!important;
    background:#e2eee9!important;
    color:var(--green-dark)!important
}
.button--light {
    border:1.5px solid currentColor
}
.panel .button--secondary,
.panel .button--quiet,
.order-summary .button--secondary,
.order-summary .button--quiet,
.customer-order-card .button--secondary,
.customer-order-card .button--quiet,
.inline-rewards-signin .button--secondary,
.inline-rewards-signin .button--quiet {
    box-shadow:0 1px 0 rgba(6,63,56,.08)
}

/* v35: compact rewards checkout and correctly separated customer details. */
.inline-rewards-panel {
    margin:20px 0 24px;
    padding:15px 16px
}
.rewards-summary h3 {
    margin:0 0 4px!important;
    font-size:21px!important;
    line-height:1.15
}
.rewards-summary>p:not(.eyebrow) {
    margin:0 0 8px!important;
    font-size:12px!important;
    line-height:1.4!important
}
.rewards-signin-toggle {
    display:inline-block;
    margin-top:3px
}
.inline-rewards-signin--compact {
    gap:7px;
    margin-top:12px;
    padding:14px
}
.inline-rewards-signin--compact h4 {
    font-family:var(--type-display)!important;
    font-size:18px;
    line-height:1.2
}
.inline-rewards-signin--compact .rewards-signin-help {
    margin:0 0 4px;
    color:var(--muted);
    font-size:12px;
    line-height:1.4
}
.inline-rewards-signin--compact>input {
    min-height:42px
}
.inline-rewards-signin--compact>.button {
    justify-self:start;
    min-height:42px
}
.rewards-signed-in--compact {
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:9px;
    margin-top:9px;
    padding:10px 11px;
    align-items:start;
    border:1px solid #9eb8af;
    background:#f3f7f4
}
.rewards-signed-in--compact .mud-icon-root {
    margin-top:2px;
    color:var(--green)
}
.rewards-signed-in--compact strong,.rewards-signed-in--compact span {
    display:block;
    overflow-wrap:anywhere
}
.rewards-signed-in--compact strong {
    font-size:13px;
    line-height:1.35
}
.rewards-signed-in--compact span {
    margin-top:2px;
    color:var(--muted);
    font-size:11px;
    line-height:1.35
}
.inline-rewards-panel+.preorder-contact-field {
    margin-top:0!important
}
@media(max-width:600px) {
    .inline-rewards-signin--compact>.button {
        width:100%
    }
    .rewards-signed-in--compact {
        grid-template-columns:auto minmax(0,1fr)
    }
}

/* v37: modern My Pizza dashboard aligned with the customer ordering experience. */
.my-pizza-dashboard {
    width:min(1120px,calc(100% - 40px));
    padding:48px 0 88px
}
.my-pizza-welcome,.customer-dashboard-nav,.customer-dashboard-section {
    border:1px solid #d6c9b8;
    border-radius:6px;
    background:#fffaf1;
    box-shadow:none
}
.my-pizza-welcome {
    grid-template-columns:minmax(0,1fr) auto;
    padding:30px 32px;
    border-top:5px solid var(--tomato)
}
.my-pizza-welcome h1 {
    margin:2px 0 5px;
    color:var(--ink);
    font-size:clamp(36px,5vw,54px);
    letter-spacing:-.045em
}
.my-pizza-welcome p {
    color:var(--muted)
}
.my-pizza-welcome>.button {
    align-self:start;
    min-width:104px;
    border-color:var(--tomato)!important;
    background:var(--tomato)!important;
    color:#fff!important
}
.my-pizza-preorder {
    grid-column:1/-1;
    min-height:56px;
    margin-top:4px;
    padding:0 18px;
    border:1px solid var(--green-dark);
    border-radius:4px;
    background:var(--green-dark);
    font-size:14px;
    letter-spacing:.01em
}
.my-pizza-preorder:hover {
    border-color:var(--tomato);
    background:var(--tomato)
}
.my-pizza-preorder small {
    font-size:12px
}
.customer-dashboard-nav {
    gap:1px;
    margin:12px 0;
    padding:0;
    overflow:hidden;
    background:#d6c9b8
}
.customer-dashboard-nav__item {
    min-height:62px;
    padding:10px;
    border:0;
    border-radius:0;
    background:#fffaf1;
    color:var(--ink);
    font-size:13px;
    font-weight:750
}
.customer-dashboard-nav__item span {
    font-size:16px
}
.customer-dashboard-nav__item:hover {
    background:#f4eadc
}
.customer-dashboard-nav__item.active {
    background:var(--green-dark);
    color:#fff
}
.customer-dashboard-section {
    padding:30px 32px
}
.dashboard-section-heading {
    padding-bottom:18px;
    border-bottom:1px solid var(--line)
}
.dashboard-section-heading h2 {
    font-size:clamp(28px,4vw,40px)
}
.dashboard-section-heading>span {
    border-radius:3px;
    background:#e7eee9;
    color:var(--green-dark);
    letter-spacing:.04em;
    text-transform:uppercase
}
.customer-glance-grid {
    gap:12px;
    margin-top:20px
}
.customer-glance-grid article {
    min-height:168px;
    padding:20px;
    border:1px solid #d6c9b8;
    border-radius:5px;
    background:#fbf6ed
}
.customer-glance-grid small {
    color:var(--green-dark);
    font-size:11px;
    letter-spacing:.02em
}
.customer-glance-grid strong {
    margin:8px 0 4px;
    color:var(--ink);
    font-family:var(--type-display)!important;
    font-size:26px;
    line-height:1.05
}
.customer-glance-grid p {
    font-size:12px;
    line-height:1.5
}
.customer-glance-grid button,.customer-glance-grid a {
    padding-top:18px;
    color:var(--tomato);
    font-size:12px
}
.customer-glance-grid button:hover,.customer-glance-grid a:hover {
    color:var(--tomato-dark)
}
.rewards-progress-panel {
    border-radius:5px;
    background:#fbf6ed
}
.customer-reward-history {
    padding-inline:0
}
.account-dashboard {
    max-width:none
}
.qr-dialog {
    border:1px solid var(--line);
    border-top:5px solid var(--tomato);
    border-radius:6px
}
@media(max-width:700px) {
    .my-pizza-dashboard {
        width:min(100% - 24px,1120px);
        padding-top:28px
    }
    .my-pizza-welcome {
        grid-template-columns:1fr;
        padding:23px 20px
    }
    .my-pizza-welcome>.button {
        justify-self:start
    }
    .customer-dashboard-nav__item {
        font-size:12px
    }
    .customer-dashboard-section {
        padding:22px 18px
    }
    .dashboard-section-heading {
        align-items:flex-start;
        flex-direction:column
    }
    .customer-glance-grid {
        grid-template-columns:1fr
    }
}

/* v38: retain a discreet but permanent owner/admin sign-in route. */
.site-nav__signin {
    display:flex;
    height:100%;
    align-items:stretch
}
.site-nav__owner-login {
    display:flex;
    padding:0 8px;
    align-items:center;
    color:var(--muted);
    font-size:10px;
    font-weight:750;
    letter-spacing:.04em;
    text-decoration:none;
    text-transform:uppercase
}
.site-nav__owner-login:hover {
    color:var(--tomato)
}
@media(max-width:600px) {
    .site-nav__owner-login {
        padding:0 4px;
        font-size:9px
    }
}

/* v39: compact owner control centre heading and clearer section spacing. */
.owner-index-page {
    padding-top:30px!important
}
.owner-index-page .owner-title-row {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:28px;
    margin-bottom:22px;
    padding-bottom:20px;
    border-bottom:1px solid var(--line)
}
.owner-index-page .owner-title-row .eyebrow {
    margin-bottom:7px
}
.owner-index-page .owner-title-row h1 {
    max-width:720px;
    margin:0 0 5px;
    font-size:clamp(36px,4.4vw,58px);
    line-height:.98;
    letter-spacing:-.045em
}
.owner-index-page .owner-title-row p:last-child {
    margin:0;
    color:var(--muted);
    font-size:14px
}
.owner-index-page .owner-actions {
    max-width:530px;
    justify-content:flex-end;
    align-content:start;
    gap:8px
}
.owner-index-page .owner-actions .button {
    min-height:42px;
    padding:0 14px
}
.owner-index-page .owner-feature-card {
    margin:20px 0 38px;
    padding:20px
}
.owner-index-page .owner-feature-card h2 {
    margin:5px 0 1px;
    font-size:30px
}
.owner-index-page .owner-feature-card p {
    margin:0 0 4px
}
.owner-index-page .owner-list-section {
    margin-top:38px
}
.owner-index-page .owner-list-section>h2 {
    margin:0 0 20px;
    padding-bottom:12px;
    border-bottom:1px solid var(--line);
    font-size:32px;
    line-height:1.08
}
.owner-index-page .owner-list-section .night-grid {
    margin-top:0
}
.owner-index-page .night-card {
    padding:18px 20px
}
.owner-index-page .night-card h3 {
    margin:8px 0 3px;
    font-size:25px
}
.owner-index-page .night-card .eyebrow {
    margin:8px 0 0
}
.owner-index-page .night-card>p:not(.eyebrow) {
    margin:3px 0 0
}
@media(max-width:900px) {
    .owner-index-page .owner-title-row {
        grid-template-columns:1fr
    }
    .owner-index-page .owner-actions {
        max-width:none;
        justify-content:flex-start
    }
    .owner-index-page .owner-title-row h1 {
        font-size:44px
    }
}
@media(max-width:600px) {
    .owner-index-page {
        padding-top:22px!important
    }
    .owner-index-page .owner-title-row {
        gap:16px
    }
    .owner-index-page .owner-title-row h1 {
        font-size:38px
    }
    .owner-index-page .owner-actions {
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .owner-index-page .owner-actions form,.owner-index-page .owner-actions form .button {
        width:100%
    }
    .owner-index-page .owner-list-section {
        margin-top:32px
    }
    .owner-index-page .owner-list-section>h2 {
        margin-bottom:16px;
        font-size:28px
    }
}

/* v40: one consistent WhatsApp action style everywhere. */
.button--whatsapp,.live-order-hero__actions--warm .button--whatsapp {
    margin:0!important;
    border:1.5px solid #1f7a52!important;
    background:#e4f2e9!important;
    color:#175c3e!important;
    border-radius:4px!important;
    box-shadow:none!important
}
.button--whatsapp:hover,.live-order-hero__actions--warm .button--whatsapp:hover {
    border-color:#175c3e!important;
    background:#d2e9da!important;
    color:#10442e!important
}
.confirmation-card__actions .button--whatsapp,.live-order-hero__actions .button--whatsapp {
    height:50px;
    min-height:50px;
    padding:0 18px
}

/* v41: payment controls complete the paid-and-collected rewards workflow. */
.collected-ticket-row {
    display:flex;
    gap:14px;
    padding:10px 0;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid var(--line)
}
.collected-ticket-row:last-child {
    border-bottom:0
}
.collected-ticket-row .button {
    min-height:40px;
    flex:none
}
@media(max-width:600px) {
    .collected-ticket-row {
        align-items:flex-start;
        flex-direction:column
    }
    .collected-ticket-row .button {
        width:100%
    }
}

/* v43: expired/stale customer cookies must never leave My Pizza spinning forever. */
.stale-customer-session {
    max-width:680px;
    margin:32px auto;
    padding:30px;
    border-top:5px solid var(--tomato);
    text-align:left
}
.stale-customer-session h1 {
    margin:0 0 10px;
    font-size:clamp(34px,5vw,52px)
}
.stale-customer-session p:not(.eyebrow) {
    max-width:570px;
    margin-bottom:20px;
    color:var(--muted);
    line-height:1.6
}

/* v45: kitchen capacity is a compact operational strip rather than oversized cards. */
.owner-kitchen-page>.mud-typography-h2 {
    margin:2px 0 0!important;
    font-size:34px!important;
    line-height:1.05
}
.owner-kitchen-page>.mud-typography-h5 {
    margin:4px 0 0!important;
    font-size:20px!important;
    font-weight:650!important
}
.owner-kitchen-page>.mud-typography-body1 {
    margin-top:2px;
    color:var(--muted);
    font-size:13px
}
.owner-kitchen-page>.mud-alert {
    margin-top:14px!important
}
.owner-kitchen-page>.mud-grid {
    margin:10px -4px 8px!important
}
.owner-kitchen-page>.mud-grid>.mud-grid-item {
    padding:4px!important
}
.owner-kitchen-page .metric-card {
    min-height:82px;
    padding:12px 10px;
    display:grid;
    place-content:center;
    border-color:#d7c9b7;
    background:#fffaf1
}
.owner-kitchen-page .metric-card__value {
    font-size:27px;
    line-height:1
}
.owner-kitchen-page .metric-card__label {
    margin-top:7px;
    font-size:9px
}
.owner-kitchen-page .metric-card--accent {
    border-color:var(--tomato);
    background:var(--tomato);
    color:#fff
}
.owner-kitchen-page>.mud-expand-panel {
    margin-bottom:18px
}
.owner-kitchen-page h1,.owner-kitchen-page h2,.owner-kitchen-page h3 {
    letter-spacing:-.025em
}
.owner-kitchen-page .walk-in-capacity-grid {
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(128px,1fr));
    gap:6px;
    margin:8px 0 22px
}
.owner-kitchen-page .walk-in-capacity-card {
    min-height:112px;
    padding:10px 11px;
    border:1px solid #d7c9b7;
    border-radius:5px;
    background:#fffaf1
}
.owner-kitchen-page .walk-in-capacity-card strong {
    font-size:17px;
    line-height:1.15
}
.owner-kitchen-page .walk-in-capacity-card span {
    font-size:11px;
    line-height:1.35
}
.owner-kitchen-page .walk-in-capacity-card small {
    margin-top:2px;
    color:var(--tomato);
    font-size:10px;
    line-height:1.3
}
.owner-kitchen-page .walk-in-capacity-card small+small {
    margin-top:0
}
.owner-kitchen-page .walk-in-capacity-grid+* {
    margin-top:0
}
@media(min-width:1200px) {
    .owner-kitchen-page .walk-in-capacity-grid {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
}
@media(max-width:700px) {
    .owner-kitchen-page .walk-in-capacity-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .owner-kitchen-page>.mud-grid>.mud-grid-item {
        flex-basis:50%;
        max-width:50%
    }
}

/* v46: customer contact details and operator-selected walk-in slots. */
.kitchen-ticket-contact {
    display:inline-flex;
    margin-top:8px;
    align-items:center;
    gap:6px;
    color:var(--tomato);
    font-size:13px;
    font-weight:750;
    text-decoration:none
}
.kitchen-ticket-contact:hover {
    text-decoration:underline
}
.kitchen-ticket-contact .mud-icon-root {
    font-size:17px!important
}
.walk-in-customer-fields {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px;
    margin-top:16px
}
@media(max-width:650px) {
    .walk-in-customer-fields {
        grid-template-columns:1fr
    }
}

/* v47: compact live-capacity blocks with green availability emphasis. */
.owner-kitchen-page .walk-in-capacity-grid {
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:8px;
    margin:8px 0 22px
}
.owner-kitchen-page .walk-in-capacity-card {
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:"time available" "time total" "hold hold";
    column-gap:10px;
    row-gap:3px;
    min-height:0;
    padding:10px 12px;
    align-items:center;
    border:1px solid #b9cbbd;
    border-left:5px solid #4e8063;
    border-radius:4px;
    background:#f3f8f3
}
.owner-kitchen-page .walk-in-capacity-card>strong {
    grid-area:time;
    align-self:start;
    margin-top:1px;
    color:var(--green-dark);
    font-size:17px;
    line-height:1.1
}
.owner-kitchen-page .walk-in-capacity-card>span {
    font-size:11px;
    line-height:1.25
}
.owner-kitchen-page .walk-in-capacity-card>span:first-of-type {
    grid-area:available;
    padding:4px 7px;
    border-radius:3px;
    background:#dcecdf;
    color:#285a3b;
    font-weight:800
}
.owner-kitchen-page .walk-in-capacity-card>span:nth-of-type(2) {
    grid-area:total;
    color:var(--muted)
}
.owner-kitchen-page .walk-in-capacity-card>small {
    grid-area:hold;
    margin:3px 0 0;
    padding-top:5px;
    border-top:1px solid #d8e2d9;
    color:#98602a;
    font-size:10px;
    font-weight:750;
    line-height:1.2
}
@media(min-width:1200px) {
    .owner-kitchen-page .walk-in-capacity-grid {
        grid-template-columns:repeat(6,minmax(0,1fr))
    }
}
@media(max-width:700px) {
    .owner-kitchen-page .walk-in-capacity-grid {
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
}

/* v48: compact walk-in order builder with per-pizza extras. */
.owner-kitchen-page .walk-in-products {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px
}
.owner-kitchen-page .walk-in-product-row {
    min-height:52px;
    padding:8px 10px;
    gap:10px;
    border:1px solid var(--line);
    border-radius:4px;
    background:#fffaf1
}
.owner-kitchen-page .walk-in-product-row strong {
    font-size:14px
}
.owner-kitchen-page .walk-in-product-row small {
    font-size:11px
}
.walk-in-extras {
    grid-column:1/-1;
    display:flex;
    gap:6px;
    margin:-3px 0 2px;
    padding:0 4px 5px;
    flex-wrap:wrap
}
.walk-in-extra-option {
    display:inline-flex;
    min-height:32px;
    padding:5px 8px;
    align-items:center;
    gap:6px;
    border:1px solid #c9d7cc;
    border-radius:4px;
    background:#f2f7f3;
    color:var(--green-dark);
    cursor:pointer;
    font-size:11px;
    font-weight:750
}
.walk-in-extra-option:has(input:checked) {
    border-color:#4e8063;
    background:#dcecdf
}
.walk-in-extra-option input {
    width:15px;
    height:15px;
    margin:0;
    accent-color:#4e8063
}
.walk-in-extra-option small {
    color:var(--muted);
    font-size:10px
}
.owner-kitchen-page .walk-in-customer-fields {
    margin-top:10px
}
.owner-kitchen-page .owner-kitchen-page .walk-in-summary {
    margin:10px 0 4px;
    padding:9px 11px
}
@media(max-width:750px) {
    .owner-kitchen-page .walk-in-products {
        grid-template-columns:1fr
    }
}

/* v50: compact checkout summary so the primary action stays visible. */
.order-summary {
    padding:18px 20px;
    top:116px
}
.order-summary__eyebrow {
    margin-bottom:2px
}
.order-summary h2 {
    margin:0 0 10px;
    font-size:24px;
    line-height:1.05
}
.order-summary .summary-product {
    padding:7px 0
}
.order-summary .summary-product small {
    margin-top:2px;
    font-size:10px;
    line-height:1.25
}
.order-summary .summary-row {
    padding:6px 1px;
    font-size:13px
}
.order-summary .summary-row--total {
    margin:8px 0 6px;
    padding-top:9px;
    font-size:16px
}
.order-summary>.mud-alert {
    margin:8px 0!important;
    padding:7px 10px!important;
    font-size:11px
}
.collection-time-hint {
    margin:8px 0;
    padding:8px 10px;
    font-size:12px
}
.order-summary .inline-rewards-panel {
    margin:10px 0 12px;
    padding:10px 12px
}
.order-summary .rewards-summary .eyebrow {
    font-size:9px
}
.order-summary .rewards-summary h3 {
    font-size:17px!important;
    margin-bottom:2px!important
}
.order-summary .rewards-summary>p:not(.eyebrow) {
    margin-bottom:4px!important;
    font-size:11px!important
}
.order-summary .rewards-signed-in--compact {
    margin-top:5px;
    padding:7px 9px
}
.order-summary .inline-rewards-signin--compact {
    margin-top:7px;
    padding:10px;
    gap:5px
}
.order-summary .inline-rewards-signin--compact>input {
    min-height:38px
}
.preorder-contact-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px;
    margin-top:0
}
.preorder-contact-field--email {
    grid-column:1/-1
}
.order-summary .preorder-contact-field .mud-input-control {
    margin-top:0!important
}
.order-summary .preorder-contact-field .mud-input {
    min-height:42px
}
.order-summary .payment-note {
    margin:9px 0;
    padding:9px 11px;
    display:grid;
    grid-template-columns:auto 1fr;
    gap:8px;
    align-items:center;
    font-size:11px
}
.order-summary .payment-note span {
    font-size:10px
}
.order-summary>.button--wide {
    min-height:44px;
    height:44px
}
@media(max-width:420px) {
    .preorder-contact-grid {
        grid-template-columns:1fr
    }
    .preorder-contact-field--email {
        grid-column:1
    }
}

/* v51: compact owner menu management and explicit customer price visibility. */
.owner-menu-page .owner-title-row {
    margin-bottom:16px;
    padding-bottom:14px
}
.owner-menu-page .menu-admin-tabs {
    margin:10px 0 12px
}
.owner-menu-page .menu-admin-list {
    gap:6px
}
.owner-menu-page .menu-admin-row {
    grid-template-columns:52px minmax(0,1fr) auto auto;
    min-height:64px;
    padding:7px 9px;
    gap:10px;
    align-items:center
}
.owner-menu-page .menu-admin-row img {
    width:52px;
    height:52px;
    border-radius:4px;
    object-fit:cover
}
.owner-menu-page .menu-admin-row h3 {
    margin:0;
    font-size:16px;
    line-height:1.1
}
.owner-menu-page .menu-admin-row p {
    margin:2px 0 0;
    font-size:11px;
    line-height:1.25
}
.owner-menu-page .menu-admin-row strong {
    font-size:12px;
    white-space:nowrap
}
.owner-menu-page .menu-admin-row .button {
    min-height:36px;
    padding:0 11px
}
.owner-menu-page .menu-editor {
    width:min(760px,calc(100% - 24px));
    max-height:90vh;
    padding:20px;
    overflow:auto
}
.owner-menu-page .menu-editor>.mud-input-control {
    margin-top:6px
}
.owner-menu-page .editor-switches {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:3px 12px;
    margin:8px 0
}
.owner-menu-page .extras-assignment {
    max-height:180px;
    margin:8px 0;
    padding:10px;
    overflow:auto
}
.public-menu-card__price--hidden {
    color:var(--muted);
    font-size:11px;
    text-transform:uppercase
}
@media(max-width:700px) {
    .owner-menu-page .menu-admin-row {
        grid-template-columns:44px minmax(0,1fr) auto
    }
    .owner-menu-page .menu-admin-row img {
        width:44px;
        height:44px
    }
    .owner-menu-page .menu-admin-row .button {
        grid-column:1/-1
    }
    .owner-menu-page .editor-switches {
        grid-template-columns:1fr 1fr
    }
}

/* v52: confirmation page has two clear actions only. */
.confirmation-card__actions--simple {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    width:min(430px,100%);
    margin-inline:auto
}
.confirmation-card__actions--simple .button {
    width:100%;
    min-height:48px
}
.confirmation-card .claim-order-card {
    margin-top:22px
}
@media(max-width:520px) {
    .confirmation-card__actions--simple {
        grid-template-columns:1fr
    }
}

/* v53: professional menu workspace with an obvious no-pricing mode. */
.owner-menu-page {
    max-width:1180px
}
.owner-menu-page .owner-title-row h1 {
    font-size:clamp(36px,4.6vw,58px)
}
.menu-pricing-control {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    margin:0 0 14px;
    padding:16px 18px;
    align-items:center;
    border:1px solid #b9cbbd;
    border-left:5px solid var(--green-dark);
    border-radius:5px;
    background:#f3f8f3
}
.menu-pricing-control .eyebrow {
    margin-bottom:3px
}
.menu-pricing-control h2 {
    margin:0;
    font-size:22px;
    line-height:1.1
}
.menu-pricing-control p:last-child {
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px
}
.menu-pricing-control__actions {
    display:flex;
    gap:8px
}
.menu-pricing-control__actions .button {
    min-width:126px
}
.owner-menu-page .menu-admin-tabs {
    display:inline-flex;
    width:auto;
    padding:3px;
    border:1px solid var(--line);
    border-radius:5px;
    background:#eee5d8
}
.owner-menu-page .menu-admin-tab {
    min-width:110px;
    min-height:38px;
    border:0;
    border-radius:3px
}
.owner-menu-page .admin-section-heading {
    margin:8px 0 10px;
    padding-bottom:9px;
    border-bottom:1px solid var(--line)
}
.owner-menu-page .admin-section-heading h2 {
    margin:0;
    font-size:26px
}
.owner-menu-page .admin-section-heading p {
    margin:2px 0 0;
    color:var(--muted);
    font-size:11px
}
.owner-menu-page .menu-admin-list {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:8px
}
.owner-menu-page .menu-admin-row {
    grid-template-columns:minmax(0,1fr) auto;
    min-height:92px;
    padding:12px 14px;
    border:1px solid #d8cbb9;
    border-radius:5px;
    background:#fffaf1
}
.owner-menu-page .menu-admin-row>div:first-child {
    min-width:0
}
.owner-menu-page .menu-admin-row h3 {
    font-size:18px
}
.owner-menu-page .menu-admin-row p {
    display:-webkit-box;
    overflow:hidden;
    -webkit-box-orient:vertical;
    -webkit-line-clamp:2
}
.owner-menu-page .menu-admin-row>strong {
    align-self:start;
    padding:4px 7px;
    border-radius:3px;
    background:#eee8dd;
    color:var(--green-dark)
}
.owner-menu-page .menu-admin-row>.button {
    grid-column:2;
    align-self:end
}
.owner-menu-page .confirm-overlay {
    padding:20px
}
.owner-menu-page .menu-editor {
    width:min(820px,100%);
    padding:0;
    overflow:hidden;
    border-top:5px solid var(--tomato);
    background:#fffaf1
}
.owner-menu-page .menu-editor__header {
    display:flex;
    padding:16px 20px 12px;
    align-items:flex-start;
    justify-content:space-between;
    border-bottom:1px solid var(--line)
}
.owner-menu-page .menu-editor__header h2 {
    margin:0;
    font-size:28px
}
.owner-menu-page .menu-editor>.mud-input-control,
.owner-menu-page .menu-editor>.image-upload-field,
.owner-menu-page .menu-editor>.editor-grid,
.owner-menu-page .menu-editor>.editor-switches,
.owner-menu-page .menu-editor>.extras-assignment,
.owner-menu-page .menu-editor>.menu-editor__pricing {
    margin-left:20px;
    margin-right:20px
}
.menu-editor__pricing {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:18px;
    margin-top:10px!important;
    padding:11px 13px;
    align-items:center;
    border:1px solid #b9cbbd;
    border-radius:4px;
    background:#f3f8f3
}
.menu-editor__pricing strong,.menu-editor__pricing span {
    display:block
}
.menu-editor__pricing strong {
    font-size:13px
}
.menu-editor__pricing span {
    margin-top:2px;
    color:var(--muted);
    font-size:11px
}
.owner-menu-page .confirm-dialog__actions {
    position:sticky;
    bottom:0;
    margin:12px 0 0;
    padding:12px 20px;
    border-top:1px solid var(--line);
    background:#fffaf1
}
@media(max-width:800px) {
    .menu-pricing-control {
        grid-template-columns:1fr
    }
    .menu-pricing-control__actions {
        justify-content:flex-start
    }
    .owner-menu-page .menu-admin-list {
        grid-template-columns:1fr
    }
}
@media(max-width:520px) {
    .menu-pricing-control__actions {
        display:grid;
        grid-template-columns:1fr 1fr
    }
    .menu-pricing-control__actions .button {
        min-width:0
    }
    .owner-menu-page .menu-editor__pricing {
        grid-template-columns:1fr
    }
}

/* v54: selected pizza opens in a structured, focused dialog. */
.menu-dialog-overlay {
    display:grid;
    padding:24px;
    place-items:center;
    background:rgba(22,35,29,.62);
    backdrop-filter:blur(3px)
}
.owner-menu-page .menu-editor--pizza {
    display:grid;
    width:min(920px,100%);
    max-height:min(900px,calc(100vh - 48px));
    grid-template-rows:auto minmax(0,1fr) auto;
    border:1px solid #cdbda8;
    border-top:0;
    border-radius:7px;
    background:#fbf6ed;
    box-shadow:0 24px 70px rgba(18,29,24,.28)
}
.owner-menu-page .menu-editor--pizza .menu-editor__header {
    padding:18px 22px;
    border-top:6px solid var(--tomato);
    border-radius:6px 6px 0 0;
    background:#fffaf1
}
.owner-menu-page .menu-editor__header h2 {
    font-size:28px;
    line-height:1.05
}
.owner-menu-page .menu-editor__header>div>p:last-child {
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px
}
.menu-dialog-close {
    padding:6px 0;
    border:0;
    background:transparent;
    color:var(--tomato);
    cursor:pointer;
    font:inherit;
    font-size:12px;
    font-weight:800;
    text-transform:uppercase
}
.menu-editor__body {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px 16px;
    overflow:auto
}
.menu-editor-section {
    min-width:0;
    padding:14px;
    border:1px solid #dacdbd;
    border-radius:5px;
    background:#fffaf1
}
.menu-editor-section>header {
    display:flex;
    gap:10px;
    margin-bottom:11px;
    align-items:flex-start
}
.menu-editor-section>header>span {
    display:grid;
    width:24px;
    height:24px;
    flex:none;
    place-items:center;
    border-radius:50%;
    background:var(--green-dark);
    color:#fff;
    font-size:11px;
    font-weight:800
}
.menu-editor-section h3 {
    margin:0;
    font-size:18px;
    line-height:1.1
}
.menu-editor-section header p {
    margin:2px 0 0;
    color:var(--muted);
    font-size:10px;
    line-height:1.3
}
.menu-editor-section--basics,.menu-editor-section--presentation {
    grid-column:span 1
}
.menu-editor-section--ordering {
    grid-column:1/-1
}
.menu-editor-section--photo {
    grid-column:1/-1
}
.menu-editor-fields {
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(130px,1fr);
    gap:8px
}
.menu-editor-field--wide {
    grid-column:1/-1
}
.menu-editor-fields--limits {
    grid-template-columns:1fr 1fr;
    max-width:440px
}
.owner-menu-page .menu-editor--pizza .menu-editor__pricing {
    margin:0!important;
    padding:9px 11px
}
.owner-menu-page .menu-editor--pizza .editor-switches {
    margin:8px 0 0!important
}
.editor-switches--presentation {
    grid-template-columns:1fr 1fr!important;
    gap:0 10px!important
}
.owner-menu-page .menu-editor--pizza .extras-assignment {
    max-height:none;
    margin:10px 0 0!important;
    padding:9px
}
.extras-assignment__grid {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:6px
}
.extras-assignment__grid label {
    min-height:38px;
    margin:0!important;
    padding:6px 8px!important;
    border:1px solid #ddd1c1;
    border-radius:4px;
    background:#fbf6ed
}
.owner-menu-page .menu-editor--pizza .product-image-editor {
    display:grid;
    grid-template-columns:96px minmax(0,1fr);
    gap:14px;
    padding:0;
    border:0;
    background:transparent
}
.owner-menu-page .menu-editor--pizza .product-image-editor img {
    width:96px;
    height:96px;
    border-radius:5px;
    object-fit:cover
}
.menu-editor__footer {
    display:flex;
    padding:12px 18px;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    border-top:1px solid #d8cbbb;
    background:#fffaf1;
    border-radius:0 0 6px 6px
}
.menu-editor__footer .button {
    min-width:120px
}
@media(max-width:760px) {
    .menu-dialog-overlay {
        padding:10px
    }
    .owner-menu-page .menu-editor--pizza {
        max-height:calc(100vh - 20px)
    }
    .menu-editor__body {
        grid-template-columns:1fr
    }
    .menu-editor-section--basics,.menu-editor-section--presentation,.menu-editor-section--ordering,.menu-editor-section--photo {
        grid-column:1
    }
    .extras-assignment__grid {
        grid-template-columns:1fr 1fr
    }
}
@media(max-width:480px) {
    .menu-editor-fields,.menu-editor-fields--limits {
        grid-template-columns:1fr
    }
    .menu-editor-field--wide {
        grid-column:1
    }
    .editor-switches--presentation,.extras-assignment__grid {
        grid-template-columns:1fr!important
    }
    .owner-menu-page .menu-editor--pizza .product-image-editor {
        grid-template-columns:72px 1fr
    }
    .owner-menu-page .menu-editor--pizza .product-image-editor img {
        width:72px;
        height:72px
    }
    .menu-editor__footer .button {
        min-width:0;
        flex:1
    }
}

/* v56: pizza editor is a native MudBlazor dialog. */
.pizza-editor-mud-dialog .mud-dialog-content {
    padding:0;
}
.pizza-editor-mud-dialog .mud-dialog-actions {
    padding:12px 18px;
    border-top:1px solid #d8cbbb;
    background:#fffaf1;
}
.pizza-editor-mud-dialog .menu-editor-dialog-content {
    max-height:calc(100vh - 160px);
    overflow:auto;
    background:#fbf6ed;
}
.pizza-editor-mud-dialog .menu-editor__header {
    padding:18px 22px 12px;
    border-top:6px solid var(--tomato);
    border-bottom:1px solid var(--line);
    background:#fffaf1;
}
.pizza-editor-mud-dialog .menu-editor__header h2 {
    margin:0;
    font-size:28px;
}
.pizza-editor-mud-dialog .menu-editor__header p:last-child {
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px;
}
.pizza-editor-dialog-backdrop {
    backdrop-filter:blur(3px);
}

/* v57: extras use the same native MudBlazor dialog pattern as pizzas. */
.extra-editor-mud-dialog .mud-dialog-content {
    padding:0;
}
.extra-editor-mud-dialog .mud-dialog-actions {
    padding:12px 18px;
    border-top:1px solid #d8cbbb;
    background:#fffaf1;
}
.extra-editor-dialog-content {
    background:#fbf6ed;
}
.extra-editor-mud-dialog .menu-editor__header {
    padding:18px 20px 13px;
    border-top:6px solid var(--tomato);
    border-bottom:1px solid var(--line);
    background:#fffaf1;
}
.extra-editor-mud-dialog .menu-editor__header h2 {
    margin:0;
    font-size:26px;
}
.extra-editor-mud-dialog .menu-editor__header p:last-child {
    margin:4px 0 0;
    color:var(--muted);
    font-size:12px;
}
.extra-editor-fields {
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:8px;
    padding:16px 18px 10px;
}
.extra-editor-options {
    margin:0 18px 16px;
    padding:11px 13px;
    border:1px solid #d8cbbb;
    border-radius:4px;
    background:#fffaf1;
}
.extra-editor-options>strong {
    display:block;
    margin-bottom:5px;
    font-size:12px;
}
.extra-editor-options .editor-switches {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:4px 10px;
}
.menu-editor-dialog-backdrop {
    backdrop-filter:blur(3px);
}
@media(max-width:600px) {
    .extra-editor-fields {
        grid-template-columns:1fr;
    }
    .extra-editor-options .editor-switches {
        grid-template-columns:1fr 1fr;
    }
}

/* v58: customer price visibility belongs to each service night. */
.service-pricing-settings {
    border-left:5px solid var(--green-dark);
    background:#f3f8f3 !important;
}
.payment-note--prepaid {
    border-color:#b9cbbd;
    background:#f3f8f3;
    color:var(--green-dark);
}

/* v60: cleaner, denser customer order journey and order-detail card. */
.status-section-heading--compact {
    display:flex;
    margin:28px 0 10px;
    padding-bottom:10px;
    align-items:end;
    justify-content:space-between;
    gap:16px;
    border-bottom:1px solid var(--line);
}
.status-section-heading--compact .eyebrow {
    margin-bottom:3px;
}
.status-section-heading--compact h2 {
    margin:0;
    font-size:28px;
    line-height:1.05;
}
.status-section-heading__current {
    padding:6px 9px;
    border-radius:4px;
    background:#e4eee6;
    color:var(--green-dark);
    font-size:11px;
    font-weight:850;
    text-transform:uppercase;
}
.order-progress--compact {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:6px;
    margin:0 0 14px;
}
.order-progress--compact>div {
    min-height:48px;
    padding:8px 10px;
    gap:7px;
    justify-content:flex-start;
    border-radius:4px;
}
.order-progress--compact>div span {
    width:20px;
    height:20px;
    flex:none;
}
.order-progress--compact>div .mud-icon-root {
    font-size:15px !important;
}
.order-progress--compact>div strong {
    font-size:12px;
    line-height:1.1;
}
.customer-order-card--refined {
    overflow:hidden;
    border:1px solid #d4c6b3;
    border-radius:6px;
    background:#fffaf1;
    box-shadow:0 8px 22px rgba(23,52,42,.06);
}
.customer-order-card__header {
    display:flex;
    padding:13px 16px 11px;
    align-items:center;
    justify-content:space-between;
    border-bottom:1px solid #dfd2c0;
    background:#f5ede0;
}
.customer-order-card__header .eyebrow {
    margin-bottom:2px;
}
.customer-order-card__header h2 {
    margin:0;
    font-size:20px;
}
.customer-order-card__header>span {
    padding:5px 8px;
    border-radius:3px;
    background:var(--green-dark);
    color:#fff;
    font-size:11px;
    font-weight:800;
}
.customer-order-card--refined .customer-order-facts {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:0;
    padding:0;
    border-bottom:1px solid #dfd2c0;
    background:#fffaf1;
}
.customer-order-card--refined .customer-order-facts>div {
    min-width:0;
    padding:10px 14px;
    border-right:1px solid #e6dac9;
}
.customer-order-card--refined .customer-order-facts>div:last-child {
    border-right:0;
}
.customer-order-card--refined .customer-order-facts span {
    display:block;
    margin-bottom:2px;
    color:var(--muted);
    font-size:9px;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.customer-order-card--refined .customer-order-facts strong {
    font-size:13px;
}
.customer-order-card--refined .customer-order-items--warm {
    margin:0;
    padding:0;
    border:0;
    background:#fffdf8;
}
.customer-order-card--refined .customer-order-item {
    padding:10px 15px;
    border-bottom:1px solid #e7dccd;
}
.customer-order-card--refined .customer-order-item .summary-row {
    padding:0;
}
.customer-order-card--refined .order-item-extras {
    display:flex;
    gap:5px;
    margin-top:6px;
    flex-wrap:wrap;
}
.customer-order-card--refined .order-item-extras span {
    padding:3px 7px;
    border-radius:3px;
    background:#edf3ed;
    color:var(--green-dark);
    font-size:10px;
    font-weight:750;
}
.customer-order-card--refined .summary-row--total {
    margin:0;
    padding:11px 15px;
    border-top:2px solid var(--tomato);
    background:#f8f1e6;
    font-size:15px;
}
.private-link-note--compact {
    margin:0;
    padding:9px 15px;
    border-top:1px solid #e1d5c5;
    background:#fffaf1;
    font-size:10px;
    text-align:center;
}
@media(max-width:700px) {
    .status-section-heading--compact {
        align-items:flex-start;
    }
    .order-progress--compact {
        grid-template-columns:1fr 1fr;
    }
    .customer-order-card--refined .customer-order-facts {
        grid-template-columns:1fr 1fr;
    }
    .customer-order-card--refined .customer-order-facts>div:nth-child(2) {
        border-right:0;
    }
    .customer-order-card--refined .customer-order-facts>div:nth-child(-n+2) {
        border-bottom:1px solid #e6dac9;
    }
}
@media(max-width:440px) {
    .status-section-heading__current {
        display:none;
    }
    .order-progress--compact {
        grid-template-columns:1fr;
    }
    .order-progress--compact>div {
        min-height:42px;
    }
}

/* v62: concise order-level customer notes. */
.order-notes-field {
    position:relative;
    margin:8px 0 9px;
}
.order-notes-field label {
    display:flex;
    margin-bottom:4px;
    justify-content:space-between;
    color:var(--ink);
    font-size:11px;
    font-weight:800;
}
.order-notes-field label span {
    color:var(--muted);
    font-size:10px;
    font-weight:600;
}
.order-notes-field textarea {
    width:100%;
    min-height:52px;
    padding:8px 42px 8px 10px;
    resize:none;
    border:1px solid var(--line);
    border-radius:4px;
    background:#fff;
    color:var(--ink);
    font:inherit;
    font-size:12px;
    line-height:1.35;
}
.order-notes-field textarea:focus {
    border-color:var(--tomato);
    outline:2px solid rgba(191,63,50,.12);
}
.order-notes-field>small {
    position:absolute;
    right:8px;
    bottom:7px;
    color:var(--muted);
    font-size:9px;
}
.kitchen-order-note,
.customer-order-note {
    display:flex;
    gap:8px;
    padding:8px 10px;
    align-items:baseline;
    border-left:4px solid var(--tomato);
    border-radius:3px;
    background:#fff1df;
    color:var(--ink);
}
.kitchen-order-note {
    margin-bottom:8px;
}
.customer-order-note {
    margin:0;
    border-bottom:1px solid #e7dccd;
    border-radius:0;
}
.kitchen-order-note strong,
.customer-order-note strong {
    flex:none;
    color:var(--tomato-dark);
    font-size:10px;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.kitchen-order-note span,
.customer-order-note span {
    font-size:12px;
    font-weight:750;
}

/* v63: align live order status sections to one shared content column. */
.live-order-page {
    --live-order-content-width:920px;
}
.live-order-page>.live-order-hero--warm,
.live-order-page>.status-section-heading--compact,
.live-order-page>.order-progress--compact,
.live-order-page>.customer-order-card--refined,
.live-order-page>.mud-alert {
    width:min(100%,var(--live-order-content-width));
    margin-left:auto;
    margin-right:auto;
}
.live-order-page>.status-section-heading--compact {
    margin-top:28px;
    margin-bottom:10px;
}
.live-order-page>.order-progress--compact {
    margin-top:0;
    margin-bottom:14px;
}
.live-order-page>.customer-order-card--refined {
    margin-top:0;
}
.live-order-page .customer-order-card__header,
.live-order-page .customer-order-facts,
.live-order-page .customer-order-items--warm,
.live-order-page .customer-order-note,
.live-order-page .private-link-note--compact {
    width:100%;
    box-sizing:border-box;
}
.live-order-page .customer-order-items--warm .summary-row,
.live-order-page .customer-order-items--warm .customer-order-item,
.live-order-page .customer-order-items--warm .summary-row--total {
    width:100%;
    box-sizing:border-box;
}
@media(max-width:980px) {
    .live-order-page {
        --live-order-content-width:100%;
    }
}

/* v65: make full pre-order capacity immediately obvious. */
.owner-kitchen-page .walk-in-capacity-card>span.capacity-availability--open {
    background:#dcecdf;
    color:#285a3b;
}
.owner-kitchen-page .walk-in-capacity-card>span.capacity-availability--full {
    background:#f8dbd6;
    color:#a12f25;
    border:1px solid #e6aaa2;
}

/* v66: separate booking capacity from kitchen and collection progress. */
.owner-kitchen-page .walk-in-capacity-card {
    grid-template-areas:
        "time available"
        "time total"
        "workflow workflow"
        "hold hold";
}
.capacity-workflow {
    display:grid;
    grid-area:workflow;
    grid-template-columns:1fr 1fr;
    gap:4px 8px;
    margin-top:7px;
    padding-top:7px;
    border-top:1px solid #ded3c4;
}
.owner-kitchen-page .walk-in-capacity-card .capacity-workflow>span {
    display:flex;
    padding:0;
    align-items:baseline;
    gap:4px;
    background:transparent;
    border:0;
    color:var(--muted);
    font-size:9px;
    font-weight:650;
}
.owner-kitchen-page .capacity-workflow>span strong {
    color:var(--green-dark);
    font-size:12px;
}
.owner-kitchen-page .capacity-workflow>span.capacity-workflow__prepare strong {
    color:var(--tomato-dark);
}

/* v67: explicit ordered, preparation, ready and collected slot workflow. */
.owner-kitchen-page .capacity-workflow>span.capacity-workflow__ready strong {
    color:#2f6f48;
}

/* v68: progressive per-pizza customisation and updated oven logo. */
.brand__logo{width:auto;max-width:235px;height:64px;mix-blend-mode:multiply}
.customise-toggle{margin-top:12px;padding:7px 0;border:0;background:transparent;color:var(--tomato);font-weight:800;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.individual-pizza-customiser{grid-column:1/-1;margin-top:14px;padding:14px;border:1px solid var(--line);background:#fbf3e7}
.individual-pizza-customiser>p{margin:0 0 9px;color:var(--muted);font-size:12px}
.pizza-customisation-row{border-top:1px solid var(--line);background:#fffaf1}
.pizza-customisation-row summary{display:flex;padding:11px 10px;justify-content:space-between;gap:12px;cursor:pointer}
.pizza-customisation-row summary span{color:var(--muted);font-size:12px}
.pizza-customisation-row .extras-picker__grid{padding:0 10px 12px}
@media(max-width:600px){.brand__logo{max-width:170px;height:52px}.pizza-customisation-row summary{align-items:flex-start;flex-direction:column}}

/* v69d: compact owner control-centre introduction. */
.owner-index-page .owner-title-row h1 {
    max-width:640px;
    font-size:clamp(30px,3.1vw,42px);
    line-height:1.02;
    letter-spacing:-.035em
}
.owner-index-page .owner-title-row p:last-child {
    max-width:620px;
    font-size:13px;
    line-height:1.45
}
@media(max-width:900px) {
    .owner-index-page .owner-title-row h1 { font-size:36px }
}
@media(max-width:600px) {
    .owner-index-page .owner-title-row h1 { font-size:31px }
}


/* v70: approved pizzabyana oven logo and a quieter landing introduction. */
.brand__logo {
    width:auto;
    max-width:220px;
    height:62px;
    object-fit:contain;
    object-position:left center;
    mix-blend-mode:multiply
}
.hero-section {
    padding:58px 0 46px
}
.hero-section__inner {
    max-width:720px
}
.hero-section h1 {
    max-width:620px;
    margin:0 0 16px;
    font-size:clamp(42px,5.6vw,66px);
    line-height:.98;
    letter-spacing:-.045em
}
.hero-section__copy {
    max-width:560px!important;
    font-size:16px;
    line-height:1.55
}
.hero-section .eyebrow {
    margin-bottom:9px
}
@media(max-width:760px) {
    .brand__logo { max-width:176px; height:54px }
    .hero-section { padding:44px 0 36px }
    .hero-section h1 { font-size:clamp(38px,11vw,52px) }
    .hero-section__copy { font-size:15px }
}
@media(max-width:560px) {
    .brand__logo { max-width:148px; height:48px }
}


/* v70a: compact modifier chooser and guaranteed current logo asset. */
.customise-toggle {
    display:inline-flex;
    min-height:34px;
    margin:8px 0 0;
    padding:0 11px;
    align-items:center;
    border:1px solid #d4b7a6;
    border-radius:4px;
    background:#fff7ef;
    color:var(--tomato-dark);
    font-size:11px;
    font-weight:800;
    text-decoration:none
}
.customise-toggle:hover { background:#f7e7dc; border-color:var(--tomato) }
.individual-pizza-customiser {
    margin-top:8px;
    padding:8px 10px;
    border:1px solid #d8cbbb;
    border-radius:4px;
    background:#fffaf1
}
.individual-pizza-customiser>p {
    margin:0 0 5px;
    font-size:10px;
    line-height:1.35
}
.pizza-customisation-row { border-top:1px solid #e5d9ca; background:transparent }
.pizza-customisation-row summary {
    min-height:38px;
    padding:7px 5px;
    align-items:center;
    font-size:12px
}
.pizza-customisation-row summary strong { font-size:12px }
.pizza-customisation-row summary span {
    overflow:hidden;
    color:var(--muted);
    font-size:10px;
    text-overflow:ellipsis;
    white-space:nowrap
}
.pizza-customisation-row[open] summary span { color:var(--tomato-dark); font-weight:750 }
.pizza-customisation-row .extras-picker__grid {
    grid-template-columns:1fr;
    gap:3px;
    padding:0 4px 7px
}
.pizza-customisation-row .extra-option {
    min-height:34px;
    padding:5px 8px;
    grid-template-columns:18px minmax(0,1fr) auto;
    border-color:#e0d4c5;
    border-radius:3px;
    font-size:11px
}
.pizza-customisation-row .extra-option input { width:15px; height:15px }
.pizza-customisation-row .extra-option strong { font-size:11px }
.pizza-customisation-row .extra-option small { font-size:10px; white-space:nowrap }
.pizza-customisation-row .extra-option:has(input:checked) {
    border-color:#d58b6d;
    background:#f9e8de
}
@media(max-width:600px) {
    .pizza-customisation-row summary { flex-direction:row; align-items:center }
    .pizza-customisation-row summary span { max-width:48%; text-align:right }
}


/* v71: true-alpha brand asset. */
.brand__logo {
    mix-blend-mode:normal;
    background:transparent
}


/* v72: traffic-light live capacity strips. Card surfaces remain neutral. */
.owner-kitchen-page .walk-in-capacity-card {
    border-left-width:6px;
    border-left-style:solid
}
.owner-kitchen-page .walk-in-capacity-card.capacity-card--full {
    border-left-color:#b9362b
}
.owner-kitchen-page .walk-in-capacity-card.capacity-card--booked {
    border-left-color:#d19027
}
.owner-kitchen-page .walk-in-capacity-card.capacity-card--free {
    border-left-color:#43805a
}


/* v77: ordering-window states. */
.order-closed-panel{max-width:680px;margin:52px auto;padding:34px;border:1px solid var(--line);background:#fffaf1;text-align:center}
.order-closed-panel h1{margin:7px 0 10px;font-size:clamp(30px,4vw,44px)}
.order-closed-panel p:not(.eyebrow){margin:0 auto 22px;max-width:520px;color:var(--muted)}
.service-ordering-state{display:inline-flex;align-items:center;padding:9px 12px;color:var(--muted);font-size:12px;font-weight:750}
.service-ordering-state--closed{color:#8f3129}


/* v78: Microsoft Entra owner sign-in. */
.owner-entra-login{display:flex;margin-top:24px;align-items:center;justify-content:center;text-decoration:none}


/* v79: editable service pre-order window. */
.service-ordering-window-settings{border-left:5px solid #d19027;background:#fff8e8!important}


/* v80: explicit Development-only owner bypass. */
.owner-development-login{display:flex;margin-top:16px;align-items:center;justify-content:center;background:#323b45!important;text-decoration:none}
.owner-development-auth-notice{text-align:left}
.owner-login-divider{display:flex;margin:20px 0 4px;align-items:center;gap:12px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.08em}
.owner-login-divider::before,.owner-login-divider::after{height:1px;flex:1;background:var(--line);content:""}
.owner-login-divider span{white-space:nowrap}


/* Capacity spanning and deliberate owner override. */
.capacity-allocation-note{margin-top:8px;padding:7px 9px;border-left:3px solid #d19027;background:#fff8e8;color:var(--ink);font-size:11px;font-weight:700}
.capacity-override-badge{display:inline-flex;margin-top:7px;padding:5px 8px;border:1px solid #9d3029;background:#fff1ef;color:#9d3029;font-size:10px;font-weight:850;letter-spacing:.05em}


/* Standard form controls use MudBlazor defaults. Custom CSS is retained for branded layout only. */
.collection-time-field,.walk-in-slot-field{width:100%}


/* Closed pre-order navigation is informative, not actionable. */
.site-nav__link--preorder-disabled{cursor:default;opacity:.68;pointer-events:none;border-color:var(--line);color:var(--muted)}

/* Individual pre-order cancellation: explicit confirmation without deleting audit history. */
.customer-cancel-order{width:min(100%,920px);margin:14px auto;padding:14px 16px;border:1px solid #d8cbbb;background:#fffaf1}
.customer-cancel-order>div:first-child p{margin:4px 0 0;color:var(--muted);font-size:12px}
.customer-cancel-order__actions{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.owner-order-list{display:grid;gap:10px}
.owner-order-row{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(260px,1.4fr) auto;gap:18px;padding:16px;align-items:center;border:1px solid var(--line);background:var(--paper)}
.owner-order-row__summary,.owner-order-row__items{display:grid;gap:3px}
.owner-order-row__summary span,.owner-order-row__items small{color:var(--muted);font-size:11px}
.owner-order-row__actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.owner-order-row__actions>span:not(.status-chip){max-width:180px;color:var(--muted);font-size:11px}
@media(max-width:800px){.owner-order-row{grid-template-columns:1fr}.owner-order-row__actions{justify-content:flex-start}}
@media(max-width:520px){.customer-cancel-order__actions .button,.owner-order-row__actions .button{width:100%}}

/* Share-service promotion and service-specific specials. */
.service-special-toggle{display:flex!important;margin-top:8px;align-items:center;gap:7px;color:var(--tomato-dark);font-size:11px;font-weight:800}
.service-special-toggle input{width:16px!important;height:16px!important}
.share-service-preview{padding:18px;border:1px solid var(--line);background:#fffaf1}
.share-service-preview h2{margin:2px 0 14px;font-size:28px}
.share-service-preview pre{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);font:500 14px/1.55 var(--type-body)}
.share-service-dialog .mud-dialog-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){.share-service-dialog .mud-dialog-actions .button{width:100%}}


.live-order-reference{margin:0 0 8px;color:var(--muted);font-size:12px;font-weight:800}
.customer-order-service-summary{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);background:#f8f1e6}
.customer-order-service-summary>div{padding:10px 14px}.customer-order-service-summary>div:first-child{border-right:1px solid var(--line)}
.customer-order-service-summary span{display:block;color:var(--muted);font-size:9px;font-weight:800;text-transform:uppercase}.customer-order-service-summary strong{font-size:13px}


/* Menu catalogue destructive action stays secondary and requires confirmation. */
.menu-admin-row__actions{display:flex;gap:7px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
@media(max-width:600px){.menu-admin-row__actions{justify-content:flex-start}}
