    [x-cloak] { display: none !important; }
    svg { stroke-linecap: round; stroke-linejoin: round; }
    html { color-scheme: light; overflow-x: hidden; -webkit-text-size-adjust: 100%; }
    body {
        font-family: Outfit, ui-sans-serif, system-ui, sans-serif;
        background: #F3EBE1;
        color: #1C1814;
        overflow-x: hidden;
        width: 100%;
        max-width: 100%;
    }
    html.nav-locked,
    html.nav-locked body {
        overflow: hidden;
        height: 100%;
        overscroll-behavior: none;
    }
    .font-display { font-family: Fraunces, Georgia, serif; }
    .ui-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.4rem;
        border-radius: 0.85rem;
        padding: 0.62rem 1rem;
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.2;
        transition: background .15s, transform .12s, box-shadow .15s;
        touch-action: manipulation;
        min-height: 2.75rem;
    }
    .ui-btn:active { transform: translateY(1px); }
    .ui-btn-icon {
        width: 2.75rem;
        height: 2.75rem;
        min-width: 2.75rem;
        min-height: 2.75rem;
        padding: 0;
        background: #fff;
        border: 1px solid rgba(139, 123, 98, .28);
    }
    .ui-btn-icon:hover { background: #F3EBE1; }
    .nav-link {
        display: flex;
        align-items: center;
        gap: 0.7rem;
        border-radius: 0.9rem;
        padding: 0.7rem 0.85rem;
        font-size: 0.9375rem;
        font-weight: 600;
        color: rgba(250, 247, 242, .88);
        transition: background .15s, color .15s;
    }
    .nav-link:hover { background: rgba(255,255,255,.07); color: #FAF7F2; }
    .nav-link.is-active {
        background: #FAF7F2;
        color: #1C1814;
        box-shadow: 0 8px 20px rgba(0,0,0,.12);
    }
    .nav-collapse-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.25rem;
        height: 2.25rem;
        padding: 0;
        border: 0;
        border-radius: 0.75rem;
        background: transparent;
        color: rgba(250, 247, 242, .55);
        cursor: pointer;
        transition: background .15s, color .15s;
    }
    .nav-collapse-toggle:hover {
        background: rgba(255, 255, 255, .07);
        color: #FAF7F2;
    }
    .app-sidebar--collapsed .nav-link-label,
    .app-sidebar--collapsed .app-sidebar-note {
        display: none;
    }
    .app-sidebar-brand-link { text-decoration: none; }
    .app-sidebar--collapsed .app-sidebar-brand {
        flex-direction: column;
        align-items: center;
        gap: 0.65rem;
        padding-left: 0.75rem;
        padding-right: 0.75rem;
    }
    .app-sidebar--collapsed .app-sidebar-brand-link {
        flex: none;
        align-items: center;
        justify-content: center;
    }
    .app-sidebar--collapsed .nav-link {
        justify-content: center;
        padding-left: 0.7rem;
        padding-right: 0.7rem;
    }
    .flash-ok { background: #ECFDF3; color: #067647; border: 1px solid #ABEFC6; }
    .flash-err { background: #FEF3F2; color: #B42318; border: 1px solid #FECDCA; }
    .app-sidebar {
        flex-shrink: 0;
    }
    .app-shell {
        background:
            radial-gradient(1200px 500px at 80% -10%, rgba(255,255,255,.55), transparent 55%),
            radial-gradient(800px 400px at 0% 100%, rgba(139,123,98,.12), transparent 50%),
            #F3EBE1;
    }
    @media (max-width: 1023px) {
        .nav-link { min-height: 44px; }
        .app-shell main {
            padding-bottom: max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom)));
        }
        .sale-page-wrap {
            padding-bottom: max(4.5rem, calc(3.5rem + env(safe-area-inset-bottom)));
        }
    }
    .pos-table-quick {
        border-radius: 1.25rem;
        border: 1px solid rgba(139, 123, 98, .2);
        background: rgba(255, 255, 255, .88);
        padding: 1.15rem 1.2rem;
        box-shadow: 0 1px 2px rgba(28, 24, 20, .04);
    }
    .pos-table-quick-title {
        margin: 0;
        font-family: Fraunces, Georgia, serif;
        font-size: 1.35rem;
        color: #1C1814;
    }
    .pos-table-quick-hint {
        margin: 0.35rem 0 0;
        font-size: 0.8125rem;
        color: rgba(28, 24, 20, .58);
        line-height: 1.45;
    }
    .pos-table-quick-form {
        display: grid;
        gap: 0.75rem;
        margin-top: 1rem;
    }
    @media (min-width: 640px) {
        .pos-table-quick-form {
            grid-template-columns: minmax(0, 1fr) auto;
            align-items: end;
        }
    }
    .pos-table-quick-label {
        display: block;
        margin-bottom: 0.35rem;
        font-size: 0.72rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .5);
    }
    .pos-table-quick-input {
        width: 100%;
        min-height: 3.25rem;
        border-radius: 0.95rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        padding: 0.65rem 1rem;
        font-size: 1.35rem;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        color: #1C1814;
    }
    .pos-table-quick-input:focus {
        outline: none;
        box-shadow: 0 0 0 3px rgba(217, 119, 6, .32);
    }
    .pos-table-quick-submit {
        min-height: 3.25rem;
        border-radius: 0.95rem;
        border: 1px solid #1C1814;
        background: #1C1814;
        padding: 0 1.35rem;
        font-size: 0.9375rem;
        font-weight: 700;
        color: #FAF7F2;
        cursor: pointer;
        white-space: nowrap;
    }
    .pos-table-quick-submit:hover { opacity: .92; }
    .pos-floor-mobile-map {
        border-radius: 1rem;
        border: 1px solid rgba(139, 123, 98, .18);
        background: rgba(255, 255, 255, .5);
        padding: 0.65rem 0.85rem 0.85rem;
    }
    .pos-floor-mobile-map-summary {
        cursor: pointer;
        font-size: 0.875rem;
        font-weight: 700;
        color: #1C1814;
        list-style: none;
    }
    .pos-floor-mobile-map summary::-webkit-details-marker { display: none; }
    .pos-floor-mobile-map .pos-floor-shell { margin-top: 0.75rem; }
    @media (max-width: 1023px) {
        .pos-day-nav {
            flex-wrap: wrap;
            justify-content: flex-end;
        }
        .pos-day-input { max-width: 100%; }
    }
    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
        border: 0;
    }
    .pos-day-nav {
        display: flex;
        align-items: center;
        gap: 0.5rem;
    }
    .pos-day-form { margin: 0; }
    .pos-day-input {
        min-height: 2.75rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #fff;
        padding: 0.4rem 0.75rem;
        font-size: 0.875rem;
        font-weight: 600;
        color: #1C1814;
    }
    .pos-day-input:focus {
        outline: 2px solid rgba(139, 123, 98, .45);
        outline-offset: 2px;
    }
    .pos-day-today {
        display: inline-flex;
        align-items: center;
        min-height: 2.75rem;
        padding: 0 0.9rem;
        border-radius: 0.85rem;
        background: #1C1814;
        color: #FAF7F2;
        font-size: 0.875rem;
        font-weight: 600;
        text-decoration: none;
    }
    .pos-day-today:hover { background: #2C261F; }
    .pos-now-time {
        background: #fff;
        border: 1px solid rgba(139, 123, 98, .28);
        color: #1C1814;
        font-variant-numeric: tabular-nums;
        min-width: 8.5rem;
    }
    .pos-now-time__label {
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .55);
    }
    .pos-now-time__value {
        font-family: Fraunces, Georgia, serif;
        font-size: 1.05rem;
        font-weight: 600;
        line-height: 1;
        letter-spacing: 0.03em;
    }
    .pos-now-time.is-highlighted {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
        box-shadow: 0 0 0 3px rgba(139, 123, 98, .28), 0 12px 24px rgba(28, 24, 20, .18);
    }
    .pos-now-time.is-highlighted .pos-now-time__label {
        color: rgba(250, 247, 242, .72);
    }
    .pos-floor-shell {
        container-type: inline-size;
        width: 100%;
    }
    .pos-floor-viewport {
        width: 100%;
        height: calc(100cqw * var(--pos-canvas-h) / var(--pos-canvas-w));
        overflow: hidden;
        border-radius: 1.4rem;
        border: 1px solid rgba(139, 123, 98, .15);
        box-shadow: inset 0 2px 8px rgba(28, 24, 20, .06);
    }
    .pos-floor-inner {
        position: relative;
        transform: scale(calc(100cqw / (var(--pos-canvas-w) * 1px)));
        transform-origin: top left;
    }
    .canvas-floor {
        background-color: #E8DFD2;
        background-image:
            linear-gradient(to right, rgba(44, 38, 31, .07) 1px, transparent 1px),
            linear-gradient(to bottom, rgba(44, 38, 31, .07) 1px, transparent 1px);
        background-size: 24px 24px;
    }
    .canvas-floor.has-background {
        background-image: none;
        background-color: #2C261F;
    }
    .zone-numbered-areas-layer {
        position: absolute;
        inset: 0;
        z-index: 0;
        pointer-events: none;
    }
    .zone-numbered-area {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 2px solid rgba(44, 38, 31, .72);
        border-radius: .45rem;
        background: rgba(245, 229, 213, .58);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .35);
    }
    .zone-numbered-area--map {
        border-style: dashed;
        background: rgba(245, 229, 213, .42);
        opacity: .92;
    }
    .zone-numbered-area--link {
        pointer-events: auto;
        cursor: pointer;
        text-decoration: none;
        color: inherit;
        transition: box-shadow .15s, transform .12s, background .15s;
    }
    .zone-numbered-area--link:hover {
        background: rgba(245, 229, 213, .72);
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .45);
    }
    .zone-numbered-area--link:active { transform: translateY(1px); }
    .zone-numbered-area--active-order {
        border-color: #15803d;
        background: rgba(187, 247, 208, .72);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .4), 0 0 0 2px rgba(21, 128, 61, .35);
    }
    .zone-numbered-area--active-order .zone-numbered-area-label {
        color: #14532d;
        font-weight: 700;
    }
    .zone-numbered-area--incasso-sospeso {
        border-color: #7C3AED;
        background: rgba(237, 233, 254, .92);
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .5), 0 0 0 2px rgba(124, 58, 237, .45);
    }
    .zone-numbered-area--incasso-sospeso .zone-numbered-area-label {
        color: #5B21B6;
        font-weight: 800;
    }
    .floor-piece-link {
        position: absolute;
        z-index: 2;
        text-decoration: none;
        color: inherit;
        cursor: pointer;
        transition: box-shadow .15s, transform .12s;
    }
    .floor-piece-link:hover {
        box-shadow: 0 0 0 3px rgba(217, 119, 6, .42);
    }
    .floor-piece-link:active { transform: translateY(1px); }
    .sale-panel {
        border-radius: 1.25rem;
        border: 1px solid rgba(139, 123, 98, .18);
        background: rgba(255, 255, 255, .82);
        padding: 1.25rem 1.35rem;
        box-shadow: 0 1px 2px rgba(28, 24, 20, .04);
    }
    .sale-page-top {
        display: flex;
        align-items: center;
        gap: 0.65rem;
    }
    .sale-page-top-main {
        flex: 1;
        min-width: 0;
    }
    .sale-page-top-desktop {
        display: none;
    }
    @media (min-width: 1024px) {
        .sale-page-top {
            align-items: flex-start;
            justify-content: space-between;
            gap: 1rem 1.25rem;
            margin-bottom: 0;
        }
        .sale-page-top-back {
            display: none;
        }
        .sale-page-top-mobile {
            display: none;
        }
        .sale-page-top-desktop {
            display: block;
        }
        .sale-orderman-head.sale-page-top {
            position: static;
            margin-left: 0;
            margin-right: 0;
            padding-left: 0;
            padding-right: 0;
            padding-top: 0;
            background: transparent;
            backdrop-filter: none;
            border-bottom: none;
        }
    }
    .sale-table-title-row {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        gap: 0.65rem 1rem;
        margin-top: 0.15rem;
    }
    .sale-back-tables-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.35rem;
        padding: 0.4rem 0.95rem;
        border-radius: 999px;
        border: 1px solid rgba(139, 123, 98, .32);
        background: #FAF7F2;
        font-size: 0.8125rem;
        font-weight: 700;
        color: #1C1814;
        text-decoration: none;
        white-space: nowrap;
        transition: background .12s, border-color .12s;
    }
    .sale-back-tables-btn:hover {
        background: #fff;
        border-color: rgba(217, 119, 6, .45);
    }
    .sale-layout {
        display: grid;
        gap: 0.75rem;
        min-height: 12rem;
        grid-template-columns: minmax(10.5rem, 11.5rem) minmax(0, 1fr);
        grid-template-areas:
            "cats products"
            "cats ticket";
    }
    @media (max-width: 1023px) {
        .sale-layout {
            grid-template-columns: 1fr;
            grid-template-areas:
                "cats"
                "products"
                "variants"
                "ticket";
        }
        .sale-layout--mobile-conto.sale-layout--conto-focus .sale-cat-sidebar,
        .sale-layout--mobile-conto.sale-layout--conto-focus .sale-catalog-main,
        .sale-layout--mobile-conto.sale-layout--conto-focus .sale-variants-panel {
            display: none;
        }
        .sale-layout--mobile-conto:not(.sale-layout--conto-focus) .sale-ticket {
            display: none;
        }
        .sale-cat-sidebar {
            flex-direction: row;
            flex-wrap: nowrap;
            overflow-x: auto;
            gap: 0.45rem;
            padding: 0.65rem 0.55rem;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .sale-cat-sidebar::-webkit-scrollbar { display: none; }
        .sale-cat-sidebar-title { display: none; }
        .sale-cat-btn {
            flex: 0 0 auto;
            width: auto;
            min-width: 6.5rem;
            padding: 0.55rem 0.75rem;
        }
        .sale-product-btn {
            min-height: 3.75rem;
        }
        .sale-panel {
            padding: 1rem 0.85rem;
        }
        .sale-lines {
            max-height: none;
        }
        .sale-pad-btn {
            min-height: 2.85rem;
        }
        .sale-page-top-desktop .font-display.text-4xl {
            font-size: 1.75rem;
        }
        .sale-orderman .sale-layout {
            grid-template-columns: 1fr;
            grid-template-areas:
                "cats"
                "products"
                "variants"
                "ticket";
        }
        .sale-orderman .sale-cat-sidebar {
            flex-direction: row;
            flex-wrap: nowrap;
            overflow-x: auto;
            gap: 0.45rem;
            padding: 0.65rem 0.55rem;
            -webkit-overflow-scrolling: touch;
            scrollbar-width: none;
        }
        .sale-orderman .sale-cat-sidebar::-webkit-scrollbar { display: none; }
        .sale-orderman .sale-cat-sidebar-title { display: none; }
        .sale-orderman .sale-cat-btn {
            flex: 0 0 auto;
            width: auto;
            min-width: 6.5rem;
            min-height: 2.75rem;
        }
        .sale-mobile-bar {
            display: grid;
        }
        .app-shell main:has(.sale-orderman) {
            padding-bottom: max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom)));
        }
        .sale-page-wrap.sale-orderman {
            overflow-x: hidden;
            max-width: 100%;
            padding-left: max(0.65rem, env(safe-area-inset-left));
            padding-right: max(0.65rem, env(safe-area-inset-right));
        }
        .sale-orderman-head {
            position: sticky;
            top: 0;
            z-index: 22;
            margin-left: -0.65rem;
            margin-right: -0.65rem;
            padding-left: max(0.65rem, env(safe-area-inset-left));
            padding-right: max(0.65rem, env(safe-area-inset-right));
            padding-top: max(0.35rem, env(safe-area-inset-top));
            background: rgba(243, 235, 225, .94);
            backdrop-filter: blur(10px);
            border-bottom: 1px solid rgba(139, 123, 98, .12);
        }
        .sale-customer-panel {
            padding: 0.65rem 0.75rem;
            margin-bottom: 0.5rem;
        }
        .sale-arrival-flag {
            margin-left: -0.15rem;
            margin-right: -0.15rem;
        }
        .sale-arrival-flag-inner {
            flex-direction: column;
            align-items: stretch;
            gap: 0.65rem;
        }
        .sale-arrival-flag-btn {
            width: 100%;
            min-height: 2.85rem;
        }
        .sale-layout--mobile-conto.sale-layout--conto-focus .sale-ticket {
            display: flex;
            flex-direction: column;
            min-height: calc(100dvh - 11rem - env(safe-area-inset-top));
            padding-bottom: max(5.5rem, calc(4.5rem + env(safe-area-inset-bottom)));
        }
        .sale-layout--mobile-conto.sale-layout--conto-focus .sale-conto-list {
            flex: 1 1 auto;
            min-height: 5rem;
            max-height: none;
            overflow-y: auto;
            -webkit-overflow-scrolling: touch;
            overscroll-behavior: contain;
        }
        .sale-conto-row__qty .sale-line-qty-step {
            min-width: 2.35rem;
            min-height: 2.75rem;
        }
        .sale-conto-row__total {
            min-width: 3.5rem;
        }
        .sale-conto-row__total strong {
            font-size: 0.88rem;
        }
        .sale-total-row {
            position: sticky;
            bottom: 0;
            z-index: 3;
            margin-top: 0.65rem;
            padding: 0.35rem 0 0.15rem;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .92) 35%, #fff 100%);
        }
        .sale-keypad-toggle {
            min-height: 2.75rem;
        }
        .sale-layout--mobile-conto.sale-layout--conto-focus .sale-qty-pad {
            position: sticky;
            bottom: max(4.35rem, calc(3.65rem + env(safe-area-inset-bottom)));
            z-index: 8;
            margin-top: 0.5rem;
            padding-top: 0.5rem;
            padding-bottom: 0.35rem;
            background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, .94) 28%, #fff 100%);
            border-top-color: rgba(139, 123, 98, .22);
        }
        .sale-pad-primary-bar {
            margin-top: 0.25rem;
        }
        .sale-variants-panel .sale-variant-btn {
            min-height: 2.75rem;
        }
        .sale-mobile-bar-btn {
            min-height: 3.15rem;
        }
        .sale-orderman-goto-comanda {
            max-width: calc(100vw - 2rem);
            text-align: center;
        }
    }
    .sale-mobile-bar {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 25;
        display: none;
        grid-template-columns: 1fr 1fr;
        gap: 0.35rem;
        padding: 0.45rem 0.65rem max(0.45rem, env(safe-area-inset-bottom));
        border-top: 1px solid rgba(139, 123, 98, .22);
        background: rgba(250, 247, 242, .96);
        backdrop-filter: blur(10px);
    }
    .sale-mobile-bar-btn {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 0.15rem;
        min-height: 3rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #fff;
        font-size: 0.8125rem;
        font-weight: 700;
        color: #1C1814;
        cursor: pointer;
    }
    .sale-mobile-bar-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
    }
    .sale-mobile-bar-meta {
        font-size: 0.68rem;
        font-weight: 600;
        opacity: .85;
        font-variant-numeric: tabular-nums;
    }
    @media (min-width: 1024px) {
        .sale-page-wrap--wide {
            max-width: 100%;
            width: 100%;
            min-width: 0;
        }
        .app-shell main:has(.sale-page-wrap--wide) {
            padding-left: 1rem;
            padding-right: 1rem;
        }
        .sale-layout {
            width: 100%;
            max-width: 100%;
            min-width: 0;
            grid-template-columns:
                minmax(9.5rem, 10.5rem)
                minmax(0, 1.1fr)
                minmax(7rem, 8rem)
                minmax(18rem, 1.35fr);
            grid-template-areas: "cats products variants ticket";
            align-items: start;
        }
        .sale-cat-sidebar {
            position: sticky;
            top: 0.5rem;
            align-self: start;
            max-height: calc(100dvh - 6rem);
            overflow-y: auto;
        }
        .sale-variants-panel {
            padding: 0.85rem 0.75rem;
        }
        .sale-variants-panel .font-display.text-xl {
            font-size: 1.15rem;
        }
        .sale-variant-btn {
            min-height: 2.35rem;
            padding: 0.45rem 0.55rem;
            font-size: 0.75rem;
        }
        .sale-ticket {
            min-width: 18rem;
        }
        .sale-orderman .sale-product-grid {
            grid-template-columns: repeat(auto-fill, minmax(7.75rem, 1fr));
        }
        .sale-mobile-bar,
        .sale-orderman-goto-comanda {
            display: none !important;
        }
    }
    @media (min-width: 1280px) {
        .sale-layout {
            grid-template-columns:
                10.75rem
                minmax(0, 1.2fr)
                8.5rem
                minmax(21rem, 1.4fr);
        }
        .app-shell main:has(.sale-page-wrap--wide) {
            padding-left: 1.5rem;
            padding-right: 1.5rem;
        }
    }
    @media (min-width: 1536px) {
        .sale-layout {
            grid-template-columns:
                11.25rem
                minmax(0, 1.25fr)
                9rem
                minmax(23rem, 1.45fr);
        }
    }
    .sale-customer-panel {
        margin-bottom: 0.75rem;
        border-radius: 1rem;
        border: 1px solid rgba(62, 39, 35, .12);
        background: #fffaf5;
        padding: 0.85rem 1rem;
    }
    .sale-customer-label {
        display: block;
        font-size: 0.7rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(62, 39, 35, .55);
        margin-bottom: 0.35rem;
    }
    .sale-customer-linked {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.65rem;
    }
    .sale-customer-name {
        display: block;
        font-size: 1rem;
        color: #3e2723;
    }
    .sale-customer-meta {
        display: block;
        font-size: 0.8rem;
        color: rgba(62, 39, 35, .6);
        margin-top: 0.15rem;
    }
    .sale-customer-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }
    .sale-customer-input {
        width: 100%;
        min-height: 2.75rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(62, 39, 35, .18);
        padding: 0 0.85rem;
        font-size: 0.95rem;
        background: #fff;
    }
    .sale-customer-hint {
        margin: 0.35rem 0 0;
        font-size: 0.75rem;
        color: rgba(62, 39, 35, .5);
    }
    .sale-customer-results {
        margin: 0.5rem 0 0;
        padding: 0;
        list-style: none;
        border-radius: 0.75rem;
        border: 1px solid rgba(62, 39, 35, .12);
        overflow: hidden;
        max-height: 14rem;
        overflow-y: auto;
    }
    .sale-customer-result-btn {
        width: 100%;
        text-align: left;
        padding: 0.65rem 0.85rem;
        border: 0;
        border-bottom: 1px solid rgba(62, 39, 35, .08);
        background: #fff;
        cursor: pointer;
    }
    .sale-customer-result-btn:last-child {
        border-bottom: 0;
    }
    .sale-customer-result-name {
        display: block;
        font-weight: 700;
        font-size: 0.9rem;
        color: #3e2723;
    }
    .sale-customer-result-meta {
        display: block;
        font-size: 0.75rem;
        color: rgba(62, 39, 35, .55);
        margin-top: 0.1rem;
    }
    .sale-customer-btn {
        min-height: 2.25rem;
        border-radius: 0.65rem;
        padding: 0 0.75rem;
        font-size: 0.8rem;
        font-weight: 700;
        cursor: pointer;
    }
    .sale-customer-btn-muted {
        border: 1px solid rgba(62, 39, 35, .2);
        background: #fff;
        color: #3e2723;
    }
    .sale-customer-cancel {
        margin-top: 0.5rem;
    }
    .sale-cat-btn--consigli.is-active,
    .sale-cat-btn--consigli {
        border-color: rgba(21, 128, 61, .35);
    }
    .sale-cat-btn--consigli.is-active {
        background: #ecfdf5;
        color: #14532d;
    }
    .sale-product-btn--consigli {
        border-color: rgba(21, 128, 61, .28);
        background: linear-gradient(180deg, #f0fdf4 0%, #fff 100%);
    }
    .sale-product-list-btn {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
    }
    .sale-product-order-count {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.65rem;
        padding: 0.1rem 0.4rem;
        border-radius: 999px;
        background: #15803d;
        color: #ecfdf5;
        font-size: 0.72rem;
        font-weight: 800;
        line-height: 1.2;
    }
    .sale-product-btn--consigli .sale-product-order-count {
        align-self: flex-end;
        margin-top: 0.25rem;
    }
    .sale-arrival-flag {
        margin-bottom: 0.75rem;
        border-radius: 1rem;
        border: 2px solid #15803d;
        background: linear-gradient(135deg, #ecfdf5 0%, #d1fae5 100%);
        padding: 0.85rem 1rem;
        box-shadow: 0 8px 24px rgba(21, 128, 61, .15);
    }
    .sale-arrival-flag-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
    }
    .sale-arrival-flag-text {
        margin: 0;
        font-size: 0.875rem;
        color: #14532d;
    }
    .sale-arrival-flag-btn {
        min-height: 2.85rem;
        border-radius: 0.85rem;
        border: 1px solid #15803d;
        background: #15803d;
        color: #ecfdf5;
        padding: 0 1.1rem;
        font-size: 0.875rem;
        font-weight: 800;
        cursor: pointer;
        white-space: nowrap;
    }
    .sale-arrival-flag-btn:disabled {
        opacity: .65;
        cursor: not-allowed;
    }
    .floor-piece-arrived {
        box-shadow: 0 0 0 2px rgba(21, 128, 61, .55);
    }
    .floor-piece-arrived-check {
        position: absolute;
        top: 0.15rem;
        right: 0.15rem;
        z-index: 3;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.15rem;
        height: 1.15rem;
        border-radius: 999px;
        background: #15803d;
        color: #ecfdf5;
        font-size: 0.7rem;
        font-weight: 800;
        line-height: 1;
        box-shadow: 0 1px 3px rgba(0, 0, 0, .25);
    }
    .sale-orderman-head {
        display: flex;
        align-items: center;
        gap: 0.65rem;
        padding: 0.35rem 0.15rem 0.5rem;
    }
    .sale-orderman-back {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #fff;
        font-size: 1.25rem;
        font-weight: 700;
        color: #1C1814;
        text-decoration: none;
    }
    .sale-orderman-head-main { flex: 1; min-width: 0; }
    .sale-orderman-table {
        margin: 0;
        font-size: 1.05rem;
        color: rgba(28, 24, 20, .7);
    }
    .sale-orderman-table strong {
        font-family: Fraunces, Georgia, serif;
        font-size: 1.45rem;
        color: #1C1814;
    }
    .sale-orderman-total {
        margin: 0.2rem 0 0;
        font-size: 0.8125rem;
        color: rgba(28, 24, 20, .62);
    }
    .sale-orderman-total strong {
        font-family: Fraunces, Georgia, serif;
        font-size: 1.15rem;
        font-weight: 700;
        color: #1C1814;
        font-variant-numeric: tabular-nums;
    }
    .sale-orderman-meta {
        margin: 0.1rem 0 0;
        font-size: 0.75rem;
        color: rgba(28, 24, 20, .55);
    }
    .sale-head-phase {
        display: flex;
        align-items: stretch;
        gap: 0.45rem;
        flex-shrink: 0;
        padding: 0.4rem;
        border-radius: 1rem;
        border: 2px solid rgba(217, 119, 6, .65);
        background: linear-gradient(165deg, #fffbeb 0%, #ffedd5 48%, #fff7ed 100%);
        box-shadow:
            0 0 0 1px rgba(255, 255, 255, .65) inset,
            0 4px 14px rgba(217, 119, 6, .22);
    }
    .sale-head-phase-seq {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 3.35rem;
        padding: 0.4rem 0.7rem;
        border-radius: 0.8rem;
        background: #1C1814;
        color: #FAF7F2;
        box-shadow: 0 2px 6px rgba(28, 24, 20, .25);
    }
    .sale-head-phase-label {
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: rgba(250, 247, 242, .78);
    }
    .sale-head-phase-value {
        font-family: Fraunces, Georgia, serif;
        font-size: 1.65rem;
        font-weight: 700;
        line-height: 1.05;
        font-variant-numeric: tabular-nums;
    }
    .sale-head-phase-advance {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 4.25rem;
        max-width: 7.5rem;
        padding: 0.45rem 0.65rem;
        border-radius: 0.8rem;
        border: 2px solid #b45309;
        background: linear-gradient(180deg, #f59e0b 0%, #d97706 55%, #c2410c 100%);
        color: #fffbeb;
        font-size: 0.72rem;
        font-weight: 800;
        line-height: 1.2;
        text-align: center;
        cursor: pointer;
        box-shadow: 0 2px 8px rgba(180, 83, 9, .35);
        transition: transform .1s, filter .12s;
    }
    .sale-head-phase-advance:active:not(:disabled) {
        transform: translateY(1px);
        filter: brightness(0.96);
    }
    .sale-head-phase-advance:disabled {
        opacity: 0.42;
        cursor: not-allowed;
        filter: grayscale(0.15);
    }
    .sale-head-phase-advance-long {
        display: none;
    }
    @media (min-width: 1024px) {
        .sale-head-phase {
            gap: 0.55rem;
            padding: 0.5rem 0.55rem;
            border-radius: 1.1rem;
        }
        .sale-head-phase-seq {
            min-width: 4.25rem;
            padding: 0.5rem 0.85rem;
        }
        .sale-head-phase-label {
            font-size: 0.62rem;
        }
        .sale-head-phase-value {
            font-size: 2.1rem;
        }
        .sale-head-phase-advance {
            min-width: 8.5rem;
            max-width: none;
            min-height: 3.35rem;
            padding: 0.55rem 1rem;
            font-size: 0.875rem;
        }
        .sale-head-phase-advance-short {
            display: none;
        }
        .sale-head-phase-advance-long {
            display: inline;
        }
    }
    .sale-menu-toolbar {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.25rem;
    }
    .sale-menu-toolbar-title {
        margin: 0;
        font-family: Fraunces, Georgia, serif;
        font-size: 1.1rem;
        color: #1C1814;
    }
    .sale-menu-toolbar-qty {
        margin: 0;
        font-size: 0.8125rem;
        color: rgba(28, 24, 20, .6);
    }
    .sale-menu-toolbar-qty strong {
        font-size: 1.15rem;
        color: #1C1814;
    }
    .sale-product-list {
        list-style: none;
        margin: 0;
        padding: 0;
        gap: 0.4rem;
    }
    @media (max-width: 1023px) {
        .sale-product-list {
            display: grid;
        }
    }
    @media (min-width: 1024px) {
        .sale-product-list {
            display: none;
        }
    }
    .sale-product-list-btn {
        display: flex;
        align-items: center;
        width: 100%;
        min-height: 3.15rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(139, 123, 98, .22);
        background: #FAF7F2;
        padding: 0.75rem 0.9rem;
        text-align: left;
        cursor: pointer;
        transition: background .12s, border-color .12s, transform .08s;
    }
    .sale-product-list-btn:active {
        transform: scale(0.99);
        background: #fff;
        border-color: rgba(217, 119, 6, .45);
    }
    .sale-product-list .sale-product-name {
        font-size: 0.9375rem;
        line-height: 1.3;
    }
    .sale-comanda-head {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.75rem;
    }
    @media (min-width: 1024px) {
        .sale-comanda-head {
            display: none;
        }
    }
    .sale-comanda-title {
        margin: 0;
        font-family: Fraunces, Georgia, serif;
        font-size: 1.15rem;
        color: #1C1814;
    }
    .sale-comanda-pending {
        margin: 0;
        font-size: 0.75rem;
        font-weight: 700;
        color: #b45309;
        text-transform: uppercase;
        letter-spacing: 0.04em;
    }
    .sale-comanda-section {
        margin: 0.35rem 0 0;
        padding: 0;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .45);
    }
    .sale-comanda-section--sent {
        margin-top: 0.65rem;
        color: rgba(21, 128, 61, .75);
    }
    .sale-menu-basket {
        margin: 0.65rem 0 0.85rem;
        border-radius: 0.95rem;
        border: 1px solid rgba(217, 119, 6, .28);
        background: rgba(255, 251, 245, .95);
        padding: 0.65rem 0.75rem;
    }
    .sale-menu-basket-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 0.45rem;
    }
    .sale-menu-basket-title {
        margin: 0;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .55);
    }
    .sale-menu-basket-link {
        border: none;
        background: none;
        padding: 0;
        font-size: 0.75rem;
        font-weight: 700;
        color: #b45309;
        text-decoration: underline;
        cursor: pointer;
    }
    .sale-menu-basket-list {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 0.35rem;
        max-height: 9.5rem;
        overflow-y: auto;
    }
    .sale-menu-basket-item {
        display: flex;
        align-items: flex-start;
        gap: 0.4rem;
        font-size: 0.8125rem;
        line-height: 1.35;
        color: #1C1814;
    }
    .sale-menu-basket-item.is-sent {
        opacity: 0.65;
    }
    .sale-menu-basket-qty {
        flex-shrink: 0;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
    }
    .sale-menu-basket-name {
        flex: 1;
        min-width: 0;
        font-weight: 600;
    }
    .sale-menu-basket-flag {
        flex-shrink: 0;
        color: #b45309;
        font-size: 0.55rem;
        line-height: 1.6;
    }
    .sale-orderman .sale-lines--comanda {
        display: grid;
        gap: 0.35rem;
        max-height: min(42vh, 20rem);
        overflow-y: auto;
        width: 100%;
    }
    .sale-orderman .sale-lines--comanda .sale-line {
        display: grid;
        width: 100%;
        grid-template-columns: 1.25rem 1.55rem 2.4rem 1.55rem minmax(0, 1fr) 4.1rem 2.2rem;
    }
    .sale-conto-top {
        display: none;
        flex-wrap: wrap;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.35rem 0.75rem;
    }
    @media (min-width: 1024px) {
        .sale-conto-top {
            display: flex;
        }
    }
    .sale-conto-empty-title {
        display: none;
    }
    @media (min-width: 1024px) {
        .sale-conto-empty-title {
            display: block;
        }
    }
    .sale-conto-hint--mobile {
        display: block;
    }
    .sale-conto-hint--desktop {
        display: none;
    }
    @media (min-width: 1024px) {
        .sale-conto-hint--mobile {
            display: none;
        }
        .sale-conto-hint--desktop {
            display: block;
        }
    }
    .sale-conto-heading {
        margin: 0;
        line-height: 1.15;
    }
    .sale-conto-top__pending {
        margin: 0;
        font-size: 0.72rem;
        font-weight: 700;
        color: #b45309;
    }
    .sale-conto-list {
        gap: 0.45rem;
        max-height: min(46vh, 22rem);
        padding: 0.15rem 0.05rem;
    }
    .sale-conto-row {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto auto;
        gap: 0.45rem;
        align-items: center;
        padding: 0.55rem 0.55rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .18);
        background: #fff;
        box-shadow: 0 1px 2px rgba(28, 24, 20, .04);
        transition: border-color .12s, box-shadow .12s, background .12s;
    }
    .sale-conto-row--variant {
        grid-template-columns: minmax(0, 1fr) auto;
        margin-left: 1.35rem;
        padding: 0.4rem 0.55rem;
        background: rgba(250, 247, 242, .85);
        border-style: dashed;
        border-color: rgba(139, 123, 98, .22);
    }
    .sale-conto-row--variant.sale-conto-row--pending {
        border-left-width: 4px;
        border-left-style: solid;
    }
    .sale-conto-row--variant.sale-conto-row--sent {
        border-left-width: 3px;
        border-left-style: solid;
    }
    .sale-conto-row.is-selected {
        border-color: rgba(217, 119, 6, .45);
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .14);
        background: rgba(255, 251, 245, .98);
    }
    .sale-conto-row.is-variant-target {
        box-shadow: 0 0 0 2px rgba(37, 99, 235, .28);
        border-color: rgba(37, 99, 235, .42);
    }
    .sale-conto-row.is-variant-target.is-selected {
        box-shadow:
            0 0 0 2px rgba(37, 99, 235, .32),
            0 0 0 4px rgba(217, 119, 6, .12);
    }
    .sale-variants-target strong {
        font-weight: 700;
    }
    .sale-variant-btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }
    .sale-conto-row--pending {
        border-left: 4px solid #d97706;
        background: linear-gradient(90deg, rgba(254, 243, 199, .35) 0%, #fff 0.65rem);
    }
    .sale-conto-row--sent {
        border-left: 3px solid rgba(21, 128, 61, .55);
    }
    /* Selezione / bersaglio varianti non devono mascherare il verde "in cucina". */
    .sale-conto-row--sent.is-selected,
    .sale-conto-row--sent.is-variant-target {
        border-left: 3px solid rgba(21, 128, 61, .55);
        border-top-color: rgba(139, 123, 98, .18);
        border-right-color: rgba(139, 123, 98, .18);
        border-bottom-color: rgba(139, 123, 98, .18);
        background: #fff;
        box-shadow: 0 0 0 2px rgba(21, 128, 61, .14);
    }
    .sale-conto-row--sent.is-variant-target.is-selected {
        box-shadow: 0 0 0 2px rgba(21, 128, 61, .18);
    }
    .sale-conto-row__qty {
        display: inline-flex;
        align-items: stretch;
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .22);
        overflow: hidden;
        background: #FAF7F2;
    }
    .sale-conto-row__qty .sale-line-qty-step {
        min-height: 2.5rem;
        min-width: 1.65rem;
        border-radius: 0;
        border: none;
        box-shadow: none;
        font-size: 1rem;
    }
    .sale-conto-row__qty .sale-line-qty-step--minus {
        border-right: 1px solid rgba(139, 123, 98, .18);
    }
    .sale-conto-row__qty .sale-line-qty-step--plus {
        border-left: 1px solid rgba(139, 123, 98, .18);
    }
    .sale-conto-row__seq {
        display: inline-flex;
        align-items: stretch;
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .22);
        overflow: hidden;
        background: #FAF7F2;
    }
    .sale-conto-row__seq.is-frozen {
        opacity: 0.72;
    }
    .sale-conto-row__seq .sale-line-qty-step {
        min-height: 2.5rem;
        min-width: 1.65rem;
        border-radius: 0;
        border: none;
        box-shadow: none;
        font-size: 1rem;
    }
    .sale-conto-row__seq .sale-line-qty-step--minus {
        border-right: 1px solid rgba(139, 123, 98, .18);
    }
    .sale-conto-row__seq .sale-line-qty-step--plus {
        border-left: 1px solid rgba(139, 123, 98, .18);
    }
    .sale-conto-seq-value {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.65rem;
        padding: 0 0.25rem;
        border: none;
        background: #fff;
        font-size: 1rem;
        font-weight: 800;
        color: #1C1814;
        cursor: pointer;
    }
    .sale-conto-seq-value:disabled {
        cursor: not-allowed;
    }
    .sale-conto-seq-value.is-active {
        background: rgba(254, 243, 199, .65);
        box-shadow: inset 0 0 0 2px rgba(217, 119, 6, .35);
    }
    .sale-conto-seq-readonly {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-width: 2.35rem;
        padding: 0.2rem 0.35rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .2);
        background: rgba(250, 247, 242, .9);
        color: rgba(28, 24, 20, .72);
    }
    .sale-conto-seq-readonly__label {
        font-size: 0.52rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        opacity: 0.75;
    }
    .sale-conto-seq-readonly__value {
        font-size: 1rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        line-height: 1.1;
        color: #1C1814;
    }
    .sale-conto-row--sent .sale-conto-seq-readonly {
        border-color: rgba(21, 128, 61, .28);
        background: rgba(236, 253, 245, .65);
    }
    .sale-conto-qty-value {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 2rem;
        padding: 0 0.35rem;
        border: none;
        background: #fff;
        font-size: 1rem;
        font-weight: 800;
        color: #1C1814;
        cursor: pointer;
    }
    .sale-conto-qty-value.is-active {
        background: rgba(254, 243, 199, .65);
        box-shadow: inset 0 0 0 2px rgba(217, 119, 6, .35);
    }
    .sale-conto-row__body {
        min-width: 0;
    }
    .sale-conto-row__body--variant {
        grid-column: 1;
    }
    .sale-conto-row--variant .sale-conto-row__total {
        grid-column: 2;
    }
    .sale-conto-row__name {
        display: block;
        width: 100%;
        border: none;
        background: transparent;
        padding: 0;
        text-align: left;
        cursor: pointer;
    }
    .sale-conto-row__name.is-active .sale-conto-row__name-text,
    .sale-conto-row__name.is-active {
        outline: none;
    }
    .sale-conto-row__name-text {
        display: block;
        font-size: 0.9rem;
        font-weight: 700;
        line-height: 1.3;
        color: #1C1814;
        word-break: break-word;
    }
    .sale-conto-row__name--variant {
        font-size: 0.8rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .78);
    }
    .sale-conto-row__name--variant::before {
        content: '↳ ';
        color: rgba(28, 24, 20, .45);
    }
    .sale-conto-row__meta {
        display: flex;
        flex-wrap: wrap;
        gap: 0.3rem;
        margin-top: 0.25rem;
    }
    .sale-conto-status {
        display: inline-flex;
        align-items: center;
        border-radius: 999px;
        padding: 0.12rem 0.5rem;
        font-size: 0.65rem;
        font-weight: 800;
        letter-spacing: 0.02em;
        line-height: 1.35;
        background: rgba(28, 24, 20, .06);
        color: rgba(28, 24, 20, .55);
    }
    .sale-conto-status.is-pending {
        background: rgba(254, 243, 199, .85);
        color: #b45309;
    }
    .sale-conto-status.is-partial {
        background: rgba(254, 243, 199, .55);
        color: #92400e;
    }
    .sale-conto-status.is-sent {
        background: rgba(220, 252, 231, .9);
        color: #15803d;
    }
    .sale-conto-seq-box {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        min-height: 1.65rem;
        padding: 0.1rem 0.45rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #fff;
        cursor: pointer;
        transition: border-color .12s, box-shadow .12s, background .12s;
    }
    .sale-conto-seq-box.is-active {
        border-color: rgba(217, 119, 6, .55);
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .22);
        background: rgba(254, 243, 199, .35);
    }
    .sale-conto-seq-box.is-frozen {
        cursor: default;
        background: rgba(250, 247, 242, .9);
        border-color: rgba(139, 123, 98, .18);
        color: rgba(28, 24, 20, .55);
    }
    .sale-conto-seq-box__label {
        font-size: 0.58rem;
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .42);
    }
    .sale-conto-seq-box__value {
        min-width: 1.1rem;
        text-align: center;
        font-size: 0.9rem;
        font-weight: 800;
        color: #1C1814;
        font-variant-numeric: tabular-nums;
    }
    .sale-conto-seq-box.is-frozen .sale-conto-seq-box__value {
        color: rgba(28, 24, 20, .62);
    }
    .sale-conto-row__total {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
        justify-content: center;
        gap: 0.05rem;
        min-width: 4.25rem;
        padding: 0.2rem 0.15rem;
        border: none;
        background: transparent;
        text-align: right;
        cursor: pointer;
        border-radius: 0.5rem;
    }
    .sale-conto-row__total strong {
        font-size: 0.95rem;
        font-weight: 800;
        color: #1C1814;
        line-height: 1.15;
    }
    .sale-conto-row__total.is-active {
        background: rgba(254, 243, 199, .5);
        box-shadow: inset 0 0 0 2px rgba(217, 119, 6, .25);
    }
    .sale-conto-row__unit {
        font-size: 0.62rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .45);
    }
    .sale-conto-row__total--variant strong {
        font-size: 0.82rem;
        font-weight: 700;
        color: rgba(28, 24, 20, .72);
    }
    .sale-total--compact {
        font-size: 0.85rem;
    }
    .sale-line--kitchen-sent {
        opacity: 0.88;
    }
    .sale-line--kitchen-sent .sale-cell--name .sale-cell-value {
        color: rgba(28, 24, 20, .82);
    }
    .sale-line--kitchen-sent .sale-cell {
        background: rgba(250, 247, 242, .65);
    }
    .sale-line--kitchen-pending .sale-cell--name .sale-cell-value {
        font-weight: 700;
    }
    .sale-cell-pending {
        display: block;
        font-size: 0.62rem;
        font-weight: 800;
        color: #b45309;
        line-height: 1;
    }
    .sale-orderman-goto-comanda {
        position: fixed;
        left: 50%;
        transform: translateX(-50%);
        bottom: max(4.25rem, calc(3.5rem + env(safe-area-inset-bottom)));
        z-index: 24;
        border: none;
        border-radius: 999px;
        background: #b45309;
        color: #fff;
        padding: 0.65rem 1.1rem;
        font-size: 0.8125rem;
        font-weight: 800;
        box-shadow: 0 8px 24px rgba(180, 83, 9, .35);
        cursor: pointer;
        white-space: nowrap;
    }
    .sale-orderman .sale-pad-btn--send {
        font-size: 0.95rem;
        letter-spacing: 0.02em;
        text-transform: uppercase;
    }
    .sale-pad-send-count {
        margin-left: 0.25rem;
        opacity: .9;
    }
    @media (min-width: 1024px) {
        .sale-orderman .sale-lines--comanda {
            max-height: 14rem;
        }
        .sale-orderman .sale-cat-sidebar {
            flex-direction: column;
            overflow: visible;
        }
        .sale-orderman .sale-cat-sidebar-title {
            display: block;
        }
        .sale-orderman .sale-cat-btn {
            width: 100%;
            min-width: 0;
        }
    }
    .sale-cat-sidebar {
        grid-area: cats;
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
        padding: 0.85rem 0.65rem;
        border-radius: 1.25rem;
        border: 1px solid rgba(139, 123, 98, .18);
        background: rgba(255, 255, 255, .72);
        box-shadow: 0 1px 2px rgba(28, 24, 20, .04);
    }
    .sale-cat-sidebar-title {
        margin: 0 0 0.35rem;
        padding: 0 0.35rem;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .45);
    }
    .sale-catalog-main { grid-area: products; min-width: 0; }
    .sale-variants-panel {
        grid-area: variants;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
    }
    .sale-variants-panel--empty {
        justify-content: flex-start;
    }
    .sale-variants-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
    }
    .sale-variants-head .font-display {
        margin: 0;
        flex: 1;
        min-width: 0;
    }
    .sale-variant-setup-icon {
        flex-shrink: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 1.65rem;
        height: 1.65rem;
        border-radius: 999px;
        background: #d97706;
        color: #fff;
        font-size: 0.85rem;
        font-weight: 800;
        line-height: 1;
        text-decoration: none;
        box-shadow: 0 1px 4px rgba(217, 119, 6, .35);
        transition: transform .12s, box-shadow .12s;
    }
    .sale-variant-setup-icon:hover {
        color: #fff;
        box-shadow: 0 2px 8px rgba(217, 119, 6, .45);
        transform: translateY(-1px);
    }
    .sale-variants-clear {
        flex: 0 0 auto;
        width: 2rem;
        height: 2rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #FAF7F2;
        font-size: 1.25rem;
        line-height: 1;
        color: rgba(28, 24, 20, .65);
        cursor: pointer;
    }
    .sale-variants-clear:hover {
        background: #fff;
        border-color: rgba(139, 123, 98, .4);
    }
    .sale-variants-product-name {
        margin: 0;
        font-size: 0.9rem;
        font-weight: 700;
        color: #1C1814;
        line-height: 1.35;
    }
    .sale-variant-polarity {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.45rem;
    }
    .sale-variant-polarity-btn {
        min-height: 2.75rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        font-size: 1.35rem;
        font-weight: 800;
        line-height: 1;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, border-color .12s, color .12s;
    }
    .sale-variant-polarity-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
    }
    .sale-variant-polarity-btn--minus.is-active {
        background: #991b1b;
        border-color: #991b1b;
    }
    .sale-variant-group {
        margin-top: 0.35rem;
    }
    .sale-variant-group-label {
        margin: 0 0 0.4rem;
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .5);
    }
    .sale-variant-options {
        display: flex;
        flex-direction: column;
        gap: 0.4rem;
    }
    .sale-variant-btn {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 0.5rem;
        width: 100%;
        min-height: 2.65rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .22);
        background: #FAF7F2;
        padding: 0.55rem 0.7rem;
        font-size: 0.8125rem;
        font-weight: 600;
        text-align: left;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-variant-btn:hover {
        background: #fff;
        border-color: rgba(139, 123, 98, .38);
    }
    .sale-variant-btn:active {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
    }
    .sale-variant-btn--custom {
        border-style: dashed;
        border-color: rgba(217, 119, 6, .45);
        background: rgba(245, 229, 213, .35);
        font-weight: 700;
    }
    .sale-variant-btn--custom:hover {
        background: rgba(245, 229, 213, .65);
        border-color: rgba(217, 119, 6, .6);
    }
    .sale-variant-name { flex: 1; min-width: 0; }
    .sale-product-btn.is-selected,
    .sale-product-list-btn.is-selected {
        background: #fff;
        border-color: #d97706;
        color: #1C1814;
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .28);
    }
    .sale-product-btn.is-selected .sale-product-name,
    .sale-product-list-btn.is-selected .sale-product-name {
        color: #1C1814;
        font-weight: 700;
    }
    .sale-product-btn.is-selected .sale-product-order-count {
        color: #b45309;
    }
    .sale-variants-hint {
        margin: 0;
        font-size: 0.8125rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .5);
    }
    .sale-variant-btn--idle {
        opacity: 0.72;
    }
    .sale-variants-plain-btn {
        width: 100%;
        min-height: 2.5rem;
        border-radius: 0.75rem;
        border: 1px dashed rgba(139, 123, 98, .4);
        background: transparent;
        font-size: 0.8125rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .7);
        cursor: pointer;
    }
    .sale-variants-plain-btn:hover {
        background: rgba(250, 247, 242, .9);
        border-color: rgba(217, 119, 6, .45);
        color: #1C1814;
    }
    .sale-ticket {
        grid-area: ticket;
        min-width: 0;
    }
    @media (min-width: 1024px) {
        .sale-ticket .sale-line-head,
        .sale-ticket .sale-line,
        .sale-orderman .sale-ticket .sale-lines--comanda .sale-line {
            grid-template-columns: 1.35rem 1.65rem 2.65rem 1.65rem minmax(0, 1fr) 4.75rem 2.35rem;
            gap: 0.35rem;
        }
        .sale-orderman .sale-ticket .sale-lines--comanda,
        .sale-orderman .sale-ticket .sale-conto-list {
            max-height: min(52vh, 26rem);
        }
        .sale-ticket .sale-line {
            font-size: 0.875rem;
        }
        .sale-ticket .sale-cell--name .sale-cell-value {
            font-size: 0.9rem;
            font-weight: 700;
            color: #1C1814;
        }
        .sale-ticket .sale-phase-advance-btn {
            font-size: 0.8125rem;
            padding: 0 0.5rem;
        }
        .sale-ticket .sale-panel,
        .sale-ticket.sale-panel {
            padding: 1rem 1rem;
        }
    }
    .sale-cat-btn {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        width: 100%;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .22);
        background: #FAF7F2;
        padding: 0.62rem 0.7rem;
        font-size: 0.8125rem;
        font-weight: 600;
        line-height: 1.25;
        text-align: left;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-cat-btn:hover {
        background: #fff;
        border-color: rgba(139, 123, 98, .35);
    }
    .sale-cat-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
        box-shadow: 0 2px 8px rgba(28, 24, 20, .12);
    }
    .sale-cat-label {
        flex: 1;
        min-width: 0;
        line-height: 1.3;
        word-break: break-word;
    }
    .sale-cat-btn .sale-cat-label {
        font-size: 0.8125rem;
        color: inherit;
    }
    .sale-cat-count {
        flex-shrink: 0;
        font-size: 0.68rem;
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        opacity: .7;
    }
    .sale-cat-btn.is-active .sale-cat-count { opacity: .85; }
    .sale-product-grid {
        display: none;
        gap: 0.55rem;
        grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
    }
    @media (min-width: 1024px) {
        .sale-product-grid {
            display: grid;
        }
    }
    .sale-product-btn {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 0.2rem;
        min-height: 3.25rem;
        border-radius: 0.95rem;
        border: 1px solid rgba(139, 123, 98, .2);
        background: #FAF7F2;
        padding: 0.65rem 0.7rem;
        text-align: left;
        cursor: pointer;
        transition: box-shadow .12s, transform .12s, background .12s;
    }
    .sale-product-btn:hover {
        background: #fff;
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .35);
    }
    .sale-product-btn:active { transform: translateY(1px); }
    .sale-product-name {
        font-size: 0.875rem;
        font-weight: 600;
        line-height: 1.2;
        color: #1C1814;
    }
    .sale-product-code {
        font-size: 0.68rem;
        color: rgba(28, 24, 20, .45);
    }
    .sale-product-price {
        margin-top: auto;
        font-family: Fraunces, Georgia, serif;
        font-size: 0.95rem;
        font-weight: 600;
        color: #1C1814;
    }
    .sale-line-head,
    .sale-line {
        display: grid;
        grid-template-columns: 1.25rem 1.55rem 2.4rem 1.55rem minmax(0, 1fr) 4.1rem 2.2rem;
        gap: 0.3rem;
        align-items: stretch;
    }
    .sale-line-head-qty {
        text-align: center;
    }
    .sale-line-qty-variant-gap {
        grid-column: 2 / 5;
    }
    .sale-line-qty-step {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.35rem;
        padding: 0;
        border-radius: 0.55rem;
        border: 1px solid #1C1814;
        background: #1C1814;
        color: #FAF7F2;
        font-size: 1.15rem;
        font-weight: 800;
        line-height: 1;
        cursor: pointer;
        transition: background .12s, border-color .12s, opacity .12s;
    }
    .sale-line-qty-step:hover:not(:disabled) {
        background: #2d2823;
        border-color: #2d2823;
    }
    .sale-line-qty-step:disabled {
        background: #FAF7F2;
        border-color: rgba(139, 123, 98, .22);
        color: rgba(28, 24, 20, .35);
        cursor: not-allowed;
    }
    .sale-cell--qty {
        min-width: 0;
    }
    .sale-line.is-selected .sale-line-qty-step:not(:disabled) {
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .28);
    }
    .sale-line-head-send {
        display: block;
    }
    .sale-send-flag {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.35rem;
        padding-top: 0.45rem;
        font-size: 0.75rem;
        font-weight: 800;
        color: rgba(28, 24, 20, .18);
        user-select: none;
    }
    .sale-send-flag.is-sent {
        color: #15803d;
    }
    .sale-send-flag.is-partial {
        color: #b45309;
        font-size: 0.7rem;
    }
    .sale-line-head {
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .42);
        padding: 0 0.1rem 0.2rem;
    }
    .sale-lines {
        list-style: none;
        margin: 0;
        padding: 0;
        display: grid;
        gap: 0.35rem;
        max-height: 14rem;
        overflow: auto;
    }
    .sale-line {
        font-size: 0.8125rem;
        border-radius: 0.65rem;
        padding: 0.15rem;
        border: 1px solid transparent;
        transition: border-color .12s, background .12s;
        align-items: start;
    }
    .sale-line.is-selected {
        background: rgba(245, 229, 213, .35);
        border-color: rgba(217, 119, 6, .28);
    }
    .sale-line--variant {
        margin-top: -0.15rem;
        padding-left: 0.35rem;
    }
    .sale-line--variant.is-selected {
        background: rgba(245, 229, 213, .22);
    }
    .sale-send-flag--variant {
        visibility: hidden;
    }
    .sale-cell--variant-spacer {
        border: none;
        background: transparent;
        min-height: 2rem;
        cursor: default;
    }
    .sale-cell--variant-name {
        justify-content: flex-start;
        background: rgba(250, 247, 242, .65);
        border-style: dashed;
        border-color: rgba(139, 123, 98, .22);
        font-size: 0.78rem;
        color: rgba(28, 24, 20, .78);
    }
    .sale-cell--variant-name .sale-cell-value {
        font-weight: 600;
        text-align: left;
    }
    .sale-cell--variant-price {
        font-size: 0.75rem;
        color: rgba(28, 24, 20, .65);
    }
    .sale-cell {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 2.35rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(139, 123, 98, .2);
        background: #FAF7F2;
        padding: 0.25rem 0.35rem;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-cell--name {
        justify-content: flex-start;
        align-items: flex-start;
        min-height: 2.35rem;
        height: auto;
    }
    .sale-cell.is-active {
        border-color: rgba(217, 119, 6, .55);
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .25);
        background: #fff;
    }
    .sale-cell-value {
        font-weight: 600;
        line-height: 1.2;
        text-align: center;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        width: 100%;
    }
    .sale-cell--name .sale-cell-value {
        text-align: left;
        white-space: normal;
        overflow: visible;
        text-overflow: unset;
        word-break: break-word;
        overflow-wrap: anywhere;
        line-height: 1.35;
        padding: 0.15rem 0;
    }
    .sale-line .sale-cell:not(.sale-cell--name) {
        align-self: stretch;
        min-height: 2.35rem;
    }
    .sale-cell-input {
        width: 100%;
        border: none;
        background: transparent;
        font-size: inherit;
        font-weight: 600;
        color: #1C1814;
        outline: none;
        padding: 0;
        min-width: 0;
    }
    .sale-edit-clear {
        display: inline-flex;
        margin: 0 0 0.45rem;
        border: none;
        background: none;
        padding: 0;
        font-size: 0.68rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .55);
        text-decoration: underline;
        cursor: pointer;
    }
    .sale-total-row {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.65rem;
    }
    .sale-total {
        margin: 0;
        flex: 1;
        min-width: 0;
        font-size: 0.95rem;
        color: #1C1814;
    }
    .sale-keypad-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.35rem;
        flex-shrink: 0;
        min-height: 2.35rem;
        padding: 0 0.75rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        font-size: 0.75rem;
        font-weight: 700;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, border-color .12s;
    }
    .sale-keypad-toggle:hover {
        background: #fff;
        border-color: rgba(217, 119, 6, .4);
    }
    .sale-keypad-toggle-icon {
        font-size: 1rem;
        line-height: 1;
    }
    .sale-keypad-collapsible {
        display: grid;
        gap: 0.35rem;
        margin-bottom: 0.35rem;
    }
    .sale-phase-bar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.65rem;
        padding-bottom: 0.75rem;
        border-bottom: 1px solid rgba(139, 123, 98, .18);
    }
    .sale-phase-readout {
        display: flex;
        flex-direction: column;
        gap: 0.1rem;
        min-width: 4.5rem;
        flex-shrink: 0;
    }
    .sale-phase-readout-label {
        font-size: 0.62rem;
        font-weight: 700;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .45);
    }
    .sale-phase-readout-value {
        font-family: Fraunces, Georgia, serif;
        font-size: 1.75rem;
        font-weight: 600;
        line-height: 1;
        color: #1C1814;
        font-variant-numeric: tabular-nums;
    }
    .sale-phase-advance-btn {
        flex: 0 1 auto;
        min-height: 2.75rem;
        padding: 0 1rem;
        white-space: nowrap;
        border-radius: 0.85rem;
        border: 1px solid #1C1814;
        background: #1C1814;
        color: #FAF7F2;
        font-size: 0.8125rem;
        font-weight: 700;
        cursor: pointer;
        transition: opacity .12s, transform .12s;
    }
    .sale-phase-advance-btn:hover:not(:disabled) { opacity: .92; }
    .sale-phase-advance-btn:active:not(:disabled) { transform: translateY(1px); }
    .sale-phase-advance-btn:disabled {
        opacity: .45;
        cursor: not-allowed;
    }
    .sale-ticket-actions {
        display: none;
        gap: 0.45rem;
        margin-top: 0.75rem;
        padding-top: 0.75rem;
        border-top: 1px solid rgba(139, 123, 98, .18);
    }
    @media (min-width: 1024px) {
        .sale-ticket-actions {
            display: grid;
        }
    }
    .sale-action-btn {
        width: 100%;
        min-height: 2.85rem;
        border-radius: 0.85rem;
        font-size: 0.875rem;
        font-weight: 700;
        cursor: pointer;
        transition: opacity .12s, transform .12s;
    }
    .sale-action-btn:disabled {
        opacity: .45;
        cursor: not-allowed;
    }
    .sale-action-btn:active:not(:disabled) { transform: translateY(1px); }
    .sale-action-btn--secondary {
        border: 1px solid rgba(139, 123, 98, .35);
        background: #FAF7F2;
        color: #1C1814;
    }
    .sale-action-btn--primary {
        border: 1px solid #1C1814;
        background: #1C1814;
        color: #FAF7F2;
    }
    @media (max-width: 1023px) {
        .sale-checkout-screen {
            display: none !important;
        }
    }
    .sale-checkout-screen {
        position: fixed;
        inset: 0;
        z-index: 60;
        display: flex;
        flex-direction: column;
        background: linear-gradient(165deg, #f5e5d5 0%, #f8f4ef 42%, #faf7f2 100%);
        padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
    }
    .sale-checkout-screen__head {
        display: flex;
        align-items: flex-start;
        gap: 1rem;
        padding: 0.35rem 0.5rem 0.75rem;
        flex-shrink: 0;
    }
    .sale-checkout-back {
        flex-shrink: 0;
        border: 1px solid rgba(139, 123, 98, .28);
        border-radius: 0.65rem;
        background: #fff;
        padding: 0.45rem 0.7rem;
        font-size: 0.8125rem;
        font-weight: 700;
        color: #1C1814;
        cursor: pointer;
    }
    .sale-checkout-back:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    .sale-checkout-screen__head-main {
        min-width: 0;
    }
    .sale-checkout-screen__meta {
        margin: 0.2rem 0 0;
        font-size: 0.8125rem;
        color: rgba(28, 24, 20, .62);
    }
    .sale-checkout-split {
        flex: 1;
        min-height: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 1rem;
        padding: 0 0.5rem 0.5rem;
    }
    @media (max-width: 900px) {
        .sale-checkout-split {
            grid-template-columns: 1fr;
            overflow-y: auto;
        }
    }
    .sale-checkout-panel {
        display: flex;
        flex-direction: column;
        min-height: 0;
        border-radius: 1rem;
        border: 1px solid rgba(139, 123, 98, .22);
        background: #fff;
        box-shadow: 0 8px 28px rgba(28, 24, 20, .06);
        padding: 1rem 1.1rem;
    }
    .sale-checkout-panel__title {
        margin: 0 0 0.75rem;
        font-size: 0.72rem;
        font-weight: 800;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .45);
    }
    .sale-checkout-summary-list {
        list-style: none;
        margin: 0;
        padding: 0;
        flex: 1;
        min-height: 0;
        overflow-y: auto;
        display: grid;
        gap: 0.35rem;
        align-content: start;
    }
    .sale-checkout-summary-line {
        display: grid;
        grid-template-columns: 2.25rem minmax(0, 1fr) auto;
        gap: 0.45rem;
        align-items: baseline;
        font-size: 0.875rem;
        line-height: 1.35;
    }
    .sale-checkout-summary-line--variant {
        padding-left: 0.35rem;
        font-size: 0.8rem;
        color: rgba(28, 24, 20, .72);
    }
    .sale-checkout-summary-line--variant .sale-checkout-summary-name::before {
        content: '↳ ';
        color: rgba(28, 24, 20, .4);
    }
    .sale-checkout-summary-qty {
        font-weight: 800;
        color: rgba(28, 24, 20, .55);
        font-variant-numeric: tabular-nums;
    }
    .sale-checkout-summary-name {
        font-weight: 600;
        color: #1C1814;
        word-break: break-word;
    }
    .sale-checkout-summary-amount {
        font-weight: 700;
        font-variant-numeric: tabular-nums;
        color: #1C1814;
    }
    .sale-checkout-summary-total {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 1rem;
        margin: 0.85rem 0 0;
        padding-top: 0.85rem;
        border-top: 1px solid rgba(139, 123, 98, .2);
        font-size: 0.95rem;
        color: rgba(28, 24, 20, .65);
    }
    .sale-checkout-summary-total strong {
        font-size: 1.35rem;
        font-weight: 800;
        color: #1C1814;
    }
    .sale-checkout-pay-total {
        margin: 0 0 1rem;
        font-size: 0.85rem;
        color: rgba(28, 24, 20, .55);
        line-height: 1.2;
    }
    .sale-checkout-pay-total strong {
        display: block;
        margin-top: 0.25rem;
        font-size: 2rem;
        font-weight: 800;
        color: #1C1814;
    }
    .sale-checkout-pay-total__sub {
        display: block;
        margin-top: 0.45rem;
        font-size: 0.75rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .5);
        line-height: 1.35;
    }
    .sale-checkout-flow__note {
        margin: 0.5rem 0 0;
        font-size: 0.8125rem;
        color: rgba(28, 24, 20, .55);
        line-height: 1.4;
    }
    .sale-checkout-romana-total {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1rem;
        margin-bottom: 0.35rem;
    }
    .sale-checkout-romana-total__btn {
        width: 2.75rem;
        height: 2.75rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        font-size: 1.35rem;
        font-weight: 800;
        line-height: 1;
        color: #1C1814;
        cursor: pointer;
    }
    .sale-checkout-romana-total__btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }
    .sale-checkout-romana-total__value {
        min-width: 2.5rem;
        text-align: center;
        font-size: 2rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        color: #1C1814;
    }
    .sale-checkout-romana-hint {
        margin: 0 0 0.65rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .52);
        line-height: 1.35;
    }
    .sale-checkout-romana-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(6.75rem, 1fr));
        gap: 0.5rem;
        max-height: min(14rem, 40vh);
        overflow-y: auto;
        padding: 0.1rem;
    }
    .sale-checkout-romana-share {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 0.2rem;
        min-height: 4.25rem;
        padding: 0.65rem 0.7rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #FAF7F2;
        text-align: left;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-checkout-romana-share:hover:not(:disabled) {
        border-color: rgba(217, 119, 6, .45);
        background: #fff;
    }
    .sale-checkout-romana-share.is-selected {
        border-color: #1C1814;
        background: #1C1814;
        box-shadow: 0 4px 14px rgba(28, 24, 20, .12);
    }
    .sale-checkout-romana-share.is-selected .sale-checkout-romana-share__num,
    .sale-checkout-romana-share.is-selected .sale-checkout-romana-share__amount {
        color: #FAF7F2;
    }
    .sale-checkout-romana-share.is-paid {
        border-color: rgba(21, 128, 61, .35);
        background: rgba(187, 247, 208, .45);
        cursor: default;
        opacity: 0.92;
    }
    .sale-checkout-romana-share__num {
        font-size: 0.72rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: rgba(28, 24, 20, .5);
    }
    .sale-checkout-romana-share__amount {
        font-size: 0.95rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        color: #1C1814;
    }
    .sale-checkout-romana-share__badge {
        position: absolute;
        top: 0.4rem;
        right: 0.45rem;
        font-size: 0.62rem;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.04em;
        color: #15803d;
    }
    .sale-checkout-romana-summary {
        margin: 0.75rem 0 0;
        font-size: 0.875rem;
        color: rgba(28, 24, 20, .6);
    }
    .sale-checkout-romana-summary strong {
        color: #1C1814;
    }
    .sale-checkout-analitica-hint {
        margin: 0 0 0.65rem;
        font-size: 0.8125rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .52);
        line-height: 1.35;
    }
    .sale-checkout-analitica-lines {
        list-style: none;
        margin: 0 0 0.75rem;
        padding: 0;
        max-height: min(16rem, 38vh);
        overflow-y: auto;
        display: flex;
        flex-direction: column;
        gap: 0.55rem;
    }
    .sale-checkout-analitica-line {
        padding: 0.65rem 0.7rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .22);
        background: #FAF7F2;
    }
    .sale-checkout-analitica-line--variant {
        margin-left: 0.65rem;
        border-style: dashed;
        background: rgba(255, 255, 255, .85);
    }
    .sale-checkout-analitica-line__head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 0.45rem;
    }
    .sale-checkout-analitica-line__name {
        font-size: 0.875rem;
        font-weight: 700;
        color: #1C1814;
        line-height: 1.25;
    }
    .sale-checkout-analitica-line__total {
        font-size: 0.875rem;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
        color: #1C1814;
        white-space: nowrap;
    }
    .sale-checkout-analitica-parts {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        margin-bottom: 0.45rem;
        font-size: 0.75rem;
        font-weight: 700;
        color: rgba(28, 24, 20, .55);
    }
    .sale-checkout-analitica-parts__btn {
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 0.5rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #fff;
        font-size: 1rem;
        font-weight: 800;
        line-height: 1;
        cursor: pointer;
    }
    .sale-checkout-analitica-parts__btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }
    .sale-checkout-analitica-parts__value {
        min-width: 1.25rem;
        text-align: center;
        font-size: 0.95rem;
        font-weight: 800;
        color: #1C1814;
    }
    .sale-checkout-analitica-part {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.35rem 0.5rem;
        padding: 0.35rem 0;
        border-top: 1px dashed rgba(139, 123, 98, .2);
    }
    .sale-checkout-analitica-part__meta {
        font-size: 0.75rem;
        color: rgba(28, 24, 20, .58);
    }
    .sale-checkout-analitica-part__meta strong {
        color: #1C1814;
        font-weight: 800;
    }
    .sale-checkout-analitica-guests {
        display: inline-flex;
        flex-wrap: wrap;
        gap: 0.3rem;
    }
    .sale-checkout-analitica-guest {
        min-width: 1.85rem;
        height: 1.85rem;
        padding: 0 0.35rem;
        border-radius: 999px;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #fff;
        font-size: 0.78rem;
        font-weight: 800;
        color: #1C1814;
        cursor: pointer;
    }
    .sale-checkout-analitica-guest.is-active {
        border-color: #1C1814;
        background: #1C1814;
        color: #FAF7F2;
    }
    .sale-checkout-analitica-warn {
        margin: 0 0 0.65rem;
        font-size: 0.8125rem;
        color: #b45309;
    }
    .sale-checkout-analitica-warn strong {
        font-weight: 800;
    }
    .sale-checkout-flow {
        display: flex;
        flex-direction: column;
        flex: 1;
        min-height: 0;
        gap: 0.65rem;
    }
    .sale-checkout-flow__lead {
        margin: 0;
        font-size: 0.8125rem;
        font-weight: 700;
        color: rgba(28, 24, 20, .55);
        text-transform: uppercase;
        letter-spacing: 0.06em;
    }
    .sale-checkout-flow__meta {
        margin: 0 0 0.15rem;
        font-size: 0.875rem;
        font-weight: 700;
        color: #1C1814;
        line-height: 1.35;
    }
    .sale-checkout-paymethod-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
        margin-bottom: 0.25rem;
    }
    .sale-checkout-paymethod-btn {
        display: flex;
        align-items: center;
        justify-content: center;
        min-height: 4.5rem;
        padding: 0.85rem 1rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-checkout-paymethod-btn:hover {
        background: #fff;
        border-color: rgba(217, 119, 6, .45);
    }
    .sale-checkout-paymethod-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        box-shadow: 0 4px 16px rgba(28, 24, 20, .12);
    }
    .sale-checkout-paymethod-btn__title {
        font-size: 1.05rem;
        font-weight: 800;
        color: #1C1814;
        line-height: 1.2;
    }
    .sale-checkout-paymethod-btn.is-active .sale-checkout-paymethod-btn__title {
        color: #FAF7F2;
    }
    .sale-checkout-step-back {
        align-self: flex-start;
        margin: 0 0 0.15rem;
        padding: 0.2rem 0;
        border: none;
        background: none;
        font-size: 0.8125rem;
        font-weight: 700;
        color: rgba(28, 24, 20, .62);
        cursor: pointer;
    }
    .sale-checkout-step-back:hover:not(:disabled) {
        color: #1C1814;
    }
    .sale-checkout-step-back:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }
    .sale-checkout-mode-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.65rem;
    }
    @media (max-width: 420px) {
        .sale-checkout-mode-grid {
            grid-template-columns: 1fr;
        }
    }
    .sale-checkout-mode-btn {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        gap: 0.35rem;
        min-height: 5.25rem;
        padding: 0.85rem 1rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        text-align: left;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-checkout-mode-btn:hover:not(:disabled) {
        background: #fff;
        border-color: rgba(217, 119, 6, .45);
    }
    .sale-checkout-mode-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    .sale-checkout-mode-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        box-shadow: 0 4px 16px rgba(28, 24, 20, .12);
    }
    .sale-checkout-mode-btn__title {
        font-size: 1rem;
        font-weight: 800;
        color: #1C1814;
        line-height: 1.2;
    }
    .sale-checkout-mode-btn.is-active .sale-checkout-mode-btn__title,
    .sale-checkout-mode-btn.is-active .sale-checkout-mode-btn__hint {
        color: #FAF7F2;
    }
    .sale-checkout-mode-btn__hint {
        font-size: 0.75rem;
        font-weight: 600;
        line-height: 1.35;
        color: rgba(28, 24, 20, .55);
    }
    .sale-checkout-toolbar--compact {
        margin-top: 0.25rem;
    }
    .sale-checkout-toolbar--compact .sale-checkout-toolbar-end {
        margin-left: 0;
        width: 100%;
        justify-content: flex-end;
    }
    .sale-checkout-toolbar {
        display: flex;
        flex-wrap: wrap;
        align-items: stretch;
        gap: 0.5rem;
        margin-bottom: 0.75rem;
    }
    .sale-checkout-toolbar > .sale-checkout-tool-btn {
        flex: 1 1 6.5rem;
        min-width: 0;
    }
    .sale-checkout-toolbar-end {
        display: flex;
        gap: 0.5rem;
        margin-left: auto;
        flex: 1 1 9rem;
        min-width: min(100%, 9rem);
        justify-content: flex-end;
    }
    .sale-checkout-toolbar-end .sale-checkout-tool-btn {
        flex: 1 1 auto;
        min-width: 0;
    }
    .sale-checkout-toolbar-end .sale-checkout-tool-btn--icon {
        flex: 0 0 2.65rem;
    }
    .sale-checkout-tool-btn {
        flex: 1;
        min-height: 2.65rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        font-size: 0.875rem;
        font-weight: 700;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, border-color .12s;
    }
    .sale-checkout-tool-btn:hover:not(:disabled) {
        background: #fff;
        border-color: rgba(217, 119, 6, .4);
    }
    .sale-checkout-tool-btn:disabled {
        opacity: 0.5;
        cursor: not-allowed;
    }
    .sale-checkout-tool-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
    }
    .sale-checkout-tool-btn--icon {
        flex: 0 0 2.65rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }
    .sale-checkout-tool-btn--icon.is-sospeso {
        background: #EDE9FE;
        border-color: #7C3AED;
        color: #5B21B6;
        box-shadow: 0 0 0 2px rgba(124, 58, 237, .35);
    }
    .sale-checkout-clock-icon {
        width: 1.25rem;
        height: 1.25rem;
    }
    .sale-checkout-doc-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.5rem;
        margin-bottom: 1rem;
    }
    @media (min-width: 520px) {
        .sale-checkout-doc-grid {
            grid-template-columns: repeat(3, 1fr);
        }
        .sale-checkout-doc-btn:last-child {
            grid-column: auto;
        }
    }
    .sale-checkout-doc-btn {
        min-height: 3.25rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #FAF7F2;
        padding: 0.5rem 0.65rem;
        font-size: 0.8125rem;
        font-weight: 700;
        line-height: 1.25;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, border-color .12s, box-shadow .12s;
    }
    .sale-checkout-doc-btn.is-active {
        background: #1C1814;
        border-color: #1C1814;
        color: #FAF7F2;
        box-shadow: 0 4px 14px rgba(28, 24, 20, .15);
    }
    .sale-checkout-doc-btn:last-child {
        /* full width on narrow when stacked */
    }
    .sale-checkout-confirm {
        margin-top: auto;
        min-height: 3rem;
        font-size: 0.9rem;
    }
    .sale-checkout-panel--pay {
        justify-content: flex-start;
    }
    .settings-layout {
        display: grid;
        gap: 1.25rem;
    }
    @media (min-width: 768px) {
        .settings-layout {
            grid-template-columns: 11rem minmax(0, 1fr);
            align-items: start;
        }
    }
    .settings-nav {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
    }
    .settings-nav-link {
        display: block;
        border-radius: 0.75rem;
        padding: 0.55rem 0.75rem;
        font-size: 0.875rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .78);
        text-decoration: none;
        transition: background .12s, color .12s;
    }
    .settings-nav-link:hover {
        background: rgba(245, 229, 213, .45);
        color: #1C1814;
    }
    .settings-nav-link.is-active {
        background: #1C1814;
        color: #FAF7F2;
    }
    .settings-panel {
        border-radius: 1.25rem;
        border: 1px solid rgba(139, 123, 98, .18);
        background: rgba(255, 255, 255, .82);
        padding: 1.35rem 1.4rem;
        box-shadow: 0 1px 2px rgba(28, 24, 20, .04);
    }
    .settings-form {
        display: grid;
        gap: 0.85rem;
        max-width: 28rem;
    }
    .settings-label {
        display: block;
        margin-bottom: 0.3rem;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .5);
    }
    .settings-input {
        width: 100%;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #FAF7F2;
        padding: 0.55rem 0.7rem;
        font-size: 0.875rem;
        color: #1C1814;
    }
    .settings-input:focus {
        outline: none;
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .35);
    }
    .settings-check {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        font-size: 0.875rem;
        color: #1C1814;
    }
    .settings-hint {
        margin: 0;
        font-size: 0.75rem;
        color: rgba(28, 24, 20, .5);
        line-height: 1.45;
    }
    .settings-submit {
        margin-top: 0.35rem;
        min-height: 2.65rem;
        border-radius: 0.85rem;
        border: 1px solid #1C1814;
        background: #1C1814;
        color: #FAF7F2;
        font-size: 0.875rem;
        font-weight: 700;
        cursor: pointer;
    }
    .settings-submit:hover { opacity: .92; }
    .settings-form--wide {
        max-width: none;
    }
    .settings-printer-card {
        border-radius: 1rem;
        border: 1px solid rgba(139, 123, 98, .2);
        background: rgba(250, 247, 242, .65);
        padding: 1rem 1.1rem;
    }
    .settings-printer-title {
        margin: 0;
        font-family: var(--font-display, inherit);
        font-size: 1.05rem;
        color: #1C1814;
    }
    .settings-printer-cats {
        margin: 0.75rem 0 0;
        padding: 0;
        border: 0;
    }
    .settings-cat-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
        gap: 0.45rem 0.75rem;
        margin-top: 0.5rem;
    }
    .settings-cat-check {
        display: flex;
        align-items: center;
        gap: 0.45rem;
        font-size: 0.8125rem;
        color: #1C1814;
        cursor: pointer;
    }
    .settings-cat-check input {
        width: 1rem;
        height: 1rem;
        accent-color: #1C1814;
    }
    .settings-variants-layout {
        display: grid;
        gap: 1.25rem;
    }
    @media (min-width: 768px) {
        .settings-variants-layout {
            grid-template-columns: minmax(11rem, 14rem) minmax(0, 1fr);
            align-items: start;
        }
    }
    .settings-variants-product-list {
        list-style: none;
        margin: 0.65rem 0 0;
        padding: 0;
        max-height: 22rem;
        overflow-y: auto;
        border: 1px solid rgba(139, 123, 98, .18);
        border-radius: 0.85rem;
        background: #fff;
    }
    .settings-variants-product-btn {
        display: block;
        width: 100%;
        text-align: left;
        padding: 0.55rem 0.7rem;
        border: none;
        border-bottom: 1px solid rgba(139, 123, 98, .1);
        background: transparent;
        cursor: pointer;
        position: relative;
    }
    .settings-variants-product-btn:last-child {
        border-bottom: none;
    }
    .settings-variants-product-btn:hover {
        background: rgba(250, 247, 242, .9);
    }
    .settings-variants-product-btn.is-active {
        background: #1C1814;
        color: #FAF7F2;
    }
    .settings-variants-product-btn.is-active .settings-variants-product-meta {
        color: rgba(250, 247, 242, .75);
    }
    .settings-variants-product-name {
        display: block;
        font-size: 0.8125rem;
        font-weight: 600;
        line-height: 1.3;
    }
    .settings-variants-product-meta {
        display: block;
        margin-top: 0.15rem;
        font-size: 0.7rem;
        color: rgba(28, 24, 20, .55);
    }
    .settings-variants-badge {
        position: absolute;
        top: 0.55rem;
        right: 0.55rem;
        color: #d97706;
        font-size: 0.55rem;
    }
    .settings-variants-product-btn.is-active .settings-variants-badge {
        color: #fbbf24;
    }
    .settings-variants-detail {
        border: 1px solid rgba(139, 123, 98, .18);
        border-radius: 1rem;
        background: #fffaf5;
        padding: 1rem 1.1rem;
        min-height: 10rem;
    }
    .settings-variants-rows {
        display: flex;
        flex-direction: column;
        gap: 0.45rem;
    }
    .settings-variant-card {
        margin-bottom: 0.75rem;
    }
    .settings-variant-card--prefill {
        border-color: rgba(37, 99, 235, .45);
        box-shadow: 0 0 0 2px rgba(37, 99, 235, .12);
    }
    .settings-variants-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) minmax(5.5rem, 6.5rem) 2rem;
        gap: 0.45rem;
        align-items: center;
    }
    .settings-variants-row--form {
        grid-template-columns: minmax(0, 1.4fr) minmax(6rem, 7rem) 2rem;
        align-items: end;
        margin-bottom: 0.35rem;
    }
    .settings-variants-remove--card {
        margin-bottom: 0.15rem;
    }
    .settings-variants-row--head {
        font-size: 0.68rem;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        color: rgba(28, 24, 20, .5);
        padding-bottom: 0.15rem;
    }
    .settings-variants-row--head span:last-child {
        visibility: hidden;
    }
    .settings-variants-remove {
        width: 2rem;
        height: 2rem;
        border-radius: 0.55rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #FAF7F2;
        font-size: 1.1rem;
        line-height: 1;
        cursor: pointer;
        color: rgba(28, 24, 20, .65);
    }
    .settings-variants-remove:hover {
        border-color: rgba(185, 28, 28, .35);
        color: #991b1b;
    }
    .settings-variants-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }
    .settings-variants-secondary {
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .28);
        background: #fff;
        padding: 0.45rem 0.75rem;
        font-size: 0.8125rem;
        font-weight: 600;
        cursor: pointer;
        color: #1C1814;
    }
    .settings-variants-secondary:hover {
        background: #FAF7F2;
    }
    .settings-variants-secondary--danger {
        border-color: rgba(185, 28, 28, .25);
        color: #991b1b;
    }
    .settings-variants-secondary--muted {
        color: rgba(28, 24, 20, .55);
    }
    .settings-variant-prefill {
        padding: 0.75rem 0.85rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(217, 119, 6, .35);
        background: rgba(254, 243, 199, .4);
    }
    .settings-variant-prefill-text {
        margin: 0;
        font-size: 0.8125rem;
        line-height: 1.4;
        color: #1C1814;
    }
    .settings-variant-prefill-actions {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        margin-top: 0.65rem;
    }
    .sr-only {
        position: absolute;
        width: 1px;
        height: 1px;
        padding: 0;
        margin: -1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        border: 0;
    }

    .settings-subnav {
        display: flex;
        flex-wrap: wrap;
        gap: 0.35rem 0.5rem;
        margin-bottom: 1.25rem;
        padding-bottom: 0.85rem;
        border-bottom: 1px solid rgba(139, 123, 98, .18);
    }
    .settings-subnav-link {
        display: inline-flex;
        align-items: center;
        padding: 0.35rem 0.75rem;
        border-radius: 999px;
        font-size: 0.8125rem;
        font-weight: 600;
        color: rgba(28, 24, 20, .72);
        background: rgba(255, 255, 255, .55);
        border: 1px solid rgba(139, 123, 98, .2);
        text-decoration: none;
        transition: background .15s, color .15s, border-color .15s;
    }
    .settings-subnav-link:hover {
        color: #1C1814;
        border-color: rgba(139, 123, 98, .35);
    }
    .settings-subnav-link.is-active {
        color: #FDF8F0;
        background: #3D3228;
        border-color: #3D3228;
    }

    .command-style-layout {
        display: grid;
        gap: 1.5rem;
        align-items: start;
    }
    @media (min-width: 1024px) {
        .command-style-layout {
            grid-template-columns: minmax(0, 1fr) minmax(16rem, 22rem);
        }
    }
    .command-style-section {
        margin-bottom: 1.5rem;
        padding: 1rem 1.1rem;
        border-radius: 0.75rem;
        border: 1px solid rgba(139, 123, 98, .16);
        background: rgba(255, 255, 255, .45);
    }
    .command-style-section-title {
        margin: 0;
        font-family: var(--font-display, Georgia, serif);
        font-size: 1.05rem;
        color: #1C1814;
    }
    .command-style-section-head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        margin-bottom: 0.65rem;
    }
    .command-style-width .settings-input {
        max-width: 8rem;
    }
    .command-style-props-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
        gap: 0.65rem 0.75rem;
        margin-top: 0.65rem;
    }
    .command-style-props-grid--fonts {
        margin-bottom: 0.5rem;
    }
    .command-style-props-subtitle {
        margin: 1rem 0 0.25rem;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.07em;
        color: rgba(28, 24, 20, .5);
    }
    .command-style-tokens {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
        margin-top: 0.65rem;
    }
    .command-style-token {
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-size: 0.75rem;
        padding: 0.25rem 0.5rem;
        border-radius: 0.35rem;
        border: 1px dashed rgba(139, 123, 98, .45);
        background: #FDF8F0;
        color: #3D3228;
        cursor: pointer;
    }
    .command-style-token:hover {
        background: #fff;
        border-style: solid;
    }
    .command-style-token--custom {
        border-color: rgba(180, 83, 9, .45);
        color: #9A3412;
    }
    .command-style-custom-row {
        display: grid;
        grid-template-columns: minmax(5rem, 0.9fr) 1fr 1.2fr auto;
        gap: 0.5rem;
        align-items: center;
        margin-bottom: 0.5rem;
    }
    @media (max-width: 720px) {
        .command-style-custom-row {
            grid-template-columns: 1fr;
        }
    }
    .command-style-add {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
        align-items: center;
    }
    .command-style-add .settings-input {
        min-width: 12rem;
    }
    .command-style-blocks {
        display: flex;
        flex-direction: column;
        gap: 0.65rem;
        margin-top: 0.75rem;
    }
    .command-style-block {
        padding: 0.75rem 0.85rem;
        border-radius: 0.65rem;
        background: rgba(253, 248, 240, .9);
        border: 1px solid rgba(139, 123, 98, .14);
    }
    .command-style-block-toolbar {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
        margin-bottom: 0.5rem;
    }
    .command-style-block-kind {
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.06em;
        color: rgba(28, 24, 20, .55);
    }
    .command-style-block-actions {
        display: flex;
        gap: 0.25rem;
    }
    .command-style-icon-btn {
        width: 1.75rem;
        height: 1.75rem;
        border-radius: 0.35rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #fff;
        font-size: 0.85rem;
        line-height: 1;
        cursor: pointer;
        color: #3D3228;
    }
    .command-style-icon-btn:disabled {
        opacity: 0.35;
        cursor: not-allowed;
    }
    .command-style-icon-btn--danger {
        color: #9F1239;
    }
    .command-style-block-fields {
        display: flex;
        flex-direction: column;
        gap: 0.35rem;
    }
    .command-style-block-row-meta {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 0.5rem;
        margin-top: 0.35rem;
    }
    @media (max-width: 640px) {
        .command-style-block-row-meta {
            grid-template-columns: 1fr;
        }
    }
    .command-style-preview-wrap {
        position: sticky;
        top: 1rem;
    }
    .command-style-preview-label {
        margin: 0 0 0.5rem;
        font-size: 0.75rem;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 0.08em;
        color: rgba(28, 24, 20, .5);
    }
    .command-style-preview-paper {
        padding: 0.65rem;
        border-radius: 0.5rem;
        background: linear-gradient(145deg, #e8e4dc, #d4cfc4);
        box-shadow: 0 4px 14px rgba(28, 24, 20, .1);
    }
    .command-style-preview-thermal {
        margin: 0 auto;
        padding: 0.45rem 0.4rem 0.55rem;
        background: #fff;
        box-shadow: 0 1px 0 rgba(0, 0, 0, .06);
        font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
        font-size: 0.58rem;
        line-height: var(--line-height, 1.1);
        color: #111;
        width: 100%;
        min-width: calc(var(--ticket-ch, 42) * 1ch);
        max-width: calc(var(--ticket-ch, 42) * 1ch);
        white-space: pre;
        overflow-x: auto;
    }
    .command-style-preview-seg {
        display: block;
        width: 100%;
    }
    .command-style-preview-header-row {
        display: flex;
        align-items: baseline;
        justify-content: space-between;
        gap: 0.35rem;
        width: 100%;
        margin: 0;
        white-space: nowrap;
    }
    .command-style-preview-header-left {
        flex: 1 1 auto;
        min-width: 0;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .command-style-preview-header-right {
        flex: 0 0 auto;
        white-space: nowrap;
        max-width: 55%;
    }
    .command-style-preview-header-left.align-left,
    .command-style-preview-line.align-left {
        text-align: left;
    }
    .command-style-preview-header-left.align-center,
    .command-style-preview-header-right.align-center,
    .command-style-preview-line.align-center {
        text-align: center;
    }
    .command-style-preview-header-right.align-right,
    .command-style-preview-line.align-right {
        text-align: right;
    }
    .command-style-preview-header-right.align-right {
        margin-left: auto;
    }
    .size-sm,
    .command-style-preview-line.size-sm {
        font-size: 0.54rem;
    }
    .size-md,
    .command-style-preview-line.size-md {
        font-size: 0.58rem;
    }
    .size-lg,
    .command-style-preview-line.size-lg {
        font-size: 0.66rem;
        font-weight: 600;
    }
    .command-style-preview-line {
        margin: 0;
        width: 100%;
    }
    .command-style-preview-line.size-lg {
        margin: 0.05rem 0 0.15rem;
    }
    .command-style-preview-seg[data-role="gap"] .command-style-preview-line.is-empty,
    .command-style-preview-line.is-empty {
        min-height: calc(0.35rem * var(--line-height, 1.1));
    }
    .command-style-preview-seg[data-role="item"] + .command-style-preview-seg[data-role="gap"] .is-empty {
        min-height: calc(0.4rem * var(--line-height, 1.1));
    }
    .sale-qty-pad {
        padding-top: 0.65rem;
        border-top: 1px solid rgba(139, 123, 98, .15);
    }
    .sale-pad-primary-bar {
        display: grid;
        grid-template-columns: minmax(5.5rem, 1fr) minmax(0, 2.2fr);
        gap: 0.35rem;
        margin-top: 0.35rem;
    }
    .sale-pad-primary-bar .sale-pad-btn--send {
        margin-top: 0;
        width: 100%;
    }
    .sale-pad-primary-bar .sale-pad-btn--danger-full {
        width: 100%;
        min-height: 2.85rem;
    }
    .sale-qty-pad-hint {
        margin: 0 0 0.5rem;
        font-size: 0.8rem;
        color: rgba(28, 24, 20, .65);
    }
    .sale-qty-pad-hint strong {
        font-size: 1.05rem;
        color: #1C1814;
    }
    .sale-qty-pad-sub {
        display: block;
        margin-top: 0.15rem;
        font-size: 0.68rem;
        color: rgba(28, 24, 20, .45);
    }
    .sale-numpad {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0.35rem;
    }
    .sale-numpad .sale-pad-btn--clear {
        grid-column: 1;
        font-size: 0.95rem;
        letter-spacing: 0.04em;
    }
    .sale-numpad .sale-pad-btn--zero {
        grid-column: 2;
    }
    .sale-numpad .sale-pad-btn--comma {
        grid-column: 3;
        font-size: 1.2rem;
        line-height: 1;
    }
    .sale-numpad--no-clear .sale-pad-btn--zero {
        grid-column: 1 / span 2;
    }
    .sale-numpad--no-clear .sale-pad-btn--comma {
        grid-column: 3;
    }
    .sale-qty-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.35rem;
        margin-top: 0.35rem;
    }
    .sale-pad-btn--danger-full {
        width: 100%;
    }
    .sale-pad-btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-height: 2.65rem;
        border-radius: 0.65rem;
        border: 1px solid rgba(139, 123, 98, .25);
        background: #FAF7F2;
        font-size: 1.05rem;
        font-weight: 700;
        color: #1C1814;
        cursor: pointer;
        transition: background .12s, opacity .12s;
    }
    .sale-pad-btn:hover:not(:disabled) { background: #fff; }
    .sale-pad-btn:active:not(:disabled) { transform: translateY(1px); }
    .sale-pad-btn:disabled {
        opacity: 0.45;
        cursor: not-allowed;
    }
    .sale-pad-btn--wide { font-size: 1.35rem; line-height: 1; }
    .sale-pad-btn--danger {
        min-width: 2.85rem;
        background: rgba(185, 28, 28, .08);
        border-color: rgba(185, 28, 28, .25);
        color: #991b1b;
    }
    .sale-pad-btn--danger:hover:not(:disabled) { background: rgba(185, 28, 28, .12); }
    .sale-pad-trash { width: 1.15rem; height: 1.15rem; }
    .sale-pad-btn--send {
        width: 100%;
        margin-top: 0.35rem;
        min-height: 2.85rem;
        border-color: rgba(217, 119, 6, .45);
        background: rgba(245, 229, 213, .75);
        color: #1C1814;
        font-size: 0.8125rem;
        font-weight: 700;
    }
    .sale-pad-btn--send:hover:not(:disabled) {
        background: rgba(245, 229, 213, 1);
        box-shadow: 0 0 0 2px rgba(217, 119, 6, .28);
    }
    .zone-numbered-area-label {
        font-size: .8125rem;
        font-weight: 600;
        line-height: 1;
        color: rgba(28, 24, 20, .78);
        pointer-events: none;
        user-select: none;
    }
    .floor-piece {
        position: absolute;
        z-index: 2;
        overflow: visible;
    }
    .floor-piece-confirmed {
        border-color: #1C1814;
        background: #1C1814;
        color: #FAF7F2;
    }
    .floor-piece-active-order {
        border-color: #15803d !important;
        background: linear-gradient(145deg, #4ade80 0%, #16a34a 100%) !important;
        color: #052e16 !important;
        box-shadow: 0 0 0 2px rgba(21, 128, 61, .45);
    }
    .floor-piece-active-order .floor-piece-table-number {
        background: rgba(5, 46, 22, .88);
        color: #ecfdf5;
    }
    .floor-piece-active-order .floor-piece-covers {
        color: #052e16;
    }
    .floor-piece-incasso-sospeso {
        border-color: #7C3AED !important;
        background: linear-gradient(145deg, #EDE9FE 0%, #C4B5FD 100%) !important;
        color: #4C1D95 !important;
        box-shadow: 0 0 0 2px rgba(124, 58, 237, .5);
    }
    .floor-piece-incasso-sospeso .floor-piece-table-number {
        background: rgba(76, 29, 149, .9);
        color: #F5F3FF;
    }
    .floor-piece-incasso-sospeso .floor-piece-covers {
        color: #4C1D95;
    }
    .floor-piece-pending {
        border-color: #D97706;
        background: #FEF3C7;
        color: #451A03;
    }
    .floor-piece-cancelled {
        border-color: #B91C1C;
        background: linear-gradient(145deg, #FEE2E2 0%, #FECACA 100%);
        color: #7F1D1D;
    }
    .floor-piece-walkin {
        border-color: #0F766E;
        background: linear-gradient(145deg, #CCFBF1 0%, #8EEBDC 100%);
        color: #134E4A;
    }
    .floor-piece-covers {
        font-family: Fraunces, Georgia, serif;
        font-size: clamp(0.95rem, 3.4vw, 1.35rem);
        font-weight: 700;
        line-height: 1;
        letter-spacing: -0.02em;
        font-variant-numeric: tabular-nums;
    }
    .floor-piece-table-number {
        position: absolute;
        top: .2rem;
        left: .2rem;
        z-index: 2;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 1.15rem;
        height: 1.15rem;
        padding: 0 .22rem;
        border-radius: .35rem;
        background: rgba(44, 38, 31, .88);
        color: #FAF7F2;
        font-size: .625rem;
        font-weight: 700;
        line-height: 1;
    }
    .floor-piece-walkin-number {
        font-family: Fraunces, Georgia, serif;
        font-size: clamp(0.7rem, 1.5vw, 0.95rem);
        font-weight: 700;
        line-height: 1;
        color: #0F766E;
    }
    .floor-piece-walkin-tag {
        margin-top: 0.05rem;
        font-size: 7px;
        font-weight: 700;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: rgba(19, 78, 74, .68);
    }
    .floor-piece-walkin-dot {
        position: absolute;
        top: .2rem;
        right: .2rem;
        font-size: 9px;
        font-weight: 700;
        color: #0F766E;
    }
