/* Tema de referência provisório. Paleta candidata do CONCEITO_E_PADROES, seção 9.4. */
:root{--orb-primary:#2563eb;--orb-primary-strong:#1d4ed8;--orb-text:#111827;--orb-bg:#f8fafc;--orb-surface:#fff;--orb-border:#cbd5e1;--orb-success:#15803d;--orb-danger:#b91c1c;--orb-focus:#1d4ed8;--orb-muted:#475569}
*{box-sizing:border-box}html{font-size:16px}body{margin:0;background:var(--orb-bg);font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--orb-text);line-height:1.5}a{color:var(--orb-primary-strong)}a:hover{text-decoration:underline}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}input,textarea{border:1px solid var(--orb-border);border-radius:8px;padding:12px;min-height:44px;width:100%;background:white;color:var(--orb-text)}input:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--orb-focus);outline-offset:2px}input[type=checkbox]{width:20px;min-height:20px;height:20px;accent-color:var(--orb-primary)}label{display:block;font-weight:600;margin:16px 0 5px}.campo-check{display:flex;gap:10px;align-items:center;font-weight:500}.limite{width:min(100% - 32px,1250px);margin-inline:auto}.topo{background:var(--orb-surface);border-bottom:1px solid var(--orb-border)}.cabecalho{display:flex;justify-content:space-between;align-items:center;gap:22px;min-height:76px;flex-wrap:wrap;padding-block:12px}.marca{display:flex;align-items:center;gap:7px;text-decoration:none;color:var(--orb-text);font-size:23px;white-space:nowrap}.marca-simbolo{color:var(--orb-primary)}.pms{color:var(--orb-primary)}.etiqueta-versao{font-size:12px;border:1px solid var(--orb-border);border-radius:6px;padding:2px 5px;color:var(--orb-muted)}.navegacao{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.navegacao a{font-weight:600;text-decoration:none}.conteudo{padding-block:32px 72px;min-height:68vh}.rodape{border-top:1px solid var(--orb-border);font-size:13px;color:var(--orb-muted);padding:18px 0;background:white}.faixa-suporte{background:#fff2cb;color:#5d3e00;padding:12px 0;border-bottom:2px solid #bf8400}.titulo-linha{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:22px}.titulo-linha h1,.titulo-linha h2{margin:0}.sobretitulo{color:var(--orb-primary-strong);font-size:14px;font-weight:750;text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px}.subtitulo,.ajuda{color:var(--orb-muted)}h1{font-size:clamp(1.5rem,3vw,2rem);line-height:1.2}h2{font-size:1.25rem}h3{font-size:1.05rem}.painel{background:white;border:1px solid var(--orb-border);border-radius:12px;padding:24px;margin-bottom:22px;box-shadow:0 2px 12px #15243909}.painel h2:first-child{margin-top:0}.botao{display:inline-flex;align-items:center;justify-content:center;padding:10px 17px;border-radius:8px;background:white;border:1px solid var(--orb-border);text-decoration:none;color:var(--orb-text);font-weight:650;min-height:44px}.botao:hover{text-decoration:none;background:#eff6ff}.botao.primario{background:var(--orb-primary);border-color:var(--orb-primary);color:white}.botao.primario:hover{background:var(--orb-primary-strong)}.botao.pequeno{font-size:14px;padding:7px 11px}.botao-texto{border:0;color:var(--orb-primary-strong)}.botao-alerta{border-color:#b45309;color:#744000}.form-inline{display:inline-flex;align-items:center;gap:12px;margin:0}.form-inline input{min-width:220px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:16px}.cartao-link{display:flex;flex-direction:column;gap:6px;padding:20px;border:1px solid var(--orb-border);border-radius:10px;background:white;text-decoration:none;min-height:120px}.cartao-link strong{font-size:18px}.cartao-link span{font-size:14px;color:var(--orb-muted)}.cartao-link:hover{border-color:var(--orb-primary);box-shadow:0 3px 12px #1d4ed815;text-decoration:none}.acesso{max-width:440px;margin:2vh auto}.formulario{max-width:720px}.largura-total{width:100%;margin-top:20px}.validacao{color:#a61919;font-weight:500;margin:12px 0}.alerta{padding:14px;border:1px solid;border-radius:10px;margin-bottom:20px}.alerta.sucesso{color:#14532d;border-color:#86efac;background:#f0fdf4}.alerta.perigo{color:#991b1b;border-color:#fecaca;background:#fef2f2}.vazio{color:var(--orb-muted);padding:14px 0}.tabela-rolagem{width:100%;overflow-x:auto}.tabela{width:100%;border-collapse:collapse;text-align:left}.tabela th,.tabela td{padding:14px;border-bottom:1px solid #e2e8f0;vertical-align:middle}.tabela th{font-size:14px;color:var(--orb-muted)}.pesquisa-label{display:flex;align-items:center;gap:8px;margin:0}.pesquisa-label input{width:min(270px,100%)}.margem-topo{margin-top:22px}.barra-acoes{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.barra-acoes input{max-width:450px}.grupo-modulo{border:1px solid var(--orb-border);border-radius:10px;margin-top:18px;overflow:hidden}.grupo-titulo{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:12px 20px;background:#eff6ff}.grupo-titulo h2{margin:0;text-transform:capitalize}.grupo-titulo label{margin:0}.grupo-tela{padding:16px 20px;border-top:1px solid var(--orb-border)}.grupo-tela h3{margin:0 0 10px}.permissoes-lista{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:10px}.permissao{display:flex;align-items:flex-start;gap:12px;border:1px solid #e2e8f0;border-radius:8px;padding:14px;margin:0;cursor:pointer;font-weight:400}.permissao span{flex:1}.permissao small{display:block;color:var(--orb-muted);font-size:13px}.permissao input{flex:0 0 20px;margin:3px 0 0}.ajuda-icone{flex:0 0 22px!important;border:1px solid var(--orb-border);height:22px;text-align:center;border-radius:50%;font-size:13px;font-style:italic}.barra-salvar{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 0 0}.oculto-visualmente{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.permissao[hidden],.grupo-modulo[hidden]{display:none}.responsivo{display:flex}.responsivo input{flex:1}.faixa-suporte strong{font-weight:800}.linha-excecao{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--orb-border);padding:13px 0}.linha-excecao select{min-height:44px;min-width:150px;max-width:220px;padding:8px;border:1px solid var(--orb-border);border-radius:8px;background:white;color:var(--orb-text)}
@media(max-width:768px){.cabecalho{align-items:flex-start}.navegacao{width:100%;justify-content:flex-start}.painel{padding:18px}.titulo-linha{align-items:flex-start}.barra-acoes{display:block}.barra-acoes label{display:block}.barra-acoes input{max-width:none}.permissoes-lista{grid-template-columns:1fr}.grupo-titulo{display:block}.grupo-titulo label{margin-top:10px}.responsivo{display:flex;flex-direction:column;width:100%}.responsivo input,.responsivo button{width:100%}.pesquisa-label{flex-direction:column;align-items:flex-start}}

/* Orbita PMS — revisão visual incremental 0.2.1. Valores de identidade: candidatos da documentação, ainda sujeitos a aprovação. */
:root{--orb-shadow:0 7px 28px rgba(15,23,42,.055);--orb-radius:14px;--menu-width:272px;--orb-sidebar:#152237;--orb-sidebar-text:#dce5f1}
body{background:#f4f7fb;color:#17253a;min-height:100vh}
.pular-conteudo{position:absolute;left:12px;top:-100px;z-index:10000;padding:10px 16px;background:#fff;border:2px solid var(--orb-primary);border-radius:8px}
.pular-conteudo:focus{top:10px}
.app-shell{display:flex;min-height:100vh;align-items:stretch}
.menu-lateral{width:var(--menu-width);flex:0 0 var(--menu-width);background:var(--orb-sidebar);color:var(--orb-sidebar-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;overflow-y:auto;z-index:51;scrollbar-width:thin;scrollbar-color:#53647d transparent}
.marca-menu{padding:23px 19px;border-bottom:1px solid #ffffff21;min-height:77px;color:#fff!important;gap:8px}
.marca-menu .pms{color:#80b4ff}.marca-menu .etiqueta-versao{border-color:#ffffff3d;color:#ccdaf0;font-size:11px;margin-left:auto}
.marca-simbolo{display:inline-flex;width:35px;height:35px;justify-content:center;align-items:center;background:#dbeafe;color:#2563eb;border-radius:11px;font-size:26px;font-weight:700}
.marca-menu .marca-simbolo{background:#386caa;color:#fff}
.menu-contexto{padding:18px 19px 19px;background:#ffffff0c;border-bottom:1px solid #ffffff1f;display:flex;flex-direction:column;gap:4px}
.menu-contexto-rotulo{color:#a6bbd7;font-size:11px;font-weight:750;letter-spacing:.09em}
.menu-contexto strong{font-size:15px;line-height:1.35;color:white;overflow-wrap:anywhere}
.menu-contexto a{font-size:13px;color:#bfdbfe;text-decoration:none;margin-top:2px;font-weight:600}
.menu-contexto a:hover{text-decoration:underline}
.menu-itens{display:flex;flex-direction:column;padding:17px 11px 24px;flex:1;gap:3px}
.menu-grupo{font-size:10px;letter-spacing:.105em;font-weight:800;color:#91a9c9;margin:21px 10px 7px;display:flex;flex-direction:column;gap:4px}
.menu-grupo:first-child{margin-top:5px}.menu-grupo small{font-size:11px;font-weight:450;letter-spacing:0;color:#9bb0c9}
.menu-link{display:flex;align-items:center;min-height:44px;gap:10px;padding:9px 10px;border-radius:9px;color:#dbe5f3!important;text-decoration:none!important;font-weight:550;font-size:14px;line-height:1.2}
.menu-link:hover{background:#ffffff17;color:#fff!important}.menu-link.ativo{background:#315986;color:white!important;box-shadow:inset 3px 0 #93c5fd}
.menu-icone{display:flex;align-items:center;justify-content:center;width:26px;height:26px;flex:0 0 26px;border-radius:7px;background:#ffffff13;color:#caddf6;font-size:20px;font-weight:600}
.menu-link small{margin-left:auto;font-size:11px;white-space:nowrap}
.menu-link.indisponivel{color:#a9bdd7!important;cursor:default;opacity:.67}.menu-link.indisponivel .menu-icone{opacity:.8}
.menu-link.indisponivel:hover{background:transparent}.menu-rodape{padding:15px 20px 22px;border-top:1px solid #ffffff20;font-size:12px;color:#d0e2f6}.menu-rodape small{display:block;color:#9fb5d0;margin-top:5px}.status-ponto{width:9px;height:9px;border-radius:50%;background:#34b87c;display:inline-block;margin-right:5px;flex:none}
.app-central{flex:1;min-width:0;display:flex;flex-direction:column}.app-autenticado .topo{position:sticky;top:0;z-index:30;border-bottom:1px solid #e1e8f0;background:#fff}
.app-autenticado .cabecalho{max-width:none;width:100%;min-height:76px;flex-wrap:nowrap;padding:13px clamp(19px,3vw,38px);justify-content:space-between}
.cabecalho-contexto{display:flex;flex-direction:column;gap:2px;min-width:0}.cabecalho-marcador{font-size:12px;color:#64748b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cabecalho-contexto strong{font-size:17px;color:#1c304b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cabecalho-acoes{display:flex;align-items:center;gap:14px;flex:none}.cabecalho-acoes .form-inline{margin:0}.cabecalho-acoes .botao-sair{color:#394961;border:1px solid #d6e0eb;border-radius:8px;padding:8px 13px}
.ajuda-topo{font-size:14px;font-weight:650;text-decoration:none;color:#25517e}.ajuda-topo:hover{text-decoration:underline}
.avatar{display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;border-radius:50%;background:#e8f1ff;color:#2555a2;font-weight:800;border:1px solid #c9daf8}
.botao-menu{display:none;background:white;border:1px solid #d4dfeb;border-radius:10px;width:44px;height:44px;color:#183450;font-size:21px;flex:none}
.menu-fundo{display:none}
.app-autenticado .limite{width:min(100% - 48px,1300px)}.app-autenticado .conteudo{flex:1;width:min(100% - 48px,1300px);padding:31px 0 58px;min-height:0}
.app-autenticado .rodape{background:transparent;border:0;padding:20px 0;color:#66768a}.app-autenticado .rodape .limite{font-size:12px}
.faixa-suporte{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#fff3cb;color:#583d05;padding:10px clamp(19px,3vw,38px);border-bottom:2px solid #b88b32;font-size:14px}.faixa-suporte .form-inline{margin-left:auto}
.painel{border:1px solid #e2e9f2;border-radius:var(--orb-radius);box-shadow:var(--orb-shadow);padding:26px;background:#fff}
.titulo-linha{margin-bottom:25px;gap:20px}.titulo-linha h1{font-weight:750;letter-spacing:-.025em;font-size:clamp(24px,2.5vw,31px)}.titulo-linha .subtitulo{margin:9px 0 0}
.sobretitulo{color:#2a63a7;letter-spacing:.1em;font-size:11px;font-weight:800;margin:0 0 8px}.subtitulo,.ajuda{color:#617188}
h1,h2,h3{color:#1b2d47}h2{font-size:20px;line-height:1.3;letter-spacing:-.01em}h3{font-size:17px}
.botao{border-radius:9px;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease}.botao.primario{background:#2563eb;color:#fff}.botao.primario:hover{background:#1d4ed8;box-shadow:0 3px 14px #2563eb25}.botao-claro{background:#fff;color:#1d4ed8;border-color:#cbdcf2}.botao-claro:hover{background:#eaf2ff}.link-acao{display:inline-block;font-size:14px;font-weight:700;margin-top:5px;text-decoration:none}.link-acao:hover{text-decoration:underline}
.hero-boasvindas{display:flex;justify-content:space-between;align-items:center;gap:35px;background:linear-gradient(122deg,#eaf3ff 0%,#f8fcff 66%,#e4f3f4 100%);border:1px solid #dce8f7;border-radius:18px;padding:clamp(25px,4vw,46px);margin-bottom:32px;overflow:hidden}
.hero-boasvindas>div:first-child{max-width:690px}.hero-boasvindas h1{font-size:clamp(26px,3vw,37px);letter-spacing:-.045em;margin:0 0 12px;line-height:1.17}.hero-boasvindas p:not(.sobretitulo){color:#546780;font-size:15px;margin:0 0 24px}
.hero-acoes{display:flex;flex-wrap:wrap;gap:10px}.hero-ilustracao{display:flex;align-items:center;justify-content:center;gap:15px;padding:25px 26px;border-radius:18px;background:#ffffffa8;border:1px solid #ffffffdf;color:#244b80;box-shadow:0 16px 30px #14396113;flex:none;transform:rotate(-5deg)}
.hero-ilustracao>span{font-size:55px;color:#447fc2}.hero-ilustracao strong{display:block;font-size:30px;line-height:1}.hero-ilustracao small{display:block;font-size:9px;letter-spacing:.1em;font-weight:750;margin-top:8px}
.secao-cabecalho{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:19px;flex-wrap:wrap}.secao-cabecalho h2{margin:0 0 5px}.secao-cabecalho .subtitulo{margin:0}.contador-itens{background:#e6eef9;border:1px solid #d5e4f8;color:#244a74;border-radius:30px;padding:5px 12px;font-size:13px;font-weight:600}
.cards-ambiente{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr))}.cartao-ambiente{min-height:214px;box-shadow:var(--orb-shadow);padding:22px;gap:6px;border-color:#dee8f4;border-radius:14px;transition:transform .16s,border-color .16s}.cartao-ambiente:hover{transform:translateY(-2px)}.cartao-ambiente strong{font-size:20px;color:#20334f}.cartao-categoria{font-size:11px!important;letter-spacing:.09em;font-weight:750;color:#6983a3!important}
.ambiente-icone{width:42px;height:42px;border-radius:11px;background:#e8f0fe;color:#2563eb;font-size:29px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.cartao-rodape{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:15px;color:#2057a3!important;font-size:13px!important;font-weight:750}
.grade-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:21px}.grade-2>.painel{margin-bottom:0}.margem-topo{margin-top:23px}
.lista-passos{list-style:none;padding:0;margin:13px 0 0;display:flex;flex-direction:column;gap:20px}.lista-passos li{display:flex;align-items:flex-start;gap:13px}.lista-passos li>span{width:30px;height:30px;flex:0 0 30px;display:flex;justify-content:center;align-items:center;border-radius:50%;background:#e8f1ff;color:#225ca6;font-weight:800;font-size:13px}.lista-passos li>span.passo-pendente{background:#f2f5f9;color:#7b8ba1}.lista-passos strong{font-size:14px;color:#223851}.lista-passos p{font-size:14px;color:#617188;margin:4px 0 0;line-height:1.5}.lista-passos small{display:block;color:#697a91;margin-top:6px}
.painel-suave{background:#fff;border-left:3px solid #81b5ec}.separador{border-bottom:1px solid #e2e8f0;margin:24px 0}.nota-disponibilidade{font-size:14px;line-height:1.55;color:#536781;margin-bottom:0}
.estado-vazio{text-align:center;padding:45px 20px}.estado-vazio h3{margin-bottom:8px}.estado-vazio p{max-width:600px;margin:0 auto 18px;color:#617188}.vazio-icone{display:flex;align-items:center;justify-content:center;width:70px;height:70px;margin:0 auto 14px;background:#e8f1ff;color:#2663ae;font-size:39px;border-radius:19px}
.faixa-contexto{display:flex;align-items:flex-start;gap:14px;padding:15px 19px;background:#ecfdf5;border:1px solid #b8ead0;border-radius:10px;margin-bottom:23px}.faixa-contexto .status-ponto{margin-top:7px}.faixa-contexto strong{display:block;font-size:14px;color:#145c41}.faixa-contexto span:not(.status-ponto){display:block;font-size:13px;color:#40665b;margin-top:3px}
.indicadores{grid-template-columns:repeat(3,minmax(0,1fr))}.indicador{display:flex;flex-direction:column;gap:6px;background:white;border:1px solid #e2e9f2;border-radius:14px;padding:23px;box-shadow:var(--orb-shadow)}.indicador>span{font-size:11px;color:#607992;font-weight:800;letter-spacing:.07em}.indicador>strong{font-size:25px;color:#1c3d67;line-height:1.25;overflow-wrap:anywhere}.indicador>small{font-size:12px;color:#6d7f92}
.atalhos-lista{display:flex;flex-direction:column;gap:9px;margin-top:16px}.atalhos-lista>a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid #e2eaf4;border-radius:10px;text-decoration:none;color:#2b5d9e}.atalhos-lista>a:hover{background:#f5f9ff;border-color:#bed4ef}.atalhos-lista>a>span:nth-child(2){flex:1}.atalhos-lista strong,.atalhos-lista small{display:block}.atalhos-lista strong{color:#1e3451;font-size:14px}.atalhos-lista small{font-size:12px;color:#6b7d94;margin-top:3px}.atalho-icone{width:33px;height:33px;flex:0 0 33px;display:flex;align-items:center;justify-content:center;background:#e9f2ff;color:#205fae;border-radius:9px;font-weight:800;font-size:22px}
.situacao{display:inline-flex;padding:4px 9px;border-radius:30px;font-size:12px;font-weight:750;white-space:nowrap}.situacao.disponivel{background:#dbfce9;color:#136440}.situacao.pendente{background:#edf1f6;color:#54657a}
.glossario{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr));gap:16px}.glossario>div{background:#f7f9fc;padding:14px;border-radius:9px}.glossario strong{font-size:14px;color:#284667}.glossario p{font-size:13px;color:#65778c;margin:4px 0 0}
.acesso{max-width:500px;margin:5vh auto;padding:35px}.app-publico .topo{padding:7px 0}.topo-publico .cabecalho{min-height:65px}.texto-publico{font-size:13px;color:#60738d}.app-publico .conteudo{min-height:70vh}
.formulario{max-width:750px}.tabela th{background:#f8fafd;font-size:12px;letter-spacing:.02em}.tabela td{font-size:14px}.tabela tbody tr:hover{background:#f8fbff}.tabela-rolagem{border-radius:9px}
@media(max-width:1100px){.hero-ilustracao{display:none}}
@media(max-width:1000px){.menu-lateral{position:fixed;left:0;top:0;bottom:0;transform:translateX(-100%);transition:transform .18s ease;width:min(300px,85vw);height:100dvh}.menu-aberto .menu-lateral{transform:translateX(0)}.menu-aberto .menu-fundo{display:block;position:fixed;inset:0;z-index:50;border:0;background:rgba(15,23,42,.48);width:100%;height:100%}.botao-menu{display:inline-flex;justify-content:center;align-items:center}.app-autenticado .cabecalho{justify-content:flex-start}.cabecalho-contexto{flex:1}.app-autenticado .conteudo{width:min(100% - 32px,1300px)}}
@media(max-width:760px){.grade-2{grid-template-columns:1fr}.indicadores{grid-template-columns:1fr}.app-autenticado .cabecalho{padding:12px 15px;gap:12px}.cabecalho-contexto strong{font-size:15px}.cabecalho-marcador{font-size:11px}.cabecalho-acoes{gap:7px}.cabecalho-acoes .ajuda-topo span{display:none}.cabecalho-acoes .avatar{display:none}.cabecalho-acoes .botao-sair{padding:8px 10px;font-size:13px}.hero-boasvindas{padding:24px}.app-autenticado .conteudo{padding-top:22px}.titulo-linha{align-items:flex-start}.painel{padding:20px}.botao{white-space:normal}.cards-ambiente{grid-template-columns:1fr}.faixa-suporte{padding:10px 16px}.texto-publico{display:none}}
@media(prefers-reduced-motion:reduce){.menu-lateral,.botao,.cartao-ambiente{transition:none}}

/* Cadastros e identidade visual por empreendimento — preserva os tokens Orbita existentes. */
.icone-menu-operacional{width:23px;height:23px;object-fit:contain;flex:0 0 23px}.grupo-menu-operacional-antigo>summary{cursor:pointer;list-style:none}.grupo-menu-operacional-antigo>summary::-webkit-details-marker{display:none}.menu-seta{margin-left:auto}.menu-subitens{margin-left:13px;padding-left:9px;border-left:1px solid #405572}.menu-subitem{font-size:13px!important;padding:9px 10px!important}.menu-subitem .icone-menu-operacional{width:19px;height:19px;flex-basis:19px}.logo-hotel-menu{width:48px;height:43px;object-fit:contain;background:#fff;border-radius:6px;padding:3px}.marca-menu strong{font-size:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cards-cadastros{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.cartao-cadastro{min-height:153px;gap:9px}.cartao-cadastro img{width:38px;height:38px;object-fit:contain}.cartao-cadastro strong{font-size:15px}.cartao-cadastro span{font-size:13px}.icone-titulo-operacional{width:32px;height:32px;object-fit:contain;margin-right:12px;vertical-align:middle}.grade-cadastro{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr)}.acoes-cadastro{display:flex;gap:6px;flex-wrap:wrap}.logo-cartao{height:90px;display:flex;align-items:center;justify-content:center;background:#f7f9fc;border:1px solid var(--orb-border);border-radius:10px}.logo-cartao img{max-width:100%;max-height:75px;object-fit:contain}.cartao-hotel{display:flex;flex-direction:column;gap:10px;margin-bottom:0}.cartao-hotel h2{margin:0}.cartao-hotel .barra-acoes{margin-top:auto}.logo-preview{min-height:130px;background:#f7f9fc;border:1px dashed var(--orb-border);border-radius:10px;display:flex;align-items:center;justify-content:center;padding:18px;color:var(--orb-muted)}.logo-preview img{max-height:115px;max-width:100%;object-fit:contain}select{border:1px solid var(--orb-border);border-radius:8px;padding:12px;min-height:44px;width:100%;background:white}select:focus-visible{outline:3px solid var(--orb-focus);outline-offset:2px}@media(max-width:850px){.grade-cadastro{grid-template-columns:1fr}.menu-lateral .marca-menu{max-width:100%}}

.logo-login-hotel{display:flex;justify-content:center;align-items:center;min-height:85px;margin:0 0 20px}.logo-login-hotel img{max-height:80px;max-width:100%;object-fit:contain}

/* Menu operacional OrbitaPms — árvore completa, navegável e com estado funcional explícito. */
:root{--menu-width:316px}
.pesquisa-menu-operacional{padding:3px 9px 4px}
.pesquisa-menu-operacional input{min-height:39px;width:100%;font-size:13px;padding:9px 12px;color:#172c47;background:#fff;border:1px solid #7990ad;border-radius:9px}
.pesquisa-menu-operacional input:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}
.legenda-menu-operacional{color:#c5d7ed;font-size:11px;line-height:1.45;margin:4px 11px 13px}
.arvore-menu-operacional{display:flex;flex-direction:column;gap:3px}
.no-menu-operacional{min-width:0}
.no-menu-operacional[hidden],.nenhum-item-menu[hidden]{display:none!important}
.ramo-menu-operacional>summary{list-style:none;cursor:pointer;user-select:none}
.ramo-menu-operacional>summary::-webkit-details-marker{display:none}
.ramo-menu-operacional>summary .menu-seta{font-size:18px;transform:rotate(-90deg);transition:transform .15s ease;margin-left:auto;flex:0 0 14px;text-align:center}
.ramo-menu-operacional[open]>summary .menu-seta{transform:rotate(0deg)}
.ramo-menu-operacional>summary.ramo-ativo{background:#ffffff14}
.filhos-menu-operacional{border-left:1px solid #4b6887;margin:3px 0 7px 15px;padding-left:8px;display:flex;flex-direction:column;gap:2px}
.menu-opcao-operacional{min-height:39px;padding:8px 7px;gap:8px;font-size:13px}
.menu-opcao-operacional .nome-item-operacional{min-width:0;flex:1;white-space:normal;overflow-wrap:break-word}
.icone-menu-operacional{width:22px;height:22px;object-fit:contain;flex:0 0 22px;border-radius:3px}
.filhos-menu-operacional .icone-menu-operacional{width:19px;height:19px;flex-basis:19px}
.item-menu-indisponivel{opacity:.73;cursor:default;color:#afc3d9!important}
.item-menu-indisponivel:hover{background:transparent!important;color:#afc3d9!important}
.estado-menu-operacional{margin-left:auto;flex:0 0 auto;max-width:77px;white-space:normal!important;font-size:10px!important;line-height:1.2;text-align:right;color:#a5c0db}
.nenhum-item-menu{font-size:12px;color:#e1e9f4;padding:4px 12px 12px}
.icone-titulo-operacional{width:32px;height:32px;object-fit:contain;margin-right:12px;vertical-align:middle}
@media(max-width:1000px){.menu-lateral{width:min(330px,90vw)}}
@media(prefers-reduced-motion:reduce){.ramo-menu-operacional>summary .menu-seta{transition:none}}
.menu-atalho-cadastros{color:#bfdbfe!important;font-size:12px;font-weight:750;border:1px solid #6f8eaf55;background:#ffffff0a;min-height:34px}

/* Operacional: reaproveita cores/tipografia do OrbitaPms, sem adicionar tema. */
.operacional-orientacao{margin:0 0 18px;line-height:1.6}
.formulario-operacional{display:flex;flex-direction:column;gap:6px}
.formulario-operacional input:not([type=checkbox]),.formulario-operacional select{min-height:39px;max-width:100%}
.formulario-operacional label{margin-top:8px}
.formulario-operacional h3{margin:18px 0 4px}
.tabela-precos{min-width:560px;font-size:.88rem}
.tabela-precos th{white-space:nowrap}
.tabela-precos .entrada-preco{min-width:76px;max-width:92px;box-sizing:border-box}
.tabela-precos input[type=checkbox]{width:19px;height:19px}
@media(max-width:800px){.tabela-precos{min-width:720px}.operacional-orientacao{margin-bottom:12px}}

/* Parâmetros transversais: agrupamento legível com a identidade visual existente. */
.grupo-parametros{padding:15px 18px;margin:8px 0 14px;border:1px solid var(--borda,#d8dfe5);border-radius:10px;display:grid;gap:9px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.grupo-parametros legend{padding:0 9px;font-weight:700;font-size:1rem}
.grupo-parametros label{margin:0;align-self:end}
.grupo-parametros input:not([type=checkbox]),.grupo-parametros textarea{max-width:100%;width:100%;box-sizing:border-box}
.grupo-parametros textarea{grid-column:1/-1}
.grupo-parametros .campo-check{align-self:center;padding:6px 0}
@media(max-width:600px){.grupo-parametros{grid-template-columns:1fr;padding:12px}}

/* Configuração por abas — parâmetros do hotel */
.abas-parametros{display:flex;gap:.45rem;overflow-x:auto;padding:.3rem .2rem .75rem;margin:1rem 0;scrollbar-width:thin}
.aba-parametros{white-space:nowrap;padding:.7rem .9rem;border:1px solid #cbd5e1;border-radius:.65rem;background:#fff;color:#334155;cursor:pointer;font-weight:600}
.aba-parametros[aria-selected="true"]{border-color:#2563eb;color:#1d4ed8;background:#eff6ff;box-shadow:inset 0 -2px #2563eb}
.aba-parametros:focus-visible{outline:3px solid #2563eb;outline-offset:2px}
.painel-aba-parametros[hidden]{display:none!important}
.painel-aba-parametros>h2{margin:0 0 1rem}
.tabela-parametros-responsiva{width:100%;overflow:auto}
.tabela-parametros{border-collapse:collapse;width:100%;min-width:590px}
.tabela-parametros th,.tabela-parametros td{border-bottom:1px solid #e2e8f0;text-align:left;padding:.72rem .7rem;vertical-align:middle}
.tabela-parametros thead th{background:#f1f5f9;font-size:.84rem;color:#334155}
.tabela-parametros tbody th{font-weight:550;width:37%}
.tabela-parametros tbody td:nth-child(2){width:34%}
.tabela-parametros tbody td:nth-child(3){color:#475569;font-size:.85rem}
.tabela-parametros tbody tr:hover{background:#f8fafc}
.tabela-parametros input:not([type="checkbox"]),.tabela-parametros textarea{width:100%;min-width:150px;padding:.58rem;border:1px solid #aebccd;border-radius:.5rem;background:#fff;font:inherit}
.tabela-parametros input[type="checkbox"]{width:1.2rem;height:1.2rem;accent-color:#2563eb}
.tabela-parametros input:disabled,.tabela-parametros textarea:disabled{background:#f1f5f9;color:#475569}
.info-hotel-parametros,.aviso-parametros-admin,.nota-parametros{padding:.8rem 1rem;background:#f8fafc;border-left:3px solid #64748b;border-radius:.4rem;margin:.5rem 0 1rem}
.info-hotel-parametros a{margin-left:1rem}
.parametro-logotipo{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap}
.logo-configuracao{max-width:200px;max-height:110px;object-fit:contain}
@media(max-width:700px){.tabela-parametros{min-width:0}.tabela-parametros thead{display:none}.tabela-parametros tbody tr{display:grid;grid-template-columns:1fr;gap:.1rem;padding:.55rem 0}.tabela-parametros th,.tabela-parametros td{border:0;padding:.25rem .45rem}.tabela-parametros tbody td:nth-child(2){width:100%}.tabela-parametros tbody td:nth-child(3){width:100%}.tabela-parametros input:not([type="checkbox"]){min-width:0}}
/* Reservas: painéis legíveis e adaptação em tablet/celular. */
.reserva-grid-campos{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px}
.reserva-filtro{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap}
.reserva-filtro>div{flex:1 1 190px}
.reserva-filtro .botao{margin-bottom:0}
.reserva-rooming-form{display:grid;grid-template-columns:2fr 1fr 1fr auto;gap:12px;align-items:end;margin-top:16px}
.reserva-rooming-form label{margin-top:0}.reserva-rooming-form .botao{align-self:end}
.reserva-mapa{min-width:780px}.reserva-mapa th,.reserva-mapa td{text-align:center;min-width:53px;padding:10px 8px}
.reserva-mapa th:first-child{position:sticky;left:0;background:#f8fafd;min-width:90px}
.reserva-mapa td.vago,.reserva-legenda.vago{background:#e8f7ef;color:#17633e}
.reserva-mapa td.reservado,.reserva-legenda.reservado{background:#dceafd;color:#173e75}
.reserva-mapa td.bloqueado,.reserva-legenda.bloqueado{background:#ffefcc;color:#714600}
.reserva-legenda{display:inline-block;border:1px solid #d0d7df;border-radius:6px;padding:3px 9px;margin:3px}
.reserva-cartoes-uh{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,235px),1fr));gap:16px}
.reserva-cartao-uh{margin:0;border-left:5px solid #7a8a9b}.reserva-livre{border-left-color:#3b9566}.reserva-reservado{border-left-color:#347bd5}.reserva-bloqueado{border-left-color:#d7a030}
.reserva-voucher{max-width:820px;margin-inline:auto}
@media(max-width:900px){.reserva-rooming-form{grid-template-columns:1fr 1fr}.reserva-rooming-form>.botao{grid-column:1/-1}}
@media(max-width:600px){.reserva-rooming-form{grid-template-columns:1fr}.reserva-filtro{display:block}.reserva-filtro .botao{margin-top:12px}.reserva-voucher{padding:15px}}
@media print{.menu-lateral,.topo,.rodape,.reserva-nao-imprimir,.menu-fundo{display:none!important}.app-shell,.app-conteudo{display:block!important;margin:0!important;width:100%!important}.reserva-voucher{border:0;box-shadow:none;max-width:none}}

.reserva-voucher-cabecalho{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:18px}.logo-hotel-voucher{width:auto;max-width:220px;max-height:100px;object-fit:contain}

/* Reservas: fluxo operacional inspirado na disposição do cadastro hoteleiro de referência,
   mantendo a identidade visual OrbitaPms. Escopo isolado para não afetar demais telas. */
.reserva-titulo{margin-bottom:20px}
.reserva-topo-acoes{display:flex;gap:9px;flex-wrap:wrap}
.reserva-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(275px,305px);align-items:start;gap:20px}
.reserva-conteudo{min-width:0}
.reserva-conteudo .painel{padding:24px;margin-bottom:18px}
.reserva-passos{display:flex;flex-wrap:wrap;gap:7px;padding:9px 12px;background:#edf3fa;border:1px solid #dce5f0;border-radius:12px;margin-bottom:15px}
.reserva-passos a{font-size:13px;padding:9px 12px;border-radius:8px;text-decoration:none;font-weight:700;color:#36516f}
.reserva-passos a:hover,.reserva-passos a:focus-visible{background:#fff;color:var(--orb-primary)}
.reserva-secao{scroll-margin-top:20px}
.reserva-secao-titulo{display:flex;align-items:flex-start;gap:15px;padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid #e1e8f2}
.reserva-secao-titulo h2{margin:0;font-size:19px;line-height:1.35}
.reserva-secao-titulo p{margin:4px 0 0;color:var(--orb-muted);font-size:13px}
.reserva-numero{background:#e4f0fd;color:#155d9e;border:1px solid #bcd8f7;border-radius:9px;min-width:38px;height:38px;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.reserva-linha{display:grid;gap:14px;margin-bottom:16px}
.reserva-col-2{grid-template-columns:repeat(2,minmax(0,1fr))}.reserva-col-3{grid-template-columns:repeat(3,minmax(0,1fr))}.reserva-col-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.reserva-campo{min-width:0}.reserva-campo label{display:block;font-size:13px;font-weight:700;margin:0 0 6px;color:#29425f}.reserva-campo label b{color:#ac2441}
.reserva-campo input:not([type=hidden]),.reserva-campo select,.reserva-campo textarea{width:100%;margin:0;background:white;min-height:43px;box-sizing:border-box;border:1px solid #bccbdb;border-radius:8px;padding:9px 12px;color:var(--orb-text);font-size:14px}
.reserva-campo input:focus,.reserva-campo select:focus,.reserva-campo textarea:focus{outline:2px solid #80b4eb;border-color:#377fc6;outline-offset:1px}
.reserva-campo input[aria-invalid=true],.reserva-campo select[aria-invalid=true]{border-color:#be3549;background:#fffafa}
.reserva-campo small{display:block;font-size:12px;line-height:1.45;margin-top:5px;color:#63738a}
.reserva-campo .reserva-erro{color:#b02336;font-weight:700}
.reserva-campo textarea{resize:vertical;min-height:85px}
.reserva-resumo-noites{border:1px solid #d8e4f1;background:#f7faff;border-radius:9px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}
.reserva-resumo-noites span{font-size:12px;color:var(--orb-muted)}.reserva-resumo-noites strong{font-size:22px;line-height:1.2}.reserva-resumo-noites small{font-size:11px;color:var(--orb-muted)}
.reserva-faixa-ajuda{display:flex;gap:9px;align-items:flex-start;padding:12px 14px;border:1px solid #d8e6f5;background:#f3f8fe;border-radius:9px;color:#37577a;font-size:13px;line-height:1.5}
.reserva-faixa-ajuda a{margin-left:auto;white-space:nowrap;color:#155c99;font-weight:700}
.reserva-hospedes-registrados{background:#f7fafc;border-radius:8px;padding:13px 16px;margin-bottom:14px}
.reserva-hospedes-registrados ul{margin:8px 0 0;padding-left:20px}
.reserva-confirmar{border-top:1px solid #e1e8f2;padding-top:17px;margin-top:18px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}
.reserva-confirmar>div{flex:1 1 265px}.reserva-confirmar strong{font-size:15px}.reserva-confirmar p{font-size:13px;color:var(--orb-muted);margin:5px 0 0}
.reserva-confirmar>.botao{flex:0 0 auto}
.reserva-resumo{min-width:0;position:sticky;top:20px}
.reserva-resumo .painel{padding:19px}
.reserva-resumo h2{font-size:17px;margin:8px 0 17px;overflow-wrap:anywhere}
.reserva-resumo dl{margin:0}.reserva-resumo dl>div{display:flex;justify-content:space-between;align-items:flex-start;gap:9px;padding:10px 0;border-bottom:1px solid #e6edf4;font-size:13px}
.reserva-resumo dt{color:#697991;flex:0 0 37%}.reserva-resumo dd{font-weight:700;margin:0;text-align:right;overflow-wrap:anywhere}
.reserva-total{margin:18px 0 12px;padding:14px;background:#eff6fe;border-radius:8px;display:flex;flex-direction:column;gap:5px}
.reserva-total span{font-size:12px;color:#42658b}.reserva-total strong{font-size:25px;line-height:1.1;color:#153a65}
.reserva-status-ocupacao{font-size:13px;padding:11px;background:#f2f5f9;border-radius:8px;color:#465a72;line-height:1.5}
.reserva-previa{border-top:1px solid #dbe6f1;padding-top:12px;font-size:13px;line-height:1.5}
.reserva-previa p{margin:8px 0}.reserva-previa small{color:var(--orb-muted);display:block;margin-top:7px}
.reserva-pos-salvar{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.reserva-campo select option:disabled{color:#8997ab}
@media(max-width:1250px){.reserva-col-4{grid-template-columns:repeat(2,minmax(0,1fr))}.reserva-layout{grid-template-columns:minmax(0,1fr) 265px}}
@media(max-width:1020px){.reserva-layout{grid-template-columns:1fr}.reserva-resumo{position:static;grid-row:1}.reserva-resumo .painel{margin:0}.reserva-resumo dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 15px}.reserva-resumo dl>div{display:block}.reserva-resumo dd{text-align:left;margin-top:4px}.reserva-total{max-width:360px}}
@media(max-width:630px){.reserva-conteudo .painel{padding:16px}.reserva-col-2,.reserva-col-3,.reserva-col-4{grid-template-columns:1fr 1fr}.reserva-linha>.reserva-campo{grid-column:auto}.reserva-campo:has(#NomeHospede),.reserva-campo:has(#CodPessoaFisica),.reserva-campo:has(#CodPessoaJuridica),.reserva-campo:has(#CodContratoEmpresa),.reserva-campo:has(#CodigoTarifa),.reserva-campo:has(#CodigoPacote),.reserva-campo:has(#CodigoTipoPensao),.reserva-campo:has(#CodigoViaReserva),.reserva-campo:has(#CodigoTipoUH),.reserva-campo:has(#CodigoUH){grid-column:1/-1}.reserva-resumo dl{grid-template-columns:1fr 1fr}.reserva-passos{gap:2px}.reserva-passos a{padding:8px;font-size:12px}.reserva-faixa-ajuda{flex-wrap:wrap}}
@media(max-width:410px){.reserva-col-2,.reserva-col-3,.reserva-col-4{grid-template-columns:1fr}.reserva-resumo dl{grid-template-columns:1fr 1fr}.reserva-confirmar>.botao{width:100%}.reserva-faixa-ajuda a{margin-left:0}}

/* Ações com botão direito: Mapa UH, grade de disponibilidade e consulta.
   Não dependem do sistema operacional; possuem alternativas por teclado e toque. */
.reserva-alvo-contexto{cursor:context-menu}
.reserva-alvo-contexto:focus-visible{outline:3px solid var(--orb-focus);outline-offset:2px;position:relative;z-index:1}
.reserva-menu-abrir{white-space:nowrap}
.reserva-uh-cartao-acoes{display:flex;flex-wrap:wrap;gap:7px}
.reserva-uh-cartao-acoes .botao{min-height:36px}
.reserva-menu-contextual[hidden]{display:none!important}
.reserva-menu-contextual{position:fixed;top:8px;left:8px;z-index:6000;width:min(320px,calc(100vw - 16px));max-height:calc(100dvh - 16px);overflow-y:auto;background:#fff;color:#243953;border:1px solid #b7cbe0;border-radius:12px;box-shadow:0 18px 50px #0a224852;padding:7px}
.reserva-menu-contexto-cabecalho{padding:11px 12px 10px;border-bottom:1px solid #e2eaf4;display:flex;flex-direction:column;gap:3px;line-height:1.3}
.reserva-menu-contexto-cabecalho strong{font-size:14px;overflow-wrap:anywhere}
.reserva-menu-contexto-cabecalho small{color:#5a6f88;font-size:12px;overflow-wrap:anywhere}
.reserva-menu-contexto-lista{display:flex;flex-direction:column;padding:5px 0;gap:2px}
.reserva-menu-item{display:flex;align-items:center;gap:10px;width:100%;border:0;background:transparent;min-height:40px;padding:8px 11px;border-radius:7px;color:#23476b;text-align:left;font-size:13px;text-decoration:none;cursor:pointer}
.reserva-menu-item img{width:19px;height:19px;object-fit:contain;flex:0 0 19px}
.reserva-menu-item span{flex:1}
.reserva-menu-item:hover:not(:disabled),.reserva-menu-item:focus-visible:not(:disabled){background:#ebf3ff;color:#163f78;text-decoration:none;outline:2px solid #87b5ec;outline-offset:-2px}
.reserva-menu-item.reserva-menu-indisponivel{color:#7b8795;cursor:not-allowed;font-style:normal;opacity:1}
.reserva-menu-indisponivel small{font-size:10px;white-space:nowrap;color:#8b99aa}
.reserva-contexto-pendentes{border-top:1px solid #e3eaf4;margin-top:6px;padding:7px 0 0}
.reserva-contexto-pendentes summary{font-size:12px;font-weight:650;cursor:pointer;padding:8px 10px;color:#607a95}
.reserva-contexto-vazio{margin:8px 11px;font-size:12px;color:#62748a}
.reserva-grade-calendario .reserva-alvo-contexto:focus-visible{outline-offset:-3px}
@media print{.reserva-menu-contextual,.reserva-menu-abrir{display:none!important}}

/* Consultas e mapas - organização operacional por filtros, período, UH e estado. */
.reserva-painel-cabecalho{margin-bottom:15px}
.reserva-painel-cabecalho h2{margin:0;color:#1e3d63;font-size:18px}
.reserva-painel-cabecalho p{margin:5px 0 0;color:#61748b;font-size:13px;line-height:1.5}
.reserva-cabecalho-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.reserva-consulta-filtros,.reserva-filtros-mapa{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:13px;align-items:end}
.reserva-consulta-filtros .reserva-campo-amplo{grid-column:span 2}
.reserva-consulta-acoes{display:flex;gap:8px;flex-wrap:wrap;align-items:center;align-self:end;grid-column:1/-1}
.reserva-consulta-acoes .botao{min-height:42px}
.reserva-indicadores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 19px}
.reserva-indicadores>div{display:flex;flex-direction:column;gap:6px;padding:16px 19px;background:#fff;border:1px solid #dbe5ef;border-radius:11px;box-shadow:0 2px 7px #15243909;min-width:0}
.reserva-indicadores small{font-size:12px;color:#5e7187}
.reserva-indicadores strong{font-size:26px;line-height:1.15;color:#1a3d67;font-variant-numeric:tabular-nums}
.reserva-consulta-rolagem{border:1px solid #e3eaf2;overflow:auto;max-width:100%}
.reserva-consulta-tabela{min-width:960px}
.reserva-consulta-tabela th{white-space:nowrap;font-size:12px}
.reserva-consulta-tabela td{font-size:13px;line-height:1.4}
.reserva-consulta-tabela tbody tr.reserva-alvo-contexto:hover{background:#eff6ff}
.reserva-numero-direita{text-align:right;font-variant-numeric:tabular-nums}
.reserva-texto-aux{display:block;color:#697b90;font-size:11px;margin-top:4px}
.reserva-acoes-linha{display:flex;gap:6px;align-items:center;flex-wrap:nowrap}
.reserva-acoes-linha .botao{min-height:34px;padding:5px 9px;font-size:12px;white-space:nowrap}
.reserva-situacao{display:inline-flex;align-items:center;padding:5px 9px;border-radius:20px;background:#e9eff6;color:#274764;font-size:12px;font-weight:750;white-space:nowrap}
.reserva-situacao-1{background:#fef3c7;color:#7d510b}
.reserva-situacao-2{background:#dbeafe;color:#1d4e88}
.reserva-situacao-3{background:#d8f5e4;color:#176c47}
.reserva-situacao-4{background:#fce4e4;color:#982c39}
.reserva-consulta-tabela tr.reserva-linha-detalhes{background:#f9fbfe}
.reserva-linha-detalhes>td{padding:0 14px 10px;border-bottom:2px solid #dae5f0}
.reserva-linha-detalhes details{padding:4px 0}
.reserva-linha-detalhes summary{font-weight:700;cursor:pointer;color:#255d9c;font-size:12px;padding:8px 0}
.reserva-detalhe-conteudo{padding:12px;border:1px solid #dce6f1;border-radius:9px;background:#fff;display:grid;gap:13px}
.reserva-detalhe-conteudo dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0}
.reserva-detalhe-conteudo dt{font-size:11px;color:#64758a}
.reserva-detalhe-conteudo dd{margin:2px 0;font-size:13px;font-weight:650;overflow-wrap:anywhere}
.reserva-estado-vazio{text-align:center;padding:24px 14px;border:1px dashed #c5d5e6;border-radius:10px;background:#f9fbfe}
.reserva-estado-vazio strong{display:block;color:#2b4a6f}
.reserva-estado-vazio p{color:#65778c;font-size:13px}
.reserva-nota-fonte{font-size:12px;color:#64778c;line-height:1.55;margin-top:12px}
.reserva-legendas{display:flex;gap:8px 14px;flex-wrap:wrap;padding:10px 0 14px}
.reserva-legenda-estado{display:inline-flex;align-items:center;gap:6px;color:#586d82;font-size:12px}
.reserva-legenda-estado i{display:inline-block;border-radius:4px;width:17px;height:15px;border:1px solid #ffffff80;box-shadow:0 0 0 1px #ccd8e5}
.reserva-legenda-estado .estado-livre,.reserva-celula-estado.estado-livre{background:#e5f6ec;color:#1a6545}
.reserva-legenda-estado .estado-confirmada,.reserva-celula-estado.estado-confirmada{background:#d9eaff;color:#17477a}
.reserva-legenda-estado .estado-prereserva,.reserva-celula-estado.estado-prereserva{background:#fff0c5;color:#815900}
.reserva-legenda-estado .estado-checkin,.reserva-celula-estado.estado-checkin{background:#bbe9e4;color:#135d57}
.reserva-legenda-estado .estado-allotment,.reserva-celula-estado.estado-allotment{background:#f2d8ef;color:#703b6e}
.reserva-rolagem-grade{max-width:100%;max-height:71vh;overflow:auto;overscroll-behavior:contain;border:1px solid #d6e1ed;border-radius:10px;position:relative}
.reserva-grade-calendario{width:max-content;min-width:100%;border-spacing:0;border-collapse:separate;text-align:center;table-layout:fixed}
.reserva-grade-calendario th,.reserva-grade-calendario td{padding:0;white-space:nowrap;border-bottom:1px solid #e1e8f0;border-right:1px solid #e1e8f0;min-width:55px;height:45px;font-size:12px;font-variant-numeric:tabular-nums}
.reserva-grade-calendario thead th{position:sticky;top:0;z-index:4;background:#f0f5fb;color:#274c75;padding:4px 5px;font-weight:700}
.reserva-grade-calendario thead th small{display:block;color:#617c95;font-size:10px;font-weight:500}
.reserva-grade-calendario thead th strong{display:block;font-size:12px}
.reserva-grade-calendario th.reserva-coluna-uh{position:sticky;left:0;z-index:3;background:#f6f9fd;text-align:left;min-width:145px;max-width:185px;padding:9px 12px;white-space:normal}
.reserva-grade-calendario thead th.reserva-coluna-uh{z-index:5;background:#e8f0fa}
.reserva-grade-calendario th.reserva-coluna-uh small{display:block;color:#6b7f91;font-size:11px;margin-top:4px;font-weight:500}
.reserva-grade-calendario tr:hover th.reserva-coluna-uh{background:#edf5ff}
.reserva-codigo-uh{font-size:15px;color:#184a7a;font-weight:800}
.reserva-grade-calendario .reserva-dia-hoje{box-shadow:inset 0 0 0 2px #5d9be0}
.reserva-grade-calendario th.reserva-fim-semana{background:#f5f7fa;color:#708295}
.reserva-celula-estado{height:39px;min-width:49px;display:flex;align-items:center;justify-content:center;margin:2px;border:1px solid #ffffff90;border-radius:5px;font-size:12px;font-weight:800;transition:box-shadow .12s}
.reserva-celula-estado:hover{box-shadow:inset 0 0 0 2px #6c9bd2}
.reserva-celula-estado a{display:flex;align-items:center;justify-content:center;min-width:30px;min-height:32px;color:inherit;text-decoration:none}
.reserva-celula-estado .reserva-vago-link{font-size:18px}
.reserva-grade-calendario .reserva-total-uh,.reserva-grade-calendario .reserva-grade-valor{font-weight:750}
.reserva-grade-calendario .reserva-total-uh{padding:0 7px;background:#f1f6fc;color:#345977}
.reserva-grade-calendario .reserva-grade-valor.estado-livre{background:#e5f6ec;color:#1a6545}
.reserva-grade-calendario .reserva-grade-valor.estado-confirmada{background:#d9eaff;color:#17477a}
.reserva-grade-calendario .reserva-grade-valor.estado-checkin{background:#bbe9e4;color:#135d57}
.reserva-grade-calendario .reserva-linha-total td,.reserva-grade-calendario .reserva-linha-total th{background:#e9f1fb;font-weight:800;color:#1c496f}
.reserva-uh-grupo{margin:10px 0 24px}
.reserva-uh-grupo-titulo{display:flex;justify-content:space-between;align-items:center;gap:10px;border-bottom:1px solid #dfe8f1;margin:0 0 13px;padding:8px 4px}
.reserva-uh-grupo-titulo h3{margin:0;color:#294768;font-size:16px}
.reserva-uh-grupo-titulo span{font-size:12px;color:#688096}
.reserva-cartoes-revisados{grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:12px}
.reserva-cartao-uh-mapa{display:flex;flex-direction:column;min-width:0;gap:11px;padding:15px 16px;background:#fff;border:1px solid #dae5ee;border-left:5px solid #64aa86;border-radius:10px;box-shadow:0 2px 8px #112c4610}
.reserva-cartao-uh-mapa.estado-confirmada{border-left-color:#3c7ac6}
.reserva-cartao-uh-mapa.estado-prereserva{border-left-color:#dbab48}
.reserva-cartao-uh-mapa.estado-checkin{border-left-color:#3c9b8b}
.reserva-cartao-uh-mapa.estado-allotment{border-left-color:#aa70b3}
.reserva-cartao-uh-mapa:hover{box-shadow:0 4px 18px #183b6121}
.reserva-uh-cartao-topo{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.reserva-uh-cartao-topo small{font-size:10px;color:#72849a;font-weight:800;letter-spacing:.06em}
.reserva-uh-cartao-topo h4{font-size:26px;color:#20476d;margin:0;line-height:1.25}
.reserva-situacao-mapa{font-size:11px;line-height:1.3;padding:5px 8px;background:#eff3f9;color:#345573;border-radius:20px;white-space:nowrap}
.reserva-uh-cartao-detalhes{display:flex;align-items:center;flex-wrap:wrap;gap:5px 9px;color:#65788b;font-size:11px}
.reserva-pool-tag{display:inline-block;background:#edf2ff;color:#4f63a0;border-radius:4px;padding:3px 6px}
.reserva-uh-cartao-reserva{border-top:1px solid #e4ebf3;padding-top:11px;display:flex;flex-direction:column;gap:3px;min-height:50px;font-size:12px;color:#64778a;overflow-wrap:anywhere}
.reserva-uh-cartao-reserva strong{color:#304e69;font-size:13px}
.reserva-uh-cartao-acoes{margin-top:auto;padding-top:7px}
@media(max-width:990px){.reserva-indicadores{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.reserva-consulta-filtros .reserva-campo-amplo{grid-column:auto}.reserva-consulta-filtros,.reserva-filtros-mapa{grid-template-columns:repeat(2,minmax(0,1fr))}.reserva-consulta-acoes{grid-column:1/-1}.reserva-consulta-acoes .botao{flex:1}.reserva-mapa-painel,.reserva-uh-painel,.reserva-consulta-resultados{padding:14px}.reserva-grade-calendario th.reserva-coluna-uh{min-width:105px;max-width:130px;padding:8px}.reserva-cartoes-revisados{grid-template-columns:repeat(auto-fill,minmax(min(100%,225px),1fr))}}
@media(max-width:430px){.reserva-consulta-filtros,.reserva-filtros-mapa{grid-template-columns:1fr}.reserva-indicadores{gap:8px}.reserva-indicadores>div{padding:12px}.reserva-indicadores strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){.reserva-celula-estado{transition:none}}

/* Mapa de UH: portas compactas, carregamento paginado e imagens originais sob demanda. */
.reserva-grade-portas{display:grid;grid-template-columns:repeat(auto-fill,minmax(126px,1fr));gap:12px;align-items:stretch}
.reserva-porta-item{min-width:0;display:flex;align-items:center;flex-direction:column;gap:5px;padding:10px 7px;background:#fff;border:1px solid #d6e2ee;border-top:4px solid #77aa94;border-radius:10px;contain:layout style;content-visibility:auto;contain-intrinsic-size:146px 230px}
.reserva-porta-item.estado-confirmada{border-top-color:#3978c2}.reserva-porta-item.estado-prereserva{border-top-color:#d6a53f}.reserva-porta-item.estado-checkin{border-top-color:#269786}.reserva-porta-item.estado-allotment{border-top-color:#95629d}
.reserva-porta-item:hover,.reserva-porta-item:focus-visible{box-shadow:0 4px 16px #24466729;outline-offset:1px}
.reserva-porta-identificacao{width:100%;display:flex;align-items:center;justify-content:center;gap:5px;color:#234b6e;font-size:16px}
.reserva-porta-identificacao small{font-size:10px;background:#e9eeff;color:#455d9a;border-radius:4px;padding:2px 3px}
.reserva-porta-imagem{display:block;width:60px;height:100px;object-fit:contain;max-width:100%}
.reserva-porta-status{text-align:center;font-size:11px;font-weight:750;color:#365570;line-height:1.35;min-height:28px;display:flex;align-items:center;justify-content:center}
.reserva-porta-hospede{font-size:11px;text-align:center;color:#687f91;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;height:18px}
.reserva-porta-botoes{display:flex;gap:4px;width:100%;justify-content:center;margin-top:auto}
.reserva-porta-atalho{font:inherit;font-size:11px;font-weight:650;color:#21527c;display:inline-flex;align-items:center;justify-content:center;padding:5px 6px;border:1px solid #c9d8e5;border-radius:6px;background:#f4f8fc;cursor:pointer;text-decoration:none;min-height:29px}
.reserva-porta-atalho:hover{background:#e3f0ff}
.reserva-paginacao{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end;margin-top:14px;font-size:12px;color:#617a91}
/* Grade de disponibilidade: cada data é meio período da manhã e meio período da tarde. */
.reserva-grade-meio-dia th,.reserva-grade-meio-dia td{min-width:81px}
.reserva-grade-meio-dia .reserva-coluna-uh{min-width:135px}
.reserva-dia-periodos{display:grid;grid-template-columns:1fr 1fr;font-size:9px;font-weight:600;color:#55748e;line-height:1;margin-top:3px}
.reserva-faixas-dia{display:flex;width:100%;height:43px;align-items:stretch;padding:2px}
.reserva-faixa-meio{flex:1 1 50%;width:50%;min-width:0;display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:10px;font-weight:750;border:1px solid #ffffffb8;outline-offset:-2px}
.reserva-faixa-meio:first-child{border-radius:5px 0 0 5px}
.reserva-faixa-meio:last-child{border-radius:0 5px 5px 0}
.reserva-faixa-meio.estado-livre{background:#e5f6ec;color:#1a6545}
.reserva-faixa-meio.estado-confirmada{background:#d9eaff;color:#17477a}
.reserva-faixa-meio.estado-prereserva{background:#fff0c5;color:#815900}
.reserva-faixa-meio.estado-checkin{background:#bbe9e4;color:#135d57}
.reserva-faixa-meio.estado-allotment{background:#f2d8ef;color:#703b6e}
.reserva-faixa-meio a{color:inherit;display:flex;align-items:center;justify-content:center;min-height:100%;max-width:100%;overflow:hidden;text-decoration:none}
.reserva-faixa-meio:hover{box-shadow:inset 0 0 0 2px #4d8aca;cursor:context-menu}
.reserva-faixa-meio .reserva-vago-link{font-size:17px}
@media(max-width:680px){.reserva-grade-portas{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}.reserva-grade-meio-dia th,.reserva-grade-meio-dia td{min-width:68px}}
@media print{.reserva-grade-portas{grid-template-columns:repeat(8,minmax(0,1fr))}.reserva-porta-item{break-inside:avoid;content-visibility:visible}}

/* 0.2.7 — filtros de reservas em gaveta lateral: a tabela ocupa toda a área */
.reserva-filtros-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.reserva-filtros-resumo{color:var(--text-muted,#64748b);font-size:.91rem}
.reserva-filtro-tag{background:#eef5fe;color:#24558a;border:1px solid #d6e6fa;border-radius:2rem;padding:.24rem .65rem;font-size:.78rem}
.reserva-qt-filtros{display:inline-flex;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;border-radius:50%;background:#e5edf7;color:#193f71;font-size:.75rem;margin-left:.35rem}
.reserva-filtros-limpar{margin-left:auto;font-size:.85rem;text-decoration:underline}
.reserva-gaveta{position:fixed;z-index:1101;inset:0 0 0 auto;width:min(410px,100vw);max-height:100dvh;overflow-y:auto;background:#fff;box-shadow:-10px 0 32px #14233930;transform:translateX(110%);transition:transform .22s ease;visibility:hidden;display:flex;flex-direction:column}
.reserva-gaveta.aberta{transform:translateX(0);visibility:visible}
.reserva-gaveta-barra{position:sticky;top:0;background:#f8fafc;z-index:2;padding:1rem 1.15rem;border-bottom:1px solid #e0e7ef;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.reserva-gaveta .reserva-consulta-painel{box-shadow:none;border:0;border-radius:0;padding:1.1rem;margin:0;flex:1}
.reserva-gaveta .reserva-consulta-filtros{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.reserva-gaveta .reserva-campo-amplo,.reserva-gaveta .reserva-consulta-acoes{grid-column:1/-1}
.reserva-gaveta .reserva-consulta-acoes{position:sticky;bottom:-1.1rem;background:#fff;border-top:1px solid #e2e8f0;padding:1rem 0;z-index:1;display:flex;gap:.5rem}
.reserva-gaveta .reserva-painel-cabecalho p{font-size:.85rem}
.reserva-filtros-sombra:not([hidden]){position:fixed;inset:0;background:#111b31a3;z-index:1100}
body.reserva-filtros-visiveis{overflow:hidden}
@media(max-width:520px){.reserva-gaveta .reserva-consulta-filtros{grid-template-columns:1fr}.reserva-gaveta .reserva-consulta-acoes{flex-wrap:wrap}.reserva-filtros-resumo{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.reserva-gaveta{transition:none}}
@media print{.reserva-filtros-toolbar,.reserva-gaveta,.reserva-filtros-sombra{display:none!important}}
/* 0.2.7 — recepção: visão operacional compacta, baseada nos fluxos da aplicação de origem */
.recepcao-abas{display:flex;gap:.4rem;flex-wrap:wrap;margin:.8rem 0 1.1rem;padding:.35rem;background:#eef3f8;border:1px solid #dde6ee;border-radius:.9rem}
.recepcao-abas a{display:inline-flex;align-items:center;border-radius:.6rem;padding:.58rem .9rem;font-size:.87rem;line-height:1.2;color:#294158;text-decoration:none;font-weight:600}
.recepcao-abas a:hover{background:#fff;color:#173e64}
.recepcao-abas a.selecionado{background:#fff;color:#0c4686;box-shadow:0 1px 4px #082b441c}
.recepcao-dica{font-size:.91rem;margin:0 0 1rem;color:#536579;line-height:1.55}
.recepcao-lista,.recepcao-selecionada,.recepcao-acao,.recepcao-historico{margin-bottom:1rem}
.recepcao-pesquisa{display:flex;align-items:end;gap:.7rem;flex-wrap:wrap;margin-bottom:1rem}
.recepcao-pesquisa>div{display:grid;gap:.3rem;flex:1 1 170px}
.recepcao-pesquisa>div:nth-child(2){flex:2 1 230px}
.recepcao-pesquisa label,.recepcao-form label{font-size:.84rem;font-weight:600;color:#344c60}
.recepcao-pesquisa input,.recepcao-form input,.recepcao-form select,.recepcao-form textarea{width:100%;min-height:2.5rem;padding:.55rem .65rem;border:1px solid #bdcdd9;border-radius:.5rem;background:#fff;color:#22374b;font:inherit}
.recepcao-pesquisa input:focus,.recepcao-form :is(input,select,textarea):focus{outline:2px solid #76a8df;outline-offset:1px}
.recepcao-ficha{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:.8rem 0}
.recepcao-ficha>div{padding:.9rem;background:#f6f9fc;border:1px solid #e1eaf1;border-radius:.65rem;display:grid;gap:.2rem;min-width:0}
.recepcao-ficha small{color:#657a8d}.recepcao-ficha strong{font-size:1rem;overflow-wrap:anywhere}
.recepcao-acao h2,.recepcao-historico h2{margin-top:0}
.recepcao-form{display:grid;gap:.8rem;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}
.recepcao-form>div{display:grid;gap:.3rem}.recepcao-form button,.recepcao-form p{grid-column:1/-1;justify-self:start}
.recepcao-form>div:has(textarea){grid-column:1/-1}
.recepcao-acao .alerta{margin:.8rem 0}
@media(max-width:760px){.recepcao-ficha{grid-template-columns:repeat(2,minmax(0,1fr))}.recepcao-form{grid-template-columns:1fr}.recepcao-abas{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:thin}.recepcao-abas a{white-space:nowrap}}
@media(max-width:480px){.recepcao-ficha{grid-template-columns:1fr}.recepcao-pesquisa>*{flex-basis:100%!important}}

/* 0.2.7 — filtros de reservas em gaveta lateral: a tabela ocupa toda a área */
.reserva-filtros-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;margin:0 0 1rem}
.reserva-filtros-resumo{color:var(--text-muted,#64748b);font-size:.91rem}
.reserva-filtro-tag{background:#eef5fe;color:#24558a;border:1px solid #d6e6fa;border-radius:2rem;padding:.24rem .65rem;font-size:.78rem}
.reserva-qt-filtros{display:inline-flex;justify-content:center;align-items:center;min-width:1.35rem;height:1.35rem;border-radius:50%;background:#e5edf7;color:#193f71;font-size:.75rem;margin-left:.35rem}
.reserva-filtros-limpar{margin-left:auto;font-size:.85rem;text-decoration:underline}
.reserva-gaveta{position:fixed;z-index:1101;inset:0 0 0 auto;width:min(410px,100vw);max-height:100dvh;overflow-y:auto;background:#fff;box-shadow:-10px 0 32px #14233930;transform:translateX(110%);transition:transform .22s ease;visibility:hidden;display:flex;flex-direction:column}
.reserva-gaveta.aberta{transform:translateX(0);visibility:visible}
.reserva-gaveta-barra{position:sticky;top:0;background:#f8fafc;z-index:2;padding:1rem 1.15rem;border-bottom:1px solid #e0e7ef;display:flex;justify-content:space-between;align-items:center;font-weight:700}
.reserva-gaveta .reserva-consulta-painel{box-shadow:none;border:0;border-radius:0;padding:1.1rem;margin:0;flex:1}
.reserva-gaveta .reserva-consulta-filtros{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.reserva-gaveta .reserva-campo-amplo,.reserva-gaveta .reserva-consulta-acoes{grid-column:1/-1}
.reserva-gaveta .reserva-consulta-acoes{position:sticky;bottom:-1.1rem;background:#fff;border-top:1px solid #e2e8f0;padding:1rem 0;z-index:1;display:flex;gap:.5rem}
.reserva-gaveta .reserva-painel-cabecalho p{font-size:.85rem}
.reserva-filtros-sombra:not([hidden]){position:fixed;inset:0;background:#111b31a3;z-index:1100}
body.reserva-filtros-visiveis{overflow:hidden}
@media(max-width:520px){.reserva-gaveta .reserva-consulta-filtros{grid-template-columns:1fr}.reserva-gaveta .reserva-consulta-acoes{flex-wrap:wrap}.reserva-filtros-resumo{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.reserva-gaveta{transition:none}}
@media print{.reserva-filtros-toolbar,.reserva-gaveta,.reserva-filtros-sombra{display:none!important}}

/* 0.2.7.1 — lista de hóspedes da reserva: campos editáveis, reutilizando o padrão visual OrbitaPms. */
.reserva-hospedes-cabecalho{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:14px 0 10px}
.reserva-hospedes-cabecalho h3{font-size:16px;color:#254967;margin:0}
.reserva-hospedes-cabecalho p{margin:4px 0 0;font-size:13px;color:#667e95;max-width:650px;line-height:1.45}
.reserva-hospedes-acoes{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.reserva-hospedes-acoes .botao[disabled]{cursor:not-allowed;opacity:.55}
.reserva-hospedes-progresso{background:#eaf5ff;color:#24527e;border:1px solid #cbdff2;border-radius:8px;padding:9px 12px;margin-bottom:12px;font-weight:600;font-size:13px}
.reserva-lista-hospedes{display:grid;gap:11px;margin-bottom:14px}
.reserva-hospede-linha{padding:15px;border:1px solid #d7e4ef;border-radius:10px;background:#fafcfe;box-shadow:0 1px 3px #1023370c}
.reserva-hospede-linha-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.reserva-hospede-linha-topo strong{font-size:14px;color:#2d5574}
.reserva-hospede-linha-topo .botao{color:#9b2e3e;border-color:#eccdd1;background:#fff7f8}
.reserva-hospede-linha .reserva-linha{gap:10px;margin-bottom:10px}
.reserva-hospede-linha .reserva-campo input:not([type=hidden]),.reserva-hospede-linha .reserva-campo select{min-height:39px;padding:8px 10px}
@media(max-width:740px){.reserva-hospede-linha .reserva-col-2{grid-template-columns:1fr}}
@media(max-width:420px){.reserva-hospedes-acoes{width:100%}.reserva-hospedes-acoes .botao{flex:1 1 auto}.reserva-hospede-linha{padding:12px}}
@media print{.reserva-hospedes-acoes,.reserva-hospede-linha-topo button{display:none}}

/* Governança integrada: bloqueio de UH em mapas. */
.estado-bloqueio{background-color:#b6b6bc!important;color:#243244!important}
.reserva-legenda-estado .estado-bloqueio{display:inline-block;width:12px;height:12px;background:#a6aab0;border-radius:2px}

/* OrbitaPms 0.2.7.6 — Home operacional do hotel. Identidade existente preservada. */
.home-hotel-cabecalho{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin:0 0 22px}
.home-hotel-cabecalho h1{margin:4px 0;font-size:clamp(24px,3vw,34px)}
.home-hotel-acoes{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.home-hotel-indicadores{display:grid;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;margin:0 0 28px}
.home-indicador{display:flex;flex-direction:column;gap:5px;padding:17px;background:#fff;border:1px solid var(--orb-border,#dbe5ef);border-radius:11px;text-decoration:none;color:inherit;box-shadow:0 2px 7px #15243908;min-width:0;transition:box-shadow .15s,transform .15s}
.home-indicador:hover,.home-hotel-atalho:hover{box-shadow:0 6px 20px #15243918;transform:translateY(-1px)}
.home-indicador span{font-size:12px;color:var(--orb-muted,#63748a);font-weight:650}
.home-indicador strong{font-size:29px;line-height:1.3;color:#1c4166;font-variant-numeric:tabular-nums}
.home-indicador small{font-size:12px;color:var(--orb-muted,#63748a)}
.home-hotel-secao{margin:0 0 15px}.home-hotel-secao h2{margin:4px 0}
.home-hotel-atalhos{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,278px),1fr));gap:12px}
.home-hotel-atalho{display:flex;align-items:center;gap:13px;padding:14px 15px;min-height:88px;background:#fff;border:1px solid var(--orb-border,#dbe5ef);border-radius:10px;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s}
.home-icone{flex:0 0 46px;width:46px;height:46px;background:#f0f5fa;border-radius:10px;display:grid;place-items:center}
.home-icone img{width:32px;height:32px;object-fit:contain}
.home-atalho-texto{min-width:0;display:grid;gap:5px;flex:1}.home-atalho-texto strong{font-size:15px;color:#1d3b5e}.home-atalho-texto small{font-size:12px;color:#64748b;line-height:1.4}
.home-atalho-seta{font-size:22px;color:#8197b1}
.home-hotel-rodape-ajuda{margin-top:26px;padding:18px 22px;border:1px solid var(--orb-border,#dbe5ef);border-radius:12px;background:#f6f9fc;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.home-hotel-rodape-ajuda p{margin:4px 0 0;color:#64748b;font-size:13px}
.home-hotel-atalho:focus-visible,.home-indicador:focus-visible{outline:3px solid var(--orb-focus,#4087db);outline-offset:2px}
@media(max-width:680px){.home-hotel-cabecalho{align-items:stretch}.home-hotel-atalhos{grid-template-columns:1fr}.home-hotel-indicadores{grid-template-columns:repeat(2,minmax(0,1fr))}.home-indicador{padding:12px}.home-indicador strong{font-size:24px}}
@media(max-width:390px){.home-hotel-indicadores{grid-template-columns:1fr}}

/* OrbitaPms 0.2.7.7 — Mapas operacionais: foco nas portas e na grade, filtros sob demanda.
   Reutiliza a identidade do produto; regras de ocupação permanecem nas views/serviços. */
.mapa-operacional{min-width:0;--mapa-borda:var(--orb-border,#dbe5ef);--mapa-texto:var(--orb-text,#25384d);--mapa-apoio:var(--orb-muted,#62758a)}
.mapa-operacional .mapa-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 10px}
.mapa-operacional .mapa-titulo{min-width:0}
.mapa-operacional .mapa-titulo small{display:block;font-size:11px;letter-spacing:.035em;color:var(--mapa-apoio);margin-bottom:2px}
.mapa-operacional .mapa-titulo h1{font-size:clamp(20px,2vw,25px);font-weight:750;line-height:1.18;letter-spacing:-.025em;color:var(--mapa-texto);margin:0}
.mapa-topo-acoes,.mapa-data-navegacao,.mapa-barra-direita,.mapa-superficie-acoes{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}
.mapa-operacional .mapa-acao,.mapa-operacional .mapa-icone-botao{font:inherit;font-size:12px;font-weight:650;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:34px;padding:6px 11px;border:1px solid var(--mapa-borda);border-radius:8px;text-decoration:none;white-space:nowrap;color:#285275;background:#fff;cursor:pointer;line-height:1.3;box-sizing:border-box}
.mapa-operacional .mapa-acao:hover,.mapa-operacional .mapa-icone-botao:hover{background:#eef5fc;border-color:#a7bdd4;text-decoration:none}
.mapa-operacional .mapa-acao-principal{background:var(--orb-primary,#245e9b);border-color:var(--orb-primary,#245e9b);color:#fff}
.mapa-operacional .mapa-acao-principal:hover{background:#174c82;border-color:#174c82;color:#fff}
.mapa-operacional .mapa-acao-discreta{border-color:transparent;background:transparent}
.mapa-operacional .mapa-icone-botao{min-width:34px;width:34px;padding:4px;font-size:23px;font-weight:500}
.mapa-operacional .mapa-acao:focus-visible,.mapa-operacional .mapa-icone-botao:focus-visible,.mapa-legenda-menu summary:focus-visible,.mapa-link-hoje:focus-visible{outline:3px solid var(--orb-focus,#397fd3);outline-offset:2px}
.mapa-operacional .mapa-barra{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:49px;padding:7px 10px;margin-bottom:7px;background:#fff;border:1px solid var(--mapa-borda);border-radius:10px}
.mapa-operacional .mapa-barra-direita{justify-content:flex-end}
.mapa-operacional .mapa-data-form{display:flex;gap:5px;align-items:center;margin:0}
.mapa-operacional .mapa-data-form input{width:auto;min-width:142px;min-height:34px;border:1px solid var(--mapa-borda);border-radius:7px;padding:4px 7px;font-size:12px;color:var(--mapa-texto);background:#fff}
.mapa-operacional .mapa-periodo-nome{display:inline-block;min-width:142px;text-align:center;font-size:13px;font-weight:750;color:#274966;text-transform:capitalize}
.mapa-operacional .mapa-link-hoje{font-size:12px;font-weight:650;color:#27669b;text-decoration:none;padding:6px 5px}
.mapa-operacional .mapa-link-hoje:hover{text-decoration:underline}
.mapa-operacional .mapa-filtro-ativo{display:inline-flex;align-items:center;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid #cadaeb;background:#f3f8fe;color:#355e80;font-size:11px;font-weight:650;border-radius:100px;padding:5px 9px}
.mapa-operacional .mapa-apenas-leitor{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}
.mapa-operacional .mapa-resumo{display:flex;align-items:center;flex-wrap:wrap;gap:5px 17px;min-height:35px;margin:0 0 8px;padding:3px 6px;color:#526a80;font-size:12px;line-height:1.5}
.mapa-operacional .mapa-resumo>span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.mapa-operacional .mapa-resumo strong{font-size:14px;color:#1d466d;font-weight:800;font-variant-numeric:tabular-nums}
.mapa-operacional .mapa-resumo-principal{padding-right:13px;border-right:1px solid var(--mapa-borda);font-weight:600}
.mapa-operacional .mapa-resumo .mapa-resumo-nota{margin-left:auto;font-size:11px;color:#788b9e}
.mapa-operacional .mapa-ponto{display:inline-block;width:9px;height:9px;border-radius:3px;flex:0 0 9px;border:1px solid #aabacb}
.mapa-operacional .mapa-ponto.estado-livre{background:#d5eee0}
.mapa-operacional .mapa-ponto.estado-confirmada{background:#afd2fb}
.mapa-operacional .mapa-ponto.estado-allotment{background:#e7c5e9}
.mapa-operacional .mapa-ponto.estado-bloqueio{background:#a4a6ac}
.mapa-operacional .mapa-superficie{padding:12px 12px 10px;border:1px solid var(--mapa-borda);box-shadow:0 2px 12px #182c4208;border-radius:12px;min-width:0;margin-bottom:8px;background:#fff}
.mapa-operacional .mapa-superficie-topo{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:1px 2px 10px;border-bottom:1px solid #e7edf3;margin-bottom:5px}
.mapa-operacional .mapa-superficie-titulo{min-width:0}
.mapa-operacional .mapa-superficie-titulo h2{margin:0;color:#254663;font-size:15px;font-weight:750;text-transform:capitalize}
.mapa-operacional .mapa-superficie-titulo small{display:block;font-size:11px;color:var(--mapa-apoio);margin-top:2px}
.mapa-operacional .mapa-legenda-menu{position:relative}
.mapa-operacional .mapa-legenda-menu summary{display:flex;align-items:center;gap:8px;min-height:34px;cursor:pointer;font-size:12px;font-weight:650;border:1px solid var(--mapa-borda);background:#fff;padding:6px 10px;border-radius:8px;color:#285275;list-style:none}
.mapa-operacional .mapa-legenda-menu summary::-webkit-details-marker{display:none}
.mapa-operacional .mapa-legenda-menu[open] summary{background:#eff6fe}
.mapa-operacional .mapa-legenda-conteudo{position:absolute;z-index:20;top:calc(100% + 5px);right:0;width:min(310px,calc(100vw - 55px));padding:13px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;border:1px solid #ccdbe9;box-shadow:0 10px 30px #18395d26;border-radius:10px;background:#fff}
.mapa-operacional .reserva-paginacao.mapa-paginacao{justify-content:flex-end;margin-top:10px;padding:8px 1px 0;border-top:1px solid #e8eef4}
.mapa-operacional .mapa-ajuda{margin:0 0 10px;color:#587087;font-size:12px;line-height:1.55;padding:0 8px}
.mapa-operacional .mapa-ajuda summary{cursor:pointer;width:max-content;max-width:100%;font-weight:650;color:#3c6588;padding:6px 2px}
.mapa-operacional .mapa-ajuda p{margin:4px 0 9px;max-width:950px}
.mapa-operacional .reserva-uh-grupo{margin:7px 0 13px}
.mapa-operacional .reserva-uh-grupo-titulo{margin:0 0 8px;padding:6px 3px 7px}
.mapa-operacional .reserva-uh-grupo-titulo h3{font-size:13px;color:#284c6b}
.mapa-operacional .reserva-uh-grupo-titulo span{font-size:11px}
.mapa-operacional .reserva-grade-portas{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.mapa-operacional .reserva-porta-item{gap:3px;padding:7px 6px;border:1px solid #dce5ee;border-top:3px solid #77aa94;border-radius:9px;contain-intrinsic-size:120px 205px;min-height:205px;transition:border-color .13s,box-shadow .13s}
.mapa-operacional .reserva-porta-item:hover{border-color:#a2bdd8;box-shadow:0 3px 14px #1c4a7620}
.mapa-operacional .reserva-porta-identificacao{font-size:14px;line-height:1.25}
.mapa-operacional .reserva-porta-imagem{width:54px;height:88px}
.mapa-operacional .reserva-porta-status{min-height:0;font-size:10px;line-height:1.25}
.mapa-operacional .reserva-porta-hospede{font-size:10px;height:14px}
.mapa-operacional .reserva-porta-botoes{gap:3px}
.mapa-operacional .reserva-porta-atalho{font-size:10px;padding:4px 5px;min-height:27px}
.mapa-operacional .reserva-rolagem-grade{height:clamp(420px,calc(100dvh - 255px),950px);max-height:none;max-width:100%;border-radius:7px;border-color:#dbe5ef;scrollbar-gutter:stable}
.mapa-operacional .reserva-grade-calendario thead th{background:#eef4fa;box-shadow:0 1px 0 #cad8e5}
.mapa-operacional .reserva-grade-calendario th.reserva-coluna-uh{background:#f7fafe;min-width:134px;max-width:150px;box-shadow:1px 0 0 #d8e4ef}
.mapa-operacional .reserva-grade-calendario thead th.reserva-coluna-uh{background:#e8f0f8}
.mapa-operacional .reserva-grade-calendario tbody tr:hover th.reserva-coluna-uh{background:#ecf5ff}
.mapa-operacional .reserva-grade-calendario tbody tr:hover td{background:#f6faff}
.mapa-operacional .reserva-grade-calendario thead th small{font-size:10px}
.mapa-operacional .reserva-grade-calendario th,.mapa-operacional .reserva-grade-calendario td{height:43px}
.mapa-operacional .reserva-grade-meio-dia th:not(.reserva-coluna-uh),.mapa-operacional .reserva-grade-meio-dia td{min-width:75px}
.mapa-operacional .reserva-faixas-dia{height:42px}
.mapa-operacional .reserva-faixa-meio:focus-visible{outline:2px solid #2f79c6;outline-offset:-2px;position:relative;z-index:1}
.mapa-operacional .reserva-faixa-meio.estado-bloqueio{background-color:#b6b6bc!important;color:#243244!important}
.mapa-operacional .mapa-gaveta-sombra:not([hidden]){position:fixed;inset:0;z-index:1200;background:#10233e80}
.mapa-operacional .mapa-gaveta[hidden],.mapa-operacional .mapa-gaveta-sombra[hidden]{display:none!important}
.mapa-operacional .mapa-gaveta{position:fixed;z-index:1201;inset:0 0 0 auto;box-sizing:border-box;width:min(400px,100vw);max-height:100dvh;overflow:auto;display:flex;flex-direction:column;background:#fff;box-shadow:-16px 0 45px #182d483d;color:var(--mapa-texto)}
.mapa-operacional .mapa-gaveta-topo{position:sticky;top:0;z-index:2;background:#fff;border-bottom:1px solid var(--mapa-borda);padding:19px 21px 16px;display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.mapa-operacional .mapa-gaveta-topo small{font-size:10px;letter-spacing:.08em;color:#6c839c;font-weight:750}
.mapa-operacional .mapa-gaveta-topo h2{font-size:19px;color:#203c56;margin:4px 0 0}
.mapa-operacional .mapa-gaveta-form{display:flex;flex:1;flex-direction:column;gap:18px;padding:22px 21px 0;margin:0}
.mapa-operacional .mapa-gaveta-form .reserva-campo label{font-size:12px}
.mapa-operacional .mapa-gaveta-form .reserva-campo input,.mapa-operacional .mapa-gaveta-form .reserva-campo select{min-height:42px}
.mapa-operacional .mapa-campos-linha{display:grid;grid-template-columns:2fr 1fr;gap:10px}
.mapa-operacional .mapa-gaveta-dica{background:#f4f8fc;color:#5a7288;border-radius:8px;padding:12px;font-size:12px;line-height:1.55;margin:0}
.mapa-operacional .mapa-gaveta-rodape{display:flex;gap:8px;flex-wrap:wrap;position:sticky;bottom:0;align-items:center;margin:auto -21px 0;padding:15px 21px;background:#fff;border-top:1px solid var(--mapa-borda)}
.mapa-operacional .mapa-gaveta-rodape .mapa-acao{flex:1}
body.mapa-filtros-visiveis{overflow:hidden}
@media(max-width:700px){.mapa-operacional .mapa-topo{align-items:flex-start}.mapa-operacional .mapa-barra{align-items:stretch}.mapa-operacional .mapa-data-navegacao{flex-wrap:nowrap}.mapa-operacional .mapa-resumo{gap:4px 10px}.mapa-operacional .mapa-resumo .mapa-resumo-nota{display:none}.mapa-operacional .reserva-rolagem-grade{height:calc(100dvh - 280px);min-height:340px}.mapa-operacional .mapa-superficie{padding:9px}}
@media(max-width:520px){.mapa-operacional .mapa-topo-acoes{width:100%}.mapa-operacional .mapa-barra{flex-wrap:wrap}.mapa-operacional .mapa-barra-direita{width:100%;justify-content:space-between}.mapa-operacional .mapa-filtro-ativo{max-width:125px}.mapa-operacional .mapa-resumo-principal{padding-right:7px}.mapa-operacional .reserva-grade-portas{grid-template-columns:repeat(auto-fill,minmax(109px,1fr));gap:7px}.mapa-operacional .mapa-superficie-titulo small{font-size:10px}.mapa-operacional .reserva-grade-calendario th.reserva-coluna-uh{min-width:110px;max-width:120px;padding:5px}.mapa-operacional .reserva-rolagem-grade{height:calc(100dvh - 335px);min-height:300px}}
@media print{.mapa-operacional .mapa-topo,.mapa-operacional .mapa-barra,.mapa-operacional .mapa-gaveta,.mapa-operacional .mapa-gaveta-sombra,.mapa-operacional .mapa-ajuda,.mapa-operacional .mapa-superficie-acoes{display:none!important}.mapa-operacional .reserva-rolagem-grade{height:auto;max-height:none;overflow:visible}.mapa-operacional .mapa-superficie{border:0;box-shadow:none;padding:0}.mapa-operacional .reserva-porta-item{content-visibility:visible}}

/* 0.2.7.9 — Quadro de ocupação: grade mensal em destaque. */
.mapa-ocupacao-compacto .mapa-superficie{margin-bottom:8px}
.mapa-ocupacao-compacto .mapa-periodo-nome{min-width:168px}
.mapa-ocupacao-compacto .mapa-ocupacao-grade .reserva-rolagem-grade{height:auto;max-height:clamp(390px,calc(100dvh - 260px),950px);overflow:auto;scrollbar-gutter:stable}
.mapa-ocupacao-compacto .reserva-grade-ocupacao th,.mapa-ocupacao-compacto .reserva-grade-ocupacao td{min-width:49px;height:41px;text-align:center;font-variant-numeric:tabular-nums}
.mapa-ocupacao-compacto .reserva-grade-ocupacao th.reserva-coluna-uh{width:158px;min-width:158px;max-width:158px;text-align:left;box-sizing:border-box}
.mapa-ocupacao-compacto .reserva-grade-ocupacao tbody td:nth-child(2){position:sticky;left:158px;z-index:1;background:#f8fbfd;box-shadow:1px 0 0 #d8e5ef}
.mapa-ocupacao-compacto .reserva-grade-ocupacao thead th:nth-child(2){position:sticky;left:158px;z-index:4;background:#eaf2fa;box-shadow:1px 0 0 #d8e5ef}
.mapa-ocupacao-compacto .reserva-grade-ocupacao .reserva-coluna-uh{position:sticky;left:0;z-index:2}
.mapa-ocupacao-compacto .reserva-grade-ocupacao thead .reserva-coluna-uh{z-index:5}
.mapa-ocupacao-compacto .ocupacao-detalhes{margin-top:5px;padding:2px 4px 8px}
.mapa-ocupacao-compacto .ocupacao-detalhes>summary{cursor:pointer;padding:11px 8px;color:#375f81;font-size:12px;font-weight:700}
.mapa-ocupacao-compacto .ocupacao-detalhes .reserva-rolagem-grade{height:auto;max-height:340px}
.mapa-ocupacao-compacto .ocupacao-detalhes .mapa-ajuda{font-size:12px;padding:7px 9px}
.mapa-ocupacao-compacto .ocupacao-legenda-conteudo{width:min(280px,calc(100vw - 40px));grid-template-columns:1fr;font-size:12px}
.mapa-ocupacao-compacto .ocupacao-legenda-conteudo span{display:flex;align-items:center;gap:7px}
.mapa-ocupacao-compacto .ocupacao-legenda-conteudo small{grid-column:1/-1;line-height:1.5;color:#60758b}
.mapa-ocupacao-compacto .ocupacao-legenda-conteudo .mapa-ponto{display:inline-block;width:10px;height:10px}
@media(max-width:520px){.mapa-ocupacao-compacto .mapa-periodo-nome{min-width:120px;max-width:140px;font-size:12px}.mapa-ocupacao-compacto .reserva-grade-ocupacao th.reserva-coluna-uh{width:120px;min-width:120px;max-width:120px}.mapa-ocupacao-compacto .reserva-grade-ocupacao tbody td:nth-child(2),.mapa-ocupacao-compacto .reserva-grade-ocupacao thead th:nth-child(2){left:120px}.mapa-ocupacao-compacto .mapa-ocupacao-grade .reserva-rolagem-grade{height:auto;max-height:calc(100dvh - 295px);min-height:0}}
@media print{.mapa-ocupacao-compacto .mapa-ocupacao-grade .reserva-rolagem-grade,.mapa-ocupacao-compacto .ocupacao-detalhes .reserva-rolagem-grade{height:auto;max-height:none;overflow:visible}.mapa-ocupacao-compacto .ocupacao-detalhes{display:none!important}}

.mapa-ocupacao-compacto .ocupacao-legenda-conteudo .mapa-ponto.estado-checkin{background:#bbe9e4;border-color:#83b9b2}
/* Check-out: visão operacional resumida e ações no próprio extrato (0.2.8.1). */
.checkout-central{margin-bottom:1rem}
.checkout-central-topo,.checkout-conta-cabecalho,.checkout-contas-titulo,.checkout-rodape{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap}
.checkout-central-topo h2,.checkout-contas-titulo h3{margin:.15rem 0}
.checkout-central-topo p,.checkout-conta-cabecalho p{margin:.2rem 0 0;color:#607487}
.checkout-resumo{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;margin:1rem 0}
.checkout-resumo>div{border:1px solid #e1eaf1;background:#f7fafc;border-radius:.65rem;padding:.75rem;display:grid;gap:.2rem}
.checkout-resumo small{color:#607487}.checkout-resumo strong{font-size:1.08rem;color:#153d64}
.checkout-passos{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}
.checkout-passos span{padding:.38rem .7rem;border-radius:10rem;font-size:.82rem;font-weight:600}
.checkout-passos .ok{background:#e5f5eb;color:#1f6c43}.checkout-passos .pendente{background:#fff4dd;color:#805b18}
.checkout-proxima-acao{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;background:#eef5fd;border:1px solid #cadef6;border-radius:.7rem;margin:1rem 0}
.checkout-proxima-acao p{font-size:.88rem;color:#405a73;margin:.3rem 0 0;max-width:68ch}
.checkout-contas{display:grid;gap:.7rem;margin:.8rem 0 1rem}
.checkout-conta{border:1px solid #d9e4ed;border-radius:.7rem;padding:.85rem 1rem;background:#fff;min-width:0}
.checkout-conta-cabecalho>div{min-width:0}.checkout-conta-cabecalho strong{overflow-wrap:anywhere}
.checkout-conta-acoes{display:flex;align-items:start;flex-wrap:wrap;gap:.6rem;margin-top:.75rem}
.checkout-saldo-zero{color:#22714a}.checkout-saldo-pendente{color:#9a5419}
.checkout-lancar{flex:1 1 320px;min-width:0}
.checkout-lancar summary{cursor:pointer;display:inline-flex;align-items:center;border:1px solid #b9cfdf;border-radius:.5rem;padding:.45rem .75rem;font-size:.83rem;font-weight:650;color:#184b70;background:#f7fbfe}
.checkout-lancar[open]{width:100%;padding:.65rem;border-radius:.6rem;background:#f8fbfd;border:1px solid #e4eef5}
.checkout-lancar-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:.65rem;margin:.65rem 0}
.checkout-lancar-form label{display:grid;gap:.3rem;font-weight:600;font-size:.82rem;min-width:0;color:#3b5267}
.checkout-lancar-form :is(select,input){width:100%;min-width:0;min-height:2.4rem;padding:.45rem;border:1px solid #b8cbd9;border-radius:.45rem;background:#fff}
.checkout-lancar-form button{grid-column:1/-1;justify-self:start}
.checkout-rodape{border-top:1px solid #e1eaf1;padding-top:1rem;margin-top:1rem}
@media(max-width:800px){.checkout-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-lancar-form{grid-template-columns:1fr 1fr}.checkout-lancar-form label:last-of-type{grid-column:1/-1}}
@media(max-width:520px){.checkout-resumo{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-proxima-acao{align-items:stretch;flex-direction:column}.checkout-lancar-form{grid-template-columns:1fr}.checkout-lancar-form label:last-of-type{grid-column:auto}}

/* Conciliação de diárias antigas na Recepção */
.checkout-conciliacao { width:100%; display:grid; gap:.75rem; }
.checkout-conciliar-form { display:flex; align-items:end; gap:.75rem; flex-wrap:wrap; padding:.7rem; border:1px solid var(--border, #dae2ed); border-radius:.65rem; background:var(--surface, #fff); }
.checkout-conciliar-form > div { display:grid; gap:.25rem; flex:1 1 190px; }
.checkout-conciliar-form small { display:block; opacity:.76; }
.checkout-conciliar-form label { display:grid; gap:.25rem; min-width:150px; }
.checkout-conciliar-form select { padding:.5rem; border:1px solid #b8c5d7; border-radius:.4rem; background:#fff; }
@media (max-width:600px) { .checkout-conciliar-form .botao { width:100%; } }

/* Conta / Configurar MFA: padrão visual existente, com QR Code gerado localmente. */
.acesso.mfa-configuracao{max-width:890px}
.mfa-configuracao .subtitulo{max-width:710px}
.mfa-etapas{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:18px;margin-top:24px}
.mfa-etapa{padding:22px;border:1px solid var(--orb-border);border-radius:12px;background:#f9fbfe;min-width:0}
.mfa-etapa h2{display:flex;align-items:center;gap:10px;font-size:18px;margin:0 0 12px}
.mfa-etapa p{font-size:14px;color:var(--orb-muted);margin:0 0 16px}
.mfa-etapa-numero{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:none;border-radius:50%;background:#dbeafe;color:#1d4ed8;font-weight:800}
.mfa-qr-moldura{width:fit-content;max-width:100%;margin:16px auto;padding:12px;background:#fff;border:1px solid #dbe3ef;border-radius:12px}
.mfa-qr-moldura img{display:block;width:min(264px,100%);height:auto;image-rendering:pixelated}
.mfa-chave-manual{margin-top:18px;border-top:1px solid var(--orb-border);padding-top:14px;font-size:14px}
.mfa-chave-manual summary{cursor:pointer;color:var(--orb-primary-strong);font-weight:650;line-height:1.5}
.mfa-chave-manual .ajuda{margin-top:12px}
.mfa-chave-valor{display:block;overflow-wrap:anywhere;font-size:14px;font-weight:700;padding:12px;border:1px solid var(--orb-border);border-radius:8px;background:#fff;user-select:all}
.mfa-etapa-validacao label{margin-top:16px}
.mfa-etapa-validacao input{font-size:23px;letter-spacing:.18em;text-align:center;font-variant-numeric:tabular-nums}
.mfa-etapa-validacao .mfa-aviso-chave{margin:16px 0 0}
.mfa-configuracao .mfa-privacidade{font-size:13px;margin:18px 0 0}
@media(max-width:720px){.mfa-etapas{grid-template-columns:1fr}.mfa-etapa{padding:18px}.mfa-qr-moldura{margin-inline:auto}}

/* Consulta: campos de mesma altura/alinhamento, inclusive na gaveta lateral. */
.reserva-gaveta .reserva-consulta-filtros{align-items:start;grid-auto-flow:row;gap:14px 12px}
.reserva-gaveta .reserva-campo{display:flex;flex-direction:column;min-width:0;gap:5px;align-self:start}
.reserva-gaveta .reserva-campo>label{display:flex;align-items:flex-end;min-height:38px;line-height:1.25;margin:0;font-weight:650}
.reserva-gaveta .reserva-campo>input,.reserva-gaveta .reserva-campo>select{height:43px;min-height:43px;min-width:0;width:100%;margin:0}
.reserva-gaveta .reserva-campo>small{display:block;line-height:1.3;margin-top:2px}
.reserva-gaveta .reserva-consulta-acoes{align-items:center;justify-content:stretch;flex-wrap:wrap}
.reserva-gaveta .reserva-consulta-acoes>*{flex:1 1 130px;text-align:center}
@media(max-width:520px){.reserva-gaveta .reserva-campo>label{min-height:0}}
