:root{--brand: #4f46e5;--brand-hover: #4338ca;--brand-soft: #eef2ff;--brand-ink: #3730a3;--bg: #f6f7fb;--surface: #ffffff;--surface-2: #f1f5f9;--border: #e5e8ee;--border-strong: #cbd2dd;--text: #0f172a;--text-2: #475569;--muted: #64748b;--success: #15803d;--success-bg: #dcfce7;--warning: #b45309;--warning-bg: #fef3c7;--danger: #b91c1c;--danger-bg: #fee2e2;--info: #1d4ed8;--info-bg: #dbeafe;--radius: 12px;--radius-sm: 9px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .05);--shadow: 0 6px 20px rgba(15, 23, 42, .08);--sidebar-w: 236px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--brand: #818cf8;--brand-hover: #a5b4fc;--brand-soft: #1e1b4b;--brand-ink: #c7d2fe;--bg: #0b1020;--surface: #121829;--surface-2: #1b2338;--border: #263149;--border-strong: #33405c;--text: #e8ecf5;--text-2: #aab6cf;--muted: #8595b4;--success: #4ade80;--success-bg: #14321f;--warning: #fbbf24;--warning-bg: #3a2c0c;--danger: #f87171;--danger-bg: #3a1616;--info: #93c5fd;--info-bg: #12233f;--shadow-sm: 0 1px 2px rgba(0,0,0,.3);--shadow: 0 8px 26px rgba(0,0,0,.45)}}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}h1{font-size:1.35rem;font-weight:700;letter-spacing:-.01em}h3{font-size:1rem;font-weight:650}a{color:var(--brand)}.muted{color:var(--muted)}.erro{color:var(--danger);margin:0}.center{min-height:100vh;display:grid;place-items:center;padding:1.5rem;text-align:center}input,select,button,textarea{font:inherit;color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);padding:.5rem .7rem;transition:border-color .12s,box-shadow .12s,background .12s}input::placeholder{color:var(--muted)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 22%,transparent)}button{cursor:pointer;font-weight:600;border-color:transparent;background:var(--brand);color:#fff}button:hover{background:var(--brand-hover)}button:disabled{opacity:.55;cursor:default}button.ghost,.sair{background:transparent;color:var(--text-2);border-color:var(--border-strong)}button.ghost:hover,.sair:hover{background:var(--surface-2);color:var(--text)}.login{width:100%;max-width:360px;display:flex;flex-direction:column;gap:.9rem;padding:2rem 1.75rem}.login h1{margin:0}.login label{display:flex;flex-direction:column;gap:.3rem;font-size:.86rem;color:var(--text-2)}.login button{padding:.6rem;margin-top:.25rem}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:.9rem .7rem;position:sticky;top:0;height:100vh}.logo{display:flex;align-items:center;gap:.55rem;padding:.4rem .5rem .9rem;font-weight:750;font-size:1.1rem;letter-spacing:-.01em}.logo-mark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;background:linear-gradient(135deg,var(--brand),var(--brand-hover));color:#fff;font-weight:800}.side-nav{display:flex;flex-direction:column;gap:2px}.nav-group{font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:.9rem .6rem .35rem}.side-link{display:flex;align-items:center;gap:.6rem;padding:.5rem .6rem;border-radius:var(--radius-sm);color:var(--text-2);text-decoration:none;font-weight:550;position:relative}.side-link:hover{background:var(--surface-2);color:var(--text)}.side-link.ativo{background:var(--brand-soft);color:var(--brand-ink)}.side-link.ativo:before{content:"";position:absolute;left:-.7rem;top:20%;bottom:20%;width:3px;border-radius:0 3px 3px 0;background:var(--brand)}.side-link svg{width:18px;height:18px;opacity:.9}.sidebar-foot{margin-top:auto;padding-top:.7rem}.sidebar-foot .sair{width:100%}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:56px;flex-shrink:0;display:flex;align-items:center;gap:.75rem;padding:0 1.25rem;background:var(--surface);border-bottom:1px solid var(--border)}.hotel-select{min-width:200px;font-weight:600}.spacer{flex:1}.content{flex:1;padding:1.5rem;max-width:1080px;width:100%;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow-sm)}.cabecalho{display:flex;align-items:center;gap:.75rem;justify-content:space-between;margin-bottom:.5rem}.cabecalho h1,.cabecalho h3{margin:.2rem 0}.novo{display:flex;gap:.5rem;margin:.75rem 0;flex-wrap:wrap;align-items:center}.novo input{flex:1;min-width:150px}.tabela{width:100%;border-collapse:separate;border-spacing:0;margin-top:.85rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}.tabela th,.tabela td{text-align:left;padding:.7rem .85rem;font-size:.9rem;border-bottom:1px solid var(--border)}.tabela thead th{background:var(--surface-2);color:var(--text-2);font-weight:650;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.tabela tbody tr:last-child td{border-bottom:none}.linha{cursor:pointer}.linha:hover td{background:var(--surface-2)}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.15rem .55rem;border-radius:999px;font-size:.74rem;font-weight:650;background:var(--surface-2);color:var(--text-2);border:1px solid var(--border)}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.badge.ok{background:var(--success-bg);color:var(--success);border-color:transparent}.badge.warn{background:var(--warning-bg);color:var(--warning);border-color:transparent}.badge.info{background:var(--info-bg);color:var(--info);border-color:transparent}.badge.danger{background:var(--danger-bg);color:var(--danger);border-color:transparent}.perms{display:flex;flex-wrap:wrap;gap:.4rem;padding:0;list-style:none}.perms li code{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:.2rem .5rem;font-size:.82rem}.detalhe{display:flex;flex-direction:column;gap:1rem}.detalhe .card{margin:0}.voltar{color:var(--brand);text-decoration:none;font-size:.88rem;display:inline-block;margin-bottom:.25rem}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.7rem;margin:.6rem 0}.grid2 label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:var(--text-2)}.proposta{border-top:1px solid var(--border);padding:.8rem 0;display:flex;flex-direction:column;gap:.55rem}.proposta:first-of-type{border-top:none}.inline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.inline input{width:150px}.chat{display:flex;flex-direction:column;gap:.4rem;max-height:340px;overflow-y:auto;padding:.75rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.7rem}.bolha{max-width:78%;padding:.45rem .7rem;border-radius:12px;font-size:.9rem;box-shadow:var(--shadow-sm)}.bolha .meta{font-size:.66rem;color:var(--muted);margin-top:.15rem}.bolha.entrada{align-self:flex-start;background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:3px}.bolha.saida{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:3px}.bolha.saida .meta{color:#ffffffd9}
