/**
 * jgwa_website_analytics
*/
/*
Colours:
#368B38 Green
#fe7404 Orange
#009eef Blue
#E02222 Red or crimson
#666 Grey
#fff0dd cream
*/

@supports (display: grid) {

	.jgwa_website_analytics #wpwrap .jg_container12 {display: grid; grid-template-columns: repeat(12, 1fr);}
    .jgwa_website_analytics .dropdown_group {display: grid; grid-template-columns: repeat(3, 1fr) 10px; }
	
	.jgwa_website_analytics hr {grid-column: 1 / 13; margin: 20px 0 10px; width: 100%;}
	.jgwa_website_analytics .full_width {grid-column: 1 / -1;}
	.jgwa_website_analytics .full_half1 {grid-column: 1 / 7;}
	.jgwa_website_analytics .full_half2 {grid-column: 7 / 13;}
	.jgwa_website_analytics .sub_button .last {grid-column: -2 / -1; }
	.jgwa_website_analytics .jg_container2 {display: grid; grid-template-columns: repeat(2, 1fr);}
	.jgwa_website_analytics .jg_container3 {display: grid; grid-template-columns: repeat(3, 1fr);}
	.jgwa_website_analytics .jg_container4 {display: grid; grid-template-columns: repeat(4, 1fr);}
	.jgwa_website_analytics .jg_container12 .half1 {grid-column: 2 / 7; text-align: center; padding-right: 2%;}
	.jgwa_website_analytics .jg_container12 .half1 img {max-width: 100%; position: relative; top: 50%; transform: translateY(-50%);}
	.jgwa_website_analytics .jg_container12 .half1 p {text-align: justify;}
	.jgwa_website_analytics .jg_container12 .half2 {grid-column: 7 / 12; padding-left: 2%;}
	.jgwa_website_analytics .jg_container12 .chosen-container {grid-column: 7 / 12; width: 100% !important;}
	.jgwa_website_analytics .jg_container12 .mt-2 {grid-column: 7 / 12;}/*Multi select*/
	.jgwa_website_analytics .jg_container12 .half2 img {max-width: 100%; position: relative; top: 50%; transform: translateY(-50%);}
	.jgwa_website_analytics .jg_container12 .half2 p {text-align: justify;}
	.jgwa_website_analytics .jg_container12 .half2.colour {width: 100px; height: 50px; border: unset;}
	.jgwa_website_analytics .jg_container12 .centre {grid-column: 3 / -3;}
	.jgwa_website_analytics .jg_container12 .centre img {max-width: 100%; position: relative; top: 50%; transform: translateY(-50%);}
	.jgwa_website_analytics .jg_container13 {display: grid; grid-template-columns: repeat(13, 1fr);}
	
	.jgwa_website_analytics .admin_panel h1, .jgwa_website_analytics .admin_panel h2, .jgwa_website_analytics .admin_panel h3 {grid-column: 1 / 13; text-align: center; font-weight: 100; font-size: 26px;}
	.jgwa_website_analytics .admin_panel {grid-column: 1 / 13; }
	.jgwa_website_analytics .admin_panel form label {grid-column: 1 / 5; margin-bottom: 20px; cursor: initial;}
	.jgwa_website_analytics .admin_panel form input, .jgwa_website_analytics .admin_panel form textarea, .jgwa_website_analytics .admin_panel form .tox {grid-column: 7 / 12; margin-bottom: 20px; line-height: 28px;}/*tox = wysiwyg*/
	.jgwa_website_analytics .admin_panel form .admin_form_small {grid-column: 7 / 8; height: 42px;}
	.jgwa_website_analytics .admin_panel form input[type=checkbox] {margin: 0 auto; grid-column: 7 / 8; width: 1.5rem; height: 1.5rem; margin-bottom: 20px;}
	.jgwa_website_analytics .admin_panel form input[type=checkbox]::before {width: 1.5rem; height: 1.5rem; margin: -0.06rem 0 0 -0.06rem;}
	.jgwa_website_analytics .admin_form_desc {grid-column: 8 / 13; padding-left: 10px; margin-bottom: 20px; line-height: 1;}
	.jgwa_website_analytics #setting-error-settings-updated {grid-column: 1 / 13; background-color: #368B38; color: #fff; border: unset;}
	.jgwa_website_analytics .notice-dismiss {color: #fff;}
	.jgwa_website_analytics .span1 {grid-column: span 1;}
	.jgwa_website_analytics .span2 {grid-column: span 2;}
	.jgwa_website_analytics .span3 {grid-column: span 3;}
	.jgwa_website_analytics .span4 {grid-column: span 4;}
    .jgwa_website_analytics .gap20 {gap: 20px;}

    .jgwa_website_analytics .dropdown_group select, .jgwa_website_analytics .admin_panel form .dropdown_group input {grid-column: unset;}
    .jgwa_website_analytics .jg_dashboard p {grid-column: 3 / -3; text-align: center;}

}
.jgwa_website_analytics hr {margin: 40px 0;}

/* Fields and Buttons */
.jgwa_website_analytics input:focus,
.jgwa_website_analytics .chosen-container-active .chosen-choices,
.jgwa_website_analytics select:focus,
.jgwa_website_analytics div.dt-container .dt-search input:focus {
    border: 1px solid #2472ab;
    box-shadow: 0 0 4px rgba(0, 0, 0, .3);
}
.jgwa_website_analytics .button,
.jgwa_website_analytics button,
.jgwa_website_analytics .button-primary,
.jgwa_website_analytics .button-secondary
{font-size: initial;}

/* Notices */
.jgwa_website_analytics .notice-success,
.jgwa_website_analytics .notice-updated,
.jgwa_website_analytics .notice-error {top: 92px}

/* GeoIP missing notice rendered inside the template (sidesteps admin_notices filtering).
   Mirrors the filter-container spacing so it sits flush below the fixed header. */
.jgwa_website_analytics .jgwa-top-notice {
    margin: 68px 2% 8px;
}
.jgwa_website_analytics .jgwa-top-notice + #jg_tabs {
    margin-top: 20px;
}
.jgwa_website_analytics .jgwa-top-notice + .jgwa-filter-container {
    margin-top: 8px;
}

.jgwa_website_analytics .jg_header {
    background: #fff;
    box-sizing: border-box;
    position: fixed;
    width: calc(100% - 160px);
    top: 32px;
    z-index: 1001;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 20px;
    box-shadow: 0 8px 8px 0 rgba(85, 93, 102, .3);
}

.jgwa_website_analytics .admin_header_logo img {
    max-width: 150px;
    height: 50px;
}

.jgwa_website_analytics .admin_header_pluginName {
    flex: 1;
    text-align: center;
    font-size: 24px;
    margin: 0 20px;
}

.jgwa_website_analytics .🦒_version {
    font-size: 0.7rem;
    position: relative;
    top: 20px;
}

.jgwa_website_analytics .admin_panel .grid_table {padding: 5px 3%; text-align: center;}
.jgwa_website_analytics .admin_panel .cell {border-right: 1px solid #cbcbcb; border-bottom: 1px solid #cbcbcb; word-break: break-word;}

.jgwa_website_analytics #wpcontent {padding: 0;}
.jgwa_website_analytics #🦒_website_analytics_table {font-size: 14px;}
.jgwa_website_analytics .center {text-align: center;}
.jgwa_website_analytics .shadow_box {background-color: #fff; padding: 10px; box-shadow: 0 2px 5px 0 rgb(0 0 0 / 20%), 0 5px 20px 0 rgb(0 0 0 / 20%); border: 1px solid #ccc7c7; margin-bottom: 30px;}
.jgwa_website_analytics .shadow_tab {background-color: #fff; box-shadow: 0 2px 5px 0 rgb(0 0 0 / 20%), 0 5px 20px 0 rgb(0 0 0 / 20%); border: 1px solid #ccc7c7; border-bottom: none; width: fit-content;}

/*Buttons*/
.jgwa_website_analytics .admin_panel .🦒_button {position: absolute; color: #fe7404; padding: 5px 10px; text-decoration: auto; width: fit-content; height: fit-content;}
.jgwa_website_analytics .admin_panel .🦒_button:hover {color: #fff; background-color: #fe7404; box-shadow: 0 2px 5px 0 rgb(0 0 0 / 20%), 0 5px 20px 0 rgb(0 0 0 / 20%);}
.🦒_button_container a[target='_blank'] {position: relative;}
.🦒_button_container a[target='_blank']:after {
     position: absolute;
     top: 3px;
     right: -15px;
     content: 'f855';
     font-size: 13px;
     color: #fe7404;
     line-height: 3px;
     height: 5px;
     width: 5px;
     border-right: 2px solid white;
     border-top: 2px solid white;
}
.🦒_button_container a[target='_blank']:before {
     position: absolute;
     top: 4px;
     right: -15px;
     content: ' ';
     border: 1px solid #fe7404;
     width: 10px;
     height: 10px;
}

/* START Tabs */
.jgwa_website_analytics #jg_tabs {
    display: inline-block;
    width: 96%;
    padding-top: 0;
    margin-top: 110px;
    margin-left: 2%;
}

.jgwa_website_analytics .ui-tabs {
    position: relative;
    padding: unset;
    font-size: initial;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-nav {
    margin: 0;
    padding: unset;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-nav li {
    list-style: none;
    float: left;
    position: relative;
    top: 0;
    border-bottom-width: 0;
    padding: 0;
    white-space: nowrap;
    border-color: #e0e0e0;
    height: 29px;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-nav li:hover {
    background-color: #f0f0f0;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-nav li.ui-tabs-active {
    margin-bottom: -1px;
    padding-bottom: 1px;
    box-shadow: inset 0 4px 0 #1776a6;
}

.jgwa_website_analytics .wp-person a:focus .gravatar,
.jgwa_website_analytics a:focus,
.jgwa_website_analytics a:focus .media-icon img,
.jgwa_website_analytics a:focus .plugin-icon {
    box-shadow: unset;
    outline: unset;
}

.jgwa_website_analytics .ui-state-default,
.jgwa_website_analytics .ui-widget-content .ui-state-default,
.jgwa_website_analytics .ui-widget-header .ui-state-default,
.jgwa_website_analytics .ui-button,
.jgwa_website_analytics .ui-button.ui-state-disabled:hover,
.jgwa_website_analytics .ui-button.ui-state-disabled:active {
    border: 1px solid #c5c5c5;
    background: #f8f9fb;
    font-weight: normal;
}

.jgwa_website_analytics .ui-state-active,
.jgwa_website_analytics .ui-widget-content .ui-state-active,
.jgwa_website_analytics .ui-widget-header .ui-state-active,
.jgwa_website_analytics a.ui-button:active,
.jgwa_website_analytics .ui-button:active,
.jgwa_website_analytics .ui-button.ui-state-active:hover {
    border: 1px solid #f0f0f0;
    background: #f0f0f0;
    font-weight: normal;
    color: #ffffff;
}

.jgwa_website_analytics .ui-state-active a,
.jgwa_website_analytics .ui-state-active a:link,
.jgwa_website_analytics .ui-state-active a:visited {
    text-decoration: none;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-nav .ui-tabs-anchor {
    float: left;
    padding: .5em 1em;
    text-decoration: none;
    color: #454545;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,
.jgwa_website_analytics .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,
.jgwa_website_analytics .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor {
    cursor: text;
}

.jgwa_website_analytics .ui-tabs .ui-tabs-panel {
    display: block;
    border-width: 0;
    padding: 1em 1.4em;
    background: none;
 /*   border: 1px solid #c5c5c5;*/
}

.jgwa_website_analytics .ui-widget-content {
    color: #333333;
    background: #ffffff;
}

.jgwa_website_analytics .ui-widget-content p {
    font-size: initial;
    line-height: 1.5;
    margin: 1em 0;
}

.jgwa_website_analytics .ui-widget-header {
    background: #f0f0f0;
    color: #333333;
    font-weight: bold;
    height: 30px;
}
/* END Tabs */

/* Dropdowns */
.jgwa_website_analytics .jgwa_fixed_dropdowns {
    width: 102px;
}

/* Multiple selectors - chosen */
.jgwa_website_analytics .chosen-container-multi .chosen-choices {background-image: unset; border-radius: 3px; max-height: 30px;}
.jgwa_website_analytics .chosen-container-multi .chosen-choices li.search-choice {background-color: #2472ab; color: #fff; border: 1px solid #034b7e; margin: 2px 5px 1px 0;}

/*Table*/
.jgwa_website_analytics .admin_panel .dataTable {width: 100% !important;}
.jgwa_website_analytics .admin_panel .dataTable .change_bg {background-color: #fff0dd !important; font-weight: 400;}
.jgwa_website_analytics .admin_panel .dataTable .odd {background-color: #f2f2f2; font-weight: 400;}
.jgwa_website_analytics .admin_panel .dataTable .even {font-weight: 400;}
.jgwa_website_analytics .admin_panel .dataTable th  {text-align: center;}
.jgwa_website_analytics .admin_panel .dataTable td {text-align: left;}
.jgwa_website_analytics .admin_panel .dataTable td .jgwa_button_status,
.jgwa_website_analytics .admin_panel .dataTable td .jgwa_button_edit,
.jgwa_website_analytics .admin_panel .dataTable td .jgwa_button_delete
 {text-align: center;}
.jgwa_website_analytics table thead tr {background-color: #f8f9fb;}
.jgwa_website_analytics #jgwa_saved_table_wrapper select,
.jgwa_website_analytics #jgwa_saved_table_columns_wrapper select
{width: 55px;min-width: 55px; margin-bottom: 0px;}
.jgwa_website_analytics #jgwa_saved_table_columns_wrapper .dt-scroll-headInner, #jgwa_saved_table_columns_wrapper .dataTable {width: 100% !important;}
.jgwa_website_analytics div.dt-container .dt-search input {
    line-height: 18px;
    padding: 1px 5px;
}

.jgwa_website_analytics select {
    line-height: unset;
    min-width: 160px;
    margin-bottom: 20px;
}

.jgwa_website_analytics .dt-length select {min-width: 50px;}

.jgwa_website_analytics .dt-layout-row .dt-length {height: 30px;}
.jgwa_website_analytics .dt-layout-row .dt-length label {display: none;}

.jgwa_website_analytics .table_3_cells {
    width: 31%;
    float: left;
    margin: 0 1%;
}
.jgwa_website_analytics .table_3_cells_container hr {display: none;}
.jgwa_website_analytics div.dt-container div.dt-layout-cell.dt-start {width: 40%;}

/* Popup */
.jgwa_popup .lightbox {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, .8);
	z-index: 10000;
}
.jgwa_popup .lightbox_table {width:100%; height:100%;}
.jgwa_popup .lightbox_table_cell {vertical-align:middle;}
.jgwa_popup #lightbox_content {width:60%; background-color:white; border: 2px solid #1776a6; border-radius: 10px; padding: 2%;}

/* Admin Page */
.jgwa_website_analytics .admin_live {text-align: center;}
.jgwa_website_analytics .admin_live span {font-size: 30px;}
.jgwa_website_analytics .admin_live p {font-size: 10px; margin: 0;}
.jgwa_website_analytics #admin_graph {min-height: 400px;}
/* Live sessions container */
.jgwa_website_analytics .jgwa-live-sessions-container {
    background-color: #f8f9fb;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    overflow: hidden;
    margin-bottom: 10px;
}
.jgwa_website_analytics .jgwa-live-sessions-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background-color: #fff;
    border-bottom: 2px solid #fe7404;
    font-size: 0.85rem;
    font-weight: 600;
    color: #333;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}
@keyframes jgwa-live-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50%       { opacity: 0.4; transform: scale(0.75); }
}
.jgwa_website_analytics .jgwa-live-dot {
    display: inline-block;
    width: 9px;
    height: 9px;
    background-color: #fe7404;
    border-radius: 50%;
    flex-shrink: 0;
    animation: jgwa-live-pulse 1.6s ease-in-out infinite;
}
.jgwa_website_analytics .jgwa-live-sessions-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}
.jgwa_website_analytics .jgwa-live-sessions-table th {
    text-align: left;
    padding: 7px 14px;
    font-size: 0.78rem;
    font-weight: 600;
    color: #555;
    background-color: #f0f2f4;
    border-bottom: 1px solid #ddd;
}
.jgwa_website_analytics .jgwa-live-sessions-table th:not(:first-child) {
    border-left: 1px solid #ddd;
}
.jgwa_website_analytics .jgwa-live-sessions-table td {
    padding: 6px 14px;
    vertical-align: top;
    word-break: break-all;
    border-bottom: 1px solid #ebebeb;
}
.jgwa_website_analytics .jgwa-live-sessions-table td:not(:first-child) {
    border-left: 1px solid #ebebeb;
}
.jgwa_website_analytics .jgwa-live-sessions-table tbody tr:nth-child(even) td {
    background-color: #fafafa;
}
.jgwa_website_analytics .jgwa-live-sessions-table tbody tr:hover td {
    background-color: #fff0dd;
}
.jgwa_website_analytics .jgwa-live-no-sessions {
    text-align: center;
    color: #999;
    font-style: italic;
    padding: 16px !important;
}
.jgwa_website_analytics #🦒_date_selector select,
.jgwa_website_analytics #🦒_date_selector input[type=checkbox] {margin: 0;}

.jgwa_website_analytics .jg_admin_info {}

/* Dashboard */
.jgwa_website_analytics .jg_container {
    background-color: #fff;
    padding: 10px;
    border: 1px solid #ccc7c7;
    display: inline-block;
    width: 95%;
    margin: 92px 0 0 2%;
}

.jgwa_website_analytics .jg_dashboard_section {
    margin-top: 20px;
    font-size: initial;
}

.jgwa_website_analytics .jg_dashboard h2,
.jgwa_website_analytics .jg_dashboard_section h2 {
    text-align: center;
    font-weight: 400;
    font-size: 23px;
}

.jgwa_website_analytics .jg_dashboard p,
.jgwa_website_analytics .jg_dashboard_section p {
    font-size: 16px;
}

.jgwa_website_analytics .jg_dashboard_section .half1.jg_dashboard_section_label {
    text-align: right;
}

.jgwa_website_analytics .jg_dashboard_section .jg_dashboard_section_data_ {
    text-align: left;
    font-size: 20px;
}

@media (max-width: 1200px) {
    .jgwa_website_analytics .table_3_cells {
        width: 100%;
        margin: 0;
    }
    .jgwa_website_analytics .table_3_cells_container hr {display: block; float: left;}

}

@media (max-width: 960px) {
    .jgwa_website_analytics .jg_header {width: calc(100% - 38px);}
	.jgwa_website_analytics .admin_header_pluginName {font-size:18px;}
	.jgwa_website_analytics .admin_panel form input, .jgwa_website_analytics .admin_panel form textarea {grid-column: 6 / 13;}
	.jgwa_website_analytics .admin_panel form .admin_form_small {grid-column: 10 / 13;}
	.jgwa_website_analytics .admin_form_desc {grid-column: 1 / 13;}

}
@media (max-width: 782px) {
    .jgwa_website_analytics .jg_header {width: 100%}

    .jgwa_website_analytics .jgwa-filter-container {
        top: 112px; /* 46px mobile admin bar + ~66px header */
    }
}
@media (max-width: 644px) {
	
	@supports (display: grid) {
		.jgwa_website_analytics .jg_container4 .half1 {grid-column: 1 / 3;}
		.jgwa_website_analytics .jg_container4 .half2 {grid-column: 3 / 5;}
		.jgwa_website_analytics .jg_container12 .half2 {grid-column: 1 / 13; width: 100%; padding-left: 0;}
		.jgwa_website_analytics .jg_container12 .full_half1 {grid-column: 1 / 13; width: 100%;}
		.jgwa_website_analytics .admin_panel .form_radio {grid-column: 1 / 9; padding-right: 2%;}
		.jgwa_website_analytics .admin_panel input[type='radio'] {grid-column: 9 / 12; padding-left: 2%;}
		
		.jgwa_website_analytics .admin_panel form input, .jgwa_website_analytics .admin_panel form textarea, .jgwa_website_analytics .admin_panel form .tox {grid-column: 1 / 13;}/*tox = wysiwyg*/
        .jgwa_website_analytics .admin_panel form input[type=checkbox] {grid-column: 11 / 12;}.jgwa_website_analytics .jg_container12 .half1 {grid-column: 3 / 11;}
	}
	.jgwa_website_analytics .noMob {display: none;}
	.jgwa_website_analytics .admin_header_logo img {height: 50px;}
	.jgwa_website_analytics .admin_panel h1, .jgwa_website_analytics .admin_panel h2, .jgwa_website_analytics .admin_panel h3 {font-weight: 400; color: #626262;}
	.jgwa_website_analytics .jg_container12 .half2.colour {width: 100%; height: 90px; padding-left: 0;}
	.jgwa_website_analytics .admin_panel .saved_buttons {width: 100%; padding-bottom: 10px;}
    .jgwa_website_analytics .ui-tabs .ui-tabs-nav li {font-size: 14px;}
	.jgwa_popup #lightbox_content {width:85%;}
    .jgwa_website_analytics select[multiple] {width: 100%;}
    .jgwa_website_analytics select[multiple] option {padding-left: 10px;}
    .jgwa_website_analytics select {min-width: 48%;  width: 48%;}
    .jgwa_website_analytics .admin_panel .dataTable th {text-align: left;}
    .jgwa_website_analytics .jgwa-live-sessions-table td:not(:first-child) {display: none;}
}
@media (max-width: 480px) {
}
@media (max-width: 360px) {
}

/* Filter Chips */
.jgwa_website_analytics .jgwa-filter-container {
    background-color: #fff0dd;
    padding: 12px 20px;
    margin: 68px 2% 0;
    box-shadow: 0 2px 5px 0 rgb(0 0 0 / 20%), 0 5px 20px 0 rgb(0 0 0 / 20%);
    position: sticky;
    top: 98px; /* 32px WP admin bar + ~66px plugin header */
    z-index: 1000;
}

.jgwa_website_analytics .jgwa-filter-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.jgwa_website_analytics .jgwa-filter-chip {
    display: inline-flex;
    align-items: center;
    background-color: #fe7404;
    color: #fff;
    padding: 6px 12px;
    font-size: 13px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.2);
}

.jgwa_website_analytics .jgwa-filter-chip strong {
    margin-right: 4px;
}

.jgwa_website_analytics .jgwa-filter-remove {
    margin-left: 8px;
    color: #fff;
    text-decoration: none;
    font-weight: bold;
    font-size: 16px;
    line-height: 1;
    opacity: 0.8;
}

.jgwa_website_analytics .jgwa-filter-remove:hover {
    opacity: 1;
    color: #fff;
}

.jgwa_website_analytics .jgwa-clear-all {
    display: inline-block;
    padding: 6px 12px;
    border: 2px solid #fe7404;
    color: #fe7404;
    text-decoration: none;
    font-size: 13px;
    font-weight: 500;
    margin-left: 8px;
    background: #fff;
}

.jgwa_website_analytics .jgwa-clear-all:hover {
    background-color: #fe7404;
    color: #fff;
}

/* Adjust tabs margin when filters are present */
.jgwa_website_analytics .jgwa-filter-container + #jg_tabs {
    margin-top: 20px;
}

/* Annotations Styles */
.jgwa_website_analytics .jgwa-annotation-form-container {
    background-color: #f8f9fb;
    padding: 20px;
    margin: 20px 0;
    border: 1px solid #e0e0e0;
}

.jgwa_website_analytics .jgwa-annotation-form-container h3,
.jgwa_website_analytics .jgwa-annotations-list-container h3 {
    margin: 0 0 15px 0;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.jgwa_website_analytics .jgwa-annotation-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.jgwa_website_analytics .jgwa-form-row {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.jgwa_website_analytics .jgwa-form-row label {
    font-weight: 500;
    color: #333;
    font-size: 13px;
}

.jgwa_website_analytics .jgwa-form-row .jgwa-hint {
    font-weight: normal;
    color: #666;
    font-size: 11px;
}

.jgwa_website_analytics .jgwa-form-row input[type="text"],
.jgwa_website_analytics .jgwa-form-row input[type="date"],
.jgwa_website_analytics .jgwa-form-row textarea {
    padding: 8px 12px;
    border: 1px solid #ccc;
    font-size: 14px;
    line-height: 1.4;
    margin-bottom: 0;
}

.jgwa_website_analytics .jgwa-form-row textarea {
    resize: vertical;
    min-height: 60px;
}

.jgwa_website_analytics .jgwa-color-picker {
    display: flex;
    align-items: center;
    gap: 10px;
}

.jgwa_website_analytics .jgwa-form-row input[type="color"] {
    width: 50px;
    height: 36px;
    padding: 2px;
    border: 1px solid #ccc;
    cursor: pointer;
}

.jgwa_website_analytics .jgwa-color-presets {
    display: flex;
    gap: 5px;
}

.jgwa_website_analytics .jgwa-color-preset {
    width: 24px;
    height: 24px;
    border: 2px solid #fff;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0,0,0,0.3);
    padding: 0;
}

.jgwa_website_analytics .jgwa-color-preset:hover {
    transform: scale(1.1);
}

.jgwa_website_analytics .jgwa-form-buttons {
    grid-column: 1 / -1;
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.jgwa_website_analytics .jgwa-form-buttons .button-primary {
    background-color: #fe7404;
    border-color: #e06800;
}

.jgwa_website_analytics .jgwa-form-buttons .button-primary:hover {
    background-color: #e06800;
    border-color: #c05a00;
}

.jgwa_website_analytics .jgwa-annotations-list-container {
    margin-top: 20px;
}

.jgwa_website_analytics .jgwa-no-annotations {
    text-align: center;
    color: #666;
    font-style: italic;
    padding: 20px;
    background-color: #f8f9fb;
    border: 1px dashed #ccc;
}

.jgwa_website_analytics #jgwa-annotations-table {
    width: 100%;
}

.jgwa_website_analytics #jgwa-annotations-table th {
    text-align: left;
    background-color: #f8f9fb;
}

.jgwa_website_analytics .jgwa-color-indicator {
    display: inline-block;
    width: 20px;
    height: 20px;
    border: 1px solid #ccc;
    vertical-align: middle;
}

.jgwa_website_analytics .jgwa-annotation-actions {
    white-space: nowrap;
}

.jgwa_website_analytics .jgwa-annotation-actions .button {
    padding: 2px 8px;
    font-size: 12px;
    margin-right: 5px;
}

.jgwa_website_analytics .jgwa-delete-annotation {
    color: #a00;
    border-color: #a00;
}

.jgwa_website_analytics .jgwa-delete-annotation:hover {
    background-color: #a00;
    color: #fff;
    border-color: #a00;
}

.jgwa_website_analytics .jgwa-annotation-message {
    padding: 10px 15px;
    margin: 10px 0;
    border-left: 4px solid;
}

.jgwa_website_analytics .jgwa-annotation-message.success {
    background-color: #d4edda;
    border-color: #368B38;
    color: #155724;
}

.jgwa_website_analytics .jgwa-annotation-message.error {
    background-color: #f8d7da;
    border-color: #E02222;
    color: #721c24;
}

/* Annotation hover tooltip on graph */
.jgwa-annotation-tooltip {
    display: none;
    position: absolute;
    transform: translate(-50%, -100%);
    background-color: #333;
    color: #fff;
    padding: 6px 10px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.4;
    max-width: 250px;
    white-space: normal;
    pointer-events: none;
    z-index: 100000;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
}

@media (max-width: 768px) {
    .jgwa_website_analytics .jgwa-annotation-form {
        grid-template-columns: 1fr;
    }

    .jgwa_website_analytics .jgwa-annotation-actions .button {
        display: block;
        margin-bottom: 5px;
    }
}

/* ============================================
   Date Range Picker Styles
   @since 0.4.0
   ============================================ */

.jgwa_website_analytics .jgwa-date-selector-container {
    background-color: #f8f9fb;
    padding: 15px 20px;
    margin-bottom: 20px;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.jgwa_website_analytics #🦒_date_selector {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

/* Preset Buttons */
.jgwa_website_analytics .jgwa-preset-buttons {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.jgwa_website_analytics .jgwa-preset-btn {
    padding: 8px 16px;
    font-size: 13px;
    font-weight: 500;
    background-color: #fff;
    border: 2px solid #ccc;
    color: #333;
    cursor: pointer;
    transition: all 0.2s ease;
    border-radius: 4px;
}

.jgwa_website_analytics .jgwa-preset-btn:hover {
    border-color: #fe7404;
    color: #fe7404;
}

.jgwa_website_analytics .jgwa-preset-btn.active {
    background-color: #fe7404;
    border-color: #fe7404;
    color: #fff;
}

/* Custom Date Range Section */
.jgwa_website_analytics .jgwa-custom-date-range {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.jgwa_website_analytics .jgwa-date-separator {
    color: #666;
    font-size: 13px;
    padding: 0 5px;
}

.jgwa_website_analytics .jgwa-date-inputs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.jgwa_website_analytics .jgwa-date-inputs input[type="date"] {
    padding: 6px 10px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 4px;
    min-width: 140px;
    margin-bottom: 0;
    line-height: 1.4;
}

.jgwa_website_analytics .jgwa-date-inputs input[type="date"]:focus {
    border-color: #2472ab;
    box-shadow: 0 0 4px rgba(0, 0, 0, 0.2);
    outline: none;
}

.jgwa_website_analytics .jgwa-date-to {
    color: #666;
    font-size: 13px;
    padding: 0 2px;
}

.jgwa_website_analytics #jgwa-apply-custom {
    padding: 6px 14px;
    font-size: 13px;
    background-color: #fe7404;
    border-color: #e06800;
    color: #fff;
}

.jgwa_website_analytics #jgwa-apply-custom:hover {
    background-color: #e06800;
    border-color: #c05a00;
}

.jgwa_website_analytics .jgwa-date-hint {
    font-size: 11px;
    color: #888;
    font-style: italic;
    display: block;
    width: 100%;
    margin-top: 5px;
}

/* Annotation checkbox styling */
.jgwa_website_analytics .jgwa-annotation-toggle {
    display: flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
}

.jgwa_website_analytics .jgwa-annotation-toggle input[type="checkbox"] {
    margin: 0;
}

.jgwa_website_analytics .jgwa-annotation-toggle label {
    font-size: 13px;
    color: #666;
    cursor: pointer;
}

/* Responsive Styles for Date Picker */
@media (max-width: 960px) {
    .jgwa_website_analytics .jgwa-date-selector-container {
        padding: 12px 15px;
    }

    .jgwa_website_analytics #🦒_date_selector {
        flex-direction: column;
        align-items: flex-start;
    }

    .jgwa_website_analytics .jgwa-preset-buttons {
        width: 100%;
        justify-content: flex-start;
    }

    .jgwa_website_analytics .jgwa-custom-date-range {
        width: 100%;
        flex-direction: column;
        align-items: flex-start;
    }

    .jgwa_website_analytics .jgwa-date-inputs {
        width: 100%;
        flex-wrap: wrap;
    }

    .jgwa_website_analytics .jgwa-annotation-toggle {
        margin-left: 0;
        margin-top: 10px;
    }
}

@media (max-width: 644px) {
    .jgwa_website_analytics .jgwa-preset-btn {
        padding: 6px 12px;
        font-size: 12px;
    }

    .jgwa_website_analytics .jgwa-date-inputs input[type="date"] {
        min-width: 120px;
        font-size: 12px;
    }

    .jgwa_website_analytics .jgwa-date-inputs {
        gap: 5px;
    }
}

/* ============================================
   Live Visitors Map Styles
   @since 1.8.0
   ============================================ */

.jgwa_website_analytics .jgwa-live-map-section {
    margin: 20px 0;
    padding: 20px;
    background-color: #f8f9fb;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.jgwa_website_analytics .jgwa-live-map-section h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    margin: 0 0 15px 0;
}

.jgwa_website_analytics .jgwa-live-map-container {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 4px;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.jgwa_website_analytics #jgwa_live_map {
    width: 100% !important;
    height: auto !important;
}

.jgwa_website_analytics .jgwa-live-map-legend {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 15px;
    font-size: 12px;
    color: #666;
}

.jgwa_website_analytics .jgwa-live-map-swatch {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #ccc;
    border-radius: 2px;
}

.jgwa_website_analytics .jgwa-live-map-swatch-active {
    background-color: #fe7404;
}

.jgwa_website_analytics .jgwa-live-map-swatch-inactive {
    background-color: #e8e8e8;
    margin-left: 12px;
}

/* Responsive adjustments for live map */
@media (max-width: 768px) {
    .jgwa_website_analytics .jgwa-live-map-container {
        padding: 5px;
    }
}

/* ============================================
   Choropleth World Map Styles
   @since 1.7.0
   ============================================ */

.jgwa_website_analytics .jgwa-world-map-section {
    margin: 20px 0;
    padding: 20px;
    background-color: #f8f9fb;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.jgwa_website_analytics .jgwa-world-map-section h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    margin: 0 0 15px 0;
}

.jgwa_website_analytics .jgwa-world-map-container {
    position: relative;
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 4px;
    padding: 10px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.jgwa_website_analytics #jgwa_world_map {
    width: 100% !important;
    height: auto !important;
    cursor: pointer;
}

/* Legend Styles */
.jgwa_website_analytics .jgwa-map-legend {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    margin-top: 15px;
    flex-wrap: wrap;
}

.jgwa_website_analytics .jgwa-legend-gradient {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.jgwa_website_analytics .jgwa-legend-bar {
    display: flex;
    height: 15px;
    width: 200px;
    border-radius: 3px;
    overflow: hidden;
    border: 1px solid #ccc;
}

.jgwa_website_analytics .jgwa-legend-bar span {
    flex: 1;
}

.jgwa_website_analytics .jgwa-legend-labels {
    display: flex;
    justify-content: space-between;
    width: 200px;
    font-size: 11px;
    color: #666;
    margin-top: 3px;
}

.jgwa_website_analytics .jgwa-legend-no-data {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    color: #666;
}

.jgwa_website_analytics .jgwa-legend-swatch {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #ccc;
    border-radius: 2px;
}

.jgwa_website_analytics .jgwa-map-error {
    text-align: center;
    color: #a00;
    padding: 40px;
    font-style: italic;
}

/* Responsive adjustments for world map */
@media (max-width: 768px) {
    .jgwa_website_analytics .jgwa-world-map-container {
        padding: 5px;
    }

    .jgwa_website_analytics .jgwa-map-legend {
        flex-direction: column;
        gap: 10px;
    }

    .jgwa_website_analytics .jgwa-legend-bar {
        width: 150px;
    }

    .jgwa_website_analytics .jgwa-legend-labels {
        width: 150px;
    }
}

/* ============================================
   Information Tab Styles
   @since 1.7.0
   ============================================ */

/* Override admin_panel global heading styles inside the info tab */
.jgwa_website_analytics .jgwa-info-tab h2,
.jgwa_website_analytics .jgwa-info-tab h3,
.jgwa_website_analytics .jgwa-info-tab h4 {
    text-align: left;
    font-weight: 600;
    font-size: inherit;
    grid-column: unset;
}

/* Hero / Welcome block */
.jgwa_website_analytics .jgwa-info-hero {
    text-align: center;
    padding: 30px 20px;
    margin-bottom: 25px;
    background: linear-gradient(135deg, #fff0dd 0%, #fff 100%);
    border: 1px solid #f5dbb8;
    border-radius: 4px;
}

.jgwa_website_analytics .jgwa-info-hero h2 {
    font-size: 24px;
    font-weight: 600;
    color: #333;
    margin: 0 0 10px 0;
}

.jgwa_website_analytics .jgwa-info-hero p {
    font-size: 15px;
    color: #555;
    max-width: 680px;
    margin: 0 auto;
    line-height: 1.6;
}

/* Quick-link cards row */
.jgwa_website_analytics .jgwa-info-links {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: center;
    margin-bottom: 30px;
}

.jgwa_website_analytics .jgwa-info-link-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 6px;
    padding: 16px 24px;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    text-decoration: none;
    color: #333;
    transition: border-color 0.2s, box-shadow 0.2s;
    min-width: 130px;
}

.jgwa_website_analytics .jgwa-info-link-card:hover {
    border-color: #fe7404;
    box-shadow: 0 2px 8px rgba(254, 116, 4, 0.15);
    color: #fe7404;
}

.jgwa_website_analytics .jgwa-info-link-icon {
    font-size: 24px;
    color: #fe7404;
}

.jgwa_website_analytics .jgwa-info-link-label {
    font-size: 13px;
    font-weight: 500;
}

/* Section headings */
.jgwa_website_analytics .jgwa-info-section {
    margin-bottom: 25px;
}

.jgwa_website_analytics .jgwa-info-section h3 {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    margin: 0 0 12px 0;
    padding-bottom: 8px;
    border-bottom: 2px solid #fe7404;
    display: inline-block;
}

.jgwa_website_analytics .jgwa-info-section > p {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin: 0 0 12px 0;
}

/* Feature cards grid */
.jgwa_website_analytics .jgwa-info-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
}

.jgwa_website_analytics .jgwa-info-card {
    background: #f8f9fb;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    padding: 18px 20px;
}

.jgwa_website_analytics .jgwa-info-card h4 {
    font-size: 15px;
    font-weight: 600;
    color: #fe7404;
    margin: 0 0 8px 0;
}

.jgwa_website_analytics .jgwa-info-card p {
    font-size: 13px;
    color: #555;
    line-height: 1.6;
    margin: 0;
}

/* Tip block */
.jgwa_website_analytics .jgwa-info-tip {
    background: #fff0dd;
    border: 1px solid #f5dbb8;
    border-radius: 4px;
    padding: 14px 20px;
}

.jgwa_website_analytics .jgwa-info-tip p {
    margin: 0;
    font-size: 13px;
    line-height: 1.6;
    color: #555;
}

.jgwa_website_analytics .jgwa-info-tip strong {
    color: #fe7404;
}

/* Responsive */
@media (max-width: 644px) {
    .jgwa_website_analytics .jgwa-info-links {
        flex-direction: column;
        align-items: stretch;
    }

    .jgwa_website_analytics .jgwa-info-link-card {
        flex-direction: row;
        justify-content: center;
        min-width: auto;
        padding: 12px 16px;
    }

    .jgwa_website_analytics .jgwa-info-cards {
        grid-template-columns: 1fr;
    }
}

/* ==========================================================================
   Region / City Breakdown Bar Chart
   @since 2.1.3
   ========================================================================== */

.jgwa_website_analytics .jgwa-region-breakdown-section {
    margin: 20px 0;
    padding: 20px;
    background-color: #f8f9fb;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
}

.jgwa_website_analytics .jgwa-region-breakdown-section h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    color: #333;
    margin: 0 0 15px 0;
}

.jgwa_website_analytics .jgwa-region-chart-container {
    position: relative;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    /* height is driven by the number of bars; Chart.js will size the canvas */
    min-height: 120px;
}

/* ==========================================================================
   Sankey Visitor Journey Chart
   ========================================================================== */

.jgwa_website_analytics .jgwa-sankey-container {
    margin: 24px 0 0;
}

.jgwa_website_analytics .jgwa-sankey-container h3 {
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    margin: 0 0 6px;
    color: #333;
}

.jgwa_website_analytics .jgwa-sankey-subtitle {
    text-align: center;
    color: #666;
    margin: 0 0 16px;
    font-size: 13px;
}

.jgwa_website_analytics .jgwa-sankey-chart-wrapper {
    position: relative;
    height: 300px;
}

.jgwa_website_analytics .jgwa-sankey-chart-wrapper canvas {
    width: 100% !important;
    height: 100% !important;
}

.jgwa_website_analytics #jgwa-sankey-loading {
    text-align: center;
    color: #888;
    font-style: italic;
    margin: 60px 0;
}

.jgwa_website_analytics .jgwa-sankey-empty {
    text-align: center;
    color: #888;
    font-style: italic;
    margin: 40px 0;
}

/* GeoIP download status indicators */
.jgwa_website_analytics .jgwa-geoip-active  { color: #00a32a; font-weight: 600; }
.jgwa_website_analytics .jgwa-geoip-inactive { color: #d63638; font-weight: 600; }
.jgwa_website_analytics #jgwa-geoip-result.jgwa-success { color: #00a32a; }
.jgwa_website_analytics #jgwa-geoip-result.jgwa-error   { color: #d63638; }
.jgwa_website_analytics .jgwa-geoip-unavailable { color: #666; font-style: italic; font-size: 13px; padding: 10px 0; }
/* Privacy statement (Settings tab) */
.jgwa_website_analytics .jgwa-privacy-quote { border-left: 4px solid #fe7404; padding: 10px 16px; margin: 12px 0; background: #fff8f2; font-style: italic; color: #444; }
.jgwa_website_analytics .jgwa-privacy-quote p { margin: 0; font-size: 13px; line-height: 1.6; }
.jgwa_website_analytics .jgwa-copy-result { margin-left: 10px; font-size: 13px; color: #00a32a; vertical-align: middle; }
.jgwa_website_analytics .jgwa-location-gdpr-warn { color: #996600; margin-top: 8px; }
