body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding-bottom:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.landing-container{display:flex;font-family:Arial,sans-serif;height:100vh;text-align:center}.left-section{flex:1 1;position:relative}.right-section{flex:1 1}.background-img{height:400px;margin-left:70px;margin-top:100px;width:500px}.logo-area{text-align:center}.logo-img{width:750px}button{background-color:#222;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-size:1rem;margin:20px auto;padding:10px 25px}.staff-btn{margin-top:50px}.admin-btn{background-color:#555;margin-top:10px}.login-container{align-items:center;display:flex;height:100vh;justify-content:center;overflow:hidden;position:relative;width:100%}.placeholder-container{height:100%;left:0;position:absolute;top:0;width:100%;z-index:0}.placeholder-container .placeholder-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#f0f2ee26;border:1px solid #fff3;border-radius:20px;height:min(600px,80vh);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);width:min(600px,40vw)}.slider-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.slider-container .slider-box{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background-color:#f0f2ee4d;border:1px solid #ffffff4d;border-radius:20px;height:min(600px,80vh);transform:translateY(-50%);transition:left .5s ease;width:min(600px,40vw);z-index:3}.slider-container .slider-box,.slider-image{pointer-events:none;position:absolute;top:50%}.slider-image{border-radius:20px;height:auto;left:50%;max-height:40%;object-fit:contain;transform:translate(-50%,-50%);width:70%;z-index:4}.form-container{height:min(600px,80vh);opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .5s ease,visibility .5s ease;visibility:hidden;width:min(600px,40vw);z-index:5}.form-container.active{opacity:1;pointer-events:all;visibility:visible}.form-content{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:2rem;position:relative;z-index:6}.form-container[style*="15%"] .form-content{padding-left:.9rem;padding-right:5rem}.title-section{margin-bottom:2rem;text-align:center}.form-title{align-items:center;color:#333;display:flex;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700;gap:.5rem;justify-content:center;margin-bottom:.5rem;text-align:center}.title-icon{animation:icon-float 3s ease-in-out infinite;display:inline-block;font-size:clamp(1.6rem,3.5vw,2.2rem)}.title-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6d4c41,#8d6e63);-webkit-background-clip:text;background-clip:text;display:inline-block}.form-subtitle{color:#6c757d;font-size:clamp(.85rem,2vw,1rem);font-weight:400;margin:0;text-align:center}.auth-form{display:flex;flex-direction:column;gap:.5rem;max-width:400px;width:100%}.auth-button{background:linear-gradient(135deg,#6d4c41,#8d6e63);border:none;border-radius:8px;box-shadow:0 4px 12px #6d4c414d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;margin-top:1rem;padding:12px;transition:all .3s ease;width:100%}.auth-button:hover{background:linear-gradient(135deg,#5d4037,#6d4c41);box-shadow:0 6px 16px #6d4c4166;transform:translateY(-2px)}.switch-text{color:#fff;font-size:.9rem;margin-top:1.5rem;text-align:center}.switch-link{color:#6d4c41;cursor:pointer;font-weight:700;text-decoration:none}.switch-link:hover{text-decoration:underline}.guest-access-section{margin-top:1.5rem;position:relative;text-align:center}.guest-access-section:before{background:#6d4c4133;content:"";height:2px;left:50%;position:absolute;top:-15px;transform:translateX(-50%);width:80%}.guest-access-link{align-items:center;background:#6d4c41cc;border-radius:6px;box-shadow:0 3px 10px #6d4c414d;color:#fff;cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;justify-content:center;min-width:160px;padding:10px 20px;text-decoration:none;transition:all .3s ease}.guest-access-link:hover{background:#5d4037e6;box-shadow:0 5px 15px #6d4c4166;transform:translateY(-2px)}.field-group input{padding:12px}.field-group label{background:#0000;color:#999;font-size:.95rem;left:7px;padding:0 4px;pointer-events:none;position:absolute;top:7px;transition:all .2s ease-out;z-index:2}.field-group small.error{color:red;display:block;font-size:10px;line-height:1em}.forgot-password-container{margin-top:.2rem;text-align:right;width:100%}.forgot-password-link{color:#fff;cursor:pointer;font-size:.85rem;opacity:.9;text-decoration:none;transition:all .2s ease}.forgot-password-link:hover{opacity:1;text-decoration:underline}.modal-overlay{background-color:#000000b3}.modal-content{background:#f0f2ee;border-radius:10px;box-shadow:0 4px 20px #0003}.modal-content h2{color:#6d4c41;margin-bottom:1.5rem;text-align:center}.verification-section{margin-top:1rem}.verification-section .field-group{margin-bottom:1rem}.modal-buttons{gap:1rem;justify-content:center}.modal-buttons button{border-radius:5px;font-weight:700;padding:10px 20px}.modal-buttons button[type=submit]{background:linear-gradient(135deg,#6d4c41,#8d6e63);box-shadow:0 4px 12px #6d4c414d;color:#fff}.modal-buttons button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#5d4037,#6d4c41);box-shadow:0 6px 16px #6d4c4166;transform:translateY(-2px)}.modal-buttons button[type=submit]:disabled{background-color:#ccc;cursor:not-allowed}.modal-buttons button[type=button]{background-color:#e0e0e0}.modal-buttons button[type=button]:hover{background-color:#d0d0d0}.resend-button{background:none;border:none;color:#6d4c41;cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:0;text-decoration:underline}.resend-button:disabled{color:#999;cursor:not-allowed;text-decoration:none}.success-message{color:#2e7d32;margin:1rem 0;text-align:center}.error-message{color:#c62828}.input-error{border-color:#c62828!important;box-shadow:0 0 0 2px #c6282833!important}.field-group small.error{color:#c62828;font-size:.8rem;margin-top:.25rem;min-height:1em}@media (max-width:1200px){.form-container,.placeholder-container .placeholder-box,.slider-container .slider-box{height:min(550px,85vh);width:min(500px,45vw)}.form-content{padding:1.5rem}}@media (max-width:900px){.form-container,.placeholder-container .placeholder-box,.slider-container .slider-box{height:min(500px,85vh);width:min(400px,80vw)}.form-container[style*="15%"],.placeholder-container .placeholder-box:first-child,.slider-container .slider-box[style*="15%"]{left:10%!important}.form-container[style*="50%"],.placeholder-container .placeholder-box:nth-child(2),.slider-container .slider-box[style*="50%"]{left:45%!important}.form-title{font-size:clamp(1.5rem,5vw,2rem);margin-bottom:1.5rem}.form-content{padding:1rem}.auth-form{gap:.4rem;max-width:350px}}@media (max-width:768px){.login-container{flex-direction:column;padding:1rem}.form-container,.placeholder-container .placeholder-box,.slider-container .slider-box{height:min(450px,80vh);left:auto!important;margin:0 auto;position:relative;top:auto;transform:none;width:min(350px,90vw)}.form-container[style*="15%"] .form-content{padding:1.5rem}.placeholder-container{gap:2rem;min-height:100vh}.placeholder-container,.slider-container{align-items:center;display:flex;flex-direction:column;justify-content:center;position:relative}.form-container{margin-bottom:2rem;position:relative}.form-container.inactive{display:none}.slider-image{left:50%;max-height:35%;top:50%;transform:translate(-50%,-50%);width:60%}.form-title{font-size:1.8rem;margin-bottom:1rem}.form-content{padding:1.5rem}.auth-form{gap:.3rem;max-width:300px}.guest-access-section:before{width:90%}}@media (max-width:480px){.form-container,.placeholder-container .placeholder-box,.slider-container .slider-box{height:auto;min-height:400px;width:95vw}.form-container[style*="15%"] .form-content,.form-content{padding:1rem}.form-title{font-size:1.5rem}.auth-form{gap:.3rem;max-width:280px}.field-group input{font-size:14px;padding:10px}.auth-button{font-size:.9rem;padding:10px}.guest-access-link,.switch-text{font-size:.8rem}}@keyframes slideOutToLeft{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-100%)}}.portal-floating-success,.portal-floating-validation{animation:slideInFromLeft .3s ease-out!important;border-radius:8px!important;box-shadow:0 4px 16px #0006!important;color:#fff!important;font-size:.9rem!important;font-weight:500!important;max-width:420px!important;min-width:340px!important;padding:14px 28px!important;pointer-events:none!important;text-align:center!important;white-space:nowrap!important}.portal-floating-validation{background-color:#000000f2!important;color:#fff!important}.portal-floating-success{background-color:#000000f2!important;color:#28a745!important}@media (max-width:768px){.portal-floating-success,.portal-floating-validation{left:10px!important;max-width:none!important;min-width:auto!important;right:10px!important;white-space:normal!important}}.register-container{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;padding:.4rem;transform:translate(20px,-10px);width:100%}.register-container .auth-form{gap:.3rem;max-width:75%!important;width:100%}.register-container .title-section{margin-bottom:1rem;text-align:left;width:100%}.register-container .form-title{align-items:center;color:#333;display:flex;font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:700;gap:.3rem;margin-bottom:.2rem;margin-left:0;padding-left:0;text-align:left!important;width:100%}.register-container .title-icon{animation:icon-float 3s ease-in-out infinite;display:inline-block;font-size:clamp(1rem,2.5vw,1.3rem)}@keyframes icon-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.register-container .title-gradient{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#6d4c41,#8d6e63);-webkit-background-clip:text;background-clip:text;display:inline-block}.register-container .form-subtitle{color:#6c757d;font-size:clamp(.65rem,1.8vw,.8rem);font-weight:400;margin:0;padding-left:0;text-align:center}.register-container .auth-button{font-size:.85rem!important;margin-top:.3rem;padding:8px 12px!important;width:100%}.register-container .auth-button:disabled{background-color:#ccc;color:#666;cursor:not-allowed}.register-container .field-group{display:flex;flex-direction:column;position:relative}.register-container .field-group:not(.terms){position:relative}.register-container .field-group input{background:#fafafa;border:1px solid #ccc;border-radius:4px;color:#333;font-size:11px!important;min-height:36px;padding:8px 10px!important;position:relative;transition:border-color .2s,box-shadow .2s;width:100%!important;z-index:1}.register-container .field-group label{background:#0000;color:#999;font-size:.95rem;left:7px;padding:0 4px;pointer-events:none;position:absolute;top:7px;transition:all .2s ease-out;z-index:2}.register-container .field-group input:focus+label,.register-container .field-group input:not(:placeholder-shown)+label{color:#6d4c41;font-size:8px;left:5px;top:4px}.register-container .field-group small.error{color:red;display:block;font-size:10px;line-height:1em;margin-top:.15rem;min-height:.8em}.resend-link{align-self:flex-start;background:none;border:none;color:#6d4c41;cursor:pointer;font-size:.85rem;padding:0;text-decoration:underline}.register-container .switch-text{color:#333;font-size:.75rem;margin-top:.3rem;text-align:center}.register-container .switch-link{color:#6d4c41;cursor:pointer;font-weight:700;text-decoration:none}.register-container .switch-link:hover{text-decoration:underline}.input-error{border-color:red!important;box-shadow:0 0 0 2px #f003!important}.form-error{align-self:flex-start;color:red;font-size:.9rem;line-height:1em;margin:0;min-height:1em}.modal-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0006;inset:0}.modal-content{border-radius:16px;box-shadow:0 4px 16px #0003;padding:24px;text-align:center;width:320px}.modal-close{color:#6d4c41;font-size:1.4rem;right:12px;top:12px}.modal-content h3{font-size:1.1rem;margin-bottom:1rem}.modal-content input{border:1px solid #ccc;border-radius:6px;font-size:.95rem;margin-bottom:.5rem;padding:8px;width:100%}.modal-actions{justify-content:space-between;margin-top:1rem}.modal-actions .resend-link{align-self:center;background:none;border:none;color:#6d4c41;cursor:pointer;font-size:.85rem;padding:0;text-decoration:underline}.modal-actions button{background:linear-gradient(135deg,#6d4c41,#8d6e63);border:none;border-radius:16px;box-shadow:0 4px 12px #6d4c414d;color:#fff;cursor:pointer;font-size:1rem;font-weight:700;padding:8px 24px;transition:all .3s ease}.modal-actions button:hover{background:linear-gradient(135deg,#5d4037,#6d4c41);box-shadow:0 6px 16px #6d4c4166;transform:translateY(-2px)}.register-container .field-group.terms{align-items:center;display:flex;flex-direction:row;gap:.3rem;margin-bottom:.1rem;margin-top:-.9rem;width:100%}.register-container .field-group.terms input[type=checkbox]{flex-shrink:0;height:10px!important;margin:0;max-width:10px;min-width:10px;position:static;transform:scale(.7);width:10px!important}.register-container .terms-text-wrapper{word-wrap:break-word;color:#333;display:inline;flex:1 1;font-size:11px;line-height:1.2;margin:0;overflow-wrap:break-word;padding:0;position:static;white-space:normal}.register-container .field-group.terms .terms-link{color:#6d4c41!important;cursor:pointer;display:inline;font-weight:700;text-decoration:underline}.register-container .field-group.terms .terms-link:hover{color:#5d4037!important}.register-container .field-group.terms a,.register-container .field-group.terms span{display:inline;white-space:nowrap}.terms-content-box{background:#f9f9f9;border:1px solid #ddd;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1rem;max-height:300px;overflow-y:auto}.terms-header{align-items:center;background:#6d4c41;border-radius:8px 8px 0 0;color:#fff;display:flex;justify-content:space-between;padding:.75rem 1rem}.terms-header h3{font-size:1rem;font-weight:600;margin:0}.close-terms{align-items:center;background:none;border:none;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:20px;justify-content:center;padding:0;width:20px}.close-terms:hover{opacity:.8}.terms-text{font-size:.85rem;line-height:1.4;padding:1rem}.terms-text h4{color:#6d4c41;font-size:.9rem;font-weight:600;margin:.75rem 0 .5rem}.terms-text h4:first-child{margin-top:0}.terms-text p{color:#555;margin:0 0 .75rem}.error-on-button{animation:shake .3s ease-in-out 0s 2;outline:2px solid red}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.floating-validation{animation:slideInLeft .3s ease-out,fadeOut .3s ease-in 2.7s!important;background-color:#000000f2!important;border-radius:8px!important;bottom:20px!important;box-shadow:0 4px 12px #0000004d!important;color:#fff!important;left:20px!important;padding:12px 24px!important;pointer-events:none!important;position:fixed!important;right:auto!important;top:auto!important;transform:none!important;z-index:99999!important}.floating-validation.error{color:#fff!important}.login-container .floating-validation,.register-container .floating-validation,body .floating-validation,html .floating-validation{bottom:20px!important;left:20px!important;margin:0!important;position:fixed!important;right:auto!important;top:auto!important;transform:none!important;z-index:99999!important}.floating-success-message,.login-container .floating-success-message,.register-container .floating-success-message,body .floating-success-message,html .floating-success-message{animation:slideInLeft .3s ease-out,fadeOut .3s ease-in 2.7s!important;background-color:#000000e6!important;border-radius:8px!important;bottom:20px!important;box-shadow:0 4px 12px #0000004d!important;color:#4caf50!important;left:20px!important;margin:0!important;padding:12px 24px!important;pointer-events:none!important;position:fixed!important;right:auto!important;top:auto!important;transform:none!important;z-index:99999!important}@keyframes slideInLeft{0%{opacity:0;transform:translateX(-100%)!important}to{opacity:1;transform:translateX(0)!important}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@media (max-width:900px){.register-container{padding:.3rem;transform:translate(15px,-10px)}.register-container .auth-form{gap:.25rem;max-width:75%!important}.register-container .terms-text-wrapper{font-size:10px}}@media (max-width:768px){.register-container{padding:.3rem;transform:translate(0)}.register-container .form-title{font-size:1.3rem;margin-bottom:.3rem}.register-container .title-section{margin-bottom:.6rem}.register-container .auth-form{gap:.25rem;max-width:80%!important}.register-container .field-group input{font-size:10px!important;min-height:34px!important;padding:7px 9px!important}.register-container .terms-text-wrapper{font-size:9px}.register-container .field-group.terms input[type=checkbox]{min-width:8px;transform:scale(.6)}.register-container .field-group.terms{margin-top:-.15rem}}@media (max-width:480px){.register-container{padding:.2rem;transform:translate(0)}.register-container .form-title{font-size:1.1rem;margin-bottom:.2rem}.register-container .title-section{margin-bottom:.5rem}.register-container .auth-form{gap:.2rem;max-width:85%!important}.register-container .field-group input{font-size:9px!important;min-height:32px!important;padding:6px 8px!important}.register-container .auth-button{font-size:.75rem;margin-top:.2rem;padding:6px 8px}.register-container .switch-text{font-size:.6rem;margin-top:.2rem}.register-container .terms-text-wrapper{font-size:8px;line-height:1}.register-container .field-group.terms input[type=checkbox]{min-width:6px;transform:scale(.5)}.register-container .field-group.terms{margin-top:-.2rem}.register-container .field-group small.error{font-size:9px;margin-top:.1rem}.floating-success-message,.floating-validation{bottom:10px!important;font-size:.75rem!important;left:10px!important;padding:6px 12px!important}}.floating-validation,.floating-validation.error,body .floating-validation,div.floating-validation,html .floating-validation,span.floating-validation{box-shadow:0 4px 12px #0000004d!important;height:auto!important;margin:0!important;max-width:400px!important;min-width:320px!important;right:auto!important;top:auto!important;transform:translateX(0)!important;width:auto!important;z-index:999999!important}#root>.floating-validation,#root>div.floating-validation,*>.floating-validation,.floating-validation,.floating-validation.error,body .floating-validation,body>.floating-validation,body>div.floating-validation,div.floating-validation,html .floating-validation,span.floating-validation{animation:slideInFromLeft .3s ease-out!important;background-color:#000000f2!important;border-radius:8px!important;bottom:20px!important;color:#fff!important;font-size:.9rem!important;font-weight:500!important;left:20px!important;padding:14px 28px!important;pointer-events:none!important;position:fixed!important;text-align:center!important;white-space:nowrap!important}#root>.floating-validation,#root>div.floating-validation,*>.floating-validation,body>.floating-validation,body>div.floating-validation{box-shadow:0 4px 16px #0006!important;max-width:420px!important;min-width:340px!important;z-index:9999999!important}.form-container,.login-container,.register-container{overflow:visible!important}.portal-floating-success,.portal-floating-validation{bottom:20px!important;left:20px!important;position:fixed!important;z-index:999999!important}.portal-floating-success{color:#4caf50!important}@keyframes slideInFromLeft{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.vm-overlay{align-items:center;background:#0006;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.vm-content{background:#fff;border-radius:8px;box-shadow:0 4px 16px #0003;max-width:90%;padding:24px;position:relative;text-align:center;width:300px}.vm-close{background:none;border:none;color:#333;cursor:pointer;font-size:1.5rem;position:absolute;right:8px;top:8px}.vm-content h3{margin-bottom:1rem}.vm-content input{border:1px solid #ccc;border-radius:4px;font-size:1rem;margin-bottom:.5rem;padding:8px;width:100%}.vm-error{color:red;display:block;font-size:.85rem;margin-bottom:.5rem}.vm-actions{display:flex;gap:1rem;justify-content:space-between;margin-top:1rem}.vm-actions button{background:#6d4c41;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:.9rem;padding:8px 0;transition:background-color .2s}.vm-actions button:disabled{background:#ccc;cursor:not-allowed}.vm-actions button:hover:enabled{background:#5d4037}.booking-modal-overlay{z-index:10000}.booking-modal-content p{font-size:1rem}.booking-btn-modal{box-shadow:0 4px 12px #667eea4d}.booking-btn-modal:hover{background:linear-gradient(135deg,#5a67d8,#6b42a0);box-shadow:0 6px 20px #667eea66}.booking-btn-modal:disabled{background:#cbd5e0;box-shadow:none;color:#718096;cursor:not-allowed;transform:none}.booking-btn-modal.secondary{background:#e0e0e0;box-shadow:none}.booking-btn-modal.secondary:hover{background:#d0d0d0}@media (max-width:480px){.booking-modal-content{margin:1rem;padding:2rem}.booking-modal-icon{font-size:3rem}.booking-modal-content h3{font-size:1.25rem}}.privacy-modal-body{line-height:1.6;max-height:60vh;overflow-y:auto;padding:0 0 20px;text-align:left}.policy-content h3{border-bottom:2px solid #007aff;color:#1d1d1f;font-size:1.2rem;font-weight:600;margin:0 0 12px;padding-bottom:6px}.policy-content>p:first-of-type{color:#666;font-size:.9rem;font-style:italic;margin-bottom:16px}.policy-content section{margin-bottom:20px}.policy-content section h4{border-left:3px solid #007aff;color:#1d1d1f;font-size:1rem;font-weight:600;margin:0 0 8px;padding-left:6px}.policy-content section p{color:#333;font-size:.9rem;margin:0 0 8px;text-align:justify}.policy-content ul{margin:8px 0;padding-left:20px}.policy-content li{color:#333;font-size:.9rem;line-height:1.4;margin-bottom:6px}@media (max-width:768px){.privacy-modal-body{max-height:50vh}.policy-content section{margin-bottom:16px}.policy-content section h4{font-size:.95rem}.policy-content li,.policy-content section p{font-size:.85rem}}@media (max-width:480px){.privacy-modal-body{max-height:45vh}.policy-content section{margin-bottom:12px}.policy-content section h4{font-size:.9rem}.policy-content li,.policy-content section p{font-size:.8rem}}.privacy-modal-body::-webkit-scrollbar{width:6px}.privacy-modal-body::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.privacy-modal-body::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.privacy-modal-body::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.terms-container{background-color:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;margin:0 auto;max-width:800px;min-height:100vh;padding:2rem}.terms-header{border-bottom:2px solid #6d4c41;margin-bottom:3rem;padding-bottom:2rem;text-align:center}.terms-header h1{color:#6d4c41;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.last-updated{color:#666;font-size:.9rem;font-style:italic;margin:0}.terms-content{margin-bottom:3rem}.terms-section{background-color:#f9f9f9;border-left:4px solid #6d4c41;border-radius:8px;margin-bottom:2.5rem;padding:1.5rem}.terms-section h2{color:#6d4c41;font-size:1.4rem;font-weight:600;margin-bottom:1rem}.terms-section p{font-size:.95rem;margin-bottom:1rem;text-align:justify}.terms-section ul{margin:1rem 0;padding-left:1.5rem}.terms-section li{font-size:.95rem;margin-bottom:.5rem}.contact-info{background-color:#fff;border:1px solid #ddd;border-radius:6px;margin-top:1rem;padding:1rem}.contact-info p{font-size:.9rem;margin:.5rem 0}.contact-info p:first-child{color:#6d4c41;font-size:1rem}.terms-footer{background-color:#f5f5f5;border:2px solid #6d4c41;border-radius:8px;padding:2rem;text-align:center}.terms-footer p{color:#333;font-size:1rem;font-weight:500;margin-bottom:1.5rem}.close-terms-btn{background-color:#6d4c41;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .2s ease}.close-terms-btn:hover{background-color:#5d4037;box-shadow:0 4px 8px #6d4c414d;transform:translateY(-2px)}@media (max-width:768px){.terms-container{padding:1rem}.terms-header h1{font-size:2rem}.terms-section{padding:1rem}.terms-section h2{font-size:1.2rem}.terms-section li,.terms-section p{font-size:.9rem}}@media print{.terms-container{max-width:none;padding:1rem}.close-terms-btn{display:none}.terms-section{background-color:initial;border:1px solid #ccc;page-break-inside:avoid}}.grave-locator{background:#fff;border-radius:28px;box-shadow:0 4px 16px #3c3c3c21;display:flex;flex-direction:column;font-family:Arial,sans-serif;max-height:80vh;overflow:hidden;padding:0;width:340px}.locator-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:15px 20px 10px}.locator-header h3{color:#333;font-size:1.1rem;font-weight:600;margin:0}.nav-mode-btn{align-items:center;background:#fff;border:1px solid #ddd;border-radius:20px;color:#666;cursor:pointer;display:flex;font-size:.85rem;gap:6px;padding:8px 12px;transition:all .2s ease}.nav-mode-btn:hover{background:#f8f9fa;border-color:#007bff;color:#007bff}.nav-mode-btn.active{background:#007bff;border-color:#007bff;color:#fff}.grave-locator .locator-form{align-items:center;background:#fff;border:none;border-radius:999px;box-shadow:0 2px 8px #3c3c3c17;display:flex;height:44px;margin:10px 1px}.grave-locator .locator-form input{background:#0000;border:none;color:#333;flex:1 1;font-size:1.08rem;margin-left:0;margin-right:0;outline:none;padding:2px 10px}.grave-locator .locator-form button{align-items:center;background:none;border:none;cursor:pointer;display:flex;margin-right:10px;padding:2px 2px 15px}.grave-locator .locator-form button svg{stroke:#222;filter:grayscale(100%);height:22px;opacity:.8;width:22px}.locator-form .clear-btn{align-items:center;background:none;border:none;color:#777;cursor:pointer;display:flex;font-size:1.25rem;height:100%;line-height:1;margin-top:33px;outline:none;padding:0 0 0 6px;transition:color .18s}.locator-form .clear-btn:hover{color:#1a73e8}.locator-form input{margin-left:0;margin-right:0}.grave-locator .locator-form .search-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;margin-right:10px}.grave-locator .locator-form .search-btn:hover{background:none}.grave-locator .locator-form .search-btn svg{stroke:#222;filter:grayscale(100%);height:22px;opacity:.8;width:22px}.navigation-mode{padding:10px 0}.navigation-step{margin-bottom:20px;padding:0 15px}.navigation-step.completed{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin:0 0 20px;padding:15px}.step-header{align-items:center;color:#333;display:flex;font-size:.9rem;font-weight:600;gap:8px;margin-bottom:10px}.step-header svg{color:#007bff}.reset-btn{background:none;border:none;border-radius:4px;color:#dc3545;cursor:pointer;margin-left:auto;padding:4px;transition:background-color .2s}.reset-btn:hover{background:#f8d7da}.selected-lot{background:#e7f3ff;border:1px solid #b3d9ff;border-radius:8px;color:#06c;font-size:.9rem;padding:10px 12px}.locator-results{list-style:none;margin:10px 0 0;max-height:200px;overflow-y:auto;padding:0}.locator-results li{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:12px 15px;transition:background-color .2s}.locator-results li:hover{background:#f8f9fa}.locator-results li:last-child{border-bottom:none}.lot-info{color:#333;flex:1 1;font-size:.9rem}.lot-info strong{color:#007bff;font-weight:600}.lot-landmark{align-items:center;color:#666;display:flex;font-size:.8rem;gap:4px;margin-top:3px}.locator-results button{background:#fff;border:1px solid #007bff;border-radius:16px;color:#007bff;cursor:pointer;font-size:.8rem;padding:6px 12px;transition:all .2s ease;white-space:nowrap}.locator-results button:hover{background:#007bff;color:#fff}.navigate-btn{background:#28a745!important;border-color:#28a745!important;color:#fff!important}.navigate-btn:hover{background:#218838!important;border-color:#218838!important}.locator-navigation{display:flex;flex-direction:column;margin:10px 0 0;padding:0}.locator-navigation .nav-instruction{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;margin-bottom:16px;padding:16px}.locator-navigation .nav-icon{align-items:center;border:1px solid #dee2e6;border-radius:8px;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-right:12px;width:32px}.locator-navigation .nav-icon,.locator-navigation .nav-icon-arrive,.locator-navigation .nav-icon-start,.locator-navigation .nav-icon-turn{background:#f8f9fa;color:#495057}.locator-navigation .nav-text{flex:1 1}.locator-navigation .nav-main{color:#2c3e50;font-size:16px;font-weight:600;line-height:1.4;margin-bottom:4px}.locator-navigation .nav-distance{color:#6c757d;font-size:14px;font-weight:500}.locator-navigation .nav-progress{margin-bottom:12px}.locator-navigation .nav-steps{display:flex;flex-direction:column;gap:4px;max-height:130px;overflow-y:auto;padding-right:4px}.locator-navigation .nav-steps::-webkit-scrollbar{width:6px}.locator-navigation .nav-steps::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.locator-navigation .nav-steps::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.locator-navigation .nav-steps::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.locator-navigation .nav-step{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;display:flex;padding:8px;position:relative;transition:all .3s ease}.locator-navigation .nav-step.active{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border:2px solid #007bff;box-shadow:0 4px 12px #007bff33;transform:translateY(-1px)}.locator-navigation .nav-step.completed{background:linear-gradient(135deg,#e8f5e8,#c8e6c9);border:1px solid #28a745;opacity:.8}.locator-navigation .nav-step.completed:before{color:#28a745;content:"✓";font-size:16px;font-weight:700;position:absolute;right:12px;top:50%;transform:translateY(-50%)}.locator-navigation .step-icon{align-items:center;background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;display:flex;flex-shrink:0;height:24px;justify-content:center;margin-right:12px;width:24px}.locator-navigation .nav-step.active .step-icon{background:#e3f2fd;border-color:#007bff;color:#007bff}.locator-navigation .nav-step.completed .step-icon{background:#e8f5e8;border-color:#28a745;color:#28a745}.locator-navigation .step-text{color:#495057;flex:1 1;font-size:14px;font-weight:500;line-height:1.4}.locator-navigation .nav-step.active .step-text{color:#2c3e50;font-weight:600}.locator-navigation .nav-actions{display:flex;flex-shrink:0;gap:12px;margin-bottom:12px;margin-top:auto}.locator-navigation .nav-btn{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;overflow:hidden;padding:12px 20px;position:relative;transition:all .3s ease}.locator-navigation .nav-btn.primary{background:linear-gradient(135deg,#007bff,#0056b3);box-shadow:0 4px 12px #007bff4d;color:#fff}.locator-navigation .nav-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);box-shadow:0 6px 16px #007bff66;transform:translateY(-2px)}.locator-navigation .nav-btn.secondary{background:linear-gradient(135deg,#6c757d,#545b62);box-shadow:0 2px 8px #6c757d4d;color:#fff}.locator-navigation .nav-btn.secondary:hover{background:linear-gradient(135deg,#545b62,#495057);box-shadow:0 4px 12px #6c757d66;transform:translateY(-1px)}.locator-navigation .nav-btn:disabled{box-shadow:none!important;cursor:not-allowed;opacity:.6;transform:none!important}.locator-navigation .nav-info{background:linear-gradient(135deg,#f8f9fa,#e9ecef);border:1px solid #dee2e6;border-radius:8px;color:#495057;display:flex;flex-shrink:0;font-size:14px;font-weight:500;justify-content:space-between;padding:16px}.locator-navigation .nav-distance-total,.locator-navigation .nav-time{align-items:center;display:flex;gap:6px}.locator-navigation .nav-distance-total:after,.locator-navigation .nav-distance-total:before,.locator-navigation .nav-time:after,.locator-navigation .nav-time:before{display:none!important}.locator-navigation .nav-distance-total,.locator-navigation .nav-time{font-style:normal;text-decoration:none}.locator-navigation .nav-distance-total>:not(svg),.locator-navigation .nav-time>:not(svg){font-family:Arial,sans-serif}.locator-navigation .nav-distance-total svg,.locator-navigation .nav-time svg{stroke-width:1.5;color:#6c757d;flex-shrink:0}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:9999}.modal-content{animation:modalAppear .2s ease-out;border-radius:8px;box-shadow:0 4px 20px #0000004d;max-width:90vw;width:400px;z-index:10000}@keyframes modalAppear{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-content h3{color:#333;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;margin-top:0}.modal-content form{display:flex;flex-direction:column;gap:1rem}.modal-content label{color:#555;display:flex;flex-direction:column;font-size:.9rem;font-weight:500;gap:.5rem}.modal-content input,.modal-content select{background:#f8f8f8;border:1px solid #ddd;border-radius:4px;font-size:1rem;padding:.75rem;transition:all .2s ease}.modal-content input:focus,.modal-content select:focus{background:#fff;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a;outline:none}.modal-buttons{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end;margin-top:1.5rem}.modal-buttons button{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:500;min-width:80px;padding:.75rem 1.5rem;transition:all .2s ease}.modal-buttons button[type=button]{background:#f0f0f0;color:#333}.modal-buttons button[type=button]:hover{background:#e0e0e0}.modal-buttons .save-button{background:#4caf50;color:#fff}.modal-buttons .save-button:hover{background:#43a047;transform:translateY(-1px)}.modal-buttons .delete-button{background:#dc3545;color:#fff}.modal-buttons .delete-button:hover{background:#c82333;transform:translateY(-1px)}.modal-buttons .move-button{background:#ffc107;color:#333}.modal-buttons .move-button:hover{background:#e0a800;transform:translateY(-1px)}.modal-buttons button:hover{opacity:1}.leaflet-image-layer,.leaflet-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane,.leaflet-pane>canvas,.leaflet-pane>svg,.leaflet-tile,.leaflet-tile-container,.leaflet-zoom-box{left:0;position:absolute;top:0}.leaflet-container{overflow:hidden}.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-tile{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.leaflet-tile::selection{background:#0000}.leaflet-safari .leaflet-tile{image-rendering:-webkit-optimize-contrast}.leaflet-safari .leaflet-tile-container{height:1600px;-webkit-transform-origin:0 0;width:1600px}.leaflet-marker-icon,.leaflet-marker-shadow{display:block}.leaflet-container .leaflet-overlay-pane svg{max-height:none!important;max-width:none!important}.leaflet-container .leaflet-marker-pane img,.leaflet-container .leaflet-shadow-pane img,.leaflet-container .leaflet-tile,.leaflet-container .leaflet-tile-pane img,.leaflet-container img.leaflet-image-layer{max-height:none!important;max-width:none!important;padding:0;width:auto}.leaflet-container img.leaflet-tile{mix-blend-mode:plus-lighter}.leaflet-container.leaflet-touch-zoom{touch-action:pan-x pan-y}.leaflet-container.leaflet-touch-drag{touch-action:none;touch-action:pinch-zoom}.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom{touch-action:none}.leaflet-container{-webkit-tap-highlight-color:transparent}.leaflet-container a{-webkit-tap-highlight-color:rgba(51,181,229,.4)}.leaflet-tile{filter:inherit;visibility:hidden}.leaflet-tile-loaded{visibility:inherit}.leaflet-zoom-box{box-sizing:border-box;height:0;width:0;z-index:800}.leaflet-overlay-pane svg{-moz-user-select:none}.leaflet-pane{z-index:400}.leaflet-tile-pane{z-index:200}.leaflet-overlay-pane{z-index:400}.leaflet-shadow-pane{z-index:500}.leaflet-marker-pane{z-index:600}.leaflet-tooltip-pane{z-index:650}.leaflet-popup-pane{z-index:700}.leaflet-map-pane canvas{z-index:100}.leaflet-map-pane svg{z-index:200}.leaflet-vml-shape{height:1px;width:1px}.lvml{behavior:url(#default#VML);display:inline-block;position:absolute}.leaflet-control{pointer-events:visiblePainted;pointer-events:auto;position:relative;z-index:800}.leaflet-bottom,.leaflet-top{pointer-events:none;position:absolute;z-index:1000}.leaflet-top{top:0}.leaflet-right{right:0}.leaflet-bottom{bottom:0}.leaflet-left{left:0}.leaflet-control{clear:both;float:left}.leaflet-right .leaflet-control{float:right}.leaflet-top .leaflet-control{margin-top:10px}.leaflet-bottom .leaflet-control{margin-bottom:10px}.leaflet-left .leaflet-control{margin-left:10px}.leaflet-right .leaflet-control{margin-right:10px}.leaflet-fade-anim .leaflet-popup{opacity:0;transition:opacity .2s linear}.leaflet-fade-anim .leaflet-map-pane .leaflet-popup{opacity:1}.leaflet-zoom-animated{transform-origin:0 0}svg.leaflet-zoom-animated{will-change:transform}.leaflet-zoom-anim .leaflet-zoom-animated{transition:transform .25s cubic-bezier(0,0,.25,1)}.leaflet-pan-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-tile{transition:none}.leaflet-zoom-anim .leaflet-zoom-hide{visibility:hidden}.leaflet-interactive{cursor:pointer}.leaflet-grab{cursor:grab}.leaflet-crosshair,.leaflet-crosshair .leaflet-interactive{cursor:crosshair}.leaflet-control,.leaflet-popup-pane{cursor:auto}.leaflet-dragging .leaflet-grab,.leaflet-dragging .leaflet-grab .leaflet-interactive,.leaflet-dragging .leaflet-marker-draggable{cursor:move;cursor:grabbing}.leaflet-image-layer,.leaflet-marker-icon,.leaflet-marker-shadow,.leaflet-pane>svg path,.leaflet-tile-container{pointer-events:none}.leaflet-image-layer.leaflet-interactive,.leaflet-marker-icon.leaflet-interactive,.leaflet-pane>svg path.leaflet-interactive,svg.leaflet-image-layer.leaflet-interactive path{pointer-events:visiblePainted;pointer-events:auto}.leaflet-container{background:#ddd;outline-offset:1px}.leaflet-container a{color:#0078a8}.leaflet-zoom-box{background:#ffffff80;border:2px dotted #38f}.leaflet-container{font-family:Helvetica Neue,Arial,Helvetica,sans-serif;font-size:12px;font-size:.75rem;line-height:1.5}.leaflet-bar{border-radius:4px;box-shadow:0 1px 5px #000000a6}.leaflet-bar a{background-color:#fff;border-bottom:1px solid #ccc;color:#000;display:block;height:26px;line-height:26px;text-align:center;text-decoration:none;width:26px}.leaflet-bar a,.leaflet-control-layers-toggle{background-position:50% 50%;background-repeat:no-repeat;display:block}.leaflet-bar a:focus,.leaflet-bar a:hover{background-color:#f4f4f4}.leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.leaflet-bar a:last-child{border-bottom:none;border-bottom-left-radius:4px;border-bottom-right-radius:4px}.leaflet-bar a.leaflet-disabled{background-color:#f4f4f4;color:#bbb;cursor:default}.leaflet-touch .leaflet-bar a{height:30px;line-height:30px;width:30px}.leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.leaflet-control-zoom-in,.leaflet-control-zoom-out{font:700 18px Lucida Console,Monaco,monospace;text-indent:1px}.leaflet-touch .leaflet-control-zoom-in,.leaflet-touch .leaflet-control-zoom-out{font-size:22px}.leaflet-control-layers{background:#fff;border-radius:5px;box-shadow:0 1px 5px #0006}.leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAQAAAADQ4RFAAACf0lEQVR4AY1UM3gkARTePdvdoTxXKc+qTl3aU5U6b2Kbkz3Gtq3Zw6ziLGNPzrYx7946Tr6/ee/XeCQ4D3ykPtL5tHno4n0d/h3+xfuWHGLX81cn7r0iTNzjr7LrlxCqPtkbTQEHeqOrTy4Yyt3VCi/IOB0v7rVC7q45Q3Gr5K6jt+3Gl5nCoDD4MtO+j96Wu8atmhGqcNGHObuf8OM/x3AMx38+4Z2sPqzCxRFK2aF2e5Jol56XTLyggAMTL56XOMoS1W4pOyjUcGGQdZxU6qRh7B9Zp+PfpOFlqt0zyDZckPi1ttmIp03jX8gyJ8a/PG2yutpS/Vol7peZIbZcKBAEEheEIAgFbDkz5H6Zrkm2hVWGiXKiF4Ycw0RWKdtC16Q7qe3X4iOMxruonzegJzWaXFrU9utOSsLUmrc0YjeWYjCW4PDMADElpJSSQ0vQvA1Tm6/JlKnqFs1EGyZiFCqnRZTEJJJiKRYzVYzJck2Rm6P4iH+cmSY0YzimYa8l0EtTODFWhcMIMVqdsI2uiTvKmTisIDHJ3od5GILVhBCarCfVRmo4uTjkhrhzkiBV7SsaqS+TzrzM1qpGGUFt28pIySQHR6h7F6KSwGWm97ay+Z+ZqMcEjEWebE7wxCSQwpkhJqoZA5ivCdZDjJepuJ9IQjGGUmuXJdBFUygxVqVsxFsLMbDe8ZbDYVCGKxs+W080max1hFCarCfV+C1KATwcnvE9gRRuMP2prdbWGowm1KB1y+zwMMENkM755cJ2yPDtqhTI6ED1M/82yIDtC/4j4BijjeObflpO9I9MwXTCsSX8jWAFeHr05WoLTJ5G8IQVS/7vwR6ohirYM7f6HzYpogfS3R2OAAAAAElFTkSuQmCC);height:36px;width:36px}.leaflet-retina .leaflet-control-layers-toggle{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA0CAQAAABvcdNgAAAEsklEQVR4AWL4TydIhpZK1kpWOlg0w3ZXP6D2soBtG42jeI6ZmQTHzAxiTbSJsYLjO9HhP+WOmcuhciVnmHVQcJnp7DFvScowZorad/+V/fVzMdMT2g9Cv9guXGv/7pYOrXh2U+RRR3dSd9JRx6bIFc/ekqHI29JC6pJ5ZEh1yWkhkbcFeSjxgx3L2m1cb1C7bceyxA+CNjT/Ifff+/kDk2u/w/33/IeCMOSaWZ4glosqT3DNnNZQ7Cs58/3Ce5HL78iZH/vKVIaYlqzfdLu8Vi7dnvUbEza5Idt36tquZFldl6N5Z/POLof0XLK61mZCmJSWjVF9tEjUluu74IUXvgttuVIHE7YxSkaYhJZam7yiM9Pv82JYfl9nptxZaxMJE4YSPty+vF0+Y2up9d3wwijfjZbabqm/3bZ9ecKHsiGmRflnn1MW4pjHf9oLufyn2z3y1D6n8g8TZhxyzipLNPnAUpsOiuWimg52psrTZYnOWYNDTMuWBWa0tJb4rgq1UvmutpaYEbZlwU3CLJm/ayYjHW5/h7xWLn9Hh1vepDkyf7dE7MtT5LR4e7yYpHrkhOUpEfssBLq2pPhAqoSWKUkk7EDqkmK6RrCEzqDjhNDWNE+XSMvkJRDWlZTmCW0l0PHQGRZY5t1L83kT0Y3l2SItk5JAWHl2dCOBm+fPu3fo5/3v61RMCO9Jx2EEYYhb0rmNQMX/vm7gqOEJLcXTGw3CAuRNeyaPWwjR8PRqKQ1PDA/dpv+on9Shox52WFnx0KY8onHayrJzm87i5h9xGw/tfkev0jGsQizqezUKjk12hBMKJ4kbCqGPVNXudyyrShovGw5CgxsRICxF6aRmSjlBnHRzg7Gx8fKqEubI2rahQYdR1YgDIRQO7JvQyD52hoIQx0mxa0ODtW2Iozn1le2iIRdzwWewedyZzewidueOGqlsn1MvcnQpuVwLGG3/IR1hIKxCjelIDZ8ldqWz25jWAsnldEnK0Zxro19TGVb2ffIZEsIO89EIEDvKMPrzmBOQcKQ+rroye6NgRRxqR4U8EAkz0CL6uSGOm6KQCdWjvjRiSP1BPalCRS5iQYiEIvxuBMJEWgzSoHADcVMuN7IuqqTeyUPq22qFimFtxDyBBJEwNyt6TM88blFHao/6tWWhuuOM4SAK4EI4QmFHA+SEyWlp4EQoJ13cYGzMu7yszEIBOm2rVmHUNqwAIQabISNMRstmdhNWcFLsSm+0tjJH1MdRxO5Nx0WDMhCtgD6OKgZeljJqJKc9po8juskR9XN0Y1lZ3mWjLR9JCO1jRDMd0fpYC2VnvjBSEFg7wBENc0R9HFlb0xvF1+TBEpF68d+DHR6IOWVv2BECtxo46hOFUBd/APU57WIoEwJhIi2CdpyZX0m93BZicktMj1AS9dClteUFAUNUIEygRZCtik5zSxI9MubTBH1GOiHsiLJ3OCoSZkILa9PxiN0EbvhsAo8tdAf9Seepd36lGWHmtNANTv5Jd0z4QYyeo/UEJqxKRpg5LZx6btLPsOaEmdMyxYdlc8LMaJnikDlhclqmPiQnTEpLUIZEwkRagjYkEibQErwhkTAKCLQEbUgkzJQWc/0PstHHcfEdQ+UAAAAASUVORK5CYII=);background-size:26px 26px}.leaflet-touch .leaflet-control-layers-toggle{height:44px;width:44px}.leaflet-control-layers .leaflet-control-layers-list,.leaflet-control-layers-expanded .leaflet-control-layers-toggle{display:none}.leaflet-control-layers-expanded .leaflet-control-layers-list{display:block;position:relative}.leaflet-control-layers-expanded{background:#fff;color:#333;padding:6px 10px 6px 6px}.leaflet-control-layers-scrollbar{overflow-x:hidden;overflow-y:scroll;padding-right:5px}.leaflet-control-layers-selector{margin-top:2px;position:relative;top:1px}.leaflet-control-layers label{display:block;font-size:13px;font-size:1.08333em}.leaflet-control-layers-separator{border-top:1px solid #ddd;height:0;margin:5px -10px 5px -6px}.leaflet-default-icon-path{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAApCAYAAADAk4LOAAAFgUlEQVR4Aa1XA5BjWRTN2oW17d3YaZtr2962HUzbDNpjszW24mRt28p47v7zq/bXZtrp/lWnXr337j3nPCe85NcypgSFdugCpW5YoDAMRaIMqRi6aKq5E3YqDQO3qAwjVWrD8Ncq/RBpykd8oZUb/kaJutow8r1aP9II0WmLKLIsJyv1w/kqw9Ch2MYdB++12Onxee/QMwvf4/Dk/Lfp/i4nxTXtOoQ4pW5Aj7wpici1A9erdAN2OH64x8OSP9j3Ft3b7aWkTg/Fm91siTra0f9on5sQr9INejH6CUUUpavjFNq1B+Oadhxmnfa8RfEmN8VNAsQhPqF55xHkMzz3jSmChWU6f7/XZKNH+9+hBLOHYozuKQPxyMPUKkrX/K0uWnfFaJGS1QPRtZsOPtr3NsW0uyh6NNCOkU3Yz+bXbT3I8G3xE5EXLXtCXbbqwCO9zPQYPRTZ5vIDXD7U+w7rFDEoUUf7ibHIR4y6bLVPXrz8JVZEql13trxwue/uDivd3fkWRbS6/IA2bID4uk0UpF1N8qLlbBlXs4Ee7HLTfV1j54APvODnSfOWBqtKVvjgLKzF5YdEk5ewRkGlK0i33Eofffc7HT56jD7/6U+qH3Cx7SBLNntH5YIPvODnyfIXZYRVDPqgHtLs5ABHD3YzLuespb7t79FY34DjMwrVrcTuwlT55YMPvOBnRrJ4VXTdNnYug5ucHLBjEpt30701A3Ts+HEa73u6dT3FNWwflY86eMHPk+Yu+i6pzUpRrW7SNDg5JHR4KapmM5Wv2E8Tfcb1HoqqHMHU+uWDD7zg54mz5/2BSnizi9T1Dg4QQXLToGNCkb6tb1NU+QAlGr1++eADrzhn/u8Q2YZhQVlZ5+CAOtqfbhmaUCS1ezNFVm2imDbPmPng5wmz+gwh+oHDce0eUtQ6OGDIyR0uUhUsoO3vfDmmgOezH0mZN59x7MBi++WDL1g/eEiU3avlidO671bkLfwbw5XV2P8Pzo0ydy4t2/0eu33xYSOMOD8hTf4CrBtGMSoXfPLchX+J0ruSePw3LZeK0juPJbYzrhkH0io7B3k164hiGvawhOKMLkrQLyVpZg8rHFW7E2uHOL888IBPlNZ1FPzstSJM694fWr6RwpvcJK60+0HCILTBzZLFNdtAzJaohze60T8qBzyh5ZuOg5e7uwQppofEmf2++DYvmySqGBuKaicF1blQjhuHdvCIMvp8whTTfZzI7RldpwtSzL+F1+wkdZ2TBOW2gIF88PBTzD/gpeREAMEbxnJcaJHNHrpzji0gQCS6hdkEeYt9DF/2qPcEC8RM28Hwmr3sdNyht00byAut2k3gufWNtgtOEOFGUwcXWNDbdNbpgBGxEvKkOQsxivJx33iow0Vw5S6SVTrpVq11ysA2Rp7gTfPfktc6zhtXBBC+adRLshf6sG2RfHPZ5EAc4sVZ83yCN00Fk/4kggu40ZTvIEm5g24qtU4KjBrx/BTTH8ifVASAG7gKrnWxJDcU7x8X6Ecczhm3o6YicvsLXWfh3Ch1W0k8x0nXF+0fFxgt4phz8QvypiwCCFKMqXCnqXExjq10beH+UUA7+nG6mdG/Pu0f3LgFcGrl2s0kNNjpmoJ9o4B29CMO8dMT4Q5ox8uitF6fqsrJOr8qnwNbRzv6hSnG5wP+64C7h9lp30hKNtKdWjtdkbuPA19nJ7Tz3zR/ibgARbhb4AlhavcBebmTHcFl2fvYEnW0ox9xMxKBS8btJ+KiEbq9zA4RthQXDhPa0T9TEe69gWupwc6uBUphquXgf+/FrIjweHQS4/pduMe5ERUMHUd9xv8ZR98CxkS4F2n3EUrUZ10EYNw7BWm9x1GiPssi3GgiGRDKWRYZfXlON+dfNbM+GgIwYdwAAAAASUVORK5CYII=)}.leaflet-container .leaflet-control-attribution{background:#fff;background:#fffc;margin:0}.leaflet-control-attribution,.leaflet-control-scale-line{color:#333;line-height:1.4;padding:0 5px}.leaflet-control-attribution a{text-decoration:none}.leaflet-control-attribution a:focus,.leaflet-control-attribution a:hover{text-decoration:underline}.leaflet-attribution-flag{display:inline!important;height:.6669em;vertical-align:initial!important;width:1em}.leaflet-left .leaflet-control-scale{margin-left:5px}.leaflet-bottom .leaflet-control-scale{margin-bottom:5px}.leaflet-control-scale-line{background:#fffc;border:2px solid #777;border-top:none;box-sizing:border-box;line-height:1.1;padding:2px 5px 1px;text-shadow:1px 1px #fff;white-space:nowrap}.leaflet-control-scale-line:not(:first-child){border-bottom:none;border-top:2px solid #777;margin-top:-2px}.leaflet-control-scale-line:not(:first-child):not(:last-child){border-bottom:2px solid #777}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-attribution,.leaflet-touch .leaflet-control-layers{box-shadow:none}.leaflet-touch .leaflet-bar,.leaflet-touch .leaflet-control-layers{background-clip:padding-box;border:2px solid #0003}.leaflet-popup{position:absolute;text-align:center}.leaflet-popup-content-wrapper{border-radius:12px;padding:1px;text-align:left}.leaflet-popup-content{font-size:13px;font-size:1.08333em;line-height:1.3;margin:13px 24px 13px 20px;min-height:1px}.leaflet-popup-content p{margin:1.3em 0}.leaflet-popup-tip-container{margin-left:-20px;margin-top:-1px;width:40px}.leaflet-popup-tip{pointer-events:auto}.leaflet-popup-content-wrapper,.leaflet-popup-tip{background:#fff;box-shadow:0 3px 14px #0006;color:#333}.leaflet-container a.leaflet-popup-close-button{background:#0000;border:none;color:#757575;font:16px/24px Tahoma,Verdana,sans-serif;height:24px;position:absolute;right:0;text-align:center;text-decoration:none;top:0;width:24px}.leaflet-container a.leaflet-popup-close-button:focus,.leaflet-container a.leaflet-popup-close-button:hover{color:#585858}.leaflet-popup-scrolled{overflow:auto}.leaflet-oldie .leaflet-popup-content-wrapper{-ms-zoom:1}.leaflet-oldie .leaflet-popup-tip{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";filter:progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678,M12=0.70710678,M21=-0.70710678,M22=0.70710678);margin:0 auto;width:24px}.leaflet-oldie .leaflet-control-layers,.leaflet-oldie .leaflet-control-zoom,.leaflet-oldie .leaflet-popup-content-wrapper,.leaflet-oldie .leaflet-popup-tip{border:1px solid #999}.leaflet-div-icon{background:#fff;border:1px solid #666}.leaflet-tooltip{background-color:#fff;border:1px solid #fff;border-radius:3px;box-shadow:0 1px 3px #0006;color:#222;padding:6px;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;white-space:nowrap}.leaflet-tooltip.leaflet-interactive{cursor:pointer;pointer-events:auto}.leaflet-tooltip-bottom:before,.leaflet-tooltip-left:before,.leaflet-tooltip-right:before,.leaflet-tooltip-top:before{background:#0000;border:6px solid #0000;content:"";pointer-events:none;position:absolute}.leaflet-tooltip-bottom{margin-top:6px}.leaflet-tooltip-top{margin-top:-6px}.leaflet-tooltip-bottom:before,.leaflet-tooltip-top:before{left:50%;margin-left:-6px}.leaflet-tooltip-top:before{border-top-color:#fff;bottom:0;margin-bottom:-12px}.leaflet-tooltip-bottom:before{border-bottom-color:#fff;margin-left:-6px;margin-top:-12px;top:0}.leaflet-tooltip-left{margin-left:-6px}.leaflet-tooltip-right{margin-left:6px}.leaflet-tooltip-left:before,.leaflet-tooltip-right:before{margin-top:-6px;top:50%}.leaflet-tooltip-left:before{border-left-color:#fff;margin-right:-12px;right:0}.leaflet-tooltip-right:before{border-right-color:#fff;left:0;margin-left:-12px}@media print{.leaflet-control{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.mapview-wrapper{height:calc(100vh - 2rem);position:relative;width:100%}.locator-panel{border-radius:4px;left:50px}.edit-mode-toggle,.locator-panel{padding:.5rem;position:absolute;top:5px;z-index:1000}.edit-mode-toggle{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem;right:50px}.edit-mode-toggle button{background:#fff;border:none;border-radius:24px;box-shadow:0 2px 8px #00000026;color:#333;cursor:pointer;font-size:.9rem;padding:.75rem 1.5rem;transition:all .2s ease}.edit-mode-toggle button:hover{background:#f0f0f0;box-shadow:0 4px 12px #0003}.edit-instructions,.move-instructions{background:#ffffffe6;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;font-size:.85rem;max-width:250px;padding:.75rem 1rem;text-align:center}.move-instructions{align-items:center;background:#ffff001a;border:2px solid #ffff004d;display:flex;flex-direction:column;gap:.5rem}.cancel-move-button{background:#dc3545!important;color:#fff!important;font-size:.8rem!important;padding:.5rem 1rem!important}.error-message{background:#f8d7da;border-radius:4px;box-shadow:0 2px 4px #0000001a;left:50%;padding:.75rem 1.25rem;position:fixed;top:20px;transform:translateX(-50%);z-index:1000}.popup-content .status-available{color:#28a745;font-weight:400}.action-buttons{margin-top:5px;padding:0 20px}.action-button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:500;padding:12px;transition:all .2s ease;width:100%}.reserve-button{background-color:#28a745;color:#fff;letter-spacing:.5px;text-transform:uppercase}.reserve-button:hover{background-color:#218838}.leaflet-interactive{cursor:grab}.leaflet-interactive:active{cursor:grabbing}.client-page{bottom:0;height:calc(100vh - 60px);left:0;overflow:hidden;position:fixed;right:0;top:60px;width:100%}.map-container{bottom:0;left:0;position:absolute;right:0;top:0}.plot-legend{background:#fff;border-radius:8px;bottom:20px;box-shadow:0 2px 8px #00000026;font-family:Arial,sans-serif;left:20px;max-width:200px;min-width:150px;padding:15px;position:absolute;z-index:1000}.legend-title{color:#333;font-size:14px;font-weight:600;margin-bottom:10px;text-align:center}.legend-item{color:#666;font-size:13px;margin:6px 0}.legend-color{border-radius:3px;height:16px;margin-right:10px;opacity:.7;width:24px}.floating-locator{position:absolute;right:20px;top:20px;transition:all .3s ease;width:340px;z-index:1000}.popup-content{padding:10px}.popup-content h3{font-size:16px;margin:0 0 10px}.popup-content p{margin:5px 0}.status-available{color:#34c759}.status-reserved{color:#007bff}.status-pending{color:#ffc107}.status-unavailable{color:#ff3b30}.status-active{color:#8e8e93}.lot-popup .lot-info{padding:5px}.lot-popup h3{font-size:14px;margin:0 0 8px}.lot-popup .info-row{grid-gap:8px;align-items:baseline;display:grid;font-size:12px;gap:8px;grid-template-columns:auto 1fr;line-height:1.2;margin-bottom:4px}.lot-popup .info-row:last-child{margin-bottom:0}.lot-popup .info-row strong{white-space:nowrap}.lot-popup .info-row span{overflow:hidden;text-overflow:ellipsis}.lot-popup .status-available{color:#34c759;font-weight:500}.lot-popup .status-unavailable{color:#ff3b30;font-weight:500}.lot-popup .status-active{color:#8e8e93;font-weight:500}.leaflet-popup{max-width:140px!important;min-width:50px!important}.leaflet-popup-content{margin:8px!important;min-width:120px!important;width:auto!important}.leaflet-popup-content-wrapper{padding:0}.leaflet-popup{margin-bottom:20px}.leaflet-popup-content-wrapper{border-radius:12px!important;min-width:280px!important;overflow:hidden!important;padding:0!important;width:auto!important}.leaflet-popup-content{margin:0!important;padding:0!important;width:280px!important}.lot-popup .lot-info{width:100%}.lot-popup h3{background:#f8f9fa;color:#333;font-size:1rem;font-weight:500;padding:15px 20px}.lot-popup .info-row,.lot-popup h3{border-bottom:1px solid #eee;box-sizing:border-box;margin:0;width:100%}.lot-popup .info-row{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;line-height:1.5;padding:12px 20px}.lot-popup .info-row:last-child{border-bottom:none}.lot-popup .info-row strong{color:#666;font-weight:400}.lot-popup .info-row span{color:#333;text-align:right}.lot-popup .status-available{color:#28a745;font-weight:400}.leaflet-popup-tip-container{height:20px;left:50%;margin-left:-10px;overflow:hidden;pointer-events:none;position:absolute;width:20px}.leaflet-popup-tip{background:#fff;box-shadow:none;height:17px;margin:-10px auto 0;padding:1px;transform:rotate(45deg);width:17px}.popup-content{min-width:270px;width:100%}.popup-content h3{background:#f8f9fa;color:#333;font-size:1rem;font-weight:500;padding:15px 20px;position:relative}.popup-content h3,.popup-content p{border-bottom:1px solid #eee;box-sizing:border-box;margin:0;width:100%}.popup-content p{align-items:center;display:flex;font-size:.9rem;justify-content:space-between;line-height:1.5;padding:12px 20px}.popup-content p:last-of-type{border-bottom:none}.popup-content strong{color:#666;font-weight:400}.popup-content span{color:#333;text-align:right}@media (max-width:768px){.floating-locator{right:20px;width:calc(100% - 40px)}}.active-notice,.pending-notice,.reserved-notice,.unavailable-notice{border-radius:4px;font-size:14px;margin-top:10px;padding:8px 12px;text-align:center}.reserved-notice{background-color:#e6f2ff;border:1px solid #b8daff;color:#007bff}.pending-notice{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.unavailable-notice{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.active-notice{background-color:#e9ecef;border:1px solid #dee2e6;color:#6c757d}.action-button.book-button{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin-top:10px;padding:10px;transition:background-color .2s;width:100%}.action-button.book-button:hover{background:#218838}.columbarium-search-result{padding:0}.search-result-header{background:#e8f5e8;border-bottom:1px solid #4caf50;padding:15px 20px}.search-result-header h4{color:#2e7d32;font-size:1.1rem;font-weight:600;margin:0}.location-details{background:#f8f9fa;padding:15px 20px}.location-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;font-size:.9rem;justify-content:space-between;padding:8px 0}.location-item:last-child{border-bottom:none}.location-item strong{color:#495057;font-weight:600;min-width:80px}.date-info{background:#fff3cd;border-top:1px solid #ffeaa7;color:#856404;font-size:.9rem;padding:10px 20px}.date-info strong{color:#856404;font-weight:600}.columbarium-popup .leaflet-popup-content-wrapper{border-radius:12px;box-shadow:0 8px 25px #00000026}.columbarium-popup .leaflet-popup-content{border-radius:12px;margin:0;overflow:hidden;padding:0}.columbarium-popup .popup-content{max-width:400px;min-width:320px}.columbarium-popup .popup-content h3{background:#2e7d32;color:#fff;font-size:1.1rem;font-weight:600;margin:0;padding:15px 20px;text-align:center}.mapboxgl-map{-webkit-tap-highlight-color:rgb(0 0 0/0);font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;overflow:hidden;position:relative}.mapboxgl-canvas{left:0;position:absolute;top:0}.mapboxgl-map:-webkit-full-screen{height:100%;width:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;position:absolute;z-index:2}.mapboxgl-ctrl-top-left{left:0;top:0}.mapboxgl-ctrl-top{left:50%;top:0;transform:translateX(-50%)}.mapboxgl-ctrl-top-right{right:0;top:0}.mapboxgl-ctrl-right{right:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translateX(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{left:0;top:50%;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto;transform:translate(0)}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px ButtonText}}.mapboxgl-ctrl-group button{background-color:initial;border:0;box-sizing:border-box;cursor:pointer;display:block;height:29px;outline:none;overflow:hidden;padding:0;width:29px}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;display:block;height:100%;width:100%}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid ButtonText}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#0000000d}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='m10.5 14 4-8 4 8h-8z'/%3E%3Cpath d='m10.5 16 4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:mapboxgl-spin 2s linear infinite}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle cx='10' cy='10' r='2'/%3E%3Cpath d='m14 5 1 1-9 9-1-1 9-9z' fill='red'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg opacity='.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg opacity='.9' fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;cursor:pointer;display:block;height:23px;margin:0 0 -4px -4px;overflow:hidden;width:88px}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cg fill='%23fff'%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='a' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 0 1 3.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='b' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 0 0-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 0 0 4.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 0 1-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 0 1 .3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 0 1-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='c'%3E%3Crect width='100%25' height='100%25' fill='%23fff'/%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/mask%3E%3Cg stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23c)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23b' mask='url(%23c)'/%3E%3C/g%3E%3Cuse xlink:href='%23a'/%3E%3Cuse xlink:href='%23b'/%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{background-color:#fff;border-radius:12px;box-sizing:initial;margin:10px;min-height:20px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{padding:2px 28px 2px 8px;visibility:visible}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show,.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;box-sizing:border-box;cursor:pointer;display:none;height:24px;outline:none;position:absolute;right:0;top:0;width:24px}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-left .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-top-left .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0;top:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0;top:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{font-weight:700;margin-left:2px}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{background-color:#ffffffbf;border:2px solid #333;border-top:#333;box-sizing:border-box;color:#333;font-size:10px;padding:0 5px;white-space:nowrap}.mapboxgl-popup{display:flex;left:0;pointer-events:none;position:absolute;top:0;will-change:transform}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{border:10px solid #0000;height:0;width:0;z-index:1}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{align-self:center;border-bottom-color:#fff;border-top:none}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom-color:#fff;border-left:none;border-top:none}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom-color:#fff;border-right:none;border-top:none}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{align-self:center;border-bottom:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{align-self:flex-start;border-bottom:none;border-left:none;border-top-color:#fff}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{align-self:flex-end;border-bottom:none;border-right:none;border-top-color:#fff}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{align-self:center;border-left:none;border-right-color:#fff}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{align-self:center;border-left-color:#fff;border-right:none}.mapboxgl-popup-close-button{background-color:initial;border:0;border-radius:0 3px 0 0;cursor:pointer;position:absolute;right:0;top:0}.mapboxgl-popup-close-button:hover{background-color:#0000000d}.mapboxgl-popup-content{background:#fff;border-radius:3px;box-shadow:0 1px 2px #0000001a;padding:10px 10px 15px;pointer-events:auto;position:relative}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{left:0;opacity:1;position:absolute;top:0;transition:opacity .2s;will-change:transform}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;height:15px;width:15px}.mapboxgl-user-location-dot:before{animation:mapboxgl-user-location-dot-pulse 2s infinite;content:"";position:absolute}.mapboxgl-user-location-dot:after{border:2px solid #fff;border-radius:50%;box-shadow:0 0 3px #00000059;box-sizing:border-box;content:"";height:19px;left:-2px;position:absolute;top:-2px;width:19px}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{height:0;width:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-bottom:7.5px solid #4aa1eb;content:"";position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px) skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px) skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;height:1px;width:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{background:#fff;border:2px dotted #202020;height:0;left:0;opacity:.5;position:absolute;top:0;width:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{align-items:center;background:#000000b3;color:#fff;display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;height:100%;justify-content:center;left:0;opacity:0;pointer-events:none;position:absolute;text-align:center;top:0;transition:opacity .75s ease-in-out;transition-delay:1s;width:100%}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl-separator{background-color:#e0e0e0;height:1px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{color:#333;font-size:18px;font-weight:700;height:44px;width:44px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button:hover{background-color:#f5f5f5}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{background-color:#4a5568;color:#fff}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#2d3748}.mapbox-container{border-radius:8px;box-shadow:0 4px 6px #0000001a;height:calc(100vh - 120px);overflow:hidden;position:relative;width:100%}.bookmark-btn,.navigate-to-btn{border:none;border-radius:4px;box-sizing:border-box;cursor:pointer;font-size:12px;font-weight:500;margin:8px 12px 12px;padding:6px 8px;width:calc(100% - 25px)}.navigate-to-btn{background-color:#28a745;width:calc(100% - 25px)!important}.navigate-to-btn:hover{background-color:#218838}.bookmark-btn{background-color:#4ecdc4;color:#fff;margin-top:1px}.bookmark-btn:hover{background-color:#45b7aa}.bookmark-btn:disabled{background-color:#6c757d;cursor:not-allowed}.reserve-btn{background-color:#ff9500;border-radius:4px;box-sizing:border-box;font-size:12px;font-weight:500;margin:8px 12px 12px;padding:6px 8px;width:calc(100% - 10px)}.reserve-btn:hover{background-color:#e6850e}.reserve-btn:disabled{background-color:#6c757d}.lot-marker{align-items:center;color:#fff;display:flex;font-size:10px;font-weight:700;justify-content:center;text-shadow:1px 1px 2px #000000b3;transition:all .2s ease}.lot-marker:hover{transform:scale(1.2);z-index:1000}.lot-marker.available{background-color:#28a745!important}.lot-marker.reserved{background-color:#ffc107!important}.lot-marker.occupied{background-color:#dc3545!important}.lot-marker.landmark{background-color:#6c757d!important;border-radius:50% 50% 50% 0!important;transform:rotate(-45deg)!important}.lot-marker.landmark:hover{transform:rotate(-45deg) scale(1.2)!important}.lot-popup{min-width:200px;padding:8px 8px 4px}.lot-popup h4{color:#2c3e50;margin:0 0 8px}.landmark-description{background-color:#f8f9fa;border-left:3px solid #007bff;border-radius:4px;color:#6c757d;font-size:13px;font-style:italic;margin-top:8px;padding:8px;width:calc(100% - 5px)}@keyframes pulse{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.2)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.landmark-circle-pulse:hover{animation:none;background-color:#3498db80!important;transform:translate(-50%,-50%) scale(1.1)!important}.lot-popup p{color:#555;margin:4px 0;padding-left:12px}.map-controls{bottom:10px;flex-direction:column;position:absolute;right:10px;z-index:50}.style-switcher{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:150px;padding:12px}.style-switcher h4{color:#2c3e50;font-size:14px;margin:0 0 8px}.style-select{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;padding:6px 8px;width:100%}.style-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.map-legend{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:150px;padding:12px}.map-legend h4{color:#2c3e50;font-size:14px;margin:0 0 8px}.legend-item{align-items:center;display:flex;font-size:12px;margin:4px 0}.legend-color{border:1px solid #ddd;border-radius:50%;height:12px;margin-right:8px;width:12px}.legend-color.available{background-color:#28a745}.legend-color.reserved{background-color:#ffc107}.legend-color.occupied{background-color:#dc3545}.legend-color.landmark{background-color:#6c757d;border-radius:50% 50% 50% 0;transform:rotate(-45deg)}@media (max-width:768px){.map-controls{right:5px;top:5px}.map-legend{min-width:120px;padding:8px}.map-legend h4{font-size:12px}.legend-item{font-size:11px}.legend-color{height:10px;width:10px}.lot-popup{min-width:150px;padding:6px}.lot-popup h4{font-size:14px}.lot-popup p{font-size:12px}}@media (hover:none) and (pointer:coarse){.lot-marker{min-height:20px;min-width:20px}.lot-marker:hover{transform:none}.lot-marker:active{transform:scale(1.1)}}.mapbox-container.loading{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center}.mapbox-container.loading:after{color:#6c757d;content:"Loading map...";font-size:16px}.mapbox-container.error{align-items:center;background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24;display:flex;justify-content:center}.mapboxgl-popup-content{border-radius:8px;box-shadow:0 4px 12px #00000026;max-height:none!important;overflow:visible!important}.mapboxgl-popup-close-button{color:#fff!important;font-size:18px;right:2px!important;top:-13px!important}.mapboxgl-ctrl-group{border-radius:8px;box-shadow:0 2px 8px #00000026}.mapboxgl-ctrl-group button{border-radius:0}.mapboxgl-ctrl-group button:first-child{border-top-left-radius:8px;border-top-right-radius:8px}.mapboxgl-ctrl-group button:last-child{border-bottom-left-radius:8px;border-bottom-right-radius:8px}.navigation-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#000000e6;border-radius:12px;box-shadow:0 8px 32px #0000004d;color:#fff;left:20px;padding:16px;position:absolute;top:20px;width:320px;z-index:200}.nav-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.nav-header h3{font-size:18px;font-weight:600;margin:0}.close-nav{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background .2s ease;width:30px}.close-nav:hover,.nav-instruction{background:#ffffff1a}.nav-instruction{align-items:center;border-radius:8px;display:flex;margin-bottom:16px;padding:12px}.nav-icon{font-size:24px;margin-right:12px}.nav-text{flex:1 1}.nav-main{font-size:16px;font-weight:600;margin-bottom:4px}.nav-distance{color:#ccc;font-size:14px}.nav-progress{margin-bottom:16px}.nav-steps{display:flex;flex-direction:column;gap:8px}.nav-step{align-items:center;border-radius:6px;display:flex;padding:8px;transition:all .2s ease}.nav-step.active{background:#007bff33;border:1px solid #007bff}.nav-step.completed{background:#28a74533;border:1px solid #28a745}.step-icon{font-size:16px;margin-right:8px}.step-text{flex:1 1;font-size:14px}.nav-actions{display:flex;gap:8px;margin-bottom:16px}.nav-btn{border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.nav-btn.primary{background:#007bff;color:#fff}.nav-btn.primary:hover:not(:disabled){background:#0056b3}.nav-btn.secondary{background:#ffffff1a;border:1px solid #fff3;color:#fff}.nav-btn.secondary:hover{background:#fff3}.nav-btn:disabled{cursor:not-allowed;opacity:.5}.nav-info{border-top:1px solid #ffffff1a;color:#ccc;display:flex;font-size:14px;justify-content:space-between;padding-top:12px}.nav-distance-total:before{content:"📏 "}.nav-time:before{content:"⏱️ "}.cemetery-navigation{background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000026;min-width:150px;padding:12px}.cemetery-navigation h4{color:#2c3e50;font-size:14px;margin:0 0 8px}.nav-landmarks{display:flex;flex-direction:column;gap:6px}.nav-button{background:#fff;border:1px solid #dee2e6;border-radius:4px;color:#495057;cursor:pointer;font-size:12px;padding:6px 8px;transition:all .2s ease}.nav-button:hover{background:#f8f9fa;border-color:#007bff;color:#007bff}.nav-button:active{background:#e9ecef;transform:translateY(1px)}.nav-route-buttons{border-top:1px solid #dee2e6;margin-top:12px;padding-top:12px}.nav-route-buttons h5{color:#6c757d;font-size:12px;font-weight:600;margin:0 0 8px}.route-options{gap:4px}.route-btn{background:#fff;border:1px solid #007bff;border-radius:4px;color:#007bff;cursor:pointer;font-size:11px;padding:6px 8px;text-align:left;transition:all .2s ease}.route-btn:hover{background:#007bff;color:#fff}.navigate-to-btn{background:#28a745;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;margin-top:8px;padding:8px 12px;transition:all .2s ease;width:100%}.navigate-to-btn:hover{background:#218838;transform:translateY(-1px)}.navigate-to-btn:active{transform:translateY(0)}.direction-btn{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;flex:1 1;font-size:11px;padding:4px 8px;transition:background-color .2s}.direction-btn:hover{background:#0056b3}.close-btn{background:#6c757d;border-radius:4px;color:#fff;font-size:11px;height:24px;padding:4px 8px;transition:background-color .2s;width:24px}.close-btn:hover{background:#545b62}.enhanced-nav-controls{background:#fffffff2;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:350px;min-width:250px;padding:15px;position:absolute;right:20px;top:20px;z-index:1000}.nav-control-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin:5px;padding:8px 16px;transition:all .2s ease}.nav-control-btn:hover{background:#0056b3;transform:translateY(-1px)}.nav-control-btn.active{background:#28a745}.nav-control-btn.secondary{background:#6c757d}.nav-control-btn.secondary:hover{background:#545b62}.route-alternatives{border-top:1px solid #e0e0e0;margin-top:15px;padding-top:15px}.route-alternatives h4{color:#333;font-size:16px;margin:0 0 10px}.route-options{display:flex;flex-direction:column;gap:8px}.route-option{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;padding:10px;text-align:left;transition:all .2s ease}.route-option.selected,.route-option:hover{background:#e3f2fd;border-color:#007bff}.route-name{color:#333;font-weight:600;margin-bottom:4px}.route-details{color:#666;font-size:12px}.waypoint-controls{border-top:1px solid #e0e0e0;margin-top:15px;padding-top:15px}.waypoint-controls h4{color:#333;font-size:16px;margin:0 0 10px}.time-of-day-selector{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;gap:2px;height:40px;min-width:280px;padding:3px}.time-of-day-selector,.time-option{align-items:center;display:flex;position:relative}.time-option{background:#0000;border:none;border-radius:6px;color:#6c757d;cursor:pointer;flex:1 1;font-size:13px;font-weight:500;height:calc(100% - 6px);justify-content:center;margin:3px 1px;padding:8px 12px;transition:all .3s ease;z-index:1}.time-option:hover{background:#0000000d;color:#495057}.time-option.selected{background:#495057;border:2px solid #007bff;box-shadow:0 2px 8px #0003;color:#fff;font-weight:600;transform:translateY(-1px)}.time-option.selected:hover{background:#343a40;color:#fff}@media (max-width:768px){.time-of-day-selector{height:36px;min-width:240px;padding:2px}.time-option{font-size:12px;height:calc(100% - 4px);margin:2px 1px;padding:6px 10px}}@media (max-width:480px){.time-of-day-selector{height:34px;min-width:200px}.time-option{font-size:11px;height:calc(100% - 4px);margin:2px 1px;padding:5px 6px}}.time-option,.time-option.selected{transition:all .3s cubic-bezier(.4,0,.2,1)}.mapbox-map-view{background-color:#f8f9fa;display:flex;flex-direction:column;height:100vh}.mapbox-map-view.loading{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center}.control-btn.active{background-color:#007bff;border-color:#007bff;color:#fff}.map-container{flex:1 1;margin:16px 24px 32px;min-height:calc(100vh - 120px)}.grave-locator-overlay{left:20px;top:20px;z-index:1000}@media (max-width:768px){.mapbox-map-view{height:100vh}.map-header{flex-direction:column;gap:12px;padding:12px 16px}.map-title h2{font-size:20px}.map-title p{font-size:12px}.map-controls{justify-content:center;width:100%}.control-btn{flex:1 1;font-size:13px;justify-content:center;padding:10px 12px}.map-container{border-radius:8px;margin:8px 12px}.map-stats{gap:8px;padding:12px 16px}.stat-item{flex:1 1}.stat-number{font-size:20px}.stat-label{font-size:11px}.error-message{font-size:13px;padding:10px 16px}}@media (max-width:480px){.map-header{padding:8px 12px}.map-title h2{font-size:18px}.map-controls{flex-direction:column;gap:8px}.control-btn{font-size:14px;padding:12px}.map-container{margin:4px 8px}.map-stats{padding:8px 12px}.stat-number{font-size:18px}.stat-label{font-size:10px}}@media (min-width:769px) and (max-width:1024px){.map-header{padding:14px 20px}.map-container{margin:12px 20px}.map-stats{padding:14px 20px}}@media (min-width:1200px){.map-header{padding:20px 32px}.map-container{margin:20px 32px}.map-stats{padding:20px 32px}.stat-number{font-size:28px}.stat-label{font-size:13px}}.filter-buttons{flex-direction:row!important}.bookmark-manager{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.header-icon{color:#4f46e5;font-size:2rem}.header-subtitle{color:#64748b;font-size:1.1rem;margin:0 auto;max-width:600px}.spinner{border-left-color:#4f46e5}.alert{gap:.75rem;margin-bottom:2rem}.alert-close{margin-left:auto}.empty-bookmarks{color:#64748b;padding:4rem 2rem;text-align:center}.empty-icon{color:#cbd5e1;font-size:4rem;margin-bottom:1.5rem}.empty-bookmarks h3{color:#374151;font-size:1.5rem;margin:0 0 1rem}.empty-bookmarks p{font-size:1.1rem;margin:0 auto;max-width:500px}.bookmarks-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-bottom:3rem}.bookmark-card{background:#fff;border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 4px 6px #0000000d;padding:1.5rem;transition:all .2s ease}.bookmark-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.bookmark-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.lot-info h3{color:#1a202c;font-size:1.25rem;margin:0 0 .25rem}.lot-number{color:#64748b;font-size:.9rem;margin:0}.remove-bookmark-btn{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;cursor:pointer;display:flex;justify-content:center;padding:.5rem;transition:all .2s ease}.remove-bookmark-btn:hover{background:#dc2626;border-color:#dc2626;color:#fff}.bookmark-card-body{margin-bottom:1.5rem}.lot-details{margin-bottom:1rem}.detail-item{align-items:center;color:#374151;font-size:.9rem;gap:.75rem}.detail-icon{color:#6b7280;font-size:.875rem;width:16px}.lot-status{border-radius:20px;display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.status-available{background:#dcfce7;color:#16a34a}.status-reserved{background:#fef3c7;color:#d97706}.status-occupied{background:#fee2e2;color:#dc2626}.lot-description{background:#f8fafc;border-left:3px solid #4f46e5;border-radius:8px;margin-top:1rem;padding:.75rem}.lot-description p{color:#374151;font-size:.9rem;line-height:1.5;margin:0}.bookmark-card-footer{display:flex;gap:.75rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem 1rem;text-align:center;transition:all .2s ease}.btn-primary{background:#4f46e5}.btn-primary:hover{background:#4338ca}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#374151}.btn-secondary:hover{background:#e2e8f0;border-color:#cbd5e1}.bookmark-summary{background:#fff;border:1px solid #e2e8f0;border-radius:15px;padding:2rem;text-align:center}.bookmark-summary p{color:#64748b;font-size:1.1rem;margin:0}@media (max-width:768px){.bookmark-manager{padding:1rem}.bookmark-header h1{flex-direction:column;font-size:2rem;gap:.5rem}.bookmarks-grid{gap:1.5rem;grid-template-columns:1fr}.bookmark-card{padding:1rem}.bookmark-card-footer{flex-direction:column}.detail-item{font-size:.85rem}}@media (max-width:480px){.bookmark-header h1{font-size:1.75rem}.header-subtitle{font-size:1rem}.bookmark-card-header{align-items:flex-start;flex-direction:column;gap:1rem}.remove-bookmark-btn{align-self:flex-end}}.mapbox-client-map-view{display:flex;flex-direction:column;height:calc(100vh - 150px)}.client-map-bottom-spacing,.mapbox-client-map-view{background-color:#f8f9fa}.mapbox-client-map-view.loading{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center}.spinner{border:4px solid #f3f3f3;border-top-color:#007bff;height:40px;margin:0 auto 16px;width:40px}.map-filter-overlay{left:16px;pointer-events:none;position:absolute;right:16px;top:16px;z-index:1000}.map-filter-overlay>*{pointer-events:auto}.map-filter-overlay .filter-buttons{border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 12px #00000026;display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:12px 16px}.map-filter-overlay .filter-buttons,.map-filter-overlay .filter-info{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}.map-filter-overlay .filter-info{border:1px solid #fff3;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#6c757d;font-size:12px;font-weight:500;padding:8px 12px;text-align:center}.map-filter-floating{pointer-events:none;position:absolute;right:60px;top:16px;z-index:1000}.map-filter-floating>*{pointer-events:auto}.map-filter-floating .filter-buttons{display:flex;flex-direction:column;gap:6px;margin-bottom:0}.map-filter-floating .filter-info{color:#6c757d;font-size:12px;font-weight:500;margin-top:-4px;text-align:center}.map-filter-overlay .filter-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #dee2e6cc;border-radius:20px;color:#6c757d;cursor:pointer;font-size:13px;font-weight:500;padding:8px 16px;transition:all .2s ease}.map-filter-overlay .filter-btn:hover{background-color:#f8f9faf2;border-color:#adb5bde6;transform:translateY(-1px)}.map-filter-overlay .filter-btn.active{background-color:#007bff;border-color:#007bff;box-shadow:0 2px 8px #007bff4d;color:#fff}.map-filter-floating .filter-btn{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#ffffffe6;border:1px solid #dee2e6cc;border-radius:6px;box-shadow:0 2px 4px #0000001a;color:#6c757d;cursor:pointer;font-size:12px;font-weight:500;padding:8px 12px;transition:all .2s ease;white-space:nowrap}.map-filter-floating .filter-btn:hover{background-color:#f8f9faf2;border-color:#adb5bde6;box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.map-filter-floating .filter-btn.active{box-shadow:0 2px 8px #0000004d;color:#fff}.map-filter-floating .filter-btn.active[data-filter=all]{background-color:#000;border-color:#000}.map-filter-floating .filter-btn.active[data-filter=available]{background-color:#34c759;border-color:#34c759}.map-filter-floating .filter-btn.active[data-filter=reserved]{background-color:#007bff;border-color:#007bff}.map-filter-floating .filter-btn.active[data-filter=occupied]{background-color:#ff3b30;border-color:#ff3b30}.map-filter-floating .filter-btn.active[data-filter=unavailable]{background-color:#ffd60a;border-color:#ffd60a}.lot-details-panel{max-height:50vh}@media (max-width:768px){.mapbox-client-map-view{height:calc(100vh - 150px)}.map-header{flex-direction:column;gap:12px;padding:12px 16px}.map-title h2{font-size:20px}.map-title p{font-size:12px}.map-controls{justify-content:center;width:100%}.control-btn{flex:1 1;font-size:13px;justify-content:center;padding:10px 12px}.filter-controls{flex-direction:column;gap:12px;padding:12px 16px}.filter-buttons{flex-wrap:wrap;justify-content:center;width:100%}.filter-btn{flex:1 1;min-width:80px;padding:8px 12px}.filter-btn,.filter-info{font-size:11px;text-align:center}.map-filter-overlay{left:8px;right:8px;top:8px}.map-filter-overlay .filter-buttons{gap:6px;padding:8px 12px}.map-filter-overlay .filter-btn{flex:1 1;font-size:11px;min-width:70px;padding:6px 12px;text-align:center}.map-filter-overlay .filter-info{font-size:10px;padding:6px 10px}.time-of-day-overlay{bottom:12px;right:12px}.map-filter-floating{right:50px;top:8px}.map-filter-floating .filter-btn{font-size:10px;padding:6px 10px}.map-filter-floating .filter-info{font-size:9px;margin-top:-3px}.map-container{border-radius:8px;height:calc(100vh - 150px);margin:8px 12px 0}.map-stats{gap:8px;padding:12px 16px}.stat-item{flex:1 1}.stat-number{font-size:20px}.stat-label{font-size:11px}.lot-details-panel{max-height:60vh}.lot-details-header{padding:12px 16px}.lot-details-header h3{font-size:16px}.lot-details-content{padding:12px 16px}.detail-row{padding:6px 0}.detail-label,.detail-value{font-size:13px}.error-message{font-size:13px;padding:10px 16px}}@media (max-width:480px){.map-header{padding:8px 12px}.map-title h2{font-size:18px}.map-controls{flex-direction:column;gap:8px}.control-btn{font-size:14px;padding:12px}.filter-controls{padding:8px 12px}.filter-btn{font-size:10px;padding:10px 8px}.map-container{height:calc(100vh - 150px);margin:4px 8px 0}.map-stats{padding:8px 12px}.stat-number{font-size:18px}.stat-label{font-size:10px}.lot-details-panel{max-height:70vh}.lot-details-header{padding:10px 12px}.lot-details-header h3{font-size:15px}.lot-details-content{padding:10px 12px}.detail-label,.detail-value{font-size:12px}}@media (min-width:769px) and (max-width:1024px){.map-header{padding:14px 20px}.filter-controls{padding:10px 20px}.map-filter-overlay{left:12px;right:12px;top:12px}.map-filter-overlay .filter-buttons{padding:10px 14px}.map-filter-overlay .filter-btn{font-size:12px;padding:7px 14px}.map-filter-overlay .filter-info{font-size:11px;padding:7px 11px}.time-of-day-overlay{bottom:16px;right:16px}.map-filter-floating{right:55px;top:12px}.map-filter-floating .filter-btn{font-size:11px;padding:7px 11px}.map-filter-floating .filter-info{font-size:10px;margin-top:-3px}.map-container{height:calc(100vh - 150px);margin:12px 20px 0}.lot-details-content,.lot-details-header,.map-stats{padding:14px 20px}}@media (min-width:1200px){.map-header{padding:20px 32px}.filter-controls{padding:16px 32px}.map-filter-overlay{left:16px;right:16px;top:16px}.map-filter-overlay .filter-buttons{padding:12px 16px}.map-filter-overlay .filter-btn{font-size:13px;padding:8px 16px}.map-filter-overlay .filter-info{font-size:12px;padding:8px 12px}.time-of-day-overlay{bottom:20px;right:20px}.map-filter-floating{right:60px;top:16px}.map-filter-floating .filter-btn{font-size:12px;padding:8px 12px}.map-filter-floating .filter-info{font-size:12px;margin-top:-4px}.map-container{height:calc(100vh - 150px);margin:20px 32px 0}.map-stats{padding:20px 32px}.stat-number{font-size:28px}.stat-label{font-size:13px}.lot-details-panel{max-height:40vh}.lot-details-content,.lot-details-header{padding:20px 32px}}.mapbox-guest-map-view{display:flex;flex-direction:column;height:calc(100vh - 150px)}.guest-map-bottom-spacing,.mapbox-guest-map-view{background-color:#f8f9fa}.time-of-day-overlay{bottom:20px;pointer-events:none;position:absolute;right:20px;z-index:1000}.time-of-day-overlay>*{pointer-events:auto}.map-header{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;padding:16px 24px}.map-title h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0}.map-title p{color:#6c757d;font-size:14px;margin:4px 0 0}.map-controls{display:flex;gap:12px}.control-btn{align-items:center;background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;padding:8px 16px;transition:all .2s ease}.control-btn:hover{background-color:#f8f9fa;border-color:#adb5bd}.control-btn.refresh:hover{background-color:#28a745;border-color:#28a745;color:#fff}.error-message{background-color:#f8d7da;border-bottom:1px solid #f5c6cb;font-size:14px;justify-content:space-between;padding:12px 24px}.error-message,.error-message button{align-items:center;color:#721c24;display:flex}.error-message button{background:none;border:none;cursor:pointer;font-size:18px;height:24px;justify-content:center;padding:0;width:24px}.error-message button:hover{background-color:#721c241a;border-radius:50%}.filter-controls{align-items:center;background:#fff;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 24px}.filter-buttons{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px}.filter-btn{background:#fff;border:1px solid #dee2e6;border-radius:20px;color:#6c757d;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .2s ease}.filter-btn:hover{background-color:#f8f9fa;border-color:#adb5bd}.filter-btn.active{background-color:#007bff;border-color:#007bff;color:#fff}.filter-info{color:#6c757d;font-size:12px;font-weight:500}.map-container{background:#fff;border-radius:12px;box-shadow:0 4px 12px #00000026;height:calc(100vh - 150px);margin:8px 24px 0;overflow:hidden;position:relative}.grave-locator-overlay{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 20px #00000026;left:50px;max-width:350px;position:absolute;top:10px;z-index:50}.map-stats{background:#fff;border-top:1px solid #e9ecef;box-shadow:0 -2px 4px #0000001a;display:flex;justify-content:space-around;padding:16px 24px}.stat-item{align-items:center;display:flex;flex-direction:column;text-align:center}.stat-number{line-height:1}.stat-label{font-size:12px;letter-spacing:.5px;margin-top:4px}.lot-details-panel{background:#fff;border-top:1px solid #e9ecef;bottom:0;box-shadow:0 -4px 12px #00000026;left:0;max-height:60vh;overflow-y:auto;position:fixed;right:0;z-index:1000}.lot-details-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:16px 24px}.lot-details-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.close-btn{align-items:center;border-radius:50%;color:#6c757d;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;width:32px}.close-btn:hover{background-color:#e9ecef;color:#495057}.lot-details-content{padding:16px 24px}.detail-row{align-items:center;border-bottom:1px solid #f8f9fa;justify-content:space-between;padding:8px 0}.detail-row:last-child{border-bottom:none}.detail-label{color:#6c757d}.detail-label,.detail-value{font-size:14px;font-weight:500}.detail-value{color:#2c3e50}.detail-value.status-available{color:#28a745}.detail-value.status-reserved{color:#ffc107}.detail-value.status-occupied{color:#dc3545}.guest-cta{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;text-align:center}.guest-cta p{font-size:14px;margin:0 0 12px;opacity:.9}.cta-buttons{display:flex;gap:12px;justify-content:center}.cta-btn{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:2px solid #ffffff4d;border-radius:25px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:10px 20px;transition:all .3s ease}.cta-btn:hover{transform:translateY(-2px)}.cta-btn.primary,.cta-btn:hover{background:#fff3;border-color:#ffffff80}.cta-btn.primary:hover{background:#ffffff4d;border-color:#fff}@media (max-width:768px){.mapbox-guest-map-view{min-height:100vh}.map-header{flex-direction:column;gap:12px;padding:12px 16px}.map-title h2{font-size:20px}.map-title p{font-size:12px}.map-controls{justify-content:center;width:100%}.control-btn{flex:1 1;font-size:13px;justify-content:center;padding:10px 12px}.filter-controls{flex-direction:column;gap:12px;padding:12px 16px}.filter-buttons{flex-wrap:wrap;justify-content:center;width:100%}.filter-btn{flex:1 1;min-width:80px;padding:8px 12px}.filter-btn,.filter-info{font-size:11px;text-align:center}.map-container{border-radius:8px;height:calc(100vh - 150px);margin:8px 12px 0}.map-stats{gap:8px;padding:12px 16px}.stat-item{flex:1 1}.stat-number{font-size:20px}.stat-label{font-size:11px}.lot-details-panel{max-height:70vh}.lot-details-header{padding:12px 16px}.lot-details-header h3{font-size:16px}.lot-details-content{padding:12px 16px}.detail-row{padding:6px 0}.detail-label,.detail-value{font-size:13px}.guest-cta{padding:12px 16px}.guest-cta p{font-size:13px}.cta-buttons{flex-direction:column;gap:8px}.cta-btn{font-size:14px;padding:12px 20px}.error-message{font-size:13px;padding:10px 16px}}@media (max-width:480px){.map-header{padding:8px 12px}.map-title h2{font-size:18px}.map-controls{flex-direction:column;gap:8px}.control-btn{font-size:14px;padding:12px}.filter-controls{padding:8px 12px}.filter-btn{font-size:10px;padding:10px 8px}.map-container{height:calc(100vh - 150px);margin:4px 8px 0}.map-stats{padding:8px 12px}.stat-number{font-size:18px}.stat-label{font-size:10px}.lot-details-panel{max-height:80vh}.lot-details-header{padding:10px 12px}.lot-details-header h3{font-size:15px}.lot-details-content{padding:10px 12px}.detail-label,.detail-value{font-size:12px}.guest-cta{padding:10px 12px}.guest-cta p{font-size:12px}.cta-btn{font-size:13px;padding:10px 16px}}@media (min-width:769px) and (max-width:1024px){.map-header{padding:14px 20px}.filter-controls{padding:10px 20px}.map-container{height:calc(100vh - 150px);margin:12px 20px 0}.guest-cta,.lot-details-content,.lot-details-header,.map-stats{padding:14px 20px}}@media (min-width:1200px){.map-header{padding:20px 32px}.filter-controls{padding:16px 32px}.map-container{height:calc(100vh - 150px);margin:20px 32px 0}.map-stats{padding:20px 32px}.stat-number{font-size:28px}.stat-label{font-size:13px}.lot-details-panel{max-height:50vh}.guest-cta,.lot-details-content,.lot-details-header{padding:20px 32px}.guest-cta p{font-size:15px}.cta-btn{font-size:14px;padding:12px 24px}}.user-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.user-modal-content{animation:user-modal-appear .3s ease forwards;background:#fff;border-radius:15px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:1.5rem;text-align:center;transform:scale(.9);width:90%}.user-modal-icon{font-size:4rem;margin-bottom:1rem}.user-modal-content h3{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.user-modal-content p{color:#666;font-size:.9rem;line-height:1.4;margin:0 0 1rem}.user-field-group{display:flex;flex-direction:column;margin-bottom:.5rem;margin-top:2px;position:relative;text-align:left}.booking-modal-content .user-field-group{margin-bottom:.4rem;margin-top:1px}.user-field-group input::placeholder{color:#0000}.user-field-group input{background:#fafafa;border:1px solid #ccc;border-radius:5px;box-sizing:border-box;color:#333;font-size:14px;overflow:hidden;padding:14px 12px 10px;position:relative;text-overflow:ellipsis;transition:border-color .2s,box-shadow .2s;white-space:nowrap;width:100%;z-index:1}.booking-modal-content .user-field-group input{font-size:13px;padding:10px 10px 8px}.user-field-group input.has-error{border-color:#dc2626}.user-field-group label{background:#fafafa;color:#999;font-size:14px;left:12px;padding:0 4px;pointer-events:none;position:absolute;top:10px;transition:all .2s ease-out;z-index:2}.booking-modal-content .user-field-group label{font-size:13px;left:10px;top:8px}.user-field-group input:focus+label,.user-field-group input:not(:placeholder-shown)+label,.user-field-group input:valid+label{background:#fff;color:#6d4c41;font-size:12px;left:8px;top:-8px}.booking-modal-content .user-field-group input:focus+label,.booking-modal-content .user-field-group input:not(:placeholder-shown)+label,.booking-modal-content .user-field-group input:valid+label{font-size:11px;left:6px;top:-6px}.user-field-group input:focus{outline:none}.user-field-group small.user-error{color:red;display:block;font-size:11px;line-height:1em;margin-top:.25rem;min-height:1em}.booking-modal-content .user-field-group small.user-error{font-size:10px;margin-top:.15rem;min-height:.8em}.user-field-group select{-webkit-appearance:none;appearance:none;background:#fafafa;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border:1px solid #ccc;border-radius:5px;box-sizing:border-box;color:#333;font-size:14px;padding:14px 40px 10px 12px;position:relative;transition:border-color .2s,box-shadow .2s;width:100%;z-index:1}.booking-modal-content .user-field-group select{background-position:right 10px center;background-size:14px;font-size:13px;padding:10px 35px 8px 10px}.booking-modal-content .user-field-group select:not([value=""])+label,.booking-modal-content .user-field-group select:valid+label{background:#fff!important;color:#6d4c41!important;font-size:11px!important;left:6px!important;top:-6px!important}.booking-modal-content .user-field-group label.lifted{background:#fff!important;color:#6d4c41!important;font-size:11px!important;left:6px!important;top:-6px!important}.user-field-group select:focus{border-color:#6d4c41;outline:none}.user-field-group select.has-error{border-color:#dc2626}.user-field-group input[style*="textAlign: center"]{border:1px solid #dee2e6!important;border-radius:8px!important;font-family:Courier New,monospace;font-size:1.2rem!important;letter-spacing:.3rem!important;padding:12px!important;text-align:center!important;width:100%!important}.user-alert{align-items:center;border-radius:10px;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;margin-bottom:1.5rem;padding:1rem 1.5rem}.user-alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.user-modal-actions{display:flex;gap:1rem;justify-content:center;margin-top:.75rem}.user-btn-cancel{background:#fff;border:1px solid #dee2e6;border-radius:8px;color:#6c757d;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.user-btn-cancel:hover{background-color:#f8f9fa;border-color:#adb5bd}.user-btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;letter-spacing:.5px;padding:.75rem 2rem;text-transform:uppercase;transition:all .3s ease}.user-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.user-btn-primary:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.user-modal-content{max-width:400px;padding:1rem}.user-modal-actions{flex-direction:column;gap:.75rem}.user-btn-cancel,.user-btn-primary{padding:.875rem 1rem;width:100%}.user-field-group{margin-bottom:.5rem}}.users-page{margin:0 auto;max-width:1400px;padding:1rem}.users-page-header{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.stat-box.active{background:linear-gradient(135deg,#43e97b,#38f9d7)}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.users-table th{border-bottom:2px solid #ddd;color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.users-table th,.users-table tr:hover{background-color:#f8f9fa}.users-table .name-cell{color:#333;font-weight:600}.users-table .email-cell{color:#666;font-family:Courier New,monospace}.users-table .role-cell,.users-table .status-cell{text-align:center}.role-badge.staff{background-color:#007bff}.role-badge.client,.status-badge.active{background-color:#28a745}.status-badge.active{color:#fff}.status-badge.inactive{background-color:#6c757d;color:#fff}.modal{border-radius:10px;box-shadow:0 8px 32px #0003;padding:2rem;width:450px}.modal-header{border-bottom:2px solid #eee;margin-bottom:1.5rem;padding-bottom:1rem}.modal-header h3{color:#333;font-size:1.5rem}.modal-close{color:#666;font-size:1.5rem;transition:color .2s ease}.modal-close:hover{color:#333}.modal-body{margin-bottom:1.5rem}.modal-body label{color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.modal-body input,.modal-body select{border:2px solid #ddd;border-radius:6px;font-size:1rem;margin-bottom:1rem;padding:.75rem;transition:border-color .2s ease,box-shadow .2s ease}.modal-body input:focus,.modal-body select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.modal-footer{border-top:2px solid #eee;gap:1rem;padding-top:1rem}.modal-footer button{border-radius:6px;font-size:.875rem;font-weight:500;letter-spacing:.5px;padding:.75rem 1.5rem;text-transform:uppercase;transition:all .2s ease}.modal-footer .btn-save{background-color:#007bff;color:#fff}.modal-footer .btn-save:hover{background-color:#0056b3}.modal-footer .btn-delete{background-color:#dc3545}.modal-footer .btn-delete:hover{background-color:#c82333}.modal-footer .btn-cancel{background-color:#6c757d;color:#fff}.modal-footer .btn-cancel:hover{background-color:#545b62}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.users-table{font-size:.875rem}.users-table td,.users-table th{padding:.5rem}.actions-cell{flex-direction:column;gap:.25rem}.btn-delete,.btn-edit{font-size:.75rem;padding:.25rem .5rem}.modal{padding:1.5rem;width:95%}}@media (max-width:480px){.users-page{padding:.5rem}.stat-box{padding:1rem}.stat-value{font-size:1.5rem}.modal{padding:1rem}}.home-page{height:calc(100vh - 96px);margin:0 auto;max-width:1200px;overflow:hidden;padding:40px;position:relative}.background-container{background-color:#f5f5f5;z-index:-2}.background-container,.background-svg{height:100vh;left:0;position:fixed;top:0;width:100%}.background-svg{filter:drop-shadow(0 4px 6px rgba(0,0,0,.1));opacity:1;pointer-events:none;transform:scale(1.5);z-index:-1}.welcome-section{margin-bottom:48px;margin-top:50px;text-align:left}.welcome-section h1{color:#1a1a1a;font-size:2.5rem;margin-bottom:8px}.welcome-section p{color:#666;font-size:1.2rem}.features-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);overflow-x:hidden;padding:50px 0}@media (max-width:1200px){.features-grid{gap:12px;grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.features-grid{gap:12px;grid-template-columns:1fr}}.feature-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;cursor:pointer;opacity:.6;overflow:visible;padding:24px;position:relative;transition:all .3s ease}.feature-card:hover{box-shadow:0 8px 30px #0000001f;opacity:1;transform:translateY(-4px)}.feature-card:before{background:var(--hover-color);border-radius:16px 16px 0 0;content:"";height:8px;left:0;opacity:0;position:absolute;top:0;transform:translateY(-1px);transition:opacity .3s ease;width:100%}.feature-card:hover:before{opacity:1}.feature-icon{background:rgba(var(--hover-color),.1);border-radius:12px;display:inline-block;margin-bottom:16px;padding:12px}.feature-card h2{color:#1a1a1a;font-size:1.25rem;margin-bottom:12px}.feature-card p{color:#666;line-height:1.5;margin:0}.butterfly{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.butterfly img{transition:opacity .5s ease}.feature-card:hover .butterfly img{opacity:.8!important}.floating-chat-button{align-items:center;background:#ff9500;border:none;border-radius:50%;bottom:30px;box-shadow:0 4px 12px #ff95004d;color:#fff;cursor:pointer;display:flex;height:60px;justify-content:center;position:fixed;right:30px;transition:all .3s ease;width:60px;z-index:1000}.floating-chat-button:hover{background:#e6850e;box-shadow:0 6px 20px #ff950066;transform:scale(1.1)}.chatbot-overlay{align-items:center;background:#00000080;display:flex;height:100%;justify-content:center;left:0;padding:20px;position:fixed;top:0;width:100%;z-index:2000}.chatbot-modal{background:#fff;border-radius:16px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;height:700px;max-height:90vh;max-width:600px;overflow:hidden;width:100%}.chatbot-modal .chatbot-header{align-items:center;background:#fff!important;border-bottom:1px solid #e0e0e0;color:#333!important;display:flex;justify-content:space-between;padding:20px}.chatbot-title{align-items:center;display:flex;font-size:1.1rem;font-weight:600;gap:10px}.chatbot-header-actions{display:flex;gap:8px}.chatbot-modal .clear-chat-button,.chatbot-modal .close-chat-button{align-items:center;background:#0000001a!important;border:none;border-radius:8px;color:#333!important;cursor:pointer;display:flex;justify-content:center;padding:8px;transition:background .2s ease}.chatbot-modal .clear-chat-button:hover,.chatbot-modal .close-chat-button:hover{background:#0003!important}.chatbot-messages{background:#f8f9fa;display:flex;flex:1 1;flex-direction:column;gap:16px;min-height:0;overflow-y:auto;padding:20px}.message{display:flex;gap:12px;max-width:85%}.user-message{align-self:flex-end;flex-direction:row-reverse}.bot-message{align-self:flex-start}.message-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;margin-top:4px;width:32px}.user-message .message-icon{background:#007bff;color:#fff}.bot-message .message-icon{background:#ff9500;color:#fff}.message-bubble{background:#fff;border-radius:16px;box-shadow:0 2px 8px #0000001a;padding:12px 16px;position:relative}.user-message .message-bubble{background:#007bff;color:#fff}.message-content{word-wrap:break-word;font-size:14px;line-height:1.4;white-space:pre-wrap}.message-timestamp{font-size:11px;margin-top:4px;opacity:.7;text-align:right}.user-message .message-timestamp{text-align:left}.typing-indicator{align-items:center;display:flex;gap:4px}.typing-indicator span{animation:typing 1.4s ease-in-out infinite;background:#ff9500;border-radius:50%;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{opacity:.5;transform:scale(0)}40%{opacity:1;transform:scale(1)}}.quick-responses{background:#f8f9fa;flex-shrink:0;max-height:300px;overflow-y:auto;padding:0 20px 20px}.quick-responses-title{color:#666;font-size:12px;font-weight:500;margin-bottom:12px}.quick-responses-grid{display:flex;flex-direction:column;gap:10px}.quick-response-button{word-wrap:break-word;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-sizing:border-box;color:#495057;cursor:pointer;font-size:14px;line-height:1.4;min-height:50px;padding:12px 16px;text-align:left;transition:all .2s ease;white-space:normal;width:100%}.quick-response-button:hover{background:#f8f9fa;border-color:#ff9500;color:#ff9500}.chatbot-input{background:#fff;border-top:1px solid #e1e5e9;bottom:0;flex-shrink:0;padding:20px;position:-webkit-sticky;position:sticky;z-index:10}.file-upload-button{background:#28a745;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;margin-bottom:12px;padding:10px 16px;transition:background .2s ease;width:100%}.file-upload-button:hover:not(:disabled){background:#218838}.file-upload-button:disabled{background:#6c757d;cursor:not-allowed}.chatbot-input-row{align-items:center;display:flex;gap:12px}.chatbot-input-row input{border:1px solid #e1e5e9;border-radius:8px;flex:1 1;font-size:14px;outline:none;padding:12px 16px;transition:border-color .2s ease}.chatbot-input-row input:focus{border-color:#ff9500}.chatbot-input-row input:disabled{background:#f8f9fa;color:#6c757d;cursor:not-allowed}.send-button{align-items:center;background:#ff9500;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:12px;transition:background .2s ease}.send-button:hover:not(:disabled){background:#e6850e}.send-button:disabled{background:#6c757d;cursor:not-allowed}.columbarium-nav-btn{background:#2e7d32;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin:4px 0;padding:8px 16px;transition:background-color .2s ease}.columbarium-nav-btn:hover{background:#1b5e20}.map-nav-btn{background:#1976d2;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;margin:4px 0;padding:8px 16px;transition:background-color .2s ease}.map-nav-btn:hover{background:#1565c0}.show-quick-questions{border-top:1px solid #e9ecef;padding:10px 20px;text-align:center}.show-quick-questions-btn{background:#f8f9fa;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.show-quick-questions-btn:hover:not(:disabled){background:#e9ecef;border-color:#adb5bd;color:#495057}.show-quick-questions-btn:disabled{cursor:not-allowed;opacity:.6}.profile-container{background:#f8fafc;margin:0 auto;max-width:1200px;min-height:100vh;padding:2rem}.profile-container.modal{background:#0000;margin:0;max-width:none;min-height:auto;padding:0}.modal-backdrop{background:#000000b3;padding:1rem}.modal-content{border-radius:20px;box-shadow:0 25px 50px #00000040;max-width:1000px;padding:2rem;width:100%}.modal-close{background:#f1f5f9;color:#64748b;font-size:1.2rem;height:40px;position:absolute;right:1rem;top:1rem;width:40px;z-index:10}.modal-close:hover{background:#e2e8f0;color:#334155}.loading-spinner{flex-direction:column;padding:4rem 2rem}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-left-color:#3b82f6;border-radius:50%;height:50px;margin-bottom:1rem;width:50px}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;padding:2rem}.profile-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;display:flex;gap:2rem;margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative}.profile-header:before{background:#ffffff1a;border-radius:50%;content:"";height:100px;position:absolute;right:0;top:0;transform:translate(50%,-50%);width:100px}.profile-avatar{position:relative;z-index:2}.profile-avatar img{object-fit:cover}.avatar-placeholder,.profile-avatar img{border:4px solid #ffffff4d;border-radius:50%;height:120px;width:120px}.avatar-placeholder{align-items:center;background:#fff3;display:flex;justify-content:center}.role-icon{font-size:3rem;opacity:.8}.role-icon.admin{color:#fbbf24}.role-icon.staff{color:#60a5fa}.role-icon.client{color:#34d399}.profile-info{flex:1 1;z-index:2}.profile-name{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px #0000001a}.role-badge{align-items:center;border-radius:25px;display:inline-flex;font-size:.875rem;gap:.5rem;letter-spacing:.5px;margin-bottom:1rem;padding:.5rem 1rem}.role-badge.admin{background:#fbbf2433;border:1px solid #fbbf244d;color:#fbbf24}.role-badge.staff{background:#60a5fa33;border:1px solid #60a5fa4d;color:#60a5fa}.role-badge.client{background:#34d39933;border:1px solid #34d3994d;color:#34d399}.profile-email,.profile-phone{align-items:center;display:flex;font-size:1.1rem;gap:.75rem;margin:.5rem 0;opacity:.9}.profile-actions{display:flex;flex-direction:column;gap:1rem;z-index:2}.edit-actions{display:flex;gap:.5rem}.btn-outline,.btn-primary,.btn-secondary,.btn-success{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease;white-space:nowrap}.btn-secondary{background:#ffffff1a}.btn-secondary:hover{background:#fff3}.btn-success{background:#10b981}.btn-success:hover{background:#059669;transform:translateY(-1px)}.btn-outline{border:2px solid #ffffff4d;color:#fff}.btn-outline:hover{background:#ffffff1a;border-color:#ffffff80}.btn-primary:disabled,.btn-secondary:disabled,.btn-success:disabled{cursor:not-allowed;opacity:.6;transform:none}.alert{border-radius:10px;font-weight:500;margin-bottom:1.5rem;padding:1rem 1.5rem}.alert-error{background:#fef2f2;border:1px solid #fecaca;color:#dc2626}.alert-success{background:#f0fdf4;border:1px solid #bbf7d0;color:#16a34a}.alert-close{background:none;border:none;cursor:pointer;font-size:1.2rem;margin-left:1rem;opacity:.7;padding:0}.alert-close:hover{opacity:1}.password-change-section{background:#fff;border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 4px 6px #0000000d;margin-bottom:2rem;padding:2rem}.password-change-section h3{align-items:center;color:#334155;display:flex;font-size:1.5rem;gap:.75rem;margin:0 0 1.5rem}.password-form{grid-gap:1.5rem;display:grid;gap:1.5rem}.password-input{position:relative}.password-input input{padding-right:3rem}.password-toggle{background:none;border:none;color:#64748b;cursor:pointer;font-size:1rem;padding:0;position:absolute;right:1rem;top:5%;transform:translateY(-50%)}.password-toggle:hover{color:#334155}.password-actions{display:flex;gap:1rem;justify-content:flex-start}.password-actions .btn-primary,.password-actions .btn-secondary{background:#3b82f6;color:#fff}.password-actions .btn-primary:hover{background:#2563eb}.password-actions .btn-secondary{background:#6b7280}.password-actions .btn-secondary:hover{background:#4b5563}.profile-sections{grid-gap:2rem;display:grid;gap:2rem}.profile-section{background:#fff;border:1px solid #e2e8f0;border-radius:15px;box-shadow:0 4px 6px #0000000d;padding:2rem;transition:all .2s ease}.profile-section:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-1px)}.profile-section h3{align-items:center;border-bottom:2px solid #f1f5f9;color:#334155;display:flex;font-size:1.5rem;gap:.75rem;margin:0 0 1.5rem;padding-bottom:1rem}.form-grid{grid-gap:1.5rem;gap:1.5rem}.form-group{gap:.5rem}.form-group.full-width{grid-column:1/-1}.form-group label{color:#374151}.form-group input,.form-group select{background:#fff;border:2px solid #e2e8f0;font-size:1rem;padding:.75rem 1rem}.form-group input:focus,.form-group select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-value{align-items:center;background:#f8fafc;border:2px solid #0000;border-radius:8px;color:#475569;display:flex;font-size:1rem;min-height:22px;padding:.75rem 1rem}.form-value.capitalize{text-transform:capitalize}.form-value.status{font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.form-value.status.active,.form-value.status.verified{background:#ecfdf5;color:#059669}.form-value.status.inactive,.form-value.status.unverified{background:#fef2f2;color:#dc2626}.checkbox-container{align-items:center;color:#374151;cursor:pointer;display:flex;font-weight:500;gap:.75rem;padding:.5rem 0}.checkbox-container input[type=checkbox]{display:none}.checkmark{align-items:center;background:#fff;border:2px solid #d1d5db;border-radius:4px;display:flex;height:20px;justify-content:center;transition:all .2s ease;width:20px}.checkbox-container input[type=checkbox]:checked+.checkmark{background:#3b82f6;border-color:#3b82f6}.checkbox-container input[type=checkbox]:checked+.checkmark:after{color:#fff;content:"✓";font-size:.875rem;font-weight:700}.schedule-display{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;padding:1rem}.schedule-display p{color:#475569;margin:.5rem 0}@media (max-width:768px){.profile-container{padding:1rem}.modal-content{margin:.5rem;max-height:95vh;padding:1rem}.profile-header{flex-direction:column;gap:1.5rem;padding:1.5rem;text-align:center}.profile-name{font-size:2rem}.profile-actions{flex-direction:row;flex-wrap:wrap;justify-content:center}.edit-actions{flex-direction:column;width:100%}.form-grid{grid-template-columns:1fr}.password-actions{flex-direction:column}.profile-section{padding:1.5rem}}@media (max-width:480px){.modal-backdrop{padding:0}.modal-content{border-radius:0;height:100vh;max-height:100vh}.avatar-placeholder,.profile-avatar img{height:100px;width:100px}.role-icon{font-size:2.5rem}.profile-name{font-size:1.75rem}.profile-section h3{font-size:1.25rem}.btn-outline,.btn-primary,.btn-secondary,.btn-success{font-size:.8125rem;padding:.625rem 1.25rem}}.password-change-section,.profile-section{animation:fadeInUp .3s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.btn-outline:focus,.btn-primary:focus,.btn-secondary:focus,.btn-success:focus,.checkbox-container:focus-within,.form-group input:focus,.form-group select:focus{outline:2px solid #3b82f6;outline-offset:2px}@media print{.modal-close,.password-change-section,.profile-actions{display:none}.profile-container{background:#fff;box-shadow:none}.profile-section{border:1px solid #e2e8f0;box-shadow:none;break-inside:avoid;page-break-inside:avoid}}.profile-page{background:#f8fafc;min-height:100vh;padding:0}.profile-page .profile-container{background:#0000;min-height:auto;padding:2rem}*{box-sizing:border-box;margin:0;padding:0}.visitor-loading-container{align-items:center;background:#fafafa;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:2rem}.visitor-loading-spinner{animation:visitorSpin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#2c3e50;height:50px;margin-bottom:1rem;width:50px}@keyframes visitorSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.visitor-magazine-container{background:#fff;color:#2c3e50;font-family:Georgia,Times New Roman,serif;line-height:1.6;min-height:100vh;overflow-x:hidden;transition:filter .3s ease}.visitor-magazine-container.visitor-blurred{filter:blur(3px);pointer-events:none}.visitor-hero-section{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;height:80vh;justify-content:center;min-height:600px;overflow:hidden;position:relative}.visitor-hero-background{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000'%3E%3Cpath fill='%23ffffff08' d='m0 0 1000 300v700L0 700z'/%3E%3C/svg%3E")}.visitor-hero-background,.visitor-hero-overlay{bottom:0;left:0;position:absolute;right:0;top:0}.visitor-hero-overlay{background:linear-gradient(45deg,#2c3e504d,#3498db33)}.visitor-hero-content{color:#fff;max-width:800px;padding:0 2rem;position:relative;text-align:center;z-index:10}.visitor-hero-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff26;border:1px solid #fff3;border-radius:50px;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;letter-spacing:.5px;margin-bottom:2rem;padding:.75rem 1.5rem;text-transform:uppercase}.visitor-badge-icon{color:#2ecc71;font-size:1rem}.visitor-hero-title{font-size:4rem;font-weight:300;letter-spacing:-1px;line-height:1.1;margin-bottom:1.5rem}.visitor-hero-description{font-size:1.3rem;font-weight:300;line-height:1.5;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9}.visitor-hero-stats{display:flex;gap:4rem;justify-content:center}.visitor-hero-stat{text-align:center}.visitor-stat-number{display:block;font-size:3rem;font-weight:700;line-height:1;margin-bottom:.5rem}.visitor-stat-label{font-size:.9rem;letter-spacing:1px;opacity:.8;text-transform:uppercase}.visitor-content-flow{margin:0 auto;max-width:1200px;padding:4rem 2rem}.visitor-section-header{margin-bottom:4rem;margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.visitor-section-meta{align-items:center;background:#f8f9fa;border-radius:20px;color:#6c757d;display:inline-flex;font-size:.85rem;gap:.5rem;letter-spacing:.5px;margin-bottom:1rem;padding:.5rem 1rem;text-transform:uppercase}.visitor-section-icon{color:#3498db}.visitor-section-title{font-size:2.5rem;font-weight:300;line-height:1.2;margin-bottom:1rem}.visitor-section-subtitle{color:#6c757d;font-size:1.1rem;font-weight:300}.visitor-flow-section{margin-bottom:6rem}.visitor-error-banner{align-items:center;background:#fee;border-left:4px solid #e53e3e;border-radius:8px;color:#c53030;display:flex;gap:.75rem;margin-bottom:2rem;padding:1rem 1.5rem}.visitor-error-icon{font-size:1.2rem}.visitor-announcements-magazine{grid-gap:3rem;display:grid;gap:3rem}.visitor-featured-announcement{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 10px 40px #0000001a;cursor:pointer;padding:3rem;transition:all .4s ease}.visitor-featured-announcement:hover{box-shadow:0 20px 60px #00000026;transform:translateY(-8px)}.visitor-featured-announcement.pinned{background:linear-gradient(135deg,#fff9e6,#fff3cd);border-color:#ffc107}.visitor-article-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.visitor-pinned-badge{align-items:center;background:linear-gradient(135deg,#ffc107,#ffb300);border-radius:20px;color:#8b4513;display:inline-flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.visitor-pin-icon{font-size:.8rem}.visitor-article-meta{text-align:right}.visitor-article-date{color:#6c757d;font-size:.9rem;font-style:italic}.visitor-article-title{color:#2c3e50;font-size:2rem;font-weight:400;line-height:1.3;margin-bottom:1rem}.visitor-article-excerpt{color:#555;font-size:1.1rem;line-height:1.6;margin-bottom:1.5rem}.visitor-read-more-btn{align-items:center;background:none;border:2px solid #3498db;border-radius:25px;color:#3498db;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.visitor-read-more-btn:hover{background:#3498db;color:#fff;transform:translateX(5px)}.visitor-arrow-icon{font-size:.8rem;transition:transform .3s ease}.visitor-read-more-btn:hover .visitor-arrow-icon{transform:translateX(3px)}.visitor-more-announcements{background:#f8f9fa;border-radius:12px;padding:2rem}.visitor-more-announcements h4{color:#2c3e50;font-size:1.3rem;margin-bottom:1.5rem}.visitor-announcement-list{grid-gap:1rem;display:grid;gap:1rem}.visitor-announcement-item{background:#fff;border:1px solid #e9ecef;border-radius:8px;cursor:pointer;padding:1rem;transition:all .3s ease}.visitor-announcement-item:hover{border-color:#3498db;transform:translateX(5px)}.visitor-item-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.visitor-item-header h5{color:#2c3e50;font-size:1rem;margin:0}.visitor-small-pin{color:#ffc107;font-size:.8rem}.visitor-item-date{color:#6c757d;font-size:.85rem;font-style:italic}.visitor-more-count{color:#6c757d;font-style:italic;margin-top:1rem;text-align:center}.visitor-empty-announcements{color:#6c757d;padding:4rem 2rem;text-align:center}.visitor-empty-icon{color:#dee2e6;font-size:4rem;margin-bottom:1rem}.visitor-empty-announcements h3{color:#495057;font-size:1.5rem;margin-bottom:.5rem}.visitor-split-section{grid-gap:4rem;display:grid;gap:4rem;grid-template-columns:1fr 1fr;margin-bottom:6rem}.visitor-guidelines-block,.visitor-hours-block{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 8px 25px #00000014;padding:2.5rem}.visitor-block-header{align-items:center;display:flex;gap:1rem;margin-bottom:2rem}.visitor-block-icon{align-items:center;background:linear-gradient(135deg,#3498db,#2980b9);border-radius:12px;color:#fff;display:flex;font-size:1.2rem;height:50px;justify-content:center;width:50px}.visitor-block-text h3{color:#2c3e50;font-size:1.5rem;margin-bottom:.25rem}.visitor-block-text p{color:#6c757d;font-size:.9rem}.visitor-hours-schedule{grid-gap:1rem;display:grid;gap:1rem}.visitor-schedule-item{align-items:center;background:#f8f9fa;border-left:3px solid #3498db;border-radius:8px;display:flex;justify-content:space-between;padding:1rem}.visitor-schedule-day{color:#2c3e50;font-weight:600}.visitor-schedule-hours{color:#6c757d;font-weight:500}.visitor-guidelines-content{grid-gap:1rem;display:grid;gap:1rem}.visitor-guideline{align-items:flex-start;background:#f8f9fa;border-radius:8px;display:flex;gap:1rem;padding:1rem}.visitor-guideline-marker{background:#3498db;border-radius:50%;flex-shrink:0;height:8px;margin-top:.5rem;width:8px}.visitor-gallery-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.visitor-gallery-item{background:#fff;border:1px solid #f0f0f0;border-radius:16px;box-shadow:0 8px 25px #00000014;overflow:hidden;transition:all .4s ease}.visitor-gallery-item:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-5px)}.visitor-gallery-item.featured{grid-column:span 2;grid-row:span 2}.visitor-gallery-image{height:250px;overflow:hidden;position:relative}.visitor-gallery-item.featured .visitor-gallery-image{height:350px}.visitor-gallery-image img{height:100%;object-fit:cover;transition:transform .4s ease;width:100%}.visitor-gallery-item:hover .visitor-gallery-image img{transform:scale(1.05)}.visitor-image-overlay{align-items:center;background:#3498dbe6;border-radius:50%;color:#fff;display:flex;height:40px;justify-content:center;opacity:0;position:absolute;right:1rem;top:1rem;transition:opacity .3s ease;width:40px}.visitor-gallery-item:hover .visitor-image-overlay{opacity:1}.visitor-overlay-icon{font-size:1rem}.visitor-gallery-content{padding:2rem}.visitor-gallery-title{color:#2c3e50;font-size:1.3rem;font-weight:400;margin-bottom:.75rem}.visitor-gallery-description{color:#6c757d;line-height:1.5;margin:0}.visitor-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.visitor-modal-content{animation:modalSlideIn .4s ease-out;background:#fff;border-radius:20px;box-shadow:0 25px 80px #0000004d;max-height:85vh;max-width:700px;overflow-y:auto;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.visitor-modal-close{align-items:center;background:#0000001a;border:none;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:all .3s ease;width:40px;z-index:10}.visitor-modal-close:hover{background:#0003;transform:rotate(90deg)}.visitor-modal-header{border-bottom:1px solid #f0f0f0;padding:3rem 3rem 1.5rem}.visitor-modal-featured-badge{align-items:center;background:linear-gradient(135deg,#ffc107,#ffb300);border-radius:20px;color:#8b4513;display:inline-flex;font-size:.8rem;font-weight:600;gap:.5rem;letter-spacing:.5px;margin-bottom:1.5rem;padding:.5rem 1rem;text-transform:uppercase}.visitor-modal-title{color:#2c3e50;font-size:2rem;font-weight:400;line-height:1.3;margin-bottom:1rem}.visitor-modal-date{align-items:center;color:#6c757d;display:flex;font-size:.9rem;font-style:italic;gap:.5rem}.visitor-date-icon{font-size:.8rem}.visitor-modal-body{padding:1.5rem 3rem 3rem}.visitor-modal-image{border-radius:12px;margin-bottom:2rem;width:100%}.visitor-modal-text p{color:#555;font-size:1.1rem;line-height:1.7;margin-bottom:1rem}.visitor-modal-text p:last-child{margin-bottom:0}@media (max-width:968px){.visitor-hero-title{font-size:3rem}.visitor-hero-stats{gap:2rem}.visitor-split-section{gap:2rem;grid-template-columns:1fr}.visitor-gallery-item.featured{grid-column:span 1;grid-row:span 1}.visitor-gallery-item.featured .visitor-gallery-image{height:250px}.visitor-content-flow{padding:3rem 1.5rem}.visitor-featured-announcement,.visitor-guidelines-block,.visitor-hours-block{padding:2rem}}@media (max-width:768px){.visitor-hero-title{font-size:2.5rem}.visitor-hero-description{font-size:1.1rem}.visitor-hero-stats{flex-direction:column;gap:1.5rem}.visitor-section-title{font-size:2rem}.visitor-article-title{font-size:1.5rem}.visitor-modal-body,.visitor-modal-header{padding:2rem}.visitor-modal-title{font-size:1.5rem}.visitor-gallery-grid{gap:1.5rem;grid-template-columns:1fr}.visitor-announcement-list{gap:.75rem}}@media (max-width:480px){.visitor-hero-section{height:70vh;min-height:500px}.visitor-hero-title{font-size:2rem}.visitor-hero-description{font-size:1rem}.visitor-section-title{font-size:1.8rem}.visitor-article-header{align-items:flex-start;flex-direction:column;gap:1rem}.visitor-article-title{font-size:1.3rem}.visitor-content-flow{padding:2rem 1rem}.visitor-featured-announcement,.visitor-guidelines-block,.visitor-hours-block{padding:1.5rem}.visitor-gallery-grid{gap:1rem;grid-template-columns:1fr}.visitor-modal-content{margin:1rem;padding:1.5rem}.visitor-modal-title{font-size:1.3rem}.visitor-hero-badge{font-size:.8rem;padding:.5rem 1rem}.visitor-stat-number{font-size:2.5rem}}.visitor-announcement-item:focus,.visitor-featured-announcement:focus,.visitor-gallery-item:focus,.visitor-modal-close:focus,.visitor-read-more-btn:focus{outline:2px solid #3498db;outline-offset:2px}html{scroll-behavior:smooth}.visitor-announcement-item:focus,.visitor-featured-announcement:focus,button:focus{outline:2px solid #3498db;outline-offset:2px}.visitor-gallery-image img{transition:opacity .3s ease}.visitor-gallery-image img[src=""]{opacity:0}.visitor-gallery-item:hover .visitor-gallery-content{transform:translateY(-2px)}.visitor-gallery-content{transition:transform .3s ease}.announcement-container{box-sizing:border-box;padding:1rem 2rem;width:100%}.announcement-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.announcement-form label{display:flex;flex-direction:column;font-size:.9rem}.announcement-form input,.announcement-form textarea{border:1px solid #ccc;border-radius:4px;font-size:.95rem;padding:.5rem}.announcement-form button{align-self:flex-end;background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;padding:.5rem 1rem;transition:background .2s ease}.announcement-form button:hover{background:#0056b3}.announcement-list{list-style:none;margin:0;padding:0}.announcement-list li{background:#fafafa;border:1px solid #ddd;border-radius:4px;cursor:pointer;margin-bottom:1rem;padding:1rem;position:relative;transition:background .2s ease,box-shadow .2s ease}.announcement-list li:hover{background:#f0f0f0;box-shadow:0 2px 8px #0000001a}.announcement-list li.pinned{background:#fff8e1;border-color:#ffbf00}.announcement-list h4{font-size:1rem;font-weight:700;margin:0 0 .5rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement-list p{color:#333;font-size:.95rem;margin:0 0 1rem;overflow-wrap:break-word;white-space:normal;word-break:break-word}.edit-message,.edit-title{border:1px solid #ccc;border-radius:4px;font-size:.95rem;margin-bottom:.5rem;padding:.4rem;width:100%}.actions{display:flex;gap:.5rem}.actions button{border:none;border-radius:4px;cursor:pointer;font-size:.85rem;padding:.3rem .6rem;transition:opacity .2s ease}.actions button:first-child{background:#28a745;color:#fff}.actions button:nth-child(2){background:#dc3545;color:#fff}.actions button:nth-child(3){background:#ffc107;color:#000}.actions button:hover{opacity:.9}.modal-message{overflow-wrap:break-word;white-space:pre-wrap}.announcement-form-container{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);min-height:100vh;padding:2rem}.announcement-page-header{background:#fff;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;margin-bottom:2rem;overflow:hidden;padding:3rem;position:relative}.announcement-header-content{align-items:center;display:flex;gap:2rem;position:relative;z-index:2}.announcement-icon-wrapper{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.announcement-header-icon{color:#fff;font-size:2.5rem}.announcement-header-text h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px #0000004d}.announcement-header-text p{font-size:1.2rem;font-weight:300;margin:0;opacity:.9}.announcement-notification{align-items:center;animation:announcement-slideIn .3s ease-out;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1rem 1.5rem;position:relative}.announcement-notification.error{background:linear-gradient(135deg,#ffeaea,#ffcdd2);border-left:4px solid #e74c3c;color:#721c24}.announcement-notification.success{background:linear-gradient(135deg,#eafaf1,#d4edda);border-left:4px solid #27ae60;color:#155724}.announcement-notification-icon{flex-shrink:0;font-size:1.25rem}.announcement-notification span{flex:1 1;font-weight:500}.announcement-notification-close{background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;opacity:.7;padding:.25rem;transition:background-color .2s ease}.announcement-notification-close:hover{background:#0000001a;opacity:1}@keyframes announcement-slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.announcement-content-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1.5fr;margin:0 auto;max-width:1400px}.announcement-section-header{margin-bottom:2rem}.announcement-section-header h2{color:#333;font-size:1.75rem;font-weight:600;margin:0 0 .5rem}.announcement-section-header p{color:#666;font-size:1rem;margin:0}.announcement-form-section{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;height:-webkit-fit-content;height:fit-content;padding:2.5rem}.announcement-create-form{display:flex;flex-direction:column;gap:1.5rem}.announcement-form-group{display:flex;flex-direction:column;gap:.5rem}.announcement-form-group label{color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.announcement-required{color:#e74c3c}.announcement-input,.announcement-textarea{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:12px;font-family:inherit;font-size:1rem;padding:1rem;transition:all .3s ease}.announcement-input:focus,.announcement-textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none;transform:translateY(-1px)}.announcement-textarea{line-height:1.5;min-height:120px;resize:vertical}.announcement-form-hint{color:#666;font-size:.8rem;font-style:italic;margin-top:.25rem}.announcement-btn-create{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.5px;padding:1rem 2rem;text-transform:uppercase;transition:all .3s ease}.announcement-btn-create:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.announcement-btn-create:disabled{cursor:not-allowed;opacity:.6;transform:none}.announcement-spinner{animation:announcement-spin 1s linear infinite}@keyframes announcement-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.announcement-list-section{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;padding:2.5rem}.announcement-loading{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem}.announcement-loading-spinner{animation:announcement-spin 1s linear infinite;color:#667eea;font-size:2rem;margin-bottom:1rem}.announcement-empty-state{color:#666;padding:4rem 2rem;text-align:center}.announcement-empty-icon{color:#ddd;font-size:4rem;margin-bottom:1.5rem}.announcement-empty-state h3{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.announcement-empty-state p{font-size:1rem;margin:0;opacity:.8}.announcement-list{display:flex;flex-direction:column;gap:1.5rem}.announcement-item{background:#f8f9fa;border:2px solid #e1e5e9;border-radius:15px;padding:2rem;position:relative;transition:all .3s ease}.announcement-item:hover{border-color:#667eea;box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.announcement-item.announcement-pinned{background:linear-gradient(135deg,#fffbf0,#fff8e1);border-color:gold}.announcement-pin-badge{align-items:center;background:linear-gradient(135deg,gold,#ffb300);border-radius:0 0 10px 10px;box-shadow:0 2px 4px #0000001a;color:#8b4513;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;letter-spacing:.5px;padding:.5rem 1rem;position:absolute;right:20px;text-transform:uppercase;top:-8px}.announcement-pin-icon{font-size:.8rem}.announcement-content{padding-top:.5rem}.announcement-item-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.announcement-item-title{color:#333;flex:1 1;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}.announcement-item-date{background:#667eea1a;border-radius:20px;color:#667eea;flex-shrink:0;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.announcement-item-message{color:#555;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.announcement-item-actions{display:flex;flex-wrap:wrap;gap:.75rem}.announcement-btn-delete,.announcement-btn-edit,.announcement-btn-pin{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.announcement-btn-edit{border-color:#dbeafe;color:#2563eb}.announcement-btn-edit:hover{background:#dbeafe;border-color:#2563eb;transform:translateY(-1px)}.announcement-btn-pin{border-color:#fef3c7;color:#f59e0b}.announcement-btn-pin:hover{background:#fef3c7;border-color:#f59e0b;transform:translateY(-1px)}.announcement-btn-pin.pinned{background:#fef3c7;border-color:#f59e0b;color:#92400e}.announcement-btn-delete{border-color:#fecaca;color:#dc2626}.announcement-btn-delete:hover{background:#fecaca;border-color:#dc2626;transform:translateY(-1px)}.announcement-edit-form{padding-top:.5rem}.announcement-edit-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.announcement-edit-header h4{color:#333;font-size:1.125rem;font-weight:600;margin:0}.announcement-edit-actions{display:flex;gap:.5rem}.announcement-btn-cancel,.announcement-btn-save{align-items:center;background:#fff;border:2px solid #e1e5e9;border-radius:8px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.announcement-btn-save{border-color:#dcfce7;color:#16a34a}.announcement-btn-save:hover:not(:disabled){background:#dcfce7;border-color:#16a34a}.announcement-btn-save:disabled{cursor:not-allowed;opacity:.5}.announcement-btn-cancel{border-color:#e5e7eb;color:#6b7280}.announcement-btn-cancel:hover{background:#e5e7eb;border-color:#6b7280}.announcement-edit-input,.announcement-edit-textarea{background:#fff;border:2px solid #e1e5e9;border-radius:8px;font-family:inherit;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.announcement-edit-input:focus,.announcement-edit-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.announcement-edit-textarea{line-height:1.5;min-height:100px;resize:vertical}@media (max-width:1024px){.announcement-content-grid{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.announcement-form-container{padding:1rem}.announcement-page-header{padding:2rem}.announcement-header-content{flex-direction:column;gap:1rem;text-align:center}.announcement-header-text h1{font-size:2rem}.announcement-header-text p{font-size:1rem}.announcement-form-section,.announcement-item,.announcement-list-section{padding:1.5rem}.announcement-item-header{align-items:flex-start;flex-direction:column;gap:.5rem}.announcement-item-actions{flex-wrap:wrap;gap:.5rem}.announcement-edit-header{align-items:flex-start;flex-direction:column;gap:1rem}}@media (max-width:480px){.announcement-page-header{padding:1.5rem}.announcement-icon-wrapper{height:60px;width:60px}.announcement-header-icon{font-size:2rem}.announcement-header-text h1{font-size:1.5rem}.announcement-header-text p{font-size:.9rem}.announcement-form-section,.announcement-item,.announcement-list-section{padding:1rem}.announcement-item-actions{align-items:stretch;flex-direction:column}.announcement-btn-delete,.announcement-btn-edit,.announcement-btn-pin{justify-content:center}}.booking-form-container{margin:0 auto;max-width:1000px;padding:1rem}.booking-page-header{border-bottom:2px solid #eee;margin-bottom:2rem;padding-bottom:1rem;text-align:center}.booking-form-title{color:#333;font-size:2rem;font-weight:600;margin:0 0 .5rem}.booking-form-subtitle{color:#666;font-size:1.1rem;margin:0}.booking-form-wrapper{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;overflow:hidden}.booking-lot-details-section{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:2rem}.booking-lot-details-section h3{font-size:1.5rem;font-weight:600;margin:0 0 1.5rem}.booking-lot-details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.booking-detail-item{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border-radius:8px;padding:1rem}.booking-detail-label{display:block;font-size:.875rem;letter-spacing:.5px;margin-bottom:.25rem;opacity:.9;text-transform:uppercase}.booking-detail-value{display:block;font-size:1.1rem;font-weight:600}.booking-detail-value.price{color:gold;font-size:1.3rem}.booking-detail-value.reservation-fee{color:#90ee90;font-size:1.2rem}.booking-reservation-notice{align-items:flex-start;background:linear-gradient(135deg,#ffecd2,#fcb69f);border-bottom:1px solid #eee;display:flex;gap:1rem;padding:1.5rem}.booking-notice-icon{flex-shrink:0;font-size:2rem}.booking-notice-text{flex:1 1}.booking-notice-text p{color:#8b4513;line-height:1.5;margin:0 0 .5rem}.booking-notice-text p:last-child{margin-bottom:0}.booking-reservation-form{padding:2rem}.booking-reservation-form h3{color:#333;font-size:1.5rem;font-weight:600;margin:0 0 2rem}.booking-form-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:2rem}.booking-form-group{position:relative}.booking-form-group.full-width{grid-column:1/-1}.booking-form-group label{color:#333;display:block;font-size:.875rem;font-weight:600;letter-spacing:.5px;margin-bottom:.5rem;text-transform:uppercase}.booking-required{color:#e74c3c}.booking-form-group input,.booking-form-group select,.booking-form-group textarea{background:#fff;border:2px solid #ddd;border-radius:8px;font-size:1rem;padding:.75rem;transition:all .2s ease;width:100%}.booking-form-group input:focus,.booking-form-group select:focus,.booking-form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none;transform:translateY(-1px)}.booking-readonly-input{background-color:#f8f9fa!important;color:#495057!important;cursor:not-allowed;font-weight:600}.booking-file-upload input[type=file]{background:#f8f9fa;border:2px dashed #ddd;padding:.5rem}.booking-file-upload input[type=file]:hover{border-color:#007bff}.booking-file-hint{color:#666;display:block;font-size:.75rem;font-style:italic;margin-top:.25rem}.booking-form-actions{border-top:2px solid #eee;display:flex;gap:1rem;justify-content:center;padding-top:2rem}.booking-btn-cancel,.booking-btn-submit{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;letter-spacing:.5px;min-width:180px;padding:.75rem 2rem;text-transform:uppercase;transition:all .3s ease}.booking-btn-submit{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.booking-btn-submit:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.booking-btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.booking-btn-cancel{background:#6c757d;color:#fff}.booking-btn-cancel:hover:not(:disabled){background:#545b62;transform:translateY(-2px)}.booking-spinner{animation:booking-spin 1s linear infinite;border:2px solid #0000;border-radius:50%;border-top-color:currentcolor;height:16px;width:16px}@keyframes booking-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.booking-form-message{align-items:center;border-radius:8px;display:flex;font-weight:500;gap:.75rem;margin-top:1rem;padding:1rem}.booking-form-message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.booking-form-message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.booking-message-icon{flex-shrink:0;font-size:1.25rem}.booking-message-text{flex:1 1}.booking-modal-overlay{background:#00000080}.booking-modal-content{animation:booking-modalAppear .3s ease forwards;padding:3rem}@keyframes booking-modalAppear{to{transform:scale(1)}}.booking-modal-icon{font-size:4rem;margin-bottom:1rem}.booking-modal-content h3{font-size:1.5rem;margin:0 0 1rem}.booking-modal-content p{line-height:1.5;margin:0 0 2rem}.booking-btn-modal{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:1rem;padding:.75rem 2rem;transition:all .3s ease}.booking-btn-modal:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}@media (max-width:768px){.booking-form-container{padding:.5rem}.booking-form-title{font-size:1.5rem}.booking-form-subtitle{font-size:1rem}.booking-lot-details-section{padding:1.5rem}.booking-lot-details-grid{grid-template-columns:1fr}.booking-detail-item{padding:.75rem}.booking-reservation-notice{flex-direction:column;padding:1rem;text-align:center}.booking-reservation-form{padding:1.5rem}.booking-form-grid{gap:1rem;grid-template-columns:1fr}.booking-form-actions{align-items:stretch;flex-direction:column}.booking-btn-cancel,.booking-btn-submit{min-width:0;min-width:auto}.booking-modal-content{margin:1rem;padding:2rem}.booking-modal-icon{font-size:3rem}}@media (max-width:480px){.booking-page-header{text-align:left}.booking-form-title{font-size:1.25rem}.booking-form-subtitle{font-size:.9rem}.booking-lot-details-section{padding:1rem}.booking-lot-details-section h3{font-size:1.25rem}.booking-detail-value{font-size:1rem}.booking-detail-value.price{font-size:1.1rem}.booking-detail-value.reservation-fee{font-size:1rem}.booking-reservation-form{padding:1rem}.booking-form-group input,.booking-form-group select,.booking-form-group textarea{font-size:.9rem;padding:.5rem}.booking-btn-cancel,.booking-btn-submit{font-size:.9rem;padding:.6rem 1.5rem}}.reservation-list-container{margin:0 auto;max-width:1400px;padding:1rem}.reservation-list-header-FIXED{align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.client-layout .reservation-list-header-FIXED{background:#0000!important;border:none;box-shadow:none}.client-layout .header-icon{-webkit-backdrop-filter:none;backdrop-filter:none;background:#0000}.client-layout .header-icon svg{color:#000!important}.reservation-title{color:#fff;font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000004d}.client-layout .reservation-title{color:#000;text-shadow:none}.filter-actions{justify-content:flex-end!important}.filter-actions .btn{margin-left:auto!important;margin-right:0!important}.reservation-table{border-collapse:collapse;min-width:1200px;width:100%}.reservation-table td,.reservation-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.reservation-table th{border-bottom:2px solid #ddd;color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;position:-webkit-sticky;position:sticky;text-transform:uppercase;top:0;z-index:10}.reservation-table th,.reservation-table tr:hover{background-color:#f8f9fa}.lot-id{color:#007bff;font-family:monospace;font-weight:600}.name-cell{color:#333;font-weight:600}.contact-cell{color:#666;font-family:Courier New,monospace;font-size:.875rem}.location-cell{color:#666}.payment-amount,.price-cell,.sqm-cell{color:#333;font-weight:600}.payment-method{text-transform:uppercase}.date-cell,.payment-method{color:#666;font-size:.875rem}.proof-cell,.status-cell{text-align:center}.status-badge{border-radius:20px;padding:6px 12px}.status-badge.pending{background-color:#ffc107;color:#212529}.source-cell{text-align:center}.source-badge{border-radius:20px;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.375rem .75rem;text-transform:uppercase;white-space:nowrap}.source-badge.chatbot{background-color:#e7f3ff;border:1px solid #b3d9ff;color:#06c}.source-badge.manual{background-color:#f0f8ff;border:1px solid #c1d7f0;color:#4d79a4}.btn-view-proof{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.btn-view-proof:hover{background-color:#0056b3;transform:translateY(-1px)}.no-proof{color:#6c757d;font-size:.875rem;font-style:italic}.action-column{min-width:200px}.action-buttons{gap:8px}.btn-confirm{background-color:#28a745;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.btn-confirm:hover{background-color:#1e7e34;transform:translateY(-1px)}.status-select{background:#fff;border:2px solid #ddd;border-radius:6px;font-size:.875rem;padding:.5rem;transition:border-color .2s ease}.status-select:focus{border-color:#007bff;outline:none}.loading-spinner:after{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#007bff;content:"";display:inline-block;height:20px;margin-left:10px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@media (max-width:1200px){.reservation-table{min-width:1000px}}@media (max-width:768px){.reservation-list-container{padding:.5rem}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-box{padding:1rem}.stat-value{font-size:1.5rem}.filter-section{padding:1rem}.filter-controls{align-items:stretch;flex-direction:column}.status-filter{min-width:0;min-width:auto}.reservation-table td,.reservation-table th{font-size:.875rem;padding:.5rem}.action-buttons{flex-direction:column;gap:.25rem}.btn-confirm,.btn-view-proof{font-size:.75rem;padding:.25rem .5rem}.bookmark-header h1{flex-direction:column;font-size:2rem;gap:.5rem}}@media (max-width:480px){.page-header{text-align:center}.reservation-title{font-size:1.5rem}.stat-box{padding:.75rem}.stat-value{font-size:1.25rem}.table-container{border-radius:6px}.reservation-table{min-width:800px}}.admin-dashboard{background-color:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.admin-page-header{background:#fff;background:linear-gradient(135deg,#8e44ad,#9b59b6);border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:3rem}.admin-header-content,.admin-page-header{align-items:center;display:flex;position:relative}.admin-header-content{gap:2rem;z-index:2}.admin-icon-wrapper{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:20px;display:flex;flex-shrink:0;height:80px;justify-content:center;width:80px}.admin-header-icon{color:#fff;font-size:2.5rem}.admin-header-text h1{font-size:2.5rem;font-weight:700;margin:0 0 .5rem;text-shadow:0 2px 4px #0000004d}.admin-header-text p{font-size:1.2rem;font-weight:300;margin:0;opacity:.9}.admin-print-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.admin-print-button:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.dashboard-header{margin-bottom:2rem}.dashboard-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.dashboard-header p{color:#6c757d;font-size:1.1rem;margin:0}.dashboard-error,.dashboard-loading{align-items:center;color:#6c757d;display:flex;font-size:1.2rem;height:60vh;justify-content:center}.dashboard-error{color:#dc3545}.dashboard-metrics{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:3rem}.key-insights-section{background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2.5rem}.insights-header{align-items:center;display:flex;gap:.5rem;margin-bottom:2rem}.insights-icon{align-items:center;background:#8e44ad1a;border:2px solid #8e44ad33;border-radius:10px;color:#8e44ad;display:flex;font-size:1.3rem;height:45px;justify-content:center;width:45px}.insights-title{color:#333;font-size:1.75rem;font-weight:600;margin:0}.insights-grid{grid-gap:1.5rem;gap:1.5rem}.insight-card{border-left:4px solid #e9ecef;border-radius:16px;gap:1rem;padding:1.5rem;transition:all .3s ease}.insight-card,.insight-icon{align-items:center;display:flex}.insight-icon{border-radius:10px;font-size:1.2rem;height:40px;justify-content:center;width:40px}.insight-icon.trend-down{background:#ffeaea;color:#e74c3c}.insight-icon.success{background:#eafaf1;color:#27ae60}.insight-icon.info{background:#e3f2fd;color:#2196f3}.insight-content{flex:1 1}.insight-text{color:#555;font-size:1rem;font-weight:500;line-height:1.5}.data-section .section-header,.statistics-section .section-header{align-items:center!important;border-bottom:none!important;display:flex!important;gap:8px!important;justify-content:flex-start!important;margin-bottom:2rem!important;padding-bottom:0!important}.data-section .section-icon,.statistics-section .section-icon{align-items:center;background:#8e44ad1a;border:2px solid #8e44ad33;border-radius:8px;color:#8e44ad;display:flex;flex-shrink:0;font-size:1.2rem;height:40px;justify-content:center;width:40px}.metric-card{align-items:center;background:#fff!important;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:flex;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.metric-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.metric-icon{align-items:center;border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:60px;justify-content:center;margin-right:1rem;width:60px}.metric-icon.lots{background:linear-gradient(135deg,#2c3e50,#3498db)}.metric-icon.reservations{background:linear-gradient(135deg,#f093fb,#f5576c)}.metric-icon.revenue{background:linear-gradient(135deg,#4facfe,#00f2fe)}.metric-icon.growth{background:linear-gradient(135deg,#43e97b,#38f9d7)}.metric-content{background:#0000;flex:1 1}.metric-content h3{color:#6c757d;font-size:1rem;font-weight:500;margin:0 0 .5rem}.metric-value{color:#2c3e50;font-size:2rem;font-weight:700;line-height:1;margin:0}.metric-detail{color:#6c757d;font-size:.85rem;margin-top:.25rem}.dashboard-sections{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:3rem}.dashboard-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem}.section-header{border-bottom:2px solid #f8f9fa;padding-bottom:1rem}.section-header h2{font-size:1.3rem}.section-icon{color:#6c757d;font-size:1.2rem}.activities-list,.reservations-list{max-height:400px;overflow-y:auto}.reservation-item{align-items:center;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s ease}.reservation-item:hover{background-color:#f8f9fa}.reservation-item:last-child{border-bottom:none}.reservation-info h4{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .25rem}.reservation-info p{color:#6c757d;font-size:.9rem;margin:0 0 .25rem}.reservation-date{color:#adb5bd;font-size:.8rem}.reservation-status{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem;text-align:right}.status-icon{font-size:1rem;margin-right:.5rem}.status-icon.approved{color:#28a745}.status-icon.pending{color:#ffc107}.status-icon.rejected{color:#dc3545}.status-text{border-radius:4px;font-size:.8rem;font-weight:500;padding:.2rem .5rem;text-transform:capitalize}.status-text.approved{background-color:#d4edda;color:#155724}.status-text.pending{background-color:#fff3cd;color:#856404}.status-text.rejected{background-color:#f8d7da;color:#721c24}.reservation-amount{color:#28a745;font-size:.9rem;font-weight:600}.activity-item{align-items:flex-start;border-bottom:1px solid #f8f9fa;display:flex;justify-content:space-between;padding:1rem;transition:background-color .2s ease}.activity-item:hover{background-color:#f8f9fa}.activity-item:last-child{border-bottom:none}.activity-content p{color:#2c3e50;font-size:.9rem;margin:0 0 .25rem}.activity-user{color:#6c757d;font-size:.8rem;font-style:italic}.activity-time{color:#adb5bd;font-size:.8rem;margin-left:1rem;white-space:nowrap}.no-data{color:#6c757d;font-style:italic;margin:0;padding:2rem;text-align:center}.dashboard-actions{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem}.dashboard-actions h2{color:#2c3e50;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.action-buttons{flex-wrap:wrap;gap:1rem}.action-btn{border:none;border-radius:8px;cursor:pointer;display:inline-block;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.action-btn.primary{background:linear-gradient(135deg,#2c3e50,#3498db);color:#fff}.action-btn.primary:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.action-btn.secondary{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.action-btn.secondary:hover{box-shadow:0 4px 12px #f093fb66;transform:translateY(-1px)}.action-btn.tertiary{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff}.action-btn.tertiary:hover{box-shadow:0 4px 12px #4facfe66;transform:translateY(-1px)}@media (max-width:1024px){.dashboard-sections{grid-template-columns:1fr}.dashboard-metrics{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width:768px){.admin-dashboard{padding:1rem}.dashboard-header h1{font-size:2rem}.dashboard-metrics{grid-template-columns:1fr}.metric-card{padding:1rem}.metric-icon{font-size:1.2rem;height:50px;width:50px}.metric-value{font-size:1.5rem}.reservation-item{align-items:flex-start;flex-direction:column;gap:.5rem}.reservation-status{align-items:flex-start;flex-direction:row;gap:1rem}.action-buttons{flex-direction:column}.action-btn{text-align:center}}.print-button{align-items:center;background:linear-gradient(135deg,#007bff,#0056b3);border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:8px 16px;transition:all .2s ease}.print-button:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-1px)}.statistics-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;margin:30px 0;padding:20px}.section-title{color:#333;font-size:1.5rem;font-weight:600;margin:0}.summary-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:30px}.summary-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px;transition:transform .2s ease,box-shadow .2s ease}.summary-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.summary-card.primary{border-left:4px solid #007bff}.summary-card.secondary{border-left:4px solid #6f42c1}.summary-card.accent{border-left:4px solid #17a2b8}.summary-card.success{border-left:4px solid #28a745}.card-header{align-items:center;display:flex;gap:10px;margin-bottom:10px}.card-icon{font-size:20px}.card-label{color:#666;font-size:14px;font-weight:500}.card-value{color:#333;font-size:28px;font-weight:700;margin-bottom:5px}.card-detail{color:#888;font-size:12px}.charts-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:30px}.chart-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.chart-title{color:#333;font-size:18px;font-weight:600;margin-bottom:15px}.chart-wrapper{height:300px;position:relative}.data-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;margin-top:30px;padding:20px}.table-container{margin-top:15px;overflow-x:auto}.data-table{border-collapse:collapse;font-size:14px;width:100%}.data-table th{background:#f8f9fa;border-bottom:2px solid #dee2e6;color:#333;font-weight:600;padding:12px 8px;text-align:left}.data-table td{border-bottom:1px solid #dee2e6;color:#555;padding:10px 8px}.data-table tbody tr:hover{background:#f8f9fa}.data-table .current-month{background:#e3f2fd}.count-cell{color:#007bff;font-weight:600}.growth-cell{font-size:12px}.status-badge{background:#28a745;font-size:11px;padding:2px 8px}.status-badge.current{background:#ffc107;color:#333}.dashboard-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 0}.dashboard-header h1{color:#333;font-size:28px;margin:0}.dashboard-header p{color:#666;font-size:16px;margin:5px 0 0}@media (max-width:768px){.dashboard-header{align-items:flex-start;flex-direction:column;gap:15px}.charts-grid,.summary-grid{grid-template-columns:1fr}.chart-container{padding:15px}.chart-wrapper{height:250px}.data-table{font-size:12px}.data-table td,.data-table th{padding:8px 4px}}@media (max-width:480px){.card-value,.dashboard-header h1{font-size:24px}.chart-wrapper{height:200px}}.insights-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:20px;padding:20px}.insights-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:15px}.insight-card{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;padding:15px;transition:transform .2s ease,box-shadow .2s ease}.insight-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.insight-content{align-items:flex-start;display:flex;gap:10px}.insight-icon{flex-shrink:0;font-size:18px;margin-top:2px}.insight-content p{color:#333;font-size:14px;line-height:1.5;margin:0}@media (max-width:768px){.insights-grid{grid-template-columns:1fr}.insight-card{padding:12px}.insight-content p{font-size:13px}}.garden-breakdown-section{background:#fff;border-radius:15px;box-shadow:0 2px 4px #0000001a;margin:2rem 0;padding:2rem}.garden-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:2rem 0}.garden-card{background:#f8f9fa;border-left:4px solid #3498db;border-radius:12px;padding:1.5rem;transition:all .3s ease}.garden-card.garden-a{border-left-color:#27ae60}.garden-card.garden-b{border-left-color:#e74c3c}.garden-card.garden-c{border-left-color:#f39c12}.garden-card.garden-d{border-left-color:#9b59b6}.garden-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.garden-header{align-items:center;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.garden-header h3{color:#2c3e50;font-size:1.25rem;font-weight:600;margin:0}.garden-total{background:#3498db;border-radius:20px;color:#fff;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.garden-card.garden-a .garden-total{background:#27ae60}.garden-card.garden-b .garden-total{background:#e74c3c}.garden-card.garden-c .garden-total{background:#f39c12}.garden-card.garden-d .garden-total{background:#9b59b6}.garden-stats{display:flex;flex-direction:column;gap:.75rem}.stat-row{align-items:center;display:flex;justify-content:space-between;padding:.5rem 0}.stat-label{color:#6c757d}.stat-value{font-size:1.1rem;font-weight:600}.stat-value.available{color:#28a745}.stat-value.occupied{color:#dc3545}.stat-value.reserved{color:#007bff}.stat-value.maintenance{color:#ffc107}.stat-value.unavailable{color:#6c757d}.counting-note{background:#e3f2fd;border:1px solid #bbdefb;border-radius:8px;margin-top:1.5rem;padding:1rem;text-align:center}.counting-note p{color:#1976d2;font-size:.9rem;margin:0}.action-btn.quaternary{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff}.action-btn.quaternary:hover{background:linear-gradient(135deg,#8e44ad,#9b59b6)}.burial-records-page{margin:0 auto;max-width:1400px;padding:1rem}.page-header-FIXED-TEST{align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.stat-box.recent{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-box.upcoming{background:linear-gradient(135deg,#fa709a,#fee140)}.records-table .certificate-cell{text-align:center}.no-certificate{color:#999}.btn-secondary{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;display:flex;gap:.5rem}.btn-secondary:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #0003;transform:translateY(-2px)}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.records-table{font-size:.875rem}.records-table td,.records-table th{padding:.5rem}.actions-cell{flex-direction:column;gap:.25rem}.btn-delete,.btn-edit{font-size:.75rem;padding:.25rem .5rem}}@media (max-width:480px){.burial-records-page{padding:.5rem}.form-section,.stat-box{padding:1rem}.stat-value{font-size:1.5rem}}.modal-body input{border:1px solid #ccc;border-radius:4px;margin-top:.25rem;padding:.5rem;width:100%}.interment-records-page{margin:0 auto;max-width:1400px;padding:1rem}.interment-records-header-FIXED{align-items:center;background:linear-gradient(135deg,#27ae60,#2ecc71)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.stat-box.scheduled{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-box.completed{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-box.cancelled{background:linear-gradient(135deg,#fa709a,#fee140)}.form-section{background-color:#f8f9fa;border-radius:10px;box-shadow:0 2px 4px #0000001a;padding:2rem}.form-section h3{color:#333;font-size:1.5rem;margin-bottom:1.5rem}.create-form{display:flex;flex-direction:column;gap:1.5rem}.form-group label{color:#333;font-size:.875rem;letter-spacing:.5px;text-transform:uppercase}.form-input,.form-select{background-color:#fff;border:2px solid #ddd;border-radius:6px;font-size:1rem;padding:.75rem 1rem;transition:border-color .2s ease,box-shadow .2s ease}.form-input:focus,.form-select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.filter-actions{gap:1rem}.records-table{border-collapse:collapse;width:100%}.records-table td,.records-table th{border-bottom:1px solid #eee;padding:1rem;text-align:left}.records-table th{border-bottom:2px solid #ddd;color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.records-table th,.records-table tr:hover{background-color:#f8f9fa}.records-table .name-cell{color:#333;font-weight:600}.records-table .plot-id{color:#666;font-family:Courier New,monospace;font-weight:600}.records-table .date-cell{color:#666}.records-table .officiant-cell,.records-table .time-cell{color:#666;font-style:italic}.records-table .status-cell{text-align:center}.actions-cell{display:flex;gap:.5rem}.btn-delete,.btn-edit,.btn-primary,.btn-secondary{border:none;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase;transition:all .2s ease}.btn-primary{padding:.75rem 2rem}.btn-primary:hover{transform:translateY(-1px)}.btn-secondary:hover{background-color:#545b62}.btn-edit{background-color:#28a745;color:#fff}.btn-edit:hover{background-color:#1e7e34}.btn-delete{background-color:#dc3545}.btn-delete:hover{background-color:#c82333}.loading-spinner{font-size:1.2rem;padding:3rem}.error-message{border-left:4px solid #e74c3c}@media (max-width:768px){.page-header{align-items:flex-start;flex-direction:column;gap:1rem}.form-grid{grid-template-columns:1fr}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.records-table{font-size:.875rem}.records-table td,.records-table th{padding:.5rem}.actions-cell{flex-direction:column;gap:.25rem}.btn-delete,.btn-edit{font-size:.75rem;padding:.25rem .5rem}}@media (max-width:480px){.interment-records-page{padding:.5rem}.form-section,.stat-box{padding:1rem}.stat-value{font-size:1.5rem}.summary-stats{grid-template-columns:repeat(2,1fr)}}.modal-backdrop{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;max-width:90%;padding:1.5rem;width:400px}.modal-header{margin-bottom:1rem}.modal-close{font-size:1.25rem}.modal-body label{display:block;font-weight:500;margin-top:.75rem}.modal-body input,.modal-body select{border:1px solid #ccc;border-radius:4px;margin-top:.25rem;padding:.5rem;width:100%}.modal-footer{gap:.5rem;margin-top:1rem}.modal-footer button{border:none;border-radius:4px;cursor:pointer;padding:.5em 1em}.modal-footer .btn-delete{background-color:#e74c3c;color:#fff}.modal-footer .btn-cancel{background-color:#ccc;color:#333}.activity-logs-page{margin:0 auto;max-width:1400px;padding:1rem}.activity-logs-header-FIXED{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.activity-logs-page h3{color:#333;font-size:1.5rem;margin-bottom:1rem}.stat-box.client{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-box.staff{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-box.admin{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-value{margin-bottom:1rem}.action-breakdown{font-size:.875rem;text-align:left}.action-item{margin-bottom:.25rem;opacity:.9}.logs-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1rem;overflow:hidden;width:100%}.logs-table td,.logs-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.logs-table th{color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.logs-table th,.logs-table tr:hover{background-color:#f8f9fa}.logs-table .user-cell{color:#333;font-weight:600}.logs-table .timestamp-cell{color:#666;font-family:Courier New,monospace;font-size:.875rem}.logs-table .details-cell{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.role-badge{border-radius:4px;font-size:.75rem;font-weight:600;padding:4px 8px;text-transform:uppercase}.role-badge.client{background-color:#007bff;color:#fff}.role-badge.staff{background-color:#28a745;color:#fff}.role-badge.admin{background-color:#dc3545;color:#fff}.action-badge{background-color:#e9ecef;border-radius:3px;color:#495057;font-size:.75rem;font-weight:500;padding:3px 6px;text-transform:capitalize}.action-badge.booking{background-color:#e7f3ff;color:#0056b3}.action-badge.update{background-color:#fff3cd;color:#856404}.action-badge.delete{background-color:#f8d7da;color:#721c24}.action-badge.login{background-color:#d4edda;color:#155724}.print-header{margin-bottom:2rem;text-align:center}.print-header .logo{height:50px;margin-bottom:1rem}.print-header h1{color:#333;margin:.5rem 0}.action-list{font-size:.875rem;list-style:none;margin:0;padding:0;text-align:left}.action-list li{margin-bottom:.25rem;opacity:.9}.total-item{border-top:1px solid #ffffff4d;font-weight:700;margin-top:.5rem;padding-top:.5rem}@media print{.filter-section,.pagination,.report-actions{display:none!important}.print-only{display:block!important}.activity-logs-page{padding:0}.print-summary .stat-box{background:#f8f9fa!important;border:1px solid #ddd;color:#333!important}.print-table{font-size:.875rem}.action-badge,.role-badge{border:1px solid #333}}@media (max-width:768px){.logs-table{font-size:.875rem}.logs-table td,.logs-table th{padding:8px 12px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-controls{grid-template-columns:1fr}.logs-table .details-cell{max-width:100px}}.burial-records-report-page{margin:0 auto;max-width:1400px;padding:1rem}div.burial-records-report-page div.burial-records-report-header-FIXED{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.burial-records-report-page h3{color:#333;font-size:1.5rem;margin-bottom:1rem}.report-table .certificate-cell{text-align:center}.certificate-link{border-radius:4px;color:#007bff;font-weight:500;padding:4px 8px;text-decoration:none;transition:background-color .2s ease}.certificate-link:hover{background-color:#e7f3ff;text-decoration:underline}.no-certificate{color:#666;font-style:italic}.report-header{margin-bottom:2rem;text-align:center}.report-header .logo{height:50px;margin-bottom:1rem}.report-header h1{color:#333;margin:.5rem 0}.report-meta{color:#666;font-size:.875rem;margin:1rem 0}@media print{.filter-section,.pagination,.report-actions{display:none!important}.print-only{display:block!important}.burial-records-report-page{padding:0}.print-summary .stat-box{background:#f8f9fa!important;border:1px solid #ddd;color:#333!important}.print-table{font-size:.875rem}}.interment-records-report-page{margin:0 auto;max-width:1400px;padding:1rem}.interment-records-report-header-FIXED{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.header-actions{position:relative;z-index:2}.btn-primary{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:2px solid #ffffff4d;border-radius:12px;cursor:pointer;display:flex;font-size:1rem;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-primary:hover{background:#ffffff4d;border-color:#ffffff80;box-shadow:0 4px 12px #0003}.interment-records-report-page h3{color:#333;font-size:1.5rem;margin-bottom:1rem}.stat-box.upcoming{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-box.past{background:linear-gradient(135deg,#fa709a,#fee140)}.filter-input{cursor:text}.filter-input:focus,.filter-select:focus{border-color:#007bff;box-shadow:0 0 0 2px #007bff40;outline:none}.report-table .name-cell{color:#333;font-weight:600}.report-table .plot-id{color:#666;font-family:Courier New,monospace;font-weight:600}.status-badge.scheduled{background-color:#007bff;color:#fff}.status-badge.completed{background-color:#28a745;color:#fff}.status-badge.cancelled{background-color:#dc3545}.print-only{display:none}@media print{.filter-section,.pagination,.report-actions{display:none!important}.print-only{display:block!important}.interment-records-report-page{padding:0}.print-summary .stat-box{background:#f8f9fa!important;border:1px solid #ddd;color:#333!important}.print-header{margin-bottom:2rem;text-align:center}.print-header .logo{height:50px;margin-bottom:1rem}.print-header h1{color:#333;margin:.5rem 0}.print-table{font-size:.875rem}}@media (max-width:768px){.report-table{font-size:.875rem}.report-table td,.report-table th{padding:8px 12px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filter-controls{grid-template-columns:1fr}}.financial-report-page{margin:0 auto;max-width:1200px;padding:1rem}.financial-report-header-FIXED{align-items:center;background:linear-gradient(135deg,#e74c3c,#c0392b)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-box.approved{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-box.average{background:linear-gradient(135deg,#4facfe,#00f2fe)}.table-section h3{color:#333;font-size:1.5rem;margin-bottom:1rem}.no-records,.table-container{border-radius:10px}.no-records{font-size:1.1rem;padding:3rem}.report-table .amount-cell{color:#28a745;font-weight:600;text-align:right}@media (max-width:768px){.report-table{font-size:.875rem}.report-table td,.report-table th{padding:8px 12px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}@media print{.btn-export,.pagination{display:none}.financial-report-page{padding:0}.stat-box{background:#f8f9fa!important;border:1px solid #ddd;color:#333!important}.report-table th{background-color:#f8f9fa!important;color:#333!important}}.columbarium-modal{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:800px;overflow-y:auto;position:relative;width:90%}.bulk-modal{max-width:1000px}.details-modal{max-width:700px}.bulk-form,.slot-form{padding:24px}.form-group input.error,.form-group select.error{border-color:#ff3b30}.error-text{color:#ff3b30;font-size:12px;margin-top:4px}.checkbox-group{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.checkbox-label{align-items:center;cursor:pointer;display:flex;font-size:14px;gap:8px}.checkbox-label input[type=checkbox]{height:16px;width:16px}.preview-info{background:#f8f9fa;border-left:4px solid #007aff;border-radius:8px;padding:16px}.preview-info p{color:#1d1d1f;margin:4px 0}.modal-actions{background:#f8f9fa;border-radius:0 0 12px 12px;padding:20px 24px}.btn{font-size:14px;gap:8px}.btn-primary{background:#007aff}.btn-primary:hover{background:#0056cc}.btn-secondary{background:#34c759}.btn-secondary:hover{background:#28a745}.btn-outline{border:1px solid #007aff;color:#007aff}.btn-outline:hover{background:#007aff}.slot-details{padding:24px}.details-section{margin-bottom:32px}.details-section h3{align-items:center;border-bottom:2px solid #007aff;color:#1d1d1f;display:flex;font-size:18px;font-weight:600;gap:8px;margin:0 0 16px;padding-bottom:8px}.details-grid{grid-gap:16px;gap:16px}.detail-item{flex-direction:column;gap:4px}.detail-item label{color:#8e8e93;font-size:12px;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.detail-item span{color:#1d1d1f;font-size:14px}.slot-id{background:#f8f9fa;border-radius:4px;font-family:Monaco,Menlo,monospace;padding:4px 8px}.size-badge{background:#e3f2fd;border-radius:12px;color:#1976d2;font-size:12px;padding:4px 8px}.status-badge{color:#fff;text-transform:capitalize}.price{color:#34c759;font-size:16px;font-weight:600}.reservation-info{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:16px}.reservation-info p{color:#856404;font-size:14px;margin:0}@media (max-width:768px){.columbarium-modal{margin:20px;width:95%}.details-grid,.form-row{grid-template-columns:1fr}.modal-actions{flex-direction:column}.btn{justify-content:center;width:100%}}.columbarium-management{background-color:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.columbarium-management-header-FIXED{align-items:center;background:linear-gradient(135deg,#f39c12,#e67e22)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.dashboard-section,.stats-grid{margin-bottom:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.stat-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.stat-icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:60px;justify-content:center;margin-right:1rem;width:60px}.stat-card.available .stat-icon{background:linear-gradient(135deg,#43e97b,#38f9d7)}.stat-card.reserved .stat-icon{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-card.occupied .stat-icon{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.stat-card.revenue .stat-icon{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-card.occupancy .stat-icon{background:linear-gradient(135deg,#667eea,#764ba2)}.stat-content h3{color:#2c3e50;font-size:2rem;font-weight:700;line-height:1;margin:0 0 .5rem}.stat-content p{color:#6c757d;font-size:.85rem;font-weight:500;margin:0}.section-header{margin-bottom:1.5rem}.btn{overflow:hidden;position:relative}.btn-secondary{background:linear-gradient(135deg,#6c757d,#495057);border:2px solid #0000}.btn-secondary:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#343a40);box-shadow:0 4px 12px #6c757d66;transform:translateY(-2px)}.btn-success{background:linear-gradient(135deg,#28a745,#20c997);border:2px solid #0000;color:#fff}.btn-success:hover:not(:disabled){background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 12px #28a74566;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#dc3545,#e74c3c)}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c82333,#c0392b);box-shadow:0 4px 12px #dc354566}.btn-warning{background:linear-gradient(135deg,#ffc107,#ff8c00);border:2px solid #0000}.btn-warning:hover:not(:disabled){background:linear-gradient(135deg,#e0a800,#e67e22);box-shadow:0 4px 12px #ffc10766;transform:translateY(-2px)}.btn-info{background:linear-gradient(135deg,#17a2b8,#20c997);border:2px solid #0000;color:#fff}.btn-info:hover:not(:disabled){background:linear-gradient(135deg,#138496,#1ea085);box-shadow:0 4px 12px #17a2b866;transform:translateY(-2px)}.btn-sm{border-radius:8px}.btn-lg{border-radius:16px;font-size:1rem;padding:1rem 2rem}.filter-group label{color:#495057;font-size:.875rem;font-weight:500}.filter-group input,.filter-group select{background-color:#fff;cursor:pointer;font-size:.875rem;padding:.5rem}.filter-group input:focus,.filter-group select:focus{box-shadow:0 0 0 2px #667eea33}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.reservations-table,.slots-table{border-collapse:collapse;width:100%}.reservations-table td,.reservations-table th,.slots-table td,.slots-table th{border-bottom:1px solid #e9ecef;padding:1rem;text-align:left}.reservations-table th,.slots-table th{background-color:#f8f9fa;color:#495057;font-weight:600}.reservations-table tbody tr:hover,.slots-table tbody tr:hover{background-color:#f8f9fa}.status-badge.reserved{background-color:#fff3cd;color:#856404}.status-badge.maintenance{background-color:#e2e3e5;color:#383d41}.slot-id{font-weight:600}.reservation-id{color:#667eea;font-family:monospace;font-weight:600}.contact,.relationship{color:#6c757d;font-size:.875rem}.relationship{font-style:italic}.loading,.no-data{padding:2rem}.action-buttons{gap:.5rem}.action-buttons,.btn-icon{align-items:center;display:flex}.btn-icon{border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:.875rem;height:36px;justify-content:center;min-width:36px;padding:.5rem;transition:all .3s ease}.btn-icon.edit{background:linear-gradient(135deg,#ffc107,#ff8c00);color:#fff}.btn-icon.edit:hover{background:linear-gradient(135deg,#e0a800,#e67e22);box-shadow:0 4px 8px #ffc10766;transform:translateY(-2px)}.btn-icon.view{background:linear-gradient(135deg,#17a2b8,#20c997);color:#fff}.btn-icon.view:hover{background:linear-gradient(135deg,#138496,#1ea085);box-shadow:0 4px 8px #17a2b866;transform:translateY(-2px)}.btn-icon.delete{background:linear-gradient(135deg,#dc3545,#e74c3c);color:#fff}.btn-icon.delete:hover{background:linear-gradient(135deg,#c82333,#c0392b);box-shadow:0 4px 8px #dc354566;transform:translateY(-2px)}.btn-icon.add{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.btn-icon.add:hover{background:linear-gradient(135deg,#218838,#1ea085);box-shadow:0 4px 8px #28a74566;transform:translateY(-2px)}@media (max-width:768px){.columbarium-management{padding:1rem}.stats-grid{grid-template-columns:1fr}.section-header{align-items:flex-start;flex-direction:column;gap:1rem}.header-actions{width:100%}.filters{flex-direction:column}.table-container{overflow-x:auto}.reservations-table,.slots-table{min-width:600px}}@media (max-width:480px){.tab-navigation{flex-direction:column}.tab-navigation button{padding:.75rem 1rem}}.columbarium-client{background-color:#f8f9fa;margin:0 auto;max-width:1400px;min-height:100vh;padding:2rem}.bookmark-header{margin-bottom:3rem;text-align:center}.bookmark-header h1{align-items:center;color:#1a202c;display:flex;font-size:2.5rem;gap:1rem;justify-content:center;margin:0 0 1rem}.bookmark-header .header-icon{color:#4f46e5;font-size:2rem}.bookmark-header .header-subtitle{color:#64748b;font-size:1.1rem;margin:0 auto;max-width:600px}@media (max-width:768px){.bookmark-header h1{flex-direction:column;font-size:2rem;gap:.5rem}}@media (max-width:480px){.bookmark-header h1{font-size:1.75rem}.header-subtitle{font-size:1rem}}.columbarium-client-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.header-icon svg{color:#fff!important}.header-text h1{text-shadow:0 2px 4px #0000004d}.page-header{text-align:center}.page-header,.page-header h1{background:none!important;background-color:initial!important;background-image:none!important;background-position:none!important;background-repeat:none!important;background-size:none!important}.page-header h1{color:#2c3e50;font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.page-header p{color:#6c757d;font-size:1.1rem;margin:0}.alert{align-items:center;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.alert-error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.alert button{background:none;border:none;cursor:pointer;font-size:1.2rem;margin-left:1rem;padding:0}.tab-navigation{border-bottom:2px solid #e9ecef;display:flex;justify-content:center;margin-bottom:2rem}.tab-navigation button{background:none;border:none;border-bottom:2px solid #0000;color:#6c757d;cursor:pointer;font-size:1rem;font-weight:500;padding:1rem 2rem;transition:all .2s ease}.tab-navigation button:hover{background-color:#f8f9fa;color:#495057}.tab-navigation button.active{border-bottom-color:#667eea;color:#667eea}.section-header{text-align:center}.section-header h2{font-size:1.8rem;margin:0 0 .5rem}.filters{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:2rem}.filters input,.filters select{background-color:#fff;border:1px solid #ddd;border-radius:6px;font-size:.875rem;padding:.5rem 1rem}.filters input:focus,.filters select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.btn{border-radius:6px;display:inline-block;padding:.5rem 1rem;text-align:center;transition:all .2s ease}.btn-primary{background-color:#667eea}.btn-primary:hover:not(:disabled){background-color:#5a67d8}.btn-secondary:hover:not(:disabled){background-color:#5a6268}.btn-sm{font-size:.75rem;padding:.25rem .5rem}.slots-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));margin-bottom:2rem}.slot-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.slot-card:hover{box-shadow:0 8px 20px #0000001a;transform:translateY(-2px)}.slot-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.slot-id{color:#2c3e50;font-family:monospace;font-size:1.25rem;font-weight:700;margin:0}.slot-details{margin-bottom:1rem}.detail-item{display:flex;justify-content:space-between;margin-bottom:.5rem}.detail-item .label{color:#6c757d;font-weight:500}.slot-price{background-color:#f8f9fa;border-radius:8px;color:#28a745;font-size:1.5rem;font-weight:700;margin-bottom:1rem;padding:.75rem;text-align:center}.slot-actions{display:flex;gap:.5rem;justify-content:center}.size-badge{border-radius:4px;font-size:.75rem;font-weight:500;padding:.25rem .5rem;text-transform:capitalize}.size-badge.single{background-color:#e3f2fd;color:#1976d2}.size-badge.double{background-color:#f3e5f5;color:#7b1fa2}.size-badge.family{background-color:#e8f5e8;color:#388e3c}.status-badge{font-size:.75rem;font-weight:500;padding:.25rem .5rem}.status-badge.pending{background-color:#fff3cd;color:#856404}.status-badge.approved{background-color:#d4edda;color:#155724}.status-badge.rejected{background-color:#f8d7da;color:#721c24}.status-badge.cancelled{background-color:#e2e3e5;color:#383d41}.reservations-list{display:flex;flex-direction:column;gap:1.5rem}.reservation-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:1.5rem}.reservation-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.reservation-header h3{color:#2c3e50;font-size:1.25rem;margin:0}.details-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:1rem}.detail-group h4{border-bottom:1px solid #e9ecef;color:#495057;font-size:1rem;margin:0 0 .75rem;padding-bottom:.25rem}.detail-group p{color:#6c757d;font-size:.875rem;margin:.25rem 0}.detail-group p strong{color:#495057}.rejection-reason,.special-requirements{border-radius:8px;margin-top:1rem;padding:1rem}.special-requirements{background-color:#e7f3ff;border-left:4px solid #007bff}.rejection-reason{background-color:#f8d7da;border-left:4px solid #dc3545}.rejection-reason h4,.special-requirements h4{font-size:.875rem;font-weight:600;margin:0 0 .5rem;text-transform:uppercase}.building-layout{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;padding:2rem}.layout-info{background-color:#f8f9fa;border-radius:8px;margin-bottom:2rem;padding:1rem;text-align:center}.layout-info p{color:#495057;font-size:1rem;margin:.5rem 0}.floors-container{display:flex;flex-direction:column;gap:2rem}.floor-layout{border:2px solid #e9ecef;border-radius:12px;padding:1.5rem}.floor-layout h3{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#2c3e50;color:#fff;font-size:1.5rem;margin:0 0 1rem;padding:.75rem;text-align:center}.sections-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.section-block{background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1rem;text-align:center}.section-block h4{color:#495057;font-size:1rem;margin:0 0 .5rem}.slots-count{color:#6c757d;font-size:.875rem;margin-bottom:.75rem}.slots-preview{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(3,1fr)}.slot-mini{background-color:#667eea;border-radius:4px;color:#fff;font-family:monospace;font-size:.625rem;padding:.25rem;text-align:center}.slot-mini.more{background-color:#6c757d;font-weight:600}.modal{align-items:center;background-color:#00000080;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:1000}.modal-content{box-shadow:0 20px 40px #0000001a}.modal-content.large{max-width:800px}.modal-header{border-bottom:1px solid #e9ecef;padding:1.5rem}.modal-header h3{font-size:1.25rem}.modal-header button{align-items:center;background:none;border:none;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:2rem;justify-content:center;padding:0;width:2rem}.modal-actions{border-top:1px solid #e9ecef;gap:1rem;padding:1.5rem}.form-sections{padding:1.5rem}.form-section{margin-bottom:2rem}.form-section h4{border-bottom:2px solid #e9ecef;color:#495057;font-size:1.1rem;margin:0 0 1rem;padding-bottom:.5rem}.form-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.form-group input,.form-group select,.form-group textarea{border:1px solid #ddd;border-radius:6px;font-size:.875rem}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{box-shadow:0 0 0 2px #667eea33}.form-group small{color:#6c757d;font-size:.75rem;margin-top:.25rem}.slot-details-modal .details-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:1.5rem}.slot-details-modal .detail-item{background-color:#f8f9fa;border-radius:6px;display:flex;flex-direction:column;padding:.75rem}.slot-details-modal .detail-item .label{color:#6c757d;font-size:.75rem;font-weight:500;margin-bottom:.25rem;text-transform:uppercase}.slot-details-modal .price{color:#28a745;font-size:1.25rem;font-weight:700}.loading,.no-data{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000000d;color:#6c757d;font-style:italic;padding:3rem;text-align:center}.process-section{background:#fff;border-radius:16px;box-shadow:0 2px 20px #00000014;margin-bottom:2rem;padding:2.5rem}.process-flow{align-items:flex-start;display:flex;flex-wrap:nowrap;gap:1.5rem;justify-content:center;margin:2.5rem 0;overflow:visible;padding:0 1rem;width:100%}.process-step{align-items:center;background:#0000;border:none;display:flex;flex-direction:column;flex-shrink:0;max-width:180px;min-width:160px;opacity:.4;padding:0;position:relative;text-align:center;transition:all .3s ease}.process-step.active{opacity:1;transform:scale(1.05)}.process-step:hover{transform:translateY(-3px)}.process-step.active:hover{transform:scale(1.05) translateY(-3px)}.step-number{align-items:center;background:#e2e8f0;border-radius:50%;box-shadow:0 2px 4px #0000001a;color:#94a3b8;display:flex;font-size:1.3rem;font-weight:600;height:50px;justify-content:center;margin-bottom:1rem;position:relative;transition:all .3s ease;width:50px;z-index:2}.process-step.active .step-number{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea66;color:#fff;transform:scale(1.1)}.step-content h3{color:#94a3b8;font-size:1rem;font-weight:600;letter-spacing:-.02em;margin:0 0 .5rem;transition:all .3s ease}.process-step.active .step-content h3{color:#2c3e50;font-weight:700}.step-content p{color:#94a3b8;font-size:.85rem;font-weight:400;line-height:1.4;margin:0;transition:all .3s ease}.process-step.active .step-content p{color:#6c757d}.process-arrow{align-items:center;color:#cbd5e0;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:300;justify-content:center;margin:25px .25rem 0}@media (max-width:768px){.columbarium-client{padding:1rem}.slots-grid{grid-template-columns:1fr}.tab-navigation{flex-direction:column}.tab-navigation button{padding:.75rem 1rem}.filters{flex-direction:column}.details-grid,.sections-grid{grid-template-columns:1fr}.modal-content{margin:1rem;width:95%}.form-grid{grid-template-columns:1fr}.process-flow{flex-direction:column;gap:1.5rem}.process-arrow{font-size:1.2rem;transform:rotate(90deg)}.process-step{max-width:100%}}@media (max-width:480px){.page-header h1{font-size:2rem}.slot-header{align-items:flex-start;gap:.5rem}.slot-actions,.slot-header{flex-direction:column}.form-sections,.modal-header{padding:1rem}}.chatbot-management{margin:0 auto;max-width:1400px;padding:1rem}.chatbot-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;display:flex;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem;position:relative}.header-text h1{font-size:2rem;font-weight:700;line-height:1.2;margin:0}.header-text p{line-height:1.4;margin:.5rem 0 0}.header-actions{align-items:center;display:flex;gap:1rem}.success-message{background:linear-gradient(135deg,#28a745,#20c997);box-shadow:0 2px 8px #28a7454d;font-weight:500}.error-message,.success-message{border-radius:12px;color:#fff;margin-bottom:1.5rem;padding:1rem 1.5rem}.error-message{background:linear-gradient(135deg,#dc3545,#e74c3c);box-shadow:0 2px 8px #dc35454d}.config-section{background:#fff;border:1px solid #e9ecef;border-radius:16px;box-shadow:0 4px 6px #0000001a;margin-bottom:2rem;padding:2rem}.section-header{align-items:flex-start;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.section-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.section-header p{color:#6c757d;flex:1 1;font-size:.9rem;margin:.5rem 0 0;min-width:300px}.prompt-section{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:2rem;padding:1.5rem}.prompt-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.prompt-header h3{color:#495057;font-size:1.1rem;font-weight:600;margin:0}.prompt-textarea{border:2px solid #e9ecef;border-radius:8px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.9rem;line-height:1.5;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.prompt-textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.prompt-display{background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#495057;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:.9rem;line-height:1.5;padding:1rem;white-space:pre-wrap}.add-form,.edit-form{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;margin-bottom:1.5rem;padding:1.5rem}.add-form h3,.edit-form h3{color:#495057;font-size:1.1rem;font-weight:600;margin:0 0 1.5rem}.form-row{grid-gap:1rem;gap:1rem;margin-bottom:1rem}.form-group label{font-size:.9rem}.form-group input,.form-group select,.form-group textarea{border:2px solid #e9ecef;border-radius:8px;font-size:.9rem;padding:.75rem;transition:border-color .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.form-actions{justify-content:flex-end;margin-top:1.5rem}.questions-list{display:flex;flex-direction:column;gap:1rem}.question-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;transition:box-shadow .3s ease}.question-item:hover{box-shadow:0 4px 12px #0000001a}.question-display{align-items:center;display:flex;justify-content:space-between;padding:1.5rem}.question-content{flex:1 1}.question-text{color:#2c3e50;display:block;font-size:1rem;font-weight:600;margin-bottom:.5rem}.question-meta{display:flex;flex-wrap:wrap;gap:.5rem}.question-actions{display:flex;gap:.5rem;margin-left:1rem}.faq-list{display:flex;flex-direction:column;gap:1rem}.faq-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;overflow:hidden;transition:box-shadow .3s ease}.faq-item:hover{box-shadow:0 4px 12px #0000001a}.faq-display{align-items:flex-start;display:flex;justify-content:space-between;padding:1.5rem}.faq-content{flex:1 1}.faq-question{color:#2c3e50;font-size:1rem;font-weight:600;margin:0 0 .75rem}.faq-answer{color:#495057;font-size:.9rem;line-height:1.5;margin:0 0 1rem}.faq-meta{display:flex;flex-wrap:wrap;gap:.5rem}.faq-actions{align-items:flex-start;display:flex;gap:.5rem;margin-left:1rem}.category-badge{border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.category-badge.general{background:#e3f2fd;color:#1976d2}.category-badge.reservation{background:#f3e5f5;color:#7b1fa2}.category-badge.visiting{background:#e8f5e8;color:#388e3c}.category-badge.pricing{background:#fff3e0;color:#f57c00}.category-badge.location{background:#fce4ec;color:#c2185b}.category-badge.services{background:#e0f2f1;color:#00695c}.user-type-badge{border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.5px;padding:.25rem .75rem;text-transform:uppercase}.user-type-badge.all{background:#e8f5e8;color:#388e3c}.user-type-badge.guest{background:#fff3e0;color:#f57c00}.user-type-badge.client{background:#e3f2fd;color:#1976d2}.order-badge{font-weight:600}.keywords-badge,.order-badge{background:#f8f9fa;border:1px solid #e9ecef;border-radius:20px;color:#6c757d;font-size:.75rem;padding:.25rem .75rem}.keywords-badge{font-weight:500}.btn{box-shadow:0 2px 4px #0000001a}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);border:2px solid #0000}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#5a67d8,#6b46c1);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.btn-outline:hover:not(:disabled){background:#667eea;box-shadow:0 4px 12px #667eea4d;color:#fff;transform:translateY(-2px)}.btn-danger{background:linear-gradient(135deg,#e74c3c,#c0392b);border:2px solid #0000;color:#fff}.btn-danger:hover:not(:disabled){background:linear-gradient(135deg,#c0392b,#a93226);box-shadow:0 4px 12px #e74c3c66;transform:translateY(-2px)}.btn-sm{font-size:.8rem;padding:.5rem 1rem}.loading-spinner{color:#6c757d}@media (max-width:768px){.chatbot-management{padding:.5rem}.chatbot-header{flex-direction:column;gap:1.5rem;text-align:center}.header-actions{flex-direction:column;width:100%}.section-header{align-items:flex-start;flex-direction:column}.form-row{grid-template-columns:1fr}.faq-display,.question-display{align-items:flex-start;flex-direction:column}.faq-actions,.question-actions{justify-content:flex-end;margin-left:0;margin-top:1rem;width:100%}.faq-meta,.question-meta{align-items:flex-start;flex-direction:column}}.visitor-info-management{margin:0 auto;max-width:1200px;padding:2rem}.visitor-info-header{margin-bottom:2rem;text-align:center}.visitor-info-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.visitor-info-header p{color:#7f8c8d;font-size:1.1rem}.message{border-radius:8px;font-weight:500;margin-bottom:2rem;padding:1rem}.message.success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.visitor-info-sections{grid-gap:2rem;display:grid;gap:2rem;margin-bottom:2rem}.info-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.info-section h2{border-bottom:2px solid #3498db;color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.5rem}.info-section textarea{border:2px solid #e9ecef;border-radius:8px;font-size:1rem;line-height:1.6;padding:1rem;resize:vertical;transition:border-color .3s ease;width:100%}.info-section textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.amenities-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.5rem}.add-amenity-form{background:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;margin-bottom:2rem;padding:1.5rem}.add-amenity-form h3{color:#2c3e50;margin-bottom:1rem}.form-group{margin-bottom:1rem}.form-group label{color:#495057;margin-bottom:.5rem}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:6px;font-size:1rem;padding:.75rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#3498db;box-shadow:0 0 0 3px #3498db1a;outline:none}.form-actions{display:flex;gap:1rem;margin-top:1rem}.amenities-list{grid-gap:1.5rem;display:grid;gap:1.5rem}.amenity-item{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;padding:1.5rem}.amenity-display{align-items:center;display:flex;gap:1.5rem}.amenity-image{border:2px solid #e9ecef;border-radius:6px;flex-shrink:0;height:80px;overflow:hidden;width:120px}.amenity-image img{height:100%;object-fit:cover;width:100%}.amenity-content{flex:1 1}.amenity-content h3{color:#2c3e50;font-size:1.2rem;margin-bottom:.5rem}.amenity-content p{color:#6c757d;line-height:1.5;margin:0}.amenity-actions{display:flex;flex-shrink:0;gap:.5rem}.edit-amenity-form{background:#fff;border:2px solid #3498db;border-radius:8px;padding:1.5rem}.edit-amenity-form h3{color:#2c3e50;margin-bottom:1rem}.save-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;text-align:center}.btn-primary{background:linear-gradient(135deg,#3498db,#2980b9);border:none;box-shadow:0 4px 12px #3498db4d;font-weight:600}.btn-primary:hover{background:linear-gradient(135deg,#2980b9,#1f5f8b);box-shadow:0 6px 16px #3498db66}.btn-secondary{background:#6c757d}.btn-secondary:hover{background:#5a6268}.btn-edit{background:#ffc107;border-radius:6px;color:#212529;padding:.5rem}.btn-edit:hover{background:#e0a800;transform:translateY(-1px)}.btn-delete{background:#dc3545;border-radius:6px;color:#fff;padding:.5rem}.btn-delete:hover{background:#c82333;transform:translateY(-1px)}.btn-large{font-size:1.1rem;padding:1rem 2rem}.visitor-info-loading{color:#6c757d;font-size:1.2rem;padding:3rem;text-align:center}@media (max-width:768px){.visitor-info-management{padding:1rem}.amenity-display{align-items:flex-start;flex-direction:column}.amenity-image{height:150px;width:100%}.amenity-actions{align-self:flex-end}.amenities-header{align-items:stretch;flex-direction:column;gap:1rem}.amenities-header h2{text-align:center}.form-actions{flex-direction:column}}.grave-management{margin:0 auto;max-width:1400px;padding:20px}.grave-management-header{margin-bottom:30px;text-align:center}.grave-management-header h1{color:#2c3e50;margin-bottom:10px}.grave-management-header p{color:#7f8c8d;font-size:16px}.error-banner{background-color:#e74c3c;border-radius:8px;color:#fff;margin-bottom:20px;padding:15px}.garden-selector{margin-bottom:30px}.garden-selector-header{align-items:center;display:flex;gap:1rem;justify-content:flex-start;margin-bottom:15px;width:100%}.garden-selector-header .btn{margin-left:0;margin-right:auto}.filter-label{align-items:center;color:#2c3e50;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin-right:1rem}.btn{border-radius:12px;display:inline-flex;font-size:.875rem;justify-content:center;text-decoration:none;white-space:nowrap}.btn:disabled{transform:none!important}.garden-dropdown{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.garden-dropdown label{color:#2c3e50;font-size:.875rem;font-weight:600}.filter-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;border:1px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:.875rem;padding:.75rem 2.5rem .75rem .75rem;transition:border-color .3s ease;width:150px}.filter-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.garden-tabs{display:flex;flex-wrap:wrap;gap:15px}.garden-tab{background:#fff;border:2px solid #ecf0f1;border-radius:12px;cursor:pointer;min-width:150px;padding:20px;text-align:center;transition:all .3s ease}.garden-tab:hover{border-color:#3498db;box-shadow:0 4px 12px #3498db33;transform:translateY(-2px)}.garden-tab.active{background-color:#3498db;border-color:#3498db;color:#fff}.garden-name{display:block;font-size:18px;font-weight:700;margin-bottom:5px}.garden-stats{display:block;font-size:14px;opacity:.8}.garden-overview{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.garden-info h2{color:#2c3e50;margin-bottom:10px}.garden-info p{color:#7f8c8d;margin-bottom:5px}.garden-statistics{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:20px}.stat-card{align-items:center;background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;gap:10px;padding:20px;text-align:left}.stat-card.available{border-left-color:#34c759}.stat-card.occupied{border-left-color:#8e8e93}.stat-card.reserved{border-left-color:#007bff}.stat-card.maintenance{border-left-color:#ff9500}.stat-number{color:#2c3e50;font-size:24px;font-weight:700;margin:0}.stat-label{color:#7f8c8d;font-size:14px;font-weight:500;margin:0;text-transform:uppercase}.color-config{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.color-config h3{color:#2c3e50;margin-bottom:20px}.color-settings{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.color-setting{align-items:center;display:flex;gap:10px}.color-setting label{color:#2c3e50;font-weight:500;min-width:100px}.color-setting input[type=color]{border:none;border-radius:8px;cursor:pointer;height:40px;width:40px}.color-preview{border:1px solid #ddd;border-radius:4px;height:20px;width:20px}.bulk-operations{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-bottom:30px;padding:25px}.bulk-operations h3{color:#2c3e50;margin-bottom:20px}.bulk-buttons{display:flex;flex-wrap:wrap;gap:15px}.btn{font-weight:500;padding:12px 24px}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background-color:#3498db}.btn-primary:hover:not(:disabled){background-color:#2980b9}.btn-warning{background-color:#f39c12;color:#fff}.btn-warning:hover:not(:disabled){background-color:#e67e22}.grave-grid-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:25px}.grave-grid-container h3{color:#2c3e50;margin-bottom:20px}.grave-grid{border:1px solid #ecf0f1;border-radius:8px;overflow-x:auto}.grid-header{background-color:#f8f9fa;border-bottom:1px solid #ecf0f1}.column-labels{display:flex;min-width:-webkit-fit-content;min-width:fit-content}.column-label{align-items:center;border-right:1px solid #ecf0f1;color:#7f8c8d;display:flex;font-size:12px;height:30px;justify-content:center;width:60px}.grid-body{min-width:-webkit-fit-content;min-width:fit-content}.grid-row{border-bottom:1px solid #ecf0f1;display:flex}.grid-row:last-child{border-bottom:none}.row-label{align-items:center;background-color:#f8f9fa;border-right:1px solid #ecf0f1;color:#7f8c8d;font-size:12px;font-weight:700;height:60px;justify-content:center;width:40px}.grave-cell,.row-graves,.row-label{display:flex}.grave-cell{align-items:center;border-right:1px solid #ecf0f1;cursor:pointer;flex-direction:column;font-size:10px;height:60px;justify-content:center;position:relative;text-align:center;transition:all .2s ease;width:60px}.grave-cell:hover{box-shadow:0 4px 12px #0003;transform:scale(1.05);z-index:10}.grave-cell.selected{border:2px solid #e74c3c;box-shadow:0 0 0 2px #e74c3c4d}.grave-cell.empty{background-color:#f8f9fa;color:#bdc3c7}.grave-id{font-size:8px;font-weight:700;line-height:1;margin-bottom:2px}.grave-name{font-size:7px;line-height:1;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.grave-cell.grave-available{background-color:#34c759;color:#fff}.grave-cell.grave-occupied{background-color:#8e8e93;color:#fff}.grave-cell.grave-reserved{background-color:#007bff;color:#fff}.grave-cell.grave-maintenance{background-color:#ff9500;color:#fff}.grave-cell.grave-unavailable{background-color:#ff3b30;color:#fff}.grave-cell.grave-empty{background-color:#f8f9fa;border-style:dashed;color:#6c757d}.grave-cell.disabled{background-color:#f0f0f0!important;border-color:#ccc!important;cursor:not-allowed!important;opacity:.5;position:relative}.grave-cell.disabled:hover{box-shadow:none!important;transform:none!important}.disabled-indicator{background-color:#ff3b30;border-radius:2px;color:#fff;font-size:8px;font-weight:700;padding:1px 3px;position:absolute;right:2px;top:2px;z-index:1}.grave-details-panel{background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px;padding:20px}.grave-details-panel h3{border-bottom:2px solid #3498db;color:#2c3e50;margin:0 0 15px;padding-bottom:10px}.grave-details-content{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:20px}.detail-row{display:flex;flex-direction:column;gap:5px}.detail-row label{color:#555;font-size:14px;font-weight:600}.detail-row span{color:#333;font-size:14px}.status-badge{font-weight:700}.status-badge.available{background-color:#d4edda;color:#155724}.status-badge.occupied{background-color:#f8d7da;color:#721c24}.status-badge.reserved{background-color:#cce5ff;color:#004085}.status-badge.maintenance{background-color:#fff3cd;color:#856404}.status-badge.unavailable{background-color:#f5c6cb;color:#721c24}.grave-details-actions{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding-top:15px}.field-group{display:flex;flex-direction:column;margin-bottom:.6rem;position:relative}.field-group input::placeholder{color:#0000}.field-group input{background:#fafafa;border:1px solid #ccc;border-radius:5px;color:#333;font-size:12px;padding:10px;position:relative;transition:border-color .2s,box-shadow .2s;width:100%;z-index:1}.field-group input+label{background:#0000;color:#999;font-size:.95rem;left:7px;padding:0 4px;pointer-events:none;position:absolute;top:7px;transition:all .2s ease-out;z-index:2}.field-group input:focus+label,.field-group input:not(:placeholder-shown)+label{color:#6d4c41;font-size:8px;left:5px;top:4px}.field-group input:focus{border-color:#6d4c41;box-shadow:0 0 0 3px #6d4c4133;outline:none}.field-group select{background:#fafafa;border:1px solid #ccc;border-radius:5px;color:#333;font-size:12px;padding:10px;position:relative;transition:border-color .2s,box-shadow .2s;width:100%;z-index:1}.field-group select:focus{border-color:#6d4c41;box-shadow:0 0 0 3px #6d4c4133;outline:none}.field-group label{color:#1d1d1f;display:block;font-size:13px;font-weight:500;margin-bottom:4px}.field-group .readonly-field{background:#f5f5f5!important;border-color:#ddd!important;color:#666!important;cursor:not-allowed!important}.field-group .readonly-field:focus{border-color:#ddd!important;box-shadow:none!important}.field-group .auto-calculated{background:#f0f8ff!important;border-color:#4caf50!important}.field-group .auto-calculated:focus{border-color:#4caf50!important;box-shadow:0 0 0 3px #4caf5033!important}.booking-modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;box-sizing:border-box;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.booking-modal-content{animation:user-modal-appear .3s ease forwards;background:#fff;border-radius:15px;box-shadow:0 20px 60px #0000004d;max-width:500px;padding:1.2rem;text-align:center;transform:scale(.9);width:90%}@keyframes user-modal-appear{to{transform:scale(1)}}.booking-modal-icon{font-size:3rem;margin-bottom:.8rem}.booking-modal-content h3{color:#333;font-size:1.3rem;font-weight:600;margin:0 0 .3rem}.booking-modal-content p{color:#666;font-size:.9rem;margin:0 0 1rem}.booking-modal-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:1rem}.booking-btn-modal{border:none;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;letter-spacing:.5px;min-width:100px;padding:.6rem 1.2rem;text-transform:uppercase;transition:all .2s ease}.booking-btn-modal:not(.secondary){background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.booking-btn-modal:not(.secondary):hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.booking-btn-modal.secondary{background:#f0f0f0;border:1px solid #ddd;color:#333}.booking-btn-modal.secondary:hover{background:#e0e0e0;border-color:#ccc}.modal-overlay{box-sizing:border-box;padding:20px}.modal-content{max-width:600px;position:relative}.modal-header{border-bottom:1px solid #e5e5e7}.modal-header h2{color:#1d1d1f;font-size:24px;font-weight:600;margin:0}.close-btn{background:none;border:none;border-radius:6px;color:#8e8e93;cursor:pointer;font-size:20px;padding:8px;transition:all .2s ease}.close-btn:hover{background:#e5e5e7;color:#1d1d1f}.form-section{margin-bottom:32px}.form-section h3{border-bottom:2px solid #007aff;color:#1d1d1f;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:16px}.form-group{display:flex;flex-direction:column}.form-group label{color:#1d1d1f;font-weight:500;margin-bottom:6px}.form-group input,.form-group select{border:1px solid #d1d1d6;padding:12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus{border-color:#007aff;box-shadow:0 0 0 3px #007aff1a}.form-group input::placeholder{color:#8e8e93}.required{color:#ff3b30}.modal-actions{border-top:1px solid #e5e5e7}.btn-secondary:hover{transform:translateY(-1px)}.btn-primary{background:linear-gradient(135deg,#007aff,#0051d5);box-shadow:0 4px 12px #007aff4d}.btn-primary:hover{background:linear-gradient(135deg,#0051d5,#003d99);box-shadow:0 6px 16px #007aff66;transform:translateY(-2px)}.modal-body{padding:20px}.form-group label{color:#555;margin-bottom:5px}.form-group input,.form-group select{border:1px solid #ddd;border-radius:4px;padding:10px}.form-group input:focus,.form-group select:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33}.modal-footer{border-top:1px solid #e0e0e0;display:flex;gap:10px;justify-content:flex-end;padding:20px}.btn-secondary{border:none;border-radius:4px;cursor:pointer;font-size:14px;padding:10px 20px}.custom-tooltip{background:#000000e6;border:1px solid #333;border-radius:6px;box-shadow:0 4px 12px #0000004d;color:#fff;font-size:12px;max-width:250px;padding:8px 12px}.tooltip-content{line-height:1.4}.tooltip-header{border-bottom:1px solid #555;color:#fff;font-weight:700;margin-bottom:4px;padding-bottom:4px}.tooltip-content div{color:#e0e0e0;margin:2px 0}.tooltip-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:10px}.btn-small{border-radius:4px;font-size:11px;padding:6px 12px}.loading-spinner{align-items:center;color:#7f8c8d;display:flex;font-size:18px;height:200px;justify-content:center}@media (max-width:768px){.grave-management{padding:15px}.garden-tabs{flex-direction:column}.garden-statistics{grid-template-columns:repeat(2,1fr)}.color-settings{grid-template-columns:1fr}.bulk-buttons{flex-direction:column}.grave-cell{height:50px;width:50px}.column-label{width:50px}.row-label{width:30px}}@media (max-width:480px){.grave-cell{height:40px;width:40px}.column-label{width:40px}.row-label{width:25px}.grave-id{font-size:7px}.grave-name{font-size:6px}}.grave-grid-compact{margin-top:20px}.graves-container{display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:flex-start}.grave-column{align-items:center;background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-direction:column;gap:8px;min-width:140px;padding:10px}.column-label{background-color:#e9ecef;border-radius:6px;color:#495057;font-weight:700;margin-bottom:5px;padding:8px 12px;text-align:center;width:100%}.graves-in-column{display:flex;flex-direction:column;gap:6px;width:100%}.graves-in-column .grave-cell{align-items:center;border:2px solid #0000;border-radius:6px;display:flex;flex-direction:column;height:50px;justify-content:center;position:relative;transition:all .2s ease;width:100%}.graves-in-column .grave-cell:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.graves-in-column .grave-cell.selected{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.graves-in-column .grave-id{color:#fff;font-size:11px;font-weight:700;text-shadow:1px 1px 2px #00000080}.graves-in-column .grave-name{color:#fff;font-size:9px;margin-top:2px;text-shadow:1px 1px 2px #00000080}.grave-grid-proper{margin-top:20px;overflow-x:auto}.grave-grid-proper .grid-header{display:flex;margin-bottom:10px}.grave-grid-proper .column-labels{display:flex;gap:2px;margin-left:50px}.grave-grid-proper .column-label{align-items:center;background-color:#e9ecef;border:1px solid #dee2e6;border-radius:4px;color:#495057;display:flex;font-size:10px;font-weight:700;height:25px;justify-content:center;width:60px}.grave-grid-proper .grid-body{display:flex;flex-direction:column;gap:2px}.grave-grid-proper .grid-row{align-items:center;display:flex;gap:2px}.grave-grid-proper .row-label{align-items:center;background-color:#e9ecef;border:1px solid #dee2e6;border-radius:4px;color:#495057;display:flex;font-size:10px;font-weight:700;height:45px;justify-content:center;width:50px}.grave-grid-proper .row-graves{display:flex;gap:2px}.grave-grid-proper .grave-cell{align-items:center;border:1px solid #dee2e6;border-radius:4px;display:flex;flex-direction:column;height:45px;justify-content:center;position:relative;transition:all .2s ease;width:60px}.grave-grid-proper .grave-cell:not(.empty){cursor:pointer}.grave-grid-proper .grave-cell:not(.empty):hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.grave-grid-proper .grave-cell.selected{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.grave-grid-proper .grave-cell.empty{background-color:#f8f9fa;border-style:dashed}.grave-grid-proper .grave-id{color:#fff;font-size:8px;font-weight:700;text-shadow:1px 1px 2px #00000080}.grave-grid-proper .grave-name{color:#fff;font-size:8px;margin-top:2px;text-shadow:1px 1px 2px #00000080}.grave-grid-proper .grave-id-empty{color:#6c757d;font-size:8px;text-align:center}.grave-grid-horizontal{margin-top:20px;overflow-x:auto}.graves-container-horizontal{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:10px}.grave-grid-horizontal .grave-cell{align-items:center;border:2px solid #0000;border-radius:6px;cursor:pointer;display:flex;flex-direction:column;height:70px;justify-content:center;position:relative;transition:all .2s ease;width:100px}.grave-grid-horizontal .grave-cell:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.grave-grid-horizontal .grave-cell.selected{border-color:#007bff;box-shadow:0 0 0 3px #007bff40}.grave-grid-horizontal .grave-id{color:#fff;font-size:11px;font-weight:700;text-shadow:1px 1px 2px #00000080}.grave-grid-horizontal .grave-name{color:#fff;font-size:9px;margin-top:2px;text-shadow:1px 1px 2px #00000080}.modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:500px;overflow-y:auto;padding:0;width:90%}.modal-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e1e8ed;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px}.modal-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#6c757d;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:all .2s ease;width:30px}.modal-close:hover{background-color:#e9ecef;color:#495057}.edit-form{padding:24px}.form-group,.form-row{margin-bottom:20px}.form-row{display:flex;gap:15px}.form-row .form-group{flex:1 1;margin-bottom:0}.form-group label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select{border:2px solid #e1e8ed;border-radius:8px;box-sizing:border-box;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group select:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group input::placeholder{color:#6c757d}.modal-actions{border-top:1px solid #e1e8ed;display:flex;gap:12px;justify-content:flex-end;margin-top:30px;padding-top:20px}.modal-actions .btn{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#5a6268}.btn-primary{background-color:#007bff;color:#fff}.btn-primary:hover{background-color:#0056b3}@media (max-width:768px){.modal-content{margin:10px;width:95%}.form-row{flex-direction:column;gap:0}.form-row .form-group{margin-bottom:20px}.modal-actions{flex-direction:column}.modal-actions .btn{width:100%}}.grave-management-page{background-color:#f8f9fa;min-height:100vh;padding:0}.grave-management-page *{box-sizing:border-box}.grave-management-page{margin-top:0;padding-top:20px}.reservation-report-page{margin:0 auto;max-width:1400px;padding:1rem}.page-header{background:linear-gradient(135deg,#e74c3c,#c0392b)!important;border-radius:20px;box-shadow:0 4px 6px #0000001a;color:#fff;justify-content:space-between;margin-bottom:2rem;overflow:hidden;padding:2.5rem}.header-content,.page-header{align-items:center;display:flex;position:relative}.header-content{gap:1.5rem;z-index:2}.header-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border-radius:15px;display:flex;flex-shrink:0;height:60px;justify-content:center;width:60px}.header-icon svg{color:#fff;font-size:1.8rem}.header-text h2{font-size:2rem;font-weight:700;margin:0;text-shadow:0 2px 4px #0000004d}.header-text p{font-size:1rem;font-weight:300;margin:.25rem 0 0;opacity:.9}.reservation-report-page h3{color:#333;font-size:1.5rem;margin-bottom:1rem}.summary-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-box{border-radius:10px;box-shadow:0 4px 6px #0000001a;color:#fff;padding:1.5rem;text-align:center;transition:transform .2s ease}.stat-box:hover{transform:translateY(-2px)}.stat-box.total{background:linear-gradient(135deg,#6c5ce7,#a29bfe)}.stat-box.pending{background:linear-gradient(135deg,#f093fb,#f5576c)}.stat-box.approved{background:linear-gradient(135deg,#4facfe,#00f2fe)}.stat-box.rejected{background:linear-gradient(135deg,#fa709a,#fee140)}.stat-box.cancelled{background:linear-gradient(135deg,#a8edea,#fed6e3)}.stat-label{display:block;font-size:.9rem;margin-bottom:.5rem;opacity:.9}.stat-value{display:block;font-size:2rem;font-weight:700}.filter-actions{align-items:end;display:flex;margin-bottom:1rem}.btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.btn-outline{background:#0000;border:2px solid #667eea;box-shadow:none;color:#667eea}.btn-outline:hover{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#0000;box-shadow:0 4px 12px #667eea66;color:#fff;transform:translateY(-2px)}.filters-panel{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:1.5rem;padding:1.5rem}.filter-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:1rem}.filter-group{display:flex;flex-direction:column}.filter-group label{color:#333;font-size:.9rem;font-weight:600;margin-bottom:.5rem}.filter-group input,.filter-group select{background:#fff;border:1px solid #ddd;border-radius:6px;font-size:.9rem;padding:.75rem;transition:border-color .2s ease}.filter-group input:focus,.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea1a;outline:none}.table-section{margin-bottom:2rem}.no-records{background-color:#f8f9fa;border-radius:8px;color:#666;padding:2rem;text-align:center}.report-table{background:#fff;border-collapse:collapse;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:1rem;overflow:hidden;width:100%}.report-table td,.report-table th{border-bottom:1px solid #eee;padding:12px 16px;text-align:left}.report-table th{color:#333;font-size:.875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.report-table th,.report-table tr:hover{background-color:#f8f9fa}.report-table .lot-id,.report-table .reservation-id{color:#666;font-family:Courier New,monospace;font-weight:600}.report-table .amount{color:#28a745;font-weight:600;text-align:right}.report-table .payment-method{color:#666;font-size:.875rem;text-transform:uppercase}.status-badge{border-radius:4px;font-size:.875rem;padding:4px 8px}.status-badge.pending{background-color:gold;color:#000}.status-badge.approved{background-color:#28a745;color:#fff}.status-badge.rejected{background-color:#dc3545;color:#fff}.status-badge.cancelled{background-color:#6c757d;color:#fff}.report-actions{margin-top:2rem;text-align:center}.btn-export{background-color:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;padding:12px 24px;transition:background-color .2s ease}.btn-export:hover{background-color:#0056b3}.loading-spinner{color:#666;font-size:1.1rem;padding:2rem;text-align:center}.error-message{background-color:#ffeaea;border-radius:6px;color:#e74c3c;font-weight:500;margin:1rem 0;padding:1rem;text-align:center}@media print{.btn-export,.filter-section{display:none}.reservation-report-page{padding:0}.stat-box{background:#f8f9fa!important;border:1px solid #ddd;color:#333!important}.status-badge{border:1px solid #333}}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-actions{align-items:center;display:flex;gap:1rem}.page-size-control{align-items:center;color:#6c757d;display:flex;font-size:.875rem;gap:.5rem}.page-size-select{background-color:#fff;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:.875rem;padding:.25rem .5rem}.page-size-select:focus{border-color:#667eea;box-shadow:0 0 0 2px #667eea33;outline:none}.pagination{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1.5rem;padding:1rem}.page-info{color:#6c757d;font-size:.875rem}@media (max-width:768px){.report-table{font-size:.875rem}.report-table td,.report-table th{padding:8px 12px}.summary-stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.filter-section{align-items:flex-start;flex-direction:column}}.sidebar{background:linear-gradient(180deg,#2c3e50,#34495e);box-shadow:4px 0 20px #0000001a;color:#fff;overflow-x:hidden;overflow-y:auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-track{background:#ffffff1a}.sidebar::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:2px}.sidebar::-webkit-scrollbar-thumb:hover{background:#ffffff80}.sidebar-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-bottom:1px solid #ffffff1a}.sidebar-brand-icon{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.sidebar-brand-text h3{color:#fff;font-weight:700}.sidebar-brand-text span{color:#ffffffb3;font-weight:300}.sidebar-user{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff1a;border:1px solid #fff3;border-radius:12px}.sidebar-user.admin{background:linear-gradient(135deg,#e74c3c33,#c0392b33);border-color:#e74c3c4d}.sidebar-user.staff{background:linear-gradient(135deg,#3498db33,#2980b933);border-color:#3498db4d}.sidebar-user.client{background:linear-gradient(135deg,#2ecc7133,#27ae6033);border-color:#2ecc714d}.sidebar-role-icon{font-size:1.5rem;opacity:.9}.sidebar-user-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-role{opacity:.8}.sidebar-item{margin:0 1rem .5rem}.sidebar-item:not(.collapsible){border-radius:10px;color:#fffc;overflow:hidden;padding:.875rem 1rem;position:relative;transition:all .3s ease}.sidebar-item:not(.collapsible):hover{background:#ffffff1a;color:#fff;transform:translateX(2px)}.sidebar-item:not(.collapsible).active{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 4px 12px #667eea4d}.sidebar-item:not(.collapsible).active:before{background:#fffc;border-radius:0 2px 2px 0;bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.sidebar-collapsible-header{border-radius:10px;color:#fffc;padding:.875rem 1rem;transition:all .3s ease;-webkit-user-select:none;user-select:none}.sidebar-collapsible-header:hover{background:#ffffff1a;color:#fff}.sidebar-collapsible-header.open{background:#ffffff26;color:#fff}.sidebar-item-icon{opacity:.9}.sidebar-item-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-chevron{font-size:.8rem;opacity:.7;transition:transform .3s ease}.sidebar-collapsible-content{animation:sidebar-slideDown .3s ease-out;margin-top:.5rem}@keyframes sidebar-slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sidebar-subitem{border-radius:8px;color:#ffffffb3;margin-bottom:.25rem;padding:.75rem 1rem;position:relative;transition:all .3s ease}.sidebar-subitem:hover{background:#ffffff14;color:#ffffffe6;transform:translateX(2px)}.sidebar-subitem.active{background:linear-gradient(135deg,#667eea4d,#764ba24d);border-left:3px solid #667eea}.sidebar-subitem .sidebar-item-icon{font-size:.9rem;width:18px}.sidebar-footer{background:#0000001a;border-top:1px solid #ffffff1a}.sidebar-logout{background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:10px;font-weight:600;letter-spacing:.5px;padding:.875rem 1rem;text-transform:uppercase;transition:all .3s ease}.sidebar-logout:hover{background:linear-gradient(135deg,#c0392b,#a93226);box-shadow:0 4px 12px #e74c3c66;transform:translateY(-1px)}.sidebar-logout-icon{font-size:1rem}@media (max-width:768px){.sidebar{transform:translateX(-100%);transition:transform .3s ease;width:260px}.sidebar.open{transform:translateX(0)}.sidebar-header{padding:1.5rem 1rem}.sidebar-brand-text h3{font-size:1.1rem}.sidebar-brand-text span{font-size:.8rem}.sidebar-user{padding:.75rem}.sidebar-user-name{font-size:.9rem}.sidebar-user-role{font-size:.75rem}}@media (max-width:480px){.sidebar{width:240px}.sidebar-header{padding:1rem}.sidebar-brand{margin-bottom:1rem}.sidebar-brand-icon{font-size:1.25rem;height:40px;width:40px}.sidebar-brand-text h3{font-size:1rem}.sidebar-brand-text span{font-size:.75rem}.sidebar-nav{padding:1rem 0}.sidebar-item{margin:0 .75rem .5rem}.sidebar-footer{padding:1rem}}@media print{.sidebar{display:none}}@media (prefers-contrast:high){.sidebar{background:#000;border-right:2px solid #fff}.sidebar-item:not(.collapsible).active,.sidebar-logout{background:#fff;color:#000}.sidebar-logout{border:2px solid #000}}@media (prefers-reduced-motion:reduce){.sidebar-collapsible-header,.sidebar-item,.sidebar-logout,.sidebar-subitem{transition:none}.sidebar-collapsible-content{animation:none}}.tippy-box[data-animation=fade][data-state=hidden]{opacity:0}[data-tippy-root]{max-width:calc(100vw - 10px)}.tippy-box{background-color:#333;border-radius:4px;color:#fff;font-size:14px;line-height:1.4;outline:0;position:relative;transition-property:transform,visibility,opacity;white-space:normal}.tippy-box[data-placement^=top]>.tippy-arrow{bottom:0}.tippy-box[data-placement^=top]>.tippy-arrow:before{border-top-color:initial;border-width:8px 8px 0;bottom:-7px;left:0;transform-origin:center top}.tippy-box[data-placement^=bottom]>.tippy-arrow{top:0}.tippy-box[data-placement^=bottom]>.tippy-arrow:before{border-bottom-color:initial;border-width:0 8px 8px;left:0;top:-7px;transform-origin:center bottom}.tippy-box[data-placement^=left]>.tippy-arrow{right:0}.tippy-box[data-placement^=left]>.tippy-arrow:before{border-left-color:initial;border-width:8px 0 8px 8px;right:-7px;transform-origin:center left}.tippy-box[data-placement^=right]>.tippy-arrow{left:0}.tippy-box[data-placement^=right]>.tippy-arrow:before{border-right-color:initial;border-width:8px 8px 8px 0;left:-7px;transform-origin:center right}.tippy-box[data-inertia][data-state=visible]{transition-timing-function:cubic-bezier(.54,1.5,.38,1.11)}.tippy-arrow{color:#333;height:16px;width:16px}.tippy-arrow:before{border-color:#0000;border-style:solid;content:"";position:absolute}.tippy-content{padding:5px 9px;position:relative;z-index:1}.sidebar{border-right:1px solid #e2e8f0;box-shadow:2px 0 10px #00000014;color:#2d3748;flex-direction:column;height:100vh;width:280px}.sidebar,.topbar{background:#fff;display:flex;left:0;position:fixed;top:0;z-index:1000}.topbar{align-items:center;border-bottom:1px solid #e2e8f0;box-shadow:0 2px 10px #00000014;height:70px;padding:0 24px;right:0}.topbar-modules{gap:32px}.topbar-modules,.topbar-right{align-items:center;display:flex}.topbar-right{gap:16px}.sidebar-module-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;color:#374151;cursor:pointer;display:flex;flex-direction:column;gap:4px;height:50px;justify-content:center;min-width:70px;padding:8px 16px;position:relative;transition:all .2s ease}.sidebar-module-item:hover{background:#4f46e5;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e54d;color:#fff;transform:translateY(-1px)}.sidebar-module-item.disabled{cursor:default!important;pointer-events:none!important}.sidebar-module-item.disabled:hover{background:#f8fafc!important;border-color:#e2e8f0!important;box-shadow:none!important;color:#374151!important;transform:none!important}.sidebar-module-item.active{background:#4f46e5;border-color:#4f46e5;box-shadow:0 2px 8px #4f46e54d;color:#fff}.sidebar-module-item.logout{background:#dc2626;border-color:#dc2626;color:#fff}.sidebar-module-item.logout:hover{background:#b91c1c;border-color:#b91c1c;box-shadow:0 2px 8px #b91c1c4d}.sidebar-module-item.login:hover{background:#10b981;border-color:#10b981;box-shadow:0 2px 8px #10b9814d;color:#fff}.sidebar-module-item .icon{align-items:center;display:flex;font-size:18px;justify-content:center;margin-bottom:2px}.sidebar-module-item .label{font-size:11px;font-weight:600;letter-spacing:.5px;line-height:1;text-transform:uppercase}.sidebar-module-item.active .icon,.sidebar-module-item.active .label,.sidebar-module-item.logout .icon,.sidebar-module-item.logout .label{color:#fff}.topbar-pill,.visitor-info-pill{background:#4f46e5;border:none;border-radius:20px;box-shadow:0 2px 8px #4f46e54d;color:#fff;cursor:pointer;font-size:12px;font-weight:500;padding:8px 16px;transition:all .2s ease}.topbar-pill:hover,.visitor-info-pill:hover{background:#4338ca;box-shadow:0 4px 12px #4f46e566;transform:translateY(-1px)}.logo-container img{transition:all .2s ease}.logo-container img:hover{transform:scale(1.05)}.sidebar-header{background:#fafafa;border-bottom:1px solid #f1f5f9;padding:2rem 1.5rem}.sidebar-brand{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.sidebar-brand-icon{align-items:center;background:#4f46e5;border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:50px;justify-content:center;width:50px}.sidebar-brand-text h3{color:#1a202c;font-size:1.25rem;font-weight:600;margin:0}.sidebar-brand-text span{color:#718096;font-size:.85rem;font-weight:400}.sidebar-user{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:1rem;padding:1rem}.sidebar-user.admin{background:#fef2f2;border-color:#fecaca}.sidebar-user.staff{background:#eff6ff;border-color:#bfdbfe}.sidebar-role-icon{color:#4f46e5;font-size:1.2rem}.sidebar-user.admin .sidebar-role-icon{color:#dc2626}.sidebar-user.staff .sidebar-role-icon{color:#2563eb}.sidebar-user-info{flex:1 1;min-width:0}.sidebar-user-name{color:#1a202c;display:block;font-size:.95rem;font-weight:500;margin-bottom:.25rem}.sidebar-user-role{color:#718096;display:block;font-size:.8rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1.5rem 0}.sidebar-section-title{border-bottom:1px solid #f1f5f9;color:#a0aec0;font-size:.75rem;font-weight:600;letter-spacing:1px;margin:1.5rem 1.5rem .5rem;padding-bottom:.5rem;text-transform:uppercase}.sidebar-item{margin:0 1rem .25rem}.sidebar-item:not(.collapsible){align-items:center;border-radius:6px;color:#4a5568;display:flex;font-size:.9rem;font-weight:500;padding:.75rem 1rem;text-decoration:none;transition:all .2s ease}.sidebar-item:not(.collapsible):hover{background:#f7fafc;color:#2d3748}.sidebar-item:not(.collapsible).active{background:#4f46e5;color:#fff}.sidebar-item.primary{background:#eef2ff;color:#4f46e5;font-weight:600}.sidebar-item.primary.active{background:#4f46e5;color:#fff}.sidebar-collapsible-header{align-items:center;border-radius:6px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;justify-content:space-between;padding:.75rem 1rem;transition:all .2s ease}.sidebar-collapsible-header:hover{background:#f7fafc;color:#2d3748}.sidebar-collapsible-header.open{background:#eef2ff;color:#4f46e5}.sidebar-item-content{align-items:center;display:flex;flex:1 1;gap:.75rem}.sidebar-item-icon{display:flex;font-size:1rem;justify-content:center;width:20px}.sidebar-item-text{font-size:.9rem}.sidebar-chevron{font-size:.7rem;transition:transform .2s ease}.sidebar-collapsible-header.open .sidebar-chevron{transform:rotate(0deg)}.sidebar-collapsible-content{margin-top:.25rem;padding-left:1rem}.sidebar-subitem{align-items:center;border-radius:4px;color:#718096;display:flex;font-size:.85rem;font-weight:400;margin-bottom:.125rem;padding:.625rem 1rem;text-decoration:none;transition:all .2s ease}.sidebar-subitem:hover{background:#f7fafc;color:#4a5568}.sidebar-subitem.active{background:#4f46e5;color:#fff}.sidebar-footer{border-top:1px solid #f1f5f9;padding:1.5rem}.sidebar-logout{align-items:center;background:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;justify-content:center;padding:.75rem 1rem;transition:all .2s ease;width:100%}.sidebar-logout:hover{background:#b91c1c}@media (max-width:768px){.topbar{padding:0 16px}.topbar-modules{gap:20px}.topbar-right{gap:12px}.sidebar-module-item{height:45px;min-width:60px;padding:6px 12px}.sidebar-module-item .icon{font-size:16px}.sidebar-module-item .label{font-size:10px}}.plot-availability-wrapper{bottom:0;height:calc(100vh - 70px);left:0;margin:0;overflow:hidden;padding:0;position:fixed;right:0;top:70px;width:100%}.error-banner{background:#f8d7da;color:#721c24;font-family:Arial,sans-serif;padding:.75rem;position:absolute;text-align:center;top:0;width:100%;z-index:1000}.leaflet-container{bottom:0!important;height:100%!important;left:0!important;margin:0!important;padding:0!important;position:absolute!important;right:0!important;top:0!important;width:100%!important}.leaflet-control-container .leaflet-top{top:20px!important}.leaflet-control-container .leaflet-top.leaflet-left{left:20px!important}.leaflet-control-zoom{border:none!important;box-shadow:0 2px 6px #0003!important;margin:0!important}.leaflet-control-zoom a{background-color:#fff!important;border:none!important;color:#333!important;height:30px!important;line-height:30px!important;width:30px!important}.leaflet-control-zoom a:hover{background-color:#f4f4f4!important}.loading-spinner{background:#ffffffe6;border-radius:8px;box-shadow:0 2px 10px #0000001a;color:#333;font-family:Arial,sans-serif;font-size:16px;left:50%;padding:20px;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:1000}.mapboxgl-popup-content{border-radius:12px!important;box-shadow:0 4px 20px #0003!important;min-width:300px;padding:0!important}.mapboxgl-popup-close-button{color:#6c757d;font-size:20px;padding:8px 12px;right:4px;top:4px}.mapboxgl-popup-close-button:hover{background-color:#dc35451a;border-radius:50%;color:#dc3545}.lot-popup{padding:0;width:100%}.lot-popup h4{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px 12px 0 0;color:#fff;font-size:16px;font-weight:600;margin:0;padding:16px 20px}.lot-popup p{align-items:center;border-bottom:1px solid #e9ecef;color:#495057;display:flex;font-size:14px;justify-content:space-between;margin:0;padding:12px 20px}.lot-popup p:last-of-type{border-bottom:none}.lot-popup strong{color:#2c3e50;font-weight:600;margin-right:12px}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.status-badge.available{background:#d1fae5;color:#065f46}.status-badge.occupied{background:#fee2e2;color:#991b1b}.status-badge.reserved{background:#dbeafe;color:#1e40af}.status-badge.unavailable{background:#fed7aa;color:#92400e}.reserve-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;box-shadow:0 4px 12px #667eea4d;color:#fff;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.5px;margin:16px 20px 20px;padding:14px 20px;text-transform:uppercase;transition:all .3s ease;width:calc(100% - 40px)}.reserve-btn:hover{background:linear-gradient(135deg,#5a67d8,#6b42a0);box-shadow:0 6px 20px #667eea66;transform:translateY(-2px)}.reserve-btn:active{box-shadow:0 2px 8px #667eea4d;transform:translateY(0)}.reserve-btn:disabled{background:#cbd5e0;box-shadow:none;color:#718096;cursor:not-allowed;transform:none}
/*# sourceMappingURL=main.5e7a3fbe.css.map*/