.admin-shell { background: #f4f6f9; min-height: 100vh; }
.admin-app { display: grid; grid-template-columns: 17.5rem minmax(0, 1fr); min-height: 100vh; }
.admin-sidebar { background: linear-gradient(165deg, #17202a 0%, #111923 70%, #0c131c 100%); color: #fff; display: flex; flex-direction: column; height: 100svh; overflow-y: auto; padding: 1.15rem; position: sticky; top: 0; z-index: 40; }
.admin-sidebar-head { padding: .25rem .3rem 1.4rem; }
.admin-wordmark { align-items: center; color: #fff; display: flex; gap: .8rem; min-width: 0; text-decoration: none; }
.admin-wordmark > span:last-child { display: grid; min-width: 0; }
.admin-wordmark strong { font-size: 1.02rem; max-width: 12rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-wordmark small { color: #9eabb8; font-size: .72rem; font-weight: 720; letter-spacing: .06em; margin-top: .14rem; text-transform: uppercase; }
.admin-logo { align-items: end; background: var(--accent); border-radius: .8rem; display: flex; flex: 0 0 auto; gap: .16rem; height: 2.6rem; justify-content: center; padding: .62rem; width: 2.6rem; }
.admin-logo span { background: var(--accent-ink); border-radius: .12rem; display: block; width: .28rem; }
.admin-logo span:nth-child(1) { height: .58rem; }
.admin-logo span:nth-child(2) { height: 1.15rem; }
.admin-logo span:nth-child(3) { height: .83rem; }
.admin-sidebar-nav { display: grid; gap: .25rem; }
.admin-nav-label { color: #7f8d9b; font-size: .67rem; font-weight: 850; letter-spacing: .13em; margin: 1.1rem .75rem .35rem; text-transform: uppercase; }
.admin-sidebar-nav > a { align-items: center; border: .0625rem solid transparent; border-radius: .8rem; color: #d8e0e8; display: flex; font-size: .9rem; font-weight: 760; gap: .7rem; min-height: 3rem; padding: .65rem .75rem; text-decoration: none; }
.admin-sidebar-nav > a:hover { background: rgb(255 255 255 / 7%); color: #fff; }
.admin-sidebar-nav > a.is-active { background: #fff; border-color: rgb(255 255 255 / 14%); box-shadow: 0 .6rem 1.8rem rgb(0 0 0 / 18%); color: #17202a; }
.admin-nav-icon { align-items: center; background: rgb(255 255 255 / 9%); border-radius: .55rem; display: inline-flex; flex: 0 0 auto; font-size: .9rem; height: 1.8rem; justify-content: center; width: 1.8rem; }
.admin-sidebar-nav > a.is-active .admin-nav-icon { background: color-mix(in srgb, var(--accent) 22%, #fff); color: #17202a; }
.admin-sidebar-footer { display: grid; gap: .65rem; margin-top: auto; padding-top: 1.5rem; }
.admin-public-link { align-items: center; border: .0625rem solid rgb(255 255 255 / 14%); border-radius: .8rem; color: #d8e0e8; display: flex; font-size: .84rem; font-weight: 760; gap: .55rem; min-height: 2.8rem; padding: .65rem .75rem; text-decoration: none; }
.admin-public-link:hover { background: rgb(255 255 255 / 7%); color: #fff; }
.admin-user-card { align-items: center; background: rgb(255 255 255 / 7%); border: .0625rem solid rgb(255 255 255 / 10%); border-radius: .9rem; display: grid; gap: .55rem; grid-template-columns: auto minmax(0, 1fr); padding: .65rem; }
.admin-user-avatar { align-items: center; background: var(--accent); border-radius: .65rem; color: var(--accent-ink); display: inline-flex; font-size: .85rem; font-weight: 900; height: 2.3rem; justify-content: center; width: 2.3rem; }
.admin-user-copy { display: grid; min-width: 0; }
.admin-user-copy strong { font-size: .78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-user-copy small { color: #9eabb8; font-size: .7rem; margin-top: .12rem; }
.admin-user-card form { grid-column: 1 / -1; margin: 0; }
.admin-logout { background: transparent; border: .0625rem solid rgb(255 255 255 / 13%); color: #d8e0e8; font-size: .76rem; min-height: 2.35rem; padding: .45rem .65rem; width: 100%; }
.admin-logout:hover { background: rgb(255 255 255 / 8%); color: #fff; }
.admin-workspace { min-width: 0; }
.admin-topbar { align-items: center; backdrop-filter: blur(.8rem); background: rgb(244 246 249 / 88%); border-bottom: .0625rem solid #e1e6eb; color: #52606d; display: flex; font-size: .78rem; font-weight: 760; justify-content: space-between; min-height: 3.8rem; padding: .7rem clamp(1rem, 3vw, 2.25rem); position: sticky; top: 0; z-index: 30; }
.admin-topbar > div { align-items: center; display: flex; gap: .5rem; }
.admin-topbar > a { color: #34414d; text-decoration: none; }
.admin-topbar-dot { background: #20a36a; border: .2rem solid #dff7ed; border-radius: 50%; height: .8rem; width: .8rem; }
.admin-main { margin-inline: auto; max-width: 92rem; padding: clamp(1.5rem, 4vw, 3rem) clamp(1rem, 3vw, 2.25rem) 5rem; width: 100%; }
.admin-page-heading { align-items: end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.5rem; }
.admin-page-heading h1, .admin-form-card h1 { font-size: clamp(2.2rem, 5vw, 4rem); }
.admin-page-heading .lead { margin-bottom: 0; }
.admin-refresh-bar { align-items: center; background: var(--paper); border: .0625rem solid var(--line); border-radius: .9rem; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1rem; min-height: 3.5rem; padding: .8rem 1rem; }
.admin-refresh-state { align-items: center; display: flex; gap: .75rem; min-width: 0; }
.admin-refresh-state > div { display: grid; gap: .16rem; }
.admin-refresh-state strong { font-size: .88rem; }
.admin-refresh-time { color: var(--muted); font-size: .76rem; font-variant-numeric: tabular-nums; }
.admin-refresh-dot { background: #16824f; border: .2rem solid #dff3e8; border-radius: 50%; flex: 0 0 auto; height: .82rem; width: .82rem; }
.admin-refresh-bar.is-paused .admin-refresh-dot { background: #c08000; border-color: #fff0c7; }
.admin-refresh-bar.is-error { background: #fff7f6; border-color: #d9a7a3; }
.admin-refresh-bar.is-error .admin-refresh-dot { background: #b73636; border-color: #f8dfdf; }
.admin-refresh-bar form { flex: 0 0 auto; margin: 0; }
.admin-refresh-bar .button { min-height: 2.75rem; }
.admin-section-tabs { align-items: center; border-bottom: .0625rem solid #d8dee4; display: flex; gap: .25rem; margin-bottom: 1.5rem; overflow-x: auto; }
.admin-section-tabs a { border-bottom: .18rem solid transparent; color: var(--muted); flex: 0 0 auto; font-size: .9rem; font-weight: 820; padding: .75rem 1rem; text-decoration: none; }
.admin-section-tabs a:hover { color: var(--ink); }
.admin-section-tabs a.is-active { border-bottom-color: var(--brand); color: var(--ink); }
.new-order-banner { align-items: center; background: #fff2cc; border: .08rem solid #d5a400; border-radius: 1rem; display: flex; gap: .6rem; margin-bottom: 1rem; padding: .9rem 1rem; }
.order-columns { display: grid; gap: 1rem; grid-template-columns: repeat(5, minmax(15rem, 1fr)); overflow-x: auto; overscroll-behavior-inline: contain; padding-bottom: .8rem; scrollbar-gutter: stable; scroll-snap-type: x proximity; }
.order-column { background: #e9edf1; border-radius: 1rem; min-height: 16rem; padding: .8rem; scroll-snap-align: start; }
.order-column h2 { align-items: center; display: flex; font-size: 1rem; gap: .5rem; justify-content: flex-start; margin: 0 0 .75rem; }
.column-count { background: #fff; border-radius: 999px; font-size: .75rem; margin-left: auto; min-width: 1.7rem; padding: .2rem .45rem; text-align: center; }
.status-dot { background: #66717c; border-radius: 50%; height: .65rem; width: .65rem; }
.status-dot.status-new { background: #b54708; }
.status-dot.status-accepted { background: #0969da; }
.status-dot.status-preparing { background: #7a4e00; }
.status-dot.status-ready { background: #16794d; }
.status-dot.status-out_for_delivery { background: #6f42c1; }
.order-card-list { display: grid; gap: .7rem; }
.order-card { background: #fff; border: .06rem solid #d8dee4; border-radius: .85rem; box-shadow: 0 .3rem .9rem rgb(23 32 42 / 6%); padding: .85rem; }
.order-card p { margin: .5rem 0; }
.order-card-head { align-items: center; display: flex; gap: .5rem; justify-content: space-between; }
.status-label { background: #edf1f5; border-radius: 999px; display: inline-flex; font-size: .75rem; font-weight: 800; padding: .3rem .55rem; }
.status-new { background: #fff2e8; color: #853407; }
.status-accepted { background: #eaf4ff; color: #0756a7; }
.status-preparing { background: #fff5d8; color: #624000; }
.status-ready { background: #e7f7ee; color: #11663f; }
.status-completed { background: #e7f7ee; color: #11663f; }
.status-rejected, .status-cancelled { background: #fff0ef; color: #922a25; }
.status-refunded, .status-out_for_delivery { background: #f1ebff; color: #5d35a0; }
.due-time { color: #333d47; font-variant-numeric: tabular-nums; }
.column-empty { color: #66717c; font-size: .9rem; margin: 2rem .5rem; text-align: center; }
.order-detail-heading { align-items: center; }
.due-panel { background: #17202a; border-radius: 1rem; color: #fff; display: grid; min-width: min(100%, 19rem); padding: 1rem 1.2rem; }
.due-panel span, .due-panel small { color: #c8d1da; }
.due-panel strong { font-size: 1.55rem; }
.admin-detail-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.5fr) minmax(18rem, .7fr); }
.admin-detail-grid h2, .audit-card h2 { font-size: 1.35rem; margin-top: 0; }
.admin-side-stack { display: grid; gap: 1rem; }
.admin-side-stack address { font-style: normal; }
.admin-item-list, .audit-list { list-style: none; margin: 0; padding: 0; }
.admin-item-list > li { align-items: start; border-bottom: .06rem solid var(--line); display: flex; gap: 1rem; justify-content: space-between; padding: .9rem 0; }
.admin-item-list span { color: var(--muted); display: block; }
.admin-item-list ul { color: var(--muted); font-size: .9rem; margin: .3rem 0 0; }
.customer-note { background: #fff7d8; border-radius: .75rem; margin-top: 1rem; padding: .8rem 1rem; }
.customer-note p { margin-bottom: 0; white-space: pre-wrap; }
.transition-form { border-top: .06rem solid var(--line); display: grid; gap: .5rem; padding-block: .8rem; }
.transition-form:first-of-type { border-top: 0; }
.button-danger { background: #a32b2b; color: #fff; }
.audit-card { margin-top: 1rem; }
.audit-list li { align-items: baseline; border-top: .06rem solid var(--line); display: grid; gap: .5rem 1rem; grid-template-columns: 10rem 10rem 1fr; padding-block: .65rem; }
.audit-list time { color: var(--muted); font-variant-numeric: tabular-nums; }
.admin-history-filters { margin-bottom: 1rem; }
.admin-history-filter-form { align-items: end; display: grid; gap: .8rem; grid-template-columns: minmax(12rem, 1.2fr) repeat(3, minmax(10rem, 1fr)) auto; }
.admin-history-filter-form > div { display: grid; gap: .35rem; min-width: 0; }
.admin-history-filter-form label { font-size: .78rem; font-weight: 820; }
.admin-history-filter-form .errorlist { color: var(--danger); font-size: .8rem; margin: 0; padding-left: 1rem; }
.admin-history-filter-actions { display: flex !important; flex-direction: row; gap: .5rem !important; }
.admin-history-results { overflow: hidden; }
.admin-history-table-wrap { overflow-x: auto; }
.admin-history-table { border-collapse: collapse; min-width: 58rem; width: 100%; }
.admin-history-table th, .admin-history-table td { border-top: .0625rem solid var(--line); padding: .85rem .7rem; text-align: left; vertical-align: middle; }
.admin-history-table thead th { border-top: 0; color: var(--muted); font-size: .7rem; letter-spacing: .06em; padding-top: 0; text-transform: uppercase; }
.admin-history-table tbody th { font-size: .95rem; }
.admin-history-table small { color: var(--muted); display: block; font-size: .75rem; margin-top: .2rem; }
.admin-history-table time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.admin-history-action { text-align: right !important; }
.admin-pagination { align-items: center; display: flex; gap: .8rem; justify-content: center; margin-top: 1rem; }
.admin-report-filter { margin-bottom: 1rem; }
.admin-report-filter-form { align-items: end; display: flex; flex-wrap: wrap; gap: .8rem; }
.admin-report-filter-form > div { display: grid; flex: 1 1 13rem; gap: .35rem; min-width: 0; }
.admin-report-filter-form > .notice { flex-basis: 100%; }
.admin-report-filter-form label { font-size: .78rem; font-weight: 820; }
.admin-report-filter-form .errorlist { color: var(--danger); font-size: .8rem; margin: 0; padding-left: 1rem; }
.admin-report-filter-form > button { flex: 0 0 auto; }
.admin-report-note { margin-bottom: 1rem; }
.admin-report-kpis { grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); margin-bottom: 1rem; }
.admin-report-value-kpi dt small { color: var(--muted); display: block; font-size: .7rem; font-weight: 650; letter-spacing: 0; margin-top: .2rem; text-transform: none; }
.admin-report-value-kpi dd { font-size: clamp(1.45rem, 3vw, 2.25rem); overflow-wrap: anywhere; }
.admin-report-breakdowns { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; margin-bottom: 1rem; }
.admin-report-breakdown ul { list-style: none; margin: 0; padding: 0; }
.admin-report-breakdown li { align-items: center; border-top: .0625rem solid var(--line); display: flex; gap: 1rem; justify-content: space-between; padding-block: .75rem; }
.admin-report-breakdown li:first-child { border-top: 0; padding-top: 0; }
.admin-report-breakdown li > span:last-child { align-items: baseline; display: flex; gap: .55rem; text-align: right; }
.admin-report-breakdown li strong { font-variant-numeric: tabular-nums; }
.admin-report-breakdown li small { color: var(--muted); min-width: 3.5rem; }
.admin-report-daily { overflow: hidden; }
.admin-report-table { min-width: 42rem; }
.admin-report-table td:not(:first-child) { font-variant-numeric: tabular-nums; }
.admin-report-empty { gap: .75rem; }
.admin-form-card { margin-inline: auto; max-width: 48rem; }
.admin-form-card form { margin-top: 1.5rem; }
.admin-form-card .errorlist { color: var(--danger); }
.admin-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .65rem; }
.admin-actions form { margin: 0; }
.admin-breadcrumb { align-items: center; color: var(--muted); display: flex; flex-wrap: wrap; font-size: .9rem; gap: .5rem; margin: 0 0 1.2rem; }
.visually-hidden { clip: rect(0 0 0 0); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.admin-overview { align-items: stretch; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.1fr) minmax(22rem, .9fr); margin-bottom: 1rem; }
.admin-kpi-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.admin-kpi { background: #fff; border: .0625rem solid #e0e5ea; border-radius: 1.05rem; box-shadow: 0 .5rem 1.8rem rgb(24 35 47 / 5%); display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 8.5rem; padding: 1rem; }
.admin-kpi dt { align-self: end; color: var(--muted); font-size: .76rem; font-weight: 780; grid-column: 1 / -1; order: 3; }
.admin-kpi dd { align-self: center; font-size: clamp(2rem, 4vw, 3rem); font-weight: 900; letter-spacing: -.06em; margin: 0; }
.admin-kpi > span { align-items: center; align-self: start; background: color-mix(in srgb, var(--accent) 20%, #fff); border-radius: .65rem; color: #26323d; display: inline-flex; font-weight: 900; height: 2.2rem; justify-content: center; width: 2.2rem; }
.admin-readiness { box-shadow: 0 .5rem 1.8rem rgb(24 35 47 / 5%); padding: 1rem 1.15rem; }
.admin-readiness-head { align-items: start; display: flex; gap: 1rem; justify-content: space-between; }
.admin-readiness-head .eyebrow { margin-bottom: .25rem; }
.admin-readiness-head h2 { font-size: 1.15rem; margin: 0; }
.admin-readiness-head > strong { color: var(--brand); font-size: 1.15rem; white-space: nowrap; }
.admin-progress { background: #e7ebef; border-radius: 999px; height: .5rem; margin-block: .9rem; overflow: hidden; }
.admin-progress span { background: linear-gradient(90deg, var(--brand), var(--accent)); border-radius: inherit; display: block; height: 100%; }
.admin-checklist { display: grid; gap: .28rem; grid-template-columns: 1fr 1fr; list-style: none; margin: 0; padding: 0; }
.admin-checklist li { align-items: baseline; color: var(--muted); display: flex; font-size: .78rem; gap: .42rem; min-width: 0; }
.admin-checklist li > span { flex: 0 0 auto; }
.admin-checklist a { color: inherit; overflow-wrap: anywhere; }
.admin-checklist .is-done { color: var(--success); }
.admin-checklist .is-done a { text-decoration: none; }
.admin-settings-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(20rem, .8fr); }
.admin-section-card { min-width: 0; }
.admin-section-wide, .admin-tools { margin-top: 1rem; }
.admin-section-heading { align-items: start; display: flex; gap: 1rem; justify-content: space-between; margin-bottom: 1.25rem; }
.admin-section-heading h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 0; }
.admin-section-heading .eyebrow { margin-bottom: .4rem; }
.admin-count { align-items: center; background: var(--soft); border-radius: 999px; display: inline-flex; font-size: .8rem; font-weight: 850; justify-content: center; min-height: 2rem; min-width: 2rem; padding-inline: .55rem; }
.admin-form { display: grid; gap: 1rem; }
.admin-form > div { display: grid; gap: .35rem; min-width: 0; }
.admin-form > div:has(input[type="checkbox"]) { align-items: center; grid-template-columns: auto 1fr; }
.admin-form > div:has(input[type="checkbox"]) .helptext,
.admin-form > div:has(input[type="checkbox"]) .errorlist { grid-column: 1 / -1; }
.admin-form label { overflow-wrap: anywhere; }
.admin-form .helptext { color: var(--muted); font-size: .82rem; }
.admin-form .errorlist { color: var(--danger); font-size: .88rem; margin: 0; padding-left: 1.2rem; }
.admin-list { list-style: none; margin: 0; padding: 0; }
.admin-list-row { align-items: center; border-top: .0625rem solid var(--line); display: flex; gap: 1rem; justify-content: space-between; min-width: 0; padding-block: .85rem; }
.admin-list-row:first-child { border-top: 0; padding-top: 0; }
.admin-list-row > div { min-width: 0; }
.admin-list-row small { color: var(--muted); display: block; margin-top: .2rem; }
.admin-list-title { display: block; font-size: 1.05rem; font-weight: 820; overflow-wrap: anywhere; }
.admin-status { border-radius: 999px; display: inline-flex; font-size: .75rem; font-weight: 820; line-height: 1.2; margin-top: .35rem; padding: .32rem .58rem; }
.admin-status-draft { background: #edf1f5; color: #3d4852; }
.admin-status-published { background: #e7f7ee; color: #11663f; }
.admin-status-archived { background: #fff0ef; color: #922a25; }
.admin-empty { color: var(--muted); padding-block: 1rem; }
.admin-empty-large { align-items: flex-start; background: var(--soft); border: .0625rem dashed #c9c1bb; border-radius: 1rem; display: flex; flex-direction: column; gap: .3rem; justify-content: center; min-height: 8rem; padding: 1.25rem; }
.admin-card-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 28rem), 1fr)); }
.admin-location-card { background: var(--soft); border: .0625rem solid var(--line); border-radius: 1rem; min-width: 0; padding: 1rem; }
.admin-location-card h3 { font-size: 1.25rem; margin: 0; overflow-wrap: anywhere; }
.admin-location-card h4 { font-size: .82rem; letter-spacing: .06em; margin: 1.25rem 0 .35rem; text-transform: uppercase; }
.admin-location-heading p { color: var(--muted); margin: .25rem 0 0; overflow-wrap: anywhere; }
.admin-sublist { background: var(--paper); border-radius: .8rem; padding: .75rem; }
.admin-sublist .admin-list-row:first-child { padding-top: 0; }
.admin-sublist .admin-list-row:last-child { padding-bottom: 0; }
.admin-create-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); margin-top: 1.25rem; }
.admin-create-panel { align-self: start; background: var(--paper); border: .0625rem solid var(--line); border-radius: 1rem; overflow: clip; }
.admin-create-panel summary { cursor: pointer; font-weight: 850; list-style-position: inside; min-height: 3.4rem; padding: 1rem; }
.admin-create-panel[open] summary { background: var(--soft); border-bottom: .0625rem solid var(--line); }
.admin-create-panel .admin-form, .admin-create-panel .admin-existing-items { margin: 1rem; }
.operations-heading { align-items: center; }
.operations-alert, .operations-live { align-items: center; background: #fff3cf; border: .0625rem solid #e5bf58; border-radius: 999px; color: #624000; display: inline-flex; flex: 0 0 auto; font-size: .82rem; font-weight: 850; min-height: 2.75rem; padding: .55rem .85rem; }
.operations-live { background: #e7f7ee; border-color: #a8dbc1; color: #11663f; gap: .45rem; }
.operations-live > span { background: #16824f; border: .18rem solid #ccebdc; border-radius: 50%; height: .72rem; width: .72rem; }
.operations-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1rem; }
.operations-dashboard-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 1rem; }
.operations-stock-value { display: grid; flex: 0 0 auto; text-align: right; }
.operations-stock-value strong, .operations-money { font-variant-numeric: tabular-nums; white-space: nowrap; }
.operations-stock-dashboard { grid-template-columns: minmax(0, 1fr); }
.product-recipes { margin-top: 1rem; }
.product-recipe-row { align-items: start; border-top: .0625rem solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); padding-block: 1rem; }
.product-recipe-row:first-of-type { border-top: 0; }
.product-recipe-row h3 { margin: 0 0 .65rem; }
.shopping-list-check { font-size: 1.6rem; }
.shopping-list-empty { display: block !important; text-align: center; }
.operations-status-warning { background: #fff3cf; color: #704900; }
.operations-status-disabled { background: #edf1f5; color: #3d4852; }
.module-offer-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); }
.module-offer-card { background: #fff; border: .0625rem solid #e0e5ea; border-radius: 1.1rem; box-shadow: 0 .5rem 1.8rem rgb(24 35 47 / 5%); display: flex; flex-direction: column; min-width: 0; padding: 1.1rem; }
.module-offer-heading { align-items: start; display: flex; gap: .8rem; justify-content: space-between; }
.module-offer-heading h2 { font-size: 1.25rem; margin: 0; }
.module-offer-heading .eyebrow { margin-bottom: .3rem; }
.module-offer-heading .admin-status { flex: 0 0 auto; margin-top: 0; }
.module-offer-card > p { margin-bottom: .65rem; }
.module-offer-choice { align-items: center; background: var(--soft); border-radius: .8rem; cursor: pointer; display: flex; font-weight: 820; gap: .65rem; margin-top: auto; min-height: 3.2rem; padding: .75rem; }
.module-offer-choice input { flex: 0 0 auto; height: 1.2rem; width: 1.2rem; }
.module-config-panel { border-top: .0625rem solid var(--line); margin-top: .8rem; padding-top: .8rem; }
.module-config-panel summary { cursor: pointer; font-size: .85rem; font-weight: 850; }
.module-config-fields { display: grid; gap: .8rem; margin-top: .8rem; }
.module-config-field { display: grid; gap: .3rem; min-width: 0; }
.module-config-field label { font-size: .8rem; font-weight: 820; }
.module-config-field.is-checkbox { align-items: center; grid-template-columns: auto minmax(0, 1fr); }
.module-config-field.is-checkbox .helptext, .module-config-field.is-checkbox .errorlist { grid-column: 1 / -1; }
.module-config-field .helptext { color: var(--muted); font-size: .76rem; }
.module-config-field .errorlist { color: var(--danger); font-size: .78rem; margin: 0; padding-left: 1rem; }
.module-requirements { margin-top: 1rem; }
.module-requirements h2 { font-size: 1.35rem; margin-top: 0; }
.module-requirements > div { display: grid; gap: .35rem; }
.operations-create-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.operations-session-grid { display: grid; gap: 1rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); margin-bottom: 1rem; }
.operations-session-card { background: linear-gradient(145deg, var(--brand), color-mix(in srgb, var(--brand) 72%, #0a1620)); border-radius: 1.2rem; box-shadow: 0 .8rem 2rem rgb(24 35 47 / 14%); color: var(--brand-ink); display: grid; gap: 1.2rem; grid-template-columns: minmax(0, 1fr) minmax(14rem, .8fr); padding: 1.2rem; }
.operations-session-card h2 { color: inherit; font-size: clamp(1.45rem, 3vw, 2rem); margin: 0; }
.operations-session-card .eyebrow, .operations-session-card small { color: color-mix(in srgb, var(--brand-ink) 72%, transparent); }
.operations-session-card dl { display: grid; gap: .5rem; margin: 0; }
.operations-session-card dl > div { align-items: baseline; border-bottom: .0625rem solid color-mix(in srgb, var(--brand-ink) 18%, transparent); display: flex; gap: 1rem; justify-content: space-between; padding-bottom: .45rem; }
.operations-session-card dt { color: color-mix(in srgb, var(--brand-ink) 72%, transparent); font-size: .76rem; }
.operations-session-card dd { font-variant-numeric: tabular-nums; font-weight: 850; margin: 0; white-space: nowrap; }
.operations-session-card .operations-session-total { border-bottom: 0; padding-top: .35rem; }
.operations-session-total dd { font-size: 1.2rem; }
.operations-empty { margin-bottom: 1rem; }
.operations-fiscal-card { align-items: center; background: linear-gradient(135deg, #17202a, #243140); border-radius: 1.2rem; color: #fff; display: grid; gap: 1rem; grid-template-columns: auto minmax(0, 1fr) auto; margin: 1rem 0; padding: 1.2rem; }
.operations-fiscal-card h2 { color: #fff; font-size: clamp(1.35rem, 3vw, 1.8rem); margin: 0; }
.operations-fiscal-card p { color: #c8d1da; margin: .35rem 0 0; }
.operations-fiscal-mark { align-items: center; background: var(--accent); border-radius: 50%; color: var(--accent-ink); display: flex; font-size: .78rem; font-weight: 950; height: 4rem; justify-content: center; letter-spacing: .05em; width: 4rem; }
.operations-table { min-width: 48rem; }
.admin-existing-items { display: flex; flex-wrap: wrap; gap: .4rem; }
.admin-existing-items span { background: var(--soft); border-radius: 999px; font-size: .8rem; padding: .35rem .6rem; }
.admin-category-stack { display: grid; gap: 1rem; }
.admin-category-heading h3 { font-size: clamp(1.3rem, 3vw, 1.7rem); margin: 0; }
.admin-category-heading p { margin: .35rem 0 0; }
.admin-product-grid { display: grid; gap: .8rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); }
.admin-product-card { background: var(--soft); border-radius: 1rem; min-width: 0; padding: 1rem; }
.admin-product-heading { align-items: start; display: flex; gap: .75rem; justify-content: space-between; }
.admin-product-heading h4 { font-size: 1.15rem; margin: 0; overflow-wrap: anywhere; }
.admin-meta { color: var(--muted); font-size: .82rem; }
.admin-price-list { background: var(--paper); border-radius: .75rem; padding: .55rem .75rem; }
.admin-price-list li { align-items: baseline; border-top: .0625rem solid var(--line); display: flex; gap: .75rem; justify-content: space-between; padding-block: .55rem; }
.admin-price-list li:first-child { border-top: 0; }
.admin-price-list strong, .admin-price { font-variant-numeric: tabular-nums; white-space: nowrap; }
.admin-option-group { border-top: .0625rem solid #d8d0ca; margin-top: .9rem; padding-top: .75rem; }
.admin-option-group > p { margin: 0 0 .55rem; }
.admin-inline-form { border-top: .0625rem solid var(--line); margin-top: 1rem; padding-top: 1rem; }
.admin-inline-form h3 { margin-top: 0; }
.admin-auth-shell { background: radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--accent) 30%, transparent), transparent 30rem), #f4f6f8; }
.admin-auth { align-items: center; display: flex; justify-content: center; min-height: 100vh; padding: 1rem; }
.admin-auth-card { max-width: 31rem; padding: clamp(1.4rem, 5vw, 2.5rem); width: 100%; }
.admin-auth-card h1 { font-size: clamp(2rem, 8vw, 3.3rem); margin-bottom: 1rem; }
.admin-auth-card .lead { font-size: 1rem; }
.admin-auth-brand { align-items: center; color: var(--ink); display: inline-flex; font-size: 1.1rem; font-weight: 850; gap: .55rem; margin-bottom: 2.5rem; text-decoration: none; }
.admin-auth-brand span { color: var(--accent); font-size: 1.35rem; }
.admin-auth-back { display: inline-block; font-weight: 720; margin-top: 1.5rem; }
.admin-message-stack { margin-bottom: 1rem; }
.admin-message-stack .notice { background: #e7f7ee; border-color: #a8ddc2; color: #11663f; margin: 0; }
.admin-team-kpis { margin-bottom: 1rem; max-width: 54rem; }
.admin-team-notice { margin-bottom: 1rem; }
.admin-team-list { list-style: none; margin: 0; padding: 0; }
.admin-team-row { align-items: center; border-top: .0625rem solid var(--line); display: grid; gap: 1rem; grid-template-columns: minmax(14rem, 1.1fr) minmax(24rem, 1.8fr) minmax(9rem, auto); padding-block: 1rem; }
.admin-team-row:first-child { border-top: 0; padding-top: 0; }
.admin-member-identity { align-items: center; display: flex; gap: .75rem; min-width: 0; }
.admin-member-avatar { align-items: center; background: color-mix(in srgb, var(--brand) 14%, #fff); border: .0625rem solid color-mix(in srgb, var(--brand) 25%, #fff); border-radius: .72rem; color: var(--brand); display: inline-flex; flex: 0 0 auto; font-weight: 900; height: 2.65rem; justify-content: center; width: 2.65rem; }
.admin-member-copy { display: grid; min-width: 0; }
.admin-member-copy strong { overflow-wrap: anywhere; }
.admin-self-badge { color: var(--muted); font-size: .72rem; margin-top: .18rem; }
.admin-team-facts { display: grid; gap: 1rem; grid-template-columns: minmax(7rem, .7fr) minmax(10rem, 1.2fr) minmax(6rem, .7fr); margin: 0; min-width: 0; }
.admin-team-facts div { min-width: 0; }
.admin-team-facts dt { color: var(--muted); font-size: .68rem; font-weight: 800; letter-spacing: .06em; margin-bottom: .25rem; text-transform: uppercase; }
.admin-team-facts dd { font-size: .86rem; margin: 0; overflow-wrap: anywhere; }
.admin-team-facts .admin-status { margin: 0; }
.admin-member-action { min-width: 0; text-align: right; }
.admin-member-action small { color: var(--muted); display: inline-block; font-size: .72rem; max-width: 11rem; }
.admin-form fieldset { border: .0625rem solid var(--line); border-radius: .85rem; margin: 0; min-width: 0; padding: .8rem; }
.admin-form fieldset legend { font-weight: 780; padding-inline: .25rem; }
.admin-form fieldset > div { display: grid; gap: .45rem; margin-top: .35rem; }
.admin-form fieldset label { align-items: center; display: flex; gap: .5rem; min-height: 2rem; }
.account-security-heading { margin-bottom: 1.4rem; max-width: 58rem; }
.account-security-heading h1 { font-size: clamp(2.2rem, 5vw, 4rem); letter-spacing: -.04em; line-height: 1.02; margin: 0; }
.account-security-heading > p:last-child { color: var(--muted); font-size: 1rem; max-width: 48rem; }
.account-security-grid { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .8fr); }
.account-security-card { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1rem; box-shadow: 0 .8rem 2rem rgb(29 35 42 / 6%); padding: clamp(1.1rem, 3vw, 1.6rem); }
.account-security-card h2 { font-size: 1.4rem; margin: 0; }
.account-security-status-row { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
.account-security-badge { background: #eef1f4; border-radius: 999px; color: #53606c; font-size: .76rem; font-weight: 850; padding: .42rem .72rem; white-space: nowrap; }
.account-security-badge.is-enabled { background: #e5f6ec; color: #11663f; }
.account-security-lead { color: var(--muted); margin: 1rem 0; }
.account-security-facts { display: grid; gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1rem 0; }
.account-security-facts div { background: var(--soft); border-radius: .8rem; padding: .8rem; }
.account-security-facts dt { color: var(--muted); font-size: .7rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.account-security-facts dd { font-weight: 820; margin: .25rem 0 0; }
.account-security-help ol { display: grid; gap: .8rem; margin: 1rem 0 0; padding-left: 1.25rem; }
.account-security-form { display: grid; gap: 1rem; margin-top: 1rem; }
.account-security-form > div { display: grid; gap: .35rem; }
.account-security-form label { font-size: .88rem; font-weight: 780; }
.account-security-form input { background: #fff; border: .075rem solid #aeb8c2; border-radius: .7rem; color: var(--ink); min-height: 2.9rem; padding: .65rem .75rem; width: 100%; }
.account-security-form .helptext { color: var(--muted); font-size: .8rem; }
.account-security-form .errorlist { color: var(--danger); font-size: .84rem; font-weight: 720; list-style: none; margin: 0; padding: 0; }
.notice-warning { background: #fff4cf; border-color: #e7bd48; color: #664800; }
.account-security-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1rem; }
.account-danger-zone { border-color: #d7a2a2; margin-top: 1rem; max-width: 58rem; }
.account-danger-zone > p:not(.eyebrow, .notice) { color: var(--muted); }
.account-security-confirmation { max-width: 58rem; }
.account-setup-card { max-width: 58rem; }
.account-setup-steps { counter-reset: security-step; display: grid; gap: 0; list-style: none; margin: 1rem 0 0; padding: 0; }
.account-setup-steps > li { border-top: .0625rem solid var(--line); display: grid; gap: .55rem; padding: 1.2rem 0 1.2rem 3.2rem; position: relative; }
.account-setup-steps > li::before { align-items: center; background: var(--brand); border-radius: .7rem; color: var(--brand-ink); content: counter(security-step); counter-increment: security-step; display: flex; font-weight: 900; height: 2.25rem; justify-content: center; left: 0; position: absolute; top: 1.05rem; width: 2.25rem; }
.account-setup-steps > li > span { color: var(--muted); }
.account-setup-steps .button { justify-self: start; }
.account-setup-methods { align-items: start; display: grid; gap: 1rem; grid-template-columns: 17rem minmax(0, 1fr); margin-top: .5rem; }
.account-qr-panel, .account-manual-secret { background: var(--soft); border-radius: .9rem; margin: 0; padding: 1rem; }
.account-qr-panel img { background: #fff; display: block; height: auto; margin: 0 auto; max-width: 100%; }
.account-qr-panel figcaption { color: var(--muted); font-size: .8rem; margin-top: .7rem; }
.account-manual-secret h3 { margin: 0; }
.account-manual-secret p { color: var(--muted); }
.account-manual-secret dl { display: grid; gap: .6rem; margin: 1rem 0 0; }
.account-manual-secret dl div { display: grid; gap: .15rem; }
.account-manual-secret dt { color: var(--muted); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.account-manual-secret dd { margin: 0; }
.account-secret { background: #17202a; border-radius: .8rem; color: #fff; display: block; font-size: clamp(.85rem, 3vw, 1.05rem); font-weight: 800; letter-spacing: .08em; overflow-wrap: anywhere; padding: .9rem 1rem; text-align: center; }
.account-confirm-form { max-width: 24rem; }
.account-recovery-card { max-width: 58rem; }
.account-recovery-list { display: grid; gap: .55rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1rem 0; padding-left: 1.8rem; }
.account-recovery-list li { background: var(--soft); border-radius: .65rem; padding: .7rem .8rem; }
.account-recovery-list code { font-size: .9rem; font-weight: 800; overflow-wrap: anywhere; }
.account-print-title { display: none; }
.account-print-hint { color: var(--muted); }
.account-challenge-card .admin-auth-brand { margin-bottom: 1.7rem; }
.account-challenge-links { align-items: center; display: flex; flex-wrap: wrap; gap: .8rem; justify-content: space-between; margin-top: 1.2rem; }
.account-challenge-links form { margin: 0; }
.account-link-button { background: transparent; color: var(--brand); min-height: 2.75rem; padding: .4rem 0; text-decoration: underline; text-underline-offset: .18em; }
.pos-shell { align-items: start; display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr) minmax(21rem, 26rem); margin-bottom: 1rem; }
.pos-device-toolbar { align-items: center; background: var(--paper); border: .0625rem solid var(--line); border-radius: 1rem; display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 1rem; padding: .65rem; }
.pos-device-toolbar form { margin: 0 0 0 auto; }
.pos-device-toolbar .button, .pos-device-toolbar button { min-height: 2.65rem; }
.pos-kiosk-mode .admin-sidebar, .pos-kiosk-mode .admin-topbar { display: none; }
.pos-kiosk-mode .admin-app { grid-template-columns: minmax(0, 1fr); }
.pos-kiosk-mode .admin-main { max-width: none; padding: .7rem; }
.pos-kiosk-active .operations-heading, .pos-kiosk-active .operations-session-grid, .pos-kiosk-active .operations-create-grid, .pos-kiosk-active .pos-recent, .pos-kiosk-active .operations-dashboard-grid { display: none; }
.pos-kiosk-active .pos-device-toolbar { position: sticky; top: 0; z-index: 30; }
.pos-kiosk-active .pos-shell { margin-bottom: 0; }
.pos-catalog-panel, .pos-basket-panel { background: var(--paper); border: .0625rem solid var(--line); border-radius: 1.2rem; box-shadow: 0 .8rem 2rem rgb(29 35 42 / 6%); min-width: 0; padding: 1rem; }
.pos-basket-panel { max-height: calc(100vh - 3rem); overflow: auto; position: sticky; top: 1rem; }
.pos-section-heading, .pos-basket-heading { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
.pos-section-heading h2, .pos-basket-heading h2 { font-size: clamp(1.45rem, 3vw, 2rem); margin: 0; }
.pos-search input { min-height: 2.8rem; min-width: min(18rem, 34vw); }
.pos-session-switcher, .pos-category-tabs { display: flex; gap: .45rem; margin-top: .9rem; overflow-x: auto; padding-bottom: .25rem; }
.pos-session-switcher a, .pos-category-tabs button { background: var(--soft); border: .0625rem solid var(--line); border-radius: 999px; color: var(--ink); flex: 0 0 auto; font-size: .8rem; font-weight: 800; min-height: 2.35rem; padding: .45rem .75rem; text-decoration: none; }
.pos-session-switcher a[aria-current="page"], .pos-category-tabs button.is-active { background: var(--brand); border-color: var(--brand); color: var(--brand-ink); }
.pos-product-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(min(100%, 16rem), 1fr)); margin-top: 1rem; }
.pos-product-card { background: var(--soft); border: .0625rem solid transparent; border-radius: 1rem; display: grid; min-width: 0; overflow: clip; }
.pos-product-card[hidden] { display: none; }
.pos-product-card > img { aspect-ratio: 16 / 8; height: auto; object-fit: cover; width: 100%; }
.pos-product-copy { display: grid; gap: .65rem; padding: .85rem; }
.pos-product-copy > small { color: var(--muted); font-size: .68rem; font-weight: 820; letter-spacing: .06em; text-transform: uppercase; }
.pos-product-copy h3 { font-size: 1.05rem; margin: 0; }
.pos-product-copy > p { color: var(--muted); font-size: .78rem; line-height: 1.45; margin: 0; }
.pos-product-copy > label { display: grid; font-size: .76rem; font-weight: 780; gap: .3rem; }
.pos-product-copy select { min-height: 2.65rem; }
.pos-option-group { background: var(--paper); border: .0625rem solid var(--line); border-radius: .75rem; display: grid; gap: .3rem; margin: 0; padding: .65rem; }
.pos-option-group.has-error { border-color: var(--danger); }
.pos-option-group legend { font-size: .74rem; font-weight: 820; padding-inline: .2rem; }
.pos-option-group legend span { color: var(--danger); font-size: .63rem; text-transform: uppercase; }
.pos-option-group label { align-items: center; display: grid; font-size: .76rem; gap: .5rem; grid-template-columns: 1.05rem minmax(0, 1fr); min-height: 1.85rem; text-align: left; }
.pos-option-group input[type="radio"], .pos-option-group input[type="checkbox"] { height: 1.05rem; margin: 0; padding: 0; width: 1.05rem; }
.pos-option-group label span { min-width: 0; }
.pos-add-button { min-height: 2.7rem; width: 100%; }
.pos-basket-heading > span { background: var(--soft); border-radius: 999px; font-size: .78rem; font-weight: 820; padding: .4rem .65rem; }
.pos-basket-empty { color: var(--muted); margin: 1.4rem 0; text-align: center; }
.pos-basket-lines { list-style: none; margin: .8rem 0; padding: 0; }
.pos-basket-line { align-items: center; border-top: .0625rem solid var(--line); display: grid; gap: .6rem; grid-template-columns: minmax(0, 1fr) auto; padding-block: .75rem; }
.pos-basket-line:first-child { border-top: 0; }
.pos-basket-line small { color: var(--muted); display: block; font-size: .72rem; margin-top: .15rem; }
.pos-line-controls { align-items: center; display: grid; gap: .35rem; grid-template-columns: 2rem 1.4rem 2rem minmax(5rem, auto); }
.pos-line-controls button { align-items: center; background: var(--soft); border: .0625rem solid var(--line); border-radius: .55rem; color: var(--ink); display: flex; height: 2rem; justify-content: center; min-height: 0; padding: 0; width: 2rem; }
.pos-line-controls span { font-variant-numeric: tabular-nums; text-align: center; }
.pos-line-controls strong { font-size: .82rem; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.pos-basket-total { align-items: baseline; border-block: .12rem solid var(--ink); display: flex; font-weight: 850; justify-content: space-between; padding-block: .8rem; }
.pos-basket-total strong { font-size: 1.35rem; font-variant-numeric: tabular-nums; }
.pos-checkout-form { margin-top: 1rem; }
.pos-payment-options { margin: 0; }
.pos-payment-options > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pos-payment-options label { background: var(--soft); border-radius: .65rem; padding: .55rem; }
.pos-inline-status { color: #11663f; font-size: .8rem; font-weight: 760; margin: 0; min-height: 1.2rem; }
.pos-inline-status.is-error { color: var(--danger); }
.pos-submit { min-height: 3.25rem; width: 100%; }
.pos-checkout-form > small { color: var(--muted); line-height: 1.4; }
.pos-recent { margin: 1rem 0; }
.pos-recent .operations-stock-value { gap: .45rem; justify-items: end; }
.pos-recent .button { min-height: 2.25rem; padding: .35rem .65rem; }
.pos-ticket-actions { display: flex; gap: .65rem; justify-content: flex-end; margin-bottom: 1rem; }
.pos-ticket { background: #fff; border: .0625rem solid var(--line); border-radius: 1.1rem; box-shadow: 0 .8rem 2rem rgb(29 35 42 / 7%); margin: 0 auto; max-width: 44rem; padding: clamp(1.2rem, 4vw, 2.2rem); }
.pos-ticket-copy-mark { border: .16rem solid currentColor; color: var(--danger); font-size: 1.1rem; font-weight: 950; letter-spacing: .16em; margin: 0 auto 1rem; padding: .35rem .6rem; text-align: center; width: max-content; }
.pos-ticket header { border-bottom: .12rem solid var(--ink); padding-bottom: 1rem; text-align: center; }
.pos-ticket h1 { font-size: clamp(2rem, 7vw, 3.5rem); margin: .25rem 0; }
.pos-ticket header > p:last-child { color: var(--muted); margin: 0; }
.pos-ticket-facts { display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 1rem 0; }
.pos-ticket-facts div { background: var(--soft); border-radius: .7rem; padding: .7rem; }
.pos-ticket-facts dt { color: var(--muted); font-size: .66rem; font-weight: 820; letter-spacing: .05em; text-transform: uppercase; }
.pos-ticket-facts dd { font-weight: 820; margin: .2rem 0 0; }
.pos-ticket-lines { list-style: none; margin: 1rem 0; padding: 0; }
.pos-ticket-lines li { align-items: center; border-top: .0625rem solid var(--line); display: grid; gap: .7rem; grid-template-columns: 2.5rem minmax(0, 1fr) auto; padding-block: .8rem; }
.pos-ticket-lines small { color: var(--muted); display: block; margin-top: .2rem; }
.pos-ticket-quantity { font-size: 1.15rem; font-weight: 900; }
.pos-ticket-note { background: #fff3cf; border-radius: .8rem; padding: .8rem; }
.pos-ticket-note p { margin: .3rem 0 0; }
.pos-ticket footer { align-items: baseline; border-top: .12rem solid var(--ink); display: flex; font-size: 1.15rem; justify-content: space-between; margin-top: 1rem; padding-top: 1rem; }
.pos-ticket footer strong { font-size: 1.65rem; }
.pos-ticket-disclaimer { color: var(--muted); font-size: .72rem; margin: 1.3rem 0 0; text-align: center; }
.cash-closure-summary, .cash-closure-totals { display: grid; gap: .5rem; margin: 1rem 0; }
.cash-closure-summary > div, .cash-closure-totals > div { align-items: baseline; border-bottom: .0625rem solid var(--line); display: flex; gap: 1rem; justify-content: space-between; padding: .55rem 0; }
.cash-closure-summary dd, .cash-closure-totals dd { font-variant-numeric: tabular-nums; font-weight: 850; margin: 0; }
.cash-closure-totals { border-block: .12rem solid var(--ink); padding-block: .4rem; }
.cash-closure-totals .has-difference { color: var(--danger); }
.cash-closure-movements { margin-top: 1.25rem; }
@media (max-width: 64rem) {
  .admin-app { display: block; }
  .admin-sidebar { align-items: center; display: grid; gap: .8rem; grid-template-columns: auto minmax(0, 1fr) auto; height: auto; min-height: 4.5rem; overflow: visible; padding: max(.7rem, env(safe-area-inset-top)) 1rem .7rem; position: sticky; }
  .admin-sidebar-head { padding: 0; }
  .admin-wordmark strong { max-width: 10rem; }
  .admin-wordmark small { display: none; }
  .admin-sidebar-nav { display: flex; gap: .35rem; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: none; }
  .admin-sidebar-nav::-webkit-scrollbar { display: none; }
  .admin-nav-label { display: none; }
  .admin-sidebar-nav > a { flex: 0 0 auto; min-height: 2.8rem; }
  .admin-sidebar-footer { display: flex; margin: 0; padding: 0; }
  .admin-public-link { display: none; }
  .admin-user-card { background: transparent; border: 0; display: flex; padding: 0; }
  .admin-user-copy { display: none; }
  .admin-user-card form { grid-column: auto; }
  .admin-logout { min-height: 2.6rem; width: auto; }
  .admin-topbar { position: static; }
  .order-columns { grid-template-columns: repeat(5, minmax(17rem, 78vw)); }
  .admin-detail-grid { grid-template-columns: 1fr; }
  .admin-overview { grid-template-columns: 1fr; }
  .admin-settings-grid { grid-template-columns: 1fr; }
  .admin-team-row { grid-template-columns: minmax(13rem, 1fr) minmax(20rem, 1.5fr); }
  .admin-member-action { grid-column: 1 / -1; text-align: left; }
  .admin-member-action small { max-width: none; }
  .admin-history-filter-form { grid-template-columns: 1fr 1fr; }
  .admin-history-filter-actions { grid-column: 1 / -1; }
  .admin-report-breakdowns { grid-template-columns: 1fr; }
  .account-security-grid { grid-template-columns: 1fr; }
  .operations-dashboard-grid { grid-template-columns: 1fr; }
  .pos-shell { grid-template-columns: 1fr; }
  .pos-basket-panel { max-height: none; position: static; }
}
@media (max-width: 48rem) {
  .admin-sidebar { grid-template-columns: minmax(0, 1fr) auto; }
  .admin-sidebar-nav { display: grid; grid-auto-columns: minmax(9.5rem, auto); grid-auto-flow: column; grid-column: 1 / -1; grid-row: 2; grid-template-rows: repeat(2, minmax(2.8rem, auto)); padding-bottom: .1rem; }
  .admin-logo { height: 2.35rem; width: 2.35rem; }
  .admin-topbar { display: none; }
  .admin-main { padding-top: 1.5rem; }
  .admin-page-heading { align-items: stretch; flex-direction: column; }
  .admin-page-heading .button { width: 100%; }
  .admin-page-heading .admin-actions, .admin-page-heading .admin-actions form { width: 100%; }
  .admin-page-heading .admin-actions button { width: 100%; }
  .admin-refresh-bar { align-items: stretch; flex-direction: column; }
  .admin-refresh-bar form, .admin-refresh-bar .button { width: 100%; }
  .audit-list li { grid-template-columns: 1fr; }
  .admin-team-row { align-items: stretch; background: var(--soft); border: .0625rem solid var(--line); border-radius: 1rem; grid-template-columns: 1fr; margin-top: .75rem; padding: 1rem; }
  .admin-team-row:first-child { padding-top: 1rem; }
  .admin-team-facts { grid-template-columns: 1fr 1fr; }
  .admin-member-action { grid-column: auto; }
  .admin-history-filter-form { grid-template-columns: 1fr; }
  .admin-history-filter-actions { grid-column: auto; }
  .admin-history-filter-actions .button { flex: 1; }
  .admin-report-filter-form { align-items: stretch; flex-direction: column; }
  .admin-report-filter-form > div, .admin-report-filter-form > button { flex: 1 1 auto; width: 100%; }
  .admin-history-table { min-width: 0; }
  .admin-history-table thead { display: none; }
  .admin-history-table, .admin-history-table tbody, .admin-history-table tr, .admin-history-table th, .admin-history-table td { display: block; width: 100%; }
  .admin-history-table tr { border-top: .0625rem solid var(--line); padding-block: .8rem; }
  .admin-history-table tr:first-child { border-top: 0; padding-top: 0; }
  .admin-history-table th, .admin-history-table td { align-items: baseline; border: 0; display: flex; gap: 1rem; justify-content: space-between; padding: .35rem 0; text-align: right; }
  .admin-history-table th::before, .admin-history-table td::before { color: var(--muted); content: attr(data-label); flex: 0 0 8rem; font-size: .68rem; font-weight: 820; letter-spacing: .05em; text-align: left; text-transform: uppercase; }
  .admin-history-action { padding-top: .7rem !important; }
  .admin-history-action::before { content: "" !important; }
  .admin-history-action .button { width: 100%; }
  .admin-pagination { align-items: stretch; flex-direction: column; text-align: center; }
  .product-recipe-row { grid-template-columns: 1fr; }
  .account-recovery-list { grid-template-columns: 1fr; }
  .account-setup-methods { grid-template-columns: 1fr; }
}
@media (max-width: 36rem) {
  .admin-kpi-grid { grid-template-columns: 1fr; }
  .admin-kpi { min-height: 6.8rem; }
  .operations-kpis { grid-template-columns: 1fr; }
  .operations-session-card { grid-template-columns: 1fr; }
  .operations-fiscal-card { align-items: start; grid-template-columns: auto minmax(0, 1fr); }
  .operations-fiscal-card > .admin-status { grid-column: 1 / -1; justify-self: start; }
  .operations-heading { align-items: stretch; }
  .operations-alert, .operations-live { align-self: flex-start; }
  .admin-checklist { grid-template-columns: 1fr; }
  .admin-list-row { align-items: stretch; flex-direction: column; }
  .admin-list-row > .button, .admin-list-row > form, .admin-list-row > form .button { width: 100%; }
  .admin-product-heading { flex-direction: column; }
  .admin-product-heading .button { width: 100%; }
  .admin-actions { align-items: stretch; flex-direction: column; }
  .admin-actions > .button, .admin-actions > form, .admin-actions > form button { width: 100%; }
  .admin-team-facts { grid-template-columns: 1fr; }
  .admin-member-action .button { width: 100%; }
  .account-security-facts { grid-template-columns: 1fr; }
  .account-security-status-row { align-items: flex-start; flex-direction: column; }
  .account-setup-steps > li { padding-left: 0; padding-top: 3.8rem; }
  .account-setup-steps > li::before { top: 1rem; }
  .account-setup-steps .button, .account-security-actions .button { width: 100%; }
  .account-challenge-links { align-items: stretch; flex-direction: column; }
  .pos-section-heading { align-items: stretch; flex-direction: column; }
  .pos-search input { min-width: 0; width: 100%; }
  .pos-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pos-ticket-actions { align-items: stretch; flex-direction: column; }
  .pos-ticket-actions .button, .pos-ticket-actions button { width: 100%; }
}
@media (max-width: 24rem) {
  .admin-wordmark strong { max-width: 8rem; }
  .admin-user-avatar { display: none; }
  .pos-product-grid { grid-template-columns: 1fr; }
  .pos-basket-line { align-items: stretch; grid-template-columns: 1fr; }
  .pos-line-controls { grid-template-columns: 2rem 1.4rem 2rem minmax(0, 1fr); }
  .pos-ticket-facts { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .order-columns { scroll-behavior: auto; }
}
@media print {
  .admin-sidebar, .admin-topbar, .account-security-heading, .account-recovery-card .button, .account-recovery-ack, .account-print-hint, .pos-ticket-actions { display: none !important; }
  .account-print-title { display: block; }
  .admin-app, .admin-workspace { display: block; }
  .admin-main { padding: 0; }
  .account-recovery-card { border: 0; box-shadow: none; max-width: none; }
  .pos-ticket { border: 0; box-shadow: none; max-width: none; padding: 0; }
}
