:root{--navy: #0f1a3a;--navy-2: #1d2d63;--navy-3: #2b3f86;--red: #ff4d4d;--red-2: #ff7a59;--red-dark: #e23b3b;--bg: #f4f5fa;--card: #ffffff;--text: #0f1a3a;--muted: #6b7489;--line: #e7e9f2;--soft: #eef0f8;--good-bg: #dcf5e4;--good: #17803d;--warn-bg: #fff1cc;--warn: #8a5a00;--bad-bg: #ffe0e0;--bad: #c0182f;--info-bg: #e1eaff;--info: #2350c2;--wa: #25d366;--radius: 18px;--shadow: 0 1px 2px rgba(15, 26, 58, .05), 0 6px 20px rgba(15, 26, 58, .06);--shadow-lg: 0 10px 30px rgba(15, 26, 58, .18);--font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}:root[data-theme=dark]{--bg: #0a1024;--card: #121a36;--text: #eef1fa;--muted: #98a2bd;--line: #222c52;--soft: #1a2448;--good-bg: #133824;--good: #7fe0a1;--warn-bg: #3a2f10;--warn: #ffd27a;--bad-bg: #44161f;--bad: #ff9aa6;--info-bg: #182a58;--info: #a3c0ff;--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 6px 20px rgba(0, 0, 0, .25);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--text);font:15px/1.45 var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1{font-size:1.45rem;font-weight:800;letter-spacing:-.02em;margin:0}h2{font-size:1rem;font-weight:800;margin:0;letter-spacing:-.01em}a{color:inherit}button{font-family:inherit}code{background:var(--soft);padding:1px 5px;border-radius:4px}.app{min-height:100dvh;padding-bottom:calc(92px + env(safe-area-inset-bottom))}.content{max-width:640px;margin:0 auto;padding:16px;padding-top:calc(16px + env(safe-area-inset-top))}.content.flush{padding-top:0}.banner{display:block;background:var(--bad);color:#fff;padding:10px 16px;font-size:.85rem;font-weight:600;text-align:center;text-decoration:none}.banner.warn{background:var(--warn-bg);color:var(--warn)}.banner b{text-decoration:underline}.bottom-nav{position:fixed;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));z-index:10;max-width:616px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);align-items:center;background:var(--card);border-radius:24px;box-shadow:var(--shadow-lg);padding:6px}.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:7px 0;font-size:.68rem;font-weight:700;text-decoration:none;color:var(--muted);border-radius:16px}.nav-item.active{color:var(--navy);background:var(--soft)}.nav-fab{justify-self:center;width:54px;height:54px;margin-top:-26px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff;box-shadow:0 8px 20px #ff4d4d73;border:4px solid var(--bg)}:root[data-theme=dark] .nav-item.active{color:#fff}.page-header{display:flex;align-items:center;gap:10px;margin-bottom:14px}.page-header-text{flex:1;min-width:0}.page-header-text p{margin:2px 0 0}.icon-btn{flex:none;width:42px;height:42px;border-radius:14px;border:0;display:grid;place-items:center;background:var(--card);color:var(--text);box-shadow:var(--shadow);cursor:pointer;text-decoration:none}.hero{margin:0 -16px 18px;padding:calc(18px + env(safe-area-inset-top)) 20px 26px;background:radial-gradient(120% 140% at 100% 0%,var(--navy-3) 0%,var(--navy-2) 35%,var(--navy) 75%);color:#fff;border-radius:0 0 28px 28px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(255,77,77,.35),transparent 70%)}.hero-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1}.hero-top img{width:40px;height:40px;border-radius:12px}.hero-hello{flex:1;min-width:0}.hero-hello small{color:#aab3d4;font-size:.8rem}.hero-hello div{font-weight:800;font-size:1.1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hero .icon-btn{background:#ffffff1f;color:#fff;box-shadow:none}.hero-figure{margin-top:22px;position:relative;z-index:1}.hero-figure span{color:#aab3d4;font-size:.82rem;font-weight:600}.hero-figure b{display:block;font-size:2.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.1;margin-top:2px}.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;position:relative;z-index:1}.hero-stats div{background:#ffffff17;border-radius:14px;padding:10px;min-width:0}.hero-stats span{display:block;font-size:.7rem;color:#aab3d4;font-weight:600}.hero-stats b{display:block;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stack{display:flex;flex-direction:column;gap:12px}.row{display:flex;align-items:center;gap:10px}.row.between{justify-content:space-between}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.grid3{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}.section-title{display:flex;justify-content:space-between;align-items:baseline;margin:10px 2px 2px}.section-title a{font-size:.82rem;font-weight:700;color:var(--red);text-decoration:none}.center{text-align:center}.card{background:var(--card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.card.alert{box-shadow:inset 0 0 0 2px var(--bad),var(--shadow)}.card h2{margin-bottom:4px}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.quick a{display:flex;flex-direction:column;align-items:center;gap:6px;text-decoration:none;font-size:.72rem;font-weight:700;text-align:center;color:var(--text)}.quick-icon{width:52px;height:52px;border-radius:18px;display:grid;place-items:center;background:var(--card);box-shadow:var(--shadow)}.quick a:nth-child(1) .quick-icon{color:var(--red)}.quick a:nth-child(2) .quick-icon{color:#0f9d58}.quick a:nth-child(3) .quick-icon{color:var(--info)}.quick a:nth-child(4) .quick-icon{color:#b35c00}.attention{padding:4px 0}.attention a{display:flex;align-items:center;gap:12px;padding:12px 16px;text-decoration:none;border-bottom:1px solid var(--line)}.attention a:last-child{border-bottom:0}.attention-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;flex:none}.attention-text{flex:1;min-width:0}.attention-text b{display:block}.attention-text span{font-size:.8rem;color:var(--muted)}.attention .count{font-weight:800;font-size:1.05rem}.tone-red{background:var(--bad-bg);color:var(--bad)}.tone-amber{background:var(--warn-bg);color:var(--warn)}.tone-blue{background:var(--info-bg);color:var(--info)}.tone-green{background:var(--good-bg);color:var(--good)}.all-clear{display:flex;align-items:center;gap:12px;padding:16px;color:var(--good);font-weight:700}.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat{background:var(--card);border-radius:16px;padding:12px;box-shadow:var(--shadow);min-width:0}.stat span{display:block;font-size:.72rem;color:var(--muted);font-weight:600}.stat b{display:block;font-size:1.1rem;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:700;color:var(--muted);min-width:0}input,select,textarea{width:100%;font:inherit;font-weight:500;color:var(--text);background:var(--soft);border:1.5px solid transparent;border-radius:14px;padding:12px 14px;min-height:48px;transition:border-color .15s,background .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy-3);background:var(--card)}input::placeholder,textarea::placeholder{color:#9aa2b8}textarea{resize:vertical}.search{position:relative}.search svg{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--muted)}.search input{padding-left:42px;background:var(--card);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:800;border-radius:16px;border:0;cursor:pointer;padding:12px 18px;min-height:48px;text-decoration:none;white-space:nowrap;transition:transform .08s,opacity .15s}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55}.btn.primary{background:linear-gradient(135deg,var(--red),var(--red-2));color:#fff;box-shadow:0 6px 16px #ff4d4d4d}.btn.secondary{background:var(--navy);color:#fff}.btn.ghost{background:var(--card);color:var(--text);box-shadow:var(--shadow)}.btn.subtle{background:var(--soft);color:var(--text)}.btn.danger{color:var(--bad)}.btn.big{min-height:56px;font-size:1rem;width:100%}.btn.small{min-height:38px;padding:8px 12px;font-size:.82rem;border-radius:12px}.btn.wa{background:var(--wa);color:#053d1d}.wa-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chips{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;font:inherit;font-size:.8rem;font-weight:700;padding:8px 14px;border-radius:999px;border:0;background:var(--card);color:var(--muted);cursor:pointer;box-shadow:var(--shadow)}.chip.on{background:var(--navy);color:#fff}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.list-row{display:flex;align-items:center;gap:12px;background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:12px 14px;text-decoration:none;width:100%;border:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.list-row .grow{flex:1;min-width:0}.list-row .grow .title,.list-row .grow .small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-row.faded{opacity:.55}.list-row .right{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:none}.title{font-weight:800}.avatar{flex:none;display:grid;place-items:center;border-radius:50%;font-weight:800}.thumb{flex:none;width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--soft);color:var(--navy-3)}.badges{display:flex;gap:4px;flex-wrap:wrap;justify-content:flex-end}.badge{font-size:.68rem;font-weight:800;padding:3px 9px;border-radius:999px;white-space:nowrap;letter-spacing:.01em}.badge.good,.status-delivered{background:var(--good-bg);color:var(--good)}.badge.warn,.status-packed{background:var(--warn-bg);color:var(--warn)}.badge.bad{background:var(--bad-bg);color:var(--bad)}.status-new,.status-sent{background:var(--info-bg);color:var(--info)}.status-cancelled{background:var(--soft);color:var(--muted)}.items{list-style:none;margin:0;padding:0}.items li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}.items li:last-child{border-bottom:0}.items li.total{font-weight:800;font-size:1.1rem;border-bottom-style:solid}.items li.owing{color:var(--bad);font-weight:800}.line{display:flex;flex-direction:column;gap:8px;padding-bottom:12px;border-bottom:1px dashed var(--line)}.suggest{list-style:none;margin:0;padding:0;border-radius:14px;overflow:hidden;background:var(--soft)}.suggest button{width:100%;display:flex;align-items:center;gap:10px;text-align:left;font:inherit;background:transparent;color:var(--text);border:0;border-bottom:1px solid var(--line);padding:10px 12px;cursor:pointer}.variant-grid{list-style:none;margin:8px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}.variant-grid li{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.85rem;font-weight:600;background:var(--soft);border-radius:12px;padding:6px 6px 6px 12px}.variant-grid input{width:64px;min-height:38px;padding:6px 8px;background:var(--card);text-align:center}.totals{display:flex;justify-content:space-between;align-items:center;font-size:1.15rem;padding:4px}.totals b{font-size:1.4rem;font-weight:800}.detail-head{display:flex;align-items:center;gap:12px}.contact-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.match{border-radius:16px;padding:14px;background:var(--good-bg)}.match.unsure{background:var(--warn-bg)}.parsed{display:grid;grid-template-columns:1fr 1fr;gap:8px}.parsed div{background:var(--soft);border-radius:12px;padding:8px 10px;min-width:0}.parsed span{display:block;font-size:.7rem;color:var(--muted);font-weight:700}.parsed b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.muted{color:var(--muted)}.small{font-size:.8rem;font-weight:500}.error{color:var(--bad);background:var(--bad-bg);padding:10px 12px;border-radius:12px;margin:0;font-weight:600}.ok{color:var(--good);margin:0;font-weight:700}.warn-text{color:var(--warn);margin:0;font-weight:600}.empty{text-align:center;padding:36px 16px;display:flex;flex-direction:column;align-items:center;gap:6px}.empty-icon{width:64px;height:64px;border-radius:22px;display:grid;place-items:center;background:var(--card);box-shadow:var(--shadow);color:var(--navy-3);margin-bottom:6px}.empty p{margin:0 0 8px;max-width:280px}.skeleton{height:66px;border-radius:16px;background:linear-gradient(90deg,var(--card) 0%,var(--soft) 50%,var(--card) 100%);background-size:200% 100%;animation:shimmer 1.2s infinite linear}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.toast{position:fixed;left:50%;bottom:calc(100px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:50;display:flex;align-items:center;gap:8px;background:var(--navy);color:#fff;font-weight:700;font-size:.9rem;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow-lg);animation:pop .2s ease-out}@keyframes pop{0%{opacity:0;transform:translate(-50%,8px)}}.login-wrap{min-height:100dvh;display:flex;flex-direction:column}.login-top{background:radial-gradient(120% 140% at 100% 0%,var(--navy-3) 0%,var(--navy-2) 35%,var(--navy) 75%);color:#fff;padding:calc(56px + env(safe-area-inset-top)) 24px 80px;text-align:center}.login-top img{width:76px;height:76px;border-radius:22px;box-shadow:0 10px 30px #00000059}.login-top h1{font-size:1.7rem;margin-top:16px}.login-top p{color:#aab3d4;margin:6px 0 0}.login-body{flex:1;padding:0 16px 32px;margin-top:-48px;max-width:440px;width:100%;margin-left:auto;margin-right:auto;display:flex;flex-direction:column;gap:14px}.login-body .card{padding:22px}.perks{display:grid;gap:10px;margin-top:4px}.perks div{display:flex;align-items:center;gap:10px;font-size:.85rem;font-weight:600;color:var(--muted)}.perks svg{color:var(--good);flex:none}.center-page{min-height:100dvh;display:grid;place-items:center;padding:16px;text-align:center}.spinner{width:34px;height:34px;margin:24px auto;border-radius:50%;border:3px solid var(--soft);border-top-color:var(--red);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 360px){.quick{gap:6px}.hero-figure b{font-size:2rem}.wa-buttons{grid-template-columns:1fr}}.content>.stack>.hero:first-child{margin-top:calc(-16px - env(safe-area-inset-top))}img.photo{object-fit:cover;display:block;padding:0}.thumb.big{width:56px;height:56px;border-radius:14px}.field-label{font-size:.8rem;font-weight:700;color:var(--muted);margin-bottom:6px}.chips.wrap{flex-wrap:wrap;overflow:visible}.chip svg{vertical-align:-2px}.photo-pick{position:relative;width:100%;aspect-ratio:4 / 3;border:2px dashed #c9cee0;border-radius:var(--radius);background:var(--card);color:var(--navy-3);cursor:pointer;padding:0;overflow:hidden;font:inherit}.photo-pick.has{border-style:solid;border-color:transparent;box-shadow:var(--shadow)}.photo-pick img{width:100%;height:100%;object-fit:cover;display:block}.photo-pick-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%}.photo-pick-empty b{font-size:1rem}.photo-pick-empty .small{color:var(--muted)}.photo-pick-change{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:6px;background:#0f1a3ac7;color:#fff;font-size:.8rem;font-weight:700;padding:7px 12px;border-radius:999px}.seg{display:inline-flex;background:var(--soft);border-radius:12px;padding:3px;gap:2px;flex-wrap:wrap;justify-content:flex-end}.seg button{font:inherit;font-size:.72rem;font-weight:700;border:0;background:transparent;color:var(--muted);padding:6px 8px;border-radius:9px;cursor:pointer}.seg button.on{background:var(--card);color:var(--navy);box-shadow:var(--shadow)}.size-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:8px}.size-btn{font:inherit;font-weight:800;min-height:48px;border-radius:14px;border:2px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px}.size-btn.on{background:var(--navy);border-color:var(--navy);color:#fff}.size-btn small{font-size:.68rem;font-weight:600;color:var(--muted)}.size-btn.pick{min-height:60px}.size-btn.usual{border-color:var(--red);box-shadow:0 0 0 3px #ff4d4d26}.size-btn:disabled{opacity:.4;cursor:default}.stepper{display:inline-flex;align-items:center;background:var(--soft);border-radius:14px;flex:none}.stepper button{width:40px;height:40px;border:0;background:transparent;color:var(--navy);border-radius:14px;display:grid;place-items:center;cursor:pointer}.stepper button:disabled{opacity:.3}.stepper b{min-width:28px;text-align:center;font-size:1rem}.count-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.count-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;font-weight:700}.style-card{background:var(--card);border-radius:16px;box-shadow:var(--shadow);padding:12px}.style-head{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}.style-head .grow{flex:1;min-width:0}.style-head .title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.size-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.size-chip{font-size:.75rem;font-weight:700;text-decoration:none;color:var(--text);background:var(--soft);border-radius:999px;padding:5px 10px}.size-chip b{margin-left:2px;color:var(--good)}.size-chip.low b{color:var(--warn)}.size-chip.out{color:var(--muted)}.size-chip.out b{color:var(--bad)}.style-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px}.style-tile{position:relative;width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;border:0;background:var(--soft);border-radius:14px;padding:0 0 8px;overflow:hidden;display:flex;flex-direction:column}.style-tile.out{opacity:.45;cursor:default}.tile-photo{width:100%;height:auto;aspect-ratio:1;border-radius:0;display:grid;place-items:center;background:var(--line);color:var(--navy-3)}.tile-name{font-weight:800;font-size:.8rem;padding:6px 8px 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-sub{font-size:.7rem;color:var(--muted);padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tile-count{position:absolute;top:6px;right:6px;min-width:26px;height:26px;border-radius:999px;padding:0 6px;background:var(--red);color:#fff;font-weight:800;font-size:.8rem;display:grid;place-items:center}.order-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.order-lines li{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px dashed var(--line)}.order-lines .grow{flex:1;min-width:0}.order-lines .grow .title,.order-lines .grow .muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.line-controls{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}.price-input{flex-direction:row;align-items:center;gap:4px;font-size:.7rem}.price-input input{width:76px;min-height:34px;padding:4px 8px;text-align:right}.icon-btn.flat{box-shadow:none;background:transparent;width:34px;height:34px;color:var(--muted)}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#0f1a3a73;display:flex;align-items:flex-end;justify-content:center;animation:fade .15s ease-out}.sheet{width:100%;max-width:560px;background:var(--card);border-radius:24px 24px 0 0;padding:18px 16px calc(24px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;animation:slide-up .2s ease-out;max-height:85dvh;overflow-y:auto}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(40px);opacity:.6}}.owe-total{display:flex;flex-direction:column}.owe-total span{font-size:.8rem;color:var(--muted);font-weight:600}.owe-total b{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;color:var(--bad);line-height:1.2}.owe-list{list-style:none;margin:0;padding:0}.owe-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-top:1px solid var(--line)}.owe-who{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.owe-who .grow{flex:1;min-width:0;display:flex;flex-direction:column}.owe-who .grow b,.owe-who .grow span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.owe-amount{flex:none;font-size:.9rem}.icon-btn.wa-mini{width:38px;height:38px;background:var(--wa);color:#053d1d;box-shadow:none}.icon-btn.wa-mini.done{background:var(--good-bg);color:var(--good)}.no-number{flex:none;width:38px;text-align:center;font-size:.62rem;line-height:1.1}.pay-steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px;font-size:.9rem}.code-pill{flex:none;font-family:ui-monospace,monospace;background:var(--soft);padding:6px 10px;border-radius:10px;font-size:.85rem}.badge svg{vertical-align:-2px}
