﻿/* Основные стили */
:root {
	--primary-color: #0075BB;
	--primary-dark: #005a8c;
	--primary-light: #e6f2f9;
	--danger-color: #dc3545;
	--danger-dark: #a71d2a;
	--success-color: #28a745;
	--success-dark: #1e7e34;
	--warning-color: #ffc107;
	--warning-dark: #d39e00;
	--text-color: #333333;
	--text-light: #6c757d;
	--border-color: #dee2e6;
	--bg-color: #f8f9fa;
	--card-bg: #ffffff;
	--btn-white: #ffffff;
}

body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	color: var(--text-color);
	background-color: var(--bg-color);
	margin: 0;
	padding: 0;
	line-height: 1.6;
}

.container {
	max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	padding: 0 15px;
	box-sizing: border-box;
}

/* Навигация и шапка */
.header {
	background-color: var(--card-bg);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	padding: 5px 25px 5px 20px;
	margin-bottom: 25px;
	border-radius: 0 0 8px 8px;
}

.header-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
}

	.header-content .header-block,
	.header-content .header-block-logo {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 50px;
		color: var(--primary-color);
		font-weight: 500;
	}

	.header-content .header-block-logo {
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		gap: 15px;
	}

.header-logo {
}

	.header-logo img {
		max-width: 50px;
	}

.header-title {
	position: relative;
	top: -4px;
	font-size: clamp(1.4rem, 3vw, 1.5rem);
}

.nav-links {
	display: flex;
	gap: 25px;
	margin: 15px 0;
}

	.nav-links a {
		color: var(--primary-color);
		text-decoration: none;
		font-weight: 500;
		padding: 5px 0;
		border-bottom: 2px solid transparent;
		transition: all 0.3s ease;
	}

		.nav-links a:hover {
			border-bottom-color: var(--primary-color);
		}

.user-info {
	display: flex;
	align-items: center;
	gap: 15px;
}

	.user-info h3 {
		margin: 0;
	}

/* Кнопки */
.btn {
	display: inline-block;
	padding: 8px 16px;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.3s ease;
	border: 1px solid transparent;
}

.btn-primary {
	background-color: var(--primary-color);
	color: white;
}

	.btn-primary:hover {
		background-color: var(--primary-dark);
	}

.btn-danger {
	background-color: var(--danger-color);
	color: white;
}

	.btn-danger:hover {
		background-color: var(--danger-dark);
	}

.btn-success {
	background-color: var(--success-color);
	color: white;
}

	.btn-success:hover {
		background-color: var(--success-dark);
	}

.btn-outline {
	background-color: var(--btn-white);
	border-color: var(--primary-color);
	color: var(--primary-color);
}

	.btn-outline:hover {
		background-color: var(--primary-light);
	}

/* Формы */
.form-group {
	margin-bottom: 20px;
}

	.form-group.form-group-message {
		display: block;
		margin-top: 40px;
		box-sizing: border-box;
	}

.form-control {
	width: 100%;
	padding: 10px;
	border: 1px solid var(--border-color);
	border-radius: 4px;
	box-sizing: border-box;
	font-family: inherit;
	font-size: 16px;
	transition: border-color 0.3s ease;
}

	.form-control:focus {
		border-color: var(--primary-color);
		outline: none;
		box-shadow: 0 0 0 3px rgba(0, 117, 187, 0.1);
	}

textarea.form-control {
	min-height: 100px;
	resize: vertical;
}

textarea.email-to,
textarea.email-signature {
	min-height: 60px;
	height: 60px;
}

textarea.email-text {
	min-height: 180px;
	height: 190px;
}

.message {
	margin-top: 30px;
	margin-bottom: -5px;
}

.radio-list tr {
	display: flex;
	gap: 15px;
}

	.radio-list tr td {
		display: flex;
		gap: 3px;
	}

.radio-list input {
	cursor: pointer;
	accent-color: var(--primary-color);
}

.radio-list label {
	cursor: pointer;
}

.action-form {
	background: #f9f9f9;
	padding: 15px;
	margin: 0 0 30px 0;
	border-radius: 8px;
}

.action-buttons {
	white-space: nowrap;
}

	.action-buttons input {
		margin-right: 5px;
	}

/* Карточки */
.card {
	background-color: var(--card-bg);
	border-radius: 8px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
	padding: 20px;
	margin-bottom: 20px;
}

.card-title,
.panel-title {
	margin-top: 0;
	color: var(--primary-color);
}

/* Таблицы */
.table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 20px;
}

	.table th, .table td {
		padding: 12px 15px;
		border: 1px solid var(--border-color);
		text-align: left;
	}

	.table th {
		background-color: var(--primary-light);
		color: var(--primary-dark);
		font-weight: 600;
	}

	.table tr:nth-child(even) {
		background-color: rgba(0, 0, 0, 0.02);
	}

	.table tr:hover {
		background-color: rgba(0, 117, 187, 0.05);
	}

/* Сообщения */
.alert {
	display: block;
	width: 100%;
	padding: 15px;
	border-radius: 4px;
	margin-bottom: 20px;
	box-sizing: border-box;
}

.alert-success {
	background-color: rgba(40, 167, 69, 0.1);
	border-left: 4px solid var(--success-color);
	color: var(--success-dark);
}

.alert-danger {
	background-color: rgba(220, 53, 69, 0.1);
	border-left: 4px solid var(--danger-color);
	color: var(--danger-dark);
}

/* Прогресс */
.progress-container {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.5);
	z-index: 1000;
	display: flex;
	justify-content: center;
	align-items: center;
}

.progress-body {
	background: white;
	padding: 20px 30px;
	border-radius: 8px;
	text-align: center;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

	.progress-body .progress-title {
		margin-top: 0;
		color: var(--primary-color);
	}

	.progress-body .progress-loader {
		margin-top: 15px;
	}

/* Иконки (можно добавить шрифт иконок) */
.icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	margin-right: 5px;
	vertical-align: middle;
}

/* Специфичные стили для страницы логина */
.login-container {
	display: flex;
	min-height: 100vh;
	align-items: center;
}

.login-logo {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--primary-light);
	padding: 40px;
	width: 70%;
	box-sizing: border-box;
	height: 100vh;
}

	.login-logo div {
		max-width: 100%;
		text-align: center;
	}

	.login-logo img {
		max-width: 100%;
		height: auto;
		max-height: 200px;
		width: auto;
		display: block;
		margin: 0 auto;
	}

	.login-logo h1.logo-title {
		color: #0075BB;
		margin-top: 20px;
		font-size: clamp(1.5rem, 4vw, 3rem);
	}

	.login-logo p.logo-name {
		color: var(--text-light);
		font-size: clamp(0.9rem, 2vw, 1.2rem);
	}

.login-form-container {
	padding: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30%;
}

.login-form {
	max-width: 400px;
	width: 100%;
}

	.login-form h2.title-form {
		margin-top: 0;
		color: #0075BB;
	}

/* Мобильная адаптация */
@media (max-width: 992px) {
	.header {
		padding: 20px 25px 15px 20px;
	}

	.login-container {
		flex-direction: column;
		gap: 40px;
	}

	.login-logo, .login-form-container {
		width: 100%;
		height: auto;
	}

	.login-logo {
		padding: 50px 25px;
	}

	.login-form-container {
		padding: 0;
		width: 85%;
	}

	.header-content {
		flex-direction: column;
		align-items: flex-start;
	}

		.header-content .header-block {
			flex-direction: column;
			flex-wrap: wrap;
			align-content: flex-start;
			align-items: flex-start;
			gap: 0;
		}

		.header-content .header-login {
			flex-direction: row;
			flex-wrap: nowrap;
			justify-content: flex-end;
			align-items: center;
			width: 100%;
		}

	.header-title {
		top: -2px;
	}

	.nav-links {
		flex-direction: column;
		gap: 5px;
	}

	.user-info {
		margin-bottom: 5px;
	}
}

@media (max-width: 768px) {
	.table {
		margin-bottom: 0;
	}

		.table thead,
		.table.history tr:first-child {
			display: none;
		}

		.table tr {
			display: flex;
			flex-direction: column;
			margin: 20px 0;
		}

			.table tr:first-child {
				margin: 0 0 20px 0;
			}

		.table td {
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			padding: 8px 10px;
		}

		.table.history td div {
			display: flex;
			flex-direction: column;
		}

			.table td::before,
			.table.history td div::before {
				content: attr(data-label);
				font-weight: 600;
				color: #4a5568;
				margin-bottom: 5px;
			}

		.table.history td::before {
			content: unset;
		}
}

/* Дополнительные утилиты */
.text-center {
	text-align: center;
}

.mb-0 {
	margin-bottom: 0;
}

.mt-0 {
	margin-top: 0;
}

.status-success,
.status-active {
	color: var(--success-color);
	font-weight: 500;
}

.status-error,
.status-inactive {
	color: var(--danger-color);
	font-weight: 500;
}

.file-link {
	color: var(--primary-color);
	text-decoration: none;
}

	.file-link:hover {
		text-decoration: underline;
	}
