@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+Thai:wght@100;200;300;400;500;600;700&family=Rubik:ital,wght@0,300..900;1,300..900&family=Sarabun:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.location-marker{position:absolute;width:32px;height:32px;transform:translate(-50%,-50%);cursor:pointer;z-index:10;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.location-marker:hover{transform:translate(-50%,-50%) scale(1.2);z-index:15}.location-marker[data-type=sub-location]{width:24px;height:24px;opacity:.9}.location-marker[data-type=sub-location]:hover{transform:translate(-50%,-50%) scale(1.3);opacity:1}.location-marker[data-type=sub-location] .marker-icon{font-size:16px}.location-marker[data-type=sub-location] .marker-icon-image{width:20px;height:20px}.marker-icon{font-size:20px;z-index:1;position:relative;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.marker-icon-image{width:28px;height:28px;border-radius:6px;object-fit:cover;z-index:1;position:relative;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.location-popup{position:absolute;transform:translate(-50%) translateY(-100%);margin-top:-15px;z-index:20;min-width:320px;max-width:400px;background:#fffffff7;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:20px;box-shadow:0 15px 40px #00000026;overflow:hidden;border:1px solid rgba(255,255,255,.4);animation:popupSlideIn .3s ease-out}.desktop-only{display:block}@media (pointer: coarse){.desktop-only{display:none!important}}.popup-card{background:#fff;border-radius:16px;box-shadow:0 8px 32px #0000001f;overflow:hidden;border:1px solid rgba(0,0,0,.08);min-width:280px;max-width:320px}.card-header{display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(135deg,#f8f9ff,#e8eaff);border-bottom:1px solid rgba(103,126,234,.1);position:relative}.card-icon{flex-shrink:0;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:10px;box-shadow:0 2px 8px #677eea33}.location-icon-img{width:28px;height:28px;border-radius:6px;object-fit:cover}.location-icon-emoji{font-size:18px}.card-title-area{flex:1;min-width:0}.card-title{margin:0 0 2px;font-size:1.1rem;font-weight:700;color:#2d3436;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-category{display:inline-block;background:#677eea1a;color:#667eea;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.card-logo{position:absolute;top:12px;right:12px;width:36px;height:36px;background:#fff;border-radius:8px;box-shadow:0 3px 10px #00000026;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(0,0,0,.05)}.logo-img{width:28px;height:28px;object-fit:contain}.card-body{padding:14px 18px}.card-description{margin:0;color:#636e72;font-size:.9rem;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.card-footer{padding:12px 18px;background:#677eea0d;border-top:1px solid rgba(103,126,234,.1)}.card-action{display:flex;align-items:center;justify-content:center;gap:6px;color:#667eea;font-size:.8rem;font-weight:600}.action-icon{font-size:.9rem;animation:bounce 2s infinite}.action-text{opacity:.8}.popup-arrow{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid white;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}@keyframes popupSlideIn{0%{opacity:0;transform:translate(-50%) translateY(-100%) scale(.95)}to{opacity:1;transform:translate(-50%) translateY(-100%) scale(1)}}@media (pointer: coarse){.location-marker{width:28px;height:28px}.marker-icon{font-size:14px}.marker-icon-image{width:22px;height:22px}}[data-pin-do=buttonBookmark],[data-pin-do=buttonPin],.pin-it-button,.pinterest-save-button,span[data-pin-do]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}*[data-pin-href],*[data-pin-do],*[data-pin-description]{display:none!important}*:before,*:after{content:none!important}.map-grid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1000}.grid-line{position:absolute;pointer-events:none}.grid-line.vertical{width:1px;height:100%;background:#ff00004d;border-left:1px dashed rgba(255,0,0,.5)}.grid-line.horizontal{width:100%;height:1px;background:#ff00004d;border-top:1px dashed rgba(255,0,0,.5)}.grid-label{position:absolute;background:#ffffffe6;color:#e74c3c;font-size:10px;font-weight:700;padding:1px 3px;border-radius:3px;border:1px solid rgba(255,0,0,.5);font-family:monospace}.x-label{top:2px;left:2px}.y-label{left:2px;top:2px}.origin-point{position:absolute;top:0;left:0;width:8px;height:8px;background:#e74c3c;border-radius:50%;transform:translate(-4px,-4px)}.origin-label{position:absolute;top:8px;left:8px;background:#fffffff2;color:#e74c3c;font-size:10px;font-weight:700;padding:2px 4px;border-radius:3px;border:1px solid #e74c3c;font-family:monospace;white-space:nowrap}.grid-instructions{position:absolute;top:10px;right:10px;background:#000c;color:#fff;padding:8px 12px;border-radius:8px;font-size:11px;font-family:monospace;max-width:200px}.grid-instructions p{margin:0 0 4px}.grid-instructions p:last-child{margin-bottom:0}.grid-line.vertical:nth-child(6n),.grid-line.horizontal:nth-child(6n){background:#f009;border-color:#f00c}.grid-line.vertical:nth-child(3n),.grid-line.horizontal:nth-child(3n){background:#f006;border-color:#f009}.grid-line:not(:nth-child(2n)) .grid-label{opacity:.7;font-size:9px}.grid-line:nth-child(6n) .grid-label{opacity:1;font-size:11px;font-weight:700;background:#e74c3ce6;color:#fff}.mouse-tracker-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:auto;z-index:999;cursor:crosshair}.mouse-coordinates{position:fixed;bottom:20px;left:20px;background:#000000e6;color:#0f0;padding:10px 15px;border-radius:8px;font-family:Courier New,monospace;font-size:14px;font-weight:700;border:2px solid #00ff00;box-shadow:0 4px 15px #00ff004d;z-index:1001;min-width:200px}.coord-display{display:flex;gap:10px;align-items:center;margin-bottom:5px}.coord-label{color:#0f0;font-weight:700}.coord-value{color:#ff0;background:#ffff001a;padding:2px 6px;border-radius:3px;border:1px solid rgba(255,255,0,.3);min-width:40px;text-align:center}.coord-copy-hint{font-size:11px;color:#888;font-style:italic;border-top:1px solid #333;padding-top:5px;margin-top:5px}.mouse-coordinates{animation:fadeInScale .2s ease-out}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media (max-width: 768px){.mouse-coordinates{bottom:10px;left:10px;right:10px;font-size:12px;padding:8px 12px}.coord-display{gap:8px}.coord-value{min-width:35px;padding:1px 4px}}.loading-overlay{position:absolute;inset:0;background:#fffc;display:flex;align-items:center;justify-content:center;z-index:1000}.loading-spinner{background:#000c;color:#fff;padding:1rem 2rem;border-radius:.5rem;font-size:.9rem}.location-count{margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(0,0,0,.1);font-size:.85rem;color:#2c3e50;font-weight:600;display:flex;align-items:center;gap:.5rem}.count-icon{font-size:1rem}.count-text{color:#2c3e50;font-weight:600}.interactive-map-container{position:relative;height:100%;width:100%;display:flex;align-items:center;justify-content:flex-start!important}@media (orientation: portrait){.interactive-map-container{justify-content:flex-start!important}}@media (orientation: landscape){.interactive-map-container{justify-content:flex-start!important;padding-left:0!important;margin-left:0!important}}.map-image-wrapper{position:relative;display:inline-block!important;touch-action:manipulation;text-align:left!important;vertical-align:top!important;margin-left:0!important;margin-right:auto!important}.interactive-map-image{width:40vw!important;max-height:80vh!important;object-fit:contain!important;border-radius:10px!important;box-shadow:0 10px 30px #0000004d!important;display:block!important;touch-action:manipulation!important;user-select:none!important;-webkit-user-select:none!important}@media (orientation: portrait){.interactive-map-image{width:75vw!important;max-height:85vh!important}}@media (orientation: landscape){.interactive-map-image{width:40vw!important;max-height:80vh!important}}@media (max-width: 480px){.interactive-map-image{width:75vw!important;max-height:80vh!important}}@media (min-width: 481px) and (max-width: 1024px){.interactive-map-image{width:45vw!important;max-height:85vh!important}.interactive-map-container{justify-content:flex-start!important}.map-image-wrapper{margin-left:0!important}}@media (min-width: 481px) and (max-width: 1024px) and (orientation: portrait){.interactive-map-image{width:80vw!important;max-height:90vh!important}}@media (min-width: 1200px){.interactive-map-image{width:35vw!important;max-height:80vh!important}.interactive-map-container{justify-content:flex-start!important}.map-image-wrapper{margin-left:0!important}}@media (min-width: 1440px){.interactive-map-image{width:25vw!important;max-height:80vh!important}.interactive-map-container{justify-content:flex-start!important}.map-image-wrapper{margin-left:0!important}}.markers-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:100}.markers-overlay .location-marker,.markers-overlay .zone-marker{pointer-events:auto;z-index:101}.map-legend{position:absolute;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:16px;box-shadow:0 4px 15px #0000001a;border:1px solid rgba(255,255,255,.3);min-width:150px;max-width:200px;z-index:1100}@media (orientation: landscape){.map-legend{top:80px;right:clamp(20px,8vw,140px)}.legend-items{display:flex;flex-direction:column;gap:8px}}@media (orientation: portrait){.map-legend{bottom:20px;left:50%;transform:translate(-50%);min-width:300px;max-width:90vw;padding:12px 20px;position:fixed;z-index:200}.legend-items{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 16px;justify-content:center}}.map-legend h4{margin:0 0 12px;font-size:14px;color:#2c3e50;font-weight:700;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.1)}@media (orientation: portrait){.map-legend h4{margin-bottom:8px;font-size:13px}}.legend-items{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:12px;color:#2c3e50;font-weight:600;white-space:nowrap}.legend-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}@media (orientation: portrait){.legend-item{font-size:11px;gap:6px}.legend-icon{font-size:13px;width:18px}}@media (max-width: 768px){@media (orientation: landscape){.map-legend{top:70px;right:clamp(10px,5vw,50px);padding:12px;min-width:130px}}@media (orientation: portrait){.map-legend{bottom:15px;min-width:280px;padding:10px 16px}}}@media (max-width: 480px){@media (orientation: landscape){.map-legend{top:60px;right:clamp(5px,3vw,25px);padding:10px;min-width:120px}}@media (orientation: portrait){.map-legend{bottom:10px;min-width:260px;padding:8px 12px}.legend-item{font-size:10px;gap:4px}.legend-icon{font-size:12px;width:16px}}}.zone-marker{cursor:pointer;position:relative;transition:z-index .3s ease}.zone-marker:hover{z-index:20}.zone-button{min-width:80px;padding:6px 12px;border-radius:16px;border:2px solid;background:#fffffff2;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 2px 8px #0000001a;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;font-weight:600;font-size:11px;cursor:pointer;position:relative;overflow:hidden;pointer-events:auto;z-index:5}.zone-button:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transform:translate(-100%);transition:transform .6s ease;pointer-events:none;z-index:0}.zone-button:hover:before{transform:translate(100%)}.zone-button:hover,.zone-button.hovered{transform:scale(1.15);box-shadow:0 6px 20px #00000040;background:#fff;border-width:3px}.zone-button.clicked{transform:scale(.95);transition:all .1s ease}.zone-name{color:#2c3e50;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px;position:relative;z-index:2;pointer-events:none}.zone-tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;opacity:0;animation:tooltipFadeIn .2s ease-out forwards}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.zone-tooltip-content{background:#000000e6;color:#fff;padding:8px 12px;border-radius:6px;font-size:10px;max-width:160px;box-shadow:0 4px 16px #0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.zone-tooltip-content h4{margin:0 0 4px;font-size:11px;font-weight:600;color:#fff}.zone-tooltip-content p{margin:0;font-size:9px;line-height:1.4;color:#ffffffe6}.zone-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#000000e6}@media (max-width: 768px){.zone-button{min-width:70px;padding:5px 10px;font-size:10px;border-radius:14px}.zone-button:hover,.zone-button.hovered{transform:scale(1.12)}.zone-name{max-width:80px}.zone-tooltip-content{max-width:140px;padding:6px 10px;font-size:9px}.zone-tooltip-content h4{font-size:10px}}.zone-nav-landscape{display:none}@media (orientation: landscape){.zone-nav-landscape{display:block;position:absolute;top:20px;right:20px;z-index:120}}.landscape-nav-container{display:flex;align-items:center;gap:15px;background:#fffffff2;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:25px;padding:10px 20px;box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.3)}.hamburger-menu-button{background:transparent;border:none;cursor:pointer;padding:8px;border-radius:12px;transition:all .3s ease;position:relative}.hamburger-menu-button:hover{background:#667eea1a}.hamburger-menu-button.active{background:#667eea33}.hamburger-icon{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px;position:relative}.hamburger-icon span{display:block;height:3px;width:100%;background:#667eea;border-radius:3px;transition:all .3s ease;transform-origin:left}.hamburger-menu-button.active .hamburger-icon span:nth-child(1){transform:rotate(45deg)}.hamburger-menu-button.active .hamburger-icon span:nth-child(2){opacity:0}.hamburger-menu-button.active .hamburger-icon span:nth-child(3){transform:rotate(-45deg)}.current-zone-display{display:flex;align-items:center;gap:8px}.zone-label{font-size:14px;color:#666;font-weight:500}.zone-current-name{font-size:16px;color:#333;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.menu-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0009;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:250;animation:fadeIn .3s ease-out}.center-modal-menu{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:24px;padding:30px;box-shadow:0 20px 60px #0000004d;border:1px solid rgba(255,255,255,.3);max-width:90vw;max-height:80vh;width:600px;z-index:300;animation:slideInScale .4s ease-out;overflow-y:auto}@keyframes slideInScale{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.modal-menu-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid rgba(102,126,234,.2)}.modal-menu-header h2{margin:0;font-size:24px;color:#333;font-weight:700;background:linear-gradient(135deg,#667eea,#764ba2);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.close-modal-button{background:#ff6b6b1a;border:none;border-radius:50%;width:40px;height:40px;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center}.close-modal-button:hover{background:#ff6b6b33;transform:scale(1.1)}.close-modal-button span{font-size:18px;color:#ff6b6b}.modal-menu-content{display:flex;flex-direction:column;gap:20px}.overview-button-modal{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;color:#fff;box-shadow:0 8px 24px #667eea4d}.overview-button-modal:hover{transform:translateY(-2px);box-shadow:0 12px 30px #667eea66}.overview-button-content{display:flex;align-items:center;gap:16px}.overview-icon{font-size:32px;opacity:.9}.overview-text{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.overview-name{font-size:18px;font-weight:600}.overview-description{font-size:14px;opacity:.8}.modal-zone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.zone-button-modal{background:#fff;border:2px solid #e0e0e0;border-radius:16px;padding:20px;cursor:pointer;transition:all .3s ease;text-align:left;position:relative;overflow:hidden}.zone-button-modal:before{content:"";position:absolute;top:0;left:0;width:6px;height:100%;background:var(--zone-color, #667eea);transition:width .3s ease}.zone-button-modal:hover{transform:translateY(-3px);box-shadow:0 8px 25px #00000026;border-color:var(--zone-color, #667eea)}.zone-button-modal:hover:before{width:12px}.zone-button-modal.active{background:linear-gradient(135deg,var(--zone-color, #667eea) 0%,rgba(255,255,255,.9) 100%);border-color:var(--zone-color, #667eea);box-shadow:0 8px 25px #0003}.zone-button-modal.active:before{width:100%;opacity:.1}.zone-button-modal-content{display:flex;align-items:center;gap:16px;position:relative}.zone-color-indicator{width:48px;height:48px;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px #00000026;position:relative}.zone-color-indicator:after{content:"🗺️";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:20px;text-shadow:1px 1px 2px rgba(0,0,0,.3)}.zone-modal-text{display:flex;flex-direction:column;gap:6px;flex:1}.zone-name-modal{font-size:16px;font-weight:600;color:#333;line-height:1.2}.zone-description-modal{font-size:13px;color:#666;line-height:1.3;opacity:.8}.active-indicator-modal{position:absolute;top:16px;right:16px;font-size:20px;animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-3px)}60%{transform:translateY(-2px)}}.zone-nav-portrait{display:none}@media (orientation: portrait){.zone-nav-portrait{display:block;position:fixed;bottom:20px;right:20px;z-index:300}}.floating-menu-button{width:60px;height:60px;border-radius:50%;background:#667eea;border:none;cursor:pointer;box-shadow:0 4px 20px #667eea66;transition:all .3s ease;display:flex;align-items:center;justify-content:center;position:relative}.floating-menu-button:hover{transform:scale(1.1);box-shadow:0 6px 25px #667eea80}.floating-menu-button.active{background:#ff6b6b;transform:rotate(180deg)}.menu-icon{font-size:24px;color:#fff;transition:all .3s ease}@media (max-width: 768px){.landscape-nav-container{padding:8px 15px;gap:10px}.hamburger-menu-button{padding:6px}.hamburger-icon{width:20px;height:15px}.zone-label{font-size:13px}.zone-current-name{font-size:14px}.floating-menu-button{width:50px;height:50px}.menu-icon{font-size:20px}.center-modal-menu{width:95vw;padding:20px}.modal-menu-header h2{font-size:20px}.modal-zone-grid{grid-template-columns:1fr}}@media (max-width: 480px){.zone-nav-portrait{bottom:15px;right:15px}.zone-nav-landscape{top:15px;left:15px}.center-modal-menu{width:95vw;padding:15px;max-height:85vh}.modal-menu-header h2{font-size:18px}.overview-button-modal{padding:15px}.overview-icon{font-size:28px}.overview-name{font-size:16px}.zone-button-modal{padding:15px}.zone-color-indicator{width:40px;height:40px}.zone-color-indicator:after{font-size:18px}}.center-modal-menu::-webkit-scrollbar{width:8px}.center-modal-menu::-webkit-scrollbar-track{background:#0000001a;border-radius:4px}.center-modal-menu::-webkit-scrollbar-thumb{background:#667eea80;border-radius:4px}.center-modal-menu::-webkit-scrollbar-thumb:hover{background:#667eeab3}*,button{transition:all .3s ease}.zone-button-modal:focus,.overview-button-modal:focus,.hamburger-menu-button:focus,.floating-menu-button:focus,.close-modal-button:focus{outline:2px solid #667eea;outline-offset:2px}.location-grid-container{width:100%;background:#fffffff7;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:20px;padding:30px;margin-top:0;box-shadow:0 8px 30px #0000001f;border:1px solid rgba(255,255,255,.3)}.location-grid-header{text-align:center;margin-bottom:30px}.location-grid-header h2{margin:0 0 8px;color:#2c3e50;font-size:1.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.location-grid-header p{margin:0;color:#7f8c8d;font-size:1rem;font-weight:500}.location-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;padding:0 10px}.location-card{background:linear-gradient(145deg,#fffffff2,#ffffffd9);border:2px solid rgba(103,126,234,.2);border-radius:18px;cursor:pointer;transition:all .4s ease;display:flex;flex-direction:column;overflow:hidden;min-height:320px;box-shadow:0 6px 20px #00000014;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.location-card:hover{transform:translateY(-5px) scale(1.02);border-color:#667eea;box-shadow:0 12px 35px #677eea40;background:linear-gradient(145deg,#fff,#fffffff2)}.location-card.selected{border-color:#e74c3c;background:linear-gradient(145deg,#e74c3c26,#e74c3c0d);transform:translateY(-3px);box-shadow:0 10px 30px #e74c3c4d}.location-card.selected:hover{border-color:#c0392b;background:linear-gradient(145deg,#e74c3c33,#e74c3c1a);transform:translateY(-5px) scale(1.02)}.location-card-image{width:100%;height:180px;overflow:hidden;background:linear-gradient(135deg,#f8f9fa,#e9ecef);position:relative}.location-card-image:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.1) 100%);z-index:1;pointer-events:none}.card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;filter:brightness(1.05) contrast(1.05)}.location-card:hover .card-image{transform:scale(1.08);filter:brightness(1.1) contrast(1.1)}.location-card-content{padding:20px;display:flex;flex-direction:column;flex-grow:1;gap:12px}.location-name{margin:0;font-size:1.2rem;font-weight:700;color:#2c3e50;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.05);overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.location-category{margin:0;font-size:.85rem;color:#fff;font-weight:600;background:linear-gradient(135deg,#667eea,#764ba2);padding:6px 12px;border-radius:15px;display:inline-block;align-self:flex-start;box-shadow:0 3px 10px #677eea4d;text-shadow:0 1px 2px rgba(0,0,0,.2)}.location-summary{margin:0;font-size:.9rem;color:#5a6c7d;line-height:1.6;flex-grow:1;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;text-align:justify}@media (max-width: 1200px){.location-grid{grid-template-columns:repeat(3,1fr);gap:20px}}@media (max-width: 768px){.location-grid-container{padding:20px}.location-grid{grid-template-columns:repeat(2,1fr);gap:15px;padding:0 5px}.location-card{min-height:280px}.location-card-image{height:140px}.location-card-content{padding:15px;gap:10px}.location-name{font-size:1.1rem}.location-category{font-size:.8rem;padding:5px 10px}.location-summary{font-size:.85rem;-webkit-line-clamp:2}.location-grid-header h2{font-size:1.5rem}.location-grid-header p{font-size:.9rem}}@media (max-width: 480px){.location-grid-container{padding:15px}.location-grid{grid-template-columns:repeat(1,1fr);gap:12px}.location-card{min-height:240px}.location-card-image{height:120px}.location-card-content{padding:12px;gap:8px}.location-name{font-size:1rem;-webkit-line-clamp:2}.location-category{font-size:.75rem;padding:4px 8px}.location-summary{font-size:.8rem;-webkit-line-clamp:2}.location-grid-header h2{font-size:1.3rem}.location-grid-header p{font-size:.85rem}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.location-card{animation:fadeInUp .5s ease-out}.location-card:nth-child(2n){animation-delay:.1s}.location-card:nth-child(3n){animation-delay:.2s}.location-card-image:empty:before{content:"📷";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:3rem;color:#bdc3c7;z-index:2}.no-data-message{text-align:center;padding:60px 20px;color:#7f8c8d}.no-data-icon{font-size:4rem;margin-bottom:20px;opacity:.5}.no-data-message h3{font-size:1.5rem;margin-bottom:12px;color:#34495e;font-weight:600}.no-data-message p{font-size:1rem;line-height:1.5;max-width:300px;margin:0 auto}.location-info{background:#fffffff7;backdrop-filter:blur(25px);-webkit-backdrop-filter:blur(25px);border-radius:20px;box-shadow:0 15px 40px #00000026;overflow:hidden;border:1px solid rgba(255,255,255,.4)}.location-info.sidebar{width:100%;min-height:600px;max-height:none;display:flex;flex-direction:column;position:static;border-radius:20px;z-index:100;margin-bottom:20px}.location-info.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:90vw;max-width:500px;max-height:80vh;z-index:1000;animation:modalSlideIn .3s ease-out}.modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;z-index:-1}.modal-header{position:absolute;top:15px;right:15px;z-index:10}.close-button{background:#000000b3;border:none;color:#fff;font-size:24px;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-button:hover{background:#000000e6;transform:scale(1.1)}.info-content{height:100%;display:flex;flex-direction:column;position:relative}.info-header{padding:30px 40px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:relative;flex-shrink:0;min-height:140px;max-height:140px;display:flex;align-items:center}.info-header:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(255,255,255,.1) 100%);pointer-events:none}.location-header{display:flex;align-items:center;gap:20px;position:relative;z-index:1}.location-icon{font-size:3.2rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));transition:transform .3s ease}.location-icon:hover{transform:scale(1.1)}.location-icon-image{width:3.2rem;height:3.2rem;border-radius:12px;object-fit:cover;filter:drop-shadow(0 3px 6px rgba(0,0,0,.3));transition:transform .3s ease}.location-icon-image:hover{transform:scale(1.1)}.info-header h2{margin:0;font-size:1.9rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.3);line-height:1.2}.subtitle{margin:8px 0 0;opacity:.95;font-size:1.05rem;font-weight:400;line-height:1.3}.parent-location-info{margin:4px 0 0;opacity:.8;font-size:.9rem;font-weight:300;line-height:1.3;font-style:italic}.info-body{flex:1;padding:30px 40px 40px;overflow-y:auto;overflow-x:hidden;background:#fff;height:460px;max-height:460px}.main-image-container{margin-bottom:25px;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #00000026}.main-image{width:100%;height:auto;max-height:300px;object-fit:cover;display:block;transition:transform .3s ease}.main-image:hover{transform:scale(1.02)}.image-slideshow-container{margin-bottom:25px;border-radius:15px;overflow:hidden;box-shadow:0 8px 25px #00000026}.slideshow-wrapper{position:relative;width:100%;height:300px;overflow:hidden}.slideshow-image{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .5s ease}.artists-section{margin-top:30px;padding-top:25px;border-top:2px solid rgba(103,126,234,.1)}.section-title{margin:0 0 20px;color:#2d3436;font-size:1.4rem;font-weight:700;display:flex;align-items:center;gap:12px}.section-title:before{content:"🎨";font-size:1.2em}.artists-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}@media (max-width: 768px){.artists-grid{grid-template-columns:repeat(2,1fr);gap:15px}}@media (max-width: 480px){.artists-grid{grid-template-columns:1fr;gap:15px}}.artist-card{background:#ffffffe6;border:1px solid rgba(103,126,234,.1);border-radius:15px;padding:20px;box-shadow:0 4px 20px #00000014;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.artist-card:hover{transform:translateY(-5px);box-shadow:0 8px 30px #677eea33;border-color:#677eea4d}.artist-image-container{width:120px;height:120px;border-radius:50%;overflow:hidden;margin:0 auto 15px;box-shadow:0 4px 15px #0000001a}.artist-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.artist-card:hover .artist-image{transform:scale(1.1)}.artist-info{text-align:center}.artist-name{margin:0 0 10px;color:#2d3436;font-size:1.1rem;font-weight:600;line-height:1.3}.artist-website{display:inline-flex;align-items:center;gap:8px;color:#667eea;text-decoration:none;font-size:.9rem;font-weight:500;padding:8px 16px;border:1px solid #667eea;border-radius:25px;transition:all .2s ease}.artist-website:after{content:"↗";font-size:.8em}.artist-website:hover{background:#667eea;color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 4px 15px #677eea4d}.sublocations-section{margin-top:30px;padding-top:25px;border-top:2px solid rgba(103,126,234,.1)}.sublocations-grid{display:grid;gap:20px}.sublocation-card{background:#fffffff2;border:1px solid rgba(103,126,234,.15);border-radius:15px;padding:20px;box-shadow:0 4px 20px #00000014;transition:all .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.sublocation-card:hover{transform:translateY(-3px);box-shadow:0 8px 30px #677eea26;border-color:#677eea40}.sublocation-image-container{width:100%;height:200px;border-radius:10px;overflow:hidden;margin-bottom:15px;box-shadow:0 4px 15px #0000001a}.sublocation-image{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.sublocation-card:hover .sublocation-image{transform:scale(1.05)}.sublocation-name{margin:0 0 10px;color:#2d3436;font-size:1.2rem;font-weight:600;line-height:1.3}.sublocation-summary{margin:0 0 15px;color:#636e72;font-size:.95rem;line-height:1.6}.sublocation-artists{margin-top:15px;padding-top:15px;border-top:1px solid rgba(103,126,234,.1)}.sublocation-artists-title{margin:0 0 10px;color:#2d3436;font-size:1rem;font-weight:600}.sublocation-artists-title:before{content:"🎨";margin-right:8px}.sublocation-artists-list{display:flex;flex-direction:column;gap:10px}.sublocation-artist-item{display:flex;align-items:center;gap:12px;padding:10px;background:#677eea0d;border-radius:10px;transition:all .2s ease}.sublocation-artist-item:hover{background:#677eea1a;transform:translate(5px)}.sublocation-artist-image{width:40px;height:40px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 2px 8px #0000001a}.sublocation-artist-image img{width:100%;height:100%;object-fit:cover}.sublocation-artist-info{flex:1;min-width:0}.sublocation-artist-name{display:block;color:#2d3436;font-weight:500;font-size:.9rem;margin-bottom:4px}.sublocation-artist-website{display:inline-block;color:#667eea;text-decoration:none;font-size:.8rem;font-weight:500;padding:2px 8px;border:1px solid #667eea;border-radius:12px;transition:all .2s ease}.sublocation-artist-website:hover{background:#667eea;color:#fff;text-decoration:none}@media (max-width: 768px){.sublocations-grid{gap:15px}.sublocation-card{padding:15px}.sublocation-image-container{height:150px}.sublocation-artist-item{padding:8px;gap:10px}.sublocation-artist-image{width:35px;height:35px}}.location-details{line-height:1.8;color:#2d3436;font-size:1.05rem;text-align:justify}.location-details h1,.location-details h2,.location-details h3{color:#2d3436;margin-top:25px;margin-bottom:15px;font-weight:600}.location-details h1{font-size:1.8rem}.location-details h2{font-size:1.5rem}.location-details h3{font-size:1.3rem}.location-details p{margin-bottom:15px;line-height:1.8}.location-details ul,.location-details ol{margin:15px 0;padding-left:25px}.location-details li{margin-bottom:8px;line-height:1.7}.location-details a{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease}.location-details a:hover{color:#764ba2;text-decoration:underline}.location-details blockquote{background:#677eea1a;border-left:4px solid #667eea;padding:20px;margin:20px 0;border-radius:8px;font-style:italic}.location-details img{max-width:100%;height:auto;border-radius:10px;margin:15px 0;box-shadow:0 4px 15px #0000001a}.info-section{margin-bottom:30px}.info-section h3{margin:0 0 15px;color:#2d3436;font-size:1.3rem;font-weight:700;display:flex;align-items:center;gap:12px}.location-summary,.location-description{margin:0;line-height:1.8;color:#636e72;font-size:1.05rem;text-align:justify;background:#677eea14;padding:20px;border-radius:12px;border-left:4px solid #667eea}.location-summary h1,.location-summary h2,.location-summary h3,.location-description h1,.location-description h2,.location-description h3{margin-top:20px;margin-bottom:10px;color:#2d3436;font-weight:600}.location-summary p,.location-description p{margin-bottom:15px;line-height:1.8}.info-section p{margin:0;line-height:1.8;color:#636e72;font-size:1.05rem;text-align:justify}.info-section a{color:#667eea;text-decoration:none;font-weight:600;transition:color .2s ease}.info-section a:hover{color:#764ba2;text-decoration:underline}.info-section ul{margin:15px 0 0;padding-left:25px}.info-section li{color:#636e72;line-height:1.8;margin-bottom:10px;font-size:1.05rem}.type-badge{display:inline-flex;align-items:center;gap:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:12px 22px;border-radius:30px;font-size:1rem;font-weight:600;box-shadow:0 6px 20px #677eea66;transform:translateY(0);transition:all .3s ease}.type-badge:hover{transform:translateY(-2px);box-shadow:0 8px 25px #677eea80}.tips{background:#677eea1f;border-radius:15px;padding:25px;border-left:5px solid #667eea;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tips p{margin:10px 0;font-size:1rem;font-weight:500}.tip-box{background:linear-gradient(135deg,#ffeaa7,#fab1a0);border-radius:18px;padding:25px;margin-top:25px;text-align:center;box-shadow:0 8px 25px #ffeaa766;position:relative;overflow:hidden}.tip-box:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,rgba(255,255,255,.2) 0%,transparent 50%,rgba(255,255,255,.2) 100%);pointer-events:none}.tip-box p{margin:0;color:#2d3436;font-size:1.1rem;font-weight:600;position:relative;z-index:1}.info-body::-webkit-scrollbar{width:8px}.info-body::-webkit-scrollbar-track{background:#0000000d;border-radius:4px}.info-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#667eea,#764ba2);border-radius:4px;transition:all .3s ease}.info-body::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5a6fd8,#6a4190);transform:scaleX(1.2)}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (pointer: coarse){.close-button{width:48px;height:48px;font-size:28px}.info-section h3{font-size:1.2rem}.info-section p,.info-section li{font-size:1rem;line-height:1.8}.info-body,.info-header{padding:30px}.artist-card{padding:15px}.artist-image-container{width:80px;height:80px}}@media (orientation: portrait){.location-info.modal{width:95vw;max-height:85vh}}@media (orientation: landscape){.location-info.sidebar{border-radius:15px;position:static;display:flex}}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}#root{height:100vh;width:100vw}.app-container{height:100vh;width:100vw;display:flex;flex-direction:column;background:#000;padding:20px;align-items:center;justify-content:center;position:relative}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;font-family:Kanit,sans-serif;padding:20px}.loading-container .loading-spinner{margin-bottom:30px}.loading-container p{font-size:1.2rem;margin:0;text-align:center;color:#fff}.fancy-loader{gap:18px}.fancy-loader .loader-logo{font-size:40px;filter:drop-shadow(0 6px 14px rgba(255,255,255,.15))}.fancy-loader .loader-rings{position:relative;width:72px;height:72px}.fancy-loader .ring{position:absolute;inset:0;border-radius:50%;border:4px solid transparent}.fancy-loader .ring.r1{border-top-color:#667eea;animation:ringSpin 1.2s linear infinite}.fancy-loader .ring.r2{inset:8px;border-right-color:#f093fb;animation:ringSpin .9s linear infinite reverse}.fancy-loader .ring.r3{inset:16px;border-bottom-color:#38f9d7;animation:ringSpin .75s linear infinite}@keyframes ringSpin{to{transform:rotate(360deg)}}.simple-spinner{width:50px;height:50px;border:5px solid #333;border-top:5px solid #667eea;border-radius:50%;animation:simpleSpin 1s linear infinite;margin-bottom:20px}@keyframes simpleSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner{width:60px;height:60px;position:relative;margin:0 auto 20px;display:block}.loading-spinner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:4px solid transparent;border-top:4px solid #667eea;border-right:4px solid #764ba2;border-radius:50%;animation:spinGlow 1.2s cubic-bezier(.68,-.55,.265,1.55) infinite;box-shadow:0 0 20px #667eea80}.loading-spinner:after{content:"";position:absolute;top:8px;left:8px;width:calc(100% - 16px);height:calc(100% - 16px);border:2px solid transparent;border-bottom:2px solid #f093fb;border-left:2px solid #43e97b;border-radius:50%;animation:spinGlow .8s linear infinite reverse}@keyframes spinGlow{0%{transform:rotate(0);box-shadow:0 0 10px #667eea4d}25%{box-shadow:0 0 25px #764ba280}50%{box-shadow:0 0 15px #f093fb66}75%{box-shadow:0 0 30px #43e97b99}to{transform:rotate(360deg);box-shadow:0 0 10px #667eea4d}}.map-upload-placeholder{width:90%;max-width:300px;height:200px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:20px;border:2px dashed #cbd5e1;margin:20px 20px 20px 0;box-shadow:0 4px 12px #0000001a;align-self:flex-start}.upload-message{text-align:center;color:#64748b;font-family:Kanit,sans-serif}.upload-message h3{font-size:18px;font-weight:500;margin-bottom:8px;color:#475569}.upload-message p{font-size:14px;margin-bottom:15px;opacity:.8}.upload-message .loading-spinner{display:flex;align-items:center;justify-content:center;margin:15px auto 0;width:40px;height:40px}.upload-message .spinner{width:32px;height:32px;position:relative}.upload-message .spinner:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-top:3px solid #64748b;border-right:3px solid rgba(100,116,139,.6);border-radius:50%;animation:spinSmooth 1s ease-in-out infinite;box-shadow:0 0 15px #64748b33}.upload-message .spinner:after{content:"";position:absolute;top:6px;left:6px;width:calc(100% - 12px);height:calc(100% - 12px);border:2px solid transparent;border-bottom:2px solid rgba(100,116,139,.4);border-radius:50%;animation:spinSmooth .7s linear infinite reverse}@keyframes spinSmooth{0%{transform:rotate(0);opacity:.8}50%{opacity:1}to{transform:rotate(360deg);opacity:.8}}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#fff;text-align:center;font-family:Kanit,sans-serif}.error-content{max-width:500px;padding:40px;background:#ffffff1a;border-radius:16px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}.error-icon{font-size:4rem;margin-bottom:20px;opacity:.8}.error-container h2{font-size:2rem;margin-bottom:20px;color:#ff6b6b}.error-container p{font-size:1.1rem;margin-bottom:30px;max-width:400px;line-height:1.5}.error-details{margin:20px 0;text-align:left}.error-details details{background:#0000004d;border-radius:8px;padding:15px;margin-top:15px}.error-details summary{cursor:pointer;font-weight:600;padding:10px;border-radius:5px;transition:background .2s ease}.error-details summary:hover{background:#ffffff1a}.error-details p{margin-top:10px;font-size:.9rem;color:#ccc;font-family:monospace;word-break:break-all;text-align:left}.retry-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:15px 30px;border-radius:12px;font-size:1.1rem;cursor:pointer;transition:all .3s ease;font-family:Kanit,sans-serif;box-shadow:0 4px 15px #0000004d}.retry-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0006}.error-container button{background:#ff6b6b;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:1rem;cursor:pointer;transition:background .3s ease;font-family:Kanit,sans-serif}.error-container button:hover{background:#e74c3c}.main-content{flex:1;display:flex;position:relative;width:100%;height:calc(100vh - 140px);align-items:center;justify-content:center}.main-content.portrait{flex-direction:column;justify-content:center;align-items:center}.main-content.portrait .map-section{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.main-content.landscape{flex-direction:row;align-items:center;justify-content:center;margin-left:clamp(50px,10vw,150px)}.main-content.landscape .map-section{flex:1;height:100%;display:flex;justify-content:flex-start;align-items:center;min-width:0;padding-left:clamp(20px,4vw,40px);flex-wrap:wrap;align-content:center}.center-info-area{position:fixed;top:50%;left:calc(50% + clamp(50px,10vw,150px));transform:translate(-50%,-50%);width:clamp(600px,80vw,750px);height:clamp(400px,70vh,600px);max-width:85vw;max-height:80vh;z-index:100;pointer-events:auto;padding:0;overflow-y:auto;overflow-x:hidden}.main-content.portrait .center-info-area{display:none}.map-container{height:100%;width:100%;display:flex;align-items:center;justify-content:center}@media (max-width: 480px){.app-container{padding:10px}.main-content.landscape{margin-left:20px}.center-info-area{left:calc(50% + 20px);width:clamp(300px,90vw,500px);height:clamp(300px,60vh,400px)}}@media (min-width: 481px) and (max-width: 1024px){.main-content.landscape{margin-left:clamp(30px,8vw,100px)}.center-info-area{left:calc(50% + clamp(30px,8vw,100px));width:clamp(500px,75vw,650px);height:clamp(350px,65vh,500px)}}@media (min-width: 1200px){.main-content.landscape{margin-left:clamp(100px,12vw,200px)}.center-info-area{left:calc(50% + clamp(100px,12vw,200px));width:clamp(650px,70vw,800px);height:clamp(450px,75vh,650px)}}@media (min-width: 1440px){.main-content.landscape{margin-left:clamp(150px,15vw,250px)}.center-info-area{left:calc(50% + clamp(150px,15vw,250px));width:clamp(700px,65vw,900px);height:clamp(500px,78vh,700px)}}.language-toggle{position:fixed;top:20px;left:20px;z-index:1000;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.home-button{position:fixed;top:20px;left:140px;z-index:1000}.home-btn{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:50%;width:50px;height:50px;font-size:20px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;display:flex;align-items:center;justify-content:center;animation:fadeInSlide .3s ease}.home-btn:hover{background:#fff;border-color:#667eea80;transform:translateY(-2px) scale(1.05);box-shadow:0 6px 20px #00000026}.home-btn:active{transform:translateY(0) scale(.95)}@keyframes fadeInSlide{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.language-btn{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:12px;padding:8px 16px;font-size:14px;font-weight:600;color:#333;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #0000001a;font-family:Kanit,sans-serif;min-width:100px;text-align:center}.language-btn:hover{background:#fff;border-color:#667eea80;transform:translateY(-2px);box-shadow:0 6px 20px #00000026}.language-btn:active{transform:translateY(0)}.language-info{background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:6px 12px;max-width:200px;font-size:11px;color:#555;border:1px solid rgba(255,255,255,.3);font-family:Kanit,sans-serif}.language-info small{display:block;margin-bottom:2px}.language-info small:last-child{margin-bottom:0;opacity:.8;font-size:10px}@media (max-width: 768px){.language-toggle{top:15px;left:15px}.home-button{top:15px;left:110px}.language-btn{padding:6px 12px;font-size:12px;min-width:80px}.home-btn{width:42px;height:42px;font-size:18px}}@media (max-width: 480px){.language-toggle{top:10px;left:10px}.language-btn{padding:4px 8px;font-size:11px;min-width:70px}}[data-pin-do=buttonPin],[data-pin-do=buttonBookmark],[data-pin-do],.PinIt,.pin-it-button,span[data-pin-do],a[data-pin-do],.pinterest-save-button,[data-pin-media],[data-pin-url],[data-pin-description],.pinterest-button,._pinterest-hover,.pinterest-hover-build,.pinterest-build-done,.pinterest-board-picker,*[class*=Pinterest],*[id*=Pinterest],*[class*=pinterest],*[id*=pinterest]:not(.location-marker):not(.marker-icon):not(.popup-icon),button[data-pin-do],span[data-pin-hover=true],div[data-pin-hover=true]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important;left:-99999px!important;top:-99999px!important;width:0!important;height:0!important;z-index:-999999!important;overflow:hidden!important}script[src*=pinterest],script[src*=pinit],script[src*="assets.pinterest.com"],script[src*="s.pinimg.com"],iframe[src*=pinterest],link[href*=pinterest]{display:none!important}img{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important;-webkit-user-drag:none!important;-khtml-user-drag:none!important;-moz-user-drag:none!important;-o-user-drag:none!important;user-drag:none!important;pointer-events:auto!important;position:relative!important}img:before{content:""!important;position:absolute!important;inset:0!important;z-index:1!important;pointer-events:none!important;background:transparent!important}img:hover:after,img:after,div[data-pin-media]:after,div[data-pin-url]:after,div[data-pin-description]:after,span[data-pin-media]:after,span[data-pin-url]:after,span[data-pin-description]:after{display:none!important;content:none!important;visibility:hidden!important}*[class*=pin]:not(.location-marker):not(.marker-icon):not(.popup-icon):not(.zone-button):not(.hamburger-icon):not(.spinner),*[id*=pin]:not(.location-marker):not(.marker-icon):not(.popup-icon),*[data-pin-do],*[data-pin-media],*[data-pin-url],*[data-pin-description],*[data-pin-hover],button[data-pin-do],a[data-pin-do],div[data-reactroot] div[style*="position: absolute"][style*=z-index],div[style*="position: absolute"][style*="cursor: pointer"][style*=z-index]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;position:absolute!important;left:-99999px!important;top:-99999px!important;width:0!important;height:0!important;z-index:-999999!important}.pin-hover,.pin-wrapper,.pinterest-hover,.pinterest-button,.pinterest-save,._pinterest-hover,[class*=pinterest]:not(.location-marker):not(.marker-icon):not(.popup-icon),[id*=pinterest]:not(.location-marker):not(.marker-icon):not(.popup-icon),[class*=pin-it],[id*=pin-it],[data-pin-log=button_pinit],[data-pin-config],[data-pin-board-width]{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}body *[style*=pinterest],body *[class*=pinterest]:not(.location-marker):not(.marker-icon):not(.popup-icon),body *[id*=pinterest]:not(.location-marker):not(.marker-icon):not(.popup-icon),body div[style*="position: absolute"]:has(button[data-pin-do]),body div[style*=z-index]:has([data-pin-do]){display:none!important;visibility:hidden!important;opacity:0!important;position:absolute!important;left:-99999px!important;top:-99999px!important;width:0!important;height:0!important;z-index:-999999!important}.interactive-map-container,.map-image-wrapper,.location-card-image,.card-image,.zone-color-indicator{-webkit-touch-callout:none!important;-webkit-user-select:none!important;-khtml-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important;position:relative!important}*{-webkit-user-drag:none!important;-khtml-user-drag:none!important;-moz-user-drag:none!important;-o-user-drag:none!important;user-drag:none!important}body:after,html:after{content:none!important}[data-pin-extension-installed]{display:none!important}*[data-pin*],*[pin*]:not(.location-marker):not(.marker-icon):not(.popup-icon):not(.zone-button):not(.hamburger-icon):not(.spinner){display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important}:root{--primary: hsla(14, 98%, 58%, 1);--primary-10: hsla(14, 98%, 58%, .1);--secondary: hsla(189, 49%, 52%, 1);--dark-secondary: hsla(189, 49%, 22%, 1);--drop-shadow-light: drop-shadow(0 4px 8px rgba(0, 0, 0, .12));--drop-shadow: drop-shadow(0 4px 12px rgba(0, 0, 0, .12));--drop-shadow-hover: drop-shadow(0 4px 12px rgba(0, 0, 0, .2));--bg-map: #8aaeba;--map-ratio: 474/830}*{font-family:Rubik,Sarabun,IBM Plex Sans Thai,sans-serif!important;font-optical-sizing:auto;font-weight:400;font-style:normal}.AppContent{position:absolute;width:100%;height:100%;background-color:#fff;color:#000}.Overview{background-color:var(--bg-map);height:100vh;height:100dvh;width:100vw;display:grid;grid-template-rows:4rem auto 7rem}.Overview>div:nth-child(2){overflow-y:auto}.Overview>div:nth-child(3){height:100%}.Overview .overview-footer{z-index:1;height:7rem;display:flex;gap:.5rem;padding-bottom:1rem;margin:0 1rem 1rem}.Overview .overview-footer>.ButtonViewZone{margin-top:auto}.Header{width:100%;height:4rem;display:flex;border-radius:0 0 1.5rem 1.5rem;padding:.5rem 1rem;filter:var(--drop-shadow);background-color:#fff;justify-content:space-between;align-items:center}.header-group-left{display:flex;align-items:center;gap:.5rem}.ButtonHome{cursor:pointer}.ButtonHome .icon-home{height:2.5rem;width:2.5rem;background-color:#fff;border-radius:5rem;filter:var(--drop-shadow);padding:.5rem}.ButtonHome:hover{filter:var(--drop-shadow)}.ButtonLocale .container-locale{width:6.5rem}.ButtonLocale .item-locale{display:flex;align-items:center;gap:.5rem;cursor:pointer;width:100%;background-color:#eee;padding:.5rem;border-radius:5rem;font-size:small}.Mapzone{position:relative;display:flex;height:100%;justify-content:center}.Mapzone .container__mapzone{position:relative;height:100%;display:block}.Mapzone .container__mapzone>img{display:block;max-width:100vw;height:100%;position:absolute;left:50%;top:0;transform:translate(-50%)}.Pinzone{height:1rem;position:relative;cursor:pointer}.Pinzone .badge-zone{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:.2rem .8rem;border-radius:5rem;font-weight:500;font-size:.75rem;filter:var(--drop-shadow);white-space:nowrap}.Pinzone .badge-zone:hover{filter:drop-shadow(0 4px 16px rgba(0,0,0,.32));z-index:1}.NavigationZone{background-color:#fff;padding:.5rem 1rem;border-radius:1rem;width:100%}.NavigationZone .header__navigation-zone{display:flex;justify-content:space-between;align-items:center}.NavigationZone .block__navigation-zone-title{font-size:.8rem;font-weight:500}.NavigationZone .block__navigation-zone-num-of-zone{display:flex;align-items:center}.NavigationZone .block__navigation-zone-num-of-zone>div:nth-child(1){background-color:var(--primary);height:1.5rem;width:1.5rem;border-radius:5rem;display:flex;justify-content:center;align-items:center;margin-right:.5rem;color:#fff;font-size:.8rem}.NavigationZone .block__navigation-zone-num-of-zone>div:nth-child(2){font-size:.8rem;color:var(--primary);font-weight:500}.NavigationZone .container-badge__navigation-zone{display:flex;gap:.2rem;flex-wrap:wrap;height:6rem;overflow-y:auto;padding-top:10px;padding-bottom:8px}.NavigationZone .badge__navigation-zone{background-color:#eee;border-radius:10rem;font-size:.75rem;padding:.5rem;font-weight:500;cursor:pointer;height:fit-content}.NavigationLocation{height:8.5rem!important;background-color:#fff;padding:.5rem 1rem;border-radius:1rem 1rem 0 0;width:100%;filter:var(--drop-shadow)}.NavigationLocation .header__navigation-location{display:flex;justify-content:space-between;align-items:center}.NavigationLocation .block__navigation-location-title{font-size:.8rem;font-weight:500}.NavigationLocation .block__navigation-location-num-of-place{display:flex;align-items:center}.NavigationLocation .block__navigation-location-num-of-place>div:nth-child(1){background-color:var(--primary);height:1.5rem;width:1.5rem;border-radius:5rem;display:flex;justify-content:center;align-items:center;margin-right:.5rem;color:#fff;font-size:.8rem;height:fit-content}.NavigationLocation .block__navigation-location-num-of-place>div:nth-child(2){font-size:.8rem;color:var(--primary);font-weight:500}.NavigationLocation .container-badge__navigation-location{display:flex;gap:.2rem .5rem;flex-wrap:wrap;padding-bottom:1.5rem;padding-top:.3rem;overflow-y:auto}.NavigationLocation .badge__navigation-location{background-color:#eee;border-radius:10rem;font-size:.75rem;padding:.5rem;font-weight:500;cursor:pointer;height:fit-content}.container-block__filter-location{background-color:#fff;border-radius:1rem;width:calc(100vw - 1rem);transform:translate(.5rem);margin-bottom:.5rem;overflow:hidden}.block__title-filter-location label{font-size:.8rem;padding:.5rem;font-weight:500}.block__filter-location{display:flex;gap:.5rem;width:100%;overflow-x:auto;padding:.5rem}.block__filter-location>div{flex:none;background-color:#fff;filter:var(--drop-shadow-light);font-size:.8rem;padding:.5rem;border-radius:10rem;display:flex;align-items:center;gap:4px}.NavigationSubLocation{height:7rem;background-color:#fff;padding:.5rem 1rem;border-radius:1rem;width:100%;filter:var(--drop-shadow)}.NavigationSubLocation .header__navigation-sublocation{display:flex;justify-content:space-between;align-items:center}.NavigationSubLocation .block__navigation-sublocation-title{font-size:.8rem;font-weight:500}.NavigationSubLocation .block__navigation-sublocation-num-of-place{display:flex;align-items:center}.NavigationSubLocation .block__navigation-sublocation-num-of-place>div:nth-child(1){background-color:var(--primary);height:1.5rem;width:1.5rem;border-radius:5rem;display:flex;justify-content:center;align-items:center;margin-right:.5rem;color:#fff;font-size:.8rem}.NavigationSubLocation .block__navigation-sublocation-num-of-place>div:nth-child(2){font-size:.8rem;color:var(--primary);font-weight:500}.NavigationSubLocation .container-badge__navigation-sublocation{display:flex;gap:.2rem .5rem;flex-wrap:wrap;max-height:5rem;padding-bottom:.5rem;overflow-y:auto}.NavigationSubLocation .badge__navigation-sublocation{background-color:#eee;border-radius:10rem;font-size:.75rem;padding:.5rem;font-weight:500;cursor:pointer;height:fit-content}.Divider{width:100%;border-top:1px solid #eee;margin:4px 0}.ButtonViewZone{filter:var(--drop-shadow-hover);cursor:pointer}.ButtonViewZone .outer__button-view-zone{background-color:#fff8;width:3rem;height:3rem;border-radius:10rem;display:flex;justify-content:center;align-items:center}.ButtonViewZone .inner__button-view-zone{display:flex;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;border-radius:10rem;background-color:#fff}.ButtonViewZone .inner__button-view-zone>img{width:1.5rem}.ModalZone{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0008;padding-top:4rem;z-index:1}.ModalZone .container__content-modal-zone{background-color:#fff;display:flex;flex-direction:column;width:100%;max-width:24rem;margin:2rem auto;border-radius:1rem;overflow:hidden}.ModalZone header{display:flex;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid #eee;font-weight:700}.ModalZone section{padding:.8rem;display:flex;flex-direction:column;gap:.8rem;max-height:60dvh;overflow-y:auto}.ModalListSubLocation{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0008;padding-top:4rem}.ModalListSubLocation header{display:flex;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid #eee;font-weight:700}.ButtonGo{background-color:var(--secondary);width:1.5rem;height:1.5rem;padding:.5rem;border-radius:10rem;cursor:pointer;display:flex;justify-content:center;align-items:center;filter:var(--drop-shadow)}.CardzoneList{display:flex;filter:var(--drop-shadow);background-color:#fff;padding:.5rem;border-radius:1rem}.CardzoneList .block__detail-card-zone{display:flex;flex-direction:column;position:relative;width:100%}.CardzoneList .block__button-go{position:absolute;bottom:.5rem;right:.5rem}.CardzoneList .block__image-zone{width:100%;max-width:7rem;aspect-ratio:1.2;overflow:hidden;border-radius:.5rem;margin-right:.5rem}.CardzoneList .block__image-zone img{width:100%}.CardzoneList .block__name-card-zone{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.CardzoneList .block__name-card-zone label{font-weight:500}.CardzoneList .block__description-card-zone{color:#aaa!important;font-size:.6rem;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-clamp:4;padding-right:2rem}.MapLocation{position:relative;height:100%;aspect-ratio:var(--map-ratio);display:flex;justify-content:center}.MapLocation .container__maplocation{position:relative;height:inherit;aspect-ratio:inherit}.MapLocation .container__maplocation>img{height:inherit;aspect-ratio:inherit}.MapSubLocation{position:relative;height:100%;aspect-ratio:var(--map-ratio);display:flex;justify-content:center}.MapSubLocation .container__mapsublocation{position:relative;height:inherit;aspect-ratio:inherit}.MapSubLocation .container__mapsublocation>img{height:inherit;aspect-ratio:inherit}.Location{height:100vh;height:100dvh;width:100vw;display:grid;grid-template-rows:4rem auto 8rem;background-color:#fff}.Location .block__header{height:100%;z-index:2}.Location .block__map-location{height:calc(100vh - 12rem);height:calc(100dvh - 12rem);padding:.5rem 0;margin-left:auto;margin-right:auto}.Location .block__map-location .MapLocation>.container__maplocation>img{border-radius:1rem}.Location .block__navigation-location{height:100%;display:flex;align-items:end;gap:.5rem;margin:0 1rem 1rem;padding:1rem 0;z-index:2}.SubLocation{height:100vh;height:100dvh;width:100vw;display:grid;grid-template-rows:4rem auto 8rem;background-color:#fff}.SubLocation .block__header{height:100%;z-index:2}.SubLocation .block__map-sublocation{height:calc(100vh - 12rem);height:calc(100dvh - 12rem);padding:.5rem 0;margin-left:auto;margin-right:auto}.SubLocation .block__map-sublocation .MapSubLocation>.container__mapsublocation>img{border-radius:1rem}.SubLocation .block__navigation-sublocation{height:100%;display:flex;align-items:end;gap:.5rem;margin:0 1rem 1rem;padding:1rem 0;z-index:2}.PinLocation{transform:translate(-50%,calc(-100% + 16px))}.PinLocation>div{cursor:pointer;position:relative}.PinLocation>div .icon-loc{width:4rem;height:auto}.PinLocation>div .icon-image{width:2rem;height:2rem;border-radius:5rem;position:absolute!important;top:12px;left:50%;transform:translate(-50%);background-color:#fff}.PinLocation .popup-card{position:absolute;bottom:0;left:50%;transform:translate(-50%,-5rem)}.PinSubLocation{transform:translate(-50%,calc(-100% + 16px))}.PinSubLocation>div{cursor:pointer;position:relative}.PinSubLocation>div .icon-loc{width:4rem;height:auto}.PinSubLocation>div .icon-image{width:2rem;height:2rem;border-radius:5rem;position:absolute!important;top:12px;left:50%;transform:translate(-50%);background-color:#fff}.PinSubLocation .popup-card{position:absolute;bottom:0;left:50%;transform:translate(-50%,-5rem)}.PopupPinLocation{transform:translate(-50%,-9rem);width:14rem;height:5rem;background-color:#fff;padding:.3rem;border-radius:1rem;display:flex;filter:var(--drop-shadow);z-index:1}.PopupPinLocation .block__image{width:4rem;margin-right:.75rem}.PopupPinLocation .block__image img{height:100%;aspect-ratio:1;border-radius:.75rem;object-fit:cover}.PopupPinLocation .block__detail{display:flex;flex-direction:column}.PopupPinLocation .block__category{font-size:.6rem;font-weight:500;padding:0 .5rem;background-color:#eee;border-radius:5rem;width:fit-content}.PopupPinLocation .block__name{font-size:.6rem;font-weight:500}.PopupPinLocation .block__summary{color:#aaa!important;font-size:.5rem;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-clamp:2;line-height:.6rem}.PopupPinLocation .block__summary *{font-size:.5rem!important}.PopupPinSubLocation{transform:translate(-50%,-9rem);width:14rem;height:5rem;background-color:#fff;padding:.3rem;border-radius:1rem;display:flex;filter:var(--drop-shadow);z-index:1}.PopupPinSubLocation .block__image{width:4rem;margin-right:.75rem}.PopupPinSubLocation .block__image img{height:100%;aspect-ratio:1;border-radius:.75rem;object-fit:cover}.PopupPinSubLocation .block__detail{display:flex;flex-direction:column}.PopupPinSubLocation .block__category{font-size:.6rem;font-weight:500;padding:0 .5rem;background-color:#eee;border-radius:5rem;width:fit-content}.PopupPinSubLocation .block__name{font-size:.6rem;font-weight:500}.PopupPinSubLocation .block__description{color:#aaa!important;font-size:.5rem;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-clamp:2;line-height:.6rem}.PopupPinSubLocation .block__description *{font-size:.5rem!important}.ButtonViewMoreInPopup{display:flex;align-items:center;cursor:pointer}.ButtonViewMoreInPopup label{cursor:pointer;font-size:.7rem;font-weight:500;color:var(--primary);margin-right:.2rem;margin-top:auto}.ButtonViewMoreInPopup span{display:flex;justify-content:center;align-items:center;background-color:var(--primary);border-radius:5rem;width:1rem;height:1rem;padding:.3rem}.ModalDetailLocation{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0008;padding-top:5rem;z-index:1}.ModalDetailLocation .container-location-detail{background-color:#fff;width:calc(100% - 2rem);margin:0 auto;border-radius:1rem}.ModalDetailLocation .container-location-detail header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem .2rem;border-bottom:1px solid #eee}.ModalDetailLocation .container-location-detail header label{font-size:.8rem;font-weight:500}.ModalDetailLocation .container-location-detail section{max-height:65dvh;overflow-y:auto;display:flex;flex-direction:column;padding:1rem}.ModalDetailLocation .container-location-detail section>div:nth-child(1){display:flex;justify-content:space-between}.ModalDetailLocation .container-location-detail section>div:nth-child(1) label{font-size:1rem;font-weight:600}.ModalDetailLocation .container-location-detail section>div:nth-child(1) span{background-color:var(--primary);padding:.2rem 1rem;width:fit-content;font-size:.6rem;font-weight:500;color:#fff;border-radius:10rem;display:flex;justify-content:center;align-items:center}.ModalDetailLocation .container-location-detail section>div:nth-child(2){display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.ModalDetailLocation .container-location-detail section>div:nth-child(2) label{font-size:.8rem;color:#aaa}.ModalDetailLocation .container-location-detail section>div:nth-child(4){font-size:.8rem;margin-bottom:2rem}.ModalDetailLocation .container-location-detail section>div:nth-child(4) a{white-space:normal;overflow-wrap:break-word}.ModalDetailLocation .container-location-detail section>div:nth-child(5) label{font-size:1rem;font-weight:500}.ModalDetailLocation .container-location-detail section>div:nth-child(5) .container-card-artists{margin-top:1rem;display:flex;flex-wrap:wrap;gap:1rem}.ModalDetailSubLocation{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#0008;padding-top:5rem;z-index:1}.ModalDetailSubLocation .container-sublocation-detail{background-color:#fff;width:calc(100% - 2rem);margin:0 auto;border-radius:1rem}.ModalDetailSubLocation .container-sublocation-detail header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem .2rem;border-bottom:1px solid #eee}.ModalDetailSubLocation .container-sublocation-detail header label{font-size:.8rem;font-weight:500}.ModalDetailSubLocation .container-sublocation-detail section{max-height:65dvh;overflow-y:auto;display:flex;flex-direction:column;padding:1rem}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(1){display:flex;justify-content:space-between}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(1) label{font-size:1rem;font-weight:600}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(1) span{background-color:var(--primary);padding:.2rem 1rem;width:fit-content;font-size:.6rem;font-weight:500;color:#fff;border-radius:10rem;display:flex;justify-content:center;align-items:center;height:fit-content}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(2){display:flex;gap:.5rem;align-items:center;margin-bottom:.5rem}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(2) label{font-size:.8rem;color:#aaa}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(4){font-size:.8rem;margin-bottom:2rem}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(4) a{white-space:normal;overflow-wrap:break-word}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(5) label{font-size:1rem;font-weight:500}.ModalDetailSubLocation .container-sublocation-detail section>div:nth-child(5) .container-card-artists{margin-top:1rem;display:flex;flex-wrap:wrap;gap:1rem}.CaroselImage{position:relative;width:100%;background-color:#fff;height:37rem;border-radius:1rem;overflow:hidden;margin-bottom:1rem;display:flex;justify-content:center;align-items:center;border:1px solid #eee}.CaroselImage .button-left{position:absolute;left:0;top:50%;transform:translateY(-50%)}.CaroselImage .button-right{position:absolute;right:0;top:50%;transform:translateY(-50%)}.CaroselImage img{width:100%;height:100%;object-fit:contain}.CardArtist{width:8.5rem;height:11rem;background-color:#fff;filter:var(--drop-shadow);padding:.5rem;border-radius:1rem;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #eee}.CardArtist>div:nth-child(1){width:100%;display:flex;justify-content:center}.CardArtist>div:nth-child(1) img{width:5rem;height:5rem;border-radius:10rem;border:2px solid #eee;object-fit:cover}.CardArtist>div:nth-child(2){font-size:.8rem;text-align:center;font-weight:500;line-height:.8rem}.CardArtist>div:nth-child(3)>div{font-size:bold;background-color:#12162142;border-radius:10rem;padding:4px;display:flex;justify-content:center;align-items:center}.CardArtist>div:nth-child(3)>div a{border-radius:10rem;display:flex;justify-content:center;align-items:center;background-color:#121621;color:#fff;font-size:.7rem;width:100%;font-weight:500;padding:.5rem 1rem}.container-desktop{display:none}@media screen and (min-width: 770px) and (orientation: landscape){.Overview,.Location,.SubLocation,.ModalZone,.ModalDetailLocation,.ModalDetailSubLocation{display:none}.container-desktop{display:block}}.OverviewDesktop,.LocationDesktop,.SubLocationDesktop{display:flex}.overview-desktop__block-mapzone,.location-desktop__block-maplocation,.sublocation-desktop__block-mapsublocation{height:100vh;height:100dvh;aspect-ratio:var(--map-ratio)}.overview-desktop__block-detail{display:flex;flex-direction:column;width:100%;padding:0 1rem 1rem}.location-desktop__block-detail,.sublocation-desktop__block-detail{display:grid;grid-template-rows:0rem auto;width:100%}.location-desktop__block-detail>div:nth-child(1),.sublocation-desktop__block-detail>div:nth-child(1){padding:0 1rem;z-index:1}.location-desktop__block-detail>div:nth-child(2),.sublocation-desktop__block-detail>div:nth-child(2){padding:4rem 1rem 1rem;overflow-x:hidden;overflow-y:auto;height:100vh;height:100dvh}.overview-desktop__section-1{display:flex;justify-content:space-between;margin-top:1rem}.overview-desktop__name-zone{font-size:2rem;font-weight:500}.overview-desktop__num-of-zone{width:8rem;display:flex;align-items:center;justify-content:end}.overview-desktop__num-of-zone>span:nth-child(1){height:1.5rem;width:1.5rem;padding:.5rem;background-color:var(--primary);color:#fff;font-weight:500;font-size:1rem;border-radius:10rem;display:flex;justify-content:center;align-items:center;margin-right:.5rem}.overview-desktop__num-of-zone>span:nth-child(2){color:var(--primary);font-size:1rem;font-weight:500}.overview-desktop__section-2,.location-desktop__section-3,.sublocation-desktop__section-2{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;max-height:calc(100vh - 8.5rem);max-height:calc(100dvh - 8.5rem);overflow-y:auto;margin:-4px -1rem 0;padding:1rem}.sublocation-desktop__section-2{max-height:unset;overflow-y:unset}@media screen and (min-width: 1440px) and (orientation: landscape){.overview-desktop__section-2,.location-desktop__section-3,.sublocation-desktop__section-2{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width: 1600px) and (orientation: landscape){.overview-desktop__section-2,.location-desktop__section-3,.sublocation-desktop__section-2{grid-template-columns:repeat(4,1fr)}}.location-desktop__section-3{max-height:none}.Cardzone{position:relative;width:100%;aspect-ratio:1;border-radius:1rem;overflow:hidden;filter:var(--drop-shadow);background-color:#fff;border:1px solid #eee}.Cardzone:hover{filter:var(--drop-shadow-hover)}@media screen and (min-width: 1024px) and (orientation: landscape){.Cardzone{min-height:21rem}}@media screen and (min-width: 1440px) and (orientation: landscape){.Cardzone{min-height:21rem}}@media screen and (min-width: 1900px) and (orientation: landscape){.Cardzone{min-height:21rem}}.cardzone__block-image{width:100%;aspect-ratio:4/3;overflow:hidden}.cardzone__block-image>img{width:100%}.cardzone__block-name-card-zone{display:flex;gap:.5rem;align-items:center}.cardzone__block-name-card-zone>label{font-weight:500;font-size:1.2rem}.cardzone__block-description-card-zone{color:#aaa!important;font-size:14px;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-clamp:2;padding-right:2rem}.cardzone__block-text{position:relative;padding:.5rem .75rem}.cardzone__block-button-go{position:absolute;right:.75rem;top:50%;transform:translateY(-50%)}.location-desktop__block-maplocation,.sublocation-desktop__block-mapsublocation{height:100vh;height:100dvh;aspect-ratio:var(--map-ratio)}.location-desktop__section-1,.sublocation-desktop__section-1{background-color:#eee8;border-radius:1.5rem;padding:1rem;margin:1rem 0}.location-desktop__section-1>div:nth-child(1),.sublocation-desktop__section-1>div:nth-child(1){font-size:2rem;font-weight:500}.location-desktop__section-1>div:nth-child(2),.sublocation-desktop__section-1>div:nth-child(2){font-size:.8rem;color:#aaa}.sublocation-desktop__section-1{margin-bottom:0}.location-desktop__section-2{display:flex;flex-wrap:wrap;gap:.5rem}.location-desktop__icon-filter{display:flex;flex-direction:column;align-items:center;justify-content:space-around;width:4rem;padding:.5rem;border-radius:.5rem;border:1px solid #eee;cursor:pointer}.location-desktop__icon-filter:hover{background-color:#fff;filter:var(--drop-shadow)}.location-desktop__icon-filter>label{cursor:pointer;text-align:center;font-size:.6rem;word-wrap:break-word;line-height:.7rem}.CardLocation,.CardSubLocation{overflow:hidden;width:100%;border-radius:1rem;filter:var(--drop-shadow);background-color:#fff;border:1px solid #eee;display:flex;flex-direction:column}.CardLocation:hover,.CardSubLocation:hover{filter:var(--drop-shadow-hover)}.card-location__block-image,.card-sublocation__block-image{position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:center;justify-content:center;background-color:var(--primary)}.card-location__block-image>img,.card-sublocation__block-image>img{width:100%;height:100%;object-fit:cover}.CardLocation>.Divider,.CardSubLocation>.Divider{margin-top:auto;margin-bottom:0}.card-location__logo,.card-sublocation__logo{position:absolute;top:1rem;left:1rem;border-radius:10rem;overflow:hidden;filter:var(--drop-shadow);background-color:#fff;width:1.5rem;height:1.5rem}.card-location__logo>img,.card-sublocation__logo>img{width:inherit;height:inherit}.card-location__block-category{background-color:var(--primary);color:#fff;padding:.2rem 1rem;border-radius:10rem;position:absolute;font-size:.7rem;font-weight:500;top:1rem;right:1rem;filter:var(--drop-shadow)}.card-location__block-text,.card-sublocation__block-text{padding:.5rem 1rem 0}.card-location__block-text>div:nth-child(1),.card-sublocation__block-text>div:nth-child(1){font-size:1.2rem;font-weight:500}.card-location__block-text>div:nth-child(2),.card-sublocation__block-text>div:nth-child(2),.card-location__block-text>div:nth-child(2)>p>span,.card-sublocation__block-text>div:nth-child(2)>p>span,.card-location__block-text>div:nth-child(2)>span,.card-sublocation__block-text>div:nth-child(2)>span,.card-location__block-text>div:nth-child(2)>font>span,.card-sublocation__block-text>div:nth-child(2)>font>span{color:#aaa!important;font-size:14px!important;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;line-clamp:2}.card-location__block-footer,.card-sublocation__block-footer{padding:.5rem 1rem;display:flex;justify-content:space-between;align-items:center}.card-location__block-footer>div:nth-child(1),.card-sublocation__block-footer>div:nth-child(1){display:flex;align-items:center;gap:.3rem}.card-location__block-footer>div:nth-child(1)>label,.card-sublocation__block-footer>div:nth-child(1)>label{font-size:.7rem;font-weight:500;color:#aaa}.ButtonViewMore{background-color:var(--secondary);color:#fff;border-radius:10rem;padding:.4rem 1rem;font-size:.7rem;font-weight:500;width:fit-content;cursor:pointer}.ButtonViewMore:hover{filter:var(--drop-shadow)}.location-desktop__section-location-detail,.sublocation-desktop__section-sublocation-detail{padding:5rem 1rem 1rem;height:100vh;height:100dvh;overflow-y:auto}.LocationDetail,.SubLocationDetail{background-color:#eee8;padding:1rem;border-radius:1rem}.location-detail__section-1,.sublocation-detail__section-1{display:flex;justify-content:space-between;align-items:center}.location-detail__section-1>span:nth-child(1),.sublocation-detail__section-1>span:nth-child(1){font-size:2rem;font-weight:500}.location-detail__section-1>span:nth-child(2),.sublocation-detail__section-1>span:nth-child(2){font-size:.8rem;font-weight:500;padding:.3rem 1rem;background-color:var(--primary);border-radius:10rem;display:flex;align-items:center;justify-content:center;color:#fff}.location-detail__section-2,.sublocation-detail__section-2{display:flex;align-items:center;gap:.3rem}.location-detail__section-2>span:nth-child(2),.sublocation-detail__section-2>span:nth-child(2){font-size:.8rem;color:#aaa}.location-detail__section-3,.sublocation-detail__section-3{margin-top:1rem}.location-detail__section-4,.sublocation-detail__section-4{margin-top:1rem;margin-bottom:1rem}.location-detail__section-4 span,.sublocation-detail__section-4 span{line-height:normal!important}.location-detail__section-5,.sublocation-detail__section-5{margin-top:1rem}.location-detail__section-5>div:nth-child(1),.sublocation-detail__section-5>div:nth-child(1){font-size:1.5rem;font-weight:500}.location-detail__section-5>div:nth-child(3),.sublocation-detail__section-5>div:nth-child(3){margin-top:1rem;display:flex;flex-wrap:wrap;gap:.5rem}.Loading{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#fff;z-index:10;color:var(--secondary);font-size:1.5rem;font-weight:500;display:flex;align-items:center;justify-content:center}.ButtonBack{padding:.2rem .6rem .2rem .2rem;transform:translateY(-2px);background-color:#fff;filter:var(--drop-shadow);display:flex;justify-content:center;align-items:center;gap:.5rem;width:fit-content;border-radius:10rem;cursor:pointer}.ButtonBack>span{height:fit-content;display:flex;justify-content:center;align-items:center;font-size:.8rem}.ButtonBack:hover{filter:var(--drop-shadow-hover)}.Copyright{font-size:.6rem;position:fixed;bottom:0;left:0;width:100%;text-align:center;font-size:.7rem;z-index:10;font-weight:700;padding:2px 0}@media screen and (min-width: 770px) and (orientation: landscape){.Copyright{position:absolute;bottom:0;width:fit-content;left:unset;right:1rem}}@media screen and (orientation: portrait){.Overview{grid-template-rows:4rem auto 8.5rem 1.5rem}.Overview .overview-footer{height:7rem;padding-bottom:unset;margin:unset}.Mapzone{height:auto;width:100vw}.Mapzone .container__mapzone,.Mapzone .container__mapzone>img{aspect-ratio:unset;height:auto;width:100vw}.NavigationZone{padding-bottom:0;border-radius:1rem 1rem 0 0}.NavigationZone .Divider{margin-bottom:0}.Copyright{background-color:#eee;height:calc(1.5rem + 1px);display:flex;justify-content:center;align-items:center}.Location,.SubLocation{grid-template-rows:4rem auto 8.5rem 1.5rem}.Location .block__map-location,.SubLocation .block__map-sublocation{padding:0;overflow-x:hidden;overflow-y:auto;margin-top:-1.5rem;margin-bottom:-1.5rem}.Location .block__map-location,.SubLocation .block__map-sublocation{height:calc(100% + 3rem)}.MapLocation,.MapSubLocation,.MapLocation .container__maplocation,.MapSubLocation .container__mapsublocation{aspect-ratio:unset;height:auto;width:100vw}.MapLocation .container__maplocation{background-color:var(--bg-map)}.MapLocation .container__maplocation>img,.MapSubLocation .container__mapsublocation>img{width:100vw;height:auto;border-radius:0!important}.Location .block__navigation-location,.SubLocation .block__navigation-sublocation{padding:0;margin:0;min-height:8.5rem}.NavigationLocation{height:8.5rem;padding-bottom:0}.NavigationLocation .Divider{margin-bottom:0}.NavigationSubLocation{height:8.5rem;padding-bottom:0rem}.NavigationSubLocation .Divider{margin-bottom:0}.NavigationLocation .container-badge__navigation-location{height:calc(6.5rem + -0px);padding-top:8px;padding-bottom:10px;margin-top:0}.NavigationSubLocation .container-badge__navigation-sublocation{height:calc(6rem + -0px);max-height:unset;margin-top:0;padding-top:8px}.NavigationZone .container-badge__navigation-zone::-webkit-scrollbar,.NavigationLocation .container-badge__navigation-location::-webkit-scrollbar,.NavigationSubLocation .container-badge__navigation-sublocation::-webkit-scrollbar{height:8px;width:8px;background:#eee;border-radius:8px}.NavigationZone .container-badge__navigation-zone::-webkit-scrollbar-thumb,.NavigationLocation .container-badge__navigation-location::-webkit-scrollbar-thumb,.NavigationSubLocation .container-badge__navigation-sublocation::-webkit-scrollbar-thumb{background:#aaa;border-radius:8px}.NavigationZone .container-badge__navigation-zone,.NavigationLocation .container-badge__navigation-location,.NavigationSubLocation .container-badge__navigation-sublocation{scrollbar-color:#aaa #eee;scrollbar-width:thin}.ModalDetailLocation,.ModalDetailSubLocation{z-index:2}.CaroselImage{height:unset;aspect-ratio:16/9}}.Overview>div:nth-child(1){z-index:2!important}.block__header{z-index:3!important}.admin-login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.admin-login-card{background:#fff;border-radius:12px;box-shadow:0 15px 35px #0000001a;padding:40px;width:100%;max-width:400px;text-align:center}.admin-login-header h1{color:#333;margin-bottom:8px;font-size:28px;font-weight:600}.admin-login-header p{color:#666;margin-bottom:30px;font-size:14px}.admin-login-form{display:flex;flex-direction:column;gap:20px}.form-group{text-align:left}.form-group label{display:block;margin-bottom:6px;color:#333;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e1e5e9;border-radius:8px;font-size:16px;transition:border-color .3s ease;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:12px;border-radius:6px;font-size:14px;border-left:4px solid #c33}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.login-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #0003}.login-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.login-button.loading{background:linear-gradient(135deg,#94a3e8,#9d8fc7);pointer-events:none}.login-loading{display:flex;align-items:center;justify-content:center;gap:12px}.loading-spinner-login{display:flex;gap:4px}.spinner-ring{width:8px;height:8px;background:#fff;border-radius:50%;animation:loginPulse 1.4s ease-in-out infinite both}.spinner-ring:nth-child(1){animation-delay:-.32s}.spinner-ring:nth-child(2){animation-delay:-.16s}.spinner-ring:nth-child(3){animation-delay:0s}@keyframes loginPulse{0%,80%,to{transform:scale(.7);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes loginSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.login-overlay{position:fixed;inset:0;background:#667eeaf2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .3s ease-out}.login-overlay-content{text-align:center;color:#fff}.overlay-spinner{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.overlay-ring{width:12px;height:12px;background:#fff;border-radius:50%;animation:overlayBounce 1.4s ease-in-out infinite both}.overlay-ring:nth-child(1){animation-delay:-.32s}.overlay-ring:nth-child(2){animation-delay:-.16s}.overlay-ring:nth-child(3){animation-delay:0s}.overlay-ring:nth-child(4){animation-delay:.16s}.login-overlay-content h3{font-size:24px;font-weight:600;margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.login-overlay-content p{font-size:16px;opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}.admin-login-card.blurred{filter:blur(3px);pointer-events:none}@keyframes overlayFadeIn{0%{opacity:0;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px)}to{opacity:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}@keyframes overlayBounce{0%,80%,to{transform:scale(.8) translateY(0);opacity:.7}40%{transform:scale(1.2) translateY(-10px);opacity:1}}.admin-info{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.admin-info small{color:#999;font-size:12px}@media (max-width: 480px){.admin-login-card{padding:30px 20px}.admin-login-header h1{font-size:24px}}.image-uploader{width:100%;margin-bottom:15px}.upload-label{display:block;margin-bottom:8px;font-weight:600;color:#333;font-size:14px}.upload-area{position:relative;border:2px dashed #ddd;border-radius:8px;padding:20px;text-align:center;transition:all .3s ease;background-color:#fafbfc;cursor:pointer}.upload-area:hover{border-color:#667eea;background-color:#f8f9ff}.upload-area.drag-over{border-color:#667eea;background-color:#e3f2fd;transform:scale(1.02)}.upload-area.uploading{opacity:.7;cursor:not-allowed;border-color:#ff9800;background-color:#fff3e0}.upload-area.uploading .upload-text{color:#ff9800;font-weight:600}.upload-area.has-image{padding:0;border:2px solid #ddd}.upload-area.has-image:hover{border-color:#667eea}.image-preview-container{position:relative;width:100%;height:200px;border-radius:8px;overflow:hidden;background:#f8f9fa;display:flex;align-items:center;justify-content:center;border:1px solid #e9ecef}.image-preview-container .preview-image{width:100%;height:200px;object-fit:contain;border-radius:8px;background:#f8f9fa}.remove-image-btn{position:absolute;top:8px;right:8px;width:24px;height:24px;border-radius:50%;background:#ffffffe6;border:1px solid #ddd;color:#666;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.remove-image-btn:hover{background:#ff4757;color:#fff;border-color:#ff4757;transform:scale(1.1)}.remove-image-btn:disabled{opacity:.5;cursor:not-allowed}.upload-overlay{position:absolute;inset:0;background:#000000b3;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;z-index:5}.upload-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:8px}.images-preview-container{position:relative;width:100%;min-height:120px}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px;margin-bottom:12px}.image-preview-item{position:relative;width:100%;height:80px;border-radius:6px;overflow:hidden;background:#f5f5f5}.preview-image-small{width:100%;height:100%;object-fit:cover}.remove-single-image-btn{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:#ffffffe6;border:1px solid #ddd;color:#666;font-size:12px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}.remove-single-image-btn:hover{background:#ff4757;color:#fff;border-color:#ff4757;transform:scale(1.1)}.remove-all-images-btn{background:#ff6b6b;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.remove-all-images-btn:hover{background:#ff5252;transform:translateY(-1px)}.file-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.file-input:disabled{cursor:not-allowed}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:10px;padding:20px}.upload-icon{font-size:48px;color:#ccc}.upload-text{font-size:16px;font-weight:600;color:#333}.upload-hint{font-size:12px;color:#666;line-height:1.4}.upload-error{color:#dc3545;font-size:12px;margin-top:8px;padding:8px 12px;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px}.uploading .upload-icon{animation:spin 2s linear infinite}@media (max-width: 768px){.upload-area,.upload-placeholder{padding:15px}.upload-icon{font-size:36px}.upload-text{font-size:14px}.image-preview-container .preview-image{max-width:150px;max-height:150px}}.position-preview-modal .position-modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:200000!important;animation:fadeIn .2s ease-out}.position-preview-modal .position-modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;max-width:1200px;width:90vw;max-height:90vh;overflow:hidden;animation:slideIn .3s ease-out;z-index:200001!important;display:flex;flex-direction:column}.position-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.position-modal-header h3{margin:0;font-size:18px;font-weight:600}.zone-info{display:flex;align-items:center;gap:8px}.zone-color-indicator{width:12px;height:12px;border-radius:50%;border:2px solid white}.zone-name{font-size:14px;font-weight:500}.close-modal-btn{background:#fff3;border:none;color:#fff;width:32px;height:32px;border-radius:50%;font-size:18px;cursor:pointer;transition:background-color .2s}.close-modal-btn:hover{background:#ffffff4d}.position-modal-content{padding:15px;max-height:calc(80vh - 100px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1}.coordinate-display{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.coordinate-value{font-weight:700;color:#2d3748;font-family:Monaco,Menlo,monospace}.coordinate-editor{margin-bottom:16px}.coordinate-editor h4{margin:0 0 12px;color:#2d3748;font-size:15px;font-weight:600}.save-position-btn{grid-column:1 / -1;background:#48bb78;color:#fff;border:none;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s;margin-top:8px}.save-position-btn:hover{background:#38a169}.map-info{margin-bottom:16px}.map-instructions{background:#e6fffa;border:1px solid #81e6d9;border-radius:8px;padding:12px;margin-bottom:12px}.map-instructions p{margin:0 0 6px;font-size:13px;color:#234e52}.scroll-hint{background:#fef5e7;border:1px solid #f6d55c;border-radius:8px;padding:10px;margin-bottom:12px;font-size:12px;color:#92400e;display:flex;align-items:center;gap:8px}.position-preview-map-container{border-radius:8px;overflow:auto;border:1px solid #e2e8f0;width:100%;height:auto;flex:1;min-height:200px;max-height:350px;position:relative;scrollbar-width:thin;scrollbar-color:#cbd5e0 #f7fafc;display:flex;justify-content:center;align-items:center}.position-preview-map-container::-webkit-scrollbar{width:8px;height:8px}.position-preview-map-container::-webkit-scrollbar-track{background:#f7fafc;border-radius:4px}.position-preview-map-container::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px;transition:background-color .2s}.position-preview-map-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}.position-preview-map-container::-webkit-scrollbar-corner{background:#f7fafc}.map-preview{position:relative;width:100%;height:auto;min-height:100%;display:flex;align-items:center;flex-wrap:wrap;flex-direction:column-reverse;align-content:center;overflow:auto}.map-image-wrapper{position:relative;width:fit-content;height:auto;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;overflow:visible;margin:0 auto}.map-image-container{position:relative;width:fit-content;height:auto;display:block;-webkit-user-select:none;user-select:none;max-width:100%}.position-preview-image{width:auto;height:auto;display:block;cursor:crosshair;object-fit:contain;object-position:center center;transform-origin:center center;max-width:600px;max-height:300px;min-height:150px;margin:0 auto}.clickable-map:hover{opacity:.9}.position-preview-modal .position-marker{position:absolute;transform:translate(-50%,-100%);z-index:100;animation:markerBounce 1s ease-in-out infinite alternate;filter:drop-shadow(3px 3px 6px rgba(0,0,0,.5));display:flex;flex-direction:column;align-items:center;pointer-events:all;top:0;left:0}.position-preview-modal .visible-marker{opacity:1!important;visibility:visible!important;transform:translate(-50%,-100%) scale(1.2)}.position-preview-modal .marker-icon{font-size:24px;line-height:1;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.7));cursor:grab;pointer-events:all;color:red;text-shadow:0 0 6px rgba(255,0,0,.4)}.position-preview-modal .marker-label{background:#000000f2;color:#fff;padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:6px;text-align:center;z-index:101;pointer-events:none;box-shadow:0 2px 8px #0000004d}.position-preview-modal .draggable-marker{pointer-events:auto;cursor:grab;transition:transform .1s ease;transform:translate(-50%,-100%)}.position-preview-modal .draggable-marker:hover{transform:translate(-50%,-100%) scale(1.3)}.position-preview-modal .draggable-marker:active{cursor:grabbing;transform:translate(-50%,-100%) scale(1.25)}.scroll-indicator{position:absolute;bottom:12px;right:12px;background:#667eeae6;color:#fff;padding:6px 10px;border-radius:6px;font-size:11px;font-weight:500;z-index:5;opacity:.8;transition:opacity .3s ease;pointer-events:none}.position-preview-map-container:hover .scroll-indicator{opacity:1}.no-map-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#a0aec0;text-align:center}.placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.7}.position-modal-footer{padding:16px 24px;border-top:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center;gap:12px;background:#f9fafb}.close-btn{background:#6b7280;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.close-btn:hover{background:#4b5563}.save-btn{background:#10b981;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.save-btn:hover{background:#059669}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes markerBounce{0%{transform:translate(-50%,-100%) scale(1)}to{transform:translate(-50%,-105%) scale(1.05)}}@media (max-width: 768px){.position-modal{width:95vw;max-height:85vh}.position-preview-image{max-width:400px;max-height:200px;min-height:100px}.position-preview-map-container{min-height:150px;max-height:250px}.modal-coordinate-edit-inputs{grid-template-columns:1fr;gap:12px}.position-modal-header{padding:12px 16px}.position-modal-content{padding:12px}}.position-modal-overlay{z-index:200000!important}.position-modal{z-index:200001!important}.position-preview-modal-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background-color:#000c!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:999999!important}.position-preview-modal{position:relative!important;z-index:1000000!important;background:#fff;border-radius:12px;box-shadow:0 20px 40px -12px #00000040;max-width:900px;width:80vw;max-height:80vh;overflow:hidden;animation:slideIn .3s ease-out;display:flex;flex-direction:column}@media (min-width:769px){.position-preview-map-container{min-height:400px;max-height:unset;align-items:unset}.position-preview-map-container .map-image-wrapper,.position-preview-map-container .map-image-container{width:100%}.position-preview-map-container .map-image-container img{max-width:100%;max-height:unset}}.admin-location-manager-wrapper .location-loading-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:locationFadeIn .3s ease-out}.admin-location-manager-wrapper .location-loading-container{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 40px #0003;text-align:center;max-width:280px;min-width:260px;animation:locationSlideUp .4s ease-out}.admin-location-manager-wrapper .location-loading-spinner{position:relative;width:50px;height:50px;margin:0 auto 16px}.admin-location-manager-wrapper .location-spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:locationSpin 1.5s linear infinite}.admin-location-manager-wrapper .location-spinner-ring:nth-child(1){border-top:3px solid #10b981;animation-delay:0s}.admin-location-manager-wrapper .location-spinner-ring:nth-child(2){border-right:3px solid #059669;animation-delay:.3s;transform:scale(.8)}.admin-location-manager-wrapper .location-spinner-ring:nth-child(3){border-bottom:3px solid #34d399;animation-delay:.6s;transform:scale(.6)}.admin-location-manager-wrapper .location-loading-title{margin:0 0 6px;color:#1e293b;font-size:1.1rem;font-weight:600}.admin-location-manager-wrapper .location-loading-message{margin:0 0 16px;color:#64748b;font-size:.9rem;line-height:1.4}.admin-location-manager-wrapper .location-loading-progress{width:100%;height:3px;background:#e2e8f0;border-radius:2px;overflow:hidden}.admin-location-manager-wrapper .location-progress-bar{height:100%;background:linear-gradient(90deg,#10b981,#059669,#34d399);background-size:200% 100%;border-radius:2px;animation:locationProgressMove 2s ease-in-out infinite}@keyframes locationFadeIn{0%{opacity:0}to{opacity:1}}@keyframes locationSlideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes locationSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes locationProgressMove{0%{background-position:-200% 0}to{background-position:200% 0}}.admin-location-manager-wrapper{width:100%;background:#f8fafc;max-height:calc(100vh - 160px);overflow-y:auto;padding-bottom:100px}.admin-location-manager-wrapper .admin-location-manager{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 10px #0000000d;max-width:1200px;margin:0 auto}.header-actions{display:flex;align-items:center;gap:8px}.debug-button{padding:8px 16px;border:none;border-radius:6px;font-size:12px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.debug-button:hover{transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.admin-location-manager-wrapper .locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:24px}.admin-location-manager-wrapper .location-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e5e7eb;position:relative}.admin-location-manager-wrapper .location-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026;border-color:#667eea}.admin-location-manager-wrapper .location-card-header{position:relative;height:180px;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.admin-location-manager-wrapper .location-main-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.admin-location-manager-wrapper .location-main-image img{width:100%;height:100%;object-fit:cover;object-position:center;transition:transform .5s cubic-bezier(.4,0,.2,1)}.admin-location-manager-wrapper .location-card:hover .location-main-image img{transform:scale(1.05)}.admin-location-manager-wrapper .image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000,#0000001a,#0000004d);z-index:2}.admin-location-manager-wrapper .location-icons{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:3}.admin-location-manager-wrapper .location-logo,.admin-location-manager-wrapper .location-icon{width:40px;height:40px;border-radius:8px;overflow:hidden;background:#ffffffe6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.admin-location-manager-wrapper .location-logo img,.admin-location-manager-wrapper .location-icon img{width:100%;height:100%;object-fit:cover}.admin-location-manager-wrapper .location-icon{font-size:20px}.admin-location-manager-wrapper .location-card-body{padding:20px}.admin-location-manager-wrapper .location-card-title{margin:0 0 8px;font-size:1.25rem;font-weight:700;color:#111827;line-height:1.3}.admin-location-manager-wrapper .location-card-subtitle{margin:0 0 12px;font-size:1rem;color:#6b7280;line-height:1.4}.admin-location-manager-wrapper .location-description{margin:0 0 16px;font-size:.9rem;color:#374151;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.admin-location-manager-wrapper .location-card-actions{padding:0 20px 20px;display:flex;gap:8px}.admin-location-manager-wrapper .edit-button,.admin-location-manager-wrapper .delete-button{flex:1;padding:10px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center}.admin-location-manager-wrapper .edit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.admin-location-manager-wrapper .edit-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea4d}.admin-location-manager-wrapper .delete-button{background:#fee2e2;color:#dc2626;border:1px solid #fecaca}.admin-location-manager-wrapper .delete-button:hover{background:#fecaca;border-color:#f87171}.admin-location-manager-wrapper .modal-overlay{position:fixed!important;inset:0!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;padding:20px!important}.admin-location-manager-wrapper .modal-content{background:#fff!important;border-radius:12px!important;max-width:800px!important;width:100%!important;max-height:calc(100vh - 120px)!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;box-shadow:0 20px 60px #0000004d!important;position:relative!important;z-index:100000!important}.admin-location-manager-wrapper .modal-header1{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:24px 30px!important;border-bottom:2px solid #e2e8f0!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:12px 12px 0 0!important;position:relative!important;z-index:1!important;min-height:80px!important;flex-shrink:0!important}.admin-location-manager-wrapper .modal-title-section{display:flex!important;align-items:center!important;gap:16px!important;flex:1!important}.admin-location-manager-wrapper .modal-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;background:#fff3!important;border-radius:12px!important;font-size:24px!important;box-shadow:0 4px 12px #0000001a!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.3)!important;flex-shrink:0!important}.admin-location-manager-wrapper .modal-title-text{display:flex!important;flex-direction:column!important;gap:4px!important;flex:1!important}.admin-location-manager-wrapper .modal-title-text h3{margin:0!important;color:#fff!important;font-size:1.8rem!important;font-weight:700!important;line-height:1.2!important;text-shadow:0 2px 4px rgba(0,0,0,.2)!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important}.admin-location-manager-wrapper .modal-subtitle{margin:0!important;color:#ffffffe6!important;font-size:1rem!important;line-height:1.3!important;font-weight:500!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important}.admin-location-manager-wrapper .close-button{display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;border:none!important;background:#fff3!important;border-radius:8px!important;font-size:24px!important;color:#fff!important;cursor:pointer!important;transition:all .2s ease!important;flex-shrink:0!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.3)!important}.admin-location-manager-wrapper .close-button:hover{background:#ef4444e6!important;color:#fff!important;transform:scale(1.05)!important;border-color:#ef444480!important}.admin-location-manager-wrapper .location-form{flex:1!important;overflow-y:auto!important;padding:30px!important;max-height:calc(90vh - 160px)!important;scroll-behavior:smooth!important}.admin-location-manager-wrapper .form-section{margin-bottom:32px!important;padding:24px!important;background:#f8fafc!important;border-radius:12px!important;border:1px solid #e2e8f0!important}.admin-location-manager-wrapper .form-section h4{margin:0 0 20px!important;color:#1f2937!important;font-size:1.2rem!important;font-weight:600!important;padding-bottom:12px!important;border-bottom:2px solid #e5e7eb!important}.admin-location-manager-wrapper .rich-text-container{margin:16px 0!important;border:1px solid #e0e6ed!important;border-radius:12px!important;overflow:hidden!important;background:#fff!important;box-shadow:0 4px 16px #0000000d!important}.admin-location-manager-wrapper .rich-text-toolbar{padding:12px 16px!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-bottom:1px solid rgba(255,255,255,.2)!important}.admin-location-manager-wrapper .rich-text-editor{min-height:120px!important;padding:16px!important;line-height:1.6!important;font-size:1rem!important;background:#fff!important;border:none!important;outline:none!important}.admin-location-manager{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 10px #0000000d}.rich-text-container{border:1px solid #e0e6ed;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 16px #0000000d}.rich-text-toolbar{display:flex;gap:4px;padding:8px;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid rgba(255,255,255,.2)}.rich-text-toolbar button{border:1px solid rgba(255,255,255,.3);background:#ffffff26;color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.rich-text-toolbar button:hover{background:#ffffff40;border-color:#ffffff80;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.toolbar-divider{width:1px;height:20px;background:#ffffff4d;margin:6px 4px}.rich-text-toolbar button[title*=ชิด],.rich-text-toolbar button[title*=กึ่งกลาง],.rich-text-toolbar button[title*=จัดเต็ม]{font-size:12px;min-width:28px}.rich-text-toolbar button[title*=กึ่งกลาง]{font-size:10px}.rich-text-toolbar button:active{background:#ffffff59;transform:translateY(0);color:#fff;box-shadow:0 2px 4px #0003}.rich-text-toolbar .bullet-btn{font-size:16px}.rich-text-toolbar button.active{background:#fff6;border-color:#fff9;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.rich-text-container textarea{width:100%;border:none;padding:16px;resize:vertical;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.6;outline:none;background:#fafbfc;color:#2d3748;transition:background-color .2s ease;display:none}.rich-text-display{width:100%;border:none;padding:16px;min-height:120px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.6;outline:none;background:#fafbfc;color:#2d3748;transition:background-color .2s ease;border-radius:0 0 12px 12px;overflow-y:auto;cursor:text;position:relative}.rich-text-display:focus,.rich-text-display:hover{background:#fff}.rich-text-display b,.rich-text-display strong{font-weight:700}.rich-text-display u{text-decoration:underline}.rich-text-display b u,.rich-text-display u b,.rich-text-display strong u,.rich-text-display u strong{font-weight:700;text-decoration:underline}.rich-text-display a{color:#667eea;text-decoration:underline;cursor:pointer}.rich-text-display a:hover{color:#764ba2;text-decoration:none}.rich-text-display ul{margin:8px 0;padding-left:20px}.rich-text-display li{margin:4px 0}.rich-text-container textarea:focus{outline:none;box-shadow:none;background:#fff}div[contenteditable=true]{min-height:60px;padding:12px;border:1px solid #e0e6ed;border-radius:8px;background:#fff;font-size:14px;line-height:1.5;outline:none;white-space:pre-wrap;word-wrap:break-word;position:relative}div[contenteditable=true]:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}div[contenteditable=true] b,div[contenteditable=true] strong{font-weight:700!important}div[contenteditable=true] u{text-decoration:underline!important}div[contenteditable=true] b u,div[contenteditable=true] u b,div[contenteditable=true] strong u,div[contenteditable=true] u strong{font-weight:700!important;text-decoration:underline!important}.rich-text-display:empty:before{content:attr(data-placeholder);color:#9ca3af;font-style:italic;pointer-events:none;position:absolute;top:12px;left:12px;right:12px;z-index:1;line-height:1.5;opacity:1;transition:opacity .2s ease;white-space:pre-wrap}.rich-text-display:focus:empty:before{color:#d1d5db;opacity:.8}.rich-text-display:empty:not(:focus):before{opacity:1}.rich-text-display:not(:empty):before{display:none}div[contenteditable=true]:empty:before{content:attr(data-placeholder);color:#9ca3af;font-style:italic;pointer-events:none;position:absolute;top:12px;left:12px;right:12px;z-index:1;line-height:1.5;opacity:1;transition:opacity .2s ease}div[contenteditable=true]:focus:empty:before{color:#d1d5db;opacity:.8}div[contenteditable=true]:not(:empty):before{display:none}div[contenteditable=true] [style*="text-align: left"],div[contenteditable=true] .align-left{text-align:left!important}div[contenteditable=true] [style*="text-align: center"],div[contenteditable=true] .align-center{text-align:center!important}div[contenteditable=true] [style*="text-align: right"],div[contenteditable=true] .align-right{text-align:right!important}div[contenteditable=true] [style*="text-align: justify"],div[contenteditable=true] .align-justify{text-align:justify!important}.image-preview{margin-top:10px;max-width:200px}.image-preview img{width:100%;height:auto;border-radius:6px;border:1px solid #ddd}.logo-preview img{max-width:120px;max-height:120px;object-fit:contain}.icon-preview img{max-width:60px;max-height:60px;object-fit:contain}.coordinate-label{display:block;font-size:12px;color:#666;margin-bottom:5px;font-weight:500}.selected-zone-info{margin-top:8px;padding:8px 12px;background:#e8f5e8;border:1px solid #c3e6c3;border-radius:4px;font-size:14px;color:#2d5a2d}.main-label{font-size:16px;font-weight:600;color:#2d3748;margin-bottom:12px;display:block}.zone-selection-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin:16px 0}.zone-card{position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #0000000d;overflow:hidden}.zone-card:hover{border-color:#cbd5e0;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.zone-card.selected{border-color:#48bb78;background:linear-gradient(135deg,#f0fff4,#c6f6d5);box-shadow:0 4px 12px #48bb7833}.zone-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.zone-color-indicator{width:24px;height:24px;border-radius:50%;box-shadow:0 2px 4px #0000001a;border:2px solid #fff}.zone-checkbox-wrapper{position:relative}.zone-checkbox-input{opacity:0;position:absolute;pointer-events:none}.custom-checkbox{width:20px;height:20px;border:2px solid #cbd5e0;border-radius:4px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.zone-card.selected .custom-checkbox{background:#48bb78;border-color:#48bb78}.checkmark{color:#fff;font-size:12px;font-weight:700}.zone-card-content{margin-bottom:8px}.zone-name{margin:0 0 4px;font-size:16px;font-weight:600;color:#2d3748}.zone-description{margin:0;font-size:13px;color:#718096;font-weight:500}.zone-selected-badge{position:absolute;top:-2px;right:-2px;background:#48bb78;color:#fff;padding:4px 8px;border-radius:0 10px 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.zone-selection-info{margin-top:16px;padding:12px;background:#f7fafc;border-radius:8px;border-left:4px solid #4299e1}.zone-selection-info small{color:#4a5568;font-size:14px;line-height:1.5}.selected-zones-summary{margin-top:12px}.summary-label{display:block;font-weight:600;color:#2d3748;margin-bottom:8px;font-size:14px}.selected-zones-tags{display:flex;flex-wrap:wrap;gap:8px}.zone-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:20px;font-size:12px;font-weight:500;box-shadow:0 1px 3px #0000001a}.remove-zone-btn{background:none;border:none;color:inherit;cursor:pointer;font-size:14px;font-weight:700;padding:0;margin-left:4px;border-radius:50%;width:16px;height:16px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.remove-zone-btn:hover{background-color:#fff3}.zone-selection-grid-compact{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}.zone-card-compact{position:relative;background:#fff;border:2px solid #e2e8f0;border-radius:8px;padding:12px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000000d}.zone-card-compact:hover{border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 2px 6px #0000001a}.zone-card-compact.selected{border-color:#48bb78;background:linear-gradient(135deg,#f0fff4,#c6f6d5);box-shadow:0 2px 6px #48bb7826}.zone-card-header-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.zone-color-indicator-compact{width:16px;height:16px;border-radius:50%;box-shadow:0 1px 2px #0000001a;border:1px solid #fff}.zone-checkbox-wrapper-compact{position:relative}.custom-checkbox-compact{width:16px;height:16px;border:2px solid #cbd5e0;border-radius:3px;background:#fff;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.zone-card-compact.selected .custom-checkbox-compact{background:#48bb78;border-color:#48bb78}.zone-card-compact .checkmark{color:#fff;font-size:10px;font-weight:700}.zone-card-content-compact{margin-bottom:4px}.zone-name-compact{margin:0 0 2px;font-size:14px;font-weight:600;color:#2d3748;line-height:1.2}.zone-description-compact{margin:0;font-size:11px;color:#718096;font-weight:500}.zone-selected-badge-compact{position:absolute;top:-1px;right:-1px;background:#48bb78;color:#fff;padding:2px 6px;border-radius:0 6px;font-size:10px;font-weight:600}.zone-selection-info-compact{margin-top:12px;padding:10px;background:#f7fafc;border-radius:6px;border-left:3px solid #4299e1}.zone-selection-info-compact small{color:#4a5568;font-size:13px;line-height:1.4}.selected-zones-summary-compact{margin-top:8px}.summary-label-compact{display:block;font-weight:600;color:#2d3748;margin-bottom:6px;font-size:13px}.selected-zones-tags-compact{display:flex;flex-wrap:wrap;gap:6px}.zone-tag-compact{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border-radius:12px;font-size:11px;font-weight:500;box-shadow:0 1px 2px #0000001a}.remove-zone-btn-compact{background:none;border:none;color:inherit;cursor:pointer;font-size:12px;font-weight:700;padding:0;margin-left:2px;border-radius:50%;width:14px;height:14px;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.remove-zone-btn-compact:hover{background-color:#fff3}@media (max-width: 768px){.zone-selection-grid-compact{grid-template-columns:1fr}}.coordinates-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:16px}.zone-coordinates-card{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:20px;box-shadow:0 2px 8px #0000000d;transition:all .3s ease}.zone-coordinates-card:hover{border-color:#cbd5e0;box-shadow:0 4px 12px #0000001a}.zone-coordinates-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e2e8f0}.zone-color-dot{width:16px;height:16px;border-radius:50%;box-shadow:0 2px 4px #0000001a;border:2px solid #fff}.zone-coordinates-title{margin:0;font-size:16px;font-weight:600;color:#2d3748}.coordinate-inputs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:12px}.coordinate-input-modern{display:flex;flex-direction:column}.coordinate-label-modern{font-size:13px;font-weight:600;color:#4a5568;margin-bottom:6px;display:block}.input-wrapper{position:relative;display:flex;align-items:center}.coordinate-input-field{width:100%;padding:10px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:14px;transition:all .2s ease;background:#fff;color:#000;font-weight:500}.coordinate-input-field:focus{outline:none;border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.input-unit{position:absolute;right:12px;font-size:12px;color:#a0aec0;font-weight:500;pointer-events:none}.coordinate-preview{text-align:center;padding:8px;background:#f7fafc;border-radius:6px;border:1px solid #e2e8f0}.coordinate-preview small{color:#4a5568;font-weight:500}.coordinate-placeholder-modern{text-align:center;padding:40px 20px;background:linear-gradient(135deg,#f7fafc,#edf2f7);border:2px dashed #cbd5e0;border-radius:12px;margin-top:16px}.placeholder-icon{font-size:48px;margin-bottom:16px}.coordinate-placeholder-modern p{margin:0 0 8px;font-size:16px;font-weight:600;color:#4a5568}.coordinate-placeholder-modern small{color:#718096;line-height:1.5}.full-width{grid-column:1 / -1}.coordinate-placeholder{padding:10px;background:#f8f9fa;border:1px dashed #ddd;border-radius:4px;color:#999;text-align:center;font-style:italic}.manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e1e5e9}.manager-header h2{margin:0;color:#333;font-size:24px}.add-button{background:linear-gradient(135deg,#4facfe,#00f2fe);color:#fff;border:none;padding:12px 24px;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s ease}.add-button:hover{transform:translateY(-2px)}.zone-selector{display:flex;align-items:center;gap:15px;margin-bottom:30px;padding:20px;background:#f8f9fa;border-radius:8px;flex-wrap:wrap}.zone-selector label{font-weight:600;color:#333}.zone-select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.zone-info{margin-left:auto;padding:8px 15px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;box-shadow:0 2px 8px #667eea4d}.current-zone-info{color:#bbb!important;font-size:14px;font-weight:500}.current-zone-info strong{color:#000!important;font-weight:700;min-width:200px}.modal-overlay{position:fixed!important;inset:0!important;background:#0009!important;display:flex!important;align-items:center!important;justify-content:center!important;z-index:99999!important;padding:20px!important}.modal-content{background:#fff!important;border-radius:12px!important;max-width:800px!important;width:100%!important;max-height:calc(100vh - 120px)!important;overflow-y:auto!important;display:flex!important;flex-direction:column!important;box-shadow:0 20px 60px #0000004d!important;position:relative!important;z-index:100000!important;margin:10px!important}.modal-header1{display:flex!important;justify-content:space-between!important;align-items:center!important;padding:24px 30px!important;border-bottom:2px solid #e2e8f0!important;background:linear-gradient(135deg,#667eea,#764ba2)!important;border-radius:12px 12px 0 0!important;position:relative!important;z-index:1!important;min-height:80px!important;flex-shrink:0!important}.modal-title-section{display:flex!important;align-items:center!important;gap:16px!important;flex:1!important}.modal-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:48px!important;height:48px!important;background:#fff3!important;border-radius:12px!important;font-size:24px!important;box-shadow:0 4px 12px #0000001a!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.3)!important;flex-shrink:0!important}.modal-title-text{display:flex!important;flex-direction:column!important;gap:4px!important;flex:1!important}.modal-title-text h3{margin:0!important;color:#fff!important;font-size:1.8rem!important;font-weight:700!important;line-height:1.2!important;text-shadow:0 2px 4px rgba(0,0,0,.2)!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important}.modal-subtitle{margin:0!important;color:#ffffffe6!important;font-size:1rem!important;line-height:1.3!important;font-weight:500!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif!important}.close-button{display:flex!important;align-items:center!important;justify-content:center!important;width:40px!important;height:40px!important;border:none!important;background:#fff3!important;border-radius:8px!important;font-size:24px!important;color:#fff!important;cursor:pointer!important;transition:all .2s ease!important;flex-shrink:0!important;-webkit-backdrop-filter:blur(10px)!important;backdrop-filter:blur(10px)!important;border:1px solid rgba(255,255,255,.3)!important}.close-button:hover{background:#ef4444e6!important;color:#fff!important;transform:scale(1.05)!important;border-color:#ef444480!important}.location-form{flex:1!important;overflow-y:auto!important;padding:0!important}.location-form{padding:30px;max-height:calc(90vh - 160px);overflow-y:auto;scroll-behavior:smooth}.location-form::-webkit-scrollbar{width:6px}.location-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.location-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.location-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.form-section{margin-bottom:30px;padding:20px;border:1px solid #e1e5e9;border-radius:8px;background-color:#fafbfc}.form-section h4{margin:0 0 20px;color:#333;font-size:18px;font-weight:600;border-bottom:2px solid #667eea;padding-bottom:8px}.form-section:nth-child(odd){background-color:#f8f9ff}.form-group input,.form-group textarea,.form-group select{padding:12px 16px;border:1px solid #e0e6ed;border-radius:8px;font-size:14px;transition:all .3s ease;background:#fafbfc;color:#2d3748;box-shadow:0 2px 4px #00000005}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.zones-checkbox-group{display:flex;flex-direction:column;gap:8px;padding:10px;border:1px solid #ddd;border-radius:4px;background-color:#f9f9f9;max-height:200px;overflow-y:auto;min-height:100px}.zones-checkbox-group::-webkit-scrollbar{width:6px}.zones-checkbox-group::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.zones-checkbox-group::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.zones-checkbox-group::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px;border-radius:3px;transition:background-color .2s ease}.checkbox-label:hover{background-color:#e9ecef}.checkbox-label input[type=checkbox]{margin:0;cursor:pointer}.checkbox-label span{font-size:14px;color:#333}.locations-list{margin-top:40px}.locations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #f1f5f9}.locations-header h3{margin:0;color:#1e293b;font-size:1.5rem;font-weight:600}.locations-stats{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:20px;font-size:.9rem;font-weight:500;box-shadow:0 2px 8px #667eea4d}.no-data-container{text-align:center;padding:60px 20px;background:linear-gradient(135deg,#f8fafc,#e2e8f0);border-radius:16px;border:2px dashed #cbd5e1}.no-data-icon{font-size:4rem;margin-bottom:16px;opacity:.6}.no-data{font-size:1.2rem;color:#64748b;margin:0 0 8px;font-weight:500}.no-data-sub{color:#94a3b8;margin:0;font-size:.95rem}.locations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:24px;margin-top:20px}.location-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s ease;border:1px solid #f1f5f9;position:relative}.location-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026}.location-card-header{position:relative;height:200px;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.location-main-image{position:absolute;top:0;left:0;width:100%;height:100%}.location-main-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.location-card:hover .location-main-image img{transform:scale(1.05)}.image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000001a,#0000004d)}.location-icons{position:absolute;top:12px;right:12px;display:flex;gap:8px;z-index:2}.location-logo,.location-icon{width:40px;height:40px;border-radius:8px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.location-logo img,.location-icon img{width:28px;height:28px;object-fit:contain;border-radius:4px}.location-card-content{padding:20px}.location-title-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.location-title{margin:0;color:#1e293b;font-size:1.2rem;font-weight:600;line-height:1.3;flex:1}.location-category-badge{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:12px;font-size:.8rem;font-weight:500;white-space:nowrap;flex-shrink:0}.location-summary{margin-bottom:16px}.rich-summary{color:#475569;line-height:1.6;font-size:.95rem}.rich-summary b,.rich-summary strong{color:#334155}.rich-summary u{text-decoration-color:#667eea}.location-description{color:#475569;line-height:1.6;margin:0;font-size:.95rem}.location-meta{margin-bottom:16px}.location-zones-info{display:flex;align-items:center;gap:8px;margin-bottom:8px}.meta-label{color:#64748b;font-size:.85rem;font-weight:500;min-width:40px}.meta-value{color:#334155;font-size:.9rem;font-weight:500}.location-contact-preview{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.contact-item{font-size:.8rem;color:#64748b;background:#f8fafc;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0}.location-card-actions{display:flex;gap:8px;padding:16px 20px;background:#f8fafc;border-top:1px solid #f1f5f9}.action-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.action-button .button-icon{font-size:1rem}.action-button.edit-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.action-button.edit-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.action-button.delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.action-button.delete-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}@media (max-width: 768px){.locations-grid{grid-template-columns:1fr;gap:16px}.location-card-header{height:160px}.locations-header{flex-direction:column;align-items:flex-start;gap:12px}.location-title-section{flex-direction:column;align-items:flex-start;gap:8px}}.array-input{border:1px solid #ddd;border-radius:6px;padding:15px;background-color:#fafbfc}.array-item{display:flex;gap:10px;margin-bottom:10px;align-items:center}.array-item input{flex:1;padding:8px 12px;border:1px solid #ccc;border-radius:4px;font-size:14px}.array-item input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 2px #667eea1a}.remove-button{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;white-space:nowrap;transition:background-color .3s ease}.remove-button:hover{background:#c82333}.add-array-button{background:linear-gradient(135deg,#28a745,#20c997);color:#fff;border:none;padding:8px 16px;border-radius:4px;font-size:14px;cursor:pointer;margin-top:10px;transition:transform .2s ease}.add-array-button:hover{transform:translateY(-1px)}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.manager-header{flex-direction:column;gap:15px;text-align:center}.zone-selector{flex-direction:column;align-items:flex-start}.locations-grid{grid-template-columns:1fr}.location-form{padding:20px}}.coordinate-info{display:flex;justify-content:space-between;align-items:center;width:100%}.preview-position-btn{background:#4299e1;color:#fff;border:none;padding:6px 12px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;margin-left:8px}.preview-position-btn:hover:not(:disabled){background:#3182ce;transform:translateY(-1px)}.preview-position-btn:disabled{background:#cbd5e0;cursor:not-allowed;opacity:.6}.position-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.position-modal{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 20px 40px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.position-modal-header{padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center;background:#f7fafc}.position-modal-header h3{margin:0;color:#2d3748;font-size:18px;font-weight:600}.zone-info{display:flex;align-items:center;gap:8px;background:#fff;padding:6px 12px;border-radius:20px;box-shadow:0 1px 3px #0000001a}.close-modal-btn{background:none;border:none;font-size:24px;cursor:pointer;color:#718096;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.close-modal-btn:hover{background:#e2e8f0;color:#2d3748}.position-modal-content{padding:20px;max-height:50vh;overflow-y:auto}.coordinate-display{background:#f7fafc;padding:12px 16px;border-radius:8px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;border-left:4px solid #4299e1}.coordinate-label{font-weight:600;color:#4a5568}.coordinate-value{font-family:Monaco,Consolas,monospace;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #e2e8f0;font-weight:500;color:#2d3748}.map-info{background:#e6fffa;border:1px solid #81e6d9;border-radius:6px;padding:12px 16px;margin-bottom:16px}.map-instructions{margin:0}.map-instructions p{margin:0 0 4px;font-size:13px;line-height:1.4;color:#234e52}.map-instructions p:last-child{margin-bottom:0}.coordinate-editor{background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;padding:16px;margin-bottom:20px}.coordinate-editor h4{margin:0 0 12px;color:#2d3748;font-size:14px;font-weight:600}.coordinate-edit-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.coordinate-edit-group{display:flex;flex-direction:column;position:relative;margin-bottom:16px}.coordinate-edit-group label{font-size:13px;font-weight:600;color:#4a5568;margin-bottom:6px;display:flex;align-items:center;gap:4px}.coordinate-edit-input{padding:12px 40px 12px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;background:#fff;color:#2d3748;font-weight:500;transition:all .2s ease;height:48px}.coordinate-edit-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fafafa}.input-unit{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:14px;font-weight:600;color:#667eea;pointer-events:none;background:#f7fafc;padding:4px 8px;border-radius:4px;border:1px solid #e2e8f0}.modal-coordinate-edit-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;padding:16px;background:#f8f9fa;border-radius:12px;border:1px solid #e9ecef}.modal-coordinate-edit-group{display:flex;flex-direction:column;position:relative;margin-bottom:0}.modal-coordinate-edit-group label{font-size:13px;font-weight:600;color:#4a5568;margin-bottom:6px;display:flex;align-items:center;gap:4px}.modal-coordinate-edit-input{padding:12px 40px 12px 12px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;background:#fff;color:#2d3748;font-weight:500;transition:all .2s ease;height:48px}.modal-coordinate-edit-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;background:#fafafa}.modal-input-unit{position:absolute;right:16px;bottom:12px;font-size:14px;font-weight:600;color:#667eea;pointer-events:none;background:#f7fafc;padding:4px 8px;border-radius:4px;border:1px solid #e2e8f0}.save-position-btn{background:#48bb78;color:#fff;border:none;padding:8px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.save-position-btn:hover{background:#38a169;transform:translateY(-1px)}@keyframes hintPulse{0%,to{opacity:.7;transform:translate(-50%) scale(1)}50%{opacity:1;transform:translate(-50%) scale(1.02)}}@keyframes markerBounce{0%{transform:translate(-50%,-100%) scale(1)}to{transform:translate(-50%,-100%) scale(1.1)}}.no-map-placeholder{text-align:center;padding:60px 20px;color:#718096}.no-map-placeholder .placeholder-icon{font-size:48px;margin-bottom:16px;opacity:.5}.no-map-placeholder p{margin:0 0 8px;font-size:16px;font-weight:500}.no-map-placeholder small{font-size:14px;opacity:.8}.position-modal-footer{padding:16px 24px;border-top:1px solid #e2e8f0;background:#f7fafc;text-align:right}.close-btn{background:#4a5568;color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:500;cursor:pointer;transition:background-color .2s ease}.close-btn:hover{background:#2d3748}@media (max-width: 768px){.position-modal{width:95%;max-width:none;margin:10px}.position-modal-header{padding:16px 20px}.position-modal-header h3{font-size:16px}.position-modal-content1{padding:16px;max-height:60vh}.map-image-container,.zone-map-image{max-height:300px}.coordinate-display{flex-direction:column;gap:8px;text-align:center}.coordinate-edit-inputs{grid-template-columns:1fr;gap:12px}.save-position-btn{width:100%}.click-hint{font-size:11px;padding:6px 10px}.marker-icon{font-size:24px}.marker-label{font-size:10px;padding:2px 6px}}.gallery-upload-section{border:2px dashed #e5e5e5;border-radius:8px;padding:16px;background:#f9f9f9;transition:border-color .3s ease}.gallery-upload-section:hover{border-color:#667eea}.gallery-preview{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:16px}.gallery-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.gallery-item:hover{transform:scale(1.02)}.gallery-item img{width:100%;height:100%;object-fit:cover}.remove-gallery-btn{position:absolute;top:4px;right:4px;background:#f00c;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;cursor:pointer;transition:background-color .2s ease}.remove-gallery-btn:hover{background:red}.location-sub-wrapper{display:flex;align-items:center;gap:8px;margin-bottom:8px}.form-group .location-sub-input[type=checkbox]{width:18px!important;height:18px!important;border:2px solid #e2e8f0!important;border-radius:4px!important;background:#fff!important;cursor:pointer!important;transition:all .2s ease!important;margin:0!important;padding:0!important;appearance:none!important;position:relative!important;box-sizing:border-box!important;font-size:12px!important}.form-group .location-sub-input[type=checkbox]:checked{background:#10b981!important;border-color:#10b981!important}.form-group .location-sub-input[type=checkbox]:checked:after{content:"✓"!important;color:#fff!important;font-size:12px!important;font-weight:700!important;position:absolute!important;top:50%!important;left:50%!important;transform:translate(-50%,-50%)!important;line-height:1!important}.location-sub-label{font-size:14px!important;color:#374151!important;cursor:pointer!important;-webkit-user-select:none!important;user-select:none!important;font-weight:500!important;margin:0!important}.checkbox-container{display:flex;align-items:center;gap:8px;margin-bottom:8px}.sub-locations-checkbox{width:18px;height:18px;cursor:pointer}.checkbox-label{font-weight:500;color:#374151;cursor:pointer;display:flex;align-items:center;gap:6px}.form-help-text{color:#6b7280;font-size:12px;line-height:1.4}.artists-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.add-artist-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #10b98133}.add-artist-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.artists-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px}@media (max-width: 900px){.artists-list{grid-template-columns:1fr}}.artist-card{border:1px solid #e5e7eb;border-radius:6px;padding:8px;background:linear-gradient(135deg,#fff,#f9fafb);box-shadow:0 1px 4px #0000000d;transition:all .3s ease;position:relative;overflow:hidden;min-height:60px}.artist-card:hover{border-color:#10b981;transform:translateY(-1px);box-shadow:0 2px 8px #10b98126}.artist-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669,#34d399);opacity:0;transition:opacity .3s ease}.artist-card:hover:before{opacity:1}.artist-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #f3f4f6}.artist-card-header h5{margin:0;color:#1f2937;font-weight:700;font-size:13px;display:flex;align-items:center;gap:4px}.artist-card-header h5:before{content:"🎨";font-size:15px}.remove-artist-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:4px 8px;border-radius:4px;font-size:10px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #ef444433;display:flex;align-items:center;gap:2px;line-height:1}.remove-artist-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.artist-form{display:flex;flex-direction:column;gap:6px;align-items:stretch}.artist-image-section-compact{display:flex;flex-direction:row;gap:8px;align-items:center;margin-bottom:6px}.artist-image-section-compact label{font-weight:600;font-size:12px;color:#374151;margin:0;white-space:nowrap;min-width:60px}.artist-image-uploader-small .image-uploader{max-width:35px;text-align:center}.artist-image-uploader-small .upload-button{padding:2px 3px!important;font-size:8px!important;border-radius:2px!important;min-height:unset!important;white-space:nowrap!important;line-height:1.1!important;min-width:35px!important}.artist-image-uploader-small .image-preview{max-width:35px!important;max-height:35px!important;border-radius:3px!important;margin:2px auto!important}.artist-image-uploader-small .image-preview img{width:35px!important;height:35px!important;object-fit:cover!important;border-radius:2px!important}.artist-image-uploader-small .upload-placeholder{width:35px!important;height:35px!important;font-size:14px!important;border-radius:3px!important;margin:0 auto!important}.artist-image-section{display:flex;flex-direction:column;gap:6px}.artist-image-section label{font-weight:600;font-size:12px;color:#374151;margin-bottom:3px}.artist-image-section .image-preview{max-width:70px;max-height:70px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;border:2px solid #e5e7eb;transition:all .3s ease}.artist-image-section .image-preview:hover{border-color:#10b981;transform:scale(1.02)}.artist-image-section .image-preview img{width:70px;height:70px;object-fit:cover;border-radius:6px}.artist-info-section{display:grid;grid-template-columns:1fr 1fr;gap:8px;align-items:center}.artist-info-section .form-group{margin-bottom:0;display:flex;flex-direction:column}.artist-info-section .form-group label{font-weight:600;font-size:11px;color:#374151;margin-bottom:2px;display:block}.artist-info-section .form-group input{width:100%;padding:5px 7px;border:1px solid #e5e7eb;border-radius:3px;font-size:12px;transition:all .2s ease;background:#fff;min-height:26px}.artist-info-section .form-group input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 3px #10b9811a;background:#f8fafc}.artist-info-section .form-group input::placeholder{color:#9ca3af;font-style:italic}.no-artists-placeholder{text-align:center;padding:32px 24px;border:2px dashed #d1d5db;border-radius:16px;background:linear-gradient(135deg,#f9fafb,#f3f4f6);margin:16px 0}.no-artists-placeholder .placeholder-icon{font-size:48px;margin-bottom:12px;opacity:.6}.no-artists-placeholder p{color:#6b7280;font-size:16px;margin:8px 0;font-weight:500}.no-artists-placeholder small{color:#9ca3af;font-size:14px;font-style:italic}.no-artists-placeholder p{margin:0 0 4px;color:#6b7280;font-weight:500}.no-artists-placeholder small{color:#9ca3af;font-size:12px}@media (max-width: 768px){.artist-form{grid-template-columns:1fr;gap:12px}.artists-section-header{flex-direction:column;gap:12px;align-items:stretch}.add-artist-btn{width:100%}.gallery-preview{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}}.multiple-upload-area{display:flex;gap:12px;align-items:center;margin-bottom:16px;flex-wrap:wrap;padding:12px 16px;background:linear-gradient(135deg,#677eea1a,#ff6b6b1a);border-radius:12px;border:2px solid transparent;background-clip:padding-box;position:relative}.multiple-upload-area:before{content:"";position:absolute;inset:0;padding:2px;background:linear-gradient(135deg,#667eea,#764ba2,#ff6b6b,orange);border-radius:12px;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:xor;-webkit-mask-composite:xor;pointer-events:none;opacity:.3}.hidden-file-input{display:none}.upload-gallery-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #667eea4d;text-decoration:none;position:relative;overflow:hidden;min-width:120px;justify-content:center}.upload-gallery-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.upload-gallery-btn:hover:before{left:100%}.upload-gallery-btn:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-2px) scale(1.02);box-shadow:0 4px 16px #667eea66}.upload-gallery-btn:active{transform:translateY(0) scale(1);box-shadow:0 2px 8px #667eea4d}.upload-gallery-btn.single{background:linear-gradient(135deg,#ff6b6b,orange);box-shadow:0 4px 20px #ff6b6b66}.upload-gallery-btn.single:hover{background:linear-gradient(135deg,orange,#ff6b6b);box-shadow:0 4px 16px #ff6b6b66}.gallery-preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:16px;margin-top:20px;padding:24px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border-radius:20px;border:2px dashed #94a3b8;box-shadow:inset 0 2px 4px #0000000f}.gallery-thumb{position:relative;width:120px;height:120px;border-radius:16px;overflow:hidden;box-shadow:0 10px 30px #00000026;background:#fff;border:3px solid transparent;background-clip:padding-box}.gallery-thumb img{width:100%;height:100%;object-fit:cover}.remove-gallery-thumb-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border:2px solid white;border-radius:50%;background:#ef4444;color:#fff;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 2px 8px #0003;z-index:10;opacity:0;transition:opacity .2s ease;padding:0;min-width:24px;min-height:24px;flex-shrink:0}.gallery-thumb:hover .remove-gallery-thumb-btn{opacity:1}.sub-locations-section{margin-top:20px;padding:20px;background:linear-gradient(135deg,#f0f4f8,#e2e8f0);border-radius:16px;border:2px solid #cbd5e1}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-header h3{color:#1e293b;margin:0;font-size:18px}.add-sub-location-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;border-radius:10px;padding:10px 20px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #10b9814d}.add-sub-location-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b98166}.sub-location-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:20px;box-shadow:0 4px 16px #0000001a;border:1px solid #e2e8f0}.sub-location-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid #f1f5f9}.sub-location-header h4{color:#1e293b;margin:0;font-size:16px}.remove-sub-location-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:12px;cursor:pointer;transition:all .3s ease}.remove-sub-location-btn:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px)}.sub-location-image-section{margin-bottom:15px;padding:15px;background:#f8fafc;border-radius:8px}.coordinates-section{display:flex;justify-content:space-between;align-items:center;margin:15px 0;padding:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border:1px solid #f59e0b}.coordinates-info{font-weight:600;color:#92400e}.update-coordinates-btn{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border:none;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .3s ease}.update-coordinates-btn:hover{background:linear-gradient(135deg,#d97706,#b45309);transform:translateY(-1px)}.sub-location-artists-section{margin-top:20px;padding:15px;background:#f1f5f9;border-radius:8px;border:1px solid #cbd5e1}.artists-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.artists-header h5{color:#1e293b;margin:0;font-size:15px}.add-artist-btn-small{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border:none;border-radius:6px;padding:6px 12px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.add-artist-btn-small:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-1px)}.sub-location-artists-section .artists-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-top:15px}.sub-location-artists-section .artist-card.compact{background:#fff;border-radius:8px;padding:12px;box-shadow:0 2px 8px #00000014;border:1px solid #e2e8f0}.sub-location-artists-section .artist-form{display:flex;flex-direction:column;gap:8px;position:relative}.sub-location-artists-section .artist-inputs{display:flex;flex-direction:column;gap:6px}.sub-location-artists-section .artist-name-input,.sub-location-artists-section .artist-website-input{padding:6px 8px;border:1px solid #cbd5e1;border-radius:4px;font-size:12px}.sub-location-artists-section .artist-image-section{margin-top:8px}.sub-location-artists-section .remove-artist-btn{position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:#ef4444;color:#fff;border:none;border-radius:50%;font-size:10px;cursor:pointer;display:flex;align-items:center;justify-content:center}.sub-location-artists-section .remove-artist-btn:hover{background:#dc2626}@media (max-width: 768px){.sub-location-artists-section .artists-grid{grid-template-columns:1fr}}.sub-location-images-section{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin-bottom:20px}.sub-location-image-section{grid-column:span 2;background:#f8fafc;padding:12px;border-radius:8px;border:1px solid #e2e8f0}.sub-location-logo-section,.sub-location-icon-section{background:#f8fafc;padding:12px;border-radius:8px;border:1px solid #e2e8f0}.sub-location-gallery-section{grid-column:span 2;background:#f8fafc;padding:12px;border-radius:8px;border:1px solid #e2e8f0}body.modal-open{overflow:hidden}.coordinate-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:99999;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.coordinate-modal{background:#fff;border-radius:16px;padding:20px;width:90%;max-width:800px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;z-index:100000;position:relative;border:2px solid #3b82f6;margin:auto;display:flex;flex-direction:column}.coordinate-modal .modal-content{display:flex;flex-direction:column;align-items:center;width:100%}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid #e5e7eb;min-height:50px;position:relative;z-index:100001}.modal-header h3{margin:0;color:#1e293b;font-size:16px;font-weight:600;flex:1}.modal-close-btn{background:#ef4444;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #ef44444d;display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:100001;position:relative}.modal-close-btn:hover{background:#dc2626;transform:scale(1.05);box-shadow:0 4px 12px #ef444466}.coordinate-image-container{position:relative;display:inline-block;max-width:100%;border:3px solid #3b82f6;border-radius:12px;overflow:hidden;box-shadow:0 8px 24px #0000004d;z-index:100001;background:#fff}.coordinate-selection-image{width:100%;max-width:650px;height:auto;cursor:crosshair;display:block;border-radius:8px;margin:0 auto;border:2px solid #e5e7eb;transition:border-color .2s ease}.coordinate-selection-image:hover{border-color:#3b82f6}.coordinate-instruction{text-align:center;color:#6b7280;font-size:14px;background:#f8fafc;border-radius:6px;margin-bottom:16px;border-left:3px solid #3b82f6;padding:12px 0 12px 12px}.modal-instruction-text{text-align:center;color:#475569;font-size:14px;margin-bottom:12px;padding:8px 12px;background:#f1f5f9;border-radius:6px;border-left:2px solid #3b82f6}.modal-target-text{text-align:center;margin-bottom:16px;padding:12px;background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;border:1px solid #f59e0b}.modal-target-text strong{color:#92400e;font-weight:700;font-size:15px}.no-image-message{padding:40px;text-align:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;color:#64748b;font-size:16px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:100001}.no-image-message p{margin:0 0 8px;font-weight:600;color:#475569}.no-image-message small{color:#64748b;font-size:14px;display:block;margin-top:4px}.current-coordinates{margin:15px 0;padding:12px;background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-radius:8px;border:1px solid #3b82f6;position:relative;z-index:100001}.current-coordinates p{margin:0;font-weight:600;color:#1d4ed8;text-align:center}.modal-actions{display:flex;gap:15px;justify-content:center;margin-top:20px;padding-top:15px;border-top:2px solid #f1f5f9;position:relative;z-index:100001}.save-coordinates-btn,.cancel-coordinates-btn{padding:12px 24px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px;position:relative;z-index:100002}.save-coordinates-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 12px #10b9814d}.save-coordinates-btn:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-2px);box-shadow:0 6px 16px #10b98166}.cancel-coordinates-btn{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff;box-shadow:0 4px 12px #6b72804d}.cancel-coordinates-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-2px);box-shadow:0 6px 16px #6b728066}.coordinate-marker{position:absolute;font-size:24px;transform:translate(-50%,-50%);pointer-events:none;animation:pulse 2s infinite;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.2)}to{transform:translate(-50%,-50%) scale(1)}}@media (max-width: 768px){.sub-location-images-section{grid-template-columns:1fr}.sub-location-gallery-section{grid-column:span 1}.coordinate-modal{margin:20px;max-width:calc(100vw - 40px)}}.sublocation-position-modal-overlay{position:fixed!important;top:0!important;left:0!important;width:100%!important;height:100%!important;background-color:#000000d9!important;display:flex!important;justify-content:center!important;align-items:center!important;z-index:1100000!important}.sublocation-position-modal{position:relative!important;z-index:1100001!important;background:#fff;border-radius:12px;box-shadow:0 20px 40px -12px #00000040;max-width:800px;width:75vw;max-height:75vh;overflow:hidden;animation:slideIn .3s ease-out;display:flex;flex-direction:column;border:2px solid #f59e0b}.sublocation-position-modal .position-modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.sublocation-position-modal .position-modal-content{padding:15px;max-height:calc(75vh - 100px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;flex:1}.sublocation-position-modal .sublocation-map-container{border-radius:8px;overflow:auto;border:2px solid #f59e0b;width:100%;height:auto;flex:1;min-height:180px;max-height:300px;position:relative;scrollbar-width:thin;scrollbar-color:#f59e0b #fef3c7;display:flex;justify-content:center;align-items:center}.sublocation-position-modal .sublocation-map-container::-webkit-scrollbar{width:8px;height:8px}.sublocation-position-modal .sublocation-map-container::-webkit-scrollbar-track{background:#fef3c7;border-radius:4px}.sublocation-position-modal .sublocation-map-container::-webkit-scrollbar-thumb{background:#f59e0b;border-radius:4px;transition:background-color .2s}.sublocation-position-modal .sublocation-map-container::-webkit-scrollbar-thumb:hover{background:#d97706}.sublocation-position-modal .sublocation-preview-image{width:auto;height:auto;display:block;cursor:crosshair;object-fit:contain;object-position:center center;transform-origin:center center;max-width:500px;max-height:250px;min-height:120px;margin:0 auto}.sublocation-position-modal .map-preview{position:relative;width:100%;height:auto;min-height:100%;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;flex-direction:column-reverse;align-content:center}.sublocation-position-modal .map-image-wrapper{position:relative;width:fit-content;height:auto;display:flex;justify-content:center;align-items:center;-webkit-user-select:none;user-select:none;overflow:visible;margin:0 auto}.sublocation-position-modal .map-image-container{position:relative;width:fit-content;height:auto;display:block;-webkit-user-select:none;user-select:none;max-width:100%}.sublocation-position-modal .position-marker{position:absolute;transform:translate(-50%,-100%);z-index:100;animation:subLocationMarkerBounce 1s ease-in-out infinite alternate;filter:drop-shadow(3px 3px 6px rgba(245,158,11,.5));display:flex;flex-direction:column;align-items:center;pointer-events:all;top:0;left:0}.sublocation-position-modal .visible-marker{opacity:1!important;visibility:visible!important;transform:translate(-50%,-100%) scale(1.1)}.sublocation-position-modal .marker-icon{font-size:22px;line-height:1;filter:drop-shadow(2px 2px 4px rgba(245,158,11,.7));cursor:grab;pointer-events:all;color:#f59e0b;text-shadow:0 0 6px rgba(245,158,11,.4)}.sublocation-position-modal .marker-label{background:#f59e0bf2;color:#fff;padding:3px 6px;border-radius:4px;font-size:10px;font-weight:600;white-space:nowrap;position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:4px;text-align:center;z-index:101;pointer-events:none;box-shadow:0 2px 8px #f59e0b4d}.sublocation-position-modal .draggable-marker{pointer-events:auto;cursor:grab;transition:transform .1s ease;transform:translate(-50%,-100%)}.sublocation-position-modal .draggable-marker:hover{transform:translate(-50%,-100%) scale(1.2)}.sublocation-position-modal .draggable-marker:active{cursor:grabbing;transform:translate(-50%,-100%) scale(1.15)}.sublocation-position-modal .scroll-hint{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:10px;margin-bottom:12px;font-size:12px;color:#92400e;display:flex;align-items:center;gap:8px}.sublocation-position-modal .coordinate-display{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;padding:16px;margin-bottom:20px;display:flex;align-items:center;gap:12px}.sublocation-position-modal .coordinate-value{font-weight:700;color:#d97706;font-family:Monaco,Menlo,monospace}.sublocation-position-modal .modal-coordinate-edit-input:focus{outline:none;border-color:#f59e0b;box-shadow:0 0 0 3px #f59e0b1a;background:#fafafa}.sublocation-position-modal .modal-input-unit{color:#f59e0b;background:#fef3c7;border:1px solid #f59e0b}.sublocation-position-modal .save-position-btn{background:#f59e0b}.sublocation-position-modal .save-position-btn:hover{background:#d97706}.sublocation-position-modal .save-btn{background:#f59e0b;border:2px solid #d97706}.sublocation-position-modal .save-btn:hover{background:#d97706}@keyframes subLocationMarkerBounce{0%{transform:translate(-50%,-100%) scale(1)}to{transform:translate(-50%,-105%) scale(1.05)}}@media (max-width: 768px){.sublocation-position-modal{width:90vw;max-height:80vh}.sublocation-position-modal .sublocation-preview-image{max-width:350px;max-height:180px;min-height:80px}.sublocation-position-modal .sublocation-map-container{min-height:120px;max-height:200px}}@media (min-width:769px){.sublocation-map-container{max-height:unset}.sublocation-map-container .map-image-wrapper,.sublocation-map-container .map-image-container{width:100%}.sublocation-map-container .map-image-container>img{max-width:100%;max-height:unset}}.admin-zone-manager-wrapper .zone-loading-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:9999;animation:zoneFadeIn .3s ease-out}.admin-zone-manager-wrapper .zone-loading-container{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 40px #0003;text-align:center;max-width:280px;min-width:260px;animation:zoneSlideUp .4s ease-out}.admin-zone-manager-wrapper .zone-loading-spinner{position:relative;width:50px;height:50px;margin:0 auto 16px}.admin-zone-manager-wrapper .zone-spinner-ring{position:absolute;top:0;left:0;width:100%;height:100%;border:3px solid transparent;border-radius:50%;animation:zoneSpin 1.5s linear infinite}.admin-zone-manager-wrapper .zone-spinner-ring:nth-child(1){border-top:3px solid #667eea;animation-delay:0s}.admin-zone-manager-wrapper .zone-spinner-ring:nth-child(2){border-right:3px solid #764ba2;animation-delay:.3s;transform:scale(.8)}.admin-zone-manager-wrapper .zone-spinner-ring:nth-child(3){border-bottom:3px solid #f093fb;animation-delay:.6s;transform:scale(.6)}.admin-zone-manager-wrapper .zone-loading-title{margin:0 0 6px;color:#1e293b;font-size:1.1rem;font-weight:600}.admin-zone-manager-wrapper .zone-loading-message{margin:0 0 16px;color:#64748b;font-size:.9rem;line-height:1.4}.admin-zone-manager-wrapper .zone-loading-progress{width:100%;height:3px;background:#e2e8f0;border-radius:2px;overflow:hidden}.admin-zone-manager-wrapper .zone-progress-bar{height:100%;background:linear-gradient(90deg,#667eea,#764ba2,#f093fb);background-size:200% 100%;border-radius:2px;animation:zoneProgressMove 2s ease-in-out infinite}@keyframes zoneFadeIn{0%{opacity:0}to{opacity:1}}@keyframes zoneSlideUp{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes zoneSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes zoneProgressMove{0%{background-position:-200% 0}to{background-position:200% 0}}.admin-zone-manager-wrapper{width:100%;background:#f8fafc;min-height:100vh}.admin-zone-manager-wrapper .admin-zone-manager{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 10px #0000000d;max-width:1200px;margin:0 auto}.admin-zone-manager-wrapper .rich-text-container{border:1px solid #e0e6ed;border-radius:12px;overflow:hidden;background:#fff;box-shadow:0 4px 16px #0000000d}.admin-zone-manager-wrapper .rich-text-toolbar{display:flex;gap:4px;padding:8px;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid rgba(255,255,255,.2)}.admin-zone-manager-wrapper .rich-text-toolbar button{border:1px solid rgba(255,255,255,.3);background:#ffffff26;color:#fff;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:700;transition:all .3s ease;min-width:32px;height:32px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px #0000001a}.admin-zone-manager-wrapper .rich-text-toolbar button:hover{background:#ffffff40;border-color:#ffffff80;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #0003}.admin-zone-manager-wrapper .toolbar-divider{width:1px;height:20px;background:#ffffff4d;margin:6px 4px}.admin-zone-manager-wrapper .rich-text-toolbar button[title*=ชิด],.admin-zone-manager-wrapper .rich-text-toolbar button[title*=กึ่งกลาง],.admin-zone-manager-wrapper .rich-text-toolbar button[title*=จัดเต็ม]{font-size:12px;min-width:28px}.admin-zone-manager-wrapper .rich-text-toolbar button[title*=กึ่งกลาง]{font-size:10px}.admin-zone-manager-wrapper .rich-text-toolbar button:active{background:#ffffff59;transform:translateY(0);color:#fff;box-shadow:0 2px 4px #0003}.admin-zone-manager-wrapper .rich-text-toolbar .bullet-btn{font-size:16px}.admin-zone-manager-wrapper .rich-text-toolbar button.active{background:#fff6;border-color:#fff9;transform:translateY(-1px);box-shadow:0 4px 12px #0000004d}.admin-zone-manager-wrapper .rich-text-display{width:100%;border:none;padding:16px;min-height:200px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-size:14px;line-height:1.6;outline:none;background:#fafbfc;color:#2d3748;transition:background-color .2s ease;border-radius:0 0 12px 12px;overflow-y:auto;cursor:text;position:relative;white-space:pre-wrap}.admin-zone-manager-wrapper .rich-text-display:focus,.admin-zone-manager-wrapper .rich-text-display:hover{background:#fff}.rich-text-display:empty:before,.rich-text-display[data-empty=true]:before{content:attr(data-placeholder);color:#6b7280!important;font-style:italic;pointer-events:none;position:absolute;top:16px;left:16px;right:16px;z-index:1;font-weight:400;line-height:1.5;display:block!important}.rich-text-display:focus:empty:before,.rich-text-display:focus[data-empty=true]:before{content:attr(data-placeholder);color:#9ca3af!important;font-style:italic;pointer-events:none;position:absolute;top:16px;left:16px;right:16px;z-index:1;font-weight:400;line-height:1.5;display:block!important}div.rich-text-display[data-empty=true]:before,div[contenteditable=true][data-empty=true]:before{content:attr(data-placeholder)!important;color:gray!important;font-style:italic;pointer-events:none;position:absolute;top:16px;left:16px;right:16px;z-index:1;font-weight:400;line-height:1.5;display:block!important;opacity:1!important;visibility:visible!important}div.rich-text-display[data-empty=true]:focus:before,div[contenteditable=true][data-empty=true]:focus:before{color:#a0a0a0!important}.admin-zone-manager-wrapper .rich-text-display b,.admin-zone-manager-wrapper .rich-text-display strong{font-weight:700}.admin-zone-manager-wrapper .rich-text-display u{text-decoration:underline}.admin-zone-manager-wrapper .rich-text-display a{color:#667eea;text-decoration:underline}.admin-zone-manager-wrapper .rich-text-display a:hover{color:#764ba2}.admin-zone-manager-wrapper .manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e1e5e9}.admin-zone-manager-wrapper .manager-header h2{margin:0;color:#333;font-size:24px}.admin-zone-manager-wrapper .header-actions{display:flex;align-items:center;gap:8px}.admin-zone-manager-wrapper .add-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.admin-zone-manager-wrapper .add-button:hover{transform:translateY(-2px);box-shadow:0 4px 15px #667eea66}.admin-zone-manager-wrapper .modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.admin-zone-manager-wrapper .modal-header1{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 24px 0;border-bottom:1px solid #f1f5f9;margin-bottom:24px}.admin-zone-manager-wrapper .modal-title-section{display:flex;align-items:flex-start;gap:16px}.admin-zone-manager-wrapper .modal-icon{font-size:2rem;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;box-shadow:0 4px 12px #667eea4d}.admin-zone-manager-wrapper .modal-title-text h3{margin:0 0 4px;font-size:1.5rem;font-weight:600;color:#1e293b}.admin-zone-manager-wrapper .modal-subtitle{margin:0;font-size:.9rem;color:#64748b;font-weight:400}.admin-zone-manager-wrapper .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b;padding:8px;border-radius:6px;transition:all .2s ease}.admin-zone-manager-wrapper .close-button:hover{background:#f1f5f9;color:#374151}.admin-zone-manager-wrapper .zones-list{margin-top:30px}.admin-zone-manager-wrapper .zones-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:20px}.admin-zone-manager-wrapper .zones-header-left{display:flex;flex-direction:column;gap:4px}.admin-zone-manager-wrapper .zones-header h3{margin:0;color:#1e293b;font-size:1.5rem;font-weight:600}.admin-zone-manager-wrapper .zones-stats{color:#64748b;font-size:.9rem;font-weight:500}.admin-zone-manager-wrapper .zone-filter-container{display:flex;align-items:center;gap:8px}.admin-zone-manager-wrapper .zone-select-label{color:#374151;font-size:.9rem;font-weight:500;white-space:nowrap}.admin-zone-manager-wrapper .zone-select-dropdown{padding:8px 12px;border:2px solid #e5e7eb;border-radius:8px;background:#fff;color:#374151;font-size:.9rem;min-width:200px;cursor:pointer;transition:all .2s ease}.admin-zone-manager-wrapper .zone-select-dropdown:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.admin-zone-manager-wrapper .zone-select-dropdown:hover{border-color:#d1d5db}.admin-zone-manager-wrapper .no-data-container{text-align:center;padding:60px 20px;background:#f8fafc;border-radius:12px;border:2px dashed #e2e8f0}.admin-zone-manager-wrapper .no-data-icon{font-size:3rem;margin-bottom:16px}.admin-zone-manager-wrapper .no-data{margin:0 0 8px;font-size:1.1rem;font-weight:600;color:#374151}.admin-zone-manager-wrapper .no-data-sub{margin:0;color:#64748b;font-size:.9rem}.admin-zone-manager-wrapper .zones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:24px}.admin-zone-manager-wrapper .zone-card{background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 4px 20px #00000014;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid #e5e7eb;position:relative}.admin-zone-manager-wrapper .zone-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px #00000026;border-color:#667eea}.admin-zone-manager-wrapper .zone-card-header{position:relative;height:160px;background:linear-gradient(135deg,#667eea,#764ba2);overflow:hidden}.admin-zone-manager-wrapper .zone-main-image{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1}.admin-zone-manager-wrapper .zone-main-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:transform .5s cubic-bezier(.4,0,.2,1);background:#ffffff1a}.admin-zone-manager-wrapper .zone-card:hover .zone-main-image img{transform:scale(1.05)}.admin-zone-manager-wrapper .zone-default-image{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);z-index:1}.admin-zone-manager-wrapper .zone-icon{font-size:3rem;color:#fffc}.admin-zone-manager-wrapper .image-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to bottom,#0000,#0000001a,#0000004d);z-index:2}.admin-zone-manager-wrapper .zone-color-indicator{width:32px;height:32px;border-radius:50%;border:3px solid rgba(255,255,255,.9);box-shadow:0 2px 8px #0003;z-index:3}.admin-zone-manager-wrapper .zone-color-badge{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:8px;background:#ffffffeb;color:#0f172a;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.45);box-shadow:0 4px 12px #00000026;z-index:4;-webkit-backdrop-filter:saturate(1.2) blur(4px);backdrop-filter:saturate(1.2) blur(4px)}.admin-zone-manager-wrapper .zone-color-badge .badge-dot{width:14px;height:14px;border-radius:50%;border:2px solid #fff;box-shadow:0 2px 6px #00000026}.admin-zone-manager-wrapper .zone-color-badge .badge-text{font-size:.8rem;font-weight:600;letter-spacing:.3px}.admin-zone-manager-wrapper .main-zone-overlay-badge{position:absolute;top:12px;left:12px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:6px 12px;border-radius:12px;font-size:.75rem;font-weight:600;white-space:nowrap;box-shadow:0 2px 8px #f59e0b66;z-index:4;border:2px solid rgba(255,255,255,.9);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.admin-zone-manager-wrapper .zone-card-content{padding:20px}.admin-zone-manager-wrapper .zone-title-section{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:12px}.admin-zone-manager-wrapper .zone-title{margin:0;color:#1e293b;font-size:1.2rem;font-weight:600;line-height:1.3;flex:1}.admin-zone-manager-wrapper .zone-badges{display:flex;flex-direction:column;gap:4px;flex-shrink:0}.admin-zone-manager-wrapper .main-zone-badge{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:4px 12px;border-radius:12px;font-size:.7rem;font-weight:500;white-space:nowrap}.admin-zone-manager-wrapper .zone-id-badge{background:#f1f5f9;color:#64748b;padding:4px 8px;border-radius:8px;font-size:.7rem;font-weight:500;white-space:nowrap}.admin-zone-manager-wrapper .zone-name-en{color:#64748b;font-size:.9rem;margin:0 0 12px;font-style:italic}.admin-zone-manager-wrapper .zone-summary{margin-bottom:16px}.admin-zone-manager-wrapper .zone-description{color:#475569;line-height:1.6;margin:0;font-size:.95rem}.admin-zone-manager-wrapper .zone-meta{margin-bottom:16px}.admin-zone-manager-wrapper .zone-color-info{display:none}.admin-zone-manager-wrapper .meta-label{color:#64748b;font-size:.85rem;font-weight:500;min-width:40px}.admin-zone-manager-wrapper .color-preview{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0}.admin-zone-manager-wrapper .meta-value{color:#334155;font-size:.8rem;font-weight:500;font-family:monospace}.admin-zone-manager-wrapper .zone-card-actions{display:flex;gap:8px;padding:16px 20px;background:#f8fafc;border-top:1px solid #f1f5f9}.admin-zone-manager-wrapper .action-button{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none}.admin-zone-manager-wrapper .action-button .button-icon{font-size:1rem}.admin-zone-manager-wrapper .action-button.edit-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff}.admin-zone-manager-wrapper .action-button.edit-button:hover{background:linear-gradient(135deg,#059669,#047857);transform:translateY(-1px);box-shadow:0 4px 12px #10b9814d}.admin-zone-manager-wrapper .action-button.delete-button{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.admin-zone-manager-wrapper .action-button.delete-button:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-1px);box-shadow:0 4px 12px #ef44444d}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content{background:#fff;border-radius:12px;max-width:700px;width:100%;max-height:90vh;overflow-y:auto;display:flex;flex-direction:column}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 30px;border-bottom:1px solid #e1e5e9}.modal-header h3{margin:0;color:#333}.close-button{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;width:30px;height:30px;display:flex;align-items:center;justify-content:center}.zone-form{padding:30px;max-height:calc(90vh - 160px);overflow-y:auto;scroll-behavior:smooth}.zone-form::-webkit-scrollbar{width:6px}.zone-form::-webkit-scrollbar-track{background:#f1f1f1;border-radius:3px}.zone-form::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:3px}.zone-form::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column}.form-group label{margin-bottom:6px;font-weight:600;color:#333}.form-label{display:block;margin-bottom:6px;font-weight:600;color:#333}.form-group input,.form-group textarea{padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;transition:border-color .3s ease}.form-group input[type=color]{width:60px;height:40px;padding:4px;border-radius:6px;cursor:pointer}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group textarea{resize:vertical;min-height:80px}.form-group small{margin-top:4px;color:#666;font-size:12px}.file-upload-wrapper{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.file-upload-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 16px;border-radius:6px;font-size:14px;cursor:pointer;transition:transform .2s ease}.file-upload-button:hover{transform:translateY(-1px)}.file-name{color:#666;font-size:14px;font-style:italic}.file-input-container{display:block;width:100%}.file-input{padding:8px 12px!important;border:2px dashed #ddd!important;border-radius:6px!important;background:#fafafa;cursor:pointer;font-size:14px;width:100%!important;box-sizing:border-box}.file-input:hover{border-color:#667eea!important;background:#f0f4ff}.file-input:focus{outline:none;border-color:#667eea!important}.image-preview{margin-top:10px;text-align:center;border:1px solid #e1e5e9;border-radius:6px;padding:10px;background:#fafafa}.image-preview img{border-radius:4px;box-shadow:0 2px 8px #0000001a}.submit-button:disabled{background:#ccc!important;cursor:not-allowed;transform:none!important}.checkbox-group{margin-bottom:20px}.checkbox-group label{flex-direction:row;align-items:center;gap:8px;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin:0}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px;padding-top:20px;border-top:1px solid #e1e5e9}.cancel-button{background:#f8f9fa;color:#666;border:1px solid #ddd;padding:10px 20px;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.cancel-button:hover{background:#e9ecef}.submit-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:transform .2s ease}.submit-button:hover{transform:translateY(-1px)}.zones-list h3{color:#333;margin-bottom:20px}.no-data{text-align:center;color:#666;font-style:italic;padding:40px}.zones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;max-height:600px;overflow-y:auto;padding-right:10px;scroll-behavior:smooth}.zones-grid::-webkit-scrollbar{width:8px}.zones-grid::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.zones-grid::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.zones-grid::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.zone-card{border:1px solid #e1e5e9;border-radius:8px;padding:20px;background:#fafbfc;transition:box-shadow .3s ease}.zone-card:hover{box-shadow:0 4px 15px #0000001a}.zone-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.zone-info h4{margin:0;color:#333;font-size:18px}.main-zone-badge{background:linear-gradient(135deg,#ffd89b,#19547b);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600}.zone-name-en{color:#667eea;font-weight:600;font-size:14px;margin:0 0 5px}.zone-id{color:#999;font-size:12px;margin:0 0 10px;font-family:monospace}.zone-description{color:#666;line-height:1.5;margin-bottom:15px}.zone-image{margin:10px 0;border-radius:6px;overflow:hidden}.zone-actions{display:flex;gap:10px;margin-top:15px;justify-content:flex-end}.edit-button{background:#28a745;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .3s ease}.edit-button:hover{background:#218838}.delete-button{background:#dc3545;color:#fff;border:none;padding:6px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .3s ease}.delete-button:hover{background:#c82333}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.manager-header{flex-direction:column;gap:15px;text-align:center}.zones-grid{grid-template-columns:1fr}.modal-content{margin:10px}.zone-form{padding:20px}.zone-header{flex-direction:column;align-items:flex-start;gap:5px}}.zone-position-info{display:flex;align-items:center;gap:6px;margin-top:8px;padding:4px 8px;background:#f8f9fa;border-radius:6px;font-size:12px}.zone-position-info.main-zone{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.zone-position-info.main-zone .position-label{color:#fff;font-weight:600}.position-label{font-weight:500;color:#495057}.position-value{font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:#e9ecef;padding:2px 6px;border-radius:4px;color:#6c757d;font-size:11px}.position-label.text-muted{color:#6c757d;font-style:italic}.zones-grid{max-height:calc(100dvh - 31rem)}.admin-dashboard{min-height:100vh;background-color:#f5f6fa;scroll-behavior:smooth}*{scroll-behavior:smooth}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:20px 0;box-shadow:0 2px 10px #0000001a}.admin-header-content{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.admin-header h1{margin:0;font-size:24px;font-weight:600}.logout-button{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:8px 16px;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.logout-button:hover{background:#ffffff4d}.admin-nav{background:#fff;border-bottom:1px solid #e1e5e9;padding:0 20px;max-width:1200px;margin:0 auto;display:flex;gap:0}.nav-tab{background:none;border:none;padding:16px 24px;cursor:pointer;font-size:16px;font-weight:500;color:#666;border-bottom:3px solid transparent;transition:all .3s ease}.nav-tab:hover{color:#333;background-color:#f8f9fa}.nav-tab.active{color:#667eea;border-bottom-color:#667eea;background-color:#f8f9ff}.admin-content{max-width:1200px;margin:0 auto;padding:30px 20px 20px;scroll-behavior:smooth}.admin-content::-webkit-scrollbar{width:8px}.admin-content::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.admin-content::-webkit-scrollbar-thumb{background:#c1c1c1;border-radius:4px}.admin-content::-webkit-scrollbar-thumb:hover{background:#a8a8a8}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:300px;gap:20px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.admin-header-content{flex-direction:column;gap:15px;text-align:center}.admin-header h1{font-size:20px}.admin-nav{padding:0 10px}.nav-tab{padding:12px 16px;font-size:14px}.admin-content{padding:20px 10px}}.admin-loading-screen{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;position:fixed;inset:0;z-index:9999}.admin-loading-content{text-align:center;color:#fff;max-width:400px;padding:40px}.admin-loading-logo{margin-bottom:30px}.loading-wave{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.wave{width:12px;height:40px;background:#fff;border-radius:6px;animation:wave 1.4s ease-in-out infinite}.wave:nth-child(1){animation-delay:-.32s}.wave:nth-child(2){animation-delay:-.16s}.wave:nth-child(3){animation-delay:0s}.wave:nth-child(4){animation-delay:.16s}.admin-loading-content h2{font-size:28px;font-weight:600;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.3)}.admin-loading-content p{font-size:16px;opacity:.9;margin-bottom:30px;text-shadow:0 1px 2px rgba(0,0,0,.3)}.loading-progress{width:100%;height:4px;background:#ffffff4d;border-radius:2px;overflow:hidden}.progress-bar{height:100%;background:#fff;border-radius:2px;animation:progress 2s ease-in-out infinite}@keyframes wave{0%,40%,to{transform:scaleY(.4);opacity:.7}20%{transform:scaleY(1);opacity:1}}@keyframes progress{0%{width:0%;transform:translate(-100%)}50%{width:100%;transform:translate(0)}to{width:100%;transform:translate(100%)}}.admin-footer{background:#2c3e50;color:#bdc3c7;text-align:center;padding:15px 0;border-top:1px solid #34495e;position:fixed;bottom:0;left:0;right:0;width:100%;z-index:1000;box-shadow:0 -2px 10px #0000001a}.admin-footer p{margin:0;font-size:14px;font-weight:400;letter-spacing:.5px}.admin-content{max-width:1200px;margin:0 auto;padding:30px 20px 80px;scroll-behavior:smooth}@media (max-width: 768px){.admin-footer{padding:12px 0}.admin-footer p{font-size:12px}.admin-content{padding:30px 20px 70px}}
