:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{width:100vw;min-height:100vh;text-align:center;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app{font-family:Arial,sans-serif;color:#333;padding:1rem;width:100%;box-sizing:border-box;min-height:100vh;display:flex;flex-direction:column}@media (max-width: 768px){.app{padding:.5rem;width:130vw}.header{flex-direction:column;align-items:flex-start;gap:.5rem}.header h1{font-size:1.5rem}.controls{flex-direction:column;gap:.5rem}.control-group{flex-direction:column;align-items:flex-start}.control-group button{width:100%;padding:10px}.search-container{flex-direction:column;gap:.5rem}.search-container input,.search-container button{width:100%}.parking-space{min-width:60px;min-height:90px}.space-id,.car-plate{font-size:50px}.edit-form input{font-size:14px;padding:8px}.edit-buttons button{font-size:12px;padding:6px 12px}.resize-handle-space{width:20px;height:20px}}.change-pwd-button{padding:6px 12px;background-color:#fff;color:#1976d2;border:1px solid #1976d2;border-radius:4px;cursor:pointer;font-size:14px;transition:all .3s}.change-pwd-button:hover{background-color:#1976d2;color:#fff}.pwd-error{margin:0 0 12px;padding:8px 10px;color:#d32f2f;background-color:#ffebee;border-radius:4px;font-size:13px}.pwd-done-text{margin:0 0 20px;padding:12px;color:#2e7d32;background-color:#e8f5e9;border-radius:6px;font-size:14px;line-height:1.6}h1{color:#333;margin-bottom:2rem;text-align:center}.search-container{margin-bottom:2rem;display:flex;justify-content:center;gap:10px;flex-wrap:wrap;position:sticky;top:0;z-index:300;padding:8px 0;background:#fff}.search-container button.clear-bg-btn{background-color:#f44336}.zoom-badge{display:inline-flex;align-items:center;padding:0 10px;min-width:52px;justify-content:center;font-size:14px;font-variant-numeric:tabular-nums;color:#4a5b57;background:#eef4f2;border:1px solid #cfdcd8;border-radius:4px}.search-container button.clear-bg-btn:hover{background-color:#d32f2f}.search-container button:nth-child(3){background-color:#2196f3}.search-container button:nth-child(3):hover{background-color:#0b7dda}.factory-view{width:100%;min-height:420px;flex-grow:0;background-color:#f5f5f5;border:2px solid #ddd;border-radius:8px;position:relative;margin-bottom:20px;background-size:20px 20px;cursor:grab;overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.resize-handle{position:absolute;bottom:0;right:0;width:15px;height:15px;background-color:#2196f3;border-radius:0 0 8px;cursor:nwse-resize;z-index:1000}.resize-handle:hover{background-color:#1976d2}.building{position:absolute;z-index:100}.building.house{background-color:#e0e0e0;border:2px solid #9e9e9e;border-radius:4px}.building.wall{background-color:#616161;border-radius:2px}.building-drawing{position:absolute;z-index:999}.building-drawing.house{border:2px dashed #9e9e9e;background-color:#e0e0e080;border-radius:4px}.building-drawing.wall{background-color:#616161;border-radius:2px;opacity:.7}.factory-drawing{position:absolute;border:2px dashed #2196F3;background-color:#2196f31a;z-index:999;cursor:crosshair}.new-space{position:absolute;border:2px dashed #2196F3;background-color:#2196f333;z-index:1000}.parking-space.dragging{opacity:.8;box-shadow:0 8px 16px #0000004d;z-index:200}.resize-handle-space{position:absolute;right:0;bottom:0;width:15px;height:15px;background-color:#2196f3;cursor:nwse-resize;border-radius:0 0 4px;opacity:0;transition:opacity .3s}.parking-space:hover .resize-handle-space{opacity:1}.parking-space.editing{transform:scale(1.05);box-shadow:0 4px 8px #0003;z-index:200}.parking-space.selected{z-index:150}.parking-space.dragging{z-index:300}.edit-form{width:90%;display:flex;flex-direction:column;gap:10px}.edit-form input{padding:5px;font-size:12px;border:1px solid #ddd;border-radius:4px;background-color:#fff;color:#333;text-align:center}.edit-buttons{display:flex;gap:5px;justify-content:center}.edit-buttons button{padding:3px 8px;font-size:10px;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.edit-buttons button:first-child{background-color:#4caf50;color:#fff}.edit-buttons button:first-child:hover{background-color:#45a049}.edit-buttons button:nth-child(2){background-color:#2196f3;color:#fff}.edit-buttons button:nth-child(2):hover{background-color:#1976d2}.edit-buttons button:nth-child(3){background-color:#f44336;color:#fff}.edit-buttons button:nth-child(3):hover{background-color:#da190b}.edit-buttons button:last-child{background-color:#9e9e9e;color:#fff}.edit-buttons button:last-child:hover{background-color:#757575}.space-id{font-size:100px;font-weight:700;margin-bottom:10px}.car-plate{font-size:100px;text-align:center;padding:10px;background-color:#fff3;border-radius:4px;width:80%}.search-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.search-modal-content{background-color:#fff;padding:30px;border-radius:8px;box-shadow:0 4px 12px #00000026;text-align:center;min-width:300px}.search-modal-content h3{margin-top:0;color:#333}.search-modal-content p{margin:10px 0;font-size:16px}.search-modal-content button{margin-top:20px;padding:8px 20px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.search-modal-content button:hover{background-color:#45a049}.edit-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.edit-modal-content{background-color:#fff;padding:30px;border-radius:12px;box-shadow:0 8px 24px #0003;min-width:350px;max-width:90%}.edit-modal-content h3{margin-top:0;margin-bottom:20px;color:#333;text-align:center;font-size:20px}.edit-modal-form{display:flex;flex-direction:column;gap:15px;margin-bottom:20px}.edit-modal-form .form-group{display:flex;flex-direction:column;gap:5px;text-align:left}.edit-modal-form .form-group label{font-size:14px;color:#666;font-weight:500}.edit-modal-form .form-group input{padding:10px 12px;font-size:16px;border:1px solid #ddd;border-radius:6px;transition:border-color .3s,box-shadow .3s}.edit-modal-form .form-group input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 3px #2196f31a}.edit-modal-buttons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.edit-modal-buttons button{padding:10px 20px;font-size:14px;border:none;border-radius:6px;cursor:pointer;transition:all .3s;font-weight:500}.edit-modal-buttons .save-btn{background-color:#4caf50;color:#fff}.edit-modal-buttons .save-btn:hover{background-color:#45a049}.edit-modal-buttons .copy-btn{background-color:#2196f3;color:#fff}.edit-modal-buttons .copy-btn:hover{background-color:#1976d2}.edit-modal-buttons .delete-btn{background-color:#f44336;color:#fff}.edit-modal-buttons .delete-btn:hover{background-color:#d32f2f}.edit-modal-buttons .cancel-btn{background-color:#9e9e9e;color:#fff}.edit-modal-buttons .cancel-btn:hover{background-color:#757575}.car-count{position:absolute;top:10px;right:20px;font-size:16px;font-weight:700;color:#333}@media (max-width: 768px){.parking-space{width:80px;height:120px}.space-id,.car-plate{font-size:50px}.search-container input{width:200px}}.sync-notice{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 20px 12px;padding:10px 14px;background-color:#fef3c7;border:1px solid #f59e0b;border-left:4px solid #d97706;border-radius:6px;color:#78350f;font-size:13px;line-height:1.5}.sync-notice-text{flex:1}.sync-notice-close{flex:0 0 auto;padding:4px 12px;background-color:#d97706;color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer}.sync-notice-close:hover{background-color:#b45309}.login-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background-color:#f5f5f5;padding:20px}.login-form{background-color:#fff;padding:40px;border-radius:8px;box-shadow:0 2px 10px #0000001a;width:100%;max-width:400px}.login-form h2{text-align:center;margin-bottom:30px;color:#333}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#555}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:4px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#2196f3;box-shadow:0 0 0 2px #2196f333}.login-button{width:100%;padding:12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background-color .3s}.login-button:hover{background-color:#45a049}.error-message{background-color:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:20px;text-align:center}.row-editor-mask{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#10201c57;display:flex;align-items:center;justify-content:center;z-index:3000;padding:24px}.row-editor{width:min(760px,100%);max-height:min(82vh,860px);display:flex;flex-direction:column;background-color:#fff;border-radius:12px;box-shadow:0 18px 48px #0c201b3d;overflow:hidden}.row-editor-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid #e3e9e7}.row-editor-head h2{margin:0;font-size:17px;font-weight:600;color:#16302a}.row-editor-sub{margin:4px 0 0;font-size:12.5px;color:#6b7c77}.row-editor-hint{margin-left:12px;color:#9aa9a4}.row-editor-close{border:none;background:none;font-size:22px;line-height:1;color:#8b9a95;cursor:pointer;padding:2px 6px;border-radius:6px}.row-editor-close:hover{background-color:#f2f6f4;color:#16302a}.row-editor-body{flex:1;overflow-y:auto;padding:8px 20px 16px}.row-editor-pending{color:#0f6e56;font-weight:600}.row-append-trigger{display:flex;align-items:center;gap:8px;width:100%;margin:6px 0 10px;padding:9px 12px;border:1px dashed #b9cdc7;border-radius:8px;background-color:#fbfdfc;color:#0f6e56;font-size:13px;font-weight:600;cursor:pointer;text-align:left}.row-append-trigger:hover:not(:disabled){border-color:#0f6e56;background-color:#f2faf6}.row-append-trigger:disabled{opacity:.5;cursor:not-allowed}.row-append-plus{font-size:15px;line-height:1}.row-append-trigger em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:400;color:#93a4a0}.row-append-panel{margin:6px 0 12px;padding:12px 14px 10px;border:1px solid #cfe3db;border-radius:9px;background-color:#f6fbf9}.row-append-title{font-size:13px;font-weight:600;color:#16302a;margin-bottom:10px}.row-append-title em{display:block;margin-top:3px;font-style:normal;font-weight:400;font-size:11.5px;color:#7d8f8a;line-height:1.5}.row-append-form{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center}.row-append-form label{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#4a5a56}.row-append-form input,.row-append-form select{height:28px;padding:0 7px;border:1px solid #d5e0dc;border-radius:6px;background-color:#fff;font-size:13px;color:#16302a;-moz-appearance:textfield}.row-append-form input{width:62px;text-align:center}.row-append-form select{min-width:132px}.row-append-form input::-webkit-outer-spin-button,.row-append-form input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.row-append-sides{display:flex;gap:6px;margin-top:10px}.row-append-sides button{flex:1;padding:6px 0;border:1px solid #d5e0dc;border-radius:6px;background-color:#fff;color:#4a5a56;font-size:12.5px;cursor:pointer}.row-append-sides button:hover{border-color:#0f6e56;color:#0f6e56}.row-append-sides button.is-on{border-color:#0f6e56;background-color:#0f6e56;color:#fff}.row-append-preview{margin:10px 0 0;font-size:12px;color:#5c6f6a;line-height:1.6}.row-append-preview b{color:#0f6e56;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.preview-empty{color:#a3b2ae}.preview-shift{color:#b4761a}.row-append-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.row-append-actions button{padding:5px 14px;border:1px solid #d5e0dc;border-radius:6px;background-color:#fff;color:#365048;font-size:12.5px;cursor:pointer}.row-append-actions button:first-child{border-color:#0f6e56;background-color:#0f6e56;color:#fff}.row-append-actions button:hover{border-color:#0f6e56;color:#0f6e56}.row-append-actions button:first-child:hover{background-color:#0d5f4a;color:#fff}.row-editor-table{display:flex;flex-direction:column}.row-editor-tr{display:grid;grid-template-columns:68px 82px 74px 128px 78px 1fr;align-items:center;gap:10px;padding:9px 6px;border-bottom:1px solid #f0f4f2;font-size:13px;color:#2c3f3a}.row-editor-th{position:sticky;top:0;background-color:#fff;z-index:1;font-size:12px;color:#849590;border-bottom:1px solid #e3e9e7;padding-bottom:8px}.row-editor-tr.is-changed{background-color:#f4fbf7}.row-editor-tr.is-append{background-color:#f7fbfc;border-bottom-style:dashed}.tag-new{display:inline-block;padding:1px 6px;border-radius:4px;background-color:#e0f2fe;color:#0369a1;font-size:11px;font-weight:600}.now-empty{color:#b6c2be}.link-remove{margin-left:auto;padding:1px 2px;border:none;background:none;color:#9aa9a4;font-size:11.5px;cursor:pointer;text-decoration:underline}.link-remove:hover{color:#b91c1c}.col-no b{font-size:14px;color:#0f6e56}.col-dir{color:#6b7c77;font-size:12.5px;line-height:1.35}.dir-lock{display:block;font-style:normal;font-size:10.5px;color:#9aa9a4}.col-now em{margin-left:6px;font-style:normal;font-size:11px;color:#b45309;background-color:#fef3c7;padding:1px 5px;border-radius:4px}.col-edit{display:inline-flex;align-items:center;gap:4px}.col-edit button{width:26px;height:26px;border:1px solid #d5e0dc;background-color:#fff;border-radius:6px;color:#365048;font-size:14px;line-height:1;cursor:pointer}.col-edit button:hover:not(:disabled){border-color:#0f6e56;color:#0f6e56}.col-edit button:disabled{opacity:.4;cursor:not-allowed}.col-edit input{width:56px;height:26px;text-align:center;border:1px solid #d5e0dc;border-radius:6px;font-size:13px;color:#16302a;-moz-appearance:textfield}.col-edit input::-webkit-outer-spin-button,.col-edit input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.col-diff{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px}.col-gap{display:inline-flex;align-items:center}.col-gap input{width:68px;height:26px;text-align:center;border:1px solid #d5e0dc;border-radius:6px;font-size:13px;color:#16302a;-moz-appearance:textfield}.col-gap input.is-changed{border-color:#d98324;background-color:#fffaf2;color:#9a5a10;font-weight:600}.col-gap input:focus{outline:none;border-color:#0f6e56}.col-gap input::-webkit-outer-spin-button,.col-gap input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.gap-none{color:#b3c0bb}.diff-move{color:#9a5a10;font-weight:600}.col-diff em{font-style:normal;color:#8b9a95;font-size:11.5px;margin-left:4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.diff-none{color:#b6c2be}.diff-add{color:#047857}.diff-del{color:#b91c1c}.diff-warn{color:#b45309;font-size:11.5px}.row-editor-error{margin-top:12px;padding:9px 12px;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#b91c1c;font-size:12.5px;line-height:1.5}.row-editor-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid #e3e9e7;background-color:#fafcfb}.row-editor-sum{font-size:12.5px;color:#4a5a56;display:flex;align-items:center;gap:12px}.row-editor-sum b{font-weight:600}.sum-idle{color:#9aa9a4}.row-editor-progress{color:#0f6e56}.row-editor-actions{display:flex;gap:8px}.row-editor-actions button{padding:7px 16px;border-radius:7px;border:1px solid #d5e0dc;background-color:#fff;color:#365048;font-size:13px;cursor:pointer}.row-editor-actions button:hover:not(:disabled){border-color:#0f6e56;color:#0f6e56}.row-editor-actions button.primary{background-color:#0f6e56;border-color:#0f6e56;color:#fff}.row-editor-actions button.primary:hover:not(:disabled){background-color:#0d5f4a;color:#fff}.row-editor-actions button:disabled{opacity:.45;cursor:not-allowed}.view-only{font-family:Arial,sans-serif;color:#333;padding:1rem;width:100%;box-sizing:border-box;height:100vh;overflow:hidden;display:flex;flex-direction:column}@media (max-width: 768px){.view-only{padding:.5rem;width:130vw}.header{flex-direction:column;align-items:flex-start;gap:.5rem}.header h1{font-size:1.5rem}.search-container{flex-direction:column;gap:.5rem}.search-container input,.search-container button{width:100%}.parking-space{min-width:60px;min-height:90px}.space-id{font-size:120px}.car-plate{font-size:90px}}.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid #eee}.header h1{margin:0;color:#333;text-align:left}.user-info{display:flex;align-items:center;gap:10px}.user-info span{font-size:14px;color:#666}.logout-button{padding:6px 12px;background-color:#f44336;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;transition:background-color .3s}.logout-button:hover{background-color:#d32f2f}.view-only h1{color:#333;margin-bottom:2rem;text-align:center}.search-container{margin-bottom:2rem;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.search-container input{padding:10px;font-size:16px;border:1px solid #ddd;border-radius:4px;width:300px}.search-container button{padding:10px 20px;font-size:16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.search-container button:hover{background-color:#45a049}.factory-view{width:100%;height:auto;flex:1 1 auto;min-height:0;background-color:#f5f5f5;border:2px solid #ddd;border-radius:8px;position:relative;margin-bottom:20px;background-size:20px 20px;cursor:grab;overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.parking-space{background-color:#e0e0e0;border-radius:8px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;transition:all .3s;cursor:pointer;z-index:100}.parking-space:hover{transform:scale(1.05);box-shadow:0 2px 8px #0000001a}.parking-space.scaled{transform:scale(1.1);box-shadow:0 4px 8px #0003;z-index:10}.space-id{font-size:120px;font-weight:700;color:#666;margin-bottom:5px}.car-plate{font-size:70px;font-weight:700;color:#333}.car-count{text-align:center;font-size:16px;margin-top:20px;color:#666}.space-modal{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1001}.space-modal-content{background-color:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 12px #00000026;min-width:300px;text-align:center}.space-modal-content h3{margin-top:0;color:#333;margin-bottom:1.5rem}.space-detail-item{margin-bottom:1rem;font-size:16px;text-align:left;padding:.5rem 0;border-bottom:1px solid #eee}.space-detail-item strong{display:inline-block;width:80px;color:#666}.close-button{margin-top:2rem;padding:10px 20px;font-size:16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;margin-right:10px}.copy-button{margin-top:2rem;padding:10px 20px;font-size:16px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s;margin-right:10px}.copy-button:hover{background-color:#1976d2}.close-button:hover{background-color:#45a049}.toast{position:fixed;top:20px;right:20px;background-color:#000c;color:#fff;padding:12px 20px;border-radius:4px;font-size:14px;z-index:10000;opacity:0;transform:translateY(-20px);transition:opacity .3s,transform .3s;box-shadow:0 2px 8px #0003}.parking-space{border-radius:6px;transition:background-color .18s ease,box-shadow .18s ease,outline-color .18s ease}.parking-space:not(.has-car){background-color:#0f6e560a;background-image:none;border:1px solid rgba(15,110,86,.1);color:#5a6965}.parking-space.has-car{color:#fff;border:1px solid rgba(255,255,255,.24)}.parking-space.has-car .space-id,.parking-space.has-car .car-plate{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.22)}.parking-space.st-stock{background-color:#0e9f72;background-image:linear-gradient(180deg,#14b88a,#047857)}.parking-space.st-order{background-color:#7c3aed;background-image:linear-gradient(180deg,#8b5cf6,#6d28d9)}.parking-space.st-temp{background-color:#d9860d;background-image:linear-gradient(180deg,#f5a524,#b9660b)}.parking-space.st-unknown{background-color:#7c8b87;background-image:linear-gradient(180deg,#97a5a1,#6b7a76)}.parking-space.highlighted{outline:3px solid #2563eb;outline-offset:2px;box-shadow:0 0 0 6px #2563eb33;z-index:900}.parking-space.selected{outline:3px solid #f59e0b;outline-offset:2px}.parking-space{container-type:inline-size}.parking-space .space-id{max-width:100%;line-height:1.05;white-space:nowrap;overflow:hidden;font-size:100px;font-size:34cqw}.parking-space .car-plate{max-width:92%;box-sizing:border-box;margin-top:4px;padding:2px 6px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:64px;font-size:22cqw}.legend-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.legend-item{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:#4a5a56;line-height:1}.legend-dot{width:12px;height:12px;border-radius:3px;flex:0 0 auto}.legend-dot.is-empty{background-color:#0f6e560f;border:1px solid rgba(15,110,86,.24)}.legend-dot.is-stock{background-image:linear-gradient(180deg,#14b88a,#047857)}.legend-dot.is-order{background-image:linear-gradient(180deg,#8b5cf6,#6d28d9)}.legend-dot.is-temp{background-image:linear-gradient(180deg,#f5a524,#b9660b)}.legend-dot.is-unknown{background-image:linear-gradient(180deg,#97a5a1,#6b7a76)}
