:root{--brand: #1d4ed8;--brand-hover: #1e40af;--brand-soft: #e8effd;--brand-ink: #1e3a8a;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f1f4f9;--border: #e7eaf0;--border-strong: #d3d8e2;--text: #0f1729;--text-2: #48546b;--muted: #6b7688;--side-bg: var(--surface);--side-bg-2: var(--surface-2);--side-ink: var(--text);--side-muted: var(--muted);--side-border: var(--border);--side-active-bg: var(--brand);--side-active-ink: #ffffff;--side-danger: var(--danger);--success: #15803d;--success-bg: #dcfce7;--warning: #b45309;--warning-bg: #fef3c7;--danger: #b91c1c;--danger-bg: #fee2e2;--info: #1d4ed8;--info-bg: #e0eafd;--radius: 14px;--radius-sm: 10px;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 16px 44px rgba(15, 23, 42, .14);--sidebar-w: 248px;--topbar-h: 64px;color-scheme:light dark}@media (prefers-color-scheme: dark){:root{--brand: #3b82f6;--brand-hover: #60a5fa;--brand-soft: #17213b;--brand-ink: #bfdbfe;--bg: #0a0e17;--surface: #10151f;--surface-2: #172033;--border: #212a3a;--border-strong: #2e3a4f;--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 10px 30px rgba(0,0,0,.5);--shadow-lg: 0 18px 50px rgba(0,0,0,.6)}}:root[data-theme=dark]{--brand: #3b82f6;--brand-hover: #60a5fa;--brand-soft: #17213b;--brand-ink: #bfdbfe;--bg: #0a0e17;--surface: #10151f;--surface-2: #172033;--border: #212a3a;--border-strong: #2e3a4f;--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}:root[data-theme=light]{--brand: #1d4ed8;--brand-hover: #1e40af;--brand-soft: #e8effd;--brand-ink: #1e3a8a;--bg: #f5f6f8;--surface: #ffffff;--surface-2: #f1f4f9;--border: #e7eaf0;--border-strong: #d3d8e2;--text: #0f1729;--text-2: #48546b;--muted: #6b7688}*{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.6rem;font-weight:750;letter-spacing:-.02em;margin:0}h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em;margin:0}h3{font-size:1rem;font-weight:680;margin:0}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}.spacer{flex:1}.stack{display:flex;flex-direction:column;gap:1.1rem}.row{display:flex;align-items:center;gap:.6rem}input,select,button,textarea{font:inherit;color:var(--text);border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface);padding:.55rem .75rem;transition:border-color .12s,box-shadow .12s,background .12s}input::placeholder,textarea::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) 20%,transparent)}button{cursor:pointer;font-weight:640;border-color:transparent;background:var(--brand);color:#fff;box-shadow:var(--shadow-sm)}button:hover{background:var(--brand-hover)}button:disabled{opacity:.55;cursor:default;box-shadow:none}button.ghost,.sair{background:transparent;color:var(--text-2);border-color:var(--border-strong);box-shadow:none}button.ghost:hover,.sair:hover{background:var(--surface-2);color:var(--text)}button.sm{padding:.35rem .65rem;font-size:.82rem}.login-page{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-hero{position:relative;overflow:hidden;background:linear-gradient(150deg,#0d1117db,#1d4ed8b8),radial-gradient(1200px 600px at 20% 20%,#1e3a8a,#0d1117 70%);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:3rem}.login-hero .brand-lg{display:flex;align-items:center;gap:.7rem;font-size:1.5rem;font-weight:780}.login-hero .brand-lg .logo-mark{width:44px;height:44px;border-radius:12px;font-size:1.15rem}.login-hero h2{font-size:2rem;line-height:1.15;max-width:20ch;font-weight:760;letter-spacing:-.02em}.login-hero p{color:#ffffffd1;max-width:42ch}.login-hero .hero-foot{font-size:.8rem;color:#fff9}.login-side{display:grid;place-items:center;padding:2rem;background:var(--bg)}.login{width:100%;max-width:380px;display:flex;flex-direction:column;gap:1rem;padding:2.25rem 2rem}.login .login-head{text-align:center;margin-bottom:.25rem}.login .login-head .logo-mark{margin:0 auto .75rem;width:52px;height:52px;border-radius:14px;font-size:1.3rem}.login .login-head h1{font-size:1.4rem}.login .login-head p{margin:.35rem 0 0;letter-spacing:.12em;font-size:.7rem;text-transform:uppercase;color:var(--muted)}.login label{display:flex;flex-direction:column;gap:.35rem;font-size:.84rem;font-weight:560;color:var(--text-2)}.login label input{padding:.65rem .8rem}.login .entrar{padding:.7rem;margin-top:.35rem;font-size:.95rem}@media (max-width: 860px){.login-page{grid-template-columns:1fr}.login-hero{display:none}}.app{display:flex;min-height:100vh}.sidebar{width:var(--sidebar-w);flex-shrink:0;background:var(--side-bg);color:var(--side-ink);display:flex;flex-direction:column;padding:1.1rem .8rem;position:sticky;top:0;height:100vh;border-right:1px solid var(--side-border)}.brand-block{display:flex;align-items:center;gap:.65rem;padding:.3rem .55rem 1.2rem}.logo-mark{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex-shrink:0;background:linear-gradient(135deg,var(--brand),var(--brand-hover));color:#fff;font-weight:850;box-shadow:0 4px 12px #1d4ed866}.brand-block .brand-name{font-weight:780;font-size:1.1rem;letter-spacing:-.01em;line-height:1.15;color:var(--brand)}.brand-block .brand-sub{font-size:.68rem;color:var(--side-muted);letter-spacing:.04em}.side-nav{display:flex;flex-direction:column;gap:3px}.nav-group{font-size:.66rem;text-transform:uppercase;letter-spacing:.08em;color:var(--side-muted);padding:1.1rem .65rem .4rem}.side-link{display:flex;align-items:center;gap:.7rem;padding:.62rem .7rem;border-radius:var(--radius-sm);color:var(--side-muted);text-decoration:none;font-weight:560;font-size:.92rem;transition:background .12s,color .12s}.side-link:hover{background:var(--side-bg-2);color:var(--side-ink)}.side-link.ativo{background:var(--side-active-bg);color:var(--side-active-ink);box-shadow:0 6px 16px #1d4ed859}.side-link svg{width:19px;height:19px;opacity:.95;flex-shrink:0}.nav-section{display:flex;flex-direction:column}.nav-parent{justify-content:flex-start;width:100%;background:transparent;box-shadow:none;border:none}.nav-parent .chevron{margin-left:auto;width:15px;height:15px;opacity:.7;transition:transform .15s}.nav-parent.aberto .chevron{transform:rotate(90deg)}.nav-parent.tem-ativo{color:var(--side-ink)}.nav-children{display:flex;flex-direction:column;gap:2px;margin:2px 0}.side-sublink{display:flex;align-items:center;gap:.55rem;padding:.45rem .7rem .45rem 2.75rem;border-radius:var(--radius-sm);color:var(--side-muted);text-decoration:none;font-weight:520;font-size:.88rem;position:relative}.side-sublink:before{content:"";position:absolute;left:1.65rem;top:50%;transform:translateY(-50%);width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5}.side-sublink:hover{background:var(--side-bg-2);color:var(--side-ink)}.side-sublink.ativo{background:var(--brand-soft);color:var(--brand-ink);font-weight:640}.side-sublink.ativo:before{opacity:1}.sidebar-foot{margin-top:auto;padding-top:.8rem;border-top:1px solid var(--side-border);display:flex;flex-direction:column;gap:3px}.side-link.danger{background:var(--brand);color:#fff}.side-link.danger:hover{background:var(--brand-hover);color:#fff}.side-link.danger svg{opacity:1}.main{flex:1;display:flex;flex-direction:column;min-width:0}.topbar{height:var(--topbar-h);flex-shrink:0;display:flex;align-items:center;gap:1rem;padding:0 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}.topbar-title{font-weight:720;font-size:1.02rem;letter-spacing:-.01em}.search{flex:1;max-width:460px;display:flex;align-items:center;gap:.5rem;background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:.45rem .9rem;color:var(--muted)}.search svg{width:17px;height:17px;flex-shrink:0}.search input{border:none;background:transparent;box-shadow:none;padding:0;flex:1;color:var(--text)}.search input:focus{box-shadow:none}.topbar-actions{display:flex;align-items:center;gap:.35rem}.icon-btn{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:transparent;color:var(--text-2);border:1px solid transparent;box-shadow:none;position:relative}.icon-btn:hover{background:var(--surface-2);color:var(--text)}.icon-btn svg{width:19px;height:19px}.icon-btn .dot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--danger);border:2px solid var(--surface)}.hotel-select{min-width:190px;font-weight:620;border-radius:999px;padding:.45rem .9rem}.profile{position:relative}.profile-btn{display:flex;align-items:center;gap:.6rem;background:transparent;border:1px solid transparent;border-radius:999px;padding:.25rem .5rem .25rem .35rem;color:var(--text);box-shadow:none}.profile-btn:hover{background:var(--surface-2)}.profile-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;text-align:left}.profile-meta .nome{font-weight:660;font-size:.86rem}.profile-meta .papel{font-size:.72rem;color:var(--muted)}.profile-menu{position:absolute;right:0;top:calc(100% + 8px);min-width:230px;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:.5rem;display:flex;flex-direction:column;gap:2px}.profile-menu .pm-head{padding:.6rem .65rem;border-bottom:1px solid var(--border);margin-bottom:.35rem}.profile-menu .pm-head .nome{font-weight:680}.profile-menu .pm-head .email{font-size:.8rem;color:var(--muted);word-break:break-all}.pm-item{display:flex;align-items:center;gap:.55rem;width:100%;text-align:left;background:transparent;border:none;box-shadow:none;color:var(--text-2);padding:.55rem .65rem;border-radius:var(--radius-sm);font-weight:560;text-decoration:none}.pm-item:hover{background:var(--surface-2);color:var(--text)}.pm-item.danger{color:var(--danger)}.pm-item.danger:hover{background:var(--danger-bg)}.pm-item svg{width:17px;height:17px}.avatar{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-weight:700;font-size:.82rem;color:#fff;letter-spacing:.01em;background:linear-gradient(135deg,#2563eb,#1e3a8a)}.avatar.sm{width:30px;height:30px;font-size:.72rem}.avatar.lg{width:44px;height:44px;font-size:.95rem}.avatar.xl{width:104px;height:104px;font-size:2rem;border:4px solid var(--surface);box-shadow:var(--shadow)}.perfil-hero{position:relative;padding:0;overflow:hidden;margin-bottom:1.4rem}.perfil-banner{height:96px;background:linear-gradient(120deg,var(--brand),var(--brand-hover))}.perfil-hero-body{display:flex;align-items:flex-end;gap:1rem;padding:0 1.35rem 1.2rem;margin-top:-48px;flex-wrap:wrap}.avatar-wrap{position:relative}.avatar-edit{position:absolute;right:-2px;bottom:-2px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--brand);color:#fff;border:3px solid var(--surface);cursor:pointer;box-shadow:var(--shadow-sm);padding:0}.avatar-edit svg{width:16px;height:16px}.avatar-edit input{display:none}.perfil-hero-info{flex:1;min-width:200px;padding-bottom:.35rem}.perfil-hero-info h1{line-height:1.1}.perfil-hero-info .cargo{color:var(--muted);margin:.25rem 0 0}.perfil-hero-actions{display:flex;gap:.6rem;align-items:center;padding-bottom:.35rem}.perfil-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}@media (min-width: 900px){.perfil-grid{grid-template-columns:2fr 1fr}}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--text-2);font-weight:560}.field input:disabled{background:var(--surface-2);color:var(--muted)}.pref-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--border)}.pref-row:first-of-type{border-top:none}.pref-row .pref-txt .t{font-weight:620}.pref-row .pref-txt .d{font-size:.82rem;color:var(--muted)}.switch{position:relative;width:44px;height:24px;flex-shrink:0}.switch input{opacity:0;width:0;height:0}.switch .slider{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:999px;background:var(--border-strong);transition:background .15s;cursor:pointer}.switch .slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:var(--shadow-sm)}.switch input:checked+.slider{background:var(--brand)}.switch input:checked+.slider:before{transform:translate(20px)}.content{flex:1;padding:1.75rem;max-width:1180px;width:100%;margin:0 auto}.page-head{display:flex;align-items:flex-start;gap:1rem;justify-content:space-between;margin-bottom:1.4rem;flex-wrap:wrap}.page-head .sub{color:var(--muted);margin:.35rem 0 0}.page-head .actions{display:flex;gap:.6rem;align-items:center}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.35rem;box-shadow:var(--shadow-sm)}.cabecalho{display:flex;align-items:center;gap:.75rem;justify-content:space-between;margin-bottom:.6rem}.cabecalho h1,.cabecalho h2,.cabecalho h3{margin:0}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1rem;margin-bottom:1.4rem}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:.55rem}.kpi .kpi-top{display:flex;align-items:center;justify-content:space-between}.kpi .kpi-icon{width:40px;height:40px;border-radius:11px;display:grid;place-items:center;background:var(--brand-soft);color:var(--brand)}.kpi .kpi-icon svg{width:20px;height:20px}.kpi .kpi-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-weight:640}.kpi .kpi-value{font-size:1.9rem;font-weight:780;letter-spacing:-.02em;line-height:1}.kpi .kpi-foot{font-size:.8rem;color:var(--muted)}.kpi .delta{font-weight:680}.kpi .delta.up{color:var(--success)}.kpi .delta.down{color:var(--danger)}.grid-2{display:grid;grid-template-columns:1fr;gap:1.2rem}@media (min-width: 900px){.grid-2{grid-template-columns:2fr 1fr}}.novo{display:flex;gap:.6rem;margin:0 0 1.2rem;flex-wrap:wrap;align-items:center}.novo input{flex:1;min-width:160px}.filtros{display:flex;gap:.4rem;flex-wrap:wrap;align-items:center}.chip{padding:.35rem .85rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--surface);color:var(--text-2);font-size:.84rem;font-weight:560;cursor:pointer}.chip:hover{background:var(--surface-2)}.chip.ativo{background:var(--brand-soft);color:var(--brand-ink);border-color:transparent}.tabela{width:100%;border-collapse:separate;border-spacing:0;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:.8rem 1rem;font-size:.9rem;border-bottom:1px solid var(--border)}.tabela thead th{background:var(--surface-2);color:var(--text-2);font-weight:660;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em}.tabela tbody tr:last-child td{border-bottom:none}.linha{cursor:pointer}.linha:hover td{background:var(--surface-2)}.cell-user{display:flex;align-items:center;gap:.65rem}.cell-user .nome{font-weight:620}.cell-user .sub{font-size:.78rem;color:var(--muted)}.badge{display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .6rem;border-radius:999px;font-size:.74rem;font-weight:660;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:.8}.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:.45rem;padding:0;list-style:none;margin:.6rem 0 0}.perms li code{background:var(--surface-2);border:1px solid var(--border);border-radius:7px;padding:.25rem .55rem;font-size:.82rem}.lista{display:flex;flex-direction:column;gap:.2rem}.lista-item{display:flex;align-items:center;gap:.7rem;padding:.6rem .35rem;border-bottom:1px solid var(--border)}.lista-item:last-child{border-bottom:none}.lista-item .nome{font-weight:620}.lista-item .sub{font-size:.8rem;color:var(--muted)}.detalhe{display:flex;flex-direction:column;gap:1.2rem}.detalhe .card{margin:0}.voltar{color:var(--brand);text-decoration:none;font-size:.88rem;display:inline-block;margin-bottom:.25rem;font-weight:560}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.8rem;margin:.7rem 0}.grid2 label{display:flex;flex-direction:column;gap:.3rem;font-size:.82rem;color:var(--text-2);font-weight:560}.proposta{border-top:1px solid var(--border);padding:.9rem 0;display:flex;flex-direction:column;gap:.6rem}.proposta:first-of-type{border-top:none}.inline{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.inline input{width:160px}.chat{display:flex;flex-direction:column;gap:.45rem;max-height:360px;overflow-y:auto;padding:.9rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:.8rem}.bolha{max-width:78%;padding:.5rem .75rem;border-radius:14px;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:4px}.bolha.saida{align-self:flex-end;background:var(--brand);color:#fff;border-bottom-right-radius:4px}.bolha.saida .meta{color:#ffffffd9}@media (max-width: 720px){:root{--sidebar-w: 66px}.brand-block .brand-text,.side-link span,.nav-group,.brand-block .brand-sub{display:none}.side-link{justify-content:center}.profile-meta{display:none}.content{padding:1.1rem}}
