:root {
    --aiea-blue: #0b3a5b;
    --aiea-green: #138a5b;
    --aiea-teal: #0d9488;
    --aiea-surface: #f4f7fa;
    --aiea-text: #1f2933;
    --aiea-border: #d9e4ea;
}

body {
    color: var(--aiea-text);
}

.btn-primary,
.bg-primary {
    background-color: var(--aiea-blue) !important;
    border-color: var(--aiea-blue) !important;
}

.text-primary {
    color: var(--aiea-blue) !important;
}

.btn-secondary,
.bg-secondary {
    background-color: var(--aiea-green) !important;
    border-color: var(--aiea-green) !important;
}

.aside-menu-container__aside-logo,
.top-navbar {
    border-color: var(--aiea-border) !important;
}

.sidebar-logo img.aiea-brand-logo-mark {
    width: 44px;
    height: 44px;
}

.aside-menu-container__aside-logo {
    min-height: 88px;
    padding: 0 18px !important;
}

.sidebar-logo {
    display: inline-flex;
    align-items: center;
    max-width: 188px;
}

.sidebar-logo img.aiea-dashboard-logo {
    display: block;
    width: 178px !important;
    max-width: 178px !important;
    height: auto !important;
    max-height: 54px !important;
    object-fit: contain !important;
}

.aside-menu-container.collapsed-menu .aside-menu-container__aside-logo {
    min-height: 70px;
}

.header-logo,
.footer-logo {
    display: inline-flex;
    align-items: center;
}

.header-logo img,
.footer-logo img,
#logo-img,
#footer-logo-white-img {
    width: min(280px, 100%) !important;
    max-width: 280px !important;
    height: auto !important;
    object-fit: contain !important;
}

.footer-logo img,
#footer-logo-white-img {
    max-width: 280px !important;
    width: min(280px, 100%) !important;
}

@media (max-width: 767px) {
    .header-logo img,
    .footer-logo img,
    #logo-img,
    #footer-logo-white-img {
        max-width: 190px !important;
        width: min(190px, 100%) !important;
    }
}

.aiea-brand-name {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
}

.aiea-brand-name strong {
    color: var(--aiea-blue);
    font-size: 14px;
    font-weight: 700;
}

.aiea-brand-name span {
    color: var(--aiea-teal);
    font-size: 10px;
    font-weight: 600;
    letter-spacing: 0;
}

.aiea-hero {
    background: linear-gradient(180deg, #ffffff 0%, var(--aiea-surface) 100%);
}

.aiea-hero .banner-content h1 {
    color: var(--aiea-blue);
    letter-spacing: 0;
}

.aiea-hero .banner-content p {
    color: #506070;
    font-size: 18px;
}

.aiea-hero-image {
    border-radius: 8px;
    box-shadow: 0 24px 60px rgba(11, 58, 91, .14);
}

.aiea-pill {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    border: 1px solid var(--aiea-border);
    border-radius: 999px;
    color: var(--aiea-blue);
    background: #fff;
    font-size: 13px;
    font-weight: 600;
}

.aiea-card {
    border: 1px solid var(--aiea-border);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(31, 41, 51, .06);
}

.aiea-disclaimer {
    border-left: 4px solid var(--aiea-teal);
    background: #eefaf8;
    color: var(--aiea-text);
}

body.aiea-light-mode .card {
    border-color: var(--aiea-border) !important;
}

body.aiea-light-mode .card-header {
    background: #fff !important;
    border-bottom-color: var(--aiea-border) !important;
    color: var(--aiea-text) !important;
}

body.aiea-light-mode .card-header .card-title,
body.aiea-light-mode .card-header h1,
body.aiea-light-mode .card-header h2,
body.aiea-light-mode .card-header h3,
body.aiea-light-mode .card-header h4,
body.aiea-light-mode .card-header h5,
body.aiea-light-mode .card-header h6,
body.aiea-light-mode .dashboard-section-title,
body.aiea-light-mode .dashboard-empty-state {
    color: var(--aiea-blue) !important;
}

body.aiea-light-mode .ai-clinical-workspace h1,
body.aiea-light-mode .ai-clinical-workspace h2,
body.aiea-light-mode .ai-clinical-workspace h3,
body.aiea-light-mode .ai-clinical-workspace h4,
body.aiea-light-mode .ai-clinical-workspace .card-title,
body.aiea-light-mode .ai-clinical-workspace .form-label,
body.aiea-light-mode .ai-clinical-workspace .fw-bold,
body.aiea-light-mode .ai-clinical-workspace strong,
body.aiea-light-mode .ai-clinical-workspace th {
    color: var(--aiea-blue) !important;
}

body.aiea-light-mode .ai-clinical-workspace,
body.aiea-light-mode .ai-clinical-workspace .card-body,
body.aiea-light-mode .ai-clinical-workspace .table,
body.aiea-light-mode .ai-clinical-workspace td,
body.aiea-light-mode .ai-clinical-workspace p,
body.aiea-light-mode .ai-clinical-workspace li,
body.aiea-light-mode .ai-clinical-workspace label {
    color: var(--aiea-text);
}

body.aiea-light-mode .ai-clinical-workspace .text-muted {
    color: #64748b !important;
}

body.aiea-light-mode .ai-explanation-panel {
    background: #f8fbfd;
    border: 1px solid var(--aiea-border);
    border-radius: 8px;
    color: var(--aiea-text);
    padding: 16px;
}

body.aiea-light-mode .ai-document-chip {
    background: #f8fbfd;
    border: 1px solid var(--aiea-border);
    border-radius: 8px;
    color: var(--aiea-text);
    padding: 12px;
}

.ai-clinical-workspace .btn-outline-primary {
    color: var(--aiea-blue) !important;
    border-color: var(--aiea-blue) !important;
}

.ai-clinical-workspace .btn-outline-primary:hover,
.ai-clinical-workspace .btn-outline-primary:focus {
    color: #fff !important;
    background-color: var(--aiea-blue) !important;
    border-color: var(--aiea-blue) !important;
}

body.aiea-dark-mode .card {
    border-color: #343746 !important;
}

body.aiea-dark-mode .card-header {
    background: #1b1d29 !important;
    border-bottom-color: #343746 !important;
    color: #e5edf6 !important;
}

body.aiea-dark-mode .card-header .card-title,
body.aiea-dark-mode .card-header h1,
body.aiea-dark-mode .card-header h2,
body.aiea-dark-mode .card-header h3,
body.aiea-dark-mode .card-header h4,
body.aiea-dark-mode .card-header h5,
body.aiea-dark-mode .card-header h6,
body.aiea-dark-mode .dashboard-section-title,
body.aiea-dark-mode .dashboard-empty-state {
    color: #f8fafc !important;
}

body.aiea-dark-mode .ai-clinical-workspace h1,
body.aiea-dark-mode .ai-clinical-workspace h2,
body.aiea-dark-mode .ai-clinical-workspace h3,
body.aiea-dark-mode .ai-clinical-workspace h4,
body.aiea-dark-mode .ai-clinical-workspace .card-title,
body.aiea-dark-mode .ai-clinical-workspace .form-label,
body.aiea-dark-mode .ai-clinical-workspace .fw-bold,
body.aiea-dark-mode .ai-clinical-workspace strong,
body.aiea-dark-mode .ai-clinical-workspace th {
    color: #f8fafc !important;
}

body.aiea-dark-mode .ai-clinical-workspace,
body.aiea-dark-mode .ai-clinical-workspace .card-body,
body.aiea-dark-mode .ai-clinical-workspace .table,
body.aiea-dark-mode .ai-clinical-workspace td,
body.aiea-dark-mode .ai-clinical-workspace p,
body.aiea-dark-mode .ai-clinical-workspace li,
body.aiea-dark-mode .ai-clinical-workspace label {
    color: #d7dee8;
}

body.aiea-dark-mode .ai-clinical-workspace .text-muted {
    color: #aeb9c8 !important;
}

body.aiea-dark-mode .ai-explanation-panel {
    background: #161821;
    border: 1px solid #343746;
    border-radius: 8px;
    color: #d7dee8;
    padding: 16px;
}

body.aiea-dark-mode .ai-document-chip {
    background: #161821;
    border: 1px solid #343746;
    border-radius: 8px;
    color: #d7dee8;
    padding: 12px;
}

.offline-capture-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 11000;
    max-width: min(420px, calc(100vw - 32px));
    border: 1px solid #cfd8e3;
    border-left: 4px solid var(--aiea-blue);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 18px 38px rgba(15, 23, 42, 0.18);
    color: var(--aiea-text);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
    opacity: 0;
    padding: 14px 16px;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity 160ms ease, transform 160ms ease;
}

.offline-capture-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

.offline-capture-toast[data-type="success"] {
    border-left-color: #0f9d58;
}

.offline-capture-toast[data-type="warning"] {
    border-left-color: #c27803;
}

body.aiea-dark-mode .offline-capture-toast {
    background: #161821;
    border-color: #343746;
    color: #f8fafc;
    box-shadow: 0 18px 38px rgba(0, 0, 0, 0.34);
}
