:root{--brand-900:#072536;--brand-800:#0b3b57;--brand-700:#0f5674;--brand-600:#146c93;--brand-500:#1b86b6;--brand-400:#3fa0cb;--brand-300:#6cc0e0;--brand-200:#9edaee;--brand-100:#b6e5f9;--brand-50:#e9f6fb;--cream:#fffefa;--bg:#eef6fa;--card:#fff;--card-alt:#f2f9fc;--border:#dbe9ef;--border-strong:#c1dbe4;--text:#0c2432;--text-2:#4d6b78;--text-3:#85a2ad;--sidebar:#052436;--sidebar-card:#0e3b52;--sidebar-border:#123449;--sidebar-text:#7fa7b7;--sidebar-text-active:#fff;--accent:#f0a430;--accent-strong:#d98d1b;--accent-soft:#f0a43024;--blue:var(--brand-500);--blue-strong:var(--brand-700);--blue-soft:#1b86b61f;--green:#17a863;--green-soft:#17a8631f;--red:#e1435a;--red-soft:#e1435a1a;--radius-sm:8px;--radius:14px;--radius-lg:20px;--shadow-xs:0 1px 2px #061e2b0f;--shadow-sm:0 1px 3px #061e2b17, 0 1px 2px #061e2b0d;--shadow-md:0 4px 12px #061e2b12, 0 2px 4px #061e2b0f;--shadow-lg:0 14px 34px #061e2b24, 0 4px 10px #061e2b12;--ease:cubic-bezier(.4, 0, .2, 1)}:root[data-theme=dark]{--bg:#0a0f18;--card:#121a26;--card-alt:#17202e;--border:#232c3d;--border-strong:#2d3849;--text:#eaeef5;--text-2:#98a3b8;--text-3:#66718a;--sidebar:#070b12;--sidebar-card:#131c2a;--sidebar-border:#1d2739;--sidebar-text:#7c88a1;--sidebar-text-active:#fff;--accent-soft:#f0a4302e;--blue-soft:#3fa0cb38;--green-soft:#17a86329;--red-soft:#e1435a29;--shadow-xs:0 1px 2px #0000004d;--shadow-sm:0 1px 3px #0006, 0 1px 2px #0000004d;--shadow-md:0 4px 10px #00000059, 0 2px 4px #00000040;--shadow-lg:0 16px 40px #00000080, 0 4px 10px #0000004d}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-feature-settings:"cv05", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.011em;margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,h3{letter-spacing:-.02em}a{color:inherit}button,input,select,textarea{letter-spacing:-.011em;font-family:inherit}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}::selection{background:var(--blue-soft)}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-lg{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:background-color .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease), transform .1s var(--ease), opacity .15s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:.4rem;padding:.55rem 1.05rem;font-size:.875rem;font-weight:600;line-height:1.2;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-primary{background:linear-gradient(135deg, var(--brand-500), var(--brand-700));color:#fff;box-shadow:0 2px 8px #1b86b652}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--brand-400), var(--brand-600))}.btn-accent{background:var(--accent);color:#1a1200;box-shadow:0 1px 2px #f0a43040}.btn-accent:hover:not(:disabled){background:var(--accent-strong)}.btn-secondary{background:var(--card);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled){background:var(--card-alt);border-color:var(--text-3)}.btn-danger{background:var(--red-soft);color:var(--red)}.btn-danger:hover:not(:disabled){background:var(--red);color:#fff}.btn-ghost{color:var(--text-2);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--card-alt);color:var(--text)}.field{flex-direction:column;gap:.4rem;display:flex}.field-label{color:var(--text-2);font-size:.8rem;font-weight:600}.input{background:var(--card);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--text);transition:border-color .15s var(--ease), box-shadow .15s var(--ease), background-color .15s var(--ease);width:100%;padding:.6rem .8rem;font-size:.9rem}.input::placeholder{color:var(--text-3)}.input:hover{border-color:var(--text-3)}.input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.input.input-error{border-color:var(--red)}.input.input-error:focus{box-shadow:0 0 0 3px var(--red-soft)}.input:disabled{opacity:.6;cursor:not-allowed}.field-error{color:var(--red);align-items:center;gap:.3rem;font-size:.78rem;font-weight:500;display:flex}.field-hint{color:var(--text-3);font-size:.78rem}.text-muted{color:var(--text-2)}.badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.72rem;font-weight:700;display:inline-flex}.badge-admin{background:var(--brand-800);color:var(--brand-100)}.badge-operador{background:var(--blue-soft);color:var(--blue)}table{border-collapse:collapse;width:100%}th{text-align:left;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);padding:.65rem .85rem;font-size:.7rem;font-weight:700}td{border-bottom:1px solid var(--border);padding:.7rem .85rem;font-size:.875rem}tbody tr{transition:background-color .12s var(--ease)}tbody tr:hover{background:var(--card-alt)}tbody tr:last-child td{border-bottom:none}@keyframes spin{to{transform:rotate(360deg)}}.spinner{animation:.7s linear infinite spin}@keyframes fade-in-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fade-in-up .35s var(--ease)}.sidebar-link:hover{background:var(--sidebar-card);color:var(--sidebar-text-active)}.filter-field{flex-direction:column;gap:.3rem;display:flex}.filter-field-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);align-items:center;gap:4px;padding-left:2px;font-size:.66rem;font-weight:700;display:flex}.select-trigger{background:var(--card);border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);align-items:center;gap:8px;padding:.6rem .75rem;font-size:.875rem;display:flex}.select-trigger:disabled{opacity:.6;cursor:not-allowed}.select-trigger:hover:not(:disabled){border-color:var(--text-3)}.select-trigger:focus-visible,.select-trigger[aria-expanded=true]{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-soft);outline:none}.select-trigger-icon{color:var(--text-3);flex-shrink:0;display:flex}.select-trigger-label{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.select-popover{z-index:40;background:var(--card);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);max-height:280px;padding:6px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.select-option{color:var(--text);cursor:pointer;transition:background-color .12s var(--ease);border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:.55rem .7rem;font-size:.85rem;display:flex}.select-option:hover{background:var(--card-alt)}.select-option-active{color:var(--blue);background:var(--blue-soft);font-weight:600}.topbar-icon-btn{width:38px;height:38px;color:var(--text-2);cursor:pointer;transition:background-color .15s var(--ease), color .15s var(--ease);background:0 0;border:none;border-radius:10px;outline:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.topbar-icon-btn:hover{background:var(--card-alt);color:var(--text)}.topbar-icon-btn:focus-visible{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--blue)}.topbar-user-btn{color:var(--text);cursor:pointer;transition:background-color .15s var(--ease);background:0 0;border:none;border-radius:999px;outline:none;align-items:center;gap:10px;padding:.35rem .6rem .35rem .35rem;display:flex}.topbar-user-btn:focus-visible{box-shadow:0 0 0 2px var(--card), 0 0 0 4px var(--blue)}.topbar-user-btn:hover{background:var(--card-alt)}.filter-clear{color:var(--blue);background:var(--blue-soft);cursor:pointer;transition:background-color .15s var(--ease);border:none;border-radius:999px;align-items:center;gap:5px;padding:.4rem .75rem;font-size:.78rem;font-weight:600;display:inline-flex}.filter-clear:hover{background:var(--brand-200)}.checklist{border:1.5px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--card);flex-direction:column;gap:2px;max-height:220px;padding:.4rem;display:flex;overflow-y:auto}.checklist-item{cursor:pointer;transition:background-color .12s var(--ease);-webkit-user-select:none;user-select:none;border-radius:7px;align-items:center;gap:9px;padding:.45rem .55rem;font-size:.85rem;display:flex}.checklist-item:hover{background:var(--card-alt)}.checklist-item input[type=checkbox]{accent-color:var(--blue);cursor:pointer;width:15px;height:15px}.table-meta{min-width:1280px}.table-meta th,.table-meta td{text-align:center;white-space:nowrap;padding:.45rem .5rem;font-size:.78rem}.table-meta th:first-child,.table-meta td:first-child{text-align:left;background:var(--card);z-index:1;min-width:180px;position:sticky;left:0}.table-meta thead th{background:var(--card-alt)}.table-meta .th-grupo{text-align:center;letter-spacing:.04em;border-bottom:none}.table-meta .th-hotel{background:var(--blue-soft);color:var(--blue-strong)}.table-meta .th-externo{background:var(--accent-soft);color:var(--accent-strong)}.table-meta-total td{background:var(--card-alt);font-weight:700}.table-meta .input{padding:.3rem .4rem;font-size:.78rem}.modal-backdrop{z-index:900;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#060c148c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal{outline:none;flex-direction:column;width:100%;max-height:90dvh;display:flex;overflow:hidden}.modal-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:1.1rem 1.5rem;display:flex}.modal-title{overflow-wrap:anywhere;margin:0;font-size:1.05rem;line-height:1.3}.modal-close{flex-shrink:0;padding:.4rem}.modal-body{flex:auto;min-height:0;padding:1.25rem 1.5rem;overflow-y:auto}.modal-footer{border-top:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;display:flex}@media (width<=520px){.modal-backdrop{align-items:flex-end;padding:.5rem}.modal-header,.modal-body,.modal-footer{padding-left:1.1rem;padding-right:1.1rem}.modal-footer .btn{flex:auto;justify-content:center}}
