/*
 * Maava UI Foundation — 2026 visual refresh
 * Safe layer: presentation only. No business logic or existing component names removed.
 */
:root {
    --maava-primary: #0b7fab;
    --maava-primary-dark: #075f82;
    --maava-primary-soft: #eaf7fb;
    --maava-accent: #16a6a0;
    --maava-success: #1e9b68;
    --maava-warning: #e7a83b;
    --maava-danger: #d9534f;
    --maava-text: #243746;
    --maava-muted: #71808d;
    --maava-border: #e4eaee;
    --maava-surface: #ffffff;
    --maava-bg: #f5f8fa;
    --maava-radius-sm: 8px;
    --maava-radius: 14px;
    --maava-radius-lg: 20px;
    --maava-shadow-sm: 0 2px 10px rgba(22, 48, 66, .06);
    --maava-shadow: 0 8px 28px rgba(22, 48, 66, .09);
    --maava-focus: 0 0 0 3px rgba(11, 127, 171, .14);
}

html,
body {
    background: var(--maava-bg);
    color: var(--maava-text);
}

body {
    font-size: 14px;
    line-height: 1.8;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--maava-text);
    font-weight: 700;
}

a {
    transition: color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

/* Shared cards and common legacy card containers */
.card,
.card-box,
.panel,
.thumbnail {
    border: 1px solid var(--maava-border);
    border-radius: var(--maava-radius);
    background: var(--maava-surface);
    box-shadow: var(--maava-shadow-sm);
}

.card-box {
    padding: 28px !important;
}

/* Inputs: make long property forms calmer and easier to scan. */
.form-control,
select.form-control,
textarea.form-control,
input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"] {
    min-height: 42px;
    border: 1px solid #d9e2e8;
    border-radius: var(--maava-radius-sm);
    background: #fff;
    color: var(--maava-text);
    box-shadow: none;
    transition: border-color .18s ease, box-shadow .18s ease;
}

.form-control:focus,
select.form-control:focus,
textarea.form-control:focus,
input:focus {
    border-color: var(--maava-primary);
    box-shadow: var(--maava-focus);
    outline: none;
}

label {
    color: #405564;
    font-weight: 600;
}

/* Buttons */
.btn {
    border-radius: 9px;
    font-weight: 600;
    transition: transform .16s ease, box-shadow .16s ease, background-color .16s ease;
}

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

.btn-primary {
    background: var(--maava-primary);
    border-color: var(--maava-primary);
}

.btn-primary:hover,
.btn-primary:focus {
    background: var(--maava-primary-dark);
    border-color: var(--maava-primary-dark);
}

.btn-success {
    background: var(--maava-success);
    border-color: var(--maava-success);
}

/* Header refresh without changing its links or routing. */
#pbmenue {
    background: rgba(255,255,255,.98) !important;
    color: var(--maava-text) !important;
    border-bottom: 1px solid var(--maava-border);
    box-shadow: 0 2px 14px rgba(22, 48, 66, .06);
}

#pbmenue li,
#spbmenu li {
    color: var(--maava-text);
}

#pbmenue li:hover,
#spbmenu a:hover {
    color: var(--maava-primary) !important;
}

#spbmenu a {
    color: var(--maava-text) !important;
}

#pbmenue .btn-success {
    box-shadow: 0 5px 14px rgba(30, 155, 104, .16);
}

/* Keep the old yellow login readable while removing the dated neon feel. */
#spbmenu a[style*="yellow"] {
    color: var(--maava-primary) !important;
    font-weight: 700;
}

/* Mobile drawer */
#menoberg {
    background: var(--maava-surface) !important;
    box-shadow: -10px 0 30px rgba(22, 48, 66, .14);
}

#menhead {
    background: linear-gradient(135deg, var(--maava-primary), var(--maava-accent)) !important;
}

#ula {
    background: var(--maava-surface) !important;
}

#ula li {
    border-bottom: 1px solid #edf1f3;
}

#ula li a {
    color: var(--maava-text) !important;
}

#ula li a:hover {
    color: var(--maava-primary) !important;
}

/* Responsive spacing for old Bootstrap layouts. */
@media (max-width: 767px) {
    body {
        padding-bottom: 32px;
        font-size: 13px;
    }

    .card-box {
        padding: 18px !important;
        border-radius: 12px;
    }

    .form-control,
    select.form-control,
    textarea.form-control,
    input[type="text"],
    input[type="number"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    input[type="date"] {
        min-height: 44px;
    }
}

/* Accessibility */
:focus-visible {
    outline: 3px solid rgba(11, 127, 171, .22);
    outline-offset: 2px;
}
