.loader-icon { background: url(../img/spinner.gif); height: 14px; width: 14px; background-position: center; background-size: cover; display: inline-block; }

.vxw_manage_forecast_container { clear:both; }
.vxw_manage_forecast_container .vxw_manage_forecast_header { clear:both; margin-bottom:10px; text-align:right; }
.vxw_manage_forecast_container .vxw_manage_forecast_header h2 { text-align:left; font-size:18px; padding-left:10px; }
.vxw_manage_forecast_container .vxw_manage_forecast_header table { width:100%; }
.vxw_manage_forecast_container .vxw_manage_forecast_header table th { vertical-align:top; }
.vxw_manage_forecast_container .vxw_manage_forecast_header table td { vertical-align:top; }
.vxw_manage_forecast_container .vxw_manage_forecast_header table input[type="text"] { width:100%; height:30px; }
.vxw_manage_forecast_container .vxw_manage_forecast_header table input[type="submit"] { width:100px; height:30px; cursor:pointer; padding:10px 20px; line-height:8px; }
.vxw_manage_forecast_container .vxw_manage_forecast_header table input[type="button"] { width:100px; height:30px; cursor:pointer; padding:10px 20px; margin-left:10px; line-height:8px; }
.vxw_manage_forecast_container .vxw_manage_forecast_header > a { text-decoration:none; }
.vxw_manage_forecast_container .vxw_manage_forecast_header > a:hover { text-decoration:none; }
.vxw_manage_forecast_container .vxw_manage_forecast_content { clear:both; }
.vxw_manage_forecast_container .vxw_manage_forecast_content table { width:100%; }
.vxw_manage_forecast_container .vxw_manage_forecast_content table tr { text-align:left; }
.vxw_manage_forecast_container .vxw_manage_forecast_content table tr th { text-align:left; }
.vxw_manage_forecast_container .vxw_manage_forecast_content table tr td { text-align:left; }
.vxw_manage_forecast_container .vxw_manage_forecast_content table tr td a { text-decoration:none; }
.vxw_manage_forecast_container .vxw_manage_forecast_content table tr td a:hover { text-decoration:none; }

.vxw_forecast_container { clear:both; width:100%; float:left; }
.vxw_forecast_container .vxw_forecast_heading { clear: both; width: 100%; float: left; margin-left: 10px; margin-bottom: 20px; font-size: 20px; font-weight: bold; }
.vxw_forecast_col { width:18%; float:left; margin-left:1%; margin-right:1%; margin-bottom:2%; border:1px solid #dddddd; }
.vxw_forecast_col .vxw_forecast_col_section_1 { clear:both; width:100%; float:left; background:#000062; color:#ffffff; text-align:center; height:35px; line-height:35px; text-transform: uppercase; font-size:15px; font-weight:bold; }
.vxw_forecast_col .vxw_forecast_col_section_2 { clear:both; width:100%; float:left; background:#4da8f7; color:#ffffff; text-align:center; height:35px; line-height:35px; font-size:14px; }
.vxw_forecast_col .vxw_forecast_col_section_3 { clear:both; width:100%; float:left; background:#ffffff; color:#000000; text-align:center; border-top:1px solid #dddddd; }
.vxw_forecast_col .vxw_forecast_col_section_3 .vxw_forecast_col_section_3_left { width:50%; float:left; text-align:center; border-right:1px solid #dddddd; }
.vxw_forecast_col .vxw_forecast_col_section_3 .vxw_forecast_col_section_3_left label { text-align:center; width:100%; display: block; height:30px; line-height:40px; font-size:15px; font-weight:bold; }
.vxw_forecast_col .vxw_forecast_col_section_3 .vxw_forecast_col_section_3_left span { text-align:center; width:100%; display: block; height:30px; font-size:15px; }
.vxw_forecast_col .vxw_forecast_col_section_3 .vxw_forecast_col_section_3_right { width:50%; float:left; text-align:center; }
.vxw_forecast_col .vxw_forecast_col_section_3 .vxw_forecast_col_section_3_right label { text-align:center; width:100%; display: block; height:30px; line-height:40px; font-size:15px; font-weight:bold; }
.vxw_forecast_col .vxw_forecast_col_section_3 .vxw_forecast_col_section_3_right span { text-align:center; width:100%; display: block; height:30px; font-size:15px; }
.vxw_forecast_col .vxw_forecast_col_section_4 { clear:both; width:100%; float:left; background:#f6f6f6; color:#000000; text-align:center; border-top:1px solid #dddddd; }
.vxw_forecast_col .vxw_forecast_col_section_4 .vxw_forecast_col_section_4_left { width:50%; float:left; text-align:center; border-right:1px solid #dddddd; }
.vxw_forecast_col .vxw_forecast_col_section_4 .vxw_forecast_col_section_4_left label { text-align:center; width:100%; display: block; height:30px; line-height:40px; font-size:13px; font-weight:bold; }
.vxw_forecast_col .vxw_forecast_col_section_4 .vxw_forecast_col_section_4_left span { text-align:center; width:100%; display: block; height:30px; font-size:13px; }
.vxw_forecast_col .vxw_forecast_col_section_4 .vxw_forecast_col_section_4_right { width:50%; float:left; text-align:center; }
.vxw_forecast_col .vxw_forecast_col_section_4 .vxw_forecast_col_section_4_right label { text-align:center; width:100%; display: block; height:30px; line-height:40px; font-size:13px; font-weight:bold; }
.vxw_forecast_col .vxw_forecast_col_section_4 .vxw_forecast_col_section_4_right span { text-align:center; width:100%; display: block; height:30px; font-size:13px; }
.vxw_forecast_container .vxw_forecast_not_found { clear: both; width: 100%; float: left; margin-left: 10px; font-size: 15px; }

/* Enhanced Form Styling */
.vxw-form-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

.vxw-form-table td {
	padding: 15px 10px;
	vertical-align: top;
	border-bottom: 1px solid #eee;
}

.vxw-form-label {
	width: 25%;
	font-weight: 600;
	color: #333;
}

.vxw-form-input {
	width: 75%;
}

.vxw-form-input input[type="text"] {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	transition: border-color 0.3s ease;
}

.vxw-form-input input[type="text"]:focus {
	outline: none;
	border-color: #4da8f7;
	box-shadow: 0 0 0 2px rgba(77, 168, 247, 0.2);
}

.vxw-form-buttons {
	text-align: left;
}

/* Button Styling */
.vxw-button-primary,
.vxw-button-secondary {
	padding: 10px 20px;
	border: none;
	border-radius: 4px;
	font-size: 14px;
	cursor: pointer;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
	margin-right: 10px;
}

.vxw-button-primary {
	background-color: #4da8f7;
	color: white;
}

.vxw-button-primary:hover {
	background-color: #2c89e6;
	color: white;
}

.vxw-button-secondary {
	background-color: #f8f9fa;
	color: #333;
	border: 1px solid #ddd;
}

.vxw-button-secondary:hover {
	background-color: #e9ecef;
	border-color: #adb5bd;
	color: #333;
}

.vxw-add-new-link {
	display: inline-block;
	padding: 10px 20px;
	background-color: #4da8f7;
	color: white !important;
	text-decoration: none;
	border-radius: 4px;
	font-weight: 600;
	transition: background-color 0.3s ease;
}

.vxw-add-new-link:hover {
	background-color: #2c89e6;
	color: white !important;
}

/* Location Container - Simplified */
.vxw-location-container {
	width: 100%;
}

.vxw-form-input input[type="text"] {
	width: 100%;
	padding: 8px 12px;
	border: 1px solid #ddd;
	border-radius: 4px;
	font-size: 14px;
	transition: border-color 0.3s ease;
}

/* Google Maps Styling */
.vxw-map-container-cell {
	padding: 20px 10px !important;
	background-color: #f8f9fa;
	border-radius: 8px;
}

.vxw-map-header {
	margin-bottom: 15px;
}

.vxw-map-header h4 {
	margin: 0 0 8px 0;
	color: #333;
	font-size: 16px;
	font-weight: 600;
}

.vxw-map-instructions {
	margin: 0 0 15px 0;
	color: #666;
	font-size: 14px;
	line-height: 1.4;
}

.vxw-google-map {
	width: 100%;
	height: 400px;
	border: 1px solid #ddd;
	border-radius: 8px;
	position: relative;
	overflow: hidden;
}

.vxw-google-map.vxw-loading::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.8) url(../img/spinner.gif) center center no-repeat;
	background-size: 32px 32px;
	z-index: 1000;
}

/* Map Messages */
.vxw-map-message {
	padding: 10px 15px;
	margin: 10px 0;
	border-radius: 4px;
	font-size: 14px;
	display: flex;
	align-items: center;
}

.vxw-map-message-success {
	background-color: #d4edda;
	color: #155724;
	border: 1px solid #c3e6cb;
}

.vxw-map-message-info {
	background-color: #cce7ff;
	color: #004085;
	border: 1px solid #b3d7ff;
}

.vxw-map-message-error {
	background-color: #f8d7da;
	color: #721c24;
	border: 1px solid #f5c6cb;
}

.vxw-map-message::before {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 8px;
	background-size: contain;
}

.vxw-map-message-success::before {
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23155724"><path d="M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z"/></svg>');
}

.vxw-map-message-info::before {
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23004085"><path d="M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16zm.93-9.412-1 4.705c-.07.34.029.533.304.533.194 0 .487-.07.686-.246l-.088.416c-.287.346-.92.598-1.465.598-.703 0-1.002-.422-.808-1.319l.738-3.468c.064-.293.006-.399-.287-.47l-.451-.081.082-.381 2.29-.287zM8 5.5a1 1 0 1 1 0-2 1 1 0 0 1 0 2z"/></svg>');
}

.vxw-map-message-error::before {
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" fill="%23721c24"><path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14zm0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16z"/><path d="M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708z"/></svg>');
}

/* Performance Optimizations */
.vxw-google-map img {
	max-width: none !important;
}

.vxw-google-map .gm-style-cc {
	display: none;
}

/* Responsive Design */
@media only screen and (max-width: 768px) {
	.vxw_forecast_col { width:31%; }

	.vxw-form-table td {
		display: block;
		width: 100%;
		padding: 10px 0;
	}

	.vxw-form-label {
		width: 100%;
		padding-bottom: 5px;
		font-weight: 600;
	}

	.vxw-form-input {
		width: 100%;
	}

	.vxw-google-map {
		height: 300px;
	}

	.vxw-form-buttons {
		text-align: center;
	}

	.vxw-button-primary,
	.vxw-button-secondary {
		margin: 5px;
		display: inline-block;
	}
}

@media only screen and (max-width: 480px) {
	.vxw_forecast_col { width:48%; }

	.vxw-google-map {
		height: 250px;
	}

	.vxw-button-primary,
	.vxw-button-secondary {
		width: 100%;
		margin: 5px 0;
	}
}

@media only screen and (max-width: 320px) {
	.vxw_forecast_col { width:98%; }

	.vxw-google-map {
		height: 200px;
	}
}