* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: #f2f2f2;
    color: #111;
}

header {
    background: #111;
    color: #fff;
    padding: 14px;
    display: flex;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
    position: sticky;
    top: 0;
    z-index: 50;
}

header b {
    color: #ffc400;
    font-size: 20px;
}

nav {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}

nav button,
.btn,
.secondary,
.icon-button {
    border: 0;
    border-radius: 7px;
    padding: 10px 13px;
    cursor: pointer;
}

.btn {
    background: #ffc400;
    color: #111;
    font-weight: bold;
}

.secondary {
    background: #e5e7eb;
    color: #111;
    font-weight: bold;
}

.icon-button {
    background: transparent;
    font-size: 20px;
}

.block {
    width: 100%;
}

nav button {
    background: #222;
    color: #fff;
}

.right {
    margin-left: auto;
    display: flex;
    align-items: center;
    gap: 10px;
}

.user-name {
    font-size: 13px;
    color: #ddd;
}

.wrap {
    max-width: 1500px;
    margin: auto;
    padding: 16px;
}

.card {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    margin-bottom: 14px;
    box-shadow: 0 2px 8px #0001;
}

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

.kpi {
    font-size: 30px;
    font-weight: bold;
}

input,
select,
textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #bbb;
    border-radius: 6px;
    font: inherit;
}

textarea {
    min-height: 78px;
    resize: vertical;
}

label {
    display: block;
    margin-top: 9px;
    font-size: 13px;
    font-weight: bold;
}

.check-label {
    display: flex;
    gap: 8px;
    align-items: center;
}

.check-label input {
    width: auto;
}

.form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.full {
    grid-column: 1 / -1;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th,
td {
    padding: 8px;
    border-bottom: 1px solid #ddd;
    text-align: left;
}

.table-scroll {
    overflow-x: auto;
}

.hidden {
    display: none !important;
}

.loginbg {
    min-height: 100vh;
    background: #111;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login {
    width: min(420px, 92%);
    background: #fff;
    padding: 24px;
    border-radius: 14px;
}

.login-error {
    color: #b91c1c;
}

.msg {
    position: fixed;
    top: 76px;
    left: 50%;
    transform: translateX(-50%);
    width: min(700px, 92%);
    z-index: 200;
    padding: 12px;
    border-radius: 7px;
    background: #dcfce7;
    box-shadow: 0 4px 16px #0003;
}

.err {
    background: #fee2e2;
    color: #991b1b;
}

.muted {
    color: #666;
    margin: 3px 0;
}

/*
 * FASE 2.1
 */

.operation-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 12px;
}

.operation-header h2 {
    margin-bottom: 3px;
}

.environment-filters,
.category-tabs {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 0 12px;
}

.environment-filters button,
.category-tabs button {
    border: 0;
    border-radius: 999px;
    padding: 9px 15px;
    background: #ddd;
    white-space: nowrap;
    cursor: pointer;
}

.environment-filters button.active,
.category-tabs button.active {
    background: #111;
    color: #fff;
}

.table-board {
    display: grid;
    grid-template-columns:
        repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.table-card {
    min-height: 180px;
    border: 3px solid transparent;
    border-radius: 14px;
    padding: 16px;
    text-align: left;
    cursor: pointer;
    transition: transform .12s ease;
    box-shadow: 0 2px 8px #0001;
}

.table-card:hover {
    transform: translateY(-2px);
}

.table-card.free {
    background: #ecfdf5;
    border-color: #22c55e;
}

.table-card.occupied {
    background: #fff7ed;
    border-color: #f59e0b;
}

.table-card.blocked {
    background: #eee;
    border-color: #aaa;
    cursor: not-allowed;
}

.table-card-top {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-size: 19px;
}

.status-badge {
    font-size: 11px;
    padding: 5px 8px;
    border-radius: 999px;
    background: #fff;
}

.table-environment,
.table-capacity,
.table-open-hint {
    display: block;
    margin-top: 8px;
    color: #555;
}

.table-command-number {
    margin-top: 20px;
    font-weight: bold;
}

.table-total {
    margin-top: 12px;
    font-size: 22px;
    font-weight: bold;
}

.empty-state,
.empty-items {
    padding: 40px;
    text-align: center;
    color: #777;
    background: #fff;
    border-radius: 12px;
}

.modal-backdrop {
    position: fixed;
    inset: 0;
    background: #0009;
    z-index: 100;
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.modal {
    width: min(650px, 100%);
    max-height: calc(100vh - 40px);
    overflow: auto;
    background: #fff;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 10px 40px #0006;
}

.modal-large {
    width: min(1400px, 100%);
}

.modal-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    border-bottom: 1px solid #ddd;
    margin-bottom: 14px;
}

.modal-head h2 {
    margin: 0;
}

.modal-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 16px;
}

.command-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(360px, .8fr);
    gap: 16px;
}

.product-panel,
.command-panel {
    min-width: 0;
}

.product-toolbar {
    margin-bottom: 8px;
}

.product-grid {
    display: grid;
    grid-template-columns:
        repeat(auto-fill, minmax(170px, 1fr));
    gap: 9px;
    max-height: 60vh;
    overflow: auto;
}

.product-card {
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #f8f8f8;
    padding: 12px;
    text-align: left;
    cursor: pointer;
    min-height: 120px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.product-card:hover {
    border-color: #ffc400;
    background: #fffdf0;
}

.product-card span,
.product-card small {
    color: #666;
}

.product-card b {
    margin-top: auto;
    font-size: 18px;
}

.command-panel {
    border-left: 1px solid #ddd;
    padding-left: 16px;
}

.command-summary {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    margin-bottom: 12px;
}

.command-summary div {
    background: #f4f4f4;
    border-radius: 8px;
    padding: 9px;
}

.command-summary small,
.command-summary strong {
    display: block;
}

.command-items {
    max-height: 49vh;
    overflow: auto;
}

.command-item {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-bottom: 1px solid #ddd;
}

.command-item-main {
    display: flex;
    flex-direction: column;
    gap: 3px;
    min-width: 0;
}

.command-item-main span,
.command-item-main small {
    font-size: 12px;
    color: #666;
}

.item-note {
    color: #b45309 !important;
}

.production-tag {
    color: #2563eb !important;
}

.command-item-side {
    text-align: right;
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.danger-link {
    border: 0;
    background: transparent;
    color: #b91c1c;
    cursor: pointer;
    padding: 0;
}

.command-total {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-top: 2px solid #111;
    margin-top: 12px;
    padding-top: 14px;
    font-size: 22px;
}

@media (max-width: 900px) {
    .command-layout {
        grid-template-columns: 1fr;
    }

    .command-panel {
        border-left: 0;
        border-top: 1px solid #ddd;
        padding-left: 0;
        padding-top: 14px;
    }
}

@media (max-width: 700px) {
    .form {
        grid-template-columns: 1fr;
    }

    .right {
        margin-left: 0;
    }

    .operation-header {
        align-items: flex-start;
    }

    .table-board {
        grid-template-columns: 1fr 1fr;
    }

    .modal-backdrop {
        padding: 6px;
    }

    .modal {
        max-height: calc(100vh - 12px);
    }
}

@media (max-width: 480px) {
    .table-board {
        grid-template-columns: 1fr;
    }

    .command-summary {
        grid-template-columns: 1fr;
    }
}


/*
 * FASE 2.2 — INTEGRAÇÃO COM A COZINHA
 */

.production-actions {
    display: flex;
    gap: 8px;
    margin-top: 14px;
    flex-wrap: wrap;
}

.production-actions button {
    flex: 1;
    min-width: 220px;
}

.kitchen-button:disabled {
    background: #d1d5db;
    color: #666;
    cursor: not-allowed;
}

.production-tag,
.counter-tag {
    display: inline-flex;
    width: fit-content;
    padding: 4px 7px;
    border-radius: 999px;
    font-weight: bold;
}

.counter-tag {
    color: #444 !important;
    background: #e5e7eb;
}

.status-lancado {
    color: #92400e !important;
    background: #fef3c7;
}

.status-na_fila {
    color: #92400e !important;
    background: #ffedd5;
}

.status-em_preparo {
    color: #1d4ed8 !important;
    background: #dbeafe;
}

.status-pronto {
    color: #166534 !important;
    background: #dcfce7;
}

.status-entregue {
    color: #374151 !important;
    background: #e5e7eb;
}

.status-cancelado {
    color: #991b1b !important;
    background: #fee2e2;
}


/* FASE 2.2 — NOTIFICAÇÃO DE ITEM PRONTO NA COMANDA */
.ready-notification-center {
    position: fixed;
    right: 18px;
    top: 82px;
    width: min(390px, calc(100vw - 36px));
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    z-index: 300;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ready-notification-card {
    background: #fff;
    border: 3px solid #22c55e;
    border-radius: 14px;
    padding: 14px;
    box-shadow: 0 10px 30px #0005;
    animation: readyPulse .8s ease-in-out 2;
}

.ready-notification-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    color: #166534;
    border-bottom: 1px solid #dcfce7;
    padding-bottom: 8px;
}

.ready-notification-head button {
    border: 0;
    background: transparent;
    cursor: pointer;
    font-size: 18px;
}

.ready-notification-body {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 11px 0;
}

.ready-notification-body span {
    font-size: 18px;
}

.ready-notification-body small {
    color: #666;
}

.ready-open-command {
    width: 100%;
    background: #22c55e;
    color: #052e16;
}

@keyframes readyPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.025); }
}

@media (max-width: 600px) {
    .ready-notification-center {
        right: 8px;
        top: 72px;
        width: calc(100vw - 16px);
    }
}


/*
 * FASE 2.3 — FECHAMENTO DE COMANDA
 */

.closing-actions {
    margin-top: 9px;
}

.close-command-button {
    width: 100%;
    border: 0;
    border-radius: 8px;
    padding: 13px;
    background: #111;
    color: #fff;
    font-weight: bold;
    cursor: pointer;
}

.close-command-button:hover {
    background: #222;
}

.close-summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f4f4f4;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 12px;
}

.close-summary strong {
    font-size: 24px;
}

.payment-row {
    display: grid;
    grid-template-columns:
        minmax(180px, 1.4fr)
        minmax(110px, .8fr)
        minmax(110px, .8fr)
        minmax(90px, .6fr)
        38px;
    gap: 8px;
    align-items: end;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 9px;
    margin-bottom: 8px;
}

.payment-row label {
    margin-top: 0;
}

.remove-payment {
    height: 40px;
    border: 0;
    border-radius: 7px;
    background: #fee2e2;
    color: #991b1b;
    cursor: pointer;
}

.add-payment-button {
    width: 100%;
    margin: 5px 0 12px;
}

.payment-totals {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
}

.payment-totals div {
    background: #f4f4f4;
    padding: 10px;
    border-radius: 8px;
}

.payment-totals span,
.payment-totals strong {
    display: block;
}

.payment-totals strong {
    margin-top: 4px;
    font-size: 18px;
}

@media (max-width: 750px) {
    .payment-row {
        grid-template-columns: 1fr 1fr;
    }

    .remove-payment {
        grid-column: 1 / -1;
        width: 100%;
    }

    .payment-totals {
        grid-template-columns: 1fr;
    }
}


/*
 * VÍNCULO DO OPERADOR WEB COM O P2 RESPONSÁVEL
 */

.mobile-link-card {
    padding: 16px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #f7f7f7;
}

.mobile-link-card label {
    display: block;
    margin-bottom: 6px;
    font-weight: bold;
}

.mobile-link-card input {
    width: 100%;
    box-sizing: border-box;
    padding: 12px;
    border: 1px solid #bbb;
    border-radius: 8px;
    font-size: 18px;
}

.mobile-link-card p {
    margin: 10px 0 0;
}


/*
 * ETAPA 2.3.1 — NAVEGAÇÃO OPERACIONAL POR TECLADO
 */

body {
    padding-bottom: 42px;
}

.keyboard-shortcut-bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 5000;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 14px;
    padding: 7px 12px;
    border-top: 1px solid #333;
    background: #111;
    color: #fff;
    font-size: 12px;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, .2);
}

.keyboard-shortcut-bar span {
    white-space: nowrap;
}

.keyboard-shortcut-bar kbd {
    display: inline-block;
    min-width: 27px;
    padding: 2px 5px;
    margin-right: 4px;
    border: 1px solid #777;
    border-radius: 4px;
    background: #292929;
    color: #ffc400;
    font-family: inherit;
    font-weight: bold;
    text-align: center;
}

.keyboard-selected {
    position: relative;
    outline: 4px solid #1677ff !important;
    outline-offset: -3px;
    box-shadow:
        0 0 0 2px #fff,
        0 0 0 6px rgba(22, 119, 255, .35) !important;
}

.keyboard-selected::after {
    content: 'ENTER';
    position: absolute;
    right: 8px;
    bottom: 8px;
    padding: 3px 6px;
    border-radius: 4px;
    background: #1677ff;
    color: #fff;
    font-size: 10px;
    font-weight: bold;
}

.keyboard-dirty {
    border-top: 4px solid #f59e0b;
}

.keyboard-dirty .modal-head::after {
    content: 'Alterações não concluídas';
    display: inline-block;
    margin-left: 12px;
    padding: 4px 7px;
    border-radius: 999px;
    background: #fff3cd;
    color: #8a5a00;
    font-size: 11px;
    font-weight: bold;
}

input:focus,
select:focus,
textarea:focus,
button:focus {
    outline: 3px solid #1677ff !important;
    outline-offset: 2px;
}

@media (max-width: 850px) {
    .keyboard-shortcut-bar {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
    }
}


/*
 * ETAPA 2.4 — CONTROLE DE CAIXA
 */

.cash-header,
.cash-history-title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.cash-header-actions,
.cash-actions {
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
}

.cash-empty {
    text-align: center;
    padding: 40px;
}

.cash-status-card {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 16px;
    margin-bottom: 14px;
    border-radius: 12px;
    background: #111;
    color: #fff;
}

.cash-status-card small,
.cash-status-card strong {
    display: block;
}

.cash-status-card strong {
    margin-top: 5px;
}

.cash-kpis {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 10px;
    margin-bottom: 14px;
}

.cash-kpis .card {
    margin: 0;
}

.cash-kpis strong {
    display: block;
    margin-top: 7px;
    font-size: 20px;
}

.cash-kpis .highlighted {
    border: 2px solid #ffc400;
    background: #fff8d9;
}

.cash-actions {
    margin-bottom: 14px;
}

.cash-actions button {
    flex: 1;
    min-width: 160px;
    padding: 13px;
    font-weight: bold;
}

.danger-button {
    border: 0;
    border-radius: 8px;
    background: #b91c1c;
    color: #fff;
    cursor: pointer;
}

.close-cash-button {
    border: 0;
    border-radius: 8px;
    background: #111;
    color: #fff;
    padding: 12px;
    font-weight: bold;
    cursor: pointer;
}

.cash-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 14px;
}

.cash-history-card {
    margin-top: 14px;
}

.cash-difference-preview {
    display: flex;
    justify-content: space-between;
    margin: 12px 0;
    padding: 12px;
    border-radius: 8px;
    background: #f3f4f6;
}

.positive-value {
    color: #15803d !important;
    font-weight: bold;
}

.negative-value {
    color: #b91c1c !important;
    font-weight: bold;
}

@media (max-width: 1000px) {
    .cash-kpis {
        grid-template-columns: repeat(3, 1fr);
    }

    .cash-status-card {
        grid-template-columns: repeat(2, 1fr);
    }

    .cash-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .cash-header {
        align-items: stretch;
        flex-direction: column;
    }

    .cash-kpis,
    .cash-status-card {
        grid-template-columns: 1fr;
    }
}

/* MANUTENÇÃO DE CADASTROS */
.row-actions,.form-actions{display:flex;gap:7px;flex-wrap:wrap}.row-actions button{padding:7px 10px;font-size:12px;font-weight:bold}.danger-button.compact{min-width:auto}.registration-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.batch-table-card{border:2px solid #ffc400}@media(max-width:850px){.registration-grid{grid-template-columns:1fr}}

#tm .row-actions{min-width:165px}#mativo{width:auto}


/* V12 — PESQUISA DE MESAS E CLIENTES */
.operation-search-row {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 14px 0 10px;
}

.operation-table-search {
    position: relative;
    flex: 1;
    max-width: 760px;
}

.operation-table-search input {
    width: 100%;
    min-height: 48px;
    padding: 10px 48px 10px 44px;
    border: 2px solid #d4d4d4;
    border-radius: 10px;
    background: #fff;
    font-size: 17px;
}

.operation-table-search input:focus {
    border-color: #1677ff;
}

.operation-search-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #555;
    font-size: 24px;
    pointer-events: none;
}

.operation-search-clear {
    position: absolute;
    right: 9px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #ededed;
    color: #222;
    cursor: pointer;
    font-weight: bold;
}

.operation-search-clear:hover {
    background: #d9d9d9;
}

.operation-search-result {
    min-width: 130px;
    color: #555;
    font-size: 14px;
    text-align: right;
}

@media (max-width: 720px) {
    .operation-search-row {
        align-items: stretch;
        flex-direction: column;
    }

    .operation-table-search {
        max-width: none;
    }

    .operation-search-result {
        text-align: left;
    }
}

/* V13 — usuários, clientes e crediário */
#p-usuarios .card,#p-clientes .card,#p-crediario .card{margin-bottom:14px}
.link-button{border:0;background:none;color:#075fce;text-decoration:underline;cursor:pointer;font-weight:700}
.statement-head{display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:2px solid #111;padding-bottom:12px}
.statement-day{padding:12px 0;border-bottom:1px solid #ddd}.statement-day h3{margin:0 0 5px}.statement-day ul{margin:8px 0}
#creditCustomerPanel{margin-top:12px;border:2px solid #f0b400;background:#fffbe6}
@media(max-width:760px){.statement-head{align-items:stretch;flex-direction:column}}


/* V14.4 — LOG DE REMOÇÃO DE ITENS */
.removed-items-button {
    border-color: #b91c1c;
    color: #991b1b;
}

#removeItemReason {
    min-height: 110px;
}

.removed-items-log {
    max-height: 65vh;
    overflow-y: auto;
    padding-right: 6px;
}

.removed-log-card {
    padding: 15px;
    margin-bottom: 10px;
    border: 1px solid #ddd;
    border-left: 5px solid #b91c1c;
    border-radius: 9px;
    background: #fff;
}

.removed-log-header,
.removed-log-details {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    flex-wrap: wrap;
}

.removed-log-header {
    margin-bottom: 9px;
    font-size: 16px;
}

.removed-log-header span,
.removed-log-user {
    color: #555;
    font-size: 13px;
}

.removed-log-details {
    padding: 8px 0;
    margin-bottom: 8px;
    border-top: 1px solid #eee;
    border-bottom: 1px solid #eee;
}

.removed-log-reason {
    margin-top: 8px;
    padding: 9px;
    border-radius: 6px;
    background: #fff1f2;
}

.removed-log-user {
    margin-top: 9px;
    text-align: right;
}

.error-text {
    color: #b91c1c;
}


/*
 * V14.4.1 — MODAIS SOBRE A COMANDA
 *
 * O modal da comanda permanece aberto enquanto o motivo da remoção
 * ou o histórico é exibido. Estes modais precisam ficar em uma camada
 * fixa acima do modal principal.
 */

.modal.modal-front {
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 150;
    transform: translate(-50%, -50%);
    width: min(650px, calc(100vw - 40px));
    max-height: calc(100vh - 40px);
    margin: 0;
    box-shadow:
        0 0 0 100vmax rgba(0, 0, 0, .48),
        0 18px 60px rgba(0, 0, 0, .45);
}

.modal.modal-front.modal-large {
    width: min(1100px, calc(100vw - 40px));
}

@media (max-width: 700px) {
    .modal.modal-front,
    .modal.modal-front.modal-large {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }
}


/* V14.5 — AUDITORIA E VENDA AVULSA */
.audit-filter-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.audit-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(180px, 280px));
    gap: 12px;
    margin: 14px 0;
}

.audit-summary strong {
    display: block;
    margin-top: 7px;
    font-size: 24px;
}

.standalone-sale-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.6fr) minmax(340px, .8fr);
    gap: 14px;
}

.standalone-search {
    width: 100%;
    margin-bottom: 12px;
    min-height: 46px;
}

.standalone-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 10px;
}

.standalone-product {
    display: flex;
    min-height: 118px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: space-between;
    padding: 14px;
    border: 1px solid #ddd;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    text-align: left;
}

.standalone-product:hover {
    border-color: #ffc400;
    background: #fff9dd;
}

.standalone-product small {
    color: #666;
}

.standalone-product b {
    font-size: 20px;
}

.standalone-cart-panel {
    position: sticky;
    top: 82px;
    align-self: start;
}

.standalone-cart-item {
    display: grid;
    grid-template-columns: 1fr auto auto;
    align-items: center;
    gap: 10px;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.standalone-cart-item small {
    display: block;
    color: #666;
}

.standalone-quantity {
    display: flex;
    align-items: center;
    gap: 7px;
}

.standalone-quantity button {
    width: 30px;
    height: 30px;
    border: 0;
    border-radius: 6px;
    background: #eee;
    cursor: pointer;
}

.standalone-total {
    display: flex;
    justify-content: space-between;
    padding: 16px 0;
    margin-bottom: 12px;
    border-top: 2px solid #111;
    font-size: 22px;
}

@media (max-width: 950px) {
    .audit-filter-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .standalone-sale-layout {
        grid-template-columns: 1fr;
    }

    .standalone-cart-panel {
        position: static;
    }
}

@media (max-width: 600px) {
    .audit-filter-grid,
    .audit-summary {
        grid-template-columns: 1fr;
    }
}


/* V14.6 — CANCELAMENTO DE COMANDA E CLIENTE DA MESA */
.command-closing-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.command-closing-grid button {
    width: 100%;
}

.cancel-warning {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #e2a400;
    border-radius: 8px;
    background: #fff7d6;
    font-weight: bold;
}

.audit-type {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: bold;
    white-space: nowrap;
}

.audit-type-item {
    background: #fee2e2;
    color: #991b1b;
}

.audit-type-comanda {
    background: #fef3c7;
    color: #92400e;
}

.audit-summary {
    grid-template-columns: repeat(4, minmax(160px, 1fr));
}

@media (max-width: 750px) {
    .command-closing-grid,
    .audit-summary {
        grid-template-columns: 1fr;
    }
}


/* V14.7 — CLIENTE AVULSO E HISTÓRICO DE VENDAS */
#commandRegisteredCustomerPanel,
#commandStandaloneCustomerPanel {
    margin-top: 12px;
}

.sales-history-filters {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}

.sale-detail-summary {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    padding: 12px;
    margin-bottom: 14px;
    border-radius: 8px;
    background: #f4f4f4;
}

#salesHistoryDetailContent h3 {
    margin: 18px 0 8px;
}

@media (max-width: 850px) {
    .sales-history-filters,
    .sale-detail-summary {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 560px) {
    .sales-history-filters,
    .sale-detail-summary {
        grid-template-columns: 1fr;
    }
}

.service-panel{margin:10px 0;padding:10px;border:1px solid #ddd;border-radius:8px}.service-panel>div{display:flex;gap:8px}.service-panel input{flex:1}.command-payment-summary{grid-column:1/-1;padding:8px;background:#fff7d6;border-radius:8px}.command-payment-summary small{display:block;margin-top:4px}.existing-payments{padding:10px;background:#f5f5f5;border-radius:8px;margin-bottom:10px}.compact{padding:5px 8px;font-size:11px}


/* V14.9 — TAXA SINCRONIZADA E AJUSTES DE FECHAMENTO */
.service-panel h3{margin:0 0 8px}.service-fields{display:grid!important;grid-template-columns:1fr 1fr auto;align-items:end;gap:10px}.service-fields>div{display:block}.service-fields input{width:100%}.closing-adjustments{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:12px;align-items:end;margin:12px 0}.closing-adjustment-total{padding:10px;border-radius:8px;background:#fff7d6}.closing-adjustment-total span,.closing-adjustment-total strong{display:block}.closing-adjustment-total strong{font-size:20px;margin-top:4px}@media(max-width:700px){.service-fields,.closing-adjustments{grid-template-columns:1fr}.service-fields button{width:100%}}


/* V14.9.1 — NAVEGAÇÃO E LAYOUT DO FECHAMENTO */
.payment-row {
    grid-template-columns: minmax(0, 1.35fr) minmax(110px, .65fr);
    align-items: end;
}
.payment-row > div { min-width: 0; }
.payment-row-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
}
.remove-payment {
    width: auto;
    min-width: 150px;
    height: 34px;
    padding: 7px 12px;
    font-size: 12px;
    font-weight: 700;
}
#finishCommandButton:focus {
    outline: 3px solid #1677ff;
    outline-offset: 3px;
}
@media (max-width: 750px) {
    .payment-row { grid-template-columns: 1fr; }
    .payment-row-actions { grid-column: 1; }
    .remove-payment { width: 100%; }
}


/* V14.9.11 — PARAMETRIZAÇÃO DO ESTABELECIMENTO */
.establishment-settings-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    max-width: 1050px;
}

.establishment-settings-form .full {
    grid-column: 1 / -1;
}

@media (max-width: 720px) {
    .establishment-settings-form {
        grid-template-columns: 1fr;
    }

    .establishment-settings-form .full {
        grid-column: auto;
    }
}


/* V14.10 — MENU OPERACIONAL E CENTRAL ADMINISTRATIVA */
.operational-menu {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.operational-menu button {
    white-space: nowrap;
    min-height: 40px;
    font-weight: 700;
}

.operational-menu button.active {
    background: #ffc400;
    color: #111;
}

.admin-page-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.admin-page-header h2 {
    margin: 0 0 4px;
}

.admin-section {
    margin: 20px 0 26px;
}

.admin-section h3 {
    margin: 0 0 10px;
    padding-bottom: 8px;
    border-bottom: 2px solid #111;
}

.admin-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 12px;
}

.admin-tile {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 112px;
    padding: 16px;
    border: 1px solid #d6d6d6;
    border-radius: 12px;
    background: #fff;
    color: #111;
    text-align: left;
    cursor: pointer;
}

.admin-tile:hover,
.admin-tile:focus-visible {
    border-color: #ffc400;
    background: #fff9df;
}

.admin-tile strong {
    margin-bottom: 8px;
    font-size: 17px;
}

.admin-tile span {
    color: #555;
    line-height: 1.35;
}

@media (max-width: 900px) {
    header {
        align-items: flex-start;
    }

    .operational-menu {
        order: 3;
        width: 100%;
    }
}

@media (max-width: 620px) {
    .admin-page-header {
        align-items: stretch;
        flex-direction: column;
    }

    .admin-grid {
        grid-template-columns: 1fr;
    }
}


/* V15.0 — ETAPA 2.5.1 A 2.5.4 */
.report-filter,.permission-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:16px}.report-filter label,.permission-toolbar label{min-width:180px}.report-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin-bottom:16px}.report-card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:16px}.report-card span{display:block;color:#666;font-size:12px}.report-card strong{display:block;margin-top:6px;font-size:21px}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.permissions-matrix{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}.permission-group{background:#fff;border:1px solid #ddd;border-radius:10px;padding:14px}.permission-group h3{margin:0 0 10px}.permission-group label{display:flex;gap:9px;align-items:flex-start;padding:8px 0;border-bottom:1px solid #eee}.permission-group label:last-child{border-bottom:0}.permission-group small{display:block;color:#666;margin-top:2px}.table-wrap pre{white-space:pre-wrap;max-width:460px;font-size:11px}.danger{background:#b91c1c!important;color:#fff!important}@media(max-width:850px){.report-columns{grid-template-columns:1fr}}
@media print{header,.topbar,.admin-page-header,.report-filter,#msg{display:none!important}#p-relatorios{display:block!important}.report-card,.card{box-shadow:none!important;border:1px solid #999!important}}

.mobile-cash-card{margin-bottom:16px}.mobile-cash-card table{width:100%}

.dashboard-summary,
.dashboard-highlights,
.dashboard-grid {
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:14px;
    margin-bottom:16px;
}
.dashboard-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
}
.dashboard-kpi,
.highlight-card {
    background:#fff;
    border:1px solid #ddd;
    border-radius:14px;
    padding:16px;
}
.dashboard-kpi span,
.highlight-card span {
    display:block;
    color:#666;
    font-size:13px;
    margin-bottom:6px;
}
.dashboard-kpi strong,
.highlight-card strong {
    font-size:24px;
}
.highlight-card small {
    display:block;
    margin-top:5px;
    font-size:15px;
}
.highlight-card.positive {
    border-left:6px solid #19a15f;
}
.highlight-card.negative {
    border-left:6px solid #c51d1d;
}
.report-table {
    width:100%;
    border-collapse:collapse;
}
.report-table th,
.report-table td {
    padding:10px 8px;
    border-bottom:1px solid #ddd;
    text-align:left;
}
.mobile-cash-title {
    display:flex;
    justify-content:space-between;
    align-items:center;
}
.status-badge {
    display:inline-block;
    padding:4px 9px;
    border-radius:999px;
    font-size:11px;
    font-weight:800;
}
.status-badge.open {
    background:#d9fbe8;
    color:#087a3d;
}
.status-badge.closed {
    background:#eee;
    color:#555;
}
@media(max-width:900px) {
    .dashboard-summary,
    .dashboard-highlights,
    .dashboard-grid {
        grid-template-columns:1fr;
    }
}

.promotion-days{display:flex;gap:12px;flex-wrap:wrap;margin:14px 0}.promotion-days label{display:flex;gap:5px;align-items:center}.promotion-badge{display:block;background:#fff0b3;color:#6b4c00;padding:4px 7px;border-radius:8px;margin-top:5px;font-weight:700}

#p-whatsapp-pedidos textarea{min-height:140px}#waAuditBody td{vertical-align:top}

.campaign-card{margin-bottom:16px}
.campaign-title{display:flex;justify-content:space-between;gap:12px;align-items:center}
.campaign-progress{height:12px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:12px 0}
.campaign-progress span{display:block;height:100%;background:#16a34a}
.campaign-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.campaign-actions button{border:0;border-radius:8px;padding:9px 12px;font-weight:800;cursor:pointer}
.campaign-actions .danger{background:#b91c1c;color:#fff}
.campaign-preview{max-width:320px;max-height:220px;object-fit:contain;border:1px solid #ddd;border-radius:10px;margin-top:10px}
.modal-wide{width:min(1100px,94vw)}

.chat-shell{
    display:grid;
    grid-template-columns:360px minmax(0,1fr);
    height:calc(100dvh - 118px);
    min-height:480px;
    overflow:hidden;
    background:#eef0f3
}
.chat-sidebar{
    min-height:0;
    background:#fff;
    border-right:1px solid #ddd;
    overflow:hidden;
    display:flex;
    flex-direction:column
}
.chat-sidebar-head,.chat-header{
    flex:0 0 auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:14px;
    border-bottom:1px solid #ddd;
    background:#fff
}
.chat-filters{
    flex:0 0 auto;
    display:grid;
    gap:8px;
    padding:10px
}
.chat-conversation-list{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    flex:1
}
.chat-conversation{
    width:100%;
    text-align:left;
    border:0;
    border-bottom:1px solid #eee;
    background:#fff;
    padding:12px;
    cursor:pointer;
    position:relative
}
.chat-conversation.active{background:#fff4c4}
.chat-conversation div{
    display:flex;
    justify-content:space-between
}
.chat-conversation span,.chat-conversation small{color:#666}
.chat-conversation b{
    position:absolute;
    right:12px;
    top:35px;
    background:#16a34a;
    color:#fff;
    border-radius:20px;
    min-width:22px;
    text-align:center
}
.chat-conversation p{
    margin:6px 0;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}
.chat-main{
    min-width:0;
    min-height:0;
    overflow:hidden
}
.chat-empty{
    display:grid;
    place-items:center;
    height:100%;
    font-size:22px;
    color:#777
}
.chat-chat{
    height:100%;
    min-height:0;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    overflow:hidden
}
.chat-actions{
    display:flex;
    gap:6px;
    align-items:center
}
.chat-actions button{
    padding:8px;
    border:0;
    border-radius:7px;
    font-weight:700
}
.chat-messages{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:20px;
    padding-bottom:28px;
    background:#efeae2;
    scroll-behavior:smooth
}
.chat-message{
    max-width:72%;
    padding:10px 12px;
    border-radius:10px;
    margin:7px 0;
    box-shadow:0 1px 2px #aaa
}
.chat-message.in{background:#fff}
.chat-message.out{
    background:#d9fdd3;
    margin-left:auto
}
.chat-message p{
    white-space:pre-wrap;
    margin:4px 0
}
.chat-message small{
    font-size:11px;
    color:#666
}
.chat-media{
    max-width:320px;
    max-height:280px;
    border-radius:8px
}
.chat-compose{
    position:relative;
    z-index:3;
    display:grid;
    grid-template-columns:minmax(240px,1fr) auto 130px auto;
    align-items:end;
    gap:8px;
    padding:10px 12px 12px;
    border-top:1px solid #d5d5d5;
    background:#fff;
    box-shadow:0 -4px 14px rgba(0,0,0,.08)
}
.chat-compose-message{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:4px
}
.chat-compose-message textarea{
    width:100%;
    min-height:54px;
    max-height:130px;
    resize:vertical;
    margin:0
}
.chat-compose-message small{
    color:#666;
    font-size:11px
}
.chat-file-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:10px 14px;
    border-radius:7px;
    background:#e5e7eb;
    color:#111;
    font-weight:800;
    cursor:pointer
}
.chat-file-button input{
    position:absolute;
    width:1px;
    height:1px;
    opacity:0;
    pointer-events:none
}
.chat-compose select,
.chat-compose button{
    min-height:44px;
    margin:0
}
.chat-compose button:disabled{
    opacity:.65;
    cursor:wait
}
.attendance-hours{display:grid;gap:8px}
.attendance-hour{
    display:grid;
    grid-template-columns:180px 140px auto 140px;
    gap:8px;
    align-items:center;
    padding:8px;
    border-bottom:1px solid #eee
}
.attendance-notification-wrapper{
    position:relative
}
.attendance-notification-button{
    position:relative;
    width:42px;
    height:40px;
    padding:0;
    border:1px solid #444;
    border-radius:9px;
    background:#222;
    color:#fff;
    cursor:pointer
}
.attendance-notification-button.has-unread{
    border-color:#ffc400;
    background:#302900
}
.attendance-bell{
    font-size:20px;
    line-height:1
}
.attendance-notification-badge{
    position:absolute;
    top:-7px;
    right:-7px;
    display:grid;
    place-items:center;
    min-width:21px;
    height:21px;
    padding:0 5px;
    border-radius:999px;
    background:#dc2626;
    color:#fff;
    font-size:11px;
    font-weight:900;
    border:2px solid #111
}
.attendance-notification-panel{
    position:absolute;
    top:calc(100% + 9px);
    right:0;
    z-index:7000;
    width:min(390px,calc(100vw - 24px));
    max-height:min(620px,calc(100dvh - 120px));
    overflow:hidden;
    border:1px solid #d1d5db;
    border-radius:12px;
    background:#fff;
    color:#111;
    box-shadow:0 18px 50px rgba(0,0,0,.32)
}
.attendance-notification-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:8px;
    padding:13px 14px;
    border-bottom:1px solid #e5e7eb
}
.attendance-notification-head button{
    border:0;
    border-radius:7px;
    padding:7px 9px;
    font-size:11px;
    font-weight:800;
    cursor:pointer
}
.attendance-notification-list{
    max-height:420px;
    overflow-y:auto
}
.attendance-notification-item{
    width:100%;
    display:block;
    padding:12px 14px;
    border:0;
    border-bottom:1px solid #eee;
    background:#fff;
    text-align:left;
    cursor:pointer
}
.attendance-notification-item:hover{
    background:#fff8d8
}
.attendance-notification-item div{
    display:flex;
    justify-content:space-between;
    gap:10px
}
.attendance-notification-item b{
    display:grid;
    place-items:center;
    min-width:22px;
    height:22px;
    border-radius:999px;
    background:#16a34a;
    color:#fff;
    font-size:11px
}
.attendance-notification-item p{
    margin:5px 0;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    color:#333
}
.attendance-notification-item small{
    color:#666
}
.attendance-notification-empty{
    padding:20px 14px;
    margin:0
}
.attendance-notification-open-all{
    width:100%;
    padding:12px;
    border:0;
    border-top:1px solid #e5e7eb;
    background:#ffc400;
    color:#111;
    font-weight:900;
    cursor:pointer
}
.attendance-notification-pulse{
    animation:attendancePulse .55s ease-in-out 3
}
@keyframes attendancePulse{
    0%,100%{transform:scale(1)}
    50%{transform:scale(1.16)}
}
@media(max-width:900px){
    .chat-shell{
        grid-template-columns:300px minmax(0,1fr);
        height:calc(100dvh - 108px)
    }
    .chat-compose{
        grid-template-columns:1fr 110px;
    }
    .chat-compose-message{
        grid-column:1/-1
    }
    .chat-actions{
        flex-wrap:wrap
    }
}
@media(max-width:680px){
    .chat-shell{
        grid-template-columns:1fr;
        height:auto;
        min-height:calc(100dvh - 120px)
    }
    .chat-sidebar{
        max-height:300px
    }
    .chat-main{
        min-height:520px
    }
    .chat-compose{
        grid-template-columns:1fr
    }
}

#p-atendimento{
    margin:-16px;
}
#p-atendimento .chat-shell{
    width:calc(100% + 0px);
}

/* V16.2 - Gestão de produtos */
.product-page-head,.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px}.product-page-head h2,.card-title-row h2{margin:0}.product-form-card{border-top:4px solid #ffc400}.product-form-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-name-field{grid-column:span 2}.product-checks{display:flex;flex-wrap:wrap;gap:24px;padding:12px 4px;border-top:1px solid #eee}.product-filter-card{position:sticky;top:70px;z-index:8}.product-filter-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:12px;align-items:end}.product-search-field{min-width:0}.product-filter-actions{display:flex;align-items:end}.product-filter-summary{display:flex;justify-content:space-between;gap:16px;margin-top:12px;padding-top:10px;border-top:1px solid #eee}.product-bulk-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid #ffc400}.product-bulk-bar p{margin:3px 0 0}.product-bulk-controls{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.product-bulk-controls select{min-width:190px}.product-table-card{padding:0}.product-table{min-width:1050px}.product-table th{position:sticky;top:0;background:#fff;z-index:2}.select-column{width:42px;text-align:center}.product-description{display:block;max-width:420px;margin-top:4px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.selected-row{background:#fff8d6}.status-chip{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.production-yes,.status-active{background:#dcfce7;color:#166534}.production-no{background:#f3f4f6;color:#4b5563}.status-inactive{background:#fee2e2;color:#991b1b}
@media(max-width:1100px){.product-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-filter-actions{grid-column:span 2}.product-bulk-bar{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.product-page-head,.card-title-row{align-items:flex-start;flex-direction:column}.product-form-grid,.product-filter-grid{grid-template-columns:1fr}.product-name-field,.product-filter-actions{grid-column:auto}.product-checks{flex-direction:column;gap:12px}.product-filter-card{position:static}.product-bulk-controls{width:100%;flex-direction:column;align-items:stretch}.product-bulk-controls select{width:100%}}

.composition-selector{display:grid;grid-template-columns:1.6fr 2fr 1.6fr auto;gap:12px;align-items:end}
.composition-list{display:grid;gap:8px}
.composition-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px 110px 140px 150px;gap:10px;align-items:center;padding:10px;border:1px solid #ddd;border-radius:10px}
.composition-row.selected{border-color:#ffc400;background:#fff9db}
.composition-check{display:flex;gap:10px;align-items:center}
.composition-check span{display:flex;flex-direction:column}.composition-check small{color:#666}
.subitems-panel{margin:12px 0;padding:12px;border:1px solid #ddd;border-radius:10px;background:#fafafa}
.subitems-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.add-subitem-row{display:grid;grid-template-columns:1fr 38px 42px 38px;gap:6px;align-items:center;padding:8px 0;border-bottom:1px solid #e5e5e5}
.add-subitem-row div{display:flex;flex-direction:column}.add-subitem-row small{color:#666}
.add-subitem-row button{height:34px;border:0;border-radius:7px;font-weight:900}
.cart-subitems{margin:6px 0 0;padding-left:18px;font-size:12px;color:#555}
@media(max-width:900px){.composition-selector{grid-template-columns:1fr}.composition-row{grid-template-columns:1fr 1fr}.composition-check{grid-column:1/-1}}

.subitem-group-form{
    display:grid;
    grid-template-columns:1.3fr 1.7fr auto;
    gap:12px;
    align-items:end
}
.subitem-group-form > label:nth-of-type(4){
    grid-column:1/3
}
.subitem-group-actions{
    display:flex;
    gap:8px;
    align-items:center
}
.subitem-groups-layout{
    display:grid;
    grid-template-columns:minmax(0,2fr) minmax(320px,1fr);
    gap:16px;
    margin-top:16px
}
.subitem-group-list{
    display:grid;
    gap:10px
}
.subitem-group-card{
    display:flex;
    justify-content:space-between;
    gap:12px;
    padding:13px;
    border:1px solid #ddd;
    border-radius:10px;
    background:#fff
}
.subitem-group-card.inactive{
    opacity:.65;
    background:#f3f4f6
}
.subitem-group-card > div:first-child{
    display:flex;
    flex-direction:column;
    gap:4px
}
.subitem-group-card small{
    color:#666
}
.subitem-group-card p{
    margin:4px 0 0;
    color:#444
}
.subitem-group-card-actions{
    display:flex;
    gap:6px;
    align-items:center
}
.subitem-group-card-actions button{
    border:0;
    border-radius:7px;
    padding:8px 10px;
    font-weight:800;
    cursor:pointer
}
.subitem-group-card-actions .danger{
    background:#c81e1e;
    color:#fff
}
@media(max-width:1000px){
    .subitem-group-form{
        grid-template-columns:1fr
    }
    .subitem-group-form > label:nth-of-type(4){
        grid-column:auto
    }
    .subitem-groups-layout{
        grid-template-columns:1fr
    }
}

.standalone-composition-summary{
    display:grid;
    grid-template-columns:1fr 1fr 1.2fr;
    gap:10px;
    margin-bottom:14px
}
.standalone-composition-summary > div{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:12px;
    background:#f3f4f6;
    border-radius:10px
}
.standalone-composition-summary span{
    color:#666;
    font-size:13px
}
.standalone-composition-summary strong{
    font-size:19px
}
.standalone-composition-total{
    background:#fff4c4!important;
    border:1px solid #f2c200
}
.standalone-subitem-row button:disabled{
    opacity:.4;
    cursor:not-allowed
}
@media(max-width:650px){
    .standalone-composition-summary{
        grid-template-columns:1fr
    }
}

.standalone-category-tabs{
    margin:12px 0 14px;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding-bottom:4px
}
.standalone-category-tabs button{
    flex:0 0 auto;
    white-space:nowrap
}
.standalone-products-empty{
    grid-column:1/-1;
    min-height:150px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center
}

.standalone-consumption-print-status{
    margin-top:8px;
    padding:10px 12px;
    border-radius:8px;
    background:#fff4c4;
    border:1px solid #e7bd00;
    font-size:13px;
    font-weight:700;
    line-height:1.35
}
#standaloneConsumptionPrintButton{
    margin-top:10px;
    border:2px solid #111;
    background:#fff;
    color:#111
}
#standaloneConsumptionPrintButton:hover{
    background:#f2f2f2
}

.scale-product-chip{margin-left:8px;background:#e0f2fe;color:#075985}
.standalone-scale-quantity{display:flex;align-items:center;gap:6px}
.standalone-scale-quantity input{width:92px;text-align:right;font-weight:800;padding:8px}
.standalone-scale-quantity span{font-weight:700;color:#555}

.digital-tabs,.digital-filters,.digital-actions{display:flex;gap:10px;align-items:center;margin:12px 0}.digital-order-grid,.digital-menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:14px}.digital-order-card{background:#fff;border:1px solid #ddd;border-radius:14px;padding:16px}.digital-order-head{display:flex;justify-content:space-between;gap:12px}.digital-order-head h3{margin:4px 0}.status-pill{background:#fff1b5;border-radius:999px;padding:7px 10px;font-weight:800;height:max-content}.digital-item{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #ddd;padding:11px 0}.digital-item small{display:block;color:#666;margin-top:4px}.small{padding:7px 9px}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.digital-menu-grid{margin-top:15px}code{word-break:break-all}


.digital-product-modal{
    position:fixed;
    inset:0;
    z-index:12000;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:24px;
    background:rgba(0,0,0,.62)
}
.digital-product-modal.hidden{display:none}
.digital-product-dialog{
    width:min(1180px,96vw);
    height:min(820px,92vh);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    background:#fff;
    border-radius:18px;
    box-shadow:0 24px 80px rgba(0,0,0,.35)
}
.digital-product-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:20px 24px;
    border-bottom:1px solid #ddd
}
.digital-product-header h2{margin:0 0 4px}
.digital-product-header p{margin:0}
.digital-product-toolbar{
    display:grid;
    grid-template-columns:minmax(280px,1fr) minmax(220px,300px) auto auto;
    gap:12px;
    align-items:end;
    padding:16px 24px;
    background:#f7f7f7;
    border-bottom:1px solid #ddd
}
.digital-product-toolbar label{font-weight:700}
.digital-product-toolbar input,
.digital-product-toolbar select{margin-top:6px}
.digital-product-summary{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:12px 24px;
    background:#fff4bd;
    border-bottom:1px solid #e4bd00
}
.digital-product-table-wrap{
    flex:1;
    overflow:auto;
    min-height:0
}
.digital-product-table{
    width:100%;
    border-collapse:collapse
}
.digital-product-table th{
    position:sticky;
    top:0;
    z-index:2;
    padding:12px;
    text-align:left;
    background:#111;
    color:#fff
}
.digital-product-table td{
    padding:11px 12px;
    border-bottom:1px solid #e3e3e3;
    vertical-align:middle
}
.digital-product-table tr.selected{background:#fff8d8}
.digital-product-table td small{
    display:block;
    margin-top:3px;
    color:#666
}
.digital-product-table .check-cell{
    width:46px;
    text-align:center
}
.digital-event-price{
    min-width:170px;
    width:100%
}
.digital-product-footer{
    display:flex;
    justify-content:flex-end;
    gap:12px;
    padding:16px 24px;
    border-top:1px solid #ddd;
    background:#fff
}
body.modal-open{overflow:hidden}
@media(max-width:900px){
    .digital-product-modal{padding:8px}
    .digital-product-dialog{width:100%;height:96vh}
    .digital-product-toolbar{grid-template-columns:1fr 1fr}
    .digital-product-summary{flex-direction:column}
}

.digital-qr-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-top:16px}
.digital-qr-card{border:1px solid #ddd;border-radius:12px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;background:#fff}
.digital-qr-card img{width:180px;height:180px;max-width:100%;object-fit:contain;border:1px solid #eee;border-radius:8px}
.digital-qr-card a{font-weight:800;color:#111;text-decoration:underline;word-break:break-word}
.digital-order-notification{border-left:4px solid #ffc400}


/* V17.0.6 — área segura para impressoras térmicas e relatórios */
@media print{
    html,body{
        max-width:100%!important;
        overflow:visible!important
    }

    #p-relatorios,
    .report-card,
    .card,
    table{
        max-width:100%!important;
        box-sizing:border-box!important
    }

    table{
        width:100%!important;
        table-layout:fixed!important
    }

    th,td{
        overflow-wrap:anywhere!important;
        word-break:break-word!important
    }
}

/* Pagamentos múltiplos da venda avulsa */
.standalone-payment-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:12px;
    margin-top:14px
}
.standalone-payment-header label{
    display:block;
    margin:0
}
.standalone-payment-header small{
    display:block;
    margin-top:3px;
    color:#666;
    line-height:1.25
}
.standalone-payment-rows{
    display:grid;
    gap:10px;
    margin-top:10px
}
.standalone-payment-row{
    padding:11px;
    border:1px solid #d5d5d5;
    border-radius:10px;
    background:#fafafa
}
.standalone-payment-row-title{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:8px
}
.standalone-payment-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px
}
.standalone-payment-grid label{
    margin:0
}
.standalone-payment-grid input,
.standalone-payment-grid select{
    width:100%
}
.standalone-payment-wide{
    grid-column:1/-1
}
.standalone-payment-summary{
    display:flex;
    flex-wrap:wrap;
    justify-content:space-between;
    gap:8px;
    margin:10px 0;
    padding:9px 10px;
    border-radius:8px;
    font-size:13px
}
.standalone-payment-summary.is-balanced{
    background:#e8f8ee;
    border:1px solid #28a85d
}
.standalone-payment-summary.is-unbalanced{
    background:#fff3cd;
    border:1px solid #d6a700
}
@media(max-width:700px){
    .standalone-payment-header{
        align-items:stretch;
        flex-direction:column
    }
    .standalone-payment-grid{
        grid-template-columns:1fr
    }
}


/* V17.0.8 — Relatório de faturamento resumido */
.simple-revenue-filter{
    align-items:end
}
.simple-revenue-filter label{
    min-width:180px
}
.simple-revenue-filter select{
    min-width:220px
}
.simple-revenue-print-header{
    margin:14px 0 10px
}
.simple-revenue-print-header h2{
    margin-bottom:3px
}
.simple-revenue-print-header p{
    margin:0;
    color:#666
}
.simple-revenue-cards .report-card small{
    display:block;
    margin-top:4px;
    color:#666
}
.simple-revenue-cards .warning-card{
    border-color:#d39b00;
    background:#fff8df
}
.simple-revenue-cards .neutral-card{
    background:#f4f4f4
}
.simple-revenue-columns{
    align-items:start
}
.simple-revenue-table th:nth-child(n+2),
.simple-revenue-table td:nth-child(n+2){
    text-align:right
}
.simple-revenue-empty{
    padding:12px 0;
    margin:0
}
.simple-revenue-note{
    margin-top:12px
}
.simple-revenue-note p{
    margin-bottom:0
}
@media(max-width:800px){
    .simple-revenue-filter label,
    .simple-revenue-filter select{
        min-width:100%;
        width:100%
    }
    .simple-revenue-columns{
        grid-template-columns:1fr
    }
}

/* V17.0.12 — vínculo do pedido digital com mesa/comanda */
.digital-table-assignment{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:10px;background:#fffbe8}
.digital-table-assignment label{display:grid;gap:5px;font-weight:700}
.digital-table-assignment select{width:100%}
.digital-table-assignment small{display:block;margin-top:5px;color:#666;line-height:1.3}
.digital-command-link{font-weight:700;color:#166534}
.digital-actions{align-items:flex-end;flex-wrap:wrap}


.close-account-notification{
    border-left:4px solid #e53935!important;
    background:#fff3f3!important
}
.close-account-notification strong{
    color:#a31616
}

/* V17.0.17 — seletor obrigatório do primeiro pedido digital */
.digital-first-order-table{display:grid!important;gap:8px!important;min-width:260px!important}
.digital-first-order-table strong{font-size:14px;color:#111}
.digital-first-order-table label{font-size:13px;font-weight:800}
.digital-table-select{display:block!important;width:100%!important;min-height:42px!important;padding:8px 10px!important;border:2px solid #d6a900!important;border-radius:8px!important;background:#fff!important;color:#111!important;font-size:14px!important}
.digital-order-card .digital-actions{display:flex!important;align-items:stretch!important}
.digital-order-card .digital-table-assignment{flex:1 1 100%!important}


.digital-pending-label{
    display:grid;
    gap:3px;
    margin-right:auto
}
.digital-pending-label span{
    color:#666;
    font-size:13px
}
.standalone-change-value{
    padding:5px 9px;
    border-radius:8px;
    background:#fff2bd;
    color:#111
}
.standalone-change-value strong{
    color:#111
}


.standalone-payment-grid-quick{
    grid-template-columns:minmax(180px,1fr) minmax(190px,1fr)
}
.standalone-payment-grid-quick label small{
    display:block;
    margin-top:5px;
    color:#666;
    font-size:12px;
    line-height:1.25
}
@media(max-width:760px){
    .standalone-payment-grid-quick{
        grid-template-columns:1fr
    }
}

/* V17.0.41 - Relatório de performance da cozinha */
.kitchen-performance-filter{
    grid-template-columns:repeat(5,minmax(150px,auto));
}
.kitchen-performance-cards{
    grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
}
.kitchen-performance-columns{
    align-items:start;
}
.kitchen-performance-detail{
    margin-top:14px;
}
.kitchen-performance-detail .table-wrap{
    max-height:560px;
    overflow:auto;
}
.kitchen-performance-detail table{
    min-width:1450px;
}
@media (max-width:900px){
    .kitchen-performance-filter{
        grid-template-columns:1fr 1fr;
    }
    .kitchen-performance-columns{
        grid-template-columns:1fr;
    }
}

/* V17.0.42 - Alinhamento das tabelas de performance da cozinha */
.kitchen-performance-columns > .card:only-child{
    grid-column:1 / -1;
}
.kitchen-performance-columns .table-wrap,
.kitchen-performance-detail .table-wrap{
    width:100%;
    overflow-x:auto;
}
.kitchen-performance-columns table,
.kitchen-performance-detail table{
    width:100%;
    border-collapse:collapse;
}
/* A classe global .right é flexível para o cabeçalho do sistema.
   Dentro deste relatório, as células precisam permanecer como table-cell. */
.kitchen-performance-columns td.right,
.kitchen-performance-detail td.right{
    display:table-cell;
    margin-left:0;
    text-align:right;
    vertical-align:middle;
    white-space:nowrap;
}
.kitchen-performance-detail th,
.kitchen-performance-detail td{
    vertical-align:middle;
    white-space:nowrap;
}
.kitchen-performance-detail th:nth-child(1),
.kitchen-performance-detail td:nth-child(1){min-width:170px}
.kitchen-performance-detail th:nth-child(2),
.kitchen-performance-detail td:nth-child(2){min-width:125px}
.kitchen-performance-detail th:nth-child(3),
.kitchen-performance-detail td:nth-child(3){min-width:80px}
.kitchen-performance-detail th:nth-child(4),
.kitchen-performance-detail td:nth-child(4){min-width:120px}
.kitchen-performance-detail th:nth-child(5),
.kitchen-performance-detail td:nth-child(5){min-width:210px;white-space:normal}
.kitchen-performance-detail th:nth-child(6),
.kitchen-performance-detail td:nth-child(6){min-width:130px}
.kitchen-performance-detail th:nth-child(7),
.kitchen-performance-detail td:nth-child(7){min-width:70px;text-align:right}
.kitchen-performance-detail th:nth-child(8),
.kitchen-performance-detail td:nth-child(8){min-width:105px}
.kitchen-performance-detail th:nth-child(n+9),
.kitchen-performance-detail td:nth-child(n+9){min-width:105px;text-align:right}

/* V17.0.43 - detalhamento dos fiados recebidos no relatório gerencial */
.management-received-credit-card{margin:18px 0}
.management-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px}
.management-section-title h3{margin-bottom:4px}
.management-section-title p{margin:0}
.management-section-title>strong{font-size:1.25rem;white-space:nowrap}
.management-received-credit-table{min-width:900px;width:100%}
.management-received-credit-table th,.management-received-credit-table td{vertical-align:middle}
.management-received-credit-table th:last-child,.management-received-credit-table td:last-child{white-space:nowrap}
.report-number{text-align:right!important}
@media (max-width:800px){.management-section-title{flex-direction:column;gap:6px}}

/* V17.0.44 - Eventos de preço temporário */
.price-event-product-picker{
    margin:18px 0 12px;
    padding:16px;
    border:1px solid #e2e8f0;
    border-radius:12px;
    background:#f8fafc;
}
.price-event-items-wrap{
    margin:12px 0 18px;
}
#priceEventsBody small{
    color:#64748b;
}

/* ================================================================
   V17.0.48 - Central de Segurança / áudio por terminal
   ================================================================ */
.security-terminal-button.active {
    background: #b91c1c;
    color: #fff;
    border-color: #dc2626;
}

.security-live-banner {
    display: none !important;
}

.security-live-dot {
    display: inline-block;
    width: 11px;
    height: 11px;
    flex: 0 0 11px;
    border-radius: 999px;
    background: #ef4444;
    box-shadow: 0 0 0 4px rgba(239,68,68,.16);
    animation: securityPulse 1.35s infinite;
}

@keyframes securityPulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: .45; transform: scale(.82); }
}

.security-info-card {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 16px;
    padding: 15px 18px;
    border: 1px solid #f59e0b;
    border-left: 5px solid #f59e0b;
    border-radius: 12px;
    background: #fffbeb;
}

.security-toolbar,
.security-audit-head,
.security-listening-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}

.security-toolbar h3,
.security-audit-head h3 {
    margin-bottom: 3px;
}

.security-terminal-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.security-terminal-card {
    border: 1px solid #d7dce2;
    border-left: 5px solid #9ca3af;
    border-radius: 14px;
    background: #fff;
    padding: 16px;
    box-shadow: 0 3px 12px rgba(0,0,0,.06);
}

.security-terminal-card.online {
    border-left-color: #22c55e;
}

.security-terminal-card-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
}

.security-terminal-card-head > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.security-terminal-card-head strong {
    font-size: 18px;
}

.security-terminal-card-head span:not(.security-status) {
    color: #5f6368;
}

.security-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}

.security-status.online {
    background: #dcfce7;
    color: #166534;
}

.security-status.offline {
    background: #f3f4f6;
    color: #6b7280;
}

.security-terminal-meta {
    display: grid;
    gap: 7px;
    margin: 15px 0;
    font-size: 13px;
    color: #374151;
}

.security-terminal-actions {
    display: flex;
    justify-content: flex-end;
}

.security-listening-card {
    margin: 16px 0;
    padding: 16px 18px;
    border-radius: 14px;
    background: #111827;
    color: #fff;
    box-shadow: 0 6px 22px rgba(0,0,0,.18);
}

.security-listening-card > div:first-child {
    flex: 1 1 auto;
}

.security-listening-card strong {
    margin-left: 8px;
    font-size: 17px;
}

.security-listening-card .muted {
    margin: 6px 0 0 24px;
    color: #cbd5e1;
}

.security-listening-card audio {
    min-width: 260px;
    max-width: 380px;
}

.security-audit-card {
    margin-top: 16px;
}

.security-audit-head {
    margin-bottom: 12px;
}

@media (max-width: 850px) {
    .security-toolbar,
    .security-audit-head,
    .security-listening-card {
        align-items: stretch;
        flex-direction: column;
    }

    .security-listening-card audio {
        width: 100%;
        min-width: 0;
        max-width: none;
    }
}

/* ================================================================
   V17.0.50 - Dashboard inicial do administrador
   ================================================================ */
.admin-home-header{
    margin-bottom:14px;
}
.admin-home-filter{
    margin-bottom:16px;
}
.admin-home-period{
    margin:0 0 10px 2px;
    font-weight:600;
}
.admin-home-summary{
    margin-bottom:16px;
}
.admin-home-columns{
    display:grid;
    grid-template-columns:minmax(360px,.8fr) minmax(520px,1.2fr);
    gap:16px;
    align-items:start;
}
.admin-home-card-title{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:12px;
}
.admin-home-card-title h3{
    margin:0 0 4px;
}
.admin-home-card-title p{
    margin:0;
}
.admin-home-table{
    width:100%;
}
.admin-home-table th,
.admin-home-table td{
    vertical-align:middle;
}
.admin-home-products-scroll{
    max-height:520px;
    overflow:auto;
}
@media (max-width:1050px){
    .admin-home-columns{grid-template-columns:1fr}
}
@media (max-width:700px){
    .admin-home-card-title{flex-direction:column}
}

/* ================================================================
   V17.0.51 - Dinheiro consolidado da empresa
   ================================================================ */
.cash-company-card{
    border-color:#16a34a;
    background:#f0fdf4;
}
.cash-company-card strong{
    color:#166534;
}

/* ================================================================
   V17.0.59 - Pré-venda do garçom
   ================================================================ */
.waiter-exclusive #operationalMenu,
.waiter-exclusive #attendanceNotificationWrapper,
.waiter-exclusive #securityTerminalButton,
.waiter-exclusive header .right > button:not(:last-child) {
    display:none !important;
}
.waiter-exclusive header { justify-content:space-between; }
.waiter-exclusive .wrap { padding-top:18px; }

.pre-sale-sent-info{
    margin-top:14px;padding:14px 16px;border:1px solid #22c55e;border-left:5px solid #22c55e;
    border-radius:12px;background:#f0fdf4;color:#166534;display:flex;justify-content:space-between;gap:12px;
}
.pre-sale-cash-filter{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.pre-sale-cash-filter label{min-width:220px;flex:1}
.pre-sale-cash-summary{display:grid;grid-template-columns:repeat(2,minmax(180px,280px));gap:12px;margin:14px 0}
.pre-sale-cash-summary .card small{display:block;color:#6b7280;margin-bottom:6px}
.pre-sale-cash-summary .card strong{font-size:26px}
.pre-sale-table td{vertical-align:middle}
.pre-sale-detail{margin-top:16px}
.pre-sale-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;border-bottom:1px solid #e5e7eb;padding-bottom:12px;margin-bottom:14px}
.pre-sale-detail-head h3{margin:0 0 4px}
.pre-sale-detail-head p{margin:0;color:#6b7280}
.pre-sale-detail-head>strong{font-size:28px}
.pre-sale-detail-columns{display:grid;grid-template-columns:1.4fr 1fr;gap:22px}
.pre-sale-detail-columns h4{margin:0 0 10px}
.pre-sale-line{display:grid;grid-template-columns:1fr auto;gap:8px;padding:9px 0;border-bottom:1px solid #eee}
.pre-sale-line small{grid-column:1/-1;color:#b45309}
@media(max-width:850px){.pre-sale-detail-columns{grid-template-columns:1fr}.pre-sale-cash-summary{grid-template-columns:1fr 1fr}}

/* ================================================================
   V17.0.60 - Acompanhamento exclusivo do garçom
   ================================================================ */
.waiter-pre-sale-tabs{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 14px;
}
.waiter-pre-sale-tabs button{
    border:1px solid #d1d5db;
    background:#f3f4f6;
    border-radius:10px;
    padding:10px 14px;
    font-weight:800;
    cursor:pointer;
}
.waiter-pre-sale-tabs button.active{
    background:#ffc400;
    border-color:#ffc400;
    color:#111;
}
.waiter-ready-count{
    display:inline-flex;
    min-width:21px;
    height:21px;
    align-items:center;
    justify-content:center;
    margin-left:5px;
    padding:0 6px;
    border-radius:999px;
    background:#dc2626;
    color:#fff;
    font-size:11px;
}
.waiter-orders-filter{
    display:flex;
    align-items:end;
    gap:12px;
    margin-bottom:14px;
}
.waiter-orders-filter label{min-width:220px}
.waiter-kitchen-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(120px,1fr));
    gap:12px;
    margin-bottom:14px;
}
.waiter-kitchen-summary>div{
    padding:12px;
    border:1px solid #e5e7eb;
    border-radius:10px;
    background:#f8fafc;
}
.waiter-kitchen-summary small{display:block;color:#6b7280;margin-bottom:5px}
.waiter-kitchen-summary strong{font-size:26px}
.waiter-kitchen-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(270px,1fr));
    gap:12px;
}
.waiter-kitchen-card{
    border:1px solid #d1d5db;
    border-left:6px solid #eab308;
    border-radius:12px;
    background:#fff;
    padding:14px;
}
.waiter-kitchen-card.preparing{border-left-color:#f97316}
.waiter-kitchen-card.ready{border-left-color:#22c55e;background:#f0fdf4}
.waiter-kitchen-card.delivered{border-left-color:#94a3b8;opacity:.78}
.waiter-kitchen-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
}
.waiter-kitchen-card-head>div{display:flex;flex-direction:column;gap:3px}
.waiter-kitchen-card-head small{color:#6b7280}
.waiter-kitchen-card-head>span{
    border-radius:999px;
    background:#f3f4f6;
    padding:5px 9px;
    font-size:11px;
    font-weight:800;
}
.waiter-kitchen-card h4{margin:14px 0 10px}
.waiter-kitchen-times{display:grid;gap:4px;color:#6b7280}
.waiter-kitchen-alert{
    position:fixed;
    right:22px;
    top:95px;
    z-index:10020;
    width:min(390px,calc(100vw - 28px));
    padding:18px;
    border:3px solid #dc2626;
    border-radius:14px;
    background:#fff7ed;
    color:#111;
    box-shadow:0 16px 38px rgba(0,0,0,.3);
}
.waiter-kitchen-alert-head strong{display:block;color:#b91c1c;font-size:18px}
.waiter-kitchen-alert-head span{display:block;margin-top:4px;color:#4b5563}
#waiterKitchenAlertContent{
    display:flex;
    flex-direction:column;
    gap:5px;
    margin:14px 0;
    padding:12px;
    border-radius:10px;
    background:#fff;
    border:1px solid #fed7aa;
}
#waiterKitchenAlertContent strong{font-size:18px}
#waiterKitchenAlertContent span{font-size:17px;font-weight:800}
#waiterKitchenAlertContent small{color:#4b5563}
@media(max-width:700px){
    .waiter-kitchen-summary{grid-template-columns:repeat(3,1fr)}
    .waiter-orders-filter{align-items:stretch;flex-direction:column}
    .waiter-kitchen-alert{right:14px;top:78px}
}

/* V17.0.63 - Ligações WhatsApp ao vivo no Atendimento */
.attendance-call-button{
    background:#16a34a!important;
    color:#fff!important;
    white-space:nowrap
}
.attendance-call-button:disabled{opacity:.55;cursor:not-allowed}
.attendance-call-overlay{
    position:fixed;
    z-index:10050;
    right:22px;
    top:86px;
    width:min(430px,calc(100vw - 32px));
}
.attendance-call-card{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px;
    background:#fff;
    border:2px solid #16a34a;
    border-radius:14px;
    box-shadow:0 12px 38px rgba(0,0,0,.28)
}
.attendance-call-icon{font-size:30px}
.attendance-call-info{display:flex;flex:1;min-width:0;flex-direction:column;gap:3px}
.attendance-call-info strong{font-size:18px}
.attendance-call-info span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.attendance-call-info small{color:#555}
.attendance-call-info b{font-size:18px}
.attendance-call-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.attendance-call-actions button{padding:10px 12px;border-radius:8px;border:0;font-weight:800}
@media(max-width:760px){
    .attendance-call-card{align-items:flex-start;flex-wrap:wrap}
    .attendance-call-actions{width:100%}
    .attendance-call-actions button{flex:1}
}

/* V17.0.65 - diagnostico de chamadas WhatsApp */
.attendance-call-diagnostic{margin-top:6px;padding:7px 9px;border:1px solid #d8dee6;border-radius:8px;background:#f7f8fa;color:#30343b;font-size:12px;line-height:1.35;white-space:pre-line;max-width:440px}.attendance-call-diagnostic.hidden{display:none!important}

/* ================================================================
 * V17.0.67 - Financeiro / Contas a Pagar
 * ================================================================ */
.finance-payable-header-actions{display:flex;gap:10px;flex-wrap:wrap}
.finance-payable-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 16px}
.finance-payable-summary .metric-card{display:flex;flex-direction:column;gap:6px;min-height:86px}
.finance-payable-summary .metric-card span{font-size:13px;color:#666}
.finance-payable-summary .metric-card strong{font-size:22px}
.finance-payable-filters{display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr 1.35fr auto;gap:12px;align-items:end;margin-bottom:12px}
.finance-payable-filters label,.finance-payable-form label,.finance-payment-modal-card label{display:flex;flex-direction:column;gap:5px;font-weight:700;font-size:13px}
.finance-payable-filters input,.finance-payable-filters select,.finance-payable-form input,.finance-payable-form select,.finance-payable-form textarea,.finance-payment-modal-card input,.finance-payment-modal-card select,.finance-payment-modal-card textarea{width:100%;box-sizing:border-box;border:1px solid #cfd3d8;border-radius:8px;padding:10px 11px;background:#fff;color:#111;font:inherit}
.finance-payable-filter-buttons{display:flex;gap:8px;flex-wrap:wrap}
.finance-payable-bulk{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;background:#f4f5f7;border:1px solid #dfe2e6;border-radius:9px;margin:10px 0}
.finance-payable-table td,.finance-payable-table th{vertical-align:middle}
.finance-file-link{font-weight:800;text-decoration:none;color:#0969da}
.finance-status{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;font-size:12px;font-weight:800;white-space:nowrap}
.finance-status.pending{background:#fff4cc;color:#7a5700}.finance-status.overdue{background:#ffe0e0;color:#a31818}.finance-status.paid{background:#dff6e6;color:#176b36}.finance-status.canceled{background:#eceff3;color:#555}
.finance-payable-form-grid{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(480px,1.5fr);gap:16px;align-items:start}
.finance-document-card{position:sticky;top:10px}
.finance-document-card h3,.finance-payable-form h3{margin-top:0}
.finance-document-card input[type=file]{width:100%;margin:10px 0}
.finance-ai-status{margin-top:10px;line-height:1.35}
.finance-document-preview{margin-top:12px;border:1px dashed #c7cbd1;border-radius:10px;min-height:120px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fafafa}
.finance-document-preview:empty{display:none}.finance-document-preview img{display:block;width:100%;height:auto;max-height:520px;object-fit:contain}.finance-pdf-preview{padding:28px;text-align:center;font-weight:800}
.finance-payable-form{display:flex;flex-direction:column;gap:13px}
.finance-form-row{display:grid;gap:12px}.finance-form-row.one{grid-template-columns:1fr}.finance-form-row.two{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-form-row.three{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-form-row.important{padding:12px;border:1px solid #eed994;background:#fff9df;border-radius:10px}
.finance-ai-doubts{padding:10px 12px;border-radius:8px;background:#fff2cc;border:1px solid #efd47d;color:#6d5300}
.finance-payment-modal-card{max-width:520px}.finance-payment-modal-card label{margin-top:12px}
@media(max-width:1100px){.finance-payable-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-payable-form-grid{grid-template-columns:1fr}.finance-document-card{position:static}}
@media(max-width:760px){.finance-payable-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-payable-filters{grid-template-columns:1fr}.finance-form-row.two,.finance-form-row.three{grid-template-columns:1fr}.finance-payable-bulk{align-items:stretch;flex-direction:column}.finance-payable-header-actions{width:100%}.finance-payable-header-actions button{flex:1}}

/* ================================================================
 * V17.0.70 - Financeiro completo: fornecedores, baixas e validacao
 * ================================================================ */
.finance-status.validating{background:#e8e0ff;color:#4d2b9e}
.finance-row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.finance-payment-filters{grid-template-columns:1.35fr 1fr 1fr 1fr auto}
.finance-validation-note{padding:10px 12px;border-radius:8px;background:#fff7d6;border:1px solid #e7cc67;color:#6a5200;font-size:13px;font-weight:700}
.finance-supplier-entry-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.finance-supplier-entry-head strong{font-size:15px}
.finance-supplier-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(480px,1.2fr);gap:16px;align-items:start}
.finance-supplier-toolbar{margin-bottom:14px}.finance-supplier-toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:700}.finance-supplier-toolbar input{width:100%;box-sizing:border-box;border:1px solid #cfd3d8;border-radius:8px;padding:10px 11px;background:#fff;color:#111;font:inherit}
.finance-supplier-list{display:flex;flex-direction:column;gap:7px;max-height:620px;overflow:auto}
.finance-supplier-item{display:flex;flex-direction:column;align-items:flex-start;gap:3px;width:100%;padding:11px 12px;border:1px solid #d9dde3;border-radius:9px;background:#fff;color:#111;text-align:left;cursor:pointer}
.finance-supplier-item:hover{background:#f7f8fa}.finance-supplier-item span{color:#667085;font-size:12px}
.finance-title-detail-card{width:min(920px,calc(100vw - 28px));max-width:920px;max-height:88vh;overflow:auto}
.finance-detail-head{display:flex;justify-content:space-between;align-items:center;gap:10px;position:sticky;top:0;background:#fff;padding-bottom:10px;z-index:2}
.finance-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0 14px}
.finance-detail-grid>div{padding:10px;border:1px solid #e1e4e8;border-radius:8px;background:#fafafa;display:flex;flex-direction:column;gap:4px}.finance-detail-grid span{font-size:12px;color:#667085}.finance-detail-grid strong{font-size:14px}
.finance-detail-paymentdata{display:grid;gap:6px;padding:12px;border-radius:9px;background:#f7f8fa;border:1px solid #e1e4e8;word-break:break-all}
.finance-detail-document{margin:10px 0}.finance-detail-document img{display:block;max-width:100%;max-height:560px;object-fit:contain;margin:auto;border:1px solid #d9dde3;border-radius:9px;background:#fff}
.finance-payment-history{display:flex;flex-direction:column;gap:8px}.finance-payment-history>div{padding:9px 10px;border:1px solid #e1e4e8;border-radius:8px;background:#fff}.finance-payment-history small{color:#667085}
@media(max-width:980px){.finance-supplier-layout{grid-template-columns:1fr}.finance-payment-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.finance-detail-grid{grid-template-columns:1fr 1fr}.finance-payment-filters{grid-template-columns:1fr}.finance-title-detail-card{width:calc(100vw - 18px)}}

/* ================================================================
 * V17.0.72 - Financeiro responsivo / modais organizados
 * ================================================================ */
body.finance-modal-open{overflow:hidden}
.finance-modal-overlay{position:fixed;inset:0;z-index:1200;background:rgba(0,0,0,.58);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.finance-modal-overlay>.modal-card{width:100%;background:#fff;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.32)}
.finance-modal-head,.finance-detail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:0 0 12px;border-bottom:1px solid #e4e7eb;margin-bottom:14px}
.finance-modal-head h3,.finance-detail-head h3{margin:0;font-size:22px}.finance-modal-head p,.finance-detail-head p{margin:4px 0 0}
.finance-payment-modal-card{width:min(560px,100%);max-width:560px;max-height:calc(100vh - 36px);overflow:auto;padding:18px}
.finance-title-detail-card{width:min(980px,100%);max-width:980px;max-height:calc(100vh - 36px);overflow:auto;padding:18px}
.finance-detail-head{position:sticky;top:-18px;background:#fff;z-index:3;padding-top:18px}
.finance-detail-section{padding:0 0 16px;margin:0 0 16px;border-bottom:1px solid #e8eaed}.finance-detail-section:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.finance-detail-section h4{margin:0 0 10px;font-size:15px}
.finance-detail-value strong{font-size:18px}
.finance-detail-paymentdata{display:grid;gap:10px;padding:0;background:transparent;border:0}
.finance-detail-paymentdata>div{padding:10px 12px;border-radius:9px;background:#f7f8fa;border:1px solid #e1e4e8;display:flex;flex-direction:column;gap:4px;min-width:0}
.finance-detail-paymentdata span{font-size:12px;color:#667085}.finance-detail-paymentdata strong{font-size:14px;word-break:break-word;overflow-wrap:anywhere}
.finance-detail-document{padding:10px;border:1px solid #e1e4e8;border-radius:10px;background:#f8f9fa}.finance-detail-document img{width:auto;max-width:100%;max-height:58vh}
.finance-payment-history-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:4px}
.finance-payable-table,.finance-payments-table{min-width:920px}
.finance-payable-table td,.finance-payments-table td{overflow-wrap:anywhere}

@media(max-width:900px){
    #p-contas-pagar .admin-page-header{align-items:flex-start;gap:12px}
    .finance-payable-header-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
    .finance-payable-header-actions button{width:100%;min-height:44px}
    .finance-payable-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
    .finance-payable-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
    .finance-payable-filter-buttons{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
    .finance-payable-filter-buttons button{width:100%;min-height:44px}
    .finance-payable-form-grid{grid-template-columns:1fr}.finance-document-card{position:static}
    .finance-supplier-layout{grid-template-columns:1fr}
}

@media(max-width:700px){
    .finance-modal-overlay{padding:6px;align-items:flex-end}
    .finance-modal-overlay>.modal-card{border-radius:14px 14px 0 0}
    .finance-payment-modal-card,.finance-title-detail-card{width:100%;max-width:none;max-height:calc(100dvh - 6px);padding:14px}
    .finance-detail-head{top:-14px;padding-top:14px;align-items:center}
    .finance-modal-head{align-items:center}
    .finance-modal-head h3,.finance-detail-head h3{font-size:19px}.finance-modal-head p,.finance-detail-head p{display:none}
    .finance-detail-grid{grid-template-columns:1fr 1fr;gap:8px}
    .finance-detail-grid>div{padding:9px}
    .finance-detail-document img{max-height:52vh}

    .finance-payable-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.finance-payable-summary .metric-card{min-height:74px;padding:10px}.finance-payable-summary .metric-card strong{font-size:19px}
    .finance-payable-filters,.finance-payment-filters{grid-template-columns:1fr;gap:10px;padding:12px}
    .finance-payable-filter-buttons{grid-column:auto;grid-template-columns:1fr}
    .finance-payable-bulk{position:sticky;bottom:44px;z-index:15;background:#fff;border-color:#d7dbe0;box-shadow:0 -4px 14px rgba(0,0,0,.08)}
    .finance-payable-bulk .btn{width:100%;min-height:46px}
    .finance-payable-header-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
    .finance-payable-header-actions .btn{grid-column:1/-1}
    .finance-form-row.two,.finance-form-row.three{grid-template-columns:1fr}
    .finance-supplier-entry-head{align-items:flex-start;flex-direction:column}.finance-supplier-entry-head button{width:100%}
    .finance-payable-form .modal-actions{display:grid;grid-template-columns:1fr;gap:8px}.finance-payable-form .modal-actions button{width:100%;min-height:46px}
    .finance-supplier-list{max-height:none}

    #p-contas-pagar .table-wrap{overflow:visible}
    .finance-mobile-table{min-width:0;width:100%;border-collapse:separate;border-spacing:0}
    .finance-mobile-table thead{display:none}
    .finance-mobile-table tbody{display:flex;flex-direction:column;gap:10px}
    .finance-mobile-table tbody tr{display:block;border:1px solid #dfe3e8;border-radius:12px;background:#fff;padding:8px 11px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
    .finance-mobile-table tbody tr:has(td[colspan]){padding:14px}
    .finance-mobile-table tbody td{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);align-items:start;gap:8px;padding:8px 0;border-bottom:1px solid #edf0f2;text-align:left!important;min-width:0}
    .finance-mobile-table tbody td:last-child{border-bottom:0}
    .finance-mobile-table tbody td::before{content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase;color:#69707a;letter-spacing:.02em}
    .finance-mobile-table tbody td[colspan]::before{display:none}
    .finance-mobile-table .finance-mobile-value strong{font-size:18px}
    .finance-mobile-table .finance-row-actions{display:flex;grid-template-columns:none;justify-content:flex-start;gap:8px;flex-wrap:wrap}
    .finance-mobile-table .finance-row-actions::before{width:100%}
    .finance-mobile-table .finance-row-actions button{flex:1;min-width:120px;min-height:40px}
    .finance-mobile-table .finance-mobile-select input{width:22px;height:22px}
    .finance-payments-table-wrap{overflow:visible}

    .finance-payment-modal-card .modal-actions{display:grid;grid-template-columns:1fr;gap:8px}.finance-payment-modal-card .modal-actions button{width:100%;min-height:46px}
}

@media(max-width:430px){
    .finance-payable-summary{grid-template-columns:1fr 1fr}
    .finance-payable-header-actions{grid-template-columns:1fr 1fr}
    .finance-payable-header-actions button{font-size:12px;padding:10px 8px}
    .finance-detail-grid{grid-template-columns:1fr}
    .finance-detail-paymentdata>div{padding:9px}
    .finance-mobile-table tbody td{grid-template-columns:88px minmax(0,1fr)}
    .finance-payment-history-head{flex-direction:column;gap:2px}
}

/* V17.0.73 — Estoque / auditoria / compras */
.stock-page-header{align-items:flex-start;gap:16px;flex-wrap:wrap}
.stock-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.stock-tabs button.active,.stock-pills button.active{background:#111;color:#fff;border-color:#111}
.stock-summary-grid{margin:14px 0 18px}
.stock-two-column{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:16px;align-items:start}
.stock-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stock-count-items,.stock-entry-items,.stock-mobile-list{display:grid;gap:9px;margin:12px 0}
.stock-count-row,.stock-entry-row,.stock-row-card,.stock-audit-card,.stock-purchase-card{border:1px solid #e1e3e8;border-radius:12px;background:#fff;padding:12px}
.stock-count-row,.stock-entry-row,.stock-row-card{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stock-count-row>div,.stock-entry-row>div,.stock-row-card>div:first-child{min-width:0;display:grid;gap:3px}
.stock-count-row small,.stock-entry-row small,.stock-row-card small,.stock-purchase-card small{color:#6b7280;font-size:12px}
.stock-count-row label{width:150px;margin:0;font-size:12px}
.stock-count-row input,.stock-entry-row input{font-size:18px;font-weight:700;text-align:right}
.stock-entry-row input{width:120px}
.stock-progress{display:flex;justify-content:flex-end;color:#6b7280;font-size:13px;margin-top:10px}
.stock-add-product{border-top:1px solid #eceef1;margin-top:14px;padding-top:14px}
.stock-search-results{display:grid;gap:6px;margin:7px 0 12px}
.stock-search-results button{display:flex;justify-content:space-between;gap:10px;text-align:left;padding:10px 12px;border:1px solid #dddfe4;border-radius:10px;background:#fff;color:#111}
.stock-search-results button:hover{border-color:#f2b900;background:#fff9df}
.stock-pills{display:flex;gap:8px;margin:12px 0}
.stock-pills button{border:0;border-radius:999px;background:#e8e9ed;padding:8px 14px;font-weight:700}
.stock-balance-values{display:flex;gap:16px;align-items:center;text-align:right}
.stock-balance-values span{display:grid;gap:2px;font-size:12px;color:#6b7280}
.stock-balance-values b{font-size:15px;color:#111}
.stock-warning{border-left:5px solid #f5b800;background:#fffaf0}
.stock-danger{border-left:5px solid #c62828}
.stock-positive{border-left:5px solid #2e7d32}
.stock-audit-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}
.stock-audit-title>span{font-size:18px;font-weight:800}
.stock-audit-grid,.stock-purchase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stock-audit-grid span,.stock-purchase-grid span{background:#f6f7f9;border-radius:9px;padding:8px;display:grid;gap:3px;color:#6b7280;font-size:12px}
.stock-audit-grid b,.stock-purchase-grid b{color:#111;font-size:14px}
.stock-audit-loss,.stock-purchase-suggestion{margin-top:10px;padding-top:10px;border-top:1px solid #eceef1}
.stock-purchase-suggestion{font-size:17px}
.stock-small-value{font-size:12px!important;line-height:1.25}
.stock-quick-form{max-width:980px}
.product-packaging-editor{border-top:1px solid #eceef1;padding-top:12px}
.product-pack-row{display:grid;grid-template-columns:1.2fr .7fr auto auto;gap:8px;align-items:center;margin:7px 0}
.product-pack-row .check-label{margin:0;white-space:nowrap}

@media (max-width:900px){
  .stock-two-column{grid-template-columns:1fr}
  .stock-tabs{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .stock-tabs button{min-height:44px}
  .stock-audit-grid,.stock-purchase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:600px){
  #p-estoque{padding:12px 8px 76px}
  .stock-page-header h2{margin-bottom:3px}
  .stock-tabs{grid-template-columns:1fr 1fr;gap:6px}
  .stock-tabs button{font-size:11px;padding:9px 5px}
  .stock-summary-grid{grid-template-columns:1fr 1fr!important;gap:8px}
  .stock-summary-grid .metric-card{min-width:0;padding:10px}
  .stock-form-grid{grid-template-columns:1fr}
  .stock-count-row{align-items:flex-end}
  .stock-count-row label{width:112px}
  .stock-entry-row{display:grid;grid-template-columns:1fr 92px auto}
  .stock-entry-row input{width:92px}
  .stock-row-card{align-items:flex-start}
  .stock-balance-values{gap:9px;flex-wrap:wrap;justify-content:flex-end}
  .stock-audit-grid,.stock-purchase-grid{grid-template-columns:1fr 1fr}
  .product-pack-row{grid-template-columns:1fr 100px}
  .product-pack-row .check-label,.product-pack-row button{grid-column:auto}
}

/* V17.0.74 - fornecedores vinculados no cadastro de produto */
.product-suppliers-editor{display:grid;gap:10px}
.product-supplier-picker{position:relative;max-width:720px}
.product-supplier-picker input{width:100%}
.product-supplier-results{display:grid;gap:6px;margin-top:8px;max-height:220px;overflow:auto}
.product-supplier-results button{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid var(--border,#d8dee8);background:var(--surface,#fff);padding:10px 12px;border-radius:10px;cursor:pointer}
.product-supplier-results button small{opacity:.7}
.product-supplier-selected{display:flex;flex-wrap:wrap;gap:8px}
.product-supplier-chip{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border,#d8dee8);border-radius:999px;padding:7px 10px;background:var(--surface-soft,#f7f8fa)}
.product-supplier-chip button{border:0;background:transparent;cursor:pointer;font-weight:700;padding:0 2px}
@media (max-width:700px){
  .product-supplier-picker{max-width:none}
  .product-supplier-results{max-height:260px}
  .product-supplier-results button{padding:12px;min-height:48px}
  .product-supplier-selected{display:grid;grid-template-columns:1fr}
  .product-supplier-chip{justify-content:space-between;border-radius:10px;min-height:44px}
}

/* V17.0.77 - Detalhe e impressão de contagens */
.stock-count-history-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.stock-count-detail-modal{position:fixed;inset:0;z-index:12000;background:rgba(0,0,0,.58);display:flex;align-items:center;justify-content:center;padding:20px}
.stock-count-detail-modal.hidden{display:none!important}
.stock-count-detail-card{width:min(900px,96vw);max-height:90vh;overflow:auto;background:#fff;border-radius:16px;padding:20px}
.stock-count-detail-header,.stock-count-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.stock-count-detail-header{padding-bottom:14px;border-bottom:1px solid #e5e7eb}.stock-count-detail-header h2{margin:0}
.stock-count-detail-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}
.stock-count-detail-meta span{display:grid;gap:3px;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fafafa}.stock-count-detail-meta small{color:#6b7280}
.stock-count-detail-toolbar{margin:14px 0 8px}.stock-count-detail-items{display:grid;gap:7px}
.stock-count-detail-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 8px;border-bottom:1px solid #eceef1}
.stock-count-detail-row>div{display:grid;gap:2px}.stock-count-detail-row small{color:#6b7280}.stock-count-detail-index{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:#f2f3f5;font-size:12px;font-weight:700}
.stock-count-detail-observation{margin-top:14px;padding-top:12px;border-top:1px solid #e5e7eb}.stock-count-detail-observation small{color:#6b7280}.stock-count-detail-observation p{margin:5px 0 0}
@media(max-width:720px){.stock-count-history-card{display:grid!important}.stock-count-history-actions{justify-content:space-between;width:100%}.stock-count-history-actions .secondary{min-height:42px}.stock-count-detail-modal{padding:0;align-items:stretch}.stock-count-detail-card{width:100%;max-width:none;max-height:100dvh;height:100dvh;border-radius:0;padding:14px}.stock-count-detail-header{position:sticky;top:-14px;background:#fff;z-index:2;padding-top:14px}.stock-count-detail-meta{grid-template-columns:1fr 1fr}.stock-count-detail-toolbar{align-items:stretch;flex-direction:column}.stock-count-detail-toolbar .btn{width:100%;min-height:46px}.stock-count-detail-row{grid-template-columns:30px minmax(0,1fr);align-items:start}.stock-count-detail-row>b{grid-column:2;font-size:16px}}

/* V17.0.78 — saldo de estoque na listagem de produtos */
.product-stock-balance{display:inline-flex;align-items:center;justify-content:center;min-width:78px;padding:6px 10px;border-radius:999px;font-weight:800;white-space:nowrap}.product-stock-minimum{display:block;margin-top:4px;color:#6b7280;white-space:nowrap}.stock-balance-ok{background:#dcfce7;color:#166534}.stock-balance-low{background:#fef3c7;color:#92400e}.stock-balance-zero{background:#f3f4f6;color:#4b5563}.stock-balance-negative{background:#fee2e2;color:#991b1b}.stock-balance-disabled{background:#f3f4f6;color:#6b7280}
.product-table{min-width:1160px}
@media(max-width:700px){
  #p-produtos .product-table-card{overflow:visible;padding:0;background:transparent;border:0;box-shadow:none}
  #p-produtos .product-table{min-width:0;width:100%;border-collapse:separate;border-spacing:0}
  #p-produtos .product-table thead{display:none}
  #p-produtos .product-table tbody{display:flex;flex-direction:column;gap:10px}
  #p-produtos .product-table tbody tr{display:block;border:1px solid #dfe3e8;border-radius:12px;background:#fff;padding:9px 12px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
  #p-produtos .product-table tbody tr:has(td[colspan]){padding:14px}
  #p-produtos .product-table tbody td{display:grid;grid-template-columns:96px minmax(0,1fr);gap:8px;align-items:start;padding:8px 0;border-bottom:1px solid #edf0f2;text-align:left!important;min-width:0}
  #p-produtos .product-table tbody td:last-child{border-bottom:0}
  #p-produtos .product-table tbody td::before{content:attr(data-label);font-size:11px;font-weight:800;text-transform:uppercase;color:#69707a;letter-spacing:.02em}
  #p-produtos .product-table tbody td[colspan]::before{display:none}
  #p-produtos .product-table .select-column{width:auto;text-align:left}
  #p-produtos .product-table .select-column input{width:22px;height:22px}
  #p-produtos .product-table .row-actions{display:flex;flex-wrap:wrap;gap:8px}
  #p-produtos .product-table .row-actions::before{width:100%}
  #p-produtos .product-table .row-actions button{flex:1;min-width:120px;min-height:42px}
  #p-produtos .product-description{max-width:none;white-space:normal;overflow:visible}
}


/* V17.0.79 — imagens externas no cardápio / IA */
.product-image-admin-grid{display:grid;grid-template-columns:minmax(180px,280px) minmax(0,1fr);gap:18px;align-items:start;margin-top:8px}
.product-image-preview{width:100%;aspect-ratio:4/3;border:1px solid #dfe3e8;border-radius:14px;background:#f7f8fa;overflow:hidden;display:flex;align-items:center;justify-content:center}
.product-image-preview img{width:100%;height:100%;object-fit:contain;background:#fff}
.product-image-empty,.product-image-preview-fallback{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center;color:#707782;padding:16px}
.product-image-empty span,.product-image-preview-fallback span{font-size:34px}.product-image-empty strong,.product-image-preview-fallback strong{color:#323842}
.product-image-controls{display:grid;gap:12px}.product-image-meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.product-image-meta small{color:#69707a}.product-image-meta a{font-size:13px;font-weight:700}
.product-image-buttons{display:flex;flex-wrap:wrap;gap:8px}.product-image-buttons button{min-height:42px}
.product-image-manual-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.product-image-manual-row input{min-width:0}
@media(max-width:760px){.product-image-admin-grid{grid-template-columns:1fr}.product-image-preview{max-height:260px}.product-image-buttons{display:grid;grid-template-columns:1fr}.product-image-buttons button{width:100%}.product-image-manual-row{grid-template-columns:1fr}.product-image-manual-row button{width:100%;min-height:46px}}

/* V17.0.81 - preenchimento automático de imagens em lote */
.product-head-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.product-image-bulk-overlay{position:fixed;inset:0;z-index:1450;background:rgba(0,0,0,.62);display:flex;align-items:center;justify-content:center;padding:18px;box-sizing:border-box}
.product-image-bulk-card{width:min(860px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:14px;padding:18px;box-shadow:0 20px 60px rgba(0,0,0,.35);box-sizing:border-box}
.product-image-bulk-progress-wrap{display:flex;align-items:center;gap:12px;margin:18px 0 10px}
.product-image-bulk-progress{height:12px;flex:1;background:#eceff2;border-radius:999px;overflow:hidden}
.product-image-bulk-progress span{display:block;height:100%;width:0;background:#ffc400;transition:width .2s ease}
.product-image-bulk-running{margin:8px 0 14px}
.product-image-bulk-failures{margin-top:16px;border-top:1px solid #e5e7eb;padding-top:16px}
.product-image-bulk-failure-head{display:flex;flex-direction:column;gap:3px;margin-bottom:10px}
.product-image-bulk-failure-list{display:grid;gap:8px}
.product-image-bulk-failure-item{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.4fr) auto;align-items:center;gap:12px;border:1px solid #e2e5e9;border-radius:10px;padding:11px;background:#fafafa}
.product-image-bulk-failure-item>div{display:flex;flex-direction:column;gap:2px}
.product-image-bulk-failure-item small{color:#6b7280}
.product-image-bulk-failure-item>span{color:#7f1d1d}
.product-image-bulk-success{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:10px;background:#ecfdf3;color:#166534}
@media(max-width:680px){
  .product-head-actions{width:100%;display:grid;grid-template-columns:1fr}
  .product-head-actions button{width:100%;min-height:44px}
  .product-image-bulk-overlay{padding:6px;align-items:flex-end}
  .product-image-bulk-card{width:100%;max-height:calc(100dvh - 6px);border-radius:14px 14px 0 0;padding:14px}
  .product-image-bulk-failure-item{grid-template-columns:1fr;gap:8px}
  .product-image-bulk-failure-item button{width:100%;min-height:42px}
}

/* V17.0.87 — Detalhe da auditoria de cancelamentos */
.audit-detail-modal{width:min(1100px,100%)}
.audit-detail-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}
.audit-detail-summary>div,.audit-detail-reason{border:1px solid #e2e5e9;border-radius:10px;padding:11px;background:#fafafa}
.audit-detail-summary small,.audit-detail-reason small{display:block;color:#667085;margin-bottom:4px}
.audit-detail-summary strong,.audit-detail-reason strong{display:block;overflow-wrap:anywhere}
.audit-detail-reason{margin-bottom:16px}
.audit-detail-table table{min-width:760px}
@media(max-width:720px){
  .audit-detail-modal{width:100%;max-width:none;height:calc(100dvh - 12px);max-height:calc(100dvh - 12px);border-radius:12px;padding:14px}
  .audit-detail-modal .modal-head{position:sticky;top:-14px;background:#fff;z-index:3;padding-top:14px}
  .audit-detail-summary{grid-template-columns:1fr 1fr}
  #removedAuditBody tr{vertical-align:top}
  #removedAuditBody .secondary.tiny{min-height:40px;white-space:nowrap}
}
@media(max-width:430px){.audit-detail-summary{grid-template-columns:1fr}.audit-detail-modal .modal-actions .secondary{width:100%;min-height:44px}}

/* V17.0.89 - Histórico de movimentação por item */
.item-movement-filters{display:grid;grid-template-columns:minmax(300px,2fr) repeat(4,minmax(150px,1fr));gap:12px;align-items:end}
.item-movement-product-search{position:relative}
.item-movement-search-results{position:absolute;z-index:60;top:100%;left:0;right:0;max-height:320px;overflow:auto;background:#fff;border:1px solid #d9dde3;border-radius:12px;box-shadow:0 12px 30px rgba(0,0,0,.16);padding:6px}
.item-movement-search-results button{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:11px 12px;border:0;border-radius:9px;background:#fff;cursor:pointer}
.item-movement-search-results button:hover{background:#f1f3f5}
.item-movement-search-results span{color:#667085;font-size:.86rem}
.item-movement-selected{margin-top:7px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 11px;background:#f6f7f9;border-radius:10px}
.item-movement-selected span{color:#667085}.item-movement-selected button{margin-left:auto}
.item-movement-origin{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:700;font-size:.82rem;background:#eef0f3}
.origin-fiado{background:#fff0bf;color:#745200}.origin-comanda{background:#e7f0ff;color:#174ea6}.origin-avulsa{background:#e9f8ed;color:#176b34}
@media(max-width:900px){
 .item-movement-filters{grid-template-columns:1fr 1fr}.item-movement-product-search{grid-column:1/-1}
 .item-movement-summary{grid-template-columns:1fr}
 .item-movement-table-wrap{padding:0;background:transparent;box-shadow:none;border:0;overflow:visible}
 .item-movement-table thead{display:none}.item-movement-table,.item-movement-table tbody,.item-movement-table tr,.item-movement-table td{display:block;width:100%}
 .item-movement-table tr{background:#fff;border:1px solid #e4e7ec;border-radius:14px;padding:12px;margin-bottom:10px}
 .item-movement-table td{display:flex;justify-content:space-between;gap:15px;border:0;padding:6px 0;text-align:right}
 .item-movement-table td:before{content:attr(data-label);font-weight:700;text-align:left;color:#475467}
}
@media(max-width:560px){.item-movement-filters{grid-template-columns:1fr}.item-movement-product-search{grid-column:auto}}

/* V17.0.90 - autorização administrativa para cancelamento após início da produção */
.cancel-admin-auth{
    margin-top:14px;
    padding:14px;
    border:1px solid #fecaca;
    border-radius:12px;
    background:#fff7f7;
}
.cancel-admin-auth.hidden{display:none!important}
.cancel-admin-alert{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}
.cancel-admin-alert strong{color:#991b1b}
.cancel-admin-alert span{font-size:.9rem;color:#7f1d1d;line-height:1.35}
.cancel-admin-auth input{width:100%}
@media (max-width:700px){
    .cancel-admin-auth{padding:12px}
    .cancel-admin-auth input{min-height:46px;font-size:16px}
}

/* V17.0.91 — Atendimento IA */
.attendance-ai-box{border:1px solid #d9dde5;border-radius:14px;padding:16px;background:#fafbfc;display:grid;gap:12px}
.attendance-ai-box h3{margin:0}
.attendance-knowledge-list{display:grid;gap:10px}
.attendance-knowledge-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:10px;align-items:center;border:1px solid #e1e4e8;border-radius:12px;padding:12px}
.attendance-knowledge-row>div{display:grid;gap:3px;min-width:0}
.attendance-knowledge-row small{color:#555;white-space:normal}
.digital-source-whatsapp{display:inline-block;margin-left:6px;padding:3px 7px;border-radius:999px;background:#d9fdd3;color:#176b25;font-weight:700;font-size:11px}
@media(max-width:720px){.attendance-knowledge-row{grid-template-columns:1fr 1fr}.attendance-knowledge-row>div{grid-column:1/-1}.attendance-ai-box{padding:12px}.attendance-ai-box .form-grid{grid-template-columns:1fr}}

/* ================================================================
 * V17.0.96 - Consumo de IA por módulo
 * ================================================================ */
.ai-usage-filter{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:12px;align-items:end;margin-bottom:14px}.ai-usage-filter label{display:grid;gap:6px}.ai-usage-section-title{display:flex;align-items:end;justify-content:space-between;margin:18px 0 10px}.ai-usage-section-title h3{margin:0}.ai-usage-section-title p{margin:3px 0 0}.ai-usage-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.ai-usage-modules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.ai-usage-module-card{padding:16px}.ai-usage-module-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:14px}.ai-usage-module-head span{font-size:12px;color:#666}.ai-usage-module-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.ai-usage-module-grid>div,.ai-usage-openai-grid>div{padding:10px;border:1px solid #e3e5e8;border-radius:10px;background:#fafafa;display:grid;gap:4px}.ai-usage-module-grid small,.ai-usage-openai-grid small{color:#667085}.ai-usage-openai{padding:16px}.ai-usage-openai-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ai-usage-openai-grid strong{font-size:20px}.ai-usage-credit-note{margin-top:12px;padding:12px;border-radius:10px;background:#fff8df;border:1px solid #f3d77c}.ai-usage-admin-warning{padding:14px;border-radius:10px;background:#fff8df;border:1px solid #f3d77c}.ai-usage-admin-warning p{margin:6px 0}.ai-usage-admin-warning.error{background:#fff0f0;border-color:#efb3b3}.ai-usage-table-wrap{margin-top:16px}.ai-usage-table{width:100%;border-collapse:collapse}.ai-usage-table th,.ai-usage-table td{padding:10px 9px;border-bottom:1px solid #e8eaed;text-align:left;vertical-align:middle}.ai-usage-table th{white-space:nowrap}.status-inactive{display:inline-block;padding:4px 8px;border-radius:999px;background:#ffe3e3;color:#a61b1b;font-size:12px;font-weight:700}
@media(max-width:900px){.ai-usage-filter{grid-template-columns:1fr}.ai-usage-filter .btn{width:100%}.ai-usage-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-usage-modules{grid-template-columns:1fr}.ai-usage-openai-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ai-usage-table thead{display:none}.ai-usage-table,.ai-usage-table tbody,.ai-usage-table tr,.ai-usage-table td{display:block;width:100%}.ai-usage-table tr{padding:12px;margin-bottom:10px;border:1px solid #e3e5e8;border-radius:12px;background:#fff}.ai-usage-table td{display:grid;grid-template-columns:110px 1fr;gap:8px;border:0;padding:5px 0}.ai-usage-table td:nth-child(1)::before{content:'Data/hora'}.ai-usage-table td:nth-child(2)::before{content:'Módulo'}.ai-usage-table td:nth-child(3)::before{content:'Operação'}.ai-usage-table td:nth-child(4)::before{content:'Modelo'}.ai-usage-table td:nth-child(5)::before{content:'Entrada'}.ai-usage-table td:nth-child(6)::before{content:'Saída'}.ai-usage-table td:nth-child(7)::before{content:'Total'}.ai-usage-table td:nth-child(8)::before{content:'Web Search'}.ai-usage-table td:nth-child(9)::before{content:'Status'}.ai-usage-table td::before{font-weight:700;color:#667085}.table-scroll.ai-usage-table-wrap{overflow:visible}}
@media(max-width:540px){.ai-usage-summary,.ai-usage-openai-grid{grid-template-columns:1fr 1fr}.ai-usage-module-grid{grid-template-columns:1fr 1fr}.ai-usage-openai-grid strong{font-size:17px}}

/* ================================================================
 * V17.0.98 - Orçamento de referência / Conta OpenAI
 * ================================================================ */
.ai-usage-budget-config{display:grid;grid-template-columns:minmax(220px,360px) auto 1fr;gap:12px;align-items:end;margin-bottom:14px}
.ai-usage-budget-config label{display:grid;gap:6px;font-weight:700}
.ai-usage-budget-config small{align-self:center}
.ai-usage-neutral-note{margin-top:12px;padding:12px;border:1px solid #d9dee7;border-radius:10px;background:#f7f8fa;color:#3f4854}
@media(max-width:720px){.ai-usage-budget-config{grid-template-columns:1fr}.ai-usage-budget-config .btn{width:100%}}


/* V17.0.99 - Atendimento responsivo estilo WhatsApp */
.chat-mobile-back{display:none;border:0;background:transparent;font-size:28px;line-height:1;padding:4px 8px;cursor:pointer}
.chat-header-client{min-width:0;flex:1}.chat-header-client h3{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-header-client span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#666}
#p-atendimento .chat-conversation-list{scrollbar-gutter:stable; -webkit-overflow-scrolling:touch}
#p-atendimento .chat-conversation{min-height:76px}
#p-atendimento .chat-conversation small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:680px){
  #p-atendimento{margin:-16px;position:relative;overflow:hidden;height:calc(100dvh - 72px)}
  #p-atendimento .chat-shell{display:block;height:100%;min-height:0;background:#fff;overflow:hidden}
  #p-atendimento .chat-sidebar{display:flex;width:100%;height:100%;max-height:none!important;border-right:0;overflow:hidden}
  #p-atendimento .chat-sidebar-head{padding:10px 12px;min-height:58px}
  #p-atendimento .chat-sidebar-head h2{font-size:22px;margin:0}
  #p-atendimento .chat-filters{padding:8px 10px;background:#f7f7f7;gap:6px}
  #p-atendimento .chat-filters input,#p-atendimento .chat-filters select{min-height:42px;border-radius:10px}
  #p-atendimento .chat-conversation-list{flex:1;max-height:none!important;height:auto;overflow-y:auto;padding-bottom:max(12px,env(safe-area-inset-bottom));overscroll-behavior-y:contain}
  #p-atendimento .chat-conversation{padding:11px 12px;min-height:82px}
  #p-atendimento .chat-conversation div{gap:8px;align-items:center}
  #p-atendimento .chat-conversation p{font-size:14px;margin:5px 28px 3px 0;color:#333}
  #p-atendimento .chat-conversation small{font-size:11px;color:#777;margin-right:28px}
  #p-atendimento .chat-conversation b{top:46px;right:12px}
  #p-atendimento .chat-main{display:none;position:absolute;inset:0;height:100%;min-height:0;background:#efeae2;z-index:30}
  #p-atendimento.mobile-chat-open .chat-sidebar{display:none}
  #p-atendimento.mobile-chat-open .chat-main{display:block}
  #p-atendimento .chat-chat{height:100%;grid-template-rows:auto minmax(0,1fr) auto;background:#efeae2}
  #p-atendimento .chat-empty{display:none}
  #p-atendimento .chat-header{padding:8px 8px;min-height:58px;gap:4px;position:relative;z-index:3}
  #p-atendimento .chat-mobile-back{display:inline-flex;align-items:center;justify-content:center;flex:0 0 42px;height:42px;border-radius:50%}
  #p-atendimento .chat-header-client{min-width:0}
  #p-atendimento .chat-header-client h3{font-size:17px}
  #p-atendimento .chat-header-client span{font-size:11px;max-width:54vw}
  #p-atendimento .chat-actions{display:flex;flex-wrap:nowrap;overflow-x:auto;max-width:42vw;gap:4px;scrollbar-width:none;padding-bottom:2px}
  #p-atendimento .chat-actions::-webkit-scrollbar{display:none}
  #p-atendimento .chat-actions button,#p-atendimento .chat-actions select{flex:0 0 auto;font-size:11px;padding:7px 8px;min-height:34px}
  #p-atendimento .chat-messages{padding:10px 8px 16px;overflow-y:auto;-webkit-overflow-scrolling:touch}
  #p-atendimento .chat-message{max-width:86%;padding:8px 10px;margin:5px 0;border-radius:9px;font-size:15px}
  #p-atendimento .chat-message p{margin:2px 0 4px;line-height:1.35}
  #p-atendimento .chat-message small{font-size:10px;color:#666;border:0}
  #p-atendimento .chat-compose{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));background:#f0f2f5;border-top:1px solid #ddd}
  #p-atendimento .chat-compose-message{grid-column:1/2;min-width:0}
  #p-atendimento .chat-compose-message textarea{min-height:44px;max-height:110px;border-radius:18px;padding:10px 12px;resize:none}
  #p-atendimento .chat-compose-message small{display:none}
  #p-atendimento .chat-file-button,#p-atendimento #attendanceFileType{display:none}
  #p-atendimento #attendanceSendButton{grid-column:2/3;align-self:end;min-width:70px;height:44px;border-radius:16px;padding:8px 12px}
  #p-atendimento .chat-media{max-width:100%;height:auto;border-radius:8px}
}

/* V17.0.100 - Atendimento: viewport e rolagem independentes do rodape */
#p-atendimento{
    height:var(--attendance-available-height, calc(100dvh - 160px));
    min-height:320px;
    overflow:hidden;
}
#p-atendimento .chat-shell{
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:hidden;
}
#p-atendimento .chat-sidebar,
#p-atendimento .chat-main,
#p-atendimento .chat-chat{
    min-height:0 !important;
    max-height:none !important;
}
#p-atendimento .chat-sidebar{
    height:100%;
}
#p-atendimento .chat-conversation-list{
    min-height:0;
    flex:1 1 auto;
    height:0;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden;
    padding-bottom:18px;
    scrollbar-gutter:stable;
    overscroll-behavior-y:contain;
    -webkit-overflow-scrolling:touch;
}
#p-atendimento .chat-main{
    height:100%;
}
#p-atendimento .chat-chat{
    height:100%;
    overflow:hidden;
}
#p-atendimento .chat-messages{
    min-height:0;
    overflow-y:auto !important;
    padding-bottom:22px;
    -webkit-overflow-scrolling:touch;
}
@media(max-width:680px){
    #p-atendimento{
        margin:-16px;
        height:var(--attendance-available-height, calc(100dvh - 120px));
        min-height:280px;
    }
    #p-atendimento .chat-shell,
    #p-atendimento .chat-sidebar,
    #p-atendimento .chat-main{
        height:100% !important;
        min-height:0 !important;
        max-height:none !important;
    }
    #p-atendimento .chat-conversation-list{
        height:0;
        padding-bottom:max(18px, env(safe-area-inset-bottom));
    }
}

/* V17.0.108 - Fechamento inteligente de caixa */
.cash-proof-box{margin:16px 0;padding:16px;border:1px solid #d9dde5;border-radius:14px;background:#f8fafc;display:grid;gap:12px}.cash-proof-box h3{margin:0}.cash-proof-box input[type=file]{width:100%}.cash-proof-rows{display:grid;gap:8px}.cash-proof-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(160px,220px);gap:12px;align-items:end;padding:10px 12px;border:1px solid #e2e6ed;border-radius:10px;background:#fff}.cash-proof-row label{margin:0}.cash-proof-row input{width:100%}.cash-conference-modal{width:min(900px,94vw)}.cash-conference-status{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-radius:10px;background:#f1f3f6;margin-bottom:12px}.cash-conference-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px}.cash-conference-summary>div{padding:12px;border:1px solid #e0e4ea;border-radius:10px;background:#fff;display:grid;gap:4px}.cash-conference-summary small{color:#6b7280}.cash-conference-docs{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.cash-doc-link{text-decoration:none;display:inline-flex}.cash-history-actions{display:flex;gap:6px;flex-wrap:wrap}
@media(max-width:700px){.cash-proof-row{grid-template-columns:1fr}.cash-conference-summary{grid-template-columns:1fr}.cash-conference-modal{width:96vw;max-height:88vh;overflow:auto}.cash-history-actions{min-width:150px}}
.cash-proof-files{display:grid;gap:8px}.cash-proof-file{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;border:1px solid #e2e6ed;border-radius:10px;background:#fff}.cash-proof-file>div{min-width:0;display:grid;gap:3px}.cash-proof-file small,.cash-proof-file span{color:#6b7280;overflow-wrap:anywhere}.cash-proof-file button{flex:0 0 auto}.cash-proof-total-title{display:grid;gap:3px;padding-top:4px;border-top:1px solid #e2e6ed}.cash-proof-total-title .muted{font-size:13px}@media(max-width:700px){.cash-proof-file{align-items:flex-start}.cash-proof-file button{padding:8px 10px;font-size:12px}}


/* V17.0.110 - progresso, consolidados bloqueados e conciliacao imediata */
.cash-proof-progress-wrap{display:flex;align-items:center;gap:10px}.cash-proof-progress-wrap.hidden{display:none!important}.cash-proof-progress{height:12px;flex:1;background:#e4e7ec;border-radius:999px;overflow:hidden}.cash-proof-progress span{display:block;height:100%;width:0;background:#ffc400;transition:width .25s ease}.cash-proof-progress-wrap strong{min-width:58px;text-align:right;font-size:13px}.cash-proof-row-readonly{align-items:center}.cash-proof-row-readonly>div{display:grid;gap:3px;text-align:right}.cash-proof-row-readonly small{color:#667085}.cash-proof-row-readonly>div strong{font-size:18px}.cash-closing-reconciliation{margin-top:4px;border-top:1px solid #dde2e8;padding-top:14px}.cash-closing-reconciliation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}.cash-closing-reconciliation-head>div:first-child{display:grid;gap:3px}.cash-closing-reconciliation-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.cash-reconciliation-badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800}.cash-reconciliation-badge.ok{background:#dcfce7;color:#166534}.cash-reconciliation-badge.pending{background:#fee2e2;color:#991b1b}.cash-reconciliation-ok{color:#16803b;font-weight:700}.cash-closing-reconciliation table{min-width:560px}.cash-closing-reconciliation th,.cash-closing-reconciliation td{padding:9px 10px;text-align:left;border-bottom:1px solid #e7e9ed}.cash-closing-reconciliation td:last-child{font-weight:700}
@media(max-width:700px){.cash-closing-reconciliation-head{display:grid}.cash-closing-reconciliation-summary{justify-content:flex-start}.cash-proof-row-readonly{grid-template-columns:1fr auto}.cash-proof-row-readonly>div strong{font-size:16px}}


/* V17.0.112 - Auditoria de fechamentos */
.cash-audit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}
.cash-audit-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}
.cash-audit-kpis .card{display:flex;flex-direction:column;gap:6px}.cash-audit-kpis strong{font-size:1.45rem}
.cash-audit-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:end;gap:12px;margin-bottom:14px}
.cash-audit-filters label{display:flex;flex-direction:column;gap:6px;font-weight:700}.cash-audit-filters input,.cash-audit-filters select{width:100%}
.cash-audit-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:.82rem;font-weight:800;white-space:nowrap}
.cash-audit-status.audit-ok{background:#dcfce7;color:#166534}.cash-audit-status.audit-pending{background:#fef3c7;color:#92400e}.cash-audit-status.audit-neutral{background:#e5e7eb;color:#374151}
.cash-conference-docs{display:grid;gap:8px;margin:14px 0}.cash-audit-document{display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid #d9dde3;border-radius:10px;padding:12px;text-decoration:none;color:inherit;background:#fff}.cash-audit-document span{display:flex;flex-direction:column;gap:3px;min-width:0}.cash-audit-document small{color:#667085;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cash-audit-document strong{white-space:nowrap}
@media(max-width:900px){.cash-audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.cash-audit-filters{grid-template-columns:1fr 1fr}.cash-audit-filters .btn{grid-column:1/-1}.cash-audit-table-card table{min-width:920px}}
@media(max-width:600px){.cash-audit-kpis{grid-template-columns:1fr 1fr}.cash-audit-kpis .card:last-child{grid-column:1/-1}.cash-audit-filters{grid-template-columns:1fr}.cash-audit-filters .btn{grid-column:auto}.cash-audit-document{align-items:flex-start}.cash-audit-document strong{font-size:.8rem}}

/* V17.0.113 - visualização autenticada dos comprovantes de fechamento */
.cash-audit-document-button{
    width:100%;
    text-align:left;
    font:inherit;
    color:inherit;
    cursor:pointer;
}

/* V17.0.115 - Auditoria de reengajamento WhatsApp */
.followup-audit-filters{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr)) auto;gap:12px;align-items:end;margin-bottom:14px}
.followup-audit-filters label{display:flex;flex-direction:column;gap:6px;font-weight:700}
.followup-audit-kpis{display:grid;grid-template-columns:repeat(6,minmax(150px,1fr));gap:12px;margin:14px 0}
.followup-audit-kpis .card{margin:0;min-width:0}
.followup-audit-kpis small{display:block;color:#667085;margin-bottom:7px}
.followup-audit-kpis strong{font-size:24px;line-height:1.1}
.followup-audit-explanation{margin-bottom:14px}
.followup-audit-explanation p{margin:6px 0 0}
.followup-audit-table .status-pill.success{background:#dcfce7;color:#166534}
.followup-audit-table .status-pill.neutral{background:#f2f4f7;color:#475467}
.followup-audit-table td,.followup-audit-table th{white-space:nowrap}
@media(max-width:1100px){.followup-audit-kpis{grid-template-columns:repeat(3,minmax(150px,1fr))}}
@media(max-width:720px){.followup-audit-filters{grid-template-columns:1fr 1fr}.followup-audit-filters label:nth-child(3),.followup-audit-filters button{grid-column:1/-1}.followup-audit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.followup-audit-kpis strong{font-size:20px}}


/* V17.0.117 — configuração da central do painel */
.panel-config-card,.panel-media-manager{margin-bottom:16px}
.panel-media-add-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(220px,.7fr) auto;gap:12px;align-items:end;margin:14px 0;padding:14px;border:1px solid #dfe3e8;border-radius:12px;background:#fafbfc}
.panel-media-list{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.panel-media-row{display:grid;grid-template-columns:120px 1fr auto;gap:14px;align-items:center;border:1px solid #dfe3e8;border-radius:12px;padding:10px;background:#fff}
.panel-media-thumb{width:120px;height:72px;border-radius:9px;overflow:hidden;background:#15191f;display:grid;place-items:center;color:#fff;font-weight:800}
.panel-media-thumb img{width:100%;height:100%;object-fit:cover}
.panel-media-video-placeholder{font-size:15px}
.panel-media-info{min-width:0;display:flex;flex-direction:column;gap:4px}
.panel-media-info span,.panel-media-info small{color:#69717d;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.panel-media-actions{display:flex;gap:6px;align-items:center}
@media(max-width:900px){.panel-media-add-grid,.panel-media-row{grid-template-columns:1fr}.panel-media-thumb{width:100%;height:160px}.panel-media-actions{justify-content:flex-end}}

/* V17.0.136 — status da integração iFood */
.status-badge.success{background:#dcfce7;color:#166534}
.status-badge.danger{background:#fee2e2;color:#991b1b}

/* V17.0.151 - leitura inteligente de comprovantes */
.cash-proof-file-v151{align-items:flex-start}.cash-proof-file-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cash-proof-read-status{display:inline-flex;padding:3px 7px;border-radius:999px;font-size:11px;font-weight:800}.cash-proof-read-status.ok{background:#dcfce7;color:#166534}.cash-proof-read-status.review{background:#fff1cc;color:#8a4b00}.cash-proof-document-detail{margin-top:6px;padding:7px 9px;border-left:3px solid #d7dce5;background:#f8fafc;border-radius:6px;display:grid;gap:2px}.cash-proof-document-detail b{font-size:12px}.cash-proof-document-detail span,.cash-proof-document-detail small{font-size:12px}.cash-proof-warning{display:block!important;color:#9a3412!important;font-weight:700;margin-top:4px}.cash-proof-reading-alert{display:grid;gap:4px;padding:10px 12px;background:#fff7ed;border:1px solid #fdba74;border-radius:9px;color:#9a3412;margin-bottom:8px}.cash-proof-reading-alert span{font-size:12px}.cash-reconciliation-badge.reading{background:#fff1cc;color:#854d0e}.cash-read-missing td{background:#fffaf0}.cash-read-missing strong{color:#9a3412}

/* V17.0.152 - diagnóstico do motor resiliente */
.cash-proof-diagnostic{margin-top:7px;padding:7px 9px;background:#eef6ff;border:1px solid #bfdbfe;border-radius:7px;display:grid;gap:2px}.cash-proof-diagnostic b{font-size:12px;color:#1e3a8a}.cash-proof-diagnostic small{font-size:11px;color:#475569}

/* V17.0.153 - captura individual de comprovantes e contingencia manual */
.cash-proof-capture-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr);gap:12px;align-items:end}.cash-proof-capture-grid select,.cash-proof-capture-grid input{width:100%}.cash-proof-actions{display:flex;gap:8px;flex-wrap:wrap}.cash-proof-attempts{display:flex;gap:8px;flex-wrap:wrap}.cash-proof-attempt-chip{padding:6px 10px;border-radius:999px;background:#eef2f7;font-size:12px;font-weight:700}.cash-proof-attempt-chip.limit{background:#fee2e2;color:#991b1b}.cash-proof-manual{border:1px solid #f59e0b;background:#fffbeb;border-radius:12px;padding:12px;display:grid;gap:10px}.cash-proof-manual-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.cash-proof-file-manual{border-color:#f59e0b;background:#fffbeb}.cash-proof-file-v153{border-left:4px solid #22c55e}@media(max-width:760px){.cash-proof-capture-grid,.cash-proof-manual-grid{grid-template-columns:1fr}.cash-proof-actions>*{width:100%}}

.cash-manual-source{display:block;color:#b45309;font-weight:800;margin-top:3px}
/* V17.0.156 - Fiscal NFC-e */
.fiscal-product-box{background:#fffdf4;border:1px solid #ecdca1}.fiscal-product-grid,.fiscal-config-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));gap:12px}.fiscal-product-grid label,.fiscal-config-grid label{display:flex;flex-direction:column;gap:5px}.fiscal-product-grid .full{grid-column:1/-1}.fiscal-config-grid .wide{grid-column:span 2}.fiscal-certificate-row{display:grid;grid-template-columns:2fr 1fr auto;gap:12px;align-items:end}.fiscal-ok{border-left:5px solid #19a65a}.fiscal-warn{border-left:5px solid #e5a700}.fiscal-error{border-left:5px solid #c92c2c}@media(max-width:900px){.fiscal-product-grid,.fiscal-config-grid{grid-template-columns:1fr 1fr}.fiscal-certificate-row{grid-template-columns:1fr}.fiscal-config-grid .wide{grid-column:1/-1}}

/* V17.0.170 - responsividade do fechamento de caixa manual */
#cashClosingModal.modal{
    width:min(940px,96vw);
    max-height:calc(100vh - 28px);
}
#cashClosingModal .modal-head{
    position:sticky;
    top:-18px;
    background:#fff;
    z-index:2;
    padding-top:4px;
}
#cashClosingModal .modal-head > div{
    min-width:0;
}
#cashClosingModal .modal-head .muted{
    line-height:1.35;
}
#cashClosingForm{
    display:grid;
    gap:12px;
}
#cashClosingForm > label,
#cashClosingForm .cash-proof-box,
#cashClosingForm .cash-difference-preview,
#cashClosingForm .modal-actions{
    margin:0;
}
#cashClosingForm > input,
#cashClosingForm > textarea{
    width:100%;
}
#cashClosingModal .close-summary,
#cashClosingModal .cash-difference-preview{
    gap:16px;
}
#cashClosingModal .close-summary span,
#cashClosingModal .cash-difference-preview span{
    font-weight:700;
}
#cashClosingModal .cash-proof-box{
    gap:14px;
}
#cashClosingModal .cash-proof-manual-grid,
#cashClosingModal .cash-proof-capture-grid{
    align-items:end;
}
#cashClosingModal .cash-proof-manual-grid > div,
#cashClosingModal .cash-proof-capture-grid > div{
    display:grid;
    gap:6px;
    min-width:0;
}
#cashClosingModal .cash-proof-manual-grid label,
#cashClosingModal .cash-proof-capture-grid label{
    margin:0;
    line-height:1.25;
}
#cashClosingModal .cash-proof-manual-grid input,
#cashClosingModal .cash-proof-capture-grid input,
#cashClosingModal #cashClosingNote{
    width:100%;
}
#cashClosingModal .cash-proof-actions{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
#cashClosingModal .cash-proof-actions > *{
    width:100%;
}
#cashClosingModal .cash-proof-total-title,
#cashClosingModal .cash-closing-reconciliation{
    margin-top:2px;
}
#cashClosingModal .cash-proof-files,
#cashClosingModal .cash-proof-rows{
    min-width:0;
}
#cashClosingModal .cash-closing-reconciliation .table-scroll{
    margin-top:6px;
}
#cashClosingModal .modal-actions{
    position:sticky;
    bottom:-18px;
    background:#fff;
    padding-top:12px;
    padding-bottom:2px;
    border-top:1px solid #e5e7eb;
}
@media (max-width: 900px){
    #cashClosingModal.modal{
        width:min(96vw,760px);
    }
    #cashClosingModal .cash-proof-manual-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
}
@media (max-width: 640px){
    #cashClosingModal.modal{
        width:calc(100vw - 12px);
        max-height:calc(100vh - 12px);
        padding:14px;
        border-radius:16px;
    }
    #cashClosingModal .modal-head{
        top:-14px;
        margin-bottom:12px;
    }
    #cashClosingModal .modal-head h2{
        font-size:18px;
    }
    #cashClosingModal .modal-head .muted,
    #cashClosingModal .cash-proof-box .muted,
    #cashClosingModal .cash-closing-reconciliation-head .muted,
    #cashClosingModal #cashProofStatus{
        font-size:13px;
    }
    #cashClosingModal .close-summary,
    #cashClosingModal .cash-difference-preview{
        flex-direction:column;
        align-items:flex-start;
        padding:12px;
    }
    #cashClosingModal .close-summary strong{
        font-size:28px;
        line-height:1;
    }
    #cashClosingModal .cash-proof-box{
        padding:12px;
        border-radius:12px;
    }
    #cashClosingModal .cash-proof-manual-grid,
    #cashClosingModal .cash-proof-capture-grid,
    #cashClosingModal .cash-proof-actions,
    #cashClosingModal .modal-actions{
        grid-template-columns:1fr;
    }
    #cashClosingModal input,
    #cashClosingModal textarea,
    #cashClosingModal select,
    #cashClosingModal button{
        font-size:16px;
    }
    #cashClosingModal input,
    #cashClosingModal select,
    #cashClosingModal textarea{
        min-height:46px;
    }
    #cashClosingModal textarea{
        min-height:92px;
    }
    #cashClosingModal .cash-proof-file{
        flex-direction:column;
        align-items:flex-start;
    }
    #cashClosingModal .cash-proof-file button,
    #cashClosingModal .modal-actions button,
    #cashClosingModal .cash-proof-actions button{
        width:100%;
        min-height:46px;
    }
    #cashClosingModal .cash-closing-reconciliation table{
        min-width:520px;
    }
    #cashClosingModal .modal-actions{
        bottom:-14px;
        padding-top:10px;
        padding-bottom:max(2px, env(safe-area-inset-bottom));
    }
}

/* V17.0.171 - Entradas de estoque: mobile + vínculo obrigatório de fornecedor */
#stockTab-entradas .stock-two-column{
    grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);
    gap:18px;
}
#stockTab-entradas .card{
    min-width:0;
}
#stockTab-entradas .card > h3{
    margin-bottom:6px;
}
#stockTab-entradas label{
    display:grid;
    gap:6px;
}
#stockTab-entradas select,
#stockTab-entradas input[type="search"],
#stockTab-entradas textarea{
    width:100%;
}
#stockTab-entradas .stock-pills{
    margin:10px 0 8px;
}
#stockTab-entradas .stock-search-results{
    max-height:360px;
    overflow:auto;
    padding-right:2px;
}
#stockTab-entradas .stock-search-results button{
    align-items:center;
}
#stockTab-entradas .stock-search-results button strong{
    min-width:0;
    overflow-wrap:anywhere;
}
#stockTab-entradas .stock-search-results button small{
    flex:0 0 auto;
    white-space:nowrap;
}
#stockTab-entradas .stock-entry-items{
    margin-top:8px;
}
#stockTab-entradas .stock-entry-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) 120px auto;
    align-items:center;
}
#stockTab-entradas .stock-entry-row > div strong{
    overflow-wrap:anywhere;
}
#stockTab-entradas .stock-entry-row input{
    width:100%;
    min-width:0;
}
.stock-entry-empty{
    display:grid;
    gap:4px;
    padding:13px 14px;
    border:1px dashed #d4a900;
    border-radius:10px;
    background:#fffaf0;
}
.stock-entry-empty strong{color:#7a5700}
.stock-entry-empty span{font-size:13px;color:#6b7280;line-height:1.35}

@media(max-width:900px){
    #stockTab-entradas .stock-two-column{
        grid-template-columns:1fr;
    }
    #stockTab-entradas .stock-two-column > .card:last-child{
        order:2;
    }
}

@media(max-width:600px){
    #p-estoque .stock-page-header{
        gap:10px;
    }
    #p-estoque .stock-tabs{
        display:flex;
        width:calc(100vw - 16px);
        max-width:100%;
        overflow-x:auto;
        flex-wrap:nowrap;
        justify-content:flex-start;
        gap:6px;
        padding-bottom:4px;
        scrollbar-width:thin;
    }
    #p-estoque .stock-tabs button{
        flex:0 0 auto;
        white-space:nowrap;
        min-height:42px;
        padding:9px 12px;
        font-size:11px;
    }
    #stockTab-entradas .card{
        padding:14px;
        border-radius:14px;
    }
    #stockTab-entradas .card > h3{
        font-size:20px;
    }
    #stockTab-entradas .card > .muted{
        font-size:13px;
        line-height:1.35;
    }
    #stockTab-entradas select,
    #stockTab-entradas input,
    #stockTab-entradas textarea,
    #stockTab-entradas button{
        font-size:16px;
    }
    #stockTab-entradas select,
    #stockTab-entradas input[type="search"]{
        min-height:48px;
    }
    #stockTab-entradas .stock-pills{
        display:grid;
        grid-template-columns:1fr 1fr;
        gap:8px;
    }
    #stockTab-entradas .stock-pills button{
        min-height:44px;
        border-radius:10px;
    }
    #stockTab-entradas .stock-search-results{
        max-height:none;
    }
    #stockTab-entradas .stock-search-results button{
        display:grid;
        gap:4px;
        min-height:58px;
        padding:11px 12px;
    }
    #stockTab-entradas .stock-search-results button small{
        white-space:normal;
    }
    #stockTab-entradas .stock-entry-row{
        grid-template-columns:minmax(0,1fr) 104px;
        gap:10px;
        padding:12px;
    }
    #stockTab-entradas .stock-entry-row > div{
        grid-column:1/-1;
    }
    #stockTab-entradas .stock-entry-row input{
        grid-column:1;
        width:100%;
        min-height:46px;
        text-align:center;
    }
    #stockTab-entradas .stock-entry-row .danger-button{
        grid-column:2;
        width:100%;
        min-height:46px;
    }
    #stockTab-entradas .block{
        width:100%;
        min-height:50px;
        position:sticky;
        bottom:8px;
        z-index:3;
        box-shadow:0 8px 24px rgba(0,0,0,.14);
    }
    #stockTab-entradas .stock-row-card{
        display:grid;
        gap:10px;
    }
    #stockTab-entradas .stock-balance-values{
        justify-content:flex-start;
        text-align:left;
    }
}

/* V17.0.172 - histórico detalhado de entradas */
.stock-entry-history-card{min-width:0}
.stock-entry-history-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:12px}
.stock-entry-history-head>div{min-width:0}
.stock-entry-history-head h3{margin:0 0 3px}
.stock-entry-history-head p{margin:0}
.stock-entry-history-head label{display:grid;gap:5px;min-width:210px;margin:0}
.stock-entry-history-head select{width:100%}
.stock-entry-history-row{padding:0;overflow:hidden}
.stock-entry-history-open{width:100%;border:0;background:#fff;color:inherit;padding:12px;text-align:left;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:14px;align-items:center;cursor:pointer;font:inherit}
.stock-entry-history-open:hover{background:#fafafa}
.stock-entry-history-open>div:first-child{min-width:0;display:grid;gap:3px}
.stock-entry-history-open strong{overflow-wrap:anywhere}
.stock-entry-history-open small{color:#6b7280;font-size:12px}
.stock-entry-open-label{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;background:#111;color:#fff;font-size:11px;font-weight:800;padding:7px 10px;white-space:nowrap}
.stock-entry-detail-modal{width:min(880px,94vw)}
.stock-entry-detail-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px}
.stock-entry-detail-meta span{border:1px solid #e0e4ea;border-radius:10px;padding:11px;background:#f8fafc;display:grid;gap:4px;min-width:0}
.stock-entry-detail-meta small{color:#6b7280}
.stock-entry-detail-meta strong{overflow-wrap:anywhere}
.stock-entry-detail-list-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.stock-entry-detail-items{display:grid;gap:8px;max-height:46vh;overflow:auto;padding-right:2px}
.stock-entry-detail-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border:1px solid #e1e5ea;border-radius:10px;background:#fff}
.stock-entry-detail-index{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#f0f2f5;font-size:12px;font-weight:800}
.stock-entry-detail-row>div{min-width:0;display:grid;gap:3px}
.stock-entry-detail-row small{color:#6b7280}
.stock-entry-detail-row>b{white-space:nowrap}
.stock-entry-detail-observation{margin-top:12px;padding:11px 12px;border-radius:10px;background:#f8fafc;border:1px solid #e1e5ea}
.stock-entry-detail-observation small{color:#6b7280;font-weight:700}
.stock-entry-detail-observation p{margin:5px 0 0;white-space:pre-wrap}
@media(max-width:720px){
  .stock-entry-history-head{display:grid;grid-template-columns:1fr;align-items:stretch}
  .stock-entry-history-head label{min-width:0}
  .stock-entry-history-open{grid-template-columns:1fr auto;gap:9px}
  .stock-entry-history-open .stock-balance-values{grid-column:1;justify-content:flex-start;text-align:left}
  .stock-entry-open-label{grid-column:2;grid-row:1/3;align-self:stretch;min-width:64px}
  .stock-entry-detail-modal{width:calc(100vw - 12px);max-height:calc(100vh - 12px);padding:14px}
  .stock-entry-detail-meta{grid-template-columns:1fr 1fr}
  .stock-entry-detail-items{max-height:none;overflow:visible}
  .stock-entry-detail-row{grid-template-columns:30px minmax(0,1fr)}
  .stock-entry-detail-row>b{grid-column:2;font-size:17px}
  .stock-entry-detail-list-head{align-items:flex-start;display:grid}
  .stock-entry-detail-modal .modal-actions{display:grid;grid-template-columns:1fr}
  .stock-entry-detail-modal .modal-actions button{width:100%;min-height:46px}
}
@media(max-width:430px){.stock-entry-detail-meta{grid-template-columns:1fr}}

/* V17.0.173 - edição/exclusão de contas a pagar pendente */
.finance-edit-button{border-color:#d6a900;background:#fff9df;color:#5f4900}
.finance-edit-existing-doc{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid #d7dce3;border-radius:9px;background:#f8fafc}
.finance-edit-existing-doc span{font-size:12px;color:#667085}
.finance-detail-pending-actions{border-top:1px solid #e5e7eb;padding-top:14px}
.finance-detail-pending-actions .finance-row-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:600px){
  .finance-detail-pending-actions .finance-row-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .finance-detail-pending-actions .finance-row-actions button{width:100%;min-height:44px}
}

/* V17.0.179 - gestão de NFC-e */
.fiscal-doc-filters{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto auto;gap:10px;align-items:end;margin:12px 0 16px}.fiscal-doc-filters label{display:grid;gap:6px;font-weight:700}.fiscal-doc-filters input,.fiscal-doc-filters select{width:100%}.fiscal-doc-actions{display:flex;gap:6px;flex-wrap:wrap}.fiscal-doc-actions button{white-space:nowrap}.fiscal-docs-card td small{word-break:break-all}.fiscal-docs-card .danger{background:#b91c1c;color:#fff;border:0;border-radius:8px;padding:9px 12px;font-weight:700}
@media(max-width:760px){.fiscal-doc-filters{grid-template-columns:1fr 1fr}.fiscal-doc-filters label:nth-child(3),.fiscal-doc-filters button{grid-column:1/-1}.fiscal-doc-filters button{width:100%}.fiscal-doc-actions{min-width:160px;display:grid;grid-template-columns:1fr}.fiscal-doc-actions button{width:100%}.fiscal-docs-card .table-scroll{overflow-x:auto}.fiscal-docs-card table{min-width:980px}}

/* V17.0.181 - recuperação NFC-e GERADA/ERRO_ENVIO */
.fiscal-doc-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}


/* ================================================================
   V17.0.197 - Pré-venda do garçom otimizada para celular
   ================================================================ */
@media (max-width: 760px) {
    body.waiter-exclusive{
        background:#f4f5f7;
        overflow-x:hidden;
    }
    .waiter-exclusive header{
        min-height:58px;
        padding:10px 12px;
        align-items:center;
        flex-wrap:nowrap;
        gap:8px;
    }
    .waiter-exclusive header b{
        font-size:17px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
        max-width:58vw;
    }
    .waiter-exclusive header .right{
        margin-left:auto;
        gap:6px;
        flex:0 0 auto;
    }
    .waiter-exclusive header .user-name{
        font-size:11px;
        max-width:74px;
        white-space:nowrap;
        overflow:hidden;
        text-overflow:ellipsis;
    }
    .waiter-exclusive header .right .secondary,
    .waiter-exclusive header .right button{
        min-height:36px;
        padding:8px 10px;
        font-size:12px;
    }
    .waiter-exclusive .wrap{
        padding:10px 10px 20px;
        max-width:100%;
    }
    #p-pre-venda-garcom .operation-header{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        align-items:start;
        margin-bottom:10px;
    }
    #p-pre-venda-garcom .operation-header h2{
        margin:0 0 3px;
        font-size:22px;
        line-height:1.08;
    }
    #p-pre-venda-garcom .operation-header p{
        margin:0;
        font-size:13px;
        line-height:1.3;
    }
    #p-pre-venda-garcom .operation-header>button{
        min-height:40px;
        padding:9px 11px;
        font-size:11px;
    }
    #p-pre-venda-garcom .waiter-pre-sale-tabs{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:6px;
        margin:0 0 10px;
    }
    #p-pre-venda-garcom .waiter-pre-sale-tabs button{
        width:100%;
        min-width:0;
        min-height:44px;
        padding:8px 5px;
        border-radius:9px;
        font-size:11px;
        line-height:1.15;
        white-space:normal;
    }
    #p-pre-venda-garcom .standalone-sale-layout{
        display:flex;
        flex-direction:column;
        gap:10px;
    }
    #p-pre-venda-garcom .card{
        padding:12px;
        margin-bottom:10px;
        border-radius:12px;
    }
    #p-pre-venda-garcom .standalone-search{
        min-height:48px;
        margin-bottom:8px;
        padding:11px 12px;
        border-radius:10px;
        font-size:16px;
    }
    #p-pre-venda-garcom .standalone-category-tabs{
        margin:7px -4px 10px;
        padding:2px 4px 6px;
        gap:6px;
        scrollbar-width:none;
        -webkit-overflow-scrolling:touch;
    }
    #p-pre-venda-garcom .standalone-category-tabs::-webkit-scrollbar{display:none}
    #p-pre-venda-garcom .standalone-category-tabs button{
        min-height:38px;
        padding:8px 12px;
        border-radius:999px;
        font-size:11px;
    }
    #p-pre-venda-garcom .standalone-product-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
    }
    #p-pre-venda-garcom .standalone-product{
        min-height:104px;
        padding:11px;
        border-radius:10px;
        touch-action:manipulation;
    }
    #p-pre-venda-garcom .standalone-product strong,
    #p-pre-venda-garcom .standalone-product span{
        overflow-wrap:anywhere;
    }
    #p-pre-venda-garcom .standalone-product b{
        font-size:17px;
    }
    #p-pre-venda-garcom .standalone-products-empty{
        min-height:100px;
        padding:16px 8px;
    }
    #p-pre-venda-garcom .standalone-cart-panel{
        position:static;
        padding-bottom:12px;
    }
    #p-pre-venda-garcom .standalone-cart-panel h3{
        margin:0 0 8px;
        font-size:19px;
    }
    #p-pre-venda-garcom .standalone-cart-item{
        grid-template-columns:minmax(0,1fr) auto;
        gap:8px;
        padding:10px 0;
    }
    #p-pre-venda-garcom .standalone-cart-item>:last-child{
        grid-column:1/-1;
        justify-self:end;
    }
    #p-pre-venda-garcom .standalone-quantity button{
        width:38px;
        height:38px;
        font-size:18px;
    }
    #p-pre-venda-garcom .standalone-total{
        margin:4px 0 10px;
        padding:12px 0;
        font-size:20px;
    }
    #p-pre-venda-garcom .standalone-payment-header{
        margin-top:6px;
        gap:8px;
    }
    #p-pre-venda-garcom .standalone-payment-header label{
        font-size:17px;
        font-weight:800;
    }
    #p-pre-venda-garcom .standalone-payment-header small{
        font-size:12px;
    }
    #p-pre-venda-garcom .standalone-payment-header button{
        width:100%;
        min-height:42px;
    }
    #p-pre-venda-garcom .standalone-payment-row{
        padding:10px;
    }
    #p-pre-venda-garcom .standalone-payment-grid{
        grid-template-columns:1fr;
        gap:8px;
    }
    #p-pre-venda-garcom .standalone-payment-grid input,
    #p-pre-venda-garcom .standalone-payment-grid select,
    #p-pre-venda-garcom textarea{
        min-height:46px;
        font-size:16px;
    }
    #p-pre-venda-garcom textarea{
        min-height:82px;
        resize:vertical;
    }
    #p-pre-venda-garcom .btn.block{
        min-height:50px;
        font-size:14px;
        margin-top:4px;
    }
    #p-pre-venda-garcom .waiter-orders-filter{
        gap:8px;
    }
    #p-pre-venda-garcom .waiter-orders-filter label,
    #p-pre-venda-garcom .waiter-orders-filter button{
        width:100%;
        min-width:0;
    }
    #p-pre-venda-garcom .pre-sale-table thead{display:none}
    #p-pre-venda-garcom .pre-sale-table,
    #p-pre-venda-garcom .pre-sale-table tbody,
    #p-pre-venda-garcom .pre-sale-table tr,
    #p-pre-venda-garcom .pre-sale-table td{
        display:block;
        width:100%;
    }
    #p-pre-venda-garcom .pre-sale-table tr{
        padding:10px;
        margin-bottom:9px;
        border:1px solid #e1e4e8;
        border-radius:10px;
        background:#fff;
    }
    #p-pre-venda-garcom .pre-sale-table td{
        border:0;
        padding:4px 0;
        overflow-wrap:anywhere;
    }
    #p-pre-venda-garcom .pre-sale-table td:last-child button{
        width:100%;
        min-height:40px;
        margin-top:5px;
    }
    #p-pre-venda-garcom .waiter-kitchen-summary{
        gap:6px;
    }
    #p-pre-venda-garcom .waiter-kitchen-summary>div{
        padding:9px 6px;
        text-align:center;
    }
    #p-pre-venda-garcom .waiter-kitchen-summary strong{
        font-size:22px;
    }
    #p-pre-venda-garcom .waiter-kitchen-grid{
        grid-template-columns:1fr;
    }
    .waiter-exclusive .keyboard-shortcut-bar{
        display:none!important;
    }
}

@media (max-width: 390px) {
    #p-pre-venda-garcom .standalone-product-grid{
        grid-template-columns:1fr;
    }
    #p-pre-venda-garcom .waiter-pre-sale-tabs button{
        font-size:10px;
        padding-left:3px;
        padding-right:3px;
    }
}

.contact-bulk-card{margin-bottom:16px}.contact-bulk-card h3{margin:0 0 6px}.contact-bulk-card .report-filter{margin:12px 0 0}.contact-bulk-controls label{min-width:220px}@media(max-width:700px){.contact-bulk-controls{display:grid;grid-template-columns:1fr}.contact-bulk-controls label,.contact-bulk-controls button{width:100%;min-width:0}}


/* V17.0.209 - Gestão fiscal em telas isoladas + mobile */
.fiscal-page-header{gap:16px;align-items:center}.fiscal-header-actions{display:flex;gap:8px;flex-wrap:wrap}.fiscal-hub-actions{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:12px;margin:14px 0}.fiscal-hub-card{border:1px solid #dedede;background:#fff;border-radius:14px;padding:18px;text-align:left;cursor:pointer;min-height:108px;box-shadow:0 2px 7px rgba(0,0,0,.04)}.fiscal-hub-card:hover{border-color:#ffc400}.fiscal-hub-card strong{display:block;font-size:17px;margin-bottom:8px}.fiscal-hub-card span{display:block;color:#646464;line-height:1.35}.fiscal-compact-banner{padding:14px 16px}.fiscal-dedicated-page{max-width:1180px;margin:0 auto}.fiscal-avulsa-dedicated{padding:18px}.fiscal-avulsa-top-grid{display:grid;grid-template-columns:1fr 2fr 1.2fr;gap:12px}.fiscal-avulsa-top-grid label,.fiscal-avulsa-search-block label{display:flex;flex-direction:column;gap:6px;font-weight:700}.fiscal-avulsa-search-block{margin-top:16px}.fiscal-avulsa-results{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}.fiscal-avulsa-results button{margin:0!important}.fiscal-avulsa-qty{width:90px}.fiscal-avulsa-price{width:120px}.fiscal-avulsa-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.fiscal-avulsa-total-label{font-size:17px}.fiscal-avulsa-total-label strong{font-size:22px;margin-left:8px}.fiscal-config-actions{display:flex;gap:8px;flex-wrap:wrap}
@media(max-width:900px){.fiscal-hub-actions{grid-template-columns:1fr}.fiscal-avulsa-top-grid{grid-template-columns:1fr 1fr}.fiscal-avulsa-top-grid label:nth-child(3){grid-column:1/-1}}
@media(max-width:640px){
  .fiscal-dedicated-page{margin:0;padding:0 8px}.fiscal-page-header{align-items:flex-start;flex-direction:column}.fiscal-page-header h2{font-size:23px;margin-bottom:4px}.fiscal-header-actions{width:100%}.fiscal-header-actions button{flex:1;min-height:44px}.fiscal-compact-banner{font-size:13px;line-height:1.4}.fiscal-avulsa-dedicated{padding:12px}.fiscal-avulsa-title{align-items:flex-start;gap:8px}.fiscal-avulsa-top-grid{grid-template-columns:1fr}.fiscal-avulsa-top-grid label:nth-child(3){grid-column:auto}.fiscal-avulsa-top-grid input,.fiscal-avulsa-top-grid select,.fiscal-avulsa-search-block input{font-size:16px;min-height:48px}.fiscal-avulsa-results{display:grid;grid-template-columns:1fr}.fiscal-avulsa-results button{width:100%;text-align:left;min-height:46px}.fiscal-avulsa-table-wrap{overflow:visible}.fiscal-avulsa-table thead{display:none}.fiscal-avulsa-table,.fiscal-avulsa-table tbody{display:block;width:100%}.fiscal-avulsa-table tr:not(.fiscal-avulsa-empty){display:grid;grid-template-columns:1fr 1fr;gap:8px;border:1px solid #e2e2e2;border-radius:12px;padding:12px;margin-bottom:10px;background:#fff}.fiscal-avulsa-table td{border:0!important;padding:0!important;display:flex;flex-direction:column;gap:4px}.fiscal-avulsa-table td:before{content:attr(data-label);font-size:11px;font-weight:800;color:#737373;text-transform:uppercase}.fiscal-avulsa-table td:first-child{grid-column:1/-1;font-size:16px}.fiscal-avulsa-table td:last-child{grid-column:1/-1}.fiscal-avulsa-table input{width:100%!important;min-height:44px;font-size:16px}.fiscal-avulsa-remove{width:100%;min-height:42px}.fiscal-avulsa-empty{display:block}.fiscal-avulsa-empty td{display:block!important;padding:16px!important}.fiscal-avulsa-footer{flex-direction:column;align-items:stretch;position:sticky;bottom:0;background:#fff;padding:12px 0 4px;border-top:1px solid #eee;z-index:5}.fiscal-avulsa-total-label{display:flex;justify-content:space-between;align-items:center}.fiscal-avulsa-footer .form-actions{display:grid;grid-template-columns:1fr 2fr;width:100%;gap:8px}.fiscal-avulsa-footer button{width:100%;min-height:48px}.fiscal-avulsa-submit{font-size:15px}.fiscal-config-grid{grid-template-columns:1fr!important}.fiscal-config-grid .wide{grid-column:auto!important}.fiscal-config-grid input,.fiscal-config-grid select{min-height:46px;font-size:16px}.fiscal-config-actions{display:grid;grid-template-columns:1fr}.fiscal-config-actions button{width:100%;min-height:48px}.fiscal-certificate-row input,.fiscal-certificate-row button{width:100%;min-height:46px}.fiscal-hub-card{min-height:auto;padding:15px}
}

/* V17.0.210 - visualização autenticada de anexos do Contas a Pagar */
.finance-detail-document-name{font-weight:700;margin:0 0 8px;color:#333;word-break:break-word}
.finance-detail-preview-loading{padding:16px;border:1px dashed #cfd4da;border-radius:10px;color:#666;background:#fafafa}
.finance-detail-preview-image{display:block;max-width:100%;max-height:62vh;object-fit:contain;margin:0 auto;border-radius:8px;cursor:zoom-in;background:#f5f5f5}
.finance-detail-preview-pdf{display:block;width:100%;height:62vh;min-height:420px;border:1px solid #d8d8d8;border-radius:8px;background:#fff;margin-bottom:10px}
.finance-detail-open-document{display:inline-block;margin-top:8px}
.finance-detail-preview-error{padding:14px;border-radius:8px;background:#ffe8e8;color:#9b1c1c;font-weight:600}
@media(max-width:700px){.finance-detail-preview-pdf{height:55vh;min-height:340px}.finance-detail-preview-image{max-height:55vh}}


/* V17.0.214 — filtros e resumo do cadastro de clientes */
.client-filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(220px,1.2fr) auto;gap:12px;align-items:end}
.client-filter-grid label{display:block;font-weight:700;margin-bottom:6px}
.client-filter-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.client-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}
.client-summary-grid .card{margin:0;display:flex;flex-direction:column;gap:6px}
.client-summary-grid strong{font-size:1.45rem}
@media(max-width:900px){.client-filter-grid{grid-template-columns:1fr 1fr}.client-filter-actions{grid-column:1/-1}.client-summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.client-filter-grid{grid-template-columns:1fr}.client-filter-actions{grid-column:auto}.client-filter-actions button{flex:1 1 100%}.client-summary-grid{grid-template-columns:1fr 1fr}.client-summary-grid strong{font-size:1.2rem}}

/* V17.0.220 — SLA dos pedidos digitais */
.sla-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:12px;margin:14px 0}
.sla-kpi{background:#fff;border:1px solid #e1e4e8;border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:6px}.sla-kpi span{color:#667085;font-size:13px}.sla-kpi strong{font-size:25px}.sla-kpi-danger{border-color:#ef4444;background:#fff5f5}.sla-kpi-danger strong{color:#b91c1c}.sla-filter-action{display:flex;align-items:flex-end}.sla-row-late{background:#fff1f1}.sla-status{display:inline-flex;padding:5px 9px;border-radius:999px;font-weight:800;font-size:12px}.sla-status.ok{background:#dcfce7;color:#166534}.sla-status.late{background:#fee2e2;color:#991b1b}.sla-admin-notification{border-left:5px solid #dc2626!important;background:#fff4f4!important}
.digital-sla-late-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100000;display:flex;align-items:center;justify-content:center;padding:24px}.digital-sla-late-dialog{width:min(760px,96vw);background:#b91c1c;color:#fff;border:6px solid #7f1d1d;border-radius:22px;padding:34px;text-align:center;box-shadow:0 24px 90px rgba(0,0,0,.55);animation:slaLatePulse .9s ease-in-out 2}.digital-sla-late-icon{font-size:62px;line-height:1}.digital-sla-late-dialog h2{font-size:32px;margin:10px 0 16px}.digital-sla-late-dialog p{font-size:20px;line-height:1.45}.digital-sla-late-meta{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;background:rgba(255,255,255,.14);padding:16px;border-radius:14px;margin:18px 0;font-size:19px}.digital-sla-late-warning{font-weight:800}.digital-sla-late-button{border:0;background:#fff;color:#991b1b;font-weight:900;font-size:20px;padding:14px 34px;border-radius:12px;cursor:pointer}@keyframes slaLatePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}
@media(max-width:800px){.sla-summary-grid{grid-template-columns:repeat(2,1fr)}.digital-sla-late-dialog{padding:24px 18px}.digital-sla-late-dialog h2{font-size:25px}.digital-sla-late-dialog p{font-size:17px}}

/* V17.0.221 - posição real de estoque no histórico por item */
.item-movement-stock-summary{grid-template-columns:repeat(4,minmax(0,1fr));}
.item-movement-stock-summary .card{display:flex;flex-direction:column;gap:5px;}
.item-movement-stock-summary .card strong{font-size:1.7rem;line-height:1.05;}
.item-movement-open-card{border-left:4px solid #f0a000;}
.item-movement-total-card{border-left:4px solid #111;}
.item-movement-section-head{margin:20px 0 8px;display:flex;align-items:end;justify-content:space-between;gap:12px;}
.item-movement-section-head h3{margin:0 0 3px;}
.item-movement-section-head p{margin:0;}
.item-movement-open-wrap{border-top:4px solid #f0a000;}
.item-movement-open-row td{background:#fffaf0;}
.item-movement-open-status{display:inline-flex;padding:4px 8px;border-radius:999px;background:#fff0c2;color:#7a5000;font-weight:800;font-size:.78rem;}
@media(max-width:900px){.item-movement-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.item-movement-stock-summary{grid-template-columns:1fr;}.item-movement-stock-summary .card strong{font-size:1.5rem;}.item-movement-section-head{margin-top:16px;}}


/* V17.0.222 - Linha do tempo de estoque por item */
.item-stock-timeline-card{max-width:1080px;max-height:90vh;overflow:auto}
.item-stock-timeline-summary{grid-template-columns:repeat(4,minmax(0,1fr));margin:12px 0 18px}
.item-stock-timeline-content{display:flex;flex-direction:column;gap:10px}
.item-stock-timeline-day{border:1px solid #e4e7ec;border-radius:14px;background:#fff;overflow:hidden}
.item-stock-timeline-day-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 15px;background:#f8f9fb}
.item-stock-timeline-day-head>div:first-child{display:flex;flex-direction:column;gap:3px}.item-stock-timeline-day-head span{color:#667085;font-size:.86rem}
.item-stock-timeline-day-values{display:flex;gap:16px;flex-wrap:wrap}.item-stock-timeline-day-values span{color:#344054}
.item-stock-timeline-details{padding:6px 15px 10px}
.item-stock-timeline-line{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed #eaecf0}
.item-stock-timeline-line:last-child{border-bottom:0}.timeline-in{color:#087a3d!important}.timeline-out{color:#b42318!important}
@media(max-width:800px){.item-stock-timeline-summary{grid-template-columns:1fr 1fr}.item-stock-timeline-day-head{align-items:flex-start;flex-direction:column}.item-stock-timeline-day-values{width:100%;justify-content:space-between}}
@media(max-width:520px){.item-stock-timeline-summary{grid-template-columns:1fr}.item-stock-timeline-card{width:96vw;max-height:94vh}.item-stock-timeline-day-values{display:grid;grid-template-columns:1fr 1fr}.item-stock-timeline-day-values span:last-child{grid-column:1/-1}}


/* V17.0.223 - Modal real, centralizado e responsivo da linha do tempo do estoque */
body.item-stock-timeline-open{overflow:hidden}
#itemStockTimelineModal.item-stock-timeline-modal{
    position:fixed!important;
    inset:0!important;
    z-index:120000!important;
    width:100vw!important;
    height:100dvh!important;
    max-height:none!important;
    overflow:hidden!important;
    margin:0!important;
    padding:24px!important;
    box-sizing:border-box!important;
    border-radius:0!important;
    background:rgba(10,15,25,.72)!important;
    display:flex;
    align-items:center;
    justify-content:center;
}
#itemStockTimelineModal.item-stock-timeline-modal.hidden{display:none!important}
#itemStockTimelineModal .item-stock-timeline-card{
    width:min(1080px,96vw)!important;
    max-width:1080px!important;
    height:min(860px,92dvh)!important;
    max-height:92dvh!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
    border-radius:18px!important;
    box-shadow:0 28px 90px rgba(0,0,0,.42)!important;
}
#itemStockTimelineModal .item-stock-timeline-header{
    flex:0 0 auto;
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding:20px 22px 16px;
    border-bottom:1px solid #e5e7eb;
    background:#fff;
}
#itemStockTimelineModal .item-stock-timeline-header h2{margin:0 0 5px;font-size:25px;line-height:1.15}
#itemStockTimelineModal .item-stock-timeline-header p{margin:0}
#itemStockTimelineModal .item-stock-timeline-close{
    flex:0 0 auto;
    width:42px;
    height:42px;
    border:0;
    border-radius:50%;
    background:#f1f3f5;
    color:#111827;
    font-size:28px;
    line-height:1;
    cursor:pointer;
}
#itemStockTimelineModal .item-stock-timeline-scroll{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:18px 22px 24px;
}
#itemStockTimelineModal .item-stock-timeline-summary{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:12px;
    margin:0 0 18px;
}
#itemStockTimelineModal .item-stock-timeline-summary .card{margin:0;min-width:0}
#itemStockTimelineModal .item-stock-timeline-actions{
    flex:0 0 auto;
    margin:0!important;
    padding:14px 22px calc(14px + env(safe-area-inset-bottom));
    border-top:1px solid #e5e7eb;
    background:#fff;
}
#itemStockTimelineModal .item-stock-timeline-actions button{min-width:120px;min-height:44px}
@media(max-width:800px){
    #itemStockTimelineModal.item-stock-timeline-modal{padding:10px!important}
    #itemStockTimelineModal .item-stock-timeline-card{width:100%!important;height:calc(100dvh - 20px)!important;max-height:calc(100dvh - 20px)!important;border-radius:16px!important}
    #itemStockTimelineModal .item-stock-timeline-header{padding:16px}
    #itemStockTimelineModal .item-stock-timeline-header h2{font-size:21px}
    #itemStockTimelineModal .item-stock-timeline-scroll{padding:14px 14px 20px}
    #itemStockTimelineModal .item-stock-timeline-summary{grid-template-columns:1fr 1fr;gap:10px}
    #itemStockTimelineModal .item-stock-timeline-actions{padding:12px 14px calc(12px + env(safe-area-inset-bottom))}
    #itemStockTimelineModal .item-stock-timeline-actions button{width:100%}
}
@media(max-width:520px){
    #itemStockTimelineModal.item-stock-timeline-modal{padding:0!important;align-items:stretch}
    #itemStockTimelineModal .item-stock-timeline-card{height:100dvh!important;max-height:100dvh!important;border-radius:0!important}
    #itemStockTimelineModal .item-stock-timeline-header{padding:14px 14px 12px}
    #itemStockTimelineModal .item-stock-timeline-close{width:40px;height:40px}
    #itemStockTimelineModal .item-stock-timeline-summary{grid-template-columns:1fr}
    #itemStockTimelineModal .item-stock-timeline-day{border-radius:12px}
    #itemStockTimelineModal .item-stock-timeline-line{align-items:flex-start;font-size:14px}
}


/* V17.0.224 - Hardening do modal de linha do tempo */
#itemStockTimelineModal{
  position:fixed!important;
  top:0!important;right:0!important;bottom:0!important;left:0!important;
  z-index:2147483000!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100vw!important;
  height:100vh!important;
  min-height:100vh!important;
  margin:0!important;
  padding:24px!important;
  background:rgba(0,0,0,.68)!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
#itemStockTimelineModal.hidden{display:none!important}
#itemStockTimelineModal>.item-stock-timeline-card{
  position:relative!important;
  inset:auto!important;
  width:min(1080px,calc(100vw - 48px))!important;
  height:auto!important;
  max-height:90vh!important;
  overflow:hidden!important;
  margin:0!important;
}
@media(max-width:800px){
  #itemStockTimelineModal{padding:10px!important}
  #itemStockTimelineModal>.item-stock-timeline-card{width:calc(100vw - 20px)!important;max-height:calc(100vh - 20px)!important}
}
@media(max-width:520px){
  #itemStockTimelineModal{padding:0!important;align-items:stretch!important}
  #itemStockTimelineModal>.item-stock-timeline-card{width:100vw!important;height:100vh!important;max-height:100vh!important;border-radius:0!important}
}


/* V17.0.225 - Operação: comandas abertas primeiro + filtro abertas hoje */
.operation-quick-filters {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 2px 0 8px;
    flex-wrap: wrap;
}
.operation-today-check {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 8px 13px;
    border: 1px solid #d7d7d7;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    font-weight: 800;
    color: #222;
}
.operation-today-check input {
    width: 20px;
    height: 20px;
    margin: 0;
    accent-color: #f5b800;
    cursor: pointer;
}
.operation-today-check:has(input:checked) {
    border-color: #f5b800;
    background: #fff8d9;
}
.operation-today-hint {
    color: #666;
    font-size: 13px;
}
@media (max-width: 720px) {
    .operation-quick-filters {
        align-items: stretch;
        flex-direction: column;
        gap: 6px;
    }
    .operation-today-check {
        width: 100%;
        min-height: 46px;
    }
    .operation-today-hint {
        padding: 0 2px;
    }
}

/* V18_0_024 - seleção de empresa no login multi-tenant */
.tenant-selection-overlay{position:fixed;inset:0;z-index:120000;background:rgba(0,0,0,.72);display:flex;align-items:center;justify-content:center;padding:20px}
.tenant-selection-card{width:min(620px,100%);max-height:min(760px,90vh);overflow:auto;background:#fff;border-radius:18px;box-shadow:0 24px 80px rgba(0,0,0,.35);padding:22px;color:#111}
.tenant-selection-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}.tenant-selection-head h2{margin:0 0 5px;font-size:26px}.tenant-selection-head p{margin:0;color:#666}.tenant-selection-close{border:0;background:#eee;border-radius:10px;width:42px;height:42px;font-size:25px;cursor:pointer}.tenant-selection-list{display:grid;gap:12px}.tenant-selection-item{text-align:left;border:1px solid #ddd;background:#fafafa;border-radius:14px;padding:16px;cursor:pointer;display:grid;gap:5px;transition:.15s}.tenant-selection-item:hover{border-color:#ffbf00;box-shadow:0 0 0 2px rgba(255,191,0,.16)}.tenant-selection-item strong{font-size:18px}.tenant-selection-item span{color:#555}.tenant-selection-item small{margin-top:5px;font-weight:800;color:#9a7200}.tenant-selection-item:disabled{opacity:.55;cursor:wait}
@media(max-width:600px){.tenant-selection-overlay{padding:10px;align-items:flex-end}.tenant-selection-card{border-radius:18px 18px 0 0;max-height:88vh;padding:18px}.tenant-selection-head h2{font-size:22px}}


/* V18_0_026 — Onboarding comercial do tenant */
.commercial-onboarding-overlay{position:fixed;inset:0;z-index:50000;background:rgba(8,15,28,.76);display:flex;align-items:center;justify-content:center;padding:24px}
.commercial-onboarding-card{width:min(920px,96vw);max-height:92vh;overflow:auto;background:#fff;border-radius:22px;box-shadow:0 28px 90px rgba(0,0,0,.35);color:#111827}
.commercial-onboarding-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:26px 28px 18px}
.commercial-onboarding-head span{font-size:12px;font-weight:800;letter-spacing:.08em;color:#2457d6}.commercial-onboarding-head h2{margin:4px 0 0;font-size:28px}.commercial-onboarding-head small{font-weight:700;color:#64748b;white-space:nowrap}
.commercial-onboarding-progress{height:6px;background:#e5e7eb;margin:0 28px;border-radius:999px;overflow:hidden}.commercial-onboarding-progress i{display:block;height:100%;background:#2457d6;transition:width .2s ease}
.commercial-onboarding-body{padding:24px 28px 30px}.commercial-onboarding-intro h3{margin:0 0 6px;font-size:22px}.commercial-onboarding-intro p{margin:0 0 22px;color:#64748b;line-height:1.5}
.commercial-onboarding-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.commercial-onboarding-form input{min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:10px 12px;font-size:15px}.commercial-onboarding-form input:disabled{background:#f1f5f9;color:#64748b}
.commercial-onboarding-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:22px}
.commercial-onboarding-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.commercial-onboarding-summary>div,.commercial-onboarding-checklist>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:18px}.commercial-onboarding-summary span,.commercial-onboarding-checklist span{display:block;color:#64748b;font-size:13px}.commercial-onboarding-summary strong{display:block;font-size:28px;margin-top:4px}
.commercial-onboarding-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:20px}
.commercial-onboarding-modules{display:grid;gap:10px}.commercial-onboarding-module{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #e2e8f0;border-radius:14px;padding:14px 16px}.commercial-onboarding-module>div{display:flex;align-items:center;gap:10px}.onboarding-ok,.onboarding-pending{font-size:11px;font-weight:800;border-radius:999px;padding:5px 8px}.onboarding-ok{background:#dcfce7;color:#166534}.onboarding-pending{background:#fef3c7;color:#92400e}
.commercial-onboarding-checklist{display:grid;gap:10px;margin:20px 0}.commercial-onboarding-checklist>div{display:flex;align-items:center;justify-content:space-between}.commercial-onboarding-error{color:#b91c1c;font-weight:700;padding:0 28px}.commercial-onboarding-error:empty{display:none}
@media(max-width:700px){.commercial-onboarding-overlay{padding:0}.commercial-onboarding-card{width:100vw;height:100dvh;max-height:none;border-radius:0}.commercial-onboarding-head{padding:20px}.commercial-onboarding-progress{margin:0 20px}.commercial-onboarding-body{padding:20px}.commercial-onboarding-grid{grid-template-columns:1fr}.commercial-onboarding-summary{grid-template-columns:1fr 1fr}.commercial-onboarding-module{align-items:flex-start;flex-direction:column}.commercial-onboarding-module .btn{width:100%}.commercial-onboarding-actions{flex-direction:column}.commercial-onboarding-actions .btn{width:100%}}

/* V18_0_028 — Onboarding especializado dos módulos */
.module-onboarding-tabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.module-onboarding-tab{border:1px solid #cbd5e1;background:#fff;border-radius:12px;padding:10px 13px;font-weight:800;display:flex;align-items:center;gap:8px;cursor:pointer}
.module-onboarding-tab.active{border-color:#2457d6;box-shadow:0 0 0 2px rgba(36,87,214,.12)}
.module-onboarding-tab b{font-size:11px;border-radius:999px;padding:4px 7px}.module-onboarding-tab b.ok{background:#dcfce7;color:#166534}.module-onboarding-tab b.pending{background:#fef3c7;color:#92400e}
.module-onboarding-panel{background:#fff;border:1px solid #e2e8f0;border-radius:18px;padding:22px;min-height:260px}
.module-onboarding-loading{padding:28px;text-align:center;color:#64748b;font-weight:700}
.module-onboarding-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.module-onboarding-hero>div:first-child{display:flex;gap:14px;align-items:flex-start}.module-onboarding-icon{font-size:30px;line-height:1}.module-onboarding-hero small{font-weight:900;color:#2457d6;letter-spacing:.06em}.module-onboarding-hero h3{margin:3px 0 5px;font-size:25px}.module-onboarding-hero p{margin:0;color:#64748b;max-width:720px}
.module-onboarding-score{min-width:110px;text-align:center;border-radius:14px;padding:12px 16px}.module-onboarding-score strong{display:block;font-size:28px}.module-onboarding-score span{font-size:11px;font-weight:900}.module-onboarding-score.ready{background:#dcfce7;color:#166534}.module-onboarding-score.pending{background:#fef3c7;color:#92400e}
.module-onboarding-progress{height:8px;background:#e5e7eb;border-radius:999px;overflow:hidden;margin:18px 0 20px}.module-onboarding-progress i{display:block;height:100%;background:#2457d6;transition:width .25s ease}
.module-onboarding-checks{display:grid;grid-template-columns:1fr 1fr;gap:11px}.module-onboarding-check{display:flex;gap:11px;align-items:flex-start;border:1px solid #e2e8f0;border-radius:13px;padding:14px}.module-onboarding-check-icon{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-weight:900;flex:0 0 auto}.module-onboarding-check.ok .module-onboarding-check-icon{background:#dcfce7;color:#166534}.module-onboarding-check.pending .module-onboarding-check-icon{background:#fef3c7;color:#92400e}.module-onboarding-check strong{display:block}.module-onboarding-check small{display:block;color:#64748b;margin-top:3px;line-height:1.35}
.module-onboarding-last-test{margin-top:16px;border-radius:12px;padding:13px 15px;background:#f8fafc;border:1px solid #e2e8f0;display:flex;flex-direction:column;gap:3px}.module-onboarding-last-test.ok{background:#f0fdf4;border-color:#bbf7d0}.module-onboarding-last-test.error{background:#fef2f2;border-color:#fecaca}.module-onboarding-last-test span{color:#475569}
.module-onboarding-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:18px}
@media(max-width:700px){.module-onboarding-panel{padding:16px;border-radius:14px}.module-onboarding-hero{flex-direction:column}.module-onboarding-score{width:100%}.module-onboarding-checks{grid-template-columns:1fr}.module-onboarding-actions{flex-direction:column}.module-onboarding-actions .btn{width:100%}.module-onboarding-tabs{display:grid;grid-template-columns:1fr}.module-onboarding-tab{width:100%;justify-content:space-between}}

/* V18_0_029 - OpenAI isolada por tenant */
.ai-tenant-config{padding:16px;margin-bottom:16px}.ai-tenant-config-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}.ai-tenant-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ai-tenant-config-grid label{display:grid;gap:6px}.ai-tenant-config-grid small{font-size:12px}.ai-tenant-config-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}.ai-tenant-security-note{margin-top:12px;padding:12px;border:1px solid #b8d4ff;border-radius:10px;background:#eef5ff;color:#173a72}.inline-check{display:flex!important;align-items:center;gap:8px}.inline-check input{width:auto!important}@media(max-width:760px){.ai-tenant-config-head{align-items:flex-start;flex-direction:column}.ai-tenant-config-grid{grid-template-columns:1fr}.ai-tenant-config-actions>*{width:100%}}


/* V18.0.035 — Central operacional iFood */
.ifood-ops-header{align-items:flex-start;gap:16px}.ifood-ops-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 14px}.ifood-ops-summary article{background:#fff;border:1px solid #e5e7eb;border-radius:14px;padding:15px 17px;box-shadow:0 2px 8px rgba(15,23,42,.04)}.ifood-ops-summary span{display:block;color:#64748b;font-size:13px;margin-bottom:3px}.ifood-ops-summary strong{font-size:27px;line-height:1}.ifood-ops-tabs{display:flex;gap:8px;overflow-x:auto;padding:4px 0 12px;scrollbar-width:thin}.ifood-ops-tabs button{border:1px solid #d8dee8;background:#fff;border-radius:999px;padding:10px 15px;font-weight:800;white-space:nowrap;cursor:pointer}.ifood-ops-tabs button.active{background:#111827;color:#fff;border-color:#111827}.ifood-ops-tabs b{display:inline-flex;min-width:21px;height:21px;padding:0 6px;align-items:center;justify-content:center;border-radius:999px;background:#fbbf24;color:#111827;margin-left:5px}.ifood-ops-list{display:grid;gap:14px}.ifood-order-card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 4px 16px rgba(15,23,42,.06);overflow:hidden}.ifood-order-card.urgent{border:2px solid #dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.07)}.ifood-order-card.warning{border-color:#f59e0b}.ifood-order-card.problem{border-color:#dc2626}.ifood-order-card-head{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(160px,.7fr) auto;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid #eef2f7}.ifood-order-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ifood-order-title h3{margin:0;font-size:22px}.ifood-order-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;background:#eef2ff;color:#3730a3}.ifood-order-status.pending{background:#fef3c7;color:#92400e}.ifood-order-status.ready{background:#dcfce7;color:#166534}.ifood-order-status.cancel{background:#fee2e2;color:#991b1b}.ifood-order-timer{text-align:right}.ifood-order-timer small{display:block;color:#64748b}.ifood-order-timer strong{font-size:24px}.ifood-order-body{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:18px;padding:17px 18px}.ifood-order-items{display:grid;gap:8px}.ifood-order-item{border-bottom:1px dashed #d8dee8;padding-bottom:7px}.ifood-order-item:last-child{border-bottom:0}.ifood-order-item b{font-size:15px}.ifood-order-item small{display:block;color:#64748b;margin-top:2px}.ifood-order-meta{background:#f8fafc;border-radius:14px;padding:13px;display:grid;gap:8px;align-content:start}.ifood-order-meta div{display:flex;justify-content:space-between;gap:12px;font-size:13px}.ifood-order-meta span{color:#64748b}.ifood-order-meta strong{text-align:right}.ifood-order-note{margin-top:10px;background:#fff7ed;border-left:4px solid #f59e0b;padding:10px 12px;border-radius:8px}.ifood-order-error{margin-top:10px;background:#fef2f2;color:#991b1b;padding:10px 12px;border-radius:9px;font-weight:700}.ifood-order-actions{display:flex;gap:9px;flex-wrap:wrap;padding:0 18px 17px}.ifood-order-actions button{min-height:43px;font-weight:900}.ifood-order-actions .primary-action{background:#fbbf24;color:#111827;border:0;border-radius:9px;padding:0 18px}.ifood-order-actions .danger-action{background:#b91c1c;color:#fff;border:0;border-radius:9px;padding:0 18px}.ifood-order-actions .secondary-action{background:#eef2f7;color:#111827;border:0;border-radius:9px;padding:0 16px}.ifood-order-empty{text-align:center;padding:38px 16px}.ifood-order-highlight{animation:ifoodOrderHighlight 2.2s ease}@keyframes ifoodOrderHighlight{0%,40%{box-shadow:0 0 0 5px rgba(251,191,36,.45)}100%{box-shadow:0 4px 16px rgba(15,23,42,.06)}}
@media(max-width:900px){.ifood-ops-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.ifood-order-card-head{grid-template-columns:1fr auto}.ifood-order-card-head>div:nth-child(2){grid-column:1/-1}.ifood-order-body{grid-template-columns:1fr}.ifood-order-timer strong{font-size:20px}}
@media(max-width:600px){.ifood-ops-summary{grid-template-columns:1fr 1fr;gap:8px}.ifood-ops-summary article{padding:12px}.ifood-ops-summary strong{font-size:22px}.ifood-order-card-head{display:flex;align-items:flex-start;flex-wrap:wrap;padding:14px}.ifood-order-card-head>div:first-child{width:100%}.ifood-order-title h3{font-size:19px}.ifood-order-timer{margin-left:auto}.ifood-order-body{padding:14px;gap:12px}.ifood-order-actions{padding:0 14px 14px;display:grid;grid-template-columns:1fr}.ifood-order-actions button{width:100%}.ifood-ops-header .form-actions{width:100%}.ifood-ops-header .form-actions button{flex:1}.ifood-ops-tabs{margin-right:-10px}.ifood-order-meta div{font-size:12px}.ifood-order-meta strong{max-width:58%;overflow-wrap:anywhere}}


/* V18.0.041 — Acesso direto + recebimento automático iFood */
.nav-ifood-direct{position:relative}.nav-ifood-direct::before{content:'●';font-size:8px;margin-right:6px;color:#ef4444;vertical-align:middle}
.ifood-receive-monitor{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #dbe3ee;border-radius:12px;background:#fff}
.ifood-receive-main{display:flex;align-items:center;gap:10px;min-width:0}.ifood-receive-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.ifood-receive-badge.online{background:#dcfce7;color:#166534}.ifood-receive-badge.warning{background:#fef3c7;color:#92400e}.ifood-receive-badge.offline{background:#fee2e2;color:#991b1b}.ifood-receive-badge.checking{background:#e2e8f0;color:#334155}
.ifood-receive-detail{font-size:12px;color:#64748b;text-align:right}@media(max-width:760px){.ifood-receive-monitor{align-items:flex-start;flex-direction:column}.ifood-receive-detail{text-align:left}.nav-ifood-direct{font-weight:800}}

/* V18_0_041 — cópia assistida de parametrização fiscal */
.fiscal-copy-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.fiscal-copy-toolbar .status-chip{margin-left:auto}.fiscal-copy-results{display:grid;gap:8px;max-height:52vh;overflow:auto;margin-top:12px}.fiscal-copy-product{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;border:1px solid #e5e7eb;background:#fff;border-radius:12px;padding:12px 14px;cursor:pointer}.fiscal-copy-product:hover{border-color:#f2b900;background:#fffdf3}.fiscal-copy-product span:first-child{display:grid;gap:4px}.fiscal-copy-product small{color:#64748b;font-weight:500}.fiscal-copy-product span:last-child{font-weight:800;color:#111827}@media(max-width:700px){.fiscal-copy-toolbar{align-items:stretch}.fiscal-copy-toolbar>button{width:100%}.fiscal-copy-toolbar .status-chip{margin-left:0}.fiscal-copy-product{align-items:flex-start}.fiscal-copy-product span:last-child{white-space:nowrap}}

/* V18_0_041 — alteração dinâmica em massa + versão visível */
.system-brand-wrap{display:flex;align-items:center;gap:8px;white-space:nowrap}.erp-version-badge{font-size:10px;font-weight:800;background:#252525;color:#fbbf24;border:1px solid #4b4b4b;padding:3px 6px;border-radius:999px}.product-bulk-modal-card{max-width:1180px;max-height:92vh;overflow:auto}.product-bulk-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:10px;margin:12px 0}.bulk-field{display:flex;flex-direction:column;gap:6px;border:1px solid #e5e7eb;border-radius:10px;padding:10px;background:#fafafa}.bulk-field>span{font-weight:700;font-size:12px}.bulk-field input,.bulk-field select,.bulk-field textarea{width:100%}.bulk-wide{grid-column:span 2}.product-bulk-reference,.product-bulk-suppliers{margin-top:12px;padding:12px}.product-bulk-reference-row{display:grid;grid-template-columns:1.2fr 1.2fr auto;gap:8px}.bulk-supplier-choices{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.bulk-supplier-choice{border:1px solid #ddd;border-radius:999px;padding:6px 9px;background:#fff}.product-bulk-preview{margin-top:12px;border:1px solid #dbeafe;background:#eff6ff;padding:12px;border-radius:10px;max-height:260px;overflow:auto}.product-bulk-preview table{width:100%;border-collapse:collapse}.product-bulk-preview th,.product-bulk-preview td{padding:6px;border-bottom:1px solid #dbeafe;text-align:left;font-size:12px}@media(max-width:900px){.product-bulk-grid{grid-template-columns:1fr 1fr}.product-bulk-reference-row{grid-template-columns:1fr}.bulk-wide{grid-column:span 2}}@media(max-width:560px){.product-bulk-grid{grid-template-columns:1fr}.bulk-wide{grid-column:auto}.erp-version-badge{font-size:9px}}

/* V18_0_042 — Assistente Fiscal IA em massa */
.product-bulk-ai{border:1px solid #c7d2fe;background:#f8faff}.ai-fiscal-badge{font-size:11px;font-weight:800;background:#e0e7ff;color:#3730a3;padding:5px 8px;border-radius:999px}.product-bulk-ai-actions,.product-bulk-ai-options,.product-fiscal-ai-fields{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.product-bulk-ai-options{margin-top:10px}.product-bulk-ai-options label,.product-fiscal-ai-fields label{font-size:12px}.product-bulk-ai-progress{margin-top:12px}.product-bulk-ai-progress small{display:block;margin-top:4px}.product-bulk-ai-results{margin-top:12px;max-height:440px;overflow:auto;border:1px solid #e5e7eb;border-radius:12px;background:#fff}.product-fiscal-ai-row{padding:12px;border-bottom:1px solid #eef2f7}.product-fiscal-ai-row:last-child{border-bottom:0}.product-fiscal-ai-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.product-fiscal-ai-title{font-weight:800}.product-fiscal-ai-tags{display:flex;gap:6px;flex-wrap:wrap}.ai-confidence{font-size:10px;font-weight:800;border-radius:999px;padding:4px 7px}.ai-confidence.ALTA{background:#dcfce7;color:#166534}.ai-confidence.MEDIA{background:#fef3c7;color:#92400e}.ai-confidence.REVISAO{background:#fee2e2;color:#991b1b}.product-fiscal-ai-diff{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:7px;margin-top:9px}.product-fiscal-ai-diff div{font-size:11px;padding:7px;border-radius:8px;background:#f8fafc}.product-fiscal-ai-diff b{display:block}.product-fiscal-ai-just{font-size:12px;margin-top:8px}.product-fiscal-ai-sources{margin-top:6px;font-size:11px}.product-fiscal-ai-sources a{margin-right:8px}.product-bulk-ai-apply{margin-top:12px;padding-top:12px;border-top:1px solid #dbeafe}.product-bulk-ai-apply .btn{margin-top:10px}@media(max-width:720px){.product-fiscal-ai-head{display:block}.product-bulk-ai-actions .btn,.product-bulk-ai-actions .secondary{width:100%}}


/* V18_0_047 — modal isolado, centralizado e responsivo da alteração dinâmica */
body.product-bulk-modal-open{overflow:hidden}
#productBulkModal.product-bulk-overlay{position:fixed;inset:0;width:auto;max-height:none;overflow:hidden;margin:0;padding:18px;background:rgba(15,23,42,.72);border-radius:0;box-shadow:none;display:flex;align-items:center;justify-content:center;z-index:5000;backdrop-filter:blur(2px)}
#productBulkModal.product-bulk-overlay.hidden{display:none!important}
#productBulkModal .product-bulk-modal-card{width:min(1380px,calc(100vw - 36px));height:min(900px,calc(100vh - 36px));max-width:none;max-height:none;margin:0;padding:0;background:#fff;border-radius:20px;box-shadow:0 28px 80px rgba(0,0,0,.36);overflow:hidden;display:flex;flex-direction:column;position:relative}
#productBulkModal .product-bulk-modal-header{flex:0 0 auto;display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 22px 15px;border-bottom:1px solid #e5e7eb;background:#fff;z-index:3}
#productBulkModal .product-bulk-modal-header h2{margin:0 0 4px;font-size:24px;line-height:1.15;color:#111827}
#productBulkModal .product-bulk-modal-header p{margin:0}
.product-bulk-header-actions{display:flex;align-items:center;gap:10px}.product-bulk-esc{font-size:11px;color:#64748b;white-space:nowrap}.product-bulk-close{width:38px;height:38px;border:0;border-radius:10px;background:#f1f5f9;color:#0f172a;font-size:27px;line-height:1;cursor:pointer}.product-bulk-close:hover{background:#e2e8f0}
#productBulkModal .product-bulk-modal-body{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain;padding:18px 22px 24px;background:#f8fafc;scrollbar-gutter:stable}
.product-bulk-section-title{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}.product-bulk-section-title strong{font-size:15px;color:#111827}.product-bulk-section-title span{font-size:12px;color:#64748b}
#productBulkModal .product-bulk-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin:0 0 14px}
#productBulkModal .bulk-field{min-width:0;background:#fff;border:1px solid #e2e8f0;box-shadow:0 1px 2px rgba(15,23,42,.03);transition:border-color .15s,box-shadow .15s,background .15s}
#productBulkModal .bulk-field.enabled{border-color:#eab308;background:#fffdf2;box-shadow:0 0 0 2px rgba(234,179,8,.10)}
#productBulkModal .bulk-field>span{display:flex;align-items:center;gap:6px;min-height:20px}
#productBulkModal .bulk-field input[type=checkbox]{width:16px;height:16px;flex:0 0 auto}
#productBulkModal .bulk-field input:not([type=checkbox]),#productBulkModal .bulk-field select,#productBulkModal .bulk-field textarea{min-height:40px;border-radius:8px}
#productBulkModal .product-bulk-reference,#productBulkModal .product-bulk-ai,#productBulkModal .product-bulk-suppliers{background:#fff;border-radius:14px;box-shadow:0 1px 3px rgba(15,23,42,.05)}
#productBulkModal .product-bulk-modal-footer{flex:0 0 auto;margin:0;padding:13px 22px;border-top:1px solid #e5e7eb;background:#fff;box-shadow:0 -8px 22px rgba(15,23,42,.04);display:flex;justify-content:flex-end;gap:9px;z-index:3}
#productBulkModal .product-bulk-modal-footer button{min-height:42px}
#productBulkModal .product-bulk-preview{max-height:320px;background:#fff}
@media(max-width:1050px){#productBulkModal .product-bulk-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:820px){#productBulkModal.product-bulk-overlay{padding:10px}#productBulkModal .product-bulk-modal-card{width:calc(100vw - 20px);height:calc(100vh - 20px);border-radius:16px}#productBulkModal .product-bulk-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#productBulkModal .product-bulk-modal-header{padding:15px 16px 12px}#productBulkModal .product-bulk-modal-body{padding:14px 16px 20px}#productBulkModal .product-bulk-modal-footer{padding:11px 16px;flex-wrap:wrap}.product-bulk-esc{display:none}}
@media(max-width:560px){#productBulkModal.product-bulk-overlay{padding:0;align-items:stretch}#productBulkModal .product-bulk-modal-card{width:100vw;height:100dvh;max-height:100dvh;border-radius:0}#productBulkModal .product-bulk-modal-header h2{font-size:20px}#productBulkModal .product-bulk-modal-body{padding:12px}#productBulkModal .product-bulk-grid{grid-template-columns:1fr;gap:8px}#productBulkModal .bulk-wide{grid-column:auto}#productBulkModal .product-bulk-modal-footer{display:grid;grid-template-columns:1fr 1fr;padding:10px 12px}#productBulkModal .product-bulk-modal-footer button{width:100%;min-height:46px}#productBulkModal .product-bulk-modal-footer .btn{grid-column:1/-1;order:-1}.product-bulk-section-title{display:block}.product-bulk-section-title span{display:block;margin-top:2px}}

/* V18_0_047 — Central responsiva de pendências fiscais / emissão em lote */
.fiscal-avulsa-title-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.fiscal-pending-overlay{position:fixed;inset:0;z-index:10050;background:rgba(10,18,32,.72);backdrop-filter:blur(2px);display:flex;align-items:center;justify-content:center;padding:20px}
.fiscal-pending-overlay.hidden{display:none!important}
.fiscal-pending-modal{width:min(1180px,96vw);height:min(880px,92vh);background:#fff;border-radius:18px;box-shadow:0 26px 80px rgba(0,0,0,.35);display:grid;grid-template-rows:auto auto auto auto 1fr auto;overflow:hidden}
.fiscal-pending-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:20px 22px 14px;border-bottom:1px solid #e5e7eb}.fiscal-pending-header h3{margin:0 0 4px;font-size:24px}.fiscal-pending-close{min-width:44px;height:44px;border-radius:10px;font-size:20px}
.fiscal-pending-toolbar{display:grid;grid-template-columns:180px minmax(260px,1fr) 190px auto;gap:12px;padding:14px 22px;background:#f8fafc;border-bottom:1px solid #e5e7eb}.fiscal-pending-toolbar label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:13px}.fiscal-pending-toolbar input,.fiscal-pending-toolbar select{width:100%}
.fiscal-pending-summary{padding:11px 22px;font-size:14px;background:#fff8df;border-bottom:1px solid #f7df95}.fiscal-pending-selectbar{padding:10px 22px;border-bottom:1px solid #e5e7eb}.fiscal-pending-selectbar label{font-weight:700;display:flex;gap:9px;align-items:center}
.fiscal-pending-list{overflow:auto;padding:14px 18px 22px;background:#f6f7f9}.fiscal-pending-sale{background:#fff;border:1px solid #dfe4ea;border-radius:14px;margin-bottom:12px;overflow:hidden}.fiscal-pending-sale-head{padding:14px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:14px;border-bottom:1px solid #edf0f3}.fiscal-pending-sale-check{display:flex;gap:10px;align-items:flex-start}.fiscal-pending-sale-check>span{display:flex;flex-direction:column;gap:3px}.fiscal-pending-sale-check small{color:#667085}.fiscal-pending-date{font-size:12px;color:#667085;margin-top:5px;text-align:right}.fiscal-pending-chip{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800}.fiscal-pending-chip.ok{background:#dcfce7;color:#166534}.fiscal-pending-chip.warn{background:#fee2e2;color:#991b1b}
.fiscal-pending-items{padding:4px 16px}.fiscal-pending-item{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(320px,1fr);gap:10px 16px;padding:11px 0;border-bottom:1px dashed #e5e7eb;align-items:center}.fiscal-pending-item:last-child{border-bottom:0}.fiscal-pending-item label{display:flex;align-items:center;gap:9px}.fiscal-pending-item-numbers{display:flex;justify-content:flex-end;gap:14px;flex-wrap:wrap;font-size:13px}.fiscal-pending-item.blocked{opacity:.78}.fiscal-pending-blocker{grid-column:1/-1;padding:8px 10px;border-radius:8px;background:#fff1f2;color:#9f1239;font-size:12px}.fiscal-pending-sale-foot{display:flex;justify-content:flex-end;gap:18px;padding:10px 16px;background:#fafafa;font-size:13px}
.fiscal-pending-empty{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;min-height:220px;color:#667085;text-align:center}.fiscal-pending-progress{max-height:160px;overflow:auto;padding:10px 18px;border-top:1px solid #e5e7eb;background:#0f172a;color:#dbeafe;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.fiscal-batch-line{padding:6px 0;border-bottom:1px solid rgba(255,255,255,.08)}.fiscal-batch-line.ok{color:#86efac}.fiscal-batch-line.fail{color:#fca5a5}.fiscal-batch-line.running{color:#fde68a}
.fiscal-pending-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid #e5e7eb;background:#fff}.fiscal-pending-selected{font-size:15px}.fiscal-pending-footer .form-actions{margin:0}
@media(max-width:820px){.fiscal-pending-overlay{padding:0}.fiscal-pending-modal{width:100vw;height:100dvh;max-height:none;border-radius:0}.fiscal-pending-header{padding:14px 14px 10px}.fiscal-pending-header h3{font-size:20px}.fiscal-pending-toolbar{grid-template-columns:1fr 1fr;padding:10px 12px}.fiscal-pending-toolbar label:nth-child(2){grid-column:1/-1}.fiscal-pending-summary,.fiscal-pending-selectbar{padding-left:12px;padding-right:12px}.fiscal-pending-list{padding:10px}.fiscal-pending-sale-head{padding:12px}.fiscal-pending-item{grid-template-columns:1fr}.fiscal-pending-item-numbers{justify-content:flex-start}.fiscal-pending-sale-foot{justify-content:space-between}.fiscal-pending-footer{padding:10px 12px;flex-direction:column;align-items:stretch}.fiscal-pending-footer .form-actions{display:grid;grid-template-columns:1fr 1.4fr}.fiscal-pending-footer button{width:100%}.fiscal-avulsa-title-actions{width:100%}.fiscal-avulsa-title-actions .secondary{flex:1}}


/* V18_0_048 — auditoria de estoque por fornecedor com seleção automática do período */
.stock-audit-filter-grid{grid-template-columns:minmax(220px,.85fr) minmax(240px,1fr) minmax(240px,1fr)}
.stock-audit-context{margin:10px 0 14px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#f8fafc}
@media(max-width:900px){.stock-audit-filter-grid{grid-template-columns:1fr}}

/* V18_0_065 - Central de impressao / G10 Print Agent */
.print-token-box{margin-top:12px;padding:12px;border:1px solid #f0b429;background:#fff8e1;border-radius:10px;overflow-wrap:anywhere}.print-token-box code,#printTenantTokenBox code{user-select:all;overflow-wrap:anywhere}.print-destination-card{border:1px solid #dfe3e8;border-radius:12px;padding:14px;margin:12px 0;background:#fff}.print-destination-card strong small{font-weight:500;color:#667085;margin-left:8px}@media(max-width:760px){.print-destination-card .form-grid{grid-template-columns:1fr}}

/* V18_0_065 - Performance de garçons e conferência de pagamento da pré-venda */
.pre-sale-closing-box{margin-top:18px;padding:16px;border:2px solid #f2b600;border-radius:14px;background:#fffdf3}.pre-sale-closing-box h4{margin:0}.pre-sale-closing-payment-row{align-items:end}.waiter-performance-cards{grid-template-columns:repeat(5,minmax(0,1fr))}.waiter-performance-columns{align-items:start}@media(max-width:900px){.waiter-performance-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.waiter-performance-columns{grid-template-columns:1fr}.waiter-performance-filter{grid-template-columns:1fr}}

/* V18_0_065 - Performance de garçons: grade responsiva e leitura mobile */
.waiter-performance-card{overflow:hidden}
.wp-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:12px}
.wp-section-head h3{margin:0 0 4px;font-size:19px}
.wp-section-head p{margin:0}
.wp-count{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;padding:6px 10px;border-radius:999px;background:#f2f4f7;color:#475467;font-size:12px;font-weight:800}
.wp-grid{width:100%;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden;background:#fff}
.wp-head,.wp-row{display:grid;align-items:center;min-width:0}
.wp-head{background:#f8fafc;color:#475467;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.02em;border-bottom:1px solid #e4e7ec}
.wp-head>div,.wp-cell{min-width:0;padding:11px 12px}
.wp-row{border-bottom:1px solid #eef0f3}
.wp-row:last-child{border-bottom:0}
.wp-row:hover{background:#fffdf3}
.wp-ranking-row{grid-template-columns:86px minmax(150px,1.25fr) minmax(78px,.58fr) minmax(78px,.58fr) minmax(120px,.9fr) minmax(110px,.78fr) minmax(118px,.85fr)}
.wp-product-row{grid-template-columns:52px minmax(95px,.72fr) minmax(220px,1.65fr) minmax(70px,.55fr) minmax(70px,.55fr) minmax(105px,.75fr)}
.wp-overall-row{grid-template-columns:52px minmax(220px,1.75fr) minmax(78px,.58fr) minmax(78px,.58fr) minmax(115px,.8fr)}
.wp-head.wp-ranking-row>div:nth-child(n+3),.wp-head.wp-product-row>div:nth-child(n+4),.wp-head.wp-overall-row>div:nth-child(n+3),.wp-number,.wp-money{text-align:right}
.wp-name strong,.wp-product strong{font-size:14px}
.wp-product{line-height:1.3;overflow-wrap:anywhere}
.wp-number,.wp-money{font-variant-numeric:tabular-nums;white-space:nowrap}
.wp-money{font-weight:700}
.wp-rank-badge{display:inline-flex;min-width:40px;height:30px;padding:0 9px;border-radius:999px;align-items:center;justify-content:center;background:#111;color:#fff;font-weight:900}
.wp-ranking-row:nth-child(2) .wp-rank-badge{background:#f2b600;color:#111}
.wp-index{display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#f2f4f7;font-weight:800;color:#475467}
.wp-empty{padding:22px;text-align:center;color:#667085}
.waiter-performance-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(max-width:1100px){
  .waiter-performance-columns{grid-template-columns:1fr}
  .wp-ranking-row{grid-template-columns:76px minmax(130px,1.2fr) 72px 72px 110px 100px 110px}
}
@media(max-width:760px){
  #p-performance-garcons{padding-left:10px;padding-right:10px}
  #p-performance-garcons .admin-page-header{align-items:flex-start;gap:10px}
  #p-performance-garcons .admin-page-header h2{font-size:23px}
  #p-performance-garcons .admin-page-header .btn{min-height:42px}
  .waiter-performance-filter{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px}
  .waiter-performance-filter label{min-width:0!important;margin:0}
  .waiter-performance-filter label:nth-child(3){grid-column:1/-1}
  .waiter-performance-filter button{width:100%;min-height:46px}
  .waiter-performance-cards{grid-template-columns:1fr 1fr!important;gap:9px}
  .waiter-performance-cards .report-card{padding:12px;min-width:0}
  .waiter-performance-cards .report-card strong{font-size:18px;overflow-wrap:anywhere}
  .waiter-performance-cards .report-card:last-child{grid-column:1/-1}
  .waiter-performance-card{padding:12px}
  .wp-section-head{align-items:flex-start;margin-bottom:10px}
  .wp-section-head h3{font-size:18px}
  .wp-count{font-size:11px}
  .wp-grid{border:0;background:transparent;overflow:visible}
  .wp-head{display:none!important}
  .wp-row,.wp-ranking-row,.wp-product-row,.wp-overall-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 14px;margin-bottom:10px;padding:12px;border:1px solid #e4e7ec;border-radius:12px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04)}
  .wp-row:last-child{margin-bottom:0}
  .wp-cell{display:flex;flex-direction:column;gap:3px;padding:7px 0!important;border-bottom:1px solid #f0f2f5;text-align:left!important;white-space:normal}
  .wp-cell::before{content:attr(data-label);font-size:10px;line-height:1.1;font-weight:800;text-transform:uppercase;color:#667085;letter-spacing:.03em}
  .wp-ranking-row .wp-rank,.wp-ranking-row .wp-name,.wp-product-row .wp-product,.wp-overall-row .wp-product{grid-column:1/-1}
  .wp-ranking-row .wp-name,.wp-product-row .wp-product,.wp-overall-row .wp-product{font-size:16px}
  .wp-ranking-row .wp-rank{display:flex;flex-direction:row;align-items:center;justify-content:space-between;border-bottom:0;padding-bottom:3px!important}
  .wp-ranking-row .wp-rank::before{margin-right:auto}
  .wp-rank-badge{margin-left:8px}
  .wp-product-row .wp-rank{grid-column:auto}
  .wp-product-row .wp-name{grid-column:auto}
  .wp-money{font-size:15px;color:#101828}
  .wp-row .wp-cell:nth-last-child(-n+2){border-bottom:0}
}
@media(max-width:430px){
  .waiter-performance-filter{grid-template-columns:1fr!important}
  .waiter-performance-filter label:nth-child(3){grid-column:auto}
  .waiter-performance-cards{grid-template-columns:1fr!important}
  .waiter-performance-cards .report-card:last-child{grid-column:auto}
}


/* ================================================================
   V18_0_067 - Dashboard: taxa de servico recebida
   ================================================================ */
.service-charge-card{
    border-color:#f59e0b;
    background:#fffbeb;
}
.service-charge-card strong{color:#92400e}
.admin-home-service-card{margin-top:16px}
.admin-home-service-scroll{max-height:520px;overflow:auto}
.admin-home-service-value{color:#92400e}
.admin-home-service-table th:nth-child(1){min-width:82px}
.admin-home-service-table th:nth-child(2){min-width:145px}
.admin-home-service-table th:nth-child(3){min-width:90px}
.admin-home-service-table th:nth-child(4){min-width:150px}
.admin-home-service-table th:nth-child(5){min-width:130px}
.admin-home-service-table th:nth-child(n+6){min-width:100px}
@media (max-width:700px){
    .admin-home-service-scroll{max-height:none;overflow:visible}
    .admin-home-service-table,.admin-home-service-table tbody,.admin-home-service-table tr,.admin-home-service-table td{display:block;width:100%}
    .admin-home-service-table thead{display:none}
    .admin-home-service-table tr{border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;margin-bottom:10px;background:#fff}
    .admin-home-service-table td{display:grid;grid-template-columns:minmax(105px,42%) 1fr;gap:10px;padding:6px 0;border:0;text-align:right!important;min-width:0}
    .admin-home-service-table td::before{content:attr(data-label);font-weight:700;text-align:left;color:#4b5563}
    .admin-home-service-table td:first-child{font-size:16px;border-bottom:1px solid #eee;padding-bottom:9px;margin-bottom:3px}
}

/* V18_0_069 — Detalhamento financeiro iFood */
.ifood-order-item-priced{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start}
.ifood-item-price{text-align:right;white-space:nowrap;display:flex;flex-direction:column;gap:2px}
.ifood-item-price small{color:#64748b}
.ifood-financial-box{margin-top:14px;padding:14px;border:1px solid #dbe2ea;border-radius:14px;background:#f8fafc}
.ifood-financial-box h4{margin:0 0 10px;font-size:15px}
.ifood-financial-box>div{display:flex;justify-content:space-between;gap:12px;padding:5px 0}
.ifood-financial-box>div span{color:#526075}
.ifood-financial-box>div strong{text-align:right}
.ifood-financial-total{border-top:1px dashed #cbd5e1;border-bottom:1px dashed #cbd5e1;margin:4px 0;padding:9px 0!important}
.ifood-financial-warning{display:block;color:#9a6700;background:#fff7d6;border-radius:8px;padding:8px;margin:7px 0}
@media(max-width:700px){
  .ifood-order-item-priced{grid-template-columns:minmax(0,1fr) auto}
  .ifood-financial-box{padding:12px}
  .ifood-financial-box>div{align-items:flex-start}
  .ifood-order-card-head>div:nth-child(2){text-align:left}
}


/* V18_0_074 — Contas a receber: pesquisa, seleção e histórico responsivos */
.receivable-search-card{padding:16px}
.receivable-search-grid{display:grid;grid-template-columns:minmax(320px,1.6fr) minmax(190px,.65fr) minmax(220px,.75fr);gap:12px;align-items:end}
.receivable-search-grid label,.statement-actions label{font-weight:700;font-size:13px;display:flex;flex-direction:column;gap:6px}
.receivable-client-results{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;margin-top:12px;max-height:290px;overflow:auto}
.receivable-client-option{border:1px solid #dfe3e8;background:#fff;border-radius:12px;padding:12px;text-align:left;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer;transition:.15s}
.receivable-client-option:hover{border-color:#f2b600;box-shadow:0 2px 8px rgba(0,0,0,.06)}
.receivable-client-option.active{border:2px solid #111;background:#fff8d8;box-shadow:0 0 0 2px rgba(255,193,7,.25)}
.receivable-client-option span{display:flex;flex-direction:column;gap:4px;min-width:0}
.receivable-client-option strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.receivable-client-option small{color:#667085}
.receivable-client-option small em,.receivable-selected-client em{font-style:normal;font-size:10px;font-weight:800;background:#111;color:#fff;padding:2px 6px;border-radius:999px}
.receivable-client-option>b{white-space:nowrap;font-size:15px}
.receivable-selected-client{margin-top:12px;border-radius:12px;background:#111;color:#fff;padding:12px 14px;display:grid;grid-template-columns:minmax(240px,1.5fr) minmax(110px,.45fr) minmax(140px,.55fr) auto;gap:12px;align-items:center}
.receivable-selected-client.hidden{display:none!important}
.receivable-selected-client>div{display:flex;flex-direction:column;gap:3px}
.receivable-selected-client span{font-size:11px;color:#cbd5e1}
.receivable-selected-client strong{font-size:15px}
.receivable-selected-client em{width:max-content;background:#ffc400;color:#111;margin-top:3px}
.receivable-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.receivable-summary-grid>div{background:#f5f6f8;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:4px}
.receivable-summary-grid span{font-size:12px;color:#667085}
.receivable-summary-grid strong{font-size:18px}
.receivable-payment-card{margin-top:12px}
.receivable-list-card{padding:0;overflow:hidden}
.receivable-list-head{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #eceff2}
.receivable-list-head h3{margin:0}
.receivable-list-head p{margin:3px 0 0}
.receivable-check-all{font-weight:700;display:flex;align-items:center;gap:7px;white-space:nowrap}
.receivable-table tbody tr{transition:.12s}
.receivable-table tbody tr.selected{background:#fff3bd!important;box-shadow:inset 4px 0 0 #111}
.receivable-table .receivable-check{width:20px;height:20px;cursor:pointer}
.receivable-client-link{font-weight:800}
.receivable-employee-badge{display:inline-block;margin-left:7px;background:#111;color:#fff;border-radius:999px;font-size:9px;font-weight:800;padding:3px 6px}
.receivable-status{font-weight:800;font-size:11px;background:#eef1f4;padding:4px 7px;border-radius:999px}
.statement-head{display:flex;justify-content:space-between;gap:15px;align-items:flex-start}
.statement-actions{display:flex;gap:10px;align-items:flex-end}
.statement-actions select{min-width:220px}
.statement-section-title{display:flex;justify-content:space-between;align-items:end;gap:12px;margin:18px 0 8px;border-bottom:1px solid #e6e8eb;padding-bottom:8px}
.statement-section-title h3{margin:0}
.statement-section-title small{color:#667085}
.statement-list,.statement-payments{display:grid;gap:10px}
.statement-entry{border:1px solid #e1e5e9;border-radius:12px;padding:13px;background:#fff}
.statement-entry-head{display:grid;grid-template-columns:1.2fr 1fr .7fr .7fr auto;gap:10px;align-items:center}
.statement-entry-head>div,.statement-payment>div{display:flex;flex-direction:column;gap:2px}
.statement-entry-head span,.statement-payment span{font-size:11px;color:#667085}
.statement-entry p{margin:10px 0 7px;color:#556070}
.statement-entry ul{list-style:none;margin:0;padding:8px 0 0;border-top:1px dashed #d7dce1}
.statement-entry li{display:flex;justify-content:space-between;gap:10px;padding:4px 0}
.statement-status{font-size:10px;font-weight:900;border-radius:999px;background:#f0f2f4;padding:5px 8px;text-align:center}
.statement-status.quitado{background:#dcfce7;color:#166534}
.statement-status.aberto,.statement-status.parcial{background:#fef3c7;color:#92400e}
.statement-payment{display:grid;grid-template-columns:1.2fr 1fr .8fr 1fr;gap:10px;border:1px solid #e1e5e9;border-radius:12px;padding:12px;background:#f8fafc}

@media(max-width:900px){
  .receivable-search-grid{grid-template-columns:1fr 1fr}
  .receivable-search-main{grid-column:1/-1}
  .receivable-selected-client{grid-template-columns:1fr 1fr}
  .receivable-selected-client>button{width:100%}
  .receivable-summary-grid{grid-template-columns:1fr 1fr}
  .statement-entry-head{grid-template-columns:1fr 1fr}
  .statement-entry-head>.statement-status{justify-self:start}
  .statement-payment{grid-template-columns:1fr 1fr}
}
@media(max-width:650px){
  .receivable-search-grid{grid-template-columns:1fr}
  .receivable-search-main{grid-column:auto}
  .receivable-client-results{grid-template-columns:1fr;max-height:330px}
  .receivable-client-option{padding:11px}
  .receivable-selected-client{grid-template-columns:1fr}
  .receivable-summary-grid{grid-template-columns:1fr 1fr}
  .receivable-list-head{align-items:flex-start;flex-direction:column}
  .receivable-table thead{display:none}
  .receivable-table,.receivable-table tbody,.receivable-table tr,.receivable-table td{display:block;width:100%}
  .receivable-table tr{border:1px solid #e0e4e8;border-radius:12px;margin-bottom:10px;padding:8px 12px;background:#fff}
  .receivable-table tbody tr.selected{box-shadow:inset 5px 0 0 #111}
  .receivable-table td{border:0!important;padding:6px 0!important;display:grid!important;grid-template-columns:115px minmax(0,1fr);gap:8px;align-items:center}
  .receivable-table td::before{content:attr(data-label);font-size:11px;font-weight:800;color:#667085;text-transform:uppercase}
  .receivable-table td:first-child{grid-template-columns:115px auto}
  .receivable-employee-badge{margin-left:0;margin-top:4px;width:max-content}
  .statement-head{flex-direction:column}
  .statement-actions{width:100%;flex-direction:column;align-items:stretch}
  .statement-actions select,.statement-actions button{width:100%;min-width:0}
  .statement-section-title{align-items:flex-start;flex-direction:column}
  .statement-entry-head,.statement-payment{grid-template-columns:1fr}
  .statement-entry li{font-size:13px}
}


/* V18_0_078 — iFood: dados e impressão para entrega */
.ifood-delivery-print-button{border-color:#111!important;font-weight:900!important}
.ifood-delivery-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ifood-delivery-print-grid>.card{margin:0}
.ifood-delivery-print-data{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ifood-delivery-print-data>div{display:flex;flex-direction:column;gap:4px}
.ifood-delivery-print-data>div.full{grid-column:1/-1}
.ifood-delivery-print-data span{font-size:11px;text-transform:uppercase;color:#64748b;font-weight:800}
.ifood-delivery-print-data strong{font-size:15px}
.ifood-delivery-print-data small{color:#64748b}
.ifood-delivery-preview-items{display:grid;gap:6px}
.ifood-delivery-preview-items .delivery-item{padding:7px 0;border-bottom:1px dashed #cbd5e1}
.ifood-delivery-preview-items .sub{padding-left:12px;font-size:12px;color:#475569}
.ifood-delivery-preview-items .item-obs{font-size:12px;font-weight:700}
#ifoodDeliveryPrintNote{width:100%;margin-top:8px;resize:vertical}

@media(max-width:760px){
  .ifood-delivery-print-grid{grid-template-columns:1fr}
  .ifood-delivery-print-data{grid-template-columns:1fr}
  .ifood-delivery-print-data>div.full{grid-column:auto}
  #ifoodDeliveryPrintModal{padding:12px}
}
