:root{--bg:#faf9fd;--surf:#ffffff;--surf2:#f5f3fb;--line:#e7e4f2;--line2:#d5d0e6;--ink:#15131f;--ink2:#4b4860;--mut:#807c96;--violet:#6d28d9;--violet2:#5b21b6;--vsoft:#f4efff;--vline:#d8c8f7;--green:#0e9f6e;--gsoft:#e6f6ef;--amber:#b45309;--red:#dc2626;--r:12px;--r-lg:16px;--sans:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}button{font-family:inherit;cursor:pointer}input,select{font-family:inherit}.app{display:flex;flex-direction:column;min-height:100dvh;max-width:640px;margin:0 auto}.top{position:sticky;top:0;z-index:10;background:#ffffffeb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);padding:12px 16px calc(env(safe-area-inset-top) + 12px)}.top .brand{display:flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.02em}.top .brand .logo{width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,var(--violet),var(--violet2));display:grid;place-items:center;color:#fff;font-size:13px;font-weight:800}.top .brand small{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--mut);font-weight:600;border-left:1px solid var(--line2);padding-left:9px;margin-left:3px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.who{font-size:12.5px;color:var(--ink2);background:var(--vsoft);border:1px solid var(--vline);border-radius:99px;padding:5px 12px;font-weight:600;white-space:nowrap;max-width:45%;overflow:hidden;text-overflow:ellipsis}.prog{display:flex;gap:6px;padding:12px 16px 0}.prog .seg{flex:1;height:4px;border-radius:99px;background:var(--line)}.prog .seg.on{background:var(--violet)}.prog .seg.done{background:var(--violet2)}.body{flex:1;padding:18px 16px 140px;overflow-y:auto}.kick{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--violet2);font-weight:700}h2{font-size:22px;letter-spacing:-.02em;margin:6px 0 4px;line-height:1.15}.desc{color:var(--ink2);font-size:14px;margin-bottom:18px}.field{margin-bottom:16px}.label{display:block;font-weight:600;font-size:13.5px;margin-bottom:7px}.hint{color:var(--mut);font-size:12.5px;margin-top:5px}.input,.select{width:100%;padding:13px 14px;border:1px solid var(--line2);border-radius:var(--r);background:#fff;font-size:16px;color:var(--ink)}.input:focus,.select:focus{outline:2px solid var(--violet);outline-offset:1px;border-color:var(--violet)}.rowcard{border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px;background:var(--surf)}.rowcard .r1{display:flex;gap:8px}.rowcard .r1 .select{flex:1}.rowcard .r1 .qty{width:78px;text-align:center}.rowcard .r2{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.chk{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--ink2)}.chk input{width:18px;height:18px;accent-color:var(--violet)}.del{border:0;background:none;color:var(--red);font-size:12.5px;font-weight:600}.addbtn{width:100%;padding:12px;border:1px dashed var(--line2);border-radius:var(--r);background:var(--surf2);color:var(--violet2);font-weight:600;font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{border:1px solid var(--line2);border-radius:99px;padding:9px 15px;font-size:14px;background:#fff;color:var(--ink2)}.chip.on{border-color:var(--violet);background:var(--vsoft);color:var(--violet2);font-weight:600}.live{position:fixed;left:0;right:0;bottom:76px;z-index:9;max-width:640px;margin:0 auto;padding:0 16px}.live .in{background:var(--ink);color:#fff;border-radius:var(--r-lg);padding:12px 14px;box-shadow:0 12px 30px -12px #1e144680}.live .t{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;opacity:.7;margin-bottom:8px}.live .stats{display:flex;gap:14px;flex-wrap:wrap}.live .st{display:flex;flex-direction:column}.live .st b{font-size:20px;line-height:1;font-variant-numeric:tabular-nums}.live .st span{font-size:10.5px;opacity:.75;margin-top:2px}.nav{position:fixed;left:0;right:0;bottom:0;z-index:11;max-width:640px;margin:0 auto;display:flex;gap:10px;padding:12px 16px calc(env(safe-area-inset-bottom) + 12px);background:#fffffff0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line)}.btn{flex:1;padding:15px;border:0;border-radius:99px;font-weight:700;font-size:15px}.btn.primary{background:var(--violet);color:#fff}.btn.primary:active{background:var(--violet2)}.btn.ghost{background:#fff;border:1px solid var(--line2);color:var(--ink);flex:0 0 auto;padding:15px 22px}.btn:disabled{opacity:.45}.bom{border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.bom .h,.bom .r{display:grid;grid-template-columns:1fr 56px;gap:8px;padding:11px 13px;font-size:14px}.bom .h{background:var(--surf2);font-family:var(--mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--mut)}.bom .r{border-top:1px solid var(--line)}.bom .r b{font-variant-numeric:tabular-nums;text-align:right}.bom .r small{display:block;color:var(--mut);font-size:11.5px;margin-top:2px}.note{background:var(--vsoft);border:1px solid var(--vline);border-radius:var(--r);padding:12px 14px;font-size:12.5px;color:var(--ink2);margin-top:14px}.note b{color:var(--violet2)}.opts-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.totais{margin-top:14px;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.totais .tr{display:flex;justify-content:space-between;align-items:center;padding:11px 14px;font-size:14px;border-top:1px solid var(--line)}.totais .tr:first-child{border-top:0}.totais .tr b{font-variant-numeric:tabular-nums}.totais .tr.total{background:var(--surf2);font-weight:800}.totais .tr.total b{font-size:16px}.pos{color:var(--green)}.neg{color:var(--red)}.flagline{margin-top:10px;background:#fef6e7;border:1px solid #f3d9a4;color:#7a4a00;border-radius:var(--r);padding:10px 13px;font-size:13px}.acts{display:flex;flex-direction:column;gap:10px;margin-top:18px}.acts .btn{flex:none;width:100%}textarea.input{resize:vertical}
