674 lines
14 KiB
Plaintext
674 lines
14 KiB
Plaintext
/* === Базовые стили === */
|
||
QDialog {
|
||
background-color: #1a1a1a;
|
||
}
|
||
|
||
QLabel {
|
||
color: white;
|
||
}
|
||
|
||
/* === Компоненты карточек === */
|
||
Card {
|
||
background-color: rgba(0, 0, 0, 0.7);
|
||
border-radius: 15px;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
}
|
||
|
||
Card.base-card {
|
||
border-radius: 10px;
|
||
min-height: 100px;
|
||
max-height: 100px;
|
||
}
|
||
|
||
/* Заголовки и значения карточек */
|
||
Card QLabel.title {
|
||
color: #FFB100;
|
||
font-size: 12px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
Card QLabel.value {
|
||
color: white;
|
||
font-size: 20px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
Card QLabel.subtitle {
|
||
color: rgba(255, 255, 255, 0.7);
|
||
font-size: 12px;
|
||
}
|
||
|
||
QLabel.status-value-online {
|
||
color: #2ecc71;
|
||
font-size: 20px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
QLabel.status-value-offline {
|
||
color: #e74c3c;
|
||
font-size: 20px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
.trend-up {
|
||
color: #2ecc71;
|
||
font-size: 12px;
|
||
}
|
||
|
||
/* === Карточки статуса === */
|
||
/* Зеленая карточка */
|
||
.status-card-green {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(46, 204, 113, 0.2),
|
||
stop: 1 rgba(0, 0, 0, 0.7)
|
||
);
|
||
border: 1px solid rgba(46, 204, 113, 0.3);
|
||
}
|
||
|
||
.status-card-green:hover {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(46, 204, 113, 0.3),
|
||
stop: 1 rgba(0, 0, 0, 0.8)
|
||
);
|
||
border: 1px solid rgba(46, 204, 113, 0.5);
|
||
}
|
||
|
||
/* Синяя карточка */
|
||
.status-card-blue {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(52, 152, 219, 0.2),
|
||
stop: 1 rgba(0, 0, 0, 0.7)
|
||
);
|
||
border: 1px solid rgba(52, 152, 219, 0.3);
|
||
}
|
||
|
||
.status-card-blue:hover {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(52, 152, 219, 0.3),
|
||
stop: 1 rgba(0, 0, 0, 0.8)
|
||
);
|
||
border: 1px solid rgba(52, 152, 219, 0.5);
|
||
}
|
||
|
||
/* Фиолетовая карточка */
|
||
.status-card-purple {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(155, 89, 182, 0.2),
|
||
stop: 1 rgba(0, 0, 0, 0.7)
|
||
);
|
||
border: 1px solid rgba(155, 89, 182, 0.3);
|
||
}
|
||
|
||
.status-card-purple:hover {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(155, 89, 182, 0.3),
|
||
stop: 1 rgba(0, 0, 0, 0.8)
|
||
);
|
||
border: 1px solid rgba(155, 89, 182, 0.5);
|
||
}
|
||
|
||
/* Красная карточка */
|
||
.status-card-red {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(231, 76, 60, 0.2),
|
||
stop: 1 rgba(0, 0, 0, 0.7)
|
||
);
|
||
border: 1px solid rgba(231, 76, 60, 0.3);
|
||
}
|
||
|
||
.status-card-red:hover {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 1,
|
||
stop: 0 rgba(231, 76, 60, 0.3),
|
||
stop: 1 rgba(0, 0, 0, 0.8)
|
||
);
|
||
border: 1px solid rgba(231, 76, 60, 0.5);
|
||
}
|
||
|
||
/* === Кнопки === */
|
||
/* Навигационные кнопки */
|
||
QPushButton.nav-item {
|
||
background: transparent;
|
||
border: none;
|
||
color: white;
|
||
font-size: 14px;
|
||
padding: 10px;
|
||
text-align: left;
|
||
}
|
||
|
||
QPushButton.nav-item:hover {
|
||
color: #FFB100;
|
||
}
|
||
|
||
QPushButton.nav-item:hover QIcon {
|
||
fill: #FFB100;
|
||
}
|
||
|
||
/* Кнопка настроек */
|
||
QPushButton.icon-button {
|
||
background: transparent;
|
||
border: none;
|
||
padding: 8px;
|
||
}
|
||
|
||
QPushButton.icon-button:hover {
|
||
background: rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
}
|
||
|
||
QPushButton.icon-button:pressed {
|
||
background: rgba(255, 255, 255, 0.2);
|
||
}
|
||
|
||
/* Кнопка играть */
|
||
QPushButton.play-button {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 0,
|
||
stop: 0 rgba(255, 177, 0, 0.8),
|
||
stop: 1 rgba(255, 177, 0, 0.6)
|
||
);
|
||
border: 1px solid rgba(255, 177, 0, 0.3);
|
||
border-radius: 8px;
|
||
color: white;
|
||
font-size: 18px;
|
||
font-weight: bold;
|
||
text-transform: uppercase;
|
||
letter-spacing: 2px;
|
||
}
|
||
|
||
QPushButton.play-button:hover {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 0,
|
||
stop: 0 rgba(255, 177, 0, 0.9),
|
||
stop: 1 rgba(255, 177, 0, 0.7)
|
||
);
|
||
border: 1px solid rgba(255, 177, 0, 0.5);
|
||
}
|
||
|
||
QPushButton.play-button:pressed {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 0,
|
||
stop: 0 rgba(255, 147, 0, 0.8),
|
||
stop: 1 rgba(255, 147, 0, 0.6)
|
||
);
|
||
border: 1px solid rgba(255, 147, 0, 0.5);
|
||
padding-top: 2px;
|
||
}
|
||
|
||
QPushButton.play-button:disabled {
|
||
background: #666666;
|
||
color: #999999;
|
||
}
|
||
|
||
/* Кнопка играть (пульсация) */
|
||
QPushButton.play-button-pulse {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 0,
|
||
stop: 0 #27ae60,
|
||
stop: 0.5 #2ecc71,
|
||
stop: 1 #27ae60
|
||
);
|
||
border: none;
|
||
border-radius: 25px;
|
||
color: white;
|
||
font-size: 18px;
|
||
font-weight: bold;
|
||
text-transform: uppercase;
|
||
letter-spacing: 2px;
|
||
padding: 0px 20px;
|
||
}
|
||
|
||
/* Навигационные кнопки */
|
||
QPushButton.nav-button {
|
||
background: transparent;
|
||
border: none;
|
||
color: white;
|
||
padding: 8px 16px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
QPushButton.nav-button:hover {
|
||
background: rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
}
|
||
|
||
QPushButton.nav-button:pressed {
|
||
background: rgba(255, 255, 255, 0.2);
|
||
}
|
||
|
||
/* === Элементы форм === */
|
||
/* Поля ввода */
|
||
QLineEdit.settings-input {
|
||
background: rgba(255, 255, 255, 0.1);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
color: white;
|
||
padding: 8px;
|
||
}
|
||
|
||
/* Выпадающие списки */
|
||
QComboBox.settings-combobox {
|
||
background: rgba(255, 255, 255, 0.1);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
color: white;
|
||
padding: 8px;
|
||
}
|
||
|
||
QComboBox.settings-combobox::drop-down {
|
||
border: none;
|
||
}
|
||
|
||
QComboBox.settings-combobox::down-arrow {
|
||
image: url(assets/images/arrow-down.svg);
|
||
width: 12px;
|
||
height: 12px;
|
||
}
|
||
|
||
/* Чекбоксы */
|
||
QCheckBox.settings-checkbox {
|
||
color: white;
|
||
}
|
||
|
||
QCheckBox.settings-checkbox::indicator {
|
||
width: 18px;
|
||
height: 18px;
|
||
background: rgba(255, 255, 255, 0.1);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
}
|
||
|
||
QCheckBox.settings-checkbox::indicator:checked {
|
||
background: #2ecc71;
|
||
}
|
||
|
||
/* === Прогресс бар === */
|
||
QProgressBar.progress-bar {
|
||
background: rgba(255, 255, 255, 0.1);
|
||
border: none;
|
||
border-radius: 2px;
|
||
}
|
||
|
||
QProgressBar.progress-bar::chunk {
|
||
background: qlineargradient(
|
||
x1: 0, y1: 0, x2: 1, y2: 0,
|
||
stop: 0 rgba(255, 177, 0, 0.8),
|
||
stop: 1 rgba(255, 177, 0, 0.6)
|
||
);
|
||
border-radius: 2px;
|
||
}
|
||
|
||
/* === Новости === */
|
||
QFrame.news-card {
|
||
background-color: rgba(0, 0, 0, 0.5);
|
||
border-radius: 10px;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
}
|
||
|
||
QFrame.news-card:hover {
|
||
background-color: rgba(0, 0, 0, 0.7);
|
||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||
}
|
||
|
||
QLabel.news-image {
|
||
background-color: rgba(0, 0, 0, 0.3);
|
||
border-radius: 8px;
|
||
}
|
||
|
||
QLabel.news-tag {
|
||
background-color: #FFB100;
|
||
color: black;
|
||
border-radius: 4px;
|
||
font-size: 12px;
|
||
font-weight: bold;
|
||
min-width: 80px;
|
||
max-width: 120px;
|
||
}
|
||
|
||
QLabel.news-title {
|
||
color: white;
|
||
font-size: 16px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
QLabel.news-title[main="true"] {
|
||
font-size: 20px;
|
||
}
|
||
|
||
QLabel.news-text {
|
||
color: rgba(255, 255, 255, 0.7);
|
||
font-size: 13px;
|
||
}
|
||
|
||
/* === Диалоги === */
|
||
QDialog.settings-dialog {
|
||
background-color: #1a1a1a;
|
||
}
|
||
|
||
QLabel.settings-label {
|
||
color: white;
|
||
font-size: 14px;
|
||
margin-top: 10px;
|
||
}
|
||
|
||
QDialog.settings-dialog QTabWidget::pane {
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
background-color: rgba(0, 0, 0, 0.3);
|
||
}
|
||
|
||
QDialog.settings-dialog QTabBar::tab {
|
||
background-color: rgba(0, 0, 0, 0.3);
|
||
color: white;
|
||
padding: 8px 20px;
|
||
border: none;
|
||
}
|
||
|
||
QDialog.settings-dialog QTabBar::tab:hover {
|
||
background-color: rgba(255, 255, 255, 0.1);
|
||
}
|
||
|
||
QDialog.settings-dialog QTabBar::tab:selected {
|
||
background-color: rgba(255, 177, 0, 0.2);
|
||
border-bottom: 2px solid #FFB100;
|
||
}
|
||
|
||
/* Форма авторизации */
|
||
QLineEdit.login-input {
|
||
padding: 10px 12px;
|
||
min-height: 20px;
|
||
min-width: 200px;
|
||
background: rgba(255, 255, 255, 0.05);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
color: white;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QLineEdit.login-input:focus {
|
||
border: 1px solid #FFB100;
|
||
background: rgba(255, 177, 0, 0.1);
|
||
}
|
||
|
||
QPushButton.login-button {
|
||
background: #FFB100;
|
||
border: none;
|
||
border-radius: 4px;
|
||
padding: 8px 16px;
|
||
color: black;
|
||
font-weight: bold;
|
||
}
|
||
|
||
QPushButton.login-button:hover {
|
||
background: #FFC133;
|
||
}
|
||
|
||
QPushButton.link-button {
|
||
background: transparent;
|
||
border: none;
|
||
color: #FFB100;
|
||
}
|
||
|
||
QPushButton.link-button:hover {
|
||
color: #FFC133;
|
||
}
|
||
|
||
/* Кнопка аккаунта */
|
||
QPushButton.account-button {
|
||
background: rgba(255, 177, 0, 0.2);
|
||
border: 1px solid #FFB100;
|
||
border-radius: 4px;
|
||
padding: 8px 16px;
|
||
color: #FFB100;
|
||
font-weight: bold;
|
||
}
|
||
|
||
QPushButton.account-button:hover {
|
||
background: rgba(255, 177, 0, 0.3);
|
||
}
|
||
|
||
/* Меню аккаунта */
|
||
QMenu.account-menu {
|
||
background: #1a1a1a;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
padding: 4px;
|
||
}
|
||
|
||
QMenu.account-menu::item {
|
||
padding: 8px 16px;
|
||
color: white;
|
||
}
|
||
|
||
QMenu.account-menu::item:selected {
|
||
background: rgba(255, 177, 0, 0.2);
|
||
}
|
||
|
||
QMenu.account-menu::separator {
|
||
height: 1px;
|
||
background: rgba(255, 255, 255, 0.1);
|
||
margin: 4px 0;
|
||
}
|
||
|
||
/* === Окно авторизации === */
|
||
QDialog#login-dialog {
|
||
background: #1a1a1a;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 8px;
|
||
}
|
||
|
||
/* Поля ввода в окне авторизации */
|
||
QLineEdit.login-input {
|
||
background: rgba(255, 255, 255, 0.05);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
padding: 10px 12px;
|
||
min-height: 20px;
|
||
min-width: 200px;
|
||
color: white;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QLineEdit.login-input:focus {
|
||
border: 1px solid #FFB100;
|
||
background: rgba(255, 177, 0, 0.1);
|
||
}
|
||
|
||
QLineEdit.login-input:hover {
|
||
border: 1px solid rgba(255, 177, 0, 0.5);
|
||
}
|
||
|
||
/* Кнопки в окне авторизации */
|
||
QPushButton.link-button {
|
||
background: transparent;
|
||
border: none;
|
||
color: #FFB100;
|
||
font-size: 12px;
|
||
text-decoration: underline;
|
||
}
|
||
|
||
QPushButton.link-button:hover {
|
||
color: #FFC133;
|
||
}
|
||
|
||
/* Заголовок окна авторизации */
|
||
QLabel.login-title {
|
||
color: white;
|
||
font-size: 18px;
|
||
font-weight: bold;
|
||
}
|
||
|
||
/* Кнопка входа */
|
||
QPushButton.login-button {
|
||
background: #FFB100;
|
||
border: none;
|
||
border-radius: 4px;
|
||
color: #1a1a1a;
|
||
font-weight: bold;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QPushButton.login-button:hover {
|
||
background: #FFC133;
|
||
}
|
||
|
||
QPushButton.login-button:pressed {
|
||
background: #E69D00;
|
||
}
|
||
|
||
QPushButton.login-button:disabled {
|
||
background: #666666;
|
||
color: #999999;
|
||
}
|
||
|
||
/* === Окно настроек === */
|
||
QDialog#settings-dialog {
|
||
background: #1a1a1a;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 8px;
|
||
}
|
||
|
||
/* Вкладки */
|
||
QTabWidget::pane {
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
background: rgba(0, 0, 0, 0.2);
|
||
}
|
||
|
||
QTabBar::tab {
|
||
background: transparent;
|
||
border: none;
|
||
padding: 8px 16px;
|
||
color: #999;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QTabBar::tab:selected {
|
||
color: #FFB100;
|
||
border-bottom: 2px solid #FFB100;
|
||
}
|
||
|
||
QTabBar::tab:hover:!selected {
|
||
color: #FFC133;
|
||
}
|
||
|
||
/* Поля ввода в настройках */
|
||
QLineEdit.settings-input {
|
||
background: rgba(255, 255, 255, 0.05);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
padding: 10px 12px;
|
||
min-height: 20px;
|
||
color: white;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QLineEdit.settings-input:focus {
|
||
border: 1px solid #FFB100;
|
||
background: rgba(255, 177, 0, 0.1);
|
||
}
|
||
|
||
QLineEdit.settings-input:hover {
|
||
border: 1px solid rgba(255, 177, 0, 0.5);
|
||
}
|
||
|
||
/* Комбо-боксы в настройках */
|
||
QComboBox.settings-combobox {
|
||
background: rgba(255, 255, 255, 0.05);
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
padding: 10px 12px;
|
||
min-height: 20px;
|
||
color: white;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QComboBox.settings-combobox:hover {
|
||
border: 1px solid rgba(255, 177, 0, 0.5);
|
||
}
|
||
|
||
QComboBox.settings-combobox:focus {
|
||
border: 1px solid #FFB100;
|
||
}
|
||
|
||
QComboBox.settings-combobox::drop-down {
|
||
border: none;
|
||
width: 20px;
|
||
}
|
||
|
||
QComboBox.settings-combobox::down-arrow {
|
||
image: url(assets/images/arrow-down.svg);
|
||
}
|
||
|
||
/* Чекбоксы в настройках */
|
||
QCheckBox.settings-checkbox {
|
||
color: white;
|
||
font-size: 14px;
|
||
spacing: 8px;
|
||
}
|
||
|
||
QCheckBox.settings-checkbox::indicator {
|
||
width: 18px;
|
||
height: 18px;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
background: rgba(255, 255, 255, 0.05);
|
||
}
|
||
|
||
QCheckBox.settings-checkbox::indicator:checked {
|
||
background: #FFB100;
|
||
border-color: #FFB100;
|
||
image: url(assets/images/checkmark.svg);
|
||
}
|
||
|
||
QCheckBox.settings-checkbox::indicator:hover {
|
||
border-color: rgba(255, 177, 0, 0.5);
|
||
}
|
||
|
||
/* Кнопки в настройках */
|
||
QPushButton.save-button {
|
||
background: #FFB100;
|
||
border: none;
|
||
border-radius: 4px;
|
||
padding: 10px 20px;
|
||
color: #1a1a1a;
|
||
font-weight: bold;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QPushButton.save-button:hover {
|
||
background: #FFC133;
|
||
}
|
||
|
||
QPushButton.cancel-button {
|
||
background: transparent;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
padding: 10px 20px;
|
||
color: white;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QPushButton.cancel-button:hover {
|
||
background: rgba(255, 255, 255, 0.1);
|
||
}
|
||
|
||
QPushButton.browse-button {
|
||
background: transparent;
|
||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||
border-radius: 4px;
|
||
padding: 10px 20px;
|
||
color: white;
|
||
font-size: 14px;
|
||
}
|
||
|
||
QPushButton.browse-button:hover {
|
||
border-color: #FFB100;
|
||
color: #FFB100;
|
||
} |