﻿/* =========================================================
   BOOTSTRAP OVERRIDES (GLOBAL) — scoped via .ava-app
   ========================================================= */

.ava-app .container,
.ava-app .container-fluid,
.ava-app .row,
.ava-app .col,
.ava-app [class*="col-"] {
    background: transparent !important;
}

/* Cards */
.ava-app .card {
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(0, 30, 48, 0.86), rgba(0, 30, 48, 0.64)) !important;
    border: 1px solid rgba(10,243,219,0.10) !important;
    box-shadow: var(--ava-shadow-soft) !important;
}

.ava-app .card-header {
    padding: 14px !important;
    background: transparent !important;
    border-bottom: 1px solid rgba(10,243,219,0.08) !important;
    color: var(--ava-text) !important;
    flex-shrink: 0 !important;
}

.ava-app .card-body {
    padding: 14px !important;
    color: var(--ava-text-soft) !important;
    background: transparent !important;
}

/* Text helpers */
.ava-app .text-muted {
    color: var(--ava-text-muted) !important;
}

.ava-app .fw-semibold {
    font-weight: 800 !important;
}

/* Inputs */
.ava-app .form-control,
.ava-app .form-select,
.ava-app textarea.form-control {
    border-radius: 14px !important;
    border: 1px solid rgba(10,243,219,0.12) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.04), transparent), rgba(0, 42, 67, 0.26) !important;
    color: var(--ava-text) !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 11px 12px !important;
}

    .ava-app .form-control::placeholder,
    .ava-app textarea.form-control::placeholder {
        color: var(--ava-text-muted) !important;
    }

    .ava-app .form-control:focus,
    .ava-app .form-select:focus,
    .ava-app textarea.form-control:focus {
        border-color: rgba(75, 232, 255, 0.55) !important;
        box-shadow: var(--ava-ring-2) !important;
        background: rgba(0, 42, 67, 0.38) !important;
    }

/* Buttons */
.ava-app .btn {
    border-radius: 14px !important;
    font-weight: 900 !important;
    border: 1px solid rgba(10,243,219,0.4) !important;
    background: linear-gradient(180deg, rgba(255,255,255,0.12), rgba(255,255,255,0.04)), rgba(0, 42, 67, 0.85) !important;
    color: rgba(255, 255, 255, 0.98) !important;
    box-shadow: 0 4px 8px rgba(0,0,0,0.3) !important;
    transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease, border-color 0.18s ease, background 0.18s ease !important;
}

    .ava-app .btn:hover:not(:disabled) {
        transform: translateY(-1px) !important;
        background: linear-gradient(180deg, rgba(255,255,255,0.16), rgba(255,255,255,0.06)), rgba(0, 42, 67, 0.95) !important;
        border-color: rgba(75, 232, 255, 0.7) !important;
        box-shadow: 0 6px 12px rgba(0,0,0,0.4) !important;
        filter: brightness(1.08) !important;
    }

    .ava-app .btn:active {
        transform: translateY(0px) !important;
    }

    .ava-app .btn:disabled,
    .ava-app .btn.disabled {
        opacity: .5 !important;
        cursor: not-allowed !important;
        filter: saturate(.7) !important;
    }

/* Variants */
.ava-app .btn-primary {
    border: 1px solid rgba(10,243,219,0.5) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(10,243,219,0.95), rgba(0,180,180,0.92)) !important;
    color: #001E30 !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 10px rgba(10, 243, 219, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

    .ava-app .btn-primary:hover:not(:disabled) {
        filter: brightness(1.1) !important;
        border-color: rgba(75,232,255,0.65) !important;
        box-shadow: 0 6px 14px rgba(10, 243, 219, 0.25) !important;
    }

.ava-app .btn-outline-primary {
    border: 2px solid rgba(10,243,219,0.5) !important;
    background: rgba(0, 42, 67, 0.75) !important;
    color: rgba(10,243,219,0.98) !important;
}

    .ava-app .btn-outline-primary:hover:not(:disabled) {
        background: rgba(10,243,219,0.15) !important;
        border-color: rgba(10,243,219,0.7) !important;
    }

.ava-app .btn-success {
    border: 1px solid rgba(88,243,166,0.5) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(88,243,166,0.92), rgba(0,200,120,0.88)) !important;
    color: #001E30 !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 10px rgba(88, 243, 166, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.2) !important;
}

    .ava-app .btn-success:hover:not(:disabled) {
        filter: brightness(1.1) !important;
        box-shadow: 0 6px 14px rgba(88, 243, 166, 0.25) !important;
    }

.ava-app .btn-secondary {
    border: 2px solid rgba(75, 232, 255, 0.4) !important;
    background: rgba(0, 42, 67, 0.85) !important;
    color: rgba(255, 255, 255, 0.98) !important;
}

    .ava-app .btn-secondary:hover:not(:disabled) {
        background: rgba(0, 42, 67, 0.95) !important;
        border-color: rgba(75, 232, 255, 0.6) !important;
    }

.ava-app .btn-link {
    color: rgba(10,243,219,0.98) !important;
    font-weight: 900 !important;
    font-size: 0.95rem;
    line-height: 1.25;
    padding: 6px 10px;
    min-height: 34px;
    text-decoration: none !important;
    text-shadow: 0 0 8px rgba(10,243,219,0.3) !important;
    display: inline-flex;
    align-items: center;
}

    .ava-app .btn-link:hover {
        text-decoration: underline !important;
        color: rgba(75,232,255,0.98) !important;
    }

.ava-app .btn-danger {
    border: 1px solid rgba(255, 77, 77, 0.6) !important;
    border-radius: 999px !important;
    background: linear-gradient(135deg, rgba(255,77,77,0.95), rgba(220,50,80,0.92)) !important;
    color: #FFF !important;
    font-weight: 900 !important;
    box-shadow: 0 4px 10px rgba(255, 77, 77, 0.2) !important;
    text-shadow: 0 1px 2px rgba(0,0,0,0.3) !important;
}

    .ava-app .btn-danger:hover:not(:disabled) {
        border-color: rgba(255, 77, 77, 0.8) !important;
        background: linear-gradient(135deg, rgba(255,47,109,0.98), rgba(240,30,80,0.95)) !important;
        box-shadow: 0 6px 14px rgba(255, 77, 77, 0.25) !important;
        filter: brightness(1.1) !important;
    }

.ava-app .btn-outline-danger {
    border: 2px solid rgba(255, 77, 77, 0.6) !important;
    background: rgba(255, 77, 77, 0.2) !important;
    color: rgba(255, 255, 255, 0.98) !important;
}

    .ava-app .btn-outline-danger:hover:not(:disabled) {
        border-color: rgba(255, 77, 77, 0.8) !important;
        background: rgba(255, 77, 77, 0.3) !important;
        box-shadow: 0 6px 12px rgba(255, 77, 77, 0.2) !important;
    }

/* List groups */
.ava-app .list-group {
    background: transparent !important;
}

.ava-app .list-group-item,
.ava-app .list-group-item-action {
    border: 1px solid transparent !important;
    background: transparent !important;
    color: var(--ava-text) !important;
    border-radius: 12px !important;
    margin-bottom: 6px !important;
    transition: background 0.18s ease, transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease !important;
}

    .ava-app .list-group-item:hover,
    .ava-app .list-group-item-action:hover:not(:disabled) {
        background: rgba(10, 243, 219, 0.06) !important;
        transform: translateY(-1px) !important;
    }

    .ava-app .list-group-item.active,
    .ava-app .list-group-item-action.active {
        background: rgba(10,243,219,0.10) !important;
        border-color: rgba(10,243,219,0.22) !important;
        color: var(--ava-text) !important;
        box-shadow: var(--ava-shadow-edge), var(--ava-shadow-soft) !important;
    }

/* Badges */
.ava-app .badge {
    border: 1px solid rgba(255,255,255,0.10) !important;
}

.ava-app .text-bg-danger {
    background: rgba(255, 77, 77, 0.18) !important;
    color: rgba(255, 235, 235, 0.96) !important;
    border-color: rgba(255, 77, 77, 0.36) !important;
}

/* Switches */
.ava-app .form-check-label {
    color: var(--ava-text-soft) !important;
}

.ava-app .form-check-input {
    border-color: rgba(10,243,219,0.5) !important;
    background-color: rgba(10,243,219,0.15) !important;
    box-shadow: 0 0 0 1px rgba(10,243,219,0.3) inset !important;
}

    .ava-app .form-check-input:checked {
        background-color: rgba(10,243,219,0.92) !important;
        border-color: rgba(10,243,219,0.92) !important;
    }

    .ava-app .form-check-input:not(:disabled):hover {
        border-color: rgba(10,243,219,0.6) !important;
        background-color: rgba(10,243,219,0.2) !important;
    }

/* Progress */
.ava-app .progress {
    background: rgba(0, 30, 48, 0.55) !important;
    border: 1px solid rgba(10,243,219,0.10) !important;
    border-radius: 999px !important;
    overflow: hidden !important;
}

.ava-app .progress-bar {
    background: linear-gradient(90deg, rgba(10,243,219,0.85), rgba(75,232,255,0.65)) !important;
}
/* =========================================================
   ADD: Bootstrap helper classes used in Knowledge/KU
   (nur Ergänzung, nichts ersetzen)
   ========================================================= */

/* typisch: Knowledge nutzt bg-white für Boxen -> soll bei AVA NICHT weiß sein */
.ava-app .bg-white {
    background: var(--ava-panel) !important;
}

/* Borders sollen in AVA-Stil (sonst kommen Bootstrap graue Linien) */
.ava-app .border,
.ava-app .border-top,
.ava-app .border-bottom,
.ava-app .border-start,
.ava-app .border-end {
    border-color: rgba(10,243,219,0.16) !important;
}

/* Muted texts (small text-muted etc.) */
.ava-app .text-muted,
.ava-app .small.text-muted,
.ava-app small.text-muted {
    color: var(--ava-text-muted) !important;
}

/* falls Knowledge badge/labels nutzt */
.ava-app .badge {
    border-color: rgba(255,255,255,0.12) !important;
}

/* falls Knowledge irgendwo "table" nutzt */
.ava-app .table {
    color: var(--ava-text-soft) !important;
}

    .ava-app .table > :not(caption) > * > * {
        background: transparent !important;
        border-color: rgba(10,243,219,0.12) !important;
    }
/* =========================================================
   NAVBAR (Bootstrap Overrides)
   ========================================================= */
.ava-navbar {
    background: #001E30 !important; /* <- FEST dunkel */
    border-bottom: 1px solid rgba(10,243,219,0.10);
    box-shadow: 0 10px 24px rgba(0,0,0,0.45);
    backdrop-filter: none !important; /* <- kein Glass */
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10000;
}



/* Bootstrap macht navbar oft zu hoch durch padding */
.ava-navbar.navbar {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

/* Container innen nicht aufblasen */
.ava-navbar .container-fluid,
.ava-navbar .ava-navbar-inner {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
}

/* Links kompakter */
.ava-navbar .nav-link {
    padding: 6px 10px !important;
    line-height: 1.2 !important;
}

/* Optional: Standard navbar min-height neutralisieren, falls vorhanden */
.ava-navbar .navbar-brand,
.ava-navbar .navbar-nav,
.ava-navbar .navbar-collapse {
    min-height: 0 !important;
}


/* =========================================================
   DROPDOWN (Bootstrap Overrides)
   ========================================================= */

/* Dropdown Menü in AVA Look zwingen */
.ava-navbar .dropdown-menu {
    background: linear-gradient( 180deg, rgba(0, 30, 48, 0.96), rgba(0, 30, 48, 0.88) ) !important;
    border: 1px solid rgba(10,243,219,0.16) !important;
    border-radius: 14px !important;
    box-shadow: 0 18px 44px rgba(0,0,0,0.55) !important;
    padding: 8px !important;
    overflow: hidden !important;
}

/* Dropdown Items */
.ava-navbar .dropdown-item {
    background: transparent !important;
    color: rgba(234,250,252,0.88) !important;
    border-radius: 10px !important;
    padding: 10px 12px !important;
    transition: background .16s ease, transform .16s ease !important;
}

    /* Hover */
    .ava-navbar .dropdown-item:hover,
    .ava-navbar .dropdown-item:focus {
        background: rgba(10,243,219,0.12) !important;
        color: rgba(234,250,252,0.96) !important;
        transform: translateY(-1px) !important;
    }

/* Divider */
.ava-navbar .dropdown-divider {
    border-top: 1px solid rgba(10,243,219,0.10) !important;
    opacity: 1 !important;
}

/* dropdown-menu-end darf nicht “flippen” */
.ava-navbar .dropdown-menu.dropdown-menu-end {
    right: 0 !important;
    left: auto !important;
}

/* =========================================================
   BOOTSTRAP OVERRIDE: FLEX-SAFE ROW/COL (Scroll-Fixes)
   Zweck: Inneres Scrollen in Flex-Layouts ermöglichen (min-height:0 chain)
   Scoped via .ava-app, ändert keine Farben/Spacing
   ========================================================= */

/* 1) Bootstrap rows dürfen als Flex-Child schrumpfen (wichtig für nested scroll areas) */
.ava-app .row {
    min-height: 0 !important;
}

    /* 2) Alle Cols müssen schrumpfen dürfen + als Flex-Container funktionieren,
      damit Kinder (Cards/Panels/Lists) mit flex:1 + overflow:auto korrekt scrollen */
    .ava-app .row > [class*="col-"],
    .ava-app .row > .col {
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }

    /* 3) Optional aber sehr hilfreich:
      Wenn du in einer Row “volle Höhe” erwartest, aber die Row selber clippen soll,
      gib der Row diese Klasse: .ava-row-clip  */
    .ava-app .row.ava-row-clip {
        overflow: hidden !important;
        min-height: 0 !important;
    }

/* 4) Optional: Bootstrap utility .h-100 in Flex-Ketten kann nerven -> sauber halten */
.ava-app .h-100 {
    min-height: 0 !important;
}
