/* Autana global backoffice design system. Keep route-specific rules out of this file. */
:root {
    --au-canvas: #f3f6f8;
    --au-surface: #ffffff;
    --au-surface-muted: #f7faf9;
    --au-ink: #16211f;
    --au-muted: #667570;
    --au-border: #dbe4e1;
    --au-brand: #0f766e;
    --au-brand-strong: #115e59;
    --au-navy: #102a3c;
    --au-success: #15803d;
    --au-warning: #b45309;
    --au-danger: #b42318;
    --au-info: #1d4ed8;
    --au-radius-sm: 6px;
    --au-radius: 8px;
    --au-shadow: 0 8px 24px rgba(18, 42, 37, 0.07);
    --au-content: 1240px;
    --au-space-1: 4px;
    --au-space-2: 8px;
    --au-space-3: 12px;
    --au-space-4: 16px;
    --au-space-5: 20px;
    --au-space-6: 24px;
}

/* Agenda multisede: one visible scope shared by reservations, waitlist and resources. */
.au-agenda-location {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: 0 0 16px;
    padding: 12px 14px;
    border: 1px solid #cfe0e8;
    border-radius: var(--au-radius-lg);
    background: linear-gradient(115deg, #eefafb 0%, #fff 58%);
    box-shadow: var(--au-shadow-xs);
}
.au-agenda-location__identity { display: flex; align-items: center; gap: 11px; min-width: 0; }
.au-agenda-location__identity > span:last-child { display: grid; gap: 1px; min-width: 0; }
.au-agenda-location__identity small { color: var(--au-text-muted); font-size: .7rem; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
.au-agenda-location__identity strong { overflow: hidden; color: var(--au-brand-navy); font-size: .95rem; text-overflow: ellipsis; white-space: nowrap; }
.au-agenda-location__icon { display: grid; width: 38px; height: 38px; place-items: center; flex: 0 0 38px; color: #007f8d; background: #dff5f4; border-radius: 11px; }
.au-agenda-location__icon svg { width: 19px; height: 19px; }
.au-agenda-location form { display: flex; align-items: end; gap: 8px; margin: 0; }
.au-agenda-location label { display: grid; gap: 4px; color: var(--au-text-secondary); font-size: .72rem; font-weight: 800; }
.au-agenda-location select { width: clamp(190px, 22vw, 300px); min-height: 38px; padding-block: 6px; background-color: #fff; }
.au-agenda-location__status { padding: 6px 10px; color: #087a66; background: #e6f7ef; border-radius: 999px; font-size: .72rem; font-weight: 800; }

@media (max-width: 620px) {
    .au-agenda-location { align-items: stretch; flex-direction: column; gap: 10px; padding: 11px; }
    .au-agenda-location form,.au-agenda-location label,.au-agenda-location select { width: 100%; }
    .au-agenda-location__status { align-self: flex-start; }
}

/* Backoffice internal information architecture: compact hubs and dedicated tasks. */
.au-v2-link-grid--people { grid-template-columns: repeat(3,minmax(0,1fr)); }
.au-people-summary { grid-template-columns: repeat(2,minmax(0,1fr)); }
.au-v2-narrow-form { max-width: 720px; }
.au-empty-state--action { display: grid; justify-items: start; gap: 10px; min-height: 220px; padding: 38px; }
.au-empty-state--action .au-v2-actions { justify-content: flex-start; }
.au-v2-callout--info { color: #184b65; background: #edf8fb; border-color: #b8e2eb; }
.au-schedule-board { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; align-items: start; }
.au-schedule-board > article { overflow: hidden; border: 1px solid var(--au-border); border-radius: 15px; background: var(--au-surface); }
.au-schedule-board > article > header { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 13px 15px; color: var(--au-text-primary); background: var(--au-surface-subtle); border-bottom: 1px solid var(--au-border); }
.au-schedule-board > article > header span { color: var(--au-text-secondary); font-size: .75rem; font-weight: 700; }
.au-schedule-board > article > div { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 3px 10px; padding: 12px 15px; border-bottom: 1px solid var(--au-border); }
.au-schedule-board > article > div:last-child { border-bottom: 0; }
.au-schedule-board > article > div strong,.au-schedule-board > article > div small { min-width: 0; }
.au-schedule-board > article > div small { color: var(--au-text-secondary); }
.au-schedule-board > article > div .au-v2-status { grid-column: 2; grid-row: 1 / span 2; align-self: center; }
.au-promotion-list > article { align-items: flex-start; }
.au-row-actions { display: flex !important; flex: 0 1 auto !important; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; max-width: 390px; }
.au-row-actions a,.au-row-actions button { display: inline-flex; align-items: center; min-height: 34px; padding: 5px 9px; color: var(--au-brand-primary-dark); background: transparent; border: 1px solid var(--au-border); border-radius: 9px; font: inherit; font-size: .72rem; font-weight: 800; text-decoration: none; cursor: pointer; }
.au-row-actions form { margin: 0; }
.au-row-actions .is-danger { color: var(--au-danger); }
.au-loyalty-layout { grid-template-columns: minmax(0,1fr) minmax(320px,.78fr); }
.au-loyalty-layout .au-v2-form-card { min-width: 0; }

@media (max-width: 1100px) {
    .au-schedule-board,.au-v2-link-grid--people { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .au-loyalty-layout,.au-people-summary { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
    .au-schedule-board,.au-v2-link-grid--people { grid-template-columns: 1fr; }
    .au-row-actions { flex-basis: 100% !important; max-width: none; margin-left: 56px; justify-content: flex-start; }
    .au-empty-state--action { min-height: 0; padding: 24px 18px; }
}

/* Unified payments entry: online collection and cash use the same compact module pattern. */
.autana-backoffice .au-v2-link-grid > article {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-areas:
        "icon title"
        "icon copy"
        "action action";
    column-gap: 13px;
    row-gap: 3px;
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-lg);
    background: var(--au-surface);
    box-shadow: var(--au-shadow-xs);
}
.autana-backoffice .au-v2-link-grid > article > .au-v2-module-icon { grid-area: icon; }
.autana-backoffice .au-v2-link-grid > article > strong { grid-area: title; color: var(--au-brand-navy); }
.autana-backoffice .au-v2-link-grid > article > small { grid-area: copy; color: var(--au-text-muted); }
.autana-backoffice .au-v2-link-grid > article > form { grid-area: action; margin-top: 10px; }
.autana-backoffice .au-v2-link-grid > article > form .au-button { width: auto; }

.au-v2-link-grid--two { grid-template-columns: repeat(2,minmax(0,1fr)); }
.au-v2-clock {
    display: grid;
    grid-template-columns: minmax(220px,.7fr) minmax(360px,1.3fr);
    gap: 24px;
    align-items: center;
    padding: 20px 22px;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-lg);
    background: linear-gradient(120deg,#f2fbfb,#fff 62%);
    box-shadow: var(--au-shadow-sm);
}
.au-v2-clock h2 { margin: 3px 0 5px; }
.au-v2-clock p { margin: 0; color: var(--au-text-secondary); }
.au-v2-clock form { display: grid; gap: 10px; }
.au-v2-clock label { display: grid; gap: 5px; color: var(--au-text-secondary); font-size: .78rem; font-weight: 700; }
.au-v2-clock select { min-height: 40px; }
.au-button--danger { color: #a62828; background: #fff; border-color: #e9bcbc; }
.au-v2-request-row { flex-wrap: wrap; }
.au-v2-request-actions { flex: 1 0 100%; display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 10px 0 0 52px; border-top: 1px solid var(--au-border); }
.au-v2-request-actions input { width: min(320px,100%); min-height: 38px; }
.au-v2-request-actions > div { display: flex; gap: 7px; }

@media (max-width: 760px) {
    .au-v2-clock { grid-template-columns: 1fr; padding: 16px; }
    .au-v2-link-grid--two { grid-template-columns: 1fr; }
    .au-v2-request-actions { display: grid; padding-left: 0; }
    .au-v2-request-actions input { width: 100%; }
    .au-v2-request-actions > div { flex-wrap: wrap; }
}

.autana-backoffice .au-v2-callout.au-v2-callout--info {
    display: grid;
    grid-template-columns: 1fr;
    gap: 5px;
    color: #184b65;
    background: #edf8fb;
    border-color: #b8e2eb;
}
.autana-backoffice .au-v2-callout.au-v2-callout--info strong { white-space: normal; }

/* AUTANA Business V2 checkpoint: shared structural components, never route patches. */
.au-v2-stack{display:grid;gap:18px}.au-v2-intro{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px 24px;border:1px solid var(--au-border,#e2e8f0);border-radius:18px;background:linear-gradient(135deg,#fff 65%,#f3f8ff)}.au-v2-intro h2{margin:2px 0 5px;font-size:clamp(1.25rem,2vw,1.65rem);letter-spacing:-.025em}.au-v2-intro p{margin:0;max-width:720px;color:var(--au-text-muted,#64748b)}.au-v2-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:999px;background:#edf4ff;color:#2553a8;font-size:.76rem;font-weight:800;white-space:nowrap}.au-v2-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px}.au-v2-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.au-v2-module-card{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px;border:1px solid var(--au-border,#dce4ef);border-radius:16px;background:#fff;box-shadow:0 8px 28px rgba(20,39,72,.05);cursor:pointer}.au-v2-module-card:has(input:checked){border-color:#7ca6ed;background:#f7faff}.au-v2-module-card.is-locked{opacity:.58;cursor:not-allowed}.au-v2-module-card strong,.au-v2-module-card small,.au-v2-module-card em{display:block}.au-v2-module-card small{margin-top:3px;color:#64748b;line-height:1.35}.au-v2-module-card em{margin-top:7px;color:#7c4c00;font-size:.72rem;font-style:normal;font-weight:700}.au-v2-module-card input{width:42px;height:24px;accent-color:#2553a8}.au-v2-module-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef4ff;color:#2553a8}.au-v2-module-icon svg{width:21px;height:21px}.au-v2-callout{display:flex;gap:12px;padding:14px 16px;border-radius:14px;background:#fff8e8;border:1px solid #f5d99d;color:#744b00}.au-v2-callout strong{white-space:nowrap}.au-v2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.au-v2-metrics article{padding:16px 18px;border-radius:15px;background:#fff;border:1px solid var(--au-border,#e2e8f0)}.au-v2-metrics span,.au-v2-metrics small{display:block;color:#64748b;font-size:.78rem}.au-v2-metrics strong{display:block;margin-top:5px;font-size:1.55rem;letter-spacing:-.04em}.au-v2-link-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.au-v2-link-grid>a{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-areas:'icon title' 'icon copy' 'icon action';column-gap:13px;padding:18px;border:1px solid var(--au-border,#e1e7ef);border-radius:16px;background:#fff;color:inherit;text-decoration:none;transition:.16s ease}.au-v2-link-grid>a:hover{border-color:#8dacdf;box-shadow:0 10px 28px rgba(31,61,112,.09);transform:translateY(-1px)}.au-v2-link-grid>a>span{grid-area:icon;display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#edf4ff;color:#2553a8}.au-v2-link-grid>a strong{grid-area:title}.au-v2-link-grid>a small{grid-area:copy;margin-top:3px;color:#64748b;line-height:1.35}.au-v2-link-grid>a em{grid-area:action;margin-top:10px;color:#2553a8;font-size:.78rem;font-weight:800;font-style:normal}.au-v2-list{display:grid;overflow:hidden;border:1px solid var(--au-border,#e1e7ef);border-radius:17px;background:#fff}.au-v2-list>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 19px;border-bottom:1px solid #e8edf4}.au-v2-list>header h2{margin:0;font-size:1.05rem}.au-v2-list>article{display:flex;align-items:center;gap:14px;min-width:0;padding:14px 18px;border-bottom:1px solid #edf1f6}.au-v2-list>article:last-child{border-bottom:0}.au-v2-list article>div{min-width:0;flex:1}.au-v2-list article strong,.au-v2-list article small{display:block}.au-v2-list article small{margin-top:3px;color:#64748b;white-space:normal}.au-v2-list article>a{font-weight:800;color:#2553a8;text-decoration:none;white-space:nowrap}.au-v2-order,.au-v2-date{display:grid;place-items:center;flex:0 0 42px;min-height:42px;border-radius:11px;background:#f1f5f9;color:#334155;font-weight:850}.au-v2-date small{margin:0!important;font-size:.63rem;text-transform:uppercase}.au-v2-status{display:inline-flex;align-items:center;justify-content:center;min-height:26px;padding:3px 9px;border-radius:999px;background:#f1f5f9;color:#475569;font-size:.72rem;font-weight:850;white-space:nowrap}.au-v2-status.is-active,.au-v2-status.is-complete{background:#e8f7ee;color:#187143}.au-v2-status.is-inactive,.au-v2-status.is-archived{background:#eef1f5;color:#64748b}.au-v2-status.is-paused,.au-v2-status.is-draft{background:#fff3d9;color:#865d00}.au-v2-profile{padding:22px;border:1px solid var(--au-border,#e1e7ef);border-radius:18px;background:#fff}.au-v2-profile-head{display:flex;align-items:center;gap:14px}.au-v2-profile-head .au-profile-avatar{width:52px;height:52px;font-size:1rem}.au-v2-profile-head>div{flex:1}.au-v2-profile-head h2,.au-v2-profile-head p{margin:0}.au-v2-profile-head p{margin-top:3px;color:#64748b}.au-v2-tabs{display:flex;gap:6px;overflow:auto;margin:20px 0;padding:4px;border-radius:12px;background:#f2f5f9}.au-v2-tabs a{padding:8px 12px;border-radius:9px;color:#475569;text-decoration:none;font-size:.82rem;font-weight:800;white-space:nowrap}.au-v2-tabs a.active{background:#fff;color:#214f9e;box-shadow:0 2px 8px rgba(23,45,82,.08)}.au-v2-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0 0 20px;overflow:hidden;border:1px solid #e5eaf1;border-radius:14px;background:#e5eaf1}.au-v2-detail-grid div{padding:15px;background:#fff}.au-v2-detail-grid dt{color:#64748b;font-size:.75rem}.au-v2-detail-grid dd{margin:5px 0 0;font-weight:750}.au-v2-space-grid,.au-v2-table-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.au-v2-space-grid article,.au-v2-table-grid article{overflow:hidden;border:1px solid #e1e7ef;border-radius:17px;background:#fff}.au-v2-space-grid article>div:not(.au-v2-space-visual){padding:15px 17px}.au-v2-space-grid h3,.au-v2-table-grid h3{margin:0}.au-v2-space-grid p,.au-v2-table-grid p{margin:4px 0 10px;color:#64748b}.au-v2-space-visual{display:flex;align-items:flex-end;justify-content:space-between;min-height:92px;padding:15px;background:linear-gradient(135deg,#214f9e,#427ad1);color:#fff}.au-v2-space-visual svg{width:28px;height:28px}.au-v2-space-visual span{font-weight:800}.au-v2-space-grid .au-v2-actions{justify-content:flex-start;padding-top:0!important}.au-v2-space-grid a,.au-v2-table-grid a{color:#2553a8;font-size:.78rem;font-weight:800;text-decoration:none}.au-v2-table-grid article{padding:16px}.au-v2-table-grid article>div{display:flex;align-items:center;justify-content:space-between}.au-v2-table-number{font-weight:850}.au-v2-table-grid ul{display:flex;flex-wrap:wrap;gap:5px;min-height:23px;margin:0 0 13px;padding:0;list-style:none}.au-v2-table-grid li{padding:3px 7px;border-radius:999px;background:#eef4ff;color:#315b9c;font-size:.68rem;font-weight:750}.au-v2-hours-copy{display:grid;grid-template-columns:1.5fr repeat(2,minmax(110px,.6fr));gap:12px;align-items:end;padding:18px;border:1px solid #dfe6ef;border-radius:16px;background:#fff}.au-v2-hours-copy>div strong,.au-v2-hours-copy>div small{display:block}.au-v2-hours-copy>div small{margin-top:3px;color:#64748b}.au-v2-hours-copy fieldset{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;border:0}.au-v2-hours-copy fieldset label{padding:6px 9px;border-radius:8px;background:#f1f5f9;font-size:.75rem}.au-v2-week{display:grid;gap:8px}.au-v2-week article{display:grid;grid-template-columns:180px 1fr;align-items:center;padding:12px 15px;border:1px solid #e3e8ef;border-radius:13px;background:#fff}.au-v2-week header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-right:18px}.au-v2-week header label{font-size:.72rem;color:#64748b}.au-v2-week article>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.au-v2-week label{font-size:.7rem;font-weight:700}.au-v2-week input{margin-top:4px}.au-v2-public-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:22px;align-items:start}.au-v2-form-card{display:grid;gap:14px;padding:20px;border:1px solid #e1e7ef;border-radius:17px;background:#fff}.au-v2-form-card h2{margin:0}.au-v2-form-grid,.au-v2-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.au-v2-phone-preview{position:sticky;top:90px;padding:14px;border-radius:25px;background:#15243c;color:#fff;box-shadow:0 18px 44px rgba(15,30,54,.18)}.au-v2-phone-preview>span{display:block;margin-bottom:10px;text-align:center;font-size:.72rem;color:#b8c5d8}.au-v2-phone-preview>div{overflow:hidden;min-height:500px;padding-bottom:20px;border-radius:17px;background:#fff;color:#15243c}.au-v2-phone-preview img{width:100%;height:170px;object-fit:cover}.au-v2-phone-preview strong,.au-v2-phone-preview p{display:block;margin:16px 18px 0}.au-v2-phone-preview p{margin-top:5px;color:#64748b}.au-v2-phone-preview button{display:block;width:calc(100% - 36px);margin:13px 18px 0;padding:10px;border:0;border-radius:9px;background:#2553a8;color:#fff;font-weight:800}.au-v2-two-column{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:16px;align-items:start}.au-v2-advanced{margin-top:14px;padding:14px 16px;border:1px dashed #cfd8e5;border-radius:12px;color:#64748b}.au-v2-advanced summary{font-weight:800;color:#475569;cursor:pointer}
@media(max-width:980px){.au-v2-link-grid,.au-v2-space-grid,.au-v2-table-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.au-v2-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.au-v2-public-layout,.au-v2-two-column{grid-template-columns:1fr}.au-v2-phone-preview{position:static;max-width:340px}.au-v2-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.au-v2-intro{align-items:flex-start;flex-direction:column;padding:17px}.au-v2-intro .au-button{width:100%}.au-v2-module-grid,.au-v2-link-grid,.au-v2-space-grid,.au-v2-table-grid,.au-v2-metrics,.au-v2-form-grid,.au-v2-upload-grid,.au-v2-detail-grid{grid-template-columns:1fr}.au-v2-module-card{grid-template-columns:38px minmax(0,1fr) auto;padding:14px}.au-v2-callout{display:grid}.au-v2-list>article{align-items:flex-start;flex-wrap:wrap;padding:13px}.au-v2-list article>div{flex-basis:calc(100% - 58px)}.au-v2-list article>a,.au-v2-list article>form{margin-left:56px}.au-v2-status{margin-left:auto}.au-v2-week article{grid-template-columns:1fr;gap:10px}.au-v2-week header{padding:0}.au-v2-week article>div{grid-template-columns:repeat(2,minmax(0,1fr))}.au-v2-hours-copy{grid-template-columns:repeat(2,minmax(0,1fr))}.au-v2-hours-copy>div{grid-column:1/-1}.au-v2-public-layout{gap:14px}.au-v2-phone-preview{display:none}.au-v2-actions{flex-wrap:wrap}.au-v2-actions .au-button{flex:1}.au-v2-tabs{margin-block:12px}.au-v2-profile{padding:15px}}
.au-v2-product-media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}.au-v2-product-media-grid article{overflow:hidden;border:1px solid #e1e7ef;border-radius:15px;background:#fff}.au-v2-product-media-grid article>div:last-child{display:grid;gap:5px;padding:13px}.au-v2-product-media-grid small{color:#64748b}.au-v2-product-media-grid a{color:#2553a8;font-size:.78rem;font-weight:800;text-decoration:none}.au-v2-product-image{display:grid;place-items:center;aspect-ratio:4/3;background:#f1f5f9;color:#64748b}.au-v2-product-image img{width:100%;height:100%;object-fit:cover}@media(max-width:900px){.au-v2-product-media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.au-v2-product-media-grid{grid-template-columns:1fr}}

.au-customer-rating-dialog{width:min(600px,calc(100vw - 32px));max-width:600px;margin:auto;padding:0;color:var(--au-text-primary);background:var(--au-surface);border:1px solid var(--au-border);border-radius:18px;box-shadow:0 24px 70px rgba(8,29,51,.24)}.au-customer-rating-dialog::backdrop{background:rgba(8,29,51,.48);backdrop-filter:blur(2px)}.au-customer-rating-dialog form{display:grid;gap:18px;padding:22px}.au-customer-rating-dialog header,.au-customer-rating-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:14px}.au-customer-rating-dialog h2,.au-customer-rating-dialog p{margin:0}.au-customer-rating-dialog footer{justify-content:flex-end;padding-top:2px}.au-dialog-close{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;color:var(--au-text-secondary);background:var(--au-surface-subtle);border:0;border-radius:12px;font-size:1.6rem;line-height:1;cursor:pointer}.au-dialog-close:focus-visible,.au-star-rating input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--au-focus) 32%,transparent);outline-offset:3px}.au-rating-fieldset{display:grid;gap:12px;margin:0;padding:16px;border:1px solid var(--au-border);border-radius:14px;background:var(--au-surface-subtle)}.au-rating-fieldset legend{padding:0 5px;font-weight:750}.au-star-rating{display:flex;align-items:center;justify-content:center;gap:4px;direction:rtl}.au-star-rating label{position:relative;display:grid;place-items:center;width:48px;height:48px;cursor:pointer}.au-star-rating input{position:absolute;opacity:0;pointer-events:none}.au-star-rating span{display:grid;place-items:center;width:44px;height:44px;color:#a8b5c1;border-radius:10px;font-size:2rem;line-height:1;transition:color .15s ease,transform .15s ease,background .15s ease}.au-star-rating label:hover span,.au-star-rating label:hover~label span,.au-star-rating input:checked+span,.au-star-rating label:has(input:checked)~label span{color:#f2a51a;background:#fff8e8;transform:translateY(-1px)}.au-rating-label{color:var(--au-brand-navy);text-align:center}.au-inline-toast{position:fixed;right:24px;bottom:24px;z-index:100;padding:13px 17px;color:#fff;background:var(--au-success);border-radius:12px;box-shadow:0 12px 32px rgba(8,29,51,.2);font-weight:750}.customer-detail-layout{grid-template-columns:1fr}.customer-review>p:empty{display:none}
@media(max-width:620px){.au-customer-rating-dialog{width:100%;max-width:none;margin:auto 0 0;border-radius:20px 20px 0 0}.au-customer-rating-dialog form{padding:18px 16px calc(18px + env(safe-area-inset-bottom))}.au-customer-rating-dialog footer{display:grid;grid-template-columns:auto minmax(0,1fr)}.au-star-rating{gap:0}.au-star-rating label{width:52px;height:52px}.au-inline-toast{right:16px;bottom:calc(var(--au-bottom-nav-height) + env(safe-area-inset-bottom) + 16px);left:16px;text-align:center}}
@media(max-width:920px){.customer-profile .table-wrap{overflow:visible}.customer-profile .table-wrap table,.customer-profile .table-wrap tbody,.customer-profile .table-wrap tr{display:grid;width:100%;min-width:0}.customer-profile .table-wrap thead{display:none}.customer-profile .table-wrap tr{gap:0;margin-bottom:10px;padding:8px 12px;background:var(--au-surface-subtle);border:1px solid var(--au-border);border-radius:12px}.customer-profile .table-wrap td{display:grid;grid-template-columns:108px minmax(0,1fr);gap:10px;width:100%;padding:7px 0;border:0}.customer-profile .table-wrap td::before{color:var(--au-text-secondary);font-size:.72rem;font-weight:750}.customer-profile .table-wrap td:nth-child(1)::before{content:'Fecha'}.customer-profile .table-wrap td:nth-child(2)::before{content:'Hora'}.customer-profile .table-wrap td:nth-child(3)::before{content:'Cliente'}.customer-profile .table-wrap td:nth-child(4)::before{content:'Personas'}.customer-profile .table-wrap td:nth-child(5)::before{content:'Mesa'}.customer-profile .table-wrap td:nth-child(6)::before{content:'Estado'}.customer-profile .table-wrap td.row-actions::before{content:'Acciones'}.customer-profile .table-wrap td.empty{display:block}.customer-profile .table-wrap td.empty::before{content:none}}

.au-v2-tabs>span{padding:8px 12px;border-radius:9px;color:#475569;font-size:.82rem;font-weight:800;white-space:nowrap}.au-v2-tabs>span.active{background:#fff;color:#214f9e;box-shadow:0 2px 8px rgba(23,45,82,.08)}.au-v2-module-card.is-summary{cursor:default}.au-v2-phone-preview button:disabled{cursor:default;opacity:.72}

.au-promotion-form{display:grid;gap:14px;max-width:1040px}.au-promotion-form__header{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:4px 2px 8px}.au-promotion-form__header h2,.au-promotion-form__header p{margin:0}.au-promotion-form__header h2{margin-top:3px}.au-promotion-form__header p:last-child{margin-top:5px;color:var(--au-text-secondary)}.au-form-section{display:grid;gap:14px;padding:18px 20px;background:var(--au-surface);border:1px solid var(--au-border);border-radius:16px}.au-form-section>header{display:flex;align-items:flex-start;gap:12px}.au-form-section>header>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;color:#fff;background:var(--au-brand-navy);border-radius:9px;font-size:.75rem;font-weight:850}.au-form-section>header>div{min-width:0;flex:1}.au-form-section>header h3,.au-form-section>header p{margin:0}.au-form-section>header h3{font-size:1rem}.au-form-section>header p{margin-top:2px;color:var(--au-text-secondary);font-size:.8rem}.au-v2-form-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}.au-selection-count{align-self:center;padding:5px 9px;color:var(--au-brand-primary-dark);background:#e8f9f8;border-radius:999px;font-size:.75rem;white-space:nowrap}.au-toggle-card--compact{min-height:60px;padding:10px 13px}.au-product-picker-tools{display:grid;grid-template-columns:minmax(190px,1fr) minmax(170px,.7fr) auto;align-items:end;gap:10px}.au-product-picker-tools .au-v2-actions{padding-bottom:1px}.au-product-picker-tools .au-button{min-height:46px}.au-product-picker-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:310px;overflow:auto;border:1px solid var(--au-border);border-radius:13px}.au-product-picker-list>label{display:flex;align-items:center;gap:10px;min-height:56px;padding:9px 12px;border-bottom:1px solid var(--au-border);cursor:pointer}.au-product-picker-list>label:nth-child(odd){border-right:1px solid var(--au-border)}.au-product-picker-list>label:has(input:checked){background:#f0fbfa}.au-product-picker-list input{width:20px;height:20px;accent-color:var(--au-brand-primary-dark)}.au-product-picker-list span,.au-product-picker-list strong,.au-product-picker-list small{display:block}.au-product-picker-list span{min-width:0}.au-product-picker-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.84rem}.au-product-picker-list small{margin-top:2px;color:var(--au-text-secondary);font-size:.72rem}.au-channel-options{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0;padding:0;border:0}.au-channel-options legend{margin-bottom:8px;font-weight:750}.au-channel-options label{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 11px;background:var(--au-surface-subtle);border:1px solid var(--au-border);border-radius:10px}.au-channel-options input{width:19px;height:19px}.au-promotion-form__footer{display:flex;justify-content:flex-end;gap:10px;padding:6px 0 18px}
.au-coupon-entry{display:grid;gap:6px;margin:14px 0;padding-top:14px;border-top:1px solid var(--au-border)}.au-coupon-entry label{font-size:.78rem;font-weight:750}.au-coupon-entry label>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:6px}.au-coupon-entry input{min-width:0;height:44px;text-transform:uppercase}.au-coupon-entry button{min-height:44px}.au-coupon-message{display:block;font-size:.74rem}.au-coupon-message.is-error{color:var(--au-danger)}.au-coupon-message.is-success{color:var(--au-success);font-weight:750}
@media(max-width:860px){.au-v2-form-grid--three,.au-product-picker-tools{grid-template-columns:1fr 1fr}.au-product-picker-tools .au-v2-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:620px){.au-promotion-form{gap:10px}.au-promotion-form__header{display:grid;gap:14px}.au-promotion-form__header .au-v2-actions{display:none}.au-form-section{padding:15px}.au-v2-form-grid--three,.au-product-picker-tools,.au-product-picker-list{grid-template-columns:1fr}.au-product-picker-list>label:nth-child(odd){border-right:0}.au-product-picker-tools .au-v2-actions{display:grid;grid-template-columns:1fr 1fr}.au-product-picker-tools .au-button{white-space:normal}.au-form-section>header{display:grid;grid-template-columns:30px minmax(0,1fr)}.au-selection-count{grid-column:2;margin:2px 0 0;justify-self:start}.au-promotion-form__footer{position:static;padding:10px;background:rgba(255,255,255,.96);border:1px solid var(--au-border);border-radius:14px}.au-promotion-form__footer .au-button{flex:1}}

/* --------------------------------------------------------------------------
   AUTANA VISUAL SYSTEM V1 · propuesta 3
   Structural contracts below are consumed by the real application routes.
   They intentionally do not reuse the legacy .app-shell/.sidebar/.topbar
   selectors so only migrated markup receives the new architecture.
   -------------------------------------------------------------------------- */
:root {
    --au-background: #f3f7fa;
    --au-surface: #ffffff;
    --au-surface-subtle: #eef4f8;
    --au-text-primary: #0b1d33;
    --au-text-secondary: #61738a;
    --au-border: #dce5ed;
    --au-brand-primary: #00bfcf;
    --au-brand-primary-dark: #087e91;
    --au-brand-navy: #081d33;
    --au-focus: #0867e8;
    --au-success: #218a58;
    --au-warning: #d98a12;
    --au-danger: #d64545;
    --au-info: #2878c8;
    --au-sidebar-width: 184px;
    --au-header-height: 68px;
    --au-bottom-nav-height: 72px;
    --au-radius-control: 11px;
    --au-radius-card: 15px;
    --au-shadow-soft: 0 8px 28px rgba(16, 43, 50, 0.06);
}

body.autana-backoffice {
    margin: 0;
    color: var(--au-text-primary);
    background: var(--au-background);
    font-size: 15px;
    line-height: 1.45;
}

.au-app-shell {
    display: grid;
    grid-template-columns: var(--au-sidebar-width) minmax(0, 1fr);
    min-height: 100dvh;
}

.au-app-shell--flow .au-sidebar-brand--context { display: none; }
.au-app-shell--flow .au-sidebar { grid-template-rows: auto minmax(0, 1fr) auto; padding: 18px 10px 12px; }
.au-app-shell--flow .au-location-switcher > summary { grid-template-columns: 32px minmax(0,1fr) 14px; min-height: 54px; padding: 7px; }
.au-app-shell--flow .au-location-logo { width: 32px; height: 32px; border-radius: 8px; }
.au-app-shell--flow .au-sidebar-nav > a,
.au-app-shell--flow .au-sidebar-nav .au-sidebar-group > summary { min-height: 39px; padding: 8px 9px; font-size: .78rem; }
.au-app-shell--flow .au-sidebar-nav .au-sidebar-group > a { margin-left: 10px; padding-inline: 9px 5px; font-size: .75rem; }
.au-app-shell--flow .au-sidebar-footer { display: none; }
.au-app-shell--flow .au-main { padding-inline: clamp(18px, 2.2vw, 34px); }
.au-app-shell--flow .au-app-header { inset-inline-start: var(--au-sidebar-width); padding-inline: clamp(18px, 2.2vw, 34px); }

.au-sidebar {
    position: sticky;
    top: 0;
    z-index: 40;
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 14px;
    width: var(--au-sidebar-width);
    height: 100dvh;
    padding: 18px 14px 14px;
    overflow: hidden;
    color: var(--au-text-primary);
    background: #fff;
    border-right: 1px solid var(--au-border);
    box-shadow: 10px 0 30px rgba(16, 43, 50, 0.035);
}

.au-sidebar-brand {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 48px;
    padding: 4px 8px;
    color: var(--au-text-primary);
    text-decoration: none;
    border-radius: var(--au-radius-control);
}

.au-sidebar-brand .brand-logo {
    width: 34px;
    height: 34px;
    flex: 0 0 auto;
    border-radius: 10px;
}

.au-sidebar-brand .brand-copy,
.au-sidebar-footer > span:last-child,
.au-location-switcher summary > span:nth-child(2) {
    display: grid;
    min-width: 0;
}

.au-sidebar-brand strong { color: var(--au-text-primary); font-size: 1.03rem; letter-spacing: -0.01em; }
.au-sidebar-brand small,
.au-sidebar-footer small { color: var(--au-text-secondary); font-size: 0.76rem; }

.au-location-switcher {
    position: relative;
    margin: 0;
}

.au-location-switcher > summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 18px;
    gap: 10px;
    align-items: center;
    min-height: 58px;
    padding: 8px;
    cursor: pointer;
    list-style: none;
    background: var(--au-surface-subtle);
    border: 1px solid transparent;
    border-radius: 13px;
}

.au-location-switcher > summary::-webkit-details-marker,
.au-sidebar-group > summary::-webkit-details-marker,
.au-profile-menu > summary::-webkit-details-marker { display: none; }

.au-location-switcher > summary:hover,
.au-location-switcher > summary:focus-visible {
    border-color: color-mix(in srgb, var(--au-brand-primary) 45%, var(--au-border));
    outline: none;
}

.au-location-switcher summary small {
    color: var(--au-text-secondary);
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}

.au-location-switcher summary strong {
    overflow: hidden;
    font-size: 0.82rem;
    line-height: 1.15;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.au-location-switcher summary > svg { width: 16px; transition: rotate 160ms ease; }
.au-location-switcher[open] summary > svg { rotate: 90deg; }
.au-location-logo { display: grid; place-items: center; width: 38px; height: 38px; overflow: hidden; background: #fff; border-radius: 10px; }
.au-location-logo img { width: 100%; height: 100%; object-fit: cover; }

.au-location-panel {
    position: absolute;
    inset: calc(100% + 6px) 0 auto;
    z-index: 20;
    display: grid;
    gap: 6px;
    padding: 12px;
    background: #fff;
    border: 1px solid var(--au-border);
    border-radius: 12px;
    box-shadow: var(--au-shadow-soft);
}

.au-location-panel span { color: var(--au-text-secondary); font-size: 0.74rem; }
.au-location-panel a { color: var(--au-brand-primary-dark); font-size: 0.78rem; font-weight: 800; text-decoration: none; }

.au-sidebar-nav {
    display: grid;
    align-content: start;
    gap: 4px;
    min-height: 0;
    padding: 2px;
    overflow: hidden auto;
    scrollbar-width: thin;
}

.au-sidebar-nav .nav-group-label {
    margin: 10px 10px 3px;
    color: #7f9093;
    font-size: 0.67rem;
    font-weight: 850;
    text-transform: uppercase;
    letter-spacing: 0.09em;
}

.au-sidebar-nav > a,
.au-sidebar-nav .autana-sidebar-section > a,
.au-sidebar-nav .au-sidebar-group > a,
.au-sidebar-nav .autana-sidebar-section > summary,
.au-sidebar-nav .au-sidebar-group > summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 11px;
    color: #3d555a;
    font-size: 0.82rem;
    font-weight: 720;
    text-decoration: none;
    cursor: pointer;
    list-style: none;
    border-radius: 10px;
}

.au-sidebar-nav .autana-sidebar-section,
.au-sidebar-nav .au-sidebar-group { margin: 0; border: 0; background: transparent; }
.au-sidebar-nav .autana-sidebar-section > summary::after,
.au-sidebar-nav .au-sidebar-group > summary::after { content: "›"; margin-left: auto; color: #8ba0a3; font-size: 1.15rem; transition: rotate 160ms ease; }
.au-sidebar-nav .autana-sidebar-section[open] > summary::after,
.au-sidebar-nav .au-sidebar-group[open] > summary::after { rotate: 90deg; }
.au-sidebar-nav .autana-sidebar-section > a,
.au-sidebar-nav .au-sidebar-group > a { min-height: 38px; margin-left: 16px; padding-block: 7px; font-size: 0.78rem; }

.au-sidebar-nav a:hover,
.au-sidebar-nav summary:hover { color: var(--au-text-primary); background: #f3f7f7; }
.au-sidebar-nav a.active,
.au-sidebar-nav a[aria-current="page"] {
    position: relative;
    color: #075d58;
    background: #dff4f1;
}
.au-sidebar-nav a.active::before,
.au-sidebar-nav a[aria-current="page"]::before {
    content: "";
    position: absolute;
    inset: 9px auto 9px 3px;
    width: 3px;
    background: var(--au-brand-primary);
    border-radius: 999px;
}
.au-sidebar-nav svg { width: 18px; height: 18px; flex: 0 0 auto; }

.au-sidebar-footer {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    min-height: 54px;
    padding: 8px;
    border-top: 1px solid var(--au-border);
}
.au-sidebar-footer strong { overflow: hidden; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
.au-sidebar-close { display: none; }

.au-main {
    min-width: 0;
    padding: calc(var(--au-header-height) + 24px) clamp(20px, 3vw, 42px) 44px;
}

.au-app-header {
    position: fixed;
    inset: 0 0 auto var(--au-sidebar-width);
    z-index: 35;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-height: var(--au-header-height);
    padding: 8px clamp(20px, 3vw, 42px);
    background: rgba(255, 255, 255, 0.96);
    border-bottom: 1px solid var(--au-border);
    backdrop-filter: blur(14px);
}

.au-header-copy { display: grid; min-width: 0; }
.au-header-copy > p { display: none; }
.au-header-copy h1 { margin: 0; font-size: clamp(1.25rem, 1.8vw, 1.7rem); line-height: 1.1; letter-spacing: -0.025em; }
.au-header-copy > span { overflow: hidden; margin-top: 3px; color: var(--au-text-secondary); font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
.au-header-copy .autana-breadcrumb { display: none; }
.au-header-actions { display: flex; gap: 9px; align-items: center; }
.au-mobile-menu-toggle,
.au-mobile-brand { display: none; }

.au-business-state {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    padding: 0 10px;
    color: var(--au-success);
    font-size: 0.74rem;
    font-weight: 850;
    background: #e9f7ef;
    border-radius: 999px;
}
.au-business-state::before { content: ""; width: 7px; height: 7px; background: currentColor; border-radius: 50%; }
.au-business-state.is-closed { color: #a45c09; background: #fff4df; }

.au-icon-button {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    padding: 0;
    color: var(--au-text-primary);
    background: #fff;
    border: 1px solid var(--au-border);
    border-radius: 12px;
}
.au-icon-button svg { width: 19px; }

.au-profile-menu { position: relative; }
.au-profile-menu > summary {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 44px;
    padding: 4px 8px 4px 5px;
    list-style: none;
    cursor: pointer;
    border: 1px solid var(--au-border);
    border-radius: 12px;
}
.au-profile-menu > summary > span:nth-child(2) { max-width: 140px; overflow: hidden; font-size: 0.78rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.au-profile-menu > summary > svg { width: 14px; }
.au-profile-avatar { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; color: #fff; background: var(--au-brand-navy); border-radius: 10px; font-size: 0.7rem; font-weight: 900; }
.au-profile-menu > div {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    display: grid;
    gap: 4px;
    width: 220px;
    padding: 14px;
    background: #fff;
    border: 1px solid var(--au-border);
    border-radius: 13px;
    box-shadow: var(--au-shadow-soft);
}
.au-profile-menu > div small { margin-bottom: 6px; color: var(--au-text-secondary); }
.au-profile-menu > div a,
.au-profile-menu > div button { justify-content: flex-start; min-height: 40px; padding: 8px; color: var(--au-text-primary); font: inherit; font-size: 0.8rem; font-weight: 750; text-decoration: none; background: transparent; border: 0; border-radius: 8px; }
.au-profile-menu > div a:hover,
.au-profile-menu > div button:hover { background: var(--au-surface-subtle); }

.au-page-actions {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    align-items: center;
    max-width: 1440px;
    margin: 0 auto 18px;
}
.au-page-actions--primary { justify-content: flex-end; }

.au-bottom-nav { display: none; }

/* Shared operational surfaces */
.au-workspace,
.au-surface {
    max-width: 1440px;
    margin-inline: auto;
    background: #fff;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-card);
    box-shadow: var(--au-shadow-soft);
}

.au-workspace-header,
.au-toolbar,
.au-section-heading {
    display: flex;
    gap: 14px;
    align-items: center;
    justify-content: space-between;
}
.au-workspace-header { padding: 18px 20px; border-bottom: 1px solid var(--au-border); }
.au-workspace-header h2,
.au-workspace-header h3,
.au-workspace-header p { margin: 0; }
.au-workspace-header p { margin-top: 3px; color: var(--au-text-secondary); font-size: 0.85rem; }
.au-toolbar { padding: 12px 16px; background: #fbfcfc; border-bottom: 1px solid var(--au-border); }
.au-tabs { display: flex; gap: 4px; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.au-tabs a {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    min-height: 40px;
    padding: 0 12px;
    white-space: nowrap;
    color: var(--au-text-secondary);
    font-size: 0.78rem;
    font-weight: 800;
    text-decoration: none;
    border-radius: 9px;
}
.au-tabs a.active { color: #075d58; background: #dff4f1; }
.au-tabs a strong { min-width: 22px; padding: 2px 6px; color: inherit; text-align: center; background: rgba(255,255,255,.8); border-radius: 999px; }
.au-search { position: relative; min-width: min(280px, 35vw); }
.au-search input { width: 100%; min-height: 48px; padding-left: 40px; background: #fff; }
.au-search svg { position: absolute; top: 12px; left: 13px; width: 18px; color: var(--au-text-secondary); pointer-events: none; }

.au-list { display: grid; }
.au-list-row {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(92px, .55fr)) auto;
    gap: 16px;
    align-items: center;
    min-height: 74px;
    padding: 12px 18px;
    color: var(--au-text-primary);
    text-decoration: none;
    border-bottom: 1px solid #e9efee;
}
.au-list-row:last-child { border-bottom: 0; }
.au-list-row:hover { background: #f8fbfa; }
.au-list-row strong,
.au-list-row small { display: block; }
.au-list-row small { margin-top: 3px; color: var(--au-text-secondary); font-size: 0.76rem; }
.au-list-row > svg { width: 18px; color: #8aa0a3; }

.au-state-chip {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 28px;
    padding: 3px 9px;
    color: #536568;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 850;
    background: #edf2f2;
    border-radius: 999px;
}
.au-state-chip.pending,
.au-state-chip.sent_to_business { color: #995b00; background: #fff1d5; }
.au-state-chip.preparing,
.au-state-chip.in_preparation { color: #1e62a8; background: #e8f2ff; }
.au-state-chip.ready { color: #08766f; background: #dcf5f1; }
.au-state-chip.completed,
.au-state-chip.available,
.au-state-chip.confirmed { color: #187545; background: #e6f6ed; }
.au-state-chip.cancelled,
.au-state-chip.failed { color: #b52e2e; background: #ffeaea; }

.au-empty {
    display: grid;
    place-items: center;
    min-height: 220px;
    padding: 32px;
    text-align: center;
}
.au-empty strong { font-size: 1rem; }
.au-empty span { max-width: 440px; margin-top: 5px; color: var(--au-text-secondary); }

.au-file-control {
    display: grid;
    gap: 5px;
    min-height: 98px;
    padding: 16px;
    cursor: pointer;
    background: linear-gradient(135deg, #f1fbfd, #f5f8ff);
    border: 1px dashed #84cbd5;
    border-radius: 13px;
}
.au-file-control strong { color: var(--au-text-primary); font-size: .84rem; }
.au-file-control small { color: var(--au-text-secondary); font-size: .72rem; }
.au-file-control input[type="file"] { width: 100%; padding: 8px; background: #fff; border: 1px solid var(--au-border); border-radius: 9px; }
.product-gallery-preview > label { display: grid; gap: 5px; padding: 7px; background: #fff; border: 1px solid var(--au-border); border-radius: 11px; }
.product-gallery-preview > label span,
.product-gallery-preview > label small { color: var(--au-text-secondary); font-size: .7rem; }

@media (max-width: 920px) {
    :root { --au-header-height: 70px; }
    body[data-panel="restaurant"] .au-main { padding-bottom: calc(var(--au-bottom-nav-height) + env(safe-area-inset-bottom) + 24px); }
    body[data-panel="restaurant"] .au-bottom-nav {
        position: fixed;
        inset: auto 0 0;
        z-index: 50;
        display: grid;
        grid-template-columns: repeat(var(--au-mobile-nav-count, 5), minmax(0, 1fr));
        min-height: calc(var(--au-bottom-nav-height) + env(safe-area-inset-bottom));
        padding: 7px 6px max(7px, env(safe-area-inset-bottom));
        background: rgba(255,255,255,.98);
        border-top: 1px solid var(--au-border);
        box-shadow: 0 -8px 24px rgba(16,43,50,.07);
    }
    .au-v2-form-card fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; border: 1px solid var(--au-border); border-radius: 12px; }
    .au-v2-form-card fieldset legend { grid-column: 1 / -1; padding-inline: 5px; }
    .au-v2-form-card fieldset label { display: flex; align-items: center; gap: 8px; }
    .au-v2-form-card fieldset input[type="checkbox"] { width: 20px; height: 20px; margin: 0; }
    .au-v2-public-layout form > .au-button { justify-self: start; width: auto; }
    .au-app-shell { display: block; }
    .au-sidebar {
        position: fixed;
        width: min(310px, 88vw);
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }
    .au-sidebar.is-open,
    .au-sidebar.is-mobile-open { transform: translateX(0); }
    .au-sidebar-close { position: absolute; top: 14px; right: 12px; display: grid; place-items: center; width: 42px; height: 42px; background: #fff; border: 1px solid var(--au-border); border-radius: 11px; }
    body.autana-mobile-app-business .au-sidebar { display: none; }
    .au-main { padding: calc(var(--au-header-height) + 16px) 16px 36px; }
    .au-app-header { inset-inline: 0; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; min-height: var(--au-header-height); padding: max(7px, env(safe-area-inset-top)) 16px 7px; }
    .au-app-shell--flow .au-app-header { inset-inline: 0; padding-inline: 16px; }
    .au-mobile-menu-toggle { display: grid; place-items: center; width: 46px; height: 46px; padding: 0; background: #fff; border: 1px solid var(--au-border); border-radius: 12px; }
    .au-mobile-menu-toggle svg { width: 20px; }
    body.autana-mobile-app-business .au-app-header { grid-template-columns: minmax(0,1fr) auto; }
    body.autana-mobile-app-business .au-mobile-menu-toggle { display: none; }
    .au-mobile-brand { display: flex; gap: 9px; align-items: center; min-width: 0; color: var(--au-text-primary); text-decoration: none; }
    .au-mobile-brand img { width: 34px; height: 34px; flex: 0 0 auto; border-radius: 10px; }
    .au-mobile-brand span { display: grid; min-width: 0; }
    .au-mobile-brand strong { font-size: 0.86rem; }
    .au-mobile-brand small { overflow: hidden; color: var(--au-text-secondary); font-size: 0.67rem; text-overflow: ellipsis; white-space: nowrap; }
    .au-header-copy { min-width: 0; }
    .au-header-copy h1 { font-size: 1.02rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .au-header-copy > span { display: none; }
    body[data-panel="restaurant"] .au-header-copy { display: none; }
    .au-header-actions { gap: 6px; }
    .au-profile-menu > summary { width: 44px; padding: 4px; border: 0; }
    .au-profile-menu > summary > span:nth-child(2),
    .au-profile-menu > summary > svg { display: none; }
    .au-business-state { min-height: 28px; padding-inline: 8px; font-size: 0.67rem; }
    .au-page-actions { align-items: stretch; margin-bottom: 12px; }
    .au-page-actions > div:empty { display: none; }
    .au-page-actions .header-actions { display: flex; width: 100%; overflow-x: auto; }
    body.autana-mobile-app-business .au-page-actions { display: none; }
    body.autana-mobile-app-business .au-main { padding: calc(var(--au-header-height) + 12px) 12px calc(var(--au-bottom-nav-height) + env(safe-area-inset-bottom) + 24px); }
    body.autana-mobile-app-business .au-bottom-nav {
        position: fixed;
        inset: auto 0 0;
        z-index: 50;
        display: grid;
        grid-template-columns: repeat(var(--au-mobile-nav-count, 5), minmax(0, 1fr));
        min-height: calc(var(--au-bottom-nav-height) + env(safe-area-inset-bottom));
        padding: 7px 6px max(7px, env(safe-area-inset-bottom));
        background: rgba(255,255,255,.98);
        border-top: 1px solid var(--au-border);
        box-shadow: 0 -8px 24px rgba(16,43,50,.07);
    }
    .au-bottom-nav a { display: grid; place-items: center; align-content: center; gap: 3px; min-width: 0; min-height: 54px; color: #708184; font-size: 0.66rem; font-weight: 800; text-decoration: none; border-radius: 11px; }
    .au-bottom-nav a svg { width: 20px; height: 20px; }
    .au-bottom-nav a.active { color: var(--au-brand-primary-dark); background: #e3f6f3; }
    .au-workspace-header { padding: 15px; }
    .au-toolbar { align-items: stretch; flex-direction: column; padding: 10px; }
    .au-tabs { flex-wrap: wrap; overflow-x: visible; }
    .au-search { min-width: 0; width: 100%; }
    .au-list-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; min-height: 78px; padding: 12px 14px; }
    .au-list-row > :nth-child(n+3):not(:last-child) { grid-column: 1 / -1; }
    .au-list-row > svg { grid-column: 2; grid-row: 1; }
}

/* Internal backoffice pages inherit the same compact workspace as their hubs. */
.autana-backoffice .au-settings-detail {
    display: grid;
    gap: 14px;
    max-width: 1180px;
    margin-inline: auto;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}
.autana-backoffice .au-settings-detail > :first-child { margin-top: 0; }
.autana-backoffice .au-settings-detail > :last-child { margin-bottom: 0; }
.autana-backoffice .au-settings-detail > form:not(.inline-form),
.autana-backoffice .au-settings-detail > .rrhh-card,
.autana-backoffice .au-settings-detail > .staff-list,
.autana-backoffice .au-settings-detail > .zone-list,
.autana-backoffice .au-settings-detail > .closure-list {
    padding: 18px 20px;
    background: var(--au-surface, #fff);
    border: 1px solid var(--au-border, #dbe5ec);
    border-radius: 16px;
    box-shadow: 0 8px 26px rgba(11, 34, 59, .045);
}
.autana-backoffice .au-settings-detail .rrhh-card,
.autana-backoffice .au-settings-detail .settings-card { min-height: 0; }
.autana-backoffice .au-settings-detail .form-actions {
    align-items: center;
    gap: 10px;
    margin-top: 4px;
}
.autana-backoffice .au-settings-detail .primary-button,
.autana-backoffice .au-settings-detail .ghost-button,
.autana-backoffice .au-settings-detail .danger-button { width: auto; }
.autana-backoffice .au-settings-detail .split-layout,
.autana-backoffice .au-settings-detail .rrhh-grid { align-items: start; gap: 14px; }
.autana-backoffice .au-settings-detail .panel-header { min-height: 0; }
.autana-backoffice .au-settings-detail .panel-header h2 { font-size: 1rem; }
.autana-backoffice .au-settings-detail .compact-list article { min-height: 58px; }

@media (max-width: 620px) {
    .autana-backoffice .au-settings-detail > form:not(.inline-form),
    .autana-backoffice .au-settings-detail > .rrhh-card,
    .autana-backoffice .au-settings-detail > .staff-list,
    .autana-backoffice .au-settings-detail > .zone-list,
    .autana-backoffice .au-settings-detail > .closure-list { padding: 14px; }
    .autana-backoffice .au-settings-detail .form-actions { flex-wrap: wrap; }
}

/* Approved reference layouts: shared compact surfaces. */
.au-settings-hub {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 18px;
    max-width: 1180px;
    margin-inline: auto;
}
.au-settings-group,
.au-printers-main,
.au-printers-help,
.au-closures-help,
.au-reservation-rules-summary {
    overflow: hidden;
    background: #fff;
    border: 1px solid var(--au-border);
    border-radius: 16px;
    box-shadow: var(--au-shadow-soft);
}
.au-settings-group > header { display: flex; align-items: center; gap: 10px; padding: 18px 20px 12px; color: #28527c; }
.au-settings-group > header svg { width: 22px; color: var(--au-brand-primary-dark); }
.au-settings-group > header h2 { margin: 0; font-size: .9rem; text-transform: uppercase; letter-spacing: .05em; }
.au-settings-group-row { display: grid; grid-template-columns: 44px minmax(0,1fr) 18px; gap: 12px; align-items: center; min-height: 78px; padding: 12px 18px; color: var(--au-text-primary); text-decoration: none; border-top: 1px solid var(--au-border); }
.au-settings-group-row:hover { background: #f7fbfc; }
.au-settings-group-row > span:nth-child(2) { display: grid; min-width: 0; }
.au-settings-group-row strong { font-size: .88rem; }
.au-settings-group-row small { margin-top: 3px; color: var(--au-text-secondary); font-size: .76rem; }
.au-settings-group-row > svg { width: 17px; color: #7690a8; }
.au-settings-group-icon { display: grid; place-items: center; width: 42px; height: 42px; color: #078aa0; background: #e9f8fa; border-radius: 11px; }
.au-settings-group-icon svg { width: 21px; }

.au-settings-detail { max-width: 1180px; margin-inline: auto; padding: 22px; }
.au-settings-detail > .panel-header:first-child { display: none; }
.au-settings-detail :where(input,select,textarea) { border-color: #d7e2ec; border-radius: 10px; box-shadow: none; }
.au-settings-detail :where(input,select) { min-height: 44px; }
.au-settings-detail textarea { min-height: 82px; }
.au-settings-detail .form-grid { gap: 14px; }
.au-settings-detail .primary-button:not(.compact) { width: auto; justify-self: end; min-height: 44px; padding-inline: 22px; }
.settings-section-bar { max-width: 1180px; margin-inline: auto; }
.settings-section-bar:last-of-type { display: none; }

.au-profile-business-form { max-width: 100%; grid-template-columns: repeat(2,minmax(0,1fr)); }
.au-profile-business-form .logo-upload { padding: 16px; background: #f7fafc; border: 1px solid var(--au-border); border-radius: 13px; }
.au-profile-business-form .form-actions { position: sticky; bottom: 0; z-index: 2; margin: 4px -22px -22px; padding: 14px 22px; background: rgba(255,255,255,.96); border-top: 1px solid var(--au-border); }

.au-waitlist-page { display: grid; gap: 16px; max-width: 1440px; margin-inline: auto; }
.au-waitlist-metrics { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; }
.au-waitlist-metrics article { display: flex; align-items: center; gap: 14px; min-height: 104px; padding: 18px; background: #fff; border: 1px solid var(--au-border); border-radius: 15px; box-shadow: var(--au-shadow-soft); }
.au-waitlist-metrics article > span { display: grid; place-items: center; width: 52px; height: 52px; color: #087e91; background: #edf8fa; border-radius: 50%; }
.au-waitlist-metrics svg { width: 25px; }
.au-waitlist-metrics div { display: grid; }
.au-waitlist-metrics small,.au-waitlist-metrics em { color: var(--au-text-secondary); font-size: .75rem; font-style: normal; }
.au-waitlist-metrics strong { font-size: 1.45rem; line-height: 1.15; }
.au-waitlist-layout { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 16px; align-items: start; }
.au-waitlist-list { min-width: 0; padding: 0; overflow: hidden; }
.au-waitlist-list .panel-header { padding: 18px 20px; border-bottom: 1px solid var(--au-border); }
.au-waitlist-list .table-wrap { margin: 0; border: 0; border-radius: 0; }
.au-waitlist-list table { min-width: 720px; }
.au-waitlist-list :where(th,td) { padding-block: 13px; }
.au-waitlist-form { position: sticky; top: calc(var(--au-header-height) + 16px); grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding: 20px; }
.au-waitlist-form .panel-header,.au-waitlist-form label:nth-of-type(n+4),.au-waitlist-form button { grid-column: 1/-1; }
.au-waitlist-form button { width: auto; justify-self: stretch; min-height: 44px; }

.au-centers-layout { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.8fr); gap: 18px; align-items: start; }
.au-centers-list,.au-center-create { padding: 20px; background: #fff; border: 1px solid var(--au-border); border-radius: 16px; box-shadow: var(--au-shadow-soft); }
.au-center-create { position: sticky; top: calc(var(--au-header-height) + 16px); }
.au-center-create .panel-header { grid-column: 1/-1; }
.au-center-create .edit-grid { display: grid; grid-column: 1/-1; gap: 12px; }
.au-center-create > button { justify-self: end; width: auto; }
.au-centers-list .center-list-row { display: grid; grid-template-columns: 46px minmax(0,1fr) auto; gap: 12px; align-items: center; min-height: 92px; padding: 14px; }
.au-centers-list .center-list-row > div { display: grid; }
.au-centers-list .center-list-row small { color: var(--au-text-secondary); }
.au-centers-list .center-edit-details { position: relative; }
.au-centers-list .center-edit-card { right: 0; min-width: 330px; }

.au-access-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 18px; }
.au-access-summary article { display: grid; min-height: 92px; padding: 16px 18px; background: #fff; border: 1px solid var(--au-border); border-radius: 14px; }
.au-access-summary small { color: var(--au-text-secondary); }
.au-access-summary strong { font-size: 1.55rem; }
.au-access-list { overflow: hidden; border: 1px solid var(--au-border); border-radius: 14px; }
.au-access-list .staff-row { min-height: 72px; padding: 13px 16px; border-bottom: 1px solid var(--au-border); }
.au-access-list .staff-row:last-child { border-bottom: 0; }

.au-confirmations-form { grid-template-columns: repeat(2,minmax(0,1fr)); }
.au-confirmation-channels { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; padding: 0; border: 0; }
.au-confirmation-channels legend { margin-bottom: 8px; font-weight: 800; }
.au-confirmation-channels label { cursor: pointer; }
.au-confirmation-channels input { position: absolute; opacity: 0; pointer-events: none; }
.au-confirmation-channels label > span { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 9px; color: #465b73; border: 1px solid var(--au-border); border-radius: 10px; }
.au-confirmation-channels input:checked + span { color: #087e91; background: #effafb; border-color: #0ba8b8; box-shadow: inset 0 -2px 0 #0ba8b8; }
.au-confirmation-channels svg { width: 18px; }
.au-confirmation-card { display: grid; gap: 20px; padding: 20px; border: 1px solid var(--au-border); border-radius: 15px; }
.au-confirmation-card > div { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 12px; align-items: center; }
.au-confirmation-card h3,.au-confirmation-card p { margin: 0; }
.au-confirmation-card p { margin-top: 3px; color: var(--au-text-secondary); font-size: .8rem; }
.au-reference-actions { justify-content: flex-end; padding-top: 14px; border-top: 1px solid var(--au-border); }

.au-reservation-rules-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.85fr); gap: 18px; align-items: stretch; }
.au-reservation-rules-form { align-content: start; }
.au-reservation-rules-form > label { display: grid; grid-template-columns: minmax(0,1fr) 240px; align-items: center; gap: 14px; padding: 16px 0; border-bottom: 1px solid var(--au-border); }
.au-reservation-rules-form > label select { margin: 0; }
.au-reservation-rules-summary { display: grid; align-content: start; gap: 14px; padding: 24px; }
.au-reservation-rules-summary h3,.au-reservation-rules-summary p { margin: 0; }
.au-rules-visual { display: grid; place-items: center; width: 118px; height: 118px; margin: 12px auto; color: #078a93; background: linear-gradient(135deg,#e6f8f5,#eef3ff); border-radius: 50%; }
.au-rules-visual svg { width: 56px; height: 56px; }
.au-reservation-rules-summary strong { color: #078a93; }

.au-printers-layout { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(300px,.72fr); gap: 18px; align-items: start; }
.au-printers-main { padding: 20px; }
.au-printers-main > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 16px; }
.au-printers-main > header h2,.au-printers-main > header p { margin: 0; }
.au-printers-main > header p { margin-top: 4px; color: var(--au-text-secondary); }
.au-printers-main .au-v2-list { box-shadow: none; }
.au-printer-empty,.au-closure-empty { min-height: 360px; }
.au-empty-icon { display: grid; place-items: center; width: 88px; height: 88px; color: #088d98; background: #e9f8f4; border-radius: 50%; }
.au-empty-icon svg { width: 42px; height: 42px; }
.au-printers-help { padding: 24px; }
.au-printers-help h2 { margin: 0 0 20px; }
.au-printers-help article { display: grid; grid-template-columns: 44px 28px minmax(0,1fr); gap: 12px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--au-border); }
.au-printers-help article:last-child { border-bottom: 0; }
.au-printers-help em { display: grid; place-items: center; width: 28px; height: 28px; color: #078a93; background: #e9f8f4; border-radius: 50%; font-size: .75rem; font-style: normal; font-weight: 850; }
.au-printers-help strong,.au-printers-help small { display: block; }
.au-printers-help small { margin-top: 4px; color: var(--au-text-secondary); }

.au-closures-page { display: grid; gap: 16px; max-width: 1280px; margin-inline: auto; }
.au-closures-heading { display: flex; justify-content: space-between; gap: 20px; align-items: flex-start; }
.au-closures-heading h2,.au-closures-heading p { margin: 0; }
.au-closures-heading h2 { margin: 2px 0 4px; }
.au-closures-heading p:last-child { color: var(--au-text-secondary); }
.au-closures-page .au-v2-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
.au-closures-layout { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 18px; align-items: start; }
.au-closures-help { padding: 22px; }
.au-closures-help h3 { margin: 0 0 14px; }
.au-closures-help article { display: grid; grid-template-columns: 44px minmax(0,1fr); gap: 12px; padding: 16px 0; border-bottom: 1px solid var(--au-border); }
.au-closures-help article:last-child { border-bottom: 0; }
.au-closures-help strong,.au-closures-help small { display: block; }
.au-closures-help small { margin-top: 4px; color: var(--au-text-secondary); }

@media (max-width: 1100px) {
    .au-waitlist-layout,.au-printers-layout,.au-closures-layout,.au-centers-layout,.au-reservation-rules-layout { grid-template-columns: 1fr; }
    .au-waitlist-form,.au-center-create { position: static; }
    .au-printers-help,.au-closures-help { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
    .au-printers-help h2,.au-closures-help h3 { grid-column: 1/-1; }
}

@media (max-width: 720px) {
    .au-settings-hub,.au-waitlist-metrics,.au-access-summary,.au-confirmations-form { grid-template-columns: 1fr; }
    .au-settings-detail { padding: 16px; }
    .au-profile-business-form { grid-template-columns: 1fr; }
    .au-profile-business-form .span-2 { grid-column: auto; }
    .au-profile-business-form .form-actions { position: static; margin: 0; padding: 12px 0 0; }
    .au-waitlist-metrics { gap: 9px; }
    .au-waitlist-metrics article { min-height: 82px; padding: 13px; }
    .au-waitlist-form { grid-template-columns: 1fr; }
    .au-waitlist-form > * { grid-column: 1 !important; }
    .au-centers-list .center-list-row { grid-template-columns: 42px minmax(0,1fr); }
    .au-centers-list .center-edit-details { grid-column: 2; }
    .au-confirmation-channels { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .au-confirmation-card,.au-reference-actions { grid-column: auto; }
    .au-reservation-rules-form > label { grid-template-columns: 1fr; }
    .au-printers-main > header,.au-closures-heading { align-items: stretch; flex-direction: column; }
    .au-printers-main > header .au-button,.au-closures-heading .au-button { width: 100%; }
    .au-printers-help,.au-closures-help { grid-template-columns: 1fr; }
    .au-printers-help h2,.au-closures-help h3 { grid-column: auto; }
}

@media (max-width: 520px) {
    .au-main { padding-inline: 12px; }
    .au-app-header { padding-inline: 12px; }
    .au-mobile-brand small { max-width: 116px; }
    .au-business-state { font-size: 0; width: 28px; padding: 0; justify-content: center; }
    .au-business-state::before { width: 9px; height: 9px; }
    .au-workspace { border-radius: 13px; }
}

/* Canonical product editor */
.product-editor-nav {
    display: flex;
    gap: 8px;
    margin: 0 0 16px;
    padding: 8px;
    overflow-x: auto;
    background: var(--au-surface, #fff);
    border: 1px solid var(--au-border, #dbe3e8);
    border-radius: 8px;
}

.product-editor-nav a,
.product-editor-nav button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 48px;
    padding: 0 14px;
    white-space: nowrap;
    color: var(--au-ink, #102b2a);
    font-weight: 700;
    text-decoration: none;
    border-radius: 6px;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.product-editor-nav a:hover,
.product-editor-nav a:focus-visible,
.product-editor-nav button:hover,
.product-editor-nav button:focus-visible,
.product-editor-nav button[aria-selected="true"] {
    background: var(--au-accent-soft, #e7f6f2);
    color: var(--au-accent, #08786f);
}

.au-product-editor [data-product-editor-panel][hidden] {
    display: none !important;
}

[data-product-editor-auxiliary][hidden] {
    display: none !important;
}

.product-media-editor {
    display: grid;
    grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
    gap: 18px;
}

.product-main-image-preview {
    display: grid;
    place-items: center;
    aspect-ratio: 4 / 3;
    min-height: 180px;
    overflow: hidden;
    color: #61706f;
    background: #eef3f4;
    border: 1px dashed #b9c8cc;
    border-radius: 8px;
}

.product-main-image-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-media-fields {
    display: grid;
    align-content: start;
    gap: 14px;
}

.product-gallery-preview,
.product-option-summary {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    overflow-x: auto;
}

.product-gallery-preview img {
    width: 92px;
    height: 72px;
    flex: 0 0 auto;
    object-fit: cover;
    border-radius: 6px;
}

.product-option-summary span {
    padding: 8px 12px;
    white-space: nowrap;
    background: #e7f6f2;
    border-radius: 999px;
}

@media (max-width: 720px) {
    .product-editor-nav {
        margin-inline: -4px;
    }

    .product-media-editor {
        grid-template-columns: 1fr;
    }

    .product-main-image-preview {
        min-height: 210px;
    }
}

@media (max-width: 620px) {
    .au-v2-tabs { flex-wrap: wrap; overflow: visible; }
    .au-v2-tabs a { flex: 0 0 auto; }
}

.autana-backoffice {
    color: var(--au-ink);
    background: var(--au-canvas);
}

.autana-backoffice .autana-main {
    width: min(100%, var(--au-content));
    min-width: 0;
    margin-inline: auto;
}

.autana-backoffice .autana-topbar {
    min-width: 0;
    padding-bottom: var(--au-space-4);
    border-bottom: 1px solid var(--au-border);
}

.autana-backoffice .autana-page-header h1 {
    margin: 0;
    color: var(--au-ink);
    font-size: clamp(1.55rem, 2.1vw, 2rem);
    line-height: 1.15;
    letter-spacing: 0;
}

.autana-backoffice .autana-page-subtitle {
    max-width: 760px;
    color: var(--au-muted);
    font-size: 0.94rem;
}

.au-page-header,
.au-section-header,
.au-action-bar,
.au-status-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--au-space-3);
}

.au-section-header {
    align-items: flex-start;
}

.au-section-header h2,
.au-section-header h3,
.au-section-header p {
    margin: 0;
}

.au-section-header p {
    margin-top: var(--au-space-1);
    color: var(--au-muted);
    line-height: 1.45;
}

.au-section-card,
.autana-backoffice .panel,
.autana-backoffice .autana-card,
.autana-backoffice .autana-card-compact,
.autana-backoffice .autana-form-section,
.autana-backoffice .autana-empty {
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius);
    background: var(--au-surface);
    box-shadow: var(--au-shadow);
}

.au-section-card {
    padding: var(--au-space-5);
}

.autana-backoffice .panel {
    padding: var(--au-space-5);
}

.autana-backoffice .panel-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--au-space-3);
    margin-bottom: var(--au-space-4);
}

.autana-backoffice .panel-header h2,
.autana-backoffice .panel-header h3,
.autana-backoffice .panel-header p {
    margin: 0;
}

.autana-backoffice .panel-header p {
    margin-top: var(--au-space-1);
    color: var(--au-muted);
}

.autana-backoffice .autana-two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--au-space-4);
    align-items: start;
}

.autana-backoffice .form-grid,
.autana-backoffice .edit-grid {
    gap: var(--au-space-4);
}

.autana-backoffice .form-grid > label,
.autana-backoffice .edit-grid > label {
    min-width: 0;
}

.autana-backoffice input,
.autana-backoffice select,
.autana-backoffice textarea {
    max-width: 100%;
}

.autana-backoffice input[readonly] {
    color: var(--au-muted);
    background: var(--au-surface-muted);
}

.business-settings-row__icon,
.business-settings-row__chevron {
    display: grid;
    place-items: center;
}

.business-settings-row__icon .autana-business-icon {
    box-sizing: border-box;
    width: 36px;
    height: 36px;
    padding: 8px;
    border-radius: 50%;
    color: #46606f;
    background: #f2f5f7;
}

.business-settings-row__chevron .autana-business-icon {
    width: 16px;
    height: 16px;
}

.au-section-card--muted {
    background: var(--au-surface-muted);
    box-shadow: none;
}

.au-grid,
.au-metric-grid,
.au-description-list,
.au-form-grid {
    display: grid;
    gap: var(--au-space-3);
}

.au-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.au-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.au-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.au-metric-grid,
.autana-backoffice .metrics-grid,
.autana-backoffice .metric-grid {
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: var(--au-space-3);
    margin-bottom: var(--au-space-4);
}

.au-metric-card,
.autana-backoffice .metric {
    display: grid;
    align-content: center;
    gap: var(--au-space-1);
    min-height: 92px;
    padding: var(--au-space-4);
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius);
    background: var(--au-surface);
    box-shadow: none;
}

.au-metric-card span,
.autana-backoffice .metric span {
    color: var(--au-muted);
    font-size: 0.76rem;
    font-weight: 800;
    text-transform: uppercase;
}

.au-metric-card strong,
.autana-backoffice .metric strong {
    color: var(--au-ink);
    font-size: 1.35rem;
    line-height: 1.2;
}

.au-status-badge,
.autana-backoffice .autana-status,
.autana-backoffice .status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.15;
    white-space: nowrap;
}

.au-status-badge--sandbox { color: #6d28d9; background: #ede9fe; }
.au-status-badge--live { color: #991b1b; background: #fee2e2; }
.au-status-badge--active { color: #166534; background: #dcfce7; }
.au-status-badge--neutral { color: #374151; background: #e5e7eb; }
.au-status-badge--success { color: #166534; background: #dcfce7; }
.au-status-badge--pending { color: #92400e; background: #fef3c7; }
.au-status-badge--blocked { color: #374151; background: #e5e7eb; }
.au-status-badge--info { color: #1e40af; background: #dbeafe; }

.au-description-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0;
}

.au-description-list > div {
    min-width: 0;
    padding: var(--au-space-3);
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-sm);
    background: var(--au-surface-muted);
}

.au-description-list dt {
    color: var(--au-muted);
    font-size: 0.75rem;
    font-weight: 800;
}

.au-description-list dd {
    margin: var(--au-space-1) 0 0;
    color: var(--au-ink);
    font-size: 0.94rem;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.au-form-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--au-ink);
    font-size: 0.84rem;
    font-weight: 800;
}

.au-form-field small {
    color: var(--au-muted);
    font-weight: 500;
}

.au-toggle-card,
.autana-backoffice .check-help {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: var(--au-space-3);
    align-items: start;
    min-height: 64px;
    padding: var(--au-space-3);
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius);
    background: var(--au-surface-muted);
}

.au-toggle-card input,
.autana-backoffice .check-help > input {
    width: 20px;
    height: 20px;
    margin-top: 2px;
}

.autana-backoffice input[type="checkbox"],
.autana-backoffice input[type="radio"] {
    flex: 0 0 20px;
    width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    padding: 0;
}

.autana-backoffice .hours-bulk-days {
    display: flex;
    align-items: center;
    gap: 10px 14px;
    flex-wrap: wrap;
    min-width: 0;
    padding: 10px 12px 12px;
}

.autana-backoffice .hours-bulk-days label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 32px;
    margin: 0;
}

.au-toggle-card strong,
.au-toggle-card small,
.autana-backoffice .check-help strong,
.autana-backoffice .check-help small {
    display: block;
}

.au-toggle-card small,
.autana-backoffice .check-help small {
    margin-top: var(--au-space-1);
    color: var(--au-muted);
    font-weight: 500;
    line-height: 1.4;
}

.au-alert-banner,
.autana-backoffice .flash {
    padding: var(--au-space-3) var(--au-space-4);
    border: 1px solid transparent;
    border-left-width: 4px;
    border-radius: var(--au-radius-sm);
    line-height: 1.45;
}

.au-alert-banner--info { color: #1e3a8a; border-color: #93c5fd; background: #eff6ff; }
.au-alert-banner--success { color: #166534; border-color: #86efac; background: #f0fdf4; }
.au-alert-banner--warning { color: #854d0e; border-color: #facc15; background: #fefce8; }
.au-alert-banner--danger { color: #991b1b; border-color: #fca5a5; background: #fef2f2; }

.au-empty-state {
    display: grid;
    justify-items: center;
    gap: var(--au-space-2);
    padding: 28px var(--au-space-4);
    color: var(--au-muted);
    text-align: center;
    border: 1px dashed var(--au-border);
    border-radius: var(--au-radius);
    background: var(--au-surface-muted);
}

.au-empty-state strong { color: var(--au-ink); }

.au-action-bar {
    flex-wrap: wrap;
    justify-content: flex-end;
    margin-top: var(--au-space-4);
    padding-top: var(--au-space-4);
    border-top: 1px solid var(--au-border);
}

.au-primary-button,
.au-secondary-button,
.au-danger-button,
.au-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid transparent;
    border-radius: var(--au-radius-sm);
    font: inherit;
    font-size: 0.86rem;
    font-weight: 850;
    text-decoration: none;
    cursor: pointer;
}

.au-primary-button { color: #fff; background: var(--au-brand-strong); }
.au-primary-button:hover { background: #0d4743; }
.au-secondary-button { color: var(--au-brand-strong); border-color: var(--au-border); background: #fff; }
.au-secondary-button:hover { border-color: var(--au-brand); background: #eef8f6; }
.au-danger-button { color: #fff; background: var(--au-danger); }
.au-button--primary { color: #fff; background: var(--au-brand-strong); }
.au-button--primary:hover { background: #0d4743; }
.au-button--secondary { color: var(--au-brand-strong); border-color: var(--au-border); background: #fff; }
.au-button--secondary:hover { border-color: var(--au-brand); background: #eef8f6; }
.au-button--danger { color: #fff; background: var(--au-danger); }

.au-price-highlight {
    margin: var(--au-space-4) 0 0;
    color: var(--au-brand-strong);
    font-size: clamp(1.7rem, 3vw, 2.3rem);
    font-weight: 900;
}

.au-price-highlight small {
    color: var(--au-muted);
    font-size: 0.88rem;
    font-weight: 650;
}

.au-table-wrap,
.autana-backoffice .table-wrap {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius);
    background: var(--au-surface);
}

.au-table-wrap table,
.autana-backoffice .table-wrap table {
    width: 100%;
    border-collapse: collapse;
}

.au-table-wrap th,
.autana-backoffice .table-wrap th {
    padding: 10px 12px;
    color: var(--au-muted);
    font-size: 0.72rem;
    text-align: left;
    text-transform: uppercase;
    background: var(--au-surface-muted);
}

.au-table-wrap td,
.autana-backoffice .table-wrap td {
    padding: 11px 12px;
    border-top: 1px solid var(--au-border);
    vertical-align: middle;
}

.au-skeleton {
    min-height: 14px;
    border-radius: 5px;
    background: linear-gradient(90deg, #e8eeec 25%, #f6f9f8 50%, #e8eeec 75%);
    background-size: 200% 100%;
    animation: au-skeleton 1.4s infinite linear;
}

@keyframes au-skeleton { to { background-position: -200% 0; } }

.au-error-state { color: var(--au-danger); }

.au-stack { display: grid; gap: var(--au-space-4); }
.au-stack--tight { gap: var(--au-space-3); }
.au-span-2 { grid-column: 1 / -1; }

@media (max-width: 920px) {
    .autana-backoffice .autana-main {
        width: 100%;
        padding-inline: var(--au-space-4);
    }

    .au-grid--3,
    .au-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .autana-backoffice .autana-two-column { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    html,
    body.autana-backoffice { overflow-x: hidden; }

    .autana-backoffice .autana-main { padding-inline: var(--au-space-3); }
    .autana-backoffice .autana-topbar,
    .autana-backoffice .autana-page-header,
    .autana-backoffice .autana-page-subtitle,
    .autana-backoffice .topbar-actions,
    .autana-backoffice .autana-action-bar,
    .autana-backoffice .header-actions,
    .autana-backoffice .panel,
    .autana-backoffice section,
    .autana-backoffice form { min-width: 0; max-width: 100%; }

    .autana-backoffice .autana-topbar { display: block; }
    .autana-backoffice .autana-page-header h1,
    .autana-backoffice .autana-page-subtitle,
    .autana-backoffice .breadcrumb,
    .autana-backoffice .pathway {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .autana-backoffice .breadcrumb,
    .autana-backoffice .pathway {
        display: flex;
        flex-wrap: wrap;
        gap: 4px 8px;
    }

    .autana-backoffice .topbar-actions {
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
        gap: var(--au-space-2);
        margin-top: var(--au-space-3);
    }

    .autana-backoffice .autana-user-chip { display: none; }
    .autana-backoffice .header-actions,
    .autana-backoffice .rrhh-subnav,
    .autana-backoffice .settings-section-bar {
        display: grid;
        grid-template-columns: 1fr;
        gap: var(--au-space-2);
        width: 100%;
    }

    .autana-backoffice .header-actions > *,
    .autana-backoffice .rrhh-subnav > *,
    .autana-backoffice .settings-section-bar > * { width: 100%; }
    .au-page-header,
    .au-section-header,
    .au-status-line { align-items: flex-start; flex-direction: column; }
    .au-grid--2,
    .au-grid--3,
    .au-grid--4,
    .au-description-list { grid-template-columns: 1fr; }
    .au-section-card { padding: var(--au-space-4); }
    .autana-backoffice .panel { padding: var(--au-space-4); }
    .autana-backoffice .panel-header { flex-direction: column; }
    .au-metric-grid,
    .autana-backoffice .metrics-grid,
    .autana-backoffice .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .au-metric-card,
    .autana-backoffice .metric { min-height: 80px; padding: var(--au-space-3); }
    .au-action-bar > * { flex: 1 1 100%; }
    .au-primary-button,
    .au-secondary-button,
    .au-danger-button,
    .au-button { width: 100%; }

    .autana-mobile-app-business .business-order-tabs a,
    .autana-mobile-app-business .reservation-wizard-steps li,
    .autana-mobile-app-business .business-order-row > span,
    .autana-mobile-app-business .business-order-row small,
    .autana-mobile-app-business .business-reservation-row span small,
    .autana-mobile-app-business .business-reservation-row > small,
    .autana-mobile-app-business .business-rider-count,
    .autana-mobile-app-business .business-rider-row span small,
    .autana-mobile-app-business .business-rider-load,
    .autana-mobile-app-business .business-settings-row span small {
        font-size: 0.75rem;
        line-height: 1.35;
    }

    .autana-backoffice .table-wrap table:not(.keep-desktop-table) thead { display: none; }
    .autana-backoffice .table-wrap table:not(.keep-desktop-table),
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) tbody,
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) tr,
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) td { display: block; width: 100%; }
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) tr { padding: 8px 0; border-top: 1px solid var(--au-border); }
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) tr:first-child { border-top: 0; }
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 12px; border: 0; }
    .autana-backoffice .table-wrap table:not(.keep-desktop-table) td[data-label]::before { content: attr(data-label); color: var(--au-muted); font-size: 0.72rem; font-weight: 800; }
}

@media (prefers-reduced-motion: reduce) {
    .au-skeleton { animation: none; }
}

/* AUTANA Visual System V1 -------------------------------------------------
 * This is the canonical visual authority for shared application components.
 * Legacy aliases are intentionally mapped here while route handlers migrate.
 */
:root {
    --au-background: #f3f7fa;
    --au-surface: #ffffff;
    --au-surface-subtle: #eef4f8;
    --au-text-primary: #0b1d33;
    --au-text-secondary: #61738a;
    --au-border: #dce5ed;
    --au-brand-primary: #00bfcf;
    --au-brand-primary-dark: #087e91;
    --au-brand-navy: #081d33;
    --au-focus: #0867e8;
    --au-success: #218a58;
    --au-warning: #d98a12;
    --au-danger: #d64545;
    --au-info: #2878c8;
    --au-radius-control: 11px;
    --au-radius-card: 15px;
    --au-shadow-card: 0 8px 22px rgba(16, 43, 50, 0.055);
    --au-content: 1440px;
    --au-sidebar-width: 184px;
    --au-header-height: 64px;
    --au-bottom-nav-height: 72px;
    --au-safe-bottom: env(safe-area-inset-bottom, 0px);

    /* Compatibility aliases. New components must use --au-* tokens. */
    --bg: var(--au-background);
    --surface: var(--au-surface);
    --surface-soft: var(--au-surface-subtle);
    --ink: var(--au-text-primary);
    --muted: var(--au-text-secondary);
    --line: var(--au-border);
    --primary: var(--au-brand-primary);
    --primary-dark: var(--au-brand-primary-dark);
    --sidebar: #0f282d;
    --action-bg: var(--au-brand-primary-dark);
    --action-bg-hover: #075f59;
    --accent: var(--au-warning);
    --danger: var(--au-danger);
    --success: var(--au-success);
    --shadow: var(--au-shadow-card);
}

html {
    color: var(--au-text-primary);
    background: var(--au-background);
    font-size: 100%;
    scroll-padding-top: calc(var(--au-header-height) + 16px);
}

body.autana-backoffice {
    min-width: 0;
    overflow-x: clip;
    color: var(--au-text-primary);
    background: var(--au-background);
    font-family: "Autana Text", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.45;
    letter-spacing: 0;
}

.autana-backoffice *,
.autana-backoffice *::before,
.autana-backoffice *::after { box-sizing: border-box; }

.autana-backoffice :where(a, button, input, select, textarea, summary):focus-visible {
    outline: 3px solid color-mix(in srgb, var(--au-focus) 34%, transparent);
    outline-offset: 2px;
}

.autana-app-shell {
    display: grid;
    grid-template-columns: var(--au-sidebar-width) minmax(0, 1fr);
    min-height: 100dvh;
    background: var(--au-background);
}

.autana-sidebar {
    position: sticky;
    top: 0;
    width: var(--au-sidebar-width);
    height: 100dvh;
    padding: 16px 12px;
    overflow-y: auto;
    color: #eaf4f3;
    background: #0f282d;
    border-right: 1px solid rgba(255, 255, 255, 0.07);
}

.autana-sidebar .brand {
    min-height: 52px;
    padding: 8px;
    border-radius: var(--au-radius-control);
}

.autana-sidebar .brand-logo { width: 32px; height: 32px; }
.autana-sidebar .brand-copy strong { font-size: 1rem; }
.autana-sidebar .brand-copy small { color: #a8bfbc; font-size: 0.8125rem; }

.autana-sidebar .sidebar-business {
    margin: 12px 0 16px;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: var(--au-radius-control);
    background: rgba(255, 255, 255, 0.045);
    box-shadow: none;
}

.autana-sidebar-nav { display: grid; gap: 4px; }
.autana-sidebar .nav-group-label {
    margin: 16px 10px 4px;
    color: #87aaa6;
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.autana-sidebar-nav > a,
.autana-sidebar-section > a,
.autana-sidebar-section > summary {
    min-height: 44px;
    padding: 11px 12px;
    border-radius: 9px;
    color: #dce9e7;
    font-size: 0.9rem;
    line-height: 1.25;
}

.autana-sidebar-nav a.active,
.autana-sidebar-nav a[aria-current="page"] {
    color: #effffc;
    background: rgba(10, 167, 157, 0.2);
    box-shadow: inset 3px 0 0 var(--au-brand-primary);
}

.autana-sidebar-section {
    border: 0;
    background: transparent;
}

.autana-sidebar-section > summary { font-weight: 750; }
.autana-sidebar-section[open] > summary { color: #ffffff; }
.autana-sidebar-section > a { margin-left: 10px; padding-left: 14px; }

.autana-mobile-menu-toggle {
    display: none;
    width: 48px;
    min-height: 48px;
    padding: 0;
    border-radius: var(--au-radius-control);
}

.autana-sidebar-close {
    display: none;
    width: 48px;
    min-height: 48px;
    margin: 0 0 8px auto;
    padding: 0;
    color: #ffffff;
    border: 0;
    border-radius: var(--au-radius-control);
    background: rgba(255, 255, 255, 0.08);
    font-size: 1.5rem;
}

.autana-main {
    width: min(100%, var(--au-content));
    min-width: 0;
    margin-inline: auto;
    padding: 0 32px 48px;
}

.autana-topbar {
    position: sticky;
    z-index: 30;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: var(--au-header-height);
    margin-inline: -32px;
    padding: 10px 32px;
    border-bottom: 1px solid var(--au-border);
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 1px 0 rgba(16, 43, 50, 0.02);
    backdrop-filter: blur(12px);
}

.autana-page-header { min-width: 0; }
.autana-page-header .eyebrow {
    margin: 0 0 2px;
    color: var(--au-brand-primary-dark);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0;
}

.autana-page-header h1 {
    margin: 0;
    color: var(--au-text-primary);
    font-family: "Autana Display", "Autana Text", system-ui, sans-serif;
    font-size: clamp(1.75rem, 2.35vw, 2rem);
    line-height: 1.12;
    letter-spacing: 0;
}

.autana-page-subtitle {
    max-width: 760px;
    margin: 4px 0 0;
    color: var(--au-text-secondary);
    font-size: 0.9375rem;
}

.autana-topbar .autana-breadcrumb { display: none; }
.topbar-actions { display: flex; align-items: center; gap: 8px; }
.autana-help-link,
.autana-user-chip,
.icon-button {
    min-height: 44px;
    border-radius: var(--au-radius-control);
}

.autana-action-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 20px 0 0;
}

.autana-action-bar:has(.autana-breadcrumb) { display: none; }
.autana-action-bar .header-actions { display: flex; flex-wrap: wrap; gap: 8px; }

.autana-backoffice :where(.panel, .autana-card, .autana-card-compact, .au-section-card, .autana-form-section) {
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-card);
    background: var(--au-surface);
    box-shadow: var(--au-shadow-card);
}

.autana-backoffice .panel,
.autana-backoffice .au-section-card { padding: 20px; }

.autana-backoffice .panel .panel,
.autana-backoffice .autana-card .panel,
.autana-backoffice .panel .autana-card {
    border-radius: var(--au-radius-control);
    background: var(--au-surface-subtle);
    box-shadow: none;
}

.panel-header,
.au-section-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
}

.panel-header h2,
.panel-header h3,
.au-section-header h2,
.au-section-header h3 { margin: 0; letter-spacing: 0; }
.panel-header h2,
.au-section-header h2 { font-size: 1.375rem; line-height: 1.25; }
.panel-header h3,
.au-section-header h3 { font-size: 1.0625rem; line-height: 1.3; }
.panel-header p,
.au-section-header p { margin: 4px 0 0; color: var(--au-text-secondary); }

.primary-button,
.secondary-button,
.ghost-button,
.danger-button,
.au-button,
.au-primary-button,
.au-secondary-button,
.au-danger-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 44px;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: var(--au-radius-control);
    font: inherit;
    font-weight: 750;
    line-height: 1.2;
    letter-spacing: 0;
    text-decoration: none;
    cursor: pointer;
}

.primary-button,
.au-primary-button,
.au-button--primary { color: #fff; background: var(--au-brand-primary-dark); }
.primary-button:hover,
.au-primary-button:hover { background: #075f59; }
.secondary-button,
.ghost-button,
.au-secondary-button,
.au-button--secondary {
    color: var(--au-brand-primary-dark);
    border-color: var(--au-border);
    background: var(--au-surface);
}
.danger-button,
.au-danger-button,
.au-button--danger { color: #fff; background: var(--au-danger); }
:where(.primary-button, .secondary-button, .ghost-button, .danger-button, .au-button):disabled,
:where(.primary-button, .secondary-button, .ghost-button, .danger-button, .au-button)[aria-disabled="true"] {
    opacity: 0.52;
    cursor: not-allowed;
}

.autana-backoffice :where(input, select, textarea) {
    width: 100%;
    min-width: 0;
    min-height: 52px;
    padding: 12px 14px;
    color: var(--au-text-primary);
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-control);
    background: var(--au-surface);
    font: inherit;
    letter-spacing: 0;
}

.autana-backoffice textarea { min-height: 112px; resize: vertical; }
.autana-backoffice :where(input, select, textarea):focus {
    border-color: var(--au-focus);
    outline: 3px solid color-mix(in srgb, var(--au-focus) 18%, transparent);
}

.form-grid,
.edit-grid,
.au-form-grid { gap: 16px; }
.form-grid > label,
.edit-grid > label,
.au-form-field {
    display: grid;
    gap: 7px;
    min-width: 0;
    color: var(--au-text-primary);
    font-size: 0.9rem;
    font-weight: 700;
}

.metrics-grid,
.metric-grid,
.au-metric-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
}

.metric,
.au-metric-card {
    min-height: 92px;
    padding: 16px;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-control);
    background: var(--au-surface);
    box-shadow: none;
}

.status,
.autana-status,
.au-status-chip,
.business-status-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    color: var(--au-text-secondary);
    background: #e7edec;
    font-size: 0.8125rem;
    font-weight: 750;
    line-height: 1.2;
}

:where(.status, .autana-status, .au-status-chip).pending { color: #7a4b00; background: #fff0cf; }
:where(.status, .autana-status, .au-status-chip).accepted { color: #175f99; background: #e2f0fb; }
:where(.status, .autana-status, .au-status-chip).preparing { color: #155f9d; background: #dceeff; }
:where(.status, .autana-status, .au-status-chip).ready { color: #076d66; background: #d9f6f1; }
:where(.status, .autana-status, .au-status-chip).delivery { color: #4b4ab3; background: #e8e8ff; }
:where(.status, .autana-status, .au-status-chip).completed,
:where(.status, .autana-status, .au-status-chip).active { color: #176b43; background: #ddf3e6; }
:where(.status, .autana-status, .au-status-chip).cancelled { color: #9d2929; background: #fde4e4; }

.flash,
.au-alert,
.alert-banner {
    margin: 16px 0;
    padding: 13px 16px;
    border: 1px solid var(--au-border);
    border-left: 4px solid var(--au-info);
    border-radius: var(--au-radius-control);
    color: var(--au-text-primary);
    background: #edf5fc;
}
.flash.success,
.au-alert--success { border-left-color: var(--au-success); background: #e8f6ee; }
.flash.warning,
.au-alert--warning { border-left-color: var(--au-warning); background: #fff6e4; }
.flash.error,
.au-alert--danger { border-left-color: var(--au-danger); background: #fceaea; }

.autana-backoffice .table-wrap {
    overflow: hidden;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-control);
    background: var(--au-surface);
}
.autana-backoffice table { width: 100%; border-collapse: collapse; }
.autana-backoffice th {
    padding: 11px 12px;
    color: var(--au-text-secondary);
    background: var(--au-surface-subtle);
    font-size: 0.8125rem;
    text-align: left;
    letter-spacing: 0;
}
.autana-backoffice td { padding: 12px; border-top: 1px solid var(--au-border); }

.au-action-card,
.autana-section-link {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 148px;
    padding: 18px;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-card);
    background: var(--au-surface);
    box-shadow: var(--au-shadow-card);
}

.au-empty-state,
.autana-empty,
.business-empty-state {
    display: grid;
    place-items: center;
    gap: 6px;
    min-height: 140px;
    padding: 24px;
    color: var(--au-text-secondary);
    text-align: center;
}

.au-tabs,
[role="tablist"],
.business-order-tabs,
.business-rider-tabs {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    scrollbar-width: thin;
}

/* Riders comparte la misma lista compacta y el mismo detalle en web, móvil y PDA. */
.business-riders-center {
    display: block;
    --business-teal: var(--au-brand);
    --business-teal-dark: var(--au-brand-strong);
    --business-line: var(--au-border);
    --business-text: var(--au-text-primary);
}

.business-rider-toolbar {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.business-rider-toolbar label {
    position: relative;
    display: block;
    min-width: 0;
}

.business-rider-toolbar label > svg {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 14px;
    width: 18px;
    height: 18px;
    color: var(--au-text-secondary);
    transform: translateY(-50%);
    pointer-events: none;
}

.business-rider-toolbar input {
    width: 100%;
    padding-left: 44px;
}

.business-add-button {
    display: inline-flex;
    gap: 7px;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 0 16px;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    border-radius: var(--au-radius-control);
    background: var(--au-brand);
}

.business-add-button svg,
.business-rider-row > svg {
    width: 18px;
    height: 18px;
}

.business-rider-count {
    margin: 12px 0 8px;
    color: var(--au-text-secondary);
    font-size: 0.8125rem;
}

.business-rider-list {
    overflow: hidden;
}

.business-rider-row {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr) 100px 20px;
    gap: 12px;
    align-items: center;
    min-height: 68px;
    padding: 10px 14px;
    color: var(--au-text-primary);
    text-decoration: none;
    border-bottom: 1px solid var(--au-border);
}

.business-rider-row:last-child { border-bottom: 0; }

.business-rider-avatar {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 850;
    border-radius: 50%;
    background: var(--au-brand);
}

.business-rider-avatar.large {
    width: 58px;
    height: 58px;
    font-size: 1rem;
}

.business-rider-row span strong,
.business-rider-row span small { display: block; }
.business-rider-row span small { margin-top: 3px; color: var(--au-text-secondary); }
.business-rider-load { color: var(--au-text-secondary); text-align: right; }

.business-back-link {
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    margin-bottom: 10px;
    color: var(--au-brand-strong);
    font-weight: 750;
    text-decoration: none;
}

.business-rider-profile {
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    gap: 16px;
    padding: 20px;
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-card);
    background: var(--au-surface);
    box-shadow: var(--au-shadow-card);
}

.business-rider-profile h2,
.business-rider-profile p { margin: 0; }
.business-rider-profile > dl {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}
.business-rider-profile > dl > div { padding: 12px; border-radius: var(--au-radius-control); background: var(--au-surface-muted); }
.business-rider-profile dt { color: var(--au-text-secondary); font-size: 0.75rem; font-weight: 750; }
.business-rider-profile dd { margin: 4px 0 0; font-weight: 800; }
.business-rider-profile > details,
.business-rider-profile > form { grid-column: 1 / -1; }
.business-rider-danger-actions { display: flex; gap: 8px; flex-wrap: wrap; }

body.autana-backoffice:not(.autana-mobile-app-business) .business-riders-center {
    max-width: 920px;
}

body.autana-backoffice:not(.autana-mobile-app-business) .business-rider-toolbar {
    margin-bottom: 10px;
}

body.autana-backoffice:not(.autana-mobile-app-business) .business-rider-list {
    border: 1px solid var(--au-border);
    border-radius: var(--au-radius-card);
    background: var(--au-surface);
    box-shadow: var(--au-shadow-card);
}

body.autana-backoffice:not(.autana-mobile-app-business) .business-rider-row {
    grid-template-columns: 48px minmax(0, 1fr) 100px 20px;
}

@media (max-width: 720px) {
    .business-rider-profile > dl { grid-template-columns: 1fr 1fr; }

    html body.autana-mobile-app-business .reservation-wizard-steps {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 3px;
        overflow: visible;
    }

    html body.autana-mobile-app-business .reservation-wizard-steps li {
        min-width: 0;
        padding: 7px 1px;
        font-size: 0.625rem;
        line-height: 1.2;
        white-space: normal;
    }

    html body.autana-mobile-app-business .commerce-flow {
        grid-template-columns: repeat(5, minmax(0, 1fr));
        gap: 4px;
    }

    html body.autana-mobile-app-business .commerce-flow li {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 3px;
        min-width: 0;
        min-height: 66px;
        padding: 5px 2px;
        text-align: center;
    }

    html body.autana-mobile-app-business .commerce-flow li span {
        width: 24px;
        height: 24px;
    }

    html body.autana-mobile-app-business .commerce-flow li strong {
        max-width: 100%;
        font-size: 0.5625rem;
        line-height: 1.15;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }

    #commerce-products-table td {
        display: grid !important;
        grid-template-columns: minmax(108px, 38%) minmax(0, 1fr);
        min-width: 0;
        box-sizing: border-box;
    }

    #commerce-products-table td[data-label]::before {
        font-size: 0.6875rem;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }

    .autana-backoffice .autana-table-toolbar {
        align-items: stretch;
        flex-direction: column;
        min-width: 0;
    }

    .autana-backoffice .autana-table-search,
    .autana-backoffice .autana-table-search input {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .autana-backoffice #commerce-products-table,
    .autana-backoffice #commerce-products-table tbody,
    .autana-backoffice #commerce-products-table tr {
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .autana-backoffice #commerce-products-table td.table-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .autana-backoffice #commerce-products-table td.table-actions::before {
        grid-column: 1 / -1;
    }

    .autana-backoffice #commerce-products-table td.table-actions > * {
        width: 100%;
        min-width: 0;
    }
}

.business-rider-row span,
.business-rider-row strong,
.business-rider-row small,
.business-rider-load,
.business-rider-profile :where(h2, p, dt, dd),
.autana-page-header .eyebrow,
.demo-hero .eyebrow {
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
}

.autana-page-header .eyebrow,
.demo-hero .eyebrow {
    white-space: nowrap;
}

.au-tabs > *,
[role="tablist"] > * { flex: 0 0 auto; min-height: 44px; }
.au-filter-bar { display: flex; align-items: end; gap: 10px; flex-wrap: wrap; }

.business-billing-workspace,
.business-billing-detail { display: grid; gap: var(--au-space-4, 16px); }
.business-billing-intro { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 24px; color: var(--au-text-primary); background: linear-gradient(135deg, #fff 0%, #eef8f6 100%); border: 1px solid var(--au-border); border-radius: 16px; }
.business-billing-intro h2 { margin: 2px 0 5px; font-size: clamp(1.45rem, 2.6vw, 2rem); }
.business-billing-intro p { margin: 0; color: var(--au-text-secondary); }
.business-billing-tabs { padding: 5px; background: #fff; border: 1px solid var(--au-border); border-radius: 12px; }
.business-billing-list { padding: 0; overflow: hidden; }
.business-billing-list table { margin: 0; }
.business-billing-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; white-space: nowrap; }
.business-billing-actions a { font-weight: 700; }
.business-billing-party-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.business-billing-party-grid h3 { margin: 6px 0; }
.business-billing-totals { display: flex; justify-content: flex-end; gap: 24px; padding: 16px 18px; background: var(--au-surface-subtle); border-radius: 12px; }
.business-billing-totals span { display: grid; gap: 3px; color: var(--au-text-secondary); }
.business-billing-totals strong { color: var(--au-text-primary); font-size: 1.05rem; }
.business-billing-detail-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.business-billing-detail-actions form { margin: 0; }
.business-billing-export-card .au-filter-bar label { display: grid; gap: 6px; min-width: 170px; }
.billing-status-falta-información { color: #8a5200; background: #fff2d6; }
.billing-status-listo-para-emitir { color: #075d58; background: #dff4f1; }
.billing-status-emitido { color: #17643f; background: #e3f5e9; }
.billing-status-rectificado, .billing-status-reembolsado { color: #5d4b14; background: #f6edce; }
@media (max-width: 760px) {
    .business-billing-intro { align-items: flex-start; padding: 18px; }
    .business-billing-party-grid { grid-template-columns: 1fr; }
    .business-billing-totals { justify-content: stretch; gap: 12px; }
    .business-billing-totals span { flex: 1; }
    .business-billing-detail-actions { align-items: stretch; flex-direction: column; }
    .business-billing-detail-actions > *, .business-billing-detail-actions button { width: 100%; }
}
.au-filter-bar > :first-child { flex: 1 1 240px; }

.au-confirm-dialog {
    width: min(92vw, 480px);
    padding: 0;
    border: 0;
    border-radius: var(--au-radius-card);
    box-shadow: 0 24px 70px rgba(16, 43, 50, 0.24);
}
.au-confirm-dialog::backdrop { background: rgba(10, 31, 36, 0.55); }
.au-bottom-sheet { border-radius: 18px 18px 0 0; background: var(--au-surface); }
.au-toast { position: fixed; z-index: 100; right: 16px; bottom: 16px; max-width: 380px; }

@media (max-width: 920px) {
    .autana-app-shell { display: block; }
    .autana-sidebar {
        position: fixed;
        z-index: 80;
        inset: 0 auto 0 0;
        width: min(86vw, 304px);
        transform: translateX(-105%);
        transition: transform 180ms ease;
    }
    .autana-sidebar.is-open { transform: translateX(0); }
    .autana-topbar .autana-mobile-menu-toggle {
        display: grid !important;
        flex: 0 0 48px;
        place-items: center;
        color: var(--au-text-primary);
        border: 1px solid var(--au-border);
        background: var(--au-surface);
    }
    .autana-sidebar-close { display: grid; place-items: center; }
    body.autana-menu-open { overflow: hidden; }
    body.autana-menu-open::before {
        content: "";
        position: fixed;
        z-index: 70;
        inset: 0;
        background: rgba(7, 30, 34, 0.48);
    }
    .autana-main { padding: 0 20px 40px; }
    .autana-topbar { margin-inline: -20px; padding-inline: 20px; }
}

@media (max-width: 720px) {
    body :where(a[href], button, summary, [role="button"], [role="tab"]) {
        min-width: 48px;
        min-height: 48px;
    }
    body :where(a[href], summary) {
        display: inline-flex;
        align-items: center;
    }
    body label:has(input[type="checkbox"]),
    body label:has(input[type="radio"]) {
        min-height: 48px;
        align-items: center;
    }
    body.autana-backoffice { font-size: 15px; }
    .autana-main {
        width: 100%;
        padding: 0 16px calc(var(--au-bottom-nav-height) + var(--au-safe-bottom) + 24px);
    }
    .autana-topbar {
        display: grid !important;
        grid-template-columns: 48px minmax(0, 1fr) auto;
        align-items: center;
        gap: 12px;
        min-height: 68px;
        margin-inline: -16px;
        padding: calc(8px + env(safe-area-inset-top, 0px)) 16px 8px;
    }
    .autana-topbar .autana-page-header { min-width: 0; }
    .autana-topbar .autana-page-header h1 {
        overflow: hidden;
        font-size: 1.35rem;
        line-height: 1.15;
        text-overflow: ellipsis;
        white-space: nowrap;
    }
    .autana-topbar .topbar-actions { justify-content: flex-end; min-width: 0; }
    .autana-topbar .icon-button { width: 48px; padding: 0; }
    .autana-topbar .autana-business-icon,
    .autana-mobile-menu-toggle .autana-business-icon { width: 22px; height: 22px; }
    .autana-page-header h1 { font-size: clamp(1.5rem, 7vw, 1.75rem); }
    .autana-page-header .eyebrow,
    .autana-page-subtitle { display: none; }
    .topbar-actions .autana-help-link,
    .topbar-actions .autana-user-chip { display: none; }
    .autana-backoffice .autana-main :where(
        button,
        input,
        select,
        .primary-button,
        .secondary-button,
        .ghost-button,
        .danger-button,
        [role="button"]
    ) { min-height: 48px; }
    .autana-action-bar { align-items: stretch; flex-direction: column; }
    .autana-action-bar > div:empty { display: none; }
    .autana-action-bar .header-actions { display: grid; grid-template-columns: 1fr; }
    .autana-backoffice .panel,
    .autana-backoffice .au-section-card { padding: 16px; }
    .panel-header,
    .au-section-header { flex-direction: column; }
    .metrics-grid,
    .metric-grid,
    .au-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .primary-button,
    .secondary-button,
    .ghost-button,
    .danger-button,
    .au-button,
    .au-primary-button,
    .au-secondary-button,
    .au-danger-button,
    .icon-button,
    .autana-backoffice summary,
    .autana-backoffice :where(input, select) { min-height: 48px; }
    .autana-backoffice .table-wrap { overflow: visible; border: 0; background: transparent; }
    .autana-backoffice .responsive-card-table thead { display: none; }
    .autana-backoffice .responsive-card-table,
    .autana-backoffice .responsive-card-table tbody,
    .autana-backoffice .responsive-card-table tr,
    .autana-backoffice .responsive-card-table td { display: block; width: 100%; }
    .autana-backoffice .responsive-card-table tr {
        margin-bottom: 10px;
        padding: 10px;
        border: 1px solid var(--au-border);
        border-radius: var(--au-radius-control);
        background: var(--au-surface);
    }
    .autana-backoffice .responsive-card-table td {
        display: grid;
        grid-template-columns: minmax(88px, 32%) minmax(0, 1fr);
        align-items: start;
        gap: 12px;
        padding: 7px 4px;
        border: 0;
        overflow-wrap: anywhere;
    }
    .autana-backoffice .responsive-card-table td[data-label]::before {
        content: attr(data-label);
        color: var(--au-text-secondary);
        font-size: 0.8125rem;
        font-weight: 750;
    }
    .autana-backoffice .responsive-card-table td.table-actions {
        grid-template-columns: 1fr;
    }
    .autana-backoffice .responsive-card-table td.table-actions::before {
        margin-bottom: 2px;
    }
    .autana-backoffice .responsive-card-table td.table-actions > * {
        min-width: 0;
        width: 100%;
    }
    body.autana-backoffice table.rider-management-table > tbody > tr > td {
        display: grid;
        grid-template-columns: minmax(96px, 34%) minmax(0, 1fr);
        align-items: start;
        gap: 12px;
    }
    .autana-backoffice .rider-management-table td[data-label]::before {
        display: block;
        margin-bottom: 0;
        word-break: normal;
        overflow-wrap: normal;
        hyphens: none;
    }
    .autana-backoffice .rider-management-table td > strong,
    .autana-backoffice .rider-management-table td > small {
        display: block;
        margin-top: 2px;
        min-width: 0;
        word-break: normal;
        overflow-wrap: break-word;
        hyphens: none;
    }
    .autana-backoffice .rider-management-table td.table-actions {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 721px) {
    .autana-business-bottom-nav {
        display: none;
    }
}

@media (max-width: 390px) {
    .metrics-grid,
    .metric-grid,
    .au-metric-grid { grid-template-columns: 1fr 1fr; gap: 8px; }
    .metric,
    .au-metric-card { min-height: 80px; padding: 12px; }

    html body.autana-mobile-app-business .business-order-tabs {
        display: grid;
        grid-template-columns: repeat(5, minmax(0, 1fr));
        overflow-x: visible;
    }

    html body.autana-mobile-app-business .business-order-tabs a {
        min-width: 0;
        padding-inline: 2px;
        white-space: normal;
    }
}

@media (prefers-reduced-motion: reduce) {
    .autana-sidebar { transition: none; }
}

/* The shared design system is loaded last. These are component-level mobile
   contracts, so legacy module styles cannot reduce actionable hit areas. */
@media (max-width: 720px) {
    html body :where(a[href], button, summary, [role="button"], [role="tab"], .primary-button, .secondary-button, .ghost-button, .danger-button) {
        min-width: 48px;
        min-height: 48px;
    }
    html body :where(a[href], summary) {
        display: inline-flex;
        align-items: center;
    }
    html body label:has(input[type="checkbox"]),
    html body label:has(input[type="radio"]) {
        display: flex;
        min-height: 48px;
        align-items: center;
    }
    html body :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
        min-height: 48px;
    }
    html body.autana-mobile-app-business .autana-business-bottom-nav a,
    html body.autana-mobile-app-business .autana-business-app-brand,
    html body.autana-mobile-app-business :where(button, summary, .primary-button, .secondary-button, .ghost-button, .danger-button) {
        min-width: 48px;
        min-height: 48px;
    }
    html body.autana-backoffice :where(.au-tabs, [role="tablist"], .business-order-tabs, .business-rider-tabs) a,
    html body.autana-backoffice :where(.au-tabs, [role="tablist"], .business-order-tabs, .business-rider-tabs) button,
    html body :where(.public-home-link, .store-category-tab) {
        min-height: 48px;
    }
    html body :where(.hours-bulk-days label, .check-help, .check-label) {
        display: flex;
        min-height: 48px;
        align-items: center;
    }
    html body :where(.primary-button, .secondary-button, .danger-button, .ghost-button).compact,
    html body :where(.primary-button, .secondary-button, .danger-button, .ghost-button) {
        min-height: 48px;
    }
    html body.autana-backoffice main a[href],
    html body.autana-mobile-app-business button,
    html body.autana-mobile-app-business summary,
    html body.autana-mobile-app-business .primary-button,
    html body.autana-mobile-app-business .secondary-button,
    html body.autana-mobile-app-business .ghost-button,
    html body.autana-mobile-app-business .danger-button {
        min-width: 48px;
        min-height: 48px;
    }
    html body .hours-bulk-days label,
    html body .commerce-hours-form .check-help,
    html body .check-label {
        display: flex;
        min-height: 48px;
        align-items: center;
    }
    html body .commerce-hours-form .hours-bulk-days label,
    html body.autana-mobile-app-business .commerce-hours-form .hours-bulk-days label,
    html body.autana-mobile-app-business .business-rider-profile summary {
        min-height: 48px;
    }
    html body .public-home-link,
    html body .commerce-store-search input,
    html body button[id^="tab-category-"],
    html body input[name="reservation_date"],
    html body input[name="party_size"] {
        min-height: 48px;
    }
}

/* Business home */
.au-business-home { display: grid; gap: 16px; max-width: 1440px; margin-inline: auto; }
.au-home-hero { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 108px; padding: 20px 24px; color: #fff; background: linear-gradient(120deg, #06cfe0 0%, #087eed 52%, #1756ff 100%); border-radius: 17px; box-shadow: 0 14px 30px rgba(8,103,232,.2); }
.au-home-hero p,
.au-home-hero h2,
.au-home-hero span { margin: 0; }
.au-home-hero p { color: #bfe8e5; font-size: .73rem; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; }
.au-home-hero h2 { margin-top: 3px; font-size: clamp(1.35rem,2vw,1.8rem); }
.au-home-hero > div > span { display: block; margin-top: 4px; color: #dcebea; font-size: .82rem; }
.au-home-hero-controls { display: flex; align-items: center; justify-content: flex-end; gap: 9px; }
.au-home-hero-controls form { margin: 0; }
.au-home-open-state { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; font-size: .78rem; font-weight: 850; background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.22); border-radius: 999px; }
.au-home-open-state::before { content: ""; width: 8px; height: 8px; background: #66e1a4; border-radius: 50%; }
.au-home-open-state.is-closed::before { background: #ffc35b; }
.au-home-orders-toggle { min-height: 34px; padding: 6px 11px; color: #fff; font: inherit; font-size: .73rem; font-weight: 800; background: rgba(4,32,79,.26); border: 1px solid rgba(255,255,255,.28); border-radius: 999px; cursor: pointer; }
.au-home-orders-toggle:hover { background: rgba(4,32,79,.4); }
.au-home-orders-toggle.is-pause { background: #dc2626; border-color: #fca5a5; box-shadow: 0 4px 12px rgba(127,29,29,.28); }
.au-home-orders-toggle.is-pause:hover { background: #b91c1c; }
.au-home-orders-toggle:focus-visible { outline: 3px solid rgba(255,255,255,.72); outline-offset: 2px; }
.au-home-metrics { display: grid; grid-template-columns: minmax(280px,1.7fr) repeat(4,minmax(140px,1fr)); gap: 10px; align-items: stretch; }
.au-home-metrics > * { display: grid; min-height: 108px; padding: 16px 18px; color: var(--au-text-primary); text-decoration: none; background: #fff; border: 1px solid var(--au-border); border-radius: 14px; box-shadow: 0 5px 18px rgba(16,43,50,.035); }
.au-home-metrics span { color: var(--au-text-secondary); font-size: .78rem; font-weight: 750; }
.au-home-metrics strong { margin-top: 4px; font-size: 1.65rem; line-height: 1; letter-spacing: -.03em; }
.au-home-metrics small { align-self: end; margin-top: 8px; color: var(--au-text-secondary); font-size: .72rem; }
.au-unavailable-products { position: relative; align-content: start; min-width: 0; padding: 14px 16px !important; }
.au-unavailable-heading { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; align-items: center; }
.au-unavailable-heading h3 { overflow: hidden; margin: 0; font-size: .98rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.au-unavailable-products > p { margin: 5px 0 8px; color: var(--au-text-secondary); font-size: .72rem; line-height: 1.25; }
.au-unavailable-count { display: grid; place-items: center; min-width: 30px; height: 28px; padding: 0 9px; color: #075e59 !important; font-size: .76rem !important; font-weight: 850; background: #e3f7f3; border-radius: 999px; }
.au-unavailable-actions { position: relative; width: max-content; }
.au-unavailable-actions summary,
.au-unavailable-catalog-link { display: inline-flex; align-items: center; justify-content: center; min-height: 28px; padding: 4px 12px; color: #007f8c; font-size: .72rem; font-weight: 850; text-decoration: none; background: #eef9fa; border: 1px solid #b9e1e4; border-radius: 999px; cursor: pointer; list-style: none; }
.au-unavailable-actions summary::-webkit-details-marker { display: none; }
.au-unavailable-actions[open] summary { color: #fff; background: #008f9d; border-color: #008f9d; }
.au-unavailable-popover { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; display: grid; width: min(520px,calc(100vw - 330px)); min-width: 390px; gap: 7px; padding: 10px; background: #fff; border: 1px solid var(--au-border); border-radius: 13px; box-shadow: 0 18px 45px rgba(11,35,64,.18); }
.au-unavailable-popover article { display: grid; grid-template-columns: 34px minmax(0,1fr) auto; gap: 9px; align-items: center; min-height: 54px; padding: 7px 8px; border: 1px solid var(--au-border); border-radius: 10px; }
.au-unavailable-popover article > div { display: grid; min-width: 0; }
.au-unavailable-popover article strong,
.au-unavailable-popover article small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.au-unavailable-popover article strong { font-size: .82rem; }
.au-unavailable-popover article small { color: var(--au-text-secondary); font-size: .68rem; }
.au-unavailable-popover > a { justify-self: end; color: var(--au-brand-primary-dark); font-size: .74rem; font-weight: 850; text-decoration: none; }
.au-attention-banner { display: grid; grid-template-columns: 38px minmax(0,1fr) 20px; gap: 10px; align-items: center; min-height: 62px; padding: 10px 14px; color: #80500a; text-decoration: none; background: #fff7e8; border: 1px solid #f4d9a8; border-radius: 13px; }
.au-attention-banner > svg:first-child { width: 22px; }
.au-attention-banner > svg:last-child { width: 18px; }
.au-attention-banner span { display: grid; }
.au-attention-banner small { color: #8c6a36; }
.au-home-grid { display: grid; grid-template-columns: minmax(0,1.7fr) minmax(210px,.58fr) minmax(210px,.58fr); gap: 12px; align-items: stretch; }
.au-workspace-header > a { color: var(--au-brand-primary-dark); font-size: .78rem; font-weight: 850; text-decoration: none; }
.au-live-list { display: grid; }
.au-live-list > a { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; gap: 11px; align-items: center; min-height: 70px; padding: 10px 16px; color: var(--au-text-primary); text-decoration: none; border-bottom: 1px solid #e9efee; }
.au-live-list > a:last-child { border-bottom: 0; }
.au-live-list > a:hover { background: #f8fbfa; }
.au-live-list > a > span:nth-child(2) { display: grid; min-width: 0; }
.au-live-list small { overflow: hidden; color: var(--au-text-secondary); font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.au-live-icon { display: grid; place-items: center; width: 38px; height: 38px; color: var(--au-brand-primary-dark); background: #e3f6f3; border-radius: 10px; }
.au-live-icon svg { width: 19px; }
.au-home-grid > .au-surface { width: 100%; margin-inline: 0; }
.au-quick-actions,
.au-next-tasks { min-width: 0; padding: 16px; }
.au-quick-actions h3,
.au-next-tasks h3 { margin: 0 0 10px; font-size: .96rem; }
.au-quick-actions > a { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 10px; align-items: center; min-height: 58px; padding: 8px; color: var(--au-text-primary); text-decoration: none; border-radius: 10px; }
.au-quick-actions > a:hover { background: var(--au-surface-subtle); }
.au-quick-actions > a > svg { width: 20px; color: var(--au-brand-primary-dark); }
.au-quick-actions > a span { display: grid; }
.au-quick-actions small,
.au-next-tasks small { color: var(--au-text-secondary); font-size: .72rem; }
.au-next-tasks p { position: relative; display: grid; margin: 0; padding: 10px 8px 10px 24px; }
.au-task-dot { position: absolute; top: 16px; left: 8px; width: 8px; height: 8px; background: #7ecbaa; border-radius: 50%; }
.au-task-dot.is-alert { background: var(--au-warning); }
.au-now.is-empty .au-live-list .au-empty { min-height: 0; padding: 20px 16px; text-align: left; }
.au-now.is-empty .au-live-list .au-empty span { max-width: none; }

@media (max-width: 900px) {
    .au-home-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .au-unavailable-products { grid-column: 1 / -1; }
    .au-home-grid { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .au-business-home { gap: 12px; }
    .au-home-hero { align-items: flex-start; min-height: 92px; padding: 16px; }
    .au-home-hero > div > span { max-width: 200px; }
    .au-home-hero-controls { align-items: flex-end; flex-direction: column; }
    .au-home-open-state { padding: 6px 9px; }
    .au-home-orders-toggle { min-height: 30px; padding: 4px 9px; }
    .au-home-metrics { gap: 8px; }
    .au-home-metrics > * { min-height: 94px; padding: 13px; }
    .au-unavailable-products { min-height: 108px !important; padding: 13px !important; }
    .au-unavailable-actions { width: 100%; }
    .au-unavailable-popover { position: static; box-sizing: border-box; width: 100%; min-width: 0; max-height: none; margin-top: 8px; overflow: visible; box-shadow: none; }
    .au-unavailable-popover > a { justify-self: stretch; text-align: center; white-space: normal; }
    .au-home-metrics strong { font-size: 1.4rem; }
    .au-live-list > a { grid-template-columns: 38px minmax(0,1fr); }
    .au-live-list .au-state-chip { grid-column: 2; justify-self: start; }
}

/* Web access screen: balanced brand panel and compact account form. */
body:has(.autana-web-login) .public-shell { width: 100%; max-width: none; margin: 0; padding: 0; }
.autana-web-login { grid-template-columns: minmax(440px,48%) minmax(520px,1fr); min-height: 100vh; gap: 0; background: #fff; }
.autana-login-brand { position: relative; isolation: isolate; align-content: center; justify-items: start; overflow: hidden; min-height: 100vh; padding: clamp(48px,9vw,180px); text-align: left; background: linear-gradient(145deg,#f7fbff 0%,#eaf3fb 48%,#dae8f5 100%); }
.autana-login-brand::before,.autana-login-brand::after { content: ""; position: absolute; z-index: -1; border: 2px solid rgba(255,255,255,.74); border-radius: 56px; rotate: -28deg; }
.autana-login-brand::before { width: 360px; height: 900px; left: 190px; top: -120px; background: rgba(255,255,255,.16); box-shadow: 0 0 80px rgba(113,151,190,.14); }
.autana-login-brand::after { width: 250px; height: 560px; left: -85px; bottom: -260px; background: rgba(255,255,255,.2); }
.autana-login-brand .public-brand { justify-content: flex-start; width: min(360px,100%); height: auto; margin: 0 0 42px; }
.autana-login-brand h1 { max-width: 560px; margin: 0; color: #071b3d; font-size: clamp(2.3rem,3.3vw,4rem); line-height: 1.15; letter-spacing: -.045em; }
.autana-login-brand p:last-child { margin: 30px 0 0; color: #536a8c; font-size: 1.14rem; line-height: 1.55; }
.autana-login-form { align-self: center; justify-self: center; width: min(540px,calc(100% - 48px)); gap: 18px; padding: 42px 38px; border-color: #cbd9e7; border-radius: 15px; box-shadow: 0 16px 44px rgba(15,42,72,.08); }
.autana-login-form__heading { margin-bottom: 6px; text-align: center; }
.autana-login-form__heading h2 { margin: 0; color: #071b3d; font-size: 2rem; letter-spacing: -.035em; }
.autana-login-form__heading p { margin: 7px 0 0; color: #647895; font-size: 1rem; }
.autana-login-form label { gap: 8px; color: #344b6a; font-weight: 800; }
.autana-login-form input { min-height: 54px; border-color: #cbd9e7; border-radius: 8px; }
.autana-login-form input:focus { border-color: #0399b2; box-shadow: 0 0 0 3px rgba(0,191,207,.13); }
.autana-login-password { position: relative; display: block; }
.autana-login-password input { width: 100%; padding-right: 52px; }
.autana-login-password button { position: absolute; top: 50%; right: 8px; display: grid; place-items: center; width: 40px; height: 40px; padding: 0; translate: 0 -50%; color: #647895; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.autana-login-password button svg { width: 22px; }
.autana-login-password button svg * { fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.autana-login-form .form-helper-link { color: #008fa4; font-weight: 750; }
.autana-login-form > .primary-button { min-height: 52px; background: linear-gradient(90deg,#048c9e,#099bad); border-radius: 8px; font-size: 1rem; }
.autana-login-form > .ghost-button { min-height: 50px; color: #00899e; background: #fff; border: 1.5px solid #009bb1; border-radius: 8px; }
.autana-login-divider { position: relative; display: grid; place-items: center; margin: 2px 0; color: #5e7190; }
.autana-login-divider::before { content: ""; position: absolute; inset-inline: 0; top: 50%; height: 1px; background: #d6e0e9; }
.autana-login-divider span { position: relative; padding: 0 20px; background: #fff; }
.autana-login-support { margin: 4px 0 0; color: #647895; text-align: center; line-height: 1.5; }
.autana-login-support a { color: #008fa4; font-weight: 800; text-decoration: none; }
.autana-login-form > .muted { margin: 0; text-align: center; font-size: .72rem; }

@media (max-width: 920px) {
    .autana-web-login { grid-template-columns: 1fr; min-height: 100vh; padding: 28px 18px; background: linear-gradient(180deg,#edf5fb 0,#fff 34%); }
    .autana-login-brand { align-content: start; justify-items: center; min-height: auto; padding: 18px; overflow: visible; text-align: center; background: transparent; }
    .autana-login-brand::before,.autana-login-brand::after { display: none; }
    .autana-login-brand .public-brand { justify-content: center; width: min(265px,70vw); margin: 0 0 12px; }
    .autana-login-brand h1 { font-size: clamp(1.8rem,7vw,2.4rem); }
    .autana-login-brand p:last-child { margin-top: 12px; font-size: .95rem; }
    .autana-login-form { align-self: start; width: min(540px,100%); padding: 28px 22px; }
}

/* Orders */
.au-capacity-control,
.au-alert-config { max-width: 1440px; margin: 0 auto 10px; background: #fff; border: 1px solid var(--au-border); border-radius: 12px; }
.au-capacity-control > summary,
.au-alert-config > summary { display: grid; grid-template-columns: auto minmax(0,1fr) 18px; gap: 10px; align-items: center; min-height: 54px; padding: 7px 12px; cursor: pointer; list-style: none; }
.au-capacity-control > summary::-webkit-details-marker,
.au-alert-config > summary::-webkit-details-marker { display: none; }
.au-capacity-control > summary > span:nth-child(2),
.au-alert-config > summary > span { display: grid; }
.au-capacity-control summary small,
.au-alert-config summary small { color: var(--au-text-secondary); font-size: .72rem; }
.au-capacity-control summary > svg,
.au-alert-config summary > svg:last-child { width: 16px; }
.au-capacity-control[open] summary > svg:last-child,
.au-alert-config[open] summary > svg:last-child { rotate: 90deg; }
.au-capacity-control > form,
.au-alert-config > div { margin: 0; padding: 14px; border-top: 1px solid var(--au-border); }
.au-alert-config > summary > svg:first-child { width: 20px; color: var(--au-brand-primary-dark); }
.au-alert-config > div { display: flex; gap: 8px; }
.au-orders-workspace { margin-top: 16px; overflow: hidden; }
.au-order-row { grid-template-columns: minmax(210px,1.5fr) minmax(74px,.45fr) minmax(130px,.65fr) minmax(94px,.5fr) minmax(145px,.7fr); }
.au-order-primary strong { font-size: .94rem; }
.au-order-row > span:not(.au-order-primary):not(.au-next-action) { display: grid; }
.au-order-row > span > small { margin: 0 0 2px; }
.au-order-amount { text-align: right; }
.au-next-action { display: inline-flex; gap: 4px; align-items: center; justify-content: flex-end; color: var(--au-brand-primary-dark); font-size: .76rem; font-weight: 850; }
.au-next-action svg { width: 15px; }
.au-orders-workspace + .autana-technical-panel { max-width: 1440px; margin: 12px auto 0; }

@media (max-width: 760px) {
    .au-capacity-control,
    .au-alert-config { margin-bottom: 8px; }
    .au-orders-workspace { margin-top: 10px; }
    .au-order-row { grid-template-columns: minmax(0,1fr) auto; gap: 7px 12px; }
    .au-order-row .au-order-primary { grid-column: 1; grid-row: 1; }
    .au-order-row > span:nth-child(2) { grid-column: 1; grid-row: 2; display: flex; gap: 5px; align-items: center; }
    .au-order-row > .au-state-chip { grid-column: 1; grid-row: 3; justify-self: start; }
    .au-order-row .au-order-amount { grid-column: 2; grid-row: 1; text-align: right; }
    .au-order-row .au-next-action { grid-column: 2; grid-row: 2 / span 2; align-self: end; max-width: 110px; text-align: right; }
}

/* Reservations */
.au-reservation-home { display: grid; gap: 16px; max-width: 1440px; margin-inline: auto; }
.au-reservation-actions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.au-reservation-actions > a { display: grid; grid-template-columns: 48px minmax(0,1fr) 20px; gap: 12px; align-items: center; min-height: 86px; padding: 14px 16px; color: var(--au-text-primary); text-decoration: none; background: #fff; border: 1px solid var(--au-border); border-radius: 14px; box-shadow: 0 5px 18px rgba(16,43,50,.035); }
.au-reservation-actions > a:hover { border-color: #9ccfca; }
.au-reservation-actions > a.is-primary { color: #fff; background: linear-gradient(120deg,#08766f,#0aa79d); border-color: transparent; }
.au-reservation-actions > a > span:nth-child(2) { display: grid; }
.au-reservation-actions small { color: var(--au-text-secondary); font-size: .75rem; }
.au-reservation-actions .is-primary small { color: #d9f4f1; }
.au-reservation-actions > a > svg { width: 18px; }
.au-reservation-action-icon { display: grid; place-items: center; width: 46px; height: 46px; color: var(--au-brand-primary-dark); background: #e2f5f2; border-radius: 12px; }
.au-reservation-action-icon svg { width: 21px; }
.au-reservation-actions .is-primary .au-reservation-action-icon { color: #fff; background: rgba(255,255,255,.16); }
.au-reservation-agenda { width: 100%; margin-inline: 0; overflow: hidden; }
.au-reservation-row { display: grid; grid-template-columns: 82px minmax(0,1fr) auto 18px; gap: 14px; align-items: center; min-height: 70px; padding: 10px 16px; color: var(--au-text-primary); text-decoration: none; border-bottom: 1px solid #e9efee; }
.au-reservation-row:last-child { border-bottom: 0; }
.au-reservation-row:hover { background: #f8fbfa; }
.au-reservation-row > span { display: grid; min-width: 0; }
.au-reservation-row small { overflow: hidden; color: var(--au-text-secondary); font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.au-reservation-time { padding-right: 12px; border-right: 1px solid var(--au-border); }
.au-reservation-time strong { font-size: 1rem; }
.au-reservation-row > svg { width: 17px; color: #8aa0a3; }
.au-reservation-wizard { overflow: hidden; }
.au-reservation-wizard .reservation-wizard-steps { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 0; margin: 0; padding: 12px 18px 0; list-style: none; background: #fff; }
.au-reservation-wizard .reservation-wizard-steps li { position: relative; min-width: 0; padding: 10px 6px 14px; overflow: hidden; color: #829194; font-size: .7rem; font-weight: 800; text-align: center; text-overflow: ellipsis; white-space: nowrap; border-bottom: 3px solid #e7eeee; }
.au-reservation-wizard .reservation-wizard-steps li.active { color: var(--au-brand-primary-dark); border-color: var(--au-brand-primary); }
.au-reservation-wizard .reservation-wizard-steps li.complete { color: var(--au-success); border-color: #8fd2ae; }
.au-reservation-wizard .reservation-create-grid { display: block; }
.au-reservation-wizard .reservation-create-section { min-height: 390px; padding: 24px; background: #fff; }
.au-reservation-wizard .reservation-create-section h3 { margin: 0 0 18px; font-size: 1.05rem; }
.au-reservation-wizard .reservation-create-section > label { display: grid; gap: 6px; max-width: 680px; margin-bottom: 14px; }
.au-reservation-wizard .reservation-table-section { min-height: 460px; }
.au-reservation-wizard .reservation-wizard-actions { display: flex; justify-content: space-between; gap: 10px; max-width: 680px; margin-top: 24px; padding-top: 16px; border-top: 1px solid var(--au-border); }
.au-reservation-wizard .reservation-confirmation-step { background: #fbfdfc; }
.au-reservation-list-workspace { width: 100%; min-width: 0; padding: 12px; overflow: hidden; }
.au-reservation-status-tabs { padding: 2px 2px 10px; border-bottom: 1px solid var(--au-border); }
.au-reservation-filters { margin: 12px 0; padding: 12px; background: var(--au-surface-subtle); border-radius: 11px; }
.au-reservation-list-workspace .table-wrap { margin: 0; border: 1px solid var(--au-border); border-radius: 11px; }
.au-reservation-list-workspace table { margin: 0; }

@media (max-width: 620px) {
    .au-reservation-actions { grid-template-columns: 1fr; gap: 8px; }
    .au-reservation-actions > a { min-height: 76px; padding: 11px 13px; }
    .au-reservation-row { grid-template-columns: 60px minmax(0,1fr) 16px; gap: 10px; }
    .au-reservation-row .au-state-chip { grid-column: 2; justify-self: start; }
    .au-reservation-row > svg { grid-column: 3; grid-row: 1 / span 2; }
    .au-reservation-wizard .reservation-wizard-steps { padding-inline: 8px; }
    .au-reservation-wizard .reservation-wizard-steps li { font-size: .58rem; }
    .au-reservation-wizard .reservation-create-section { min-height: 430px; padding: 18px 14px; }
}

/* Riders */
.au-riders-workspace { overflow: hidden; }
.au-rider-tabs { padding: 8px 12px; border-bottom: 1px solid var(--au-border); }
.au-rider-toolbar { border-bottom: 1px solid var(--au-border); }
.au-rider-toolbar > a { gap: 6px; }
.au-rider-toolbar > a svg { width: 17px; }
.au-rider-summary { display: flex; gap: 7px; align-items: baseline; padding: 12px 18px; color: var(--au-text-secondary); font-size: .76rem; border-bottom: 1px solid var(--au-border); }
.au-rider-summary strong { color: var(--au-text-primary); font-size: 1rem; }
.au-rider-summary em { margin-left: auto; color: var(--au-success); font-style: normal; font-weight: 800; }
.au-rider-row { display: grid; grid-template-columns: 46px minmax(0,1fr) minmax(105px,.45fr) 68px 18px; gap: 12px; align-items: center; min-height: 72px; padding: 10px 18px; color: var(--au-text-primary); text-decoration: none; border-bottom: 1px solid #e9efee; }
.au-rider-row:last-child { border-bottom: 0; }
.au-rider-row:hover { background: #f8fbfa; }
.au-rider-row > span:nth-child(2) { display: grid; min-width: 0; }
.au-rider-row small { overflow: hidden; color: var(--au-text-secondary); font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.au-rider-row > svg { width: 17px; color: #8aa0a3; }
.au-rider-avatar { display: grid; place-items: center; width: 42px; height: 42px; color: #fff; background: linear-gradient(135deg,var(--au-brand-navy),var(--au-brand-primary-dark)); border-radius: 12px; font-size: .75rem; font-weight: 900; }
.au-rider-avatar.large { width: 58px; height: 58px; font-size: .9rem; }
.au-rider-load { display: grid; text-align: right; }
.au-rider-load strong { font-size: 1rem; }
.au-rider-load small { font-size: .68rem; }
.au-back-link { display: inline-flex; min-height: 44px; align-items: center; margin: 12px 16px 0; color: var(--au-brand-primary-dark); font-size: .78rem; font-weight: 850; text-decoration: none; }
.au-rider-profile { display: grid; grid-template-columns: 64px minmax(0,1fr); gap: 14px; padding: 12px 20px 22px; }
.au-rider-profile > div h2,
.au-rider-profile > div p { margin: 0; }
.au-rider-profile > div p { margin-top: 4px; color: var(--au-text-secondary); }
.au-rider-profile > dl { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 4px 0; }
.au-rider-profile > dl > div { padding: 12px; background: var(--au-surface-subtle); border-radius: 11px; }
.au-rider-profile dt { color: var(--au-text-secondary); font-size: .7rem; font-weight: 800; }
.au-rider-profile dd { margin: 4px 0 0; font-weight: 850; overflow-wrap: anywhere; }
.au-rider-profile > details,
.au-rider-profile > form { grid-column: 1 / -1; }
.au-rider-profile > details > summary { min-height: 48px; }
body.autana-mobile-app-business .au-rider-profile > details > summary { min-height: 48px; }
.au-rider-danger-actions { display: flex; gap: 8px; flex-wrap: wrap; padding-top: 12px; border-top: 1px solid var(--au-border); }

@media (max-width: 700px) {
    .au-rider-toolbar { flex-direction: row; align-items: center; }
    .au-rider-toolbar .au-search { min-width: 0; }
    .au-rider-toolbar > a { flex: 0 0 auto; font-size: 0; padding-inline: 13px; }
    .au-rider-toolbar > a svg { margin: 0; }
    .au-rider-row { grid-template-columns: 44px minmax(0,1fr) 18px; gap: 8px 10px; padding: 10px 12px; }
    .au-rider-row .au-state-chip { grid-column: 2; justify-self: start; }
    .au-rider-load { grid-column: 2; display: flex; gap: 4px; text-align: left; }
    .au-rider-row > svg { grid-column: 3; grid-row: 1 / span 3; }
    .au-rider-profile > dl { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 920px) {
    .au-reservation-list-workspace .au-reservation-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 520px) {
    .au-reservation-list-workspace .au-reservation-filters { grid-template-columns: 1fr; }
}

/* Products */
.au-products-workspace { overflow: visible; }
.au-products-workspace .au-workspace-header > a { display: inline-flex; gap: 6px; color: #fff; }
.au-products-workspace .au-workspace-header > a svg { width: 17px; }
.au-product-list { position: relative; }
.au-product-row { position: relative; display: grid; grid-template-columns: minmax(0,1.6fr) 110px 105px 48px; gap: 14px; align-items: center; min-height: 78px; padding: 10px 14px; border-bottom: 1px solid #e9efee; }
.au-product-row:last-child { border-bottom: 0; }
.au-product-main { display: grid; grid-template-columns: 52px minmax(0,1fr); gap: 12px; align-items: center; min-width: 0; color: var(--au-text-primary); text-decoration: none; }
.au-product-main > span:last-child { display: grid; min-width: 0; }
.au-product-main small { overflow: hidden; margin-top: 3px; color: var(--au-text-secondary); font-size: .73rem; text-overflow: ellipsis; white-space: nowrap; }
.au-product-thumb { display: grid; place-items: center; width: 50px; height: 50px; overflow: hidden; color: var(--au-brand-primary-dark); background: var(--au-surface-subtle); border-radius: 11px; }
.au-product-thumb img { width: 100%; height: 100%; object-fit: cover; }
.au-product-thumb svg { width: 21px; }
.au-product-price { text-align: right; }
.au-row-menu { position: relative; }
.au-row-menu > summary { display: grid; place-items: center; width: 42px; height: 42px; cursor: pointer; list-style: none; font-weight: 900; background: #fff; border: 1px solid var(--au-border); border-radius: 10px; }
.au-row-menu > summary::-webkit-details-marker { display: none; }
.au-row-menu > div { position: absolute; top: calc(100% + 5px); right: 0; z-index: 25; display: grid; width: 190px; padding: 7px; background: #fff; border: 1px solid var(--au-border); border-radius: 11px; box-shadow: var(--au-shadow-soft); }
.au-row-menu a,
.au-row-menu button { display: flex; width: 100%; min-height: 38px; align-items: center; padding: 7px 9px; color: var(--au-text-primary); font: inherit; font-size: .76rem; font-weight: 750; text-decoration: none; background: transparent; border: 0; border-radius: 8px; }
.au-row-menu a:hover,
.au-row-menu button:hover { background: var(--au-surface-subtle); }
.au-row-menu button.is-danger { color: var(--au-danger); }
.product-editor-nav { position: sticky; top: calc(var(--au-header-height) + 8px); z-index: 18; max-width: 1440px; margin: 0 auto 12px; padding: 7px; background: rgba(255,255,255,.97); border: 1px solid var(--au-border); border-radius: 12px; box-shadow: 0 5px 18px rgba(16,43,50,.04); }
.product-editor-nav a, .product-editor-nav button { min-height: 42px; padding-inline: 12px; font-size: .75rem; border-radius: 9px; }
.au-product-editor { padding: 20px; }
.au-product-editor > .form-fieldset { margin: 0 0 16px; padding: 18px; background: #fff; border: 1px solid var(--au-border); border-radius: 13px; }
.au-product-editor > .form-fieldset legend { padding: 0 7px; color: var(--au-text-primary); font-size: .86rem; font-weight: 850; }
.au-product-editor > button[type="submit"] { position: sticky; bottom: 14px; z-index: 12; justify-self: end; min-width: 190px; box-shadow: 0 9px 22px rgba(8,118,111,.2); }

@media (max-width: 620px) {
    .au-products-workspace .au-workspace-header { align-items: flex-start; }
    .au-products-workspace .au-workspace-header > a { width: 48px; padding: 0; font-size: 0; justify-content: center; }
    .au-product-row { grid-template-columns: minmax(0,1fr) auto 42px; gap: 8px 10px; padding: 10px; }
    .au-product-main { grid-column: 1; grid-row: 1 / span 2; grid-template-columns: 46px minmax(0,1fr); }
    .au-product-thumb { width: 44px; height: 44px; }
    .au-product-price { grid-column: 2; grid-row: 1; }
    .au-product-row > .au-state-chip { grid-column: 2; grid-row: 2; justify-self: end; }
    .au-row-menu { grid-column: 3; grid-row: 1 / span 2; }
    .product-editor-nav { top: calc(var(--au-header-height) + 4px); margin-inline: -4px; border-radius: 10px; }
    .au-product-editor { padding: 12px; }
    .au-product-editor > .form-fieldset { padding: 14px; }
    .product-editor-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
    .product-editor-nav a, .product-editor-nav button { min-width: 0; white-space: normal; line-height: 1.2; }
}

@media (max-width: 820px) {
    html body .kakike-category-nav { flex-wrap: wrap; margin-right: 0; padding-right: 0; overflow: visible; }
    html body .kakike-category-nav button { flex: 1 1 132px; min-width: 0; }
    html body .reservation-stepper { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; overflow: visible; }
    html body .reservation-stepper > * { min-width: 0; min-height: 48px; }
    html body .reservation-stepper > *::after { display: none; }
    html body .kakike-product-card button[type="submit"],
    html body .kakike-product-card input[type="number"] { min-height: 48px; }
}

html body .kakike-category-nav { flex-wrap: wrap; overflow: visible; }

.au-v2-upload-grid label { display: grid; gap: 7px; }
.au-v2-upload-grid input[type="file"] { min-width: 0; min-height: 54px; padding: 6px; overflow: hidden; color: var(--au-text-secondary); font-size: .72rem; background: var(--au-surface-subtle); border: 1px solid var(--au-border); border-radius: 10px; }
.au-v2-upload-grid input[type="file"]::file-selector-button { min-height: 40px; margin-right: 9px; padding: 0 12px; color: var(--au-brand-primary-dark); font: inherit; font-weight: 850; background: #fff; border: 1px solid var(--au-border-strong); border-radius: 8px; cursor: pointer; }

/* Public checkout */
.public-shell:has(.au-checkout-shell) { width: min(1180px,calc(100% - 32px)); margin: 0 auto; padding: 24px 0 60px; }
.au-checkout-shell { color: var(--au-text-primary); }
.au-checkout-header { display: flex; justify-content: space-between; gap: 18px; align-items: center; margin-bottom: 18px; padding: 4px 2px; }
.au-checkout-header p,
.au-checkout-header h2 { margin: 0; }
.au-checkout-header .eyebrow { color: var(--au-brand-primary-dark); font-size: .72rem; font-weight: 850; letter-spacing: .07em; }
.au-checkout-header h2 { margin-top: 4px; font-size: clamp(1.45rem,2.5vw,2rem); }
.au-checkout-header .muted { margin-top: 4px; color: var(--au-text-secondary); }
.au-checkout-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(290px,.65fr); gap: 18px; align-items: start; }
.au-checkout-main { display: grid; gap: 14px; }
.au-checkout-step,
.au-checkout-products,
.au-checkout-summary,
.au-checkout-form { background: #fff; border: 1px solid var(--au-border); border-radius: 15px; box-shadow: var(--au-shadow-soft); }
.au-checkout-step { padding: 18px; }
.au-checkout-step > div:first-child { margin-bottom: 12px; }
.au-checkout-step h3,
.au-checkout-step p { margin: 0; }
.au-checkout-step p { color: var(--au-text-secondary); }
.checkout-service-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.checkout-service-option { display: grid; min-height: 88px; padding: 14px; color: var(--au-text-primary); text-decoration: none; background: #fbfcfc; border: 1px solid var(--au-border); border-radius: 12px; }
.checkout-service-option span { margin-top: 4px; color: var(--au-text-secondary); font-size: .75rem; }
.checkout-service-option.is-active { color: #075d58; background: #e2f5f2; border-color: #72c8c0; box-shadow: inset 0 0 0 1px #72c8c0; }
.au-checkout-products { overflow: hidden; }
.au-checkout-products > header { display: flex; justify-content: space-between; align-items: center; padding: 14px 16px; border-bottom: 1px solid var(--au-border); }
.au-checkout-products > header > div { display: flex; gap: 9px; align-items: center; }
.au-checkout-products > header span,
.au-checkout-form > header > span { display: grid; place-items: center; width: 28px; height: 28px; color: #fff; background: var(--au-brand-primary-dark); border-radius: 50%; font-size: .72rem; font-weight: 900; }
.au-checkout-products h3,
.au-checkout-form h3,
.au-checkout-form p { margin: 0; }
.au-checkout-products > header a { color: var(--au-brand-primary-dark); font-size: .76rem; font-weight: 850; text-decoration: none; }
.au-checkout-product { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; padding: 14px 16px; border-bottom: 1px solid #e9efee; }
.au-checkout-product:last-child { border-bottom: 0; }
.checkout-product-summary { display: grid; grid-template-columns: 54px minmax(0,1fr); gap: 12px; align-items: center; }
.checkout-product-summary img { width: 54px; height: 54px; object-fit: cover; border-radius: 11px; }
.checkout-product-summary span { display: grid; }
.checkout-product-summary small { color: var(--au-text-secondary); font-size: .72rem; }
.au-checkout-product-actions { display: flex; gap: 8px; align-items: center; }
.checkout-item-action { display: flex; gap: 6px; align-items: center; }
.checkout-item-quantity { width: 58px; min-height: 48px; }
.au-checkout-summary { position: sticky; top: 24px; padding: 18px; }
.au-checkout-summary h3 { margin: 0 0 14px; }
.au-checkout-summary dl { display: grid; gap: 10px; margin: 0; }
.au-checkout-summary dl > div { display: flex; justify-content: space-between; gap: 14px; }
.au-checkout-summary dt { color: var(--au-text-secondary); }
.au-checkout-summary dd { margin: 0; font-weight: 800; text-align: right; }
.au-checkout-summary .is-total { margin-top: 5px; padding-top: 13px; font-size: 1.08rem; border-top: 1px solid var(--au-border); }
.au-checkout-summary p { margin: 18px 0 3px; padding-top: 13px; font-size: .8rem; font-weight: 800; border-top: 1px solid var(--au-border); }
.au-checkout-summary small { color: var(--au-text-secondary); }
.au-checkout-form { max-width: calc((100% - 18px) * .705); margin-top: 18px; padding: 20px; }
.au-checkout-form > header { display: flex; gap: 10px; align-items: center; margin-bottom: 6px; }
.au-checkout-form > header p { color: var(--au-text-secondary); font-size: .76rem; }
.checkout-payment-step { padding: 14px; background: var(--au-surface-subtle); border: 1px solid var(--au-border); border-radius: 11px; }
.checkout-payment-step span { display: block; margin-top: 3px; color: var(--au-text-secondary); font-size: .76rem; }
.StickyCheckoutAction { min-height: 54px; font-size: .95rem; }

@media (max-width: 820px) {
    .public-shell:has(.au-checkout-shell) { width: min(100% - 24px,720px); padding-top: 14px; }
    .au-checkout-layout { grid-template-columns: 1fr; }
    .au-checkout-summary { position: static; }
    .au-checkout-form { max-width: none; }
}
@media (max-width: 520px) {
    .au-checkout-header { align-items: flex-start; }
    .au-checkout-header .muted { display: none; }
    .checkout-service-options { grid-template-columns: 1fr; }
    .checkout-service-option { min-height: 74px; }
    .au-checkout-product { grid-template-columns: 1fr; }
    .au-checkout-product-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; width: 100%; }
    .au-checkout-product-actions .checkout-item-action { grid-column: 1 / -1; display: grid; grid-template-columns: 68px minmax(0,1fr); }
    .au-checkout-product-actions > strong { grid-column: 1; }
    .au-checkout-product-actions > form:last-child { grid-column: 2; }
    .au-checkout-form { padding: 14px; }
    .StickyCheckoutAction { position: sticky; bottom: 10px; z-index: 8; box-shadow: 0 10px 24px rgba(8,118,111,.24); }
}

/* More / operational settings index */
.au-more-index { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; max-width: 920px; margin-inline: auto; }
.au-more-index > .au-workspace { width: 100%; margin-inline: 0; }
.au-more-group { overflow: hidden; }
.au-settings-list { display: grid; }
.au-settings-row { display: grid; grid-template-columns: 42px minmax(0,1fr) 18px; gap: 11px; align-items: center; min-height: 66px; padding: 10px 16px; color: var(--au-text-primary); text-decoration: none; border-bottom: 1px solid #e9efee; }
.au-settings-row:last-child { border-bottom: 0; }
.au-settings-row:hover { background: #f8fbfa; }
.au-settings-row > span:nth-child(2) { display: grid; min-width: 0; }
.au-settings-row small { color: var(--au-text-secondary); font-size: .73rem; }
.au-settings-icon { display: grid; place-items: center; width: 40px; height: 40px; color: var(--au-brand-primary-dark); background: #e2f5f2; border-radius: 11px; }
.au-settings-icon svg { width: 20px; }
.au-settings-chevron svg { width: 17px; color: #8aa0a3; }
.au-version-row { display: flex; justify-content: space-between; gap: 14px; align-items: center; min-height: 64px; padding: 10px 16px; background: #fff; border: 1px solid var(--au-border); border-radius: 13px; }
.au-version-row > span { display: grid; }
.au-version-row small { color: var(--au-text-secondary); font-size: .72rem; }
.au-version-row > strong { color: var(--au-text-secondary); font-size: .78rem; }
.au-mobile-account { display: flex; justify-content: center; }
.au-signout { min-height: 46px; padding: 0 18px; color: var(--au-danger); font: inherit; font-weight: 800; background: transparent; border: 1px solid #f0c0c0; border-radius: 11px; }
.au-v2-form-card fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 12px; border: 1px solid var(--au-border); border-radius: 12px; }
.au-v2-form-card fieldset legend { grid-column: 1 / -1; padding-inline: 5px; }
.au-v2-form-card fieldset label { display: flex; align-items: center; gap: 8px; }
.au-v2-form-card fieldset input[type="checkbox"] { width: 20px; height: 20px; margin: 0; }
.au-v2-public-layout form > .au-button { justify-self: start; width: auto; }

@media (max-width: 520px) {
    .au-more-index { grid-template-columns: 1fr; gap: 10px; }
    .au-more-group .au-workspace-header { padding-block: 12px; }
    .au-settings-row { min-height: 62px; padding-inline: 12px; }
}

/* Order detail states */
.au-order-detail,
.au-order-delivery,
.au-order-items { margin-bottom: 14px; overflow: hidden; }
.au-order-detail .commerce-order-flow { margin: 0; padding: 14px 18px; border-bottom: 1px solid var(--au-border); }
.au-order-facts { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0; border-bottom: 1px solid var(--au-border); }
.au-order-facts .metric { min-height: 82px; padding: 14px 16px; background: #fff; border: 0; border-right: 1px solid var(--au-border); border-radius: 0; box-shadow: none; }
.au-order-facts .metric:last-child { border-right: 0; }
.au-order-facts .metric span { color: var(--au-text-secondary); font-size: .7rem; }
.au-order-facts .metric strong { display: block; margin-top: 5px; font-size: .9rem; }
.au-order-next-action { margin: 16px; padding: 18px; background: #f0f9f7; border: 1px solid #c9e8e4; border-radius: 13px; }
.au-order-next-action h3 { margin: 0 0 10px; }
.au-order-next-action form,
.au-order-next-action .inline-form { margin-top: 10px; }
.au-order-delivery > :not(.au-workspace-header),
.au-order-items > :not(.au-workspace-header) { margin-inline: 18px; }
.au-order-delivery { padding-bottom: 18px; }
.au-order-items { padding-bottom: 14px; }

@media (max-width: 720px) {
    .au-order-facts { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .au-order-facts .metric:nth-child(2n) { border-right: 0; }
    .au-order-facts .metric { border-bottom: 1px solid var(--au-border); }
    .au-order-next-action { margin: 12px; padding: 14px; }
    .au-order-delivery > :not(.au-workspace-header),
    .au-order-items > :not(.au-workspace-header) { margin-inline: 12px; }
}
.au-cash-page{display:grid;gap:18px;max-width:1180px;margin:0 auto}.au-cash-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 30px;border:1px solid color-mix(in srgb,var(--color-border) 74%,transparent);border-radius:24px;background:linear-gradient(125deg,#fffaf1 0%,#fff 56%,#eef7f1 100%);box-shadow:0 18px 48px rgba(28,50,38,.08)}.au-cash-hero h2{margin:2px 0 7px;font-size:clamp(1.65rem,3vw,2.4rem)}.au-cash-hero p{margin:0;max-width:640px}.au-cash-state,.au-payment-pill{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-weight:800;font-size:.78rem;letter-spacing:.02em}.au-cash-state.is-active,.au-payment-pill.is-paid{color:#17643d;background:#dff4e8}.au-cash-state.is-inactive,.au-payment-pill.is-pending{color:#8a4c11;background:#fff0d6}.au-cash-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.au-cash-summary article{padding:15px 17px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}.au-cash-summary span{display:block;color:var(--color-text-muted);font-size:.78rem}.au-cash-summary strong{display:block;margin-top:5px;font-size:1.05rem}.au-cash-config{display:grid;gap:12px}.au-cash-card{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:20px 22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.au-cash-card h3,.au-cash-history h3{margin:0 0 4px}.au-cash-card p{margin:0;color:var(--color-text-muted);max-width:680px}.au-switch,.au-check-row{display:flex;align-items:center;gap:11px;cursor:pointer}.au-switch input,.au-check-row input,.au-payment-option input{accent-color:#17643d}.au-switch span{font-weight:800;white-space:nowrap}.au-cash-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.au-cash-fields>label:not(.au-check-row){display:grid;gap:7px;font-weight:700}.au-check-row{padding:13px;border-radius:14px;background:#f7f5ef}.au-check-row span{display:grid;gap:2px}.au-check-row small,.au-cash-notice small{color:var(--color-text-muted);font-weight:400}.au-cash-notice{grid-column:1/-1}.au-cash-notice textarea{resize:vertical;min-height:76px}.au-money-input{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:12px;background:#fff;overflow:hidden}.au-money-input span{padding-left:12px;font-weight:800}.au-money-input input{border:0;box-shadow:none}.au-cash-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end}.au-cash-history{padding:20px 22px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface)}.au-payment-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.au-payment-option{display:flex!important;align-items:flex-start;gap:10px;padding:15px!important;border:1px solid var(--color-border);border-radius:15px;background:#fff}.au-payment-option:has(input:checked){border-color:#26724b;box-shadow:0 0 0 2px rgba(38,114,75,.12)}.au-payment-option span{display:grid;gap:3px}.au-payment-option small{color:var(--color-text-muted)}.au-payment-option.is-cash{background:#f4faf6}.au-cash-collection-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid #b7ddc8;border-radius:16px;background:#eff9f3}.au-cash-collection-callout>div{display:grid;gap:2px}.au-cash-collection-callout span,.au-cash-collection-callout small{color:#476353}.au-cash-collection-callout strong{font-size:1.05rem;color:#17643d}@media(max-width:760px){.au-cash-hero,.au-cash-card,.au-cash-collection-callout{align-items:stretch;flex-direction:column}.au-cash-summary,.au-cash-fields,.au-payment-options{grid-template-columns:1fr 1fr}.au-cash-actions{align-items:stretch;flex-direction:column}.au-cash-actions>*{width:100%;justify-content:center}}@media(max-width:520px){.au-cash-summary,.au-cash-fields,.au-payment-options{grid-template-columns:1fr}.au-cash-hero{padding:21px}.au-cash-card,.au-cash-history{padding:17px}.au-cash-notice{grid-column:auto}}

/* Autana approved unified navigation: one continuous navy sidebar. */
body.autana-backoffice {
    --au-sidebar-width: 248px;
    --au-sidebar-collapsed-width: 76px;
}

body.autana-backoffice.autana-sidebar-collapsed { --au-sidebar-width: var(--au-sidebar-collapsed-width); }
.au-app-shell--flow { grid-template-columns: var(--au-sidebar-width) minmax(0, 1fr); }

.au-sidebar,
.au-app-shell--flow .au-sidebar {
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 12px;
    width: var(--au-sidebar-width);
    padding: 18px 14px 14px;
    color: #eaf4ff;
    background: linear-gradient(180deg, #071f3c 0%, #082c52 58%, #071f3c 100%);
    border-right: 1px solid rgba(255,255,255,.08);
    box-shadow: 10px 0 28px rgba(6,25,49,.12);
    transition: width 180ms ease, transform 180ms ease;
}

.au-app-shell--flow .au-main { padding-inline: clamp(20px, 3vw, 42px); }
.au-app-shell--flow .au-app-header { inset-inline-start: var(--au-sidebar-width); padding-inline: clamp(20px, 3vw, 42px); }
.au-sidebar-brand { min-height: 48px; color: #fff; }
.au-sidebar-brand:hover { background: rgba(255,255,255,.06); }
.au-sidebar-brand strong { color: #fff; font-size: 1rem; letter-spacing: .08em; }
.au-sidebar-brand small { color: #9fb6cf; }

.au-location-switcher > summary,
.au-app-shell--flow .au-location-switcher > summary {
    grid-template-columns: 38px minmax(0,1fr) 18px;
    min-height: 62px;
    padding: 9px;
    color: #fff;
    background: rgba(255,255,255,.065);
    border-color: rgba(255,255,255,.08);
}
.au-location-switcher > summary:hover,
.au-location-switcher > summary:focus-visible { background: rgba(255,255,255,.1); border-color: rgba(0,207,224,.55); }
.au-location-switcher summary small { color: #9fb6cf; }
.au-location-panel { color: var(--au-text-primary); }

.au-sidebar-nav .nav-group-label { color: #7fa4c5; }
.au-sidebar-nav > a,
.au-sidebar-nav .autana-sidebar-section > a,
.au-sidebar-nav .au-sidebar-group > a,
.au-sidebar-nav .autana-sidebar-section > summary,
.au-sidebar-nav .au-sidebar-group > summary,
.au-app-shell--flow .au-sidebar-nav > a,
.au-app-shell--flow .au-sidebar-nav .au-sidebar-group > summary {
    min-height: 42px;
    padding: 9px 11px;
    color: #dce9f7;
    font-size: .84rem;
}
.au-sidebar-nav .autana-sidebar-section > a,
.au-sidebar-nav .au-sidebar-group > a,
.au-app-shell--flow .au-sidebar-nav .au-sidebar-group > a {
    min-height: 36px;
    margin-left: 28px;
    padding: 7px 10px;
    color: #bfd0e2;
    font-size: .77rem;
}
.au-sidebar-nav .autana-sidebar-section > summary::after,
.au-sidebar-nav .au-sidebar-group > summary::after { color: #9fb6cf; }
.au-sidebar-nav a:hover,
.au-sidebar-nav summary:hover { color: #fff; background: rgba(255,255,255,.075); }
.au-sidebar-nav a.active,
.au-sidebar-nav a[aria-current="page"] {
    color: #dfffff;
    background: rgba(20,185,198,.19);
    box-shadow: inset 3px 0 0 #12d1d8;
}
.au-sidebar-nav a.active::before,
.au-sidebar-nav a[aria-current="page"]::before { display: none; }
.au-sidebar-nav svg { color: currentColor; }

.au-sidebar-footer,
.au-app-shell--flow .au-sidebar-footer {
    position: relative;
    display: grid;
    grid-template-columns: 38px minmax(0,1fr) 34px;
    min-height: 58px;
    padding: 10px 0 0;
    color: #fff;
    border-top-color: rgba(255,255,255,.14);
}
.au-sidebar-footer small { color: #9fb6cf; }
.au-sidebar-collapse {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    padding: 0;
    color: #dce9f7;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 10px;
    cursor: pointer;
}
.au-sidebar-collapse:hover { color: #fff; background: rgba(255,255,255,.12); }

body.autana-sidebar-collapsed .au-sidebar { padding-inline: 10px; }
body.autana-sidebar-collapsed .au-sidebar-brand { justify-content: center; padding-inline: 0; }
body.autana-sidebar-collapsed .au-sidebar-brand .brand-copy,
body.autana-sidebar-collapsed .au-location-switcher summary > span:nth-child(2),
body.autana-sidebar-collapsed .au-location-switcher summary > svg,
body.autana-sidebar-collapsed .au-sidebar-nav .nav-group-label,
body.autana-sidebar-collapsed .au-sidebar-nav a > span,
body.autana-sidebar-collapsed .au-sidebar-nav summary > span,
body.autana-sidebar-collapsed .au-sidebar-nav summary::after,
body.autana-sidebar-collapsed .au-sidebar-footer > span:nth-child(2) { display: none; }
body.autana-sidebar-collapsed .au-location-switcher > summary { display: grid; grid-template-columns: 40px; justify-content: center; padding: 8px 4px; }
body.autana-sidebar-collapsed .au-sidebar-nav { overflow: visible; }
body.autana-sidebar-collapsed .au-sidebar-nav > a,
body.autana-sidebar-collapsed .au-sidebar-nav details > summary { justify-content: center; margin: 0; padding-inline: 0; }
body.autana-sidebar-collapsed .au-sidebar-nav details > a { display: none; }
body.autana-sidebar-collapsed .au-sidebar-footer { grid-template-columns: 38px; justify-content: center; }
body.autana-sidebar-collapsed .au-sidebar-collapse { position: absolute; right: -27px; bottom: 7px; color: #fff; background: #0b355f; }
body.autana-sidebar-collapsed .au-sidebar-collapse span { rotate: 180deg; }

@media (max-width: 920px) {
    body.autana-backoffice,
    body.autana-backoffice.autana-sidebar-collapsed { --au-sidebar-width: 248px; }
    .au-sidebar,
    .au-app-shell--flow .au-sidebar { z-index: 80; width: min(310px,88vw); padding: 18px 14px 14px; }
    .au-app-shell--flow .au-app-header { inset-inline: 0; padding-inline: 16px; }
    .au-sidebar-collapse { display: none; }
    body.autana-sidebar-collapsed .au-sidebar-brand .brand-copy,
    body.autana-sidebar-collapsed .au-location-switcher summary > span:nth-child(2),
    body.autana-sidebar-collapsed .au-sidebar-footer > span:nth-child(2) { display: grid; }
    body.autana-sidebar-collapsed .au-location-switcher summary > svg,
    body.autana-sidebar-collapsed .au-sidebar-nav .nav-group-label,
    body.autana-sidebar-collapsed .au-sidebar-nav a > span,
    body.autana-sidebar-collapsed .au-sidebar-nav summary > span,
    body.autana-sidebar-collapsed .au-sidebar-nav summary::after { display: block; }
    body.autana-sidebar-collapsed .au-location-switcher > summary { display: grid; grid-template-columns: 38px minmax(0,1fr) 18px; justify-content: stretch; padding: 9px; }
    body.autana-sidebar-collapsed .au-sidebar-nav { overflow: hidden auto; }
    body.autana-sidebar-collapsed .au-sidebar-nav > a,
    body.autana-sidebar-collapsed .au-sidebar-nav details > summary { justify-content: flex-start; padding-inline: 11px; }
    body.autana-sidebar-collapsed .au-sidebar-nav details > a { display: flex; }
    body.autana-sidebar-collapsed .au-sidebar-footer { grid-template-columns: 38px minmax(0,1fr); justify-content: stretch; }

    .autana-backoffice .kitchen-order-card > *,
    .autana-backoffice .kitchen-order-card .panel-header,
    .autana-backoffice .kitchen-order-card .metric-grid,
    .autana-backoffice .kitchen-order-card .header-actions,
    .autana-backoffice .commerce-mobile-table-wrap,
    .autana-backoffice .commerce-mobile-table-wrap table,
    .autana-backoffice .commerce-mobile-table-wrap tbody,
    .autana-backoffice .commerce-mobile-table-wrap tr,
    .autana-backoffice .commerce-mobile-table-wrap td {
        min-width: 0 !important;
        max-width: 100%;
        width: 100%;
    }
    .autana-backoffice .commerce-mobile-table-wrap { overflow: hidden; }
    .autana-backoffice .responsive-card-table thead { display: none; }
    .autana-backoffice .responsive-card-table,
    .autana-backoffice .responsive-card-table tbody,
    .autana-backoffice .responsive-card-table tr,
    .autana-backoffice .responsive-card-table td { display: block; }
    .autana-backoffice .responsive-card-table tr { padding: 10px 0; }
    .autana-backoffice .responsive-card-table td { padding: 4px 0; }

    .autana-backoffice .au-cash-page > *,
    .autana-backoffice .au-cash-hero > *,
    .autana-backoffice .au-cash-summary > *,
    .autana-backoffice .au-cash-card > *,
    .autana-backoffice .au-cash-actions > * {
        min-width: 0;
        max-width: 100%;
    }
    .autana-backoffice .au-cash-hero,
    .autana-backoffice .au-cash-card,
    .autana-backoffice .au-cash-history,
    .autana-backoffice .au-cash-summary,
    .autana-backoffice .au-cash-config,
    .autana-backoffice .au-cash-actions { width: 100%; }
    .autana-backoffice .au-cash-history .table-wrap {
        min-width: 0;
        width: 100%;
        overflow-x: auto;
    }
    .autana-backoffice .au-cash-history table { min-width: 620px; }
}

@media (max-width: 620px) {
    .autana-backoffice .au-v2-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .autana-backoffice .au-v2-metrics article { min-height: 104px; padding: 13px 14px; }
    .autana-backoffice .au-v2-metrics strong { font-size: 1.35rem; }
    .autana-backoffice .au-v2-link-grid--people > a { padding: 14px; }
    .autana-backoffice .au-promotion-list > article { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; }
    .autana-backoffice .au-promotion-list > article > div:not(.au-row-actions) { flex-basis: auto; }
    .autana-backoffice .au-promotion-list .au-row-actions { grid-column: 1 / -1; margin: 4px 0 0; }
}
