@import "https://fonts.googleapis.com/css2?family=Poppins:wght@600;700;800&family=Inter:wght@400;500;600&display=swap";.app-shell{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;display:flex}.app-header{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.app-header-hotel-wrap{min-width:0;position:relative}.app-header-hotel{align-items:center;gap:10px;min-width:0;display:flex}.app-header-hotel-botao{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;margin:-4px;padding:4px}.app-header-hotel-botao:hover{background:var(--surface-2)}.app-header-hotel-botao svg{color:var(--text-muted);flex-shrink:0;margin-left:2px}.app-header-menu-backdrop{z-index:20;position:fixed;inset:0}.app-header-menu{z-index:21;border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:2px;min-width:230px;max-width:280px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);left:4px;box-shadow:0 12px 32px #00000059}.app-header-menu-item{width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:9px 10px;font-size:13px;font-weight:600;display:flex}.app-header-menu-item:hover:not(:disabled){background:var(--surface-2)}.app-header-menu-item:disabled{opacity:.6;cursor:default}.app-header-menu-item img{object-fit:contain;background:var(--surface-2);border-radius:8px;flex-shrink:0;width:28px;height:28px;padding:2px}.app-header-menu-avatar{background:var(--accent);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:flex}.app-header-menu-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.app-header-menu-item svg{color:var(--success);flex-shrink:0}.app-header-menu-divider{background:var(--border);height:1px;margin:4px 2px}.app-header-logo{object-fit:contain;background:var(--surface-2);border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:2px}.app-header-avatar{background:var(--accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.app-header-nome{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.app-header-usuario{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.app-header-acoes{flex-shrink:0;align-items:center;gap:8px;display:flex}.botao-sair{border:1px solid var(--border);background:var(--surface-2);width:36px;height:36px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;display:flex}.app-content{flex-direction:column;flex:1;gap:16px;width:100%;max-width:520px;margin:0 auto;padding:16px 16px 88px;display:flex}.app-nav{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}.app-nav-item{color:var(--text-muted);flex-direction:column;flex:1;align-items:center;gap:4px;padding:10px 0 8px;font-size:11px;font-weight:600;text-decoration:none;display:flex}.app-nav-item svg{width:22px;height:22px}.app-nav-ativo{color:var(--primary)}.login-screen{background:#000 url(/login-bg.jpg) 50%/cover no-repeat;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex;position:relative}.login-screen:before{content:"";background:radial-gradient(circle at 50% 15%,#2f8fd833 0%,#0000 42%),radial-gradient(circle at 15% 100%,#f2760a24 0%,#0000 45%),linear-gradient(#060a14b8 0%,#060a148c 45%,#060a14d1 100%);position:absolute;inset:0}.login-card{z-index:1;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0a12248c;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;align-items:center;gap:8px;width:100%;max-width:380px;padding:36px 28px 28px;display:flex;position:relative;box-shadow:0 24px 70px #00000080}.login-logo{filter:drop-shadow(0 8px 24px #0006);width:260px;max-width:80%;height:auto;margin-bottom:20px}.login-field{background:#00000052;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:16px;padding:14px 18px;display:flex}.login-field svg{color:var(--text-muted);flex:none}.login-field input{color:var(--text-light);background:0 0;border:none;outline:none;flex:1;font-size:15px}.login-field input::placeholder{color:#eef2f873}.login-toggle-senha{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.login-toggle-senha:hover{color:var(--text-light)}.login-button{background:linear-gradient(135deg, var(--orange-light), var(--orange));color:#fff;cursor:pointer;border:none;border-radius:12px;width:100%;margin-top:8px;padding:15px;font-size:16px;font-weight:700;transition:filter .15s,transform 50ms}.login-button:hover:not(:disabled){filter:brightness(1.08)}.login-button:active:not(:disabled){transform:scale(.99)}.login-button:disabled{opacity:.6;cursor:default}.login-error{color:#ff8a85;text-align:center;background:#ef535029;border:1px solid #ef535073;border-radius:10px;width:100%;margin-bottom:16px;padding:10px 14px;font-size:14px}.login-footer{color:#eef2f88c;margin-top:24px;font-size:13px}.login-selecionar-hotel-titulo{color:var(--text-light);margin-bottom:16px;font-size:16px;font-weight:700}.login-busca-hotel{width:100%;color:var(--text-light);background:#00000052;border:1px solid #ffffff24;border-radius:12px;outline:none;margin-bottom:14px;padding:12px 16px;font-size:14px}.login-busca-hotel::placeholder{color:#eef2f873}.login-busca-hotel:focus{border-color:#ffffff52}.login-hoteis-lista{flex-direction:column;gap:16px;width:100%;display:flex}.login-hoteis-grupo{flex-direction:column;gap:10px;display:flex}.login-hoteis-grupo-titulo{color:#eef2f88c;letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.login-hoteis-vazio{color:#eef2f88c;text-align:center;margin:0;font-size:14px}.login-hotel-item{width:100%;color:var(--text-light);cursor:pointer;text-align:left;background:#00000052;border:1px solid #ffffff24;border-radius:12px;align-items:center;gap:12px;padding:12px 16px;font-size:15px;font-weight:600;display:flex}.login-hotel-item:hover:not(:disabled){background:#00000073}.login-hotel-item:disabled{opacity:.6;cursor:default}.login-hotel-item img{object-fit:contain;background:#ffffff14;border-radius:10px;flex-shrink:0;width:40px;height:40px;padding:2px}.login-hotel-avatar{background:var(--blue-accent);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-weight:700;display:flex}.login-voltar{color:#eef2f8a6;cursor:pointer;background:0 0;border:none;margin-top:18px;font-size:13px}.login-voltar:hover{color:var(--text-light)}.evolucao-mes-cartao{margin-bottom:16px}.evolucao-mes-cabecalho{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.evolucao-mes-cabecalho h2{margin:0}.evolucao-mes-select{border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);border-radius:8px;padding:6px 10px;font-size:13px}.evolucao-mes-info{color:var(--text-muted);font-size:13px}.secao-ocupacao{flex-direction:column;align-items:center;display:flex}.home-atualizado-em{color:var(--text-muted);margin-top:10px;font-size:12px}.lista-reservas{flex-direction:column;gap:10px;display:flex}.reserva-item{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;align-items:center;gap:12px;padding:10px 12px;display:flex}.reserva-apto{background:var(--field-bg);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;min-width:44px;height:44px;font-size:13px;font-weight:700;display:flex}.reserva-info{flex:1;min-width:0}.reserva-hospede{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.reserva-horario{color:var(--text-muted);font-size:12px}.reserva-status{white-space:nowrap;border-radius:999px;flex-shrink:0;padding:4px 8px;font-size:11px;font-weight:700}.status-hospedado{background:var(--success-bg);color:var(--success)}.status-pendente{background:var(--warning-bg);color:var(--warning)}.classes-lista{flex-direction:column;gap:14px;display:flex}.classe-item{flex-direction:column;gap:6px;display:flex}.classe-linha-topo{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.classe-nome{font-size:13px;font-weight:700}.classe-contagem{color:var(--text-muted);white-space:nowrap;font-size:12px}.classe-barra-trilha{background:var(--field-bg);border-radius:999px;height:8px;overflow:hidden}.classe-barra-progresso{background:linear-gradient(90deg, var(--orange-light), var(--orange));border-radius:999px;height:100%;transition:width .6s}.estat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.estat-card{border:1px solid var(--border);border-left:4px solid var(--border);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:4px;padding:12px;display:flex}.estat-card strong{font-family:Poppins,sans-serif;font-size:20px}.estat-card span{color:var(--text-muted);font-size:12px}.estat-ocupado{border-left-color:var(--danger)}.estat-ocupado strong{color:var(--danger)}.estat-vago{border-left-color:var(--success)}.estat-vago strong{color:var(--success)}.estat-manutencao{border-left-color:var(--warning)}.estat-manutencao strong{color:var(--warning)}.estat-interditado{border-left-color:var(--text-muted)}.estat-adulto{border-left-color:var(--accent)}.estat-adulto strong{color:var(--accent)}.estat-crianca{border-left-color:var(--text-muted)}.estat-entrando{border-left-color:var(--success)}.estat-entrando strong{color:var(--success)}.estat-saindo{border-left-color:var(--orange)}.estat-saindo strong{color:var(--orange)}.cartao-faturamento{margin-bottom:16px}.faturamento-valor{color:var(--accent);font-family:Poppins,sans-serif;font-size:28px;font-weight:700}.faturamento-legenda{color:var(--text-muted);margin-top:4px;font-size:12px}.financeiro-abas{background:var(--surface);border:1px solid var(--border);border-radius:12px;gap:8px;padding:4px;display:flex}.financeiro-aba{color:var(--text-muted);background:0 0;border:none;border-radius:9px;flex:1;padding:10px 0;font-size:13px;font-weight:600}.financeiro-aba-ativa{background:var(--primary);color:var(--primary-text)}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:16px;display:grid}.mini-stat{text-align:center;border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface-2);min-width:0;font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:10px;transition:background .12s;display:flex}.mini-stat:hover{filter:brightness(1.08)}.mini-stat-selecionado{box-shadow:inset 0 0 0 1px var(--text-muted)}.mini-stat strong{color:var(--text);white-space:normal;overflow-wrap:break-word;word-break:break-word;font-family:Poppins,sans-serif;font-size:13px}.mini-stat span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px}.mini-stat-vencido{border-left-color:var(--danger)}.mini-stat-vencido strong{color:var(--danger)}.mini-stat-hoje{border-left-color:var(--warning)}.mini-stat-hoje strong{color:var(--warning)}.titulos-lista{flex-direction:column;gap:8px;display:flex}.titulo-item{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.titulo-info{min-width:0}.titulo-descricao{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.titulo-vencimento{color:var(--text-muted);font-size:12px}.titulo-valor{flex-shrink:0;font-size:14px;font-weight:700}.titulo-vencido{color:var(--danger)}.dfe-grid{flex-direction:column;gap:12px;display:flex}.dfe-card{border:1px solid var(--border);border-left:4px solid var(--accent);background:var(--surface-2);border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:6px 10px;padding:14px 16px;display:flex}.dfe-card-titulo{color:var(--text-muted);text-transform:uppercase;letter-spacing:.4px;flex-basis:100%;font-size:13px;font-weight:700}.dfe-card-qtde{font-family:Poppins,sans-serif;font-size:26px}.dfe-card-label{color:var(--text-muted);font-size:12px}.dfe-card-valor{color:var(--text);margin-left:auto;font-size:14px;font-weight:700}.dfe-nfe{border-left-color:var(--accent)}.dfe-nfe .dfe-card-qtde{color:var(--accent)}.dfe-nfce{border-left-color:var(--success)}.dfe-nfce .dfe-card-qtde{color:var(--success)}.dfe-nfse{border-left-color:var(--orange)}.dfe-nfse .dfe-card-qtde{color:var(--orange)}.perfil-info{flex-direction:column;gap:10px;margin-bottom:20px;display:flex}.perfil-info>div{flex-direction:column;gap:2px;display:flex}.perfil-info-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:12px}.perfil-trocar-hotel{border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:8px;align-self:flex-start;margin-bottom:8px;padding:8px 14px;font-size:13px;font-weight:600}.perfil-trocar-hotel:hover{background:var(--field-bg)}.perfil-subtitulo{border-top:1px solid var(--border);margin:0 0 12px;padding-top:16px;font-family:Poppins,sans-serif;font-size:14px}.perfil-form{flex-direction:column;gap:14px;display:flex}.perfil-form label{color:var(--text-muted);flex-direction:column;gap:6px;font-size:13px;display:flex}.perfil-form input{border:1px solid var(--field-border);background:var(--field-bg);color:var(--text);border-radius:10px;padding:12px 14px;font-size:14px}.perfil-form button{background:var(--primary);color:var(--primary-text);border:none;border-radius:10px;margin-top:4px;padding:13px;font-size:15px;font-weight:700}.perfil-form button:disabled{opacity:.6}.perfil-mensagem{border-radius:10px;padding:10px 14px;font-size:13px}.perfil-erro{background:var(--danger-bg);color:var(--danger);border:1px solid #ef535066}.perfil-sucesso{background:var(--success-bg);color:var(--success);border:1px solid #3bb27366}:root{--navy-deep:#0a1224;--navy-mid:#101c33;--navy-panel:#0c1728;--blue-accent:#2f8fd8;--blue-glow:#5fa8e6;--orange:#f2760a;--orange-light:#fe9142;--text-light:#eef2f8;--text-muted:#93a2ba;--field-bg:#182238;--field-border:#2a3752;--bg:var(--navy-deep);--surface:#101c33;--surface-2:#16213a;--text:var(--text-light);--border:#2a3752;--primary:var(--orange);--primary-text:#fff;--accent:var(--blue-accent);--accent-2:#1f6fb0;--danger:#ef5350;--danger-bg:#ef535026;--warning:#fbbf24;--warning-bg:#fbbf2426;--success:#3bb273;--success-bg:#3bb27326}:root[data-theme=light]{--bg:#f3f5f9;--surface:#fff;--surface-2:#eef1f6;--text:#101a2c;--text-muted:#5b6b84;--border:#e1e6ee;--field-bg:#f3f5f9;--field-border:#d7dde6;--danger-bg:#c0392b1a;--warning-bg:#b7791f1f;--success-bg:#1f8f571a}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);margin:0;font-family:Inter,Segoe UI,sans-serif}input,button{font-family:inherit}button{cursor:pointer}.botao-tema{border:1px solid var(--border);background:var(--surface-2);width:36px;height:36px;color:var(--text);border-radius:10px;justify-content:center;align-items:center;display:flex}.botao-tema svg{width:18px;height:18px}.cartao{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:18px}.cartao h2{margin:0 0 14px;font-family:Poppins,sans-serif;font-size:16px}.tela-estado{text-align:center;color:var(--text-muted);padding:40px 0}.tela-erro{background:var(--danger-bg);text-align:center;border:1px solid #ef535066;border-radius:12px;padding:16px}.tela-erro p{color:var(--text);margin:0 0 12px}.tela-erro button{background:var(--primary);color:var(--primary-text);border:none;border-radius:10px;padding:10px 18px;font-weight:600}.lista-vazia{color:var(--text-muted);padding:8px 0;font-size:14px}.gauge-ocupacao{width:200px;height:200px;position:relative}.gauge-trilha{stroke:var(--field-bg)}.gauge-progresso{stroke:var(--primary);transition:stroke-dashoffset .6s}.gauge-centro{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.gauge-percentual{font-family:Poppins,sans-serif;font-size:28px;font-weight:700}.gauge-legenda{color:var(--text-muted);margin-top:4px;font-size:13px}
