﻿/* =========================================================
   BOOTSTRAP OVERRIDES (GLOBAL) — scoped via .ava-app
   Flat deep-navy, neutral selection, aqua as signal only.
   ========================================================= */

.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: var(--r-xl) !important;
    background: var(--ava-card) !important;
    border: 1px solid var(--ava-line-soft) !important;
    box-shadow: var(--shadow-card) !important;
}
.ava-app .card-header {
    padding: 16px 18px !important;
    background: transparent !important;
    border-bottom: 1px solid var(--ava-line-soft) !important;
    color: var(--ava-text-1) !important;
    flex-shrink: 0 !important;
}
.ava-app .card-body {
    padding: 16px 18px !important;
    color: var(--ava-text-2) !important;
    background: transparent !important;
}

/* Text helpers */
.ava-app .text-muted { color: var(--ava-text-3) !important; }
.ava-app .fw-semibold { font-weight: 600 !important; }

/* Inputs */
.ava-app .form-control,
.ava-app .form-select,
.ava-app textarea.form-control {
    border-radius: var(--r-sm) !important;
    border: 1px solid var(--ava-line) !important;
    background: var(--ava-navy) !important;
    color: var(--ava-text-1) !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 11px 13px !important;
}
.ava-app .form-control::placeholder,
.ava-app textarea.form-control::placeholder { color: var(--ava-text-3) !important; }
.ava-app .form-control:focus,
.ava-app .form-select:focus,
.ava-app textarea.form-control:focus {
    border-color: var(--ava-focus) !important;
    box-shadow: 0 0 0 3px var(--ava-focus-r) !important;
    background: var(--ava-navy) !important;
}

/* Buttons — default = neutral secondary */
.ava-app .btn {
    border-radius: var(--r-sm) !important;
    font-weight: 600 !important;
    border: 1px solid var(--ava-line) !important;
    background: var(--ava-btn-2) !important;
    color: var(--ava-text-1) !important;
    box-shadow: none !important;
    transition: filter 0.15s ease, background 0.15s ease, border-color 0.15s ease, transform 0.05s ease !important;
}
.ava-app .btn:hover:not(:disabled) {
    transform: none !important;
    background: var(--ava-btn-2-hover) !important;
    border-color: var(--ava-line-strong) !important;
    box-shadow: none !important;
    filter: none !important;
}
.ava-app .btn:active { transform: translateY(1px) !important; }
.ava-app .btn:disabled,
.ava-app .btn.disabled { opacity: .5 !important; cursor: not-allowed !important; filter: none !important; }

/* Primary — flat aqua */
.ava-app .btn-primary {
    border: 1px solid var(--ava-aqua) !important;
    border-radius: var(--r-sm) !important;
    background: var(--ava-aqua) !important;
    color: var(--ava-navy) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.ava-app .btn-primary:hover:not(:disabled) {
    filter: brightness(1.06) !important;
    border-color: var(--ava-aqua) !important;
    background: var(--ava-aqua) !important;
    box-shadow: none !important;
}

.ava-app .btn-outline-primary {
    border: 1px solid var(--ava-line-strong) !important;
    background: transparent !important;
    color: var(--ava-text-2) !important;
}
.ava-app .btn-outline-primary:hover:not(:disabled) {
    background: var(--ava-hover) !important;
    border-color: var(--ava-line-strong) !important;
    color: var(--ava-text-1) !important;
}

/* Success — flat green */
.ava-app .btn-success {
    border: 1px solid var(--ava-green) !important;
    border-radius: var(--r-sm) !important;
    background: var(--ava-green) !important;
    color: var(--ava-navy) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.ava-app .btn-success:hover:not(:disabled) { filter: brightness(1.06) !important; box-shadow: none !important; }

/* Secondary */
.ava-app .btn-secondary {
    border: 1px solid var(--ava-line) !important;
    background: var(--ava-btn-2) !important;
    color: var(--ava-text-1) !important;
}
.ava-app .btn-secondary:hover:not(:disabled) {
    background: var(--ava-btn-2-hover) !important;
    border-color: var(--ava-line-strong) !important;
}

.ava-app .btn-link {
    color: var(--ava-cyan) !important;
    font-weight: 600 !important;
    font-size: 0.95rem;
    line-height: 1.25;
    padding: 6px 10px;
    min-height: 34px;
    text-decoration: none !important;
    text-shadow: none !important;
    display: inline-flex;
    align-items: center;
    border: none !important;
    background: transparent !important;
}
.ava-app .btn-link:hover { text-decoration: underline !important; color: var(--ava-cyan) !important; background: transparent !important; }

/* Danger — solid brick red */
.ava-app .btn-danger {
    border: 1px solid var(--ava-danger-solid) !important;
    border-radius: var(--r-sm) !important;
    background: var(--ava-danger-solid) !important;
    color: var(--ava-white) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    text-shadow: none !important;
}
.ava-app .btn-danger:hover:not(:disabled) {
    border-color: var(--ava-danger-solid) !important;
    background: var(--ava-danger-solid) !important;
    box-shadow: none !important;
    filter: brightness(1.08) !important;
}

.ava-app .btn-outline-danger {
    border: 1px solid rgba(var(--ava-rgb-brick),0.5) !important;
    background: transparent !important;
    color: var(--ava-danger-text) !important;
}
.ava-app .btn-outline-danger:hover:not(:disabled) {
    border-color: var(--ava-danger-solid) !important;
    background: rgba(var(--ava-rgb-brick),0.16) !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-1) !important;
    border-radius: var(--r-sm) !important;
    margin-bottom: 6px !important;
    transition: background 0.15s ease, border-color 0.15s ease !important;
}
.ava-app .list-group-item:hover,
.ava-app .list-group-item-action:hover:not(:disabled) {
    background: var(--ava-hover) !important;
    transform: none !important;
}
.ava-app .list-group-item.active,
.ava-app .list-group-item-action.active {
    background: var(--ava-select) !important;
    border-color: transparent !important;
    color: var(--ava-text-1) !important;
    box-shadow: 0 0 0 1px var(--ava-select-ring) inset !important;
}

/* Badges */
.ava-app .badge { border: 1px solid var(--ava-line) !important; }
.ava-app .text-bg-danger {
    background: rgba(var(--ava-rgb-brick),0.18) !important;
    color: var(--ava-danger-text) !important;
    border-color: rgba(var(--ava-rgb-brick),0.36) !important;
}

/* Switches / checkboxes */
.ava-app .form-check-label { color: var(--ava-text-2) !important; }
.ava-app .form-check-input {
    border-color: var(--ava-line-strong) !important;
    background-color: rgba(var(--ava-rgb-slate),0.16) !important;
    box-shadow: none !important;
}
.ava-app .form-check-input:checked {
    background-color: var(--ava-aqua) !important;
    border-color: var(--ava-aqua) !important;
}
.ava-app .form-check-input:not(:disabled):hover {
    border-color: var(--ava-line-strong) !important;
    background-color: rgba(var(--ava-rgb-slate),0.24) !important;
}
.ava-app .form-check-input:focus {
    box-shadow: 0 0 0 3px var(--ava-focus-r) !important;
    border-color: var(--ava-focus) !important;
}

/* Progress — flat aqua */
.ava-app .progress {
    background: var(--ava-navy) !important;
    border: 1px solid var(--ava-line-soft) !important;
    border-radius: var(--r-pill) !important;
    overflow: hidden !important;
}
.ava-app .progress-bar { background: var(--ava-aqua) !important; }

/* Knowledge/KU bootstrap helpers */
.ava-app .bg-white { background: var(--ava-card) !important; }
.ava-app .border,
.ava-app .border-top,
.ava-app .border-bottom,
.ava-app .border-start,
.ava-app .border-end { border-color: var(--ava-line) !important; }
.ava-app .text-muted,
.ava-app .small.text-muted,
.ava-app small.text-muted { color: var(--ava-text-3) !important; }
.ava-app .table { color: var(--ava-text-2) !important; }
.ava-app .table > :not(caption) > * > * {
    background: transparent !important;
    border-color: var(--ava-line) !important;
}

/* =========================================================
   NAVBAR (Bootstrap overrides) — flat navy-deep
   ========================================================= */
.ava-navbar {
    background: var(--ava-navy-deep) !important;
    border-bottom: 1px solid var(--ava-line-soft);
    box-shadow: none;
    backdrop-filter: none !important;
    padding: 0 !important;
    margin: 0 !important;
    z-index: 10000;
}
.ava-navbar.navbar { padding-top: 0 !important; padding-bottom: 0 !important; }
.ava-navbar .container-fluid { padding-top: 4px !important; padding-bottom: 4px !important; }
/* the navbar inner must stay exactly the 60px bar height (no extra vertical padding) */
.ava-navbar .ava-navbar-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
.ava-navbar .nav-link { padding: 6px 10px !important; line-height: 1.2 !important; }
.ava-navbar .navbar-brand,
.ava-navbar .navbar-nav,
.ava-navbar .navbar-collapse { min-height: 0 !important; }

/* =========================================================
   DROPDOWN (Bootstrap overrides) — flat card
   ========================================================= */
.ava-navbar .dropdown-menu {
    background: var(--ava-card) !important;
    border: 1px solid var(--ava-line) !important;
    border-radius: var(--r-lg) !important;
    box-shadow: 0 18px 44px rgba(var(--ava-rgb-black),0.55) !important;
    padding: 8px !important;
    overflow: hidden !important;
}
.ava-navbar .dropdown-item {
    background: transparent !important;
    color: var(--ava-text-1) !important;
    border-radius: var(--r-sm) !important;
    padding: 10px 12px !important;
    transition: background .15s ease !important;
}
.ava-navbar .dropdown-item:hover,
.ava-navbar .dropdown-item:focus {
    background: rgba(var(--ava-rgb-slate),0.08) !important;
    color: var(--ava-text-1) !important;
    transform: none !important;
}
.ava-navbar .dropdown-divider {
    border-top: 1px solid var(--ava-line-soft) !important;
    opacity: 1 !important;
}
.ava-navbar .dropdown-menu.dropdown-menu-end { right: 0 !important; left: auto !important; }

/* =========================================================
   FLEX-SAFE ROW/COL (scroll fixes) — no colour changes
   ========================================================= */
.ava-app .row { min-height: 0 !important; }
.ava-app .row > [class*="col-"],
.ava-app .row > .col {
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
}
.ava-app .row.ava-row-clip { overflow: hidden !important; min-height: 0 !important; }
.ava-app .h-100 { min-height: 0 !important; }
