:root{--navy:#102a43;--blue:#2d9cdb;--blue-dark:#1b82bd;--blue-soft:#e8f4fc;--gold:#d4a017;--page:#f7f8fa;--surface:#fff;--border:#e6e8ec;--border-strong:#d7dae0;--text:#16202e;--text-soft:#5b6875;--text-faint:#8a95a3;--green:#1f9d55;--green-soft:#e6f6ec;--amber:#b7791f;--amber-soft:#fdf3e0;--red:#c53030;--red-soft:#fdecec;--radius:8px;--radius-lg:12px;--sidebar-width:236px;--utilitybar-height:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--page);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5}h1,h2{margin:0;line-height:1.25}h1{font-size:1.35rem;font-weight:650}h2{font-size:.95rem;font-weight:650}a{color:var(--blue-dark)}.muted{color:var(--text-faint);font-size:.85rem;font-weight:400}.mono{color:var(--text-soft);font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Consolas,monospace;font-size:.86em}.nowrap{white-space:nowrap}.shell{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex:none;height:100%;transition:width .18s;display:flex;position:relative}.sidebar.is-collapsed{width:76px}.sidebar__collapseToggle{z-index:10;border:1px solid var(--border-strong);background:var(--surface);width:24px;height:24px;color:var(--text-soft);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:22px;right:-12px;box-shadow:0 2px 6px #102a431f}.sidebar__collapseToggle:hover{color:var(--text);background:#f4f6f8}.sidebar__collapseToggle:focus-visible{outline:none;box-shadow:0 0 0 3px #2d9cdb40}.sidebar__collapseIcon{width:14px;height:14px;transition:transform .18s;transform:rotate(90deg)}.sidebar.is-collapsed .sidebar__collapseIcon{transform:rotate(-90deg)}.sidebar__brand{align-items:center;gap:10px;padding:18px 0 22px;display:flex}.sidebar.is-collapsed .sidebar__brand{justify-content:center;padding:18px 0 22px}.sidebar.is-collapsed .sidebar__logo{width:32px}.sidebar__mark{border-radius:var(--radius);background:var(--navy);color:#fff;letter-spacing:.4px;flex:none;place-items:center;width:30px;height:30px;font-size:.72rem;font-weight:700;display:grid}.sidebar__brandText{font-size:1.25rem;font-weight:650}.sidebar__nav{flex:1;padding:0 10px;overflow-y:auto}.sidebar__group+.sidebar__group{margin-top:18px}.sidebar__groupLabel{color:var(--text-faint);margin:0 0 4px;padding:0 10px;font-size:.76rem;font-weight:600}.sidebar__link{border-radius:var(--radius);color:var(--text-soft);align-items:center;gap:11px;margin-bottom:1px;padding:9px 10px;font-size:.92rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex;position:relative}.sidebar__link:hover{color:var(--text);background:#f2f4f7}.sidebar__link.is-active{background:var(--blue-soft);color:var(--blue-dark);font-weight:600}.sidebar__link.is-active:before{content:"";background:var(--blue);border-radius:0 3px 3px 0;width:3px;position:absolute;top:6px;bottom:6px;left:-10px}.sidebar__icon{flex:none;width:18px;height:18px}.sidebar.is-collapsed .sidebar__brandText,.sidebar.is-collapsed .sidebar__groupLabel,.sidebar.is-collapsed .sidebar__linkLabel,.sidebar.is-collapsed .sidebar__userText,.sidebar.is-collapsed .sidebar__userChevron{display:none}.sidebar.is-collapsed .sidebar__link{justify-content:center;gap:0;padding:9px 0}.sidebar.is-collapsed .sidebar__user{justify-content:center;gap:0;padding:10px 0}.sidebar__account{margin:10px;position:relative}.sidebar__user{border-radius:var(--radius);width:100%;color:var(--text);text-align:left;cursor:pointer;background:#f4f6f8;border:none;align-items:center;gap:10px;padding:10px;font-family:inherit;transition:background .12s,color .12s;display:flex}.sidebar__user:hover{background:#eceff3}.sidebar__user.is-open{background:var(--blue-soft);color:var(--blue-dark)}.sidebar__userChevron{width:16px;height:16px;color:var(--text-faint);flex:none;margin-left:auto;transition:transform .15s}.sidebar__user.is-open .sidebar__userChevron{color:inherit;transform:rotate(180deg)}.sidebar__avatar{background:var(--blue);color:#fff;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;font-weight:650;display:grid}.sidebar__userText{flex-direction:column;min-width:0;line-height:1.3;display:flex}.sidebar__userText strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.sidebar__userText span{color:var(--text-faint);font-size:.8rem}.sidebar__menu{z-index:1200;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0;box-shadow:0 10px 24px #102a4324}.sidebar.is-collapsed .sidebar__menu{min-width:210px;bottom:0;left:calc(100% + 8px);right:auto}.sidebar__menuItem{border-radius:var(--radius);color:var(--text-soft);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:11px;padding:9px 10px;font-family:inherit;font-size:.92rem;font-weight:500;transition:background .12s,color .12s;display:flex}.sidebar__menuItem:hover{color:var(--text);background:#f2f4f7}.main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.utilitybar{height:var(--utilitybar-height);background:var(--page);flex:none;justify-content:flex-end;align-items:center;gap:20px;padding:0 28px;display:flex}.utilitybar__icon{width:16px;height:16px}.utilitybar__logo{display:none}.navtoggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:38px;height:38px;color:var(--text-soft);cursor:pointer;place-items:center;padding:0;display:none}.navtoggle:hover{color:var(--text)}.navtoggle:focus-visible{outline:none;box-shadow:0 0 0 3px #2d9cdb40}.navtoggle svg{width:20px;height:20px}.dbstate{color:var(--text-soft);align-items:center;gap:7px;font-size:.86rem;display:inline-flex}.dbstate.is-ok{color:var(--green)}.dbstate.is-warn{color:var(--amber)}.page{flex-direction:column;flex:1;width:100%;min-height:0;padding:4px 28px 40px;display:flex;overflow-y:auto}.page>*{flex-shrink:0}.pagehead{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.pagehead--centre-action{grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.pagehead--centre-action .pagehead__action{display:contents}.pagehead--centre-action .pagehead__end{justify-self:end}.pagehead__end{align-items:center;gap:8px;display:flex}@media (width<=880px){.pagehead--centre-action{display:flex}.pagehead--centre-action .pagehead__action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}}.pagehead__title{align-items:flex-start;gap:10px;display:flex}.pagehead__icon{width:22px;height:22px;color:var(--text);margin-top:2px}.pagehead__subtitle{color:var(--text-faint);margin:2px 0 0;font-size:.88rem}.tabs{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;display:flex}.tabs__list{gap:4px;margin-bottom:-1px;display:flex;overflow:auto hidden}.tabs__tab{font:inherit;cursor:pointer;color:var(--text-soft);white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:9px 12px;font-size:.9rem}.tabs__tab:hover{color:var(--text)}.tabs__tab.is-active{color:var(--blue-dark);border-bottom-color:var(--blue);font-weight:600}.tabs__count{background:#eef1f5;border-radius:999px;margin-left:6px;padding:1px 7px;font-size:.78rem}.tabs__tools{align-items:center;gap:8px;display:flex}.tabs__select{align-items:center;margin-bottom:6px;display:flex}.tabs__select select{width:auto;color:var(--text-soft);padding:5px 9px;font-size:.85rem}.tabs__select.is-set select{border-color:var(--blue);color:var(--text);font-weight:600}.tabs__date{align-items:center;margin-bottom:6px;display:flex;position:relative}.tabs__date input{width:auto;color:var(--text-soft);padding:5px 9px;font-size:.85rem}.tabs__date.is-set input{border-color:var(--blue);color:var(--text);font-weight:600}.tabs__date input::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55;margin-left:4px}.tabs__date input::-webkit-calendar-picker-indicator:hover{opacity:1}.tabs__dateClear{width:20px;height:20px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:999px;place-items:center;margin-left:2px;padding:0;display:grid}.tabs__dateClear:hover{color:var(--text);background:#f2f4f7}.tabs__dateClear svg{width:13px;height:13px}.tabs__search form{align-items:center;display:flex;position:relative}.tabs__searchIcon{width:16px;height:16px;color:var(--text-faint);pointer-events:none;position:absolute;left:9px}.tabs__search input{min-width:250px;margin-bottom:6px;padding-left:31px}.tabs__searchToggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:32px;height:32px;color:var(--text-soft);cursor:pointer;place-items:center;margin-bottom:6px;display:grid}.tabs__searchToggle:hover{color:var(--text);background:#f2f4f7}.tabs__searchToggle svg{width:16px;height:16px}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.panel+.panel{margin-top:18px}.panel__header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;display:flex}.panel__link{font-size:.88rem;font-weight:600;text-decoration:none}.panel__link:hover{text-decoration:underline}.panel__footer{border-top:1px solid var(--border);color:var(--text-faint);padding:12px 18px;font-size:.84rem}.panel--form{border-color:var(--border-strong)}.filterbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-bottom:18px;display:flex}.dropfilter{display:flex;position:relative}.dropfilter__trigger{gap:8px}.dropfilter__value{font-variant-numeric:tabular-nums;color:var(--text-faint);font-weight:600}.dropfilter__chevron{transition:transform .14s}.dropfilter__chevron.is-open{transform:rotate(180deg)}.dropfilter__menu{z-index:20;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:240px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 26px #102a431f}.dropfilter__option{border-radius:var(--radius);color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:9px 10px;font-size:.88rem;display:flex}.dropfilter__option:hover{background:#f4f6f8}.dropfilter__option input{width:15px;height:15px;accent-color:var(--blue);cursor:pointer;flex:none;margin:0}.dropfilter__nodot{flex:none;width:10px}.dropfilter__foot{border-top:1px solid var(--border);justify-content:flex-end;margin-top:6px;padding:12px 10px 4px;display:flex}.dropfilter__menu--narrow{min-width:168px}.dropfilter__note{color:var(--text-faint);padding:8px 10px 2px;font-size:.78rem;line-height:1.35}.stat-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-bottom:18px;display:grid}.stat{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);grid-template-columns:auto minmax(0,1fr);align-items:center;gap:2px 10px;padding:16px 18px;display:grid}.stat__icon{border-radius:var(--radius);background:var(--blue-soft);width:34px;height:34px;color:var(--blue-dark);grid-area:1/1;place-items:center;display:grid}.stat__icon svg{width:18px;height:18px}.stat__label{color:var(--text-soft);grid-area:1/2;font-size:.85rem;font-weight:500}.stat__value{color:var(--navy);grid-column:1/-1;margin-top:8px;font-size:1.85rem;font-weight:650;line-height:1.2}.stat__hint{color:var(--text-faint);grid-column:1/-1;font-size:.82rem}.chart-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}@media (width<=1000px){.chart-grid{grid-template-columns:minmax(0,1fr)}}.chart-grid .panel+.panel{margin-top:0}.chart{margin:0;padding:14px 18px 6px}.chart__legend{color:var(--text-soft);flex-wrap:wrap;gap:16px;margin-bottom:6px;font-size:.84rem;display:flex}.chart__legendItem{align-items:center;gap:7px;display:inline-flex}.chart__swatch{border-radius:50%;flex:none;width:10px;height:10px}.chart__plot{position:relative}.chart__plot svg{width:100%;height:auto;display:block;overflow:visible}.chart__grid{stroke:var(--border);stroke-width:1px}.chart__crosshair{stroke:var(--border-strong);stroke-width:1px}.chart__tick{fill:var(--text-faint);font-variant-numeric:tabular-nums;font-size:11px}.chart__tooltip{z-index:5;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text-soft);white-space:nowrap;pointer-events:none;flex-direction:column;gap:3px;padding:8px 10px;font-size:.82rem;display:flex;position:absolute;top:0;box-shadow:0 6px 18px #102a431f}.chart__tooltip strong{color:var(--text);font-size:.84rem}.chart__tooltipRow{align-items:center;gap:7px;display:flex}.chart__tooltipRow b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto;padding-left:12px}.planbars{flex-direction:column;gap:14px;margin:0;padding:16px 18px;list-style:none;display:flex}.planbars__row{grid-template-columns:minmax(64px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.planbars__name{color:var(--text);font-size:.88rem;font-weight:500}.planbars__track{background:var(--blue-soft);border-radius:0 4px 4px 0;height:12px}.planbars__fill{background:var(--blue-dark);border-radius:0 4px 4px 0;min-width:3px;height:100%;display:block}.planbars__value{color:var(--text);font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-weight:650;display:flex}.planbars__share{color:var(--text-faint);font-size:.8rem;font-weight:500}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;vertical-align:middle;padding:13px 18px}th{color:var(--text-soft);border-bottom:1px solid var(--border);white-space:nowrap;background:#fafbfc;font-size:.82rem;font-weight:600}td{border-bottom:1px solid #f0f2f4}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fafbfc}tr.is-inactive td{opacity:.55}.row--clickable{cursor:pointer}.row--clickable.is-selected td{background:var(--blue-soft)}.row--clickable.is-open td{background:#fafbfc;border-bottom-color:#0000}.row--clickable.is-selected:hover td{background:var(--blue-soft)}.col-expand{text-align:right;width:1%;padding-left:0}.row__expand{width:26px;height:26px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.row__expand:hover{color:var(--text);background:#102a4312}.row__expand:focus-visible{outline:none;box-shadow:0 0 0 3px #2d9cdb2e}.row__chevron{width:16px;height:16px;transition:transform .14s;transform:rotate(-90deg)}.row__chevron.is-open{transform:rotate(0)}.row-detail td{background:#fafbfc}.ordercard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);margin:2px 0 6px;overflow:hidden}.ordercard__head{border-bottom:1px solid var(--border);background:#fcfdfe;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;padding:12px 16px;display:flex}.ordercard__head h3{margin:0;font-size:.95rem;font-weight:650}.ordercard__grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0;padding:16px;display:grid}.ordercard__grid dt{color:var(--text-faint);margin-bottom:3px;font-size:.85rem}.ordercard__grid dd{margin:0;font-weight:500}.ordercard__sub{color:var(--text-faint);font-size:.85rem;font-weight:400;display:block}.ordercard__steps{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px 22px;margin:0;padding:14px 16px;list-style:none;display:flex}.ordercard__step{color:var(--text-faint);grid-template-columns:auto 1fr;align-items:center;gap:2px 8px;display:grid}.ordercard__stepDot{border:1.5px solid var(--border-strong);background:var(--surface);border-radius:50%;width:9px;height:9px}.ordercard__step.is-done .ordercard__stepDot{border-color:var(--green);background:var(--green)}.ordercard__stepLabel{color:var(--text-faint);font-size:.85rem;font-weight:600}.ordercard__step.is-done .ordercard__stepLabel{color:var(--text)}.ordercard__stepTime{color:var(--text-faint);grid-column:2;font-size:.78rem}.ordercard__note{margin:0 16px 16px}.row-detail__label{color:var(--text-faint);margin-bottom:3px;font-size:.85rem;display:block}.row-detail__value{font-weight:500}.weekdays{gap:3px;display:inline-flex}.weekday{border:1px solid var(--border);width:26px;height:24px;color:var(--text-faint);background:#fafbfc;border-radius:6px;justify-content:center;align-items:center;font-size:.74rem;font-weight:600;display:inline-flex}.weekday.is-on{background:var(--blue);border-color:var(--blue);color:#fff}.cell-sub{color:var(--text-faint);font-size:.82rem;display:block}.cell-sub--warn{color:var(--amber);font-weight:600}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.pager{border-top:1px solid var(--border);flex-direction:column;align-items:center;gap:7px;padding:12px 18px;display:flex}.pager__buttons{gap:8px;display:flex}.pager__count{opacity:.75;font-size:.8rem}.pager__arrow{justify-content:center;width:32px;padding:6px}.pager__chevron{width:16px;height:16px}.pager__chevron--back{transform:rotate(90deg)}.pager__chevron--next{transform:rotate(-90deg)}.pill{white-space:nowrap;border:1px solid;border-radius:999px;padding:3px 12px;font-size:.8rem;font-weight:600;display:inline-block}.pill--amber{background:var(--amber-soft);color:var(--amber);border-color:#f0d4a0}.pill--green{background:var(--green-soft);color:var(--green);border-color:#b3e0c4}.pill--blue{background:var(--blue-soft);color:var(--blue-dark);border-color:#bfe1f5}.pill--grey{color:var(--text-soft);background:#f1f3f5;border-color:#e0e3e7}.form-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;padding:18px;display:grid}.form-grid--single{grid-template-columns:1fr;max-width:360px}.form-grid__actions{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.field{flex-direction:column;gap:5px;min-width:0;display:flex}.field__label{color:var(--text-soft);font-size:.85rem;font-weight:600}.field__hint{color:var(--text-faint);font-size:.8rem}input,select,textarea{font:inherit;color:inherit;border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:100%;padding:9px 11px;transition:border-color .12s,box-shadow .12s}textarea{resize:vertical;min-height:72px}input:focus,select:focus,textarea:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #2d9cdb2e}.select--inline{appearance:none;width:auto;padding:4px 8px;font-size:.85rem;font-weight:600}.select--inline:disabled{opacity:.6;cursor:progress}.select--tone{border:1px solid;border-radius:999px;padding:3px 12px;font-size:.8rem}.select--tone.is-open{background:var(--amber-soft);color:var(--amber);border-color:#f0d4a0}.select--tone.is-done{background:var(--green-soft);color:var(--green);border-color:#b3e0c4}.select--tone option{background:var(--surface);color:var(--text)}.detail-list{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:0;padding:18px;display:grid}.detail-list dt{color:var(--text-faint);margin-bottom:3px;font-size:.85rem}.detail-list dd{margin:0;font-weight:500}.button{font:inherit;cursor:pointer;border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--surface);color:var(--text);white-space:nowrap;align-items:center;gap:7px;padding:9px 15px;font-size:.88rem;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.button:hover:not(:disabled){background:#f4f6f8}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{background:var(--blue);border-color:var(--blue);color:#fff}.button--primary:hover:not(:disabled){background:var(--blue-dark);border-color:var(--blue-dark)}.button--small{padding:6px 11px;font-size:.84rem}.button--icon{flex:none;justify-content:center;width:34px;padding:6px}.button--danger{background:var(--red);border-color:var(--red);color:#fff}.button--danger:hover:not(:disabled){background:#a92626;border-color:#a92626}.button__icon{width:16px;height:16px}.chat{flex:1;grid-template-columns:minmax(250px,320px) 1fr;align-items:stretch;gap:18px;min-height:0;display:grid}.chat__list{flex-direction:column;min-height:0;padding:0;display:flex}.chat__listHead{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.chat__listTitle{align-items:center;gap:8px;font-size:.92rem;font-weight:600;display:inline-flex}.chat__listIcon{width:17px;height:17px;color:var(--text-faint)}.chat__threads{overscroll-behavior:contain;flex:1;min-height:0;padding:6px;overflow-y:auto}.chat__thread{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;border-radius:var(--radius);background:0 0;border:1px solid #0000;align-items:center;gap:10px;padding:9px 10px;transition:background .12s,border-color .12s;display:flex}.chat__thread+.chat__thread{margin-top:2px}.chat__thread:hover{background:#f4f6f8}.chat__thread.is-active{background:var(--blue-soft);border-color:#bfe1f5}.chat__threadAvatar{background:var(--blue);color:#fff;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-weight:650;display:grid}.chat__threadBody{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.chat__threadTop{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.chat__threadTop strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.chat__threadPreview{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.chat__threadTime{color:var(--text-faint);flex:none;font-size:.76rem}.chat__threadDot{background:var(--amber);border-radius:50%;flex:none;width:8px;height:8px}.chat__conversation{flex-direction:column;min-height:0;display:flex;overflow:hidden}.chat__head{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:12px;padding:12px 18px;display:flex}.chat__headAvatar{background:var(--navy);color:#fff;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:1rem;font-weight:650;display:grid}.chat__headText{flex:1;min-width:0}.chat__headText h2{margin:0;font-size:1rem}.chat__headMeta{color:var(--text-faint);flex-wrap:wrap;gap:4px 14px;margin:2px 0 0;font-size:.82rem;display:flex}.chat__headMeta>span{align-items:center;gap:5px;display:inline-flex}.chat__metaIcon{width:14px;height:14px}.chat__messages{overscroll-behavior:contain;background:var(--page);flex-direction:column;flex:1;gap:10px;min-height:0;padding:18px;display:flex;overflow-y:auto}.chat__daymark{color:var(--text-faint);align-items:center;gap:12px;margin:6px 0;font-size:.78rem;display:flex}.chat__daymark:before,.chat__daymark:after{content:"";background:var(--border);flex:1;height:1px}.bubble{border-radius:var(--radius-lg);border:1px solid var(--border);min-width:0;max-width:72%;padding:8px 12px}.bubble--customer{background:var(--surface);border-bottom-left-radius:4px;align-self:flex-start}.bubble--support{background:var(--blue-soft);border-color:#bfe1f5;border-bottom-right-radius:4px;align-self:flex-end}.bubble__meta{color:var(--text-faint);justify-content:space-between;align-items:center;gap:16px;margin:0 0 3px;font-size:.76rem;display:flex}.bubble__author{font-weight:600}.bubble__time{font-variant-numeric:tabular-nums;flex:none;align-items:center;gap:4px;display:inline-flex}.bubble__sent{width:13px;height:13px;color:var(--blue-dark)}.bubble__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.chat__composer{border-top:1px solid var(--border);background:var(--surface);flex:none;align-items:flex-end;gap:10px;padding:12px 18px;display:flex}.chat__composerField{flex:1;min-width:0}.chat__composer textarea{resize:none;min-height:62px}.chat__composerHint{color:var(--text-faint);justify-content:space-between;gap:12px;margin:5px 2px 0;font-size:.76rem;display:flex}.chat__counter{font-variant-numeric:tabular-nums}kbd{border:1px solid var(--border-strong);background:var(--page);color:var(--text-soft);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-family:inherit;font-size:.72rem}.chat__send{align-self:stretch;margin-bottom:22px}.scanfab{z-index:1500;background:var(--blue);color:#fff;cursor:pointer;border:none;border-radius:50%;place-items:center;width:56px;height:56px;transition:background .12s,transform .12s;display:grid;position:fixed;bottom:28px;right:28px;box-shadow:0 8px 22px #2d9cdb66}.scanfab:hover{background:var(--blue-dark);transform:translateY(-1px)}.scanfab__icon{width:26px;height:26px}.scan{z-index:2000;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.scan__backdrop{background:#102a438c;position:absolute;inset:0}.scan__panel{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;width:min(1100px,100%);max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #102a434d}.scan__head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:13px 16px;display:flex}.scan__headTitle{align-items:center;gap:9px;font-size:1.25rem;font-weight:650;display:inline-flex}.scan__headIcon{width:19px;height:19px;color:var(--blue-dark)}.scan__close{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:32px;height:32px;color:var(--text-soft);cursor:pointer;place-items:center;display:grid}.scan__close:hover{color:var(--text);background:#f2f4f7}.scan__close svg{width:16px;height:16px}.scan__back{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:30px;height:30px;color:var(--text-soft);cursor:pointer;place-items:center;display:grid}.scan__back:hover{color:var(--text);background:#f2f4f7}.scan__back svg{width:16px;height:16px;transform:rotate(90deg)}.scan__menu{flex-direction:column;gap:6px;padding:14px 16px 18px;display:flex}.scan__menuHint{color:var(--text-faint);margin:0 0 4px;font-size:.84rem}.scan__mode{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:13px;padding:12px 13px;transition:background .12s,border-color .12s;display:flex}.scan__mode:hover{border-color:var(--border-strong);background:#f4f6f8}.scan__modeIcon{border-radius:var(--radius);background:var(--blue-soft);width:38px;height:38px;color:var(--blue-dark);flex:none;place-items:center;display:grid}.scan__modeIcon svg{width:19px;height:19px}.scan__modeIcon--collected{background:var(--amber-soft);color:var(--amber)}.scan__modeIcon--washed{color:var(--navy);background:#eef1f5}.scan__modeIcon--delivered{background:var(--green-soft);color:var(--green)}.scan__modeText{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.scan__modeText strong{font-size:.94rem}.scan__modeText span{color:var(--text-faint);font-size:.81rem}.scan__modeArrow{width:16px;height:16px;color:var(--text-faint);flex:none;transform:rotate(-90deg)}.scan__body{grid-template-columns:minmax(0,1.35fr) minmax(260px,1fr);gap:16px;min-height:0;padding:16px;display:grid;overflow-y:auto}.scan__confirm{border-radius:var(--radius);background:var(--amber-soft);border:1px solid #f0d9a8;padding:12px 13px}.scan__confirmTitle{color:var(--text);margin:0 0 6px;font-size:.88rem;font-weight:650}.scan__confirmBody{color:var(--text-soft);margin:0 0 11px;font-size:.82rem;line-height:1.5}.scan__confirmRow{gap:8px;display:flex}.scan__confirmRow .button{flex:1;justify-content:center}.scan__modeIcon--release{background:var(--red-soft);color:var(--red)}.scan__manual{flex-direction:column;gap:5px;display:flex}.scan__manualRow{gap:8px;display:flex}.scan__manualRow input{font-variant-numeric:tabular-nums;flex:1;min-width:0;padding:7px 10px}.scan__manualRow .button{flex:none}.scan__viewport{aspect-ratio:4/3;border-radius:var(--radius);background:#0d1620;place-items:center;display:grid;position:relative;overflow:hidden}.scan__video{object-fit:cover;width:100%;height:100%}.scan__canvas{display:none}.scan__reticle{aspect-ratio:1;border:2px solid #ffffffd9;border-radius:14px;width:58%;position:absolute;box-shadow:0 0 0 100vmax #00000038}.scan__starting,.scan__cameraError{text-align:center;color:#e8eef4;margin:0;padding:0 24px;font-size:.88rem;position:absolute}.scan__cameraError{flex-direction:column;align-items:center;gap:10px;line-height:1.55;display:flex}.scan__cameraErrorIcon{opacity:.8;width:26px;height:26px}.scan__side{flex-direction:column;gap:12px;min-width:0;display:flex}.scan__cameraLabel{color:var(--text-soft);align-items:center;gap:6px;font-size:.82rem;font-weight:600;display:inline-flex}.scan__metaIcon{flex:none;width:14px;height:14px}.scan__progress{border:1px solid var(--border);border-radius:var(--radius);background:var(--page);padding:12px 14px}.scan__progress.is-done{background:var(--green-soft);border-color:#b3e0c4}.scan__progressTop{color:var(--text-soft);justify-content:space-between;align-items:baseline;gap:10px;margin:0 0 7px;font-size:.84rem;display:flex}.scan__progressTop strong{color:var(--navy);font-size:1.15rem}.scan__bar{background:#dfe4ea;border-radius:999px;height:7px;display:block;overflow:hidden}.scan__barFill{background:var(--blue);border-radius:999px;height:100%;transition:width .22s;display:block}.scan__progress.is-done .scan__barFill{background:var(--green)}.scan__progressHint{color:var(--text-faint);margin:7px 0 0;font-size:.8rem}.scan__progress.is-done .scan__progressHint{color:var(--green);font-weight:600}.scan__cutoff{border-top:1px solid var(--border);color:var(--text-faint);margin:6px 0 0;padding-top:6px;font-size:.76rem}.scan__types{color:var(--text-soft);flex-direction:column;gap:7px;margin:0;padding:0;font-size:.85rem;list-style:none;display:flex}.scan__types li{align-items:center;gap:8px;display:flex}.scan__types b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:auto}.scan__dot{border-radius:50%;flex:none;width:10px;height:10px}.scan__dot--green{background:var(--green)}.scan__dot--blue{background:var(--blue)}.scan__message{border-radius:var(--radius);border:1px solid;align-items:center;gap:7px;margin:0;padding:9px 12px;font-size:.85rem;display:flex}.scan__message--ok{background:var(--green-soft);color:var(--green);border-color:#b3e0c4}.scan__message--error{background:var(--red-soft);color:var(--red);border-color:#f5c2c2}.scan__note{border-radius:var(--radius);background:var(--amber-soft);border:1px solid #f0d4a0;border-left-width:3px;padding:10px 12px}.scan__noteHead{color:var(--amber);align-items:center;gap:6px;margin:0;font-size:.78rem;font-weight:600;display:flex}.scan__noteText{color:var(--text);white-space:pre-wrap;margin:5px 0 0;font-size:.9rem;line-height:1.45}.scan__noteAddress{color:var(--text-soft);margin:5px 0 0;font-size:.82rem}.scan__noteLate{color:var(--red);margin:5px 0 0;font-size:.8rem;font-weight:600}.scan__feed{overscroll-behavior:contain;flex-direction:column;flex:1;gap:4px;min-height:0;display:flex;overflow-y:auto}.scan__feedEmpty{color:var(--text-faint);align-items:center;gap:7px;margin:0;font-size:.84rem;display:flex}.scan__feedRow{border-radius:var(--radius);background:var(--page);align-items:center;gap:8px;margin:0;padding:6px 8px;font-size:.83rem;display:flex}.scan__feedOrder{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scan__feedNumber{color:var(--text-faint)}.scan__feedStep{color:var(--text-soft);background:#eef1f5;border-radius:999px;flex:none;padding:1px 7px;font-size:.76rem;font-weight:600}@media (width<=800px){.scan__body{grid-template-columns:1fr}}.bagtag{align-items:center;gap:7px;display:inline-flex}.baglist{flex-wrap:wrap;gap:4px 10px;display:inline-flex}.bagform{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:start;gap:16px;padding:18px;display:grid}.bagform .field--wide{grid-column:1/-1}.bagform__actions{grid-column:1/-1;gap:8px;display:flex}.bagfilter{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 18px;display:flex}.bagfilter__count{margin-left:auto;font-size:.84rem}.bagsheld{border-bottom:1px solid var(--border);background:var(--page);padding:14px 18px}.bagsheld__title{align-items:center;gap:8px;margin:0 0 10px;font-size:.88rem;font-weight:650;display:flex}.bagsheld__icon{width:16px;height:16px;color:var(--text-faint)}.bagsheld__list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bagsheld__item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:8px;padding:7px 11px;font-size:.85rem;display:flex}.bagsheld__number{font-weight:700}.bagsheld__meta{color:var(--text-faint);font-size:.8rem}.bagsheld__empty{color:var(--text-faint);margin:0;font-size:.85rem}.bagtag__dot{border-radius:50%;flex:none;width:9px;height:9px}.bagtag__dot--green{background:var(--green)}.bagtag__dot--blue{background:var(--blue)}.route{flex:1;grid-template-rows:minmax(0,1fr) auto;grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:stretch;gap:18px;min-height:0;display:grid}.route .panel+.panel{margin-top:0}.route__note{grid-column:1/-1;margin:0}.route__list{flex-direction:column;min-height:0;display:flex}.route__list .panel__header{flex:none}.route__map{isolation:isolate;min-height:420px;overflow:hidden}.routemap{width:100%;height:100%;min-height:420px}.routemap .leaflet-container{font:inherit}.daynav{flex-wrap:wrap;align-items:center;gap:0;display:flex}.daynav__arrow{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);width:32px;height:32px;color:var(--text-soft);cursor:pointer;flex:none;place-items:center;transition:background .12s,color .12s;display:grid}.daynav__arrow:hover{color:var(--text);background:#f2f4f7}.daynav__arrow svg{width:16px;height:16px;transform:rotate(90deg)}.daynav__arrow--next svg{transform:rotate(-90deg)}.daynav__label{min-width:196px;color:var(--text);justify-content:center;align-items:baseline;gap:7px;font-size:.92rem;font-weight:600;line-height:1.2;display:flex}.daynav__label strong{font-weight:inherit}.daynav__date{font-variant-numeric:tabular-nums}.tour{border-top:1px solid var(--border);background:var(--page);flex-direction:column;flex:none;gap:8px;padding:12px 14px;display:flex}.tour__start{justify-content:center}.tour__blocked{color:var(--amber);margin:0;font-size:.79rem}.tour__note{color:var(--text-faint);margin:0;font-size:.79rem}.tour__note--warn{color:var(--amber)}.tour__note--live{color:var(--green);align-items:center;gap:7px;font-weight:600;display:flex}.tour__stats{color:var(--green);align-items:center;gap:7px;margin:0;font-size:.85rem;font-weight:600;display:flex}.tour__icon{flex:none;width:15px;height:15px}.tour__pulse{background:var(--green);border-radius:50%;flex:none;width:9px;height:9px;animation:1.8s ease-in-out infinite tourPulse}@keyframes tourPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}@media (prefers-reduced-motion:reduce){.tour__pulse{animation:none}}.drivermark{background:var(--blue);border:3px solid #fff;border-radius:50%;width:18px;height:18px;display:block;box-shadow:0 0 0 1px #102a4340,0 2px 6px #102a4359}.startmark{background:var(--navy);color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:24px;height:24px;font-size:.7rem;line-height:1;display:grid;box-shadow:0 2px 6px #102a4359}.tour__export,.tour__actions{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:8px;display:flex}.tour__export a.button{text-decoration:none}.stops{overscroll-behavior:contain;counter-reset:stop;flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:8px;list-style:none;display:flex;overflow-y:auto}.stop{border-radius:var(--radius);cursor:pointer;border:1px solid #0000;align-items:flex-start;gap:11px;padding:10px;transition:background .12s,border-color .12s;display:flex}.stop:hover{background:#f4f6f8}.stop.is-active{background:var(--blue-soft);border-color:#bfe1f5}.stop.is-next{background:var(--green-soft);border-color:#b3e0c4}.stop.is-next .stop__index{box-shadow:0 0 0 3px #1f9d5540}.stop__index{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-size:.8rem;font-weight:700;display:grid}.stop__expand{display:none}.stop__index--pickup{background:var(--blue)}.stop__index--delivery{background:#7c5cd6}.stop__kindRow{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:2px;display:flex}.stop__kind{text-transform:uppercase;letter-spacing:.02em;border-radius:999px;padding:1px 7px;font-size:.72rem;font-weight:600}.stop__kind--pickup{background:var(--blue-soft);color:var(--blue-dark)}.stop__kind--delivery{color:#5b3fb0;background:#efeafb}.stop--delivery{background:#fbfaff}.stop.is-done{opacity:.72;background:#fafbfc}.stop.is-done .stop__index{border:1.5px solid var(--border-strong);color:var(--text-faint);background:0 0}.stop.is-done .stop__address,.stop.is-done .stop__top strong{color:var(--text-faint)}.carryover{border-bottom:1px solid var(--border);background:var(--amber-soft);color:var(--text);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:11px 18px;font-size:.85rem;display:flex}.carryover.is-open{color:var(--text-soft);background:#fbfcfd}.stop.is-overdue{box-shadow:inset 3px 0 0 var(--amber);background:#fffdf7}.stop__overdue{color:var(--amber);text-transform:uppercase;letter-spacing:.02em;font-size:.72rem;font-weight:700}.stop__done{color:var(--green);white-space:nowrap;align-items:center;gap:4px;margin-left:auto;font-size:.74rem;font-weight:600;display:inline-flex}.stop__doneIcon{width:13px;height:13px}.stop__contact{color:var(--text-soft);font-weight:400}.notebox{border-left:2px solid var(--amber);border-radius:0 var(--radius) var(--radius) 0;background:var(--amber-soft);color:var(--text);white-space:pre-wrap;align-items:flex-start;gap:6px;padding:7px 10px;font-size:.84rem;line-height:1.45;display:flex}.notebox__icon{width:13px;height:13px;color:var(--amber);flex:none;margin-top:3px}.notebox__label{color:var(--amber);font-size:.76rem;display:block}.notebox__late{letter-spacing:.02em;text-transform:uppercase;color:var(--red);font-size:.72rem;font-weight:600;display:block}.stop__note{margin-top:4px;font-size:.82rem}.notebox--quiet{color:var(--text-faint);background:0 0;border:none;padding:0;font-size:.8rem}.stop.is-done .notebox{opacity:1}.stop__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.stop__top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.stop__top strong{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.stop__number{color:var(--text-faint);flex:none;font-size:.78rem}.stop__address{color:var(--text-soft);font-size:.85rem}.stop__meta{color:var(--text-faint);flex-wrap:wrap;gap:4px 12px;margin-top:2px;font-size:.78rem;display:flex}.stop__bag{color:var(--green);align-items:center;gap:5px;display:inline-flex}.stop__bag--ok{font-weight:600}.stop__bag--missing{color:var(--amber);font-weight:600}.ordertype{white-space:nowrap;align-items:center;gap:5px;font-size:.76rem;font-weight:600;display:inline-flex}.ordertype__dot{border-radius:50%;flex:none;width:7px;height:7px}.ordertype--plan{color:var(--blue-dark)}.ordertype--plan .ordertype__dot{background:var(--blue)}.ordertype--single{color:var(--text-faint)}.ordertype--single .ordertype__dot{background:var(--green)}td>.ordertype{margin-top:2px;display:flex}.stop__bagIcon{width:13px;height:13px}.stop__nopin{color:var(--red)}.stop__nav{color:var(--blue-dark);font-weight:600;text-decoration:none}.stop__nav:hover{text-decoration:underline}.stop__approx{color:var(--amber);cursor:help}.stop__pick{background:var(--blue-soft);font:inherit;color:var(--blue-dark);cursor:pointer;border:1px solid #bfe1f5;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:.78rem;font-weight:600;display:inline-flex}.stop__pick:hover{background:#d8ecf9}.picker{z-index:2100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.picker__backdrop{background:#102a438c;position:absolute;inset:0}.picker__panel{border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;width:min(460px,100%);max-height:100%;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #102a434d}.picker__head{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.picker__head h2{margin:0;font-size:1rem}.picker__body{flex-direction:column;gap:12px;min-height:0;padding:14px 16px 18px;display:flex;overflow-y:auto}.picker__hint{color:var(--text-soft);margin:0;font-size:.85rem}.picker__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.picker__bag{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:11px 12px;transition:background .12s,border-color .12s;display:flex}.picker__bag:hover:not(:disabled){background:var(--blue-soft);border-color:#bfe1f5}.picker__bag:disabled{opacity:.55;cursor:progress}.picker__bagNumber{font-size:1rem;font-weight:700}.picker__bagMeta{min-width:0;color:var(--text-faint);flex:1;font-size:.8rem}.picker__manual{border-top:1px solid var(--border);flex-direction:column;gap:5px;padding-top:12px;display:flex}.confirm{width:min(420px,100%)}.confirm__body{flex-direction:column;gap:10px;padding:16px;display:flex}.confirm__lead{color:var(--text-soft);margin:0;font-size:.85rem}.confirm__change{color:var(--text-faint);align-items:center;gap:10px;margin:0;font-size:.9rem;display:flex}.confirm__text{color:var(--text);margin:0;font-size:.86rem;line-height:1.5}.confirm__text--muted{color:var(--text-faint);font-size:.8rem}.confirm__warn{border-radius:var(--radius);background:var(--amber-soft);color:var(--amber);border:1px solid #f0d9a8;margin:0;padding:8px 11px;font-size:.84rem;font-weight:600}.confirm__actions{gap:8px;margin-top:4px;display:flex}.confirm__actions .button{flex:1;justify-content:center}.routepin{color:#fff;border:2px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.78rem;font-weight:700;display:grid;box-shadow:0 2px 6px #102a4359}.routepin--pickup{background:#2d9cdb}.routepin--delivery{background:#7c5cd6}.routepin--done{background:#b6bfc9}.routepin--approx{opacity:.85;border-style:dashed;border-color:#fdf3e0}@media (width<=1000px){.route{flex:none;grid-template-columns:1fr}.stops{max-height:420px}}.alert{border-radius:var(--radius);border:1px solid;margin:0 0 18px;padding:11px 15px;font-size:.89rem}.alert--error{background:var(--red-soft);color:var(--red);border-color:#f5c6c6}.alert--success{background:var(--green-soft);color:var(--green);border-color:#b3e0c4}.empty{text-align:center;color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:10px;margin:0;padding:40px 18px;display:flex}.empty__icon{opacity:.7;width:26px;height:26px}.spinner{color:var(--text-faint);justify-content:center;align-items:center;gap:10px;padding:40px 0;display:flex}.spinner__ring{border:2px solid var(--border-strong);border-top-color:var(--blue);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner__ring{animation-duration:2s}}.centered-page{background:linear-gradient(135deg, var(--blue) 0%, var(--blue-dark) 45%, var(--navy) 100%);place-items:center;min-height:100%;padding:24px;display:grid;position:relative;overflow:hidden}.centered-page:before{content:"";z-index:0;will-change:background-position;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 900' preserveAspectRatio='none'%3E%3Cdefs%3E%3Cfilter id='b' x='-20%25' y='-20%25' width='140%25' height='140%25'%3E%3CfeGaussianBlur stdDeviation='22'/%3E%3C/filter%3E%3C/defs%3E%3Cg filter='url(%23b)'%3E%3Cpath d='M0,0 H1440 V260 C1150,430 980,180 760,330 C520,500 320,600 0,470 Z' fill='%23ffffff' fill-opacity='0.10'/%3E%3Cpath d='M1440,900 H0 V560 C280,700 460,430 740,560 C1000,680 1200,760 1440,610 Z' fill='%23102a43' fill-opacity='0.5'/%3E%3C/g%3E%3C/svg%3E");background-position:30% 35%;background-repeat:no-repeat;background-size:160% 160%;animation:18s ease-in-out infinite alternate waveDrift;position:absolute;inset:-6% -8%}@keyframes waveDrift{0%{background-position:25% 30%}to{background-position:75% 65%}}@media (prefers-reduced-motion:reduce){.centered-page:before{animation:none}}.centered-page .spinner,.centered-page .login-card{z-index:1;position:relative}.centered-page .spinner{color:#ffffffd9}.centered-page .spinner__ring{border-color:#fff #ffffff4d #ffffff4d}.login-card{background:var(--surface);border-radius:var(--radius-lg);width:min(400px,100%);padding:32px;box-shadow:0 18px 50px #102a4340}.login-card__header{flex-direction:column;gap:8px;margin-bottom:24px;display:flex}.login-card__header h1{font-size:1.45rem}.login-card__header p{color:var(--text-faint);margin:0;font-size:.88rem}.login-card__brand{text-align:center;align-items:center;gap:12px;display:flex}.login-card__logo{object-fit:contain;flex:none;width:95px;height:90px}.login-card__section{margin:0 0 2px;font-size:1.05rem;line-height:1.1}.input-icon{align-items:center;display:flex;position:relative}.input-icon input{padding-left:38px}.input-icon input.input-icon__field--eye{padding-right:40px}.input-icon__icon{width:17px;height:17px;color:var(--text-faint);pointer-events:none;position:absolute;left:12px}.input-icon__toggle{width:28px;height:28px;color:var(--text-faint);cursor:pointer;background:0 0;border:none;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;right:6px}.input-icon__toggle:hover{color:var(--text);background:#f2f4f7}.input-icon__toggle svg{width:17px;height:17px}.login-card__mark{border-radius:var(--radius);background:var(--navy);color:#fff;letter-spacing:.5px;place-items:center;width:38px;height:38px;font-weight:700;display:grid}.login-card form{flex-direction:column;gap:16px;display:flex}.login-card .button--primary{justify-content:center;padding:11px 15px}.login-card .button--primary .button__icon{transition:transform .15s}.login-card .button--primary:hover:not(:disabled) .button__icon{transform:translate(2px)}.login-card__footer{border-top:1px solid var(--border);text-align:center;color:var(--text-faint);word-break:break-all;margin-top:20px;padding-top:16px;font-size:.82rem}.login-card__links{flex-direction:column;align-items:center;gap:8px;display:flex}.linkbutton{font:inherit;color:var(--blue-dark);cursor:pointer;text-align:center;background:0 0;border:none;padding:0;font-size:.84rem}.linkbutton:hover{text-decoration:underline}.input--code{letter-spacing:.35em;text-align:center;font-family:ui-monospace,SFMono-Regular,Cascadia Mono,Consolas,monospace;font-size:1.15rem}.twofa{flex-direction:column;gap:16px;padding:18px;display:flex}.twofa .alert{margin:0}.detail-list--flush{padding:0}.twofa__intro{align-items:flex-start;gap:16px;display:flex}.twofa__shield{width:32px;height:32px;color:var(--blue);flex:none}.twofa__lead{max-width:64ch;margin:0 0 8px}.twofa__hint{max-width:68ch;color:var(--text-soft);margin:0;font-size:.86rem}.twofa__warn{color:var(--amber);font-weight:600}.twofa__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.twofa__actions--start{justify-content:flex-start}.twofa__intro .twofa__actions{margin-top:14px}.twofa__setup{flex-direction:column;gap:18px;display:flex}.twofa__steps{flex-direction:column;gap:18px;margin:0;padding-left:20px;display:flex}.twofa__steps strong{margin-bottom:4px;display:block}.twofa__steps p{margin:0}.twofa__scan{flex-wrap:wrap;align-items:flex-start;gap:18px;margin-top:10px;display:flex}.twofa__qr{border:1px solid var(--border);border-radius:var(--radius);background:#fff;flex:none;width:168px;height:168px;padding:6px}.twofa__manual{flex-direction:column;flex:1;gap:8px;min-width:220px;display:flex}.twofa__secret{align-items:center;gap:8px;display:flex}.twofa__secret code{border:1px dashed var(--border-strong);border-radius:var(--radius);background:var(--page);color:var(--text);letter-spacing:.08em;-webkit-user-select:all;user-select:all;padding:8px 11px;font-size:.95rem}.twofa__codefield{max-width:220px;margin-top:10px}.twofa__confirm{border-top:1px solid var(--border);flex-direction:column;gap:14px;max-width:420px;padding-top:16px;display:flex}.twofa__recovery{border-radius:var(--radius);background:var(--amber-soft);border:1px solid #f0d4a0;flex-direction:column;gap:14px;padding:18px;display:flex}.twofa__recoveryTitle{margin:0;font-size:.95rem;font-weight:650}.twofa__codes{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.twofa__codes li{border-radius:var(--radius);background:var(--surface);color:var(--text);letter-spacing:.04em;text-align:center;-webkit-user-select:all;user-select:all;border:1px solid #f0d4a0;padding:8px 10px;font-size:.95rem}.twofa__check{align-items:center;gap:8px;font-size:.88rem;display:flex}.twofa__check input{width:auto}@media (width<=880px){.navtoggle{margin-right:auto;display:grid}.sidebar{top:var(--utilitybar-height);z-index:60;width:95vw;height:auto;padding-left:env(safe-area-inset-left);padding-top:12px;transition:transform .22s;position:fixed;bottom:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #102a432e}.sidebar.is-open{transform:none}.sidebar.is-collapsed{width:95vw}.sidebar__collapseToggle{display:none}.sidebar.is-collapsed .sidebar__groupLabel,.sidebar.is-collapsed .sidebar__linkLabel,.sidebar.is-collapsed .sidebar__userText,.sidebar.is-collapsed .sidebar__userChevron{display:initial}.sidebar.is-collapsed .sidebar__userText{display:flex}.sidebar.is-collapsed .sidebar__link,.sidebar.is-collapsed .sidebar__user{justify-content:flex-start;gap:11px}.sidebar.is-collapsed .sidebar__link{padding:9px 10px}.sidebar.is-collapsed .sidebar__user{padding:10px}.sidebar.is-collapsed .sidebar__menu{min-width:0;bottom:calc(100% + 8px);left:0;right:0}.sidebar__brand{display:none}.sidebar__link{font-size:1.05rem}.sidebar__groupLabel{font-size:.84rem}.sidebar__icon{width:20px;height:20px}.sidebar__group--desktopOnly{display:none}.navscrim{top:var(--utilitybar-height);z-index:55;background:#102a4373;position:fixed;bottom:0;left:0;right:0}.page{padding:4px 16px 32px}.chat{flex:none;grid-template-columns:1fr}.chat__list{max-height:280px}.chat__messages{max-height:60vh}.utilitybar{z-index:70;background:var(--surface);border-bottom:0px solid var(--border);padding:0 16px;position:relative}.utilitybar__logo{width:auto;height:34px;display:block;position:absolute;left:50%;transform:translate(-50%)}.utilitybar__icon{width:20px;height:20px}.dbstate__text{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}}@media (pointer:coarse){input,select,textarea{font-size:16px}.row__expand,.daynav__arrow,.button--icon,.tabs__searchToggle,.tabs__dateClear{min-width:42px;min-height:42px}.sidebar__link{padding:12px 10px}.row--clickable:hover td,.sidebar__link:hover{background:inherit}}@media (width<=640px){.utilitybar{gap:10px;padding:0 12px}.page{padding:12px 12px 32px}.filterbar{flex-wrap:nowrap;justify-content:center}.filterbar .dropfilter{flex:1 1 0;min-width:0}.filterbar .dropfilter__trigger{justify-content:center;width:100%}.filterbar .dropfilter:first-child .dropfilter__menu{left:0;right:auto}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.stat{grid-template-columns:minmax(0,1fr);row-gap:3px;padding:10px 8px}.stat__icon{grid-row:1;width:26px;height:26px}.stat__icon svg{width:15px;height:15px}.stat__label{grid-area:2/1;font-size:.72rem;line-height:1.25}.stat__value{grid-row:3;margin-top:2px;font-size:1.35rem}.stat__hint{grid-row:4;font-size:.66rem;line-height:1.25}.pagehead{gap:10px;margin-bottom:14px}.pagehead__title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pagehead:not(:has(.pagehead__action)){margin-bottom:0}.pagehead__action,.pagehead__end{flex-wrap:wrap}.pagehead__print{display:none}.pagehead--centre-action .pagehead__action{flex-wrap:nowrap;width:100%}.daynav{flex:auto;justify-content:space-between;min-width:0}.daynav__label{min-width:0}.pagehead__end{flex:none}.tabs{flex-wrap:nowrap;gap:8px}.tabs__list{flex:auto;min-width:0}.tabs__tools{flex:none}.tabs__tab{padding:9px 10px}.tabs:has(.tabs__search form) .tabs__list{flex:0 auto}.tabs:has(.tabs__search form) .tabs__tools{flex:auto;min-width:0}.tabs__search form{width:100%}.tabs__search input{width:100%;min-width:0}.table-wrap{overflow-x:visible}table,tbody,tr,td{width:100%;display:block}thead{display:none}tbody tr{border-bottom:1px solid var(--border);padding:12px 14px}.row--clickable.is-selected,.row--clickable.is-open{background:var(--blue-soft)}.row--clickable.is-open{background:#fafbfc}.row--clickable.is-selected td,.row--clickable.is-open td,.row--clickable:hover td{background:0 0}td{overflow-wrap:anywhere;border:none;padding:3px 0}td[data-label]{grid-template-columns:minmax(84px,34%) minmax(0,1fr);align-items:baseline;gap:10px;display:grid}td[data-label]:before{content:attr(data-label);color:var(--text-faint);font-size:.82rem}.col-expand{display:none}.row-detail td{padding:0}.ordercard__head{gap:4px}.route__map{min-height:300px}.stops{max-height:none}.stop{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:3px 8px;padding:12px 14px;display:grid}.stop__body{display:contents}.stop__body>*{grid-column:1/-1}.stop__index{grid-area:1/1}.stop__body>.stop__kindRow{grid-area:1/2;margin-bottom:0}.stop__expand{grid-area:1/3;display:flex}.stop:not(.is-expanded) .stop__top,.stop:not(.is-expanded) .stop__bag,.stop:not(.is-expanded) .stop__pick,.stop:not(.is-expanded) .ordertype{display:none}.scan{padding:0}.scan__panel{border-radius:0;width:100%;height:100%;max-height:none}.scan__body{gap:12px;padding:12px}.bagform,.form-grid{grid-template-columns:1fr;padding:14px}.scanfab{right:16px;bottom:calc(16px + env(safe-area-inset-bottom))}}@supports (padding:env(safe-area-inset-left)){.shell{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.page{padding-bottom:calc(40px + env(safe-area-inset-bottom))}}.printsheet{display:none}@media print{html,body,#root,.shell,.main,.page{color:#000;background:#fff;max-width:none;height:auto;min-height:0;margin:0;padding:0;display:block;overflow:visible}.sidebar,.utilitybar,.scanfab,.pagehead,.route,.alert,.picker,.scan{display:none!important}.printsheet{font-size:12pt;display:block}.printsheet__title{border-bottom:1px solid #000;justify-content:space-between;align-items:baseline;gap:8mm;margin-bottom:10mm;padding-bottom:2mm;font-size:14pt;display:flex}.printsheet__count{white-space:nowrap;font-size:11pt;font-weight:400}.printsheet__list{margin:0;padding-left:8mm}.printsheet__list li{break-inside:avoid;border-bottom:1px solid #ddd;margin-bottom:4mm;padding-bottom:2mm}.printsheet__customer{font-weight:700;display:block}.printsheet__kind{text-transform:uppercase;border:1px solid #000;border-radius:2mm;margin-bottom:1mm;padding:.5mm 2mm;font-size:9pt;font-weight:600;display:inline-block}.printsheet__note{white-space:pre-wrap;border-left:.7mm solid #000;margin-top:1mm;padding-left:2mm;font-size:10.5pt;display:block}.printsheet__list li.is-done{color:#777}.printsheet__list li.is-done .printsheet__kind{border-color:#777}.printsheet__address{display:block}@page{margin:16mm}}
