: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;display:flex;place-items:center;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,:host{--ol-background-color: white;--ol-accent-background-color: #F5F5F5;--ol-subtle-background-color: rgba(128, 128, 128, .25);--ol-partial-background-color: rgba(255, 255, 255, .75);--ol-foreground-color: #333333;--ol-subtle-foreground-color: #666666;--ol-brand-color: #00AAFF}.ol-box{box-sizing:border-box;border-radius:2px;border:1.5px solid var(--ol-background-color);background-color:var(--ol-partial-background-color)}.ol-mouse-position{top:8px;right:8px;position:absolute}.ol-scale-line{background:var(--ol-partial-background-color);border-radius:4px;bottom:8px;left:8px;padding:2px;position:absolute}.ol-scale-line-inner{border:1px solid var(--ol-subtle-foreground-color);border-top:none;color:var(--ol-foreground-color);font-size:10px;text-align:center;margin:1px;will-change:contents,width;transition:all .25s}.ol-scale-bar{position:absolute;bottom:8px;left:8px}.ol-scale-bar-inner{display:flex}.ol-scale-step-marker{width:1px;height:15px;background-color:var(--ol-foreground-color);float:right;z-index:10}.ol-scale-step-text{position:absolute;bottom:-5px;font-size:10px;z-index:11;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-text{position:absolute;font-size:12px;text-align:center;bottom:25px;color:var(--ol-foreground-color);text-shadow:-1.5px 0 var(--ol-partial-background-color),0 1.5px var(--ol-partial-background-color),1.5px 0 var(--ol-partial-background-color),0 -1.5px var(--ol-partial-background-color)}.ol-scale-singlebar{position:relative;height:10px;z-index:9;box-sizing:border-box;border:1px solid var(--ol-foreground-color)}.ol-scale-singlebar-even{background-color:var(--ol-subtle-foreground-color)}.ol-scale-singlebar-odd{background-color:var(--ol-background-color)}.ol-unsupported{display:none}.ol-viewport,.ol-unselectable{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.ol-viewport canvas{all:unset;overflow:hidden}.ol-viewport{touch-action:pan-x pan-y}.ol-selectable{-webkit-touch-callout:default;-webkit-user-select:text;-moz-user-select:text;user-select:text}.ol-grabbing{cursor:-webkit-grabbing;cursor:-moz-grabbing;cursor:grabbing}.ol-grab{cursor:move;cursor:-webkit-grab;cursor:-moz-grab;cursor:grab}.ol-control{position:absolute;background-color:var(--ol-subtle-background-color);border-radius:4px}.ol-zoom{top:.5em;left:.5em}.ol-rotate{top:.5em;right:.5em;transition:opacity .25s linear,visibility 0s linear}.ol-rotate.ol-hidden{opacity:0;visibility:hidden;transition:opacity .25s linear,visibility 0s linear .25s}.ol-zoom-extent{top:4.643em;left:.5em}.ol-full-screen{right:.5em;top:.5em}.ol-control button{display:block;margin:1px;padding:0;color:var(--ol-subtle-foreground-color);font-weight:700;text-decoration:none;font-size:inherit;text-align:center;height:1.375em;width:1.375em;line-height:.4em;background-color:var(--ol-background-color);border:none;border-radius:2px}.ol-control button::-moz-focus-inner{border:none;padding:0}.ol-zoom-extent button{line-height:1.4em}.ol-compass{display:block;font-weight:400;will-change:transform}.ol-touch .ol-control button{font-size:1.5em}.ol-touch .ol-zoom-extent{top:5.5em}.ol-control button:hover,.ol-control button:focus{text-decoration:none;outline:1px solid var(--ol-subtle-foreground-color);color:var(--ol-foreground-color)}.ol-zoom .ol-zoom-in{border-radius:2px 2px 0 0}.ol-zoom .ol-zoom-out{border-radius:0 0 2px 2px}.ol-attribution{text-align:right;bottom:.5em;right:.5em;max-width:calc(100% - 1.3em);display:flex;flex-flow:row-reverse;align-items:center}.ol-attribution a{color:var(--ol-subtle-foreground-color);text-decoration:none}.ol-attribution ul{margin:0;padding:1px .5em;color:var(--ol-foreground-color);text-shadow:0 0 2px var(--ol-background-color);font-size:12px}.ol-attribution li{display:inline;list-style:none}.ol-attribution li:not(:last-child):after{content:" "}.ol-attribution img{max-height:2em;max-width:inherit;vertical-align:middle}.ol-attribution button{flex-shrink:0}.ol-attribution.ol-collapsed ul{display:none}.ol-attribution:not(.ol-collapsed){background:var(--ol-partial-background-color)}.ol-attribution.ol-uncollapsible{bottom:0;right:0;border-radius:4px 0 0}.ol-attribution.ol-uncollapsible img{margin-top:-.2em;max-height:1.6em}.ol-attribution.ol-uncollapsible button{display:none}.ol-zoomslider{top:4.5em;left:.5em;height:200px}.ol-zoomslider button{position:relative;height:10px}.ol-touch .ol-zoomslider{top:5.5em}.ol-overviewmap{left:.5em;bottom:.5em}.ol-overviewmap.ol-uncollapsible{bottom:0;left:0;border-radius:0 4px 0 0}.ol-overviewmap .ol-overviewmap-map,.ol-overviewmap button{display:block}.ol-overviewmap .ol-overviewmap-map{border:1px solid var(--ol-subtle-foreground-color);height:150px;width:150px}.ol-overviewmap:not(.ol-collapsed) button{bottom:0;left:0;position:absolute}.ol-overviewmap.ol-collapsed .ol-overviewmap-map,.ol-overviewmap.ol-uncollapsible button{display:none}.ol-overviewmap:not(.ol-collapsed){background:var(--ol-subtle-background-color)}.ol-overviewmap-box{border:1.5px dotted var(--ol-subtle-foreground-color)}.ol-overviewmap .ol-overviewmap-box:hover{cursor:move}.ol-overviewmap .ol-viewport:hover{cursor:pointer}.dashboard-container{display:flex;flex-direction:column;height:100vh;width:100vw;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#f5f7fa}.mobile-header{display:none;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:linear-gradient(135deg,#318535,#5ea434);box-shadow:0 2px 8px #00000026;position:fixed;top:0;left:0;right:0;z-index:1500;height:56px}@media (max-width: 1024px){.mobile-header{display:flex}}.mobile-header-btn{background:transparent;border:none;color:#fff;font-size:1.25rem;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:8px;transition:background .2s ease}.mobile-header-btn:hover{background:#ffffff1a}.mobile-header-btn:active{background:#fff3}.mobile-header-title{flex:1;text-align:center;padding:0 .5rem}.mobile-header-title h1{margin:0;font-size:.85rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.1);line-height:1.2}.mobile-header-title h1 small{display:block;font-size:.55rem;font-weight:400;color:#ffffffd9;margin-top:1px;letter-spacing:.3px}.mobile-header-search{display:flex;align-items:center;gap:.5rem;width:100%}.mobile-header-search-input{flex:1;background:#fffffff2;border:none;border-radius:8px;padding:.625rem 1rem;font-size:.9rem;color:#212529;outline:none;font-weight:500;box-shadow:0 2px 8px #0000001a}.mobile-header-search-input::placeholder{color:#6c757d}.mobile-header-search-input:focus{background:#fff;box-shadow:0 4px 12px #00000026}.control-buttons .bubble-level-btn{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:.625rem .875rem;margin-top:.5rem;background:linear-gradient(135deg,#754d24,#5d3d1d);border:2px solid #C59B6C;border-radius:7px;color:#fff;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #754d2459;font-family:Segoe UI,sans-serif;position:relative;overflow:hidden}.control-buttons .bubble-level-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .5s}.control-buttons .bubble-level-btn:hover:before{left:100%}.control-buttons .bubble-level-btn:hover{background:linear-gradient(135deg,#c59b6c,#a8835a);border-color:#d9e002;transform:translateY(-2px);box-shadow:0 5px 16px #c59b6c80}.control-buttons .bubble-level-btn:active{transform:translateY(0);box-shadow:0 3px 10px #754d2459}.control-buttons .bubble-level-btn .btn-text{flex:1;text-align:left;font-size:.8rem;line-height:1.2}.control-buttons .bubble-level-btn .btn-arrow{font-size:.95rem;transition:transform .3s;margin-left:auto;flex-shrink:0}.control-buttons .bubble-level-btn:hover .btn-arrow{transform:translate(4px)}.dashboard-content{display:flex;flex:1;flex-direction:row;gap:0;padding:0;min-height:0;height:100vh}@media (max-width: 1024px){.dashboard-content{height:calc(100vh - 56px)}}.map-container{flex:1;position:relative;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 4px 6px #0000001a}.search-container{position:absolute;top:1rem;right:1rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem;min-width:320px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0000001f;transition:box-shadow .3s ease}.search-input-wrapper:focus-within{box-shadow:0 6px 24px #5ea43440}.search-container input{flex:1;padding:1rem 1.25rem;border:none;border-radius:12px;background:transparent;color:#212529;font-size:.95rem;outline:none;font-weight:500}.search-container input::placeholder{color:#adb5bd}.current-location-btn{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border:none;border-radius:12px;padding:1rem 1.5rem;cursor:pointer;box-shadow:0 4px 16px #5ea43433;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:.95rem;font-weight:600;font-family:Lato,sans-serif}.current-location-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:translateY(-2px);box-shadow:0 6px 24px #5ea43480}.current-location-btn:active{transform:translateY(0);box-shadow:0 4px 16px #5ea43433}.search-results{position:absolute;top:4.5rem;left:0;right:0;background:#fff;border-radius:12px;box-shadow:0 6px 24px #00000026;max-height:280px;overflow-y:auto;z-index:1001;border:1px solid #e9ecef}.search-result-item{padding:1rem 1.25rem;cursor:pointer;border-bottom:1px solid #f1f3f5;display:flex;align-items:center;gap:1rem;transition:all .2s ease;font-size:.875rem;color:#495057}.search-result-item:hover{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding-left:1.5rem}.search-result-icon{width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,#5ea434,#318535);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;box-shadow:0 2px 8px #5ea43433}.search-result-text{flex:1;line-height:1.4;font-weight:500}.mobile-search-results{position:fixed;top:56px;left:0;right:0;background:#f8f9fa;max-height:calc(100vh - 56px);overflow-y:auto;z-index:1400;padding:.5rem;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.mobile-search-result-item{background:#fff;margin-bottom:.5rem;padding:1rem;border-radius:12px;cursor:pointer;display:flex;align-items:flex-start;gap:.875rem;transition:all .2s ease;font-size:.85rem;color:#495057;box-shadow:0 2px 8px #00000014;border:1px solid #e9ecef}.mobile-search-result-item:last-child{margin-bottom:0}.mobile-search-result-item:active{transform:scale(.98);background:linear-gradient(135deg,#f8f9fa,#e9ecef);box-shadow:0 1px 4px #0000001a}.mobile-search-result-item .search-result-icon{margin-top:.125rem}.search-result-item:last-child{border-bottom:none}.map{height:100%;width:100%;touch-action:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.popup{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;padding:1rem;min-width:200px}.popup-closer{position:absolute;top:8px;right:8px;color:#999;text-decoration:none;font-size:1.2rem;font-weight:700;transition:color .2s ease}.popup-closer:hover{color:#666}.popup-content{font-size:.9rem;line-height:1.4}.control-panel{width:400px;background:#423f3d;border-radius:0;padding:0;box-shadow:0 4px 20px #0000004d;display:flex;flex-direction:column;gap:0;transition:transform .3s ease,opacity .3s ease;position:relative;z-index:900;color:#fff;order:-1}.sidebar-header{background:linear-gradient(135deg,#318535,#5ea434);padding:1rem 1.25rem;border-bottom:2px solid rgba(159,192,27,.3);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:10;box-shadow:0 2px 8px #00000026}.sidebar-logo{display:flex;align-items:flex-start;gap:0;flex:1}.sidebar-title-container{display:flex;flex-direction:column;gap:.35rem;flex:1}.sidebar-logo h2{margin:0;font-size:1rem;font-weight:700;color:#fff;font-family:Segoe UI,sans-serif;text-transform:uppercase;letter-spacing:.5px;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,.1)}.sidebar-subtitle{margin:0;font-size:.65rem;color:#ffffffe6;font-family:Segoe UI,sans-serif;font-weight:400;line-height:1.3}.sidebar-subtitle .developed-by{color:#ffffffbf}.sidebar-subtitle .brand-name{font-weight:700;color:#d9e002;text-transform:uppercase;letter-spacing:.5px;text-shadow:0 1px 2px rgba(0,0,0,.1)}.sidebar-close-btn{background:transparent;border:none;color:#ffffffb3;font-size:1.5rem;cursor:pointer;padding:.5rem;transition:color .2s;display:flex;align-items:center;justify-content:center}.sidebar-close-btn:hover{color:#fff}.sidebar-section{padding:1rem 1.25rem;border-bottom:1px solid rgba(89,112,67,.4)}.sidebar-section:first-of-type{padding-top:1.25rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-title{margin:0 0 .75rem;padding-top:.25rem;font-size:.75rem;font-weight:700;color:#d9e002;text-transform:uppercase;letter-spacing:.8px;font-family:Segoe UI,sans-serif;display:flex;align-items:center;gap:.5rem}.section-title:before{content:"";width:3px;height:16px;background:#9fc01b;border-radius:2px}.sidebar-instructions{margin:0 0 .75rem;padding:.65rem .75rem;background:linear-gradient(135deg,#9fc01b1f,#5ea43414);border-left:3px solid #9FC01B;border-radius:6px;color:#fff;font-size:.75rem;line-height:1.35;font-family:Segoe UI,sans-serif;box-shadow:0 2px 4px #0000001a;word-wrap:break-word}.field-count{background:linear-gradient(135deg,#d9e002,#9fc01b);color:#1f2937;font-size:.7rem;font-weight:700;padding:.2rem .65rem;border-radius:20px;box-shadow:0 2px 4px #d9e0024d}.control-panel.mobile-sidebar{position:fixed;top:56px;left:0;height:calc(100vh - 56px);width:75%;max-width:320px;border-radius:0;transform:translate(-100%);opacity:0;z-index:1400;overflow-y:auto;padding:0;padding-top:.5rem}.control-panel.mobile-sidebar.open{transform:translate(0);opacity:1}@media (max-width: 1024px){.control-panel.mobile-sidebar .sidebar-header{display:none}}.sidebar-overlay{position:fixed;inset:56px 0 0;background:#00000080;z-index:1300;animation:fadeIn .3s ease}.google-drive-status{background:#f8f9fa;border:1px solid #e3e8ed;border-radius:8px;padding:1rem;margin-bottom:1rem}.service-ready-status,.service-not-ready-status{display:flex;flex-direction:column;gap:.5rem}.service-info{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#2c3e50;font-weight:500}.service-details{padding-left:1rem;color:#6c757d;font-size:.75rem;line-height:1.2}.google-drive-error{background:#f8d7da;color:#721c24;padding:.5rem;border-radius:4px;font-size:.8rem;margin-top:.5rem}.control-buttons{display:flex;flex-direction:column;gap:.625rem}.edit-tooltip{display:flex;align-items:center;justify-content:center;padding:.5rem .75rem;background:linear-gradient(135deg,#5ea4341a,#3185351a);border:1px dashed #5EA434;border-radius:7px;margin-top:.25rem}.edit-hint{font-size:.8rem;color:#5ea434;font-weight:500;text-align:center;display:flex;align-items:center;gap:.4rem}.control-buttons button{padding:.625rem .875rem;border:2px solid transparent;border-radius:7px;background:linear-gradient(135deg,#597043,#4a5a36);color:#fff;cursor:pointer;font-size:.8rem;font-weight:600;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.35rem;font-family:Segoe UI,sans-serif;box-shadow:0 2px 6px #00000026;position:relative;overflow:hidden;white-space:nowrap}.control-buttons button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s}.control-buttons button:hover:not(:disabled):before{left:100%}.control-buttons button:hover:not(:disabled){background:linear-gradient(135deg,#318535,#5ea434);border-color:#9fc01b;transform:translateY(-2px);box-shadow:0 4px 12px #5ea43466}.control-buttons button:disabled{opacity:.35;cursor:not-allowed;background:linear-gradient(135deg,#4a5a36,#3d4a2d);transform:none}.control-buttons button.active{background:linear-gradient(135deg,#5ea434,#11752b);color:#fff;border-color:#d9e002;box-shadow:0 4px 12px #5ea43480}.control-buttons button.active:hover{background:linear-gradient(135deg,#11752b,#0d5a21);border-color:#d9e002;box-shadow:0 6px 16px #11752b99}.submit-button{background:linear-gradient(135deg,#5ea434,#318535)!important;color:#fff!important;font-weight:700!important;border:2px solid #D9E002!important;margin-top:.5rem;box-shadow:0 3px 12px #5ea43480!important;font-size:.8rem!important;padding:.65rem .875rem!important}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#11752b,#0d5a21)!important;transform:translateY(-3px)!important;box-shadow:0 6px 20px #11752bb3!important;border-color:#d9e002!important}.drawing-mode-selector{margin-bottom:1rem}.mode-label{display:block;font-size:.85rem;font-weight:600;color:#2c3e50;margin-bottom:.5rem}.mode-buttons{display:flex;gap:.5rem}.mode-btn{flex:1;padding:.6rem 1rem;border:2px solid #e9ecef;background:#fff;color:#495057;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.mode-btn:hover{border-color:#5ea434;background:#f0f8f2}.mode-btn.active{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border-color:#5ea434;box-shadow:0 2px 8px #5ea4344d}.gps-controls{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#5ea4340d,#3185350d);border-radius:8px;border:1px solid rgba(94,164,52,.2)}.gps-info{background:#fff;padding:.75rem;border-radius:6px;border:1px solid #e9ecef}.gps-info p{margin:.25rem 0;font-size:.85rem;color:#495057;font-weight:600}.success-text{color:#5ea434;font-weight:700}.gps-start-btn{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.gps-start-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:translateY(-2px);box-shadow:0 4px 12px #5ea43466}.gps-mark-btn{background:linear-gradient(135deg,#d9e002,#9fc01b);color:#423f3d;border:2px solid #D9E002;padding:.75rem 1rem;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.gps-mark-btn:hover{background:linear-gradient(135deg,#c5ca02,#8aa816);transform:translateY(-2px);box-shadow:0 4px 12px #d9e00266}.gps-finish-btn{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border:2px solid #5EA434;padding:.75rem 1rem;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease}.gps-finish-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:translateY(-2px);box-shadow:0 4px 12px #5ea43466}.gps-stop-btn{background:#fff;color:#dc2626;border:2px solid #dc2626;padding:.6rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease}.gps-stop-btn:hover{background:#dc2626;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px #dc26264d}.gps-loading-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:20000;animation:fadeIn .3s ease}.gps-loading-popup{background:#fff;border-radius:20px;padding:40px 50px;text-align:center;box-shadow:0 20px 60px #0000004d;animation:scaleIn .4s cubic-bezier(.68,-.55,.265,1.55)}.gps-loading-animation{margin-bottom:24px}.gps-pulse-container{position:relative;width:120px;height:120px;margin:0 auto}.gps-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border-radius:50%;border:3px solid #5EA434;animation:gpsPulse 2s ease-out infinite}.gps-pulse-1{animation-delay:0s}.gps-pulse-2{animation-delay:.7s}.gps-pulse-3{animation-delay:1.4s}@keyframes gpsPulse{0%{width:40px;height:40px;opacity:1}to{width:120px;height:120px;opacity:0}}.gps-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:50px;height:50px;background:linear-gradient(135deg,#5ea434,#318535);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;box-shadow:0 4px 12px #5ea43466;animation:gpsRotate 2s linear infinite}@keyframes gpsRotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}.gps-loading-title{font-size:22px;font-weight:700;color:#2c3e50;margin:0 0 8px}.gps-loading-text{font-size:15px;color:#6c757d;margin:0 0 16px}.gps-loading-dots{display:flex;justify-content:center;gap:8px}.gps-loading-dots span{width:10px;height:10px;background:#5ea434;border-radius:50%;animation:dotBounce 1.4s infinite ease-in-out both}.gps-loading-dots span:nth-child(1){animation-delay:-.32s}.gps-loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes dotBounce{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes scaleIn{0%{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}.gps-slope-btn{background:linear-gradient(135deg,#9fc01b,#5ea434);color:#fff;border:2px solid #9FC01B;padding:.75rem 1rem;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease}.gps-slope-btn:hover{background:linear-gradient(135deg,#8aa816,#318535);transform:translateY(-2px);box-shadow:0 4px 12px #9fc01b66}.gps-capture-btn{background:linear-gradient(135deg,#d9e002,#9fc01b);color:#423f3d;border:2px solid #D9E002;padding:.75rem 1rem;border-radius:8px;font-size:.95rem;font-weight:700;cursor:pointer;transition:all .3s ease;animation:pulse 1.5s infinite}.gps-capture-btn:hover{background:linear-gradient(135deg,#c5ca02,#8aa816);transform:translateY(-2px);box-shadow:0 4px 12px #d9e00266}@keyframes pulse{0%,to{box-shadow:0 0 #d9e002b3}50%{box-shadow:0 0 0 10px #d9e00200}}.slope-info{color:#318535;font-size:.9rem;margin-top:.25rem}.slope-info strong{color:#11752b;font-weight:700}.slope-tooltip-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:20001;animation:fadeIn .3s ease}.slope-tooltip-popup{background:#fff;border-radius:20px;padding:20px 25px;text-align:center;box-shadow:0 20px 60px #0000004d;animation:scaleIn .4s cubic-bezier(.68,-.55,.265,1.55);max-width:450px;margin:0 20px}.slope-tooltip-icon{font-size:4rem;margin-bottom:20px;animation:phoneShake 2s infinite}@keyframes phoneShake{0%,to{transform:rotate(0)}25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}.slope-tooltip-title{font-size:1.5rem;font-weight:700;color:#318535;margin-bottom:20px}.slope-tooltip-instructions{text-align:left;margin-bottom:25px;background:#f8f9fa;padding:20px;border-radius:12px}.slope-tooltip-instructions p{margin:0 0 12px;line-height:1.6;color:#423f3d;font-size:.95rem}.slope-tooltip-instructions p:last-child{margin-bottom:0}.slope-tooltip-instructions strong{color:#dc2626;font-weight:700}.slope-capture-btn-lg{background:linear-gradient(135deg,#d9e002,#9fc01b);color:#423f3d;border:none;padding:.75rem 1.25rem;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;width:100%;margin-bottom:0}.slope-capture-btn-lg:hover{background:linear-gradient(135deg,#c5ca02,#8aa816);transform:translateY(-2px);box-shadow:0 6px 16px #d9e00266}.slope-cancel-btn{background:transparent;color:#6b7280;border:2px solid #d1d5db;padding:.7rem 1.2rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%}.slope-cancel-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}@media (max-width: 768px){.gps-loading-popup{padding:30px 40px}.slope-tooltip-popup{padding:15px 20px;max-width:90%}.slope-tooltip-icon{font-size:3rem}.slope-tooltip-title{font-size:1.3rem}.slope-tooltip-instructions{padding:15px}.slope-tooltip-instructions p{font-size:.9rem}.slope-capture-btn-lg{font-size:1rem;padding:.8rem 1.2rem}}.gps-accuracy{display:flex;align-items:center;gap:.5rem;padding:.6rem .8rem;border-radius:8px;margin:.5rem 0;font-size:.9rem;font-weight:600;transition:all .3s ease}.gps-accuracy.excellent{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:2px solid #28a745}.gps-accuracy.good{background:linear-gradient(135deg,#d1ecf1,#bee5eb);color:#0c5460;border:2px solid #17a2b8}.gps-accuracy.fair{background:linear-gradient(135deg,#fff3cd,#ffeaa7);color:#856404;border:2px solid #ffc107}.gps-accuracy.poor{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:2px solid #dc3545;animation:warningPulse 2s infinite}@keyframes warningPulse{0%,to{box-shadow:0 0 #dc3545b3}50%{box-shadow:0 0 0 8px #dc354500}}.accuracy-icon{font-size:1.1rem}.accuracy-text{flex:1}.accuracy-status{font-size:.8rem;opacity:.8}.accuracy-guide-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:20002;animation:fadeIn .3s ease}.accuracy-guide-popup{background:#fff;border-radius:20px;padding:2rem;max-width:380px;position:relative;box-shadow:0 20px 60px #0000004d;animation:scaleIn .4s cubic-bezier(.68,-.55,.265,1.55);margin:20px;text-align:center}.accuracy-close-btn-top{position:absolute;top:15px;right:15px;background:#e5e7eb;border:2px solid #d1d5db;color:#374151;width:40px;height:40px;min-width:40px;min-height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.8rem;font-weight:400;line-height:1;padding:0;z-index:10;box-shadow:0 2px 4px #0000001a;font-family:Arial,sans-serif;flex-shrink:0;overflow:hidden}.accuracy-close-btn-top:hover{background:#d1d5db;border-color:#9ca3af;color:#111827;transform:rotate(90deg);box-shadow:0 3px 6px #00000026}.accuracy-guide-title{margin:1rem 0 .5rem;font-size:1.3rem;font-weight:700;color:#318535}.accuracy-current{font-size:.95rem;color:#6b7280;margin-bottom:1.5rem}.accuracy-badge{display:inline-block;padding:.3rem .8rem;border-radius:20px;font-weight:700;font-size:.9rem}.accuracy-badge.excellent{background:#d4edda;color:#155724}.accuracy-badge.good{background:#d1ecf1;color:#0c5460}.accuracy-badge.fair{background:#fff3cd;color:#856404}.accuracy-badge.poor{background:#f8d7da;color:#721c24}.accuracy-visual{padding:1.5rem 0;display:flex;justify-content:center}.accuracy-circle{position:relative;width:150px;height:150px;border-radius:50%;display:flex;align-items:center;justify-content:center;animation:accuracyPulse 2s infinite}.accuracy-circle.excellent{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 0 #28a745b3}.accuracy-circle.good{background:linear-gradient(135deg,#17a2b8,#20c997);box-shadow:0 0 #17a2b8b3}.accuracy-circle.fair{background:linear-gradient(135deg,#ffc107,#fd7e14);box-shadow:0 0 #ffc107b3}.accuracy-circle.poor{background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 0 #dc3545b3}@keyframes accuracyPulse{0%,to{box-shadow:0 0 0 0 currentColor}50%{box-shadow:0 0 0 20px transparent}}.accuracy-center{position:absolute;width:20px;height:20px;background:#fff;border-radius:50%;box-shadow:0 2px 8px #0003}.accuracy-value{position:absolute;bottom:-35px;left:50%;transform:translate(-50%);background:#fff;padding:.4rem .8rem;border-radius:20px;font-weight:700;font-size:1rem;box-shadow:0 2px 8px #0000001a;color:#318535}.accuracy-legend-compact{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-bottom:1.5rem;padding:1rem;background:#f8f9fa;border-radius:12px}.legend-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem;color:#423f3d;font-weight:600}.legend-row .dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.legend-row .dot.excellent{background:linear-gradient(135deg,#28a745,#20c997)}.legend-row .dot.good{background:linear-gradient(135deg,#17a2b8,#20c997)}.legend-row .dot.fair{background:linear-gradient(135deg,#ffc107,#fd7e14)}.legend-row .dot.poor{background:linear-gradient(135deg,#dc3545,#c82333)}.accuracy-guide-actions{display:flex;flex-direction:column;gap:.8rem;margin-top:1rem}.accuracy-wait-btn{background:#fff;color:#6b7280;border:2px solid #d1d5db;padding:.9rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.accuracy-wait-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.accuracy-mark-btn{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border:none;padding:.9rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.accuracy-mark-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:translateY(-2px);box-shadow:0 4px 12px #5ea43466}.slope-prompt-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:20003;animation:fadeIn .3s ease}.slope-prompt-popup{background:#fff;border-radius:20px;padding:2rem;max-width:360px;position:relative;box-shadow:0 20px 60px #0000004d;animation:scaleIn .4s cubic-bezier(.68,-.55,.265,1.55);margin:20px;text-align:center}.point-picking-guide-popup{max-width:90%;width:100%;max-width:380px;max-height:85vh;padding:0;background:#fff;border-radius:16px;box-shadow:0 24px 48px #00000026;display:flex;flex-direction:column;overflow:hidden}.point-guide-close-btn{position:absolute;top:12px;right:12px;background:#f3f4f6;border:none;color:#6b7280;width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;font-size:1.5rem;font-weight:300;line-height:1;padding:0;z-index:10;font-family:Arial,sans-serif}.point-guide-close-btn:hover{background:#e5e7eb;color:#374151}.point-guide-header{text-align:center;padding:1.5rem 1.5rem 1rem;border-bottom:1px solid #f3f4f6;flex-shrink:0}.point-guide-icon{font-size:2.5rem;margin-bottom:.5rem;opacity:.9}.point-guide-title{font-size:1.3rem;font-weight:700;color:#111827;margin:0;letter-spacing:-.02em}.point-guide-content{padding:1.25rem 1.5rem;flex:1;overflow-y:auto;min-height:0}.point-guide-zones{margin:0 0 1rem;display:flex;flex-direction:column;gap:.625rem}.zone-card{display:flex;gap:.75rem;padding:.875rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;transition:all .2s ease}.zone-card:hover{background:#f3f4f6;border-color:#d1d5db}.zone-icon{flex-shrink:0;font-size:1.25rem;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:8px;box-shadow:0 1px 2px #00000014}.zone-info{flex:1}.zone-title{margin:0 0 .2rem;font-size:.9rem;font-weight:700;color:#111827}.zone-description{margin:0;font-size:.8rem;line-height:1.4;color:#6b7280}.point-guide-note{margin:.75rem 0 0;padding:.625rem .75rem;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;font-size:.8rem;color:#6b7280;text-align:center;line-height:1.4}.point-guide-actions{padding:1rem 1.5rem;border-top:1px solid #f3f4f6;flex-shrink:0;background:#fff}.point-guide-btn{width:100%;background:#111827;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 4px #0000001a}.point-guide-btn:hover{background:#1f2937;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.point-guide-btn:active{transform:translateY(0)}@media (max-width: 768px){.point-picking-guide-popup{max-width:95%;max-height:80vh;margin:10px}.point-guide-header{padding:1.25rem 1.25rem .875rem}.point-guide-icon{font-size:2rem;margin-bottom:.4rem}.point-guide-title{font-size:1.15rem}.point-guide-content{padding:1rem 1.25rem}.point-guide-zones{gap:.5rem;margin-bottom:.75rem}.zone-card{padding:.75rem;gap:.625rem}.zone-icon{width:32px;height:32px;font-size:1.1rem}.zone-title{font-size:.85rem}.zone-description{font-size:.75rem}.point-guide-note{font-size:.75rem;padding:.5rem .625rem;margin-top:.625rem}.point-guide-actions{padding:.875rem 1.25rem}}@media (max-width: 480px){.point-picking-guide-popup{max-width:92%;max-height:75vh;margin:8px;border-radius:12px}.point-guide-close-btn{top:8px;right:8px;width:28px;height:28px;font-size:1.3rem}.point-guide-header{padding:1rem 1rem .75rem}.point-guide-icon{font-size:1.75rem;margin-bottom:.35rem}.point-guide-title{font-size:1.05rem}.point-guide-content{padding:.875rem 1rem}.point-guide-zones{gap:.5rem;margin-bottom:.625rem}.zone-card{padding:.625rem;gap:.5rem}.zone-icon{width:28px;height:28px;font-size:1rem}.zone-title{font-size:.8rem;margin-bottom:.15rem}.zone-description{font-size:.7rem;line-height:1.3}.point-guide-note{font-size:.7rem;padding:.5rem;margin-top:.5rem}.point-guide-actions{padding:.75rem 1rem}.point-guide-btn{padding:.7rem 1.25rem;font-size:.85rem}}.slope-prompt-icon{font-size:4rem;margin-bottom:1rem}.slope-prompt-title{font-size:1.5rem;font-weight:700;color:#318535;margin:0 0 .8rem}.slope-prompt-text{font-size:1rem;color:#6b7280;margin-bottom:1.5rem;line-height:1.6}.current-slope-display{margin-bottom:1rem}.current-slope-display .slope-prompt-text{margin-bottom:.8rem;font-size:.9rem}.slope-value-box{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #5EA434;border-radius:12px;padding:1rem 1.5rem;margin-bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem}.slope-value-box strong{font-size:1.8rem;color:#318535;font-weight:700}.slope-value-box span{font-size:1.2rem;color:#5ea434;font-weight:600}.slope-prompt-actions{display:flex;flex-direction:column;gap:.8rem}.slope-skip-btn{background:#fff;color:#6b7280;border:2px solid #d1d5db;padding:.9rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.slope-skip-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.slope-measure-btn{background:linear-gradient(135deg,#9fc01b,#5ea434);color:#fff;border:none;padding:.9rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease}.slope-measure-btn:hover{background:linear-gradient(135deg,#8aa816,#318535);transform:translateY(-2px);box-shadow:0 4px 12px #9fc01b66}.slope-measurement-ui{max-width:420px;max-height:90vh;overflow-y:auto;padding:1rem .75rem}.slope-measurement-title{font-size:1.2rem;color:#1f2937;margin:0 0 .25rem;text-align:center;font-weight:700}.slope-measurement-instructions{text-align:center;color:#6b7280;margin-bottom:.75rem;font-size:.8rem}.level-header{display:flex;align-items:center;justify-content:center;gap:.4rem;margin-bottom:.3rem}.level-header.vertical-header{flex-direction:column;gap:.15rem}.level-header.bullseye-header{margin-bottom:.4rem}.bullseye-label{font-size:.85rem;font-weight:600;color:#374151}.level-info-btn{background:#e5e7eb;border:1px solid #d1d5db;color:#6b7280;width:20px;height:20px;min-width:20px;min-height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.75rem;font-weight:600;padding:0;transition:all .2s ease}.level-info-btn:hover{background:#d1d5db;color:#374151}.slope-result-display{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:2px solid #5EA434;border-radius:10px;padding:.6rem .8rem;margin:.75rem 0 .6rem}.slope-result-item{display:flex;justify-content:space-between;align-items:center;padding:0}.slope-label{font-size:.9rem;color:#4b5563;font-weight:600}.slope-value-text{font-size:1.1rem;color:#318535;font-weight:700}.slope-measurement-ui .level-container{margin-bottom:.6rem}.slope-measurement-ui .level-value{font-size:1rem;margin-bottom:.25rem}.slope-measurement-ui .horizontal-level{height:45px;border-radius:22.5px}.slope-measurement-ui .horizontal-bubble{width:36px;height:36px}.slope-measurement-ui .levels-grid{gap:.75rem;margin-bottom:.6rem}.slope-measurement-ui .vertical-level{width:45px;height:150px;border-radius:22.5px}.slope-measurement-ui .vertical-bubble{width:36px;height:36px}.slope-measurement-ui .vertical-value{font-size:.95rem;margin-bottom:.4rem}.slope-measurement-ui .bullseye-level{width:150px;height:150px}.slope-measurement-ui .ring-1{width:35px;height:35px}.slope-measurement-ui .ring-2{width:70px;height:70px}.slope-measurement-ui .ring-3{width:105px;height:105px}.slope-measurement-ui .bullseye-bubble{width:32px;height:32px}.slope-measurement-ui .bullseye-values{margin-top:.4rem;font-size:.8rem;display:flex;gap:.75rem;justify-content:center}.slope-measurement-ui .bullseye-values span{color:#4b5563}.slope-measurement-ui .bullseye-values strong{color:#318535;font-weight:600}.level-info-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:20005;animation:fadeIn .2s ease}.level-info-popup{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);padding:1.5rem;border-radius:12px;max-width:320px;width:90%;text-align:center;animation:scaleIn .3s ease;box-shadow:0 8px 24px #00000080}.level-info-title{font-size:1.2rem;color:#fff;margin:0 0 1rem;font-weight:700}.level-info-text{color:#d1d5db;font-size:.95rem;line-height:1.5;margin:0 0 1.5rem}.level-info-ok-btn{background:linear-gradient(135deg,#ec4899,#db2777);color:#fff;border:none;padding:.75rem 2.5rem;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ec489966}.level-info-ok-btn:hover{background:linear-gradient(135deg,#db2777,#be185d);transform:translateY(-2px);box-shadow:0 6px 16px #ec489980}.level-info-ok-btn:active{transform:translateY(0)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.accuracy-guide-popup,.slope-measurement-ui{max-width:95%;margin:5px;padding:.75rem .5rem;max-height:95vh}.accuracy-guide-title,.slope-measurement-title{font-size:1rem;margin:0 0 .25rem}.slope-measurement-instructions{font-size:.75rem;margin-bottom:.5rem}.slope-result-display{padding:.4rem .6rem;margin:.5rem 0 .4rem}.slope-label{font-size:.75rem}.slope-value-text{font-size:.9rem}.level-info-btn{width:16px;height:16px;min-width:16px;min-height:16px;font-size:.65rem}.bullseye-label{font-size:.75rem}.slope-capture-btn-lg{padding:.6rem 1rem;font-size:.9rem;margin-bottom:0}.slope-measurement-ui .level-value{font-size:.85rem;margin-bottom:.2rem}.slope-measurement-ui .horizontal-level{height:35px;border-radius:17.5px}.slope-measurement-ui .horizontal-bubble{width:28px;height:28px}.slope-measurement-ui .levels-grid{gap:.5rem;margin-bottom:.4rem}.slope-measurement-ui .vertical-level{width:35px;height:100px;border-radius:17.5px}.slope-measurement-ui .vertical-bubble{width:28px;height:28px}.slope-measurement-ui .vertical-value{font-size:.8rem;margin-bottom:.2rem}.slope-measurement-ui .bullseye-level{width:100px;height:100px}.slope-measurement-ui .ring-1{width:25px;height:25px}.slope-measurement-ui .ring-2{width:50px;height:50px}.slope-measurement-ui .ring-3{width:75px;height:75px}.slope-measurement-ui .bullseye-bubble{width:24px;height:24px}.slope-measurement-ui .bullseye-values{margin-top:.3rem;font-size:.7rem;gap:.5rem}.slope-measurement-ui .level-container{margin-bottom:.4rem}.slope-measurement-ui .level-header{margin-bottom:.3rem;gap:.3rem}.slope-measurement-ui .level-header.bullseye-header{margin-bottom:.4rem}.slope-measurement-ui .tilt-sensor-container-inline,.slope-measurement-ui .tool-section-inline{padding:0}.accuracy-visual{padding:1rem 0}.accuracy-circle{width:120px;height:120px}.accuracy-current{font-size:.9rem}.legend-row{font-size:.8rem}.accuracy-legend-compact{padding:.8rem;gap:.6rem}.gps-pulse-container{width:100px;height:100px}.gps-pulse{animation:gpsPulseMobile 2s ease-out infinite}@keyframes gpsPulseMobile{0%{width:30px;height:30px;opacity:1}to{width:100px;height:100px;opacity:0}}.gps-icon{width:40px;height:40px;font-size:20px}.gps-loading-title{font-size:18px}.gps-loading-text{font-size:13px}}.common-controls{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.common-controls button{padding:.6rem 1rem;border-radius:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;border:2px solid #e9ecef;background:#fff;color:#495057}.common-controls button:hover:not(:disabled){border-color:#5ea434;background:#f0f8f2}.common-controls button:disabled{opacity:.5;cursor:not-allowed}.areas-panel{margin:0}.no-areas{color:#747474;font-style:italic;text-align:center;padding:2rem 1rem;margin:0;background:#597043;border-radius:8px;font-family:Lato,sans-serif}.areas-list{display:flex;flex-direction:column;gap:.5rem}.area-item{background:#fff;border-radius:12px;overflow:hidden;transition:all .3s ease;border:2px solid #e9ecef;box-shadow:0 2px 8px #00000014}.area-item:hover{box-shadow:0 4px 16px #5ea43426;border-color:#5ea434;transform:translateY(-2px)}.area-info{display:flex;align-items:center;justify-content:space-between;padding:0;overflow:hidden}.area-details{flex:1;padding:16px;background:#fff}.area-id,.area-name{display:block;font-weight:500;color:#495057;margin-bottom:6px;font-size:13px;font-family:Segoe UI,sans-serif}.area-id{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;display:inline-block;margin-bottom:8px}.area-size{font-size:13px;color:#2c3e50;font-weight:600;display:block;margin-top:4px}.area-actions{display:flex;flex-direction:column;gap:0;background:#f8f9fa;border-left:2px solid #e9ecef}.ms-btn .edit-btn,.delete-btn{padding:.75rem;border:none;cursor:pointer;font-size:.9rem;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:48px;height:50%;border-radius:0}.ms-btn{background:#f8f9fa;color:#5ea434}.edit-btn{background:#f8f9fa;color:#5ea434;border-bottom:1px solid #e9ecef}.edit-btn:hover{background:#5ea434;color:#fff}.delete-btn{background:#f8f9fa;color:#ef4444}.delete-btn:hover{background:#ef4444;color:#fff}.area-edit input{width:100%;padding:.75rem;border:1px solid #318535;border-radius:6px;font-size:.9rem;outline:none;background-color:#318535;color:#fff;transition:border-color .2s;font-family:Lato,sans-serif}.area-edit input:focus{border-color:#5ea434;background-color:#597043}.total-area{margin-top:12px;padding:16px;background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border-radius:12px;text-align:center;font-size:16px;font-weight:700;box-shadow:0 4px 12px #5ea4344d;font-family:Segoe UI,sans-serif;letter-spacing:.5px}.name-dialog-overlay,.submit-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.name-dialog,.submit-dialog{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0000004d;max-width:90vw;max-height:90vh;overflow-y:auto}.name-dialog{padding:2rem;width:400px}.submit-dialog{padding:2rem;width:500px}.name-dialog h3,.submit-dialog h3{margin:0 0 1.5rem;color:#495057;font-size:1.3rem;font-weight:600}.name-dialog input{width:100%;padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:1rem;outline:none;transition:border-color .2s ease;margin-bottom:1.5rem;background-color:#f8f9fa;color:#212529}.name-dialog input:focus{border-color:#11752b}.name-dialog-buttons,.submit-dialog-buttons{display:flex;gap:.75rem;justify-content:flex-end}.name-dialog-buttons button,.submit-dialog-buttons button{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.name-dialog-buttons button:first-child,.submit-btn{background:linear-gradient(135deg,#11752b,#15a338);color:#fff}.name-dialog-buttons button:first-child:hover:not(:disabled),.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#0f5a22,#128a30);transform:translateY(-1px)}.name-dialog-buttons button:first-child:disabled,.submit-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.name-dialog-buttons button:last-child,.cancel-btn{background:#6c757d;color:#fff}.name-dialog-buttons button:last-child:hover:not(:disabled),.cancel-btn:hover:not(:disabled){background:#5a6268}.submit-form{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#495057;font-size:.9rem}.form-group input,.form-group select,.form-group textarea{padding:.75rem;border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;outline:none;transition:border-color .2s ease;font-family:inherit;background-color:#f8f9fa;color:#212529}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#11752b}.form-group textarea{resize:vertical;min-height:100px}.form-summary{background:#f0f8f2;padding:1.25rem;border-radius:8px;border-left:4px solid #11752B}.form-summary h4{margin:0 0 .75rem;color:#495057;font-size:1rem}.form-summary p{margin:.25rem 0;color:#6c757d;font-size:.9rem}.areas-summary{margin-top:.75rem}.area-summary-item{padding:.5rem 0;color:#495057;font-size:.85rem;border-bottom:1px solid #e9ecef}.area-summary-item:last-child{border-bottom:none}.ol-custom-overviewmap{bottom:1rem;border-radius:8px;overflow:hidden}.ol-overviewmap:not(.ol-collapsed){box-shadow:0 2px 8px #00000026}.ol-overviewmap button{background:#11752b!important;color:#fff!important;border-radius:4px;font-weight:700}.ol-overviewmap button:hover{background:#0f5a22!important}@media (max-width: 1024px){.dashboard-content{flex-direction:column}.control-panel{position:fixed;top:56px;left:0;height:calc(100vh - 56px);width:320px;max-width:75%;border-radius:0;transform:translate(-100%);opacity:0;z-index:1400;overflow-y:auto;box-shadow:0 4px 20px #00000080;order:0;padding-top:.5rem}.control-panel .sidebar-header{display:none}.sidebar-section{padding:.875rem 1rem}.sidebar-section:first-of-type{padding-top:1rem}.control-buttons button{font-size:.75rem;padding:.6rem .8rem}.submit-button,.bubble-level-btn{font-size:.75rem!important;padding:.6rem .8rem!important}.bubble-level-btn .btn-text{font-size:.75rem!important}.sidebar-instructions{font-size:.7rem;padding:.6rem .7rem}.control-panel.open{transform:translate(0);opacity:1}.control-buttons{flex-direction:column}.control-buttons button{width:100%}.sidebar-overlay{display:block}}@media (max-width: 768px){.dashboard-content{padding:0;gap:0}.control-panel{padding:0}.search-container{flex-direction:column;gap:.5rem}.submit-dialog,.name-dialog{width:90vw;padding:1.5rem;margin:1rem}.submit-dialog-buttons,.name-dialog-buttons{flex-direction:column}.submit-dialog-buttons button,.name-dialog-buttons button{width:100%}}@media (max-width: 480px){.control-buttons{flex-direction:column}.areas-panel{font-size:.9rem}.area-info{padding:.75rem}.submit-dialog,.name-dialog{padding:1rem}.control-panel.mobile-sidebar{width:80%;max-width:300px}.sidebar-section{padding:.75rem .875rem}.sidebar-section:first-of-type{padding-top:.875rem}.section-title{padding-top:.25rem}.control-buttons button{font-size:.7rem;padding:.55rem .7rem}.submit-button,.bubble-level-btn{font-size:.7rem!important;padding:.55rem .7rem!important}.bubble-level-btn .btn-text{font-size:.7rem!important}.sidebar-instructions{font-size:.68rem;padding:.55rem .65rem}.sidebar-header{padding:1rem}.sidebar-logo h2{font-size:1.2rem}.logo-icon{width:35px;height:35px;font-size:1.25rem}}.search-container.mobile-search{position:absolute;top:10px;left:10px;right:10px;z-index:999;background:#fff;border-radius:12px;box-shadow:0 4px 16px #0003}.search-container.mobile-search input{width:calc(100% - 80px);margin-right:8px}.close-search-btn{background:#dc3545;color:#fff;border:none;border-radius:4px;padding:8px 12px}.submit-dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:20px;box-sizing:border-box}.enhanced-submit-dialog{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;max-width:600px;width:100%;max-height:90vh;overflow-y:auto;animation:dialogSlideIn .3s ease-out}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}.dialog-header{display:flex;justify-content:space-between;align-items:center;padding:24px 28px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border-radius:16px 16px 0 0}.dialog-header h3{margin:0;font-size:1.5rem;font-weight:600}.dialog-close{background:#fff3;border:none;border-radius:8px;color:#fff;padding:8px;cursor:pointer;font-size:16px;transition:background-color .2s}.dialog-close:hover:not(:disabled){background:#ffffff4d}.dialog-close:disabled{opacity:.5;cursor:not-allowed}.error-alert{margin:20px 28px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;align-items:center;gap:8px;font-size:14px}.error-icon{font-size:16px;color:#ef4444}.dialog-body{padding:28px}.form-section{margin-bottom:32px}.form-section h4{margin:0 0 20px;font-size:1.2rem;font-weight:600;color:#374151;display:flex;align-items:center;gap:8px}.form-section h4:before{content:"";width:4px;height:20px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.form-row{margin-bottom:16px}.input-group{position:relative;display:flex;align-items:center}.input-icon{position:absolute;left:16px;z-index:1;color:#9ca3af;font-size:16px}.input-group input,.input-group textarea{width:100%;padding:14px 16px 14px 48px;border:2px solid #e5e7eb;border-radius:10px;font-size:15px;transition:all .2s;background:#fafafa;box-sizing:border-box}.input-group input:focus,.input-group textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.input-group input.error,.input-group textarea.error{border-color:#ef4444;background:#fef2f2}.input-group textarea{resize:vertical;min-height:80px;padding-top:14px;font-family:inherit}.summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}.summary-item{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);padding:16px;border-radius:10px;display:flex;flex-direction:column;gap:4px;text-align:center}.summary-label{font-size:13px;color:#6b7280;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.4rem;font-weight:700;color:#1f2937}.areas-summary{display:flex;flex-direction:column;gap:8px;max-height:200px;overflow-y:auto;padding:2px}.area-summary-card{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:all .2s}.area-summary-card:hover{border-color:#667eea;box-shadow:0 2px 8px #667eea1a}.area-id{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:600;min-width:30px;text-align:center}.area-name{flex:1;margin:0 12px;font-weight:500;color:#374151}.area-size{font-weight:600;color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:4px;font-size:13px}.dialog-footer{padding:20px 28px 28px;display:flex;gap:12px;justify-content:flex-end;border-top:1px solid #e5e7eb}.btn-cancel,.btn-submit{padding:12px 24px;border-radius:8px;font-size:15px;font-weight:500;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;border:none}.btn-cancel{background:#f3f4f6;color:#6b7280;border:1px solid #d1d5db}.btn-cancel:hover:not(:disabled){background:#e5e7eb;color:#374151}.btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-submit:disabled,.btn-cancel:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.spinner{animation:spin 1s linear infinite}.success-content{text-align:center;padding:40px 28px}.success-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#10b981,#059669);color:#fff;display:flex;align-items:center;justify-content:center;margin:0 auto 24px;font-size:2rem;animation:successBounce .6s ease-out}@keyframes successBounce{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1);opacity:1}to{transform:scale(1);opacity:1}}.success-content h3{margin:0 0 12px;font-size:1.8rem;font-weight:600;color:#065f46}.success-content p{margin:0 0 24px;color:#6b7280;font-size:16px}.success-details{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:20px;text-align:left}.success-details p{margin:8px 0;color:#374151;font-size:14px}.search-result-item{display:flex;align-items:center;gap:8px}.search-result-icon{color:#ef4444;font-size:14px}@media (max-width: 768px){.submit-dialog-overlay{padding:10px}.enhanced-submit-dialog{max-height:95vh}.dialog-header{padding:20px 20px 16px}.dialog-header h3{font-size:1.3rem}.dialog-body{padding:20px}.summary-grid{grid-template-columns:1fr}.dialog-footer{padding:16px 20px 20px;flex-direction:column-reverse}.btn-cancel,.btn-submit{width:100%;justify-content:center}.area-summary-card{flex-direction:column;align-items:flex-start;gap:8px}.area-name{margin:0}}.confirmation-popup-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10000;animation:fadeInOverlay .3s ease-out}.confirmation-popup{background:linear-gradient(145deg,#fff,#f8f9fa);border-radius:20px;box-shadow:0 20px 60px #0000004d;max-width:950px;width:95%;max-height:95vh;overflow-y:auto;animation:slideInUp .4s ease-out;border:2px solid #e9ecef}.confirmation-header{text-align:center;padding:30px 30px 20px;background:linear-gradient(135deg,#28a745,#20c997);border-radius:18px 18px 0 0;color:#fff;position:relative;overflow:hidden}.confirmation-header:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:shimmer 2s ease-in-out infinite}.confirmation-icon{font-size:4rem;margin-bottom:15px;animation:bounceIn .6s ease-out .2s both}.confirmation-header h2{margin:0;font-size:2rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1);animation:slideInDown .5s ease-out .3s both}.confirmation-content{padding:30px;color:#333}.confirmation-message{text-align:center;font-size:1.1rem;margin-bottom:25px;color:#555;line-height:1.6}.confirmation-details{background:#f8f9fa;border-radius:12px;padding:20px;margin:20px 0;border:1px solid #e9ecef;position:relative;overflow:hidden}.confirmation-details:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#28a745,#20c997,#17a2b8)}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #e9ecef;animation:fadeInLeft .5s ease-out}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:#495057;font-size:.95rem}.detail-value{color:#28a745;font-weight:700;font-size:.95rem;word-break:break-all}.recommendations-container{margin-top:30px;padding-top:20px;border-top:2px solid #e9ecef}.confirmation-note{text-align:center;font-style:italic;color:#6c757d;margin-top:20px;font-size:.95rem;padding:15px;background:#28a7450d;border-radius:8px;border-left:4px solid #28a745}.confirmation-actions{padding:20px 30px 30px;text-align:center;border-top:1px solid #e9ecef;background:#f8f9fa;border-radius:0 0 18px 18px}.confirmation-close-btn{background:linear-gradient(145deg,#28a745,#20c997);color:#fff;border:none;padding:12px 30px;border-radius:50px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #28a7454d;position:relative;overflow:hidden}.confirmation-close-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.confirmation-close-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.confirmation-close-btn:hover:before{left:100%}.confirmation-close-btn:active{transform:translateY(0)}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes slideInUp{0%{opacity:0;transform:translateY(50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes shimmer{0%,to{transform:translate(-50%,-50%) rotate(0)}50%{transform:translate(-50%,-50%) rotate(180deg)}}@media (max-width: 600px){.confirmation-popup{width:95%;margin:10px;border-radius:15px}.confirmation-header{padding:20px;border-radius:13px 13px 0 0}.confirmation-header h2{font-size:1.5rem}.confirmation-icon{font-size:3rem}.confirmation-content{padding:20px}.confirmation-details{padding:15px}.detail-row{flex-direction:column;align-items:flex-start;gap:5px}.detail-value{font-size:.9rem}.confirmation-actions{padding:15px 20px 20px}.confirmation-close-btn{width:100%;padding:15px}}.mobile-bottom-toolbar{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e5e7eb;box-shadow:0 -2px 16px #00000014;padding:1rem;z-index:1000;display:flex;flex-direction:column;gap:.75rem;max-height:50vh;overflow-y:auto;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.mobile-toolbar-btn{width:100%;padding:1rem 1.25rem;border:1.5px solid #e5e7eb;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:#fff;color:#374151;display:flex;align-items:center;justify-content:center;gap:.75rem;box-shadow:0 1px 3px #0000000d}.mobile-toolbar-btn:hover{background:#f9fafb;border-color:#d1d5db;box-shadow:0 2px 6px #00000014}.mobile-toolbar-btn:active{transform:scale(.97);box-shadow:0 1px 2px #0000001a}.mobile-toolbar-btn.active{background:#f0fdf4;border-color:#5ea434;color:#15803d;box-shadow:0 0 0 3px #5ea4341a}.mobile-toolbar-btn.active:hover{background:#dcfce7;border-color:#318535}.mobile-toolbar-icon{font-size:1.1rem;line-height:1}.mobile-toolbar-text{flex:1;text-align:left}.mobile-toolbar-btn-primary{background:#5ea434;border-color:#5ea434;color:#fff;box-shadow:0 2px 8px #5ea43440}.mobile-toolbar-btn-primary:hover{background:#4a8a2a;border-color:#4a8a2a;box-shadow:0 4px 12px #5ea43459}.mobile-toolbar-btn-primary:active{background:#318535;border-color:#318535}.mobile-toolbar-btn-success{background:#318535;border-color:#318535;color:#fff;box-shadow:0 2px 8px #31853540}.mobile-toolbar-btn-success:hover{background:#11752b;border-color:#11752b;box-shadow:0 4px 12px #31853559}.mobile-toolbar-btn-success:active{background:#0d5f1f;border-color:#0d5f1f}.mobile-toolbar-btn-warning{background:#f59e0b;border-color:#f59e0b;color:#fff;box-shadow:0 2px 8px #f59e0b40}.mobile-toolbar-btn-warning:hover{background:#d97706;border-color:#d97706;box-shadow:0 4px 12px #f59e0b59}.mobile-toolbar-btn-warning:active{background:#b45309;border-color:#b45309}.mobile-toolbar-gps-info{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 1rem;background:#f0fdf4;border:1px solid #dcfce7;border-radius:10px;font-size:.8rem;flex-wrap:wrap}.mobile-gps-status{color:#6b7280;font-weight:500;display:flex;align-items:center;gap:.25rem}.mobile-gps-accuracy{font-weight:600;padding:.375rem .75rem;border-radius:6px;font-size:.75rem;display:inline-flex;align-items:center;gap:.25rem}.mobile-gps-accuracy.excellent{background:#10b981;color:#fff}.mobile-gps-accuracy.good{background:#3b82f6;color:#fff}.mobile-gps-accuracy.fair{background:#f59e0b;color:#fff}.mobile-gps-accuracy.poor{background:#ef4444;color:#fff}.mobile-points-count{color:#15803d;font-weight:700;font-size:.85rem;display:flex;align-items:center;gap:.25rem}.mobile-toolbar-actions{display:flex;gap:.5rem}.mobile-toolbar-actions .mobile-toolbar-btn{flex:1}.gps-tooltip-overlay{background:#fffffffa!important;border:1.5px solid #5EA434!important;border-radius:12px!important;padding:.75rem 1rem!important;box-shadow:0 4px 16px #00000026!important;pointer-events:none!important;z-index:1500!important;max-width:280px!important;font-size:.85rem!important;line-height:1.4!important;color:#374151!important;text-align:center!important;white-space:normal!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.gps-tooltip-overlay:before{content:"";position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #5EA434}.sidebar-tooltip{position:fixed;top:70px;right:1rem;background:#fffffffa;border:1.5px solid #5EA434;border-radius:10px;padding:.75rem 1rem;box-shadow:0 4px 16px #00000026;z-index:1600;max-width:280px;font-size:.85rem;color:#374151;display:flex;align-items:center;justify-content:space-between;gap:.5rem;animation:slideInRight .3s ease-out}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.measured-slopes-display{margin-top:.5rem;padding:.5rem;background:#5ea4341a;border-radius:6px;border:1px solid rgba(94,164,52,.2)}.slopes-row{display:flex;gap:1rem;justify-content:space-between}.slope-column{display:flex;flex-direction:column;gap:.25rem;flex:1}.slope-label{font-size:.75rem;font-weight:600;color:#15803d;text-transform:uppercase;letter-spacing:.5px}.slope-value{font-size:.85rem;font-weight:700;color:#212529}@media (max-width: 1024px){.map-container{padding-bottom:200px}}.tilt-sensor-container{padding:20px;background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:100vh;width:100%;box-sizing:border-box;position:relative}.back-to-map-btn{position:fixed;top:20px;left:20px;background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #5ea4344d;transition:all .3s ease;z-index:1000}.back-to-map-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:translateY(-2px);box-shadow:0 6px 16px #5ea43466}.back-to-map-btn:active{transform:translateY(0)}.tilt-sensor-title{margin-bottom:20px;font-size:1.8rem;color:#11752b;text-align:center;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.tool-description{background:#fff;padding:15px;border-radius:8px;margin-bottom:20px;border:2px solid #5EA434;line-height:1.6;color:#423f3d;font-size:.95rem;text-align:center}.tool-section{background:#fff;padding:30px;border-radius:8px;border:1px solid #e9ecef;max-width:800px;margin:0 auto 20px}.calibration-prompt,.ios-activation{text-align:center;padding:40px 20px}.calibration-prompt h3,.ios-activation h3{font-size:1.8rem;color:#11752b;margin-bottom:15px}.calibration-prompt p,.ios-activation p{color:#423f3d;font-size:1rem;margin-bottom:30px}.level-container{margin-bottom:30px}.level-value{text-align:center;font-size:1.5rem;font-weight:700;color:#11752b;margin-bottom:10px}.vertical-value{text-align:left;font-size:1.2rem;margin-bottom:15px}.horizontal-level{width:100%;height:80px;background:linear-gradient(135deg,#318535,#11752b);border-radius:40px;position:relative;overflow:hidden;box-shadow:inset 0 4px 10px #0000004d,0 4px 12px #11752b33}.level-track{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:space-around;padding:0 20px}.level-mark{width:2px;height:20px;background:#ffffff4d}.level-mark.center{height:30px;background:#ffffff80;width:3px}.level-mark.left,.level-mark.right{height:25px;background:#fff6}.bubble{position:absolute;background:radial-gradient(circle at 30% 30%,#9fc01b,#5ea434);border-radius:50%;box-shadow:0 4px 12px #5ea43499,inset -2px -2px 6px #0003,inset 2px 2px 6px #fff6;transition:all .2s ease-out}.horizontal-bubble{width:60px;height:60px;top:50%;transform:translate(-50%,-50%)}.levels-grid{display:flex;gap:30px;align-items:flex-start;margin-bottom:30px}@media (max-width: 768px){.levels-grid{flex-direction:column;align-items:center}}.vertical-level-container{flex:0 0 auto}.vertical-level{width:80px;height:300px;background:linear-gradient(180deg,#318535,#11752b);border-radius:40px;position:relative;overflow:hidden;box-shadow:inset 0 4px 10px #0000004d,0 4px 12px #11752b33}.vertical-track{flex-direction:column;justify-content:space-around;padding:20px 0}.vertical-track .level-mark{width:20px;height:2px}.vertical-track .level-mark.center{width:30px;height:3px}.vertical-track .level-mark.top,.vertical-track .level-mark.bottom{width:25px;height:2px}.vertical-bubble{width:60px;height:60px;left:50%;transform:translate(-50%,-50%)}.bullseye-container{flex:1;display:flex;flex-direction:column;align-items:center}.bullseye-level{width:320px;height:320px;background:radial-gradient(circle,#318535,#11752b);border-radius:50%;position:relative;overflow:hidden;box-shadow:inset 0 4px 15px #0006,0 6px 20px #11752b4d}.bullseye-rings{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%}.ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.15);border-radius:50%}.ring-1{width:60px;height:60px;border-width:2px;border-color:#ffffff4d}.ring-2{width:120px;height:120px}.ring-3{width:180px;height:180px}.crosshair-h,.crosshair-v{position:absolute;background:#fff3}.crosshair-h{width:100%;height:1px;top:50%;left:0}.crosshair-v{width:1px;height:100%;left:50%;top:0}.bullseye-bubble{width:50px;height:50px;transform:translate(-50%,-50%)}.bullseye-values{margin-top:15px;display:flex;gap:30px;font-size:1rem;color:#6c757d}.bullseye-values strong{color:#11752b;font-size:1.1rem}.tilt-btn{width:100%;margin-top:12px;padding:16px 24px;font-size:16px;font-weight:600;color:#fff;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:12px;position:relative;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 14px #00000026}.tilt-btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.tilt-btn:hover:before{width:300px;height:300px}.tilt-btn:hover{transform:translateY(-3px);box-shadow:0 8px 20px #00000040}.tilt-btn:active{transform:translateY(-1px);box-shadow:0 4px 10px #0003}.tilt-btn.start{background:linear-gradient(135deg,#5ea434,#11752b)}.tilt-btn.start:hover{background:linear-gradient(135deg,#11752b,#5ea434)}.tilt-btn.calibrate{background:linear-gradient(135deg,#d9e021,#9fc01b);color:#423f3d}.tilt-btn.calibrate:hover{background:linear-gradient(135deg,#9fc01b,#d9e021)}.btn-icon{font-size:1.3rem;position:relative;z-index:1;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.user-guide{background:#fff;padding:20px;border-radius:8px;border:1px solid #e9ecef;line-height:1.6;margin-top:20px}.guide-intro{margin-bottom:20px;color:#495057;font-size:.95rem}.guide-intro-text{margin-bottom:12px;margin-top:12px;color:#495057;font-size:.9rem}.guide-section{margin-bottom:20px}.guide-section:last-child{margin-bottom:0}.guide-section h4{color:#11752b;font-size:1.1rem;margin-bottom:10px;font-weight:600}.guide-section ol,.guide-section ul{margin:0;padding-left:25px;color:#495057}.guide-section li{margin-bottom:10px;font-size:.9rem}.guide-section li:last-child{margin-bottom:0}.guide-section strong{color:#212529;font-weight:600}.guide-section p{margin:0;color:#495057;font-size:.9rem}.guide-section li br{margin-bottom:5px}.sub-list{margin-top:8px;margin-bottom:0;padding-left:20px;list-style-type:circle}.sub-list li{margin-bottom:5px;font-size:.85rem}.mower-types{margin-top:10px;padding-left:25px}.mower-types li{margin-bottom:8px;font-size:.9rem;color:#495057}.tilt-sensor-container-inline{width:100%;height:100%;padding:70px 20px 20px;background:#fff;overflow-y:auto;box-sizing:border-box;display:flex;flex-direction:column;align-items:center}.tool-section-inline{background:#fff;padding:20px;border-radius:8px;border:1px solid #e9ecef;width:100%;max-width:800px;margin:0 auto}.slope-guide-sidebar{padding:15px;background:transparent;height:100%;overflow-y:auto;box-sizing:border-box}.slope-guide-sidebar .guide-section{margin-bottom:15px}.slope-guide-sidebar .guide-section:last-child{margin-bottom:0}.slope-guide-sidebar .guide-section h4{color:#5ea434;font-size:1rem;margin-bottom:8px;font-weight:700}.slope-guide-sidebar .guide-section ol,.slope-guide-sidebar .guide-section ul{margin:0;padding-left:20px;color:#f8f9fa}.slope-guide-sidebar .guide-section li{margin-bottom:8px;font-size:.85rem;line-height:1.4;color:#e9ecef}.slope-guide-sidebar .guide-section li:last-child{margin-bottom:0}.slope-guide-sidebar .guide-section strong{color:#d9e002;font-weight:700}.slope-guide-sidebar .guide-section p{margin:0;color:#e9ecef;font-size:.85rem;line-height:1.4}.slope-guide-sidebar .guide-intro-text{margin-top:8px;margin-bottom:0;color:#e9ecef;font-size:.85rem}@media (max-width: 768px){.tool-section,.tool-section-inline{padding:10px}.tilt-sensor-container-inline{padding:8px}.slope-guide-sidebar{padding:10px}.slope-guide-sidebar .guide-section{margin-bottom:10px}.slope-guide-sidebar .guide-section h4{font-size:.9rem;margin-bottom:5px}.slope-guide-sidebar .guide-section li{margin-bottom:5px;font-size:.75rem}.slope-guide-sidebar .guide-section p{font-size:.75rem}.slope-guide-sidebar .guide-intro-text{font-size:.75rem;margin-top:5px}.bullseye-level{width:180px;height:180px}.vertical-level{width:50px;height:150px}.horizontal-level{height:50px}.levels-grid{gap:10px;margin-bottom:15px}.level-container{margin-bottom:15px}.level-value{font-size:1rem;margin-bottom:5px}.vertical-value{font-size:.9rem;margin-bottom:10px}.bullseye-values{margin-top:8px;gap:15px;font-size:.85rem}.bullseye-values strong{font-size:.95rem}.tilt-btn{padding:12px 16px;font-size:14px;margin-top:8px}.calibration-prompt,.ios-activation{padding:20px 15px}.calibration-prompt h3,.ios-activation h3{font-size:1.4rem;margin-bottom:10px}.calibration-prompt p,.ios-activation p{font-size:.9rem;margin-bottom:20px}}@media (max-width: 480px){.tilt-sensor-container{padding:70px 8px 8px;min-height:auto}.tilt-sensor-container-inline{padding:70px 8px 8px}.tool-section{padding:10px;margin-bottom:8px}.tool-section-inline{padding:10px}.bullseye-level{width:160px;height:160px}.vertical-level{width:55px;height:170px}.horizontal-level{height:55px}.horizontal-bubble,.vertical-bubble{width:38px;height:38px}.bullseye-bubble{width:35px;height:35px}.ring-1{width:45px;height:45px}.ring-2{width:90px;height:90px}.ring-3{width:135px;height:135px}.levels-grid{gap:8px;margin-bottom:8px;margin-top:8px}.level-container{margin-bottom:8px}.level-value{font-size:.85rem;margin-bottom:5px}.vertical-value{font-size:.8rem;margin-bottom:5px}.bullseye-values{margin-top:8px;gap:10px;font-size:.75rem}.bullseye-values strong{font-size:.85rem}.tilt-btn{padding:10px 16px;font-size:13px;margin-top:8px}.btn-icon{font-size:1rem}.calibration-prompt,.ios-activation{padding:10px 8px}.calibration-prompt h3,.ios-activation h3{font-size:1rem;margin-bottom:5px}.calibration-prompt p,.ios-activation p{font-size:.75rem;margin-bottom:8px}.back-to-map-btn{top:10px;left:10px;padding:6px 10px;font-size:11px}}.tour-overlay{position:fixed;inset:0;background:#000000bf;z-index:9999;pointer-events:none;transition:clip-path .3s ease}.tour-highlight{position:relative;z-index:10001!important;box-shadow:0 0 0 4px #5ea43480,0 0 20px #5ea434cc,0 0 40px #5ea43466!important;border-radius:8px;animation:tour-pulse 2s ease-in-out infinite;background:#5ea4341a!important;transition:all .3s ease}@keyframes tour-pulse{0%,to{box-shadow:0 0 0 4px #5ea43480,0 0 20px #5ea434cc,0 0 40px #5ea43466}50%{box-shadow:0 0 0 6px #5ea43499,0 0 30px #5ea434,0 0 60px #5ea43499}}.tour-tooltip{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #0000001a;overflow:hidden;animation:tour-slide-in .3s ease-out;pointer-events:auto;position:fixed!important}@keyframes tour-slide-in{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.tour-tooltip-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:linear-gradient(135deg,#5ea434,#318535);color:#fff}.tour-step-indicator{display:flex;align-items:baseline;gap:.25rem;font-weight:600}.tour-step-number{font-size:1.5rem;font-weight:700}.tour-step-total{font-size:.9rem;opacity:.9}.tour-close-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.tour-close-btn:hover{background:#ffffff4d;transform:scale(1.1)}.tour-tooltip-content{padding:1.5rem}.tour-icon{font-size:3rem;color:#5ea434;margin-bottom:1rem;display:flex;justify-content:center}.tour-title{font-size:1.5rem;font-weight:700;color:#212529;margin:0 0 .75rem;text-align:center}.tour-description{font-size:1rem;color:#6b7280;line-height:1.6;margin:0 0 1rem;text-align:center}.tour-highlights{list-style:none;padding:0;margin:1rem 0 0;display:flex;flex-direction:column;gap:.5rem}.tour-highlights li{display:flex;align-items:flex-start;gap:.75rem;font-size:.9rem;color:#374151;line-height:1.5}.highlight-icon{color:#5ea434;font-size:1rem;margin-top:.15rem;flex-shrink:0}.tour-tooltip-footer{border-top:1px solid #e5e7eb;padding:1rem 1.25rem;background:#f9fafb}.tour-progress-bar{width:100%;height:4px;background:#e5e7eb;border-radius:2px;margin-bottom:1rem;overflow:hidden}.tour-progress-fill{height:100%;background:linear-gradient(90deg,#5ea434,#318535);border-radius:2px;transition:width .3s ease}.tour-actions{display:flex;gap:.75rem;justify-content:flex-end;align-items:center}.tour-btn{padding:.625rem 1.25rem;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:.5rem;transition:all .2s;white-space:nowrap}.tour-btn-primary{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;box-shadow:0 4px 12px #5ea4344d}.tour-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #5ea43466}.tour-btn-secondary{background:#fff;color:#374151;border:2px solid #e5e7eb}.tour-btn-secondary:hover{background:#f9fafb;border-color:#d1d5db}.tour-btn-skip{background:transparent;color:#6b7280;padding:.625rem 1rem}.tour-btn-skip:hover{color:#374151;background:#f3f4f6}@media (max-width: 768px){.tour-tooltip{max-width:90vw;min-width:90vw;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important}.tour-title{font-size:1.25rem}.tour-description{font-size:.9rem}.tour-actions{flex-wrap:wrap}.tour-btn{flex:1;justify-content:center;min-width:100px}.tour-btn-skip{order:-1;width:100%;margin-bottom:.5rem}}.tour-welcome-overlay{position:fixed;inset:0;background:#0009;z-index:10002;display:flex;align-items:center;justify-content:center;animation:fadeIn .3s ease-out}.tour-welcome-popup{background:#fff;border-radius:20px;padding:2rem;max-width:450px;width:90%;box-shadow:0 25px 80px #0000004d;position:relative;animation:slideUp .3s ease-out;text-align:center}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.tour-welcome-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;font-size:1.5rem;color:#6b7280;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.tour-welcome-close:hover{background:#f3f4f6;color:#374151}.tour-welcome-icon{font-size:4rem;margin-bottom:1rem}.tour-welcome-title{font-size:1.75rem;font-weight:700;color:#212529;margin:0 0 1rem}.tour-welcome-text{font-size:1rem;color:#6b7280;line-height:1.6;margin:0 0 2rem}.tour-welcome-actions{display:flex;gap:1rem;justify-content:center}.tour-welcome-btn{padding:.75rem 2rem;border:none;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;min-width:140px}.tour-welcome-btn-yes{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;box-shadow:0 4px 12px #5ea4344d}.tour-welcome-btn-yes:hover{transform:translateY(-2px);box-shadow:0 6px 16px #5ea43466}.tour-welcome-btn-no{background:#fff;color:#374151;border:2px solid #e5e7eb}.tour-welcome-btn-no:hover{background:#f9fafb;border-color:#d1d5db}.tour-tooltip-mobile:before{content:"";position:absolute;top:-10px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid white}.tour-tooltip-fixed{box-shadow:0 25px 80px #0006,0 0 0 1px #0000001a}.lawn-assessment-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:15000;padding:20px}.lawn-assessment-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000004d;width:100%;max-width:700px;max-height:85vh;display:flex;flex-direction:column;position:relative;overflow:hidden}.assessment-header{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid #e5e7eb;flex-shrink:0}.assessment-header h2{margin:0;color:#1f2937;font-size:18px;font-weight:600}.close-btn{background:none;border:none;font-size:18px;color:#6b7280;cursor:pointer;padding:6px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn:hover{background-color:#f3f4f6;color:#374151}.close-btn:disabled{opacity:.5;cursor:not-allowed}.progress-indicator{padding:10px 18px;flex-shrink:0}.progress-bar{width:100%;height:5px;background-color:#e5e7eb;border-radius:3px;overflow:hidden;margin-bottom:5px}.progress-fill{height:100%;background:linear-gradient(90deg,#d9e002,#5ea434,#11752b);transition:width .3s ease}.progress-text{font-size:11px;color:#6b7280;text-align:center;display:block}.error-message{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626;padding:8px 12px;border-radius:6px;margin:0 18px 12px;font-size:12px}.step-content{padding:0 18px 8px;flex:1;overflow-y:auto;min-height:0}.customer-info-step h3{color:#1f2937;margin:0 0 6px;font-size:16px;font-weight:600}.customer-info-step>p{color:#6b7280;margin:0 0 12px;font-size:13px}.form-group{margin-bottom:12px}.form-group label{display:block;font-weight:600;color:#374151;margin-bottom:4px;font-size:12px}.form-group input,.form-group textarea{width:100%;padding:8px 10px;border:2px solid #e5e7eb;border-radius:6px;font-size:13px;transition:border-color .2s;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#5ea434;box-shadow:0 0 0 3px #5ea4341a}.form-group textarea{resize:vertical;min-height:60px}.form-summary{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;padding:10px;margin-top:12px}.form-summary h4{margin:0 0 8px;color:#1f2937;font-size:13px;font-weight:600}.form-summary p{margin:0 0 6px;color:#374151;font-size:12px}.areas-summary{margin-top:8px}.area-summary-item{background-color:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:6px 8px;margin-bottom:4px;font-size:11px;color:#374151}.assessment-question{animation:fadeInSlide .3s ease-out}@keyframes fadeInSlide{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.question-header h3{margin:0;color:#1f2937;font-size:16px;font-weight:600}.question-actions{display:flex;gap:6px}.help-btn{background:linear-gradient(135deg,#5ea434,#318535);border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s;font-size:15px;padding:0}.help-btn svg{width:16px;height:16px;color:#fff;fill:#fff}.help-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:scale(1.05);box-shadow:0 2px 8px #5ea43466}.question-text{font-size:14px;color:#374151;margin:0 0 8px;font-weight:500}.question-tooltip{background-color:#f0f9e8;border:1px solid #c2e0a8;border-radius:6px;padding:8px 10px;margin-bottom:10px;color:#2d5016;font-size:11px;display:flex;align-items:center;gap:6px}.help-content{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:10px;margin-bottom:12px;animation:fadeIn .2s ease}.help-content h4{margin:0 0 8px;color:#1e293b;font-size:13px}.help-content p{margin:0 0 6px;color:#475569;font-size:11px;line-height:1.4}.help-content ul{margin:6px 0 0 12px;color:#475569;font-size:11px}.help-content li{margin-bottom:3px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.question-options{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.option-label{display:flex;align-items:flex-start;gap:8px;padding:10px;border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;transition:all .2s;background-color:#fff}.option-label:hover{border-color:#d1d5db;background-color:#f9fafb}.option-label input[type=radio]{margin:0;width:16px;height:16px;accent-color:#5EA434;cursor:pointer;flex-shrink:0}.option-label input[type=radio]:checked+.option-content{color:#1f2937}.option-label:has(input:checked){border-color:#318535;background:linear-gradient(135deg,#d9e00226,#5ea43433);box-shadow:0 2px 8px #5ea43433}.option-content{display:flex;flex-direction:column;gap:3px;flex:1}.option-main{font-weight:600;color:#374151;font-size:13px}.option-description{color:#6b7280;font-size:11px;line-height:1.3}.not-sure-option{margin-top:6px;padding-top:6px;border-top:1px solid #e5e7eb}.not-sure-btn{background:linear-gradient(135deg,#9fc01b,#5ea434);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:transform .2s}.not-sure-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px #9fc01b66}.photo-requirement{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:6px;padding:8px 10px;margin-bottom:10px}.photo-prompt{color:#92400e;font-size:11px;display:flex;align-items:center;gap:6px}.file-upload-section{border-top:1px solid #e5e7eb;padding-top:12px;margin-top:12px}.file-upload-section h4{margin:0 0 6px;color:#1f2937;font-size:13px;font-weight:600}.file-upload-section>p{margin:0 0 10px;color:#6b7280;font-size:11px}.upload-controls{margin-bottom:10px}.upload-btn{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border:none;padding:8px 14px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all .2s}.upload-btn:hover{background:linear-gradient(135deg,#318535,#11752b);transform:translateY(-1px);box-shadow:0 4px 12px #5ea43466}.uploaded-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:10px}.uploaded-file{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;background-color:#fff}.file-preview{aspect-ratio:1;overflow:hidden;background-color:#f3f4f6}.file-preview img,.file-preview video{width:100%;height:100%;object-fit:cover}.file-info{padding:4px 6px;display:flex;justify-content:space-between;align-items:center}.file-name{font-size:10px;color:#374151;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.remove-file-btn{background:none;border:none;color:#dc2626;cursor:pointer;padding:3px;border-radius:3px;transition:background-color .2s;font-size:11px}.remove-file-btn:hover{background-color:#fee2e2}.navigation-buttons{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;border-top:1px solid #e5e7eb;background-color:#f9fafb;border-radius:0 0 12px 12px;gap:8px;flex-shrink:0}.nav-btn{padding:8px 16px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px;border:2px solid transparent}.prev-btn{background:linear-gradient(135deg,#d9e002,#9fc01b);color:#423f3d;border-color:transparent;font-weight:700}.prev-btn:hover:not(:disabled){background:linear-gradient(135deg,#c5ca02,#8aa816);transform:translateY(-1px);box-shadow:0 4px 12px #d9e0024d}.next-btn{background:linear-gradient(135deg,#318535,#11752b);color:#fff}.next-btn:hover:not(:disabled){background:linear-gradient(135deg,#11752b,#0a4a1a);transform:translateY(-1px);box-shadow:0 4px 12px #11752b80}.skip-btn{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border-color:transparent}.skip-btn:hover:not(:disabled){background:linear-gradient(135deg,#4a8b2a,#276629);transform:translateY(-1px);box-shadow:0 4px 12px #5ea43466}.submit-btn{background:linear-gradient(135deg,#318535,#11752b);color:#fff;font-weight:700}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,#11752b,#0a4a1a);transform:translateY(-1px);box-shadow:0 4px 12px #11752b80}.nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important;box-shadow:none!important}@media (max-width: 768px){.lawn-assessment-overlay{padding:0;align-items:flex-start}.lawn-assessment-dialog{max-height:100vh;border-radius:0;margin-top:56px}.assessment-header{padding:12px 14px 0;margin-bottom:12px;position:sticky;top:0;background:#fff;z-index:10}.assessment-header h2{font-size:16px;font-weight:700}.close-btn{font-size:18px;padding:4px}.progress-indicator{padding:0 14px 12px}.progress-bar{height:6px;margin-bottom:6px}.progress-text{font-size:12px}.step-content{padding:0 14px 55px}.question-header{flex-direction:column;align-items:flex-start;gap:6px;margin-bottom:8px}.question-header h3{font-size:15px}.help-btn{width:26px;height:26px;font-size:13px}.help-btn svg{width:14px;height:14px}.question-text{font-size:14px;margin-bottom:8px}.question-tooltip{padding:10px 12px;font-size:12px;margin-bottom:14px}.help-content{padding:12px;margin-bottom:14px}.help-content h4{font-size:14px;margin-bottom:8px}.help-content p,.help-content ul{font-size:12px}.question-options{gap:8px;margin-bottom:10px}.option-label{padding:9px 12px}.option-label input[type=radio]{width:18px;height:18px}.option-main{font-size:13px}.option-description{font-size:11px}.photo-requirement{padding:10px 12px;margin-bottom:14px}.photo-prompt{font-size:12px}.file-upload-section{padding-top:16px;margin-top:16px}.file-upload-section h4{font-size:14px}.file-upload-section>p{font-size:12px;margin-bottom:12px}.upload-btn,.not-sure-btn{padding:9px 16px;font-size:12px}.navigation-buttons{padding:10px 14px;flex-wrap:wrap;gap:6px;position:sticky;bottom:0;background-color:#f9fafb;border-radius:0;z-index:20;box-shadow:0 -2px 8px #0000001a}.nav-btn{flex:1;min-width:80px;justify-content:center;padding:8px 14px;font-size:12px}.uploaded-files{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;margin-top:12px}.file-info{padding:6px}.file-name{font-size:10px}.form-group input,.form-group textarea{font-size:16px}.error-message{padding:10px 12px;margin:12px 14px;font-size:12px}}@media (max-width: 480px){.lawn-assessment-dialog{margin-top:56px}.assessment-header{padding:10px 12px 0}.assessment-header h2{font-size:14px}.step-content{padding:0 12px 60px}.question-header h3{font-size:13px}.question-text{font-size:13px;margin-bottom:8px}.option-label{padding:8px 10px}.option-main{font-size:12px}.option-description{font-size:10px}.navigation-buttons{padding:8px 12px}.nav-btn{padding:7px 12px;font-size:11px;min-width:70px}.upload-btn,.not-sure-btn{padding:8px 14px;font-size:11px}.uploaded-files{grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:6px}}.mower-recommendations{width:100%;padding:0}.recommendations-compact-header{background:linear-gradient(135deg,#5ea434,#318535);padding:20px;border-radius:12px;margin-bottom:20px;color:#fff}.results-count{display:flex;align-items:baseline;gap:10px;margin-bottom:12px}.count-number{font-size:48px;font-weight:800;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.2)}.count-label{font-size:18px;font-weight:600;opacity:.95}.lawn-profile-compact{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;opacity:.9}.profile-item{background:#fff3;padding:4px 10px;border-radius:12px;font-weight:500}.profile-divider{opacity:.5}.recommendations-list{display:flex;flex-direction:column;gap:12px}.mower-card{background:#fff;border:2px solid #e9ecef;border-radius:12px;overflow:hidden;transition:all .3s ease;position:relative}.mower-card:hover{border-color:#5ea434;box-shadow:0 4px 16px #5ea43426}.mower-card.expanded{border-color:#5ea434;box-shadow:0 6px 20px #5ea43433}.top-pick-card{border-color:#d9e002;box-shadow:0 6px 24px #d9e00240}.top-pick-ribbon{position:absolute;top:12px;right:-35px;background:linear-gradient(135deg,#d9e002,#9fc01b);color:#423f3d;padding:6px 40px;font-weight:700;font-size:12px;transform:rotate(45deg);z-index:10;box-shadow:0 2px 8px #0003;display:flex;align-items:center;gap:4px}.mower-card-header{padding:16px 20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:12px}.mower-header-content{flex:1}.mower-title-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}.mower-model{margin:0;font-size:20px;font-weight:700;color:#2c3e50}.gps-tag{background:linear-gradient(135deg,#5ea434,#318535);color:#fff;padding:4px 10px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap}.mower-specs-row{display:flex;gap:8px;flex-wrap:wrap}.spec-pill{background:#f8f9fa;padding:6px 12px;border-radius:8px;font-size:13px;color:#495057;border:1px solid #e9ecef}.spec-pill strong{color:#2c3e50;font-weight:600}.expand-btn-new{background:linear-gradient(135deg,#3498db,#2980b9);border:2px solid #3498db;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;flex-shrink:0;color:#fff;font-size:16px;box-shadow:0 2px 8px #3498db4d}.expand-btn-new:hover{background:linear-gradient(135deg,#2980b9,#1f6391);border-color:#2980b9;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #3498db66}.mower-score-bar{height:36px;background:linear-gradient(90deg,#5ea434,#318535);position:relative;display:flex;align-items:center;padding:0 20px}.score-fill-gradient{position:absolute;left:0;top:0;bottom:0;background:linear-gradient(90deg,#5ea434,#318535);transition:width .6s ease;display:none}.score-label{position:relative;z-index:1;font-size:13px;font-weight:700;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.2)}.mower-card-details{padding:20px;background:#f8f9fa;border-top:2px solid #e9ecef;animation:expandDetails .3s ease}@keyframes expandDetails{0%{opacity:0;max-height:0}to{opacity:1;max-height:1000px}}.details-section{margin-bottom:20px}.details-section:last-child{margin-bottom:0}.details-section h6{font-size:14px;font-weight:700;color:#2c3e50;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}.specs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}.spec-item{background:#fff;padding:10px 12px;border-radius:8px;display:flex;justify-content:space-between;align-items:center;border:1px solid #e9ecef}.spec-item.highlight{border-color:#5ea434;background:#f0f8f2}.spec-label{font-size:12px;color:#6c757d;font-weight:600}.spec-detail{font-size:13px;color:#2c3e50;font-weight:600}.score-breakdown{display:flex;flex-direction:column;gap:10px}.breakdown-item{display:flex;align-items:center;gap:12px}.breakdown-label{font-size:12px;color:#6c757d;font-weight:600;min-width:140px}.breakdown-bar{flex:1;height:20px;background:#e9ecef;border-radius:10px;overflow:hidden}.breakdown-fill{height:100%;background:linear-gradient(90deg,#5ea434,#318535);transition:width .6s ease}.breakdown-value{font-size:13px;font-weight:700;color:#2c3e50;min-width:40px;text-align:right}.features-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}.features-list li{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border-radius:8px;font-size:13px;color:#495057;border:1px solid #e9ecef}.feature-icon{color:#5ea434;font-size:14px;flex-shrink:0}.no-recommendations{text-align:center;padding:40px 20px}.no-recommendations-content h3{font-size:24px;color:#2c3e50;margin-bottom:12px}.no-recommendations-content p{color:#7f8c8d;font-size:16px;margin-bottom:20px}.suggestions{background:#f8f9fa;padding:20px;border-radius:8px;text-align:left;max-width:600px;margin:0 auto}.suggestions h4{font-size:16px;color:#2c3e50;margin-bottom:12px}.suggestions ul{list-style:none;padding:0}.suggestions li{padding:8px 0;color:#495057;font-size:14px}.suggestions li:before{content:"•";color:#5ea434;font-weight:700;display:inline-block;width:1em;margin-right:8px}@media (max-width: 768px){.recommendations-compact-header{padding:16px}.count-number{font-size:36px}.count-label{font-size:16px}.lawn-profile-compact{font-size:12px}.mower-model{font-size:18px}.mower-card-header{padding:14px 16px}.mower-specs-row{gap:6px}.spec-pill{padding:5px 10px;font-size:12px}.expand-btn-new{width:36px;height:36px;font-size:14px}.mower-score-bar{height:28px;padding:0 16px}.score-label{font-size:12px}.mower-card-details{padding:16px}.specs-grid,.features-list{grid-template-columns:1fr}.breakdown-label{min-width:100px;font-size:11px}.breakdown-bar{height:16px}.breakdown-value{font-size:12px}}@media (max-width: 480px){.recommendations-compact-header{padding:12px}.count-number{font-size:32px}.count-label{font-size:14px}.lawn-profile-compact{font-size:11px}.profile-item{padding:3px 8px}.mower-model{font-size:16px}.gps-tag{font-size:10px;padding:3px 8px}.mower-card-header{padding:12px 14px}.spec-pill{padding:4px 8px;font-size:11px}.expand-btn-new{width:32px;height:32px;font-size:12px}.mower-card-details{padding:12px}.details-section h6{font-size:13px;margin-bottom:10px}.spec-item{padding:8px 10px}.spec-label,.spec-detail{font-size:11px}.features-list li{padding:6px 10px;font-size:12px}.top-pick-ribbon{font-size:10px;padding:4px 35px}}.recommendation-dialog-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;justify-content:center;align-items:center;z-index:16000;padding:20px}.recommendation-dialog{background:#fff;border-radius:12px;max-width:900px;width:100%;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d}.recommendation-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e0e0e0}.recommendation-header h2{margin:0;font-size:24px;color:#2c3e50}.recommendation-header .close-btn{background:none;border:none;font-size:20px;color:#7f8c8d;cursor:pointer;padding:5px;display:flex;align-items:center;justify-content:center;transition:color .2s}.recommendation-header .close-btn:hover{color:#2c3e50}.recommendation-header .close-btn:disabled{opacity:.5;cursor:not-allowed}.recommendation-scrollable-content{flex:1;overflow-y:auto;padding:24px 24px 0}.error-message{background-color:#fee;color:#c00;padding:12px 16px;border-radius:6px;margin:16px 24px 0;border-left:4px solid #c00}.recommendation-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px;border-top:2px solid #e9ecef;background:#f8f9fa;border-radius:0 0 12px 12px;box-shadow:0 -2px 8px #0000000d}.action-btn{padding:12px 24px;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.action-btn.primary{background:linear-gradient(135deg,#5ea434,#318535);color:#fff}.action-btn.primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #5ea43466;background:linear-gradient(135deg,#318535,#11752b)}.action-btn.secondary{background:#f8f9fa;color:#495057;border:1px solid #dee2e6}.action-btn.secondary:hover:not(:disabled){background:#e9ecef}.action-btn.edit{background:#fff;color:#5ea434;border:2px solid #5EA434;font-weight:700}.action-btn.edit:hover:not(:disabled){background:linear-gradient(135deg,#5ea434,#318535);color:#fff;border-color:#5ea434;transform:translateY(-2px);box-shadow:0 4px 12px #5ea4344d}.action-btn:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.customer-info-section{max-width:600px;margin:0 auto}.customer-info-section h3{font-size:20px;color:#2c3e50;margin-bottom:8px}.section-description{color:#7f8c8d;margin-bottom:24px;font-size:14px;line-height:1.5}.form-group{margin-bottom:20px}.form-group label{display:block;font-weight:600;margin-bottom:6px;color:#2c3e50;font-size:14px}.form-group input{width:100%;padding:10px 12px;border:1px solid #dee2e6;border-radius:6px;font-size:14px;transition:border-color .2s}.form-group input:focus{outline:none;border-color:#5ea434;box-shadow:0 0 0 3px #5ea4341a}.form-summary{margin-top:32px;padding:16px;background:#f8f9fa;border-radius:8px;border:1px solid #dee2e6}.form-summary h4{margin:0 0 12px;font-size:16px;color:#2c3e50}.form-summary p{margin:6px 0;color:#495057;font-size:14px}.areas-summary{margin-top:12px;max-height:150px;overflow-y:auto}.area-summary-item{padding:8px 12px;background:#fff;border-radius:4px;margin-bottom:6px;font-size:13px;color:#495057;border:1px solid #e9ecef}@media (max-width: 768px){.recommendation-dialog-overlay{padding:0;align-items:flex-start}.recommendation-dialog{max-width:100%;max-height:100vh;border-radius:0;margin-top:56px}.recommendation-header{padding:12px 14px;position:sticky;top:0;background:#fff;z-index:10}.recommendation-header h2{font-size:16px;font-weight:700}.recommendation-header .close-btn{font-size:18px;padding:4px}.recommendation-scrollable-content{padding:12px 14px 80px}.customer-info-section h3{font-size:16px;margin-bottom:6px}.section-description{font-size:12px;margin-bottom:16px}.form-group{margin-bottom:14px}.form-group label{font-size:12px;margin-bottom:4px}.form-group input{padding:8px 10px;font-size:13px}.form-summary{margin-top:20px;margin-bottom:12px;padding:12px}.form-summary h4{font-size:14px;margin-bottom:8px}.form-summary p{font-size:12px;margin:4px 0}.areas-summary{max-height:120px}.area-summary-item{padding:6px 10px;font-size:11px;margin-bottom:4px}.recommendation-footer{flex-direction:column;padding:12px 14px;gap:8px;position:sticky;bottom:0;background:#f8f9fa;border-radius:0}.action-btn{width:100%;justify-content:center;padding:10px 18px;font-size:14px}.error-message{margin:12px 14px;padding:10px 12px;font-size:12px}}@media (max-width: 480px){.recommendation-dialog{margin-top:56px}.recommendation-header{padding:10px 12px}.recommendation-header h2{font-size:14px}.recommendation-scrollable-content{padding:10px 12px 100px}.customer-info-section h3{font-size:14px}.section-description{font-size:11px}.form-group{margin-bottom:12px}.form-group label{font-size:11px}.form-group input{padding:7px 9px;font-size:12px}.form-summary{padding:10px;margin-top:16px}.form-summary h4{font-size:13px}.form-summary p{font-size:11px}.action-btn{padding:9px 16px;font-size:13px}}.photo-capture-container{padding:20px;background:#f8f9fa;border-radius:12px;margin-top:20px}.photo-capture-header{margin-bottom:20px}.photo-capture-header h3{color:#2c3e50;font-size:1.3rem;margin:0 0 8px}.photo-subtitle{color:#7f8c8d;font-size:.9rem;margin:0}.camera-modal{position:fixed;inset:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.camera-container{position:relative;width:100%;height:100%;max-width:100vw;max-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center}.camera-video{width:100%;height:100%;object-fit:cover}.close-camera-btn{position:absolute;top:20px;right:20px;background:#fff3;border:2px solid white;color:#fff;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;z-index:10001;transition:all .3s ease}.close-camera-btn:hover{background:#ffffff4d;transform:scale(1.1)}.bearing-overlay{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10001}.compass-display{background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:15px 25px;border-radius:50px;display:flex;align-items:center;gap:15px;border:2px solid rgba(255,255,255,.3)}.compass-icon{color:#3498db;font-size:2rem;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.bearing-info{display:flex;flex-direction:column;align-items:flex-start}.bearing-value{color:#fff;font-size:1.5rem;font-weight:700;line-height:1}.bearing-direction{color:#3498db;font-size:1rem;font-weight:600}.camera-controls{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:10001}.capture-btn{background:linear-gradient(135deg,#3498db,#2ecc71);color:#fff;border:4px solid white;padding:18px 40px;border-radius:50px;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #0000004d;transition:all .3s ease}.capture-btn:hover{transform:scale(1.05);box-shadow:0 6px 30px #0006}.capture-btn:active{transform:scale(.95)}.start-camera-btn{width:100%;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;border:none;padding:16px 24px;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s ease;box-shadow:0 4px 12px #3498db4d}.start-camera-btn:hover{background:linear-gradient(135deg,#2980b9,#3498db);box-shadow:0 6px 16px #3498db66;transform:translateY(-2px)}.start-camera-btn:active{transform:translateY(0)}.photos-gallery{margin-top:25px}.photos-gallery h4{color:#2c3e50;font-size:1.1rem;margin-bottom:15px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.photo-card{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:all .3s ease}.photo-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-4px)}.photo-image{width:100%;height:200px;object-fit:cover;display:block}.photo-info{padding:15px}.photo-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.photo-timestamp{color:#7f8c8d;font-size:.85rem}.photo-bearing{display:flex;align-items:center;gap:6px;color:#3498db;font-weight:600;font-size:.9rem}.mini-compass{font-size:1rem}.photo-location{color:#27ae60;font-size:.85rem;font-family:Courier New,monospace}.photo-actions{display:flex;gap:10px;justify-content:flex-end}.photo-action-btn{background:none;border:none;padding:8px 12px;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.photo-action-btn.download{color:#3498db}.photo-action-btn.download:hover{background:#ebf5fb;color:#2980b9}.photo-action-btn.delete{color:#e74c3c}.photo-action-btn.delete:hover{background:#fadbd8;color:#c0392b}.no-photos{text-align:center;padding:40px 20px;color:#95a5a6}.no-photos-icon{font-size:3rem;margin-bottom:15px;opacity:.5}.no-photos p{margin:8px 0;font-size:1rem}.no-photos-hint{font-size:.9rem;color:#bdc3c7}@media (max-width: 768px){.photos-grid{grid-template-columns:1fr}.compass-display{padding:12px 20px}.bearing-value{font-size:1.3rem}.bearing-direction{font-size:.9rem}.capture-btn{padding:15px 30px;font-size:1.1rem}}@media (max-width: 480px){.photo-capture-container{padding:15px}.compass-display{padding:10px 15px;gap:10px}.compass-icon{font-size:1.5rem}.bearing-value{font-size:1.2rem}}.map-camera-modal{position:fixed;inset:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.map-camera-container{position:relative;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.map-camera-video{width:100%;height:100%;object-fit:cover}.map-close-camera-btn{position:absolute;top:20px;right:20px;background:#fff3;border:2px solid white;color:#fff;width:45px;height:45px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;z-index:10001;transition:all .3s ease}.map-close-camera-btn:hover{background:#ffffff4d;transform:scale(1.1)}.map-point-indicator{position:absolute;top:20px;left:20px;background:#e74c3ce6;color:#fff;padding:12px 20px;border-radius:25px;display:flex;align-items:center;gap:10px;font-size:1.1rem;font-weight:700;z-index:10001;box-shadow:0 4px 12px #0000004d}.map-point-indicator svg{font-size:1.3rem}.map-location-display{position:absolute;top:20px;left:50%;transform:translate(-50%);z-index:10001}.map-location-info{background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:12px 20px;border-radius:30px;display:flex;flex-direction:column;align-items:center;gap:5px;border:2px solid rgba(255,255,255,.3)}.map-location-label{color:#4caf50;font-size:.85rem;font-weight:600}.map-location-coords{color:#fff;font-size:.9rem;font-family:Courier New,monospace;font-weight:500}.map-camera-controls{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:10001}.map-capture-btn{background:linear-gradient(135deg,#3498db,#2ecc71);color:#fff;border:4px solid white;padding:18px 40px;border-radius:50px;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:12px;box-shadow:0 4px 20px #0000004d;transition:all .3s ease}.map-capture-btn:hover{transform:scale(1.05);box-shadow:0 6px 30px #0006}.map-capture-btn:active{transform:scale(.95)}.map-photos-mini-gallery{margin-top:20px;padding:15px;background:#f8f9fa;border-radius:12px}.map-photos-mini-gallery h4{color:#2c3e50;font-size:1rem;margin:0 0 12px}.map-photos-mini-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.map-photo-mini-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 6px #0000001a;transition:all .3s ease}.map-photo-mini-card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.map-photo-mini-card img{width:100%;height:100px;object-fit:cover;display:block}.map-photo-mini-info{padding:8px;display:flex;justify-content:space-between;align-items:center}.map-photo-point{font-size:.8rem;font-weight:600;color:#e74c3c}.map-photo-mini-actions{display:flex;gap:6px}.map-photo-mini-actions button{background:none;border:none;padding:4px;cursor:pointer;font-size:.85rem;color:#7f8c8d;transition:color .3s ease}.map-photo-mini-actions button:hover{color:#3498db}.map-photo-mini-actions button:last-child:hover{color:#e74c3c}@media (max-width: 768px){.map-compass-display{padding:12px 20px}.map-bearing-value{font-size:1.3rem}.map-bearing-direction{font-size:.9rem}.map-capture-btn{padding:15px 30px;font-size:1.1rem}.map-point-indicator{padding:10px 16px;font-size:1rem}}@media (max-width: 480px){.map-compass-display{padding:10px 15px;gap:10px}.map-compass-icon{font-size:1.5rem}.map-bearing-value{font-size:1.2rem}.map-photos-mini-grid{grid-template-columns:repeat(2,1fr)}}.map-camera-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:15px;z-index:10002}.map-loading-spinner{width:50px;height:50px;border:4px solid rgba(255,255,255,.3);border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.map-camera-loading p{color:#fff;font-size:1rem;font-weight:600;text-shadow:0 2px 4px rgba(0,0,0,.5)}.app{min-height:100vh;background:#f8f9fa}.app-navigation{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 30px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 20px #00000026;position:sticky;top:0;z-index:1000;flex-wrap:wrap;gap:20px}.nav-brand h2{margin:0;font-size:1.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.2)}.nav-buttons{display:flex;gap:15px;align-items:center}.nav-btn{color:#fff;border:2px solid rgba(255,255,255,.3);padding:12px 20px;border-radius:25px;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:8px;font-size:.95rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);white-space:nowrap}.nav-btn:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.nav-btn.active{background:#fff;color:#667eea;border-color:#fff;box-shadow:0 4px 15px #0003}.nav-btn.active:hover{background:#f8f9fa;color:#5a67d8;transform:translateY(-2px)}.app-content{min-height:calc(100vh - 80px)}@media (max-width: 768px){.app-navigation{padding:15px 20px;flex-direction:column;text-align:center;gap:15px}.nav-brand h2{font-size:1.5rem}.nav-buttons{width:100%;justify-content:center;flex-wrap:wrap}.nav-btn{flex:1;min-width:140px;justify-content:center}}@media (max-width: 480px){.app-navigation{padding:12px 15px}.nav-brand h2{font-size:1.3rem}.nav-buttons{flex-direction:column;width:100%;gap:10px}.nav-btn{width:100%;min-width:auto}}.app-content>*{animation:fadeIn .3s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
