/* =========================================================================
   BLS media - PMG Quarantine Modernization Theme
   Accent: #ff6b3d
   ========================================================================= */

@import url('https://assets.blsmedia.de/fonts/bls_sans.css');

/* color variables (e.g. for the spam info grid) */
:root {
    --pmg-spam-high-neg: #acd1ec;
    --pmg-spam-high-pos: #e8b0b2;
    --pmg-spam-mid-neg: #d7e9f6;
    --pmg-spam-mid-pos: #f3d6d7;
    --pmg-spam-low-neg: #eef6fb;
    --pmg-spam-low-pos: #faeff0;
    
    /* BLS Brand Colors */
    --bls-accent: #ff6b3d;
    --bls-accent-hover: #e55a2d;
    --bls-font-family: "BLS Sans", "Open Sans", "Helvetica Neue", helvetica, arial, sans-serif;
}

/* Global Font Override */
body, .x-body, .x-form-item-label, .x-btn-inner, .x-grid-cell-inner, .x-menu-item-text {
    font-family: var(--bls-font-family) !important;
}

/* add missing class for context menu header with BLS Accent */
.x-menu-header {
    font: 500 13px / 20px var(--bls-font-family);
    color: #fff;
    padding: 6px 8px;
    background-color: var(--bls-accent);
    border-radius: 4px 4px 0 0;
}

/* make the upper window end visible (softer shadow for modern UI) */
.x-css-shadow {
    box-shadow: rgba(0, 0, 0, 0.15) 0px 4px 20px !important;
}

/* reduce tree space */
.x-grid-cell-inner-treecolumn {
    padding: 4px 0px 3px 0px;
}

/* horizontal distance between parent and child leaf */
.x-tree-elbow-img {
    width: 14px;
}

/* adjust horizontal position of menu icons */
.x-menu-item-icon-default {
    top: 5px;
    left: 3px;
    font-size: 14px;
    color: var(--bls-accent);
}

/* this gives a better placement for the font-awesome icons */
.x-btn-icon-el-default-toolbar-small {
    height: 14px;
}

/* this icon looks weird in sizes not n*14px */
.x-btn-icon-el-default-toolbar-small.fa-ellipsis-v {
    font-size: 14px;
}

.x-btn-icon-el-default-small,
.pmx-icon-size {
    height: 14px;
    font-size: 14px;
}

.txt-shadow-hover:hover:before,
.txt-shadow-hover:hover:after {
    text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}

.txt-monospace {
    font-family: Consolas, "Roboto Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono",
        "Liberation Mono", "Nimbus Mono L", Monaco, "Courier New", Courier, monospace;
}

/* icons for tree/snapshots/menus/etc.. */
.x-tree-icon-parent,
.x-tree-icon-parent-expanded {
    background: none;
    display: inline-block;
    font: normal normal normal 14px / 1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-size: 1.25em;
    line-height: 1.6em;
    color: var(--bls-accent);
    margin-right: 5px;
}

.x-tree-icon-parent:not(.x-tree-icon-custom):before {
    content: "\f114";
}

.x-tree-icon-parent-expanded:not(.x-tree-icon-custom):before {
    content: "\f115";
}

/* displayfield minheight is wrong */
.x-form-display-field-default {
    min-height: 20px;
}

.x-button-reset:before {
    font-size: 16px;
    color: var(--bls-accent);
}

/* for resetcolumnsbutton */
.x-button-reset:after {
    content: "\f0e7 ";
    position: relative;
    text-shadow: 0 0 2px #fff;
    left: -3px;
    top: 2px;
}

.proxmox-inline-button .x-btn-inner {
    color: black;
}

/* for auto layout */
div.inline-block {
    display: inline-block;
    vertical-align: top;
}

.pointer {
    cursor: pointer;
}

.x-grid-filters-filtered-column {
    font-style: italic;
    font-weight: bold;
    color: var(--bls-accent);
}

/* mark disabled grid entries */
table:not(.x-grid-item-selected) tr.x-grid-row.disabled {
    color: #a0a0a0;
}

/* de-emphasize quarantine mails marked as seen, unless they are selected */
table:not(.x-grid-item-selected) tr.x-grid-row.pmg-mail-seen {
    opacity: 0.6;
}

/* fix action column icons */
.x-action-col-icon {
    font-size: 14px;
}

.x-action-col-icon:before {
    color: var(--bls-accent);
}

.x-treelist-item-icon {
    color: #000;
}

.x-treelist-pve-nav {
    background-color: #f9f9f9;
    border-right: 1px solid #e0e0e0;
}

.x-treelist-row-over > * > .x-treelist-item-icon,
.x-treelist-row-over > * > .x-treelist-item-text {
    color: var(--bls-accent);
}

.x-treelist-row {
    padding: 4px 10px 4px 6px;
}

/* chrome 56 fix */
.x-webkit .x-form-text {
    height: 100% !important;
}

.x-webkit :not(.x-form-textarea-body) > .x-form-trigger-wrap {
    height: initial;
}

tr.x-grid-row-summary td.x-grid-cell {
    border-top: 1px solid #e0e0e0;
    font-weight: 600;
}

p.logs {
    white-space: nowrap;
    font-family: monospace;
    overflow: auto;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    margin: 5px;
    padding: 8px;
    background-color: #fafafa;
}

/* Status Colors - Adjusted for modern pastel look */
tr.quarantine { background-color: #fff3e0; }
tr.blocked { background-color: #ffebee; }
tr.bounced { background-color: #fff8e1; }

.green { color: #2e7d32; }
.gray { color: #9e9e9e; }
.red { color: #c62828; }
.yellow { color: #f9a825; }
.bold { font-weight: 600; }

div.left { float: left; }
div.right { float: right; }
td.right { text-align: right; }
td.center { text-align: center; }
td.left { text-align: left; }

table.dash {
    margin: auto;
    width: 90%;
}

table.dash h2 {
    margin: 4px 0px;
    font-weight: 600;
}

table.dash td.half {
    width: 50%;
}

a.download {
    color: var(--bls-accent);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s ease;
}

a.download:hover {
    color: var(--bls-accent-hover);
}

.pmx-rule-tree .x-tree-icon,
.pmx-rule-tree .x-tree-elbow,
.pmx-rule-tree .x-tree-elbow-end {
    display: none;
    width: 0px;
}

.pmx-type-row td {
    padding: 3px;
}

kbd {
    background-color: #f5f5f5;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 3px;
    display: inline-block;
    font-size: 0.85em;
    font-weight: 600;
    line-height: 1.2;
    padding: 3px 6px;
    white-space: nowrap;
    box-shadow: 0 1px 1px rgba(0,0,0,0.05);
}

/* =========================================================================
   ExtJS Theme Overrides (Ersetzt das Standard-Blau #157fcc restlos)
   ========================================================================= */

/* Standard-Links, Tab-Titel, Formular-Fokus und ausgewählte Zeilen */
a,
.x-panel-header-title-default,
.x-window-header-title-default,
.x-menu-item-active .x-menu-item-text {
    color: var(--bls-accent) !important;
}

.x-form-focus,
.x-form-cb-checked .x-form-cb-input {
    border-color: var(--bls-accent) !important;
}

.x-grid-item-selected {
    background-color: rgba(255, 107, 61, 0.1) !important;
}

/* Buttons in BLS-Akzentfarbe (Farbverlauf entfernen, weißer Text) */
.x-btn-default-small,
.x-btn-default-toolbar-small,
.x-btn-primary-small {
    background-color: var(--bls-accent) !important;
    border-color: var(--bls-accent) !important;
    background-image: none !important;
}

.x-btn-inner-default-small,
.x-btn-inner-default-toolbar-small,
.x-btn-inner-primary-small {
    font-family: var(--bls-font-family) !important;
    color: #ffffff !important;
    font-weight: 500;
}

/* Button Hover-Effekte */
.x-btn-default-small:hover,
.x-btn-default-toolbar-small:hover,
.x-btn-primary-small:hover {
    background-color: var(--bls-accent-hover) !important;
    border-color: var(--bls-accent-hover) !important;
}

.x-btn-default-small:hover .x-btn-inner,
.x-btn-default-toolbar-small:hover .x-btn-inner,
.x-btn-primary-small:hover .x-btn-inner {
    color: #ffffff !important;
}

/* =========================================================================
   Tabs und Panel-Icons anpassen
   ========================================================================= */

/* Aktive und gehoverte Tabs: Verläufe entfernen, helles Orange setzen */
.x-tab-active.x-tab-default,
.x-tab-over.x-tab-default,
.x-tab-default:hover {
    background-color: rgba(255, 107, 61, 0.15) !important;
    background-image: none !important;
    border-color: rgba(255, 107, 61, 0.3) !important;
}

/* Tab-Text und Rahmen für den aktiven Tab */
.x-tab-active.x-tab-default .x-tab-inner-default {
    color: var(--bls-accent) !important;
}
.x-tab-active.x-tab-default {
    border-bottom-color: var(--bls-accent) !important;
}

/* Panel Header Icons (z. B. fa-tasks) umfärben */
.x-title-icon-default,
.x-panel-header-icon,
.x-window-header-icon,
.x-panel-header-icon-default {
    color: var(--bls-accent) !important;
}

/* =========================================================================
   Seitenleiste (Treelist / Navigation) anpassen
   ========================================================================= */

/* Hintergrund des aktiven Menüpunkts in der linken Leiste (ersetzt das helle Blau) */
.x-treelist-item-selected > .x-treelist-row {
    background-color: rgba(255, 107, 61, 0.15) !important;
}

/* Text und Icon des aktiven Menüpunkts in Akzentfarbe */
.x-treelist-item-selected > .x-treelist-row > * > .x-treelist-item-text,
.x-treelist-item-selected > .x-treelist-row > * > .x-treelist-item-icon {
    color: var(--bls-accent) !important;
}

/* Leichter oranger Hintergrund beim Hovern in der Seitenleiste */
.x-treelist-row-over {
    background-color: rgba(255, 107, 61, 0.05) !important;
}
