/* Public CSS */

:root{
	--qrzcb-bg:#070b12;
	--qrzcb-panel:#0b1220;
	--qrzcb-panel-2:#0f172a;
	--qrzcb-border:rgba(255,255,255,.10);
	--qrzcb-border-2:rgba(255,255,255,.06);
	--qrzcb-text:#e5e7eb;
	--qrzcb-text-dim:#94a3b8;
	--qrzcb-accent:#60a5fa;
	--qrzcb-accent-2:#22d3ee;
	--qrzcb-neon:rgba(34,211,238,.35);
	--qrzcb-glow:0 0 0 1px rgba(96,165,250,.18), 0 0 46px rgba(34,211,238,.16);
	--qrzcb-glow-strong:
		0 0 0 1px rgba(34,211,238,.20),
		0 0 0 2px rgba(96,165,250,.10),
		0 0 46px rgba(34,211,238,.22),
		0 0 90px rgba(96,165,250,.18);
	/* How much of the top of the viewport to keep clean (site header area). */
	--qrzcb-header-exclude: 92px;
}

/* Prevent horizontal scroll caused by wide glow layers.
	NOTE: avoid setting overflow on html/body because it can break position: sticky on some mobile browsers.
*/
.qrzcb-surface{overflow-x:hidden;overflow-x:clip;}

.qrzcb-surface{position:relative;z-index:0;}
.qrzcb-surface::before{
	content:"";
	position:fixed;
	left:50%;
	width:136vw;
	transform:translateX(-50%);
	bottom:-22vh;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--qrzcb-header-exclude));
	background:
		linear-gradient(180deg, rgba(7,11,18,.94), rgba(7,11,18,.94)),
		radial-gradient(720px 300px at 18% 2%, rgba(96,165,250,.28), transparent 62%),
		radial-gradient(640px 320px at 92% 10%, rgba(34,211,238,.24), transparent 62%),
		radial-gradient(980px 620px at 50% 120%, rgba(96,165,250,.16), transparent 60%),
		radial-gradient(820px 520px at 60% 50%, rgba(34,211,238,.12), transparent 62%),
		linear-gradient(180deg, rgba(255,255,255,.02), transparent 35%);
	filter:saturate(1.35) contrast(1.04);
	pointer-events:none;
	z-index:-1;
}

/* Hide the default block post title (everywhere this stylesheet is loaded) */
.wp-block-post-title{
	display:none !important;
}

/* Make the site header sticky on plugin pages (common theme selectors) */
header.wp-block-template-part,
header.site-header,
#masthead,
.site-header{
	position: -webkit-sticky;
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + env(safe-area-inset-top, 0px));
	z-index: 99999;
	/* Ultrfuturistic: dark glass + neon */
	background:
		linear-gradient(180deg, rgba(7,11,18,.72), rgba(7,11,18,.88)),
		radial-gradient(520px 180px at 12% 0%, rgba(34,211,238,.20), transparent 62%),
		radial-gradient(620px 240px at 88% 0%, rgba(96,165,250,.18), transparent 62%);
	border-bottom: 1px solid rgba(34,211,238,.22);
	box-shadow:
		0 18px 50px rgba(0,0,0,.35),
		0 0 0 1px rgba(96,165,250,.10),
		0 0 40px rgba(34,211,238,.10);
	backdrop-filter: blur(12px) saturate(1.25);
}

/* Force sticky in case the theme overrides it */
body header.wp-block-template-part,
body header.site-header,
body #masthead,
body .site-header{
	position: -webkit-sticky !important;
	position: sticky !important;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + env(safe-area-inset-top, 0px)) !important;
}

/* Mobile: themes sometimes override sticky; force it back on plugin pages */
@media (max-width: 860px){
	/* Block themes wrapper can sometimes interfere with sticky via overflow */
	.wp-site-blocks{overflow: visible;}

	header.wp-block-template-part,
	header.site-header,
	#masthead,
	.site-header{
		position: -webkit-sticky !important;
		position: sticky !important;
		top: calc(var(--wp-admin--admin-bar--height, 0px) + env(safe-area-inset-top, 0px)) !important;
		z-index: 99999 !important;
	}
}

/* Bigger block logo in header (default-size) */
header.wp-block-template-part .wp-block-site-logo,
header.site-header .wp-block-site-logo,
#masthead .wp-block-site-logo,
.site-header .wp-block-site-logo{
	max-width: none;
}

header.wp-block-template-part .wp-block-site-logo.is-default-size img,
header.site-header .wp-block-site-logo.is-default-size img,
#masthead .wp-block-site-logo.is-default-size img,
.site-header .wp-block-site-logo.is-default-size img{
	width: clamp(250px, 7vw, 112px);
	height: auto;
	max-height: 112px;
}

header.wp-block-template-part .wp-block-navigation a,
header.wp-block-template-part .wp-block-navigation-item__content{
	color: rgba(229,231,235,.92);
	text-decoration: none;
}
header.wp-block-template-part .wp-block-navigation a:hover{
	color: var(--qrzcb-accent-2);
}
header.wp-block-template-part .custom-logo{
	filter: drop-shadow(0 10px 26px rgba(0,0,0,.35)) drop-shadow(0 0 18px rgba(34,211,238,.10));
}

/* Futuristic nav buttons injected by the plugin */
header.wp-block-template-part .wp-block-navigation .qrzcb-nav-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	padding:8px 12px;
	border-radius:999px;
	border:1px solid rgba(34,211,238,.26);
	background:
		linear-gradient(180deg, rgba(34,211,238,.10), rgba(96,165,250,.06)),
		radial-gradient(420px 140px at 30% 0%, rgba(34,211,238,.10), transparent 65%);
	color: rgba(229,231,235,.92) !important;
	text-decoration:none;
	font-weight: 850;
	letter-spacing: .08em;
	text-transform: uppercase;
	font-size: 12px;
	line-height: 1;
	white-space: nowrap;
	box-shadow:
		0 0 0 1px rgba(96,165,250,.10),
		0 12px 30px rgba(0,0,0,.38),
		0 0 28px rgba(34,211,238,.10);
	backdrop-filter: blur(10px) saturate(1.2);
}
header.wp-block-template-part .wp-block-navigation .qrzcb-nav-btn:hover{
	border-color: rgba(34,211,238,.55);
	box-shadow:
		0 0 0 1px rgba(34,211,238,.18),
		0 14px 36px rgba(0,0,0,.44),
		0 0 46px rgba(34,211,238,.14);
	transform: translateY(-1px);
}

header.wp-block-template-part .wp-block-navigation .qrzcb-nav-btn--login{
	border-color: rgba(96,165,250,.42);
	background: linear-gradient(180deg, rgba(96,165,250,.18), rgba(34,211,238,.10));
}
header.wp-block-template-part .wp-block-navigation .qrzcb-nav-btn--logout{
	border-color: rgba(244,63,94,.36);
	background: linear-gradient(180deg, rgba(244,63,94,.14), rgba(7,11,18,.10));
}
header.wp-block-template-part .wp-block-navigation .qrzcb-nav-btn--admin{
	border-color: rgba(168,85,247,.34);
	background: linear-gradient(180deg, rgba(168,85,247,.14), rgba(34,211,238,.06));
}
header.wp-block-template-part .wp-block-navigation .qrzcb-nav-btn--profile{
	border-color: rgba(34,211,238,.30);
}

/* Footer: slightly different, neon “dock” look (block themes + classic selectors) */
footer.wp-block-template-part,
footer.site-footer,
#colophon,
.site-footer{
	position: relative;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(7,11,18,.72), rgba(11,18,32,.96)),
		radial-gradient(860px 280px at 12% 0%, rgba(96,165,250,.22), transparent 62%),
		radial-gradient(980px 320px at 88% 0%, rgba(34,211,238,.18), transparent 62%),
		radial-gradient(1100px 520px at 50% 120%, rgba(168,85,247,.14), transparent 60%);
	border-top: 1px solid rgba(34,211,238,.32);
	box-shadow:
		0 -18px 70px rgba(0,0,0,.48),
		0 0 0 1px rgba(96,165,250,.10),
		0 0 70px rgba(34,211,238,.12),
		0 0 110px rgba(96,165,250,.08);
	backdrop-filter: blur(12px) saturate(1.25);
}

footer.wp-block-template-part::before,
footer.site-footer::before,
#colophon::before,
.site-footer::before{
	content:"";
	position:absolute;
	left:0; right:0; top:-2px;
	height:3px;
	background: linear-gradient(90deg, rgba(34,211,238,0), rgba(34,211,238,.78), rgba(96,165,250,.68), rgba(168,85,247,.46), rgba(34,211,238,.78), rgba(34,211,238,0));
	filter: blur(.35px);
	pointer-events:none;
}

footer.wp-block-template-part::after,
footer.site-footer::after,
#colophon::after,
.site-footer::after{
	content:"";
	position:absolute;
	left:50%;
	width:120vw;
	transform:translateX(-50%);
	top:-140px;
	height:200px;
	background:
		radial-gradient(900px 180px at 50% 100%, rgba(34,211,238,.14), transparent 70%),
		radial-gradient(1100px 220px at 30% 100%, rgba(96,165,250,.12), transparent 72%),
		radial-gradient(1100px 220px at 70% 100%, rgba(168,85,247,.10), transparent 74%);
	filter: blur(8px);
	opacity: .65;
	pointer-events:none;
}

footer.wp-block-template-part a,
footer.site-footer a,
#colophon a,
.site-footer a{
	color: rgba(34,211,238,.92);
	text-decoration: none;
	text-shadow: 0 0 12px rgba(34,211,238,.10);
}
footer.wp-block-template-part a:hover,
footer.site-footer a:hover,
#colophon a:hover,
.site-footer a:hover{
	color: rgba(96,165,250,.95);
	text-decoration: underline;
	text-shadow: 0 0 14px rgba(96,165,250,.14);
}

footer.wp-block-template-part .custom-logo,
footer.site-footer .custom-logo,
#colophon .custom-logo,
.site-footer .custom-logo{
	filter: drop-shadow(0 10px 26px rgba(0,0,0,.45)) drop-shadow(0 0 22px rgba(34,211,238,.14));
}

footer.wp-block-template-part .wp-block-site-title a{
	color: rgba(229,231,235,.92);
	text-shadow: 0 0 18px rgba(34,211,238,.10);
}

footer.wp-block-template-part,
footer.site-footer,
#colophon,
.site-footer,
footer.wp-block-template-part p,
footer.site-footer p,
#colophon p,
.site-footer p{
	color: rgba(229,231,235,.86);
}

.qrzcb-users-list{max-width:1200px;margin:24px auto;padding:0 12px;color:var(--qrzcb-text);}
.qrzcb-users-list h2{color:var(--qrzcb-text);margin:0 0 12px;}

.qrzcb-users-list__tablewrap{
	overflow:auto;
	border:1px solid var(--qrzcb-border);
	border-radius:14px;
	background:linear-gradient(180deg,var(--qrzcb-panel),var(--qrzcb-bg));
	box-shadow:0 16px 60px rgba(0,0,0,.70), var(--qrzcb-glow-strong);
}

/* DataTables (used on Lista utenti) */
.qrzcb-users-list .dataTables_wrapper{
	color: var(--qrzcb-text);
}

/* Lista utenti filters/search focus glow */
#qrzcbUsersFilterSigla:focus,
#qrzcbUsersFilterProvincia:focus,
#qrzcbUsersFilterText:focus{
	border-color: rgba(0,220,255,.55) !important;
	box-shadow: 0 0 0 3px rgba(0,220,255,.16) !important;
}

.qrzcb-users-list .qrzcb-dt-footer{
	display:flex;
	gap:12px;
	align-items:center;
	justify-content:space-between;
	flex-wrap:wrap;
	margin-top: 12px;
}

.qrzcb-users-list .dataTables_info{
	color: var(--qrzcb-text-dim);
}

.qrzcb-users-list .dataTables_length label,
.qrzcb-users-list .dataTables_info,
.qrzcb-users-list .dataTables_paginate{
	font-size: 14px;
}

.qrzcb-users-list .dataTables_length select{
	margin: 0 6px;
	padding: 8px 10px;
	border-radius: 12px;
	background: rgba(5,10,20,.55);
	border: 1px solid rgba(120,200,255,.25);
	color: #fff;
	outline: none;
}

.qrzcb-users-list .dataTables_length select:focus{
	border-color: rgba(0,220,255,.55);
	box-shadow: 0 0 0 3px rgba(0,220,255,.16);
}

.qrzcb-users-list .dataTables_paginate{
	display:flex;
	align-items:center;
	gap: 6px;
}

.qrzcb-users-list .dataTables_paginate .paginate_button{
	border-radius: 999px;
	border: 1px solid rgba(34,211,238,.22) !important;
	background: linear-gradient(180deg, rgba(34,211,238,.10), rgba(96,165,250,.06)) !important;
	color: rgba(229,231,235,.92) !important;
	padding: 6px 10px !important;
	box-shadow:
		0 0 0 1px rgba(96,165,250,.08),
		0 10px 26px rgba(0,0,0,.32),
		0 0 18px rgba(34,211,238,.10);
}

.qrzcb-users-list .dataTables_paginate .paginate_button:hover{
	border-color: rgba(34,211,238,.55) !important;
	box-shadow:
		0 0 0 1px rgba(34,211,238,.16),
		0 12px 30px rgba(0,0,0,.38),
		0 0 26px rgba(34,211,238,.14);
}

.qrzcb-users-list .dataTables_paginate .paginate_button.current,
.qrzcb-users-list .dataTables_paginate .paginate_button.current:hover{
	border-color: rgba(96,165,250,.55) !important;
	background: linear-gradient(180deg, rgba(96,165,250,.22), rgba(34,211,238,.10)) !important;
}

.qrzcb-users-list .dataTables_paginate .paginate_button.disabled,
.qrzcb-users-list .dataTables_paginate .paginate_button.disabled:hover{
	opacity: .45;
	cursor: default !important;
}

/* Map layer toggles */
.qrzcb-mapLayers input[type="checkbox"]{
	accent-color: rgba(34,211,238,.95);
	width: 18px;
	height: 18px;
}

.qrzcb-mapLayers__item{
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid rgba(34,211,238,.18);
	background: rgba(255,255,255,.03);
	box-shadow: 0 0 22px rgba(34,211,238,.08);
}

.qrzcb-mapLayers__item:hover{
	border-color: rgba(34,211,238,.40);
	box-shadow: 0 0 30px rgba(34,211,238,.12);
}

.qrzcb-table{
	width:100%;
	border-collapse:separate;
	border-spacing:0;
	min-width:980px;
	color:var(--qrzcb-text);
}

.qrzcb-table thead th{
	position:sticky;
	top:0;
	z-index:1;
	padding:12px 14px;
	text-align:left;
	font-weight:700;
	font-size:13px;
	letter-spacing:.02em;
	color:var(--qrzcb-text);
	background:linear-gradient(180deg,var(--qrzcb-panel-2),var(--qrzcb-panel));
	border-bottom:1px solid var(--qrzcb-border);
	white-space:nowrap;
}

.qrzcb-table tbody td{
	padding:12px 14px;
	border-bottom:1px solid var(--qrzcb-border-2);
	color:var(--qrzcb-text);
}

.qrzcb-table tbody tr:nth-child(odd){background:rgba(255,255,255,.02);} 
.qrzcb-table tbody tr:nth-child(even){background:rgba(255,255,255,.01);} 
.qrzcb-table tbody tr:hover{background:rgba(96,165,250,.08);} 

.qrzcb-table tbody tr[data-href]{cursor:pointer;}
.qrzcb-table tbody tr[data-href]:hover{box-shadow:inset 0 0 0 1px rgba(96,165,250,.25);} 

.qrzcb-table a{color:var(--qrzcb-accent);text-decoration:none;}
.qrzcb-table a:hover{text-decoration:underline;}

.qrzcb-table td:first-child{font-weight:800;letter-spacing:.02em;}
.qrzcb-table td{vertical-align:top;}

/* Profile */
.qrzcb-profile{max-width:1100px;margin:24px auto;padding:0 12px;color:var(--qrzcb-text);}
.qrzcb-profile__hero{border:1px solid var(--qrzcb-border);border-radius:18px;background:linear-gradient(180deg, rgba(15,23,42,.88), rgba(7,11,18,.92));box-shadow:0 18px 60px rgba(0,0,0,.65), var(--qrzcb-glow);margin:0 0 14px;overflow:hidden;position:relative;}
.qrzcb-profile__hero::after{
	content:"";
	position:absolute;
	inset:-2px;
	background:repeating-linear-gradient(90deg, rgba(255,255,255,.03) 0 1px, transparent 1px 9px);
	opacity:.18;
	pointer-events:none;
}
.qrzcb-profile__heroInner{display:flex;gap:12px;align-items:flex-start;justify-content:space-between;padding:16px 16px;position:relative;z-index:1;}
.qrzcb-heroId{display:flex;gap:12px;align-items:center;}
.qrzcb-avatar{width:64px;height:64px;border-radius:16px;object-fit:cover;border:1px solid rgba(34,211,238,.22);box-shadow:0 0 0 1px rgba(96,165,250,.10), 0 18px 40px rgba(0,0,0,.55);background:rgba(255,255,255,.02);}
.qrzcb-avatar--placeholder{display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.10em;color:var(--qrzcb-text);background:linear-gradient(180deg, rgba(34,211,238,.12), rgba(96,165,250,.08));text-shadow:0 0 18px rgba(34,211,238,.14);}
.qrzcb-avatar--lg{width:88px;height:88px;border-radius:18px;}
.qrzcb-profile__title{margin:6px 0 0;color:var(--qrzcb-text);letter-spacing:.02em;}
.qrzcb-profile__subtitle{margin-top:8px;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;}
.qrzcb-badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--qrzcb-text-dim);border:1px solid var(--qrzcb-border-2);border-radius:999px;padding:6px 10px;background:rgba(255,255,255,.02);backdrop-filter:blur(6px);}
.qrzcb-call{font-weight:900;letter-spacing:.08em;color:var(--qrzcb-accent-2);text-shadow:0 0 18px rgba(34,211,238,.18);}
.qrzcb-profile__actions{display:flex;gap:10px;}
.qrzcb-profile__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.qrzcb-card{border:1px solid var(--qrzcb-border);border-radius:16px;background:linear-gradient(180deg, rgba(11,18,32,.92), rgba(7,11,18,.96));box-shadow:0 14px 40px rgba(0,0,0,.62);padding:14px;backdrop-filter:blur(8px);}
.qrzcb-card--glow{box-shadow:0 16px 60px rgba(0,0,0,.70), var(--qrzcb-glow-strong);}
.qrzcb-card__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
.qrzcb-card h3{margin:0 0 10px;color:var(--qrzcb-text);font-size:16px;}
.qrzcb-card--span{grid-column:1 / -1;}
.qrzcb-dim{color:var(--qrzcb-text-dim);margin:0 0 10px;}

.qrzcb-chip{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--qrzcb-text);border:1px solid rgba(34,211,238,.28);border-radius:999px;padding:5px 10px;background:rgba(34,211,238,.08);}
.qrzcb-chip--dim{border-color:var(--qrzcb-border-2);background:rgba(255,255,255,.02);color:var(--qrzcb-text-dim);}

.qrzcb-tablewrap{overflow:auto;border:1px solid var(--qrzcb-border-2);border-radius:14px;background:rgba(255,255,255,.02);box-shadow:0 16px 60px rgba(0,0,0,.70), var(--qrzcb-glow-strong);}
.qrzcb-table--kv{min-width:0;}
.qrzcb-table--kv tbody th{width:38%;color:var(--qrzcb-text-dim);font-weight:700;border-bottom:1px solid var(--qrzcb-border-2);padding:10px 12px;text-align:left;white-space:nowrap;}
.qrzcb-table--kv tbody td{border-bottom:1px solid var(--qrzcb-border-2);padding:10px 12px;}
.qrzcb-table--kv tbody tr:last-child th,
.qrzcb-table--kv tbody tr:last-child td{border-bottom:none;}

.qrzcb-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;border:1px solid var(--qrzcb-border);background:rgba(255,255,255,.03);color:var(--qrzcb-text);text-decoration:none;}
.qrzcb-btn:hover{background:rgba(96,165,250,.10);border-color:rgba(96,165,250,.35);}

.qrzcb-btn--primary{background:linear-gradient(180deg, rgba(34,211,238,.18), rgba(96,165,250,.10));border-color:rgba(34,211,238,.35);box-shadow:0 0 0 1px rgba(34,211,238,.10), 0 14px 40px rgba(0,0,0,.55);} 
.qrzcb-btn--primary:hover{background:linear-gradient(180deg, rgba(34,211,238,.26), rgba(96,165,250,.14));border-color:rgba(34,211,238,.55);} 

.qrzcb-btn--icon{
	padding:8px 10px;
	border-radius:999px;
	line-height:1;
}

.qrzcb-btn--icon svg{
	display:block;
}

.qrzcb-input{
	width:100%;
	box-sizing:border-box;
	padding:10px 12px;
	border-radius:12px;
	border:1px solid var(--qrzcb-border-2);
	background:rgba(7,11,18,.55);
	color:var(--qrzcb-text);
	outline:none;
}
.qrzcb-input:focus{border-color:rgba(34,211,238,.55);box-shadow:0 0 0 3px rgba(34,211,238,.10);} 

.qrzcb-formActions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:12px;}

/* eQSL grid */
.qrzcb-eqslGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;}
.qrzcb-eqslItem{border:1px solid var(--qrzcb-border-2);border-radius:14px;background:rgba(255,255,255,.02);overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.45);}
.qrzcb-eqslItem img{display:block;width:100%;height:auto;}
.qrzcb-eqslMeta{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:10px 12px;font-size:12px;color:var(--qrzcb-text-dim);border-top:1px solid var(--qrzcb-border-2);background:rgba(0,0,0,.10);}

.qrzcb-avatarPicker{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;}
.qrzcb-avatarPicker__preview{flex:0 0 auto;}
.qrzcb-avatarPicker__controls{flex:1 1 320px;display:flex;flex-direction:column;gap:10px;}
.qrzcb-check{display:flex;gap:10px;align-items:center;}

/* Events */
.qrzcb-eventForm{display:flex;flex-direction:column;gap:12px;}
.qrzcb-eventForm__grid{display:grid;grid-template-columns:220px 1fr;gap:12px;align-items:end;}
.qrzcb-input--textarea{min-height:120px;resize:vertical;}

.qrzcb-events{display:flex;flex-direction:column;gap:12px;}
.qrzcb-event{display:flex;gap:12px;border:1px solid var(--qrzcb-border-2);border-radius:16px;background:rgba(255,255,255,.02);overflow:hidden;}
.qrzcb-event__poster{flex:0 0 180px;max-width:180px;}
.qrzcb-event__poster img{display:block;width:100%;height:100%;object-fit:cover;min-height:140px;}
.qrzcb-event__body{flex:1;padding:12px;}
.qrzcb-event__meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px;}
.qrzcb-event__title{margin:0 0 6px;color:var(--qrzcb-text);font-size:16px;letter-spacing:.02em;}
.qrzcb-event__desc{margin:0;}
.qrzcb-event__by{display:flex;align-items:center;gap:10px;}
.qrzcb-event__avatar{width:34px;height:34px;border-radius:12px;object-fit:cover;border:1px solid rgba(34,211,238,.20);background:rgba(255,255,255,.02);}
.qrzcb-event__avatar--ph{display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.10em;background:linear-gradient(180deg, rgba(34,211,238,.12), rgba(96,165,250,.08));color:var(--qrzcb-text);}
.qrzcb-event__byLink{color:var(--qrzcb-accent-2);text-decoration:none;font-weight:900;letter-spacing:.08em;}
.qrzcb-event__byLink:hover{text-decoration:underline;}

/* Contacts log */
.qrzcb-log{border:1px solid var(--qrzcb-border-2);border-radius:14px;background:rgba(255,255,255,.02);max-height:340px;overflow:auto;}
.qrzcb-log__item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--qrzcb-border-2);}
.qrzcb-log__item:last-child{border-bottom:none;}
.qrzcb-log__main{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;}
.qrzcb-log__meta{font-size:12px;white-space:nowrap;}
.qrzcb-log__empty{padding:12px;}
.qrzcb-log__link{color:inherit;text-decoration:none;}
.qrzcb-log__link:hover .qrzcb-call{text-decoration:underline;}

/* Modal */
.qrzcb-modal{position:fixed;inset:0;display:none;z-index:99999;}
.qrzcb-modal.is-open{display:block;}
.qrzcb-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);}
.qrzcb-modal__panel{position:relative;max-width:560px;margin:10vh auto 0;border-radius:18px;border:1px solid rgba(34,211,238,.22);background:linear-gradient(180deg, rgba(11,18,32,.96), rgba(7,11,18,.98));box-shadow:0 30px 90px rgba(0,0,0,.75), var(--qrzcb-glow);padding:0;}
.qrzcb-modal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px;border-bottom:1px solid var(--qrzcb-border-2);}
.qrzcb-modal__head h3{margin:0;font-size:16px;}
.qrzcb-modal__close{border:1px solid var(--qrzcb-border-2);background:rgba(255,255,255,.02);color:var(--qrzcb-text);border-radius:12px;width:38px;height:38px;font-size:22px;line-height:34px;cursor:pointer;}
.qrzcb-modal__close:hover{border-color:rgba(34,211,238,.55);}
.qrzcb-modal__body{padding:14px;}

/* Spot modal (add spot) */
.qrzcb-spotModal{position:fixed;inset:0;display:none;z-index:100000;}
.qrzcb-spotModal[aria-hidden="false"]{display:block;}
.qrzcb-spotModal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.65);backdrop-filter:blur(6px);}
.qrzcb-spotModal__panel{position:relative;max-width:980px;margin:6vh auto 0;border-radius:18px;border:1px solid rgba(34,211,238,.22);background:linear-gradient(180deg, rgba(11,18,32,.96), rgba(7,11,18,.98));box-shadow:0 30px 90px rgba(0,0,0,.75), var(--qrzcb-glow);padding:0;}
.qrzcb-spotModal__head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 14px;border-bottom:1px solid var(--qrzcb-border-2);}
.qrzcb-spotModal__body{padding:14px;}

.qrzcb-spotForm{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.qrzcb-spotForm__row{display:flex;flex-direction:column;gap:8px;}
.qrzcb-spotForm__row--span{grid-column:1 / -1;}
.qrzcb-spotForm__label{font-size:12px;color:var(--qrzcb-text-dim);font-weight:700;}
.qrzcb-spotForm input,
.qrzcb-spotForm textarea{width:100%;box-sizing:border-box;padding:10px 12px;border-radius:12px;border:1px solid var(--qrzcb-border-2);background:rgba(7,11,18,.55);color:var(--qrzcb-text);outline:none;}
.qrzcb-spotForm input:focus,
.qrzcb-spotForm textarea:focus{border-color:rgba(34,211,238,.55);box-shadow:0 0 0 3px rgba(34,211,238,.10);} 
.qrzcb-spotPickerMap{height:280px;border-radius:14px;border:1px solid rgba(34,211,238,.22);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(96,165,250,.10);cursor:crosshair;} 
.qrzcb-spotForm__actions{grid-column:1 / -1;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}

@media (max-width: 860px){
	.qrzcb-spotModal__panel{margin:18px 12px 0;}
	.qrzcb-spotForm{grid-template-columns:1fr;}
}

/* Suggestions */
.qrzcb-suggest{margin-top:10px;border:1px solid var(--qrzcb-border-2);border-radius:14px;overflow:hidden;background:rgba(255,255,255,.02);}
.qrzcb-suggest__item{display:flex;gap:8px;align-items:baseline;width:100%;text-align:left;padding:10px 12px;border:0;border-bottom:1px solid var(--qrzcb-border-2);background:transparent;color:var(--qrzcb-text);cursor:pointer;}
.qrzcb-suggest__item:last-child{border-bottom:none;}
.qrzcb-suggest__item:hover{background:rgba(34,211,238,.08);} 
.qrzcb-suggest__empty{padding:10px 12px;}

.qrzcb-map{height:360px;border-radius:14px;border:1px solid rgba(34,211,238,.22);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(96,165,250,.10);} 
.qrzcb-map--picker{cursor:crosshair;}
.qrzcb-map--full{height:70vh;min-height:420px;}
.qrzcb-map--mini{height:320px;}

/* Home */
.qrzcb-home__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.qrzcb-home__span2{grid-column:1 / -1;}
.qrzcb-home__actions{display:flex;gap:10px;}

.qrzcb-homeList{border:1px solid var(--qrzcb-border-2);border-radius:14px;background:rgba(255,255,255,.02);max-height:360px;overflow:auto;}
.qrzcb-homeList__item{display:flex;gap:12px;align-items:center;padding:10px 12px;border-bottom:1px solid var(--qrzcb-border-2);text-decoration:none;color:inherit;}
.qrzcb-homeList__item:last-child{border-bottom:none;}
.qrzcb-homeList__item:hover{background:rgba(96,165,250,.08);}
.qrzcb-homeList__avatar{width:40px;height:40px;border-radius:14px;object-fit:cover;border:1px solid rgba(34,211,238,.18);background:rgba(255,255,255,.02);}
.qrzcb-homeList__avatar--ph{display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.10em;background:linear-gradient(180deg, rgba(34,211,238,.12), rgba(96,165,250,.08));}
.qrzcb-homeList__main{display:flex;flex-direction:column;gap:2px;min-width:0;}
.qrzcb-homeList__call{font-weight:900;letter-spacing:.08em;color:var(--qrzcb-accent-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.qrzcb-homeList__dim{color:var(--qrzcb-text-dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.qrzcb-homeLog{border:1px solid var(--qrzcb-border-2);border-radius:14px;background:rgba(255,255,255,.02);max-height:340px;overflow:auto;}
.qrzcb-table--homeLog{min-width:0;width:100%;border-collapse:separate;border-spacing:0;}
.qrzcb-table--homeLog thead th{position:sticky;top:0;z-index:1;background:linear-gradient(180deg,var(--qrzcb-panel-2),var(--qrzcb-panel));}
.qrzcb-table--homeLog tbody td{border-bottom:1px solid var(--qrzcb-border-2);}
.qrzcb-homeLog__arrow{width:26px;text-align:center;color:var(--qrzcb-text-dim);font-weight:900;}

.qrzcb-homeEvents{display:flex;flex-direction:column;gap:10px;}
.qrzcb-homeEvent{display:flex;gap:10px;align-items:center;border:1px solid var(--qrzcb-border-2);border-radius:14px;background:rgba(255,255,255,.02);padding:10px 12px;text-decoration:none;color:inherit;}
.qrzcb-homeEvent:hover{background:rgba(34,211,238,.06);border-color:rgba(34,211,238,.20);}
.qrzcb-homeEvent__poster{width:56px;height:44px;border-radius:12px;object-fit:cover;border:1px solid rgba(34,211,238,.16);background:rgba(255,255,255,.02);flex:0 0 auto;}
.qrzcb-homeEvent__poster--ph{background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.01));}
.qrzcb-homeEvent__main{display:flex;flex-direction:column;gap:2px;min-width:0;}
.qrzcb-homeEvent__date{font-size:12px;}
.qrzcb-homeEvent__title{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* Map labels + popup styling */
.qrzcb-mapLabel{
	background:rgba(7,11,18,.72);
	border:1px solid rgba(255,255,255,.10);
	border-radius:999px;
	padding:2px 7px;
	color:var(--qrzcb-text);
	font-weight:800;
	font-size:10px;
	letter-spacing:.10em;
	box-shadow:0 10px 30px rgba(0,0,0,.55);
	backdrop-filter:blur(6px);
}

.qrzcb-spotMarker{
	width:34px;
	height:34px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:12px;
	border:1px solid rgba(168,85,247,.35);
	background:linear-gradient(180deg, rgba(168,85,247,.16), rgba(7,11,18,.70));
	box-shadow:0 14px 40px rgba(0,0,0,.55), 0 0 0 1px rgba(168,85,247,.12);
	backdrop-filter:blur(8px);
	font-size:16px;
	line-height:1;
}

.qrzcb-leafletPopup .leaflet-popup-content-wrapper{
	background:linear-gradient(180deg, rgba(11,18,32,.98), rgba(7,11,18,.98));
	color:var(--qrzcb-text);
	border-radius:16px;
	border:1px solid rgba(34,211,238,.20);
	box-shadow:0 22px 70px rgba(0,0,0,.75), var(--qrzcb-glow-strong);
}
.qrzcb-leafletPopup .leaflet-popup-tip{
	background:rgba(11,18,32,.98);
	border:1px solid rgba(34,211,238,.18);
}
.qrzcb-popup{min-width:240px;}
.qrzcb-popup__row{display:flex;gap:12px;align-items:flex-start;}
.qrzcb-popup__avatar{width:52px;height:52px;border-radius:14px;object-fit:cover;border:1px solid rgba(34,211,238,.22);background:rgba(255,255,255,.02);}
.qrzcb-popup__avatar--ph{display:flex;align-items:center;justify-content:center;font-weight:900;letter-spacing:.10em;background:linear-gradient(180deg, rgba(34,211,238,.12), rgba(96,165,250,.08));}
.qrzcb-popup__main{display:flex;flex-direction:column;gap:6px;}
.qrzcb-popup__call{font-weight:900;letter-spacing:.10em;color:var(--qrzcb-accent-2);text-decoration:none;}
.qrzcb-popup__call:hover{text-decoration:underline;}
.qrzcb-popup__dim{color:var(--qrzcb-text-dim);font-size:12px;}
.qrzcb-popup__kv{display:flex;gap:10px;justify-content:space-between;}
.qrzcb-popup__k{color:var(--qrzcb-text-dim);font-weight:700;font-size:12px;}
.qrzcb-popup__v{color:var(--qrzcb-text);font-weight:700;font-size:12px;}

/* Make inputs look good inside the KV table */
.qrzcb-table--kv td .qrzcb-input{max-width:520px;}

@media (max-width: 860px){
	.qrzcb-profile__grid{grid-template-columns:1fr;}
	.qrzcb-profile__heroInner{flex-direction:column;align-items:stretch;}
	.qrzcb-map--full{height:68vh;min-height:380px;}
	.qrzcb-map--mini{height:300px;}
	.qrzcb-home__grid{grid-template-columns:1fr;}
	.qrzcb-home__span2{grid-column:auto;}
	.qrzcb-eventForm__grid{grid-template-columns:1fr;}
	.qrzcb-event{flex-direction:column;}
	.qrzcb-event__poster{max-width:none;}
}

/* Responsive: turn rows into cards */
@media (max-width: 860px){
	.qrzcb-users-list__tablewrap{border-radius:16px;}
	.qrzcb-table{min-width:0;}
	.qrzcb-table thead{display:none;}
	.qrzcb-table, .qrzcb-table tbody, .qrzcb-table tr, .qrzcb-table td{display:block;width:100%;}
	.qrzcb-table tbody tr{
		margin:0;
		border-bottom:1px solid var(--qrzcb-border);
		background:transparent;
		padding:10px 10px;
	}
	.qrzcb-table tbody td{
		border:none;
		padding:8px 10px;
		display:flex;
		gap:10px;
		justify-content:space-between;
		align-items:flex-start;
	}
	.qrzcb-table tbody td::before{
		content:attr(data-label);
		flex:0 0 42%;
		color:var(--qrzcb-text-dim);
		font-weight:650;
	}
	.qrzcb-table tbody td > *{max-width:56%;}
	.qrzcb-table tbody td:first-child{
		padding-top:12px;
		font-size:15px;
	}
}
