/* KI-erstellt (Claude, 28.09.2026): Umstellung auf Sedna.UI, Phase A, ursprünglich wörtlich aus
   der früheren wwwroot/css/app.css übernommen (stillgelegte Kopie unter
   wwwroot/css/vor-sedna/app.css). Die reinen Bootstrap-Übersteuerungen der alten Datei
   (Sidebar/Kopfzeile-Klassen ".overwatch-*", ".app-nav-link") wurden bewusst NICHT übernommen -
   das Rahmenwerk kommt direkt aus Sedna.UI (Layout/MainLayout.razor).
   Korrekturrunde 1 (28.09.2026): Phase B ist inzwischen für alle Seiten (Home.razor
   eingeschlossen) abgeschlossen. Alle Regeln, die exakt dieselben Klassennamen wie Sedna.UI
   selbst trugen (.btn, .btn-primary, .alert, .alert-danger, .form-select, .form-check-input),
   sind deshalb weiter unten stillgelegt - Sedna.UI.css bestimmt deren Optik jetzt allein.
   Korrekturrunde 2 (28.09.2026): App.razor umgestellt, .btn-outline-light dadurch ebenfalls
   ungenutzt und stillgelegt. Aktiv bleiben nur echte App-eigene Ergänzungen ohne Namensgleichheit
   zu Sedna.UI (.hero-card/.panel-card/.metric-card - noch von Home.razor genutzt, .eyebrow,
   .narrow-panel, .empty-state, .server-table thead th, .ow-code-wrap, .ow-app-settings-cell). */

.hero-card,
.panel-card,
.metric-card {
    background: linear-gradient(180deg, var(--ow-surface), var(--ow-surface-2));
    border: 1px solid var(--ow-border);
    border-radius: var(--ow-r-lg);
    box-shadow: var(--ow-shadow-md);
}

.hero-card,
.panel-card {
    padding: 1.15rem 1.25rem;
}

/* Hero bekommt einen dezenten Akzent-Schimmer oben */
.hero-card {
    position: relative;
    overflow: hidden;
}

/* KI-erstellt (Claude, 28.09.2026), Korrekturrunde 1: fester Farbwert rgba(61, 139, 253, 0.16)
   durch das Sedna-Token --ow-accent-soft ersetzt (zeigt auf --brand-tint und wechselt damit
   automatisch mit Hell/Dunkel - der alte Wert war eine feste blaue Dunkel-Tönung, die im
   Hellmodus falsch gewirkt hätte). */
.hero-card::before {
    background: radial-gradient(120% 140% at 0% 0%, var(--ow-accent-soft), transparent 55%);
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
}

.hero-card > * {
    position: relative;
}

.metric-card {
    min-height: 100%;
    padding: 1.25rem;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.metric-card:hover {
    border-color: var(--ow-border-strong);
    transform: translateY(-1px);
}

.eyebrow,
.metric-label {
    color: var(--ow-text-muted);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.metric-value {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.1;
    margin-top: 0.5rem;
}

.metric-value-small {
    font-size: 1.2rem;
}

.metric-meta {
    color: var(--ow-text-muted);
    font-size: 0.95rem;
    margin-top: 0.75rem;
}

.letter-spaced {
    letter-spacing: 0.12em;
}

.narrow-panel {
    margin-inline: auto;
    max-width: 56rem;
}

/* --- ERSETZT am 28.09.2026: .status-pill/.status-pill-* (Vor-Sedna-Statusanzeige) durch
   Sedna.UI-Badges. Grund: AgentDetail, Einstellungen und Rechnerliste zeigen Status jetzt über
   .badge/.badge-go/-warn/-danger/-info (siehe Bauanleitung Abschnitt "Badges"). Bis Frank die
   alte Fassung freigibt, bleibt sie unten stillgelegt stehen - keine Seite nutzt sie mehr.
.status-pill {
    align-items: center;
    border: 1px solid transparent;
    border-radius: var(--ow-r-pill);
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 600;
    gap: 0.45rem;
    letter-spacing: 0.01em;
    padding: 0.36rem 0.75rem;
    white-space: nowrap;
}

.status-pill-ok {
    background: var(--ow-online-soft);
    border-color: rgba(67, 201, 139, 0.35);
    color: #93e7c1;
}

.status-pill-warn {
    background: rgba(230, 180, 85, 0.15);
    border-color: rgba(230, 180, 85, 0.35);
    color: #f0cd8a;
}

.status-pill-error {
    background: rgba(230, 115, 122, 0.16);
    border-color: rgba(230, 115, 122, 0.36);
    color: #f5aeb2;
}

.status-pill-info {
    background: var(--ow-accent-soft);
    border-color: var(--ow-accent-ring);
    color: #b3d3ff;
}

.status-pill-muted {
    background: rgba(255, 255, 255, 0.05);
    border-color: rgba(255, 255, 255, 0.1);
    color: #d4d8de;
}
--- */

/* KI-erstellt (Claude, 28.09.2026), Korrekturrunde 1: feste weiße Deckkraft-Werte (waren nur im
   Dunkelmodus richtig, im Hellmodus wären Fläche/Rahmen kaum sichtbar gewesen) durch
   theme-taugliche Werte ersetzt - color-mix mit --ow-text zieht die Fläche automatisch Richtung
   Vordergrundfarbe (im Dunkeln leicht heller, im Hellen leicht dunkler), --ow-border ist bereits
   ein Sedna-Token. */
.empty-state {
    background: color-mix(in srgb, var(--ow-text) 3%, transparent);
    border: 1px dashed var(--ow-border);
    border-radius: var(--ow-r-md);
    color: var(--ow-text-muted);
    padding: 1.2rem;
}

/* --- ERSETZT am 28.09.2026, Korrekturrunde 1: --bs-table-* (Bootstrap-Tabellenvariablen) und
   .clickable-row/.clickable-row:hover entfernt. Grund: Die --bs-table-*-Variablen wirkten nur auf
   Bootstraps eigenes Tabellen-CSS - seit Bootstrap entfernt ist, liest sie niemand mehr, dazu
   trugen sie einen festen, nicht Hell/Dunkel-tauglichen Farbwert. .clickable-row wird von keiner
   Seite mehr verwendet (Sedna.UI-Tabellenzeilen sind über .table--stack/eigene Knöpfe klickbar).
   Bis Frank die alte Fassung freigibt, bleibt sie stillgelegt stehen:
.server-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--ow-text);
    --bs-table-border-color: var(--ow-border);
    --bs-table-hover-bg: rgba(255, 255, 255, 0.03);
}

.clickable-row {
    cursor: pointer;
}

.clickable-row:hover td {
    background: rgba(255, 255, 255, 0.03);
}
--- */

.server-table thead th {
    color: var(--ow-text-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

/* --- ERSETZT am 28.09.2026, Korrekturrunde 1: .form-select/.form-check-input (inkl. Fokus-,
   Options- und Checked-Zuständen) sowie .validation-message, .btn/.btn:active, .btn-primary
   (inkl. Hover/Fokus) und .alert stillgelegt. Grund: Alle Seiten sind jetzt auf Sedna.UI
   umgestellt (Home.razor eingeschlossen) - diese Regeln trugen exakt dieselben Klassennamen wie
   Sedna.UI selbst und überschrieben dadurch dessen eigene, Hell/Dunkel-taugliche Optik mit der
   alten Vor-Sedna-Optik (teils mit festen Farbwerten wie #101722/#254c86/#fff, die im Hellmodus
   falsch gewirkt hätten). .validation-message wird zudem von keiner Seite mehr verwendet. Jetzt
   bestimmt Sedna.UI.css allein das Aussehen dieser Klassen. Bis Frank die alte Fassung freigibt,
   bleibt sie stillgelegt stehen:
.form-select,
.form-check-input {
    background-color: rgba(255, 255, 255, 0.04);
    border-color: var(--ow-border-strong);
    border-radius: var(--ow-r-sm);
    color: var(--ow-text);
}

.form-select {
    color-scheme: dark;
}

.form-select option,
.form-select optgroup {
    background: #101722;
    color: #f5f7fa;
}

.form-select option:checked {
    background: #254c86;
    color: #fff;
}

.form-select:focus,
.form-check-input:focus {
    background-color: rgba(255, 255, 255, 0.06);
    border-color: rgba(61, 139, 253, 0.6);
    box-shadow: 0 0 0 0.2rem var(--ow-accent-soft);
    color: var(--ow-text);
}

.form-check-input:checked {
    background-color: var(--ow-accent);
    border-color: var(--ow-accent);
}

.validation-message {
    color: #ff9f9f;
    display: block;
    margin-top: 0.35rem;
}

.btn {
    border-radius: var(--ow-r-sm);
    font-weight: 600;
    transition: filter 0.15s ease, background 0.15s ease, border-color 0.15s ease, transform 0.08s ease;
}

.btn:active {
    transform: translateY(1px);
}

.btn-primary {
    background: linear-gradient(180deg, var(--ow-accent-2), var(--ow-accent));
    border-color: var(--ow-accent-strong);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14), 0 8px 18px -10px var(--ow-accent-ring);
    color: #fff;
}

.btn-primary:hover,
.btn-primary:focus {
    background: linear-gradient(180deg, #6ba7ff, #3d8bfd);
    border-color: var(--ow-accent);
    filter: none;
}

.alert {
    border-radius: var(--ow-r-md);
}
--- */

/* --- ERSETZT am 28.09.2026, Korrekturrunde 2: .btn-outline-light stillgelegt. Grund: App.razor
   war die letzte Nutzerin (Fehlerseiten) und ist jetzt ebenfalls auf Sedna umgestellt (.btn ohne
   Zusatzklasse statt Outline-Variante, siehe Bauanleitung Abschnitt "Knöpfe" - Sedna kennt keine
   Outline-Variante). Keine Seite verwendet .btn-outline-light mehr. Bis Frank die alte Fassung
   freigibt, bleibt sie stillgelegt stehen:
.btn-outline-light {
    border-color: var(--ow-border-strong);
    color: var(--ow-text);
}

.btn-outline-light:hover,
.btn-outline-light:focus {
    background: color-mix(in srgb, var(--ow-text) 8%, transparent);
    border-color: var(--ow-border-strong);
    color: var(--ow-text);
}
--- */

/* --- ERSETZT am 28.09.2026: .alert-success (Vor-Sedna-Erfolgsmeldung). Grund: AgentDetail und
   Einstellungen (die einzigen Nutzer) zeigen Erfolgsmeldungen jetzt über Sednas eigenes
   .alert-go (siehe Bauanleitung Abschnitt "Hinweis-/Meldungsboxen").
   Korrekturrunde 1 (28.09.2026): .alert-danger dazugenommen und ebenfalls stillgelegt - trug
   denselben Klassennamen wie Sedna.UI selbst und überschrieb dessen eigene, Hell/Dunkel-taugliche
   Optik mit festen Farbwerten (u. a. #ffd5d8, im Hellmodus falsch). Alle Seiten sind inzwischen
   auf Sedna umgestellt, Sedna.UI.css bestimmt jetzt allein die Optik. Bis Frank die alte Fassung
   freigibt, bleibt sie stillgelegt stehen:
.alert-success {
    background: var(--ow-online-soft);
    border-color: rgba(67, 201, 139, 0.35);
    color: #c9f5e3;
}

.alert-danger {
    background: rgba(230, 115, 122, 0.15);
    border-color: rgba(230, 115, 122, 0.35);
    color: #ffd5d8;
}
--- */

/* KI-erstellt (Claude, 28.09.2026): Zwei kleine, App-präfixierte Ergänzungsklassen für
   AgentDetail.razor - Sedna.UI liefert dafür kein eigenes Dienstprogramm (siehe Bauanleitung
   Abschnitt "Abstände/Raster": "es gibt KEIN allgemeines Padding-Dienstprogramm"). Beide setzen
   nur Struktur, keine Farben - Farben kommen weiterhin ausschließlich aus Sedna-Tokens. */

/* Lange Dateipfade/IDs in <code>-Zellen (Spalte "Pfad" im App-Inventar) sollen umbrechen statt
   die Tabelle aufzureißen oder den Text abzuschneiden (Design.md: keine abgeschnittenen
   Kennungen). */
.ow-code-wrap {
    overflow-wrap: anywhere;
}

/* Settings-Zelle im App-Inventar (DebugLevel-/Konsole-Auswahl plus Speichern-Knopf): ohne
   Mindestbreite würden die beiden <select>-Felder in der schmalen Tabellenspalte auf eine
   unbrauchbare Breite zusammenschrumpfen. */
.ow-app-settings-cell {
    min-width: 12rem;
}
