:root{--bg: #050505;--card: #0a0a0a;--surface: #121212;--secondary: #1a1a1a;--border: #242424;--fg: #fafafa;--muted: #a1a1a1;--gold: #d4c5a0;--gold-dark: #a39060;--red: #ef4444}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:400 14px/1.45 Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:Manrope,Inter,sans-serif;font-weight:700;letter-spacing:-.02em;margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--gold)}.gold-text{background:linear-gradient(135deg,var(--gold) 0%,var(--gold-dark) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.login-wrap{min-height:100%;display:grid;place-items:center;padding:16px}.login{width:100%;max-width:360px;background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px;display:grid;gap:14px;box-shadow:0 0 20px -5px #d4c5a04d}.login p{color:var(--muted);margin:0}.app{display:flex;flex-direction:column;height:100%}.top{position:sticky;top:0;z-index:5;padding:14px 16px 10px;background:#0a0a0ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05);display:grid;gap:10px}.top-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.top-row h1{font-size:20px;margin-right:auto}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{border:1px solid var(--border);background:var(--secondary);border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;display:inline-flex;gap:6px;align-items:center}.chip b{font-weight:600}.chip.on{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}.dot{width:8px;height:8px;border-radius:50%;display:inline-block}.input,.select{background:var(--secondary);border:1px solid var(--border);border-radius:10px;padding:8px 10px;outline:none;min-width:0}.input:focus,.select:focus{border-color:var(--gold)}.search{flex:1 1 220px}.btn{border:1px solid var(--border);background:var(--secondary);border-radius:10px;padding:8px 12px;cursor:pointer;white-space:nowrap}.btn:hover{background:var(--surface)}.btn.primary{background:var(--gold);color:#000;border-color:var(--gold);font-weight:600}.btn.primary:hover{filter:brightness(1.05)}.btn.ghost{background:transparent}.btn.small{padding:4px 8px;font-size:12px}.grid-wrap{flex:1;overflow:auto}table{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}thead th{position:sticky;top:0;z-index:2;background:var(--card);color:var(--muted);font-weight:600;font-size:12px;text-align:left;padding:8px 10px;border-bottom:1px solid var(--border);border-right:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}thead th:first-child,tbody td:first-child{position:sticky;left:0;z-index:1;background:var(--card)}thead th:first-child{z-index:3}tbody td{border-bottom:1px solid var(--border);border-right:1px solid var(--border);padding:0;vertical-align:top;background:var(--bg)}tbody tr:hover td{background:#0d0d0d}tbody tr.alerta td:first-child{box-shadow:inset 3px 0 0 var(--red)}tbody tr.novo-row td{animation:flash 1.6s ease}@keyframes flash{0%{background:#d4c5a02e}to{background:var(--bg)}}.cell{display:block;width:100%;min-height:34px;padding:7px 10px;border:0;background:transparent;outline:none;resize:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cell:focus{background:var(--surface);box-shadow:inset 0 0 0 1px var(--gold);white-space:normal;overflow:visible}textarea.cell{white-space:pre-wrap;min-height:34px;height:34px}textarea.cell:focus{height:110px;position:relative;z-index:4}select.cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}select.cell option{background:var(--card);color:var(--fg)}.badge{border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.muted{color:var(--muted)}.links{display:flex;gap:8px;padding:7px 10px;white-space:nowrap}.links a{text-decoration:none;font-size:12px}.empty{padding:40px 16px;text-align:center;color:var(--muted)}.erro{color:var(--red);font-size:13px}.saving{font-size:12px;color:var(--muted)}@media (max-width: 640px){.top-row h1{font-size:17px;width:100%}.chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px}}.tabs{display:inline-flex;background:var(--secondary);border:1px solid var(--border);border-radius:10px;padding:3px;gap:3px}.tab{border:0;background:transparent;border-radius:8px;padding:6px 12px;cursor:pointer;color:var(--muted);white-space:nowrap}.tab b{color:var(--fg);font-weight:600;margin-left:4px}.tab.on{background:var(--surface);color:var(--fg);box-shadow:0 0 0 1px var(--gold) inset}.totais{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.total{text-align:left;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:10px 12px;display:grid;gap:2px;cursor:pointer}div.total{cursor:default}.total span{color:var(--muted);font-size:12px}.total strong{font-family:Manrope,Inter,sans-serif;font-size:22px;line-height:1.1}.total em{font-style:normal;color:var(--muted);font-size:12px}.total.venda{border-color:#d4c5a073;box-shadow:0 0 20px -5px #d4c5a04d}.total.venda strong,.total.venda em{color:var(--gold)}@media (max-width: 640px){.totais{grid-template-columns:1fr 1fr}.tabs{width:100%}.tab{flex:1}}
