:root {
    --brand: #1d77c4;
    --brand-dark: #135f99;
    --bg: #f5f6f8;
    --text: #212529;
    --muted: #6c757d;
    --card-bg: #ffffff;
    --border: #dee2e6;
    --success: #198754;
    --warning: #ffc107;
    --danger: #dc3545;
    --nav-h: 62px;
}
html, body {
    height: 100%;
    background: var(--bg);
    color: var(--text);
}
.principal {
    min-height: calc(100% - var(--nav-h));
    margin-top: 0;
}
body.has-navbar { padding-top: var(--nav-h); }
input:focus, select:focus, textarea:focus, button:focus {
    outline: none !important;
    box-shadow: none !important;
}
.custom-pointer {
    cursor: pointer;
}
.card {
    background-color: var(--card-bg);
    border: 1px solid var(--border);
    box-shadow: 0 2px 12px rgba(0,0,0,0.06);
    border-radius: 0.75rem;
}
.table {
    border-color: var(--border) !important;
}
.table thead th, .table tfoot th {
    font-weight: 600;
}
.btnlde {
    background-color: var(--brand) !important;
    border-color: var(--brand) !important;
    color: #ffffff !important;
}
.btnlde:hover {
    background-color: var(--brand-dark) !important;
    border-color: var(--brand-dark) !important;
    color: #ffffff !important;
}
.btnlde-outline {
    background-color: #ffffff !important;
    border-color: var(--brand) !important;
    color: var(--brand) !important;
}
.navbar {
    box-shadow: 0 2px 12px rgba(0,0,0,0.05);
}
.fs-5 {
    font-weight: 600;
}
/* New layout foundation */
:root { --header-h: 72px; --brand-new: #0e7afe; --brand-new-2: #6f42c1; }
body { padding-top: var(--header-h); }
.principal { min-height: calc(100% - var(--header-h)); }
.app-header { position: fixed; top: 0; left: 0; right: 0; height: var(--header-h); background: linear-gradient(90deg, rgba(255,255,255,0.92), rgba(255,255,255,0.76)); backdrop-filter: blur(10px); border-bottom: 1px solid var(--border); box-shadow: 0 8px 24px rgba(0,0,0,0.06); }
.app-brand { display: flex; align-items: center; gap: .5rem; font-weight: 700; letter-spacing: .2px; }
.brand-title { font-weight: 800; letter-spacing: .5px; background: linear-gradient(90deg, var(--brand-new), var(--brand-new-2)); -webkit-background-clip: text; background-clip: text; color: transparent; font-size: clamp(18px, 3.5vw, 22px); }
.app-nav .nav-link { padding: .5rem 1rem; border-radius: 999px; color: #39424e; }
.app-nav .nav-link.active { background: linear-gradient(90deg, var(--brand-new), var(--brand-new-2)); color: #fff; }
 .navbar-toggler { border: none; }
 .navbar-toggler-icon i { font-size: 1.25rem; color: #39424e; }
/* dark theme removed */
.dropdown-menu {
    border-color: var(--border);
    background-color: var(--card-bg);
}
.dropdown-item {
    color: var(--text);
}
.dropdown-item:hover {
    background-color: rgba(29,119,196,.12);
}
.legend-box {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 5px;
    border: 1px solid var(--border);
    vertical-align: middle;
}
.table-fiis thead th,
.table-fiis tfoot th {
    background-color: #343a40 !important;
    color: #fff !important;
}
.fii-estavel td, .fii-estavel th { background-color: #f0ffea !important; }
.fii-complementar td, .fii-complementar th { background-color: #edf9ff !important; }
.fii-tatico td, .fii-tatico th { background-color: #fff3f2 !important; }
.fii-estavel:hover td, .fii-estavel:hover th { background-color: #d8f5c6 !important; }
.fii-complementar:hover td, .fii-complementar:hover th { background-color: #cbefff !important; }
.fii-tatico:hover td, .fii-tatico:hover th { background-color: #f8c9c6 !important; }
.accordion-button:focus {
    outline: none !important;
    box-shadow: none !important;
}
.accordion-button:not(.collapsed) {
    background-color: #fff;
    color: #000;
}
.bg-login {
    width: 100%;
    background-image: url("https://files.ldesistemas.com/img/fundo.jpg");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    cursor: default;
}
.login {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    max-width: 300px;
    background-color: #fff;
    border-radius: 10px;
    padding: 20px;
}
@media (max-width: 576px) {
    :root { --header-h: 60px; }
    .app-nav { overflow-x: auto; white-space: nowrap; gap: .25rem; }
    .app-nav .nav-link { padding: .375rem .75rem; }
    .brand-title { font-size: 18px; }
}
@media print {
    body {
        background: #fff;
        color: #000;
        font-size: 9pt;
        margin: 0;
    }
    .table {
        page-break-inside: avoid;
    }
    .table-fiis th, .table-fiis td {
        padding: 6px !important;
        font-size: 10pt !important;
    }
    a { color: #000; text-decoration: none; }
    .table-fiis thead th {
        background-color: #000 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
    }
    .table-fiis tfoot th {
        background-color: #e9ecef !important;
        -webkit-print-color-adjust: exact;
    }
}
