/*
 * Просмотр кампании клиентом (/adprogs/<код>, RF_003 TASK_003).
 * Узкий экран (до 991px) - фильтры всплывающим окном, карта по кнопке, список карточками.
 * Широкий - фильтры колонкой слева, справа карта и таблица. Граница - та же, что $.boards.sec.mobile в main.xsl.
 */

.page-ap-view .content-box {
	padding-right: 0;
	width: 100%;
	min-width: 0;
}
.page-ap-view .ap-main {
	min-width: 0;
}

/* jqGrid и карта свёрстаны под content-box (кроме контролов и полей: css/controls.css; поля таблицы - свои, main_adaptive.css); в адаптивном CSS всё border-box - без сброса пины мельчают,
   поля в таблице раздуваются (как css/boards-one.css) */
.page-ap-view #tab-grid *:not(.btn, .pm-button, .input, input, select, textarea),
.page-ap-view #tab-grid *:before,
.page-ap-view #tab-grid *:after,
.page-ap-view #tab-map *:not(.btn, .pm-button, .input, input, select, textarea),
.page-ap-view #tab-map *:before,
.page-ap-view #tab-map *:after,
.page-ap-view .ap-bar *:not(.btn, .pm-button, .input, input, select, textarea),
.page-ap-view .ap-side *:not(.btn, .pm-button, .input, input, select, textarea),
#map-fs-container *:not(.btn, .pm-button, .input, input, select, textarea),
.ui-dialog *:not(.btn, .pm-button, .input, input, select, textarea) {
	box-sizing: content-box;
}
.page-ap-view #tab-grid input[type="text"],
.page-ap-view #tab-map input[type="text"]:not(.leaflet-control-places-input),
.page-ap-view .ap-bar input[type="text"],
.ui-dialog input[type="text"] {
	height: auto;
	padding: 1px 2px;
	border: 1px solid var(--input);
	border-radius: 0;
	font-size: 11px;
	transition: none;
}
/* строка поиска таблицы: поле - высотой с селекты (height:auto выше давал поле ниже на пару px) */
.page-ap-view #tab-grid .ui-search-toolbar input[type="text"],
.page-ap-view #tab-grid .ui-search-toolbar select {
	box-sizing: border-box;
	height: 20px;
	margin: 0;
	vertical-align: middle;
}
.page-ap-view #tab-grid .ui-search-toolbar input[type="text"] {
	padding: 0 3px !important;
}
/* обёртка поля в ячейке (height:100% в style jqGrid) - поле по центру, а не у верха */
.page-ap-view #tab-grid .ui-search-toolbar th > div {
	display: flex;
	align-items: center;
}
#map-fs-container #map-lst-pg input[type="text"] {
	box-sizing: border-box;
	height: 30px;
	padding: 0 6px;
	border: 1px solid var(--input);
	border-radius: 3px;
	font-size: 14px;
	line-height: normal;
	vertical-align: middle;
	transition: none;
}
.page-ap-view #tab-map .leaflet-control-places-input,
#map-fs-container .leaflet-control-places-input {
	box-sizing: border-box;
}
.page-ap-view .leaflet-container {
	z-index: 0;
}
.page-ap-view #tab-grid select {
	font-size: 11px;
}

#wait-dlg {
	position: fixed;
	left: 0;
	right: 0;
	top: 30%;
	text-align: center;
	z-index: 5000;
	width: auto;
}

.page-ap-view .ap-head {
	display: flex;
	align-items: baseline;
	gap: 12px 20px;
	border-bottom: solid 2px var(--border-strong);
	padding-bottom: 8px;
	margin-bottom: 12px;
}
.page-ap-view .ap-head h1 {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 1.35em;
}
.page-ap-view .ap-head-side {
	margin-left: auto;
	white-space: nowrap;
	font-size: 12px;
}
.page-ap-view .ap-uptime {
	color: var(--muted-foreground);
	margin-left: 16px;
}
.page-ap-view .ap-help {
	font-weight: bold;
	color: var(--link);
	text-decoration: none;
}

.page-ap-view .ap-bar {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin: 8px 0 0;
	font-size: 12px;
}
.page-ap-view .ap-bar .ap-state {
	margin-left: auto;
}
.page-ap-view .ap-bar #tab-mod {
	display: flex;
	width: 210px;
}
.page-ap-view .ap-bar #tab-mod label {
	flex: 1 1 0;
	min-width: 0;
	margin-right: 0;
	white-space: nowrap;
}
.page-ap-view .ap-bar #tab-mod .btn {
	padding: 0 6px;
}
.page-ap-view .ap-bar #tab-controls,
.page-ap-view .ap-bar .tab-cw {
	margin-right: 4px;
}
.page-ap-view #ap-stats {
	margin-left: 12px;
}

/* «на всю ширину» */
#ap-workspace.width-full {
	width: auto;
	max-width: none;
}

.page-ap-view .ap-cols {
	display: flex;
	align-items: flex-start;
	margin-top: 12px;
}
.page-ap-view .ap-side {
	flex: 0 0 210px;
	min-width: 0;
	margin-right: 15px;
}
.page-ap-view .ap-main {
	flex: 1 1 auto;
}
.page-ap-view #tab-filters > div {
	width: auto !important;
	margin-right: 0 !important;
}
.page-ap-view #id_view_map {
	margin-bottom: 12px;
}
#ap-flt-dlg #tab-filters > div {
	width: auto !important;
	margin-right: 0 !important;
}
/* диалог уже называется «Фільтри» - свой заголовок панели не дублировать */
#ap-flt-dlg #tab-filters .ui-widget-header {
	display: none;
}

/* принято/отклонено ($.pmToggle, кнопки набора) - в балуне карты только иконки */
.short_btn label.btn { width: 40px; padding: 0; }
/* балун плоскости на карте: кнопки - с отступом от строки формата и чуть выше */
.short_btn { margin-top: 8px; }

.page-ap-view .ap-acts {
	display: flex;
	gap: 8px;
	margin-top: 10px;
}
.page-ap-view .ap-act {
	flex: 1 1 0;
	height: 40px;
}
.page-ap-view .ap-act-a.ap-on {
	--btn-bg: var(--success);
	--btn-fg: var(--color-white);
	--btn-border: var(--success);
	--btn-hover: var(--success);
}
.page-ap-view .ap-act-d.ap-on {
	--btn-bg: var(--destructive);
	--btn-fg: var(--color-white);
	--btn-border: var(--destructive);
	--btn-hover: var(--destructive);
}
.page-ap-view .ap-subj-row {
	margin-top: 6px;
}
.page-ap-view .ap-subj {
	padding: 0;
	border: 0;
	background: none;
	color: var(--card-foreground);
	text-decoration: underline;
	cursor: pointer;
	font-size: 0.95em;
}
.page-ap-view .ap-subj-empty {
	color: var(--muted-foreground);
}
.page-ap-view .ap-empty {
	padding: 24px 0;
	color: var(--muted-foreground);
	text-align: center;
}
.page-ap-view #ap-cards-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	margin: 4px 0 24px;
}
.page-ap-view #ap-cards-pager .btn {
	min-width: 44px;
	min-height: 36px;
}

.page-ap-view .ap-narrow {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}
.page-ap-view .ap-narrow .btn {
	flex: 1 1 0;
}

@media (min-width: 992px) {
	.page-ap-view .ap-narrow {
		display: none !important;
	}
	.page-ap-view #id_boards_list,
	.page-ap-view #ap-cards-pager {
		display: none !important;
	}
}

@media (max-width: 991px) {
	.page-ap-view .ap-wide {
		display: none !important;
	}
	.page-ap-view .ap-head {
		flex-wrap: wrap;
	}
	.page-ap-view .ap-head-side {
		margin-left: 0;
		width: 100%;
	}
	.page-ap-view .ap-uptime {
		margin-left: 0;
		display: block;
		margin-top: 4px;
	}
	.page-ap-view .ap-bar {
		display: block;
	}
	.page-ap-view .ap-bar .ap-state {
		margin-left: 0;
	}
	.page-ap-view #tab-state {
		display: flex;
		flex-wrap: wrap;
		float: none;
		width: 100%;
	}
	.page-ap-view #tab-state .ui-button {
		float: none;
		width: auto !important;
		flex: 1 1 45%;
	}
	.page-ap-view .ap-side {
		display: none !important;
	}
	.page-ap-view #tab-grid {
		display: none !important;
	}
	.page-ap-view #id_view_map {
		display: none;
	}
	.page-ap-view .ap-cols {
		display: block;
	}
	html:has(.page-ap-view) {
		overflow-x: hidden;
	}
}
