html {
    scroll-behavior: smooth;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
}
body {
    font-family: var(--main-font, sans-serif);
    line-height: 1.6;
}
header {
    background-color: var(--primary-color, #0c4a6e) !important;
}
.btn-theme-accent {
    background-color: var(--secondary-color, #f59e0b) !important;
    color: #0f172a !important;
}
.rounded-2xl, .rounded-xl {
    border-radius: var(--border-radius, 0.75rem) !important;
}
#tapaoMap {
    height: 420px;
    width: 100%;
    border-radius: var(--border-radius, 0.75rem);
    z-index: 10;
}
@media (min-width: 1024px) {
    #tapaoMap { height: 560px; }
}
.admin-point-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.35);
    border: 2px solid #ffffff;
    font-size: 17px;
    cursor: pointer;
    transition: transform 0.2s ease;
}
.admin-point-icon:hover {
    transform: scale(1.25);
}
.my-location-pulse {
    position: relative;
    width: 26px;
    height: 26px;
    background: #2563eb;
    border: 3px solid #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 16px rgba(37, 99, 235, 1);
    cursor: grab;
}
.my-location-pulse::after {
    content: '';
    position: absolute;
    top: -15px;
    left: -15px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 4px solid #3b82f6;
    animation: radarPulse 1.6s infinite ease-out;
    opacity: 0.9;
    pointer-events: none;
}
@keyframes radarPulse {
    0% { transform: scale(0.3); opacity: 1; }
    100% { transform: scale(1.7); opacity: 0; }
}
.no-scrollbar::-webkit-scrollbar { display: none; }
.no-scrollbar { -ms-overflow-style: none; scrollbar-width: none; }