body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.tms-page{background:#f5f7fb;box-sizing:border-box;height:100vh;overflow:hidden;padding:72px 14px 14px}.tms-master{display:flex;flex-direction:column;height:100%;min-height:0}.tms-master-head{align-items:flex-start;display:flex;flex-shrink:0;gap:16px;justify-content:space-between;margin-bottom:12px}.tms-master-head h2{align-items:center;color:#1a1a2e;display:flex;font-family:Space Grotesk,Noto Sans Georgian,sans-serif;font-size:22px;font-weight:800;gap:10px;letter-spacing:-.01em}.tms-count{font-feature-settings:"tnum";background:#eef1f6;border-radius:999px;color:#64748b;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;padding:2px 10px}.tms-master-sub{color:#64748b;font-size:13px;line-height:1.5;margin-top:4px;max-width:640px}.tms-master-actions{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px}.tms-act{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 13px;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s}.tms-act:hover:not(:disabled){background:#f1f5ff;border-color:#2f6bf0;box-shadow:0 6px 16px -8px #0f172a59;color:#2f6bf0;transform:translateY(-1px)}.tms-act:active:not(:disabled){transform:translateY(0)}.tms-act:disabled{cursor:not-allowed;opacity:.5}.tms-act.primary{background:#2f6bf0;border-color:#2f6bf0;box-shadow:0 8px 20px -6px #2f6bf099;color:#fff}.tms-act.primary:hover:not(:disabled){background:#2459d8;border-color:#2459d8;box-shadow:0 10px 24px -6px #2f6bf0b3;color:#fff}.tms-act.danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#dc2626}.tms-info{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;color:#047857;font-size:13px;font-weight:600;padding:9px 13px}.tms-filterbar,.tms-info,.tms-note-warn{flex-shrink:0;margin-bottom:10px}.tms-filterbar{gap:10px}.tms-filterbar,.tms-search{align-items:center;display:flex}.tms-search{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#94a3b8;flex:1 1;gap:8px;max-width:380px;padding:8px 12px;position:relative}.tms-search:focus-within{border-color:#2f6bf0;box-shadow:0 0 0 3px #2f6bf01f}.tms-search input{background:#0000;border:none;color:#1a1a2e;flex:1 1;font-size:13.5px;outline:none}.tms-search-clear{background:#eef1f6;border:none;border-radius:50%;color:#64748b;cursor:pointer;font-size:14px;height:20px;line-height:1;width:20px}.tms-search-clear:hover{background:#e2e8f0;color:#1a1a2e}.tms-sort-clear{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#64748b;cursor:pointer;font-size:12px;font-weight:700;padding:7px 12px}.tms-sort-clear:hover{border-color:#2f6bf0;color:#2f6bf0}.tms-empty{background:#fff;border:1px solid #0f172a0d;border-radius:18px;box-shadow:0 14px 34px -14px #33416e4d,inset 0 1px 0 #ffffffd9;color:#94a3b8;flex:1 1;font-size:14px;justify-content:center;line-height:1.6;text-align:center}.tms-empty,.tms-loading{align-items:center;display:flex}.tms-loading{flex-direction:column;gap:14px}.tms-loading-spinner{animation:plan-spin .7s linear infinite;border:3px solid #e3e9f2;border-radius:50%;border-top-color:#2f6bf0;height:36px;width:36px}.tms-table-wrap{background:#fff;border:1px solid #0f172a0d;border-radius:18px;box-shadow:0 14px 34px -14px #33416e4d,inset 0 1px 0 #ffffffd9;flex:1 1;min-height:0;overflow:auto}.tms-table{border-collapse:initial;border-spacing:0;font-size:13px;width:100%}.tms-table.fitted{table-layout:fixed}.tms-table thead th{background:#f8fafc;border-bottom:1px solid #e6eaf0;color:#64748b;font-size:10.5px;font-weight:700;letter-spacing:.05em;overflow:hidden;padding:10px 14px;position:sticky;text-align:left;text-overflow:ellipsis;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.tms-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.tms-table th.sortable:hover{color:#2f6bf0}.tms-table td.num,.tms-table th.num{text-align:center}.tms-table th.sorted{background:#eef2ff;color:#2f6bf0}.th-label{display:inline}.th-arrow{font-size:9px;margin-left:4px}.tms-table td{border-bottom:1px solid #f1f4f8;color:#1a1a2e;overflow:hidden;padding:9px 14px;text-overflow:ellipsis;white-space:nowrap}.tms-table tbody tr:last-child td{border-bottom:none}.tms-table tbody tr:hover td{background:#f8faff}.tms-table tfoot td{background:#f8fafc;border-top:1px solid #e6eaf0;bottom:0;box-shadow:inset 0 -1px 0 #ffffffd9;color:#475569;font-size:12.5px;font-weight:700;padding:9px 14px;position:sticky;z-index:2}.tms-row-actions{text-align:right;white-space:nowrap}.tms-action{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;height:30px;margin-left:6px;transition:background .14s,color .14s,border-color .14s;vertical-align:middle;width:30px}.tms-action:hover{background:#2f6bf014;border-color:#2f6bf066;color:#2f6bf0}.tms-action.danger:hover{background:#fdecea;border-color:#f5c6c2;color:#c0392b}.tms-dialog{max-width:calc(100vw - 32px);width:620px}.tms-form-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr 1fr;margin-bottom:4px}.resolve-banner{align-items:center;background:#fff7ed;border:1px solid #fdba74;border-radius:12px;color:#9a3412;display:flex;gap:14px;padding:11px 14px}.resolve-banner-text{flex:1 1;font-size:12.5px;line-height:1.5}.resolve-banner-text strong{font-weight:800}.resolve-banner-btn{background:#f97316;border:none;border-radius:9px;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:8px 16px}.resolve-banner-btn:hover{background:#ea580c}.resolve-modal{max-width:calc(100vw - 32px);width:900px}.resolve-lead{color:#1a1a2e;font-size:14px;margin-bottom:6px}.resolve-hint{color:#64748b;font-size:12.5px;line-height:1.5}.resolve-start{padding:6px 0 2px}.resolve-running{align-items:center;color:#475569;display:flex;font-size:14px;gap:10px;padding:20px 0}.resolve-summary{align-items:center;color:#1a1a2e;display:inline-flex;font-size:13px;font-weight:700;gap:8px;margin:8px 0}.resolve-badge{font-feature-settings:"tnum";background:#eef2ff;border-radius:999px;color:#3a4fd4;font-size:12px;font-variant-numeric:tabular-nums;font-weight:800;padding:2px 10px}.resolve-review{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1.3fr 1fr}.resolve-review-map{border:1px solid #e2e8f0;border-radius:12px;height:420px;overflow:hidden;position:relative}.resolve-review-hint{background:#1a1a2ed9;border-radius:8px;bottom:10px;color:#fff;font-size:11.5px;left:10px;padding:6px 10px;position:absolute;z-index:500}.resolve-review-side{display:flex;flex-direction:column;min-height:0}.resolve-filter{align-items:center;color:#475569;display:flex;font-size:12.5px;gap:7px;margin:8px 0}.resolve-list{border:1px solid #eef1f6;border-radius:10px;flex:1 1;overflow-y:auto}.resolve-empty{color:#94a3b8;font-size:13px;padding:18px;text-align:center}.resolve-item{align-items:center;background:#0000;border:none;border-bottom:1px solid #f1f4f8;cursor:pointer;display:flex;gap:10px;padding:9px 11px;text-align:left;width:100%}.resolve-item:last-child{border-bottom:none}.resolve-item:hover{background:#f8faff}.resolve-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.resolve-item-name{color:#1a1a2e;font-size:13px;font-weight:700}.resolve-item-addr,.resolve-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.resolve-item-addr{color:#94a3b8;font-size:11.5px}.resolve-side-foot{align-items:center;display:flex;gap:10px;justify-content:space-between;padding-top:10px}.resolve-foot-note{color:#64748b;font-size:12px}.zones{overflow:hidden;padding:0;position:relative}.zones,.zones-wrap{background:#f5f7fb;box-sizing:border-box;height:100vh}.zones-wrap{display:flex;flex-direction:column;padding-top:66px}.zones-subtabs{display:flex;flex-shrink:0;gap:6px;padding:10px 14px 0}.zones-subtab{background:#0000;border:1px solid #0000;border-radius:10px 10px 0 0;color:#64748b;cursor:pointer;font-size:13px;font-weight:700;padding:8px 16px;transition:background .14s,color .14s}.zones-subtab:hover{background:#0f172a0a;color:#1a1a2e}.zones-subtab.active{background:#fff;border-color:#0f172a0f #0f172a0f #fff;color:#2f6bf0}.zones-wrap .zones{flex:1 1;height:auto;min-height:0;padding:8px 14px 14px}.zones-panel{background:#fff;border:1px solid #0f172a0d;border-radius:18px;box-shadow:0 14px 34px -14px #33416e4d,inset 0 1px 0 #ffffffd9;display:flex;flex-direction:column;min-height:0;overflow:hidden}.zones-map{border:none;border-radius:0;bottom:0;box-shadow:none;left:0;position:absolute;right:0;top:72px;z-index:0}.zones-list-col{backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#fffc;border:1px solid #ffffff8c;bottom:12px;box-shadow:0 20px 48px -14px #33416e66,inset 0 1px 0 #ffffffb3;left:12px;position:absolute;top:72px;width:180px;z-index:5}.zones-list-head{align-items:center;border-bottom:1px solid #0f172a0f;display:flex;gap:8px;justify-content:space-between;padding:11px 13px 10px}.zones-head-title{align-items:baseline;display:flex;gap:7px;min-width:0}.zones-list-head h3{color:#1a1a2e;font-size:14px;font-weight:800;letter-spacing:-.01em;margin:0}.zones-count{font-feature-settings:"tnum";background:#0000;color:#aab2c0;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;padding:0}.zones-head-outlets{align-items:baseline;display:inline-flex;flex-shrink:0;gap:4px}.zones-head-outlets-num{font-feature-settings:"tnum";color:#2f6bf0;font-size:14px;font-variant-numeric:tabular-nums;font-weight:800}.zones-head-outlets-lbl{color:#aab2c0;font-size:9.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}.zones-dl-btn{align-items:center;background:#fff;border:1px solid #d6deea;border-radius:8px;color:#33415a;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;margin-left:auto;padding:6px 10px}.zones-dl-btn:hover:not(:disabled){background:#eef2ff;border-color:#2f6bf0;color:#2f6bf0}.zones-dl-btn:disabled{cursor:default;opacity:.45}.zone-card-top{gap:8px}.tz-windows,.zone-card-top{align-items:center;display:flex}.tz-windows{flex-wrap:wrap;gap:5px;margin-top:8px}.tz-none{color:#94a3b8;font-size:11.5px}.tz-chip{font-feature-settings:"tnum";align-items:center;background:#fdf3e3;border:1px solid #e08a1e66;border-radius:7px;color:#a9560a;display:inline-flex;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700;gap:4px;padding:3px 4px 3px 8px}.tz-chip button{background:#0000;border:none;color:#c08a3a;cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.tz-chip button:hover{color:#a9560a}.tz-add-btn{background:#0000;border:1px dashed #cbd5e1;border-radius:7px;color:#64748b;cursor:pointer;font-size:11.5px;font-weight:700;padding:4px 9px}.tz-add-btn:hover{border-color:#2f6bf0;color:#2f6bf0}.tz-add-row{align-items:center;display:inline-flex;gap:4px}.tz-add-row input[type=time]{font-feature-settings:"tnum";border:1px solid #dbe1ea;border-radius:6px;font-size:11.5px;font-variant-numeric:tabular-nums;padding:3px 5px}.tz-dash{color:#94a3b8}.tz-add-ok{background:#2f6bf0;color:#fff;font-size:11.5px;font-weight:700;padding:4px 9px}.tz-add-cancel,.tz-add-ok{border:none;border-radius:6px;cursor:pointer}.tz-add-cancel{background:#f1f5f9;color:#64748b;font-size:13px;padding:3px 7px}.tz-overlay-ctl{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffeb;border:1px solid #0f172a1a;border-radius:12px;bottom:12px;box-shadow:0 8px 24px -8px #0f172a59;display:flex;flex-direction:column;gap:8px;left:12px;padding:11px 12px;position:absolute;width:220px;z-index:600}.tz-ovc-row{align-items:center;display:flex;gap:8px}.tz-ovc-row input[type=range]{flex:1 1}.tz-ovc-lbl{color:#64748b;flex-shrink:0;font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;width:52px}.tz-ovc-row button{background:#fff;border:1px solid #dbe1ea;border-radius:7px;color:#475569;cursor:pointer;font-size:12px;font-weight:700;padding:3px 9px}.tz-ovc-row button:hover{border-color:#2f6bf0;color:#2f6bf0}.tz-ovc-row button.on{background:#2f6bf0;border-color:#2f6bf0;color:#fff}.tz-ovc-actions{justify-content:space-between;margin-top:2px}.tz-align-btn{background:#2f6bf0!important;border-color:#2f6bf0!important;color:#fff!important;flex:1 1}.tz-align-banner{align-items:center;background:#111827eb;border-radius:10px;box-shadow:0 8px 24px -8px #00000080;color:#fff;display:flex;font-size:13px;gap:12px;left:50%;line-height:1.3;max-width:92%;padding:9px 14px;position:absolute;top:12px;transform:translateX(-50%);z-index:700}.tz-align-banner strong{color:#ffd479}.tz-align-banner button{background:#0000;border:1px solid #ffffff4d;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:4px 10px}.tz-align-banner button:hover{background:#ffffff1f}.zones-error{background:#fef2f2;border-radius:8px;color:#b91c1c;font-size:12px;margin:10px 12px 0;padding:8px 10px}.zones-list{display:flex;flex:1 1;flex-direction:column;gap:4px;overflow-y:auto;padding:7px}.zones-empty{color:#94a3b8;font-size:13px;line-height:1.5;padding:22px 14px;text-align:center}.zone-card{align-items:center;background:#ffffffb8;border:1px solid #0f172a0f;border-radius:8px;cursor:default;display:flex;gap:8px;min-height:32px;padding:4px 9px;transition:background .14s ease,border-color .14s ease}.zone-card:hover{border-color:#2f6bf059}.zone-card.hover{background:#eef2fb}.zone-dot{box-shadow:0 0 0 2px #ffffffb3;height:12px;width:12px}.zone-dot,.zone-swatch{border-radius:50%;flex-shrink:0}.zone-swatch{box-shadow:0 0 0 2px #ffffffd9,0 0 0 3px #0f172a14;cursor:pointer;height:13px;position:relative;transition:transform .12s ease,box-shadow .12s ease;width:13px}.zone-swatch:hover{box-shadow:0 0 0 2px #fff,0 0 0 3px #2f6bf0;transform:scale(1.12)}.zone-swatch input{border:none;cursor:pointer;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.zone-name{cursor:text;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.zone-name,.zone-name-edit{color:#1a1a2e;flex:1 1;font-weight:700;min-width:0}.zone-name-edit{background:#fff;border:1px solid #2f6bf0;border-radius:7px;box-shadow:0 0 0 3px #2f6bf026;font-size:13px;outline:none;padding:3px 7px}.zone-rename{align-items:center;background:#0000;border:none;border-radius:6px;color:#cbd5e1;cursor:pointer;display:inline-flex;flex-shrink:0;height:19px;justify-content:center;width:19px}.zone-rename:hover{background:#eef2ff;color:#2f6bf0}.zone-menu-wrap{display:inline-flex;flex-shrink:0;position:relative}.zone-menu{background:#fff;border:1px solid #e6ebf3;border-radius:10px;box-shadow:0 14px 34px -10px #33416e66;display:flex;flex-direction:column;gap:2px;min-width:132px;padding:4px;z-index:1200}.zone-menu button{background:#0000;border:none;border-radius:7px;color:#26324a;cursor:pointer;font-size:13px;font-weight:600;padding:7px 10px;text-align:left}.zone-menu button:hover{background:#eef2ff;color:#2f6bf0}.zone-menu button.danger{color:#dc2626}.zone-menu button.danger:hover{background:#fdecea;color:#b91c1c}.zone-win-chip{font-feature-settings:"tnum";align-items:center;background:#dc262614;border:1px solid #dc262647;border-radius:999px;color:#b91c1c;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:700;gap:3px;padding:1px 7px}.zone-win-chip:hover{background:#dc262624;border-color:#dc2626}.tz-win-modal{background:#fff;border-radius:16px;box-shadow:0 24px 60px -14px #33416e6b;display:flex;flex-direction:column;gap:12px;max-width:calc(100vw - 32px);padding:18px 20px;width:320px}.tz-win-hint{color:#64748b;font-size:12px;margin-top:-6px}.tz-win-list{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:22px}.zone-count{font-feature-settings:"tnum";color:#aab2c0;font-size:11px;font-variant-numeric:tabular-nums;font-weight:400;padding:0 2px}.zone-count,.zone-del{background:#0000;flex-shrink:0}.zone-del{border:none;border-radius:6px;color:#cbd5e1;cursor:pointer;font-size:18px;height:22px;line-height:1;width:22px}.zone-del:hover{background:#fdecea;color:#c0392b}.zone-edit-shape{background:#0000;border:none;border-radius:6px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:13px;height:22px;line-height:1;width:22px}.zone-edit-shape:hover{background:#eef2ff;color:#2f6bf0}.zone-edit-shape.on{background:#2f6bf0;color:#fff}.tz-editshape-bar{align-items:center;background:#111827eb;border-radius:10px;box-shadow:0 8px 24px -8px #00000080;color:#fff;display:flex;font-size:12.5px;gap:12px;left:50%;line-height:1.3;max-width:92%;padding:9px 14px;position:absolute;top:12px;transform:translateX(-50%);z-index:700}.tz-editshape-bar button{background:#0000;border:1px solid #ffffff4d;border-radius:7px;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:4px 12px}.tz-editshape-bar button:hover{background:#ffffff1f}.tz-editshape-bar button.save{background:#2f6bf0;border-color:#2f6bf0}.zones-map-tools{align-items:center;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff6b;border:1px solid #fff6;border-radius:15px;box-shadow:0 6px 22px #00000029,inset 0 1px 0 #ffffff8c;display:flex;gap:4px;left:206px;padding:5px 8px;position:absolute;top:10px;z-index:500}.zones-map-tools .map-tool-btn{font-size:15px}.zones-lasso-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;box-shadow:0 2px 8px #0f172a1f;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 13px;transition:background .15s,border-color .15s,color .15s}.zones-lasso-btn:hover:not(:disabled){border-color:#2f6bf0;color:#2f6bf0}.zones-lasso-btn:disabled{cursor:not-allowed;opacity:.55}.zones-lasso-btn.on{background:#2f6bf0;border-color:#2f6bf0;color:#fff}.zones-name-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#141b2d59;display:flex;inset:0;justify-content:center;position:absolute;z-index:700}.zones-name-card{background:#fff;border-radius:16px;box-shadow:0 24px 60px -14px #33416e6b;display:flex;flex-direction:column;gap:12px;padding:18px 20px;width:320px}.zones-name-title{align-items:center;color:#1a1a2e;display:flex;font-size:15px;font-weight:800;gap:9px}.zones-name-card input{border:1px solid #e2e8f0;border-radius:10px;font-size:14px;outline:none;padding:10px 12px}.zones-name-card input:focus{border-color:#2f6bf0;box-shadow:0 0 0 3px #2f6bf026}.zones-name-actions{display:flex;gap:8px;justify-content:flex-end}.zone-map-label{color:#111;font-size:11px;font-weight:600;letter-spacing:.3px;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}.zone-map-label.time{color:#b91c1c}.zones-layerbar{align-items:center;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff6b;border:1px solid #fff6;border-radius:15px;box-shadow:0 6px 22px #00000029,inset 0 1px 0 #ffffff8c;display:flex;gap:6px;padding:5px 8px;position:absolute;right:12px;top:10px;z-index:500}.zones-seg{background:#ffffffa6;border:1px solid #0f172a1a;border-radius:9px;display:inline-flex;overflow:hidden}.zones-seg button{background:#0000;border:none;color:#55627a;cursor:pointer;font-size:12.5px;font-weight:700;padding:6px 14px}.zones-seg button.on{background:#2f6bf0;color:#fff}.zones-eye{background:#ffffffa6;border:1px solid #0f172a1a;border-radius:9px;color:#94a3b8;cursor:pointer;font-size:12px;font-weight:700;padding:6px 10px}.zones-eye.on{color:#33415a}.zones-eye:hover{border-color:#2f6bf0}.zones-name-dock{align-items:center;background:#fff;border:1px solid #e6ebf3;border-radius:14px;bottom:22px;box-shadow:0 18px 44px -12px #33416e6b;display:flex;gap:12px;left:50%;max-width:calc(100% - 40px);padding:9px 13px;position:absolute;transform:translateX(-50%);z-index:700}.zones-dock-hint{color:#55627a;font-size:12.5px;font-weight:600;white-space:nowrap}.zones-name-dock input{border:1px solid #e2e8f0;border-radius:9px;font-size:13.5px;outline:none;padding:8px 11px;width:170px}.zones-name-dock input:focus{border-color:#2f6bf0;box-shadow:0 0 0 3px #2f6bf026}.matrix{background:#f5f7fb;box-sizing:border-box;display:flex;flex-direction:column;gap:12px;height:100vh;padding:72px 14px 14px}.matrix-head{align-items:flex-start;display:flex;flex-shrink:0;gap:16px;justify-content:space-between}.matrix-head-titles h3{color:#1a1a2e;font-size:18px;font-weight:800;margin:0}.matrix-sub{color:#64748b;font-size:12.5px;margin:3px 0 0}.matrix-count{background:#eef1f6;border-radius:999px;color:#64748b;flex-shrink:0;font-size:12px;font-weight:700;padding:4px 11px;white-space:nowrap}.matrix-error{background:#fef2f2;border-radius:8px;color:#b91c1c;flex-shrink:0;font-size:12.5px;font-weight:600;padding:8px 12px}.matrix-empty{align-items:center;color:#94a3b8;display:flex;font-size:14px;justify-content:center;line-height:1.6;padding:24px;text-align:center}.matrix-empty,.matrix-scroll{background:#fff;border:1px solid #0f172a0d;border-radius:18px;box-shadow:0 14px 34px -14px #33416e4d,inset 0 1px 0 #ffffffd9;flex:1 1}.matrix-scroll{min-height:0;overflow:auto}.matrix-table{border-collapse:initial;border-spacing:0}.matrix-table thead th{background:#f6f8fc;border-bottom:1px solid #e6eaf0;position:sticky;top:0;z-index:2}.matrix-corner{background:#f6f8fc;border-right:1px solid #e6eaf0;left:0;min-width:160px;padding:10px 12px;position:sticky;text-align:left;z-index:3}.matrix-corner-label{color:#64748b;font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.matrix-col-head{padding:8px 4px;vertical-align:bottom}.matrix-col-inner{align-items:center;display:flex;flex-direction:column;gap:5px;margin:0 auto;width:46px}.matrix-col-name{color:#1a1a2e;font-size:11px;font-weight:700;-webkit-hyphens:auto;hyphens:auto;line-height:1.2;max-height:3.6em;overflow:hidden;overflow-wrap:anywhere;text-align:center}.matrix-row-head{background:#fff;border-bottom:1px solid #f1f4f8;border-right:1px solid #e6eaf0;left:0;max-width:220px;min-width:160px;padding:8px 12px;position:sticky;text-align:left;vertical-align:middle;z-index:1}.matrix-row-inner{align-items:center;display:flex;gap:8px}.matrix-row-name{color:#1a1a2e;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.matrix-cell{border-bottom:1px solid #f1f4f8;border-right:1px solid #f4f6fa;height:44px;padding:4px;text-align:center}.matrix-cell.on{background:#2f6bf012}.matrix-diag{background:repeating-linear-gradient(-45deg,#f1f4f8,#f1f4f8 5px,#f7f9fc 0,#f7f9fc 10px)}.matrix-check{cursor:pointer;display:inline-flex}.matrix-check input{height:0;opacity:0;position:absolute;width:0}.matrix-box{align-items:center;background:#fff;border:2px solid #cbd5e1;border-radius:6px;display:inline-flex;height:20px;justify-content:center;transition:background .13s ease,border-color .13s ease;width:20px}.matrix-check:hover .matrix-box{border-color:#2f6bf0}.matrix-check input:checked+.matrix-box{background:#2f6bf0;border-color:#2f6bf0}.matrix-check input:checked+.matrix-box:after{border:solid #fff;border-width:0 2.5px 2.5px 0;content:"";height:9px;margin-top:-2px;transform:rotate(45deg);width:5px}.matrix-check input:focus-visible+.matrix-box{outline:2px solid #2f6bf0;outline-offset:2px}.matrix-check input:disabled+.matrix-box{cursor:progress;opacity:.5}.plan{grid-gap:12px;background:#f5f7fb;box-sizing:border-box;display:grid;gap:12px;grid-template-areas:"left map" "left details";grid-template-columns:55% 45%;grid-template-rows:1fr 1fr;height:100vh;padding:72px 14px 14px}.plan-leftwrap{display:flex;flex-direction:row;gap:12px;grid-area:left;min-height:0;min-width:0}.plan-panel{background:#fff;border:1px solid #0f172a0d;border-radius:18px;box-shadow:0 14px 34px -14px #33416e4d,inset 0 1px 0 #ffffffd9;display:flex;flex-direction:column;min-height:0;overflow:hidden}.plan-fleet-col{flex:0 0 360px;min-height:0;min-width:0}.plan-stops{flex:1 1}.plan-map,.plan-stops{min-height:0;min-width:0}.plan-map{grid-area:map;padding:0;position:relative}.plan-details{grid-area:details;min-height:0;min-width:0}.plan-fleet-head{zoom:1;border-bottom:1px solid #eef1f6;flex-shrink:0;padding:9px 12px 11px}.plan-fleet-head.collapsed{display:none}.plan-stats-toggle{align-items:center;background:#f8fafc;border:none;border-bottom:1px solid #eef1f6;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:11px;justify-content:center;padding:0;transition:background .14s,color .14s;width:100%}.plan-stats-toggle svg{height:12px;width:12px}.plan-stats-toggle:hover{background:#eef2fb;color:#2f6bf0}.plan-fleet-stats{background:#f5f8ff;border:1px solid #2f6bf059;border-radius:10px;display:grid;grid-template-columns:repeat(3,1fr);margin-top:9px;overflow:hidden}.plan-fleet-stat{align-items:center;display:flex;flex-direction:column;gap:2px;min-width:0;padding:7px 4px}.plan-fleet-stat+.plan-fleet-stat{border-left:1px solid #2f6bf029}.plan-fleet-stat-val{font-feature-settings:"tnum";color:#1a1a2e;font-size:15px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1;white-space:nowrap}.plan-fleet-stat-val em{color:#94a3b8;font-size:11px;font-style:normal;font-weight:700}.plan-fleet-stat-val.accent{color:#2f6bf0}.plan-fleet-stat-val.good{color:#16a34a}.plan-fleet-stat-val.warn{color:#d97706}.plan-fleet-stat-lbl{color:#94a3b8;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.plan-allstops{align-items:center;background:#f6f8fc;border:1px solid #e6eaf0;border-radius:10px;cursor:pointer;display:flex;flex-shrink:0;gap:9px;margin:8px 10px 0;padding:8px 10px;transition:background .14s,border-color .14s}.plan-allstops:hover{background:#eef2fb}.plan-allstops.active{background:#eef2ff;border-color:#2f6bf0}.plan-allstops-dot{background:#8a94a6;border-radius:50%;flex-shrink:0;height:11px;width:11px}.plan-allstops-label{color:#1a1a2e;flex:1 1;font-size:13px;font-weight:700}.plan-allstops-badge{font-feature-settings:"tnum";background:#eef1f6;border-radius:999px;color:#64748b;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;padding:2px 8px}.plan-fleet-toolbar{zoom:.85;border-bottom:1px solid #eef1f6;display:flex;flex-direction:column;flex-shrink:0;gap:7px;padding:7px 12px}.plan-fleet-trow{align-items:center;display:flex;gap:6px}.plan-dl-wrap,.plan-sort-wrap{position:relative}.plan-fleet-tbtn{align-items:center;background:#fff;border:1px solid #0f172a1f;border-radius:8px;color:#475569;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;height:30px;padding:0 10px;transition:border-color .14s,color .14s,background .14s}.plan-fleet-tbtn:hover{border-color:#0f172a3d;color:#1a1a2e}.plan-fleet-tbtn.icon{justify-content:center;padding:0;width:32px}.plan-fleet-tbtn.on{background:#eef2ff;border-color:#2f6bf0;color:#2f6bf0}.plan-err-tbtn{color:#cbd5e1}.plan-err-tbtn:hover{color:#94a3b8}.plan-err-tbtn.has-errors{color:#f59e0b}.plan-err-tbtn.has-errors:hover{color:#e08a1e}.plan-sort-lbl{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.plan-sort-caret{color:#94a3b8;margin-left:-1px}.plan-fleet-tbtns{align-items:center;display:flex;gap:6px;margin-left:auto}.plan-sort-menu{background:#fff;border:1px solid #e4e7ee;border-radius:11px;box-shadow:0 18px 44px -14px #0f172a66;left:0;min-width:172px;padding:5px;position:absolute;top:calc(100% + 6px);z-index:600}.plan-dl-menu{left:auto;min-width:190px;right:0}.plan-dl-wrap{align-items:center;display:inline-flex}.plan-dl-main{border-bottom-right-radius:0;border-top-right-radius:0}.plan-dl-more{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0;color:#94a3b8;justify-content:center;padding:0;width:18px}.plan-sort-item{background:#0000;border:none;border-radius:7px;color:#334155;cursor:pointer;display:block;font-size:12.5px;font-weight:600;padding:8px 10px;text-align:left;width:100%}.plan-sort-item:hover{background:#f1f5ff}.plan-sort-item.on{background:#eef2ff;color:#2f6bf0;font-weight:800}.plan-fleet-search{align-items:center;display:flex;position:relative}.plan-fleet-search .plan-search-ic{color:#94a3b8;left:10px;pointer-events:none;position:absolute}.plan-fleet-search-input{background:#fff;border:1px solid #0f172a24;border-radius:8px;color:#1a1a2e;font-size:12.5px;height:30px;outline:none;padding:0 26px 0 30px;transition:border-color .14s;width:100%}.plan-fleet-search-input:focus{border-color:#2f6bf0}.plan-fleet-search .plan-search-clear{position:absolute;right:5px}.plan-search-kind{margin-right:6px}.plan-cards{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding:8px 10px 10px}.plan-empty{color:#94a3b8;font-size:13px;line-height:1.5;padding:22px 14px;text-align:center}.plan-panel-head{border-bottom:1px solid #eef1f6;flex-shrink:0;padding:13px 14px 10px}.plan-panel-head h3{color:#1a1a2e;display:flex;flex-direction:column;font-size:15px;font-weight:800;gap:2px;margin:0}.plan-sub{color:#94a3b8;font-size:11.5px;font-weight:500}.plan-total{border-bottom:1px solid #eef1f6;color:#1a1a2e;flex-shrink:0;font-size:13px;font-weight:800;padding:10px 14px}.plan-total-sub{color:#64748b;display:block;font-size:11px;font-weight:500;margin-top:2px}.plan-stops-list{flex:1 1;min-height:0;overflow-y:auto;padding:6px 8px 10px}.plan-leg{align-items:center;color:#94a3b8;display:flex;gap:8px;padding:3px 8px}.plan-leg-dash{background:repeating-linear-gradient(#cbd5e1,#cbd5e1 3px,#0000 0,#0000 6px);border-radius:1px;flex-shrink:0;height:16px;margin-left:12px;width:2px}.plan-leg-txt{font-feature-settings:"tnum";font-size:11px;font-variant-numeric:tabular-nums}.plan-leg.depot .plan-leg-txt{color:#64748b;font-weight:600}.plan-stop{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;cursor:pointer;display:flex;gap:8px;padding:8px 10px;text-align:left;transition:background .13s,border-color .13s;width:100%}.plan-stop:hover{background:#f6f8fc}.plan-stop.active{background:#eef2ff;border-color:#2f6bf0}.plan-stop.no-loc{opacity:.7}.plan-stop-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.plan-stop-name{color:#1a1a2e;display:flex;font-size:13px;gap:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-seq,.plan-stop-name{align-items:center;font-weight:700}.plan-seq{background:#2f6bf0;border-radius:6px;color:#fff;display:inline-flex;flex-shrink:0;font-size:10px;height:18px;justify-content:center;min-width:18px;padding:0 5px}.plan-stop-addr{color:#94a3b8;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-stop-meta{align-items:center;display:flex;flex-shrink:0;gap:6px}.plan-arrival{font-feature-settings:"tnum";color:#1a1a2e;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700}.plan-svc{color:#94a3b8;font-size:10.5px}.plan-stop-warn{color:#f59e0b}.plan-map-expand,.plan-map-roads{align-items:center;backdrop-filter:blur(20px) saturate(190%);-webkit-backdrop-filter:blur(20px) saturate(190%);background:#ffffffdb;border:1px solid #fff9;border-radius:12px;box-shadow:0 10px 26px -10px #33416e73,inset 0 1px 0 #ffffffd9;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;gap:6px;padding:8px 12px;position:absolute;transition:border-color .15s,color .15s,background .15s,transform .15s,box-shadow .15s;z-index:500}.plan-map-roads{right:52px;top:10px}.plan-map-expand{right:10px;top:10px}.plan-map-expand.icon-only,.plan-map-roads.icon-only{gap:0;height:34px;justify-content:center;padding:8px;width:34px}.plan-map-expand:hover,.plan-map-roads:hover{background:#fffffff5;box-shadow:0 14px 30px -10px #33416e80,inset 0 1px 0 #ffffffe6;color:#2f6bf0;transform:translateY(-1px)}.plan-map-roads.on{background:#2f6bf0;border-color:#2f6bf0;box-shadow:0 10px 24px -8px #2f6bf0b3;color:#fff}.plan-fleet-foot{border-top:1px solid #eef1f6;display:flex;flex-direction:column;flex-shrink:0;gap:12px;padding:10px 12px 12px}.plan-optimize{background:#2f6bf0;border:none;border-radius:10px;box-shadow:0 8px 20px -6px #2f6bf099;color:#fff;cursor:pointer;font-size:12.5px;font-weight:700;padding:9px;transition:background .16s,transform .16s,box-shadow .16s;width:100%}.plan-optimize:hover:not(:disabled){background:#2459d8;box-shadow:0 10px 24px -6px #2f6bf0b3;transform:translateY(-1px)}.plan-optimize:active:not(:disabled){transform:translateY(0)}.plan-optimize:disabled{cursor:not-allowed;opacity:.6}.plan-timer{display:flex;flex-direction:column;gap:8px}.plan-timer-top{align-items:center;color:#475569;display:flex;font-size:12.5px;gap:8px}.plan-timer-label{color:#1a1a2e;flex:1 1;font-weight:700}.plan-timer-spin{animation:plan-spin .7s linear infinite;border:2px solid #cfd8e6;border-radius:50%;border-top-color:#2f6bf0;height:14px;width:14px}.plan-timer-clock{font-feature-settings:"tnum";color:#64748b;font-variant-numeric:tabular-nums}.plan-timer-est{color:#94a3b8}.plan-timer-track,.plan-timer-track--indet{background:#eef1f6;border-radius:3px;height:6px;overflow:hidden;position:relative}.plan-timer-indet{animation:plan-indet 1.1s ease-in-out infinite;background:#2f6bf0;border-radius:3px;height:100%;left:0;position:absolute;top:0;width:40%}.plan-timer-hint{color:#94a3b8;font-size:11px}@keyframes plan-indet{0%{left:-40%}to{left:100%}}@keyframes plan-spin{to{transform:rotate(1turn)}}.plan-result{display:flex;flex-direction:column;gap:8px}.plan-result-info{align-items:baseline;display:flex;gap:8px;justify-content:space-between}.plan-result-cost{color:#1a1a2e;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:800}.plan-result-sub{color:#64748b;font-size:11.5px}.plan-report-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:9px;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:5px;padding:7px 10px;transition:border-color .15s,color .15s,transform .15s,box-shadow .15s}.plan-report-btn:hover{border-color:#1d6f42;box-shadow:0 4px 12px -4px #0f172a40;color:#1d6f42;transform:translateY(-1px)}.plan-report-btn:active{transform:translateY(0)}.plan-ot-chip{background:#fff7ed;border:1px solid #fed7aa;border-radius:999px;color:#9a3412;display:inline-block;font-size:10.5px;font-weight:700;margin-left:8px;padding:1px 8px}.plan-details .plan-panel-head h3{align-items:center;flex-direction:row;flex-wrap:wrap;gap:8px}.plan-diag{overflow-y:auto;padding:12px 14px}.plan-diag-title{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.tms-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141b2d80;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2200}.tms-modal{background:#fff;border-radius:16px;box-shadow:0 24px 60px -14px #0f172a80;display:flex;flex-direction:column;max-height:min(80vh,640px);overflow:hidden;width:min(520px,100%)}.tms-modal-head{align-items:center;border-bottom:1px solid #eef1f6;display:flex;flex-shrink:0;justify-content:space-between;padding:14px 16px}.tms-modal-head h3{color:#1a1a2e;font-size:15px;font-weight:800;margin:0}.tms-modal-close{background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;flex-shrink:0;font-size:18px;height:30px;line-height:1;width:30px}.tms-modal-close:hover{background:#e2e8f0;color:#0f172a}.tms-modal-body{overflow-y:auto;padding:8px 16px 16px}.tms-modal-ok{color:#16a34a;font-size:13.5px;font-weight:600;padding:18px 4px}.plan-diag-row{align-items:center;display:flex;gap:10px;padding:7px 0}.plan-diag-row+.plan-diag-row{border-top:1px solid #f1f4f8}.plan-diag-badge{font-feature-settings:"tnum";align-items:center;background:#2f6bf01f;border-radius:8px;color:#2f6bf0;display:inline-flex;flex-shrink:0;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;height:26px;justify-content:center;min-width:26px;padding:0 7px}.plan-diag-badge.warn{background:#e08a1e24;color:#b45e0a}.plan-diag-txt{color:#475569;font-size:12.5px;line-height:1.35}.plan-diag-txt strong{color:#1a1a2e;font-weight:700}.plan-diag-hint{color:#94a3b8;display:block;font-size:11px;margin-top:1px}.plan-fleet-caps{background:#f5f8ff;border:1px solid #2f6bf059;border-radius:10px;display:flex;margin-top:9px;overflow:hidden}.plan-fleet-cap{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:3px;justify-content:center;min-width:0;padding:8px 4px;text-align:center}.plan-fleet-cap+.plan-fleet-cap{border-left:1px solid #2f6bf029}.plan-fleet-cap-lbl{color:#94a3b8;font-size:9px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap}.plan-fleet-cap-val{font-feature-settings:"tnum";color:#1a1a2e;font-family:JetBrains Mono,ui-monospace,monospace;font-size:13px;font-variant-numeric:tabular-nums;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-fleet-cap-val.over{color:#e0483c}.plan-fleet-u{color:#94a3b8;font-family:Space Grotesk,Noto Sans Georgian,sans-serif;font-weight:500;margin-left:2px}.plan-fleet-cap.total .plan-fleet-cap-lbl,.plan-fleet-cap.total .plan-fleet-cap-val{color:#2f6bf0}.plan-detail-summary{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);padding:12px 14px}.plan-detail-driver{color:#475569;font-size:12.5px}.plan-detail-table-wrap{border:1px solid #eef1f6;border-radius:10px;flex:1 1;margin:0 14px 14px;min-height:0;overflow:auto}.plan-detail-table{border-collapse:collapse;font-size:12.5px;width:100%}.plan-detail-table th{background:#f8fafc;border-bottom:1px solid #eef1f6;color:#64748b;font-size:10px;font-weight:700;letter-spacing:.04em;padding:8px 10px;position:sticky;text-align:left;text-transform:uppercase;top:0}.plan-detail-table td{border-bottom:1px solid #f4f6fa;color:#1a1a2e;padding:8px 10px}.plan-detail-table td.c,.plan-detail-table th.c{text-align:center}.plan-detail-table td.num{font-feature-settings:"tnum";font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-variant-numeric:tabular-nums}.pd-summary{grid-gap:7px;display:grid;gap:7px;grid-template-columns:repeat(4,1fr);padding:12px 14px 8px}.pd-stat{align-items:center;background:#f6f8fb;border:1px solid #eef1f6;border-radius:10px;display:flex;flex-direction:column;gap:2px;min-width:0;padding:8px 9px;text-align:center}.pd-val{font-feature-settings:"tnum";color:#1a1a2e;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;line-height:1.1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pd-val .pd-dlv{color:#2f6bf0}.pd-val .pd-ret{color:#b45e0a}.pd-val .pd-sep{color:#c3cad6;font-weight:600}.pd-lbl{color:#94a3b8;font-size:9px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.pd-driver{color:#475569;font-size:12.5px;padding:0 14px 10px}.pd-lines{border:1px solid #dde3ec;border-radius:10px;flex:1 1;margin:0 14px 14px;min-height:0;overflow-x:hidden;overflow-y:auto}.matrix-scroll::-webkit-scrollbar,.pd-lines::-webkit-scrollbar,.plan-cards::-webkit-scrollbar,.plan-detail-table-wrap::-webkit-scrollbar,.plan-diag::-webkit-scrollbar,.plan-stops-list::-webkit-scrollbar,.resolve-list::-webkit-scrollbar,.tms-table-wrap::-webkit-scrollbar,.zones-list::-webkit-scrollbar{height:3px;width:3px}.matrix-scroll::-webkit-scrollbar-track,.pd-lines::-webkit-scrollbar-track,.plan-cards::-webkit-scrollbar-track,.plan-detail-table-wrap::-webkit-scrollbar-track,.plan-diag::-webkit-scrollbar-track,.plan-stops-list::-webkit-scrollbar-track,.resolve-list::-webkit-scrollbar-track,.tms-table-wrap::-webkit-scrollbar-track,.zones-list::-webkit-scrollbar-track{background:#0000}.matrix-scroll::-webkit-scrollbar-thumb,.pd-lines::-webkit-scrollbar-thumb,.plan-cards::-webkit-scrollbar-thumb,.plan-detail-table-wrap::-webkit-scrollbar-thumb,.plan-diag::-webkit-scrollbar-thumb,.plan-stops-list::-webkit-scrollbar-thumb,.resolve-list::-webkit-scrollbar-thumb,.tms-table-wrap::-webkit-scrollbar-thumb,.zones-list::-webkit-scrollbar-thumb{background:#cbd2dc;border-radius:6px}.pd-line{border-bottom:1px solid #e2e7ef;padding:8px 30px 8px 11px;position:relative}.pd-line:last-child{border-bottom:none}.pd-line-name{color:#1a1a2e;font-size:12.5px;font-weight:600;line-height:1.3}.pd-line-meta{font-feature-settings:"tnum";align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-variant-numeric:tabular-nums;gap:4px 12px;margin-top:7px}.pd-line-meta .code{color:#9aa2b1}.pd-line-meta .pd-u{color:#94a3b8;font-family:Space Grotesk,Noto Sans Georgian,sans-serif;margin-left:2px}.pd-line-type{font-size:12px;font-weight:800;position:absolute;right:11px;top:50%;transform:translateY(-50%)}.pd-line-type.ret{color:#b45e0a}.pd-line-type.sale{color:#2f6bf0}.plan-detail-close{background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;height:26px;width:26px}.plan-detail-close:hover{background:#e2e8f0;color:#0f172a}.plan-timebar{padding:10px 14px}.plan-timebar-legend{align-items:center;background:#f6f8fb;border:1px solid #eef1f6;border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:9px 14px}.tl-item,.tl-total{align-items:baseline;display:inline-flex;gap:5px;white-space:nowrap}.tl-item b,.tl-total b{font-feature-settings:"tnum";color:#1a1a2e;font-family:JetBrains Mono,ui-monospace,monospace;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:700}.tl-lbl{color:#94a3b8;font-size:10px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.tl-total{border-left:1px solid #e4e7ec;padding-left:12px}.tl-total b{color:#b45e0a}.fleet-card{grid-gap:11px;animation:fleet-in .28s ease both;background:#fff;border:1.5px solid #e4e7ec;border-radius:13px;cursor:pointer;display:grid;flex-shrink:0;gap:11px;grid-template-columns:1fr 92px;overflow:hidden;padding:10px 12px 11px 15px;position:relative;transition:background .16s,border-color .16s}.fleet-main{min-width:0}@keyframes fleet-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fleet-card:hover{background:#fafbfc}.fleet-card.sel{border-color:#c9d9fa}.fleet-card.sel,.fleet-card.sel:hover{background:#edf2fe}.fleet-card:focus-visible{outline:2px solid #2f6bf0;outline-offset:2px}.fleet-spine{background:#2f6bf0;background:var(--car,#2f6bf0);border-radius:0 4px 4px 0;bottom:9px;left:0;position:absolute;top:9px;width:4px}.fleet-card.idle .fleet-spine{background:#c3c9d4}.fleet-idrow{align-items:center;display:flex;gap:7px;min-width:0}.fleet-idtxt{display:flex;flex:0 1 auto;flex-direction:column;gap:1px;min-width:0}.fleet-carname{font-size:14px;font-weight:700;letter-spacing:-.02em}.fleet-carname,.fleet-drivername{color:#101828;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-drivername{font-size:11px;font-weight:500}.fleet-card.idle .fleet-carname,.fleet-card.idle .fleet-drivername{color:#667085}.fleet-idgap{flex:1 1 auto;min-width:4px}.fleet-plate{align-items:stretch;border:1px solid #e4e7ec;border-radius:6px;display:inline-flex;flex-shrink:0;overflow:hidden}.fleet-plate-ge{align-items:center;background:#2f6bf0;color:#fff;display:flex;font-size:9px;font-weight:700;padding:2px 4px}.fleet-plate-num{font-feature-settings:"tnum";background:#fff;box-sizing:initial;color:#101828;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:700;overflow:hidden;padding:2px 4px;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:74px}.fleet-gauges{display:flex;flex-direction:column;gap:5px;margin-top:8px;min-width:0}.fleet-gauge{grid-gap:7px;align-items:center;display:grid;gap:7px;grid-template-columns:16px 1fr 78px 30px}.fleet-g-unit{color:#101828;font-size:10.5px;font-weight:500}.fleet-g-track{background:#dce2eb;border-radius:4px;height:6px;overflow:hidden}.fleet-g-fill{background:#2f6bf0;background:var(--car,#2f6bf0);border-radius:4px;display:block;height:100%}.fleet-g-fill.hot{background:#e0483c}.fleet-g-abs{font-size:9.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fleet-g-abs,.fleet-g-pct{color:#101828;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;text-align:right}.fleet-g-pct{font-size:10.5px;font-weight:500}.fleet-g-pct.hot{color:#e0483c}.fleet-stats{grid-gap:5px;align-content:space-evenly;border-left:1px solid #e4e7ec;display:grid;gap:5px;grid-template-columns:1fr;padding-left:10px}.fleet-card.sel .fleet-stats{border-left-color:#c9d9fa}.fleet-stat{align-items:center;display:flex;gap:5px;min-width:0}.fleet-stat-lbl{color:#101828;flex-shrink:0;font-size:8px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.fleet-stat-lead{border-bottom:1px solid #e4e7ec;flex:1 1 auto;height:0;min-width:6px}.fleet-card.sel .fleet-stat-lead{border-bottom-color:#c9d9fa}.fleet-stat-val{color:#101828;flex-shrink:0;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;font-weight:500;letter-spacing:-.03em;line-height:1.1;text-align:right;white-space:nowrap}.plan-allmap-overlay{align-items:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141b2d80;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2000}.plan-allmap{background:#fff;border-radius:18px;box-shadow:0 24px 60px -14px #0f172a80;height:min(900px,100%);overflow:hidden;width:min(1400px,100%)}.plan-allmap,.plan-compact{display:flex;flex-direction:column}.plan-compact{background:#f5f7fb;box-sizing:border-box;height:100vh;padding:0}.plan-compact-card{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.plan-map-toolbar{background:#ffffff4d;border:1px solid #ffffff59;border-radius:17px;box-shadow:0 5px 20px #00000024,inset 0 1px 0 #ffffff80;gap:5px;padding:6px 10px;top:76px}.plan-map-toolbar,.plan-mapfilter{align-items:center;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);display:flex;position:absolute;right:10px;z-index:500}.plan-mapfilter{background:#ffffff6b;border:1px solid #fff6;border-radius:14px;box-shadow:0 6px 22px #00000029,inset 0 1px 0 #ffffff8c;gap:6px;padding:6px 8px 6px 12px;top:126px}.plan-mapfilter-lbl{color:#64748b;font-size:10px;font-weight:800;letter-spacing:.05em;margin-right:2px;text-transform:uppercase}.plan-mapfilter-chip{align-items:center;background:#ffffffb3;border:1px solid #0f172a1f;border-radius:9px;color:#475569;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:6px 11px;transition:border-color .14s,color .14s,background .14s}.plan-mapfilter-chip:hover{border-color:#0f172a3d;color:#1a1a2e}.plan-mapfilter-dot{border-radius:50%;height:9px;width:9px}.plan-mapfilter-chip.returns .plan-mapfilter-dot{background:#e08a1e}.plan-mapfilter-chip.unassigned .plan-mapfilter-dot{background:#8a94a6}.plan-mapfilter-chip.returns.on{background:#fdf3e3;border-color:#e08a1e;color:#a9560a}.plan-mapfilter-chip.unassigned.on{background:#eef1f5;border-color:#94a3b8;color:#475569}.plan-mapfilter-mode{border:1px solid #0f172a1f;border-radius:9px;display:inline-flex;margin-left:2px;overflow:hidden}.plan-mapfilter-mode button{background:#0000;border:none;color:#64748b;cursor:pointer;font-size:11.5px;font-weight:700;padding:6px 10px}.plan-mapfilter-mode button+button{border-left:1px solid #0f172a1f}.plan-mapfilter-mode button.on{background:#2f6bf0;color:#fff}.plan-mapfilter-wrap{display:inline-flex;position:relative}.plan-mapfilter-wrap .map-tool-btn{position:relative}.plan-mapfilter-badge{background:#2f6bf0;border:1.5px solid #fff;border-radius:50%;height:7px;position:absolute;right:3px;top:3px;width:7px}.plan-mapfilter-pop{align-items:stretch;background:#fff;border:1px solid #e4e7ee;border-radius:12px;box-shadow:0 18px 44px -14px #0f172a66;display:flex;flex-direction:column;gap:7px;min-width:170px;padding:9px;position:absolute;right:0;top:calc(100% + 8px);z-index:3000}.plan-mapfilter-pop .plan-mapfilter-chip{justify-content:flex-start}.plan-mapfilter-pop .plan-mapfilter-mode{margin-left:0}.plan-mapfilter-pop .plan-mapfilter-mode button{flex:1 1;text-align:center}.plan-legend-all{color:#64748b}.plan-legend-dot{border-radius:50%;height:10px;width:10px}.plan-legend-dot-wrap{align-items:center;cursor:pointer;display:inline-flex;position:relative}.plan-legend-dot-wrap:hover .plan-legend-dot{box-shadow:0 0 0 2px #2f6bf059}.plan-legend-dot-wrap input[type=color]{border:none;cursor:pointer;height:calc(100% + 6px);inset:-3px;opacity:0;padding:0;position:absolute;width:calc(100% + 6px)}.plan-allmap-roads{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:9px;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:700;gap:6px;padding:7px 12px}.plan-allmap-roads:hover{border-color:#2f6bf0;color:#2f6bf0}.plan-allmap-roads.on{background:#2f6bf0;border-color:#2f6bf0;color:#fff}.plan-allmap-close{background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;flex-shrink:0;font-size:20px;height:34px;line-height:1;width:34px}.plan-allmap-close:hover{background:#e2e8f0;color:#0f172a}.plan-allmap-main{flex:1 1;min-height:0;position:relative}.plan-allmap-float{align-items:stretch;bottom:12px;display:flex;gap:10px;left:12px;max-width:calc(100% - 24px);pointer-events:none;position:absolute;top:76px;z-index:20}.plan-allmap-routes,.plan-allmap-side{backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#fffc;border:1px solid #ffffff8c;border-radius:18px;box-shadow:0 20px 48px -14px #33416e66,inset 0 1px 0 #ffffffb3;overflow:hidden;pointer-events:auto}.plan-allmap-body{inset:0;min-height:0;min-width:0;position:absolute}.mapcard-hitbox{padding-bottom:16px}.mapcard{backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff9e;border:1px solid #ffffff80;border-radius:17px;box-shadow:0 12px 30px -12px #18275c73,inset 0 1px 0 #fff9;color:#16192a;cursor:default;font-family:inherit;line-height:1.4;padding:12px 13px 11px;position:relative;text-align:left;width:250px}.mapcard-head{align-items:flex-start;display:flex;gap:8px}.mapcard-name{font-size:14px;font-weight:800;letter-spacing:-.01em;line-height:1.25}.mapcard-route{align-items:center;color:#6b7382;display:inline-flex;flex-shrink:0;font-size:11px;font-weight:700;gap:5px;margin-left:auto;padding-top:2px;white-space:nowrap}.mapcard-cdot{border-radius:50%;height:9px;width:9px}.mapcard-sub{color:#6b7382;font-size:12px;margin:3px 0 10px}.mapcard-code{color:#9aa2b1;font-family:ui-monospace,Spline Sans Mono,monospace}.mapcard-stats{grid-gap:7px;display:grid;gap:7px;grid-template-columns:1fr 1fr 1fr;margin-bottom:11px}.mapcard-stat{background:#16192a0d;border-radius:8px;padding:6px 8px}.mapcard-k{color:#9aa2b1;font-size:9.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.mapcard-v{font-feature-settings:"tnum";font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;margin-top:1px}.mapcard-acts{display:flex;flex-wrap:wrap;gap:6px}.mapcard-btn{align-items:center;background:#0000;border:1px solid #16192a24;border-radius:8px;color:#16192a;cursor:pointer;display:inline-flex;flex:1 1 auto;font:inherit;font-size:12px;font-weight:700;gap:4px;justify-content:center;padding:7px 8px;transition:border-color .13s,color .13s,background .13s;white-space:nowrap}.mapcard-btn:hover{background:#2f6bf014;border-color:#2f6bf0;color:#2f6bf0}.mapcard-btn.primary{background:#2f6bf0;border-color:#2f6bf0;color:#fff}.mapcard-btn.primary:hover{color:#fff;filter:brightness(1.06)}.mapcard-btn.danger:hover{border-color:#e5484d;color:#e5484d}.mapcard-btn.wide{flex-basis:100%}.mapcard-arrow{backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff9e;border-bottom:1px solid #ffffff80;border-right:1px solid #ffffff80;bottom:-7px;height:14px;left:50%;position:absolute;transform:translateX(-50%) rotate(45deg);width:14px}.mapcard-ret{color:#b45e0a;font-weight:700}.mapcard-rbadge{align-items:center;background:#e08a1e26;border:1px solid #e08a1e66;border-radius:5px;color:#a9560a;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:800;height:18px;justify-content:center;margin-left:6px;width:18px}.mapcard-return{background:#fff9f0b8;border-color:#e08a1e80;box-shadow:0 12px 30px -12px #b45e0a66,inset 0 1px 0 #fff9}.mapcard-return .mapcard-arrow{background:#fff9f0b8;border-bottom-color:#e08a1e80;border-right-color:#e08a1e80}.plan-allmap-routes{display:flex;flex-direction:column;flex-shrink:0;min-height:0;overflow:hidden;padding:0 8px;width:118px}.plan-routes-scroll{flex:1 1;margin:10px 0;min-height:0;overflow-x:hidden;overflow-y:auto}.plan-routes-scroll::-webkit-scrollbar{width:3px}.plan-routes-scroll::-webkit-scrollbar-track{background:#0000}.plan-routes-scroll::-webkit-scrollbar-thumb{background:#cbd2dc;border-radius:6px}.plan-routes-scroll::-webkit-scrollbar-thumb:hover{background:#aab3c0}.plan-zoom-ctl{gap:6px;padding:4px 0 6px}.plan-zoom-ctl,.plan-zoom-ctl button{align-items:center;display:flex;justify-content:center}.plan-zoom-ctl button{background:#fff;border:1px solid #dbe1ea;border-radius:6px;color:#475569;cursor:pointer;font-size:15px;height:20px;line-height:1;width:20px}.plan-zoom-ctl button:hover{border-color:#2f6bf0;color:#2f6bf0}.plan-zoom-ctl span{font-feature-settings:"tnum";color:#1a1a2e;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;min-width:36px;text-align:center}.plan-allmap-side{display:flex;flex-direction:column;flex-shrink:0;min-height:0;padding:0 8px 10px;width:396px}.plan-side-frame{background:#0000;display:flex;flex:1 1;flex-direction:column;margin-top:10px;min-height:0;overflow:hidden}.plan-allmap-side-head{align-items:center;border-bottom:1px solid #f1f4f8;display:flex;flex-shrink:0;gap:8px;justify-content:space-between;padding:9px 14px}.plan-allmap-side-list{flex:1 1;min-height:0;overflow-y:auto}.plan-allmap-side-list::-webkit-scrollbar{width:3px}.plan-allmap-side-list::-webkit-scrollbar-track{background:#0000}.plan-allmap-side-list::-webkit-scrollbar-thumb{background:#cbd2dc;border-radius:6px}.plan-allmap-side-list::-webkit-scrollbar-thumb:hover{background:#aab3c0}.plan-allmap-side-list .plan-stops-list{overflow:visible;padding:6px}.plan-allmap-side-cards{padding:8px 6px 0}.plan-allmap-side-cards .fleet-card{animation:none}.plan-trip-section+.plan-trip-section{border-top:1px solid #eef1f6}.plan-trip-departs{font-feature-settings:"tnum";background:#eef2ff;border-radius:999px;color:#2f4a8a;display:inline-block;font-size:11.5px;font-variant-numeric:tabular-nums;font-weight:700;margin:2px 8px 4px;padding:3px 9px}.plan-zone-label{-webkit-text-stroke:4px #ffffffeb;paint-order:stroke fill;text-shadow:0 1px 2px #00000040;white-space:nowrap}.plan-ctxmenu{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffeb;border:1px solid #e4e7ee;border-radius:13px;box-shadow:0 18px 44px -12px #0f172a73;padding:6px 9px;position:fixed;z-index:4000}.plan-editbar.plan-ctx-tray{align-items:center;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;gap:6px;padding:0;position:static;right:auto;top:auto;z-index:auto}.plan-playbar{align-items:center;background:#fffffff5;border:1px solid #e4e7ee;border-radius:14px;bottom:18px;box-shadow:0 8px 26px -8px #0f172a66;display:flex;gap:12px;left:50%;padding:8px 14px;position:absolute;transform:translateX(-50%);width:min(640px,calc(100% - 40px));z-index:40}.plan-play-btn{align-items:center;background:#2f6bf0;border:none;border-radius:10px;color:#fff;cursor:pointer;display:inline-flex;flex-shrink:0;height:34px;justify-content:center;width:34px}.plan-play-btn:hover{background:#2459d8}.plan-play-t{font-feature-settings:"tnum";color:#94a3b8;flex-shrink:0;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700}.plan-play-range{accent-color:#2f6bf0;cursor:pointer;flex:1 1;min-width:0}.plan-play-now{font-feature-settings:"tnum";color:#1a1a2e;flex-shrink:0;font-size:15px;font-variant-numeric:tabular-nums;font-weight:800;min-width:48px;text-align:center}.plan-play-x{background:#0000;border:none;border-radius:7px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:18px;height:26px;width:26px}.plan-play-x:hover{background:#0f172a0f;color:#1a1a2e}.plan-tl-panel{animation:plan-tl-in .18s ease;background:#fffffff7;border:1px solid #e4e7ee;border-radius:14px;bottom:12px;box-shadow:0 -6px 30px -10px #0f172a73;display:flex;flex-direction:column;left:12px;max-height:42vh;overflow:hidden;position:absolute;right:12px;z-index:45}@keyframes plan-tl-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.plan-tl-head{align-items:center;border-bottom:1px solid #eef1f6;display:flex;flex-shrink:0;gap:12px;padding:9px 14px}.plan-tl-title{color:#1a1a2e;font-size:12px;font-weight:800}.plan-tl-axis{font-feature-settings:"tnum";color:#94a3b8;display:flex;flex:1 1;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:700;justify-content:space-between;padding:0 4px 0 8px}.plan-tl-x{background:#0000;border:none;border-radius:7px;color:#94a3b8;cursor:pointer;flex-shrink:0;font-size:18px;height:26px;width:26px}.plan-tl-x:hover{background:#0f172a0f;color:#1a1a2e}.plan-tl-body{flex:1 1;min-height:0;overflow-y:auto;padding:6px 14px 10px}.plan-tl-row{gap:10px;padding:4px 0}.plan-tl-name,.plan-tl-row{align-items:center;display:flex}.plan-tl-name{color:#334155;flex:0 0 130px;font-size:12px;font-weight:700;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plan-tl-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.plan-tl-rail{background:#eef1f6;border-radius:5px;flex:1 1;height:18px;position:relative}.plan-tl-tick{border:none;border-radius:2px;cursor:pointer;height:12px;padding:0;position:absolute;top:3px;transform:translateX(-50%);transition:height .12s,top .12s,width .12s;width:3px}.plan-tl-tick:hover{height:18px;top:0;width:5px}@media (prefers-reduced-motion:reduce){.plan-tl-panel{animation:none}.plan-tl-tick{transition:none}}.plan-editbar{align-items:center;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff4d;border:1px solid #ffffff59;border-radius:17px;box-shadow:0 5px 20px #00000024,inset 0 1px 0 #ffffff80;display:flex;flex-direction:row;gap:6px;padding:5px 8px;position:absolute;right:10px;top:130px;white-space:nowrap;z-index:500}.tray-assign{overflow:hidden;position:relative}.tray-assign-select{border:none;cursor:pointer;height:100%;inset:0;opacity:0;position:absolute;width:100%}.tray-assign.tray-disabled{opacity:.4;pointer-events:none}.plan-edit-tools{border:1px solid #dbe1ea;border-radius:9px;display:inline-flex;overflow:hidden}.plan-edit-tool{background:#fff;border:none;color:#475569;cursor:pointer;font-size:12px;font-weight:700;padding:6px 14px;transition:background .13s,color .13s}.plan-edit-tool+.plan-edit-tool{border-left:1px solid #dbe1ea}.plan-edit-tool:hover{background:#f1f5ff;color:#2f6bf0}.plan-edit-tool.on{background:#2f6bf0;color:#fff}.plan-edit-count{color:#1a1a2e;font-size:12px;font-weight:700}.plan-edit-clear{background:#fff;border:1px solid #dbe1ea;border-radius:999px;color:#475569;cursor:pointer;font-size:11.5px;font-weight:700;padding:4px 12px}.plan-edit-clear:hover:not(:disabled){background:#f1f5ff;border-color:#2f6bf0;color:#2f6bf0}.plan-edit-actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.plan-edit-first{background:#fff;border:1px solid #cdd9f5;border-radius:9px;color:#2f6bf0;cursor:pointer;font-size:12px;font-weight:700;padding:7px 14px;transition:background .14s,border-color .14s,color .14s}.plan-edit-first:hover:not(:disabled){background:#2f6bf0;border-color:#2f6bf0;box-shadow:0 2px 10px #2f6bf052;color:#fff}.plan-edit-first:disabled{cursor:not-allowed;opacity:.45}.plan-edit-unassign{background:#fff;border:1px solid #f0c2c2;border-radius:9px;color:#d64545;cursor:pointer;font-size:12px;font-weight:700;padding:7px 14px;transition:background .14s,border-color .14s,color .14s}.plan-edit-unassign:hover:not(:disabled){background:#ef4444;border-color:#ef4444;box-shadow:0 2px 10px #ef444459;color:#fff}.plan-edit-assign{background:#fff;border:1px solid #dbe1ea;border-radius:9px;color:#1a1a2e;cursor:pointer;font-size:12px;font-weight:700;max-width:210px;padding:7px 12px}.plan-edit-assign:hover:not(:disabled){border-color:#2f6bf0;color:#2f6bf0}.plan-edit-assign:disabled,.plan-edit-clear:disabled,.plan-edit-unassign:disabled{cursor:not-allowed;opacity:.45}.plan-edit-spin{animation:plan-spin .7s linear infinite;border:2px solid #cfd8e6;border-radius:50%;border-top-color:#2f6bf0;flex-shrink:0;height:15px;width:15px}.plan-edit-error{color:#d64545;flex-basis:100%;font-size:12px;font-weight:700}@media (prefers-reduced-motion:reduce){.fleet-card,.matrix-box,.plan-edit-spin,.plan-optimize,.plan-timer-indet,.plan-timer-spin,.tms-loading-spinner{animation:none!important;transition:none!important}}.route-list-panel{background:#0000;box-sizing:border-box;width:100%}.route-list-head{grid-gap:6px;border-bottom:.5px solid #e4e7ec;color:#98a2b3;display:grid;font-size:11px;gap:6px;grid-template-columns:5px 38px auto;padding:7px 8px 6px 0}.route-list-head>:first-child{grid-column:2}.route-list-row{grid-gap:6px;align-items:center;border-bottom:.5px solid #e4e7ec;cursor:pointer;display:grid;gap:6px;grid-template-columns:5px 38px auto;padding:7px 8px 7px 0}.route-list-row:last-child{border-bottom:none}.route-list-row:hover{background:#fafbfc}.route-list-row.sel{background:#edf2fe}.route-list-row:focus-visible{outline:2px solid #2f6bf0;outline-offset:2px}.route-list-spine{border-radius:0 3px 3px 0;height:17px;width:4px}.route-list-spine-wrap{align-items:center;align-self:stretch;cursor:pointer;display:flex;grid-column:1;position:relative}.route-list-spine-wrap:hover .route-list-spine{box-shadow:0 0 0 2px #2f6bf066}.route-list-spine-wrap input[type=color]{border:none;cursor:pointer;height:100%;inset:0;opacity:0;padding:0;position:absolute;width:100%}.route-list-id{align-items:flex-start;display:flex;min-width:0;overflow:hidden}.route-list-name{color:#101828;font-size:12px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-list-id-unassigned .route-list-name{color:#98a2b3}.route-list-trips{color:#2f6bf0;flex:0 0 auto;font-size:8px;font-weight:700;line-height:1;margin-left:1px}.route-list-time{font-feature-settings:"tnum";color:#667085;font-family:JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-variant-numeric:tabular-nums;text-align:left}.route-list-time.late{color:#e08a17;font-weight:500}.field-page{background:#f5f7fb;height:100vh;overflow:hidden;position:relative}.field-view-hidden{display:none}.field-banners{display:flex;flex-direction:column;gap:8px;left:606px;position:absolute;right:14px;top:76px;z-index:900}.field-banner{border-radius:10px;flex-shrink:0;font-size:13px;font-weight:600;padding:9px 13px}.field-banner.ok{background:#ecfdf5;border:1px solid #a7f3d0;color:#047857}.field-banner.err{background:#fef2f2;border:1px solid #fecaca;color:#b91c1c}.field-banner.ok{align-items:center;display:flex;gap:10px}.field-banner.ok span{flex:1 1}.field-banner-close{background:#0000;border:none;border-radius:6px;color:inherit;cursor:pointer;flex-shrink:0;font-size:16px;font-weight:700;height:20px;line-height:1;opacity:.6;padding:0;width:20px}.field-banner-close:hover{background:#0478571f;opacity:1}.field-blank{align-items:center;color:#64748b;display:flex;flex-direction:column;font-size:14px;gap:10px;inset:0;justify-content:center;line-height:1.6;position:absolute;text-align:center}.field-map .field-blank{inset:auto;bottom:119px;left:606px;right:58px;top:136px}.field-blank h2{color:#1a1a2e;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:800}.field-blank p{max-width:520px}.field-daypick{color:#64748b;display:inline-flex;font-size:12.5px;gap:7px}.field-daypick,.field-daypick-btn{align-items:center;font-weight:700}.field-daypick-btn{background:#fff;border:1px solid #dbe1ea;border-radius:9px;color:#1a1a2e;cursor:pointer;display:flex;font-size:13px;gap:8px;max-width:260px;padding:7px 11px;transition:background .13s,border-color .13s,color .13s}.field-daypick-btn-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-daypick-chev{color:#94a3b8;flex-shrink:0;transition:transform .18s,color .13s}.field-daypick-btn.open,.field-daypick-btn:hover{border-color:#2f6bf0;color:#2f6bf0}.field-daypick-btn.open .field-daypick-chev,.field-daypick-btn:hover .field-daypick-chev{color:#2f6bf0}.field-daypick-btn.open .field-daypick-chev{transform:rotate(180deg)}.field-daypick-btn:focus-visible{outline:2px solid #2f6bf0;outline-offset:1px}@media (prefers-reduced-motion:reduce){.field-daypick-chev{transition:color .13s}.field-daypick-btn.open .field-daypick-chev{transform:none}}.field-daypick-pop-backdrop{inset:0;position:fixed;z-index:2100}.field-daypick-pop{animation:modal-in .18s cubic-bezier(.2,.8,.4,1);backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:14px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;list-style:none;margin:0;max-height:320px;overflow-y:auto;padding:6px;position:fixed;z-index:2101}.field-daypick-opt{align-items:center;border-radius:9px;color:#33404f;cursor:pointer;display:flex;font-size:8.75px;font-weight:600;gap:8px;padding:8px 10px;transition:background .1s}.field-daypick-opt.active{background:#2f6bf01a}.field-daypick-opt.selected{color:#1a1a2e;font-weight:700}.field-daypick-opt-date{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.field-daypick-opt-events{color:#445064;font-size:8.05px;font-weight:600;margin-left:auto}.field-daypick-opt.selected .field-daypick-opt-events{color:#173a9c}.field-daypick-check{color:#173a9c;flex-shrink:0}@media (prefers-reduced-motion:reduce){.field-daypick-pop{animation:none}}.field-rep-filter-pop .field-daypick-opt{color:#000;font-size:13px}.field-rep-filter-pop .field-daypick-opt.selected{color:#000}.field-rep-filter-pop .field-daypick-opt:hover{background:#2f6bf01a}.field-import{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1a1a2e;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:8px 14px;transition:background .15s,border-color .15s,color .15s,transform .15s,box-shadow .15s;white-space:nowrap}.field-import:hover:not(:disabled){background:#f6f4ff;border-color:#7c5cff;box-shadow:0 6px 16px -8px #0f172a59;color:#7c5cff;transform:translateY(-1px)}.field-import:disabled{cursor:progress;opacity:.55}.field-import.primary{background:#7c5cff;border-color:#7c5cff;box-shadow:0 8px 20px -6px #7c5cff99;color:#fff}.field-template-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;margin-left:-6px;padding:0;transition:background .15s,border-color .15s,color .15s;width:34px}.field-template-btn:hover{background:#f6f4ff;border-color:#7c5cff;color:#7c5cff}.field-viewonly{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;color:#64748b;cursor:default;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.02em;padding:7px 12px;white-space:nowrap}.field-day{inset:0;position:absolute}.field-rail{backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:18px;bottom:14px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;display:flex;flex-direction:column;left:14px;overflow:hidden;position:absolute;top:76px;width:300px;z-index:800}.field-acts:before,.field-rail:before{background:linear-gradient(90deg,#fff0,#fffffff2 50%,#fff0);content:"";height:1px;left:14px;pointer-events:none;position:absolute;right:14px;top:0;z-index:1}.field-rail-head{align-items:center;border-bottom:1px solid #0f172a14;display:flex;flex-shrink:0;justify-content:space-between;padding:11px 13px 9px}.field-rail-head h3{color:#94a3b8;font-size:11px;font-weight:800;letter-spacing:.06em;margin:0;text-transform:uppercase}.field-count{font-feature-settings:"tnum";background:#ffffff80;border-radius:999px;color:#64748b;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;padding:2px 9px}.field-rep-filter-btn{background:#ffffff80;border-color:#0f172a24;color:#475569;flex:1 1 auto;font-size:13px;padding:6px 8px}.field-rep-filter-btn .field-daypick-btn-label{white-space:nowrap}.field-rep-filter-btn.active{background:#2f6bf00f;border-color:#2f6bf0;color:#2f6bf0}.field-rep-filter-btn.active .field-daypick-chev{color:#2f6bf0}.field-rep-filter-btn.open,.field-rep-filter-btn:hover{background:#ffffffd9}.field-rail-controls{gap:6px;margin:8px 11px}.field-rail-controls,.field-warn-btn{align-items:center;display:flex;flex-shrink:0}.field-warn-btn{background:#fffbeb;border:1px solid #d97706;border-radius:8px;color:#b45309;cursor:pointer;height:26px;justify-content:center;transition:background .13s,border-color .13s;width:26px}.field-warn-btn:hover{background:#fef3c7;border-color:#fbbf24}.field-warn-btn:focus-visible{outline:2px solid #2f6bf0;outline-offset:1px}.field-unmatched-pop{display:flex;flex-direction:column;max-height:360px}.field-unmatched-head{align-items:center;color:#1a1a2e;display:flex;font-size:12px;font-weight:700;gap:8px;padding:6px 8px 8px}.field-unmatched-close{background:#0000;border:none;border-radius:6px;color:#445064;cursor:pointer;flex-shrink:0;font-size:16px;font-weight:700;height:20px;line-height:1;margin-left:auto;padding:0;width:20px}.field-unmatched-close:hover{background:#0f172a14;color:#1a1a2e}.field-unmatched-empty,.field-unmatched-loading{color:#445064;font-size:12px;font-weight:600;padding:16px 10px;text-align:center}.field-unmatched-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.field-unmatched-item{border-radius:9px;padding:7px 8px}.field-unmatched-item:hover{background:#2f6bf014}.field-unmatched-item-main{align-items:baseline;display:flex;gap:6px;min-width:0}.field-unmatched-item-name{color:#1a1a2e;font-size:12.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-unmatched-item-group,.field-unmatched-item-sub{color:#445064;font-weight:600}.field-unmatched-item-sub{flex-shrink:0;font-size:10.5px}.field-unmatched-outroute{color:#9333ea;font-weight:700}.field-unmatched-item-reps{color:#173a9c;font-size:11px;font-weight:600;margin-top:2px}.field-radius-btn{align-items:center;background:#ffffff80;border:1px solid #0f172a24;border-radius:9px;color:#475569;cursor:pointer;display:flex;flex-shrink:0;font-size:11.5px;font-weight:600;gap:6px;overflow:hidden;padding:7px 9px;transition:background .13s,border-color .13s;white-space:nowrap}.field-radius-btn b{font-feature-settings:"tnum";color:#1a1a2e;font-variant-numeric:tabular-nums}.field-radius-btn.open,.field-radius-btn:hover{background:#ffffffd9;border-color:#2f6bf0;color:#2f6bf0}.field-radius-btn.open b,.field-radius-btn:hover b{color:#2f6bf0}.field-radius-btn:focus-visible{outline:2px solid #2f6bf0;outline-offset:1px}.field-radius-pop-backdrop{inset:0;position:fixed;z-index:2100}.field-radius-pop{--track-h:11px;--thumb-h:24px;--outer:6px;--inner:2px;--dot-right:7px;--halo:28px;--thumb-w:3px;--gap:calc(var(--thumb-w)/2 + 6px);--ink:#1a1a2e;--ink-2:#33404f;--primary:#2f6bf0;--primary-rgb:47,107,240;--primary-soft:#2f6bf017;animation:modal-in .18s cubic-bezier(.2,.8,.4,1);backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:18px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;padding:14px;position:fixed;z-index:2101}.field-radius-pop-head{grid-gap:8px;align-items:center;border-bottom:1px solid #0f172a14;display:grid;gap:8px;grid-template-columns:24px 1fr 24px;padding-bottom:9px}.field-radius-pop-head h4{color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;grid-column:2;letter-spacing:-.01em;margin:0;text-align:center}.field-radius-pop-close{background:#f1f5f9;border:none;border-radius:7px;color:#526077;cursor:pointer;flex-shrink:0;font-size:14px;grid-column:3;height:24px;line-height:1;transition:background .13s,transform .13s;width:24px}.field-radius-pop-close:hover{background:#e2e8f0;color:#1a1a2e;transform:rotate(90deg)}.field-radius-pop-close:focus-visible{outline:2px solid #173a9c;outline-offset:1px}@media (prefers-reduced-motion:reduce){.field-radius-pop-close{transition:background .13s}.field-radius-pop-close:hover{transform:none}}.field-radius-pop-value{font-feature-settings:"tnum";color:var(--ink);font-family:Space Grotesk,sans-serif;font-size:30px;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;line-height:1;margin:12px 0 8px;text-align:center}.field-radius-pop-value span{color:var(--ink-2);font-size:13px;font-weight:700;margin-left:3px}.field-radius-slider-row{align-items:center;cursor:pointer;display:flex;height:var(--thumb-h);padding:0 calc(var(--thumb-h)/2);position:relative;touch-action:none}.field-radius-track{height:var(--track-h);position:relative;width:100%}.field-radius-seg{bottom:0;overflow:hidden;position:absolute;top:0;transition:left .3s cubic-bezier(.175,.885,.32,1.275),right .3s cubic-bezier(.175,.885,.32,1.275)}.field-radius-seg-active{background:#173a9c;border-radius:var(--outer) var(--inner) var(--inner) var(--outer);left:0;right:calc(100% - var(--p)*1% + var(--gap))}.field-radius-seg-inactive{background:rgba(var(--primary-rgb),.2);border-radius:var(--inner) var(--outer) var(--outer) var(--inner);left:calc(var(--p)*1% + var(--gap));right:0}.field-radius-dot{background:rgba(var(--primary-rgb),.4);border-radius:50%;height:5px;position:absolute;right:var(--dot-right);top:50%;transform:translateY(-50%);width:5px}.field-radius-handle{align-items:center;cursor:grab;display:flex;height:var(--thumb-h);justify-content:center;left:calc(var(--p)*1%);outline:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .3s cubic-bezier(.175,.885,.32,1.275);width:var(--thumb-h)}.field-radius-handle:active{cursor:grabbing}.field-radius-handle:focus-visible{outline:2px solid #173a9c;outline-offset:2px}.field-radius-halo{background:var(--primary);border-radius:50%;height:var(--halo);left:50%;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%) scale(.5);transition:opacity .2s ease,transform .2s ease;width:var(--halo)}.field-radius-handle:hover .field-radius-halo{opacity:.08;transform:translate(-50%,-50%) scale(1)}.field-radius-handle:focus-visible .field-radius-halo{opacity:.1;transform:translate(-50%,-50%) scale(1)}.field-radius-pill{background:#173a9c;border-radius:999px;box-shadow:0 1px 2px #16181d24;height:var(--thumb-h);transition:width .25s cubic-bezier(.2,0,0,1);width:var(--thumb-w)}.field-radius-slider-row.dragging .field-radius-handle,.field-radius-slider-row.dragging .field-radius-seg-active,.field-radius-slider-row.dragging .field-radius-seg-inactive{transition:none}.field-radius-slider-row.dragging .field-radius-pill{transition:width .1s linear;width:calc(var(--thumb-w)/2)}.field-radius-slider-row.dragging .field-radius-halo{opacity:.1;transform:translate(-50%,-50%) scale(1)}@media (prefers-reduced-motion:reduce){.field-radius-halo,.field-radius-handle,.field-radius-pill,.field-radius-seg-active,.field-radius-seg-inactive{transition:none!important}}.field-radius-pop-apply{background:var(--primary-soft);border:1px solid #173a9cb3;border-radius:9px;color:#173a9c;cursor:pointer;display:block;font-family:inherit;font-size:12.5px;font-weight:700;margin:12px 0 0;padding:9px;transition:background .15s ease,border-color .15s ease,color .15s ease;width:100%}.field-radius-pop-apply:hover:not(:disabled){background:#173a9c;border-color:#173a9c;color:#fff}.field-radius-pop-apply:disabled{cursor:default;opacity:.5}.field-radius-pop-apply:focus-visible{outline:2px solid #173a9c;outline-offset:2px}.field-replist{display:flex;flex:1 1;flex-direction:column;gap:6px;min-height:0;overflow-y:auto;padding:0 10px 10px}.field-muted{color:#94a3b8;font-size:13px;padding:12px}.field-rep{align-items:center;background:#ffffff80;border:1px solid #0f172a24;border-radius:14px;cursor:pointer;display:flex;flex-shrink:0;gap:10px;overflow:hidden;padding:9px 12px 9px 15px;position:relative;text-align:left;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;width:100%}.field-rep:hover{background:#fffc;box-shadow:0 8px 18px -10px #0f172a59;transform:translateY(-1px)}.field-rep.sel{background:#7c5cff24;border-color:#7c5cff73;box-shadow:0 8px 18px -10px #7c5cff80}.field-rep-spine{border-radius:0 3px 3px 0;bottom:8px;left:0;position:absolute;top:8px;width:3px}.field-rep-avatar,.field-rep-spine{background:#98a2b3;background:var(--rep-accent,#98a2b3)}.field-rep-avatar{align-items:center;border-radius:50%;box-shadow:inset 0 1px 0 #fff6,inset 0 -6px 10px #0000001f;color:#fff;display:flex;flex-shrink:0;font-weight:800;height:30px;justify-content:center;letter-spacing:-.02em;overflow:hidden;padding:0 2px;white-space:nowrap;width:30px}.field-rep-main{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.field-rep-top{align-items:baseline;display:flex;gap:7px;min-width:0}.field-rep-name{color:#101828;flex:0 1 auto;font-size:13px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-rep-code{color:#98a2b3;flex-shrink:0;font-size:10.5px;font-weight:600;margin-left:auto}.field-rep-meta{font-feature-settings:"tnum";color:#64748b;font-size:11px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-rep-meta b{color:#101828}.field-acts{backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:18px;bottom:14px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;display:flex;flex-direction:column;left:326px;overflow:hidden;position:absolute;top:76px;width:268px;z-index:800}.field-act-search{align-items:center;background:#ffffff80;border:1px solid #0f172a14;border-radius:9px;color:#64748b;display:flex;flex-shrink:0;gap:7px;margin:8px 10px 4px;padding:7px 9px}.field-act-search input{background:#0000;border:none;color:#1a1a2e;flex:1 1;font-size:12.5px;font-weight:600;min-width:0;outline:none}.field-act-search input::placeholder{color:#64748b;font-weight:500}.field-act-search-clear{background:#0000;border:none;border-radius:4px;color:#64748b;cursor:pointer;flex-shrink:0;font-size:14px;font-weight:700;height:16px;line-height:1;padding:0;width:16px}.field-act-search-clear:hover{background:#0f172a14;color:#1a1a2e}.field-actlist{display:flex;flex:1 1;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding:8px}.field-act{align-items:center;background:#ffffff80;border:1px solid #0f172a24;border-radius:12px;cursor:pointer;display:flex;flex-shrink:0;gap:9px;overflow:hidden;padding:7px 9px 7px 13px;position:relative;text-align:left;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s;width:100%}.field-act:hover{background:#fffc;box-shadow:0 6px 14px -9px #0f172a59;transform:translateY(-1px)}.field-act.sel{background:#7c5cff24;border-color:#7c5cff73;box-shadow:0 6px 14px -9px #7c5cff80}.field-act-spine{border-radius:0 3px 3px 0;bottom:6px;left:0;position:absolute;top:6px;width:3px}.field-act-seq,.field-act-spine{background:#98a2b3;background:var(--act-accent,#98a2b3)}.field-act-seq{font-feature-settings:"tnum";align-items:center;border-radius:50%;box-shadow:inset 0 1px 0 #fff6,inset 0 -5px 8px #0000001f;color:#fff;display:flex;flex-shrink:0;font-size:10px;font-variant-numeric:tabular-nums;font-weight:800;height:20px;justify-content:center;width:20px}.field-act-seq-n{line-height:1}.field-act-seq.shape-square{border-radius:5px}.field-act-seq.unmatched{outline:2px dashed #98a2b3;outline-offset:2px}.field-act-body{display:flex;flex:1 1;flex-direction:column;gap:1px;min-width:0}.field-act-bot,.field-act-top{align-items:baseline;display:flex;gap:6px;min-width:0}.field-act-op{color:#101828;flex:1 1;font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-act-time{font-feature-settings:"tnum";color:#7c5cff;flex-shrink:0;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:700}.field-act-cust{color:#64748b;flex:1 1;font-size:11px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-act-dist{font-feature-settings:"tnum";color:#98a2b3;flex-shrink:0;font-size:10.5px;font-variant-numeric:tabular-nums}.field-stage{display:flex;flex-direction:column;inset:0;position:absolute}.field-stage-head{align-items:center;backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:14px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;display:flex;gap:12px;left:606px;min-width:520px;padding:10px 15px;position:absolute;right:14px;top:76px;z-index:700}.field-stage-head h3{color:#1a1a2e;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:800;margin:0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-stage-sub{font-feature-settings:"tnum";font-size:12px;font-variant-numeric:tabular-nums}.field-stage-sub,.field-toggle{color:#64748b;flex-shrink:0;white-space:nowrap}.field-toggle{align-items:center;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-left:auto}.field-ops-btn{flex-shrink:0;font-size:12px;padding:6px 10px}.field-ops-pop{max-height:none;padding:6px}.field-ops-opt{align-items:center;border-radius:9px;color:#33404f;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:8px;padding:7px 8px}.field-ops-opt:hover{background:#2f6bf014}.field-ops-opt input{accent-color:#2f6bf0;margin:0}.field-ops-opt .field-dot{flex-shrink:0}.field-map{inset:0}.field-fit-btn,.field-map{display:flex;position:absolute}.field-fit-btn{align-items:center;backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:10px;box-shadow:0 8px 20px -8px #33416e57,inset 0 1px 0 #ffffffd9;color:#1a1a2e;cursor:pointer;height:34px;justify-content:center;right:14px;top:132px;transition:background .13s,color .13s;width:34px;z-index:600}.field-fit-btn:hover{background:#ffffffe6;color:#2f6bf0}.field-fit-btn:focus-visible{outline:2px solid #2f6bf0;outline-offset:1px}.field-detail{backdrop-filter:blur(20px) saturate(190%);-webkit-backdrop-filter:blur(20px) saturate(190%);background:#ffffffe6;border:1px solid #fff9;border-radius:14px;bottom:119px;box-shadow:0 14px 32px -12px #33416e80,inset 0 1px 0 #ffffffd9;left:606px;padding:12px 14px;position:absolute;width:268px;z-index:500}.field-detail-x{background:none;border:none;color:#94a3b8;cursor:pointer;font-size:18px;line-height:1;position:absolute;right:9px;top:8px}.field-detail-time{font-feature-settings:"tnum";color:#7c5cff;font-size:11px;font-variant-numeric:tabular-nums;font-weight:700}.field-detail-op{color:#101828;font-size:13.5px;font-weight:700;margin-top:2px}.field-detail-cust{color:#475569;font-size:12px;margin-top:3px}.field-detail-cust em{color:#98a2b3;font-style:normal}.field-detail-row{align-items:center;color:#475569;display:flex;font-size:12px;gap:6px;margin-top:7px}.field-detail-row.muted{color:#94a3b8;font-size:11.5px;margin-top:3px}.field-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.field-tl{backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:14px;bottom:14px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;left:606px;min-width:480px;padding:6px 14px;position:absolute;right:14px;z-index:700}.field-tl-head{align-items:baseline;display:flex;font-family:Space Grotesk,sans-serif;gap:10px;justify-content:space-between}.field-tl-title{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.field-tl-readout{color:#64748b;flex-shrink:0;font-size:10.5px;font-weight:600;white-space:nowrap}.field-tl-readout b{font-feature-settings:"tnum";color:#1a1a2e;font-variant-numeric:tabular-nums;font-weight:700}.field-tl-well{background:#0f172a0f;position:relative}.field-tl-well-day{border-radius:4px;box-shadow:inset 0 1px 2px #0f172a1a;cursor:crosshair;height:11px;margin-top:4px}.field-tl-mark{border-radius:2px;bottom:1.5px;position:absolute;top:1.5px;transform:translateX(-50%);width:3px}.field-tl-frame{background:#2f6bf01f;border:1.5px solid #2f6bf0;border-radius:6px;bottom:-2px;box-shadow:0 2px 8px -1px #2f6bf059,inset 0 1px 0 #ffffffb3;cursor:grab;position:absolute;top:-2px}.field-tl-frame.grabbing{cursor:grabbing}.field-tl-pill{background:#fff;background-image:linear-gradient(#1a1a2e73,#1a1a2e73) no-repeat 1px 2px /1px 6px,linear-gradient(#1a1a2e73,#1a1a2e73) no-repeat 3px 2px /1px 6px;border:1px solid #1a1a2e4d;border-radius:3px;cursor:ew-resize;height:10px;margin-top:-5px;position:absolute;top:50%;width:6px}.field-tl-pill-l{left:-3px}.field-tl-pill-r{right:-3px}.field-tl-ruler{height:8px;margin-top:1px;position:relative}.field-tl-ruler-tick{position:absolute;top:0}.field-tl-ruler-tick:before{background:#0f172a2e;content:"";height:5px;left:0;position:absolute;top:0;width:1px}.field-tl-ruler-tick b{font-feature-settings:"tnum";color:#64748b;font-size:8px;font-variant-numeric:tabular-nums;font-weight:600;left:2px;position:absolute;top:0;white-space:nowrap}.field-tl-lens{display:block;height:9px;margin-top:2px;overflow:visible;width:100%}.field-tl-lens polygon{fill:#0f172a0a;stroke:#0f172a29;stroke-width:1}.field-tl-well-zoom{border-radius:6px;cursor:crosshair;height:23px;margin-top:2px}.field-tl-badge{font-feature-settings:"tnum";align-items:center;background:#98a2b3;background:var(--tl-accent,#98a2b3);border-radius:50%;box-shadow:inset 0 1px 0 #fff6,inset 0 -3px 5px #00000026;color:#fff;cursor:pointer;display:flex;font-size:7px;font-variant-numeric:tabular-nums;font-weight:800;height:14px;justify-content:center;margin:-7px 0 0 -7px;position:absolute;top:50%;width:14px}.field-tl-badge.selected{outline:1.5px solid #2f6bf0d9;outline-offset:1.5px}.field-tl-badge-n{line-height:1}.field-tl-badge.shape-square{border-radius:3px}.field-tl-badge.unmatched{outline:1.5px dashed #98a2b3;outline-offset:1.5px}.field-tl-playhead{background:#1a1a2e8c;bottom:0;pointer-events:none;position:absolute;top:0;transform:translateX(-.5px);width:1px}.field-tl-playhead-chip{font-feature-settings:"tnum";background:#eef1f6;border-radius:4px;color:#0c0f16;font-size:8px;font-variant-numeric:tabular-nums;font-weight:700;padding:1px 5px;pointer-events:none;position:absolute;top:2px;transform:translateX(2px);white-space:nowrap}@media (prefers-reduced-motion:reduce){.field-act,.field-import,.field-rep{transition:none!important}}.field-visited{color:#16a34a;font-weight:700}.field-warn{background:#fffbeb;border:1px solid #fde68a;border-radius:10px;color:#92400e;flex-shrink:0;font-size:12.5px;padding:8px 13px}.field-warn summary{cursor:pointer;font-weight:700}.field-warn ul{display:flex;flex-direction:column;gap:3px;line-height:1.5;margin:7px 0 0 18px}.field-dash{background:#f5f5f5;height:100vh;overflow-y:auto;padding:86px 28px 28px;width:100%}.field-dash-banners{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.field-dash-header{margin-bottom:14px}.field-dash-header h1{color:#1a1a2e;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700}.field-dash-sub{color:#64748b;font-size:13px;line-height:1.55;margin-top:6px;max-width:640px}.field-dash-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.field-dash-filter{background:#fff;border:1px solid #dbe1ea;border-radius:9px;color:#1a1a2e;cursor:pointer;font-size:12.5px;font-weight:600;padding:7px 10px}.field-dash-filter-clear{background:#0000;border:1px solid #0000;border-radius:9px;color:#2f6bf0;cursor:pointer;font-size:12.5px;font-weight:700;padding:7px 12px}.field-dash-filter-clear:hover{background:#2f6bf014}.field-dash-kpis{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));margin-bottom:16px}.field-dash-kpi{background:#fff;border:1px solid #ebeef3;border-radius:12px;box-shadow:0 1px 3px #0f172a0d;display:flex;flex-direction:column;gap:3px;min-width:0;padding:11px 14px}.field-dash-kpi-val{font-feature-settings:"tnum";color:#1a1a2e;font-family:Space Grotesk,sans-serif;font-size:20px;font-variant-numeric:tabular-nums;font-weight:800;line-height:1.1;white-space:nowrap}.field-dash-kpi-lbl{color:#64748b;font-size:11px;font-weight:600}.field-dash-charts{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(3,1fr);margin-bottom:14px}@media (max-width:1080px){.field-dash-charts{grid-template-columns:1fr 1fr}}@media (max-width:640px){.field-dash-charts{grid-template-columns:1fr}}.field-dash-chart-card{display:flex;flex-direction:column;margin-bottom:0;min-width:0}.field-dash-donut-wrap{align-items:center;display:flex;flex-direction:column;gap:12px}.field-dash-donut{flex-shrink:0}.field-dash-donut-total{fill:#101828;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:800}.field-dash-donut-total-lbl{fill:#94a3b8;font-size:10.5px;font-weight:600}.field-dash-donut-total-sm{font-size:15px}.field-dash-mini-donuts{grid-gap:10px;border-top:1px solid #f1f4f8;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-top:16px;padding-top:14px}.field-dash-mini-donut{align-items:center;display:flex;flex-direction:column;gap:6px;min-width:0}.field-dash-mini-donut-lbl{color:#475569;font-size:11px;font-weight:600;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}@media (max-width:480px){.field-dash-mini-donuts{grid-template-columns:1fr}}.field-dash-donut-legend{display:flex;flex-wrap:wrap;gap:6px 20px;justify-content:center;min-width:0}.field-dash-donut-legend-row{align-items:center;display:flex;font-size:12.5px;gap:8px}.field-dash-donut-swatch{border-radius:3px;flex-shrink:0;height:10px;width:10px}.field-dash-donut-legend-lbl{color:#475569;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-dash-donut-legend-val{font-feature-settings:"tnum";color:#101828;flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:700}.field-dash-bars{display:flex;flex-direction:column;gap:10px}.field-dash-bar-row{align-items:center;display:flex;gap:10px}.field-dash-bar-label{color:#475569;flex-shrink:0;font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:92px}.field-dash-bar-track{background:#eef1f6;border-radius:5px;flex:1 1;height:9px;overflow:hidden}.field-dash-bar-fill{border-radius:5px;box-shadow:inset 0 1px 0 #ffffff73;display:block;height:100%;transition:width .2s}.field-dash-bar-pct{font-feature-settings:"tnum";color:#101828;flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;text-align:right;width:34px}.field-dash-pair-toggle{border:1px solid #dbe1ea;border-radius:8px;display:flex;flex-shrink:0;overflow:hidden}.field-dash-strike-controls{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:8px;justify-content:flex-end}.field-dash-strike-controls .field-dash-filter{border-radius:7px;font-size:11.5px;padding:5px 8px}.field-dash-pair-toggle button{background:#fff;border:none;color:#64748b;cursor:pointer;font-size:11.5px;font-weight:700;padding:5px 10px;white-space:nowrap}.field-dash-pair-toggle button+button{border-left:1px solid #dbe1ea}.field-dash-pair-toggle button.on{background:#2f6bf0;color:#fff}.field-dash-timelist{display:flex;flex-direction:column;gap:8px;max-height:260px;overflow-y:auto}.field-dash-timelist-row{align-items:center;display:flex;font-size:12px;gap:8px}.field-dash-timelist-name{color:#334155;flex:1 1 auto;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-dash-timelist-time{font-feature-settings:"tnum";color:#101828;flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:700}.field-dash-timelist-arrow{color:#cbd5e1;flex-shrink:0}.field-dash-timelist-gap{font-feature-settings:"tnum";border-radius:999px;flex-shrink:0;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:700;margin-left:auto;padding:2px 7px}.field-dash-timelist-gap-wide{background:#f7e5e3;color:#b0322a}.field-dash-timelist-gap-tight{background:#e2f1e5;color:#196929}.field-dash-section{background:#fff;border:1px solid #ebeef3;border-radius:14px;box-shadow:0 1px 3px #0f172a0d;margin-bottom:14px;padding:15px 18px}.field-dash-section-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:12px}.field-dash-section-head h2{align-items:center;color:#1a1a2e;display:flex;font-family:Space Grotesk,sans-serif;font-size:16px;font-weight:700;gap:9px}.field-dash-section-head p{color:#64748b;font-size:12.5px;line-height:1.5;margin-top:4px;max-width:560px}.field-dash-preview{background:#f1edff;border-radius:999px;color:#5a37d9;font-family:Inter,sans-serif;font-size:10.5px;font-weight:700;letter-spacing:.02em;padding:2px 9px}.field-dash-threshold{align-items:center;color:#64748b;display:flex;flex-shrink:0;font-size:11.5px;font-weight:600;gap:6px}.field-dash-threshold input{font-feature-settings:"tnum";background:#f8fafc;border:1px solid #dbe1ea;border-radius:8px;color:#1a1a2e;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;padding:5px 8px;width:56px}.field-dash-threshold input:focus-visible{outline:2px solid #2f6bf0;outline-offset:1px}.field-dash-threshold span{color:#94a3b8}.field-dash-replist{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.field-dash-rep{align-items:center;background:#fff;border:1px solid #ebeef3;border-radius:12px;display:flex;flex-wrap:wrap;gap:8px 10px;min-width:0;overflow:hidden;padding:8px 10px 8px 13px;position:relative}.field-dash-rep-spine{border-radius:0 3px 3px 0;bottom:8px;left:0;position:absolute;top:8px;width:3px}.field-dash-rep-avatar,.field-dash-rep-spine{background:#98a2b3;background:var(--rep-accent,#98a2b3)}.field-dash-rep-avatar{align-items:center;border-radius:50%;box-shadow:inset 0 1px 0 #fff6,inset 0 -6px 10px #0000001f;color:#fff;display:flex;flex-shrink:0;font-weight:800;height:34px;justify-content:center;width:34px}.field-dash-rep-main{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:90px}.field-dash-rep-name{color:#101828;font-size:13px;font-weight:700}.field-dash-rep-meta,.field-dash-rep-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.field-dash-rep-meta{color:#64748b;font-size:11px}.field-dash-rep-open{align-items:center;background:#fff;border:1px solid #dbe1ea;border-radius:8px;color:#2f6bf0;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;padding:0;transition:background .13s,border-color .13s;width:28px}.field-dash-rep-open:hover{background:#f5f8ff;border-color:#2f6bf0}.field-dash-note{color:#94a3b8;font-size:11.5px;line-height:1.5;margin:10px 2px 0}.field-dash-showall{background:#fff;border:1px solid #dbe1ea;border-radius:9px;color:#2f6bf0;cursor:pointer;font-size:12.5px;font-weight:700;margin-top:10px;padding:8px 14px;transition:background .13s,border-color .13s;width:100%}.field-dash-showall:hover{background:#f5f8ff;border-color:#2f6bf0}@media (max-width:1100px){.field-dash-replist{grid-template-columns:repeat(3,1fr)}}@media (max-width:820px){.field-dash-replist{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.field-dash-replist{grid-template-columns:1fr}}.field-dash-agent{border-top:3px solid #7c5cff}.field-dash-draft-dismiss-icon:hover{background:#fef2f2;border-color:#dc4a3f;color:#dc4a3f}.field-dash-draft-send-icon:not(:disabled){border-color:#7c5cff;color:#7c5cff}.field-dash-draft-send-icon:not(:disabled):hover{background:#f6f4ff}.field-dash-draft-send-icon:disabled{cursor:not-allowed;opacity:.45}.field-dash-add{background:#fff;border:1px solid #dbe1ea;border-radius:9px;color:#475569;flex-shrink:0;font-size:12.5px;font-weight:700;padding:7px 13px}.field-dash-add:disabled{cursor:not-allowed;opacity:.55}.field-dash-rows{display:flex;flex-direction:column}.field-dash-row{align-items:center;border-bottom:1px solid #f1f4f8;display:flex;gap:14px;justify-content:space-between;padding:11px 2px}.field-dash-row:last-child{border-bottom:none;padding-bottom:2px}.field-dash-row-text{display:flex;flex-direction:column;gap:2px;min-width:0}.field-dash-row-name{color:#101828;font-size:13px;font-weight:700}.field-dash-row-detail{color:#64748b;font-size:11.5px}.field-dash-reports-alerts{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr}@media (max-width:720px){.field-dash-reports-alerts{grid-template-columns:1fr}}.field-dash-toggle{background:#7c8798;border:1px solid #7c8798;border-radius:999px;cursor:pointer;flex-shrink:0;height:22px;padding:2px;transition:background .15s,border-color .15s;width:38px}.field-dash-toggle:focus-visible{outline:2px solid #2f6bf0;outline-offset:2px}.field-dash-toggle.on{background:#2f6bf0;border-color:#2f6bf0}.field-dash-toggle-thumb{background:#fff;border-radius:50%;box-shadow:0 1px 2px #0f172a40;display:block;height:16px;transition:transform .15s;width:16px}.field-dash-toggle.on .field-dash-toggle-thumb{transform:translateX(16px)}@media (prefers-reduced-motion:reduce){.field-dash-toggle,.field-dash-toggle-thumb{transition:none!important}}.modal.field-glass-dialog{backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80}.field-glass-dialog .ro-btn-ghost,.field-glass-dialog .ro-btn-primary{flex:1 1;padding:9px 11px}@media (max-width:720px){.field-dash-section-head{flex-direction:column}}.field-reps-page{padding-top:80px}.field-nav-btn-badged{position:relative}.field-nav-badge{align-items:center;background:#e0472c;border:1.5px solid #fff;border-radius:50%;color:#fff;display:inline-flex;font-size:10.5px;font-weight:800;height:15px;justify-content:center;line-height:1;position:absolute;right:2px;top:2px;transform:translate(50%,-50%);width:15px}*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%}body{background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.nav{align-items:center;backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);background:#ffffffb3;border:1px solid #ffffff80;border-radius:16px;box-shadow:0 16px 40px -14px #33416e57,inset 0 1px 0 #ffffffd9;display:flex;gap:14px;height:56px;left:10px;padding:0 16px;position:fixed;right:10px;top:10px;z-index:1000}.nav:before{background:linear-gradient(90deg,#0000,#fffffff2,#0000);content:"";height:1px;left:16px;pointer-events:none;position:absolute;right:16px;top:0}.brand{flex-shrink:0;gap:9px}.brand,.brand-logo{align-items:center;display:flex}.brand-logo{height:35px;justify-content:center;width:35px}.brand-logo img{filter:drop-shadow(0 2px 5px rgba(15,23,42,.28));height:100%;object-fit:contain;width:100%}.brand-name{color:#1a1f33;font-family:Space Grotesk,sans-serif;font-size:18px;font-weight:700;letter-spacing:-.01em;white-space:nowrap}.brand-dot{color:#2f6bf0}.nav-tabs{display:flex;flex-shrink:0;gap:2px;margin-left:6px}.nav-btn{background:#0000;border:none;border-radius:9px;color:#5a6478;cursor:pointer;font-size:13.5px;font-weight:600;padding:7px 14px;transition:background .15s ease,color .15s ease;white-space:nowrap}.nav-btn:hover{background:#0f172a0d;color:#1a1f33}.nav-btn.active{background:#2f6bf01f;color:#2f6bf0}.plan-chip{align-items:center;background:#7882a01f;border-radius:999px;color:#5a6478;display:inline-flex;font-size:12px;gap:7px;max-width:220px;overflow:hidden;padding:6px 11px;white-space:nowrap}.plan-chip-dot{background:#22c55e;border-radius:50%;box-shadow:0 0 0 2px #22c55e33;flex-shrink:0;height:7px;width:7px}.plan-chip-region{font-weight:500;overflow:hidden;text-overflow:ellipsis}.plan-chip-sep{color:#b6bdcc}.plan-chip-week{color:#1a1f33;font-weight:700}.nav-spacer{flex:1 1}.select-route-btn{align-items:center;background:#2f6bf0;border:none;border-radius:11px;box-shadow:0 8px 20px -6px #2f6bf099;color:#fff;cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:13.5px;font-weight:700;gap:7px;padding:9px 16px;transition:background .15s ease,transform .12s ease,box-shadow .15s ease}.select-route-btn:hover{background:#2459d8;box-shadow:0 10px 24px -6px #2f6bf0b3}.select-route-btn:active{transform:translateY(1px)}.select-route-btn:focus-visible{box-shadow:0 0 0 3px #2f6bf066;outline:none}.select-route-chevron{opacity:.9;transition:transform .18s ease}.select-route-btn.open .select-route-chevron{transform:rotate(180deg)}@media (max-width:1120px){.plan-chip{display:none}}@media (prefers-reduced-motion:reduce){.nav-btn,.select-route-btn{transition:none!important}}.session-select{margin-right:12px}.session-btn{align-items:center;background:#ffffff14;border:1px solid #ffffff29;border-radius:10px;color:#fff;cursor:pointer;display:flex;gap:9px;max-width:320px;min-width:230px;padding:6px 12px;transition:background .15s,border-color .15s}.session-btn.open,.session-btn:hover{background:#ffffff24;border-color:#ffffff47}.session-btn>svg:first-child{color:#9aa6ff;flex-shrink:0}.session-btn-text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;line-height:1.15;min-width:0}.session-btn-eyebrow{color:#8b93ad;font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.session-btn-label{color:#fff;font-size:13px;font-weight:600;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-btn-chevron{color:#aab0c4;flex-shrink:0;transition:transform .18s ease}.session-btn.open .session-btn-chevron{transform:rotate(180deg)}.session-pop-backdrop{inset:0;position:fixed;z-index:2500}.session-pop{animation:modal-in .18s cubic-bezier(.2,.8,.4,1);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);background:#fffffff7;border:1px solid #fff9;border-radius:14px;box-shadow:0 20px 48px -12px #33416e6b,inset 0 1px 0 #ffffffe6;display:flex;flex-direction:column;max-height:60vh;max-width:380px;padding:8px;position:fixed;z-index:2501}.session-pop-head{align-items:center;display:flex;justify-content:space-between;padding:6px 8px 8px}.session-pop-title{color:#94a3b8;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.session-pop-count{font-feature-settings:"tnum";background:#4361ee1f;border-radius:999px;color:#3a4fd4;font-size:11px;font-variant-numeric:tabular-nums;font-weight:800;padding:2px 8px}.session-pop-search{border:1px solid #e2e8f0;border-radius:9px;font-size:13px;margin:0 4px 6px;outline:none;padding:8px 11px}.session-pop-search:focus{border-color:#4361ee}.session-pop-list{display:flex;flex-direction:column;gap:2px;overflow-y:auto}.session-pop-item{align-items:center;background:#0000;border:none;border-radius:9px;cursor:pointer;display:flex;gap:10px;justify-content:space-between;padding:9px 11px;text-align:left;transition:background .13s;width:100%}.session-pop-item:hover{background:#4361ee14}.session-pop-item.active{background:#4361ee1f}.session-pop-item-main{display:flex;flex-direction:column;gap:2px;min-width:0}.session-pop-item-label{color:#1a1a2e;font-size:13.5px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-pop-item.active .session-pop-item-label{color:#3a4fd4}.session-pop-item-meta{font-feature-settings:"tnum";color:#94a3b8;font-size:11.5px;font-variant-numeric:tabular-nums}.session-pop-check{color:#4361ee;flex-shrink:0}.session-pop-empty{color:#94a3b8;font-size:13px;padding:18px 12px;text-align:center}.nav-upload-btn{background:#4361ee;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .2s}.nav-upload-btn:hover{background:#3a56d4}.user-menu{border-left:1px solid #0f172a1a;flex-shrink:0;margin-left:4px;padding-left:14px}.nav-gear{align-items:center;background:#0000;border:none;border-radius:9px;color:#64748b;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background .15s,color .15s;width:32px}.nav-gear:hover{background:#0f172a0f;color:#2f6bf0}.nav-gear:disabled{cursor:default;opacity:.4}.nav-gear:disabled:hover{background:#0000;color:#64748b}.nav-errbtn{align-items:center;background:#0000;border:none;border-radius:9px;color:#cbd5e1;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background .15s,color .15s;width:32px}.nav-errbtn:hover{background:#0f172a0f}.nav-errbtn.has-errors{color:#f59e0b}.nav-pill{align-items:center;background:#0000;border:1px solid #0f172a1f;border-radius:8px;color:#64748b;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:6px;height:30px;padding:0 12px;transition:border-color .15s,color .15s,background .15s}.nav-pill:hover{background:#0f172a0a;border-color:#0f172a38;color:#1a1a2e}.nav-pill:disabled{cursor:default;opacity:.45}.nav-pill:disabled:hover{background:#0000;border-color:#0f172a1f;color:#64748b}.nav-pill-caret{color:#94a3b8;margin-left:-1px;transition:transform .18s ease}.nav-pill.open .nav-pill-caret{transform:rotate(180deg)}.nav-div{align-self:center;background:#0f172a24;flex-shrink:0;height:22px;margin:0 1px;width:1px}.nav-exit-compact{align-items:center;background:#0000;border:none;border-radius:9px;color:#64748b;cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background .15s,color .15s;width:32px}.nav-exit-compact:hover{background:#e5484d1a;color:#e5484d}.nav-compact{backdrop-filter:none;-webkit-backdrop-filter:none;background:linear-gradient(180deg,#fff,#eef3fc);border:1px solid #2f6bf038;box-shadow:0 10px 26px -16px #33416e47;left:240px;right:240px}.nav-compact .map-tool-btn:hover:not(:disabled){background:#0f172a0f;box-shadow:none;color:#2f6bf0;transform:none}.nav-compact .nav-pill:hover{border-color:#2f6bf059;color:#2f6bf0}.nav-compact .nav-compact-tools .nav-div,.nav-compact .nav-div{background:#2f6bf059}.nav-compact-tools{align-items:center;display:flex;gap:4px}.nav-compact-tools .plan-map-toolbar.in-nav{align-items:center;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;border:none;box-shadow:none;display:flex;gap:4px;padding:0;position:static}.nav-compact-tools .plan-map-toolbar.in-nav .map-tool-btn[data-tooltip]:after{top:calc(100% + 8px)}.nav-compact-tools .nav-div{background:#0f172a24;flex-shrink:0;height:22px;margin:0 4px;width:1px}.nav-compact-tools .plan-editbar.in-nav,.nav-compact-tools .plan-mapfilter.in-nav,.plan-editcluster .plan-editbar.in-nav{align-items:center;backdrop-filter:none;-webkit-backdrop-filter:none;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;gap:6px;padding:0;position:static}.nav-compact-center{align-items:center;display:flex;flex-shrink:0;justify-content:center}.nav-actions{align-items:center;display:flex;gap:4px}.nav-resize-host{align-items:center;display:inline-flex}.plan-editcluster{align-items:center;display:flex;gap:6px;min-width:0}.plan-editcluster .plan-editbar.in-nav.is-disabled{opacity:.4;pointer-events:none}.nav-compact-search{flex-shrink:0;position:relative}.plan-search{align-items:center;display:flex;position:relative}.plan-search-ic{color:#94a3b8;left:10px;pointer-events:none;position:absolute}.plan-search-input{background:#ffffffb3;border:1px solid #0f172a24;border-radius:9px;color:#1a1a2e;font-size:13px;height:32px;outline:none;padding:0 28px 0 32px;transition:border-color .15s,background .15s;width:190px}.plan-search-input:focus{background:#fff;border-color:#2f6bf0}.nav-compact .plan-search-input{background:#eef2f8;border-color:#2f6bf04d}.nav-compact .plan-search-input:focus{background:#fff;border-color:#2f6bf0}.plan-search-clear{background:#0000;border:none;border-radius:5px;color:#94a3b8;cursor:pointer;font-size:16px;height:20px;position:absolute;right:6px;width:20px}.plan-search-clear:hover{background:#0f172a0f;color:#1a1a2e}.plan-search-drop{background:#fff;border:1px solid #e4e7ee;border-radius:12px;box-shadow:0 18px 44px -14px #0f172a66;left:0;max-height:340px;overflow-y:auto;padding:5px;position:absolute;top:calc(100% + 6px);width:300px;z-index:3000}.plan-search-row{align-items:flex-start;background:#0000;border:none;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:2px;padding:7px 10px;text-align:left;width:100%}.plan-search-row.on,.plan-search-row:hover{background:#f1f5ff}.plan-search-name{color:#1a1a2e;font-size:13px;font-weight:700}.plan-search-meta{align-items:center;color:#64748b;display:inline-flex;font-size:11.5px;gap:6px}.plan-search-dot{border-radius:50%;height:8px;width:8px}.plan-search-empty{color:#94a3b8;font-size:12.5px;padding:12px;text-align:center}.user-btn{align-items:center;background:#0000;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:0}.user-btn:focus-visible{outline:none}.user-btn:focus-visible .user-avatar{box-shadow:0 0 0 3px #2f6bf073}.user-avatar{align-items:center;background:linear-gradient(135deg,#2f6bf0,#7c5cff);border-radius:50%;box-shadow:0 2px 8px -1px #2f6bf080;color:#fff;display:flex;flex-shrink:0;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:700;height:34px;justify-content:center;transition:box-shadow .15s,transform .15s;width:34px}.user-btn.open .user-avatar,.user-btn:hover .user-avatar{box-shadow:0 0 0 2px #fff6;transform:translateY(-1px)}.user-pop-backdrop{inset:0;position:fixed;z-index:2500}.user-pop{animation:modal-in .18s cubic-bezier(.2,.8,.4,1);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);background:#fffffff7;border:1px solid #fff9;border-radius:14px;box-shadow:0 20px 48px -12px #33416e6b,inset 0 1px 0 #ffffffe6;display:flex;flex-direction:column;padding:8px;position:fixed;width:280px;z-index:2501}.user-pop-head{align-items:center;border-bottom:1px solid #0f172a12;display:flex;gap:11px;padding:10px 10px 12px}.user-pop-avatar{align-items:center;background:linear-gradient(135deg,#4361ee,#7c5cff);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:17px;font-weight:700;height:40px;justify-content:center;width:40px}.user-pop-id{display:flex;flex-direction:column;gap:1px;min-width:0}.user-pop-name{color:#1a1a2e;font-size:14px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pop-name-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;gap:5px;max-width:100%;min-width:0;padding:0;text-align:left}.user-pop-name-btn svg{color:#b6bece;flex-shrink:0;transition:color .15s}.user-pop-name-btn:focus-visible svg,.user-pop-name-btn:hover svg{color:#2f6bf0}.user-pop-name-btn:focus-visible{outline:none}.user-pop-name-edit{display:flex}.user-pop-name-input{background:#f6f8ff;border:1px solid #cdd9f5;border-radius:5px;color:#1a1a2e;font-family:inherit;font-size:14px;font-weight:700;margin:-1px -4px;padding:1px 4px;width:100%}.user-pop-name-input:focus{border-color:#2f6bf0;box-shadow:0 0 0 3px #2f6bf02e;outline:none}.user-pop-name-error{color:#dc2626;font-size:11px;font-weight:600}.user-pop-email{color:#94a3b8;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-pop-rows{padding:8px 4px}.user-pop-row{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:7px 8px}.user-pop-row-label{color:#64748b;font-weight:500}.user-pop-row-value{color:#1a1a2e;font-weight:600}.user-pop-row-value.muted{font-feature-settings:"tnum";color:#94a3b8;font-variant-numeric:tabular-nums}.plan-badge{background:#64748b24;border-radius:999px;color:#475569;font-size:11px;font-weight:700;padding:2px 9px}.plan-badge.premium,.plan-badge.pro{background:#4361ee24;color:#3a4fd4}.user-pop-switch{align-items:center;background:#2f6bf017;border:1px solid #2f6bf047;border-radius:10px;color:#2f6bf0;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:700;gap:8px;justify-content:center;margin-top:6px;padding:10px;transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .12s;width:100%}.user-pop-switch:hover{background:#2f6bf0;border-color:#2f6bf0;box-shadow:0 8px 18px -6px #2f6bf099;color:#fff}.user-pop-switch:active{transform:translateY(1px)}.user-pop-switch:focus-visible{box-shadow:0 0 0 3px #2f6bf059;outline:none}.user-pop-switch svg{flex-shrink:0}.user-pop-signout{align-items:center;background:#0000;border:1px solid #dc262640;border-radius:10px;color:#dc2626;cursor:pointer;display:flex;font-family:inherit;font-size:13px;font-weight:700;gap:8px;justify-content:center;margin-top:4px;padding:10px;transition:background .15s,border-color .15s;width:100%}.user-pop-signout svg{flex-shrink:0}.user-pop-signout:hover{background:#dc262614;border-color:#dc262673}.auth-loading{color:#888;font-size:14px;height:100vh}.auth-loading,.auth-screen{align-items:center;display:flex;justify-content:center}.auth-screen{background:radial-gradient(120% 120% at 80% 0,#1c2c52 0,#111a30 55%,#0c1326 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;max-height:100vh;min-height:100vh;overflow:hidden;padding:24px;position:relative}.auth-bg{inset:0;overflow:hidden;pointer-events:none;position:absolute}.auth-blob{border-radius:50%;filter:blur(80px);opacity:.55;position:absolute}.auth-blob-a{animation:authDrift1 18s ease-in-out infinite;background:#2f6bf0;height:460px;left:-80px;top:-120px;width:460px}.auth-blob-b{animation:authDrift2 22s ease-in-out infinite;background:#22c55e;bottom:-140px;height:420px;right:10%;width:420px}.auth-blob-c{animation:authDrift3 20s ease-in-out infinite;background:#7c5cff;height:380px;right:-100px;top:30%;width:380px}@keyframes authDrift1{0%,to{transform:translate(0)}50%{transform:translate(40px,60px)}}@keyframes authDrift2{0%,to{transform:translate(0)}50%{transform:translate(-50px,-30px)}}@keyframes authDrift3{0%,to{transform:translate(0)}50%{transform:translate(-30px,40px)}}.auth-shell{grid-gap:48px;align-items:center;display:grid;gap:48px;grid-template-columns:1.05fr .95fr;max-width:940px;position:relative;width:100%;z-index:1}.auth-hero{color:#eaf0ff}.auth-brand{align-items:center;display:flex;gap:10px;margin-bottom:30px}.auth-logo{filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));height:44px;object-fit:contain;width:44px}.auth-wordmark{color:#fff;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em}.auth-accent{color:#4f8bff}.auth-headline{color:#fff;font-family:Space Grotesk,sans-serif;font-size:44px;font-weight:700;letter-spacing:-.02em;line-height:1.05;margin-bottom:16px}.auth-tagline{color:#aebbd9;font-size:15px;line-height:1.6;margin-bottom:26px;max-width:420px}.auth-features{display:flex;flex-direction:column;gap:12px;list-style:none}.auth-feature{align-items:center;color:#d4ddf2;display:flex;font-size:14px;font-weight:500;gap:11px}.auth-feature-icon{align-items:center;background:#2f6bf038;border:1px solid #4f8bff66;border-radius:50%;color:#6ea0ff;display:flex;flex-shrink:0;height:24px;justify-content:center;width:24px}.auth-card{backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);background:#ffffff1a;border:1px solid #ffffff38;border-radius:22px;box-shadow:0 30px 70px -20px #0009,inset 0 1px 0 #ffffff40;padding:32px 30px}.auth-card-head{margin-bottom:22px}.auth-card-head h2{color:#fff;font-family:Space Grotesk,sans-serif;font-size:22px;font-weight:700;letter-spacing:-.01em}.auth-card-head p{color:#aebbd9;font-size:13.5px;margin-top:4px}.auth-form{gap:14px}.auth-field,.auth-form{display:flex;flex-direction:column}.auth-field{gap:6px}.auth-field label{color:#9fb0d4;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.auth-field input{background:#ffffff14;border:1px solid #fff3;border-radius:11px;color:#fff;font-size:14px;font-weight:500;outline:none;padding:12px 14px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;width:100%}.auth-field input::placeholder{color:#fff6}.auth-field input:focus{background:#ffffff1f;border-color:#4f8bff;box-shadow:0 0 0 3px #2f6bf059}.auth-submit{background:#2f6bf0;border:none;border-radius:12px;box-shadow:0 10px 26px -6px #2f6bf0b3;color:#fff;cursor:pointer;font-family:Inter,sans-serif;font-size:14.5px;font-weight:700;margin-top:6px;padding:13px;transition:background .15s ease,transform .12s ease,box-shadow .15s ease;width:100%}.auth-submit:hover:not(:disabled){background:#2459d8;box-shadow:0 14px 30px -6px #2f6bf0cc;transform:translateY(-1px)}.auth-submit:active:not(:disabled){transform:translateY(1px)}.auth-submit:disabled{cursor:progress;opacity:.7}.auth-error{background:#dc262629;border:1px solid #f8717180;border-radius:10px;color:#ffc4c4}.auth-error,.auth-info{font-size:13px;font-weight:500;padding:10px 13px}.auth-info{background:#22c55e29;border:1px solid #4ade8080;border-radius:10px;color:#b9f6ce}.auth-toggle{color:#9fb0d4;font-size:13px;margin-top:20px;text-align:center}.auth-toggle button{background:none;border:none;color:#6ea0ff;cursor:pointer;font-size:13px;font-weight:700;padding:0}.auth-toggle button:hover{text-decoration:underline}@media (max-width:820px){.auth-shell{gap:28px;grid-template-columns:1fr;max-width:420px}.auth-hero{text-align:center}.auth-brand{justify-content:center}.auth-headline{font-size:34px}.auth-tagline{margin-left:auto;margin-right:auto}.auth-features{display:none}}@media (prefers-reduced-motion:reduce){.auth-blob{animation:none!important}.auth-submit{transition:none!important}}.launcher{align-items:center;background:radial-gradient(120% 120% at 80% 0,#1c2c52 0,#111a30 55%,#0c1326 100%);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;justify-content:center;min-height:100vh;overflow:hidden;padding:24px;position:relative}.launcher-inner{max-width:900px;position:relative;text-align:center;width:100%;z-index:1}.launcher-head{align-items:center;display:flex;gap:10px;justify-content:center;margin-bottom:28px}.launcher-logo{filter:drop-shadow(0 3px 8px rgba(0,0,0,.35));height:44px;object-fit:contain;width:44px}.launcher-brand{color:#fff;font-family:Space Grotesk,sans-serif;font-size:24px;font-weight:700;letter-spacing:-.01em}.launcher-accent{color:#4f8bff}.launcher-title{color:#fff;font-family:Space Grotesk,sans-serif;font-size:38px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-bottom:10px}.launcher-sub{color:#aebbd9;font-size:15px;line-height:1.6;margin-bottom:34px}.launcher-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-bottom:30px}.launcher-card{align-items:flex-start;backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);background:#ffffff1a;border:1px solid #ffffff38;border-radius:22px;box-shadow:0 30px 70px -20px #0009,inset 0 1px 0 #ffffff40;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:10px;padding:26px 24px;position:relative;text-align:left;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.launcher-card:hover{background:#ffffff24;border-color:#4f8bff;border-color:var(--accent,#4f8bff);box-shadow:0 34px 78px -20px #000000a8,inset 0 0 0 1px #4f8bff;box-shadow:0 34px 78px -20px #000000a8,0 0 0 1px var(--accent,#4f8bff) inset;transform:translateY(-3px)}.launcher-card:active{transform:translateY(-1px)}.launcher-card:focus-visible{border-color:#4f8bff;border-color:var(--accent,#4f8bff);box-shadow:0 0 0 3px #4f8bff66;outline:none}.launcher-card-icon{align-items:center;background:#ffffff1f;background:color-mix(in srgb,#4f8bff 20%,#0000);background:color-mix(in srgb,var(--accent,#4f8bff) 20%,#0000);border:1px solid color-mix(in srgb,#4f8bff 45%,#0000);border:1px solid color-mix(in srgb,var(--accent,#4f8bff) 45%,#0000);border-radius:15px;color:#4f8bff;color:var(--accent,#4f8bff);display:flex;height:52px;justify-content:center;width:52px}.launcher-card-name{align-items:center;color:#fff;display:flex;font-family:Space Grotesk,sans-serif;font-size:20px;font-weight:700;gap:9px;letter-spacing:-.01em}.launcher-card-badge{background:#ffffff1f;background:color-mix(in srgb,#4f8bff 18%,#0000);background:color-mix(in srgb,var(--accent,#4f8bff) 18%,#0000);border:1px solid color-mix(in srgb,#4f8bff 40%,#0000);border:1px solid color-mix(in srgb,var(--accent,#4f8bff) 40%,#0000);border-radius:999px;color:#4f8bff;color:var(--accent,#4f8bff);font-family:Inter,sans-serif;font-size:10px;font-style:normal;font-weight:700;letter-spacing:.07em;padding:3px 8px;text-transform:uppercase}.launcher-card-open{color:#9fb0d4;font-size:13px;font-weight:700;margin-top:4px;transition:color .16s ease,transform .16s ease}.launcher-card:hover .launcher-card-open{color:#4f8bff;color:var(--accent,#4f8bff);transform:translateX(3px)}.launcher-empty{background:#ffffff14;border:1px solid #ffffff2e;border-radius:18px;color:#aebbd9;font-size:14px;line-height:1.6;margin-bottom:30px;padding:26px 24px}.launcher-signout{background:none;border:none;color:#6ea0ff;cursor:pointer;font-family:inherit;font-size:13px;font-weight:700;padding:0}.launcher-signout:hover{text-decoration:underline}@media (max-width:820px){.launcher-inner{max-width:420px}.launcher-title{font-size:30px}.launcher-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.launcher-card,.launcher-card-open{transition:none!important}.launcher-card:hover{transform:none}}.modal-overlay{align-items:center;animation:modal-overlay-in .18s ease-out;backdrop-filter:blur(6px) saturate(140%);-webkit-backdrop-filter:blur(6px) saturate(140%);background:#141b2d80;display:flex;inset:0;justify-content:center;position:fixed;z-index:2000}@keyframes modal-overlay-in{0%{opacity:0}to{opacity:1}}.modal{animation:modal-in .22s cubic-bezier(.2,.8,.4,1);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);background:#fffffff0;border:1px solid #fff9;border-radius:18px;box-shadow:0 24px 60px -14px #33416e6b,inset 0 1px 0 #ffffffe6;max-height:calc(100vh - 32px);max-width:calc(100vw - 32px);overflow-y:auto;padding:26px 28px;width:460px}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-wide{width:560px}.modal-compact{padding:18px 22px}.modal-compact .modal-header{margin-bottom:12px}.modal-compact .field{margin-bottom:9px}.modal-compact .field label{margin-bottom:4px}.modal-compact .field input,.modal-compact .field select{padding:8px 11px}.modal-compact .depot-map{height:150px;margin-bottom:8px}.modal-compact .depot-picker{padding:10px}.modal-compact .depot-status{margin-top:5px;min-height:0}.modal-compact .route-mode-card{padding:7px 10px}.modal-compact .modal-actions{margin-top:14px;padding-top:12px}.depot-status{align-items:center;display:inline-flex;font-size:12px;font-weight:600;gap:6px;margin-top:8px;min-height:18px}.depot-status.checking{color:#64748b}.depot-status.exists{color:#15803d}.depot-status.new{color:#b45309}.depot-status.error{color:#b91c1c}.depot-picker{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:14px}.depot-map{border:1px solid #ddd;border-radius:6px;height:280px;margin-bottom:10px;overflow:hidden;width:100%}.depot-coords{display:flex;gap:10px}.depot-coord{flex:1 1}.depot-coord label{color:#666;display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.depot-coord input{font-feature-settings:"tnum";background:#fff;border:1px solid #ddd;border-radius:6px;font-family:ui-monospace,monospace;font-size:13px;font-variant-numeric:tabular-nums;padding:8px 10px;width:100%}.depot-picker-hint{color:#888;font-size:12px;margin-top:8px;text-align:center}.modal-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:22px}.modal-header h2{color:#1a1a2e;font-size:20px;font-weight:800;letter-spacing:-.015em}.modal-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s,transform .15s;width:36px}.modal-close:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.modal-actions{border-top:1px solid #f1f5f9;display:flex;gap:10px;margin-top:24px;padding-top:20px}.btn-secondary{background:#f1f5f9;border:none;border-radius:10px;color:#475569;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px 18px;transition:background .15s,color .15s}.btn-secondary:hover:not(:disabled){background:#e2e8f0;color:#0f172a}.modal-actions .solve-btn{border-radius:10px;box-shadow:0 1px 2px #4361ee2e;flex:1 1;padding:12px 18px;transition:background .15s,box-shadow .15s,transform .1s}.modal-actions .solve-btn:hover:not(:disabled){box-shadow:0 4px 12px #4361ee47}.modal-actions .solve-btn:active:not(:disabled){transform:translateY(1px)}.file-name{color:#4361ee;font-size:12px;font-weight:500;margin-top:6px}.upload-result{text-align:center}.upload-success{color:#2e7d32;font-size:18px;font-weight:600;margin-bottom:16px}.upload-stats{background:#f8f9ff;border-radius:8px;color:#333;font-size:14px;padding:16px;text-align:left}.upload-stats>div{margin-bottom:6px}.upload-warnings{color:#b25c00;font-size:12px;margin-top:12px}.upload-warnings summary{cursor:pointer;font-weight:600}.upload-warnings ul{margin-top:8px;max-height:180px;overflow-y:auto;padding-left:18px}.app{display:flex;height:100vh;position:relative}.sidebar{backdrop-filter:blur(26px) saturate(190%);-webkit-backdrop-filter:blur(26px) saturate(190%);background:#fff;border:1px solid #ffffff80;border-radius:18px;bottom:14px;box-shadow:0 20px 48px -12px #33416e57,inset 0 1px 0 #ffffffd9;display:flex;flex-direction:column;overflow:hidden;top:76px;width:326px;z-index:800}.sidebar,.sidebar:before{left:14px;position:absolute}.sidebar:before{background:linear-gradient(90deg,#fff0,#fffffff2 50%,#fff0);content:"";height:1px;pointer-events:none;right:14px;top:0;z-index:1}.sidebar-head{flex-shrink:0;padding:14px 14px 10px}.sidebar-cards{display:flex;flex:1 1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding:2px 12px 12px}.sidebar-foot{flex-shrink:0;padding:10px 12px 12px}.routes-header{align-items:flex-start;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px}.routes-title-wrap{min-width:0}.routes-title{color:#1a1a2e;font-size:20px;font-weight:800;letter-spacing:-.01em;line-height:1.1}.routes-subline{color:#6b7280;display:block;font-size:11.5px;font-weight:500;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routes-sort{align-items:center;display:flex;gap:10px;margin-top:12px}.routes-sort-label{color:#94a3b8;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.routes-sort-seg{background:#7882a029;border-radius:10px;display:flex;flex:1 1;gap:2px;padding:3px}.routes-sort-btn{background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;flex:1 1;font-size:11.5px;font-weight:600;padding:5px 0;transition:background .18s ease,color .18s ease,box-shadow .18s ease}.routes-sort-btn.active{background:#fff;box-shadow:0 1px 3px #0f172a2e;color:#1a1a2e}.route-card{animation:cardIn .28s ease both;background:#eef0f4;border:1px solid #0f172a0f;border-radius:12px;cursor:pointer;flex-shrink:0;overflow:hidden;padding:9px 12px 10px;position:relative;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}@keyframes cardIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.route-card:hover{background:#e3e6ec;transform:translateY(-2px)}.route-card.selected{background:#dde1e9}.route-card.selected:hover{background:#d4d9e3}.route-card.selected:before{background:#4361ee;background:var(--route-color,#4361ee);border-radius:0 3px 3px 0;bottom:8px;box-shadow:0 0 10px 1px #4361ee;box-shadow:0 0 10px 1px var(--route-color,#4361ee);content:"";left:0;position:absolute;top:8px;width:4px}.route-card-row1{align-items:center;display:flex;gap:8px}.route-dot{border:none;border-radius:50%;box-shadow:0 0 7px #4361ee;box-shadow:0 0 7px var(--route-color,#4361ee);cursor:pointer;flex-shrink:0;height:11px;padding:0;width:11px}.route-name{color:#1a1a2e;flex:1 1;font-size:13.5px;font-weight:700;letter-spacing:-.01em;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.route-freq-chip{font-feature-settings:"tnum";border:1px solid #0f172a29;border-radius:7px;color:#475569;flex-shrink:0;font-size:10.5px;font-variant-numeric:tabular-nums;font-weight:600;padding:2px 8px}.route-card-row2{align-items:baseline;color:#94a3b8;display:flex;font-size:11.5px;gap:6px;margin-top:5px}.route-metric{white-space:nowrap}.route-metric strong{font-feature-settings:"tnum";color:#1a1a2e;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:700}.route-mid{color:#cbd5e1}.route-card-bar{background:#7882a02e;border-radius:3px;height:4px;margin-top:8px;overflow:hidden}.route-card-bar-fill{background:#4361ee;background:var(--route-color,#4361ee);border-radius:3px;display:block;height:100%;transition:width .3s ease}.route-card.unassigned .route-name{color:#64748b}.sidebar-optimize{background:#2f6bf0;border:none;border-radius:12px;box-shadow:0 8px 20px -6px #2f6bf099;color:#fff;cursor:pointer;font-size:13.5px;font-weight:700;letter-spacing:-.01em;padding:12px;transition:background .16s ease,transform .16s ease,box-shadow .16s ease;width:100%}.sidebar-optimize:hover:not(:disabled){background:#2459d8;box-shadow:0 10px 24px -6px #2f6bf0b3;transform:translateY(-1px)}.sidebar-optimize:disabled{cursor:progress;opacity:.6}@media (prefers-reduced-motion:reduce){.route-card,.route-card-bar-fill,.routes-sort-btn,.sidebar-optimize{animation:none!important;transition:none!important}}.logo{color:#1a1a2e;font-size:22px;font-weight:700}.controls,.logo{border-bottom:1px solid #0f172a12;padding:20px 24px}.field{margin-bottom:16px}.field label{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.6px;margin-bottom:8px;text-transform:uppercase}.field input,.field select{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#0f172a;font-size:14px;font-weight:500;outline:none;padding:11px 14px;transition:border-color .15s,box-shadow .15s,background .15s;width:100%}.field input:hover,.field select:hover{border-color:#cbd5e1}.field input:focus,.field select:focus{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee1f}.field input::placeholder{color:#94a3b8}.field-row{display:flex;gap:12px}.field-row .field{flex:1 1}.solve-btn{background:#4361ee;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:15px;font-weight:600;padding:12px;transition:background .2s;width:100%}.solve-btn:hover{background:#3a56d4}.solve-btn:disabled{background:#a0a0a0;cursor:not-allowed}.error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00;font-size:13px;margin-top:12px;padding:10px 14px}.summary{border-bottom:1px solid #e0e0e0;padding:16px 24px}.summary h2{color:#333;font-size:14px;font-weight:600;margin-bottom:12px}.summary-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.stat{background:#f0f4ff;border-radius:8px;padding:12px;text-align:center}.stat-value{color:#4361ee;display:block;font-size:22px;font-weight:700}.stat-label{color:#666;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.export-buttons{display:flex;gap:10px;margin-top:12px}.export-btn{background:#fff;border:1.5px solid #4361ee;border-radius:8px;color:#4361ee;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px;transition:all .2s}.export-btn:hover{background:#4361ee;color:#fff}.stop-list{flex:1 1;padding:16px 24px}.stop-list h2{color:#333;font-size:14px;font-weight:600;margin-bottom:12px}.stop-item{align-items:flex-start;border-bottom:1px solid #f0f0f0;cursor:pointer;display:flex;gap:12px;padding:10px 0;transition:background .15s}.stop-item:hover{background:#f8f9ff;margin:0 -24px;padding:10px 24px}.stop-number{align-items:center;background:#4361ee;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:12px;font-weight:700;height:28px;justify-content:center;margin-top:2px;width:28px}.stop-info{flex:1 1;min-width:0}.stop-name{color:#1a1a2e;font-size:14px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stop-code{color:#999;font-size:11px}.stop-meta{flex-shrink:0;text-align:right}.stop-time{color:#333;font-size:13px;font-weight:600}.stop-drive{color:#888;font-size:11px}.selected-panel{animation:panelSlideIn .42s cubic-bezier(.34,1.2,.64,1);backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff4d;border:1px solid #ffffff59;border-radius:16px;bottom:14px;box-shadow:0 18px 40px -8px #0f172a47,inset 0 1px 0 #ffffff80;display:flex;flex-direction:column;overflow:hidden;position:absolute;right:14px;top:76px;width:466px;will-change:transform,opacity;z-index:450}@keyframes panelSlideIn{0%{opacity:0;transform:translateX(calc(100% + 28px))}to{opacity:1;transform:translateX(0)}}.map-container.panel-open .calendar-panel{right:494px}.selected-panel-header{align-items:center;background:#ffffff2e;border-bottom:1px solid #0f172a0f;display:flex;justify-content:space-between;padding:8px 14px}.selected-panel-header h3{color:#1a1a2e;display:inline;font-size:12px;font-weight:700;margin-right:8px}.selected-count{font-feature-settings:"tnum";background:#4361ee;border-radius:999px;color:#fff;display:inline-block;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;padding:2px 10px}.selected-clear{background:#0000;border:none;color:#888;cursor:pointer;font-size:22px;line-height:1;padding:0 6px}.selected-clear:hover{color:#c00}.selected-header-actions{align-items:center;display:flex;gap:4px}.cols-menu-wrap{position:relative}.cols-menu-btn{align-items:center;background:#0000;border:1px solid #0f172a1f;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;transition:background .15s,color .15s,border-color .15s;width:28px}.cols-menu-btn.open,.cols-menu-btn:hover{background:#4361ee1a;border-color:#4361ee66;color:#3a4fd4}.cols-menu-btn:disabled{cursor:not-allowed;opacity:.45}.download-xlsx-btn:hover:not(:disabled){background:#1d6f421a;border-color:#1d6f4266;color:#1d6f42}.cols-menu{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#fffffffa;border:1px solid #0f172a1a;border-radius:12px;box-shadow:0 16px 36px -10px #33416e66;min-width:168px;padding:6px;position:absolute;right:0;top:calc(100% + 6px);z-index:20}.cols-menu-title{color:#94a3b8;font-size:10.5px;font-weight:700;letter-spacing:.06em;padding:4px 8px 6px;text-transform:uppercase}.cols-menu-row{align-items:center;border-radius:8px;color:#1a1a2e;cursor:pointer;display:flex;font-size:13px;gap:9px;padding:6px 8px}.cols-menu-row:hover{background:#4361ee14}.cols-menu-row input{accent-color:#4361ee;cursor:pointer}.cols-menu-row input:disabled{cursor:not-allowed}.selected-panel-toolbar{align-items:center;background:#ffffff1f;border-bottom:1px solid #0f172a0f;display:flex;gap:8px;padding:8px 14px 10px}.selected-filter-status{color:#64748b;flex:1 1;font-size:12px;font-style:italic}.selected-search-clear{align-items:center;background:#e2e8f0;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;flex:0 0 auto;font-size:14px;height:22px;justify-content:center;width:22px}.selected-search-clear:hover{background:#cbd5e1;color:#1a1a2e}.selected-apply-filter{background:#4361ee;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:0 0 auto;font-size:12px;font-weight:600;padding:6px 12px;transition:background .15s,opacity .15s;white-space:nowrap}.selected-apply-filter:hover:not(:disabled){background:#3651d4}.selected-apply-filter:disabled{background:#cbd5e1;color:#fff;cursor:not-allowed;opacity:.7}.selected-empty{color:#94a3b8;font-style:italic;padding:18px 12px;text-align:center}.col-header-inner{gap:4px}.col-filter-btn,.col-header-inner{align-items:center;display:inline-flex}.col-filter-btn{background:#0000;border:none;border-radius:4px;cursor:pointer;height:18px;justify-content:center;padding:0;transition:background .12s;width:18px}.col-filter-btn:hover{background:#e2e8f0}.col-filter-btn.active,.col-filter-btn.open{background:#dbeafe}.selected-table th.col-filtered{background:#eff6ff;color:#1e3a8a}.col-filter-popover{background:#fff;border:1px solid #cbd5e1;border-radius:10px;box-shadow:0 10px 28px #0f172a2e;display:flex;flex-direction:column;gap:8px;max-height:360px;padding:10px;z-index:2000}.col-filter-popover-header{align-items:center;color:#1a1a2e;display:flex;font-size:12px;justify-content:space-between}.col-filter-popover-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:14px;height:22px;justify-content:center;line-height:1;transition:background .12s,color .12s,transform .12s;width:22px}.col-filter-popover-close:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.col-filter-search{background:#fff;border:1px solid #cbd5e1;border-radius:6px;font-size:12px;padding:6px 8px;width:100%}.col-filter-search:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee26;outline:none}.col-filter-bulk-actions{display:flex;gap:6px}.col-filter-bulk-actions button{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;flex:1 1;font-size:11px;font-weight:600;padding:4px 6px;transition:background .12s,color .12s}.col-filter-bulk-actions button:hover{background:#e2e8f0;color:#1a1a2e}.col-filter-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;flex:1 1;max-height:200px;min-height:80px;overflow-y:auto;padding:4px}.col-filter-empty{color:#94a3b8;font-size:12px;font-style:italic;padding:12px 8px;text-align:center}.col-filter-row{align-items:center;border-radius:4px;color:#1a1a2e;cursor:pointer;display:flex;font-size:12px;gap:6px;padding:4px 6px;-webkit-user-select:none;user-select:none}.col-filter-row:hover{background:#e0e7ff}.col-filter-row input[type=checkbox]{cursor:pointer;flex:0 0 auto}.col-filter-row span{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-filter-footer{display:flex;gap:6px;justify-content:flex-end}.col-filter-apply,.col-filter-clear{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:background .12s,color .12s}.col-filter-clear{background:#f1f5f9;color:#64748b}.col-filter-clear:hover{background:#e2e8f0;color:#1a1a2e}.col-filter-apply{background:#4361ee;color:#fff}.col-filter-apply:hover{background:#3651d4}.selected-table-wrap{flex:1 1;overflow:auto}.selected-table{font-feature-settings:"tnum";border-collapse:initial;border-spacing:0;font-size:12px;font-variant-numeric:tabular-nums;width:100%}.selected-table td,.selected-table th{box-shadow:inset 0 -1px 0 #eee;padding:6px 8px;text-align:left;white-space:nowrap}.selected-table thead th{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#f8f9ffbf;box-shadow:inset 0 -1px 0 #0f172a1f;color:#1a1a2e;font-size:10px;font-weight:700;letter-spacing:.5px;position:sticky;text-transform:uppercase;top:0;z-index:5}.selected-table td,.selected-table th{box-shadow:inset 0 -1px 0 #0f172a0f}.selected-table tbody tr:hover td{background:#4361ee14}.cell-code{color:#1a1a2e}.cell-address,.cell-name{max-width:160px;overflow:hidden;text-overflow:ellipsis}.cell-name{font-weight:600}.cell-address,.cell-name{color:#1a1a2e}.cell-rep{color:#4361ee;font-weight:700}.cell-days{color:#333}.row-unselect{background:#0000;border:none;color:#aaa;cursor:pointer;font-size:16px;line-height:1;padding:0 4px}.row-unselect:hover{color:#c00}.right-pane{display:flex;flex:1 1;flex-direction:column;min-width:0}.map-container{flex:1 1;min-height:0;position:relative}.route-view-banner{align-items:center;animation:bannerSlide .18s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 24px #0f172a2e;color:#1a1a2e;display:flex;font-size:13px;gap:12px;left:50%;padding:8px 8px 8px 16px;position:absolute;top:76px;transform:translateX(-50%);white-space:nowrap;z-index:500}@keyframes bannerSlide{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}.route-view-banner-text{align-items:center;display:flex;gap:6px}.route-view-banner strong{color:#4361ee;font-weight:700}.route-view-banner .banner-sep{color:#cbd5e1;font-weight:700;margin:0 2px}.route-view-banner-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:26px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s,transform .15s;width:26px}.route-view-banner-close:hover{background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.calendar-panel{backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff4d;border:1px solid #ffffff59;border-radius:16px;bottom:14px;box-shadow:0 18px 40px -8px #0f172a47,inset 0 1px 0 #ffffff80;display:flex;flex-direction:column;left:354px;max-height:min(290px,50vh);overflow:hidden;position:absolute;right:14px;transition:transform .42s cubic-bezier(.34,1.2,.64,1),opacity .25s ease-out;will-change:transform,opacity;z-index:450}.calendar-panel.visible{opacity:1;pointer-events:auto;transform:translateY(0)}.calendar-panel.hidden{opacity:0;pointer-events:none;transform:translateY(calc(100% + 40px))}.calendar-header{align-items:center;background:#ffffff2e;border-bottom:1px solid #0f172a0f;display:flex;gap:10px;padding:6px 14px}.calendar-header h3{color:#1a1a2e;font-size:12px;font-weight:700;margin:0}.calendar-scope{color:#666;font-size:11px;font-weight:500}.calendar-frequency-filter{align-items:center;display:flex;gap:8px;margin-left:auto}.calendar-frequency-filter .filter-label{color:#666;font-size:12px;font-weight:600}.freq-buttons{display:flex;gap:4px}.freq-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;font-size:11px;font-weight:600;min-width:32px;padding:3px 9px;transition:all .15s}.freq-btn:hover{background:#f5f5f5;border-color:#bbb;color:#1a1a2e}.freq-btn.active{background:#4361ee;border-color:#4361ee;color:#fff}.freq-btn.active:hover{background:#3a56d4;border-color:#3a56d4}.calendar-table th.day-clickable{cursor:pointer;transition:filter .15s;-webkit-user-select:none;user-select:none}.calendar-table th.day-clickable:hover{filter:brightness(.88)}.calendar-table th.day-clickable.active{background:#1a1a2e!important;border-bottom-color:#1a1a2e!important;color:#fff!important}.calendar-table th.day-clickable.partial{filter:brightness(1.1) saturate(.7);opacity:.85}.calendar-table td.non-working,.calendar-table th.non-working{background:#f5f5f5!important;color:#94a3b8!important;font-style:italic}.calendar-table th.day-clickable.non-working{background:#f5f5f5!important;border-bottom-color:#0000!important;color:#94a3b8!important}.calendar-table th.day-clickable.non-working:hover{filter:none}body.dragging-outlet .calendar-table th[data-drop-day],body.dragging-outlet [data-drop-rep]{animation:drop-target-pulse 1s ease-in-out infinite;outline:2px dashed #4361ee;outline-offset:-2px}@keyframes drop-target-pulse{0%,to{outline-color:#4361ee}50%{outline-color:#93a5ff}}body.dragging-outlet{cursor:grabbing!important}.calendar-table th.week-clickable{cursor:pointer;transition:background .15s,color .15s}.calendar-table th.week-clickable:hover{background:#dde3ff}.calendar-table th.week-clickable.active{background:#1a1a2e!important;color:#fff!important}.calendar-view-route-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:7px;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:5px;margin-left:4px;padding:3px 9px;transition:all .15s}.calendar-view-route-btn:hover:not(:disabled){background:#f8faff;border-color:#4361ee;color:#4361ee}.calendar-view-route-btn:disabled{cursor:not-allowed;opacity:.5}.calendar-close{background:#0000;border:none;color:#888;cursor:pointer;font-size:22px;line-height:1;padding:0 6px}.calendar-close:hover{color:#1a1a2e}.modal.modal-route-detail{max-width:calc(100vw - 32px);width:760px}.route-detail-selectors{grid-gap:14px;align-items:end;display:grid;gap:14px;grid-template-columns:minmax(140px,1fr) auto auto;margin-bottom:18px}.route-detail-day-grid,.route-detail-week-toggle{display:flex;gap:4px}.route-detail-pill{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;color:#475569;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .15s}.route-detail-pill.active{background:#4361ee;border-color:#4361ee;color:#fff}.route-detail-day{background:#fff;border:1.5px solid;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;padding:8px 10px;transition:all .15s}.route-detail-empty,.route-detail-loading{background:#f8fafc;border-radius:12px;color:#64748b;font-size:14px;padding:40px 16px;text-align:center}.route-detail-summary{grid-gap:10px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:grid;gap:10px;grid-template-columns:repeat(5,1fr);margin-bottom:16px;padding:14px}.route-detail-summary>div{text-align:center}.route-detail-summary span{color:#64748b;display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.route-detail-summary strong{color:#0f172a;font-size:17px;font-weight:700}.route-detail-table-wrap{border:1px solid #e2e8f0;border-radius:12px;max-height:50vh;overflow:hidden;overflow-y:auto}.route-detail-table{border-collapse:collapse;font-size:13px;width:100%}.route-detail-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:10px 12px;position:sticky;text-align:left;text-transform:uppercase;top:0}.route-detail-table td{border-bottom:1px solid #f1f5f9;padding:10px 12px;vertical-align:top}.route-detail-table tbody tr:last-child td{border-bottom:none}.route-detail-table tbody tr:hover td{background:#f8faff}.route-detail-table .route-detail-depot-row td{background:#f0fdf4;color:#166534;font-weight:500}.route-detail-marker{font-feature-settings:"tnum";align-items:center;background:#4361ee;border-radius:6px;color:#fff;display:inline-flex;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;height:26px;justify-content:center;min-width:26px;padding:0 6px}.route-detail-marker.depot{background:#16a34a;font-size:18px;line-height:1}.route-detail-stop-name{color:#0f172a;font-weight:600}.route-detail-stop-sub{color:#64748b;font-size:11px;margin-top:2px}.route-detail-sub{color:#94a3b8;font-size:11px}.route-detail-row-draggable{cursor:grab}.route-detail-row-draggable:active{cursor:grabbing}.route-detail-table .drag-handle{color:#cbd5e1;text-align:center;-webkit-user-select:none;user-select:none;width:26px}.route-detail-row-draggable:hover .drag-handle{color:#4361ee}.route-detail-row-draggable.drag-over.drag-over-top td{box-shadow:inset 0 2px 0 0 #4361ee}.route-detail-row-draggable.drag-over.drag-over-bottom td{box-shadow:inset 0 -2px 0 0 #4361ee}.route-detail-table td.stale{color:#cbd5e1;font-style:italic}.route-detail-dirty-hint{background:#fff7ed;border:1px solid #fdba74;border-radius:10px;color:#9a3412;font-size:12px;font-weight:500;margin-bottom:12px;padding:10px 14px}.calendar-loading{color:#888;font-size:13px;padding:40px;text-align:center}.calendar-table-wrap{flex:1 1;overflow:auto;padding:0}.calendar-table{font-feature-settings:"tnum";border-collapse:collapse;font-size:11px;font-variant-numeric:tabular-nums;width:100%}.calendar-table td,.calendar-table th{border-bottom:1px solid #eee;border-right:1px solid #f5f5f5;line-height:1.25;padding:3px 6px;text-align:center;white-space:nowrap}.calendar-table tbody td:nth-child(2n+4),.calendar-table thead tr:first-child th:nth-child(n+3),.calendar-table thead tr:nth-child(2) th:nth-child(2n){border-right:3px solid #b8b8b8}.calendar-table thead th{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:#f8f9ff8c;color:#1a1a2e;font-size:11px;font-weight:700;letter-spacing:.3px;position:sticky;text-transform:uppercase;top:0;z-index:2}.calendar-table thead th.subhead{background:#eef2ff8c;color:#666;font-size:10px;font-weight:600}.calendar-table .metric-col{border-right:2px solid #ddd;color:#333;font-weight:600;left:0;min-width:100px;position:sticky;text-align:center;z-index:1}.calendar-table thead th.metric-col{background:#f8f9ff;z-index:3}.calendar-table .avg-col{border-right:2px solid #ddd;color:#4361ee;font-weight:700}.calendar-table thead th.avg-col{background:#eef2ff}.calendar-table .total-cell{font-weight:600}.calendar-table tbody tr{--row-bg:#fff}.calendar-table tbody tr:nth-child(odd){--row-bg:#f0f0f0}.calendar-table tbody tr:hover{--row-bg:#eef2ff}.calendar-table tbody td{background:var(--row-bg)}.filtered-count{color:#888;font-size:11px;font-weight:500}.calendar-hint{background:#fff;border-top:1px solid #eee;color:#888;font-size:12px;padding:10px 16px;text-align:center}.calc-distances-btn.active{background:#4361ee;color:#fff}.session-actions{align-items:center;justify-content:space-between;margin-bottom:10px}.session-actions,.session-actions-group{display:flex;flex-direction:row;gap:6px}.session-action-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;cursor:pointer;display:flex;height:34px;justify-content:center;padding:0;transition:all .15s;width:34px}.session-action-btn:hover:not(:disabled){background:#f5f5f5;border-color:#bbb;color:#4361ee}.session-action-btn.active{background:#4361ee;border-color:#4361ee;color:#fff}.session-action-btn.active:hover:not(:disabled){background:#3a56d4;border-color:#3a56d4;color:#fff}.session-action-btn:disabled{cursor:not-allowed;opacity:.5}.session-action-btn.loading svg{animation:rep-btn-spin 1s linear infinite}@keyframes rep-btn-spin{to{transform:rotate(1turn)}}.session-action-btn.session-action-danger:hover:not(:disabled){background:#fef2f2;border-color:#fca5a5;color:#dc2626}.legend-row.unassigned{background:#fafafa;border-top:1px dashed #ddd;font-style:italic;margin-top:6px;padding-top:8px}.legend-row.unassigned .legend-label{color:#6b7280}.route-mode-list{grid-gap:7px;display:grid;gap:7px;grid-template-columns:1fr 1fr}.route-mode-list+.field,.route-mode-list+.field-row{margin-top:14px}.route-mode-list.compact .route-mode-card{padding:8px 11px}.route-mode-card{background:#fff;border:1px solid #e2e8f0;border-radius:11px;cursor:pointer;padding:8px 11px;text-align:left;transition:transform .18s cubic-bezier(.2,.8,.4,1.1),border-color .15s,background .15s,box-shadow .15s}.route-mode-card:hover:not(:disabled){background:#f8faff;border-color:#4361ee;box-shadow:0 4px 12px #4361ee14;transform:translateY(-1px)}.route-mode-card.active{background:#eef2ff;border-color:#4361ee;box-shadow:inset 0 0 0 1px #4361ee,0 2px 8px #4361ee1f}.route-mode-card-title{color:#1a1a2e;font-size:12.5px;font-weight:700;margin-bottom:2px}.route-mode-card-sub{color:#666;font-size:10.5px;line-height:1.3}.working-days-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.working-day-btn{background:#fff;border:2px solid;border-radius:10px;cursor:pointer;font-size:12px;font-weight:700;padding:10px 6px;transition:all .15s}.working-day-btn:hover:not(:disabled){filter:brightness(.95);transform:translateY(-1px)}.working-day-btn:disabled{cursor:not-allowed;opacity:.5}.field-required{color:#dc2626;font-weight:700;margin-left:2px}.route-mode-warn{background:#fff7ed;border:1px solid #fdba74;border-radius:8px;color:#9a3412;font-size:12px;line-height:1.5;margin-top:16px;padding:10px 14px}.delete-warning{background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-size:13px;line-height:1.5;margin-top:14px;padding:12px 14px}.delete-confirm-btn{background:#dc2626!important}.delete-confirm-btn:hover:not(:disabled){background:#b91c1c!important}.territory-panel{padding:14px 24px}.territory-header{border-bottom:1px solid #eee;display:flex;flex-direction:column;gap:6px;margin-bottom:12px;padding-bottom:10px}.territory-header h2{color:#1a1a2e;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.territory-totals{align-items:baseline;color:#888;display:flex;flex-direction:row;flex-wrap:wrap;font-size:11px;gap:4px 14px}.territory-totals strong{font-feature-settings:"tnum";color:#1a1a2e;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700}.territory-empty{color:#888;font-size:13px;line-height:1.5;padding:24px 0;text-align:center}.sidebar-day-filter{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;display:flex;flex-wrap:nowrap;gap:6px;margin:0 0 8px;padding:6px 8px}.sidebar-day-filter-label{color:#64748b;flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}button.sidebar-day-filter-label.clearable{align-items:center;background:#fee2e2;border:none;border-radius:50%;color:#b91c1c;cursor:pointer;display:inline-flex;font-size:15px;font-weight:800;height:22px;justify-content:center;line-height:1;padding:0;transition:background .12s,color .12s,transform .12s;width:22px}button.sidebar-day-filter-label.clearable:hover{background:#fecaca;color:#7f1d1d;transform:rotate(90deg)}.sidebar-day-filter-buttons{align-items:center;display:flex;flex:1 1;flex-wrap:nowrap;gap:3px;min-width:0}.sidebar-day-btn{background:#fff;border:1.5px solid;border-radius:6px;cursor:pointer;flex:1 1;font-size:11px;font-weight:700;min-width:0;padding:4px 0;text-align:center;transition:transform .1s,box-shadow .1s}.sidebar-day-btn:hover:not(:disabled){box-shadow:0 2px 6px #0000001f;transform:translateY(-1px)}.sidebar-day-btn.partial{background:linear-gradient(45deg,#0000 50%,#0000000d 0)}.sidebar-day-btn.non-working{cursor:not-allowed;opacity:.35;text-decoration:line-through}.territory-list{list-style:none;margin:0;padding:0}.legend-row{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:13px;gap:8px;min-width:0;overflow:hidden;padding:6px 8px;transition:background .15s}.legend-row:hover{background:#f5f5f5}.legend-row.active{background:#f0f4ff}.legend-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000026;flex-shrink:0;height:14px;width:14px}.legend-swatch-picker{cursor:pointer;position:relative;transition:transform .15s,box-shadow .15s}.legend-swatch-picker:hover{box-shadow:0 0 0 1px #0000004d,0 2px 4px #0003;transform:scale(1.2)}button.legend-swatch-picker{outline:none;padding:0}.color-picker{background:#fff;border-radius:12px;box-shadow:0 12px 40px #00000040;padding:14px 14px 12px;-webkit-user-select:none;user-select:none;width:260px}.cp-section-label{color:#888;font-size:10px;font-weight:700;letter-spacing:.5px;margin-bottom:6px;text-transform:uppercase}.cp-section-label+.cp-section-label{margin-top:12px}.cp-presets{grid-gap:4px;display:grid;gap:4px;grid-template-columns:repeat(10,1fr)}.cp-preset{aspect-ratio:1;border:1.5px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000026;cursor:pointer;padding:0;transition:transform .1s;width:100%}.cp-preset:hover{transform:scale(1.1)}.cp-preset.active{box-shadow:0 0 0 2px #1a1a2e}.hue-strip{background:linear-gradient(90deg,red 0,#ff0 16.66%,#0f0 33.33%,#0ff 50%,#00f 66.66%,#f0f 83.33%,red)}.hue-strip,.lightness-strip{border-radius:7px;box-shadow:inset 0 0 0 1px #0000001f;cursor:pointer;height:14px;position:relative;touch-action:none}.hue-thumb{background:#fff;border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #0006,0 1px 3px #0000004d;height:16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:16px}.cp-preview{align-items:center;background:#f8f9ff;border-radius:6px;display:flex;gap:10px;margin-top:14px;padding:8px 10px}.cp-preview-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000026;height:22px;width:22px}.cp-preview-hex{font-feature-settings:"tnum";color:#333;font-family:ui-monospace,monospace;font-size:13px;font-variant-numeric:tabular-nums;font-weight:600}.cp-preview-label{color:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.06em;margin-left:auto;text-transform:uppercase}.cp-actions{display:flex;gap:8px;margin-top:14px}.cp-btn{flex:1 1;font-size:13px;padding:8px}.legend-swatch.all{background:linear-gradient(135deg,#e63946,#4361ee,#06a77d)}.legend-label{color:#333;flex:1 1;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.legend-count{font-feature-settings:"tnum";color:#888;flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;font-weight:600;min-width:32px;text-align:right}.calc-distances-btn{background:#fff;border:1.5px solid #4361ee;border-radius:8px;color:#4361ee;cursor:pointer;font-size:13px;font-weight:600;margin-bottom:12px;padding:10px;transition:all .2s;width:100%}.calc-distances-btn:hover:not(:disabled){background:#4361ee;color:#fff}.calc-distances-btn:disabled{background:#f0f0f0;border-color:#ddd;color:#888;cursor:not-allowed}.legend-head{align-items:center;border-bottom:1px solid #eee;display:flex;gap:10px;letter-spacing:.5px;margin-bottom:4px;padding:4px 8px 6px;text-transform:uppercase}.legend-head,.legend-head .legend-count,.legend-head .legend-label{color:#aaa;font-size:10px;font-weight:700}.legend-swatch-spacer{flex-shrink:0;width:14px}.legend-check{accent-color:#4361ee;cursor:pointer;flex-shrink:0;height:16px;margin-left:6px;width:16px}.legend-check-spacer{flex-shrink:0;width:22px}.stop-marker{align-items:center;background:#4361ee;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;color:#fff;display:flex;font-size:11px;font-weight:700;height:26px;justify-content:center;width:26px}.day-pie-icon{background:#0000;border:none}.day-pie-icon svg{cursor:pointer;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3))}.ruler-line{align-items:baseline;display:flex;gap:8px}.ruler-label{color:#888;font-size:10px;font-weight:600;letter-spacing:.5px;min-width:64px;text-transform:uppercase}.ruler-line strong{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.ruler-time{color:#4361ee;font-weight:600;margin-left:2px}.ruler-line em{color:#999;font-size:11px;font-style:italic}.ruler-readout{background:#fffffff7;border-radius:8px;bottom:18px;box-shadow:0 2px 10px #0003;font-size:12px;left:50%;line-height:1.35;padding:8px 14px;pointer-events:none;position:absolute;transform:translateX(-50%);white-space:nowrap;z-index:1000}.map-toolbar{align-items:center;animation:dockFloat 8s ease-in-out infinite;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff4d;border:1px solid #ffffff59;border-radius:17px;box-shadow:0 5px 20px #00000024,inset 0 1px 0 #ffffff80;display:flex;flex-direction:row;gap:5px;left:354px;padding:6px 10px;position:absolute;top:76px;z-index:900}.map-toolbar:hover{animation-play-state:paused}@keyframes dockFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}.map-toolbar-sep{background:#0000001f;height:18px;margin:0 2px;width:1px}.map-tool-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:#1a1a2e;cursor:pointer;display:flex;height:32px;justify-content:center;padding:0;position:relative;transition:transform .18s cubic-bezier(.2,.8,.4,1.1),background .15s ease,color .15s ease,box-shadow .15s ease;width:32px}.map-tool-btn svg{height:17px;width:17px}.map-tool-btn:hover:not(:disabled){background:#4361ee14;box-shadow:0 4px 10px #4361ee2e;transform:scale(1.2) translateY(-1px)}.map-tool-btn.active{background:#4361ee1a;color:#4361ee}.map-tool-btn.active:hover{background:#4361ee29}.map-tool-btn.active:after{background:#4361ee;border-radius:50%;bottom:-5px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:4px}.map-tool-btn:disabled{cursor:not-allowed;opacity:.35}.map-tool-btn[data-tooltip]>.tt-label{display:none}.map-tool-btn[data-tooltip]:not(.active):after{background:#1a1a2e;border-radius:5px;box-shadow:0 2px 8px #00000040;color:#fff;content:attr(data-tooltip);font-size:10px;font-weight:500;left:50%;line-height:1;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:calc(100% + 12px);transform:translateX(-50%) translateY(-4px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap;z-index:1100}.map-tool-btn[data-tooltip]:hover:not(:disabled):not(.active):after{opacity:1;transform:translateX(-50%) translateY(0)}.outlet-cluster{background:#0000}.outlet-cluster-bubble{align-items:center;border:2px solid #1a1a2e;border-radius:50%;box-shadow:0 1px 5px #0006;box-sizing:border-box;display:flex;justify-content:center}.outlet-cluster-bubble.solid{border:2px solid #1a1a2e;color:#fff;font-size:13px;font-weight:700;text-shadow:0 1px 1px #00000059}.outlet-cluster-bubble.selected{box-shadow:0 0 0 3px #ef4444,0 1px 5px #0006}.outlet-cluster-count{align-items:center;background:#fffffff2;border-radius:50%;color:#1a1a2e;display:flex;font-size:12px;font-weight:700;height:62%;justify-content:center;width:62%}.relocate-banner{align-items:center;background:#4361ee;border-radius:999px;box-shadow:0 8px 24px #4361ee73;color:#fff;display:flex;font-size:13px;font-weight:500;gap:16px;left:50%;padding:10px 18px;position:fixed;top:64px;transform:translateX(-50%);z-index:1100}.relocate-banner strong{font-weight:700}.relocate-cancel{background:#ffffff26;border:1px solid #ffffff4d;border-radius:999px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:5px 12px}.relocate-cancel:hover{background:#ffffff40}.app-toast{animation:toast-in .2s ease-out;background:#1a1a2e;border-radius:999px;bottom:32px;box-shadow:0 8px 24px #00000059;color:#fff;font-size:13px;font-weight:500;left:50%;padding:12px 20px;position:fixed;transform:translateX(-50%);z-index:2100}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal.modal-edit-outlets{width:min(1280px,calc(100vw - 32px))}.edit-outlets-count{background:#4361ee;border-radius:999px;color:#fff;display:inline-block;font-size:12px;font-weight:700;margin-left:10px;padding:2px 10px;vertical-align:middle}.edit-outlets-table-wrap{border:1px solid #e2e8f0;border-radius:12px;max-height:60vh;overflow:auto}.edit-outlets-table{border-collapse:collapse;font-size:13px;width:100%}.edit-outlets-table thead th{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;padding:8px 10px;position:sticky;text-align:left;text-transform:uppercase;top:0}.edit-outlets-table thead th.week-group{background:#eef2ff;color:#1a1a2e;text-align:center}.edit-outlets-table thead th.week-group-w2{background:#f0fdf4;color:#166534}.edit-outlets-table thead th.day-sub{background:#f1f5f9;font-size:10px;padding:6px 4px;text-align:center}.edit-outlets-table td{border-bottom:1px solid #f1f5f9;padding:8px 10px;vertical-align:middle}.edit-outlets-table tbody tr:hover td{background:#f8faff}.edit-outlets-table tbody tr.row-has-error td{background:#fef2f2}.edit-outlets-table .cell-code{color:#475569;font-family:ui-monospace,monospace;font-weight:600;white-space:nowrap}.edit-outlets-table td input[type=text],.edit-outlets-table td select{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:13px;outline:none;padding:6px 8px;width:100%}.edit-outlets-table td input[type=text]:focus,.edit-outlets-table td select:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee26}.edit-outlets-table td select.mismatch{background:#fef2f2;border-color:#fca5a5}.edit-outlets-table td.cell-check{padding:6px 2px;text-align:center;width:36px}.edit-outlets-table td.cell-check input[type=checkbox]{accent-color:#4361ee;cursor:pointer;height:16px;width:16px}.edit-outlets-table td.cell-check.non-working,.edit-outlets-table th.day-sub.non-working{background:#f5f5f5;color:#94a3b8}.bulk-apply-bar{display:flex;justify-content:flex-end;margin-bottom:10px}.bulk-apply-toggle{background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1a1a2e;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .15s}.bulk-apply-toggle:hover:not(:disabled){background:#f8faff;border-color:#4361ee;color:#4361ee}.bulk-apply-panel{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:16px;position:relative}.bulk-apply-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.bulk-apply-header h3{color:#1a1a2e;font-size:14px;font-weight:700;margin:0}.bulk-apply-close{align-items:center;background:#f1f5f9;border:none;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:18px;height:28px;justify-content:center;line-height:1;padding:0;transition:background .15s,color .15s,transform .15s;width:28px}.bulk-apply-close:hover:not(:disabled){background:#e2e8f0;color:#0f172a;transform:rotate(90deg)}.bulk-apply-intro{color:#475569;font-size:13px;line-height:1.5;margin-bottom:14px}.bulk-group{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:10px;padding:12px}.bulk-group:last-child{margin-bottom:0}.bulk-group-head{align-items:center;display:flex;gap:12px;margin-bottom:10px}.bulk-group-freq{background:#4361ee;border-radius:999px;color:#fff;display:inline-block;font-size:13px;font-weight:700;padding:4px 12px}.bulk-group-count{color:#64748b;font-size:12px;font-weight:600}.bulk-group-arrow{color:#94a3b8;font-size:16px;margin:0 2px}.bulk-group-target-label{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.bulk-group-target{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1a1a2e;cursor:pointer;font-size:13px;font-weight:700;outline:none;padding:4px 10px}.bulk-group-target:focus{border-color:#4361ee;box-shadow:0 0 0 2px #4361ee1f}.bulk-group-target.changed{background:#eef2ff;border-color:#4361ee;color:#4361ee}.bulk-group-state{font-size:12px;font-weight:600;margin-left:auto}.bulk-group-state.ok{color:#15803d}.bulk-group-state.bad{color:#b45309}.bulk-group-state.empty{color:#94a3b8}.bulk-group-row{display:flex;flex-wrap:wrap;gap:16px}.bulk-week-block{align-items:center;display:flex;gap:8px}.bulk-week-label{color:#64748b;font-size:11px;font-weight:700;letter-spacing:.5px;min-width:22px;text-transform:uppercase}.bulk-week-cells{display:flex;gap:4px}.bulk-day-cell{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:7px;color:#475569;cursor:pointer;display:flex;font-size:11px;font-weight:700;height:30px;justify-content:center;transition:all .15s;width:30px}.bulk-day-cell:hover:not(:disabled){border-color:#4361ee;color:#4361ee}.bulk-day-cell.on{background:#4361ee;border-color:#4361ee;color:#fff}.bulk-day-cell.non-working{background:#f5f5f5;color:#cbd5e1;cursor:not-allowed}.bulk-day-cell:disabled{opacity:.5}.bulk-apply-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;margin-top:14px}.bulk-apply-actions .btn-secondary,.bulk-apply-actions .solve-btn{border-radius:10px;flex:0 0 auto;padding:10px 0;text-align:center;width:130px}.bulk-apply-actions .btn-secondary{background:#fff!important;border:1.5px solid #cbd5e1!important;color:#1a1a2e!important}.bulk-apply-actions .btn-secondary:hover:not(:disabled){background:#f1f5f9!important;border-color:#94a3b8!important}.edit-outlets-table td.cell-check.non-working input[type=checkbox]{cursor:not-allowed;opacity:.4}.edit-outlets-table td.row-error-cell{max-width:240px;min-width:180px}.edit-outlets-table .row-error{background:#fee2e2;border-radius:6px;color:#991b1b;display:inline-block;font-size:11px;font-weight:500;line-height:1.4;padding:3px 8px}.apply-banner{align-items:center;background:#1a1a2e;border-radius:999px;box-shadow:0 8px 24px #00000059;color:#fff;display:flex;font-size:13px;font-weight:600;gap:10px;left:50%;padding:10px 18px;position:fixed;top:64px;transform:translateX(-50%);z-index:1100}.apply-spinner{animation:apply-spin .8s linear infinite;border:2px solid #ffffff40;border-radius:50%;border-top-color:#fff;flex-shrink:0;height:14px;width:14px}@keyframes apply-spin{to{transform:rotate(1turn)}}.selection-tray{align-items:center;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff4d;border:1px solid #ffffff59;border-radius:17px;box-shadow:0 5px 20px #00000024,inset 0 1px 0 #ffffff80;display:flex;flex-direction:row;gap:6px;left:354px;padding:5px 8px;position:absolute;top:128px;white-space:nowrap;z-index:850}.tray-count{color:#444;font-size:11px;font-weight:500;padding:0 2px 0 4px}.tray-count strong{color:#1a1a2e;font-size:13px;font-weight:700}.tray-sep{background:#0000001f;height:18px;margin:0 1px;width:1px}.tray-icon-btn{align-items:center;background:#0000;border:none;border-radius:10px;color:#1a1a2e;cursor:pointer;display:flex;height:30px;justify-content:center;padding:0;position:relative;transition:background .15s ease,color .15s ease,transform .15s ease;width:30px}.tray-icon-btn svg{height:17px;width:17px}.tray-icon-btn:hover{background:#4361ee24;color:#3a56d4;transform:translateY(-1px)}.tray-icon-btn[data-tooltip]:after{background:#1a1a2e;border-radius:5px;box-shadow:0 2px 8px #00000040;color:#fff;content:attr(data-tooltip);font-size:10px;font-weight:500;left:50%;line-height:1;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;top:calc(100% + 10px);transform:translateX(-50%) translateY(-4px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap;z-index:1100}.tray-icon-btn[data-tooltip]:hover:after{opacity:1;transform:translateX(-50%) translateY(0)}.tray-clear-btn{align-items:center;background:#0000;border:none;border-radius:9px;color:#777;cursor:pointer;display:flex;font-size:18px;height:26px;justify-content:center;line-height:1;padding:0;transition:background .15s ease,color .15s ease;width:26px}.tray-clear-btn:hover{background:#00000014;color:#1a1a2e}.move-summary{background:#f8f9ff;border-radius:8px;color:#333;font-size:14px;margin-bottom:18px;padding:10px 14px}.move-source-day{border-radius:6px;color:#fff;display:inline-block;font-weight:700;margin-left:4px;padding:2px 10px}.move-source-hint{color:#888;font-size:12px;font-style:italic}.move-day-buttons{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.move-day-btn{background:#fff;border:2px solid;border-radius:6px;cursor:pointer;font-size:12px;font-weight:700;padding:8px 6px;transition:all .15s}.move-day-btn:hover:not(:disabled){filter:brightness(.95)}.move-day-btn.active{color:#fff}.move-day-btn:disabled{background:#f5f5f5;border-color:#ddd!important;color:#aaa!important;cursor:not-allowed}.move-week-buttons{display:flex;gap:6px}.move-week-btn{background:#fff;border:1px solid #ddd;border-radius:6px;color:#555;cursor:pointer;flex:1 1;font-size:13px;font-weight:600;padding:8px 12px;transition:all .15s}.move-week-btn:hover{background:#f5f5f5}.move-week-btn.active{background:#4361ee;border-color:#4361ee;color:#fff}.move-week-btn:disabled{cursor:not-allowed;opacity:.4}.rep-pick-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}.rep-pick-btn{align-items:center;background:#fff;border:2px solid;border-radius:8px;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;padding:10px 12px;transition:all .15s}.rep-pick-btn:hover:not(:disabled){filter:brightness(.95)}.rep-pick-btn:disabled{background:#f5f5f5;border-color:#ddd!important;color:#aaa!important;cursor:not-allowed}.rep-pick-swatch{border:2px solid #fff;border-radius:50%;box-shadow:0 0 0 1px #00000026;flex-shrink:0;height:14px;width:14px}.field-note{color:#b25c00;font-size:11px;font-weight:500;letter-spacing:0;margin-left:4px;text-transform:none}.frequency-readout{background:#f8f9ff;border:1px solid #ddd;border-radius:8px;color:#1a1a2e;font-size:14px;padding:10px 12px}.frequency-readout strong{color:#4361ee;font-size:18px}.freq-formula{color:#888;font-size:12px}.depot-marker{align-items:center;background:#e63946;border:2px solid #fff;border-radius:50%;box-shadow:0 2px 6px #0000004d;color:#fff;display:flex;font-size:14px;font-weight:700;height:30px;justify-content:center;width:30px}.dashboard{background:#f5f5f5;height:calc(100vh - 48px);overflow-y:auto;padding:24px;width:100%}.dash-loading{color:#888;font-size:16px;padding:48px;text-align:center}.dash-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.dash-header-actions{align-items:center;display:flex;gap:16px}.bulk-solve-btn{background:#4361ee;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 24px;transition:background .2s}.bulk-solve-btn:hover{background:#3a56d4}.bulk-solve-btn:disabled{background:#a0a0a0;cursor:not-allowed}.bulk-result{background:#e8f5e9;border:1px solid #a5d6a7;border-radius:8px;color:#2e7d32}.bulk-error,.bulk-result{font-weight:500;margin-bottom:20px;padding:12px 20px}.bulk-error{background:#fee;border:1px solid #fcc;border-radius:8px;color:#c00}.dash-header h1{color:#1a1a2e;font-size:24px}.dash-week-toggle{background:#e0e0e0;border-radius:8px;display:flex;gap:4px;padding:3px}.dash-week-toggle button{background:#0000;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:13px;font-weight:600;padding:8px 20px;transition:all .2s}.dash-week-toggle button.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#1a1a2e}.dash-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(420px,1fr))}.dash-card{background:#fff;border-radius:12px;box-shadow:0 1px 4px #00000014;padding:20px}.dash-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.dash-card-header h3{color:#1a1a2e;font-size:18px}.dash-plans-badge{background:#f0f4ff;border-radius:12px;color:#4361ee;font-size:12px;font-weight:600;padding:4px 10px}.dash-card-stats{display:flex;gap:16px;margin-bottom:16px}.dash-stat{background:#f8f9ff;border-radius:8px;flex:1 1;padding:12px;text-align:center}.dash-stat-value{color:#4361ee;display:block;font-size:24px;font-weight:700}.dash-stat-label{color:#888;font-size:11px;letter-spacing:.5px;text-transform:uppercase}.dash-days{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.dash-day{background:#fafafa;border-radius:8px;padding:8px 4px;text-align:center}.dash-day.has-route{background:#f0f4ff;border:1px solid #d0d9ff}.dash-day.no-route{opacity:.5}.dash-day-label{color:#666;font-size:11px;font-weight:600;margin-bottom:4px;text-transform:uppercase}.dash-day-stops{color:#333;font-size:12px;font-weight:600}.dash-day-km{color:#888;font-size:11px}.dash-day-empty{color:#ccc;font-size:12px}.reports{background:#f5f5f5;height:100vh;overflow-y:auto;padding:86px 32px 28px;width:100%}.reports-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:22px}.reports-header h1{color:#1a1a2e;font-size:24px;font-weight:700}.reports-sub{color:#64748b;font-size:13px;line-height:1.5;margin-top:6px;max-width:460px}.reports-territory-dl{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:22px}.reports-dl-group{align-items:center;display:flex;gap:8px}.reports-territory-label{color:#64748b;font-size:12px;font-weight:600;margin-right:2px}.report-dl-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:10px;color:#1a1a2e;cursor:pointer;display:inline-flex;font-size:13px;font-weight:600;gap:6px;padding:8px 13px;transition:background .15s,border-color .15s,transform .15s,box-shadow .15s}.report-dl-btn:hover:not(:disabled){box-shadow:0 4px 12px -4px #0f172a40;transform:translateY(-1px)}.report-dl-btn:disabled{cursor:not-allowed;opacity:.5}.report-dl-btn.excel:hover:not(:disabled){border-color:#1d6f42;color:#1d6f42}.report-dl-btn.csv:hover:not(:disabled){border-color:#4361ee;color:#4361ee}.report-dl-btn.pdf:hover:not(:disabled){border-color:#c0392b;color:#c0392b}.reports-error{background:#fdecea;border:1px solid #f5c6c2;border-radius:10px;color:#c0392b;font-size:13px;font-weight:500;margin-bottom:16px;padding:10px 14px}.reports-empty{background:#fff;border:1px dashed #d8dee9;border-radius:14px;color:#94a3b8;font-size:15px;line-height:1.6;padding:56px 24px;text-align:center}.reports-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.report-rep{align-items:center;background:#fff;border:1px solid #ebeef3;border-radius:12px;box-shadow:0 1px 3px #0f172a0d;display:flex;gap:12px;justify-content:space-between;padding:12px 16px}.report-rep-name{color:#1a1a2e;font-size:15px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.report-rep-dl{align-items:center;display:flex;flex-shrink:0;gap:8px}.ro-overlay{backdrop-filter:blur(8px) saturate(140%);-webkit-backdrop-filter:blur(8px) saturate(140%);background:#12182857}.ro-blob{border-radius:50%;filter:blur(72px);opacity:.5;pointer-events:none;position:fixed;z-index:0}.ro-blob-a{background:#6aa3ff;height:360px;left:28%;top:14%;width:360px}.ro-blob-b{background:#b59cff;height:320px;left:54%;top:44%;width:320px}.ro-blob-c{background:#7fe3d0;height:260px;left:44%;top:34%;width:260px}.ro-modal{background:#fffc;border:1px solid #ffffff9e;border-radius:26px;box-shadow:0 30px 70px -18px #28375f80,inset 0 1px 0 #fffffff2;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;padding:24px 26px;position:relative;width:540px;z-index:1}.ro-modal:before{background:linear-gradient(90deg,#0000,#fffffff2,#0000);content:"";height:1px;left:26px;pointer-events:none;position:absolute;right:26px;top:0}.ro-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.ro-title{color:#1a1f33;font-family:Space Grotesk,sans-serif;font-size:23px;font-weight:700;letter-spacing:-.015em}.ro-close{align-items:center;background:#ffffff80;border:1px solid #fff9;border-radius:50%;color:#475569;cursor:pointer;display:flex;font-size:19px;height:34px;justify-content:center;line-height:1;transition:transform .2s ease,background .15s ease,color .15s ease;width:34px}.ro-close:hover{background:#ffffffd9;color:#1a1f33;transform:rotate(90deg)}.ro-modes{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr}.ro-mode{background:#ffffff8c;border:1.5px solid #7882a038;border-radius:14px;cursor:pointer;overflow:hidden;padding:12px 13px 11px;position:relative;text-align:left;transition:transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}.ro-mode:after{background:linear-gradient(#ffffff8c,#fff0);content:"";height:40%;left:0;pointer-events:none;position:absolute;right:0;top:0}.ro-mode:hover:not(:disabled){background:#fffc;transform:translateY(-2px)}.ro-mode.selected{background:#2f6bf01a;border-color:#2f6bf0;box-shadow:0 7px 20px -5px #2f6bf06b}.ro-radio{background:#0000;border:2px solid #7882a08c;border-radius:50%;height:15px;position:absolute;right:10px;top:10px;width:15px}.ro-radio:after{background:#fff;border-radius:50%;content:"";height:5px;inset:0;margin:auto;opacity:0;position:absolute;width:5px}.ro-mode.selected .ro-radio{background:#2f6bf0;border-color:#2f6bf0}.ro-mode.selected .ro-radio:after{opacity:1}.ro-endpoints{align-items:flex-end;display:flex;gap:8px;padding-right:16px}.ro-endpoint{display:flex;flex-direction:column;gap:1px;min-width:0}.ro-ep-label{color:#1a1f33;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ro-ep-value{color:#1a1f33;font-family:Space Grotesk,sans-serif;font-size:13px;font-weight:600;white-space:nowrap}.ro-arrow{color:#2f6bf0;font-size:15px;font-weight:700;padding-bottom:1px}.ro-tag{background:#7882a029;border-radius:6px;color:#1a1f33;display:inline-block;font-size:9.5px;font-weight:700;letter-spacing:.04em;margin-top:9px;padding:2px 7px;text-transform:uppercase}.ro-mode.selected .ro-tag{background:#2f6bf029;color:#2f6bf0}.ro-fields{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:16px}.ro-field{display:flex;flex-direction:column;gap:5px}.ro-label{color:#1a1f33;font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.ro-input-wrap{position:relative}.ro-input{background:#ffffffb8;border:1px solid #7882a04d;border-radius:11px;box-shadow:inset 0 1px 0 #ffffffe6;color:#1a1f33;font-family:Space Grotesk,sans-serif;font-size:15px;font-weight:600;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.ro-input:focus{border-color:#2f6bf0;box-shadow:inset 0 1px 0 #ffffffe6,0 0 0 3px #2f6bf033}.ro-input-time{padding-right:34px}.ro-input-time::-webkit-calendar-picker-indicator{cursor:pointer;opacity:0}.ro-input-icon{color:#1a1f33;pointer-events:none;position:absolute;right:11px;top:50%;transform:translateY(-50%)}.ro-days{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(7,1fr)}.ro-day{background:#fff9;border:1px solid #7882a04d;border-radius:10px;color:#1a1f33;cursor:pointer;font-family:Inter,sans-serif;font-size:12px;font-weight:700;padding:9px 0;transition:transform .14s ease,filter .14s ease}.ro-day.active{border-color:#0000;color:#fff}.ro-day:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.ro-day:disabled{cursor:not-allowed;opacity:.6}.ro-warn{align-items:flex-start;animation:roWarnPulse .6s ease;background:#fbbf2429;border:1px solid #f59e0b6b;border-radius:12px;color:#92400e;display:flex;font-size:12px;gap:9px;line-height:1.45;margin-top:16px;padding:10px 13px}.ro-warn strong{font-weight:700}.ro-warn-icon{color:#d97706;flex-shrink:0;margin-top:1px}@keyframes roWarnPulse{0%{box-shadow:0 0 0 0 #f59e0b00}30%{box-shadow:0 0 0 4px #f59e0b59;transform:scale(1.012)}to{box-shadow:0 0 0 0 #f59e0b00;transform:scale(1)}}.ro-error{color:#dc2626;font-size:12.5px;font-weight:600;margin-top:10px}.ro-footer{border-top:1px solid #7882a033;display:flex;gap:10px;margin-top:18px;padding-top:16px}.ro-btn-ghost{background:#ffffff80;border:1px solid #7882a04d;border-radius:12px;color:#1a1f33;cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:13.5px;font-weight:600;padding:11px;transition:background .15s ease,color .15s ease}.ro-btn-ghost:hover:not(:disabled){background:#ffffffd9;color:#1a1f33}.ro-btn-primary{background:#2f6bf0;border:none;border-radius:12px;box-shadow:0 8px 20px -6px #2f6bf099;color:#fff;cursor:pointer;flex:1.4 1;font-family:Inter,sans-serif;font-size:13.5px;font-weight:700;padding:11px;transition:background .15s ease,transform .15s ease}.ro-btn-primary:hover:not(:disabled){background:#2459d8;transform:translateY(-1px)}.ro-btn-ghost:disabled,.ro-btn-primary:disabled{cursor:not-allowed;opacity:.6}@media (prefers-reduced-motion:reduce){.ro-btn-primary,.ro-close,.ro-day,.ro-mode,.ro-warn{animation:none!important;transition:none!important}}.ro-upload .field{margin-bottom:12px}.ro-upload .field-row{display:flex;gap:12px}.ro-upload .field-row .field{flex:1 1}.ro-modal .field>label{color:#1a1f33;display:block;font-size:10px;font-weight:700;letter-spacing:.07em;margin-bottom:5px;text-transform:uppercase}.ro-modal .field input:not([type=file]),.ro-modal .field select{background:#ffffffb8;border:1px solid #7882a04d;border-radius:11px;box-shadow:inset 0 1px 0 #ffffffe6;color:#1a1f33;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;outline:none;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.ro-modal .field input:not([type=file]):focus,.ro-modal .field select:focus{border-color:#2f6bf0;box-shadow:inset 0 1px 0 #ffffffe6,0 0 0 3px #2f6bf033}.session-window{max-width:calc(100vw - 32px);padding:22px 24px;width:640px}.sw-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;margin-bottom:16px}.sw-title{color:#1a1a2e;font-size:21px;font-weight:800;letter-spacing:-.015em}.sw-sub{color:#94a3b8;display:block;font-size:12px;font-weight:500;margin-top:2px}.sw-header-actions{align-items:center;display:flex;gap:8px}.sw-upload{align-items:center;background:#4361ee;border:none;border-radius:10px;box-shadow:0 6px 16px -6px #4361ee99;color:#fff;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:6px;padding:9px 14px;transition:background .15s ease,transform .15s ease}.sw-upload:hover{background:#3a4fd4;transform:translateY(-1px)}.sw-close{align-items:center;background:#ffffff80;border:1px solid #0f172a1f;border-radius:50%;color:#64748b;cursor:pointer;display:flex;font-size:19px;height:34px;justify-content:center;line-height:1;transition:transform .2s ease,background .15s ease,color .15s ease;width:34px}.sw-close:hover{background:#ffffffd9;color:#1a1a2e;transform:rotate(90deg)}.sw-search{border:1px solid #e2e8f0;border-radius:10px;font-size:13.5px;margin-bottom:12px;outline:none;padding:10px 13px;width:100%}.sw-search:focus{border-color:#4361ee}.sw-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;max-height:60vh;overflow-y:auto}.sw-card{background:#fff9;border:1px solid #0f172a14;border-radius:14px;cursor:pointer;padding:14px;text-align:left;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.sw-card:hover{background:#fff;box-shadow:0 8px 20px -8px #0f172a40;transform:translateY(-2px)}.sw-card.active{background:#4361ee14;border-color:#4361ee;box-shadow:inset 0 0 0 1px #4361ee}.sw-card-top{align-items:center;display:flex;gap:8px;justify-content:space-between}.sw-card-name{color:#1a1a2e;font-size:15px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-card-badge{background:#4361ee24;border-radius:999px;color:#3a4fd4;flex-shrink:0;font-size:10px;font-weight:800;letter-spacing:.04em;padding:2px 8px;text-transform:uppercase}.sw-card-count{color:#64748b;font-size:12px;font-weight:600;margin-top:3px}.sw-card-dates{border-top:1px solid #0f172a0f;display:flex;gap:18px;margin-top:12px;padding-top:10px}.sw-date{display:flex;flex-direction:column;gap:1px}.sw-date-label{color:#94a3b8;font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.sw-date-value{font-feature-settings:"tnum";color:#1a1a2e;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600}.sw-empty{color:#94a3b8;font-size:14px;grid-column:1/-1;padding:30px;text-align:center}.sw-folders{display:flex;flex-direction:column;gap:6px;max-height:62vh;overflow-y:auto}.sw-folder{background:#fff6;border:1px solid #0f172a12;border-radius:12px;overflow:hidden}.sw-folder-head{align-items:center;background:#7882a014;border:none;color:#1a1a2e;cursor:pointer;display:flex;gap:8px;padding:10px 12px;text-align:left;width:100%}.sw-folder-head:hover{background:#7882a024}.sw-folder-chevron{color:#64748b;transition:transform .18s ease}.sw-folder-chevron.collapsed{transform:rotate(-90deg)}.sw-folder-name{flex:1 1;font-size:13px;font-weight:700;letter-spacing:.01em}.sw-folder-count{font-feature-settings:"tnum";background:#4361ee1f;border-radius:999px;color:#3a4fd4;font-size:11px;font-variant-numeric:tabular-nums;font-weight:800;padding:2px 8px}.sw-folder-body{display:flex;flex-direction:column;gap:2px;padding:4px}.sw-row{align-items:center;border-radius:9px;display:flex;gap:6px;transition:background .13s ease}.sw-row:hover{background:#4361ee12}.sw-row.active{background:#4361f01a}.sw-row-main{background:#0000;border:none;cursor:pointer;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0;padding:9px 10px;text-align:left}.sw-row-name{align-items:center;color:#1a1a2e;display:flex;font-size:13.5px;font-weight:700;gap:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-row.active .sw-row-name{color:#3a4fd4}.sw-row-badge{background:#4361ee24;border-radius:999px;color:#3a4fd4;flex-shrink:0;font-size:9px;font-weight:800;letter-spacing:.04em;padding:1px 7px;text-transform:uppercase}.sw-row-meta{font-feature-settings:"tnum";color:#64748b;font-size:11.5px;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sw-row-dot{color:#cbd5e1;margin:0 6px}.sw-row-move{flex-shrink:0;padding-right:6px;position:relative}.sw-move-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:30px;justify-content:center;transition:background .14s ease,color .14s ease,border-color .14s ease;width:30px}.sw-move-btn:hover{background:#fffc;border-color:#0f172a1f;color:#1a1a2e}.sw-move-menu{background:#fffffffc;border:1px solid #0f172a1a;border-radius:11px;box-shadow:0 14px 32px -10px #33416e66;max-height:240px;min-width:170px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:10}.sw-move-title{color:#94a3b8;font-size:10px;font-weight:700;letter-spacing:.06em;padding:4px 8px 6px;text-transform:uppercase}.sw-move-item{background:#0000;border:none;border-radius:7px;color:#1a1a2e;cursor:pointer;display:block;font-size:13px;padding:7px 9px;text-align:left;width:100%}.sw-move-item:hover{background:#4361ee17}.sw-move-item.current{color:#3a4fd4;font-weight:700}.sw-move-new{border-top:1px solid #0f172a14;color:#3a4fd4;font-weight:600;margin-top:4px}.ro-upload{width:700px}.upload-cols{grid-gap:18px;display:grid;gap:18px;grid-template-columns:5fr 7fr}.upload-col{display:flex;flex-direction:column;gap:12px}.upload-col .field{margin-bottom:0}.file-picker{align-items:center;display:flex;gap:10px}.file-choose{background:#2f6bf014;border:1px solid #2f6bf066;border-radius:10px;color:#2f6bf0;cursor:pointer;flex-shrink:0;font-family:Inter,sans-serif;font-size:13px;font-weight:700;padding:8px 14px;transition:background .15s ease}.file-choose:hover:not(:disabled){background:#2f6bf029}.file-chip{align-items:center;display:flex;gap:7px;min-width:0}.file-chip-name{color:#1a1f33;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-empty{color:#94a3b8;font-size:12.5px}.depot-loc-btn{font-feature-settings:"tnum";align-items:center;background:#2f6bf00f;border:1px dashed #2f6bf080;border-radius:9px;color:#2f6bf0;cursor:pointer;display:inline-flex;font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:600;gap:6px;margin-top:8px;padding:8px 11px}.depot-loc-btn.set{background:#1d704414;border-color:#1d704473;border-style:solid;color:#1d7044}.depot-loc-btn:hover:not(:disabled){filter:brightness(.97)}.folder-picker{position:relative}.folder-picker-btn{align-items:center;background:#ffffffb8;border:1px solid #7882a04d;border-radius:11px;color:#1a1f33;cursor:pointer;display:flex;font-family:Space Grotesk,sans-serif;font-size:14px;font-weight:600;gap:8px;padding:9px 11px;transition:border-color .15s ease;width:100%}.folder-picker-btn:hover:not(:disabled){border-color:#2f6bf0}.folder-picker-name{flex:1 1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.folder-picker-chevron{color:#64748b;flex-shrink:0}.folder-menu{background:#fffffffc;border:1px solid #0f172a1a;border-radius:11px;box-shadow:0 14px 32px -10px #33416e66;left:0;max-height:200px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 4px);z-index:20}.folder-menu-item{background:#0000;border:none;border-radius:7px;color:#1a1f33;cursor:pointer;display:block;font-size:13px;padding:8px 10px;text-align:left;width:100%}.folder-menu-item:hover{background:#2f6bf017}.folder-menu-item.current{color:#2f6bf0;font-weight:700}.folder-menu-new{border-top:1px solid #0f172a14;color:#2f6bf0;font-weight:600;margin-top:4px}.depot-picker-modal{width:460px}.depot-picker-modal .depot-map{border-radius:12px;height:300px;margin-bottom:10px;overflow:hidden}.depot-picker-modal .depot-coords{display:flex;gap:10px;margin-bottom:8px}.depot-picker-modal .depot-coord{flex:1 1}.upload-row-top{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr 1fr;margin-bottom:14px}.upload-grid{grid-gap:12px 16px;display:grid;gap:12px 16px;grid-template-columns:1fr 1fr}.upload-grid .field,.upload-row-top .field{margin-bottom:0}.upload-span2{grid-column:1/-1}.folder-mode-toggle{display:flex;margin-bottom:6px}.folder-mode-toggle button{background:#ffffff8c;border:1px solid #7882a04d;color:#1a1f33;cursor:pointer;flex:1 1;font-size:11px;font-weight:700;padding:6px 0;transition:background .14s ease,color .14s ease}.folder-mode-toggle button:first-child{border-radius:8px 0 0 8px}.folder-mode-toggle button:last-child{border-left:none;border-radius:0 8px 8px 0}.folder-mode-toggle button.active{background:#2f6bf0;border-color:#2f6bf0;color:#fff}.folder-mode-toggle button:disabled{cursor:not-allowed;opacity:.5}.depots-section{border-top:1px solid #e6eaf0;margin-top:28px;padding-top:22px}.depots-head{align-items:flex-start;display:flex;gap:16px;justify-content:space-between;margin-bottom:14px}.depots-head h2{color:#1a1a2e;font-size:20px;font-weight:700}.depot-add-btn{background:#2f6bf0;border:none;border-radius:10px;box-shadow:0 6px 16px -6px #2f6bf099;color:#fff;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:9px 14px;transition:background .15s ease,transform .15s ease}.depot-add-btn:hover{background:#2459d8;transform:translateY(-1px)}.depots-table-wrap{background:#fff;border:1px solid #ebeef3;border-radius:14px;box-shadow:0 1px 3px #0f172a0d;overflow:hidden}.depots-table{border-collapse:collapse;font-size:13px;width:100%}.depots-table th{background:#f8fafc;border-bottom:1px solid #eef2f7;color:#94a3b8;font-size:10.5px;font-weight:700;letter-spacing:.05em;padding:11px 16px;text-align:left;text-transform:uppercase}.depots-table td{border-bottom:1px solid #f1f4f8;color:#1a1a2e;padding:11px 16px}.depots-table tr:last-child td{border-bottom:none}.depots-table tbody tr:hover td{background:#f8faff}.depot-code{font-family:ui-monospace,monospace;font-weight:700}.depot-addr{color:#64748b;max-width:260px}.depot-coords-cell,.depot-usage{font-feature-settings:"tnum";color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap}.depot-actions{text-align:right;white-space:nowrap}.depot-action-btn{background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;height:30px;margin-left:6px;transition:background .14s,color .14s,border-color .14s;vertical-align:middle;width:30px}.depot-action-btn:hover:not(:disabled){background:#2f6bf014;border-color:#2f6bf066;color:#2f6bf0}.depot-action-btn.danger:hover:not(:disabled){background:#fdecea;border-color:#f5c6c2;color:#c0392b}.depot-action-btn:disabled{cursor:not-allowed;opacity:.4}.addr-geocode-row{display:flex;gap:8px}.addr-geocode-row input{flex:1 1}.addr-geocode-btn{background:#2f6bf014;border:1px solid #2f6bf066;border-radius:10px;color:#2f6bf0;cursor:pointer;flex-shrink:0;font-size:13px;font-weight:700;padding:0 14px;transition:background .15s ease;white-space:nowrap}.addr-geocode-btn:hover:not(:disabled){background:#2f6bf029}.addr-geocode-btn:disabled{cursor:not-allowed;opacity:.5}.tray-icon-btn.tray-icon-danger:hover{background:#c0392b1f;color:#c0392b}.remove-modal{width:420px}.remove-intro{color:#64748b;font-size:13.5px;margin-bottom:16px}.remove-options{display:flex;flex-direction:column;gap:10px}.remove-option{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;display:flex;gap:13px;padding:13px 14px;text-align:left;transition:background .14s ease,border-color .14s ease,transform .14s ease}.remove-option:hover:not(:disabled){background:#f8faff;border-color:#cbd5e1;transform:translateY(-1px)}.remove-option.danger:hover:not(:disabled){background:#fdecea;border-color:#f5c6c2}.remove-option:disabled{cursor:not-allowed;opacity:.6}.remove-option-icon{align-items:center;border-radius:10px;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.remove-option-icon.unassign{background:#2f6bf01f;color:#2f6bf0}.remove-option-icon.delete{background:#c0392b1f;color:#c0392b}.remove-option-text{display:flex;flex-direction:column;gap:2px;min-width:0}.remove-option-text strong{color:#1a1a2e;font-size:14px;font-weight:700}.remove-option-text span{color:#64748b;font-size:12px}.file-warn{align-items:center;background:#dc2626;border-radius:50%;box-shadow:0 0 0 3px #dc26262e;color:#fff;cursor:help;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:800;height:18px;justify-content:center;line-height:1;width:18px}.relocate-banner-body{display:flex;flex-direction:column;gap:8px}.relocate-banner-text{font-size:13px}.relocate-find-row{display:flex;gap:8px}.relocate-addr-input{background:#ffffff1f;border:1px solid #ffffff40;color:#fff;flex:1 1;font-size:13px;min-width:200px;padding:7px 11px}.relocate-addr-input::placeholder{color:#ffffff80}.relocate-addr-input:focus{background:#ffffff2e;border-color:#6ea0ff}.relocate-find-btn{font-size:13px;padding:7px 13px;white-space:nowrap}.relocate-find-btn:disabled{opacity:.55}.relocate-error{color:#ffc4c4}.relocate-tray{align-items:center;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);background:#ffffff6b;border:1px solid #fff6;border-radius:17px;box-shadow:0 5px 20px #00000024,inset 0 1px 0 #ffffff80;display:flex;flex-direction:row;gap:6px;left:354px;padding:5px 8px;position:absolute;top:128px;white-space:nowrap;z-index:850}.relocate-tray.with-tray{left:600px}.relocate-tray-label{align-items:center;color:#1a1a2e;display:inline-flex;font-size:12.5px;gap:6px;padding:0 4px 0 6px}.relocate-tray-label svg{color:#2f6bf0;flex-shrink:0}.relocate-tray-label strong{font-weight:700}.relocate-addr-input{background:#ffffffbf;border:1px solid #0f172a2e;border-radius:9px;color:#1a1a2e;font-size:12.5px;min-width:0;outline:none;padding:6px 10px;width:190px}.relocate-addr-input::placeholder{color:#94a3b8}.relocate-addr-input:focus{border-color:#2f6bf0;box-shadow:0 0 0 2px #2f6bf040}.relocate-find-btn{background:#2f6bf0;border:none;border-radius:9px;color:#fff;cursor:pointer;flex-shrink:0;font-size:12.5px;font-weight:700;padding:6px 12px;transition:background .15s ease}.relocate-find-btn:hover:not(:disabled){background:#2459d8}.relocate-find-btn:disabled{cursor:not-allowed;opacity:.5}.relocate-error{align-items:center;background:#dc2626;border-radius:50%;color:#fff;cursor:help;display:inline-flex;flex-shrink:0;font-size:12px;font-weight:800;height:18px;justify-content:center;width:18px}.upload-warn-line{color:#b45309}.outlet-drag-ghost{border:2px solid #1a1a2e;border-radius:50%;box-shadow:0 2px 8px #0006;height:20px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);width:20px;z-index:1500}.route-loader,.route-loader-static{align-items:center;display:flex;justify-content:center}.route-loader-static{color:#64748b;font-size:26px;font-weight:500;letter-spacing:.08em;text-transform:uppercase}.access-denied-toast{align-items:center;animation:access-denied-in .18s ease-out;background:#1a1a2e;border-radius:12px;bottom:26px;box-shadow:0 18px 40px -14px #0f172ab3;color:#fff;display:flex;font-size:13px;font-weight:600;gap:9px;left:50%;line-height:1.35;max-width:min(560px,calc(100vw - 32px));padding:11px 16px;position:fixed;transform:translateX(-50%);z-index:4000}.access-denied-toast svg{flex-shrink:0;opacity:.75}@keyframes access-denied-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.access-denied-toast{animation:none}}
/*# sourceMappingURL=main.838fe1b8.css.map*/