File: /var/www/html/wp-content/plugins/bsx/ass/css/overview-campaign.css
/**
* BSX Generic Filter System - Styles
* Save as: css/bsx-generic-filter.css
* Dark theme matching your design
*/
/* Sidebar Container */
#bsx-generic-filter-sidebar {
position: fixed;
top: 142px;
max-height: calc(100vh - 40px);
overflow-y: auto;
align-self: flex-start;
width: 15%;
}
.bsx-gf-sidebar-wrapper {
background: #373436;
border: 1px solid #534e4f;
border-radius: 8px;
padding: 20px 30px;
color: #f3eee7;
}
.bsx-gf-sidebar-wrapper h4 {
font-size: 1.1rem;
font-weight: 600;
color: #f9f7fc;
border-bottom: 2px solid #534e4f;
padding-bottom: 0.5rem;
}
/* 1. Search Section */
.bsx-gf-search-section {
margin-bottom: 2rem;
}
.bsx-gf-search-input {
width: 90%;
padding: 0.75rem;
background: #030202;
border: 1px solid #534e4f;
border-radius: 4px;
color: #f3eee7;
font-size: 0.95rem;
transition: border-color 0.2s;
}
.bsx-gf-search-input:focus {
outline: none;
border-color: #8e7d18;
box-shadow: 0 0 0 2px rgba(142, 125, 24, 0.2);
}
bsx-gf-search::placeholder {
color: #999;
}
/* 2. Filters Section */
.bsx-gf-filters-section {
margin-bottom: 2rem;
}
.bsx-gf-filter-section {
margin-bottom: 1rem;
border-bottom: 1px solid #534e4f;
}
.bsx-gf-filter-section:last-child {
border-bottom: none;
}
.bsx-gf-filter-section.has-active {
background-color: rgba(142, 125, 24, 0.1);
}
.bsx-gf-filter-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0.75rem 0;
cursor: pointer;
user-select: none;
transition: opacity 0.2s;
font-weight: 500;
font-size: 0.95rem;
}
.bsx-gf-filter-header:hover {
opacity: 0.7;
}
.bsx-gf-toggle {
font-size: 0.7rem;
transition: transform 0.3s ease;
}
.bsx-gf-filter-section.active .bsx-gf-toggle {
transform: rotate(-180deg);
}
.bsx-gf-filter-options {
list-style: none;
margin: 0;
padding: 0;
max-height: 0;
overflow: hidden;
transition: max-height 0.3s ease;
}
.bsx-gf-filter-section.active .bsx-gf-filter-options {
max-height: 800px;
padding-bottom: 0.5rem;
}
.bsx-gf-filter-option {
display: flex;
align-items: center;
gap: 0.5rem;
padding: 0.4rem 0;
cursor: pointer;
transition: all 0.15s;
font-size: 0.875rem;
color: #f3eee7;
}
.bsx-gf-filter-option:hover {
padding-left: 0.25rem;
color: #f9f7fc;
}
.bsx-gf-filter-option.selected {
font-weight: 500;
color: #8e7d18;
}
.bsx-gf-filter-option.bsx-gf-child {
padding-left: 1.5rem;
font-size: 0.85rem;
}
.bsx-gf-checkbox {
font-size: 0.9rem;
color: #8e7d18;
flex-shrink: 0;
width: 1rem;
text-align: center;
font-family: monospace;
line-height: 1;
}
/* 3. Sort Section */
.bsx-gf-sort-section {
margin-bottom: 1rem;
}
.bsx-gf-sort-buttons {
display: flex;
flex-direction: column;
gap: 0.2rem;
}
.bsx-gf-sort-btn {
width: 100%;
padding: 0.75rem;
background: #030202;
border: 1px solid #534e4f;
border-radius: 4px;
color: #f3eee7;
font-size: 0.95rem;
cursor: pointer;
transition: all 0.2s;
text-align: left;
font-family: inherit;
}
.bsx-gf-sort-btn:hover {
background: #1a1a1a;
border-color: #8e7d18;
}
.bsx-gf-sort-btn.active {
background: #8e7d18;
color: #000;
font-weight: 600;
border-color: #8e7d18;
}
/* Clear All Button */
.bsx-gf-clear-all {
width: 100%;
padding: 0.75rem;
background: transparent;
border: 1px solid #8e7d18;
border-radius: 4px;
color: #8e7d18;
font-size: 0.9rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
text-transform: uppercase;
letter-spacing: 0.5px;
font-family: inherit;
}
.bsx-gf-clear-all:hover {
background: #8e7d18;
color: #000;
}
/* Results Container */
.bsx-gf-loading {
opacity: 0.5;
pointer-events: none;
position: relative;
min-height: 200px;
}
.bsx-gf-loading::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
border: 3px solid rgba(255,255,255,0.2);
border-top-color: #8e7d18;
border-radius: 50%;
animation: bsx-gf-spin 0.8s linear infinite;
}
@keyframes bsx-gf-spin {
to { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Campaign Row (Table-like layout) - Dark rows */
.bsx-campaign-row-link {
display: block;
text-decoration: none;
color: #f3eee7;
margin-bottom: 0.25rem;
transition: all 0.2s ease;
}
.bsx-campaign-row-link:hover .bsx-campaign-row {
background-color: #21201e;
box-shadow: 0 2px 8px #534e4f;
transform: scale(1.05);
border-color: #ecdbae
}
.bsx-campaign-row {
border: 1px solid #534e4f;
border-radius: 6px;
padding: 0.25rem;
background: #373436;
transition: all 0.2s ease;
}
/* Row Header - First Line */
.bsx-row-header {
display: grid;
grid-template-columns: 20% 8% 12% 4% 11% 8% 7% 7% 21%;
gap: 0.1rem;
margin-bottom: 0.15rem;
align-items: flex-end;
padding-bottom: 0.15rem;
}
/* Row Details - Second Line */
.bsx-row-details {
display: grid;
grid-template-columns: 10% 10% 8% 12% 4% 11% 8% 14% 13% 10%;
gap: 0.1rem;
align-items: flex-start;
margin-bottom: 0.15rem;
padding-bottom: 0.15rem;
}
.bsx-cell {
font-size: 0.95rem;
color: #f3eee7;
}
.bsx-logo {
display: flex;
align-items: start;
}
.bsx-logo {
display: flex;
align-items: end;
}
.bsx-logo img {
width: 80%;
max-height: 40px;
object-fit: contain;
display: block;
}
.sl-pic {
display: flex;
align-items: center;
}
.bsx-corp {
font-weight: 600;
font-size: 1rem;
color: #f1eee7;
}
.bsx-source {
font-size: 1rem;
color: #f1eee7;
font-weight: 600;
text-align: right;
}
.bsx-tenure-text {
font-weight: 400;
font-size: 0.9rem;
color: #f1eee7;
text-align:left;
margin-left:1rem;
}
.bsx-tenure {
font-weight: 600;
font-size: 0.9rem;
color: #f1eee7;
text-align:right;
}
.bsx-tenure {
font_size: 1rem;
color: #f1eee7;
}
.bsx-region {
font-weight: 400;
font-size: 0.9rem;
color: #f1eee7;
}
.bsx-date-time-price {
font-weight: 400;
font-size: 0.9rem;
color: #f1eee7;
}
.bsx-date-time-price-old {
font-weight: 400;
font-size: 0.9rem;
color: #e53232;
text-align: right;
}
.bsx-date-time-price-r {
font-weight: 400;
font-size: 0.9rem;
color: #f1eee7;
text-align: right;
}
.bsx-symbol {
font-size: 0.9rem;
color: #f1eee7;
}
.bsx-principle {
font-size: 0.9rem;
color: #f1eee7;
font-weight: 400;
justify-content: flex-end;
padding-top: 8px;
}
.bsx-current-price {
color: #f1eee7;
font-size: 1rem;
}
.bsx-rating {
display: flex;
justify-content: flex-end;
}
.bsx-star {
color: #f1777c40;
font-size: 1.2rem;
}
.bsx-performance {
text-align: right;
}
.bsx-perf-badge {
display: inline-block;
padding: 0.25rem 0.6rem;
border-radius: 4px;
font-weight: 700;
font-size: 0.95rem;
}
.bsx-perf-badge.positive {
background-color: rgba(46, 125, 50, 0.3);
color: #81c784;
}
.bsx-perf-badge.negative {
background-color: rgba(198, 40, 40, 0.3);
color: #e57373;
}
.bsx-perf-last {
font-weight: 400;
font-size: 0.9rem;
text-align: right;
}
.perf-current {
color: #f1eee7;
}
.perf-old {
color: #e57373;
}
.bsx-perf-last.closed {
color: #464646;
}
.bsx-status {
font-size: 1.3rem;
font-weight: 700;
justify-content: center;
margin-left: 15px;
}
.bsx-status.green {
color: #287c33;
}
.bsx-status.red {
color: #e53232;
}
.bsx-status.pink {
color: #992e88;
}
.bsx-status.grey {
color: #aaa;
}
.bsx-type {
font-size: 1.3rem;
font-weight: 700;
justify-content: center;
color: #ecdbae;
}
/* Loading State */
.bsx-loading-campaigns {
opacity: 0.5;
pointer-events: none;
position: relative;
min-height: 200px;
}
.bsx-loading-campaigns::after {
content: '';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 40px;
height: 40px;
border: 3px solid rgba(255,255,255,0.2);
border-top-color: #ffcc33;
border-radius: 50%;
animation: bsx-spin 0.8s linear infinite;
}
@keyframes bsx-spin {
to { transform: translate(-50%, -50%) rotate(360deg); }
}
/* No Results / Error */
.bsx-no-results,
.bsx-error {
text-align: center;
padding: 3rem 1rem;
color: #999;
font-size: 1rem;
}
.bsx-error {
color: #f1777c40;
}
.bsx-cassandra-link {
display: block;
text-decoration: none;
color: #f3eee7;
margin-bottom: 0.25rem;
transition: all 0.2s ease;
}
.bsx-cassandra-row-link:hover .bsx-casanda-row {
background-color: #21201e;
box-shadow: 0 2px 8px #434e4f;
transform: scale(1.05);
border-color: #ecdbae
}
/**
* RESPONSIVE ERWEITERUNG für overview-campaign.css
* Diese Media Queries ERSETZEN die bestehenden am Ende der Datei (ab Zeile ~460)
* WICHTIG: Deine bestehende Struktur bleibt unverändert!
*/
/* ============================================
DESKTOP & LARGE SCREENS
Alles bleibt wie gehabt
============================================ */
@media (min-width: 1024px) {
/* Keine Änderungen - Desktop Layout bleibt */
}
/* ============================================
TABLET LANDSCAPE (768px - 1023px)
Sidebar schmaler, kleinere Fonts
============================================ */
@media (max-width: 1023px) and (min-width: 768px) {
#bsx-generic-filter-sidebar {
width: 12%;
font-size: 0.85rem;
}
.bsx-gf-sidebar-wrapper {
padding: 15px 20px;
}
.bsx-gf-sidebar-wrapper h4 {
font-size: 0.95rem;
}
.bsx-gf-sort-btn,
.bsx-gf-search-input {
font-size: 0.85rem;
padding: 0.6rem;
}
/* Rows: Kleinere Schrift, sonst gleiche Struktur */
.bsx-cell {
font-size: 0.85rem;
}
.bsx-corp {
font-size: 0.9rem;
}
.bsx-logo img {
max-height: 35px;
}
.bsx-perf-badge {
font-size: 0.85rem;
padding: 0.2rem 0.5rem;
}
}
/* ============================================
MOBILE LANDSCAPE (568px - 767px)
Sidebar nach oben, bestimmte Spalten ausblenden
============================================ */
@media (max-width: 767px) and (min-width: 568px) {
/* Sidebar nach oben verschieben */
#bsx-generic-filter-sidebar {
position: sticky;
top: 0;
width: 100%;
max-height: none;
margin-bottom: 1rem;
z-index: 100;
}
.bsx-gf-sidebar-wrapper {
padding: 12px 15px;
}
/* Unwichtige Spalten ausblenden */
.bsx-row-header {
grid-template-columns: 36% 10% 10% 41%;
}
.bsx-region,
.bsx-symbol,
.bsx-date-time-price,
.bsx-date-time-price-r
{
display: none;
}
.bsx-row-details {
grid-template-columns: 23% 16% 8% 16% 10% 37%;
}
/* Principle verstecken */
.bsx-principle {
display: none;
}
.bsx-cell {
font-size: 0.8rem;
}
.bsx-corp {
font-size: 0.85rem;
}
.bsx-logo img {
max-height: 30px;
}
}
/* ============================================
MOBILE PORTRAIT (< 568px)
Nur wichtigste Infos: Logo, Name, Status, Type, Entry, Last, Performance, Cassandra
============================================ */
@media (max-width: 567px) {
/* Sidebar nach oben, collapsible */
#bsx-generic-filter-sidebar {
position: sticky;
top: 0;
width: 100%;
max-height: none;
margin-bottom: 1rem;
z-index: 100;
}
.bsx-gf-sidebar-wrapper {
padding: 10px;
}
/* Header Row: Company Name (35%) | Tenure (30%) | Cassandra Name (35%, rechtsbündig) */
.bsx-row-header {
display: grid;
grid-template-columns: 35% 30% 35%;
gap: 0;
align-items: center;
}
/* Company Name - Position 1 */
.bsx-row-header .bsx-corp {
display: block !important;
grid-column: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Tenure - Position 2 */
.bsx-row-header .bsx-tenure {
display: block !important;
grid-column: 2;
text-align: center;
}
/* Cassandra Name - Position 3, rechtsbündig */
.bsx-row-details .bsx-source {
display: none;
}
.bsx-row-header .bsx-source {
display: block !important;
grid-column: 3;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* Alle anderen Header-Elemente ausblenden */
.bsx-row-header .bsx-logo,
.bsx-row-header .bsx-region,
.bsx-row-header .bsx-symbol,
.bsx-row-header .bsx-date-time-price,
.bsx-row-header .bsx-date-time-price-r,
.bsx-row-header .bsx-tenure-text,
.bsx-row-header .bsx-status,
.bsx-row-header .bsx-performance {
display: none;
}
/* Details Row: Logo Company (20%) | Status (20%) | Type (20%) | Performance (20%) | Logo Cassandra (20%) */
.bsx-row-details {
display: grid;
grid-template-columns: 20% 20% 20% 20% 20%;
gap: 0;
align-items: center;
margin-top: 0.5rem;
}
/* Company Logo - Position 1 */
.bsx-row-header .bsx-logo:first-child {
display: none;
}
.bsx-row-details .bsx-logo:first-child {
display: flex !important;
grid-column: 1;
justify-content: center;
}
/* Status - Position 2 */
.bsx-row-details .bsx-status {
display: block !important;
grid-column: 2;
text-align: center;
margin-left: 0;
}
/* Type - Position 3 */
.bsx-row-details .bsx-type {
display: block !important;
grid-column: 3;
text-align: center;
}
/* Performance - Position 4 */
.bsx-row-header .bsx-performance {
display: none;
}
.bsx-row-details .bsx-performance {
display: flex !important;
grid-column: 4;
justify-content: center;
}
/* Cassandra Logo - Position 5 */
.bsx-row-details .bsx-logo:last-child {
display: flex !important;
grid-column: 5;
justify-content: center;
}
/* Alle anderen Details-Elemente ausblenden */
.bsx-row-details .bsx-principle,
.bsx-row-details .bsx-date-time-price,
.bsx-row-details .bsx-date-time-price-r,
.bsx-row-details .bsx-date-time-price-old,
.bsx-row-details .bsx-perf-last {
display: none;
}
/* Schriftgrößen anpassen */
.bsx-cell {
font-size: 0.75rem;
}
.bsx-corp {
font-size: 0.85rem;
font-weight: 700;
}
.bsx-tenure {
font-size: 0.75rem;
}
.bsx-source {
font-size: 0.8rem;
}
.bsx-status {
font-size: 1rem;
}
.bsx-type {
font-size: 1rem;
}
.bsx-logo img {
max-height: 20px;
width: 80%;
}
.bsx-perf-badge {
font-size: 0.75rem;
padding: 0.2rem 0.4rem;
}
.bsx-campaign-row {
padding: 0.5rem 0.25rem;
}
}
/* Extra kleine Geräte */
@media (max-width: 360px) {
.bsx-row-header {
grid-template-columns: 50px 1fr 70px 70px;
}
/* Extra kleine Geräte - gleiche Struktur, etwas kleinere Fonts */
.bsx-row-header {
grid-template-columns: 35% 30% 35%;
}
.bsx-row-details {
grid-template-columns: 20% 20% 20% 20% 20%;
}
.bsx-corp {
font-size: 0.8rem;
}
.bsx-tenure {
font-size: 0.7rem;
}
.bsx-source {
font-size: 0.75rem;
}
.bsx-status,
.bsx-type {
font-size: 0.9rem;
}
.bsx-logo img {
max-height: 25px;
}
.bsx-perf-badge {
font-size: 0.7rem;
padding: 0.15rem 0.3rem;
}
}