* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: Arial, sans-serif;
    background: #f4f5f7;
    color: #222;
}

.layout {
    display: flex;
    min-height: 100vh;
}

/* MENU LATERAL */

.sidebar {
    width: 240px;
    background: #111318;
    color: white;
    padding: 30px 20px;
}

.logo {
    display: flex;
    align-items: center;
    flex-direction: column;
    margin-bottom: 45px;
    text-align: center;
}

.logo img {
    display: block;
    width: 150px;
    max-width: 100%;
    height: auto;
}

.logo span {
    display: block;
    font-size: 11px;
    letter-spacing: 4px;
    margin-top: 10px;
    padding-left: 4px;
    color: #aaa;
}

.sidebar nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.sidebar nav a {
    color: #aaa;
    text-decoration: none;
    padding: 13px 15px;
    border-radius: 8px;
    transition: 0.2s;
}

.sidebar nav a:hover,
.sidebar nav a.active {
    background: #272a31;
    color: white;
}

/* CONTEÚDO */

.content {
    flex: 1;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 35px;
}

.abas-usuario { margin-top: 12px; }
#tituloFormUsuario { overflow-wrap: anywhere; }
.informacoes-sobre { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 210px), 1fr)); gap: 14px; margin: 18px 0; }
.informacoes-sobre > div { min-width: 0; padding: 18px; background: #f7f8fa; border: 1px solid #e4e8ed; border-radius: 8px; }
.informacoes-sobre dt { color: #677181; font-size: 13px; margin-bottom: 8px; }
.informacoes-sobre dd { color: #20252c; font-size: 18px; font-weight: 600; margin: 0; overflow-wrap: anywhere; }
.tabela-clientes.tabela-permissoes { width: 100%; min-width: 540px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: 13px; }
.tabela-permissoes tr { --fundo-permissao: #fff; }
.tabela-permissoes tbody tr:nth-child(even) { --fundo-permissao: #f7f8fa; }
.tabela-permissoes tbody tr:hover { --fundo-permissao: #edf4ed; }
.tabela-clientes.tabela-permissoes th, .tabela-clientes.tabela-permissoes td { background: var(--fundo-permissao); color: #39424e; border-right: 1px solid #e4e8ed; border-bottom: 1px solid #e4e8ed; padding: 0 6px; text-align: center; vertical-align: middle; }
.tabela-clientes.tabela-permissoes th:last-child, .tabela-clientes.tabela-permissoes td:last-child { border-right: 0; }
.tabela-clientes.tabela-permissoes thead th { position: sticky; top: 0; z-index: 2; height: 44px; background: #f0f2f5; color: #555f6d; font-size: 12px; font-weight: 600; letter-spacing: 0; }
.tabela-clientes.tabela-permissoes tr > :first-child { position: sticky; left: 0; z-index: 1; width: 44%; padding: 10px 16px; text-align: left; white-space: normal; overflow-wrap: anywhere; }
.tabela-clientes.tabela-permissoes thead th:first-child { z-index: 3; }
.tabela-clientes.tabela-permissoes tbody th { font-size: 13px; font-weight: 500; letter-spacing: 0; }
.tabela-permissoes .controle-permissao { display: inline-flex; align-items: center; justify-content: center; width: 44px; min-height: 44px; cursor: pointer; border-radius: 6px; }
.tabela-permissoes .controle-permissao:focus-within { outline: 2px solid #618550; outline-offset: -3px; }
.tabela-permissoes input[type="checkbox"] { width: 18px; height: 18px; margin: 0; cursor: pointer; accent-color: #4b9136; }
.tabela-permissoes input[type="checkbox"]:disabled { cursor: not-allowed; }
.legenda-permissoes { display: flex; flex-wrap: wrap; gap: 8px 20px; color: #677181; font-size: 12px; margin: 12px 0 16px; }
.legenda-permissoes .permitido { color: #39752a; }
#painelPermissoesUsuario { min-width: 0; max-width: 100%; }
#painelPermissoesUsuario .tabela-clientes-wrapper { max-width: 100%; max-height: min(60vh, 520px); overflow: auto; margin-top: 14px; border-color: #dce2e8; border-radius: 8px; scrollbar-width: thin; }
@media (max-width: 650px) {
    .usuario-item { flex-wrap: wrap; }
    .usuario-item > div { min-width: 0; overflow-wrap: anywhere; }
}

body.modo-recepcao { width: 100%; min-height: 100dvh; overflow-x: hidden; background: #081116; }
body.modo-recepcao .layout { width: 100%; max-width: none; min-height: 100dvh; margin: 0; background: #081116; }
body.modo-recepcao .sidebar { display: none; }
body.modo-recepcao .content { flex: 1 1 100%; width: 100%; max-width: none; min-height: 100dvh; margin: 0; padding: 0; background: #081116; }
body.modo-recepcao .recepcao-pagina { width: 100%; min-height: 100dvh; margin: 0; border-radius: 0; }
body.modo-recepcao .rodape-sistema { background: #081116; color: #aebbc4; padding-right: 22px; padding-left: 22px; }

.rodape-sistema {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: auto;
    padding: 38px 4px 5px;
    color: #777;
    font-size: 11px;
}

.rodape-sistema div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.rodape-sistema strong {
    color: #30333a;
    font-size: 11px;
    letter-spacing: .4px;
}

.versao-sistema {
    white-space: nowrap;
}

@media (max-width: 650px) {
    .rodape-sistema,
    .rodape-sistema div {
        align-items: center;
        flex-direction: column;
        gap: 6px;
        text-align: center;
    }
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 35px;
}

header h1 {
    font-size: 28px;
}

header p {
    color: #777;
    margin-top: 5px;
}

.status {
    background: white;
    padding: 10px 16px;
    border-radius: 20px;
    font-size: 13px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

/* CARDS */

.cards {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    margin-bottom: 30px;
}

.card {
    background: white;
    padding: 24px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.card span {
    display: block;
    color: #777;
    font-size: 14px;
    margin-bottom: 12px;
}

.card strong {
    font-size: 24px;
}

/* PAINEL */

.panel {
    background: white;
    padding: 25px;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}

.panel h2 {
    font-size: 18px;
    margin-bottom: 25px;
}

.empty {
    padding: 40px;
    text-align: center;
    color: #999;
    border: 1px dashed #ddd;
    border-radius: 8px;
}

/* TELAS MENORES */

@media (max-width: 900px) {
    .cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* TELA CLIENTES */
.escondido {
    display: none !important;
}

.cabecalho-painel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 25px;
}

button {
    border: none;
    background: #111318;
    color: white;
    padding: 11px 18px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
}

button:hover {
    opacity: 0.9;
}

.formulario {
    background: #f7f7f8;
    padding: 25px;
    border-radius: 12px;
    margin-bottom: 25px;
}

.formulario h3 {
    margin-bottom: 20px;
}

.tela-login {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    background: #0e1014;
}

.login-card {
    width: min(100%, 420px);
    padding: 34px;
    border-radius: 16px;
    background: white;
    box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}

.logo-login {
    color: #111318;
    margin-bottom: 28px;
}

.login-card h1 {
    font-size: 25px;
    margin-bottom: 7px;
}

.login-card > p {
    color: #6d7178;
    margin-bottom: 24px;
}

.btn-login {
    width: 100%;
    padding: 13px;
    font-weight: bold;
}

.area-usuario {
    display: flex;
    align-items: center;
    gap: 8px;
}

.titulo-secao-formulario {
    margin: 24px 0 15px;
    padding-bottom: 9px;
    border-bottom: 1px solid #dedfe2;
    color: #34373d;
    font-size: 14px;
}

.formulario h3 + .titulo-secao-formulario {
    margin-top: 0;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.campo {
    display: flex;
    flex-direction: column;
    margin-bottom: 18px;
}

.campo label {
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 7px;
}

.campo input,
.campo textarea,
.campo select {
    width: 100%;
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 11px;
    font-size: 14px;
    font-family: Arial, sans-serif;
    background: white;
}

.campo textarea {
    resize: vertical;
    min-height: 80px;
}

.campo input:focus,
.campo textarea:focus,
.campo select:focus {
    outline: none;
    border-color: #333;
}

.acoes-formulario {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

/* AGENDA */

.agenda-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin-bottom: 22px;
}

.controle-periodo,
.controle-visao {
    display: flex;
    align-items: center;
    gap: 8px;
}

.controle-periodo input {
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 10px;
    background: white;
}

.controle-visao .ativo {
    box-shadow: 0 0 0 3px rgba(17, 19, 24, 0.14);
}

.formulario-agenda {
    margin-bottom: 22px;
}

.form-grid-agenda {
    grid-template-columns: repeat(5, 1fr);
}

.horarios-disponiveis {
    background: #f0f2f5;
    border-radius: 9px;
    padding: 14px;
    margin-bottom: 18px;
}

.horarios-disponiveis strong {
    display: block;
    margin-bottom: 10px;
    font-size: 13px;
}

.horario-chip {
    background: white;
    color: #222;
    border: 1px solid #d4d7dc;
    padding: 7px 10px;
    margin: 3px;
    font-size: 12px;
}

.horario-chip:hover {
    background: #111318;
    color: white;
}

.aviso-conflito {
    color: #b42318;
    font-size: 13px;
    font-weight: bold;
}

.agenda-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(290px, 1fr);
    gap: 20px;
    align-items: start;
}

.agendamento-card {
    display: grid;
    grid-template-columns: 75px minmax(180px, 1fr) 110px 110px;
    align-items: center;
    gap: 15px;
    padding: 15px 12px;
    border: 1px solid #e6e7ea;
    border-left: 5px solid #667085;
    border-radius: 9px;
    margin-bottom: 10px;
}

.agendamento-card.status-confirmado { border-left-color: #2563eb; }
.agendamento-card.status-concluido { border-left-color: #16803c; }
.agendamento-card.status-cancelado { border-left-color: #b42318; opacity: .72; }
.agendamento-card.status-faltou { border-left-color: #d97706; }

.agenda-dia-wrapper {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e1e4e8;
    border-radius: 9px;
}

.agenda-dia {
    display: grid;
    grid-template-columns: 70px repeat(var(--colunas), minmax(210px, 1fr));
    min-width: 720px;
    background: white;
}

.cabecalho-horarios,
.cabecalho-profissional {
    position: sticky;
    top: 0;
    z-index: 4;
    min-height: 66px;
    background: white;
    border-right: 1px solid #e2e5e9;
    border-bottom: 1px solid #d9dde2;
}

.cabecalho-profissional {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
}

.cabecalho-profissional div {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.cabecalho-profissional small {
    color: #73777e;
    font-size: 11px;
}

.avatar-profissional {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #111318;
    color: white;
    font-size: 11px;
    font-weight: bold;
}

.coluna-horarios {
    position: relative;
    border-right: 1px solid #dfe3e8;
    background: #fafbfc;
}

.coluna-horarios span {
    position: absolute;
    right: 9px;
    transform: translateY(-50%);
    color: #777d85;
    font-size: 10px;
}

.coluna-profissional {
    position: relative;
    border-right: 1px solid #dfe3e8;
    background-image:
        repeating-linear-gradient(
            to bottom,
            transparent 0,
            transparent 35px,
            #eef0f3 35px,
            #eef0f3 36px,
            transparent 36px,
            transparent 71px,
            #dfe3e8 71px,
            #dfe3e8 72px
        );
}

.bloco-atendimento {
    position: absolute;
    left: 4px;
    right: 4px;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    overflow: hidden;
    padding: 6px 8px;
    border-left: 4px solid #168c99;
    border-radius: 4px;
    background: #c9f0f3;
    color: #153e43;
    text-align: left;
}

.bloco-atendimento:hover {
    opacity: .88;
}

.bloco-atendimento strong {
    font-size: 10px;
}

.bloco-atendimento span {
    max-width: 100%;
    overflow: hidden;
    font-size: 12px;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bloco-atendimento small {
    max-width: 100%;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.bloco-atendimento.status-confirmado { border-left-color: #2563eb; background: #dce8ff; color: #173a70; }
.bloco-atendimento.status-concluido { border-left-color: #16803c; background: #d8f2df; color: #14532d; }
.bloco-atendimento.status-cancelado { border-left-color: #b42318; background: #f7d9d6; color: #7a1b13; opacity: .72; }
.bloco-atendimento.status-faltou { border-left-color: #d97706; background: #fae8c7; color: #713f12; }

.hora-agendamento,
.dados-agendamento,
.valor-agendamento,
.acoes-agendamento {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.hora-agendamento strong {
    font-size: 18px;
}

.hora-agendamento span,
.dados-agendamento span,
.dados-agendamento small,
.valor-agendamento span {
    color: #6b6f76;
    font-size: 12px;
}

.pagamento-pago { color: #16803c !important; font-weight: bold; }
.pagamento-pendente { color: #b54708 !important; font-weight: bold; }

.selo-status {
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    color: #555;
}

.form-tarefa {
    background: #f5f6f8;
    padding: 14px;
    border-radius: 9px;
    margin-bottom: 15px;
}

.form-tarefa input,
.form-tarefa textarea {
    width: 100%;
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 10px;
    margin-bottom: 9px;
    font-family: Arial, sans-serif;
}

.tarefa-item {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 10px;
    align-items: start;
    padding: 12px 0;
    border-bottom: 1px solid #eceef1;
}

.tarefa-item div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.tarefa-item span,
.tarefa-item small {
    color: #777;
    font-size: 12px;
}

.tarefa-concluida strong {
    text-decoration: line-through;
    color: #999;
}

.btn-icone-perigo {
    padding: 2px 8px;
    background: transparent;
    color: #b42318;
    font-size: 20px;
}

.empty-compacto {
    padding: 22px 12px;
}

.calendario-wrapper {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e1e4e8;
    border-radius: 8px;
    background: white;
}

.calendario-mes {
    display: grid;
    grid-template-columns: repeat(7, minmax(125px, 1fr));
    min-width: 900px;
}

.nome-dia-semana {
    background: white;
    color: #6b7280;
    padding: 12px 8px;
    border-right: 1px solid #e5e7eb;
    border-bottom: 1px solid #dfe3e8;
    font-size: 11px;
    font-weight: 600;
    text-align: center;
}

.dia-calendario {
    min-height: 132px;
    padding: 7px;
    border: 0;
    border-right: 1px solid #e2e4e8;
    border-bottom: 1px solid #e2e4e8;
    border-radius: 0;
    background: white;
    color: #222;
    text-align: left;
}

.dia-calendario:hover {
    background: #f8fafb;
    opacity: 1;
}

.dia-calendario.fora-do-mes {
    background: #f5f6f8;
    pointer-events: none;
}

.dia-calendario.fechado {
    background: #f4f4f5;
}

.dia-calendario.fechado .numero-dia {
    color: #999;
}

.feriado-calendario {
    display: block;
    overflow: hidden;
    padding: 4px 6px;
    border-left: 3px solid #b42318;
    border-radius: 2px;
    background: #f7d9d6;
    color: #7a1b13;
    font-size: 10px;
    font-weight: bold;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dia-fechado {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 45px 20px;
    border: 1px dashed #d4a6a1;
    border-radius: 9px;
    background: #fff6f5;
    color: #7a1b13;
}

.dia-fechado strong {
    font-size: 20px;
}

.dia-calendario.hoje {
    background: #f1fbfc;
    box-shadow: inset 0 0 0 2px #21a6b3;
}

.numero-dia {
    display: inline-flex;
    width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    margin-bottom: 7px;
    border-radius: 50%;
    font-weight: bold;
}

.hoje .numero-dia {
    background: #21a6b3;
    color: white;
}

.eventos-dia {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.evento-calendario,
.tarefas-calendario {
    display: block;
    overflow: hidden;
    padding: 4px 6px;
    border-left: 3px solid #168c99;
    border-radius: 2px;
    background: #69cfda;
    color: #083f45;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.financeiro-agenda{margin:18px 0}.resumo-agenda-dia{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;margin:16px 0}.resumo-agenda-dia>div{display:flex;padding:13px 14px;flex-direction:column;gap:4px;border:1px solid #e0e3e7;border-radius:10px;background:#f8f9fa}.resumo-agenda-dia span{color:#68717d;font-size:.78rem}.resumo-agenda-dia strong{font-size:1.08rem}.contas-vencidas-agenda{margin:14px 0;padding:14px;border:1px solid #efb0aa;border-radius:12px;background:#fff6f5}.contas-periodo-agenda{margin-top:14px}.titulo-contas-agenda{display:flex;margin:0 0 10px;align-items:center;justify-content:space-between;gap:12px}.titulo-contas-agenda>div{display:flex;flex-direction:column;gap:2px}.titulo-contas-agenda span{color:#737b85;font-size:.76rem}.conta-agenda{margin:7px 0;border:1px solid #dfe3e7;border-radius:9px;background:#fff;overflow:hidden}.conta-agenda.vencida{border-color:#dc7970}.conta-agenda summary{display:flex;padding:11px 13px;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.conta-agenda summary::-webkit-details-marker{display:none}.conta-agenda summary>span{display:flex;min-width:0;align-items:center;gap:10px}.conta-agenda summary>span>b{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:50%;background:#fff0c9;color:#8a5a00}.conta-agenda.status-pago summary>span>b{background:#dff4e5;color:#16733a}.conta-agenda summary span span{display:flex;min-width:0;flex-direction:column}.conta-agenda summary small{overflow:hidden;color:#6e7680;text-overflow:ellipsis;white-space:nowrap}.conta-agenda-detalhes{display:grid;padding:11px 13px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;border-top:1px solid #e5e7e9;background:#fafafa;font-size:.82rem}.conta-calendario{display:block;overflow:hidden;padding:4px 6px;border-left:3px solid #d9971f;border-radius:2px;background:#fff0c9;color:#674300;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.conta-calendario.status-pago{border-left-color:#24814a;background:#dff4e5;color:#175b34}@media(max-width:700px){.resumo-agenda-dia{grid-template-columns:repeat(2,minmax(0,1fr))}.conta-agenda summary{align-items:flex-start}.conta-agenda summary>strong{white-space:nowrap}}

.evento-calendario.status-confirmado { border-left-color: #1769aa; background: #90caf9; color: #123d5c; }
.evento-calendario.status-concluido { border-left-color: #16803c; background: #a7e3b9; color: #14532d; }
.evento-calendario.status-cancelado { border-left-color: #b42318; background: #f4b7b2; color: #7a1b13; opacity: .72; }
.evento-calendario.status-faltou { border-left-color: #d97706; background: #f6d49b; color: #713f12; }

.tarefas-calendario {
    border-left-color: #6d4c9b;
    background: #d8c8f1;
    color: #41266a;
}

#agenda.modo-mes .agenda-grid {
    grid-template-columns: 1fr;
}

#agenda.modo-mes .painel-tarefas {
    display: none;
}

#agenda.modo-mes .agenda-grid > .panel:first-child {
    padding: 18px;
}

.eventos-dia small {
    color: #666;
    font-size: 10px;
}

@media (max-width: 1200px) {
    .form-grid-agenda {
        grid-template-columns: repeat(2, 1fr);
    }

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

@media (max-width: 800px) {
    .agenda-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .controle-periodo,
    .controle-visao {
        flex-wrap: wrap;
    }

    .form-grid-agenda {
        grid-template-columns: 1fr;
    }

    .agendamento-card {
        grid-template-columns: 65px 1fr;
    }
}

.campo input[readonly] {
    background: #eceef1;
    color: #555;
    font-weight: bold;
}

.codigo-cliente {
    display: block;
    color: #777;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 0.08em;
    margin-bottom: 5px;
}

.tabela-clientes-wrapper {
    width: 100%;
    overflow-x: auto;
    border: 1px solid #e3e5e8;
    border-radius: 10px;
}

.barra-busca-clientes {
    margin-bottom: 16px;
}

.barra-busca-clientes label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    font-weight: bold;
}

.barra-busca-clientes input {
    width: min(100%, 520px);
    border: 1px solid #d5d5d5;
    border-radius: 9px;
    padding: 12px 14px;
    font-size: 14px;
    background: white;
}

.barra-busca-clientes input:focus {
    outline: none;
    border-color: #333;
    box-shadow: 0 0 0 3px rgba(17, 19, 24, 0.08);
}

.resultado-busca {
    min-height: 18px;
    margin: -7px 0 10px;
    color: #777;
    font-size: 13px;
}

.tabela-clientes {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
    font-size: 13px;
}

.tabela-clientes th {
    background: #111318;
    color: white;
    padding: 13px 14px;
    text-align: left;
    font-size: 12px;
    letter-spacing: 0.03em;
    white-space: nowrap;
}

.tabela-clientes td {
    padding: 13px 14px;
    border-bottom: 1px solid #eceef1;
    color: #4a4d53;
    white-space: nowrap;
    vertical-align: middle;
}

.tabela-clientes tbody tr:nth-child(even) {
    background: #f8f9fa;
}

.tabela-clientes tbody tr:hover {
    background: #f0f2f5;
}

.tabela-clientes tbody tr:last-child td {
    border-bottom: none;
}

.tabela-clientes td strong {
    color: #17191d;
}

.numero-cliente {
    display: inline-block;
    background: #eceef1;
    color: #272a31;
    border-radius: 6px;
    padding: 5px 8px;
    font-family: Consolas, monospace;
    font-weight: bold;
    letter-spacing: 0.04em;
}

.coluna-acoes {
    position: sticky;
    right: 0;
    background: inherit;
    text-align: center !important;
}

.tabela-clientes th.coluna-acoes {
    background: #111318;
}

.btn-ficha {
    padding: 8px 12px;
    font-size: 12px;
    white-space: nowrap;
}

@media (max-width: 800px) {
    .content {
        padding: 20px 14px;
        min-width: 0;
    }

    .panel {
        padding: 18px;
    }
}

.mensagem-formulario {
    color: #b42318;
    font-size: 13px;
    font-weight: bold;
    margin-right: auto;
}

.erro-campo {
    min-height: 14px;
    color: #b42318;
    margin-top: 5px;
}

.btn-secundario {
    background: #ddd;
    color: #222;
}

.btn-perigo {
    background: #b42318;
}

.texto-apoio {
    margin-top: -17px;
    color: #777;
    font-size: 13px;
}

.lista-servicos {
    display: grid;
    gap: 10px;
}

.servico-card {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) 130px auto;
    align-items: center;
    gap: 18px;
    padding: 15px 17px;
    border: 1px solid #e3e5e8;
    border-radius: 9px;
}

.servico-card > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.servico-card span {
    color: #777;
    font-size: 12px;
}

.preco-servico {
    text-align: right;
}

.acoes-servico {
    display: flex;
    align-items: center;
    gap: 5px;
}

.lista-equipe {
    display: grid;
    gap: 10px;
}

.equipe-card {
    display: grid;
    grid-template-columns: auto minmax(170px, 1fr) 130px 100px auto;
    align-items: center;
    gap: 16px;
    padding: 15px 17px;
    border: 1px solid #e3e5e8;
    border-radius: 9px;
}

.dados-equipe,
.equipe-card > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.equipe-card span,
.equipe-card small {
    color: #777;
    font-size: 12px;
}

.financeiro-toolbar {
    display: flex;
    justify-content: space-between;
    align-items: end;
    margin-bottom: 18px;
}

.campo-mes {
    margin-bottom: 0;
}

.campo-mes input {
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 10px;
    background: white;
}

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

.card-receita { border-top: 4px solid #16803c; }
.card-despesa { border-top: 4px solid #b42318; }
.card-saldo { border-top: 4px solid #2563eb; }
.card-acumulado { border-top: 4px solid #7c3aed; }

.tabela-financeiro {
    min-width: 980px;
}

.tipo-receita,
.tipo-despesa {
    display: inline-block;
    border-radius: 12px;
    padding: 4px 8px;
    font-size: 11px;
    font-weight: bold;
}

.tipo-receita { background: #d8f2df; color: #14532d; }
.tipo-despesa { background: #f7d9d6; color: #7a1b13; }
.valor-receita strong { color: #16803c !important; }
.valor-despesa strong { color: #b42318 !important; }

.selo-automatico {
    display: inline-block;
    margin-left: 7px;
    padding: 3px 6px;
    border-radius: 9px;
    background: #e8eefb;
    color: #30589b;
    font-size: 9px;
    font-weight: bold;
}

.texto-automatico {
    color: #777;
    font-size: 11px;
}

.painel-auditoria {
    margin-top: 22px;
}

.lista-usuarios {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.usuario-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 230px;
    padding: 12px;
    border: 1px solid #e1e4e8;
    border-radius: 9px;
}

.usuario-item > div {
    display: flex;
    flex: 1;
    min-width: 0;
    flex-direction: column;
    gap: 3px;
}
.btn-editar-usuario{margin-left:auto;padding:7px 10px;font-size:11px;white-space:nowrap}

.usuario-item span {
    color: #777;
    font-size: 11px;
}

.tabela-auditoria {
    min-width: 760px;
}

.filtros-historico {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr)) auto auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 18px;
}

.filtros-historico input,
.filtros-historico select {
    width: 100%;
}

.cards-historico {
    grid-template-columns: repeat(4, 1fr);
    margin-bottom: 22px;
}

.historico-cancelamentos {
    margin-top: 28px;
    padding-top: 24px;
    border-top: 1px solid #e1e4e8;
}

.historico-cancelamentos h3 {
    margin-bottom: 5px;
}

.historico-cancelamentos .texto-apoio {
    margin: 0 0 14px;
    line-height: 1.4;
}

.motivo-cancelamento {
    max-width: 360px;
    white-space: normal;
}

@media (max-width: 1050px) {
    .filtros-historico { grid-template-columns: repeat(2, 1fr); }
    .cards-historico { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 600px) {
    .filtros-historico, .cards-historico { grid-template-columns: 1fr; }
    .filtros-historico button { width: 100%; }
}

.painel-fechamento-socios {
    margin-bottom: 22px;
}

.fechamento-socio {
    margin-top: 18px;
    border: 1px solid #e1e4e8;
    border-radius: 10px;
    overflow: hidden;
}

.cabecalho-fechamento {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) repeat(3, minmax(120px, auto));
    gap: 15px;
    align-items: center;
    padding: 15px;
    background: #111318;
    color: white;
}

.cabecalho-fechamento > div {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.cabecalho-fechamento span,
.cabecalho-fechamento small {
    color: #bbc0c8;
    font-size: 11px;
}

.meta-socio-mes label {
    color: #bbc0c8;
    font-size: 10px;
}

.meta-socio-mes > div {
    display: flex;
    gap: 5px;
}

.meta-socio-mes input {
    width: 105px;
    border: 1px solid #4b5059;
    border-radius: 6px;
    padding: 7px;
    background: #fff;
    color: #111318;
}

.meta-socio-mes button {
    padding: 7px 9px;
    background: #fff;
    color: #111318;
    font-size: 11px;
}

.semanas-fechamento {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.semana-fechamento {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 13px;
    border-right: 1px solid #e1e4e8;
    font-size: 11px;
}

.semana-fechamento:last-child {
    border-right: 0;
}

.semana-fechamento > strong {
    font-size: 13px;
}

.semana-fechamento span {
    color: #666;
}

.semana-fechamento b {
    margin-top: 5px;
}

.semana-retencao {
    background: #fff8e8;
}

.semana-pagamento {
    background: #f0f9f3;
}

.servicos-finalizados-profissional {
    border-top: 1px solid #e1e4e8;
    background: #fff;
}

.servicos-finalizados-profissional > summary {
    padding: 14px 16px;
    cursor: pointer;
    font-weight: 700;
    overflow-wrap: anywhere;
}
/* Recuar apenas os títulos: mês +0, semana +8 e dia +16 px.
   Os details e a tabela mantêm integralmente sua largura/alinhamento. */
.servicos-finalizados-profissional .servicos-finalizados-profissional > summary { padding-left: 24px; }
.servicos-finalizados-profissional .servicos-finalizados-profissional .servicos-finalizados-profissional > summary { padding-left: 32px; }
@media (max-width: 600px) {
    .servicos-finalizados-profissional .servicos-finalizados-profissional > summary { padding-left: 22px; }
    .servicos-finalizados-profissional .servicos-finalizados-profissional .servicos-finalizados-profissional > summary { padding-left: 28px; }
}
.servicos-finalizados-profissional .metrica-producao { display: inline-block; max-width: 100%; }
.servicos-finalizados-profissional .limite-composicao-producao { display: block; margin-top: 5px; color: #765219; font-weight: 400; line-height: 1.4; }

.servicos-finalizados-dia {
    padding: 0 16px 16px;
}

.cabecalho-servicos-dia {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    color: #4f5661;
}

.tabela-servicos-finalizados {
    min-width: 620px;
}

@media (max-width: 800px) {
    .equipe-card {
        grid-template-columns: auto 1fr;
    }

    .cards-financeiro {
        grid-template-columns: 1fr;
    }

    .cabecalho-fechamento,
    .semanas-fechamento {
        grid-template-columns: 1fr;
    }

    .semana-fechamento {
        border-right: 0;
        border-bottom: 1px solid #e1e4e8;
    }
}

@media (max-width: 650px) {
    .servico-card {
        grid-template-columns: 1fr auto;
    }

    .preco-servico {
        text-align: left;
    }
}

/* VENDAS */
.venda-layout { display: grid; grid-template-columns: minmax(0, 1fr) 310px; gap: 20px; align-items: start; }
.form-grid-venda { grid-template-columns: repeat(2, 1fr); }
.pessoa-venda { margin-top: 18px; padding: 20px; }
.cabecalho-pessoa { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.cabecalho-pessoa > div { display: flex; align-items: center; gap: 10px; }
.cabecalho-pessoa span { color: #777; font-size: 12px; font-weight: bold; }
.cabecalho-pessoa input { min-width: 220px; border: 0; border-bottom: 1px solid #d5d5d5; padding: 7px 3px; font-size: 17px; font-weight: bold; }
.item-venda { display: grid; grid-template-columns: 68px minmax(170px, 1.4fr) minmax(140px, 1fr) 65px 95px 32px; align-items: center; gap: 8px; padding: 9px 0; border-bottom: 1px solid #eceef1; }
.item-venda select, .item-venda input { min-width: 0; width: 100%; border: 1px solid #d5d5d5; border-radius: 7px; padding: 9px; background: white; }
.item-venda strong { text-align: right; font-size: 13px; }
.item-venda .item-largo { grid-column: span 2; }
.tipo-item { padding: 5px 7px; border-radius: 12px; background: #e7efff; color: #2355a2; font-size: 10px; font-weight: bold; text-align: center; text-transform: uppercase; }
.tipo-item.produto { background: #e2f4e7; color: #176735; }
.botoes-itens { display: flex; gap: 7px; margin-top: 13px; }
.botoes-itens button, .btn-adicionar-pessoa { padding: 8px 11px; font-size: 12px; }
.btn-adicionar-pessoa { width: 100%; margin: 14px 0; border: 1px dashed #aaa; background: transparent; color: #333; }
.resumo-venda { position: sticky; top: 20px; }
.resumo-venda > div:not(.campo) { display: flex; justify-content: space-between; gap: 15px; padding: 11px 0; border-bottom: 1px solid #eceef1; }
.resumo-venda .campo-desconto { margin-top: 12px; }
.resumo-venda .total-venda { margin: 5px 0 18px; padding: 17px 0 !important; border-bottom: 2px solid #111318 !important; font-size: 20px; }
.resumo-venda small { margin-top: 5px; color: #888; font-size: 10px; }
.btn-finalizar-venda { width: 100%; padding: 14px; font-size: 15px; font-weight: bold; }
.btn-finalizar-venda:disabled { cursor: wait; opacity: .55; }
.pagamentos-venda { margin-bottom: 18px; }
.resumo-pagamento-venda { display: block !important; }
.resumo-pagamento-venda > div { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 10px; }
.resumo-pagamento-venda strong { max-width: 58%; text-align: right; }
.btn-abrir-pagamento, .btn-confirmar-pagamento { width: 100%; padding: 12px; font-weight: bold; }
.titulo-pagamentos { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 10px; }
.titulo-pagamentos label { font-size: 13px; font-weight: bold; }
.titulo-pagamentos button { flex: 0 0 auto; padding: 7px 10px; font-size: 11px; white-space: nowrap; }
.linha-pagamento { display: grid; grid-template-columns: minmax(145px, 1fr) minmax(90px, 105px); gap: 7px; align-items: center; margin-bottom: 10px; }
.linha-pagamento select, .linha-pagamento input { width: 100%; min-width: 0; border: 1px solid #d5d5d5; border-radius: 7px; padding: 9px; background: white; }
.linha-pagamento .maquina-pagamento { grid-column: 1 / -1; }
.linha-pagamento .remover-pagamento{grid-column:1/-1;justify-self:end;display:inline-flex;align-items:center;gap:5px;width:auto;min-height:32px;padding:6px 10px;border:1px solid #efc2c2;border-radius:999px;background:#fff5f5;color:#b42318;font-size:11px;font-weight:700}.linha-pagamento .remover-pagamento:hover{border-color:#d96b6b;background:#fde8e8}.linha-pagamento .remover-pagamento span{font-size:16px;line-height:1}
.conferencia-pagamento { display: flex; justify-content: space-between; margin-top: 9px; color: #555; font-size: 12px; }
.diferenca-pagamento { margin-top: 6px; color: #b42318; font-size: 11px; font-weight: bold; }
.diferenca-pagamento.pagamento-conferido { color: #16803c; }
.diferenca-pagamento.pagamento-troco{margin-top:10px;padding:10px 12px;border:1px solid #e2ad45;border-radius:8px;background:#fff7df;color:#8a5a00;font-size:14px}
.modal-repasse { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(17, 19, 24, .58); }
.modal-repasse-card { width: min(100%, 440px); padding: 26px; border-radius: 16px; background: #fff; box-shadow: 0 18px 55px rgba(0, 0, 0, .25); }
.modal-repasse-card h2 { margin: 0 0 10px; }
.modal-repasse-card p { margin: 0; color: #60646c; line-height: 1.5; }
.acoes-modal-repasse { display: flex; justify-content: flex-end; gap: 10px; margin-top: 24px; }
.modal-pagamento { z-index: 1100; }
.modal-pagamento-card { width: min(100%, 620px); max-height: calc(100vh - 40px); overflow-y: auto; }
.cabecalho-modal-pagamento { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 24px; }
.cabecalho-modal-pagamento h2 { margin-bottom: 5px; }
.responsavel-recebimento{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:-10px 0 20px;padding:11px 13px;border:1px solid #dfe3e8;border-radius:9px;background:#f5f6f8;color:#5d6670;font-size:13px}.responsavel-recebimento label{font-weight:700}.responsavel-recebimento select{min-width:210px;border:1px solid #cfd5dc;border-radius:7px;background:#fff;padding:9px;color:#111318}
@media(max-width:520px){.responsavel-recebimento{align-items:stretch;flex-direction:column}.responsavel-recebimento select{width:100%;min-width:0}}
.btn-fechar-modal { flex: 0 0 36px; width: 36px; height: 36px; padding: 0; border-radius: 50%; background: #eceef1; color: #25282d; font-size: 22px; }
.modal-pagamento .linha-pagamento { grid-template-columns: minmax(190px, 1fr) minmax(110px, 140px); }
.ajustes-finalizacao-venda { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
#campoBeneficiarioGorjeta { grid-column: 1 / -1; min-width: 0; }
#beneficiarioGorjeta { width: 100%; max-width: 100%; min-height: 44px; }
.btn-confirmar-pagamento { margin-top: 8px; }
@media (max-width: 520px) { .acoes-modal-repasse { flex-direction: column-reverse; } .acoes-modal-repasse button { width: 100%; } }
@media (max-width: 520px) { .ajustes-finalizacao-venda { grid-template-columns: 1fr; } }
.painel-taxas { margin-bottom: 22px; }
/* Padrão único das abas: Financeiro, Sistema e cadastro de Usuários. */
.abas-padrao { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 20px; max-width: 100%; padding-bottom: 3px; }
.aba-padrao { flex: 0 0 auto; max-width: 100%; min-height: 44px; padding: 11px 18px; border: 0; border-radius: 8px; background: #e7e8eb; color: #34373d; font-size: 14px; white-space: normal; overflow-wrap: anywhere; }
.aba-padrao:hover { background: #dcdfe4; }
.aba-padrao.ativa, .aba-padrao[aria-selected="true"] { background: #111318; color: white; }
.aba-padrao:focus-visible { outline: 2px solid #5b78a5; outline-offset: 2px; }
.form-grid-taxas { grid-template-columns: repeat(4, 1fr); }
.form-pagar-conta { grid-template-columns: repeat(2, 1fr); margin-top: 18px; }
.campo-nota-conta { margin-bottom: 18px; }
.campo-nota-conta select { width: 100%; }
.campo-nota-conta small { display: block; margin-top: 7px; color: #667085; line-height: 1.4; }
.status-vencido { color: #b42318; font-weight: bold; }
.status-pendente { color: #b26a00; font-weight: bold; }
.status-pago { color: #16803c; font-weight: bold; }
.itens-nota-fornecedor { margin: 22px 0; padding: 18px; border: 1px solid #dfe2e6; border-radius: 10px; background: #fafafa; }
.linha-item-nota { display: grid; grid-template-columns: minmax(180px,2fr) minmax(85px,.6fr) minmax(110px,.8fr) minmax(100px,.8fr) 34px; gap: 8px; align-items: center; margin-bottom: 8px; }
.linha-item-nota select,.linha-item-nota input { width: 100%; min-width: 0; padding: 9px; border: 1px solid #cfd3d8; border-radius: 7px; background: #fff; }
.total-itens-nota { display: flex; justify-content: flex-end; gap: 18px; padding-top: 10px; border-top: 1px solid #dfe2e6; }
@media (max-width: 700px) { .linha-item-nota { grid-template-columns: 1fr 1fr; } .linha-item-nota select { grid-column: 1 / -1; } }
.editor-taxas-detalhadas { margin-top: 24px; padding-top: 22px; border-top: 1px solid #dfe2e6; }
.titulo-editor-taxas h3 { margin: 0 0 5px; font-size: 17px; }
.titulo-editor-taxas p { margin: 0 0 15px; color: #666; font-size: 12px; }
.tabela-taxas-scroll { overflow-x: auto; }
.grade-taxas-detalhadas { display: grid; grid-template-columns: minmax(120px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr); min-width: 470px; overflow: hidden; border: 1px solid #dfe2e6; border-radius: 10px; }
.grade-taxas-detalhadas > div { padding: 10px 12px; border-bottom: 1px solid #e7e9ec; }
.grade-taxas-detalhadas > div:nth-last-child(-n+3) { border-bottom: 0; }
.cabecalho-taxa { background: #111318; color: #fff; font-size: 12px; font-weight: bold; }
.rotulo-taxa { display: flex; align-items: center; background: #f7f7f8; font-size: 12px; font-weight: bold; }
.celula-taxa input { width: 100%; min-width: 90px; padding: 8px; border: 1px solid #cfd3d8; border-radius: 7px; }
@media (max-width: 900px) { .form-grid-taxas { grid-template-columns: repeat(2, 1fr); } }

@media (max-width: 1100px) { .venda-layout { grid-template-columns: 1fr; } .resumo-venda { position: static; } }
@media (max-width: 800px) { .form-grid-venda { grid-template-columns: 1fr; } .item-venda { grid-template-columns: 1fr 1fr; } .item-venda .item-largo { grid-column: span 1; } .tipo-item { justify-self: start; } .cabecalho-pessoa > div { align-items: flex-start; flex-direction: column; } }

@media (max-width: 800px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
}

/* DASHBOARD, ESTOQUE E RELATÓRIOS */
.card-alerta { border-top: 4px solid #d97706; }
.card-conta-vencida { border-top: 4px solid #b42318; }
.card-conta-vencer { border-top: 4px solid #d97706; }
.card-conta-vencida small, .card-conta-vencer small { margin-top: 5px; color: #6b6f76; font-size: 11px; }
.grafico-barras { display: flex; height: 230px; align-items: end; gap: 14px; padding-top: 20px; }
.barra-dia { display: grid; flex: 1; height: 100%; grid-template-rows: 28px 1fr 22px; min-width: 45px; text-align: center; }
.barra-dia strong, .barra-dia small { overflow: hidden; color: #6b6f76; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.barra-dia > div { position: relative; align-self: stretch; border-radius: 6px 6px 0 0; background: #f0f2f5; }
.barra-dia span { position: absolute; right: 0; bottom: 0; left: 0; border-radius: 6px 6px 0 0; background: #111318; }
.form-grid-produto { grid-template-columns: repeat(4, 1fr); }
.form-grid-movimento { grid-template-columns: repeat(4, 1fr); }
.tabela-resumo { min-width: 760px; }
.tabela-resumo td:first-child strong, .tabela-resumo td:first-child small { display: block; }
.tabela-resumo td:first-child small { margin-top: 4px; color: #777; }
.estoque-baixo { display: inline-block; padding: 5px 8px; border-radius: 12px; background: #fde7c2; color: #92400e; font-weight: bold; }
.acoes-tabela { display: flex; gap: 6px; }
.acoes-tabela button { padding: 7px 10px; font-size: 11px; }
.filtros-relatorio { display: flex; align-items: end; gap: 8px; }
.filtros-relatorio label { display: flex; flex-direction: column; gap: 5px; color: #666; font-size: 11px; font-weight: bold; }
.filtros-relatorio input { border: 1px solid #d5d5d5; border-radius: 8px; padding: 9px; }
.cards-relatorio { grid-template-columns: repeat(4, 1fr); margin-bottom: 24px; }
.grade-relatorios { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
.grade-relatorios h3 { margin-bottom: 10px; font-size: 14px; }
.grade-relatorios .tabela-resumo { min-width: 420px; }

@media (max-width: 1050px) {
    .form-grid-produto, .form-grid-movimento, .cards-relatorio { grid-template-columns: repeat(2, 1fr); }
    .grade-relatorios { grid-template-columns: 1fr; }
    .cabecalho-relatorio { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 650px) {
    .form-grid-produto, .form-grid-movimento, .cards-relatorio { grid-template-columns: 1fr; }
    .filtros-relatorio { align-items: stretch; flex-direction: column; width: 100%; }
    .grafico-barras { gap: 5px; }
    .barra-dia strong { display: none; }
}
.importacao-nota{margin:0 0 18px;padding:18px;border:1px solid #d9dde3;border-radius:14px;background:#f7f8fa;display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.2fr);gap:14px 20px;align-items:end}.importacao-nota h3{margin:0 0 5px}.importacao-nota p{margin:0;color:#667085}.acoes-importacao-nota,.leitura-chave-nota{display:flex;gap:10px;align-items:center}.acoes-importacao-nota input,.leitura-chave-nota input{min-width:0;flex:1}.importacao-nota .mensagem-formulario{grid-column:1/-1;margin:0;color:#344054}
@media(max-width:720px){.importacao-nota{grid-template-columns:1fr}.acoes-importacao-nota,.leitura-chave-nota{align-items:stretch;flex-direction:column}.acoes-importacao-nota button,.leitura-chave-nota button{width:100%}}
.lista-comandas{display:grid;gap:12px}.comanda-card{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:18px;align-items:center;padding:16px;border:1px solid #e2e5e9;border-radius:13px;background:#fff}.comanda-card>div{display:flex;flex-direction:column;gap:4px}.comanda-card span{color:#667085}.status-comanda{width:max-content;padding:5px 9px;border-radius:999px;font-size:.78rem;font-weight:700}.status-aguardando_pagamento{background:#fff3cd;color:#8a5a00}.status-aberta{background:#e8f3ff;color:#175ea8}.editor-item-comanda{display:grid;grid-template-columns:130px minmax(220px,1fr) 110px 150px auto;gap:12px;align-items:end;margin:18px 0;padding:16px;border-radius:13px;background:#f5f6f8}.item-comanda{display:grid;grid-template-columns:minmax(180px,1fr) 150px 130px 42px;gap:12px;align-items:center;padding:13px 4px;border-bottom:1px solid #e6e8ec}.item-comanda>div{display:flex;flex-direction:column}.item-comanda span{color:#667085}.rodape-comanda{display:flex;justify-content:flex-end;gap:20px;align-items:center;margin-top:20px}.rodape-comanda>strong{font-size:1.4rem}.valor-item-venda{min-width:110px}
.lista-comandas{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:stretch}
.comanda-card{display:flex;min-height:210px;align-items:stretch;flex-direction:column;gap:14px;border-left:4px solid #86c9c3;box-shadow:0 2px 8px rgba(17,19,24,.06);cursor:pointer}
.comanda-card>div:nth-child(2){padding-top:12px;border-top:1px solid #e6e8ec}
.comanda-card .acoes-servico{width:100%;margin-top:auto;flex-wrap:wrap}
.comanda-card .acoes-servico button{flex:1 1 auto}
.selecionar-comanda{display:flex;align-items:center;gap:8px;padding-bottom:10px;border-bottom:1px solid #e6e8ec;color:#475467;font-size:.85rem;font-weight:700;cursor:pointer}.selecionar-comanda input{width:18px;height:18px;accent-color:#111318}
#detalheComanda{position:fixed;z-index:1050;top:50%;left:50%;width:min(980px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;transform:translate(-50%,-50%);border:1px solid #d9dde3;box-shadow:0 0 0 100vmax rgba(17,19,24,.48),0 24px 80px rgba(0,0,0,.35)}
@media(max-width:800px){.comanda-card{min-height:0}.comanda-card .acoes-servico{justify-content:flex-start}.editor-item-comanda{grid-template-columns:1fr 1fr}.editor-item-comanda button{grid-column:1/-1;width:100%}.item-comanda{grid-template-columns:1fr auto}.item-comanda>span{display:none}.rodape-comanda{align-items:stretch;flex-direction:column}.rodape-comanda button{width:100%}}
@media(max-width:600px){.lista-comandas{grid-template-columns:1fr}}

.status-finalizada{background:#e7f7ec;color:#23753c}.resumo-producao-dia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}.resumo-producao-dia>div{display:flex;flex-direction:column;gap:5px;padding:16px;border-radius:12px;background:#f5f6f8}.resumo-producao-dia small{color:#667085}.resumo-producao-dia strong{font-size:1.25rem}.lista-producao-dia{display:grid;gap:10px}.lista-producao-dia article{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:14px;border:1px solid #e2e5e9;border-radius:12px}.lista-producao-dia article>div{display:flex;flex-direction:column;gap:5px}.lista-producao-dia article>div:last-child{align-items:flex-end}.lista-producao-dia span:not(.status-comanda){color:#667085}

/* EXPERIÊNCIA MOBILE */
@media (max-width: 1100px) {
    body { overflow-x: hidden; }
    .layout { width: 100%; min-height: 100dvh; flex-direction: column; }
    .sidebar { position: sticky; top: 0; z-index: 1000; display: flex; width: 100%; padding: 8px 10px; align-items: center; gap: 10px; box-shadow: 0 4px 16px rgba(0,0,0,.16); }
    .sidebar .logo { flex: 0 0 56px; margin: 0; }
    .sidebar .logo img { width: 54px; max-height: 42px; object-fit: contain; }
    .sidebar .logo span { display: none; }
    .sidebar nav { display: flex; flex: 1; min-width: 0; flex-direction: row; gap: 5px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
    .sidebar nav::-webkit-scrollbar { display: none; }
    .sidebar nav a { flex: 0 0 auto; min-height: 42px; padding: 12px 14px; white-space: nowrap; }
    .content { width: 100%; padding: 14px 10px 24px; }
    header { align-items: flex-start; margin-bottom: 16px; gap: 10px; }
    header h1 { font-size: 22px; }
    header p { font-size: 13px; }
    .area-usuario { flex: 0 0 auto; }
    .panel { width: 100%; padding: 16px; border-radius: 11px; }
    .cabecalho-painel { align-items: flex-start; margin-bottom: 18px; gap: 12px; }
    .cabecalho-painel h2 { margin: 0 0 7px; line-height: 1.2; }
    .cabecalho-painel .texto-apoio { margin: 0; font-size: 13px; line-height: 1.4; }
    .cabecalho-painel > button { flex: 0 0 auto; min-height: 44px; padding: 10px 13px; }
    .empty { padding: 28px 14px; }
    #comandas { width: 100%; }
    #comandas .form-grid { gap: 12px; }
    #comandas input, #comandas select, #comandas button { min-height: 46px; font-size: 16px; }
    .comanda-card { gap: 12px; padding: 14px; }
    .comanda-card .acoes-servico { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: 100%; }
    .comanda-card .acoes-servico button { width: 100%; }
    .editor-item-comanda { margin: 14px 0; padding: 12px; grid-template-columns: 1fr; }
    .editor-item-comanda button { grid-column: auto; }
    .item-comanda { grid-template-columns: minmax(0,1fr) auto; padding: 14px 0; }
    .item-comanda > strong { text-align: right; }
    .item-comanda .btn-icone-perigo { grid-column: 2; width: 42px; justify-self: end; }
    .rodape-comanda { position: sticky; bottom: 0; z-index: 20; margin: 16px -16px -16px; padding: 14px 16px calc(14px + env(safe-area-inset-bottom)); border-top: 1px solid #e0e3e8; background: #fff; box-shadow: 0 -8px 20px rgba(0,0,0,.08); }
    .rodape-sistema { padding-top: 26px; }
}

@media (max-width: 480px) {
    .sidebar .logo { flex-basis: 44px; }
    .sidebar .logo img { width: 42px; }
    .content { padding-right: 8px; padding-left: 8px; }
    header { flex-direction: column; }
    .cabecalho-painel { flex-direction: column; }
    .cabecalho-painel > button { width: 100%; }
    .comanda-card .acoes-servico { grid-template-columns: 1fr; }
    .resumo-producao-dia { grid-template-columns: 1fr; }
    .lista-producao-dia article { align-items: stretch; flex-direction: column; }
    .lista-producao-dia article > div:last-child { align-items: flex-start; }
}
.acoes-cabecalho-comandas{display:flex;gap:9px;align-items:center}.acoes-cabecalho-comandas button{white-space:nowrap}@media(max-width:1100px){#painelListaComandas .cabecalho-painel{align-items:stretch;flex-direction:column}.acoes-cabecalho-comandas{display:grid;width:100%;grid-template-columns:repeat(3,minmax(0,1fr))}.acoes-cabecalho-comandas button{width:100%}}@media(max-width:600px){#comandas .panel{padding:18px 16px}.acoes-cabecalho-comandas{grid-template-columns:1fr}.acoes-cabecalho-comandas button{min-height:50px;padding:12px;font-size:15px}#painelListaComandas .cabecalho-painel{gap:16px;margin-bottom:18px}#painelListaComandas .empty{min-height:110px;display:grid;place-items:center}.rodape-sistema{margin-top:36px}}
.btn-pre-cadastro{width:100%;margin-top:8px;padding:9px}.form-pre-cadastro{grid-template-columns:1fr 1fr;margin-top:18px}@media(max-width:600px){.form-pre-cadastro{grid-template-columns:1fr}.modal-repasse{padding:10px}.modal-repasse-card{padding:20px 16px}.btn-pre-cadastro{min-height:46px}}
.campo-motivo-cancelamento{margin-top:18px}.campo-motivo-cancelamento textarea{width:100%;min-height:104px;resize:vertical}.btn-perigo{background:#a52626;color:#fff}.btn-perigo:hover{background:#841e1e}

/* Recepção: nova camada visual sobre comandas e pagamentos existentes */
.recepcao-pagina{margin:-4px -4px 0;padding:22px;border-radius:16px;background:radial-gradient(circle at 45% 0,rgba(35,72,82,.28),transparent 38%),#081116;color:#f5f7f9;min-height:calc(100vh - 155px)}
.pagina-recepcao-ativa .content>header{display:none}.pagina-recepcao-ativa .recepcao-pagina{min-height:calc(100vh - 75px)}
.recepcao-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(320px,3fr);gap:22px;align-items:start}
.recepcao-central{min-width:0}.recepcao-barra,.recepcao-painel-titulo{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.recepcao-barra h2,.recepcao-pagamento h2{margin:0 0 4px;font-size:1.55rem}.recepcao-barra p,.recepcao-pagamento p{margin:0;color:#b8c3ce}
.recepcao-cabecalho-direito{display:flex;align-items:center;justify-content:flex-end;gap:16px}.recepcao-usuario-sessao{display:flex;align-items:center;gap:11px;min-width:max-content}.recepcao-usuario-icone{display:grid;width:38px;height:38px;place-items:center;border:1px solid #52636e;border-radius:50%;background:#22313a;color:#f7fafc;font-size:.7rem}.recepcao-usuario-texto,.recepcao-data-hora{display:flex;flex-direction:column;gap:2px}.recepcao-usuario-texto strong,.recepcao-data-hora strong{font-size:.88rem}.recepcao-usuario-texto span,.recepcao-data-hora span{color:#aebbc4;font-size:.75rem}.recepcao-separador{width:1px;height:32px;background:#52636e}.btn-sair-recepcao{border:1px solid #536570;background:#14232c;color:#fff;padding:9px 13px}.btn-sair-recepcao:hover{background:#223640}
.btn-dourado,.btn-continuar-recepcao{border:1px solid #efb44e;background:linear-gradient(135deg,#ffc969,#dc9228);color:#111820;font-weight:800}.btn-dourado:hover,.btn-continuar-recepcao:hover{background:linear-gradient(135deg,#ffd586,#e9a43d)}
.recepcao-ferramentas{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,395px);gap:14px;margin:20px 0}.recepcao-filtros{display:flex;gap:9px;overflow-x:auto}.recepcao-filtros button{flex:0 0 auto;border:1px solid #344652;background:#0d1920;color:#e9eef2;padding:10px 13px}.recepcao-filtros button.ativo{border-color:#e9a63e;background:#e9a63e;color:#111820}.recepcao-filtros span{font-size:.8em;opacity:.8}
.recepcao-busca{display:flex;align-items:center;gap:9px;border:1px solid #344652;border-radius:9px;background:#0d1920;padding:0 13px;color:#d9e2e8}.recepcao-busca input{width:100%;border:0;outline:0;background:transparent;color:#fff;padding:11px 0}.recepcao-busca input::placeholder{color:#94a2ad}
.recepcao-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:14px}.recepcao-card{position:relative;display:flex;min-height:245px;flex-direction:column;gap:13px;border:2px solid #657582;border-radius:12px;background:linear-gradient(145deg,rgba(31,44,52,.96),rgba(10,20,26,.96));padding:15px;color:#f5f7f9;cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}.recepcao-card:hover{transform:translateY(-2px);box-shadow:0 9px 24px rgba(0,0,0,.3)}.recepcao-card.status-aberta{border-color:#667987}.recepcao-card.status-aguardando_pagamento{border-color:#e3a238}.recepcao-card.status-finalizada{border-color:#278f63;opacity:.78}.recepcao-card.selecionada{border-color:#ff4057;box-shadow:inset 0 0 0 2px #ff4057,0 8px 25px rgba(255,45,70,.2)}
.recepcao-card-topo,.recepcao-card-total{display:flex;justify-content:space-between;gap:10px;align-items:center}.recepcao-card-topo strong{font-size:1.15rem}.recepcao-card-info{display:grid;gap:11px}.recepcao-card-info div{display:flex;gap:9px}.recepcao-card-info span{display:block;color:#9eabb5;font-size:.75rem}.recepcao-card-info strong{display:block;font-size:.9rem}.recepcao-card-itens{margin-top:auto;color:#cdd6dc}.recepcao-card-total strong{font-size:1.05rem}.recepcao-card-status{display:block;border-radius:7px;padding:9px;text-align:center;font-size:.78rem;font-weight:800}.recepcao-card.status-aberta .recepcao-card-status{background:#536572}.recepcao-card.status-aguardando_pagamento .recepcao-card-status{background:#d9942e}.recepcao-card.status-finalizada .recepcao-card-status{background:#18704d}.recepcao-check{position:absolute;right:12px;top:12px;display:grid;width:25px;height:25px;place-items:center;border-radius:50%;background:#ff4057;font-weight:900}
.recepcao-pagamento{position:sticky;top:20px;min-width:0;border-left:1px solid #283943;padding-left:18px}.btn-fechar-recepcao{width:38px;height:38px;border:1px solid #40515c;border-radius:50%;background:#14232c;color:#fff;font-size:1.45rem;padding:0}.recepcao-selecionadas{display:grid;gap:14px;margin:18px 0;max-height:55vh;overflow-y:auto}.recepcao-vazio{border:1px dashed #40515c;border-radius:10px;padding:30px 18px;color:#9eabb5;text-align:center}.recepcao-selecao{overflow:hidden;border:1px solid #41515a;border-radius:10px;background:#0d1920}.recepcao-selecao-topo{display:flex;align-items:center;gap:10px;background:rgba(116,28,39,.44);padding:12px}.recepcao-selecao-topo>div{min-width:0;flex:1}.recepcao-selecao-topo span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#dbe2e7}.recepcao-selecao-topo button{border:0;background:transparent;color:#ff6072;font-size:1.25rem;padding:4px}.recepcao-itens-selecao{display:grid}.recepcao-item-selecao{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(80px,1fr) auto;gap:8px;padding:9px 12px;border-top:1px solid #263740;font-size:.78rem}.recepcao-item-selecao span:nth-child(2){color:#b8c3ce}.recepcao-total{display:flex;justify-content:space-between;align-items:center;border:1px solid #775a2d;border-radius:9px;background:rgba(142,98,31,.2);padding:16px;margin:16px 0;color:#ffc766}.recepcao-total strong{font-size:1.35rem}.btn-continuar-recepcao{width:100%;padding:16px}.btn-continuar-recepcao small{display:block;margin-top:4px;font-weight:500}.btn-continuar-recepcao:disabled{cursor:not-allowed;filter:grayscale(1);opacity:.45}
@media(max-width:1100px){.recepcao-layout{grid-template-columns:1fr}.recepcao-pagamento{position:static;border-left:0;border-top:1px solid #283943;padding:20px 0 0}.recepcao-ferramentas{grid-template-columns:1fr}.recepcao-selecionadas{max-height:none}.recepcao-barra{flex-wrap:wrap}.recepcao-cabecalho-direito{width:100%;justify-content:space-between}}
@media(max-width:650px){.recepcao-pagina{margin:0 -12px;padding:18px 13px;border-radius:0}.recepcao-barra,.recepcao-cabecalho-direito{align-items:stretch;flex-direction:column}.recepcao-barra>.recepcao-cabecalho-direito>.btn-dourado{width:100%}.recepcao-usuario-sessao{min-width:0;flex-wrap:wrap}.recepcao-usuario-texto{flex:1}.btn-sair-recepcao{margin-left:auto}.recepcao-cards{grid-template-columns:1fr}.recepcao-card{min-height:215px}.recepcao-item-selecao{grid-template-columns:1fr auto}.recepcao-item-selecao span:nth-child(2){grid-column:1/-1}.recepcao-filtros{padding-bottom:5px}}
@media(max-width:800px){body.modo-recepcao .content{padding:0}}

/* Recepção em tablets e celulares */
@media (max-width: 900px) {
    .pagina-recepcao-ativa .content { overflow-x: hidden; }
    .recepcao-pagina { width: 100%; margin: 0; padding: 18px; border-radius: 0; }
    .recepcao-layout { display: block; }
    .recepcao-barra { display: grid; grid-template-columns: 1fr; gap: 16px; }
    .recepcao-cabecalho-direito { display: grid; width: 100%; grid-template-columns: auto minmax(0,1fr); gap: 12px; }
    .recepcao-usuario-sessao { width: 100%; min-width: 0; justify-content: flex-end; }
    .recepcao-ferramentas { display: grid; grid-template-columns: 1fr; gap: 12px; }
    .recepcao-filtros { width: 100%; padding-bottom: 6px; overflow-x: auto; scrollbar-width: thin; }
    .recepcao-filtros button { min-height: 44px; }
    .recepcao-busca { width: 100%; min-height: 48px; }
    .recepcao-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .recepcao-pagamento { position: static; width: 100%; margin-top: 22px; padding: 22px 0 0; border-top: 1px solid #283943; border-left: 0; }
    .recepcao-selecionadas { max-height: none; }
    .btn-continuar-recepcao { min-height: 58px; }
}

@media (max-width: 600px) {
    body.modo-recepcao .content { padding: 0; }
    .recepcao-pagina { min-height: 100vh; padding: 16px 12px calc(22px + env(safe-area-inset-bottom)); border-radius: 0; }
    .recepcao-barra h2 { font-size: 1.4rem; }
    .recepcao-barra p { font-size: .9rem; line-height: 1.4; }
    .recepcao-cabecalho-direito { grid-template-columns: 1fr; }
    .recepcao-cabecalho-direito > .btn-dourado { width: 100%; min-height: 48px; }
    .recepcao-usuario-sessao { display: grid; grid-template-columns: 40px minmax(0,1fr) auto; justify-content: stretch; padding: 10px; border: 1px solid #2f414c; border-radius: 10px; background: rgba(13,25,32,.78); }
    .recepcao-usuario-icone { grid-row: 1 / 3; }
    .recepcao-separador { display: none; }
    .recepcao-data-hora { grid-column: 2; flex-direction: row; gap: 8px; }
    .btn-sair-recepcao { grid-column: 3; grid-row: 1 / 3; min-height: 42px; margin: 0; align-self: center; }
    .recepcao-ferramentas { margin: 16px 0; }
    .recepcao-filtros { gap: 7px; }
    .recepcao-filtros button { padding: 10px 12px; }
    .recepcao-cards { grid-template-columns: 1fr; gap: 10px; }
    .recepcao-card { min-height: 0; gap: 9px; padding: 13px; border-width: 1px; }
    .recepcao-card.selecionada { border-width: 2px; }
    .recepcao-card-topo strong { font-size: 1rem; }
    .recepcao-card-topo span { font-size: .85rem; }
    .recepcao-card-info { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
    .recepcao-card-info div { min-width: 0; gap: 6px; }
    .recepcao-card-info p { min-width: 0; }
    .recepcao-card-info strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .82rem; }
    .recepcao-card-info span { font-size: .68rem; }
    .recepcao-card-itens { margin-top: 2px; font-size: .82rem; }
    .recepcao-card-total { padding-top: 3px; }
    .recepcao-card-total span { font-size: .86rem; }
    .recepcao-card-total strong { font-size: .98rem; }
    .recepcao-card-status { padding: 10px 8px; font-size: .76rem; }
    .recepcao-painel-titulo h2 { font-size: 1.3rem; }
    .recepcao-item-selecao { grid-template-columns: minmax(0,1fr) auto; }
    .recepcao-item-selecao span:nth-child(2) { grid-column: 1 / -1; }
    .recepcao-total { padding: 14px 12px; }
    .recepcao-total strong { font-size: 1.15rem; }
}

@media (max-width: 380px) {
    .recepcao-card-info { grid-template-columns: 1fr; }
    .recepcao-usuario-sessao { grid-template-columns: 36px minmax(0,1fr) auto; gap: 8px; }
    .recepcao-usuario-icone { width: 36px; height: 36px; }
}

/* Em tablets, o pagamento permanece ao lado das comandas */
@media (min-width: 701px) and (max-width: 1100px) {
    .recepcao-layout { display: grid; grid-template-columns: minmax(0,1fr) minmax(300px,38%); gap: 16px; align-items: start; }
    .recepcao-pagamento { position: sticky; top: 14px; width: auto; margin-top: 0; padding: 0 0 0 16px; border-top: 0; border-left: 1px solid #283943; }
    .recepcao-selecionadas { max-height: calc(100dvh - 285px); overflow-y: auto; }
    .recepcao-cards { grid-template-columns: repeat(auto-fit,minmax(190px,1fr)); }
}

/* No tablet/celular, o resumo abre pela lateral e a grade usa toda a tela */
@media (max-width: 1100px) {
    .recepcao-layout { display: block; width: 100%; }
    .recepcao-pagamento {
        position: fixed;
        z-index: 1150;
        top: 0;
        right: 0;
        bottom: 0;
        left: auto;
        display: flex;
        width: min(92vw,480px);
        margin: 0;
        padding: 18px 14px calc(18px + env(safe-area-inset-bottom));
        flex-direction: column;
        border: 0;
        border-left: 1px solid #344750;
        background: #081116;
        box-shadow: -16px 0 42px rgba(0,0,0,.45);
        overflow: hidden;
        transform: translateX(105%);
        transition: transform .22s ease;
    }
    .recepcao-pagamento.painel-aberto { transform: translateX(0); }
    .recepcao-pagamento .recepcao-selecionadas { flex: 1; min-height: 0; max-height: none; overflow-y: auto; }
    .recepcao-pagamento .recepcao-total { flex: 0 0 auto; }
    .recepcao-pagamento .btn-continuar-recepcao { flex: 0 0 auto; }
}
.btn-abrir-painel-recepcao{display:none}
@media(max-width:1100px){.btn-abrir-painel-recepcao.visivel{position:fixed;z-index:1100;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));left:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;border:1px solid #efb44e;border-radius:12px;background:linear-gradient(135deg,#ffc969,#dc9228);box-shadow:0 10px 32px rgba(0,0,0,.42);color:#111820}.btn-abrir-painel-recepcao span{font-size:.82rem}.btn-abrir-painel-recepcao strong{white-space:nowrap}}

.recepcao-modulos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin-top:20px}.recepcao-modulos-grid button{display:flex;min-height:120px;padding:22px;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;border:1px solid #d9dde2;border-radius:14px;background:#fff;color:#171a1f;text-align:left;box-shadow:0 6px 18px rgba(20,25,32,.06)}.recepcao-modulos-grid button:hover{border-color:#d89a31;transform:translateY(-1px)}.recepcao-modulos-grid button strong{font-size:1.15rem}.recepcao-modulos-grid button span{color:#69717c;font-size:.9rem}.modo-recepcao-operacional #btnNovoServico,.modo-recepcao-operacional #servicos .acoes-servico,.modo-recepcao-operacional #btnNovoProfissional,.modo-recepcao-operacional #equipe .acoes-servico,.modo-recepcao-operacional #btnNovoProduto,.modo-recepcao-operacional #estoque .acoes-tabela{display:none!important}@media(max-width:700px){.recepcao-modulos-grid{grid-template-columns:1fr}.recepcao-modulos-grid button{min-height:92px}}
.sidebar nav .menu-interno-recepcao{display:none!important}

@media (max-width: 650px) {
    .sidebar nav { flex-wrap: wrap; overflow-x: visible; }
}
.navegacao-recepcao{display:flex;max-width:100%;margin:0 0 18px;padding:8px;gap:8px;border:1px solid #dde1e5;border-radius:12px;background:#fff;overflow-x:auto;box-shadow:0 4px 14px rgba(20,25,32,.05)}.navegacao-recepcao button{min-height:40px;padding:8px 15px;border:1px solid transparent;border-radius:9px;background:transparent;color:#363d46;white-space:nowrap}.navegacao-recepcao button:hover{background:#f1f2f4}.navegacao-recepcao button.ativo{border-color:#d99a31;background:#eba638;color:#171a1f}@media(max-width:700px){.navegacao-recepcao{margin-right:-8px;margin-left:-8px;border-radius:0}}

/* Filtros da produção: mesma apresentação para colaborador e calendário. */
#painelMinhaProducao .acoes-cabecalho-comandas { display: flex; flex-wrap: wrap; width: auto; gap: 5px; }
#painelMinhaProducao .seletor-producao {
    appearance: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 1 150px;
    width: 150px;
    min-width: 0;
    height: 32px;
    min-height: 32px;
    border: 1px solid #d5d5d5;
    border-radius: 8px;
    padding: 4px 24px 4px 8px;
    font: 13px Arial, sans-serif;
    color: #222;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%23555' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center;
    cursor: pointer;
}
#painelMinhaProducao .seletor-producao:focus-visible,
#painelMinhaProducao .seletor-data-producao:focus-within { outline: 2px solid #2563eb; outline-offset: 2px; }
#painelMinhaProducao .seletor-data-producao input {
    position: absolute; inset: 0; width: 100%; height: 100%; min-width: 0; min-height: 0;
    opacity: 0; cursor: pointer;
}
#painelMinhaProducao .seletor-data-producao input::-webkit-calendar-picker-indicator {
    position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; cursor: pointer;
}
@media (max-width: 1100px) {
    #painelMinhaProducao .cabecalho-painel { align-items: stretch; flex-direction: column; gap: 10px; }
    #painelMinhaProducao .acoes-cabecalho-comandas { width: 100%; }
    #painelMinhaProducao .acoes-cabecalho-comandas button { width: auto; }
}
#painelMinhaProducao .seletor-data-producao { flex-basis: 120px; width: 120px; }
#painelMinhaProducao #btnVoltarMinhaProducao {
    flex: 0 0 auto; width: auto; height: 38px; min-height: 38px;
    padding: 6px 10px; font-size: 14px; border-radius: 8px;
}
#painelMinhaProducao .lista-producao-dia article > div:first-child { min-width: 0; overflow-wrap: anywhere; }
@media (pointer: coarse) {
    #painelMinhaProducao .seletor-producao,
    #painelMinhaProducao #btnVoltarMinhaProducao { height: 44px; min-height: 44px; font-size: 16px; }
    #painelMinhaProducao .seletor-producao { flex-basis: 160px; width: 160px; font-size: 14px; }
    #painelMinhaProducao .seletor-data-producao { flex-basis: 128px; width: 128px; }
}

#tituloMinhaProducao { font-weight: 700; letter-spacing: .04em; }

.aviso-cancelamento { display: block; color: #854d0e; font-size: .85rem; line-height: 1.5; margin: 8px 0; overflow-wrap: anywhere; }
.detalhes-cancelamento { min-width: 180px; max-width: 480px; white-space: normal; overflow-wrap: anywhere; }
.detalhes-cancelamento summary { cursor: pointer; padding: 10px 0; }
.detalhes-cancelamento p { margin: 8px 0; }
.historico-venda-dialog { width: min(760px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); overflow: auto; margin: auto; padding: 20px; border: 1px solid #ddd; border-radius: 12px; }
.historico-venda-dialog::backdrop { background: #0008; }
.historico-venda-dialog header { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; }
.historico-venda-dialog p { margin: 10px 0; overflow-wrap: anywhere; }
@media (pointer: coarse) { .historico-venda-dialog button, .detalhes-cancelamento summary { min-height: 44px; } }

#modalCancelarComanda .modal-repasse-card, #modalConfirmarCancelamentoComanda .modal-repasse-card { max-height: calc(100dvh - 24px); overflow-y: auto; }
.distribuicao-socios { background: #f5f6f7; border: 1px solid #e1e3e5; border-radius: 10px; padding: 12px; margin: 10px 0; overflow-wrap: anywhere; min-width: 0; }
.distribuicao-socios > div { display: flex; flex-wrap: wrap; gap: 6px 12px; justify-content: space-between; padding: 7px 0; }
.distribuicao-socios p { margin: 8px 0; }
.origens-fechamento { min-width: 0; max-width: 100%; margin: 10px 0; }
.origens-fechamento summary { cursor: pointer; padding: 12px 0; line-height: 1.4; }
.origens-fechamento .tabela-clientes-wrapper { max-width: 100%; overflow-x: auto; }
.resumo-fluxo { display: block; white-space: normal; overflow-wrap: anywhere; line-height: 1.5; font-size: 12px; margin-top: 8px; }
@media (max-width: 600px) { .distribuicao-socios { padding: 10px; } .distribuicao-socios > div { flex-direction: column; } .origens-fechamento { flex-basis: 100%; } }

/* Apresentação do recebimento; regras e eventos permanecem no fluxo existente. */
#modalPagamentoVenda .modal-pagamento-card { width: min(900px, 100%); max-height: calc(100dvh - 32px); padding: 24px; }
#modalPagamentoVenda .card-formas-pagamento { padding: 14px; border: 1px solid #e2e6eb; border-radius: 14px; background: #fafbfc; min-width: 0; }
#modalPagamentoVenda .titulo-pagamentos { gap: 8px; flex-wrap: wrap; margin-bottom: 10px; }
#modalPagamentoVenda .cabecalho-distribuicao h3 { font-size: 13px; line-height: 1.5; letter-spacing: .035em; color: #283444; margin: 0; }
#modalPagamentoVenda .titulo-pagamentos small { display: block; margin-top: 2px; font-size: 11px; color: #64748b; }
#modalPagamentoVenda .titulo-pagamentos button { min-height: 44px; padding: 8px 11px; font-size: 12px; border: 1px solid #d5dce4; border-radius: 9px; background: white; color: #334155; }
#modalPagamentoVenda .linha-pagamento { grid-template-columns: 34px minmax(0, 1fr) minmax(125px, 160px) auto; gap: 8px; padding: 8px; border: 1px solid #e1e6ec; border-radius: 11px; background: white; align-items: center; margin-bottom: 7px; }
#modalPagamentoVenda .icone-forma-pagamento { display: grid; place-items: center; width: 34px; height: 34px; color: #526578; background: #edf2f6; border-radius: 9px; font-size: 21px; font-weight: 700; }
#modalPagamentoVenda .linha-pagamento select, #modalPagamentoVenda .linha-pagamento input { min-height: 44px; font-size: 13px; padding: 8px; }
#modalPagamentoVenda .valor-pagamento-campo { display: flex; align-items: center; gap: 4px; min-width: 0; border: 1px solid #d5d5d5; border-radius: 7px; padding-left: 8px; color: #64748b; font-size: 12px; }
#modalPagamentoVenda .valor-pagamento-campo input { border: 0; background: transparent; text-align: right; padding-left: 0; font-variant-numeric: tabular-nums; }
#modalPagamentoVenda .linha-pagamento .remover-pagamento { grid-column: 4; grid-row: 1; min-height: 44px; border-radius: 8px; padding: 7px 9px; font-size: 11.5px; }
#modalPagamentoVenda .linha-pagamento .maquina-pagamento { grid-column: 2 / -1; }
#modalPagamentoVenda .linha-pagamento .bandeira-pagamento { grid-column: 2; }
#modalPagamentoVenda .linha-pagamento .parcelas-pagamento { grid-column: 3 / -1; }
#modalPagamentoVenda .conferencia-pagamento { margin-top: 10px; padding: 10px 12px; gap: 10px; align-items: center; border: 1px solid #e1e6ec; border-radius: 10px; background: white; }
#modalPagamentoVenda .conferencia-pagamento small { font-size: 11px; color: #64748b; }
#modalPagamentoVenda .conferencia-pagamento strong { font-size: 20px; white-space: nowrap; font-variant-numeric: tabular-nums; }
#modalPagamentoVenda .diferenca-pagamento { font-size: 13px; color: #815715; line-height: 1.4; }
#modalPagamentoVenda .conferencia-pagamento:has(.pagamento-conferido) { background: #edf8f1; border-color: #c4e5cf; color: #256343; }
#modalPagamentoVenda .pagamento-conferido { color: #256343; }
#modalPagamentoVenda .pagamento-conferido::before { content: '✓ '; }
#modalPagamentoVenda .pagamento-troco { margin: 4px 0 0; padding: 0; border: 0; background: transparent; }
#modalPagamentoVenda #previaDinheiroSocios { margin: 18px 0 0; padding: 18px; background: white; border: 1px solid #e1e6ec; border-radius: 14px; }
#modalPagamentoVenda .cabecalho-distribuicao { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 14px; margin-bottom: 16px; }
#modalPagamentoVenda .cabecalho-distribuicao > span { font-size: 12px; background: #f0f3f6; color: #526578; border-radius: 20px; padding: 6px 10px; }
#modalPagamentoVenda .tabela-distribuicao { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
#modalPagamentoVenda .tabela-distribuicao th, #modalPagamentoVenda .tabela-distribuicao td { text-align: left; padding: 12px 8px; border-bottom: 1px solid #e8ecf0; overflow-wrap: anywhere; vertical-align: middle; line-height: 1.5; }
#modalPagamentoVenda .tabela-distribuicao thead th { background: #f6f8fa; color: #64748b; font-size: 10px; text-transform: uppercase; letter-spacing: .025em; }
#modalPagamentoVenda .tabela-distribuicao th:first-child { width: 24%; }
#modalPagamentoVenda .tabela-distribuicao th:last-child { width: 23%; }
#modalPagamentoVenda .valor-direto { color: #256343; font-weight: 700; font-variant-numeric: tabular-nums; }
#modalPagamentoVenda .situacao-direto { display: inline-block; font-size: 11px; line-height: 1.4; color: #64748b; }
#modalPagamentoVenda .recebido-direto { color: #256343; background: #edf8f1; padding: 6px 8px; border-radius: 7px; }
#modalPagamentoVenda .fluxo-empresa-pagamento { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 10px; padding: 15px; margin-top: 16px; border: 1px solid #cfe0f0; border-radius: 10px; background: #eef5fc; color: #284f76; }
#modalPagamentoVenda .fluxo-empresa-pagamento span { font-size: 11px; font-weight: 700; letter-spacing: .025em; }
#modalPagamentoVenda .fluxo-empresa-pagamento strong { font-size: 20px; font-variant-numeric: tabular-nums; }
#modalPagamentoVenda .informacao-distribuicao { display: flex; align-items: flex-start; gap: 9px; margin-top: 14px; padding: 12px; border-radius: 9px; background: #f6f8fa; color: #64748b; font-size: 12px; line-height: 1.6; }
#modalPagamentoVenda .informacao-distribuicao p { margin: 0; }
#modalPagamentoVenda .btn-confirmar-pagamento { min-height: 52px; margin-top: 18px; border: 1px solid #205b3d; border-radius: 11px; background: #286b49; color: white; font-size: 15px; letter-spacing: .04em; }
#modalPagamentoVenda .btn-confirmar-pagamento:hover { background: #205b3d; }
#modalPagamentoVenda .btn-confirmar-pagamento:disabled { opacity: .6; cursor: wait; }
#modalPagamentoVenda :is(button,select,input):focus-visible { outline: 3px solid #8bb9dc; outline-offset: 2px; }
@media (max-width: 820px) {
    #modalPagamentoVenda .modal-pagamento-card { padding: 16px; }
    #modalPagamentoVenda .card-formas-pagamento, #modalPagamentoVenda #previaDinheiroSocios { padding: 12px; }
    #modalPagamentoVenda .linha-pagamento { grid-template-columns: 30px minmax(0,1fr) minmax(105px,130px); padding: 7px; gap: 6px; }
    #modalPagamentoVenda .icone-forma-pagamento { width: 30px; height: 32px; }
    #modalPagamentoVenda .linha-pagamento select, #modalPagamentoVenda .linha-pagamento input { font-size: 16px; }
    #modalPagamentoVenda .linha-pagamento .remover-pagamento { grid-column: 2 / -1; grid-row: auto; }
    #modalPagamentoVenda .linha-pagamento .bandeira-pagamento, #modalPagamentoVenda .linha-pagamento .parcelas-pagamento { grid-column: 2 / -1; }
    #modalPagamentoVenda .tabela-distribuicao, #modalPagamentoVenda .tabela-distribuicao tbody { display: block; width: 100%; }
    #modalPagamentoVenda .tabela-distribuicao thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    #modalPagamentoVenda .tabela-distribuicao tr { display: block; margin-bottom: 10px; border: 1px solid #e1e6ec; border-radius: 10px; padding: 10px 12px; }
    #modalPagamentoVenda .tabela-distribuicao th[scope="row"] { display: block; width: 100%; padding: 4px 0 10px; font-size: 14px; }
    #modalPagamentoVenda .tabela-distribuicao td { display: flex; justify-content: space-between; gap: 12px; border: 0; padding: 7px 0; text-align: right; }
    #modalPagamentoVenda .tabela-distribuicao td::before { content: attr(data-label); color: #64748b; font-weight: 400; text-align: left; }
}
@media (max-width: 420px) {
    #modalPagamentoVenda .linha-pagamento { grid-template-columns: 28px minmax(0,1fr); }
    #modalPagamentoVenda .valor-pagamento-campo { grid-column: 2; }
    #modalPagamentoVenda .linha-pagamento .remover-pagamento { grid-column: 2; }
    #modalPagamentoVenda .titulo-pagamentos button { width: 100%; }
    #modalPagamentoVenda .conferencia-pagamento { flex-wrap: wrap; }
    #modalPagamentoVenda .responsavel-recebimento { align-items: stretch; flex-direction: column; }
    #modalPagamentoVenda .responsavel-recebimento select { min-width: 0; width: 100%; }
}

#modalPagamentoVenda .titulo-pagamentos h3 { font-size: 12px; line-height: 1.4; letter-spacing: .035em; color: #283444; margin: 0; }
/* Consulta de comandas no fechamento: tabela agrupada e ficha lateral. */
.tabela-comandas-fechamento { min-width: 760px; font-size: 14px; }
.tabela-comandas-fechamento th { white-space: nowrap; }
.tabela-comandas-fechamento th:nth-child(1), .tabela-comandas-fechamento td:nth-child(1),
.tabela-comandas-fechamento th:nth-child(2), .tabela-comandas-fechamento td:nth-child(2),
.tabela-comandas-fechamento th:nth-child(4), .tabela-comandas-fechamento td:nth-child(4),
.tabela-comandas-fechamento th:nth-child(5), .tabela-comandas-fechamento td:nth-child(5),
.tabela-comandas-fechamento th:nth-child(6), .tabela-comandas-fechamento td:nth-child(6),
.tabela-comandas-fechamento th:nth-child(7), .tabela-comandas-fechamento td:nth-child(7) { width: 1%; white-space: nowrap; }
.tabela-comandas-fechamento th:nth-child(5), .tabela-comandas-fechamento td:nth-child(5) { text-align: center; }
.tabela-comandas-fechamento th:nth-child(6), .tabela-comandas-fechamento td:nth-child(6) { text-align: right; }
.tabela-comandas-fechamento .data-abertura-comanda { white-space: nowrap; }
.linha-comanda-ficha { cursor: pointer; transition: background-color .15s; }
.linha-comanda-ficha:hover { background: #f3f5f7; }
.linha-comanda-ficha:focus-visible { outline: 2px solid #525c67; outline-offset: -2px; background: #f3f5f7; }
.tabela-comandas-fechamento td { height: 44px; }
.ficha-comanda-dialog { box-sizing: border-box; width: min(560px, 100%); max-width: 100%; height: 100vh; height: 100dvh; max-height: 100%; margin: 0 0 0 auto; padding: 0; border: 0; border-left: 1px solid #e1e4e8; color: #252a30; background: #fff; font-size: 14px; box-shadow: -8px 0 32px #0002; overflow: hidden; }
.ficha-comanda-dialog[open] { display: flex; flex-direction: column; }
.ficha-comanda-dialog::backdrop { background: #15202b66; }
.ficha-comanda-cabecalho { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 16px; border-bottom: 1px solid #e1e4e8; flex: 0 0 auto; }
.ficha-comanda-cabecalho h2 { font-size: 19px; margin: 0; font-weight: 600; }
.ficha-comanda-cabecalho button { min-width: 44px; min-height: 44px; padding: 0; border: 0; background: transparent; color: inherit; font-size: 26px; cursor: pointer; }
.ficha-comanda-conteudo { min-height: 0; padding: 12px 16px 20px; overflow-y: auto; overscroll-behavior: contain; overflow-wrap: anywhere; line-height: 1.4; }
.ficha-comanda-conteudo small { display: block; font-size: 12px; color: #616972; }
.ficha-identificacao { display: grid; gap: 3px; }
.ficha-status { justify-self: start; font-size: 12px; font-weight: 600; border: 1px solid #dce1e6; border-radius: 4px; padding: 2px 6px; }
.ficha-secao { border-top: 1px solid #e1e4e8; margin-top: 10px; padding-top: 8px; }
.ficha-secao h3 { font-size: 14px; font-weight: 600; margin: 0 0 6px; }
.ficha-par, .ficha-item { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 3px 0; }
.ficha-par strong { text-align: right; font-weight: 600; }
.ficha-item > div { min-width: 0; }
.ficha-item > b { flex-shrink: 0; font-weight: 600; }
.ficha-pagamento + .ficha-pagamento { border-top: 1px solid #eef0f2; margin-top: 7px; padding-top: 5px; }
.ficha-total { border-top: 1px solid #e1e4e8; margin-top: 6px; padding-top: 4px; font-size: 15px; }
.ficha-aviso, .ficha-nota { margin: 8px 0; color: #616972; font-size: 12px; }
.ficha-historico { border-top: 1px solid #e1e4e8; margin-top: 10px; }
.ficha-historico > summary { display: flex; justify-content: space-between; cursor: pointer; padding: 12px 0; font-size: 14px; font-weight: 600; min-height: 44px; box-sizing: border-box; }
.ficha-historico[open] > summary span { transform: rotate(90deg); }
.ficha-evento { padding: 5px 0; }
.ficha-evento strong { font-weight: 600; }
@media (max-width: 600px) {
    .ficha-comanda-cabecalho { padding: 8px 12px; }
    .ficha-comanda-conteudo { padding: 10px 12px 16px; }
    .ficha-comanda-dialog { border-left: 0; }
    .ficha-par { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .linha-comanda-ficha { transition: none; } }
.acoes-conta{display:flex;align-items:center;gap:6px;white-space:nowrap}.btn-menu-conta{min-width:40px;min-height:40px;padding:4px 10px;font-size:22px}.menu-conta-segura{position:fixed;z-index:2000;width:150px;padding:5px;background:var(--cor-painel,#fff);color:#222;border:1px solid #ddd;border-radius:8px;box-shadow:0 4px 16px #0003}.menu-conta-segura button{display:block;width:100%;min-height:44px;text-align:left;background:transparent;color:inherit;border:0;padding:8px 12px}.menu-conta-segura button:hover,.menu-conta-segura button:focus{background:#eee}.menu-conta-segura.escondido{display:none}#modalExcluirConta .modal-repasse-card{width:min(520px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow-y:auto;box-sizing:border-box}#resumoExcluirConta,#avisoExcluirConta{overflow-wrap:anywhere}#motivoExcluirConta{width:100%;box-sizing:border-box;min-height:88px}#resultadoContasSeguras{overflow-wrap:anywhere}@media(max-width:600px){#modalExcluirConta .acoes-modal-repasse{display:flex;flex-wrap:wrap;gap:8px}#modalExcluirConta .acoes-modal-repasse button{min-height:44px;flex:1}}
/* Produtos no rascunho de recebimento; estoque confirmado pelo servidor. */
.produtos-caixa { border-bottom: 1px solid #e2e6eb; padding: 0 0 12px; margin-bottom: 12px; min-width: 0; }
.produtos-caixa summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-weight: 600; }
.produtos-caixa h3 { font-size: 13px; margin: 12px 0; }
.campos-produto-caixa { display: grid; grid-template-columns: minmax(0, 1fr) 144px; gap: 8px 12px; padding-bottom: 12px; }
.campos-produto-caixa > label:first-child, .campos-produto-caixa > label:nth-child(2) { grid-column: 1 / -1; }
.campos-produto-caixa > button { justify-self: start; }
.campos-produto-caixa label, .linha-produto-caixa label { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.produtos-caixa input, .produtos-caixa select { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; }
.linha-produto-caixa { display: grid; grid-template-columns: minmax(0, 1fr) 144px minmax(70px, auto) 44px; align-items: center; gap: 8px; padding: 8px 0; border-bottom: 1px solid #e2e6eb; }
.linha-produto-caixa span { overflow-wrap: anywhere; }
.linha-produto-caixa small { display: block; }
.produtos-caixa button { min-height: 44px; }
.quantidade-produto-caixa { display: grid; grid-template-columns: 44px minmax(0, 1fr) 44px; width: 144px; max-width: 100%; gap: 2px; }
.produtos-caixa .quantidade-produto-caixa button, .produtos-caixa .remover-produto-caixa { padding: 0; min-width: 44px; width: 44px; border-radius: 6px; }
.quantidade-produto-caixa input { padding: 4px; text-align: center; appearance: textfield; }
.quantidade-produto-caixa input::-webkit-inner-spin-button { appearance: none; }
.campo-quantidade-caixa > label { display: block; margin-bottom: 5px; }
#resumoProdutosCaixa { margin-top: 12px; line-height: 1.6; overflow-wrap: anywhere; }
#resumoProdutosCaixa > div { display: flex; justify-content: space-between; gap: 12px; }
#resumoProdutosCaixa .total-produtos-caixa { border-top: 1px solid #e2e6eb; margin-top: 6px; padding-top: 6px; font-size: 18px; font-weight: 700; }
@media (max-width: 800px) {
    .linha-produto-caixa { grid-template-columns: 144px minmax(0, 1fr) 44px; }
    .linha-produto-caixa > span { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
    .campos-produto-caixa { grid-template-columns: minmax(0, 1fr); }
    .campos-produto-caixa > button { width: 100%; }
    .linha-produto-caixa > strong { text-align: right; overflow-wrap: anywhere; }
}
/* Acabamento do modal de recebimento; escopo exclusivo desta tela. */
#modalPagamentoVenda .modal-pagamento-card { width: min(780px, 100%); padding: 18px; }
#modalPagamentoVenda .cabecalho-modal-pagamento { margin-bottom: 12px; gap: 10px; }
#modalPagamentoVenda .cabecalho-modal-pagamento h2 { font-size: 21px; }
#modalPagamentoVenda .cabecalho-modal-pagamento p { font-size: 13px; line-height: 1.4; }
#modalPagamentoVenda .responsavel-recebimento { margin-bottom: 12px; gap: 8px; }
#modalPagamentoVenda :is(input, select) { max-width: 100%; min-width: 0; }
#modalPagamentoVenda .produtos-caixa { margin-bottom: 10px; padding-bottom: 10px; }
#modalPagamentoVenda #seletorProdutoCaixa { border: 1px solid #e2e6eb; border-radius: 9px; background: #fafbfc; }
#modalPagamentoVenda #seletorProdutoCaixa summary { display: flex; gap: 10px; padding: 9px 12px; min-height: 44px; list-style: none; }
#modalPagamentoVenda #seletorProdutoCaixa summary::-webkit-details-marker { display: none; }
#modalPagamentoVenda #seletorProdutoCaixa summary strong { font-size: 14px; }
#modalPagamentoVenda #seletorProdutoCaixa summary small { display: block; font-size: 12px; line-height: 1.4; color: #64748b; font-weight: 400; margin-top: 2px; }
#modalPagamentoVenda .icone-produto-caixa { font-size: 20px; }
#modalPagamentoVenda .seta-produto-caixa { margin-left: auto; font-size: 22px; }
#modalPagamentoVenda #seletorProdutoCaixa[open] .seta-produto-caixa { transform: rotate(180deg); }
#modalPagamentoVenda .campos-produto-caixa { padding: 0 12px 12px; }
#modalPagamentoVenda .produtos-caixa h3 { font-size: 12px; color: #526578; margin: 10px 0 6px; }
#modalPagamentoVenda #listaProdutosCaixa > p { margin: 0; font-size: 13px; color: #64748b; padding: 4px 0; }
#modalPagamentoVenda .linha-produto-caixa small { font-size: 12px; color: #64748b; margin-top: 3px; }
#modalPagamentoVenda #mensagemProdutoCaixa:empty { display: none; }
#modalPagamentoVenda #resumoProdutosCaixa { margin-top: 10px; font-size: 13px; color: #526578; }
#modalPagamentoVenda #resumoProdutosCaixa > div { padding: 3px 0; }
#modalPagamentoVenda #resumoProdutosCaixa .total-produtos-caixa { padding: 8px 10px; background: #edf8f1; color: #205b3d; border-radius: 7px; font-size: 19px; }
#modalPagamentoVenda .ajustes-finalizacao-venda { margin: 0 0 10px; gap: 10px; }
#modalPagamentoVenda .ajustes-finalizacao-venda input { min-height: 44px; padding: 8px 10px; }
#modalPagamentoVenda .card-formas-pagamento { padding: 10px; border-radius: 9px; }
#modalPagamentoVenda .titulo-pagamentos { margin-bottom: 8px; }
#modalPagamentoVenda .conferencia-pagamento { margin-top: 8px; padding: 8px 10px; }
#modalPagamentoVenda .btn-confirmar-pagamento { width: 100%; min-height: 48px; margin-top: 12px; padding: 10px 12px; font-size: 14px; line-height: 1.4; letter-spacing: .02em; }
@media (max-width: 800px) {
    #modalPagamentoVenda .modal-pagamento-card { padding: 14px; }
    #modalPagamentoVenda .responsavel-recebimento { flex-direction: column; align-items: stretch; }
    #modalPagamentoVenda .responsavel-recebimento select { width: 100%; }
}
@media (max-width: 600px) {
    #modalPagamentoVenda .ajustes-finalizacao-venda { grid-template-columns: minmax(0, 1fr); }
    #modalPagamentoVenda .linha-pagamento { grid-template-columns: 28px minmax(0, 1fr); }
    #modalPagamentoVenda .valor-pagamento-campo,
    #modalPagamentoVenda .linha-pagamento .remover-pagamento,
    #modalPagamentoVenda .linha-pagamento .maquina-pagamento,
    #modalPagamentoVenda .linha-pagamento .bandeira-pagamento,
    #modalPagamentoVenda .linha-pagamento .parcelas-pagamento { grid-column: 2; }
    #modalPagamentoVenda .titulo-pagamentos button { width: 100%; }
}
#modalPagamentoVenda .combobox-produto-caixa { position: relative; min-width: 0; }
#modalPagamentoVenda .combobox-produto-caixa > label { display: block; margin-bottom: 5px; }
#modalPagamentoVenda .campo-combobox-produto { position: relative; }
#modalPagamentoVenda .campo-combobox-produto input { width: 100%; padding-right: 30px; }
#modalPagamentoVenda .campo-combobox-produto > span { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); pointer-events: none; }
#modalPagamentoVenda .resultados-produto-caixa { position: absolute; top: 100%; left: 0; right: 0; z-index: 2; max-height: min(220px, 35dvh); overflow-y: auto; overscroll-behavior: contain; background: white; border: 1px solid #cbd5df; border-radius: 7px; box-shadow: 0 4px 12px #0002; }
#modalPagamentoVenda .resultados-produto-caixa [role="option"] { min-height: 44px; padding: 8px 10px; cursor: pointer; overflow-wrap: anywhere; }
#modalPagamentoVenda .resultados-produto-caixa [role="option"] small { display: block; color: #64748b; font-size: 12px; }
#modalPagamentoVenda .resultados-produto-caixa [aria-selected="true"] { background: #edf8f1; }
#modalPagamentoVenda .resultados-produto-caixa [aria-disabled="true"] { opacity: .6; cursor: not-allowed; }
#modalPagamentoVenda .resultados-produto-caixa > p { padding: 10px; font-size: 13px; }
#modalPagamentoVenda .estado-busca-produto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
@media (max-width: 600px) {
    #modalPagamentoVenda .campo-quantidade-caixa { display: flex; align-items: center; gap: 12px; }
    #modalPagamentoVenda .campo-quantidade-caixa > label { margin-bottom: 0; }
}
/* Padrão único de controles, exclusivo do modal de pagamento. */
#modalPagamentoVenda :is(input:not([type="hidden"]), select) {
    height: 42px; min-height: 42px; max-width: 100%; border: 1px solid #cbd5df;
    border-radius: 8px; padding: 0 10px; font-family: inherit; font-size: 14px;
    line-height: normal; color: #283444; background: white;
}
#modalPagamentoVenda .campo-combobox-produto input { padding-right: 30px; }
#modalPagamentoVenda .ajustes-finalizacao-venda input { height: 42px; min-height: 42px; padding: 0 10px; }
#modalPagamentoVenda .valor-pagamento-campo { height: 42px; border: 1px solid #cbd5df; border-radius: 8px; padding-left: 10px; }
#modalPagamentoVenda .valor-pagamento-campo input { height: 40px; min-height: 40px; border: 0; background: transparent; padding: 0 8px 0 0; }
#modalPagamentoVenda .valor-pagamento-campo:focus-within { outline: 3px solid #8bb9dc; outline-offset: 2px; }
#modalPagamentoVenda button { border-radius: 8px; font-family: inherit; font-size: 14px; border: 1px solid #cbd5df; }
#modalPagamentoVenda :is(#btnAdicionarProdutoCaixa, .titulo-pagamentos button) { min-height: 42px; padding: 8px 10px; }
#modalPagamentoVenda .quantidade-produto-caixa { width: 136px; grid-template-columns: 42px minmax(0, 1fr) 42px; align-items: center; }
#modalPagamentoVenda .quantidade-produto-caixa input { padding: 0 2px; text-align: center; }
#modalPagamentoVenda .quantidade-produto-caixa button { height: 42px; min-height: 42px; width: 42px; min-width: 42px; padding: 0; background: #f6f8fa; color: #334155; }
#modalPagamentoVenda :is(.remover-pagamento, .remover-produto-caixa) { width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; display: inline-grid; place-items: center; background: #fff; color: #8c3535; }
#modalPagamentoVenda .linha-pagamento { padding: 5px 6px; margin-bottom: 5px; gap: 6px; border-radius: 8px; }
#modalPagamentoVenda .linha-pagamento .remover-pagamento { padding: 0; min-height: 44px; justify-self: end; }
#modalPagamentoVenda .campos-produto-caixa { gap: 6px 10px; padding-bottom: 8px; }
#modalPagamentoVenda .produtos-caixa h3 { margin-top: 8px; }
#modalPagamentoVenda .linha-produto-caixa { padding: 6px 0; }
#modalPagamentoVenda .ajustes-finalizacao-venda { margin-bottom: 8px; }
#modalPagamentoVenda .card-formas-pagamento { padding: 8px; }
#modalPagamentoVenda .titulo-pagamentos { margin-bottom: 6px; }
#modalPagamentoVenda .btn-confirmar-pagamento { min-height: 48px; border-color: #205b3d; }
@media (max-width: 800px) {
    #modalPagamentoVenda :is(input:not([type="hidden"]), select) { font-size: 16px; }
}
/* Consulta operacional e calendário da Recepção. */
#recepcao .recepcao-consulta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; min-width: 0; }
#recepcao .recepcao-busca { width: 280px; max-width: 100%; min-height: 44px; }
#recepcao .recepcao-busca input { min-width: 0; }
#recepcao .recepcao-calendario { position: relative; max-width: 100%; }
#recepcao .recepcao-calendario summary { cursor: pointer; min-height: 44px; padding: 10px 12px; border: 1px solid #344652; border-radius: 8px; color: #d9e2e8; background: #0d1920; overflow-wrap: anywhere; }
#recepcao .recepcao-calendario-painel { position: absolute; top: calc(100% + 6px); right: 0; z-index: 20; width: min(340px, calc(100vw - 32px)); padding: 12px; background: #14232c; color: #fff; border: 1px solid #344652; border-radius: 10px; box-shadow: 0 8px 24px #0005; max-height: 70dvh; overflow-y: auto; }
#recepcao .recepcao-calendario-painel header, #recepcao .recepcao-calendario-painel footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
#recepcao .recepcao-calendario-painel button { min-height: 40px; min-width: 0; padding: 4px; border: 1px solid #344652; border-radius: 6px; background: #0d1920; color: #fff; }
#recepcao .recepcao-calendario-painel header button { min-width: 40px; }
#recepcao .recepcao-calendario-painel p { margin: 8px 0; font-size: 12px; color: #b7c5cf; }
#recepcao .recepcao-calendario-semana, #recepcao .recepcao-calendario-dias { display: grid; grid-template-columns: repeat(7,minmax(0,1fr)); gap: 3px; text-align: center; }
#recepcao .recepcao-calendario-semana { font-size: 12px; margin-bottom: 5px; }
#recepcao .recepcao-calendario-dias .limite-periodo { background: #286b49; border-color: #6bc38b; }
#recepcao .recepcao-calendario-dias .dentro-periodo { background: #244337; }
#recepcao .recepcao-calendario-dias [aria-current="date"] { text-decoration: underline; }
#recepcao .recepcao-calendario-painel footer { margin-top: 10px; }
#recepcao .recepcao-calendario-painel footer button { flex: 1; }
#recepcao .recepcao-calendario button:focus-visible, #recepcao .recepcao-calendario summary:focus-visible { outline: 2px solid #8bb9dc; outline-offset: 2px; }
@media (max-width: 600px) {
    #recepcao .recepcao-consulta { width: 100%; }
    #recepcao .recepcao-busca { flex: 1 1 200px; width: auto; }
    #recepcao .recepcao-calendario { flex: 1 1 100%; width: 100%; }
    #recepcao .recepcao-calendario-painel { position: static; margin-top: 6px; width: min(340px, 100%); }
}
/* Abas compactas: quebra real dos componentes, sem cortar conteúdo. */
#recepcao .recepcao-ferramentas { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px 12px; margin: 14px 0; min-width: 0; }
#recepcao .recepcao-filtros { flex: 1 1 390px; display: flex; flex-wrap: wrap; gap: 5px; width: auto; min-width: 0; max-width: 100%; overflow-x: visible; padding-bottom: 0; }
#recepcao .recepcao-filtros button { flex: 0 1 auto; min-width: 0; min-height: 44px; padding: 8px 9px; margin: 0; font-size: 13px; line-height: 1.3; display: inline-flex; align-items: center; justify-content: center; gap: 5px; white-space: normal; overflow-wrap: anywhere; }
#recepcao .recepcao-filtros span { flex: 0 0 auto; margin: 0; }
#recepcao .recepcao-consulta { flex: 0 1 auto; max-width: 100%; gap: 6px; }
#recepcao .recepcao-busca { width: 240px; min-height: 44px; padding: 0 10px; }
#recepcao .recepcao-calendario summary { padding: 10px; font-size: 13px; }
@media (max-width: 600px) {
    #recepcao .recepcao-filtros { flex-basis: 100%; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
    #recepcao .recepcao-consulta { flex: 1 1 100%; }
    #recepcao .recepcao-busca { width: auto; flex: 1 1 200px; }
}
#recepcao #btnVendaProdutoRecepcao { flex: 0 0 44px; width: 44px; min-width: 44px; min-height: 44px; padding: 0; font-size: 21px; }
#recepcao #btnSairRecepcao { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 44px; width: 44px; min-width: 44px; height: 44px; min-height: 44px; padding: 0; }
#recepcao #btnNovaComandaRecepcao { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: auto; min-width: max-content; height: 50px; min-height: 50px; padding: 0 18px; border-radius: 8px; font-size: 14px; font-weight: 800; white-space: nowrap; line-height: 1; justify-self: start; }
#recepcao #btnVendaProdutoRecepcao, #recepcao #btnSairRecepcao { border-radius: 8px; }
#recepcao .recepcao-barra { flex-wrap: wrap; }
#recepcao .recepcao-cabecalho-direito { min-width: 0; max-width: 100%; flex-wrap: wrap; align-items: center; }
@media (max-width: 900px) {
    #recepcao .recepcao-cabecalho-direito { display: grid; grid-template-columns: minmax(0,1fr) 44px; }
    #recepcao .recepcao-usuario-sessao { grid-column: 1 / -1; }
}
@media (max-width: 360px) {
    #recepcao .recepcao-cabecalho-direito { grid-template-columns: minmax(0,1fr); }
}
#modalPagamentoVenda.modo-carrinho-produto .responsavel-recebimento,
#modalPagamentoVenda.modo-carrinho-produto .ajustes-finalizacao-venda,
#modalPagamentoVenda.modo-carrinho-produto .card-formas-pagamento,
#modalPagamentoVenda.modo-carrinho-produto #btnConfirmarPagamento,
#modalPagamentoVenda.modo-carrinho-produto #previaDinheiroSocios { display: none; }
#identificacaoVendaProduto { min-width: 0; margin-bottom: 16px; }
#identificacaoVendaProduto label { display: block; margin-bottom: 6px; }
#identificacaoVendaProduto input { width: 100%; min-width: 0; min-height: 44px; box-sizing: border-box; }
#resultadosClienteComandaProduto { display: grid; gap: 6px; max-height: 200px; overflow: auto; margin-top: 6px; }
#resultadosClienteComandaProduto button { min-height: 44px; text-align: left; white-space: normal; overflow-wrap: anywhere; }
#confirmarDescarteVendaProduto { margin: auto; width: min(440px,calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; padding: 24px; border: 0; border-radius: 12px; }
#confirmarDescarteVendaProduto::backdrop { background: rgba(0,0,0,.55); }
#confirmarDescarteVendaProduto p { margin: 14px 0; line-height: 1.5; }
#confirmarDescarteVendaProduto .acoes-modal-repasse { flex-wrap: wrap; }
#confirmarDescarteVendaProduto button { min-height: 44px; }
.dialog-codigo-recebimento{box-sizing:border-box;margin:auto;width:min(420px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #dfe3e8;border-radius:12px;padding:24px;color:#111318;background:#fff}
.dialog-codigo-recebimento::backdrop{background:rgb(0 0 0 / 45%)}
.dialog-codigo-recebimento h2{margin-top:0}
.dialog-codigo-recebimento label{display:block;margin-bottom:8px;font-weight:700}
.dialog-codigo-recebimento input{box-sizing:border-box;width:100%;min-height:44px;border:1px solid #cfd5dc;border-radius:7px;padding:10px;font-size:20px;letter-spacing:8px}
.dialog-codigo-recebimento .acoes-formulario{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.dialog-codigo-recebimento button{min-height:44px;flex:1}
