/* Hephaestos live console theme
   Neutral dark palette with strong transport and data readability.
   Runtime cue colors remain painted in code and must stay authoritative. */

/* ============================================================
   Global palette
   ============================================================ */

QWidget,
HephWidget,
HephContainer,
MixerWidget,
MainWindow,
QDialog {
    background-color: #111418;
    color: #e7eaf0;
    selection-background-color: #2a3240;
    selection-color: #ffffff;
    font-size: 11px;
}

QAbstractScrollArea {
    background-color: #171b22;
    color: #e7eaf0;
    border: 1px solid #343b46;
}

QAbstractScrollArea > QWidget {
    background-color: #171b22;
    color: #e7eaf0;
}

QMainWindow#MainWindow,
QWidget#centralwidget {
    background-color: #111418;
}

QLabel {
    background: transparent;
    color: #e7eaf0;
}

QToolTip {
    background-color: #202631;
    color: #e7eaf0;
    border: 1px solid #343b46;
    padding: 4px 6px;
}

QStatusBar,
QStatusBar QLabel {
    background-color: #171b22;
    color: #9aa3b2;
    border-top: 1px solid #343b46;
}

QMenuBar {
    background-color: #171b22;
    color: #e7eaf0;
    border-bottom: 1px solid #343b46;
}

QMenuBar::item {
    background: transparent;
    padding: 5px 10px;
}

QMenuBar::item:selected {
    background-color: #202631;
    color: #ffffff;
}

QMenu {
    background-color: #171b22;
    color: #e7eaf0;
    border: 1px solid #343b46;
    padding: 4px 0;
}

QMenu::item {
    padding: 6px 22px;
}

QMenu::item:selected {
    background-color: #2a3240;
    color: #ffffff;
}

QMenu::separator {
    height: 1px;
    margin: 4px 10px;
    background: #343b46;
}

/* ============================================================
   Panels and docks
   ============================================================ */

QDockWidget,
HephDockWidget {
    background-color: #171b22;
    color: #e7eaf0;
    border: 1px solid #343b46;
}

QDockWidget::title,
HephDockWidget::title {
    background-color: #202631;
    color: #e7eaf0;
    text-align: left;
    padding: 7px 10px;
    border-bottom: 1px solid #343b46;
    font-size: 12px;
    font-weight: 600;
}

QDockWidget#mixerDockWidget::title,
QDockWidget#cueDockWidget::title,
QDockWidget#videoSurfaceDockWidget::title {
    border-bottom: 2px solid #d08c2f;
}

QDockWidget#mainKeyboardDockWidget::title,
QDockWidget#masterDockWidget::title {
    border-bottom: 2px solid #1faa59;
}

QDockWidget#lightChannelsDockWidget::title,
QDockWidget#programmerDockWidget::title,
QDockWidget#dmxDockWidget::title {
    border-bottom: 2px solid #4f5c6d;
}

QDockWidget#shortcutDockWidget::title {
    border-bottom: 2px solid #5e6877;
}

QWidget#MainKeyboard,
QWidget#Shortcuts {
    background-color: #171b22;
}

QGroupBox {
    background-color: #171b22;
    border: 1px solid #343b46;
    border-radius: 5px;
    margin-top: 10px;
    padding-top: 10px;
}

QGroupBox::title {
    subcontrol-origin: margin;
    left: 10px;
    padding: 0 6px;
    color: #9aa3b2;
    font-size: 11px;
}

QFrame[frameShape="4"],
QFrame[frameShape="5"] {
    color: #343b46;
}

QSplitter::handle {
    background-color: #171b22;
}

QSplitter::handle:hover {
    background-color: #2a3240;
}

/* ============================================================
   Tabs
   ============================================================ */

QTabWidget::pane {
    background-color: #171b22;
    border: 1px solid #343b46;
    top: -1px;
}

QTabBar::tab {
    background-color: #171b22;
    color: #9aa3b2;
    border: 1px solid #343b46;
    border-bottom: none;
    padding: 7px 12px;
    min-width: 72px;
}

QTabBar::tab:selected {
    background-color: #202631;
    color: #ffffff;
}

QTabBar::tab:hover:!selected {
    background-color: #1c222b;
    color: #e7eaf0;
}

/* ============================================================
   Buttons
   ============================================================ */

QPushButton,
QToolButton,
MainBouton {
    background-color: #202631;
    color: #e7eaf0;
    border: 1px solid #343b46;
    border-radius: 5px;
    padding: 6px 10px;
    min-height: 24px;
}

QPushButton:hover,
QToolButton:hover,
MainBouton:hover {
    background-color: #2a3240;
    border-color: #4a5564;
}

QPushButton:pressed,
QToolButton:pressed,
MainBouton:pressed {
    background-color: #12161c;
    border-color: #657181;
}

QPushButton:checked,
QToolButton:checked,
MainBouton:checked {
    background-color: #2f3a49;
    border-color: #6a7788;
    color: #ffffff;
}

QPushButton:disabled,
QToolButton:disabled,
MainBouton:disabled {
    background-color: #171b22;
    color: #68717c;
    border-color: #2a3038;
}

MainBouton[transportRole] {
    font-size: 13px;
    font-weight: 700;
    padding: 7px 12px;
    min-height: 28px;
}

MainBouton[transportRole="go"] {
    background-color: #1c6f42;
    border-color: #1faa59;
    color: #ffffff;
    font-size: 15px;
}

MainBouton[transportRole="go"]:hover {
    background-color: #21814d;
}

MainBouton[transportRole="go"]:pressed {
    background-color: #165e38;
}

MainBouton[transportRole="stop"] {
    background-color: #8a2d2d;
    border-color: #d64545;
    color: #ffffff;
    font-size: 15px;
}

MainBouton[transportRole="stop"]:hover {
    background-color: #9a3434;
}

MainBouton[transportRole="stop"]:pressed {
    background-color: #742626;
}

MainBouton[transportRole="pause"] {
    background-color: #69521e;
    border-color: #d08c2f;
    color: #fff4df;
}

MainBouton[transportRole="fadeall"] {
    background-color: #7c4b26;
    border-color: #d08c2f;
    color: #fff1df;
}

MainBouton[transportRole="replay"] {
    background-color: #284966;
    border-color: #3579b8;
    color: #eef7ff;
}

MainBouton[transportRole="goback"] {
    background-color: #2a313b;
    border-color: #505a66;
}

MainBouton[transportRole="autom"] {
    background-color: #26303c;
    border-color: #4d5969;
}

MainBouton[transportRole="autom"][manualOverrideActive="true"] {
    background-color: #6e2f2f;
    border-color: #d64545;
    color: #ffffff;
}

MainBouton[transportRole="utility"] {
    background-color: #252b34;
    border-color: #505a66;
}

/* ============================================================
   Inputs
   ============================================================ */

QLineEdit,
QTextEdit,
QPlainTextEdit,
QComboBox,
QAbstractSpinBox,
QDateTimeEdit {
    background-color: #171b22;
    color: #e7eaf0;
    border: 1px solid #343b46;
    border-radius: 4px;
    padding: 5px 7px;
    selection-background-color: #2a3240;
    selection-color: #ffffff;
}

QLineEdit:focus,
QTextEdit:focus,
QPlainTextEdit:focus,
QComboBox:focus,
QAbstractSpinBox:focus,
QDateTimeEdit:focus {
    border-color: #d08c2f;
    background-color: #1b2029;
}

QLineEdit:disabled,
QTextEdit:disabled,
QPlainTextEdit:disabled,
QComboBox:disabled,
QAbstractSpinBox:disabled,
QDateTimeEdit:disabled {
    color: #68717c;
    border-color: #2a3038;
}

QComboBox::drop-down {
    width: 20px;
    border: none;
}

QAbstractItemView {
    outline: none;
}

/* ============================================================
   Item views and tables
   ============================================================ */

QTableView,
QTableWidget,
QTreeView,
QTreeWidget,
QListView,
QListWidget {
    background-color: #171b22;
    alternate-background-color: #202631;
    color: #e7eaf0;
    border: 1px solid #343b46;
    gridline-color: #252c35;
    selection-background-color: #2a3240;
    selection-color: #ffffff;
    outline: none;
}

QTableView::item,
QTableWidget::item,
QTreeView::item,
QTreeWidget::item,
QListView::item,
QListWidget::item {
    padding: 6px 8px;
    border: none;
    color: #e7eaf0;
    background: transparent;
}

QTableView::item:selected,
QTableWidget::item:selected,
QTreeView::item:selected,
QTreeWidget::item:selected,
QListView::item:selected,
QListWidget::item:selected {
    background-color: #2a3240;
    color: #ffffff;
}

QTableView::item:hover,
QTableWidget::item:hover,
QTreeView::item:hover,
QTreeWidget::item:hover,
QListView::item:hover,
QListWidget::item:hover {
    background-color: #232b36;
}

QHeaderView::section,
QTableCornerButton::section {
    background-color: #202631;
    color: #e7eaf0;
    border: none;
    border-right: 1px solid #343b46;
    border-bottom: 1px solid #343b46;
    padding: 7px 8px;
    font-size: 11px;
    font-weight: 700;
}

QHeaderView::section:hover {
    background-color: #2a3240;
}

QHeaderView::section:checked {
    background-color: #303a49;
}

/* Leave cue cell colors free for runtime painting, only frame the table itself. */
#tableCue,
TableauCue {
    background-color: #171b22;
    alternate-background-color: #202631;
    border: 1px solid #343b46;
    gridline-color: #252c35;
    color: #e7eaf0;
    selection-background-color: #2a3240;
    selection-color: #ffffff;
}

#tableCue QHeaderView::section,
TableauCue QHeaderView::section {
    background-color: #202631;
    color: #e7eaf0;
    border-right: 1px solid #343b46;
    border-bottom: 1px solid #343b46;
    padding: 7px 8px;
    font-weight: 700;
}

QDockWidget#lightChannelsDockWidget QTableView,
QDockWidget#dmxDockWidget QTableView,
QDockWidget#programmerDockWidget QTableView {
    font-size: 12px;
}

QWidget#Shortcuts {
    background-color: #171b22;
}

QTreeWidget#shortcutTree {
    background-color: #171b22;
    alternate-background-color: #202631;
    color: #e7eaf0;
}

QTreeWidget#shortcutTree::item {
    min-height: 24px;
    padding: 7px 8px;
}

QTreeWidget#shortcutTree::item:selected {
    background-color: #2a3240;
    color: #ffffff;
}

QLineEdit#filterEdit {
    font-size: 12px;
    padding: 6px 8px;
}

QPushButton#resetButton {
    font-size: 12px;
    font-weight: 600;
}

/* ============================================================
   Sliders and scrollbars
   ============================================================ */

QSlider::groove:horizontal {
    background-color: #202631;
    border: 1px solid #343b46;
    height: 8px;
    border-radius: 4px;
}

QSlider::sub-page:horizontal {
    background-color: #d08c2f;
    border-radius: 4px;
}

QSlider::add-page:horizontal {
    background-color: #171b22;
    border-radius: 4px;
}

QSlider::handle:horizontal {
    background-color: #e7eaf0;
    border: 1px solid #697383;
    width: 18px;
    margin: -6px 0;
    border-radius: 9px;
}

QSlider::groove:vertical {
    background-color: #202631;
    border: 1px solid #343b46;
    width: 8px;
    border-radius: 4px;
}

QSlider::sub-page:vertical {
    background-color: #171b22;
    border-radius: 4px;
}

QSlider::add-page:vertical {
    background-color: #d08c2f;
    border-radius: 4px;
}

QSlider::handle:vertical {
    background-color: #e7eaf0;
    border: 1px solid #697383;
    height: 18px;
    margin: 0 -6px;
    border-radius: 9px;
}

QSlider::handle:hover:horizontal,
QSlider::handle:hover:vertical {
    background-color: #ffffff;
    border-color: #d08c2f;
}

QScrollBar:vertical,
QScrollBar:horizontal {
    background-color: #171b22;
    border: 1px solid #343b46;
    margin: 0;
}

QScrollBar:vertical {
    width: 12px;
}

QScrollBar:horizontal {
    height: 12px;
}

QScrollBar::handle:vertical,
QScrollBar::handle:horizontal {
    background-color: #343b46;
    border-radius: 5px;
    min-height: 24px;
    min-width: 24px;
}

QScrollBar::handle:hover:vertical,
QScrollBar::handle:hover:horizontal {
    background-color: #4a5564;
}

QScrollBar::add-line,
QScrollBar::sub-line,
QScrollBar::add-page,
QScrollBar::sub-page {
    background: none;
    border: none;
}

/* ============================================================
   Checkboxes and progress bars
   ============================================================ */

QCheckBox,
QRadioButton {
    spacing: 6px;
    color: #e7eaf0;
}

QCheckBox::indicator,
QRadioButton::indicator {
    width: 14px;
    height: 14px;
}

QCheckBox::indicator:unchecked,
QRadioButton::indicator:unchecked {
    background-color: #171b22;
    border: 1px solid #505a66;
}

QCheckBox::indicator:checked,
QRadioButton::indicator:checked {
    background-color: #1faa59;
    border: 1px solid #1faa59;
}

QProgressBar {
    background-color: #171b22;
    border: 1px solid #343b46;
    border-radius: 4px;
    color: #e7eaf0;
    text-align: center;
}

QProgressBar::chunk {
    background-color: #1faa59;
    border-radius: 3px;
}

QWidget#mainKeyboardResourcePanel {
    background-color: #171b22;
    border-left: 1px solid #343b46;
}

QLabel#resourceCpuLabel,
QLabel#resourceGpuLabel {
    color: #9aa3b2;
    font-size: 10px;
    font-weight: 600;
}

QProgressBar#resourceCpuBar,
QProgressBar#resourceGpuBar {
    min-height: 8px;
    max-height: 8px;
    background-color: #111418;
    border-color: #343b46;
}

QProgressBar#resourceCpuBar::chunk {
    background-color: #d08c2f;
}

QProgressBar#resourceGpuBar::chunk {
    background-color: #3579b8;
}
