@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Archivo Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--ground:#f5f6f4;--surface:#fff;--ink:#141a17;--ink-2:#56625b;--line:#dce1dd;--plate:#141a17;--plate-ink:#f5f6f4;--plate-ink-2:#a3aea7;--plate-line:#2b342f;--band-ink:#141a17;--focus:#1f6fe0;--danger:#c23b30;--warn:#e5a93b;--radius:12px;--ease-out:cubic-bezier(.23, 1, .32, 1);--column:600px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--ground:#0e1210;--surface:#161c19;--ink:#eef2ef;--ink-2:#9da9a2;--line:#27312b;--plate:#1d2621;--plate-ink:#eef2ef;--plate-ink-2:#9da9a2;--plate-line:#2f3b35;--focus:#7db2ff;--danger:#ff8277;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#0e1210;--surface:#161c19;--ink:#eef2ef;--ink-2:#9da9a2;--line:#27312b;--plate:#1d2621;--plate-ink:#eef2ef;--plate-ink-2:#9da9a2;--plate-line:#2f3b35;--focus:#7db2ff;--danger:#ff8277}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;overscroll-behavior:none;background:var(--ground)}body{background:var(--ground);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:17px;font-weight:500;line-height:1.3}#root{height:100dvh}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;padding:0}button:disabled{cursor:default}input{font-size:16px}::selection{background:color-mix(in srgb, var(--focus) 30%, transparent)}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}ul{margin:0;padding:0;list-style:none}.sign{text-transform:uppercase;letter-spacing:.04em;font-weight:800;font-stretch:118%}.num{font-variant-numeric:tabular-nums}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{height:100dvh;max-width:var(--column);background:var(--ground);grid-template-rows:auto 1fr auto;grid-template-columns:minmax(0,1fr);margin:0 auto;display:grid;position:relative}@media (min-width:640px){.app{border-inline:1px solid var(--line)}}.top{z-index:30;position:relative}.topbar{background:var(--plate);color:var(--plate-ink);padding:calc(env(safe-area-inset-top,0px) + 8px) 8px 10px 16px}.topbar-row{align-items:center;gap:4px;min-height:48px;display:flex}.list-title{text-align:left;min-width:0;min-height:48px;color:inherit;flex:1;align-items:center;gap:8px;font-size:22px;line-height:1.1;display:flex}.list-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.list-title svg{transition:transform .18s var(--ease-out);flex:none}.list-title[aria-expanded=true] svg{transform:rotate(180deg)}.top-meta{color:var(--plate-ink-2);align-items:center;gap:10px;padding-right:4px;font-size:15px;font-weight:650;display:flex}.net{color:var(--warn);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.icon-btn{width:48px;height:48px;color:inherit;transition:transform .12s var(--ease-out), background-color .15s;border-radius:10px;flex:none;place-items:center;display:grid}.icon-btn:active{background:color-mix(in srgb, currentColor 14%, transparent);transform:scale(.94)}.route-line{gap:4px;margin:2px 8px 0 0;display:flex}.route-seg{flex:var(--n,1) 1 0;min-width:14px;height:28px;position:relative}.seg-bar{background:color-mix(in srgb, var(--c) 30%, transparent);border-radius:2px;position:absolute;inset:10px 0;overflow:hidden}.seg-fill{background:var(--c);transform-origin:0;height:100%;transform:scaleX(var(--p,0));transition:transform .24s var(--ease-out);display:block}.scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;position:relative;overflow-y:auto}.reparto{position:relative}.band{z-index:2;background:var(--c);width:100%;height:48px;color:var(--band-ink);text-align:left;transition:height .22s var(--ease-out), font-size .22s var(--ease-out);justify-content:space-between;align-items:center;gap:12px;padding:0 16px;font-size:15px;display:flex;position:sticky;top:0}.band-count{letter-spacing:0;font-variant-numeric:tabular-nums;align-items:center;gap:6px;font-size:15px;font-weight:800;font-stretch:100%;display:inline-flex}.reparto.is-done .band{height:38px;font-size:13px}.rows{background:var(--surface);overflow:hidden}.row{border-bottom:1px solid var(--line);background:var(--surface)}.row.is-flash{animation:1.2s ease-out flash}@keyframes flash{0%{background:color-mix(in srgb, var(--c) 38%, var(--surface))}to{background:var(--surface)}}.row-line{align-items:stretch;min-height:58px;display:flex}.row-main{text-align:left;flex:1;align-items:center;gap:14px;min-width:0;padding:0 8px 0 16px;display:flex}.check{border:2px solid var(--ink-2);color:#0000;width:28px;height:28px;transition:background-color .13s, border-color .13s, transform .13s var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.row-main:active .check{transform:scale(.9)}.is-checked .check{background:var(--c);border-color:var(--c);color:var(--band-ink)}.row-name{overflow-wrap:anywhere;font-size:18px;font-weight:560;transition:color .15s}.is-checked .row-name{color:var(--ink-2);text-decoration:line-through;text-decoration-thickness:2px;-webkit-text-decoration-color:color-mix(in srgb, var(--ink-2) 65%, transparent);text-decoration-color:color-mix(in srgb, var(--ink-2) 65%, transparent)}.row-qty{color:var(--ink-2);font-variant-numeric:tabular-nums;flex:none;align-self:center;padding:0 4px;font-size:16px;font-weight:700}.row-by{border:1.5px solid var(--line);width:22px;height:22px;color:var(--ink-2);text-transform:uppercase;border-radius:50%;flex:none;align-self:center;place-items:center;font-size:11px;font-weight:800;display:grid}.row-more{width:48px;color:var(--ink-2);flex:none;place-items:center;display:grid}.row-more[aria-expanded=true]{color:var(--ink)}.editor{gap:14px;padding:4px 16px 18px;display:grid}.field{gap:6px;display:grid}.field-label{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);font-size:12px;font-weight:750}.field-row{grid-template-columns:1fr 120px;gap:10px;display:grid}.input{border:1.5px solid var(--line);border-radius:var(--radius);background:var(--ground);width:100%;height:50px;color:var(--ink);padding:0 14px}.input::placeholder{color:var(--ink-2);opacity:.8}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1.5px solid var(--line);background:var(--surface);white-space:nowrap;height:40px;transition:transform .12s var(--ease-out), background-color .13s, border-color .13s;border-radius:10px;align-items:center;gap:8px;padding:0 14px;font-size:15px;font-weight:650;display:inline-flex}.chip:active{transform:scale(.96)}.chip .dot{background:var(--c);border-radius:50%;flex:none;width:11px;height:11px}.chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:var(--ground)}.btn{border-radius:var(--radius);height:50px;transition:transform .12s var(--ease-out), background-color .15s, border-color .15s;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:16px;font-weight:700;display:inline-flex}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5}.btn-primary{background:var(--ink);color:var(--ground)}.btn-ghost{border-color:var(--line);background:0 0}.btn-danger{border-color:color-mix(in srgb, var(--danger) 45%, transparent);color:var(--danger)}.btn-block{width:100%}.addbar{background:var(--ground);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px))}.suggest{scrollbar-width:none;overscroll-behavior-x:contain;gap:8px;padding-bottom:10px;display:flex;overflow-x:auto}.suggest::-webkit-scrollbar{display:none}.suggest .chip{flex:none}.target{background:var(--c);height:40px;color:var(--band-ink);letter-spacing:.05em;text-transform:uppercase;border-radius:10px;flex:none;align-items:center;gap:8px;padding:0 12px;font-size:13px;font-weight:800;font-stretch:112%;display:inline-flex}.addform{gap:8px;display:flex}.addform input{border:2px solid var(--ink);background:var(--surface);border-radius:14px;flex:1;min-width:0;height:54px;padding:0 16px;font-size:17px}.addform input::placeholder{color:var(--ink-2);opacity:.85}.add-btn{background:var(--ink);width:54px;height:54px;color:var(--ground);transition:transform .12s var(--ease-out), opacity .15s;border-radius:14px;flex:none;place-items:center;display:grid}.add-btn:active{transform:scale(.94)}.add-btn:disabled{opacity:.4}.scrim{z-index:20;background:#060a0880;animation:.16s ease-out fade-in;position:fixed;inset:0}.panel{z-index:30;overscroll-behavior:contain;background:var(--surface);max-height:calc(100dvh - 120px);color:var(--ink);border-bottom:1px solid var(--line);transform-origin:top;animation:drop-in .19s var(--ease-out);position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 22px 36px -14px #0006}.panel-menu{border:1px solid var(--line);transform-origin:100% 0;border-radius:14px;width:min(340px,100% - 16px);margin-top:-4px;left:auto;right:8px}@keyframes drop-in{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:none}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.list-row{border-bottom:1px solid var(--line);align-items:center;min-height:60px;display:flex}.list-row-main{text-align:left;flex:1;gap:2px;min-width:0;padding:10px 0 10px 16px;display:grid}.list-row-name{text-overflow:ellipsis;white-space:nowrap;font-size:18px;font-weight:700;overflow:hidden}.list-row-meta{color:var(--ink-2);font-size:14px}.list-row .active-mark{color:var(--ink);flex:none;margin-right:2px}.panel-section{border-bottom:1px solid var(--line);gap:10px;padding:14px 16px;display:grid}.panel-section:last-child{border-bottom:0}.menu-item{text-align:left;border-bottom:1px solid var(--line);align-items:center;gap:14px;width:100%;min-height:56px;padding:0 16px;font-size:17px;font-weight:650;display:flex}.menu-item:disabled{opacity:.45}.menu-item small{color:var(--ink-2);margin-left:auto;font-size:14px;font-weight:600}.segmented{border-radius:var(--radius);background:var(--ground);border:1.5px solid var(--line);grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;display:grid}.segmented button{border-radius:8px;height:40px;font-size:15px;font-weight:650;transition:background-color .13s,color .13s}.segmented button[aria-pressed=true]{background:var(--ink);color:var(--ground)}.screen{z-index:40;max-width:var(--column);background:var(--ground);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr);margin:0 auto;animation:.16s ease-out fade-in;display:grid;position:fixed;inset:0}.screen-body{overscroll-behavior:contain;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));overflow-y:auto}.screen-intro{color:var(--ink-2);padding:16px;font-size:15px;line-height:1.4}.route-row{background:var(--c);height:58px;color:var(--band-ink);align-items:center;gap:4px;margin-bottom:3px;padding:0 4px 0 16px;font-size:15px;display:flex}.route-row .grow{flex:1}.route-row .icon-btn:disabled{opacity:.3}.empty{gap:18px;padding:36px 0 24px;display:grid}.empty-copy{gap:6px;padding:0 16px;display:grid}.empty h2,.finish h2{margin:0;font-size:24px;line-height:1.1}.empty p,.finish p{color:var(--ink-2);margin:0;font-size:16px;line-height:1.4}.ghost-bands{opacity:.45;pointer-events:none;gap:3px;display:grid}.ghost-band{background:var(--c);height:40px;color:var(--band-ink);justify-content:space-between;align-items:center;padding:0 16px;font-size:13px;display:flex}.finish{text-align:center;justify-items:center;gap:14px;padding:32px 16px 40px;display:grid}.finish .btn{width:100%;max-width:320px}.login{max-width:420px;min-height:100dvh;padding:24px 24px calc(24px + env(safe-area-inset-bottom,0px));align-content:center;gap:30px;margin:0 auto;display:grid}.logo-bands{gap:4px;width:92px;display:grid}.logo-bands span{background:var(--c);height:11px;display:block}.login h1{margin:0;font-size:46px;line-height:1}.login-tag{color:var(--ink-2);margin:8px 0 0;font-size:18px}.login form{gap:16px;display:grid}.form-error{color:var(--danger);margin:0;font-size:15px;font-weight:650}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.seg-fill,.check,.chip,.btn,.icon-btn,.add-btn,.band,.list-title svg{transition-property:background-color,border-color,color,opacity!important}}@media (hover:hover) and (pointer:fine){.row-main:hover .check{border-color:var(--ink)}.is-checked .row-main:hover .check{border-color:var(--c)}.chip:hover:not([aria-pressed=true]),.btn-ghost:hover{border-color:var(--ink-2)}.btn-primary:hover,.add-btn:hover{opacity:.88}.row-more:hover,.menu-item:hover,.list-row-main:hover{color:var(--ink);background:color-mix(in srgb, var(--ink) 5%, transparent)}.icon-btn:hover{background:color-mix(in srgb, currentColor 10%, transparent)}}
