:root{--blue:#1d4ed8;--blue2:#2563eb;--bg:#f3f5f9;--ink:#0f172a;--mute:#64748b;--line:#e6eaf0;--green:#16a34a;--red:#dc2626;--amber:#f59e0b;--waze:#05c8f7;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans Hebrew","Noto Sans",Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#e8ecf1;color:var(--ink);-webkit-tap-highlight-color:transparent;overflow:hidden}
body{font-size:16px;line-height:1.4}
button{font:inherit;color:inherit;cursor:pointer}
input,select,textarea{font:inherit;color:inherit}
[hidden]{display:none!important}
#map{position:fixed;inset:0;z-index:1;background:#e5e7eb}
.leaflet-container{font-family:inherit}
.leaflet-control-attribution{font-size:10px}
.leaflet-top{top:62px}
.floatbar{position:fixed;z-index:500;top:0;inset-inline:0;display:flex;gap:8px;align-items:center;padding:10px;padding-top:calc(10px + env(safe-area-inset-top));pointer-events:none}
.floatbar>*{pointer-events:auto}
.fab{width:44px;height:44px;border-radius:14px;border:0;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.18);font-size:20px;display:grid;place-items:center;flex:none;color:#1e293b}
.fab:active{background:#f1f5f9}
.title-chip{flex:1;min-width:0;height:44px;border-radius:14px;border:0;background:#fff;box-shadow:0 2px 8px rgba(15,23,42,.18);display:flex;align-items:center;gap:8px;padding:0 12px;font-weight:700;font-size:15.5px}
.title-chip img{border-radius:6px;flex:none}
.title-chip span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-fabs{position:fixed;z-index:400;left:10px;display:flex;flex-direction:column;gap:8px;bottom:calc(var(--panel-h,55vh) + 12px);transition:bottom .2s}
.panel{position:fixed;z-index:600;inset-inline:0;bottom:0;height:var(--panel-h,55vh);max-width:760px;margin:0 auto;background:#fff;border-radius:22px 22px 0 0;box-shadow:0 -6px 30px rgba(15,23,42,.18);display:flex;flex-direction:column;transition:height .22s ease}
.panel.dragging,.panel.dragging~.map-fabs{transition:none}
.grip-area{flex:none;padding:6px 14px 8px;touch-action:none;cursor:grab;border-bottom:1px solid var(--line)}
.grip{width:44px;height:5px;border-radius:9px;background:#cfd6e0;margin:2px auto 8px}
.phead .row1{display:flex;align-items:baseline;gap:8px;justify-content:space-between}
.phead .big{font-size:16.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.phead .big .sep{color:#cbd5e1;font-weight:400;margin:0 4px}
.phead .sub{font-size:13.5px;color:var(--mute)}
.phead .time-btn{border:0;background:#eef2ff;color:var(--blue);border-radius:9px;padding:4px 9px;font-size:13px;font-weight:600;white-space:nowrap}
.segbar{display:flex;gap:2px;height:6px;margin-top:8px}
.segbar i{flex:1;border-radius:3px;background:#e2e8f0}
.segbar i.d{background:var(--green)}.segbar i.f{background:var(--red)}.segbar i.s{background:#94a3b8}
.save-line{margin-top:6px;font-size:13px;color:#166534;background:#f0fdf4;border-radius:8px;padding:4px 8px;display:inline-block}
.save-line.warn{color:#92400e;background:#fffbeb}
.pscroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:10px 12px 12px}
.pfoot{flex:none;padding:10px 12px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);display:flex;gap:8px;background:#fff}
.addbar{display:flex;gap:8px}
.grow{flex:1;min-width:0}
.ac-wrap{position:relative}
.addbar input{width:100%;height:48px;border:0;background:#f1f4f8;border-radius:14px;padding:0 44px 0 44px;font-size:16px;outline:none}
.addbar input:focus{background:#fff;box-shadow:0 0 0 2px var(--blue2) inset}
.search-ic{position:absolute;top:13px;inset-inline-start:14px;font-size:16px;opacity:.55;pointer-events:none}
.mic{position:absolute;top:4px;inset-inline-end:4px;width:40px;height:40px;border:0;border-radius:12px;background:none;font-size:19px}
.mic.on{background:#fee2e2;animation:pulse 1s infinite}
@keyframes pulse{50%{background:#fecaca}}
.ac-list{position:absolute;inset-inline:0;top:calc(100% + 4px);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.18);z-index:700;max-height:290px;overflow-y:auto}
.ac-list button{display:block;width:100%;text-align:start;border:0;background:none;padding:10px 12px;border-bottom:1px solid #f1f5f9}
.ac-list button:last-child{border-bottom:0}
.ac-list button:active,.ac-list button:focus{background:#eff6ff;outline:none}
.ac-list .t{display:block;direction:ltr;text-align:left;font-weight:600;font-size:15px}
.ac-list .s{display:block;direction:ltr;text-align:left;color:var(--mute);font-size:13px}
.ac-list .msg{padding:10px 12px;color:var(--mute);font-size:14px}
.imports{display:flex;gap:6px;margin:10px 0 6px;overflow-x:auto;scrollbar-width:none}
.imports button{flex:1 0 auto;min-width:62px;border:1px solid var(--line);background:#fff;border-radius:12px;padding:7px 8px;font-size:12.5px;display:flex;flex-direction:column;align-items:center;gap:1px;color:#334155}
.imports button span{font-size:19px;line-height:1.2}
.imports button:active{background:#f1f5f9}
.ends{border:1px solid var(--line);border-radius:14px;margin:8px 0;overflow:hidden}
.end-row{display:flex;align-items:center;gap:9px;width:100%;border:0;background:#fff;padding:10px 12px;text-align:start}
.end-row+.end-row{border-top:1px solid var(--line)}
.end-row .lbl{font-size:13px;color:var(--mute);flex:none;width:38px}
.end-row .val{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14.5px;unicode-bidi:plaintext;text-align:start}
.end-row .edit{color:#94a3b8}
.dot{width:11px;height:11px;border-radius:50%;flex:none}
.dot-start{background:var(--green);box-shadow:0 0 0 3px #dcfce7}
.dot-end{background:var(--ink);box-shadow:0 0 0 3px #e2e8f0}
.banner{border-radius:12px;padding:9px 12px;font-size:14px;margin:8px 0;background:#fef3c7;color:#78350f}
.banner.err{background:#fee2e2;color:#7f1d1d}
.banner.ok{background:#dcfce7;color:#14532d}
.banner.info{background:#e0e7ff;color:#1e3a8a}
.banner button{border:0;background:rgba(0,0,0,.08);border-radius:8px;padding:4px 10px;margin-inline-start:6px;font-size:13px}
.list{list-style:none;margin:4px 0 0;padding:0}
.st{display:flex;align-items:stretch;gap:0;border-bottom:1px solid #f1f5f9;background:#fff}
.st .tcol{flex:none;width:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:13.5px;font-weight:700;color:#334155;padding:8px 0}
.st .tcol small{font-weight:400;color:var(--mute);font-size:11px}
.st .tcol.ok{color:var(--green)}
.st .main{flex:1;min-width:0;display:flex;align-items:center;gap:10px;padding:10px 2px;border:0;background:none;text-align:start}
.st .num{flex:none;width:28px;height:28px;border-radius:50%;background:var(--blue);color:#fff;font-weight:700;font-size:13px;display:grid;place-items:center}
.st .num.plain{background:#eef2ff;color:var(--blue)}
.st .body{flex:1;min-width:0}
.st .addr{direction:ltr;text-align:left;unicode-bidi:plaintext;font-weight:600;font-size:14.5px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
.st .sub{font-size:12.5px;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st .tags{display:inline-flex;gap:4px;margin-inline-end:4px}
.tag{font-size:11px;border-radius:6px;padding:0 5px;background:#f1f5f9;color:#475569}
.tag.pri{background:#fef3c7;color:#92400e}.tag.win{background:#e0e7ff;color:#3730a3}.tag.late{background:#fee2e2;color:#991b1b}.tag.pick{background:#f3e8ff;color:#6b21a8}
.gs{flex:none;font-size:12px;border-radius:999px;padding:2px 8px;align-self:center}
.gs.ok{color:var(--green);background:#f0fdf4}.gs.approx{color:#b45309;background:#fffbeb}.gs.fail{color:#fff;background:var(--red)}.gs.pending{color:var(--mute);background:#f1f5f9}
.st.fail .main{background:#fff5f5}
.navs{flex:none;display:flex;gap:5px;align-items:center;padding-inline-start:4px}
.nb{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;border:0;text-decoration:none}
.nb.waze{background:var(--waze)}
.nb.gm{background:#fff;border:1px solid var(--line)}
.nb svg{width:22px;height:22px}
.handle{flex:none;width:20px;display:grid;place-items:center;color:#cbd5e1;font-size:16px;touch-action:none;cursor:grab}
.st.done .num{background:var(--green)}.st.failed .num{background:var(--red)}.st.skipped .num{background:#94a3b8}
.st.done .addr,.st.skipped .addr,.st.failed .addr{color:#64748b;font-weight:500}
.st.cur{box-shadow:inset 0 0 0 2px var(--blue2);border-radius:14px;margin:6px 0;border-bottom:0;flex-wrap:wrap;background:#f8faff}
.st.cur .num{background:var(--amber)}
.st .acts{display:none;flex-basis:100%;gap:8px;padding:0 10px 10px}
.st.cur .acts{display:flex}
.acts .btn{flex:1}
.st .note{flex-basis:100%;font-size:12.5px;color:#475569;padding:0 12px 8px 12px}
.endpt{display:flex;align-items:center;gap:0;font-size:13.5px;color:#475569;border-bottom:1px solid #f1f5f9}
.endpt .tcol{width:50px;text-align:center;font-weight:700;color:#334155;padding:9px 0}
.endpt .lbl{display:flex;align-items:center;gap:10px;min-width:0}
.endpt .lbl span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;unicode-bidi:plaintext}
.endpt .ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#0f172a;color:#fff;font-size:13px;flex:none}
.list-tools{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0 4px}
.list-tools .btn{flex:1 1 auto}
.empty{color:var(--mute);font-size:14px;text-align:center;padding:14px 10px 6px;margin:0}
.btn{border:0;border-radius:12px;padding:11px 14px;font-weight:600;font-size:15px;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none}
.btn.primary{background:var(--blue);color:#fff}
.btn.primary:disabled{background:#94a3b8}
.btn.big{flex:1;height:52px;font-size:17px;border-radius:14px}
.btn.ghost{background:#fff;border:1px solid var(--line);color:#1e293b}
.btn.danger{background:#fee2e2;color:#991b1b}
.btn.green{background:var(--green);color:#fff}
.btn.red{background:#fff;border:1px solid #fecaca;color:var(--red)}
.btn.sm{padding:8px 10px;font-size:13.5px}
.btn.waze{background:var(--waze);color:#fff}
.sortable-ghost{opacity:.35}
.sortable-chosen{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.mk{width:26px;height:26px;border-radius:50%;background:var(--blue);color:#fff;font:700 12px/22px system-ui,sans-serif;text-align:center;border:2px solid #fff;box-shadow:0 1px 4px rgba(0,0,0,.35)}
.mk.done{background:var(--green)}.mk.failed{background:var(--red)}.mk.skipped{background:#94a3b8}.mk.cur{background:var(--amber)}
.mk.plain{background:#64748b}
.mk.se{background:#0f172a}
/* sheet */
.sheet-back{position:fixed;inset:0;background:rgba(15,23,42,.42);z-index:900}
.sheet{position:fixed;inset-inline:0;bottom:0;z-index:950;background:#fff;border-radius:22px 22px 0 0;max-height:92dvh;display:flex;flex-direction:column;max-width:760px;margin:0 auto;box-shadow:0 -10px 40px rgba(0,0,0,.2);animation:up .18s ease-out}
@keyframes up{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
.sheet-grip{width:44px;height:5px;border-radius:9px;background:#d6dce6;margin:8px auto 2px;flex:none}
.sheet-x{position:absolute;top:10px;left:12px;width:34px;height:34px;border-radius:50%;border:0;background:#f1f5f9;color:#475569;font-size:15px}
.sheet-body{overflow-y:auto;padding:4px 16px calc(18px + env(safe-area-inset-bottom))}
.sheet h3{margin:8px 0 10px;font-size:18px;padding-inline-end:40px}
.sheet p.hint{color:var(--mute);font-size:13.5px;margin:4px 0 10px}
.sheet textarea{width:100%;min-height:200px;direction:ltr;text-align:left;font-size:14.5px;line-height:1.5;border:1px solid #d6dce6;border-radius:12px;padding:10px;outline:none}
.sheet input:not([type=checkbox]):not([type=radio]),.sheet select{width:100%;border:1px solid #d6dce6;border-radius:11px;padding:10px 12px;background:#fff;outline:none;min-height:46px}
.sheet input:focus,.sheet select:focus,.sheet textarea:focus{border-color:var(--blue2);box-shadow:0 0 0 3px #dbeafe}
.sheet .row{display:flex;gap:8px;margin-top:12px}
.sheet .row .btn{flex:1}
.sheet .fl{margin:10px 0}
.sheet .fl>label{display:block;font-size:13px;color:var(--mute);margin-bottom:4px}
.sheet .two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.seg{display:flex;background:#eef1f6;border-radius:11px;padding:3px;gap:3px}
.seg button{flex:1;border:0;background:none;border-radius:9px;padding:9px 4px;font-size:13.5px;color:#334155}
.seg button.on{background:#fff;color:var(--blue);font-weight:700;box-shadow:0 1px 2px rgba(0,0,0,.08)}
.preview{direction:ltr;overflow:auto;border:1px solid var(--line);border-radius:10px;margin:8px 0;max-height:170px}
.preview table{border-collapse:collapse;font-size:12.5px;direction:ltr}
.preview td,.preview th{border-bottom:1px solid #f1f5f9;padding:5px 8px;white-space:nowrap;text-align:left;max-width:170px;overflow:hidden;text-overflow:ellipsis}
.preview th{background:#f8fafc;position:sticky;top:0}
.menu-list{display:flex;flex-direction:column}
.menu-list button,.menu-list a{display:flex;align-items:center;gap:12px;border:0;background:none;padding:13px 4px;border-bottom:1px solid #f1f5f9;text-align:start;text-decoration:none;color:inherit;font-size:16px;width:100%}
.menu-list .ic{font-size:20px;width:28px;text-align:center}
.saved{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #f1f5f9}
.saved .grow{cursor:pointer}
.saved b{display:block;font-size:15px}
.saved small{color:var(--mute)}
.cmp{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:6px 0 12px}
.cmp>div{border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.cmp>div.best{border-color:#86efac;background:#f0fdf4}
.cmp h4{margin:0 0 6px;font-size:14px;color:var(--mute);font-weight:600}
.cmp .v{font-size:21px;font-weight:800}
.cmp .l{font-size:13px;color:#475569}
.leg-btn{display:flex;align-items:center;gap:10px;width:100%;border:1px solid var(--line);background:#fff;border-radius:12px;padding:11px 12px;margin-bottom:8px;text-decoration:none;color:inherit}
.leg-btn b{font-size:15px}
.leg-btn small{display:block;color:var(--mute);font-size:12.5px;direction:ltr;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:58vw}
.leg-btn .go{margin-inline-start:auto;background:var(--blue);color:#fff;border-radius:9px;padding:6px 12px;font-size:14px;font-weight:600;flex:none}
.leg-btn.used{opacity:.55}
.photo-prev{max-width:100%;max-height:170px;border-radius:10px;display:block;margin:6px auto}
.sig{width:100%;height:180px;border:1px dashed #94a3b8;border-radius:12px;touch-action:none;background:#fff}
.pod{display:flex;gap:8px;flex-wrap:wrap}
.pod img{height:70px;border-radius:8px;border:1px solid var(--line)}
.chips{display:flex;gap:6px;flex-wrap:wrap}
.chips button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 12px;font-size:14px}
.chips button.on{background:#eff6ff;border-color:#93c5fd;color:var(--blue)}
.busy{position:fixed;inset:0;z-index:1000;background:rgba(255,255,255,.72);display:grid;place-items:center;backdrop-filter:blur(2px)}
.busy-box{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.18);padding:20px 22px;min-width:240px;max-width:84vw;text-align:center}
.spinner{width:34px;height:34px;border:4px solid #dbeafe;border-top-color:var(--blue);border-radius:50%;margin:0 auto 10px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.bar{height:6px;background:#eef2f7;border-radius:9px;margin-top:10px;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .2s}
.toast{position:fixed;z-index:1100;left:50%;transform:translateX(-50%);top:calc(64px + env(safe-area-inset-top));background:#0f172a;color:#fff;border-radius:12px;padding:10px 16px;font-size:14.5px;max-width:90vw;box-shadow:0 6px 20px rgba(0,0,0,.25);display:flex;gap:12px;align-items:center}
.toast button{border:0;background:none;color:#93c5fd;font-weight:700;padding:0}
:focus-visible{outline:3px solid #93c5fd;outline-offset:2px}
@media (min-width:900px){.panel{inset-inline-start:12px;inset-inline-end:auto;bottom:12px;top:70px;height:auto!important;width:420px;border-radius:20px;margin:0}.grip{display:none}.map-fabs{bottom:20px!important}.toast{bottom:24px}}
