/* ------------------------------------------------------------------ *
 *  RMDN Audytor — panel. Szata graficzna wg identyfikacji RMDN IT
 *  (F:\Claude Code\Strona WWW RMDN\identyfikacja\BRAND-RMDN.md).
 * ------------------------------------------------------------------ */
:root {
    --rmdn-it-bg: #0B1020;
    --rmdn-it-surface: #121A2F;
    --rmdn-it-line: #243050;
    --rmdn-it-primary: #4F7CFF;
    --rmdn-it-primary-dark: #3358D6;
    --rmdn-it-violet: #8B5CF6;
    --rmdn-it-cyan: #22D3EE;
    --rmdn-it-mint: #34D399;
    --rmdn-it-text: #E6EAF5;
    --rmdn-it-muted: #A9B3CC;
    --rmdn-it-light-bg: #F5F7FC;
    --rmdn-it-light-text: #0F172A;
    --rmdn-it-light-muted: #5B6478;
    --rmdn-it-grad: linear-gradient(120deg, #4F7CFF 0%, #8B5CF6 55%, #22D3EE 100%);

    /* kolory akcentu dla motywu DevExpress/Bootstrap */
    --bs-primary: var(--rmdn-it-primary);
    --bs-primary-rgb: 79, 124, 255;
    --bs-link-color: var(--rmdn-it-primary);
    --bs-link-hover-color: var(--rmdn-it-primary-dark);
}

html, body {
    height: 100%;
}

app {
    display: block;
    height: 100%;
    /* Bez komponentu SplashScreen nikt nie zdejmuje z <app> stylu ukrywającego
       (XAF odsłania go dopiero w hideLoadingPanel splash-a), a własny wskaźnik
       ładowania XAF (#xaf-loading) działa niezależnie. */
    visibility: visible !important;
    opacity: 1 !important;
}

/* Warstwa komunikatu o błędzie obwodu Blazora — domyślnie ukryta.
   Bez tej reguły „Application Error" wisi na ekranie od pierwszego renderu,
   bo komponent BlazorError jest w _Host.cshtml zawsze. */
#blazor-error-ui {
    background: inherit;
    bottom: 0;
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100001;
}

/* ---------------------------------------------------------- ekran startowy --- */
#applicationLoadingPanel {
    background: var(--rmdn-it-bg);
    color: var(--rmdn-it-text);
}

#applicationLoadingPanel .loading-caption {
    color: var(--rmdn-it-text);
    letter-spacing: 0.02em;
}

/* --------------------------------------------------------------- logowanie --- */
.xaf-logon-window,
.dxbl-window-content .xaf-logon {
    border-top: 3px solid transparent;
    border-image: var(--rmdn-it-grad) 1;
}

/* --------------------------------------------------------------- nagłówek --- */
.xaf-header,
.dxbl-toolbar.xaf-main-toolbar {
    background: var(--rmdn-it-bg);
    color: var(--rmdn-it-text);
}

.xaf-header .xaf-title,
.xaf-header a,
.xaf-header .dxbl-btn {
    color: var(--rmdn-it-text);
}

/* pasek marki: sygnet RMDN IT po lewej stronie tytułu */
.xaf-header .xaf-title::before {
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    margin-right: 0.55rem;
    vertical-align: -4px;
    background-image: url('../images/sygnet-rmdn-it.svg');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

/* cienka listwa w kolorach marki pod nagłówkiem */
.xaf-header::after {
    content: "";
    display: block;
    height: 3px;
    background: var(--rmdn-it-grad);
}

/* ------------------------------------------------------------------ menu --- */
.xaf-navigation .dxbl-treeview-item.dxbl-active,
.xaf-navigation .dxbl-listbox-item.dxbl-selected {
    background-color: rgba(79, 124, 255, 0.14);
    border-left: 3px solid var(--rmdn-it-primary);
}

/* ----------------------------------------------------------------- akcje --- */
.dxbl-btn-primary,
.btn-primary {
    background-color: var(--rmdn-it-primary);
    border-color: var(--rmdn-it-primary);
}

.dxbl-btn-primary:hover,
.btn-primary:hover {
    background-color: var(--rmdn-it-primary-dark);
    border-color: var(--rmdn-it-primary-dark);
}

/* --------------------------------------------------------------- statusy --- */
/* kolory statusów zadań: done/failed/approved czytelne na pierwszy rzut oka */
.status-done { color: var(--rmdn-it-mint); }
.status-failed { color: #F87171; }
.status-approved { color: var(--rmdn-it-primary); }
.status-new { color: var(--rmdn-it-violet); }
