:root{--bg: #faf8f4;--card: #fff;--ink: #1f1b16;--muted: #6f6a62;--line: #e8e3da;--brand: #c16d45;--brand-bg: #f8ece5;--green: #16a34a;--green-bg: #dcfce7;--red: #dc2626;--red-bg: #fee2e2;--orange: #d97706;--orange-bg: #fef3c7;--radius: 16px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink);font-size:17px}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:0}.app{max-width:520px;margin:0 auto;min-height:100%;display:flex;flex-direction:column}.top{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--card);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.top h1{font-size:19px;margin:0;flex:1}.back{background:none;font-size:26px;padding:0 6px}.sync{font-size:13px;padding:4px 10px;border-radius:99px;background:var(--green-bg);color:#166534;white-space:nowrap}.sync.off{background:var(--orange-bg);color:#92400e}.sync.err{background:var(--red-bg);color:#991b1b}.page{padding:14px 16px 90px;flex:1}.card{background:var(--card);border-radius:var(--radius);padding:14px;margin-bottom:12px;border:1px solid var(--line)}.card h2{font-size:15px;margin:0 0 8px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grow{flex:1}.muted{color:var(--muted);font-size:14px}.in{color:var(--green)}.out{color:var(--red)}.big{font-size:30px;font-weight:700}.btn{background:var(--ink);color:#fff;padding:14px 18px;border-radius:14px;font-weight:600;width:100%}.btn.red{background:var(--red)}.btn.gray{background:#ece8e0;color:var(--ink)}.btn.sm{width:auto;padding:8px 14px;font-size:15px;border-radius:10px}.btn:disabled{opacity:.45}.home-btns{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:6px 0 14px}.home-btns button{padding:22px 6px;border-radius:18px;font-size:18px;font-weight:700;color:#fff;display:flex;flex-direction:column;gap:6px;align-items:center}.home-btns .e{font-size:30px}.sale{background:var(--green)}.spend{background:var(--red)}.talk{background:#2563eb}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}.tile{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px}.tile b{display:block;font-size:22px;margin-top:2px}.tile.wide{grid-column:span 2}.menu{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu button{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:left;font-weight:600;position:relative}.menu .e{font-size:24px;display:block}.badge{position:absolute;top:8px;right:10px;background:var(--red);color:#fff;font-size:12px;border-radius:99px;padding:1px 7px}.amount{text-align:center;font-size:42px;font-weight:800;padding:8px 0;min-height:66px}.amount.in{color:var(--green)}.amount.out{color:var(--red)}.pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:6px 0 12px}.pad button{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 0;font-size:24px;font-weight:600}.pad button:active{background:#eef0ea}.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.mode{background:#fff;border:2px solid var(--line);border-radius:14px;padding:10px 4px;font-size:13px;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:2px}.mode .e{font-size:24px}.mode.sel{border-color:var(--green);background:var(--green-bg)}.out-mode .mode.sel{border-color:var(--red);background:var(--red-bg)}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.chip{background:#fff;border:1px solid var(--line);border-radius:99px;padding:8px 14px;font-size:15px}.chip.sel{background:var(--ink);color:#fff;border-color:var(--ink)}.chip.red.sel{background:var(--red);border-color:var(--red)}input,select,textarea{width:100%;padding:12px;border-radius:12px;border:1px solid var(--line);background:#fff;margin:4px 0 10px}label{font-size:14px;color:var(--muted);font-weight:600}.list-item{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--line)}.list-item:last-child{border:0}.list-item.cancelled{opacity:.55;text-decoration:line-through}.tabs{display:flex;gap:6px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tabs button{flex:1 0 auto;padding:10px 12px;border-radius:12px;background:#e8eae4;font-weight:600;font-size:15px;white-space:nowrap}.tabs button.sel{background:var(--ink);color:#fff}.bar{height:10px;border-radius:6px;background:var(--green)}.alert{padding:12px;border-radius:12px;margin-bottom:8px}.alert.red{background:var(--red-bg)}.alert.orange{background:var(--orange-bg)}.alert.read{opacity:.55;background:#f1eee8;padding:8px 12px;font-size:15px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:flex-end;justify-content:center;z-index:20}.modal{background:var(--card);width:100%;max-width:520px;border-radius:22px 22px 0 0;padding:18px 16px 24px;max-height:90vh;overflow:auto}.error{background:var(--red-bg);color:#991b1b;padding:10px 12px;border-radius:12px;margin-bottom:10px}.pin-dots{display:flex;justify-content:center;gap:14px;margin:18px 0}.pin-dots i{width:16px;height:16px;border-radius:50%;border:2px solid var(--ink)}.pin-dots i.f{background:var(--ink)}.center{text-align:center}.users{display:flex;flex-direction:column;gap:8px;margin:10px 0}.users button{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px;text-align:left;font-weight:600}.users button.sel{border-color:var(--green);background:var(--green-bg)}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:99px;z-index:30}@media print{.top,.btn,.tabs,.no-print{display:none!important}body{background:#fff}}.bal-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.bal-card,.bal-big{background:var(--card);border:1px solid var(--line);border-left:6px solid var(--c, var(--green));border-radius:16px;padding:12px}.bal-big{margin-bottom:14px;box-shadow:0 1px #0000000d}.bal-name{font-size:14px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:6px}.bal-name i{width:10px;height:10px;border-radius:50%;display:inline-block}.bal-num{font-size:26px;font-weight:800;letter-spacing:-.5px}.bal-delta{font-size:13px;margin-top:2px}.bal-note{font-size:12px;color:#92400e;background:var(--orange-bg);border-radius:8px;padding:4px 8px;margin-top:6px}.up{color:var(--green)}.down{color:var(--red)}.bal-total{background:linear-gradient(135deg,#14532d,#16a34a);color:#fff;border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:2px}.bal-total b{font-size:34px;letter-spacing:-1px}.bal-total span,.bal-total small{opacity:.85;font-size:13px}.mv{display:grid;grid-template-columns:46px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}.mv-time{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}.mv-body{display:flex;flex-direction:column;min-width:0}.mv-body small,.mv-amt small{color:var(--muted);font-size:12px}.mv-amt{display:flex;flex-direction:column;align-items:flex-end}.week{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.week-bars{display:flex;gap:6px;align-items:flex-end;height:70px;margin-top:4px}.wb{flex:1;background:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;padding:0;border-radius:8px}.wb i{width:70%;border-radius:6px 6px 2px 2px;min-height:6px;opacity:.55}.wb.sel i{opacity:1}.wb span{font-size:11px;color:var(--muted);margin-top:2px}.bal-hero{display:block;background:linear-gradient(135deg,#fff,#f8faf6);border:1px solid var(--line);border-left:8px solid var(--c, var(--green));border-radius:18px;padding:14px;margin:4px 0 12px;box-shadow:0 2px 6px #0000000d}.bal-hero-num{font-size:38px;font-weight:800;letter-spacing:-1px;line-height:1.1;margin:2px 0;font-variant-numeric:tabular-nums}.pay{margin-bottom:12px}.pay-main{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pay-big{background:#fff;border:2px solid var(--line);border-radius:16px;padding:16px 8px;font-weight:700;font-size:16px;display:flex;flex-direction:column;align-items:center;gap:4px}.pay-big .e{font-size:28px}.pay-big.sel{border-color:var(--green);background:var(--green-bg)}.out-mode .pay-big.sel{border-color:var(--red);background:var(--red-bg)}.pay-ops{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.out-mode .pay-ops .mode.sel{border-color:var(--red);background:var(--red-bg)}.recap{color:#fff;border-radius:14px;padding:10px 14px;font-weight:700;margin:6px 0 10px;display:flex;justify-content:space-between;align-items:center;gap:8px}.recap small{font-weight:500;opacity:.9}.step{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700;margin:12px 0 6px}.line-total{font-size:22px;font-weight:800;text-align:center;margin:6px 0}.qty{display:flex;align-items:center;gap:8px}.qty input{text-align:center;margin:0;flex:1;font-size:20px;font-weight:700}.qty button{width:52px;height:48px;font-size:24px;border-radius:12px;background:#e8eae4}.seller-tag{display:inline-block;margin:2px 0;padding:2px 10px;border-radius:999px;background:#eef2ff;color:#3730a3;font-size:13px;font-weight:600}.brandmark{height:26px;width:auto;vertical-align:-6px;margin-right:8px}.brandlogo{display:block;margin:28px auto 6px;width:210px;max-width:70%;height:auto}.tagline{text-align:center;color:var(--muted);margin:0 0 18px}.top h1{display:block;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top{box-shadow:0 1px 0 var(--line)}.top:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:linear-gradient(90deg,var(--brand) 0 56px,transparent 56px)}.sync{max-width:40%;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}.top .back{flex-shrink:0}.top h1{flex:1 1 40%}.rec-btn{width:96px;height:96px;border-radius:50%;background:var(--brand);color:#fff;font-size:40px;display:block;margin:4px auto 10px;box-shadow:0 4px 14px #c16d4566}.rec-btn.live{background:var(--red);animation:rec-pulse 1.2s infinite}@keyframes rec-pulse{0%{box-shadow:0 0 #dc262688}70%{box-shadow:0 0 0 22px #dc262600}to{box-shadow:0 0 #dc262600}}.note{border-top:1px solid var(--line);padding:12px 0}.note:first-of-type{border-top:0}.note-link{margin-top:4px;padding:4px 10px;border-radius:10px;background:var(--brand-bg);font-size:14px}.note-remind{margin-top:4px;font-size:14px;color:var(--muted)}.note-remind.due{color:var(--red);font-weight:700}.level{height:10px;border-radius:6px;background:#ece8e0;margin:10px auto 4px;max-width:260px;overflow:hidden}.level i{display:block;height:100%;background:var(--green);transition:width .1s linear}
