:root{--blue: #0062ff;--navy: #001f60;--blue-soft: #e8f0ff;--green: #12a150;--red: #e5383b;--amber: #b26a00;--bg: #f5f7fb;--card: #ffffff;--text: #15192b;--muted: #677089;--line: #e2e6ef;--radius: 12px;--shadow: 0 6px 24px rgba(20, 30, 60, .12);color-scheme:light;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg)}@media(prefers-color-scheme:dark){:root{--blue-soft: #18284a;--bg: #0f1320;--card: #181d2d;--text: #e8ebf4;--muted: #97a0b8;--line: #2a3046;--shadow: 0 6px 24px rgba(0, 0, 0, .4);color-scheme:dark}}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}.app{display:grid;grid-template-columns:420px 1fr;height:100dvh}.panel{overflow-y:auto;padding:12px 16px 80px;background:var(--card);border-right:1px solid var(--line);display:flex;flex-direction:column;gap:12px}.map-wrap{position:relative;min-height:0}.map{position:absolute;inset:0}.mobile-tabs{display:none}@media(max-width:820px){.app{grid-template-columns:1fr;grid-template-rows:1fr auto}.panel{border-right:0;padding-bottom:24px}.app.tab-list .map-wrap,.app.tab-map .panel{display:none}.mobile-tabs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);background:var(--card);padding-bottom:env(safe-area-inset-bottom)}.mobile-tabs button{border:0;background:none;padding:14px;font-weight:600;color:var(--muted)}.mobile-tabs button.on{color:var(--blue);box-shadow:inset 0 3px 0 var(--blue)}}.topbar{display:flex;justify-content:space-between;align-items:center}.brand{margin:0;line-height:0}.brand img{display:block;height:44px;width:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 14px;border-radius:10px;border:1px solid var(--line);background:var(--card);cursor:pointer;font-weight:600;text-decoration:none;white-space:nowrap}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.success{background:var(--green);border-color:var(--green);color:#fff}.btn.danger-outline{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}.btn.small{padding:6px 10px;font-size:.85rem}.btn.wide{width:100%}.btn.grow{flex:1}.icon-btn{border:0;background:none;font-size:1.15rem;padding:6px 8px;border-radius:8px;cursor:pointer}.icon-btn:hover,.icon-btn.active{background:var(--blue-soft)}.icon-btn.active{animation:pulse 1s infinite}@keyframes pulse{50%{opacity:.5}}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 12px;cursor:pointer;font-size:.9rem}.chip.on{background:var(--blue);color:#fff;border-color:var(--blue)}.chip:disabled{opacity:.5}.trial-bar{border:0;border-radius:10px;padding:8px 12px;background:linear-gradient(90deg,#ffe7a3,#ffd3e2);color:#4a3200;font-weight:600;cursor:pointer;text-align:left}.route-picker{display:flex;gap:8px}.route-picker select{flex:1;min-width:0}select,input:not([type=checkbox]),textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--card)}input:focus,select:focus,textarea:focus{outline:2px solid var(--blue);outline-offset:-1px}.route-card{position:relative;display:flex;flex-direction:column;gap:4px;text-align:left;border:1px solid var(--line);border-radius:var(--radius);padding:10px 36px 10px 12px;background:var(--bg);cursor:pointer}.route-card .edit{position:absolute;right:12px;top:12px;color:var(--muted)}.search{position:relative}.search-row{display:flex;align-items:center;border:2px solid var(--blue);border-radius:var(--radius);padding:2px 4px 2px 10px;background:var(--card)}.search-row input{border:0;padding:10px 6px;outline:none!important;min-width:0}.suggestions{position:absolute;z-index:1000;left:0;right:0;top:calc(100% + 4px);margin:0;padding:4px;list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);max-height:320px;overflow-y:auto}.suggestions li{padding:8px 10px;font-size:.92rem}.suggestions li button{border:0;background:none;text-align:left;width:100%;cursor:pointer;padding:0}.sug-main{font-weight:600}.sug-detail{display:block;font-size:.8rem;color:var(--muted);margin-top:1px}.suggestions li:has(button):hover{background:var(--blue-soft);border-radius:8px}.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;text-align:center}.summary div{background:var(--bg);border-radius:10px;padding:8px 4px;display:flex;flex-direction:column}.summary strong{font-size:.98rem}.summary small{color:var(--muted);font-size:.75rem}.actions-row{display:flex;gap:8px}.filter{background:var(--bg)!important}.stop-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.stop-row{display:flex;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px;cursor:pointer}.stop-row.selected{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}.stop-row.status-delivered,.stop-row.status-failed{opacity:.6}.stop-num{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--blue);color:#fff;font-weight:700;font-size:.85rem}.stop-num.high{background:var(--red)}.status-delivered .stop-num{background:var(--green)}.status-failed .stop-num{background:var(--muted)}.stop-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.stop-title{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-sub{color:var(--muted);font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-eta{flex:none;display:flex;flex-direction:column;align-items:flex-end;font-size:.9rem}.stop-eta small{color:var(--muted);font-size:.75rem}.late{color:var(--red)!important}.badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:2px}.badge{font-size:.72rem;padding:2px 7px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-weight:600}.badge.red{background:color-mix(in srgb,var(--red) 15%,transparent);color:var(--red)}.break-row{text-align:center;font-size:.85rem;color:var(--amber);padding:4px;margin-bottom:6px;border:1px dashed color-mix(in srgb,var(--amber) 50%,transparent);border-radius:10px}.next-card{border-radius:var(--radius);padding:12px;background:linear-gradient(135deg,var(--blue-soft),var(--card));border:1px solid var(--blue);display:flex;flex-direction:column;gap:4px}.next-title{font-size:1.1rem;font-weight:700}.empty{text-align:center;padding:24px 8px;color:var(--muted)}.empty h2,.empty h3{color:var(--text)}.route-footer{display:flex;justify-content:space-between;gap:8px;margin-top:auto;padding-top:16px}.muted{color:var(--muted)}.small{font-size:.85rem}.error{color:var(--red)}.notice{background:color-mix(in srgb,var(--amber) 14%,transparent);color:var(--text);border-radius:10px;padding:10px 12px;margin:0}.notice.ok{background:color-mix(in srgb,var(--green) 14%,transparent)}.notice p{margin:4px 0}.modal-backdrop{position:fixed;inset:0;background:#0a0e1e73;z-index:2000;display:grid;place-items:center;padding:16px}.modal{width:min(560px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--card);border-radius:16px;box-shadow:var(--shadow)}@media(max-width:820px){.modal-backdrop{place-items:end center;padding:0}.modal{border-radius:16px 16px 0 0;max-height:92dvh}}.modal-head{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--line)}.modal-head h2{margin:0;font-size:1.1rem}.modal-body{overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.modal-foot{padding:12px 16px;border-top:1px solid var(--line)}.sheet-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.sheet-actions .btn{flex:1}.move-row,.seg-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.label{font-size:.85rem;color:var(--muted)}.eta-line{margin:0}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{font-size:.82rem;color:var(--muted);font-weight:600}.field-group{border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px 12px;margin:0;display:flex;flex-direction:column;gap:8px}.field-group legend{font-weight:600;font-size:.9rem;padding:0 4px}.field-group.locked{opacity:.6;cursor:pointer}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.link-like{border:1px solid var(--line);background:var(--bg);border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}.place-line{font-size:.9rem;padding:4px 0}.check{display:flex;gap:8px;align-items:center}.break-edit{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;align-items:end}.plans{display:grid;gap:10px}.plan{border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.plan.current{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-soft)}.plan h3,.plan p{margin:0}.faq dt{font-weight:600;margin-top:8px}.faq dd{margin:2px 0 0;color:var(--muted)}.progress{position:relative;height:28px;border-radius:999px;background:var(--bg);overflow:hidden;display:grid;place-items:center;font-size:.85rem}.progress .bar{position:absolute;inset:0 auto 0 0;background:var(--blue-soft);transition:width .3s}.progress span{position:relative}.map-popup{position:absolute;z-index:1000;left:12px;right:12px;bottom:24px;max-width:520px;margin:0 auto;background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;display:flex;flex-direction:column;gap:8px}.toast{position:fixed;z-index:3000;left:50%;bottom:80px;transform:translate(-50%);background:var(--text);color:var(--card);padding:10px 16px;border-radius:999px;box-shadow:var(--shadow);font-weight:600}.pin{width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--blue);border:2px solid #fff;box-shadow:0 2px 6px #00000059;display:grid;place-items:center}.pin span{transform:rotate(45deg);color:#fff;font-weight:700;font-size:12px}.pin-start{background:var(--navy)}.pin-end{background:#6b4eff}.pin-high{background:var(--red)}.pin-done{background:var(--green)}.pin-failed{background:#8a90a3}.pin-selected{outline:3px solid #ffb800;transform:rotate(-45deg) scale(1.2)}.top-actions{display:flex;align-items:center;gap:4px}.cloud-btn{border:1px solid var(--line);background:var(--card);border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:600;cursor:pointer;white-space:nowrap}.cloud-off{background:var(--blue);border-color:var(--blue);color:#fff}.cloud-error{border-color:var(--red)}.cloud-banner{border:1px dashed var(--blue);background:var(--blue-soft);border-radius:10px;padding:8px 12px;text-align:left;cursor:pointer;font-size:.85rem}.auth-form{display:flex;flex-direction:column;gap:10px}.link-btn{border:0;background:none;color:var(--blue);cursor:pointer;padding:4px 0;text-align:left}.link-btn:disabled{color:var(--muted)}.not-found{display:flex;flex-direction:column;gap:6px}.not-found span{color:var(--muted);font-size:.85rem}.not-found a{color:var(--blue);font-weight:600}.badge.approx{margin-left:6px;background:color-mix(in srgb,var(--amber) 15%,transparent);color:var(--amber)}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.whatsapp{background:#25d366;border-color:#25d366;color:#073b1c}.btn.disabled{opacity:.5;pointer-events:none}.danger-zone{border-color:color-mix(in srgb,var(--red) 40%,transparent)}.proof-img{max-width:100%;max-height:220px;object-fit:contain;border-radius:10px;border:1px solid var(--line)}.signature{position:relative;display:flex;flex-direction:column;gap:4px}.signature canvas{width:100%;height:150px;background:#fff;border:1px dashed var(--muted);border-radius:10px;touch-action:none}.signature-hint{position:absolute;top:60px;left:0;right:0;text-align:center;color:#9aa1b2;pointer-events:none}.proof-view{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:10px;background:var(--bg);font-size:.9rem}.proof-thumbs{display:flex;gap:8px;flex-wrap:wrap}.proof-thumbs img{height:90px;border-radius:8px;border:1px solid var(--line);background:#fff;object-fit:cover}.proof-thumbs img.sig{object-fit:contain;width:160px}.history{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.history button{display:flex;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:10px;cursor:pointer}.history button.selected{border-color:var(--blue)}.history-date{flex:none;width:54px;font-weight:700;color:var(--blue);font-size:.85rem}.invite{display:flex;gap:8px;align-items:center}.invite code{font-size:1.3rem;letter-spacing:2px;font-weight:700;padding:6px 10px;background:var(--bg);border-radius:8px}.members{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.members li{display:flex;justify-content:space-between;align-items:center;gap:8px}.report-list{margin:0;display:grid;gap:6px}.report-list div{display:flex;justify-content:space-between;gap:8px;border-bottom:1px solid var(--line);padding-bottom:6px}.report-list dt{color:var(--muted)}.report-list dd{margin:0;font-weight:600;text-align:right}.ok-text{color:var(--green)}.check a{color:var(--blue)}
