:root{--bg: #0f0f10;--surface: #17181a;--surface-2: #1d1e21;--border: #2a2c30;--primary: #d4af37;--on-primary: #14161a;--secondary: #b8860b;--ink: #f4f5f7;--ink-soft: #b8bcc4;--ink-faint: #80858e;--radius: 12px;--ok: #3fb950;--warn: #d29922;--erro: #f85149;--info: #58a6ff;color-scheme:dark light}:root[data-tone=light]{color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.45rem;margin:0}h2{font-size:1rem;margin:0}a{color:inherit}.muted{color:var(--ink-soft)}.pad{padding:16px}.stack{display:flex;flex-direction:column;gap:10px}.stack-lg{display:flex;flex-direction:column;gap:20px}.boot{display:grid;place-items:center;height:100%;color:var(--ink-soft)}.erro-boot p{max-width:420px;text-align:center}.btn{padding:10px 14px;border-radius:var(--radius);cursor:pointer;background:var(--surface-2);color:var(--ink);border:1px solid var(--border);font:inherit}.btn:hover:not(:disabled){border-color:var(--primary)}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:transparent;font-weight:600}.btn.ghost{background:transparent;padding:8px 12px}.btn.social{display:flex;align-items:center;justify-content:center;gap:10px}.link{background:none;border:0;color:var(--primary);cursor:pointer;font:inherit;padding:0;text-decoration:none}.field{display:flex;flex-direction:column;gap:4px}.field span{font-size:.8rem;color:var(--ink-soft)}.field input{padding:10px 12px;border-radius:var(--radius);font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--border)}.field input:focus{outline:2px solid var(--primary);outline-offset:-1px}.login-wrap{display:grid;place-items:center;min-height:100%;padding:24px}.login-card{width:min(380px,100%);background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.4);padding:28px;display:flex;flex-direction:column;gap:14px}.login-marca{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.login-marca h1,.login-marca p{margin:0}.login-logo{max-height:72px;max-width:180px;object-fit:contain}.divider{display:flex;align-items:center;gap:10px;color:var(--ink-faint);font-size:.8rem}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--border)}.erro{color:var(--erro);font-size:.88rem;margin:0}.aviso{color:var(--info);font-size:.88rem;margin:0}.alerta{margin:0;padding:12px 14px;border-radius:var(--radius);background:color-mix(in srgb,var(--warn) 16%,var(--surface));border:1px solid var(--warn)}.nota{margin:0;font-size:.84rem;color:var(--ink-faint)}.aviso-celular{margin:0;padding:10px 12px;border-radius:var(--radius);font-size:.84rem;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-soft)}.shell{display:grid;grid-template-columns:232px 1fr;min-height:100%}.sidebar{background:var(--surface);border-right:1px solid var(--border);padding:20px 14px;display:flex;flex-direction:column;gap:22px}.marca{display:flex;flex-direction:column;gap:8px}.marca img{max-height:44px;max-width:140px;object-fit:contain}.sidebar nav{display:flex;flex-direction:column;gap:4px}.nav{text-align:left;padding:10px 12px;border-radius:var(--radius);font:inherit;background:none;border:0;color:var(--ink-soft);cursor:pointer}.nav:hover{background:var(--surface-2);color:var(--ink)}.nav.on{background:color-mix(in srgb,var(--primary) 18%,transparent);color:var(--ink);font-weight:600}.sidebar-pe{margin-top:auto;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.sidebar-pe small{word-break:break-all}.conteudo{padding:22px 26px 40px;display:flex;flex-direction:column;gap:18px;min-width:0}.topo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.topo p{margin:2px 0 0;text-transform:capitalize}.nav-data{display:flex;gap:6px}.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;display:flex;flex-direction:column;gap:4px}.kpi-titulo{font-size:.82rem;color:var(--ink-soft)}.kpi-valor{font-size:1.6rem;line-height:1.1}.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;align-items:start}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border)}.lista{list-style:none;margin:0;padding:0}.lista li{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid var(--border)}.lista li:last-child{border-bottom:0}.col{display:flex;flex-direction:column;flex:1;min-width:0}.col small{font-size:.8rem}.hora{font-variant-numeric:tabular-nums;color:var(--ink-soft);min-width:44px}.tag{font-size:.74rem;padding:3px 8px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.tag.neutro{color:var(--ink-soft)}.tag.booked{color:var(--info);border-color:color-mix(in srgb,var(--info) 45%,transparent)}.tag.in_progress{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 45%,transparent)}.tag.done{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 45%,transparent)}.tag.pending_payment{color:var(--ink-soft)}.tag.canceled{color:var(--erro);border-color:color-mix(in srgb,var(--erro) 45%,transparent)}.agenda{display:flex;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.agenda-horas{width:58px;flex:none;border-right:1px solid var(--border)}.agenda-col{flex:1 0 190px;border-right:1px solid var(--border);min-width:190px}.agenda-col:last-child{border-right:0}.agenda-head{height:56px;padding:8px 12px;border-bottom:1px solid var(--border);display:flex;flex-direction:column;justify-content:center;gap:2px}.agenda-head small{font-size:.76rem}.agenda-corpo{position:relative;height:var(--h);margin-bottom:12px}.marca-hora{position:absolute;right:8px;transform:translateY(-50%);font-size:.74rem;color:var(--ink-faint);font-variant-numeric:tabular-nums}.linha-hora{position:absolute;left:0;right:0;height:1px;background:var(--border)}.linha-agora{position:absolute;left:0;right:0;height:2px;background:var(--erro);z-index:2}.bloco{position:absolute;left:6px;right:6px;text-align:left;cursor:pointer;border-radius:8px;padding:6px 8px;overflow:hidden;font:inherit;background:color-mix(in srgb,var(--info) 22%,var(--surface));border:1px solid color-mix(in srgb,var(--info) 55%,transparent);color:var(--ink);display:flex;flex-direction:column;gap:1px}.bloco:hover{filter:brightness(1.15)}.bloco.curto{flex-direction:row;align-items:baseline;gap:6px;padding:4px 8px}.bloco.curto .bloco-nome{flex:1;min-width:0}.bloco.in_progress{background:color-mix(in srgb,var(--warn) 22%,var(--surface));border-color:color-mix(in srgb,var(--warn) 55%,transparent)}.bloco.done{background:color-mix(in srgb,var(--ok) 18%,var(--surface));border-color:color-mix(in srgb,var(--ok) 50%,transparent)}.bloco.pending_payment{background:var(--surface-2);border-style:dashed}.bloco-hora{font-size:.72rem;color:var(--ink-soft);font-variant-numeric:tabular-nums}.bloco-nome{font-weight:600;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bloco-servico{font-size:.76rem;color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-check{display:inline-flex;align-items:center;gap:8px;cursor:pointer}.qtd{width:72px;padding:6px 8px;border-radius:8px;background:var(--bg);color:var(--ink);border:1px solid var(--border);font:inherit}.busca{flex:1;min-width:220px;padding:10px 12px;border-radius:var(--radius);font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--border)}.field textarea{padding:10px 12px;border-radius:var(--radius);font:inherit;resize:vertical;background:var(--bg);color:var(--ink);border:1px solid var(--border)}.barra-acoes{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn.perigo{color:var(--erro);border-color:color-mix(in srgb,var(--erro) 45%,transparent)}.btn.perigo:hover:not(:disabled){border-color:var(--erro)}.acoes-modal{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 16px}.row-campos{display:flex;gap:12px}.row-campos .field{flex:1}.field select,.field input[type=time]{padding:10px 12px;border-radius:var(--radius);font:inherit;background:var(--bg);color:var(--ink);border:1px solid var(--border)}.bloco[draggable=true]{cursor:grab}.bloco[draggable=true]:active{cursor:grabbing}.bloco.encaixe{border-style:dashed;border-width:2px}.bloqueio{position:absolute;left:6px;right:6px;border-radius:8px;font:inherit;cursor:pointer;color:var(--ink-soft);font-size:.74rem;padding:2px 8px;text-align:left;overflow:hidden;border:1px dashed var(--border);background:repeating-linear-gradient(45deg,var(--surface-2),var(--surface-2) 6px,transparent 6px,transparent 12px)}.bloqueio:hover:not(:disabled){border-color:var(--erro);color:var(--erro)}.ponto.bloqueado{background:var(--ink-faint)}.legenda{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;color:var(--ink-soft);align-items:center}.legenda span{display:inline-flex;align-items:center;gap:6px}.ponto{width:10px;height:10px;border-radius:3px;display:inline-block;background:var(--info)}.ponto.in_progress{background:var(--warn)}.ponto.done{background:var(--ok)}.ponto.pending_payment{background:var(--ink-faint)}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:grid;place-items:center;padding:20px;z-index:10}.modal{width:min(440px,100%);background:var(--surface);border:1px solid var(--border);border-radius:calc(var(--radius) * 1.2)}.detalhes{margin:0;padding:8px 16px 16px;display:flex;flex-direction:column;gap:8px}.detalhes>div{display:flex;justify-content:space-between;gap:16px}.detalhes dt{color:var(--ink-soft);font-size:.85rem}.detalhes dd{margin:0;text-align:right}.modal .nota{padding:0 16px 16px}@media (max-width: 760px){.shell{grid-template-columns:1fr}.sidebar{flex-direction:row;align-items:center;flex-wrap:wrap;border-right:0;border-bottom:1px solid var(--border);gap:12px}.sidebar nav{flex-direction:row}.sidebar-pe{margin-top:0;flex-direction:row;align-items:center;gap:10px}.conteudo{padding:16px}}
