:root{--bg:#f5f3ee;--surface:#fff;--surface-2:#faf8f4;--ink:#1d211f;--ink-2:#4b524e;--ink-3:#7d837f;--line:#e5e1d8;--accent:#a8822f;--accent-ink:#fff;--accent-soft:#f4ead2;--side:#121b17;--side-ink:#d9d4c6;--danger:#c0443a;--ok:#1f9d6a;--warn:#c98a10;--st-disponivel:#2fb37f;--st-reservado:#e0a22b;--st-vendido:#c8504a;--st-bloqueado:#8a939c;--hot:#d9534a;--warm:#e0a22b;--cold:#6f8fb3;--radius:14px;--shadow:0 1px 2px #0000000a, 0 8px 24px -12px #0000001f;--sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;--serif:"Cormorant Garamond", Georgia, serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f1513;--surface:#161e1b;--surface-2:#1b2521;--ink:#ece8de;--ink-2:#bdb8ab;--ink-3:#8a877d;--line:#2a3530;--accent:#e0bd6c;--accent-ink:#1d1608;--accent-soft:#2e2817;--side:#0b100e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0f1513;--surface:#161e1b;--surface-2:#1b2521;--ink:#ece8de;--ink-2:#bdb8ab;--ink-3:#8a877d;--line:#2a3530;--accent:#e0bd6c;--accent-ink:#1d1608;--accent-soft:#2e2817;--side:#0b100e;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}body{background:var(--bg);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;font-variant-numeric:lining-nums;margin:0}a{color:var(--accent)}h1,h2,h3,h4{letter-spacing:-.01em;margin:0;font-weight:700}h1{font:500 2rem/1.1 var(--serif)}h2{font-size:1rem}button,input,select,textarea{font:inherit;color:inherit}.muted{color:var(--ink-3)}.small{font-size:12px}.login{background:radial-gradient(at top,#24352c,#0e1613 70%);place-items:center;min-height:100vh;padding:16px;display:grid}.login form{background:var(--surface);border-radius:20px;gap:14px;width:min(380px,100%);padding:32px;display:grid;box-shadow:0 30px 80px -20px #000}.login .brand{font:500 2rem/1 var(--serif)}.login .brand em{color:var(--accent)}.shell{grid-template-columns:232px 1fr;min-height:100vh;display:grid}.side{background:var(--side);color:var(--side-ink);flex-direction:column;gap:4px;height:100vh;padding:22px 14px;display:flex;position:sticky;top:0}.side .brand{font:500 1.6rem/1 var(--serif);color:#f3efe6;padding:0 10px 18px}.side .brand em{color:#e8c77a}.side a{color:var(--side-ink);border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-weight:500;text-decoration:none;display:flex}.side a:hover{background:#ffffff0d}.side a.on{color:#f0d48e;background:#e8c77a24}.side a .count{color:#1d1608;background:#e8c77a;border-radius:999px;margin-left:auto;padding:1px 7px;font-size:11px;font-weight:700}.side .foot{color:#8f8a7d;margin-top:auto;padding:10px;font-size:12px}.side .foot button{color:#e8c77a;cursor:pointer;background:0 0;border:0;padding:0}.main{min-width:0;padding:24px clamp(16px,3vw,32px) 60px}.page-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:20px;display:flex}.page-head .actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.mobile-nav{display:none}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;height:36px;color:var(--ink);white-space:nowrap;border-radius:10px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover{border-color:var(--accent)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn.danger{color:var(--danger)}.btn.sm{height:30px;padding:0 10px;font-size:12px}.btn:disabled{opacity:.5;cursor:default}input.in,select.in,textarea.in{border:1px solid var(--line);background:var(--surface);border-radius:10px;min-width:0;height:36px;padding:0 10px}textarea.in{resize:vertical;height:auto;padding:8px 10px}input.in:focus,select.in:focus,textarea.in:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}label.f{color:var(--ink-3);gap:4px;font-size:12px;font-weight:600;display:grid}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0;padding:18px}.card h2{align-items:center;gap:8px;margin-bottom:12px;display:flex}.grid{gap:16px;display:grid}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.kpis{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-bottom:16px;display:grid}.kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}.kpi .v{font:700 1.6rem/1.2 var(--sans);letter-spacing:-.02em}.kpi .l{color:var(--ink-3);font-size:12px;font-weight:600}.badge{background:var(--surface-2);border:1px solid var(--line);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-flex}.badge:before{content:"";background:var(--c,var(--ink-3));border-radius:50%;width:7px;height:7px}.badge.plain:before{display:none}.t-quente{--c:var(--hot)}.t-morno{--c:var(--warm)}.t-frio{--c:var(--cold)}.s-disponivel{--c:var(--st-disponivel)}.s-reservado{--c:var(--st-reservado)}.s-vendido{--c:var(--st-vendido)}.s-bloqueado{--c:var(--st-bloqueado)}.empty{text-align:center;color:var(--ink-3);padding:28px}.list{display:grid}.list .row{border-top:1px solid var(--line);align-items:center;gap:10px;padding:10px 0;display:flex}.list .row:first-child{border-top:0}.list .row .grow{flex:1;min-width:0}.overdue{color:var(--danger);font-weight:600}.ellipsis{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.table-wrap{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:10px 12px}th{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);background:var(--surface-2);z-index:1;font-size:11px;position:sticky;top:0}tbody tr{cursor:pointer}tbody tr:hover{background:var(--surface-2)}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.board{grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;align-items:start;gap:12px;padding-bottom:12px;display:grid;overflow-x:auto}.col{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);min-height:200px;padding:10px}.col.drop{outline:2px dashed var(--accent)}.col-head{justify-content:space-between;align-items:center;padding:4px 4px 10px;font-size:13px;font-weight:700;display:flex}.col-head .n{color:var(--ink-3);font-size:12px}.lcard{background:var(--surface);border:1px solid var(--line);cursor:grab;border-radius:12px;gap:4px;margin-bottom:8px;padding:10px 12px;display:grid}.lcard:hover{border-color:var(--accent)}.lcard.dragging{opacity:.5}.lcard .top{justify-content:space-between;align-items:center;gap:6px;display:flex}.lcard b{font-size:13px}.lcard .meta{color:var(--ink-3);flex-wrap:wrap;gap:8px;font-size:12px;display:flex}.drawer-bg{z-index:50;background:#00000059;animation:.2s fade;position:fixed;inset:0}.drawer{background:var(--bg);z-index:51;width:min(760px,100vw);animation:.25s cubic-bezier(.2,.8,.2,1) slide;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-20px 0 60px -20px #0006}@keyframes slide{0%{opacity:0;transform:translate(40px)}}@keyframes fade{0%{opacity:0}}.drawer-head{background:var(--surface);border-bottom:1px solid var(--line);z-index:2;gap:10px;padding:18px 22px;display:grid;position:sticky;top:0}.drawer-head .x{cursor:pointer;color:var(--ink-3);background:0 0;border:0;font-size:24px;position:absolute;top:12px;right:14px}.drawer-body{gap:16px;padding:18px 22px;display:grid}.fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.timeline{gap:0;display:grid}.tl{grid-template-columns:26px 1fr;gap:10px;padding:8px 0;display:grid}.tl .ic{background:var(--accent-soft);border-radius:50%;place-items:center;width:26px;height:26px;font-size:12px;display:grid}.tl .body{white-space:pre-wrap}.chips{flex-wrap:wrap;gap:6px;display:flex}.lots-layout{grid-template-columns:minmax(0,1.4fr) minmax(300px,1fr);align-items:start;gap:16px;display:grid}.mapbox{background:var(--surface-2);border-radius:var(--radius);border:1px solid var(--line);position:relative;overflow:hidden}.mapbox canvas{cursor:crosshair;touch-action:none;width:100%;height:620px;display:block}.map-legend{flex-wrap:wrap;gap:6px;display:flex;position:absolute;bottom:10px;left:10px}.chart{width:100%;height:auto;display:block;overflow:visible}.chart text{fill:var(--ink-3);font-size:11px}.hbar{grid-template-columns:120px 1fr 44px;align-items:center;gap:10px;padding:5px 0;font-size:13px;display:grid}.hbar .track{background:var(--surface-2);border-radius:4px;height:10px;overflow:hidden}.hbar .fill{background:var(--accent);border-radius:0 4px 4px 0;height:100%}.hbar a{text-decoration:none}.hbar .v{text-align:right;font-variant-numeric:tabular-nums;font-weight:600}.stack{border-radius:4px;gap:2px;height:14px;margin:6px 0 12px;display:flex;overflow:hidden}.stack>div{background:var(--c)}.legend-row{flex-wrap:wrap;gap:14px;font-size:12px;display:flex}#tip{z-index:100;pointer-events:none;background:var(--ink);color:var(--bg);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:600;position:fixed}#toast{opacity:0;background:var(--ink);color:var(--bg);z-index:200;pointer-events:none;border-radius:999px;padding:10px 18px;font-weight:600;transition:all .25s;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(20px)}#toast.on{opacity:1;transform:translate(-50%)}@media (width<=1200px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.lots-layout{grid-template-columns:1fr}}@media (width<=860px){.shell{grid-template-columns:1fr}.side{display:none}.mobile-nav{background:var(--side);z-index:20;gap:6px;padding:10px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.mobile-nav a{color:var(--side-ink);white-space:nowrap;border-radius:999px;padding:6px 12px;font-size:13px;text-decoration:none}.mobile-nav a.on{color:#f0d48e;background:#e8c77a33}.g2,.g3{grid-template-columns:1fr}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fields{grid-template-columns:1fr 1fr}.mapbox canvas{height:440px}.hbar{grid-template-columns:90px 1fr 36px}}
