:root{--brand: #722536;--on-brand: #F7F5F1;--bg: #F7F5F1;--surface: #FFFFFF;--surface-2: #F0EDE7;--border: #E2DED7;--text: #1A1A1A;--muted: #6F6F6F;--detail: #8B8B8B;--accent: #722536;--accent-strong: #5A1D2B;--accent-soft: #F1E3E6;--on-accent: #F7F5F1;--rose: #B98A95;--ok: #2F7A55;--ok-soft: #E4F1EA;--warn: #946012;--warn-soft: #F8EEDC;--seasonal: #6D4A9B;--seasonal-soft: #EEE8F6;--danger: #B42318;--danger-soft: #FCEBE9;--wax: #F7F5F1;--wax-shade: #DCD6CD;--wick: #1A1A1A;--flame-tip: #FFF6DC;--flame-mid: #FFC35C;--flame-outer: #EF7F3A;--flame-core: #FFFAF0;--glow: rgba(255, 168, 76, .32);--smoke: rgba(139, 139, 139, .6);--aroma: rgba(114, 37, 54, .35);--shadow: 0 1px 2px rgba(26, 26, 26, .05), 0 6px 20px rgba(26, 26, 26, .05);--radius: 12px;--font: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-brand: "Urbanist", "Fira Sans", system-ui, sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #1A1A1A;--surface: #232121;--surface-2: #2C2929;--border: #3A3535;--text: #F7F5F1;--muted: #8B8B8B;--detail: #8B8B8B;--accent: #D9A0AE;--accent-strong: #ECC5CF;--accent-soft: #3A2026;--on-accent: #1A1A1A;--rose: #A5707E;--ok: #6CC79A;--ok-soft: #1C2E25;--warn: #E8B45C;--warn-soft: #362A16;--seasonal: #C4A6EF;--seasonal-soft: #2D2538;--danger: #F28B82;--danger-soft: #3F2120;--wax: #EDE9E2;--wax-shade: #B9B2A8;--wick: #0E0E0E;--glow: rgba(255, 168, 76, .26);--smoke: rgba(139, 139, 139, .55);--aroma: rgba(217, 160, 174, .45);--shadow: 0 1px 2px rgba(0, 0, 0, .35), 0 8px 24px rgba(0, 0, 0, .3);color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg: #1A1A1A;--surface: #232121;--text: #F7F5F1}}*{box-sizing:border-box}body{margin:0;font-family:var(--font);font-size:14px;background:var(--bg);color:var(--text);transition:background-color .4s ease,color .4s ease}h1,h2,h3{margin:0}h1,h2{font-family:var(--font-brand);letter-spacing:.2px}h1{font-size:26px;font-weight:500;color:var(--accent)}h2{font-weight:600}h2{font-size:16px;margin-bottom:12px}h3{font-size:14px;margin:16px 0 8px}a{color:var(--accent)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);transition:background-color .4s ease,border-color .4s ease}.btn{border:1px solid var(--brand);background:var(--brand);color:var(--on-brand);border-radius:999px;padding:8px 16px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;display:inline-block;transition:box-shadow .25s ease,transform .15s ease,background-color .25s ease}.btn:not(:disabled):hover{box-shadow:0 0 0 3px var(--accent-soft),0 4px 14px var(--glow)}.btn:not(:disabled):active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:default}.btn.ghost{background:transparent;color:var(--accent);border-color:var(--accent)}.btn.danger{background:transparent;color:var(--danger);border-color:var(--danger)}.btn.small{padding:4px 10px;font-size:13px}.icon-btn{border:1px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:8px;min-width:30px;height:30px;cursor:pointer;font:inherit;font-size:15px}.icon-btn:hover{color:var(--text)}.icon-btn.del{color:var(--danger)}label{display:block;font-weight:600;margin-bottom:4px}input,select,textarea{width:100%;font:inherit;color:var(--text);background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:8px 10px}input[type=checkbox],input[type=radio]{width:auto;accent-color:var(--accent)}input:focus,select:focus,textarea:focus,.btn:focus-visible,.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;min-height:60px}.field{margin-bottom:14px}.money{position:relative;display:block}td .money,.price-mode .money{display:inline-block}.money:before{content:"R$";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:13px;font-weight:600;pointer-events:none}.money input{padding-left:34px}.money input.num{width:112px}.hint{color:var(--muted);font-size:12px;margin:4px 0 0}.error{background:var(--danger-soft);color:var(--danger);padding:8px 12px;border-radius:8px;margin-bottom:12px}.success{background:var(--ok-soft);color:var(--ok);padding:8px 12px;border-radius:8px;margin-bottom:12px}.warning{background:var(--warn-soft);color:var(--warn);padding:8px 12px;border-radius:8px;margin-bottom:12px}.muted{color:var(--muted)}.pos{color:var(--ok)}.neg{color:var(--danger)}.check{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.row{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.page-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.page-head h1{flex:1;min-width:200px}.page-head .sub{flex-basis:100%;color:var(--muted);margin:-8px 0 0}.kpis{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));margin-bottom:16px}.kpi{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;box-shadow:var(--shadow);position:relative;overflow:hidden}.kpi:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--flame-mid),var(--brand));opacity:.85}.kpi .label{color:var(--muted);font-size:12px}.kpi .value{font-family:var(--font-brand);font-size:22px;font-weight:700;margin-top:2px;font-variant-numeric:tabular-nums}.kpi .detail{color:var(--muted);font-size:12px;margin-top:2px}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}table.data{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.data th,table.data td{padding:7px 10px;border-bottom:1px solid var(--border);text-align:left;vertical-align:middle}table.data th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:600;white-space:nowrap}table.data tbody tr:last-child td{border-bottom:none}table.data tfoot td{font-weight:700;background:var(--surface-2);border-top:1px solid var(--border);border-bottom:none}table.data td.r,table.data th.r{text-align:right;white-space:nowrap}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--surface-2)}table.data td.actions{white-space:nowrap;text-align:right;width:1px}table.data td input,table.data td select{padding:5px 7px}.tag{display:inline-block;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);white-space:nowrap}.tag.seasonal{background:var(--seasonal-soft);color:var(--seasonal);border-color:transparent}.tag.normal{background:var(--accent-soft);color:var(--accent);border-color:transparent}.tag.low{background:var(--danger-soft);color:var(--danger);border-color:transparent}.tag.ok{background:var(--ok-soft);color:var(--ok);border-color:transparent}.tag.warn{background:var(--warn-soft);color:var(--warn);border-color:transparent}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px;flex-wrap:wrap}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:8px 12px;font:inherit;color:var(--muted);cursor:pointer}.tabs button.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.auth-page{max-width:460px;margin:32px auto;position:relative;z-index:1;backdrop-filter:blur(2px);background:color-mix(in srgb,var(--surface) 92%,transparent)}.auth-page h1{margin-bottom:4px}.auth-page .sub{color:var(--muted);margin:0 0 20px}.auth-page .links{display:flex;justify-content:space-between;margin-top:16px;gap:8px;flex-wrap:wrap}.brand-mark{display:flex;align-items:center;gap:10px;margin-bottom:16px;color:var(--accent);font-weight:700;font-size:16px}.backdrop{position:fixed;inset:0;z-index:50;display:flex;padding:24px 16px;overflow-y:auto;overscroll-behavior:contain;background:color-mix(in srgb,#1A1A1A 55%,transparent);backdrop-filter:blur(3px);animation:backdrop-in .2s ease both}.backdrop>.modal,.backdrop>form.modal{margin:auto}.modal{width:100%;max-width:480px;padding:20px 22px;border-radius:16px;border-top:3px solid var(--brand);box-shadow:0 24px 60px #1a1a1a47,0 2px 6px #1a1a1a1f;animation:modal-in .25s cubic-bezier(.2,.9,.3,1.1) both}.modal.wide{max-width:760px}.modal h2{margin-bottom:16px;font-size:20px;font-weight:500;color:var(--accent)}body:has(.backdrop){overflow:hidden}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(max-width:600px){.backdrop{padding:12px 8px}.modal{padding:16px 14px}}.modal>.actions,.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px;flex-wrap:wrap;align-items:center}.modal>.actions .spacer,.form-actions .spacer{flex:1}.empty{text-align:center;color:var(--muted);padding:32px 16px}@media(max-width:600px){.card{padding:12px}.kpi .value{font-size:17px}}router-outlet+*{display:block;animation:page-in .45s ease backwards}@keyframes page-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
