:root{--bg-app: oklch(.105 .01 270);--surface-0: oklch(.14 .012 270);--surface-1: oklch(.188 .014 268);--surface-2: oklch(.24 .016 268);--hairline: oklch(.3 .016 268);--hairline-soft: oklch(.25 .014 268);--text-hi: oklch(.97 .005 250);--text-mid: oklch(.745 .012 258);--text-lo: oklch(.578 .013 260);--red: oklch(.585 .205 27);--red-br: oklch(.685 .185 28);--red-deep: oklch(.4 .15 27);--blue: oklch(.625 .15 256);--good: oklch(.77 .125 152);--good-deep: oklch(.43 .09 152);--warn: oklch(.8 .13 78);--warn-deep: oklch(.44 .09 78);--r-btn: 11px;--r-md: 16px;--ease: cubic-bezier(.22, 1, .36, 1);--shell-max: 460px}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}html,body{width:100%;max-width:100%;overflow-x:hidden}body{font-family:Inter,-apple-system,Segoe UI,system-ui,sans-serif;background:var(--bg-app);color:var(--text-hi);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{display:flex;flex-direction:column}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.fig{font-family:Poppins;font-weight:700;font-size:32px;line-height:1;letter-spacing:-.8px}.fig small{font-size:15px;color:var(--text-mid);font-weight:600;letter-spacing:0}.val{font-family:Poppins;font-weight:600;font-size:20px;letter-spacing:-.3px}.val small{font-size:12.5px;color:var(--text-mid);font-weight:500}.val2{font-family:Poppins;font-weight:600;font-size:16px;letter-spacing:-.2px}.eyebrow{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-lo);font-weight:600}.lab{font-size:11.5px;color:var(--text-lo);font-weight:600}.body{font-size:13px;color:var(--text-mid);line-height:1.55}.meta{font-size:11px;color:var(--text-lo)}h2.section{font-family:Poppins;font-weight:600;font-size:17px;letter-spacing:-.3px;color:var(--text-hi);line-height:1.2}.app{width:100%;max-width:var(--shell-max);margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:radial-gradient(90% 40% at 50% 0%,oklch(.16 .016 270) 0%,var(--bg-app) 55%);position:relative}@media (min-width: 480px){.app{border-left:1px solid var(--hairline-soft);border-right:1px solid var(--hairline-soft)}}.hdr{display:flex;align-items:center;justify-content:space-between;padding:18px 18px 14px;gap:12px;border-bottom:1px solid var(--hairline-soft);position:sticky;top:0;z-index:20;background:color-mix(in oklch,var(--bg-app) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.mk{font-family:Poppins;font-weight:800;font-size:18px;letter-spacing:-.4px}.mk b{color:var(--blue)}.mk .sub{display:block;margin-top:3px;font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--red-br);font-weight:700}.role-chip{display:flex;align-items:center;gap:8px}.role-chip .who{text-align:right}.role-chip .who .n{font-size:12px;font-weight:600;color:var(--text-hi)}.role-chip .who .r{font-size:10px;color:var(--text-lo);text-transform:uppercase;letter-spacing:.08em}.avatar{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--surface-2);color:var(--red-br);font-family:Poppins;font-weight:700;font-size:14px;border:1px solid var(--hairline)}.content{flex:1;padding:18px 18px 96px;display:flex;flex-direction:column;gap:16px}.screen-head{display:flex;flex-direction:column;gap:5px}.nav{position:sticky;bottom:0;z-index:20;display:flex;gap:4px;padding:8px;margin-top:auto;border-top:1px solid var(--hairline-soft);background:color-mix(in oklch,var(--bg-app) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.nav button{flex:1;padding:9px 4px;border-radius:10px;text-align:center;font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--text-lo);transition:background .18s var(--ease),color .18s var(--ease)}.nav button.active{color:var(--text-hi);background:var(--surface-1)}.nav button .badge-dot{display:inline-block;min-width:16px;margin-left:5px;padding:1px 5px;border-radius:999px;background:var(--red);color:var(--text-hi);font-size:10px;font-weight:700}.card{background:var(--surface-0);border:1px solid var(--hairline-soft);border-radius:var(--r-md);padding:16px}.panel{background:var(--surface-1);border:1px solid var(--hairline-soft);border-radius:12px;padding:14px}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.spread{display:flex;align-items:center;justify-content:space-between;gap:10px}.divider{height:1px;background:var(--hairline-soft);margin:4px 0}.kpis{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.tile{background:var(--surface-1);border:1px solid var(--hairline-soft);border-radius:14px;padding:13px 14px;display:flex;flex-direction:column;gap:7px}.tile .lab{display:flex;align-items:center;gap:6px}.tile.hero{grid-column:1 / -1;align-items:flex-start}.tile .val{color:var(--text-hi)}.summary-panel{background:var(--surface-1);border:1px solid var(--hairline-soft);border-radius:var(--r-md);padding:16px 18px 14px;display:flex;flex-direction:column;gap:12px}.summary-top{display:flex;flex-direction:column;gap:2px}.summary-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding-top:12px;border-top:1px solid var(--hairline-soft)}.stat{display:inline-flex;align-items:baseline;gap:6px;font-size:12px;color:var(--text-mid)}.stat-n{font-family:Poppins;font-weight:600;font-size:14px;color:var(--text-hi);letter-spacing:-.1px}.summary-foot{padding-top:1px}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:10.5px;font-weight:600;letter-spacing:.02em;text-transform:uppercase}.badge.good{color:var(--good);background:color-mix(in oklch,var(--good-deep) 45%,transparent)}.badge.warn{color:var(--warn);background:color-mix(in oklch,var(--warn-deep) 45%,transparent)}.badge.red{color:var(--red-br);background:color-mix(in oklch,var(--red-deep) 45%,transparent)}.badge.neutral{color:var(--text-mid);background:var(--surface-2)}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.good{background:var(--good)}.dot.warn{background:var(--warn)}.dot.red{background:var(--red)}.pill{padding:3px 9px;border-radius:999px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.pill.draft{background:var(--surface-2);color:var(--text-mid)}.pill.submitted{background:color-mix(in oklch,var(--warn-deep) 40%,transparent);color:var(--warn)}.pill.approved{background:color-mix(in oklch,var(--good-deep) 40%,transparent);color:var(--good)}.pill.rejected{background:color-mix(in oklch,var(--red-deep) 45%,transparent);color:var(--red-br)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:var(--r-btn);font-weight:600;font-size:13.5px;background:var(--surface-2);color:var(--text-hi);border:1px solid var(--hairline);transition:transform .12s var(--ease),background .18s var(--ease),opacity .18s var(--ease)}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.block{width:100%}.btn.primary{background:var(--red);border-color:transparent;color:#fcfcfc}.btn.primary:hover{background:var(--red-br)}.btn.ghost{background:transparent}.btn.good{background:var(--good-deep);border-color:transparent;color:var(--text-hi)}.btn.sm{padding:8px 12px;font-size:12px}.field{display:flex;flex-direction:column;gap:7px}.field>.lab{color:var(--text-mid)}.input,.select,.textarea{width:100%;background:var(--surface-1);border:1px solid var(--hairline);border-radius:10px;padding:12px 13px;font-size:14px;color:var(--text-hi);transition:border-color .16s var(--ease)}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--red)}.textarea{resize:vertical;min-height:66px}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none}.kinput{display:flex;flex-direction:column;gap:6px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;padding:12px 14px}.kinput.focus{border-color:var(--red)}.kinput .top{display:flex;align-items:center;justify-content:space-between}.kinput input{width:100%;background:transparent;border:none;outline:none;font-family:Poppins;font-weight:600;font-size:26px;letter-spacing:-.5px;color:var(--text-hi)}.kinput .unit{font-family:Poppins;font-weight:600;font-size:15px;color:var(--text-lo)}.stepper{display:flex;gap:6px}.stepper .step{flex:1;height:4px;border-radius:999px;background:var(--surface-2)}.stepper .step.done{background:var(--red-deep)}.stepper .step.now{background:var(--red)}.step-eyebrow{display:flex;align-items:center;gap:8px}.step-eyebrow .no{font-family:Poppins;font-weight:700;color:var(--red-br);font-size:12px}.balance{display:flex;flex-direction:column;gap:9px}.balance .bar{display:flex;height:16px;border-radius:6px;overflow:hidden;background:var(--surface-2);border:1px solid var(--hairline-soft)}.balance .seg{height:100%}.balance .seg.term{background:var(--good)}.balance .seg.drip{background:var(--warn)}.balance .seg.util{background:var(--blue)}.balance .seg.fat{background:color-mix(in oklch,var(--text-mid) 60%,var(--surface-2))}.balance .seg.waste{background:var(--red)}.balance .legend{display:grid;grid-template-columns:repeat(2,1fr);gap:5px 14px}.balance .legend .li{display:flex;align-items:center;justify-content:space-between;font-size:11px}.balance .legend .name{display:flex;align-items:center;gap:6px;color:var(--text-mid)}.balance .legend .sw{width:9px;height:9px;border-radius:3px}.balance-status{display:flex;align-items:center;gap:8px;padding:9px 12px;border-radius:10px;font-size:12px;font-weight:600}.balance-status.ok{background:color-mix(in oklch,var(--good-deep) 35%,transparent);color:var(--good)}.balance-status.bad{background:color-mix(in oklch,var(--red-deep) 40%,transparent);color:var(--red-br)}.tbl{width:100%;border-collapse:collapse}.tbl th{text-align:left;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-lo);font-weight:600;padding:8px;border-bottom:1px solid var(--hairline)}.tbl td{padding:10px 8px;font-size:12.5px;border-bottom:1px solid var(--hairline-soft);color:var(--text-mid)}.tbl td.n{text-align:right;font-variant-numeric:tabular-nums;color:var(--text-hi)}.tbl td .name{color:var(--text-hi);font-weight:500}.tbl tr:last-child td{border-bottom:none}.olist{display:flex;flex-direction:column;gap:10px}.ocard{background:var(--surface-0);border:1px solid var(--hairline-soft);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:10px;transition:border-color .16s var(--ease)}.ocard:active{border-color:var(--hairline)}.ocard .oc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.ocard .oc-kpis{display:flex;gap:16px}.oc-k{display:flex;flex-direction:column;gap:2px}.sig{background:var(--surface-1);border:1px dashed var(--hairline);border-radius:12px;touch-action:none;width:100%;height:120px;display:block}.sig-row{display:flex;align-items:center;justify-content:space-between}.login{width:100%;min-height:100dvh;display:flex;flex-direction:column;justify-content:center;gap:26px;padding:32px 26px;max-width:var(--shell-max);margin:0 auto}.login .brand{text-align:center}.login .brand .mk{font-size:30px}.login .brand .mk .sub{font-size:11px;margin-top:7px}.login .demo{font-size:11px;color:var(--text-lo);text-align:center;line-height:1.7}.login .demo b{color:var(--text-mid)}.center-empty{padding:40px 20px;text-align:center;color:var(--text-lo);font-size:13px}.err{color:var(--red-br);font-size:12.5px}.loader{padding:40px;text-align:center;color:var(--text-lo);font-size:12px}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%);z-index:60;background:var(--surface-2);border:1px solid var(--hairline);color:var(--text-hi);font-size:12.5px;font-weight:500;padding:11px 16px;border-radius:11px;box-shadow:0 8px 30px #00000080;max-width:88%}.toast.good{border-color:var(--good-deep)}.toast.bad{border-color:var(--red-deep)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.fadeup{animation:fadeUp .28s var(--ease)}.seg{display:inline-flex;gap:2px;padding:3px;background:var(--surface-1);border:1px solid var(--hairline-soft);border-radius:10px}.seg button{padding:6px 13px;border-radius:7px;font-size:12px;font-weight:600;color:var(--text-lo);transition:background .16s var(--ease),color .16s var(--ease)}.seg button.on{background:var(--surface-2);color:var(--text-hi)}.exc-list{display:flex;flex-direction:column}.exc{display:flex;gap:10px;padding:11px 0;border-bottom:1px solid var(--hairline-soft)}.exc:first-child{padding-top:2px}.exc:last-child{border-bottom:none;padding-bottom:2px}.exc .exc-dot{width:8px;height:8px;border-radius:50%;margin-top:4px;flex:none}.exc .exc-dot.red{background:var(--red)}.exc .exc-dot.warn{background:var(--warn)}.exc .exc-body{display:flex;flex-direction:column;gap:2px;min-width:0}.exc .exc-t{font-size:13px;font-weight:600;color:var(--text-hi)}.exc .exc-d{font-size:11.5px;color:var(--text-lo)}.badge.red-outline{color:var(--red-br);background:transparent;border:1px solid var(--red-deep)}.badge.warn-outline{color:var(--warn);background:transparent;border:1px solid var(--warn-deep)}.badge.muted{opacity:.65}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 7px;border-radius:999px;font-size:10px;font-weight:600;letter-spacing:.02em;background:var(--surface-2);color:var(--text-mid);font-variant-numeric:tabular-nums}.chip.barato{color:var(--good);background:color-mix(in oklch,var(--good-deep) 40%,transparent)}.chip.caro{color:var(--red-br);background:color-mix(in oklch,var(--red-deep) 40%,transparent)}.chip.warn{color:var(--warn);background:color-mix(in oklch,var(--warn-deep) 40%,transparent)}.chip.muted{color:var(--text-lo)}.chip.stale{color:var(--warn);background:transparent;border:1px dashed var(--warn-deep)}.chip.grade{text-transform:uppercase;letter-spacing:.08em;font-size:9px}.buycard{width:100%;text-align:left}.bc-name{display:flex;align-items:center;gap:7px;min-width:0}.bc-name .name{color:var(--text-hi);font-weight:600;font-size:13px}.bc-rows{display:flex;flex-direction:column;gap:6px}.bc-row{display:flex;align-items:baseline;gap:8px}.bc-row .lab{width:44px;flex:none}.bc-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.clamp2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.conf.alta{color:var(--good)}.conf.media{color:var(--text-mid)}.conf.baja{color:var(--warn)}.conf.insuficiente{color:var(--text-lo)}.chart{display:block}.chart .tick{font-family:Inter;font-size:9px;fill:var(--text-lo);font-variant-numeric:tabular-nums}.chart-wrap{display:flex;flex-direction:column;gap:6px;margin-top:8px}.chart-cap{display:flex;gap:14px;flex-wrap:wrap;font-size:10.5px;color:var(--text-lo)}.chart-cap .sw{display:inline-block;width:9px;height:9px;border-radius:3px;margin-right:5px;vertical-align:-1px;background:var(--text-mid)}.chart-cap .sw.dash{background:repeating-linear-gradient(90deg,var(--text-mid) 0 3px,transparent 3px 5px);height:2px;width:14px;border-radius:0;vertical-align:2px}.spark{flex:none}.gauge-row{display:flex;align-items:center;gap:10px;margin-top:10px}.cover-unknown{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:9px 12px;border:1px dashed var(--hairline);border-radius:10px}.warn-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;border-color:var(--warn-deep)}.disclosure .disc-head{color:var(--text-lo);padding:6px 2px}.retail-lane{border-top:1px dashed var(--hairline-soft);padding-top:12px;display:flex;flex-direction:column;gap:6px;color:var(--text-lo)}.caution{padding:2px 2px 8px}.self-start{align-self:flex-start}.tile-link{display:block;text-align:left;padding:0}.tile-link .tile{width:100%}
