/*!
 * JRPG Window theme for Wavelog (KZ4X), GENERATED by themes/build.sh.
 * Base: Bootswatch Cyborg 5.3.3 + Wavelog stock base/cyborg_wide-overrides.css, then base/jrpg-layer.css.
 */
/*!
 * No overrides for the default theme as it aligns with general.css
*/
:root{
	--cl-border-btn-pwd:#333;
}

.card-header {
	color: white;
}

.awardsBgDanger a {
	color: white;
}

.awardsBgSuccess a{
	color: white;
}

.border-top {
	--bs-border-color: #282828;
}

.form-select:disabled {
	color: #7f7f7f;
	background-color: #151515;
}

/*
*	Dark Maps
*/

.leaflet-tile {
	filter: invert() hue-rotate(180deg) grayscale(0.8) !important;
}

path.grid-rectangle {
	stroke: rgba(200, 200, 200, 0.5);
}

span.grid-text > font {
	color: rgba(255, 255, 255, 1) !important;
	font-weight: 400 !important;
}

span.grid-text-unworked > font {
	color: rgba(255, 255, 255, .4) !important;
	font-weight: 400 !important;
}

span.grid-text-worked > font {
	color: rgba(255, 255, 255, 1) !important;
	font-weight: 400 !important;
}

.map-leaflet {
	background-color: #2d3537!important;
}

.leaflet-popup-content h3 {
	color: #000;
}

/* 
*	Dark Navigation 
*/

/* Navigation background */

.navbar.bg-light {
	background-color: #000 !important;
}

/* Inactive Links */

.navbar-light .navbar-nav .nav-link {
	color: rgba(255, 255, 255, 0.6);
}

/* Active Links and Logo */

.navbar-light .navbar-brand,
.navbar-light .navbar-brand:focus,
.navbar-light .navbar-brand:hover,
.navbar-light .navbar-nav .active > .nav-link,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .nav-link:hover {
	color: #fff;
}

/* Hamburger Menu */

.navbar-light .navbar-toggler-icon {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.6%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* 
*	Dark inputs 
*/

.form-control,
.form-control-sm,
.form-control:focus,
.form-control:disabled,
.form-select {
	background-color: #151515;
	color: #eeeeee;
	border: 1px solid #333;
}
.form-select {
	--bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23FFFFFF' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

.bootstrap-dialog.type-primary .modal-header {
	background-color: #131313;
}

.selectize-input {
	border: 1px solid #333333;
}

.selectize-dropdown,
.selectize-input,
.selectize-input input {
	color: #fff;
}

.selectize-input,
.selectize-control.single .selectize-input.input-active {
	background: #151515;
}

.selectize-input.full {
	background-color: #151515;
}

.selectize-dropdown .optgroup-header {
	color: #151515;
}

.selectize-dropdown,
.selectize-dropdown.form-control {
	background: #151515;
}

.selectize-input.focus {
	color: #282828;
	background-color: #151515;
	border-color: #95cfeb;
	box-shadow: 0 0 0 0.2rem rgba(42, 159, 214, 0.25);
}

.selectize-control.multi .selectize-input > div {
	background: #555555;
	color: #fff;
}

.selectize-dropdown,
.selectize-dropdown.form-control {
	border-radius: 0;
}

#edit_qso:not(.btn) {
	float: left;
}

#qsoList_wrapper th {
	text-align: left !important;
	white-space: nowrap;
}
#qsoList_wrapper td {
	text-align: left !important;
	white-space: nowrap;
}

@media (min-width: 1500px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1400px
	}
}

@media (min-width: 1920px) {
	.container, .container-lg, .container-md, .container-sm, .container-xl {
		max-width: 1800px
	}
}

@media (min-width: 992px) {
	.modal-lg, .modal-xl {
		max-width: 1300px;
	}
}

.modal-body {
	max-height: calc(100vh - 200px);
	overflow-y: auto;
}

::-webkit-scrollbar {
	width: 12px;
}

::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(196, 196, 196, 0.185);
	border-radius: 10px;
}

::-webkit-scrollbar-thumb {
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.5);
}

#map:not(.window) {
	height: 500px !important;
}

#mapqso {
	height: 400px !important;
}

#qsomap {
	height: 400px !important;
}


.accordion {
	--bs-accordion-active-color: #FFFFFF;
	--bs-accordion-bg: var(--bs-body-bg);
	--bs-accordion-btn-bg: #2c2c2c;
	--bs-accordion-active-bg: #2c2c2c;
	--bs-accordion-btn-focus-border-color: #FFFFFF;
	--bs-accordion-btn-focus-box-shadow: initial;
	--bs-accordion-border-color: #2c2c2c;
	--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23FFFFFF'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}
.accordion-button.collapsed {
	border-bottom: 1px solid var(--bs-body-bg);
}

#quicklog-form .border,
#searchbar-form .border {
    border-color: #4d4d4d !important;
}

.multiselect {
	--bs-btn-color: inherit !important;
	--bs-btn-bg: inherit !important;
	/* --bs-btn-border-color: #dee2e6; */
	/* --bs-btn-hover-border-color: #dee2e6; */
	--bs-btn-hover-bg: inherit !important;
	--bs-btn-hover-color: inherit !important;
	--bs-btn-active-bg: inherit !important;
	--bs-btn-active-color: inherit !important;
}

/* ============  Glanceyear ============ */
.glanceyear-container {
	border: 1px solid #333;
	border-radius: 5px;
	max-width: 683px;
	background-color: #1e1e1e;
}
.glanceyear-header {
	position: relative;
	background-color: #2c2c2c;
	border-bottom: 1px solid #444;
	border-radius: 5px 5px 0 0;
	color: #ffffff;
	font-size: 15px;
	font-weight: bold;
	margin: 0;
	padding: 7px 10px;
}
.glanceyear-quantity {
	position: absolute;
	right: 10px;
	top: 10px;
	color: #777;
	font-size: 10px;
}

.glanceyear-text {
	color: #aaa;
	font-size: 12px;
	font-weight: normal;
	margin: 0 0;
	padding: 0;
}
.glanceyear-summary {
	color: #aaa;
	font-size: 12px;
	margin: 0 10px 10px;
}

.glanceyear-legend {
	color: #777;
	float: right;
	font-size: 12px;
	text-align: middle;
	text-wrap: none;
}

svg rect.day {
	fill: #333;
	shape-rendering: crispedges;
}
svg rect.day:hover {
	stroke: #888;
	stroke-width: 1px;
}
svg rect.day[data-col] {
	fill: #246a66;
}
svg rect.day[data-col='1'] {
	fill: #a0f2ec;
}
svg rect.day[data-col='3'] {
	fill: #8bd8d1;
}
svg rect.day[data-col='6'] {
	fill: #76beb7;
}
svg rect.day[data-col='12'] {
	fill: #62a39c;
}
svg rect.day[data-col='24'] {
	fill: #4b837e;
}
svg rect.day[data-col='48'] {
	fill: #395b58;
}

svg text {
	fill: #aaa;
	font-size: 9px;
}
svg text.month {
	fill: #777;
}

.svg-tag {
	background-color: rgba(255, 255, 255, 0.9);
	border-radius: 3px;
	color: #1e1e1e;
	font-size: 12px;
	line-height: 15px;
	padding: 5px 15px;
	position: absolute;
	text-align: center;
}
.svg-tag:after {
	border-color: rgba(255, 255, 255, 0.9) transparent transparent transparent;
	border-style: solid;
	border-width: 5px 5px 0 5px;
	bottom: -5px;
	content: "";
	height: 0;
	left: 50%;
	margin-left: -5px;
	position: absolute;
	width: 0;
}
/* =====================================================================
 * JRPG Window layer (KZ4X) -- appended after Cyborg's own overrides.
 * Same palette/look as the fleet-ops dashboard's default "JRPG Window"
 * theme and the Home Assistant port: black void, navy gradient windows
 * with faint scanlines, 2px steel-blue borders, near-square corners,
 * bevel shadows, cyan accents.
 *
 * Fonts: VCR OSD Mono for chrome only (headings, navbar, card/modal
 * titles, tabs, buttons, badges); tables and form text keep a readable
 * proportional face so dense logbook views stay usable.
 * ===================================================================== */

@font-face {
	font-family: "VCR OSD Mono";
	src: url("VCR_OSD_MONO_1.001.ttf") format("truetype");
	font-display: swap;
}

:root,
[data-bs-theme=dark] {
	--jrpg-void: #000000;
	--jrpg-navy-1: #10366c;
	--jrpg-navy-2: #0b2858;
	--jrpg-navy-3: #081d43;
	--jrpg-navy-4: #05142f;
	--jrpg-field: #07172f;
	--jrpg-edge: #8397ad;
	--jrpg-line: #385779;
	--jrpg-text: #edf4fa;
	--jrpg-muted: #91a5b8;
	--jrpg-cyan: #48cfff;
	--jrpg-window-bg:
		repeating-linear-gradient(to bottom, rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px, rgba(0,0,0,.055) 1px, rgba(0,0,0,.055) 3px),
		linear-gradient(180deg, #10366c 0%, #0b2858 34%, #081d43 68%, #05142f 100%);
	--jrpg-subwindow-bg:
		repeating-linear-gradient(to bottom, rgba(255,255,255,.012) 0, rgba(255,255,255,.012) 1px, rgba(0,0,0,.05) 1px, rgba(0,0,0,.05) 3px),
		linear-gradient(180deg, #071a38, #041026);
	--jrpg-bevel: inset 1px 1px 0 #d8e4ef66, inset -1px -1px 0 #020713cc, 0 0 0 1px #141c28;
	--jrpg-chrome-font: "VCR OSD Mono", ui-monospace, monospace;

	--bs-body-bg: #000;
	--bs-body-bg-rgb: 0, 0, 0;
	--bs-body-color: #edf4fa;
	--bs-body-color-rgb: 237, 244, 250;
	--bs-emphasis-color: #ffffff;
	--bs-heading-color: #edf4fa;
	--bs-secondary-color: #91a5b8;
	--bs-tertiary-color: #7189a1;
	--bs-secondary-bg: #081d43;
	--bs-tertiary-bg: #05142f;
	--bs-border-color: #385779;
	--bs-border-color-translucent: rgba(131, 151, 173, .35);
	--bs-link-color: #48cfff;
	--bs-link-color-rgb: 72, 207, 255;
	--bs-link-hover-color: #9fe3ff;
	--bs-link-hover-color-rgb: 159, 227, 255;
	--bs-primary: #48cfff;
	--bs-primary-rgb: 72, 207, 255;
	--bs-info: #48cfff;
	--bs-info-rgb: 72, 207, 255;
	--bs-success: #55ef8b;
	--bs-success-rgb: 85, 239, 139;
	--bs-warning: #ffd166;
	--bs-warning-rgb: 255, 209, 102;
	--bs-danger: #ff6072;
	--bs-danger-rgb: 255, 96, 114;
	--bs-border-radius: 3px;
	--bs-border-radius-sm: 2px;
	--bs-border-radius-lg: 3px;
	--bs-border-radius-xl: 4px;
	--bs-border-radius-xxl: 4px;
	--bs-border-radius-pill: 3px;
	--bs-body-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--cl-border-btn-pwd: #385779;
}

body {
	background: #000;
}

/* ---- Chrome font (VCR) -- never tables/forms ---- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6,
.display-1, .display-2, .display-3, .display-4, .display-5, .display-6,
.navbar, .navbar .nav-link, .navbar .dropdown-toggle,
.card-header, .card-title, .modal-title,
.nav-tabs .nav-link, .nav-pills .nav-link,
.btn, .badge, .accordion-button, .breadcrumb {
	font-family: var(--jrpg-chrome-font);
	letter-spacing: .02em;
}

/* ---- Main windows ---- */
.card,
.modal-content,
.offcanvas,
.toast,
.accordion-item {
	background: var(--jrpg-window-bg);
	border: 2px solid var(--jrpg-edge);
	border-radius: 3px;
	box-shadow: var(--jrpg-bevel);
}
.card {
	--bs-card-bg: transparent;
	--bs-card-border-color: var(--jrpg-edge);
	--bs-card-cap-bg: rgba(2, 10, 23, .35);
	--bs-card-color: var(--jrpg-text);
}
.card-header {
	color: var(--jrpg-cyan);
	border-bottom: 1px solid var(--jrpg-line);
	text-transform: uppercase;
	letter-spacing: .06em;
}
.card-footer {
	border-top: 1px solid var(--jrpg-line);
	background: rgba(2, 10, 23, .35);
}
.modal-header, .modal-footer { border-color: var(--jrpg-line); }
.bootstrap-dialog.type-primary .modal-header { background: var(--jrpg-navy-4); }

/* Nested boxes read as sub-windows, not another full window */
.card .card,
.list-group-item,
.dropdown-menu,
.popover {
	background: var(--jrpg-subwindow-bg);
	border-color: var(--jrpg-line);
	border-radius: 2px;
	box-shadow: inset 1px 1px 0 #7494b326, inset -1px -1px 0 #000814aa;
}
.dropdown-menu {
	--bs-dropdown-link-color: var(--jrpg-text);
	--bs-dropdown-link-hover-bg: rgba(72, 207, 255, .14);
	--bs-dropdown-link-hover-color: #fff;
	--bs-dropdown-link-active-bg: #174276;
	--bs-dropdown-divider-bg: var(--jrpg-line);
	border: 1px solid var(--jrpg-edge);
}

/* ---- Navbar: a title-bar window across the top ---- */
.navbar.bg-light {
	background: linear-gradient(180deg, #10366c, #05142f) !important;
	border-bottom: 2px solid var(--jrpg-edge);
	box-shadow: inset 0 1px 0 #d8e4ef44, 0 2px 0 #020713;
}
.navbar-light .navbar-nav .nav-link { color: rgba(237, 244, 250, .72); }
.navbar-light .navbar-nav .nav-link:hover,
.navbar-light .navbar-nav .nav-link:focus,
.navbar-light .navbar-nav .show > .nav-link,
.navbar-light .navbar-nav .nav-link.active { color: var(--jrpg-cyan); }
.headerLogo { max-height: 34px; width: auto; }

/* ---- Tables: readable body font, JRPG lines ---- */
.table {
	--bs-table-bg: transparent;
	--bs-table-color: var(--jrpg-text);
	--bs-table-border-color: var(--jrpg-line);
	--bs-table-striped-bg: rgba(72, 207, 255, .045);
	--bs-table-striped-color: var(--jrpg-text);
	--bs-table-hover-bg: rgba(72, 207, 255, .11);
	--bs-table-hover-color: #fff;
	--bs-table-active-bg: rgba(72, 207, 255, .16);
}
.table > thead th,
#qsoList_wrapper th {
	color: var(--jrpg-muted);
	text-transform: uppercase;
	letter-spacing: .05em;
	font-size: .82em;
	border-bottom: 2px solid var(--jrpg-line);
}

/* ---- Old-school controls ---- */
.btn {
	border-radius: 1px;
	box-shadow: inset 1px 1px 0 #b7c5d444, inset -1px -1px 0 #01050ddd;
}
.btn-primary,
.btn-secondary,
.btn-outline-primary,
.btn-outline-secondary {
	--bs-btn-color: var(--jrpg-text);
	--bs-btn-bg: #102d59;
	--bs-btn-border-color: #72869c;
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: #174276;
	--bs-btn-hover-border-color: #9fc5df;
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: #0b2244;
	--bs-btn-active-border-color: var(--jrpg-cyan);
	--bs-btn-disabled-bg: #0a1b36;
	--bs-btn-disabled-border-color: var(--jrpg-line);
	background-image: linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.18));
}
.form-control,
.form-select,
.input-group-text,
.selectize-input,
.selectize-dropdown.form-control {
	background-color: var(--jrpg-field);
	border-color: #72869c;
	color: var(--jrpg-text);
	border-radius: 1px;
}
.form-control:focus,
.form-select:focus,
.selectize-input.focus {
	background-color: #0a2143;
	border-color: var(--jrpg-cyan);
	box-shadow: 0 0 0 .15rem rgba(72, 207, 255, .25);
	color: #fff;
}
.form-control::placeholder { color: #6f8499; }
.form-select:disabled { color: #7189a1; background-color: #061226; }
.form-check-input:checked { background-color: #174276; border-color: var(--jrpg-cyan); }

.nav-tabs { --bs-nav-tabs-border-color: var(--jrpg-line); --bs-nav-tabs-link-active-bg: var(--jrpg-navy-3); --bs-nav-tabs-link-active-color: var(--jrpg-cyan); --bs-nav-tabs-link-active-border-color: var(--jrpg-edge) var(--jrpg-edge) var(--jrpg-navy-3); }
.nav-pills { --bs-nav-pills-link-active-bg: #174276; --bs-nav-pills-link-active-color: #fff; }
.pagination { --bs-pagination-bg: var(--jrpg-field); --bs-pagination-border-color: var(--jrpg-line); --bs-pagination-color: var(--jrpg-text); --bs-pagination-hover-bg: #174276; --bs-pagination-active-bg: #174276; --bs-pagination-active-border-color: var(--jrpg-cyan); }
.accordion { --bs-accordion-bg: transparent; --bs-accordion-border-color: var(--jrpg-edge); --bs-accordion-btn-bg: rgba(2, 10, 23, .35); --bs-accordion-active-bg: #174276; --bs-accordion-active-color: #fff; }
.accordion-button.collapsed { background: rgba(2, 10, 23, .35); color: var(--jrpg-text); }
.progress { --bs-progress-bg: #020b18; --bs-progress-border-radius: 0; border: 1px solid #43617d; }

/* ---- Maps: Cyborg's dark tiles, tinted toward the fleet map's navy ---- */
.leaflet-tile {
	filter: invert(1) hue-rotate(180deg) grayscale(1) brightness(.78) sepia(1) hue-rotate(178deg) saturate(2.6) brightness(.95) !important;
}
.map-leaflet { background-color: #020a17 !important; }
path.grid-rectangle { stroke: rgba(131, 151, 173, .55); }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background: var(--jrpg-navy-3); color: var(--jrpg-text); border: 1px solid var(--jrpg-edge); border-radius: 2px; }
.leaflet-popup-content h3 { color: var(--jrpg-cyan); }
.leaflet-bar a { background: var(--jrpg-field); color: var(--jrpg-text); border-color: var(--jrpg-line); }

/* ---- Scrollbars ---- */
html { scrollbar-width: thin; scrollbar-color: var(--jrpg-line) #000; }
