@font-face {
    font-family: Cairo;
    font-style: normal;
    font-weight: 400 800;
    font-display: swap;
    src: url("../fonts/cairo-arabic.woff2") format("woff2");
}

:root {
    font-family: Cairo, "Segoe UI", Tahoma, Arial, sans-serif;
    color: #0d1424;
    background: #f7f9fc;
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    --ink: #0d1424;
    --muted: #6c7890;
    --brand-primary: #005ce6;
    --brand-primary-dark: #004bc0;
    --brand-ink: #081124;
    --border: #e1e6ef;
    --paper: #fff;
    --canvas: #f7f9fc;
    --shadow: 0 8px 28px rgb(8 17 36 / 5%);
}

* { box-sizing: border-box; }
html { min-width: 320px; }
body { min-height: 100vh; margin: 0; background: var(--canvas); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.app-shell { min-height: 100vh; }
.app-sidebar {
    position: fixed;
    z-index: 5;
    inset: 0 0 0 auto;
    width: 264px;
    display: flex;
    flex-direction: column;
    padding: 24px 16px 14px;
    overflow-y: auto;
    background: #081124;
    color: #f7f9fc;
    box-shadow: -6px 0 28px rgb(8 17 36 / 12%);
}
.app-sidebar .brand { display: flex; align-items: center; gap: 12px; padding: 0 8px; }
.brand-mark {
    width: 44px;
    height: 44px;
    display: block;
    flex: 0 0 auto;
    border-radius: 10px;
    object-fit: contain;
}
.brand-copy { display: grid; gap: 4px; }
.brand-copy strong { color: #fff; font-size: 17px; }
.brand-copy small { color: #aab7d0; font-size: 11px; }
.sidebar-divider { height: 1px; margin: 22px 4px 16px; background: rgb(255 255 255 / 11%); }
.branch-chip {
    display: flex;
    align-items: center;
    gap: 11px;
    margin: 0 2px 16px;
    padding: 12px;
    border: 1px solid rgb(255 255 255 / 9%);
    border-radius: 12px;
    background: rgb(255 255 255 / 5%);
}
.branch-indicator { width: 9px; height: 9px; flex: 0 0 auto; border-radius: 50%; background: #08e0d0; box-shadow: 0 0 0 4px rgb(8 224 208 / 13%); }
.branch-chip > span:last-child { display: grid; gap: 4px; }
.branch-chip small { color: #aab7d0; font-size: 10px; }
.branch-chip strong { color: #fff; font-size: 12px; }
.sidebar-nav { display: grid; align-content: start; gap: 3px; }
.nav-section-title { margin: 14px 10px 5px; color: #a99d8e; font-size: 10px; font-weight: 800; }
.side-link {
    min-height: 41px;
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 0 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #d2daea;
    font-size: 12px;
    font-weight: 650;
    transition: background-color .16s ease, color .16s ease;
}
.side-link:hover { background: rgb(255 255 255 / 7%); color: #fff; }
.side-link.is-active { border-color: rgb(8 224 208 / 24%); background: rgb(0 92 230 / 20%); color: #fff; }
.side-link-icon {
    width: 25px;
    height: 25px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 7px;
    background: rgb(255 255 255 / 8%);
    color: #08e0d0;
    font-size: 11px;
    font-weight: 800;
}
.side-link.is-active .side-link-icon { background: #005ce6; color: #fff; }
.sidebar-footer { margin-top: auto; padding-top: 16px; }
.user-chip { display: flex; align-items: center; gap: 10px; padding: 11px 8px; border-top: 1px solid rgb(255 255 255 / 11%); }
.user-avatar {
    width: 35px;
    height: 35px;
    display: grid;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: #005ce6;
    color: #fff;
    font-size: 14px;
    font-weight: 800;
}
.user-copy { display: grid; gap: 4px; min-width: 0; }
.user-copy strong { overflow: hidden; color: #fff; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.user-copy small { color: #aab7d0; font-size: 10px; }
.sidebar-footer form { margin: 0; }
.logout-button {
    width: 100%;
    min-height: 37px;
    border: 1px solid rgb(255 255 255 / 12%);
    border-radius: 9px;
    background: transparent;
    color: #ded6cb;
    cursor: pointer;
    font-size: 11px;
}
.logout-button:hover { border-color: rgb(255 255 255 / 25%); background: rgb(255 255 255 / 6%); color: #fff; }

.app-main { min-height: 100vh; margin-right: 264px; }
.content-topbar {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 0 36px;
    border-bottom: 1px solid #e8e2d9;
    background: #fff;
}
.content-topbar > div { display: flex; align-items: center; gap: 12px; }
.topbar-kicker { color: #6c7890; font-size: 11px; }
.topbar-page { padding-right: 12px; border-right: 1px solid #e1e6ef; color: #081124; font-size: 12px; font-weight: 750; }
.topbar-date { color: #6c7890; font-size: 11px; }
.content-area { width: min(1500px, 100%); margin-inline: auto; padding: 0 36px; }
.content-area > main { padding: 34px 0 60px; }
.guest-shell { width: min(560px, calc(100% - 32px)); margin: 22px auto; }
.guest-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 15px; background: #fff; }
.guest-header .brand { display: flex; align-items: center; gap: 10px; }
.guest-header .brand-mark { width: 39px; height: 39px; }
.guest-header .brand-copy strong { color: var(--ink); }
.guest-header .brand-copy small { color: var(--muted); }

h1, h2, h3 { color: var(--ink); letter-spacing: -.3px; }
h1 { font-size: clamp(25px, 3vw, 32px); }
.eyebrow { color: #005ce6; font-size: 11px; font-weight: 800; letter-spacing: .2px; }
.muted { color: var(--muted); }
.panel { border: 1px solid var(--border); border-radius: 14px; background: var(--paper); box-shadow: var(--shadow); }
.button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 0 16px;
    border: 1px solid transparent;
    border-radius: 9px;
    background: var(--brand-primary);
    color: #fff;
    cursor: pointer;
    font-size: 12px;
    font-weight: 750;
    transition: background-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.button:hover { transform: translateY(-1px); background: var(--brand-primary-dark); box-shadow: 0 5px 12px rgb(0 92 230 / 16%); }
.button-secondary { border-color: #dfe6f0; background: #fff; color: #334155; }
.button-secondary:hover { border-color: #b8d0f5; background: #f5f8ff; color: var(--brand-ink); }
.button:focus-visible, .side-link:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 3px solid rgb(0 92 230 / 30%);
    outline-offset: 2px;
}

.alert { margin-bottom: 18px; padding: 13px 15px; border: 1px solid #efd1c9; border-radius: 10px; background: #fff5f2; color: #9c4132; font-size: 12px; }
.alert-success { border-color: #cee1d1; background: #f0f7ef; color: #356d48; }
.field { display: grid; gap: 7px; margin-top: 16px; }
.field label { color: #51483e; font-size: 11px; font-weight: 750; }
.field input, .field select, .field textarea, input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    min-height: 42px;
    padding: 8px 11px;
    border: 1px solid #e1dbd1;
    border-radius: 8px;
    outline: none;
    background: #fff;
    color: var(--ink);
    transition: border-color .16s ease, box-shadow .16s ease;
}
.field input, .field select, .field textarea { width: 100%; }
.field textarea, textarea { min-height: 96px; resize: vertical; }
.field input:focus, .field select:focus, .field textarea:focus, input:focus, select:focus, textarea:focus { border-color: #005ce6; box-shadow: 0 0 0 3px rgb(0 92 230 / 10%); }
.field-error { color: #a73a30; font-size: 11px; }
table { width: 100%; border-collapse: collapse; text-align: right; }
thead { background: #f1f5fb; color: #5d6a82; font-size: 10px; }
th { font-weight: 750; }
th, td { padding: 12px 15px; }
tbody tr { border-top: 1px solid #e8edf4; }
tbody tr:hover { background: #f5f8fe; }
td { color: #334155; font-size: 12px; }

.pos-page-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin: 8px 0 25px; }
.page-heading-copy h1 { margin: 0; font-size: 28px; }
.page-heading-copy p { margin: 7px 0 0; font-size: 12px; }
.takeaway-button { min-height: 44px; background: #005ce6; }
.takeaway-button:hover { background: #004bc0; }
.takeaway-button > span { font-size: 19px; line-height: 1; }
.pos-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 12px; margin: 0 0 26px; }
.pos-overview-card { min-height: 76px; display: flex; align-items: center; gap: 12px; padding: 13px 15px; border: 1px solid #e5eaf1; border-radius: 13px; background: #fff; box-shadow: 0 5px 18px rgb(15 35 65 / 4%); }
.pos-overview-mark { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; background: #edf3ff; color: #1459c7; font-size: 15px; font-weight: 800; }
.pos-overview-card > span:last-child { display: grid; gap: 3px; }
.pos-overview-card small { color: #738096; font-size: 10px; }
.pos-overview-card strong { color: #17243a; font-size: 20px; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pos-overview-card.is-busy .pos-overview-mark { background: #fff3e5; color: #aa6411; }
.pos-overview-card.is-available .pos-overview-mark { background: #e8f6ee; color: #278052; }
.pos-overview-card.is-empty .pos-overview-mark { background: #fff0ed; color: #b34235; }
.table-group + .table-group { margin-top: 28px; }
.table-group-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; }
.table-group-heading h2 { margin: 0; font-size: 16px; }
.table-group-heading p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.table-group-count { min-width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; font-size: 12px; font-weight: 800; }
.available-count { background: #eaf4ed; color: #367452; }
.busy-count { background: #faf0df; color: #93652d; }
.table-group-empty { margin: 0; padding: 17px 18px; border: 1px dashed #ded6cb; border-radius: 10px; background: rgb(255 255 255 / 55%); color: #827b70; font-size: 11px; }
.pos-table-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(225px, 1fr)); gap: 14px; }
.table-card { min-height: 198px; display: flex; flex-direction: column; padding: 16px; border: 1px solid #dcebe2; border-right: 4px solid #38a16a; background: linear-gradient(145deg, #fff 0%, #f8fcf9 100%); box-shadow: 0 8px 22px rgb(22 52 35 / 5%); transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease; }
.table-card:hover { transform: translateY(-2px); box-shadow: 0 13px 28px rgb(22 52 35 / 9%); }
.table-card-busy { border-color: #f0e2cf; border-right-color: #d48b32; background: linear-gradient(145deg, #fff 0%, #fffbf5 100%); }
.table-card-top { display: flex; align-items: center; justify-content: space-between; }
.table-card-icon { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; background: #e8f6ee; color: #24784b; font-size: 15px; font-weight: 800; }
.table-card-busy .table-card-icon { background: #fff1df; color: #a96313; }
.table-status { display: inline-flex; align-items: center; gap: 6px; padding: 7px 11px; border: 1px solid currentColor; border-radius: 20px; font-size: 10px; font-weight: 800; }
.status-dot { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.status-available { border-color: #bfe5cd; background: #eff9f2; color: #28774c; }
.status-busy { border-color: #f0d8b7; background: #fff7ed; color: #9a5c16; }
.table-card-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-top: 13px; }
.table-card-title h2 { margin: 0; font-size: 17px; }
.table-card-title > span { font-size: 10px; }
.table-card-hint { margin: 12px 0 15px; color: #867f74; font-size: 11px; }
.table-order-summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 12px 0 14px; padding: 10px 11px; border: 1px solid #edf0f4; border-radius: 9px; background: #fff; color: #69768a; font-size: 10px; }
.table-order-summary strong { color: #26354b; font-size: 13px; }
.table-order-summary .table-empty-order { color: #94611f; font-size: 10px; }
.table-order-summary small { font-size: 9px; font-weight: 600; }
.table-card form { margin-top: auto; }
.table-card-action { width: 100%; min-height: 40px; margin-top: auto; }
.table-card-busy .table-card-action { background: #a96718; }
.table-card-busy .table-card-action:hover { background: #855012; }
.table-card-action > span { font-size: 15px; }
.empty-state { display: grid; justify-items: center; gap: 9px; padding: 40px 20px; text-align: center; }
.empty-state-mark { width: 50px; height: 50px; display: grid; place-items: center; border-radius: 15px; background: #edf4ff; color: #005ce6; font-weight: 800; }
.empty-state h2, .empty-state p { margin: 0; }
.empty-state h2 { font-size: 17px; }
.empty-state p { margin-bottom: 8px; font-size: 12px; }

.table-management-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin: 4px 0 20px; }
.table-management-heading h1 { margin: 7px 0 5px; font-size: clamp(23px, 2.6vw, 30px); }
.table-management-heading p { margin: 0; font-size: 12px; line-height: 1.8; }
.table-overview { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 16px; }
.table-overview article { min-height: 76px; display: flex; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.table-overview-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; background: #f3eee7; color: #806448; font-size: 16px; font-weight: 800; }
.table-overview-icon.is-available { background: #eaf4ed; color: #367452; }
.table-overview-icon.is-busy { background: #faf0df; color: #93652d; font-size: 12px; }
.table-overview article > span:last-child { display: grid; gap: 3px; }
.table-overview small { color: #827b70; font-size: 10px; }
.table-overview strong { color: #342d25; font-size: 18px; font-variant-numeric: tabular-nums; }
.add-table-panel { display: grid; grid-template-columns: minmax(175px, .7fr) minmax(0, 2fr); align-items: center; gap: 22px; margin-bottom: 18px; padding: 17px 19px; }
.add-table-copy { display: flex; align-items: center; gap: 11px; }
.add-table-copy > span:last-child { display: grid; gap: 4px; }
.add-table-copy strong { color: #342d25; font-size: 13px; }
.add-table-copy small { color: #827b70; font-size: 10px; }
.add-table-mark { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border-radius: 11px; background: #eaf4ed; color: #28664f; font-size: 23px; font-weight: 500; }
.add-table-form { display: grid; grid-template-columns: minmax(0, 1fr) minmax(120px, .45fr) auto; align-items: end; gap: 10px; }
.add-table-form .field { min-width: 0; margin: 0; }
.add-table-form .field label { font-size: 10px; }
.add-table-form .field input { min-width: 0; min-height: 40px; font-size: 11px; }
.add-table-form .button { min-height: 40px; white-space: nowrap; }
.table-directory { overflow: hidden; }
.table-directory-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 17px 20px; border-bottom: 1px solid #eee8df; }
.table-directory-heading h2 { margin: 0; font-size: 15px; }
.table-directory-heading p { margin: 5px 0 0; color: #827b70; font-size: 10px; }
.table-directory-total { padding: 6px 10px; border-radius: 8px; background: #f5f0e9; color: #806448; font-size: 10px; font-weight: 750; white-space: nowrap; }
.table-directory-scroll { overflow-x: auto; }
.table-directory-table { min-width: 760px; }
.table-directory-table thead { background: #faf8f5; color: #756c60; }
.table-directory-table th, .table-directory-table td { padding: 12px 15px; }
.table-directory-table tbody tr + tr { border-top: 1px solid #f0ece6; }
.table-directory-table tbody tr:hover { background: #fdfbf8; }
.table-directory-table tbody tr.is-occupied { background: #fffaf1; }
.table-directory-table tbody tr.is-occupied:hover { background: #fff6e8; }
.table-directory-table td { vertical-align: middle; }
.table-directory-table td:first-child { min-width: 130px; }
.table-row-name { display: block; color: #342d25; font-size: 12px; font-weight: 750; }
.table-row-caption { display: none; margin-top: 3px; color: #827b70; font-size: 9px; }
.table-edit-input, .table-capacity-input { min-height: 36px !important; padding: 6px 9px !important; font-size: 11px; }
.table-edit-input { width: 100%; min-width: 135px; }
.table-capacity-input { width: 76px; text-align: center; }
.table-visibility-toggle { display: flex; align-items: center; gap: 7px; color: #5e564b; font-size: 10px; white-space: nowrap; }
.table-visibility-toggle input { width: 16px; height: 16px; accent-color: #28664f; }
.table-occupancy-badge { display: inline-flex; margin-top: 5px; padding: 4px 7px; border-radius: 20px; background: #faf0df; color: #93652d; font-size: 9px; white-space: nowrap; }
.table-occupancy-badge.is-free { background: #f3f0eb; color: #82796d; }
.table-invoice-count { color: #51483e; font-size: 11px; font-variant-numeric: tabular-nums; }
.table-save-button { min-height: 34px; padding-inline: 12px; font-size: 10px; }
.table-directory-empty { display: grid; justify-items: center; gap: 9px; padding: 34px 20px; text-align: center; }
.table-directory-empty h2, .table-directory-empty p { margin: 0; }
.table-directory-empty h2 { font-size: 15px; }
.table-directory-empty p { font-size: 11px; }

.reports-page { --report-green: #005ce6; }
.reports-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 4px 0 23px; }
.report-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 9px; }
.report-export-button { min-width: 125px; background: #087443; }
.report-export-button:hover { background: #065d36; }
.reports-heading h1 { margin: 7px 0 5px; font-size: clamp(23px, 2.7vw, 30px); }
.reports-heading p { margin: 0; font-size: 12px; }
.print-report { min-width: 125px; }
.report-filter { display: flex; align-items: end; justify-content: space-between; flex-wrap: wrap; gap: 14px 20px; padding: 16px; }
.report-date-form { display: flex; align-items: end; flex-wrap: wrap; gap: 10px; }
.report-date-form .field { min-width: 150px; margin: 0; }
.report-date-form input { min-height: 39px; font-size: 11px; }
.report-date-form .button { min-height: 39px; }
.report-presets { display: flex; flex-wrap: wrap; gap: 6px; }
.period-chip { min-height: 32px; display: inline-flex; align-items: center; justify-content: center; padding: 0 11px; border: 1px solid #e1e6ef; border-radius: 8px; background: #fff; color: #59657b; font-size: 10px; font-weight: 700; }
.period-chip:hover, .period-chip.is-active { border-color: #b8d0f5; background: #edf4ff; color: #005ce6; }
.report-period-caption { display: flex; align-items: center; gap: 8px; margin: 15px 2px; color: #7b7368; font-size: 10px; }
.report-period-caption strong { color: #463a2e; }
.report-period-dot { width: 7px; height: 7px; border-radius: 50%; background: #005ce6; }
.report-kpis { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.report-kpi { min-height: 120px; display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 17px; border: 1px solid #e9e3da; border-radius: 12px; background: #fff; box-shadow: var(--shadow); }
.report-kpi::before { width: 28px; height: 3px; border-radius: 4px; background: #005ce6; content: ""; }
.report-kpi.kpi-sales::before { background: #08e0d0; }
.report-kpi.kpi-profit::before { background: #081124; }
.kpi-label { color: #7c7469; font-size: 10px; font-weight: 700; }
.report-kpi > strong { color: #30271f; font-size: clamp(20px, 2.3vw, 26px); font-variant-numeric: tabular-nums; }
.report-kpi > strong small { color: #80776b; font-size: 10px; font-weight: 600; }
.kpi-note { color: #948b7e; font-size: 9px; }
.report-secondary-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin: 13px 0 20px; overflow: hidden; border: 1px solid #e8e1d7; border-radius: 10px; background: #e8e1d7; }
.report-secondary-metrics article { display: grid; gap: 7px; padding: 13px 15px; background: #fcfbf9; }
.report-secondary-metrics article > span { color: #847b6f; font-size: 9px; }
.report-secondary-metrics article > strong { color: #44392e; font-size: 12px; }
.report-secondary-metrics small { color: #8b8276; font-size: 9px; font-weight: 500; }
.report-panel { min-width: 0; margin-top: 16px; padding: 18px; }
.report-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.report-panel-heading h2 { margin: 0; font-size: 14px; }
.report-panel-heading p { margin: 5px 0 0; color: #8a8175; font-size: 10px; }
.report-panel-tag { flex: 0 0 auto; padding: 6px 9px; border-radius: 7px; background: #f5f0e9; color: #806448; font-size: 9px; }
.report-panel-link, .report-row-link { color: #005ce6; font-size: 10px; font-weight: 750; white-space: nowrap; }
.report-panel-link:hover, .report-row-link:hover { color: #004bc0; text-decoration: underline; }
.trend-table-wrap { max-height: 390px; overflow: auto; }
.trend-table { min-width: 680px; }
.trend-table th, .trend-table td { padding: 10px 12px; }
.trend-table td { font-size: 10px; }
.numeric-cell { font-variant-numeric: tabular-nums; white-space: nowrap; }
.positive-value { color: #28664f; }
.negative-value { color: #a63e32; }
.trend-track { width: min(190px, 100%); height: 8px; overflow: hidden; border-radius: 8px; background: #f0ede7; }
.trend-bar { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg, #82ac8e, #28664f); }
.report-two-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.report-two-columns .report-panel { margin-top: 16px; }
.report-list { display: grid; }
.report-list-row { min-height: 45px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border-top: 1px solid #f0ece6; }
.report-list-row:first-child { border-top: 0; }
.report-list-label { display: inline-flex; align-items: center; gap: 8px; color: #50483e; font-size: 11px; }
.report-list-label > small { color: #91887c; font-size: 9px; }
.report-list-row > strong { color: #3d3329; font-size: 11px; white-space: nowrap; }
.report-list-row > strong small { color: #82796d; font-size: 9px; font-weight: 500; }
.payment-marker { width: 8px; height: 8px; border-radius: 50%; background: #56836a; }
.payment-visa { background: #6a77a8; }
.payment-instapay { background: #b77b45; }
.payment-vodafone_cash { background: #bd5143; }
.report-table-wrap { overflow-x: auto; }
.report-table-wrap table { min-width: 520px; }
.report-table-wrap th, .report-table-wrap td { padding: 10px 11px; font-size: 10px; }
.emphasis-cell { color: #393127; font-weight: 750; }
.rank-badge { width: 23px; height: 23px; display: inline-grid; place-items: center; border-radius: 7px; background: #edf4ff; color: #005ce6; font-size: 9px; font-weight: 800; }
.report-empty { padding: 20px !important; color: #8a8175; text-align: center; font-size: 10px; }
.report-summary-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.report-summary-grid article { display: grid; gap: 7px; padding: 12px; border: 1px solid #eee8df; border-radius: 9px; background: #fcfbf9; }
.report-summary-grid article > span { color: #837a6e; font-size: 9px; }
.report-summary-grid article > strong { color: #40362c; font-size: 13px; }
.report-summary-grid article > strong small { color: #847b6f; font-size: 9px; font-weight: 500; }
.report-footnote { margin: 12px 0 0; color: #92897e; font-size: 9px; }
.report-disclaimer { margin: 16px 0 0; padding: 13px 15px; border: 1px solid #e9e0d3; border-right: 3px solid #b77b45; border-radius: 9px; background: #faf7f1; color: #786f63; font-size: 10px; line-height: 1.9; }
.report-disclaimer strong { color: #4d3b29; }

.manager-pin-dialog { width: min(92vw, 430px); padding: 0; border: 0; border-radius: 16px; color: #172438; box-shadow: 0 24px 80px rgba(8, 17, 36, .28); }
.manager-pin-dialog::backdrop { background: rgba(8, 17, 36, .62); backdrop-filter: blur(3px); }
.manager-pin-dialog > form { display: grid; gap: 11px; padding: 25px; }
.manager-pin-kicker { color: #005ce6; font-size: 11px; font-weight: 800; }
.manager-pin-dialog h2 { margin: 0; font-size: 20px; }
.manager-pin-dialog p { margin: 0; color: #69778b; font-size: 12px; line-height: 1.8; }
.manager-pin-dialog label { margin-top: 5px; font-size: 12px; font-weight: 750; }
.manager-pin-dialog input { height: 48px; border: 1px solid #d7dfeb; border-radius: 9px; padding: 0 13px; font-size: 19px; letter-spacing: .35em; text-align: center; }
.manager-pin-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 8px; }
.manager-pin-alert { display: grid; gap: 5px; margin: 12px 20px 0; }
.manager-pin-alert span { font-size: 11px; }

.billing-panel { min-width: 0; padding: 20px; }
.billing-heading, .payment-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.billing-heading { padding-bottom: 15px; border-bottom: 1px solid #f0ece6; }
.billing-heading h2, .table-transfer h2 { margin: 0; color: #342d25; font-size: 17px; }
.billing-heading .muted { display: block; margin-top: 4px; font-size: 10px; }
.billing-heading .button, .payment-heading .button { min-height: 35px; padding-inline: 11px; font-size: 10px; }
.billing-heading .button:disabled { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.cart-empty { padding: 25px 8px; border-bottom: 1px solid #f0ece6; text-align: center; font-size: 11px; }
.cart-items { display: grid; gap: 0; max-height: 290px; overflow-y: auto; overscroll-behavior: contain; }
.cart-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 9px; align-items: center; padding: 11px 0; border-bottom: 1px solid #f0ece6; }
.cart-row > div:first-child { min-width: 0; }
.cart-row > div:first-child strong { display: block; overflow: hidden; color: #393127; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.cart-row > div:first-child span { color: #827b70; font-size: 10px; }
.cart-quantity { width: 58px; height: 36px; border: 1px solid #e1dbd1; border-radius: 8px; text-align: center; }
.cart-row .button { min-width: 34px; min-height: 34px; padding: 0; font-size: 17px; }
.table-order-sync { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 10px; padding: 8px 10px; border-radius: 8px; background: #f8f6f2; }
.billing-summary { display: grid; gap: 9px; margin-top: 14px; padding: 13px 14px; border: 1px solid #eee8df; border-radius: 10px; background: #fcfbf9; }
.billing-summary > div { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #81786c; font-size: 11px; }
.billing-summary > div strong { color: #40372d; font-size: 11px; font-variant-numeric: tabular-nums; }
.billing-summary .billing-grand-total { margin-top: 3px; padding-top: 11px; border-top: 1px solid #e9e2d8; color: #342d25; font-size: 12px; font-weight: 750; }
.billing-summary .billing-grand-total strong { color: #1d654b; font-size: 19px; font-weight: 800; }
.checkout-form { margin-top: 15px; }
.discount-fields { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
.discount-fields .field { min-width: 0; margin: 0; }
.discount-fields .field label, .table-transfer label { color: #62584b; font-size: 10px; font-weight: 750; }
.discount-fields .field input { min-width: 0; min-height: 39px; font-size: 11px; }
.discount-value-control { display: grid; grid-template-columns: minmax(0, 1fr) minmax(96px, 112px); gap: 8px; }
.discount-value-control > input, .discount-value-control > select { width: 100%; min-width: 0; min-height: 42px; }
.discount-value-control > input { direction: ltr; text-align: right; }
.discount-value-control > select { padding-inline: 8px; font-size: 11px; }
.tax-note { margin: 10px 0 15px; padding-inline: 2px; font-size: 10px; }
.payment-heading { margin-top: 13px; }
.payment-heading > strong { color: #40372d; font-size: 12px; }
.payment-list { display: grid; gap: 8px; margin-top: 9px; }
.payment-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(100px, .8fr) 36px; gap: 7px; }
.payment-row select, .payment-row input { width: 100%; min-width: 0; min-height: 40px; padding-inline: 8px; font-size: 11px; }
.payment-row .button { min-width: 36px; min-height: 40px; padding: 0; font-size: 16px; }
.checkout-error { display: block; margin-top: 8px; }
.open-shift-link { color: #a36b13; font-weight: 750; }
.checkout-button { width: 100%; min-height: 49px; margin-top: 14px; font-size: 13px; }
.checkout-button:disabled { opacity: .6; cursor: wait; transform: none; box-shadow: none; }
.table-transfer { display: grid; gap: 12px; margin: -20px -20px 17px; padding: 15px 20px; border-bottom: 1px solid #ece4d9; background: #faf7f2; }
.table-transfer h2 { font-size: 13px; }
.table-transfer p { margin: 4px 0 0; color: #82796d; font-size: 10px; }
.table-transfer form { display: grid; gap: 6px; }
.table-transfer-controls { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.table-transfer-controls select { min-width: 0; min-height: 39px; font-size: 11px; }
.table-transfer-controls .button { min-height: 39px; padding-inline: 11px; font-size: 10px; }
.table-transfer-controls .button:disabled { opacity: .55; cursor: wait; transform: none; box-shadow: none; }
.checkout-dialog { width: min(440px, calc(100% - 30px)); max-width: none; padding: 0; overflow: visible; border: 0; border-radius: 17px; background: #fff; color: var(--ink); box-shadow: 0 22px 70px rgb(27 22 16 / 24%); }
.checkout-dialog::backdrop { background: rgb(31 27 23 / 53%); backdrop-filter: blur(2px); }
.checkout-dialog-content { display: grid; justify-items: center; padding: 26px; text-align: center; }
.checkout-dialog-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%; background: #eaf4ed; color: #28664f; font-size: 20px; font-weight: 800; }
.checkout-dialog-mark.is-warning { background: #faf0df; color: #93652d; }
.checkout-dialog h2 { margin: 13px 0 4px; font-size: 19px; }
.checkout-dialog-content > p { margin: 0; color: #827b70; font-size: 11px; line-height: 1.8; }
.confirmation-total { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; padding: 13px 14px; border: 1px solid #dbe9df; border-radius: 10px; background: #f3f8f4; color: #62584b; font-size: 11px; }
.confirmation-total strong { color: #1d654b; font-size: 19px; font-variant-numeric: tabular-nums; }
.confirmation-cash-field { width: 100%; margin: 14px 0 0; text-align: right; }
.confirmation-cash-field label { color: #62584b; font-size: 11px; font-weight: 750; }
.confirmation-cash-field input { width: 100%; min-height: 46px; text-align: center; font-size: 19px; font-variant-numeric: tabular-nums; }
.change-row { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 10px; padding: 12px 14px; border-radius: 9px; background: #f6f3ee; color: #62584b; font-size: 12px; }
.change-row strong { color: #40372d; font-size: 16px; font-variant-numeric: tabular-nums; }
.change-row.has-change { background: #eaf4ed; color: #28664f; }
.change-row.has-change strong { color: #1d654b; }
.checkout-dialog [role="alert"] { margin-top: 9px; }
.checkout-dialog-actions { width: 100%; display: grid; grid-template-columns: 1fr 1.2fr; gap: 8px; margin-top: 17px; }
.checkout-dialog-actions .button { min-height: 43px; padding-inline: 9px; font-size: 10px; }
.confirmation-cash-field[hidden], .change-row[hidden] { display: none; }

.products-heading { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.products-heading h1 { margin: 9px 0 0; font-size: 28px; }
.products-heading-actions, .product-row-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.products-search { display: flex; gap: 9px; width: min(520px, 100%); margin-bottom: 18px; }
.products-search input { flex: 1; min-width: 0; }
.products-panel { overflow: hidden; }
.products-table-wrap { overflow-x: auto; }
.products-table { min-width: 850px; white-space: nowrap; }
.products-table thead { background: #f8f5f0; color: #756c60; font-size: 10px; }
.products-table th, .products-table td { padding: 13px 15px; }
.products-table tbody tr { border-top: 1px solid #f0ece6; }
.products-table tbody tr:hover { background: #fdfbf8; }
.products-table td { color: #50483e; font-size: 11px; }
.product-name-cell { color: #342d25 !important; font-weight: 750; }
.product-category { display: inline-flex; padding: 5px 8px; border-radius: 7px; background: #f5f0e9; color: #806448; font-size: 10px; }
.product-code { color: #827b70 !important; font-variant-numeric: tabular-nums; }
.product-price { color: #005ce6 !important; font-variant-numeric: tabular-nums; font-weight: 750; }
.product-state { display: inline-flex; align-items: center; padding: 5px 8px; border-radius: 20px; font-size: 9px; font-weight: 750; }
.product-state.is-tracked, .product-state.is-active { background: #eaf4ed; color: #367452; }
.product-state.is-untracked { background: #f3f0eb; color: #82796d; }
.product-state.is-inactive { background: #fbefed; color: #a34639; }
.product-row-actions { flex-wrap: nowrap; }
.product-row-actions .button { min-height: 34px; padding-inline: 11px; font-size: 10px; }
.product-row-actions form { margin: 0; }
.products-empty { padding: 30px !important; color: var(--muted) !important; text-align: center; white-space: normal; }
.products-pagination { margin-top: 18px; }
.pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 18px; }
.pagination-summary { margin: 0; color: var(--muted); font-size: 11px; }
.pagination-summary strong { color: var(--ink); font-variant-numeric: tabular-nums; }
.pagination-links { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; }
.pagination-page, .pagination-control { min-width: 36px; min-height: 36px; display: inline-flex; align-items: center; justify-content: center; padding: 0 10px; border: 1px solid var(--border); border-radius: 8px; background: #fff; color: #5d5347; font-size: 11px; font-variant-numeric: tabular-nums; transition: border-color .16s ease, background-color .16s ease, color .16s ease; }
.pagination-page:hover, .pagination-control:not(.is-disabled):hover { border-color: #b8d0f5; background: #f5f8ff; color: var(--brand-ink); }
.pagination-page.is-current { border-color: var(--brand-primary); background: var(--brand-primary); color: #fff; }
.pagination-control.is-disabled, .pagination-ellipsis { color: #a29a8f; }
.pagination-control.is-disabled { background: #f8f6f3; }
.pagination-ellipsis { min-width: 24px; text-align: center; }

.catalog-tabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)); gap: 8px; margin-top: 14px; padding: 2px 1px 8px; }
.catalog-tab { min-width: 0; min-height: 42px; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 10px; border: 1px solid #e6dfd5; border-radius: 9px; background: #fff; color: #665c50; cursor: pointer; font-size: 11px; font-weight: 750; text-align: right; }
.catalog-tab:hover { border-color: #b8d0f5; background: #f5f8ff; }
.catalog-tab.is-active { border-color: #005ce6; background: #005ce6; color: #fff; }
.catalog-tab > span { min-width: 22px; flex: 0 0 auto; padding: 3px 5px; border-radius: 10px; background: rgb(0 0 0 / 6%); font-size: 9px; text-align: center; }
.catalog-tab.is-active > span { background: rgb(255 255 255 / 18%); }
.catalog-result-count { min-height: 16px; margin: 2px 1px 8px; color: #82796d; font-size: 9px; }
.catalog-product-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(145px, 1fr)); gap: 10px; }
.catalog-product-grid .product-card[hidden] { display: none !important; }
.product-card { min-height: 112px; padding: 13px; border: 1px solid #e8e2d9; border-radius: 11px; background: #fff; color: #342d25; text-align: right; cursor: pointer; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.product-card:hover { transform: translateY(-2px); border-color: #8db4f0; box-shadow: 0 5px 14px rgb(8 17 36 / 8%); }
.product-card:focus-visible { outline: 3px solid rgb(0 92 230 / 24%); outline-offset: 2px; }
.product-card-category { display: block; color: #847a6e; font-size: 9px; }
.product-card-name { display: block; margin: 8px 0; color: #302920; font-size: 12px; }
.product-card-price { color: #005ce6; font-size: 11px; font-weight: 800; }
.catalog-empty { margin: 0; padding: 22px 14px; border: 1px dashed #ded6cb; border-radius: 10px; color: #82796d; font-size: 11px; text-align: center; }
.catalog-empty[hidden] { display: none !important; }
#order-layout > section, #order-layout > aside { min-width: 0; }

@media (min-width: 1500px) {
    .pos-table-grid { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); }
}
@media (max-width: 1000px) {
    .app-sidebar { width: 232px; padding-inline: 12px; }
    .app-main { margin-right: 232px; }
    .content-topbar { padding-inline: 24px; }
    .content-area { padding-inline: 24px; }
    .report-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .add-table-panel { grid-template-columns: 1fr; gap: 14px; }
}
@media (max-width: 720px) {
    .app-sidebar { position: sticky; inset: auto; width: 100%; max-height: none; padding: 10px 12px 8px; overflow: visible; box-shadow: 0 4px 14px rgb(34 27 20 / 12%); }
    .app-sidebar .brand, .sidebar-divider, .branch-chip, .nav-section-title, .sidebar-footer { display: none; }
    .sidebar-nav { display: flex; gap: 5px; overflow-x: auto; scrollbar-width: none; }
    .sidebar-nav::-webkit-scrollbar { display: none; }
    .side-link { min-height: 38px; flex: 0 0 auto; gap: 7px; padding-inline: 9px; font-size: 11px; }
    .side-link-icon { width: 23px; height: 23px; }
    .app-main { margin-right: 0; }
    .content-topbar { min-height: 58px; padding-inline: 15px; }
    .topbar-date { font-size: 10px; }
    .content-area { padding-inline: 15px; }
    .content-area > main { padding-top: 25px; }
    .pos-table-grid { grid-template-columns: repeat(auto-fill, minmax(205px, 1fr)); gap: 11px; }
    .table-card { min-height: 205px; padding: 14px; }
    .report-filter { align-items: stretch; }
    .report-presets { order: -1; }
    .report-two-columns { grid-template-columns: 1fr; gap: 0; }
    .report-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-product-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
    .billing-panel { padding: 16px; }
    .table-transfer { margin: -16px -16px 15px; padding-inline: 16px; }
    .catalog-tabs { grid-template-columns: repeat(auto-fit, minmax(135px, 1fr)); }
    .pagination { align-items: flex-start; }
    .pagination-links { gap: 4px; }
    .pagination-page, .pagination-control { min-width: 34px; min-height: 34px; padding-inline: 8px; }
    .table-overview { gap: 8px; }
    .table-overview article { min-height: 68px; gap: 8px; padding: 10px; }
    .table-overview-icon { width: 32px; height: 32px; border-radius: 9px; }
    .table-overview small { font-size: 9px; }
    .table-overview strong { font-size: 16px; }
    .table-directory-heading { padding: 14px; }
    .table-directory-table { min-width: 0; }
    .table-directory-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; clip-path: inset(50%); }
    .table-directory-table tbody { display: grid; gap: 9px; padding: 10px; }
    .table-directory-table tbody tr, .table-directory-table tbody tr.is-occupied { display: grid; gap: 0; padding: 8px 12px; border: 1px solid #ece6dd; border-radius: 10px; background: #fff; }
    .table-directory-table tbody tr.is-occupied { border-color: #ead8b6; background: #fffaf1; }
    .table-directory-table td, .table-directory-table td:first-child { min-width: 0; display: grid; grid-template-columns: minmax(95px, .7fr) minmax(0, 1fr); align-items: center; gap: 10px; padding: 8px 0; border: 0; text-align: start; }
    .table-directory-table td::before { color: #827b70; content: attr(data-label); font-size: 10px; font-weight: 650; }
    .table-directory-table td:first-child { grid-template-columns: minmax(95px, .7fr) minmax(0, 1fr); border-bottom: 1px solid #f0ece6; }
    .table-row-caption { display: block; }
    .table-edit-input { min-width: 0; }
    .table-directory-table td:last-child { padding-bottom: 3px; }
    .table-save-button { width: 100%; }
}
@media (max-width: 480px) {
    .content-topbar > div { display: grid; gap: 3px; }
    .topbar-page { padding-right: 0; border: 0; }
    .topbar-date { max-width: 130px; text-align: left; line-height: 1.5; }
    .pos-page-heading { align-items: flex-start; flex-direction: column; }
    .takeaway-button { width: 100%; }
    .pos-table-grid { grid-template-columns: 1fr; }
    .table-card { min-height: 190px; }
    .reports-heading { align-items: flex-start; flex-direction: column; }
    .print-report { width: 100%; }
    .report-date-form { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
    .report-date-form .field { min-width: 0; }
    .report-date-form .button { grid-column: 1 / -1; }
    .report-presets { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .period-chip { padding-inline: 6px; font-size: 9px; }
    .report-kpis { grid-template-columns: 1fr; gap: 8px; }
    .report-kpi { min-height: 100px; }
    .report-secondary-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .report-panel { padding: 13px; }
    .report-panel-heading { flex-wrap: wrap; }
    .report-summary-grid { grid-template-columns: 1fr 1fr; gap: 7px; }
    .report-period-caption { align-items: flex-start; line-height: 1.7; }
    .catalog-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .catalog-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
    .catalog-tab { min-height: 40px; gap: 5px; padding-inline: 8px; font-size: 10px; }
    .discount-fields { grid-template-columns: 1fr; }
    .checkout-dialog-content { padding: 21px 17px; }
    .checkout-dialog-actions { grid-template-columns: 1fr; }
    .table-management-heading { margin-bottom: 15px; }
    .table-overview { grid-template-columns: 1fr; }
    .table-overview article { min-height: 59px; }
    .add-table-panel { padding: 14px; }
    .add-table-form { grid-template-columns: minmax(0, 1fr) minmax(85px, .55fr); gap: 8px; }
    .add-table-form .button { grid-column: 1 / -1; }
    .table-directory-heading { align-items: flex-start; }
    .table-directory-table tbody { padding: 8px; }
    .table-directory-table tbody tr, .table-directory-table tbody tr.is-occupied { padding-inline: 10px; }
    .table-directory-table td, .table-directory-table td:first-child { grid-template-columns: minmax(88px, .65fr) minmax(0, 1fr); gap: 7px; }
}
@media print {
    .app-sidebar, .content-topbar { display: none !important; }
    .app-main { margin: 0; }
    .content-area { width: 100%; padding: 0; }
    body { background: white; }
    .reports-page .report-filter, .reports-page .report-heading-actions, .reports-page .report-panel-link, .app-sidebar { display: none !important; }
    .reports-page .report-panel, .reports-page .report-kpi { break-inside: avoid; box-shadow: none; }
    .reports-page .trend-table-wrap { max-height: none; overflow: visible; }
}

:root {
    --brand-cyan: #08e0d0;
    --brand-line: #e4eaf3;
    --brand-soft: #f2f6fd;
    --brand-shadow: 0 10px 32px rgb(8 17 36 / 6%);
}

::selection { background: rgb(0 92 230 / 16%); color: var(--brand-ink); }

.app-sidebar {
    width: 272px;
    padding: 27px 17px 17px;
    background: linear-gradient(180deg, #081124 0%, #0b1730 76%, #0b2040 100%);
    box-shadow: -8px 0 32px rgb(8 17 36 / 12%);
}
.app-sidebar .brand-mark { width: 39px; height: 39px; border-radius: 9px; }
.app-sidebar .brand-copy strong { font-size: 16px; letter-spacing: .01em; }
.sidebar-divider { margin: 19px 6px 17px; }
.branch-chip { min-height: 58px; border-color: rgb(255 255 255 / 9%); border-radius: 13px; background: rgb(255 255 255 / 4%); }
.branch-indicator { background: var(--brand-cyan); box-shadow: 0 0 0 4px rgb(8 224 208 / 11%); }
.nav-section-title { margin: 17px 10px 6px; color: #8492ad; letter-spacing: .045em; }
.side-link { min-height: 43px; border-radius: 10px; font-size: 12px; }
.side-link.is-active { border-color: rgb(8 224 208 / 20%); background: linear-gradient(100deg, rgb(0 92 230 / 30%), rgb(8 224 208 / 7%)); box-shadow: inset -2px 0 0 var(--brand-cyan); }
.side-link-icon { width: 26px; height: 26px; border-radius: 8px; background: rgb(255 255 255 / 6%); color: #7cdeed; }
.side-link.is-active .side-link-icon { background: #005ce6; box-shadow: 0 4px 12px rgb(0 92 230 / 25%); }
.user-chip { border-top-color: rgb(255 255 255 / 10%); }
.user-avatar { border: 1px solid rgb(8 224 208 / 25%); background: linear-gradient(145deg, #005ce6, #074a9d); }
.logout-button { min-height: 39px; border-color: rgb(255 255 255 / 10%); border-radius: 10px; }

.app-main { margin-right: 272px; background: var(--canvas); }
.content-topbar {
    position: relative;
    min-height: 76px;
    gap: 15px;
    padding-inline: 34px;
    border-color: var(--brand-line);
    background: rgb(255 255 255 / 94%);
    box-shadow: 0 2px 12px rgb(8 17 36 / 2%);
}
.content-topbar > .topbar-brand-mark { width: 32px; height: 32px; flex: 0 0 auto; object-fit: contain; }
.content-topbar .topbar-context { display: grid; justify-items: start; gap: 3px; margin-inline-end: auto; }
.topbar-kicker { color: var(--muted); font-size: 10px; }
.topbar-page { padding-right: 0; border: 0; color: var(--brand-ink); font-size: 13px; }
.topbar-date { display: inline-flex; align-items: center; min-height: 32px; padding-inline: 11px; border: 1px solid #edf0f6; border-radius: 9px; background: #f9fbfe; color: #63718a; font-size: 10px; }
.content-area { max-width: 1560px; padding-inline: 34px; }
.content-area > main { padding-top: 31px; }

h1, h2, h3 { color: var(--brand-ink); }
.eyebrow { color: #005ce6; }
.panel {
    border-color: var(--brand-line);
    border-radius: 15px;
    box-shadow: var(--brand-shadow);
}
.button { min-height: 43px; border-radius: 10px; font-weight: 750; }
.button:hover { box-shadow: 0 7px 17px rgb(0 92 230 / 18%); }
.button-secondary { border-color: #dfe6f0; background: #fff; color: #34425a; }
.button-secondary:hover { border-color: #bfd3f4; background: #f6f9ff; color: var(--brand-ink); box-shadow: none; }
input:not([type="checkbox"]):not([type="radio"]), select, textarea {
    border-color: #dfe6f0;
    border-radius: 9px;
}
input:not([type="checkbox"]):not([type="radio"]):focus, select:focus, textarea:focus {
    border-color: #75a7f2;
    box-shadow: 0 0 0 3px rgb(0 92 230 / 9%);
}
input[type="checkbox"], input[type="radio"] { accent-color: #005ce6; }
table { background: #fff; }
thead { background: #f4f7fc; color: #596982; }
th, td { padding: 13px 15px; }
tbody tr { border-color: #edf0f5; }
tbody tr:hover { background: #f8faff; }
td { color: #46536a; }
.alert { border-color: #f2d0c9; border-radius: 11px; background: #fff6f4; }
.alert-success { border-color: #cfe9e4; background: #f0fbf8; color: #176c62; }

.dashboard-welcome {
    position: relative;
    min-height: 166px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 29px 32px;
    overflow: hidden;
    border: 1px solid rgb(255 255 255 / 10%);
    border-radius: 20px;
    background: linear-gradient(112deg, #081124 4%, #0d2852 62%, #075a8c 100%);
    box-shadow: 0 17px 38px rgb(8 17 36 / 13%);
    color: #fff;
}
.dashboard-welcome-copy, .dashboard-primary-action { position: relative; z-index: 1; }
.dashboard-welcome-label { display: inline-flex; align-items: center; gap: 8px; color: #8de7e2; font-size: 10px; font-weight: 750; }
.dashboard-welcome-label::before { width: 17px; height: 2px; border-radius: 3px; background: var(--brand-cyan); content: ""; }
.dashboard-welcome h1 { margin: 9px 0 4px; color: #fff; font-size: clamp(24px, 3vw, 33px); letter-spacing: -.025em; }
.dashboard-welcome p { margin: 0; color: #c1cde1; font-size: 12px; line-height: 1.8; }
.dashboard-primary-action { min-width: 147px; min-height: 46px; background: linear-gradient(120deg, #005ce6, #0078e8); box-shadow: 0 8px 24px rgb(0 92 230 / 27%); }
.dashboard-primary-action:hover { background: linear-gradient(120deg, #004bc0, #0065cb); }
.dashboard-action-icon { font-size: 19px; font-weight: 500; line-height: 1; }
.dashboard-decoration { position: absolute; width: 205px; height: 205px; top: -132px; left: 19%; border: 1px solid rgb(8 224 208 / 24%); border-radius: 50%; box-shadow: 0 0 0 27px rgb(8 224 208 / 4%), 0 0 0 56px rgb(8 224 208 / 3%); }
.dashboard-account { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin-top: 17px; padding: 6px 10px; }
.dashboard-account-item { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 15px 17px; }
.dashboard-account-item + .dashboard-account-item { border-right: 1px solid #edf0f5; }
.dashboard-account-icon, .dashboard-shortcut-icon { width: 38px; height: 38px; display: grid; flex: 0 0 auto; place-items: center; border: 1px solid #e0eafe; border-radius: 11px; background: #f0f6ff; color: #005ce6; font-size: 13px; font-weight: 800; }
.dashboard-account-item > span:last-child { display: grid; min-width: 0; gap: 5px; }
.dashboard-account-item small, .dashboard-shortcut-copy small { color: #8290a6; font-size: 9px; font-weight: 650; }
.dashboard-account-item strong { overflow: hidden; color: #132039; font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin: 35px 2px 15px; }
.dashboard-section-heading .eyebrow { font-size: 10px; }
.dashboard-section-heading h2 { margin: 3px 0 0; font-size: 20px; letter-spacing: -.02em; }
.dashboard-section-heading > p { margin: 0 0 3px; font-size: 10px; }
.dashboard-shortcuts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; padding-bottom: 36px; }
.dashboard-shortcut { min-height: 123px; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 13px; padding: 17px 16px; transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease; }
.dashboard-shortcut:hover { transform: translateY(-2px); border-color: #c6d9f8; box-shadow: 0 12px 28px rgb(8 17 36 / 9%); }
.dashboard-shortcut-icon { width: 41px; height: 41px; border-radius: 12px; background: linear-gradient(145deg, #f0f6ff, #e9f7ff); }
.dashboard-shortcut-copy { display: grid; min-width: 0; gap: 4px; }
.dashboard-shortcut-copy strong { overflow: hidden; color: var(--brand-ink); font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-shortcut-copy > span { color: #758198; font-size: 9px; line-height: 1.7; }
.dashboard-shortcut-arrow { color: #8b9bb4; font-size: 17px; transition: transform .16s ease, color .16s ease; }
.dashboard-shortcut:hover .dashboard-shortcut-arrow { transform: translateX(-3px); color: #005ce6; }

.guest-shell-auth { width: min(1100px, calc(100% - 48px)); margin: 42px auto; }
.guest-shell-auth .guest-header { display: none; }
.auth-page { padding-block: 3px 28px; }
.auth-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .93fr); overflow: hidden; border-radius: 23px; box-shadow: 0 26px 75px rgb(8 17 36 / 12%); }
.auth-form-panel { padding: clamp(30px, 5vw, 58px); background: #fff; }
.auth-logo { display: inline-flex; margin-bottom: 38px; border-radius: 8px; }
.auth-logo img { display: block; width: 164px; height: auto; }
.auth-form-panel .eyebrow { margin-bottom: 8px; }
.auth-form-panel h1 { margin: 0; font-size: 29px; letter-spacing: -.035em; }
.auth-description { margin: 8px 0 24px; color: #718097; font-size: 12px; line-height: 1.9; }
.auth-form { display: grid; gap: 4px; }
.auth-form .field { gap: 8px; margin-top: 13px; }
.auth-form .field label { color: #35435b; font-size: 11px; }
.auth-form .field input { min-height: 47px; padding-inline: 13px; }
.auth-remember { display: flex; align-items: center; gap: 9px; margin: 15px 0 14px; color: #627089; font-size: 11px; }
.auth-remember input { width: 15px; height: 15px; margin: 0; }
.auth-submit { width: 100%; min-height: 49px; justify-content: space-between; padding-inline: 17px; }
.auth-submit span { font-size: 17px; }
.auth-footer-note { margin: 21px 0 0; color: #8591a5; font-size: 9px; }
.auth-form-panel .alert { margin-block: 15px; }
.auth-showcase { position: relative; min-height: 590px; display: flex; align-items: end; padding: 38px; overflow: hidden; isolation: isolate; background: linear-gradient(145deg, #081124 3%, #0d2852 60%, #075b8b); color: #fff; }
.auth-showcase::before { position: absolute; z-index: -1; width: 340px; height: 340px; top: -124px; left: -126px; border: 1px solid rgb(8 224 208 / 32%); border-radius: 50%; box-shadow: 0 0 0 30px rgb(8 224 208 / 5%), 0 0 0 68px rgb(8 224 208 / 4%), 0 0 0 108px rgb(8 224 208 / 3%); content: ""; }
.auth-showcase::after { position: absolute; z-index: -1; width: 250px; height: 250px; right: -146px; bottom: -125px; border-radius: 50%; background: radial-gradient(circle, rgb(8 224 208 / 19%), transparent 70%); content: ""; }
.auth-orbit { position: absolute; z-index: -1; border: 1px solid rgb(255 255 255 / 8%); border-radius: 50%; }
.auth-orbit-one { width: 400px; height: 400px; right: 16%; bottom: 18%; }
.auth-orbit-two { width: 260px; height: 260px; right: 35%; bottom: 38%; border-color: rgb(8 224 208 / 15%); }
.auth-showcase-content { max-width: 430px; }
.auth-product-mark { width: 58px; height: 58px; display: grid; place-items: center; margin-bottom: 30px; border: 1px solid rgb(8 224 208 / 20%); border-radius: 16px; background: rgb(255 255 255 / 7%); box-shadow: 0 12px 26px rgb(0 0 0 / 12%); }
.auth-product-mark img { width: 43px; height: 43px; object-fit: contain; }
.auth-showcase-label { color: #77e1df; font-size: 10px; font-weight: 750; }
.auth-showcase h2 { margin: 10px 0; color: #fff; font-size: clamp(26px, 3vw, 36px); line-height: 1.5; }
.auth-showcase-content > p { margin: 0; color: #bdcbe0; font-size: 11px; line-height: 2; }
.auth-feature-list { display: grid; gap: 12px; margin-top: 25px; }
.auth-feature-list > span { display: flex; align-items: center; gap: 9px; color: #e3eaf4; font-size: 10px; }
.auth-feature-list i { width: 19px; height: 19px; display: grid; place-items: center; border-radius: 50%; background: rgb(8 224 208 / 12%); color: #68e6dc; font-size: 10px; font-style: normal; }
.auth-showcase-brand { display: flex; align-items: center; gap: 11px; margin-top: 35px; padding-top: 17px; border-top: 1px solid rgb(255 255 255 / 12%); color: #9eacc3; font-size: 9px; }
.auth-showcase-brand img { width: 105px; height: auto; }

@media (max-width: 1000px) {
    .app-sidebar { width: 242px; }
    .app-main { margin-right: 242px; }
    .dashboard-shortcuts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .app-sidebar { padding: 9px 12px; box-shadow: 0 5px 18px rgb(8 17 36 / 15%); }
    .app-sidebar .brand, .sidebar-divider, .branch-chip, .nav-section-title, .sidebar-footer { display: none; }
    .app-main { margin-right: 0; }
    .content-topbar { min-height: 62px; padding-inline: 15px; }
    .content-topbar > .topbar-brand-mark { width: 28px; height: 28px; }
    .content-topbar .topbar-context { gap: 2px; }
    .content-area { padding-inline: 15px; }
    .content-area > main { padding-top: 25px; }
    .dashboard-welcome { min-height: 153px; padding: 22px; }
    .dashboard-welcome p { max-width: 360px; }
    .dashboard-account-item { gap: 9px; padding: 12px 10px; }
    .dashboard-account-icon { width: 32px; height: 32px; }
    .dashboard-account-item strong { font-size: 10px; }
    .guest-shell-auth { width: min(560px, calc(100% - 28px)); margin: 20px auto; }
    .auth-card { grid-template-columns: 1fr; }
    .auth-form-panel { padding: 28px; }
    .auth-logo { margin-bottom: 27px; }
    .auth-showcase { min-height: 310px; padding: 27px; }
    .auth-product-mark { width: 45px; height: 45px; margin-bottom: 19px; border-radius: 13px; }
    .auth-product-mark img { width: 34px; height: 34px; }
    .auth-showcase h2 { max-width: 380px; font-size: 25px; }
    .auth-feature-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .auth-showcase-brand { margin-top: 22px; }
}
@media (max-width: 480px) {
    .content-topbar { gap: 9px; }
    .topbar-date { min-height: 29px; max-width: 128px; padding-inline: 7px; font-size: 9px; line-height: 1.5; }
    .dashboard-welcome { align-items: flex-start; flex-direction: column; gap: 16px; padding: 21px; }
    .dashboard-welcome h1 { font-size: 25px; }
    .dashboard-primary-action { min-height: 41px; }
    .dashboard-account { grid-template-columns: 1fr; padding: 4px 11px; }
    .dashboard-account-item { padding: 11px 4px; }
    .dashboard-account-item + .dashboard-account-item { border-top: 1px solid #edf0f5; border-right: 0; }
    .dashboard-section-heading { align-items: flex-start; flex-direction: column; gap: 5px; margin-top: 27px; }
    .dashboard-section-heading h2 { font-size: 18px; }
    .dashboard-shortcuts { grid-template-columns: 1fr; gap: 9px; }
    .dashboard-shortcut { min-height: 99px; padding: 14px; }
    .auth-form-panel { padding: 23px 19px; }
    .auth-form-panel h1 { font-size: 25px; }
    .auth-showcase { min-height: 330px; padding: 23px 19px; }
    .auth-feature-list { grid-template-columns: 1fr; gap: 9px; }
    .auth-showcase-brand { margin-top: 18px; }
}

.field label, .confirmation-cash-field label, .table-visibility-toggle { color: #34425a; }
.table-overview article, .report-kpi { border-color: var(--brand-line); border-radius: 14px; }
.table-overview-icon, .add-table-mark { background: #eef5ff; color: #005ce6; }
.table-directory-heading { border-color: #edf0f5; }
.table-directory-heading h2, .table-row-name { color: var(--brand-ink); }
.table-directory-table thead, .products-table thead, .report-table-wrap thead, .trend-table thead {
    background: #f4f7fc;
    color: #596982;
}
.table-directory-table tbody tr + tr, .table-directory-table td:first-child { border-color: #edf0f5; }
.table-directory-table tbody tr:hover { background: #f8faff; }
.table-invoice-count, .products-table td { color: #46536a; }
.table-directory-total, .product-category, .report-panel-tag { background: #edf4ff; color: #0753be; }
.table-overview small, .add-table-copy small, .table-directory-heading p, .table-row-caption { color: #718097; }
.table-overview strong, .add-table-copy strong, .billing-heading h2, .table-transfer h2 { color: var(--brand-ink); }
.table-visibility-toggle input { accent-color: #005ce6; }
.open-shift-link { color: #005ce6; }
.billing-summary .billing-grand-total strong { color: #005ce6; }
.table-group-empty, .catalog-empty, .products-empty { border-color: #dce5f1; color: #718097; }
.table-group-count.available-count { background: #e8f7f2; color: #17745e; }
.table-card-icon { border-radius: 12px; }
.report-kpi { box-shadow: var(--brand-shadow); }
.kpi-label, .report-secondary-metrics article > span, .report-list-label { color: #64728a; }
.report-kpi > strong { color: var(--brand-ink); }
.report-secondary-metrics, .report-secondary-metrics article { border-color: #e8edf5; background: #f4f7fc; }
.report-secondary-metrics article > strong, .report-list-row > strong { color: #23314a; }
.report-panel { border-color: var(--brand-line); border-radius: 15px; }
.report-panel h2 { color: var(--brand-ink); }
.report-disclaimer { border-color: #dfe9f6; border-right-color: #005ce6; background: #f4f8ff; color: #596982; }
.report-disclaimer strong { color: var(--brand-ink); }
.trend-bar { background: linear-gradient(90deg, #08e0d0, #005ce6); }
.catalog-tab { border-color: #e1e8f2; color: #48566d; }
.product-card { border-color: #e4eaf3; border-radius: 12px; color: #34425a; }
.product-card-name { color: var(--brand-ink); }
.product-card-category { color: #758198; }
.product-name-cell { color: var(--brand-ink) !important; }
.product-code { color: #6c7890 !important; }
.report-summary-grid article { border-color: #e6ebf3; background: #f9fbfe; }
.report-summary-grid article > span { color: #718097; }
.report-summary-grid article > strong { color: #23314a; }
.report-period-caption strong, .report-period-caption { color: #596982; }
.table-card-hint, .table-order-summary { color: #718097; }
.table-order-summary strong { color: #1d2d49; }
.change-row { background: #f2f6fd; color: #596982; }
.change-row strong { color: #1d2d49; }
.change-row.has-change { background: #e8f7f2; color: #17745e; }
.change-row.has-change strong, .confirmation-total strong { color: #136b57; }
.confirmation-total { border-color: #d3e8e3; background: #f0faf7; }
.table-directory-table tbody tr.is-occupied { border-color: #f0dfbd; background: #fffbf3; }
.table-directory-table tbody tr.is-occupied:hover { background: #fff8e9; }
.table-directory-table tbody tr.is-occupied .table-occupancy-badge { background: #fff0d0; color: #805812; }

@media (max-width: 720px) {
    .dashboard-account { box-shadow: 0 5px 18px rgb(8 17 36 / 4%); }
    .auth-card { border-radius: 18px; }
}

.app-shell-cashier .app-sidebar { display: none; }
.app-shell-cashier .app-main { min-height: 100vh; margin-right: 0; }
.app-shell-cashier .content-topbar {
    position: sticky;
    z-index: 10;
    top: 0;
    min-height: 60px;
    display: flex;
    gap: 14px;
    padding-inline: clamp(10px, 1.2vw, 18px);
    border-bottom-color: #e5ebf4;
    box-shadow: 0 4px 16px rgb(8 17 36 / 5%);
}
.app-shell-cashier .topbar-brand-mark { width: 36px; height: 36px; }
.app-shell-cashier .topbar-context { flex: 0 0 auto; margin-inline-end: 8px; }
.cashier-quick-nav {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    margin-inline: auto;
}
.cashier-quick-link {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-inline: 13px;
    border: 1px solid transparent;
    border-radius: 10px;
    color: #56647c;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
    transition: background-color .16s ease, color .16s ease, border-color .16s ease;
}
.cashier-quick-link:hover { background: #f1f6ff; color: #005ce6; }
.cashier-quick-link.is-active { border-color: #dce9fc; background: #edf4ff; color: #0054cf; }
.cashier-topbar-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 10px; }
.cashier-branch { max-width: 150px; overflow: hidden; padding: 7px 10px; border: 1px solid #e5eaf2; border-radius: 9px; background: #f9fbfe; color: #596982; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.cashier-topbar-actions form { margin: 0; }
.cashier-logout { min-height: 36px; padding-inline: 12px; border: 1px solid #dfe6f0; border-radius: 9px; background: #fff; color: #596982; cursor: pointer; font: inherit; font-size: 10px; font-weight: 700; }
.cashier-logout:hover { border-color: #f2ceca; background: #fff6f5; color: #a63e32; }
.app-shell-cashier .content-area { width: 100%; max-width: none; padding-inline: clamp(8px, 1vw, 14px); }
.app-shell-cashier .content-area > main { padding-top: 16px; padding-bottom: 24px; }
.app-shell-cashier .pos-order-heading { margin: 5px 0 12px !important; }
.app-shell-cashier .pos-order-heading h1 { font-size: 22px !important; }
.app-shell-cashier .pos-order-heading p { margin-top: 3px !important; font-size: 12px; }
.app-shell-cashier #order-layout {
    grid-template-columns: minmax(0, 2.6fr) minmax(280px, .6fr) !important;
    gap: 12px !important;
}
.app-shell-cashier .catalog-product-grid { grid-template-columns: repeat(auto-fill, minmax(175px, 1fr)); gap: 13px; }
.app-shell-cashier .product-card { min-height: 138px; padding: 16px; border-radius: 14px; }
.app-shell-cashier .product-card-category { font-size: 11px; }
.app-shell-cashier .product-card-name { margin: 10px 0; font-size: 15px; line-height: 1.5; }
.app-shell-cashier .product-card-price { font-size: 14px; }
.app-shell-cashier .catalog-tab { min-height: 48px; padding-inline: 13px; font-size: 13px; }
.app-shell-cashier .catalog-tab > span { min-width: 25px; font-size: 11px; }
.app-shell-cashier #product-search { height: 54px !important; font-size: 15px; }
.app-shell-cashier .billing-panel { padding: 13px; }
.app-shell-cashier .billing-heading h2 { font-size: 16px; }
.app-shell-cashier .billing-summary > div { font-size: 12px; }
.app-shell-cashier .cart-row > div:first-child strong { font-size: 14px; }
.app-shell-cashier .cart-row > div:first-child span,
.app-shell-cashier .cart-empty { font-size: 12px; }
.app-shell-cashier .table-transfer { margin: -13px -13px 13px; padding: 12px 13px; }
.app-shell-cashier .pos-table-grid { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 10px; }
.app-shell-cashier .table-card {
    min-height: 145px;
    padding: 11px;
    border: 1px solid #e1e8f2;
    border-top: 2px solid #08b9ae;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 3px 12px rgb(8 17 36 / 4%);
    transition: border-color .16s ease, box-shadow .16s ease;
}
.app-shell-cashier .table-card:hover { border-color: #b8cff0; box-shadow: 0 7px 18px rgb(8 17 36 / 8%); }
.app-shell-cashier .table-card-busy { border-color: #e8eaf0; border-top-color: #e5a23b; background: #fff; }
.app-shell-cashier .table-card-icon { width: 32px; height: 32px; border-radius: 9px; background: #edf4ff; color: #0054cf; font-size: 14px; }
.app-shell-cashier .table-card-busy .table-card-icon { background: #fff4df; color: #94600b; }
.app-shell-cashier .table-status { padding: 4px 7px; border: 1px solid transparent; border-radius: 7px; font-size: 9px; }
.app-shell-cashier .status-available { background: #e8f7f2; color: #17745e; }
.app-shell-cashier .status-busy { background: #fff4df; color: #94600b; }
.app-shell-cashier .table-card-title { margin-top: 7px; }
.app-shell-cashier .table-card-title h2 { color: var(--brand-ink); font-size: 14px; }
.app-shell-cashier .table-card-title > span { color: #758198; font-size: 10px; }
.app-shell-cashier .table-card-hint { margin: 5px 0 7px; color: #718097; font-size: 10px; }
.app-shell-cashier .table-order-summary { margin: 5px 0 7px; padding: 6px 8px; border: 1px solid #e8edf5; border-radius: 8px; background: #f6f9fe; color: #64728a; font-size: 10px; }
.app-shell-cashier .table-order-summary strong { color: #0054cf; font-size: 12px; }
.app-shell-cashier .table-card-action { min-height: 31px; border-radius: 7px; background: #005ce6; font-size: 10px; }
.app-shell-cashier .table-card-action:hover { background: #004bc0; }
.app-shell-cashier .table-card-busy .table-card-action { background: #081124; }
.app-shell-cashier .table-card-busy .table-card-action:hover { background: #172744; }
.app-shell-cashier .table-group + .table-group { margin-top: 32px; }
.app-shell-cashier .table-group-heading { margin-bottom: 14px; }
.app-shell-cashier .table-group-heading h2 { color: var(--brand-ink); font-size: 18px; }
.app-shell-cashier .table-group-heading p { color: #718097; font-size: 11px; }
.app-shell-cashier .table-group-count { border-radius: 10px; background: #edf4ff; color: #0054cf; }
.app-shell-cashier .table-group-count.busy-count { background: #fff4df; color: #94600b; }
.app-shell-cashier .table-group-count.available-count { background: #e8f7f2; color: #17745e; }
.app-shell-cashier .pos-page-heading { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(260px, min(400px, 36vw)) auto; align-items: center; gap: 18px; margin: 4px 0 16px; }
.app-shell-cashier .table-search { width: 100%; min-width: 0; margin: 0; }
.app-shell-cashier .table-search-field { height: 40px; display: flex; align-items: center; gap: 8px; padding-inline: 10px 7px; border: 1px solid #dce5f1; border-radius: 10px; background: #fff; box-shadow: 0 3px 12px rgb(8 17 36 / 3%); transition: border-color .16s ease, box-shadow .16s ease; }
.app-shell-cashier .table-search-field:focus-within { border-color: #78a8ef; box-shadow: 0 0 0 3px rgb(0 92 230 / 10%); }
.app-shell-cashier .table-search-field > span { color: #718097; font-size: 19px; line-height: 1; }
.app-shell-cashier .table-search-field input { width: 100%; min-width: 0; height: 100%; border: 0; outline: 0; background: transparent; color: var(--brand-ink); font-size: 12px; }
.app-shell-cashier .table-search-field input::placeholder { color: #9aa5b6; }
.app-shell-cashier .table-search-field button { width: 27px; height: 27px; flex: 0 0 auto; border: 0; border-radius: 8px; background: #f0f4fa; color: #596982; cursor: pointer; font-size: 19px; line-height: 1; }
.app-shell-cashier .table-search-field button[hidden] { display: none; }
.app-shell-cashier .table-search-empty { margin: 0 0 20px; padding: 14px 16px; border: 1px dashed #dce5f1; border-radius: 10px; color: #718097; font-size: 12px; text-align: center; }
.app-shell-cashier .table-search-empty[hidden] { display: none; }
.app-shell-cashier .table-group[hidden], .app-shell-cashier .table-card[hidden] { display: none !important; }

@media (max-width: 1000px) {
    .app-shell-cashier .content-topbar { gap: 9px; padding-inline: 10px; }
    .cashier-quick-link { padding-inline: 9px; font-size: 10px; }
    .cashier-branch { max-width: 110px; }
    .app-shell-cashier #order-layout { grid-template-columns: minmax(0, 2.2fr) minmax(280px, .8fr) !important; }
    .app-shell-cashier .pos-page-heading { grid-template-columns: minmax(170px, 1fr) minmax(220px, 36vw) auto; gap: 12px; }
}
@media (max-width: 720px) {
    .app-shell-cashier .pos-page-heading { grid-template-columns: minmax(0, 1fr) auto; gap: 12px; }
    .app-shell-cashier .table-search { grid-column: 1 / -1; grid-row: 2; }
    .app-shell-cashier .table-search-empty { margin-top: 7px; }
}
@media (max-width: 720px) {
    .app-shell-cashier .content-topbar {
        min-height: 0;
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        gap: 8px 10px;
        padding: 11px 15px 8px;
    }
    .app-shell-cashier .topbar-brand-mark { width: 30px; height: 30px; }
    .app-shell-cashier .topbar-context { min-width: 0; gap: 2px; margin: 0; }
    .app-shell-cashier .topbar-kicker { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .app-shell-cashier .topbar-page { font-size: 11px; }
    .cashier-topbar-actions { gap: 6px; }
    .cashier-branch { max-width: 100px; padding: 6px 7px; font-size: 9px; }
    .cashier-logout { min-height: 31px; padding-inline: 9px; font-size: 9px; }
    .cashier-quick-nav {
        grid-column: 1 / -1;
        width: calc(100% + 4px);
        justify-content: flex-start;
        gap: 3px;
        margin: 0;
        overflow-x: auto;
        scrollbar-width: none;
    }
    .cashier-quick-nav::-webkit-scrollbar { display: none; }
    .cashier-quick-link { min-height: 35px; flex: 0 0 auto; padding-inline: 11px; }
    .app-shell-cashier .content-area { padding-inline: 10px; }
    .app-shell-cashier .content-area > main { padding-top: 12px; }
    .app-shell-cashier .pos-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-bottom: 20px; }
    .app-shell-cashier .pos-overview-card { min-height: 65px; gap: 9px; padding: 10px; }
    .app-shell-cashier .pos-overview-mark { width: 32px; height: 32px; }
    .app-shell-cashier .pos-overview-card strong { font-size: 17px; }
    .app-shell-cashier #order-layout { grid-template-columns: minmax(0, 1fr) !important; }
    .app-shell-cashier .pos-table-grid { grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 10px; }
    .app-shell-cashier .table-card { min-height: 152px; padding: 11px; }
}
@media (max-width: 480px) {
    .app-shell-cashier .content-topbar { padding-inline: 12px; }
    .cashier-branch { max-width: 85px; }
    .app-shell-cashier .content-area { padding-inline: 8px; }
    .app-shell-cashier .pos-table-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
    .app-shell-cashier .table-card { min-height: 150px; padding: 9px; }
    .app-shell-cashier .table-card-title { align-items: flex-start; flex-direction: column; gap: 2px; }
    .app-shell-cashier .table-card-title h2 { font-size: 13px; }
    .app-shell-cashier .table-order-summary { align-items: flex-start; flex-direction: column; gap: 2px; }
    .app-shell-cashier .pos-page-heading { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
    .app-shell-cashier .pos-page-heading .table-search { grid-column: 1; grid-row: auto; }
    .app-shell-cashier .pos-page-heading .takeaway-button { width: 100%; }
}
