/*
 * Убираем рамку из точек вокруг кнопок и прочих элементов интерфейса
 */
QAbstractButton {
    border: none;
    outline: none;
}

/*
 * Прокручиваемая область
 */
QAbstractScrollArea {
    border: 1px solid palette(dark);
}

QAbstractScrollArea:focus {
    border: 1px solid palette(highlight);
}

/*
 * Кнопка с выравниваем текста по левой стороне
 */
QPushButton[leftAlignedText=true] {
    text-align: left;
}

/*
 * Панель
 */
QFrame[inTopPanel=true] {
    background: palette(button);
    color: palette(button-text);
    min-height: 37px;
}

/*
 * Текстовые метки
 */
QLabel[inTopPanel=true] {
    background: palette(button);
    color: palette(button-text);
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 3px;
    padding-right: 5px;
    min-height: 33px;
}

/*
 * Кнопка меню
 */
QToolButton[inTopPanel=true] {
    background: palette(button);
    color: palette(button-text);
    border: none;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
    padding-left: 13px;
    padding-right: 13px;
    height: 34px;
}

QToolButton:hover[inTopPanel=true] {
    background: palette(dark);
}

QToolButton:pressed[inTopPanel=true] {
    background: palette(dark);
    padding-top: 1px;
}

QToolButton::menu-button[inTopPanel=true] {
    background: palette(button);
    color: palette(button-text);
    border: none;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: palette(dark);
    width: 6px;
    padding-top: 6px;
    padding-bottom: 5px;
    padding-left: 14px;
}

QToolButton::menu-button:hover[inTopPanel=true],
QToolButton::menu-button:pressed[inTopPanel=true] {
    background: palette(dark);
}

QToolButton::menu-arrow[inTopPanel=true] {
    width: 10px;
    height: 10px;
    image: url(:Interface/UI/downarrow_THEME_POSTFIX.png);
}

QToolButton[projectAction=true] {
    background: palette(alternate-base);
    color: palette(button-text);
    border: none;
    padding-left: 13px;
    padding-right: 13px;
}

QToolButton:hover[projectAction=true] {
    background: palette(dark);
}

QToolButton:pressed[projectAction=true] {
    background: palette(dark);
    padding-top: 1px;
}

/*
 * Стиль кнопок "Обзор"
 */
QToolButton[isBrowseButton=true] {
    padding: 2px 6px;
}

QToolButton[isBrowseButton=true]:hover {
    background-color: palette(dark);
}

QToolButton:pressed[isBrowseButton=true] {
    padding-top: 3px;
    padding-bottom: 1px;
}

/*
 * Стиль кнопок "Обновить"
 */
QToolButton:hover[isUpdateButton=true] {
    border: 1px solid transparent;
    border-radius: 11px;
    background-color: palette(dark);
}

QToolButton:pressed[isUpdateButton=true] {
    padding-top: 1px;
}

/*
 * Стиль кнопок в меню
 */
QToolButton[inContextMenu=true] {
    border-top: 1px solid palette(shadow);
    background: palette(base);
    color: palette(button-text);
    padding-left: 13px;
    padding-right: 13px;
    height: 34px;
}

QToolButton[firstInContextMenu=true] {
    border-right: 1px solid palette(shadow);
}

QToolButton[lastInContextMenu=true] {
    border-left: 1px solid palette(shadow);
}

QToolButton:hover[inContextMenu=true] {
    background: palette(highlight);
}

QToolButton:hover:checked[inContextMenu=true] {
    background: palette(dark);
}

QToolButton:pressed[inContextMenu=true] {
    background: palette(highlight);
    padding-top: 1px;
}

/*
 *
 */
FlatButton[hasMenu=true] {
    padding-left: 22px;
    padding-right: 6px;
}

FlatButton:pressed[hasMenu=true] {
    padding-bottom: -1px;
}

/*
 *
 */
FlatButton::checked[inTopPanel=true] {
    color: palette(highlight);
}

FlatButton::menu-button[inTopPanel=true] {
    padding-left: 10px;
    border-left: none;
}

/*
 *
 */
ColoredToolButton[inTopPanel=true] {
    padding-left: 22px;
    padding-right: 6px;
    min-width: 20px;
}

ColoredToolButton:hover[inTopPanel=true] {
    background: palette(dark);
}

ColoredToolButton::menu-button[inTopPanel=true] {
    padding-left: 10px;
    border-left: none;
}

ColoredToolButton::menu-button:hover[inTopPanel=true] {
    background: palette(dark);
}

/*
 *
 */
ColoredToolButton[itemDialog=true] {
    padding: 2px 2px 2px 14px;
    min-width: 20px;
    background-color: palette(button);
    border: 1px solid palette(dark);
}

ColoredToolButton:disabled[itemDialog=true] {
    background-color: palette(window);
}

ColoredToolButton:checked[itemDialog=true] {
    color: palette(window);
    background-color: palette(text);
    border: 1px solid palette(text);
}

ColoredToolButton:!checked:hover[itemDialog=true], ColoredToolButton:!checked:pressed[itemDialog=true] {
    background-color: palette(dark);
}

ColoredToolButton::menu-button[itemDialog=true] {
    padding-left: 6px;
    border-left: none;
}

ColoredToolButton::menu-button:hover[itemDialog=true] {
    background: palette(dark);
}

/*
 * Выпадающий список
 */
QComboBox  {
    padding: 1px 10px 1px 16px;
    background: palette(button);
    color: palette(button-text);
    border: 1px solid palette(dark);
    min-height: 28px;
    min-width: 70px;
}

QComboBox:disabled {
    color: palette(dark);
}

QComboBox:editable {
    background: palette(base);
}

QComboBox:editable:focus {
    border: 1px solid palette(highlight);
}

QComboBox:!editable:hover {
    background: palette(dark);
}

QComboBox::drop-down {
    background: transparent;
    subcontrol-origin: padding;
    subcontrol-position: top left;
    width: 15px;
    border-width: 0px;
    padding-left: 4px;
    padding-right: 4px;
}

QComboBox::down-arrow {
    width: 10px;
    height: 10px;
    image: url(:/Interface/UI/downarrow_THEME_POSTFIX.png);
}

QComboBox::down-arrow:disabled {
    width: 10px;
    height: 10px;
    image: url(:/Interface/UI/downarrow-disable.png);
}

QComboBox:on, QComboBox:off {
    color: palette(button-text);
    background: palette(button);
}

QComboBox:on:editable, QComboBox:off:editable {
    color: palette(button-text);
    background: palette(base);
}

QComboBox:on:selected, QComboBox:off:selected {
    color: palette(highlighted-text);
    background: palette(highlight);
}

QComboBox[inTopPanel=true]  {
    border-bottom: none;
}

/*
 * Поле ввода
 */
QLineEdit {
    border: 1px solid palette(dark);
    min-height: 30px;
    min-width: 70px;
    padding-right: 10px;
}

QLineEdit:focus {
    border: 1px solid palette(highlight);
}

/*
 * Выбор числа
 */
QAbstractSpinBox {
    border: 1px solid palette(dark);
    min-height: 30px;
    min-width: 70px;
    padding-right: 10px;
}

QAbstractSpinBox::up-button {
    height: 16px;
    background: palette(button);
    border: none;
    border-right: 1px solid palette(dark);
}

QAbstractSpinBox::down-button {
    height: 16px;
    background: palette(button);
    border: none;
    border-right: 1px solid palette(dark);
    border-top: 1px solid palette(dark);
}

QAbstractSpinBox::down-button:hover, QAbstractSpinBox::up-button:hover {
    background: palette(dark);
}

QAbstractSpinBox::up-arrow {
    width: 8px;
    height: 8px;
    image: url(:/Interface/UI/uparrow_THEME_POSTFIX.png);
}

QAbstractSpinBox::up-arrow:disabled {
    image: url(:/Interface/UI/uparrow-disable.png);
}

QAbstractSpinBox::down-arrow {
    width: 8px;
    height: 8px;
    image: url(:/Interface/UI/downarrow_THEME_POSTFIX.png);
}

QAbstractSpinBox::down-arrow:disabled {
    image: url(:/Interface/UI/downarrow-disable.png);
}

QAbstractSpinBox:focus {
    border: 1px solid palette(highlight);
}

/*
 * Разделитель
 */
QSplitter::handle {
    background: palette(dark);
}

/*
 * Группа
 */
QGroupBox {
    border: 1px solid palette(dark);
    border-radius: 2px;
    margin-top: 10px;
    padding-top: 1px;
}

QGroupBox::title {
    subcontrol-origin: margin;
    subcontrol-position: top left;
    padding: 1px 0px 3px 4px;
    right: 0px;
}

/*
 * Табы
 */
QTabBar[inTopPanel=true] {
    background-color: palette(button);
    min-height: 33px;
}

QTabBar::tab[inTopPanel=true] {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
    background: palette(button);
    color: palette(button-text);
    padding-top: 4px;
    padding-bottom: 2px;
    padding-left: 11px;
    padding-right: 11px;
}

QTabBar::tab:last[topPanelRightBordered=true] {
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: palette(dark);
}

QTabBar::tab:selected[inTopPanel=true] {
    border-bottom-width: 4px;
    border-bottom-style: solid;
    border-bottom-color: palette(highlight);
}

QTabBar::tab:!selected[inTopPanel=true] {
    border-bottom-width: 4px;
    border-bottom-style: solid;
    border-bottom-color: palette(button);
}

QTabBar::tab:!selected:hover[inTopPanel=true] {
    border-bottom-width: 4px;
    border-bottom-style: solid;
    border-bottom-color: palette(dark);
}

/*
 * Полоса прокрутки
 */
QScrollBar:vertical {
    border: none;
    background: palette(button);
}

QScrollBar:vertical {
    width: 10px;
    margin: 0px;
}

QScrollBar::handle:vertical {
    background: palette(dark);
    min-height: 0px;
    min-width: 0px;
    border: none;
}

QScrollBar::handle:vertical {
    min-height: 60px;
}

QScrollBar::add-line:vertical {
    height: 0px;
}

QScrollBar::sub-line:vertical {
    height: 0px;
}

QScrollBar::sub-line:vertical {
    height: 24px;
    border: none;
}

QScrollBar::sub-line:vertical:hover {
    background: palette(dark);
}

QScrollBar::add-line:vertical {
    height: 24px;
    border: none;
}

QScrollBar::add-line:vertical:hover {
    background: palette(dark);
}

/*
 * Чекбокс
 */
QCheckBox {
    min-height: 24px;
}

/*
 * Переключатель
 */
QRadioButton {
    min-height: 24px;
}

QRadioButton[inTopPanel=true] {
    background: palette(button);
    color: palette(button-text);
    padding-top: 2px;
    padding-bottom: 2px;
    padding-left: 6px;
}

QRadioButton::indicator[inTopPanel=true] {
    height: 0px;
    width: 0px;
    image: none;
}

QRadioButton:unchecked[inTopPanel=true] {
    border-bottom-width: 3px;
    border-bottom-style: solid;
    border-bottom-color: palette(button);
}

QRadioButton:checked[inTopPanel=true] {
    border-bottom-width: 3px;
    border-bottom-style: solid;
    border-bottom-color: palette(highlight);
}

QRadioButton[inStartUpView=true] {
    spacing: 0px;
    padding: 4px 12px 4px 12px;
    background-color: palette(window);
    border: 1px solid palette(dark);
}

QRadioButton[inStartUpView=true]:!checked:hover {
    background-color: palette(dark);
}

QRadioButton[inStartUpView=true]::checked {
    color: palette(window);
    background-color: palette(text);
    border: 1px solid palette(text);
}

QRadioButton[inStartUpView=true]:indicator {
    width: 0px;
    height: 0px;
    image: none;
}

QRadioButton[chevron=true] {
    spacing: 0px;
    padding: 10px 10px 10px 10px;
    background-color: palette(base);
    border: none;
}

QRadioButton:hover[chevron=true] {
    background-color: palette(alternate-base);
}

QRadioButton[chevron=true]::checked {
    color: palette(highlighted-text);
    background-color: palette(highlight);
}

QRadioButton[chevron=true]:indicator {
    width: 0px;
    height: 0px;
    image: none;
}

/*
 * Кнопка
 */
QPushButton {
    padding: 3px 14px 3px 14px;
    min-width: 70px;
    min-height: 25px;
    background-color: palette(button);
    border: 1px solid palette(dark);
}

QPushButton:disabled {
    background-color: palette(window);
}

QPushButton:checked {
    color: palette(window);
    background-color: palette(text);
    border: .06em solid palette(text);
}

QPushButton:!checked:hover, QPushButton:!checked:pressed {
    background-color: palette(dark);
}

/*
 * Прогресбар
 */
QProgressBar {
    border-radius: 0px;
    border: none;
    background-color: #b3c4da;
    max-height: 5px;
}

QProgressBar::chunk {
    background-color: palette(highlight);
}

/*
 * Всплывающая подсказка
 */
QToolTip {
    color: palette(window-text);
    background-color: palette(window);
    border: 1px solid palette(highlight);
}

/*
 * Заголовки таблиц
 */
QHeaderView {
    border: none;
}

QHeaderView::section {
    min-height: 33px;
}

ctkBasePopupWidget {
    background-color: palette(window);
    border: 1px solid palette(dark);
}

/*
 * Общие стили для элементов верхней панели
 */
QWidget[topPanelLeftBordered=true] {
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: palette(dark);
}

QWidget[topPanelLeftBordered=false] {
    border-left: none;
}

QWidget[topPanelTopBordered=true] {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
}

QWidget[topPanelTopBordered=false] {
    border-top: none;
}

QWidget[topPanelRightBordered=true] {
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: palette(dark);
}

QWidget[topPanelBottomBordered=true] {
    border-bottom-width: 1px;
    border-bottom-style: solid;
    border-bottom-color: palette(dark);
}

/*
 * Основные виджеты формы
 */
QWidget[mainContainer=true], QWidget[mainContainer=true]:focus {
    border: none;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
}

/*
 * Виджет без рамок
 */
QWidget[nobordersContainer=true], QWidget[nobordersContainer=true]:focus {
    border: none;
}

/*
 * Сделать фон виджета цветом из палитры
 */
QWidget[baseForeground=true] {
    background-color: palette(base);
}

QWidget[windowForeground=true] {
    background-color: palette(window);
}

/*
 * Стиль панели быстрого форматирования
 */
QWidget[fastFormatWidget=true] {
    border: none;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
    border-right-width: 1px;
    border-right-style: solid;
    border-right-color: palette(dark);
}

/*
 * Редактор строки маскирующийся под метку, когда он не в фокусе
 */
QWidget[editableLabel=true] {
    font-weight: 800;
}

QWidget[editableLabel=true]::!hover::!focus {
    border: none;
    padding: 2px 0px 1px 1px;
    background-color: transparent;
}

QWidget[editableLabel=true]::hover, QWidget[editableLabel=true]::focus {
    background-color: palette(base);
}

/*
 * Стили лайтбокса
 */
QWidget[lightBoxDialogTitle=true] {
    font-weight: 700;
    background-color: palette(button);
    padding: 11px 20px 11px 20px;
    border: 1px solid palette(dark);
    border-bottom: none;
}

QWidget[lightBoxDialogCentralWidget=true] {
    background-color: palette(window);
    border: 1px solid palette(dark);
    padding: 8px 18px 10px 18px;
}

QWidget[lightBoxProgressTitle=true] {
    font-size: 24pt;
    font-weight: 500;
    background-color: transparent;
    color: white;
    border: none;
    margin: 12px 12px 0px 0px;
}

QWidget[lightBoxProgressIndicator=true] {
    background-color: transparent;
    color: white;
    border: none;
}

QWidget[lightBoxProgressDescription=true] {
    background-color: transparent;
    color: white;
    border: none;
    margin: 0px 12px 0px 0px;
}

/*
 * Фрейм проекта
 */
QFrame[projectFrame=true] {
    border: none;
    border-bottom: 0dp solid palette(dark);
}

/*
 * Фрейм текстовой части проекта
 */
QFrame[projectTextFrame=true] {
    padding: 6px 10px 12px 10px;
}

/*
 * Название проекта
 */
QLabel[projectName=true] {
    font-weight: bold;
    min-height: 22px;
}

/*
 * Описание проекта
 */
QLabel[projectInfo=true] {
    color: palette(mid);
}

/*
 * Фрейм аккаунта в меню
 */
QFrame[menuAccount=true] {
    background-color: palette(button);
}

/*
 * Пункт меню
 */
QPushButton[menuButton=true] {
    background-color: palette(window);
    text-align: left;
    border: none;
    padding: 3px 14px 3px 14px;
    min-height: 35px;
}

QPushButton[menuButtonTopBordered=true] {
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: palette(dark);
}

QPushButton[menuUpdateButton=true] {
    background-color: palette(highlight);
    color: palette(highlighted-text);
}

/*
 * Ссылка
 */
QLabel[link=true] {
    color: #2b78da;
}
