:root{color:#172934;font-synthesis:none;--navy:#112a3b;--navy-soft:#1b3a4e;--teal:#0f8f83;--teal-dark:#08756c;--surface:#f7f8f6;--card:#fff;--muted:#6f7e85;--line:#dfe6e3;--danger:#a23b3b;background:#e9eeec;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-width:0;max-width:100%;min-height:100%}html{overflow-x:clip}body{background:#e9eeec;min-height:100dvh;margin:0;overflow-x:clip}button,input,select,textarea{font:inherit}button{cursor:pointer}input,select,textarea{min-width:0;max-width:100%;font-size:16px!important}img,svg{max-width:100%}.app-shell{width:100%;min-width:0;max-width:520px;min-height:var(--visual-viewport-height,100dvh);background:var(--surface);padding-bottom:calc(76px + env(safe-area-inset-bottom));margin:0 auto;box-shadow:0 0 50px #112a3b1f}.topbar{z-index:9;top:var(--visual-viewport-top,0px);color:#fff;background:var(--navy);min-width:0;padding:calc(20px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) 20px calc(22px + env(safe-area-inset-left));justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky}.topbar>*{min-width:0}.topbar h1,.editor-header h1{letter-spacing:-.5px;margin:2px 0 0;font-size:27px}.eyebrow{letter-spacing:1.6px;opacity:.72;margin:0;font-size:11px;font-weight:800}.icon-button{color:#fff;background:var(--navy-soft);border:1px solid #fff3;border-radius:50%;place-items:center;width:44px;height:44px;display:grid}.business-date{text-align:right;color:#ffffffdb;overflow-wrap:anywhere;max-width:48%;margin:0;font-size:14px;font-weight:700;line-height:1.3}.page{min-width:0;max-width:100%;padding:18px calc(18px + env(safe-area-inset-right)) 18px calc(18px + env(safe-area-inset-left))}.primary-action{background:var(--teal);color:#fff;border:0;border-radius:15px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:54px;padding:14px 18px;font-weight:800;display:flex;box-shadow:0 7px 20px #0f8f8333}.primary-action:active{background:var(--teal-dark);transform:translateY(1px)}.primary-action:disabled{opacity:.55;cursor:wait}.search-box{border:1px solid var(--line);height:46px;color:var(--muted);background:#fff;border-radius:13px;align-items:center;gap:10px;margin:16px 0 12px;padding:0 14px;display:flex}.search-box input{width:100%;color:var(--navy);background:0 0;border:0;outline:0}.search-page{gap:12px;display:grid}.search-page h2{color:var(--navy);margin:0;font-size:20px}.search-page .search-box{margin:0}.bucket-tabs{background:#e7ece9;border-radius:13px;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;min-width:0;padding:4px;display:grid}.bucket-tabs button{color:#65747b;background:0 0;border:0;border-radius:10px;min-height:38px;font-size:13px;font-weight:700}.bucket-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #112a3b14}.order-list{gap:10px;margin-top:14px;display:grid}.order-card{border:1px solid var(--line);text-align:left;width:100%;min-width:0;max-width:100%;color:inherit;background:#fff;border-radius:16px;gap:9px;padding:15px;display:flex;box-shadow:0 4px 13px #112a3b0a}.order-content{flex:1;min-width:0}.order-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.order-content .order-date{color:var(--navy);white-space:normal;overflow-wrap:anywhere;font-size:16px;line-height:1.25;display:block}.order-status{color:var(--teal-dark);background:#e6f3f1;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-weight:800}.status-archive{color:#68777d;background:#edf0ef}.order-content .order-time{color:var(--navy);margin-top:5px;font-size:15px;font-weight:700;display:block}.order-content .order-route{color:#314751;white-space:normal;overflow-wrap:anywhere;word-break:normal;margin:7px 0 0;font-size:14px;font-weight:700;line-height:1.4}.chevron{color:#a4afae;flex:none;align-self:center}.empty-state{min-height:190px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:20px;display:flex}.empty-state strong{color:var(--navy);font-size:16px}.empty-state span{font-size:13px}.error-state{color:#822e2e;background:#f9eaea;border-radius:11px;margin:10px 0;padding:11px 13px;font-size:13px}.next-stage{background:#eef4f1;border:1px dashed #b9c9c5;border-radius:14px;gap:4px;margin-top:16px;padding:14px;display:grid}.next-stage strong{color:var(--teal-dark)}.next-stage span{color:var(--muted);font-size:13px;line-height:1.4}.bottom-nav{z-index:10;width:auto;min-width:0;max-width:520px;height:calc(68px + env(safe-area-inset-bottom));padding:7px calc(6px + env(safe-area-inset-right)) env(safe-area-inset-bottom) calc(6px + env(safe-area-inset-left));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffffff5;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;position:fixed;bottom:0;left:max(0px,50vw - 260px);right:max(0px,50vw - 260px)}.bottom-nav button{color:#7a888e;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:700;display:flex}.bottom-nav button,.bottom-nav span{text-align:center;min-width:0}.bottom-nav span{white-space:nowrap;overflow-wrap:normal}.bottom-nav button svg{width:21px}.bottom-nav button.active{color:var(--teal-dark)}.bottom-nav button:disabled{opacity:.45;cursor:default}.editor-header{z-index:9;top:var(--visual-viewport-top,0px);width:100%;min-width:0;max-width:520px;min-height:calc(68px + env(safe-area-inset-top));padding:calc(12px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 12px calc(16px + env(safe-area-inset-left));color:#fff;background:var(--navy);text-align:center;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;display:grid;position:sticky}.editor-header h1{font-size:19px}.editor-page{gap:16px;display:grid}.mode-tabs{background:#e7ece9;border-radius:13px;grid-template-columns:1fr 1fr;gap:5px;padding:4px;display:grid}.mode-tabs button{min-height:42px;color:var(--muted);background:0 0;border:0;border-radius:10px;font-size:12px;font-weight:800}.mode-tabs button.active{color:var(--navy);background:#fff;box-shadow:0 2px 8px #112a3b14}.secondary-action,.copy-action{border:1px solid var(--teal);min-height:48px;color:var(--teal-dark);background:#fff;border-radius:13px;justify-content:center;align-items:center;gap:7px;font-weight:800;display:flex}.secondary-action:disabled,.copy-action:disabled{opacity:.5;cursor:wait;color:#68777d;background:#eef1ef;border-color:#cbd5d1}.copy-action{z-index:1;touch-action:manipulation;-webkit-tap-highlight-color:#0f8f832e;position:relative}.copy-action:active:not(:disabled){background:#e6f3f1;transform:translateY(1px)}.sr-only{clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.result-card{border:1px solid var(--line);background:#fff;border-radius:16px;gap:12px;min-width:0;max-width:100%;padding:15px;display:grid}.result-card.private{background:#fbf9fd;border-color:#d8d0e4}.result-card h2{margin:0;font-size:16px}.result-card pre{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;background:#f1f4f2;border-radius:11px;width:100%;min-width:0;max-width:100%;margin:0;padding:13px;font:14px/1.5 inherit}.route-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px;display:grid}.route-grid>*{min-width:0}.recognized-value{border:1px solid var(--line);width:100%;min-width:0;color:var(--navy);white-space:normal;overflow-wrap:anywhere;word-break:normal;background:#f1f4f2;border-radius:13px;padding:13px;font-size:16px;font-weight:500;line-height:1.45}.route-point-textarea{resize:none;white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;min-height:54px;overflow:hidden}.pipeline-status{gap:8px;min-width:0;display:grid}.route-result,.history{background:#e9f5f2;border-radius:12px;gap:5px;padding:12px;font-size:13px;display:grid}.route-result a{color:var(--teal-dark);font-weight:800}.formula,.quiet-route,.field-mode p{color:var(--muted);margin:0;font-size:12px;line-height:1.45}.field-mode{gap:12px;min-width:0;display:grid}.text-action{color:var(--teal-dark);background:0 0;border:0;margin-top:8px;padding:0;font-weight:800;display:block}.route-status{color:var(--teal-dark);background:#eef4f1;border-radius:12px;margin:0;padding:12px;font-size:13px;font-weight:800}.route-error{color:#822e2e;background:#f9eaea;border-radius:12px;padding:12px;font-size:13px;line-height:1.45}.choice-panel{outline:none;gap:12px;max-width:100%;display:grid}.choice-panel fieldset{border:1px solid #b9c9c5;border-radius:13px;gap:8px;min-width:0;margin:0;padding:11px;display:grid}.choice-panel legend{color:var(--navy);padding:0 5px;font-size:13px;font-weight:800}.candidate{border:1px solid var(--line);width:100%;min-width:0;max-width:100%;min-height:60px;color:var(--navy);text-align:left;overflow-wrap:anywhere;background:#fff;border-radius:12px;gap:3px;padding:11px 12px;display:grid}.candidate.active{border-color:var(--teal);background:#e9f5f2;box-shadow:0 0 0 2px #0f8f831f}.candidate strong,.candidate span,.candidate small{overflow-wrap:anywhere;min-width:0}.candidate span{color:#506068;font-size:12px}.candidate small{color:var(--muted);font-size:11px}.history summary{cursor:pointer;color:var(--navy);font-weight:800}.history div{color:var(--muted);padding-top:7px}.editor-page label{color:var(--navy);gap:7px;font-size:13px;font-weight:800;display:grid}.editor-page input,.editor-page select,.editor-page textarea{border:1px solid var(--line);width:100%;color:var(--navy);background:#fff;border-radius:13px;outline:0;padding:13px}.editor-page textarea{resize:vertical;line-height:1.45}.editor-page .note-source{min-height:clamp(260px,42dvh,460px);max-height:calc(var(--visual-viewport-height,100dvh) - 210px);white-space:pre-wrap;overflow-wrap:anywhere;word-break:normal;scroll-margin-top:calc(82px + env(safe-area-inset-top));scroll-margin-bottom:20px;font-weight:400;line-height:1.5;font-size:16px!important}.saved-order-page{gap:14px}.saved-route{padding:14px}.result-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.result-heading h2{margin:0}.edit-driver{align-items:center;gap:5px;margin:0;display:flex}.driver-editor{min-height:220px;font-size:16px!important;font-weight:400!important}.driver-edit-actions{grid-template-columns:1fr 1fr;gap:9px;display:grid}.success-state{color:var(--teal-dark);background:#e9f5f2;border-radius:11px;margin:0;padding:11px 13px;font-size:13px}.global-error{z-index:20;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));color:#822e2e;background:#f9eaea;border-radius:11px;width:min(100% - 32px,480px);padding:11px 13px;font-size:13px;position:fixed;transform:translate(-50%)}.editor-page input:focus,.editor-page select:focus,.editor-page textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f8f831a}.optional{color:var(--muted);font-weight:500}.draft-restore{background:#eef4f1;border:1px solid #b9c9c5;border-radius:15px;gap:8px;padding:15px;display:grid}.draft-restore span{color:var(--muted);font-size:13px;line-height:1.4}.draft-restore>div{gap:8px;display:grid}.autosave-note{color:var(--muted);align-items:flex-start;gap:7px;font-size:12px;line-height:1.4;display:flex}.settings-page{gap:14px;display:grid}.settings-card{border:1px solid var(--line);background:#fff;border-radius:16px;min-width:0;max-width:100%;padding:15px}.settings-card.muted{color:var(--muted)}.settings-card.muted strong{color:var(--navy)}.settings-card.muted p{margin:7px 0 0;font-size:13px;line-height:1.45}.section-title{color:var(--teal-dark);gap:12px;display:flex}.section-title>div{min-width:0;color:var(--navy);gap:4px;display:grid}.section-title span{color:var(--muted);font-size:13px;font-weight:400;line-height:1.4}.device-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;margin-top:13px;padding-top:13px;display:flex}.device-row>div{overflow-wrap:anywhere;gap:4px;min-width:0;display:grid}.device-row span{color:var(--muted);font-size:11px}.device-row button{color:var(--danger);background:0 0;border:0;font-size:12px;font-weight:800}.secondary-danger{min-height:49px;color:var(--danger);background:#fff;border:1px solid #e4caca;border-radius:14px;justify-content:center;align-items:center;gap:8px;font-weight:800;display:flex}.login-shell{width:100%;min-width:0;max-width:520px;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) calc(28px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(28px + env(safe-area-inset-left));background:var(--navy);color:#fff;place-items:center;margin:0 auto;display:grid}.login-card{width:100%;min-width:0;max-width:100%;color:var(--navy);background:#fff;border-radius:22px;padding:28px;box-shadow:0 20px 60px #00000040}.login-card h1{margin:8px 0 12px;font-size:27px}.login-card>p:not(.eyebrow){color:#53636b;line-height:1.55}.brand-mark{color:#fff;background:var(--teal);border-radius:18px;place-items:center;width:58px;height:58px;margin-bottom:19px;display:grid}.login-card .eyebrow{color:var(--teal-dark)}.quiet-note{color:#53636b;background:#eef4f1;border-radius:12px;margin-top:18px;padding:12px;font-size:13px}.login-form{gap:10px;margin-top:20px;display:grid}.login-form label{color:var(--navy);font-size:13px;font-weight:800}.login-form input{border:1px solid var(--line);width:100%;min-height:54px;color:var(--navy);letter-spacing:3px;text-align:center;text-transform:uppercase;background:#fff;border-radius:13px;outline:0;padding:13px 15px;font-size:20px;font-weight:800}.login-form input:focus{border-color:var(--teal);box-shadow:0 0 0 3px #0f8f831a}.login-form input::placeholder{letter-spacing:.8px;color:#98a4a7;font-size:12px}.loading-dot{color:#fff;opacity:.8}.shell-placeholder{contain:layout paint}.shell-date-skeleton{background:#ffffff29;border-radius:8px;width:126px;height:18px}.shell-action-skeleton,.shell-line-skeleton,.shell-card-skeleton{background:linear-gradient(90deg,#e5ebe8 25%,#f3f6f4 50%,#e5ebe8 75%) 0 0/200% 100%;border-radius:14px;animation:1.3s infinite shell-pulse}.shell-action-skeleton{height:54px}.shell-line-skeleton{height:46px;margin-top:16px}.shell-card-skeleton{height:112px;margin-top:14px}.shell-nav{color:var(--muted);align-items:center;font-size:10px;font-weight:700}.offline-note{color:#53636b;background:#eef4f1;border-radius:12px;margin:16px 0 0;padding:12px;font-size:13px;line-height:1.45}@keyframes shell-pulse{to{background-position:-200% 0}}.manual-copy-backdrop{z-index:30;padding:calc(18px + env(safe-area-inset-top)) calc(18px + env(safe-area-inset-right)) calc(18px + env(safe-area-inset-bottom)) calc(18px + env(safe-area-inset-left));background:#112a3ba6;place-items:center;display:grid;position:fixed;inset:0}.manual-copy-dialog{background:#fff;border-radius:18px;width:min(100%,480px);min-width:0;max-height:100%;padding:18px;overflow-y:auto;box-shadow:0 20px 60px #00000040}.manual-copy-dialog h2{margin:0}.manual-copy-dialog p{color:var(--muted);font-size:13px;line-height:1.45}.manual-copy-dialog textarea{border:1px solid var(--line);resize:vertical;border-radius:12px;width:100%;min-width:0;max-width:100%;padding:12px;font-size:16px;line-height:1.45}.boot-recovery{width:100%;max-width:520px;min-height:100dvh;padding:calc(28px + env(safe-area-inset-top)) calc(22px + env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) calc(22px + env(safe-area-inset-left));background:var(--navy);color:#fff;place-items:center;margin:0 auto;display:grid}.boot-recovery[hidden]{display:none}.boot-recovery section{width:100%;min-width:0;color:var(--navy);background:#fff;border-radius:20px;padding:24px;box-shadow:0 20px 60px #00000040}.boot-recovery h1{margin:8px 0 12px;font-size:25px;line-height:1.2}.boot-recovery p:not(.eyebrow){color:#53636b;line-height:1.5}.boot-recovery .eyebrow{color:var(--teal-dark)}:where(.dashboard,.editor-page,.settings-page,.order-list,.mode-tabs,.search-box,.next-stage,.history,.route-result,.route-error,.autosave-note,.section-title,.device-row,.secondary-action,.copy-action,.primary-action){min-width:0;max-width:100%}body.keyboard-open .bottom-nav{display:none}body.keyboard-open .app-shell{padding-bottom:env(safe-area-inset-bottom)}body.keyboard-open .editor-page .note-source{min-height:clamp(180px,32dvh,300px);max-height:calc(var(--visual-viewport-height,100dvh) - 170px)}@media (min-width:521px){body{padding:24px 0}.app-shell,.login-shell{border-radius:24px;min-height:calc(100dvh - 48px);overflow:hidden}.bottom-nav{border-radius:0 0 24px 24px;bottom:24px}}@media (max-width:359px){.page{padding-left:calc(12px + env(safe-area-inset-left));padding-right:calc(12px + env(safe-area-inset-right))}.route-grid{grid-template-columns:1fr}.mode-tabs button{font-size:11px}.bottom-nav button{font-size:9px}.device-row{flex-direction:column;align-items:flex-start}}@media (max-width:430px){.route-points{grid-template-columns:minmax(0,1fr)}.recognized-card{align-items:stretch}}
