/* DRAGON CLOUD Dirigent – jen tmavý motiv (podle upload/styl.png). */
:root,
[data-bs-theme=dark] {
    --dg-bg: #24224f;
    --dg-panel: #1b1a45;
    --dg-panel-2: #2c2a5c;
    --dg-border: #34326a;
    --dg-text: #ffffff;
    --dg-muted: #aeb0d6;
    --dg-accent: #c8102e;

    --bs-body-bg: var(--dg-bg);
    --bs-body-color: var(--dg-text);
    --bs-border-color: var(--dg-border);
    --bs-link-color-rgb: 255, 255, 255;
    --bs-link-hover-color-rgb: 255, 255, 255;
}

html, body { height: 100%; }
body { background: var(--dg-bg); }

.dg-shell { display: flex; flex-direction: column; min-height: 100vh; }

.dg-topbar {
    display: flex; align-items: center; gap: 1rem;
    padding: .75rem 1.25rem;
}
.dg-brand {
    font-weight: 800; font-size: 1.5rem; letter-spacing: .02em;
    color: var(--dg-text); text-decoration: none;
}
.dg-brand span { color: var(--dg-accent); }
.dg-app { color: var(--dg-muted); font-size: 1.25rem; }

.dg-btn, .dg-lang {
    border: 1px solid var(--dg-border); background: var(--dg-panel); color: var(--dg-text);
}
.dg-btn:hover, .dg-lang:hover { border-color: var(--dg-muted); color: var(--dg-text); background: var(--dg-panel-2); }
.dg-btn:disabled, .dg-btn.disabled { color: var(--dg-muted); border-color: var(--dg-border); }
.dg-btn-accent { background: var(--dg-accent); border: 1px solid var(--dg-accent); color: #fff; }
.dg-btn-accent:hover, .dg-btn-accent:focus { background: #a50d26; border-color: #a50d26; color: #fff; }
.dg-btn-accent:disabled { background: var(--dg-panel-2); border-color: var(--dg-border); color: var(--dg-muted); }
.dg-lang.active, .dg-lang.active:hover { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff; }

.dg-body { display: flex; flex: 1; }

.dg-sidebar {
    width: 13rem; flex-shrink: 0;
    padding: .5rem;
    background: var(--dg-panel);
    display: flex; flex-direction: column; gap: 2px;
}
.dg-sidebar hr { border-color: var(--dg-border); margin: .5rem 0; }
.dg-nav {
    display: flex; align-items: center; gap: .6rem;
    padding: .5rem .75rem; border-left: 3px solid transparent;
    color: var(--dg-text); text-decoration: none; border-radius: 0 4px 4px 0;
}
.dg-nav:hover { background: var(--dg-panel-2); }
.dg-nav.active { border-left-color: var(--dg-accent); background: var(--dg-panel-2); font-weight: 600; }
.dg-nav.disabled { color: var(--dg-muted); opacity: .55; pointer-events: none; }
/* podnabídka (Statistiky, Logy pod Přehledem) – mírně odsazená */
.dg-nav-sub { padding-left: 1.75rem; font-size: .925rem; }

.dg-main { flex: 1; padding: 1.25rem 1.5rem; min-width: 0; }

.dg-title { font-size: 1.35rem; font-weight: 700; margin-bottom: .25rem; }
.dg-subtitle { color: var(--dg-muted); font-size: .9rem; }

.dg-panel { background: var(--dg-panel); border-radius: 4px; padding: 1.25rem 1.5rem; margin-bottom: 1.25rem; }

.dg-props { display: grid; grid-template-columns: 14rem 1fr; row-gap: .6rem; margin: 0; }
.dg-props dt { color: var(--dg-muted); font-weight: 400; }
.dg-props dd { margin: 0; font-weight: 600; }

.dg-footer {
    display: flex; justify-content: space-between;
    padding: .5rem 1.25rem; font-size: .8rem; color: var(--dg-muted);
}

/* ---------- krok 4: layout, tabulky, formuláře ---------- */
.dg-muted { color: var(--dg-muted); }
.dg-error-text { color: #ff8a8a; max-width: 28rem; }
.dg-ack-comment { margin-top: .25rem; white-space: pre-wrap; color: var(--dg-muted); max-width: 48rem; }
.dg-h2 { font-size: 1.05rem; font-weight: 700; margin: 0 0 .75rem; }
.dg-panel-head { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: .75rem; }
.dg-panel-head .dg-h2 { margin: 0; }

.dg-activity { color: var(--dg-muted); font-size: .9rem; white-space: nowrap; }
.dg-badge-dryrun { background: #b8860b; color: #fff; letter-spacing: .05em; }
/* druh vlákna / pole (KindBadge) */
.dg-kind { min-width: 2.6rem; letter-spacing: .03em; }
.dg-kind-pve { background: #f5a454; color: #1b1a45; }   /* světle oranžová */
.dg-kind-hw { background: #2f6fe0; color: #fff; }       /* modrá – kontrast k oranžové, ne červená / zelená (stavy) */
.dg-menu { background: var(--dg-panel); border-color: var(--dg-border); min-width: 14rem; }
.dg-menu .dropdown-item { color: var(--dg-text); border-radius: 3px; }
.dg-menu .dropdown-item:hover { background: var(--dg-panel-2); }

/* sbalená navigace = jen ikony */
.dg-collapsed .dg-sidebar { width: 3.25rem; }
.dg-collapsed .dg-nav span { display: none; }
.dg-collapsed .dg-nav { justify-content: center; padding-left: .5rem; padding-right: .5rem; }
.dg-collapsed .dg-nav-sub i { font-size: .85em; }

.dg-alert { border-radius: 4px; }
.dg-alert-warning { background: rgba(184, 134, 11, .18); border: 1px solid #b8860b; color: #ffe08a; }

.dg-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); gap: .75rem; margin-bottom: 1.25rem; }
.dg-tile { background: var(--dg-panel); border-radius: 4px; padding: .9rem 1rem; border-left: 3px solid var(--dg-border); }
/* barva podle stavu: okraj, jemný nádech pozadí a barva hodnoty (stejné barvy jako štítky stavů) */
.dg-tile { border-left-width: 4px; }
.dg-tile-ok { border-left-color: #1f8a4c; background: linear-gradient(90deg, rgba(31, 138, 76, .22), var(--dg-panel) 70%); }
.dg-tile-ok .dg-tile-value { color: #5fd38f; }
.dg-tile-warn { border-left-color: #b8860b; background: linear-gradient(90deg, rgba(184, 134, 11, .25), var(--dg-panel) 70%); }
.dg-tile-warn .dg-tile-value { color: #ffd166; }
.dg-tile-bad { border-left-color: var(--dg-accent); background: linear-gradient(90deg, rgba(200, 16, 46, .28), var(--dg-panel) 70%); }
.dg-tile-bad .dg-tile-value { color: #ff7a8f; }
.dg-tile-running { border-left-color: #2f6fd6; background: linear-gradient(90deg, rgba(47, 111, 214, .25), var(--dg-panel) 70%); }
.dg-tile-running .dg-tile-value { color: #8db8ff; }
.dg-tile-info { border-left-color: #6c63c7; }
.dg-tile-label { color: var(--dg-muted); font-size: .8rem; }
.dg-tile-value { font-size: 1.5rem; font-weight: 700; }

.dg-table { --bs-table-bg: transparent; --bs-table-color: var(--dg-text); --bs-table-border-color: var(--dg-border); margin-bottom: .5rem; }
.dg-table thead th { color: var(--dg-muted); font-weight: 400; font-size: .85rem; white-space: nowrap; }
.dg-row-disabled > * { opacity: .55; }
.dg-scroll { max-height: 32rem; overflow: auto; }
.dg-details { font-family: var(--bs-font-monospace); font-size: .75rem; word-break: break-all; max-width: 22rem; }

.form-control, .form-select { background-color: var(--dg-bg); border-color: var(--dg-border); color: var(--dg-text); }
.form-control:focus, .form-select:focus { background-color: var(--dg-bg); color: var(--dg-text); border-color: var(--dg-muted); box-shadow: none; }
.form-control::placeholder { color: var(--dg-muted); opacity: .8; }
.form-check-input:checked { background-color: var(--dg-accent); border-color: var(--dg-accent); }
.form-label { color: var(--dg-muted); margin-bottom: .2rem; }
fieldset:disabled .form-control, fieldset:disabled .form-select { opacity: .7; }

.dg-filters { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; padding: .75rem 1rem; }
.dg-filters .form-control, .dg-filters .form-select { width: auto; min-width: 12rem; }
.dg-input-inline { max-width: 18rem; }
.dg-input-time { max-width: 7.5rem; }
.dg-select-mode { min-width: 8rem; }

.dg-import { list-style: none; padding: 0; font-size: .85rem; }
.dg-import-imported { color: #8fe3a5; }
.dg-import-mismatch { color: #ff8a8a; font-weight: 600; }
.dg-import-missing { color: #ffe08a; }
.dg-import-othertype { color: #ffe08a; }

.dg-status { font-weight: 600; }
.dg-status-ok { background: #1f8a4c; }
.dg-status-warning { background: #b8860b; }
.dg-status-failed { background: var(--dg-accent); }
.dg-status-running { background: #2f6fd6; }
.dg-status-queued, .dg-status-skipped, .dg-status-cancelled { background: #555a85; }
.dg-status-dryrun { background: transparent; border: 1px solid var(--dg-muted); color: var(--dg-muted); }
.dg-badge-excluded { background: #555a85; }

.dg-color { display: inline-block; width: .75rem; height: .75rem; border-radius: 2px; margin-right: .35rem; vertical-align: baseline; }

.dg-sortable { list-style: none; padding: 0; margin: 0; counter-reset: dg-node; }
.dg-sortable li {
    display: flex; align-items: center; gap: .6rem; padding: .45rem .6rem; margin-bottom: 4px;
    background: var(--dg-panel-2); border-radius: 4px; counter-increment: dg-node;
}
.dg-sortable li::before { content: counter(dg-node) "."; color: var(--dg-muted); min-width: 1.5rem; }
.dg-drag { cursor: grab; color: var(--dg-muted); }
.dg-sortable .sortable-ghost { opacity: .4; }

.dg-schedule { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .5rem 0; border-bottom: 1px solid var(--dg-border); }
.dg-day { border: 1px solid var(--dg-border); background: var(--dg-bg); color: var(--dg-muted); min-width: 2.4rem; }
.dg-day.active { background: var(--dg-accent); border-color: var(--dg-accent); color: #fff; }
.dg-day:disabled { opacity: 1; }

/* přihlášení */
.dg-auth { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1rem; padding: 1rem; }
.dg-auth-box { width: 100%; max-width: 26rem; background: var(--dg-panel); border-radius: 6px; padding: 1.75rem; }
.dg-auth-brand { display: flex; flex-direction: column; gap: .1rem; margin-bottom: 1.25rem; }
.dg-auth-brand .dg-brand { white-space: nowrap; line-height: 1.1; }
.dg-auth-brand .dg-app { font-size: 1rem; }
.dg-auth .dg-tabbar { margin: 0 0 1.25rem; }
.dg-auth .dg-tab { flex: 1; justify-content: center; text-decoration: none; padding-left: .5rem; padding-right: .5rem; }
.dg-auth-lang { display: flex; gap: .75rem; justify-content: center; margin-top: 1.25rem; font-size: .85rem; }
.dg-auth-lang a { color: var(--dg-muted); text-decoration: none; }
.dg-auth-lang a.active { color: var(--dg-text); font-weight: 700; border-bottom: 2px solid var(--dg-accent); }
.dg-auth .dg-footer { width: 100%; max-width: 26rem; }

/* ---------- krok 5: běhy, logy ---------- */
a.dg-activity { text-decoration: none; }
a.dg-activity:hover { color: var(--dg-text); }
.dg-run-row { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .5rem 0; border-bottom: 1px solid var(--dg-border); }
.dg-progress { flex: 1 1 8rem; min-width: 6rem; height: .5rem; background: var(--dg-bg); }
.dg-progress .progress-bar { background: var(--dg-accent); }
.dg-guest-pick { display: grid; grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); gap: .25rem .75rem; max-height: 16rem; overflow: auto;
    padding: .5rem; background: var(--dg-bg); border-radius: 4px; }
.dg-message { white-space: pre-wrap; font-size: .8rem; color: #ffe08a; background: var(--dg-bg); padding: .5rem .75rem; border-radius: 4px; }
.dg-command { display: block; word-break: break-all; white-space: pre-wrap; color: var(--dg-muted); margin-top: .25rem; }
.dg-log { white-space: pre-wrap; word-break: break-all; font-size: .78rem; line-height: 1.35; background: #12112f; color: #d7d8ee;
    padding: 1rem; border-radius: 4px; }
.dg-ellipsis { max-width: 28rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* ---------- krok 6: grafy, PBS ---------- */
.dg-chart { width: 100%; min-height: 160px; }
.dg-h3 { font-size: .95rem; font-weight: 600; margin: 1rem 0 .5rem; }
.dg-props-narrow { grid-template-columns: 9rem 1fr; }

/* ---------- krok 7: dry-run, import, připravenost ---------- */
.dg-row-attention > td:first-child { box-shadow: inset 3px 0 0 #b8860b; }
.dg-code { font-family: var(--bs-font-monospace); font-size: .8rem; }
.dg-import-lane { border-top: 1px solid var(--dg-border); padding-top: .5rem; margin-top: .5rem; }
.dg-ready { list-style: none; padding: 0; margin: 0; }
.dg-ready li { padding: .3rem 0; border-bottom: 1px solid var(--dg-border); }
.dg-ready li i { margin-right: .4rem; }
.dg-ready li.ok i { color: #2fb36a; }
.dg-ready li.bad i { color: var(--dg-accent); }
.dg-ready li.info i { color: var(--dg-muted); }

/* ---------- záložky stránek (TabBar) ---------- */
.dg-tabbar {
    display: flex; gap: .25rem; overflow-x: auto; scrollbar-width: thin;
    border-bottom: 2px solid var(--dg-accent); margin: .75rem 0 0;
}
.dg-tab {
    position: relative; display: inline-flex; align-items: center; gap: .45rem; white-space: nowrap;
    padding: .5rem 1.25rem .55rem; background: none; border: 0; border-radius: 4px 4px 0 0;
    color: var(--dg-muted); font-size: 1.05rem;
}
.dg-tab:hover { color: var(--dg-text); background: var(--dg-panel); }
.dg-tab.active { color: var(--dg-text); font-weight: 600; }
/* šipka nad červenou linkou pod vybranou záložkou */
.dg-tab.active::after {
    content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
    border: 7px solid transparent; border-bottom-color: var(--dg-accent); border-top-width: 0;
}
.dg-tab:focus-visible { outline: 2px solid var(--dg-accent); outline-offset: -2px; }
.dg-tab-count {
    font-size: .75rem; font-weight: 600; line-height: 1; padding: .2rem .45rem; border-radius: 1rem;
    background: var(--dg-panel-2); color: var(--dg-muted);
}
.dg-tab.active .dg-tab-count { background: var(--dg-accent); color: #fff; }
/* obsah záložky navazuje na lištu */
.dg-tabbody { padding-top: 1rem; }
.dg-tabbody > .dg-panel:first-child { border-top-left-radius: 0; border-top-right-radius: 0; }
/* formuláře v záložce nejsou přes celou šířku – řádky by byly nečitelně dlouhé */
.dg-form-panel > * { max-width: 60rem; }

/* ---------- Přehled ---------- */
.dg-panel-bad { border-left: 3px solid var(--dg-accent); }
.dg-panel-head .dg-h2 i { color: var(--dg-muted); margin-right: .2rem; }
.dg-panel-bad .dg-panel-head .dg-h2 i { color: var(--dg-accent); }
.dg-sysinfo { display: flex; flex-wrap: wrap; gap: .4rem 1.75rem; font-size: .8rem; color: var(--dg-muted); padding: 0 .25rem; }
.dg-sysinfo strong { color: var(--dg-text); font-weight: 600; margin-left: .25rem; }

/* ---------- dialogy (Shared/Dialog.razor) ---------- */
.dg-modal .modal-content { background: var(--dg-panel); border: 1px solid var(--dg-border); color: var(--dg-text); }
.dg-modal .modal-header, .dg-modal .modal-footer { border-color: var(--dg-border); }
.dg-modal .modal-title { margin: 0; }
.modal-backdrop.show { opacity: .65; }
/* tlačítko „Přidat …“ v záhlaví panelu / stránky */
.dg-toolbar { display: flex; align-items: center; gap: .5rem; flex-wrap: wrap; margin-bottom: .75rem; }
.dg-fingerprint { display: block; font-size: .95rem; padding: .5rem .75rem; background: var(--dg-bg); border-radius: 4px; word-break: break-all; }
