/*
	Theme: tso
	Prometheus Version: 1.9.8
	Description: Modern TSO theme with Material Design Dark colors
*/

/* TSO Theme - Material Design Dark */
:root {
  /* Material Design - Background Colors */
  --bg: #0d1117;                    /* Deep black for main background */
  --bg-secondary: #161b22;          /* Dark grey for sections */
  --bg-tertiary: #1c2128;           /* Lighter grey for containers */
  --card-bg: #21262d;               /* Material grey for cards */
  --surface: #30363d;               /* Surface grey for elevated elements */
  
  /* Material Design - Text Colors */
  --text: #f0f6fc;                  /* Primary white text */
  --text-secondary: #8b949e;        /* Secondary grey text */
  --text-muted: #656d76;            /* Muted grey text */
  --text-disabled: #484f58;         /* Disabled grey text */
  
  /* Material Design - Blue Accent Colors */
  --primary: #2563eb;               /* Material blue primary */
  --primary-light: #3b82f6;         /* Light blue variant */
  --primary-dark: #1d4ed8;          /* Dark blue variant */
  --accent: #0ea5e9;                /* Sky blue accent */
  --accent-secondary: #06b6d4;      /* Cyan accent */
  
  /* Material Design - UI Colors */
  --border: #30363d;                /* Subtle border grey */
  --border-light: #424a53;          /* Lighter border grey */
  --success: #238636;               /* Material green */
  --warning: #d1a342;               /* Material amber */
  --error: #da3633;                 /* Material red */
  --info: #1f6feb;                  /* Material blue info */
  
  /* Material Design - Interactive States */
  --hover: rgba(240, 246, 252, 0.06);    /* Subtle white hover */
  --active: rgba(240, 246, 252, 0.1);    /* Subtle white active */
  --focus: rgba(37, 99, 235, 0.4);       /* Blue focus ring */
}

/* Navigation Bar */
.navbar-inverse {
  background-color: var(--bg-secondary) !important;
}

.navbar-inverse .navbar-nav > li > a {
  color: var(--text) !important;
}

.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus,
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
}

/* Body and Main Layout */
body, .wrap {
  background-color: var(--bg) !important;
}

body {
  color: var(--text) !important;
}

/* Links */
a {
  color: var(--primary-light) !important;
}

a:hover, a:focus {
  color: var(--accent) !important;
}

/* Headers */
h1, .header {
  color: var(--text) !important;
}

h2, h3 {
  color: var(--text) !important;
}

h6 {
  color: var(--accent) !important;
}

/* Horizontal Rules */
hr {
  border-color: var(--border) !important;
}

/* Callouts */
.bs-callout {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
}

.bs-callout-success {
  border-left-color: var(--success) !important;
}

.bs-callout-danger {
  border-left-color: var(--error) !important;
}

.bs-callout-info {
  border-left-color: var(--info) !important;
}

/* Pagination */
.pagination li a {
  background-color: var(--card-bg) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.pagination li a:hover,
.pagination li a:focus {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

.pagination > .active > a,
.pagination > .active > a:hover,
.pagination > .active > a:focus {
  background-color: var(--primary-dark) !important;
  color: var(--text) !important;
}

/* Service Labels and Boxes */
.srv-label {
  background-color: var(--primary) !important;
}

a .srv-label {
  color: var(--text) !important;
}

.srv-box:hover {
  background-color: var(--bg-tertiary) !important;
}

.srv-box:hover .fa {
  color: var(--primary) !important;
}

/* Panels and Widgets */
.options,
.dashboard-widget-small-box,
.panel-body,
.stat-box,
#sortable li {
  background-color: var(--card-bg) !important;
  border: 1px solid var(--border) !important;
}

.options,
.dashboard-widget-small-box,
.panel-body,
.panel-body .panel-inner,
.stat-box {
  color: var(--text-secondary) !important;
}

.panel-body > .panel-header,
.stat-box-header {
  background-color: var(--bg-secondary) !important;
  color: var(--text) !important;
}

.dashboard-widget-small-box {
  border-color: var(--border) !important;
}

.dashboard-widget-small-box .element {
  color: var(--primary) !important;
}

.dashboard-widget-small-box i,
#sortable li i {
  color: var(--primary) !important;
}

.dashboard-widget-small-box .caption {
  color: var(--text) !important;
}

.dashboard-widget-small-box i, .dashboard-widget-small-box svg {
    color: var(--accent) !important;
}

/* Forms */
.form-control {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.form-control:focus {
  border-color: var(--primary) !important;
  box-shadow: 0 0 0 0.2rem var(--focus) !important;
}

/* Checkboxes and Radio Buttons */
.icheckbox_line-red,
.iradio_line-red {
  background: var(--card-bg) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.icheckbox_line-red.checked,
.iradio_line-red.checked {
  border-color: var(--primary) !important;
}

/* Buttons */
.btn-prom {
  background-color: var(--primary) !important;
  color: var(--text) !important;
  border-color: var(--primary) !important;
}

.btn-prom:hover,
.btn-prom:focus {
  background-color: var(--primary-dark) !important;
  color: var(--text) !important;
  border-color: var(--primary-dark) !important;
}

/* Dropdown Menus */
.dropdown-menu {
  background-color: var(--card-bg) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
}

.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

/* Tables */
.table-striped thead {
  background-color: var(--bg-secondary) !important;
  color: var(--accent) !important;
}

.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
}

.table {
  color: var(--text-secondary) !important;
}

/* Main Menu */
.main-menu-box,
.version-marker {
  background-color: var(--bg-secondary) !important;
}

.main-menu-box ul li {
  color: var(--text) !important;
}

.main-menu-box ul li:hover {
  background-color: var(--bg-tertiary) !important;
}

.main-menu-box ul li.active {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

.version-marker {
  color: var(--text-muted) !important;
}

.main-menu-box .sub-menu {
  background-color: var(--bg) !important;
}

.main-menu-box ul.sub-menu .submenu-header {
  color: var(--accent) !important;
}

/* Content Page Top */
.content-page-top {
  background-color: var(--bg-secondary) !important;
}

.content-page-top > span {
  color: var(--text) !important;
}

.content-page-top > span > i {
  color: var(--primary) !important;
}

.content-page-top:after {
  border-color: var(--bg-secondary) transparent transparent !important;
}

/* Dashboard Navigation */
.dashboard-nav,
.dashboard-nav a {
  background-color: var(--card-bg) !important;
}

.dashboard-nav a {
  color: var(--text) !important;
}

.dashboard-nav a:hover,
.dashboard-nav a:focus {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

.dashboard-nav a.active {
  background-color: var(--primary-dark) !important;
  color: var(--text) !important;
}

/* Package Steps */
.pkg-step {
  background-color: var(--card-bg) !important;
  color: var(--text-secondary) !important;
}

/* Modals */
.modal-content {
  background-color: var(--card-bg) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.modal-header {
  background-color: var(--bg-secondary) !important;
  color: var(--text) !important;
  border-bottom-color: var(--border) !important;
}

.modal-footer {
  background-color: var(--bg-secondary) !important;
  border-top-color: var(--border) !important;
}

/* Credits */
.credits {
  background-color: var(--success) !important;
  color: var(--text) !important;
}

/* Banner and Footer */
.banner {
  background-color: var(--bg-tertiary) !important;
}

.footer {
  background-color: var(--bg-secondary) !important;
  color: var(--text-secondary) !important;
}

.version {
  color: var(--primary-light) !important;
}

/* Info and Dark Boxes */
.darker-box,
.info-box {
  background-color: var(--card-bg) !important;
  border-left: 3px solid var(--accent-secondary) !important;
}

/* Store Elements */
.categoryLink {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

.categoryLink:hover {
  color: var(--text-muted) !important;
  background-color: var(--primary-dark) !important;
}

.buy-btn {
  background-color: var(--primary) !important;
  color: var(--text) !important;
  border-color: var(--primary) !important;
}

.buy-btn:hover,
.buy-btn:focus {
  background-color: var(--primary-dark) !important;
  color: var(--text) !important;
  border-color: var(--primary-dark) !important;
}

.store-box,
.store-box-upper span,
.store-box-upper li {
  border-color: var(--border) !important;
}

.store-box-upper span {
  color: var(--accent) !important;
}

.store-box-header {
  background-color: var(--bg-secondary) !important;
  color: var(--text) !important;
}

.store-box {
  background-color: var(--card-bg) !important;
  color: var(--text) !important;
}

.store-box-lower {
  color: var(--text-secondary) !important;
}

/* Credit Content */
.credit-content {
  border-color: var(--border) !important;
  color: var(--accent) !important;
}

.credit-content span {
  color: var(--text-secondary) !important;
}

/* Ticket Header */
.ticket-header {
  background-color: var(--card-bg) !important;
  color: var(--text) !important;
}

/* Additional Dark Theme Enhancements */
.content {
  background-color: var(--bg) !important;
  color: var(--text) !important;
}

.navbar-brand {
  color: var(--text) !important;
}

.navbar-brand:hover {
  color: var(--primary-light) !important;
}

/* News blocks */
.news-block {
  background-color: var(--card-bg) !important;
  color: var(--text) !important;
  padding: 15px !important;
}

.news-block a {
  color: var(--primary) !important;
}

.news-block a:hover {
  color: var(--primary-light) !important;
}

.news-block span {
  color: var(--text-secondary) !important;
}

/* Progress bars */
.progress {
  background-color: var(--bg-tertiary) !important;
}

.progress-bar {
  background-color: var(--primary) !important;
}

/* Input groups */
.input-group-addon {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

/* Alerts */
.alert-success {
  background-color: var(--success) !important;
  color: var(--text) !important;
  border-color: var(--success) !important;
}

.alert-danger {
  background-color: var(--error) !important;
  color: var(--text) !important;
  border-color: var(--error) !important;
}

.alert-warning {
  background-color: var(--warning) !important;
  color: var(--text) !important;
  border-color: var(--warning) !important;
}

.alert-info {
  background-color: var(--info) !important;
  color: var(--text) !important;
  border-color: var(--info) !important;
}

/* Advent Calendar (Christmas/Holiday Feature) */
.advent-box {
  .dashboard-widget-small-box i,
  .dashboard-widget-small-box svg {
    color: var(--accent) !important;
  }
  background-color: var(--primary) !important;
  border: 1px solid var(--border) !important;
}

.advent-box span {
  background-color: rgba(37, 99, 235, 0.6) !important;
  color: var(--text) !important;
  padding: 5px !important;
}

.advent-box.notyet {
  opacity: 0.5 !important;
}

/* Sale Boxes */
.sale-box {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

/* Feature Package Headers */
.feature-package-header {
  background-color: var(--bg-secondary) !important;
  color: var(--text) !important;
  padding: 15px !important;
}

/* Help Boxes */
.help-box {
  background: none !important;
  color: var(--text) !important;
}

/* Not Setup Warning */
.not-setup {
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

.not-setup a {
  color: var(--text) !important;
}

.not-setup a:hover {
  color: var(--text-secondary) !important;
}

/* Button Variants */
.btn-default {
  background-color: var(--bg-tertiary) !important;
  color: var(--text) !important;
  border-color: var(--border) !important;
}

.btn-default:hover,
.btn-default:focus,
.btn-default:active {
  background-color: var(--bg-secondary) !important;
  color: var(--text) !important;
  border-color: var(--border-light) !important;
}

.btn-close {
  color: var(--text) !important;
}

/* Slider Elements */
.slider-track {
  background-color: var(--bg-tertiary) !important;
}

.slider-selection {
  background-color: var(--primary) !important;
}

/* Notification Icons */
.notify-icon {
  border-radius: 0px !important;
  border: 1px solid var(--primary) !important;
  background-color: var(--primary) !important;
  color: var(--text) !important;
}

/* Options Box Padding */
.options {
  padding: 15px !important;
}

/* Table Improvements */
.table-striped thead th {
  border-color: transparent !important;
}

.table-striped th,
.table-striped td {
  border-color: transparent !important;
}

/* Additional Border Improvements */
.store-box-upper li:first-child {
  border-top: 1px solid var(--border) !important;
}

.store-box-upper li:last-child {
  border-bottom: 1px solid var(--border) !important;
}

/* Credit Box Enhancements */
.credit-content span:nth-child(3) {
  border-top: 1px solid var(--border) !important;
}

/* Enhanced Typography */
h2 {
  font-family: 'BebasNeue', sans-serif !important;
  color: var(--text-secondary) !important;
}

h6 {
  font-family: 'Open Sans', sans-serif !important;
}

/* Footer Link Improvements */
.footer a {
  color: var(--primary) !important;
}

.footer a:hover {
  color: var(--primary-light) !important;
}

.footer .tos-link {
  color: var(--text-muted) !important;
}

.footer .tos-link:hover {
  color: var(--primary) !important;
}

.frontpage-content {
    max-width: auto; /* or any width you prefer */
    word-break: break-word;
    white-space: normal;
}