.error-boundary{position:absolute;top:0;left:0;justify-content:center;align-items:center;display:flex;width:100%;height:100%;background:#fffc}.error-boundary__content{width:400px;max-width:100%;margin:auto;padding:0 12px 24px;background-color:#dddddd4d;border:1px dashed #777;border-radius:2px;text-align:center}.error-boundary__content__title:before{display:block;width:26px;height:26px;margin:24px auto 12px;background:url(/img/icons/exclamation-triangle.svg) no-repeat center center;background-size:26px auto;content:""}.error-boundary__content__error,.error-boundary__content__stack{font-size:12px}.error-boundary__content__stack{margin-top:6px}.error-boundary__content__stack>summary{outline:none;cursor:pointer}.error-boundary__content__stack>pre{display:block;text-align:left}.maptiler-map-container{width:100%;height:100%;position:relative}.draw-polygon-btn{position:absolute;top:10px;right:10px;z-index:10;background:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .2s}.draw-polygon-btn:hover{background:#0056b3}.map-marker{width:24px;height:24px;border-radius:50%;cursor:pointer;position:relative;transition:transform .2s}.map-marker:hover{transform:scale(1.1)}.start-marker{background:#28a745;border:3px solid #fff;box-shadow:0 2px 6px #0000004d}.start-marker:before{content:"";position:absolute;width:12px;height:12px;background:#fff;border-radius:50%;top:50%;left:50%;transform:translate(-50%,-50%)}.map-page-container{display:flex;height:100vh;width:100vw;position:relative}.controls-panel{width:350px;min-width:300px;background:#f8f9fa;padding:1.5rem;overflow-y:auto;box-shadow:2px 0 8px #0000001a;z-index:1000}.controls-panel .controls-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.controls-panel .control-section{margin:1.5rem 0;padding:1rem;background:#f8f9fa;border-radius:8px}.controls-panel .control-section h3{margin:0 0 1rem;font-size:1.1rem;color:#2c3e50}.controls-panel .control-section .button-group{display:flex;align-items:center}.controls-panel .control-section .button-group>.control-button{margin-right:.5rem}.controls-panel .reset-button{background:#dc3545;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .2s}.controls-panel .reset-button:hover{background:#c82333}.controls-panel .control-button{width:100%;padding:.75rem;background:#e9ecef;color:#3f3f3f;border:none;border-radius:4px;cursor:pointer;transition:all .2s;font-size:.9rem}.controls-panel .control-button:hover{background:#c1c4c7}.controls-panel .control-button.active{background:#28a745}.controls-panel .control-button.start-active,.controls-panel .control-button.evac-active,.controls-panel .control-button.obstacle-active{background:#007bff;color:#fff}.controls-panel .control-button:disabled{background:#e9ecef;color:#aaa;cursor:not-allowed}.controls-panel .control-button:active{color:#fff}.controls-panel .trash-button{background:transparent;border:none;cursor:pointer;font-size:1rem;margin-left:.5rem}.route-info{margin-top:2rem;background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.route-info .stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.stat-item{background:#f8f9fa;padding:1rem;border-radius:4px;text-align:center}.stat-label{display:block;font-size:.9rem;color:#6c757d}.stat-value{display:block;font-size:1.2rem;font-weight:500;color:#343a40}.loading-overlay{position:absolute;inset:0;background:#ffffffe6;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2000}.loading-overlay .loader{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin-bottom:1rem}.error-message{color:#dc3545;background:#f8d7da;padding:.75rem;border-radius:4px;margin:1rem 0}.map-container{flex:1;min-width:0;position:relative}@media (max-width: 768px){.map-page-container{flex-direction:column}.controls-panel{width:100%;height:300px}.map-container{height:"calc(100vh - 300px)"}}@-moz-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-webkit-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@-o-keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */*,:before,:after{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";line-height:1.15;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4}body{margin:0}hr{height:0;color:inherit}abbr[title]{text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}::-moz-focus-inner{border-style:none;padding:0}:-moz-focusring{outline:1px dotted ButtonText}:-moz-ui-invalid{box-shadow:none}legend{padding:0}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}*:focus-visible{outline:2px solid #000}body{height:100svh;color:#333;font-family:Open Sans,sans-serif;font-size:16px;line-height:1.5;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow:clip}button{font-family:Open Sans,sans-serif;font-size:16px;color:inherit;line-height:1.5;font-weight:400;outline:none;cursor:pointer}code{font-family:monospace}.clearfix{display:inline-block}.clearfix:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.bg-primary{background-color:#1976d2}.bg-primary-light{background-color:#4691db}.bg-secondary{background-color:#e0236d}.bg-grey-xlight{background-color:#ddd}.z-depth-2{box-shadow:0 3px 6px #00000029,0 3px 6px #0000003b}.z-depth-1{box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.hover-effect:not(.is-loading):not(:disabled),.hover-effect-primary:not(.is-loading):not(:disabled),.hover-effect-primary-light:not(.is-loading):not(:disabled),.hover-effect-secondary:not(.is-loading):not(:disabled),.hover-effect-grey-light:not(.is-loading):not(:disabled){isolation:isolate}.hover-effect:not(.is-loading):not(:disabled):after,.hover-effect-primary:not(.is-loading):not(:disabled):after,.hover-effect-primary-light:not(.is-loading):not(:disabled):after,.hover-effect-secondary:not(.is-loading):not(:disabled):after,.hover-effect-grey-light:not(.is-loading):not(:disabled):after{content:"";position:absolute;top:0;left:0;z-index:-1;display:block;height:100%;width:100%;border-radius:inherit;transition:opacity .3s ease;opacity:0}.hover-effect:not(.is-loading):not(:disabled):hover:after,.hover-effect-primary:not(.is-loading):not(:disabled):hover:after,.hover-effect-primary-light:not(.is-loading):not(:disabled):hover:after,.hover-effect-secondary:not(.is-loading):not(:disabled):hover:after,.hover-effect-grey-light:not(.is-loading):not(:disabled):hover:after,.hover-effect:not(.is-loading):not(:disabled).active:after,.hover-effect-primary:not(.is-loading):not(:disabled).active:after,.hover-effect-primary-light:not(.is-loading):not(:disabled).active:after,.hover-effect-secondary:not(.is-loading):not(:disabled).active:after,.hover-effect-grey-light:not(.is-loading):not(:disabled).active:after{opacity:1}.hover-effect-primary:not(.is-loading):not(:disabled):after{background:#1976d2}.hover-effect-primary-light:not(.is-loading):not(:disabled):after{background:#4691db}.hover-effect-secondary:not(.is-loading):not(:disabled):after{background:#e0236d}.hover-effect-grey-light:not(.is-loading):not(:disabled):after{background:#ddd}.is-loading{position:relative;cursor:progress}.is-loading:before,.is-loading:after{position:absolute;display:block;content:""}.is-loading:before{top:0;left:0;z-index:1;width:100%;height:100%;border-radius:inherit;background:#fff}.is-loading:after{top:0;left:0;z-index:2;height:100%;width:100%;border-radius:inherit;background-image:url(/img/loader/loader.svg);background-repeat:no-repeat;background-position:center;background-size:auto 40px;text-align:center;content:""}.is-loading--primary:not(:disabled):before{background:#1976d2}.is-loading--primary-light:not(:disabled):before{background:#4691db}.is-loading--secondary:not(:disabled):before{background:#e0236d}.is-loading--grey-light:not(:disabled):before{background:#ddd}.is-loading--primary:after,.is-loading--primary-light:after,.is-loading--secondary:after{background-image:url(/img/loader/loader-white.svg)}.ellipsis{white-space:nowrap;overflow:clip;text-overflow:ellipsis}@-moz-keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@-webkit-keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@-o-keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(359deg)}}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(359deg)}}
